{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/auth.guard.ts","webpack:///./src/app/containers/default-layout/default-layout.component.html","webpack:///./src/app/containers/default-layout/default-layout.component.ts","webpack:///./src/app/containers/default-layout/index.ts","webpack:///./src/app/containers/index.ts","webpack:///./src/app/data/Model.ts","webpack:///./src/app/data/const.ts","webpack:///./src/app/data/dt.ts","webpack:///./src/app/data/model.ts","webpack:///./src/app/directive/check-box/check-box.component.html","webpack:///./src/app/directive/check-box/check-box.component.scss","webpack:///./src/app/directive/check-box/check-box.component.ts","webpack:///./src/app/directive/ol-category/ol-category.component.html","webpack:///./src/app/directive/ol-category/ol-category.component.scss","webpack:///./src/app/directive/ol-category/ol-category.component.ts","webpack:///./src/app/directive/ol/ol.component.css","webpack:///./src/app/directive/ol/ol.component.html","webpack:///./src/app/directive/ol/ol.component.ts","webpack:///./src/app/directive/preventClick/pre-cli.directive.ts","webpack:///./src/app/pipe/truncate.pipe.ts","webpack:///./src/app/service/auth.service.ts","webpack:///./src/app/service/call-category-function.service.ts","webpack:///./src/app/service/common.service.ts","webpack:///./src/app/views/category/manufacturer/manufacturer.component.html","webpack:///./src/app/views/category/manufacturer/manufacturer.component.scss","webpack:///./src/app/views/category/manufacturer/manufacturer.component.ts","webpack:///./src/app/views/category/menu/menu.component.html","webpack:///./src/app/views/category/menu/menu.component.scss","webpack:///./src/app/views/category/menu/menu.component.ts","webpack:///./src/app/views/category/news/news.component.html","webpack:///./src/app/views/category/news/news.component.scss","webpack:///./src/app/views/category/news/news.component.ts","webpack:///./src/app/views/category/page/page.component.html","webpack:///./src/app/views/category/page/page.component.scss","webpack:///./src/app/views/category/page/page.component.ts","webpack:///./src/app/views/category/partner/partner.component.html","webpack:///./src/app/views/category/partner/partner.component.scss","webpack:///./src/app/views/category/partner/partner.component.ts","webpack:///./src/app/views/category/product/product.component.html","webpack:///./src/app/views/category/product/product.component.scss","webpack:///./src/app/views/category/product/product.component.ts","webpack:///./src/app/views/category/rank/rank.component.html","webpack:///./src/app/views/category/rank/rank.component.scss","webpack:///./src/app/views/category/rank/rank.component.ts","webpack:///./src/app/views/category/trademark/trademark.component.html","webpack:///./src/app/views/category/trademark/trademark.component.scss","webpack:///./src/app/views/category/trademark/trademark.component.ts","webpack:///./src/app/views/config/config-general/config-general.component.html","webpack:///./src/app/views/config/config-general/config-general.component.scss","webpack:///./src/app/views/config/config-general/config-general.component.ts","webpack:///./src/app/views/config/config-table/config-table.component.html","webpack:///./src/app/views/config/config-table/config-table.component.scss","webpack:///./src/app/views/config/config-table/config-table.component.ts","webpack:///./src/app/views/config/config-thumb/config-thumb.component.html","webpack:///./src/app/views/config/config-thumb/config-thumb.component.scss","webpack:///./src/app/views/config/config-thumb/config-thumb.component.ts","webpack:///./src/app/views/content/block/block.component.html","webpack:///./src/app/views/content/block/block.component.scss","webpack:///./src/app/views/content/block/block.component.ts","webpack:///./src/app/views/content/comment/comment.component.html","webpack:///./src/app/views/content/comment/comment.component.scss","webpack:///./src/app/views/content/comment/comment.component.ts","webpack:///./src/app/views/content/news-text/news-text.component.html","webpack:///./src/app/views/content/news-text/news-text.component.scss","webpack:///./src/app/views/content/news-text/news-text.component.ts","webpack:///./src/app/views/customer/customer.component.html","webpack:///./src/app/views/customer/customer.component.scss","webpack:///./src/app/views/customer/customer.component.ts","webpack:///./src/app/views/dashboard/dashboard.component.html","webpack:///./src/app/views/dashboard/dashboard.component.ts","webpack:///./src/app/views/error/404.component.html","webpack:///./src/app/views/error/404.component.ts","webpack:///./src/app/views/error/500.component.html","webpack:///./src/app/views/error/500.component.ts","webpack:///./src/app/views/general/attribuite/attribuite.component.html","webpack:///./src/app/views/general/attribuite/attribuite.component.scss","webpack:///./src/app/views/general/attribuite/attribuite.component.ts","webpack:///./src/app/views/general/bank/bank.component.html","webpack:///./src/app/views/general/bank/bank.component.scss","webpack:///./src/app/views/general/bank/bank.component.ts","webpack:///./src/app/views/general/branch/branch.component.html","webpack:///./src/app/views/general/branch/branch.component.scss","webpack:///./src/app/views/general/branch/branch.component.ts","webpack:///./src/app/views/general/company/company.component.html","webpack:///./src/app/views/general/company/company.component.scss","webpack:///./src/app/views/general/company/company.component.ts","webpack:///./src/app/views/general/contact/contact.component.html","webpack:///./src/app/views/general/contact/contact.component.scss","webpack:///./src/app/views/general/contact/contact.component.ts","webpack:///./src/app/views/general/department/department.component.html","webpack:///./src/app/views/general/department/department.component.scss","webpack:///./src/app/views/general/department/department.component.ts","webpack:///./src/app/views/general/position/position.component.html","webpack:///./src/app/views/general/position/position.component.scss","webpack:///./src/app/views/general/position/position.component.ts","webpack:///./src/app/views/general/type-attribute/type-attribute.component.html","webpack:///./src/app/views/general/type-attribute/type-attribute.component.scss","webpack:///./src/app/views/general/type-attribute/type-attribute.component.ts","webpack:///./src/app/views/general/website/website.component.html","webpack:///./src/app/views/general/website/website.component.scss","webpack:///./src/app/views/general/website/website.component.ts","webpack:///./src/app/views/importmanagement/importmanagement.component.html","webpack:///./src/app/views/importmanagement/importmanagement.component.scss","webpack:///./src/app/views/importmanagement/importmanagement.component.ts","webpack:///./src/app/views/language/language.component.html","webpack:///./src/app/views/language/language.component.scss","webpack:///./src/app/views/language/language.component.ts","webpack:///./src/app/views/login/login.component.css","webpack:///./src/app/views/login/login.component.html","webpack:///./src/app/views/login/login.component.ts","webpack:///./src/app/views/material/material.component.html","webpack:///./src/app/views/material/material.component.scss","webpack:///./src/app/views/material/material.component.ts","webpack:///./src/app/views/order/order.component.html","webpack:///./src/app/views/order/order.component.scss","webpack:///./src/app/views/order/order.component.ts","webpack:///./src/app/views/ordertram/ordertram.component.html","webpack:///./src/app/views/ordertram/ordertram.component.scss","webpack:///./src/app/views/ordertram/ordertram.component.ts","webpack:///./src/app/views/product/product.component.html","webpack:///./src/app/views/product/product.component.scss","webpack:///./src/app/views/product/product.component.ts","webpack:///./src/app/views/review-product/review-product.component.html","webpack:///./src/app/views/review-product/review-product.component.scss","webpack:///./src/app/views/review-product/review-product.component.ts","webpack:///./src/app/views/service/service.component.html","webpack:///./src/app/views/service/service.component.scss","webpack:///./src/app/views/service/service.component.ts","webpack:///./src/app/views/slide/slide.component.html","webpack:///./src/app/views/slide/slide.component.scss","webpack:///./src/app/views/slide/slide.component.ts","webpack:///./src/app/views/system/function/function.component.html","webpack:///./src/app/views/system/function/function.component.scss","webpack:///./src/app/views/system/function/function.component.ts","webpack:///./src/app/views/system/role/role.component.html","webpack:///./src/app/views/system/role/role.component.scss","webpack:///./src/app/views/system/role/role.component.ts","webpack:///./src/app/views/tramcan/tramcan.component.html","webpack:///./src/app/views/tramcan/tramcan.component.scss","webpack:///./src/app/views/tramcan/tramcan.component.ts","webpack:///./src/app/views/user/user.component.html","webpack:///./src/app/views/user/user.component.scss","webpack:///./src/app/views/user/user.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"/* position */\\r\\n.toast-center-center {\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n}\\r\\n.toast-top-center {\\r\\n top: 0;\\r\\n right: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.toast-bottom-center {\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.toast-top-full-width {\\r\\n top: 0;\\r\\n right: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.toast-bottom-full-width {\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.toast-top-left {\\r\\n top: 12px;\\r\\n left: 12px;\\r\\n}\\r\\n.toast-top-right {\\r\\n top: 12px;\\r\\n right: 12px;\\r\\n}\\r\\n.toast-bottom-right {\\r\\n right: 12px;\\r\\n bottom: 12px;\\r\\n}\\r\\n.toast-bottom-left {\\r\\n bottom: 12px;\\r\\n left: 12px;\\r\\n}\\r\\n/* toast styles */\\r\\n.toast-title {\\r\\n font-weight: bold;\\r\\n}\\r\\n.toast-message {\\r\\n word-wrap: break-word;\\r\\n}\\r\\n.toast-message a,\\r\\n.toast-message label {\\r\\n color: #FFFFFF;\\r\\n}\\r\\n.toast-message a:hover {\\r\\n color: #CCCCCC;\\r\\n text-decoration: none;\\r\\n}\\r\\n.toast-close-button {\\r\\n position: relative;\\r\\n right: -0.3em;\\r\\n top: -0.3em;\\r\\n float: right;\\r\\n font-size: 20px;\\r\\n font-weight: bold;\\r\\n color: #FFFFFF;\\r\\n text-shadow: 0 1px 0 #ffffff;\\r\\n /* opacity: 0.8; */\\r\\n}\\r\\n.toast-close-button:hover,\\r\\n.toast-close-button:focus {\\r\\n color: #000000;\\r\\n text-decoration: none;\\r\\n cursor: pointer;\\r\\n opacity: 0.4;\\r\\n}\\r\\n/*Additional properties for button version\\r\\n iOS requires the button element instead of an anchor tag.\\r\\n If you want the anchor version, it requires `href=\\\"#\\\"`.*/\\r\\nbutton.toast-close-button {\\r\\n padding: 0;\\r\\n cursor: pointer;\\r\\n background: transparent;\\r\\n border: 0;\\r\\n}\\r\\n.toast-container {\\r\\n pointer-events: none;\\r\\n position: fixed;\\r\\n z-index: 999999;\\r\\n}\\r\\n.toast-container * {\\r\\n box-sizing: border-box;\\r\\n}\\r\\n.toast-container .toast {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n margin: 0 0 6px;\\r\\n padding: 15px 15px 15px 50px;\\r\\n width: 300px;\\r\\n border-radius: 3px 3px 3px 3px;\\r\\n background-position: 15px center;\\r\\n background-repeat: no-repeat;\\r\\n background-size: 24px;\\r\\n box-shadow: 0 0 12px #999999;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n.toast-container .toast:hover {\\r\\n box-shadow: 0 0 12px #000000;\\r\\n opacity: 1;\\r\\n cursor: pointer;\\r\\n}\\r\\n/* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/info-circle.svg */\\r\\n.toast-info {\\r\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E\\\");\\r\\n}\\r\\n/* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/times-circle.svg */\\r\\n.toast-error {\\r\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z'/%3E%3C/svg%3E\\\");\\r\\n}\\r\\n/* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/check.svg */\\r\\n.toast-success {\\r\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E\\\");\\r\\n}\\r\\n/* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/exclamation-triangle.svg */\\r\\n.toast-warning {\\r\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' width='576' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E\\\");\\r\\n}\\r\\n.toast-container.toast-top-center .toast,\\r\\n.toast-container.toast-bottom-center .toast {\\r\\n width: 300px;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n}\\r\\n.toast-container.toast-top-full-width .toast,\\r\\n.toast-container.toast-bottom-full-width .toast {\\r\\n width: 96%;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n}\\r\\n.toast {\\r\\n background-color: #030303;\\r\\n pointer-events: auto;\\r\\n}\\r\\n.toast-success {\\r\\n background-color: #51A351;\\r\\n}\\r\\n.toast-error {\\r\\n background-color: #BD362F;\\r\\n}\\r\\n.toast-info {\\r\\n background-color: #2F96B4;\\r\\n}\\r\\n.toast-warning {\\r\\n background-color: #F89406;\\r\\n}\\r\\n.toast-progress {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n height: 4px;\\r\\n background-color: #000000;\\r\\n opacity: 0.4;\\r\\n}\\r\\n/* Responsive Design */\\r\\n@media all and (max-width: 240px) {\\r\\n .toast-container .toast.div {\\r\\n padding: 8px 8px 8px 50px;\\r\\n width: 11em;\\r\\n }\\r\\n .toast-container .toast-close-button {\\r\\n right: -0.2em;\\r\\n top: -0.2em;\\r\\n }\\r\\n}\\r\\n@media all and (min-width: 241px) and (max-width: 480px) {\\r\\n .toast-container .toast.div {\\r\\n padding: 8px 8px 8px 50px;\\r\\n width: 18em;\\r\\n }\\r\\n .toast-container .toast-close-button {\\r\\n right: -0.2em;\\r\\n top: -0.2em;\\r\\n }\\r\\n}\\r\\n@media all and (min-width: 481px) and (max-width: 768px) {\\r\\n .toast-container .toast.div {\\r\\n padding: 15px 15px 15px 50px;\\r\\n width: 25em;\\r\\n }\\r\\n}\\r\\n/*table.table > tbody > tr > td > a.btn {\\r\\n margin-right: 2px; \\r\\n}\\r\\n\\r\\n.button-custom {\\r\\n margin-bottom: 5px; \\r\\n}\\r\\n\\r\\n.button-custom > button {\\r\\n float: right;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n@media (min-width: 992px)\\r\\n{\\r\\n .modal-big {\\r\\n max-width: 1100px;\\r\\n }\\r\\n}*/\\r\\n/*.modal.show .modal-dialog {\\r\\n transform: translate(0, 0);\\r\\n}*/\\r\\n/*@media (min-width: 576px)\\r\\n{\\r\\n .modal-dialog {\\r\\n max-width: 100%;\\r\\n margin: 1.75rem auto;\\r\\n }\\r\\n}*/\\r\\n/*.card-body > form > div {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}*/\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiO0VBQ0UsUUFBUTtFQUNSLFNBQVM7RUFDVCxnQ0FBZ0M7QUFDbEM7QUFDQTtFQUNFLE1BQU07RUFDTixRQUFRO0VBQ1IsV0FBVztBQUNiO0FBQ0E7RUFDRSxTQUFTO0VBQ1QsUUFBUTtFQUNSLFdBQVc7QUFDYjtBQUNBO0VBQ0UsTUFBTTtFQUNOLFFBQVE7RUFDUixXQUFXO0FBQ2I7QUFDQTtFQUNFLFNBQVM7RUFDVCxRQUFRO0VBQ1IsV0FBVztBQUNiO0FBQ0E7RUFDRSxTQUFTO0VBQ1QsVUFBVTtBQUNaO0FBQ0E7RUFDRSxTQUFTO0VBQ1QsV0FBVztBQUNiO0FBQ0E7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkO0FBQ0E7RUFDRSxZQUFZO0VBQ1osVUFBVTtBQUNaO0FBRUEsaUJBQWlCO0FBQ2pCO0VBQ0UsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSxxQkFBcUI7QUFDdkI7QUFDQTs7RUFFRSxjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0FBQ3ZCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsNEJBQTRCO0VBQzVCLGtCQUFrQjtBQUNwQjtBQUNBOztFQUVFLGNBQWM7RUFDZCxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLFlBQVk7QUFDZDtBQUNBOzt5REFFeUQ7QUFDekQ7RUFDRSxVQUFVO0VBQ1YsZUFBZTtFQUNmLHVCQUF1QjtFQUN2QixTQUFTO0FBQ1g7QUFDQTtFQUNFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsZUFBZTtBQUNqQjtBQUNBO0VBQ0Usc0JBQXNCO0FBQ3hCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZiw0QkFBNEI7RUFDNUIsWUFBWTtFQUNaLDhCQUE4QjtFQUM5QixnQ0FBZ0M7RUFDaEMsNEJBQTRCO0VBQzVCLHFCQUFxQjtFQUNyQiw0QkFBNEI7RUFDNUIsY0FBYztBQUNoQjtBQUNBO0VBQ0UsNEJBQTRCO0VBQzVCLFVBQVU7RUFDVixlQUFlO0FBQ2pCO0FBQ0EsaUhBQWlIO0FBQ2pIO0VBQ0UscWxCQUFxbEI7QUFDdmxCO0FBQ0Esa0hBQWtIO0FBQ2xIO0VBQ0UsNmpCQUE2akI7QUFDL2pCO0FBQ0EsMkdBQTJHO0FBQzNHO0VBQ0Usd2RBQXdkO0FBQzFkO0FBQ0EsMEhBQTBIO0FBQzFIO0VBQ0Usc29CQUFzb0I7QUFDeG9CO0FBQ0E7O0VBRUUsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7QUFDQTs7RUFFRSxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0FBQzNCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQjtBQUNBO0VBQ0UseUJBQXlCO0FBQzNCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLFNBQVM7RUFDVCxXQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLFlBQVk7QUFDZDtBQUNBLHNCQUFzQjtBQUN0QjtFQUNFO0lBQ0UseUJBQXlCO0lBQ3pCLFdBQVc7RUFDYjtFQUNBO0lBQ0UsYUFBYTtJQUNiLFdBQVc7RUFDYjtBQUNGO0FBQ0E7RUFDRTtJQUNFLHlCQUF5QjtJQUN6QixXQUFXO0VBQ2I7RUFDQTtJQUNFLGFBQWE7SUFDYixXQUFXO0VBQ2I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7SUFDNUIsV0FBVztFQUNiO0FBQ0Y7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JFO0FBRUY7O0VBRUU7QUFFRjs7Ozs7O0VBTUU7QUFFRjs7O0VBR0UiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHBvc2l0aW9uICovXHJcbi50b2FzdC1jZW50ZXItY2VudGVyIHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuLnRvYXN0LXRvcC1jZW50ZXIge1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4udG9hc3QtYm90dG9tLWNlbnRlciB7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi50b2FzdC10b3AtZnVsbC13aWR0aCB7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi50b2FzdC1ib3R0b20tZnVsbC13aWR0aCB7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi50b2FzdC10b3AtbGVmdCB7XHJcbiAgdG9wOiAxMnB4O1xyXG4gIGxlZnQ6IDEycHg7XHJcbn1cclxuLnRvYXN0LXRvcC1yaWdodCB7XHJcbiAgdG9wOiAxMnB4O1xyXG4gIHJpZ2h0OiAxMnB4O1xyXG59XHJcbi50b2FzdC1ib3R0b20tcmlnaHQge1xyXG4gIHJpZ2h0OiAxMnB4O1xyXG4gIGJvdHRvbTogMTJweDtcclxufVxyXG4udG9hc3QtYm90dG9tLWxlZnQge1xyXG4gIGJvdHRvbTogMTJweDtcclxuICBsZWZ0OiAxMnB4O1xyXG59XHJcblxyXG4vKiB0b2FzdCBzdHlsZXMgKi9cclxuLnRvYXN0LXRpdGxlIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udG9hc3QtbWVzc2FnZSB7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcbi50b2FzdC1tZXNzYWdlIGEsXHJcbi50b2FzdC1tZXNzYWdlIGxhYmVsIHtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udG9hc3QtbWVzc2FnZSBhOmhvdmVyIHtcclxuICBjb2xvcjogI0NDQ0NDQztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHJpZ2h0OiAtMC4zZW07XHJcbiAgdG9wOiAtMC4zZW07XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmZmZmO1xyXG4gIC8qIG9wYWNpdHk6IDAuODsgKi9cclxufVxyXG4udG9hc3QtY2xvc2UtYnV0dG9uOmhvdmVyLFxyXG4udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzIHtcclxuICBjb2xvcjogIzAwMDAwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG4vKkFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cclxuIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxyXG4gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuKi9cclxuYnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbi50b2FzdC1jb250YWluZXIge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiA5OTk5OTk7XHJcbn1cclxuLnRvYXN0LWNvbnRhaW5lciAqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi50b2FzdC1jb250YWluZXIgLnRvYXN0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW46IDAgMCA2cHg7XHJcbiAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggNTBweDtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAzcHggM3B4O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDE1cHggY2VudGVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4ICM5OTk5OTk7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnRvYXN0LWNvbnRhaW5lciAudG9hc3Q6aG92ZXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4ICMwMDAwMDA7XHJcbiAgb3BhY2l0eTogMTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLyogaHR0cHM6Ly9naXRodWIuY29tL0ZvcnRBd2Vzb21lL0ZvbnQtQXdlc29tZS1Qcm8vYmxvYi9tYXN0ZXIvYWR2YW5jZWQtb3B0aW9ucy9yYXctc3ZnL3JlZ3VsYXIvaW5mby1jaXJjbGUuc3ZnICovXHJcbi50b2FzdC1pbmZvIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMiclM0UlM0NwYXRoIGZpbGw9J3JnYigyNTUsMjU1LDI1NSknIGQ9J00yNTYgOEMxMTkuMDQzIDggOCAxMTkuMDgzIDggMjU2YzAgMTM2Ljk5NyAxMTEuMDQzIDI0OCAyNDggMjQ4czI0OC0xMTEuMDAzIDI0OC0yNDhDNTA0IDExOS4wODMgMzkyLjk1NyA4IDI1NiA4em0wIDExMGMyMy4xOTYgMCA0MiAxOC44MDQgNDIgNDJzLTE4LjgwNCA0Mi00MiA0Mi00Mi0xOC44MDQtNDItNDIgMTguODA0LTQyIDQyLTQyem01NiAyNTRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTJ2LTY0aC0xMmMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg2NGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjEwMGgxMmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0eicvJTNFJTNDL3N2ZyUzRVwiKTtcclxufVxyXG4vKiBodHRwczovL2dpdGh1Yi5jb20vRm9ydEF3ZXNvbWUvRm9udC1Bd2Vzb21lLVByby9ibG9iL21hc3Rlci9hZHZhbmNlZC1vcHRpb25zL3Jhdy1zdmcvcmVndWxhci90aW1lcy1jaXJjbGUuc3ZnICovXHJcbi50b2FzdC1lcnJvciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMicgd2lkdGg9JzUxMicgaGVpZ2h0PSc1MTInJTNFJTNDcGF0aCBmaWxsPSdyZ2IoMjU1LDI1NSwyNTUpJyBkPSdNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptMTIxLjYgMzEzLjFjNC43IDQuNyA0LjcgMTIuMyAwIDE3TDMzOCAzNzcuNmMtNC43IDQuNy0xMi4zIDQuNy0xNyAwTDI1NiAzMTJsLTY1LjEgNjUuNmMtNC43IDQuNy0xMi4zIDQuNy0xNyAwTDEzNC40IDMzOGMtNC43LTQuNy00LjctMTIuMyAwLTE3bDY1LjYtNjUtNjUuNi02NS4xYy00LjctNC43LTQuNy0xMi4zIDAtMTdsMzkuNi0zOS42YzQuNy00LjcgMTIuMy00LjcgMTcgMGw2NSA2NS43IDY1LjEtNjUuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsMzkuNiAzOS42YzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMTIgMjU2bDY1LjYgNjUuMXonLyUzRSUzQy9zdmclM0VcIik7XHJcbn1cclxuLyogaHR0cHM6Ly9naXRodWIuY29tL0ZvcnRBd2Vzb21lL0ZvbnQtQXdlc29tZS1Qcm8vYmxvYi9tYXN0ZXIvYWR2YW5jZWQtb3B0aW9ucy9yYXctc3ZnL3JlZ3VsYXIvY2hlY2suc3ZnICovXHJcbi50b2FzdC1zdWNjZXNzIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMiclM0UlM0NwYXRoIGZpbGw9J3JnYigyNTUsMjU1LDI1NSknIGQ9J00xNzMuODk4IDQzOS40MDRsLTE2Ni40LTE2Ni40Yy05Ljk5Ny05Ljk5Ny05Ljk5Ny0yNi4yMDYgMC0zNi4yMDRsMzYuMjAzLTM2LjIwNGM5Ljk5Ny05Ljk5OCAyNi4yMDctOS45OTggMzYuMjA0IDBMMTkyIDMxMi42OSA0MzIuMDk1IDcyLjU5NmM5Ljk5Ny05Ljk5NyAyNi4yMDctOS45OTcgMzYuMjA0IDBsMzYuMjAzIDM2LjIwNGM5Ljk5NyA5Ljk5NyA5Ljk5NyAyNi4yMDYgMCAzNi4yMDRsLTI5NC40IDI5NC40MDFjLTkuOTk4IDkuOTk3LTI2LjIwNyA5Ljk5Ny0zNi4yMDQtLjAwMXonLyUzRSUzQy9zdmclM0VcIik7XHJcbn1cclxuLyogaHR0cHM6Ly9naXRodWIuY29tL0ZvcnRBd2Vzb21lL0ZvbnQtQXdlc29tZS1Qcm8vYmxvYi9tYXN0ZXIvYWR2YW5jZWQtb3B0aW9ucy9yYXctc3ZnL3JlZ3VsYXIvZXhjbGFtYXRpb24tdHJpYW5nbGUuc3ZnICovXHJcbi50b2FzdC13YXJuaW5nIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMiclM0UlM0NwYXRoIGZpbGw9J3JnYigyNTUsMjU1LDI1NSknIGQ9J001NjkuNTE3IDQ0MC4wMTNDNTg3Ljk3NSA0NzIuMDA3IDU2NC44MDYgNTEyIDUyNy45NCA1MTJINDguMDU0Yy0zNi45MzcgMC01OS45OTktNDAuMDU1LTQxLjU3Ny03MS45ODdMMjQ2LjQyMyAyMy45ODVjMTguNDY3LTMyLjAwOSA2NC43Mi0zMS45NTEgODMuMTU0IDBsMjM5Ljk0IDQxNi4wMjh6TTI4OCAzNTRjLTI1LjQwNSAwLTQ2IDIwLjU5NS00NiA0NnMyMC41OTUgNDYgNDYgNDYgNDYtMjAuNTk1IDQ2LTQ2LTIwLjU5NS00Ni00Ni00NnptLTQzLjY3My0xNjUuMzQ2bDcuNDE4IDEzNmMuMzQ3IDYuMzY0IDUuNjA5IDExLjM0NiAxMS45ODIgMTEuMzQ2aDQ4LjU0NmM2LjM3MyAwIDExLjYzNS00Ljk4MiAxMS45ODItMTEuMzQ2bDcuNDE4LTEzNmMuMzc1LTYuODc0LTUuMDk4LTEyLjY1NC0xMS45ODItMTIuNjU0aC02My4zODNjLTYuODg0IDAtMTIuMzU2IDUuNzgtMTEuOTgxIDEyLjY1NHonLyUzRSUzQy9zdmclM0VcIik7XHJcbn1cclxuLnRvYXN0LWNvbnRhaW5lci50b2FzdC10b3AtY2VudGVyIC50b2FzdCxcclxuLnRvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tY2VudGVyIC50b2FzdCB7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG4udG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoIC50b2FzdCxcclxuLnRvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tZnVsbC13aWR0aCAudG9hc3Qge1xyXG4gIHdpZHRoOiA5NiU7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcbi50b2FzdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzMDMwMztcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG4udG9hc3Qtc3VjY2VzcyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxQTM1MTtcclxufVxyXG4udG9hc3QtZXJyb3Ige1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNCRDM2MkY7XHJcbn1cclxuLnRvYXN0LWluZm8ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyRjk2QjQ7XHJcbn1cclxuLnRvYXN0LXdhcm5pbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGODk0MDY7XHJcbn1cclxuLnRvYXN0LXByb2dyZXNzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuICBvcGFjaXR5OiAwLjQ7XHJcbn1cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMjQwcHgpIHtcclxuICAudG9hc3QtY29udGFpbmVyIC50b2FzdC5kaXYge1xyXG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggNTBweDtcclxuICAgIHdpZHRoOiAxMWVtO1xyXG4gIH1cclxuICAudG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b24ge1xyXG4gICAgcmlnaHQ6IC0wLjJlbTtcclxuICAgIHRvcDogLTAuMmVtO1xyXG4gIH1cclxufVxyXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAyNDFweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLnRvYXN0LWNvbnRhaW5lciAudG9hc3QuZGl2IHtcclxuICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDUwcHg7XHJcbiAgICB3aWR0aDogMThlbTtcclxuICB9XHJcbiAgLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtY2xvc2UtYnV0dG9uIHtcclxuICAgIHJpZ2h0OiAtMC4yZW07XHJcbiAgICB0b3A6IC0wLjJlbTtcclxuICB9XHJcbn1cclxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC50b2FzdC1jb250YWluZXIgLnRvYXN0LmRpdiB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA1MHB4O1xyXG4gICAgd2lkdGg6IDI1ZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKnRhYmxlLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkID4gYS5idG4ge1xyXG4gIG1hcmdpbi1yaWdodDogMnB4OyBcclxufVxyXG5cclxuLmJ1dHRvbi1jdXN0b20ge1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDsgXHJcbn1cclxuXHJcbi5idXR0b24tY3VzdG9tID4gYnV0dG9uIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweClcclxue1xyXG4gIC5tb2RhbC1iaWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgfVxyXG59Ki9cclxuXHJcbi8qLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbn0qL1xyXG5cclxuLypAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpXHJcbntcclxuICAubW9kYWwtZGlhbG9nIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDEuNzVyZW0gYXV0bztcclxuICB9XHJcbn0qL1xyXG5cclxuLyouY2FyZC1ib2R5ID4gZm9ybSA+IGRpdiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn0qL1xyXG5cclxuIl19 */\"","import { Component, OnInit } from \"@angular/core\";\nimport { Router, NavigationEnd, ActivatedRoute } from \"@angular/router\";\nimport { filter, map, mergeMap } from \"rxjs/operators\";\nimport { Title } from \"@angular/platform-browser\";\nimport { AuthService } from \"./service/auth.service\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@Component({\n // tslint:disable-next-line\n selector: \"body\",\n template:\n \"\",\n //selector: 'app-root',\n //templateUrl: './app.component.html',\n styleUrls: [\"./app.component.css\"],\n})\nexport class AppComponent implements OnInit {\n constructor(\n private router: Router,\n private titleService: Title,\n private activatedRoute: ActivatedRoute,\n private cookie: CookieService,\n private auth: AuthService\n ) {\n this.titleService.setTitle(\"\");\n //this.myFuntion();\n }\n\n ngOnInit() {\n // this.router.events.subscribe((evt) => {\n // if (!(evt instanceof NavigationEnd)) {\n // return;\n // }\n // window.scrollTo(0, 0);\n // });\n console.log(\"Ex\", this.cookie.get(\"Expire\"));\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.activatedRoute),\n map((route) => {\n while (route.firstChild) route = route.firstChild;\n return route;\n }),\n filter((route) => route.outlet === \"primary\"),\n mergeMap((route) => route.data)\n )\n .subscribe((event) => this.titleService.setTitle(event[\"title\"]));\n }\n\n ngAfterViewInit() {\n this.deToken();\n }\n\n myFuntion() {\n setInterval(() => {\n if (this.cookie.get(\"Expire\") == \"\") {\n this.auth.logout();\n }\n }, 10000);\n }\n\n deToken() {\n var token = localStorage.getItem(\"access_token\");\n let base64Url = token.split(\".\")[1];\n let base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n let jsonPayload = decodeURIComponent(\n atob(base64)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n\n let payload = JSON.parse(jsonPayload);\n let exp = payload.exp;\n let currentTimestamp = Math.floor(Date.now() / 1000);\n if (currentTimestamp > exp) {\n this.auth.logout();\n }\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { APP_BASE_HREF, LocationStrategy, HashLocationStrategy, DatePipe } from '@angular/common';\n\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\n\nimport { CookieService } from 'ngx-cookie-service';\nimport { AuthGuard } from './auth.guard';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { ModalDialogModule } from 'ngx-modal-dialog';\nimport { ModalModule } from 'ngx-bootstrap/modal';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true\n};\n\nimport { AppComponent } from './app.component';\n\n// Import containers\nimport { DefaultLayoutComponent } from './containers';\n\nimport { P404Component } from './views/error/404.component';\nimport { P500Component } from './views/error/500.component';\nimport { LoginComponent } from './views/login/login.component';\n\nconst APP_CONTAINERS = [\n DefaultLayoutComponent\n];\n\nimport {\n AppAsideModule,\n AppBreadcrumbModule,\n AppHeaderModule,\n AppFooterModule,\n AppSidebarModule,\n\n} from '@coreui/angular';\n\n// Import routing module\nimport { AppRoutingModule } from './app.routing';\n\n// Import 3rd party components\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { ChartsModule } from 'ng2-charts';\nimport { ToastrModule } from 'ngx-toastr';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { CKEditorModule } from 'ng2-ckeditor';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\n\n\nimport { PreCliDirective } from './directive/preventClick/pre-cli.directive';\nimport { OlComponent } from './directive/ol/ol.component';\n\nimport { MenuComponent } from './views/category/menu/menu.component';\nimport { NewsComponent } from './views/category/news/news.component';\nimport { PageComponent } from './views/category/page/page.component';\nimport { CateProductComponent } from './views/category/product/product.component';\nimport { ManufacturerComponent } from './views/category/manufacturer/manufacturer.component';\nimport { RankComponent } from './views/category/rank/rank.component';\nimport { TrademarkComponent } from './views/category/trademark/trademark.component';\n\nimport { ConfigThumbComponent } from './views/config/config-thumb/config-thumb.component';\nimport { ConfigGeneralComponent } from './views/config/config-general/config-general.component';\nimport { ConfigTableComponent } from './views/config/config-table/config-table.component';\n\nimport { NewsTextComponent } from './views/content/news-text/news-text.component';\nimport { BlockComponent } from './views/content/block/block.component';\nimport { CommentComponent } from './views/content/comment/comment.component';\n\nimport { CustomerComponent } from './views/customer/customer.component';\n\nimport { DashboardComponent } from './views/dashboard/dashboard.component';\n\nimport { CompanyComponent } from './views/general/company/company.component';\nimport { WebsiteComponent } from './views/general/website/website.component';\nimport { BankComponent } from './views/general/bank/bank.component';\nimport { DepartmentComponent } from './views/general/department/department.component';\nimport { PositionComponent } from './views/general/position/position.component';\nimport { TypeAttributeComponent } from './views/general/type-attribute/type-attribute.component';\n\nimport { LanguageComponent } from './views/language/language.component';\n\nimport { MaterialComponent } from './views/material/material.component';\n\nimport { OrderComponent } from './views/order/order.component';\nimport { OrderTramComponent } from './views/ordertram/ordertram.component';\n\nimport { ProductComponent } from './views/product/product.component';\n\nimport { SlideComponent } from './views/slide/slide.component';\nimport { TramcanComponent } from './views/tramcan/tramcan.component';\nimport { ImportManagement } from './views/importmanagement/importmanagement.component';\n\nimport { FunctionComponent } from './views/system/function/function.component';\nimport { RoleComponent } from './views/system/role/role.component';\n\nimport { UserComponent } from './views/user/user.component';\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\nimport { CurrencyMaskModule } from \"ng2-currency-mask\";\nimport { PartnerComponent } from './views/category/partner/partner.component';\nimport { BranchComponent } from './views/general/branch/branch.component';\nimport { ServiceComponent } from './views/service/service.component';\nimport { ContactComponent } from './views/general/contact/contact.component';\nimport { NgxSortableModule } from 'ngx-sortable';\nimport { OlCategoryComponent } from './directive/ol-category/ol-category.component';\nimport { CheckBoxComponent } from './directive/check-box/check-box.component';\nimport { AttribuiteComponent } from './views/general/attribuite/attribuite.component';\nimport { TruncatePipe } from './pipe/truncate.pipe';\nimport { ReviewProductComponent } from './views/review-product/review-product.component';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\n@NgModule({\n imports: [\n BrowserModule,\n AppRoutingModule,\n AppAsideModule,\n AppBreadcrumbModule.forRoot(),\n AppFooterModule,\n AppHeaderModule,\n AppSidebarModule,\n PerfectScrollbarModule,\n BsDropdownModule.forRoot(),\n TabsModule.forRoot(),\n ChartsModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n BrowserAnimationsModule,\n ToastrModule.forRoot(),\n LoadingBarHttpClientModule,\n ModalDialogModule.forRoot(),\n ModalModule.forRoot(),\n PaginationModule.forRoot(),\n NgSelectModule,\n TooltipModule.forRoot(),\n CKEditorModule,\n ButtonsModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n CurrencyMaskModule,\n NgxSortableModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n declarations: [\n AppComponent,\n ...APP_CONTAINERS,\n P404Component,\n P500Component,\n LoginComponent,\n MenuComponent,\n NewsComponent,\n PageComponent,\n CateProductComponent,\n ManufacturerComponent,\n RankComponent,\n TrademarkComponent,\n ConfigThumbComponent,\n ConfigGeneralComponent,\n ConfigTableComponent,\n NewsTextComponent,\n BlockComponent,\n CommentComponent,\n CustomerComponent,\n DashboardComponent,\n CompanyComponent,\n WebsiteComponent,\n BankComponent,\n DepartmentComponent,\n PositionComponent,\n TypeAttributeComponent,\n LanguageComponent,\n MaterialComponent,\n OrderComponent,\n OrderTramComponent,\n ProductComponent,\n SlideComponent,\n TramcanComponent,\n ImportManagement,\n FunctionComponent,\n RoleComponent,\n UserComponent,\n OlComponent,\n PreCliDirective,\n PartnerComponent,\n BranchComponent,\n ServiceComponent,\n ContactComponent,\n OlCategoryComponent,\n CheckBoxComponent,\n AttribuiteComponent,\n TruncatePipe,\n ReviewProductComponent\n\n ],\n exports: [PreCliDirective],\n providers: [AuthGuard ,CookieService, DatePipe, { provide: APP_BASE_HREF, useValue: '' }],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\n// Import Containers\nimport { DefaultLayoutComponent } from './containers';\n\nimport { P404Component } from './views/error/404.component';\nimport { P500Component } from './views/error/500.component';\nimport { LoginComponent } from './views/login/login.component';\n// import { LanguageComponent } from './views/language/language.component';\n// import { OrderComponent } from './views/order/order.component';\n// import { ProductComponent } from './views/product/product.component'\n// import { CustomerComponent } from './views/customer/customer.component';\n// import { SlideComponent } from './views/slide/slide.component';\n// import { MaterialComponent } from './views/material/material.component';\n\nimport { MenuComponent } from './views/category/menu/menu.component';\nimport { NewsComponent } from './views/category/news/news.component';\nimport { PageComponent } from './views/category/page/page.component';\nimport { CateProductComponent } from './views/category/product/product.component';\nimport { ManufacturerComponent } from './views/category/manufacturer/manufacturer.component';\nimport { RankComponent } from './views/category/rank/rank.component';\nimport { TrademarkComponent } from './views/category/trademark/trademark.component';\n\nimport { ConfigThumbComponent } from './views/config/config-thumb/config-thumb.component';\nimport { ConfigGeneralComponent } from './views/config/config-general/config-general.component';\nimport { ConfigTableComponent } from './views/config/config-table/config-table.component';\n\nimport { NewsTextComponent } from './views/content/news-text/news-text.component';\nimport { BlockComponent } from './views/content/block/block.component';\nimport { CommentComponent } from './views/content/comment/comment.component';\n\nimport { CustomerComponent } from './views/customer/customer.component';\n\nimport { DashboardComponent } from './views/dashboard/dashboard.component';\n\nimport { CompanyComponent } from './views/general/company/company.component';\nimport { WebsiteComponent } from './views/general/website/website.component';\nimport { BankComponent } from './views/general/bank/bank.component';\nimport { DepartmentComponent } from './views/general/department/department.component';\nimport { PositionComponent } from './views/general/position/position.component';\nimport { TypeAttributeComponent } from './views/general/type-attribute/type-attribute.component';\n\nimport { LanguageComponent } from './views/language/language.component';\n\nimport { MaterialComponent } from './views/material/material.component';\n\nimport { OrderComponent } from './views/order/order.component';\nimport { OrderTramComponent } from './views/ordertram/ordertram.component';\n\nimport { ProductComponent } from './views/product/product.component';\n\nimport { SlideComponent } from './views/slide/slide.component';\nimport { TramcanComponent } from './views/tramcan/tramcan.component';\nimport { FunctionComponent } from './views/system/function/function.component';\nimport { RoleComponent } from './views/system/role/role.component';\n\nimport { UserComponent } from './views/user/user.component';\n\nimport { PartnerComponent } from './views/category/partner/partner.component';\n\nimport { BranchComponent } from './views/general/branch/branch.component';\n\nimport { ServiceComponent } from './views/service/service.component';\n\nimport { ContactComponent } from './views/general/contact/contact.component';\n\nimport { AttribuiteComponent } from './views/general/attribuite/attribuite.component';\n\nimport { ReviewProductComponent } from './views/review-product/review-product.component';\n\nimport { AuthGuard } from './auth.guard';\nimport { ImportManagement } from './views/importmanagement/importmanagement.component';\n\nexport const routes: Routes = [\n {\n path: '',\n redirectTo: 'dashboard',\n pathMatch: 'full'\n },\n {\n path: 'login',\n component: LoginComponent,\n data: {\n title: 'Đăng nhập'\n },\n canActivate: [AuthGuard]\n },\n {\n path: '',\n component: DefaultLayoutComponent,\n data: {\n title: ''\n },\n children: [\n {\n path: 'dashboard',\n component: DashboardComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Trang tổng quan'\n }\n },\n {\n path: 'company',\n component: CompanyComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý công ty'\n }\n },\n {\n path: 'system/function',\n component: FunctionComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý chức năng'\n }\n },\n {\n path: 'system/role',\n component: RoleComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý phân quyền'\n }\n },\n {\n path: 'system/user',\n component: UserComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Người dùng'\n }\n },\n {\n path: 'branch',\n component: BranchComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý trạm trộn'\n }\n },\n {\n path: 'report/rpdonhang',\n component: OrderComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Báo cáo đơn hàng'\n }\n },\n {\n path: 'report/slide',\n component: SlideComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Thống kê đơn hàng'\n }\n },\n {\n path: 'report/tramcan',\n component: TramcanComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Thống kê trạm cân'\n }\n },\n {\n path: 'report/importmanagement',\n component: ImportManagement,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý kho'\n }\n },\n {\n path: 'bank',\n component: BankComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Phần mềm quản lý xe'\n }\n },\n {\n path: 'contact',\n component: ContactComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý Camera'\n }\n },\n {\n path: 'customer',\n component: CustomerComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý cấp phối'\n }\n },\n {\n path: 'ordertram',\n component: OrderTramComponent,\n canActivate: [AuthGuard],\n data: {\n title: 'Quản lý trạm vật liệu'\n }\n },\n ]\n },\n {\n path: '**',\n component: P404Component,\n pathMatch: 'full'\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { useHash: false })],\n exports: [RouterModule],\n providers: []\n})\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router, private cookie: CookieService) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n let url: string = state.url;\n return this.verifyLogin(url);\n }\n\n verifyLogin(url) : boolean {\n console.log(this.isLoggedIn());\n console.log(url);\n\n \tif(!this.isLoggedIn()) {\n if(url != '/login') {\n this.router.navigate(['/login']);\n return false;\n }\n return true;\n \t}\n \telse\n \t{\n \t\tif(this.isLoggedIn()) {\n if(url == '/login') {\n this.router.navigate(['/dashboard']);\n return false;\n }\n\n let arr = new Array();\n var json = JSON.parse(localStorage.getItem('menu'));\n\n json.push({\n ActiveKey: \"111111111\",\n Code: \"\",\n Icon: \"fa fa-tachometer\",\n MenuId: undefined,\n MenuParent: 0,\n Name: \"Trang tổng quan\",\n Status: undefined,\n Url: \"dashboard\",\n listMenus: []\n });\n\n for(var i = 0; i < json.length; i++) {\n this.checkUrlPermission(arr, undefined, json[i]);\n }\n\n if(arr.indexOf(url) == -1) {\n this.router.navigate(['/404']);\n }\n else\n {\n return true;\n }\n\n return true;\n \t\t}\n \t}\n }\n\n public isLoggedIn(): boolean {\n \tlet status = false;\n \tif (localStorage.getItem('isLoggedIn') == \"true\") {\n \t\tstatus = true;\n \t}\n \telse\n \t{\n \t\tstatus = false;\n \t}\n \treturn status;\n }\n\n checkUrlPermission(arr, urlParent, item): void {\n let url = urlParent == undefined ? \"/\" + item[\"Url\"] : urlParent + \"/\" + item[\"Url\"];\n arr.push(url);\n if(item[\"listMenus\"].length > 0) {\n for(var i = 0; i < item[\"listMenus\"].length; i ++) {\n this.checkUrlPermission(arr, url, item[\"listMenus\"][i]);\n }\n }\n }\n\n}\n","module.exports = \"
\\n\\n \\n \\n \\n \\n \\n\\n \\n
\\n\\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n

{{ 'LAYOUT.CHANGE.DOIMATKHAU' | translate }}

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n

{{ 'LAYOUT.INFO.LABEL' | translate }}

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","import { Component, Input, ViewChild, ElementRef } from '@angular/core';\nimport { navItems, domainImage, ListLangs } from './../../data/const';\nimport { AuthService } from '../../service/auth.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { UserChangePass } from './../../data/Model';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { Md5 } from 'ts-md5/dist/md5';\nimport { User } from '../../data/model';\nimport {TranslateService} from '@ngx-translate/core';\nimport languages from '../../../assets/i18n/languages.json';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './default-layout.component.html'\n})\nexport class DefaultLayoutComponent {\n public navItem = [];\n public sidebarMinimized = true;\n private changes: MutationObserver;\n public element: HTMLElement = document.body;\n public userChangePass: UserChangePass = new UserChangePass();\n public domainImage = domainImage;\n public Item: User;\n public role: number;\n public lstLanguage : Array = languages;\n companyId: number;\n BranchId: string;\n UserId: number;\n public httpOptions: any;\n\n public langSelect: string;\n public listLangs = ListLangs;\n public isShowUser = false;\n @ViewChild('ChangePasswordModal') public changePasswordModal: ModalDirective;\n @ViewChild('modalMyInfo') public modalMyInfo: ModalDirective;\n @ViewChild('file') file: ElementRef;\n constructor(\n public auth: AuthService,\n public cookie: CookieService,\n public toastr: ToastrService,\n public http: HttpClient,\n public translate: TranslateService) {\n var json = JSON.parse(localStorage.getItem('menu'));\n //console.log(json);\n this.Item = new User();\n\n this.navItem.push({\n icon: \"fas fa-tachometer-alt\",\n //name: this.translate.instant('MENUSIDEBAR.TRANG_TONG_QUAN'),\n name: \"MENUSIDEBAR.TRANG_TONG_QUAN\",\n url: \"/dashboard\"\n });\n\n for (var i = 0; i < json.length; i++) {\n //console.log(json[i].code);\n this.navItem.push(this.createMenu(json[i], undefined));\n }\n //console.log( this.navItem);\n this.changes = new MutationObserver((mutations) => {\n this.sidebarMinimized = document.body.classList.contains('sidebar-minimized');\n });\n\n this.changes.observe(this.element, {\n attributes: true\n });\n\n /*this.myFuntion();*/\n\n this.userChangePass.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.userChangePass.UserName = localStorage.getItem(\"userName\");\n this.userChangePass.Avatar = localStorage.getItem(\"avata\");\n this.userChangePass.Logo = localStorage.getItem(\"logo\");\n this.userChangePass.FullName = localStorage.getItem(\"fullName\");\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n };\n\n translate.addLangs(this.lstLanguage);\n //translate.setDefaultLang('vi');\n this.langSelect = localStorage.getItem(\"langSelect\");\n //const browserLang = translate.getBrowserLang();\n translate.use(this.langSelect || 'vi');\n }\n\n ngOnInit(): void {\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n this.UserId = parseInt(localStorage.getItem('userId'));\n this.BranchId = localStorage.getItem('BranchId');\n this.userChangePass.Logo = localStorage.getItem(\"logo\");\n console.log(this.userChangePass.Logo);\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId\n }\n }\n }\n createMenu(item, urlParent: string) {\n item[\"name\"] = item[\"Name\"];\n item[\"url\"] = urlParent == undefined ? \"/\" + item[\"Url\"] : urlParent + \"/\" + item[\"Url\"];\n item[\"icon\"] = item[\"Icon\"];\n\n delete item[\"MenuId\"];\n delete item[\"Code\"];\n delete item[\"Name\"];\n delete item[\"MenuParent\"];\n delete item[\"Url\"];\n delete item[\"Icon\"];\n delete item[\"ActiveKey\"];\n delete item[\"Status\"];\n if (item[\"listMenus\"].length > 0) {\n item[\"children\"] = [];\n for (var i = 0; i < item[\"listMenus\"].length; i++) {\n item[\"children\"].push(item[\"listMenus\"][i]);\n this.createMenu(item[\"children\"][i], item[\"url\"]);\n }\n }\n\n delete item[\"listMenus\"];\n\n return item;\n }\n\n logout() {\n this.auth.logout();\n }\n\n myFuntion() {\n //\n setInterval(() => {\n if (this.cookie.get(\"Expire\") == '' || this.cookie.get(\"Expire\") == undefined || localStorage.getItem('isLoggedIn') != \"true\") {\n this.auth.logout();\n }\n }, 10000);\n }\n\n OpenChangePasswordModal() {\n this.userChangePass.PasswordOldE = undefined;\n this.userChangePass.PasswordNewE = undefined;\n this.userChangePass.ConfirmPassword = undefined;\n this.changePasswordModal.show();\n }\n\n ChangePassword() {\n if (this.userChangePass.PasswordOldE == undefined || this.userChangePass.PasswordOldE == '') {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_1'));\n return;\n } else if (this.userChangePass.PasswordNewE == undefined || this.userChangePass.PasswordNewE == '') {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_2'));\n return;\n } else if (this.userChangePass.ConfirmPassword == undefined || this.userChangePass.ConfirmPassword == '') {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_3'));\n return;\n } else if (this.userChangePass.ConfirmPassword != this.userChangePass.PasswordNewE) {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_4'));\n return;\n }\n\n this.userChangePass.PasswordOld = Md5.hashStr(this.userChangePass.PasswordOldE).toString();\n this.userChangePass.PasswordNew = Md5.hashStr(this.userChangePass.PasswordNewE).toString();\n\n this.http.put('/api/user/changePass/' + this.userChangePass.UserId, this.userChangePass, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.changePasswordModal.hide();\n this.toastSuccess(this.translate.instant('TOAST.LAYOUT.TOAST_5'));\n } else if (res[\"meta\"][\"error_code\"] == 213) {\n this.toastError(this.translate.instant('TOAST.LAYOUT.TOAST_6'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.LAYOUT.TOAST_7'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.LAYOUT.TOAST_7'));\n }\n );\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, this.translate.instant('TOAST.LAYOUT.WARNING'));\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, this.translate.instant('TOAST.LAYOUT.SUCCESS'));\n }\n\n toastError(msg): void {\n this.toastr.error(msg, this.translate.instant('TOAST.LAYOUT.ERROR'));\n }\n\n OpenModalInfo() {\n this.Item = new User();\n this.file.nativeElement.value = \"\";\n\n this.http.get('/api/user/infoUser/' + this.userChangePass.UserId, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.Item = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n });\n\n this.modalMyInfo.show();\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress) {\n }\n else if (event.type === HttpEventType.Response) {\n this.Item.Avata = event.body[\"data\"].toString();\n }\n });\n }\n\n SaveInfo() {\n if (this.Item.FullName == undefined || this.Item.FullName == '') {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_8'));\n return;\n } else if (this.Item.UserName == undefined || this.Item.UserName == '') {\n this.toastWarning(this.translate.instant('TOAST.LAYOUT.TOAST_9'));\n return;\n }\n\n this.http.put('/api/user/changeInfoUser', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.modalMyInfo.hide();\n this.toastSuccess(this.translate.instant('TOAST.LAYOUT.TOAST_10'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n });\n }\n changeLang() {\n //let langSelect = this.f.langSelect.value;\n localStorage.setItem('langSelect', this.langSelect);\n this.translate.use(this.langSelect || 'vi');\n /*document.location.href = \"/dashboard\";*/\n }\n toggleUser() {\n this.isShowUser = !this.isShowUser;\n console.log(this.isShowUser);\n }\n}\n","export * from './default-layout.component';\n","export * from './default-layout';\n","export class Action {\n ActionId: number;\n ActionName: string;\n ActionType: string;\n TargetId: number;\n TargetType: string;\n Logs: string;\n CreatedAt: Date;\n IPAddress: string;\n Time: number;\n Type: number;\n CompanyId: number;\n UserPushId: number;\n UserId: number;\n Status: number;\n}\n\nexport class Attactment {\n AttactmentId: number;\n Name: string;\n TargetId: number;\n TargetType: number;\n Url: string;\n Thumb: string;\n CreatedAt: Date;\n UserId: number;\n Status: number;\n IsImageMain: boolean;\n}\n\nexport class Bank {\n BankId: number;\n Name: string;\n AccountId: string;\n AccountName: string;\n BranchName: string;\n Note: string;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Block {\n BlockId: number;\n Code: string;\n Name: string;\n Contents: string;\n Icon: string;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n IconText: any;\n}\n\nexport class Category {\n CategoryId: number;\n Name: string;\n Code: string;\n CategoryParentId: number;\n Description: string;\n Contents: string;\n Url: string;\n Image: string;\n Icon: string;\n IconFa: string;\n IconText: boolean;\n Location: number;\n TypeCategoryId: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n NumberDisplayMobile: number;\n}\n\nexport class CategoryMapping {\n CategoryMappingId: number;\n CategoryId: number;\n TargetId: number;\n TargetType: number;\n Location: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class CategoryRank {\n CategoryRankId: number;\n Name: string;\n Description: string;\n RankStart: number;\n RankEnd: number;\n TypeRankId: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Comment {\n CommentId: number;\n CustomerId: number;\n TargetId: number;\n TargetType: number;\n Contents: string;\n CommentParentId: number;\n CreatedAt: Date;\n UpdateAt: Date;\n Status: number;\n}\n\nexport class Company {\n CompanyId: number;\n Code: string;\n Name: string;\n Email: string;\n Logo: string;\n Phone: string;\n Address: string;\n Fax: string;\n Representative: string;\n ContactName: string;\n ContactEmail: string;\n ContactPhone: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n Active: number;\n CountUser: number;\n \n Note: string;\n}\n\nexport class Config {\n ConfigId: number;\n IsLog: number;\n EmailHost: string;\n EmailSender: string;\n EmailEnableSsl: number;\n EmailUserName: string;\n EmailDisplayName: string;\n EmailPasswordHash: string;\n EmailColorBody: string;\n EmailColorHeader: string;\n EmailColorFooter: string;\n EmailLogo: string;\n Website: string;\n Phone: string;\n EmailPort: number;\n ConpanyId: number;\n CreatedAt: Date;\n Status: number;\n IsOnePay: any;\n}\n\nexport class ConfigTableItem {\n ConfigTableItemId: number;\n ConfigTableId: number;\n Code: string;\n Name: string;\n DataType: string;\n IsNull: number;\n RankMin: number;\n RankMax: number;\n Note: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class ConfigTable {\n ConfigTableId: number;\n Name: string;\n Code: string;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listConfigTableItem: Array;\n}\n\nexport class ConfigThumb {\n ConfigThumbId: number;\n Width: number;\n Height: number;\n Type: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class Contact {\n ContactId: number;\n CustomerId: number;\n FullName: string;\n Title: string;\n Email: string;\n Phone: string;\n Note: string;\n TypeContactId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n TypeContact: any;\n}\n\nexport class Customer {\n CustomerId: number;\n Username: string;\n Password: string;\n ConfirmPassword: string;\n FullName: string;\n Email: string;\n PhomeNumber: string;\n Avata: string;\n Sex: string;\n Birthday: any;\n Address: string;\n Note: string;\n KeyRandom: string;\n IsEmailConfirm: number;\n IsPhoneConfirm: number;\n Type: number;\n WebsiteId: number;\n CompanyId: number;\n TypeThirdId: number;\n LastLoginAt: Date;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Department {\n DepartmentId: number;\n Code: string;\n Name: string;\n Phone: string;\n Email: string;\n CompanyId: number;\n Location: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class FunctionRole {\n FunctionRoleId: number;\n TargetId: number;\n FunctionId: number;\n ActiveKey: string;\n Type: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Function {\n FunctionId: number;\n Name: string;\n Code: string;\n FunctionParentId: number;\n Url: string;\n Note: string;\n Location: number;\n Icon: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Language {\n LanguageId: number;\n Name: string;\n Code: string;\n Flag: string;\n IsMain: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Log {\n LogId: string;\n Action: string;\n Contents: string;\n UserId: number;\n CretatedAt: Date;\n}\n\nexport class Manufacturer {\n ManufacturerId: number;\n Name: string;\n Code: string;\n TypeOriginId: number;\n Description: string;\n Logo: string;\n Address: string;\n Mobile: string;\n Phone: string;\n Fax: string;\n Website: string;\n Url: string;\n Location: number;\n MetaTitle: string;\n MetaDescription: string;\n MetaKeywords: string;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n Owner: string;\n AvatarOwner: string;\n NickName: string;\n Country: string;\n Contents: string;\n}\n\nexport class MenuItem {\n MenuItemId: number;\n CategoryId: number;\n MenuId: number;\n MenuParentId: number;\n Location: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Menu {\n MenuId: number;\n Name: string;\n Code: string;\n Note: string;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class News {\n NewsId: number;\n Title: string;\n Description: string;\n Contents: string;\n Image: string;\n Url: string;\n DateStartActive: any;\n DateStartOn: any;\n DateEndOn: any;\n ViewNumber: number;\n Location: number;\n IsHome: boolean;\n IsHot: boolean;\n TypeNewsId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n IsService: boolean;\n LinkVideo: string;\n Author: string;\n listCategory: Array<{ CategoryId: number, Name: string, Check: boolean }>;\n listTag: Array<{ TagId: number, Name: string, Check: boolean }>;\n listAttachment: Array;\n listRelated: Array<{ TargetRelatedId: number }>;\n}\n\nexport class OrderItem {\n OrderItemId: number;\n OrderId: number;\n ProductId: number;\n Quantity: number;\n Price: number;\n PriceTax: number;\n PriceDiscount: number;\n PriceTotal: number;\n Status: number;\n}\n\nexport class Order {\n OrderId: number;\n Code: number;\n CustomerId: number;\n PaymentStatusId: number;\n PaymentMethodId: number;\n BillingAddress: string;\n ShippingMethodId: number;\n ShippingAddress: string;\n OrderStatusId: number;\n OrderTax: number;\n OrderDiscount: number;\n OrderTotal: number;\n CustomerNote: string;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listOrderItems: Array;\n ReceiverEmail: string;\n ReceiverName: string;\n ReceiverPhone: string;\n customerName?: CustomerName;\n customerAddress?: CustomerAddress;\n}\nexport class OrderTramItem {\n OrderItemTramId: number;\n OrderTramId: number;\n CodeCuaVL: number;\n QuantityNhap: string;\n QuantityXuat: string;\n QuantityTonkho: string;\n Quantity: number;\n Status: number;\n TENCUAVL: string;\n Price: number;\n Nhacungcap: string;\n Conversion_Volume: number;\n Conversion_Unit: number;\n Conversion_Coefficient: number;\n Total_Money: number = 1;\n}\nexport class OrderTram {\n OrderTramId: number;\n BrandId: number;\n Code: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n TypePhieu: number;\n Name: string;\n listOrderTramItems: Array;\n}\nexport class CustomerName {\n CustomerId: number;\n FullName: string;\n PhomeNumber: string;\n}\n\nexport class CustomerAddress {\n CustomerId: number;\n Name: string;\n Phone: string;\n Address: string;\n}\n\nexport class Position {\n PositionId: number;\n Name: string;\n Code: string;\n LevelId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class ProductAttribuite {\n ProductAttributesId: number;\n ProductId: number;\n Name: string;\n Value: string;\n Price: number;\n AttribuiteParentId: number;\n CreatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class ProductCustomer {\n ProductCustomerId: number;\n TargetId: number;\n TargetType: number;\n CustomerId: number;\n Location: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class ProductReview {\n ProductReviewId: number;\n CustomerId: number;\n ProductId: number;\n Contents: string;\n NumberStar: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Product {\n ProductId: number;\n Code: string;\n Name: string;\n Description: string;\n Contents: string;\n IsHome: boolean;\n IsHot: boolean;\n IsSale: boolean;\n StockQuantity: number;\n PriceSale: number;\n Discount: number;\n PriceImport: number;\n PriceSpecial: number;\n PriceOther: number;\n Image: string;\n ImageLeft: string;\n ImageRight: string;\n TypeProduct: number;\n Width: number;\n Height: number;\n ProductAge: number;\n ProductSex: number;\n LinkYoutube: string;\n Url: string;\n DateStartActive: any;\n DateStartOn: any;\n DateEndOn: any;\n ProductAttributes: string;\n ProductNote: string;\n NoteTech: string;\n NotePromotion: string;\n ViewNumber: number;\n LikeNumber: number;\n CommentNumber: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n TypeImagePromotionId: number;\n ManufacturerId: number;\n TrademarkId: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listCategory: Array<{ CategoryId: number, Name: string, Check: boolean }>;\n listTag: Array<{ TagId: number, Name: string, Check: boolean }>;\n listAttribute: Array;\n listRelated: Array<{ TargetRelatedId: number }>;\n listImage: Array;\n}\n\nexport class ImageProduct {\n ProductImageId: number;\n Name: string;\n Image: string;\n Location: number;\n IsImageMain: boolean;\n Status: number\n}\n\nexport class Attribute {\n ProductAttributesId: number;\n AttribuiteId: number;\n Location: number;\n Name: string;\n Value: string;\n Status: number\n}\n\nexport class Related {\n RelatedId: number;\n TargetId: number;\n TargetRelatedId: number;\n TargetType: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class Role {\n RoleId: number;\n Code: string;\n Name: string;\n Note: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserEditId: number;\n UserId: number;\n LevelRole: number;\n Status: number;\n listFunction: Array;\n}\n\nexport class FuncRole {\n FunctionRoleId: number;\n TargetId: number;\n FunctionId: number;\n ActiveKey: string;\n}\n\nexport class Slide {\n SlideId: number;\n Name: string;\n Description: string;\n TargetId: number;\n Image: string;\n Url: string;\n TypeSlideId: number;\n IsImageMain: boolean;\n IsLinkNewTab: boolean;\n Location: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\n// export interface sysdiagram {\n// diagram_id: number;\n// name: string;\n// principal_id: number;\n// version: number;\n// definition: byte[];\n// }\n\nexport class Tag {\n TagId: number;\n Name: string;\n Url: string;\n TargetId: number;\n TargetType: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class TypeAttributeItem {\n TypeAttributeItemId: number;\n Code: string;\n Name: string;\n TypeAttributeId: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class TypeAttribute {\n TypeAttributeId: number;\n Name: string;\n IsUpdate: number;\n IsDelete: number;\n TypeAttribuiteParentId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listAttributeItem: Array;\n}\nexport class TypeAttributeItemE {\n TypeAttributeItemId: number;\n Code: string;\n Name: string;\n TypeAttributeId: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class UserMapping {\n UserMappingId: number;\n UserId: number;\n TargetId: number;\n TargetType: number;\n UserIdCreatedId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class UserRole {\n UserRoleId: number;\n UserId: number;\n RoleId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class User {\n UserId: number;\n FullName: string;\n UserName: string;\n Password: string;\n Email: string;\n Code: string;\n Avata: string;\n UnitId: number;\n PositionId: number;\n DepartmentId: number;\n CompanyId: number;\n Address: string;\n Phone: string;\n KeyLock: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n TokenSince: Date;\n RegEmail: string;\n RoleMax: number;\n RoleLevel: number;\n IsRoleGroup: boolean;\n UserCreateId: number;\n UserEditId: number;\n Status: number;\n BranchId: string;\n listBranchId: [];\n Roleid: number;\n}\n\nexport class Website {\n WebsiteId: number;\n Name: string;\n Url: string;\n LanguageId: number;\n CompanyId: number;\n Address: string;\n WebsiteParentId: number;\n LogoHeader: string;\n LogoFooter: string;\n Banner: string;\n Hotline: string;\n Hotmail: string;\n LinkGooglePlus: string;\n LinkFacebookPage: string;\n LinkTwitter: string;\n LinkYoutube: string;\n LinkInstagram: string;\n LinkLinkedIn: string;\n LinkOther1: string;\n LinkOther2: string;\n LinkOther3: string;\n GoogleAnalitics: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n HighlightsNewsId: number;\n TechNiQuePhone: string;\n GuaRanTeePhone: string;\n}\n\nexport class UserChangePass {\n UserId: number;\n PasswordOld: string;\n PasswordOldE: string;\n PasswordNew: string;\n PasswordNewE: string;\n UserName: string;\n Avatar: string;\n Logo: string;\n FullName: string;\n ConfirmPassword: string;\n}\n\nexport class Material {\n MaterialId: number;\n CategoryMaterialId: number;\n Levels: number;\n UnitCalculateId: number;\n StandardId: number;\n LocaltionProviderId: number;\n Location: number;\n UnitPrice: number;\n ProvinceId: number;\n Month: number;\n Year: number;\n Note: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n listMaterialImportExcelChild: Array<{\n STT: string,\n Levels: number\n Name: string\n UnitCalculate: string\n LocaltionName: string\n Standard: string,\n UnitPrice: number,\n Location: number\n }>;\n}\n\nexport class SessionAution {\n SessionAutionId: number;\n Name: string;\n Code: string;\n Url: string;\n Image: string;\n IsHome: boolean;\n Description: string;\n Contents: string;\n DateStart: any;\n DateEnd: any;\n TimeStart: any;\n TimeEnd: any;\n Type: number;\n CreatedAt: string;\n UpdatedAt: string;\n UserId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n ListSessionProduct: Array\n}\n\nexport class SessionPoduct {\n SessionProductId: number;\n SessionAutionId: number;\n ProductId: number;\n CustomerWinId: number;\n PriceStart: number;\n DateTimeWin: number;\n IsHome: boolean;\n CreatedAt: string;\n UpdatedAt: string;\n UserId: number;\n Status: number;\n TypeAuction: number;\n BidPriceDistance: number;\n}\n\nexport class AutionHistory {\n AutionHistoryId: number;\n SessionAutionId: number;\n CustomerId: number;\n ProductId: number;\n PriceOld: number;\n PriceNew: number;\n CreatedAt: string;\n Status: number;\n}\n\n\nexport class Branch {\n BranchId: number;\n Code: string;\n Name: string;\n Avatar: string;\n Email: string;\n Phone: string;\n Address: string;\n Contents: string;\n CreatedAt: any;\n UpdatedAt: any;\n UserId: number;\n Status: number;\n Location: number;\n Lat: string;\n Long: string;\n Username: string;\n Password: string;\n CompanyId: number;\n PMQLXe: string;\n QLCamera: string;\n TypeTram: number;\n}\n\nexport class ResetPasswordCustomerDTO {\n FullName: string;\n PasswordInit: string;\n Password: string;\n ConfirmPassword: string;\n CustomerId: number;\n}\n\nexport class Attribuite {\n AttribuiteId: number;\n Name: string;\n IsCustom: boolean;\n Location: number;\n CreatedAt: any;\n UpdatedAt: any;\n UserId: number;\n Status: number;\n}\n\nexport class ResetUser {\n id: number;\n Pass: string;\n}\nexport class NhapKho {\n id: number;\n Pass: string;\n CAT1: number;\n CAT2: number;\n CAT3: number;\n DA1: number;\n DA2: number;\n DA3: number;\n XIMANG1: number;\n XIMANG2: number;\n XIMANG3: number;\n PHUGIA1: number;\n PHUGIA2: number;\n PHUGIA3: number;\n \n}\n\n","\n //export const domainImage = 'http://localhost:5001/uploads/thumbs/';\nexport const domainImage = 'http://dangnhap.net/uploads/thumbs/';\n\n\n\nexport const navItems = [\n\t{\n\t\tname: 'Trang tổng quan',\n\t\turl: '/dashboard',\n\t\ticon: 'icon-home'\n\t}\n];\n\nexport const typeCategoryNews = [\n\t{\n\t\tId: 1,\n\t\tName: 'Tin văn bản'\n\t},\n\t// {\n\t// \tId: 2,\n\t// \tName: 'Tin thông báo'\n\t// },\n\t{\n\t\tId: 3,\n\t\tName: 'Tin hình ảnh'\n\t},\n\t{\n\t\tId: 4,\n\t\tName: 'Tin video'\n\t},\n\t// {\n\t// \tId: 5,\n\t// \tName: 'Tin đính kèm'\n\t// }\n]\nexport const TypeTram = [\n {\n Id: 1,\n Name: 'Trạm Trộn'\n },\n {\n \tId: 2,\n \tName: 'Trạm Cân'\n },\n]\nexport const typeCategoryPage = [\n\t{\n\t\tId: 6,\n\t\tName: 'Trang bình thường',\n\t\tGroup: 'Trang bình thường'\n\t},\n\t{\n\t\tId: 7,\n\t\tName: 'Dofollow',\n\t\tGroup: 'Liên kết trên trang'\n\t},\n\t{\n\t\tId: 8,\n\t\tName: 'Dofollow',\n\t\tGroup: 'Liên kết ngoài trang'\n\t},\n\t{\n\t\tId: 9,\n\t\tName: 'Nofollow',\n\t\tGroup: 'Liên kết trên trang'\n\t},\n\t{\n\t\tId: 10,\n\t\tName: 'Nofollow',\n\t\tGroup: 'Liên kết ngoài trang'\n\t}\n];\n\nexport const Language = [\n\t{\n\t\tId: 1,\n\t\tName: 'Tiếng Việt'\n\t},\n\t{\n\t\tId: 7,\n\t\tName: 'Tiếng Anh'\n\t}\n];\n\nexport const Paging = {\n\tpage: 1,\n\tpage_size: 10,\n\tquery: '1=1',\n\torder_by: '',\n\titem_count: 0\n};\n\nexport const Filter = {\n\ttxtSearch: ''\n}\n\nexport const typeSlide = [\n\t{\n\t\tId: 1,\n\t\tName: 'loại 1'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'loại 2'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'loại 3'\n\t},\n\t{\n\t\tId: 4,\n\t\tName: 'loại 4'\n\t}\n]\n\nexport const typeRank = [\n\t{\n\t\tId: 1,\n\t\tName: 'Diện tích'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Đơn giá'\n\t}\n]\n\nexport const TypeUpload = [\n\t{\n\t\tId: 1,\n\t\tName: 'Tin tức'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Sản phẩm'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'Slide'\n\t},\n\t{\n\t\tId: 4,\n\t\tName: 'Icon'\n\t},\n\t{\n\t\tId: 5,\n\t\tName: 'Danh mục'\n\t},\n\t{\n\t\tId: 6,\n\t\tName: 'Loại khác'\n\t}\n]\n\nexport const OrderStatus = [\n\t{\n\t\tId: 1,\n\t\tName: 'Khởi tạo',\n\t\tClass: 'badge badge-primary'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Đã xác nhận',\n\t\tClass: 'badge badge-info'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'Đang giao hàng',\n\t\tClass: 'badge badge-light'\n\t},\n\t{\n\t\tId: 4,\n\t\tName: 'Đã giao hàng',\n\t\tClass: 'badge badge-warning'\n\t},\n\t{\n\t\tId: 5,\n\t\tName: 'Bị hủy',\n\t\tClass: 'badge badge-danger'\n\t}\n]\n\nexport const TypeContact = [\n\t{\n\t\tId: 1,\n\t\tName: 'Liên hệ'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Đăng ký nhận tin'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'Đặt lịch và báo giá'\n\t}\n]\n\n\nexport const ProductReviewStatus = [\n\t{\n\t\tId: 1,\n\t\tName: 'Khởi tạo'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Đã được duyệt'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'Không được duyệt'\n\t}\n]\n\nexport const PaymentOrderStatus = [\n\t{\n\t\tId: 1,\n\t\tName: 'Chưa thanh toán',\n\t\tClass: 'badge badge-primary'\n\t},\n\t{\n\t\tId: 2,\n\t\tName: 'Đã thanh toán hết',\n\t\tClass: 'badge badge-info'\n\t},\n\t{\n\t\tId: 3,\n\t\tName: 'Chưa thanh toán hết',\n\t\tClass: 'badge badge-light'\n\t},\n\t{\n\t\tId: 4,\n\t\tName: 'Không thanh toán',\n\t\tClass: 'badge badge-warning'\n\t},\n\t{\n\t\tId: 5,\n\t\tName: 'Thanh toán lỗi',\n\t\tClass: 'badge badge-danger'\n\t}\n]\n\nexport const ListLangs = [\n {\n Id: 'vi',\n Name: 'Vietnamese',\n Icon: '../../assets/img/avatars/1.jpg'\n },\n {\n Id: 'en',\n Name: 'English',\n Icon: '../../assets/img/avatars/1.jpg'\n },\n {\n Id: 'cn',\n Name: 'Chinese',\n Icon: '../../assets/img/avatars/1.jpg'\n }\n]\n","export class UserInfo {\r\n userId: number;\r\n access_token: string;\r\n}\r\n\r\nexport class UserChangePass {\r\n UserId: number;\r\n PasswordOld: string;\r\n PasswordOldE: string;\r\n PasswordNew: string;\r\n PasswordNewE: string;\r\n UserName: string;\r\n Avatar: string;\r\n FullName: string;\r\n ConfirmPassword: string;\r\n}\r\n\r\nexport class Paging {\r\n id : number;\r\n page: number;\r\n page_size: number;\r\n query: string;\r\n order_by: string;\r\n item_count: number;\r\n select: string;\r\n}\r\nexport class tablesilde {\r\n name: string;\r\n nametable: string;\r\n nameget: string;\r\n}\r\n\r\nexport class QueryFilter {\r\n txtSearch: string;\r\n // ConferenceId: number;\r\n Type: number;\r\n // TypeDeputy: number;\r\n Title: number;\r\n // CountryId: number;\r\n TypeAttributeId: number;\r\n // SessionId: number;\r\n // StatusConference: number;\r\n TypeFormId: number;\r\n // TypeStatusMail: number;\r\n UserId: number;\r\n ManufacturerId: number;\r\n TrademarkId: number;\r\n TypeOrderStatus: number;\r\n TypeContactId: any;\r\n TypePaymentOrderStatus: number;\r\n CompanyId: number;\r\n BranchId: number;\r\n Branchlist: [];\r\n fromdate: string;\r\n todate: string;\r\n TypeTram: number;\r\n TypePhieu: number;\r\n}\r\n","export class Action {\n ActionId: number;\n ActionName: string;\n ActionType: string;\n TargetId: number;\n TargetType: string;\n Logs: string;\n CreatedAt: Date;\n IPAddress: string;\n Time: number;\n Type: number;\n CompanyId: number;\n UserPushId: number;\n UserId: number;\n Status: number;\n}\n\nexport class Attactment {\n AttactmentId: number;\n Name: string;\n TargetId: number;\n TargetType: number;\n Url: string;\n Thumb: string;\n CreatedAt: Date;\n UserId: number;\n Status: number;\n IsImageMain: boolean;\n}\n\nexport class Bank {\n BankId: number;\n Name: string;\n AccountId: string;\n AccountName: string;\n BranchName: string;\n Note: string;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Block {\n BlockId: number;\n Code: string;\n Name: string;\n Contents: string;\n Icon: string;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n IconText: any;\n}\n\nexport class Category {\n CategoryId: number;\n Name: string;\n Code: string;\n CategoryParentId: number;\n Description: string;\n Contents: string;\n Url: string;\n Image: string;\n Icon: string;\n IconFa: string;\n IconText: boolean;\n Location: number;\n TypeCategoryId: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n NumberDisplayMobile: number;\n}\n\nexport class CategoryMapping {\n CategoryMappingId: number;\n CategoryId: number;\n TargetId: number;\n TargetType: number;\n Location: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class CategoryRank {\n CategoryRankId: number;\n Name: string;\n Description: string;\n RankStart: number;\n RankEnd: number;\n TypeRankId: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Comment {\n CommentId: number;\n CustomerId: number;\n TargetId: number;\n TargetType: number;\n Contents: string;\n CommentParentId: number;\n CreatedAt: Date;\n UpdateAt: Date;\n Status: number;\n}\n\nexport class Company {\n CompanyId: number;\n Code: string;\n Name: string;\n Email: string;\n Logo: string;\n Phone: string;\n Address: string;\n Fax: string;\n Representative: string;\n ContactName: string;\n ContactEmail: string;\n ContactPhone: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n Active: number;\n CountUser: number;\n \n Note: string;\n}\n\nexport class Config {\n ConfigId: number;\n IsLog: number;\n EmailHost: string;\n EmailSender: string;\n EmailEnableSsl: number;\n EmailUserName: string;\n EmailDisplayName: string;\n EmailPasswordHash: string;\n EmailColorBody: string;\n EmailColorHeader: string;\n EmailColorFooter: string;\n EmailLogo: string;\n Website: string;\n Phone: string;\n EmailPort: number;\n ConpanyId: number;\n CreatedAt: Date;\n Status: number;\n IsOnePay: any;\n}\n\nexport class ConfigTableItem {\n ConfigTableItemId: number;\n ConfigTableId: number;\n Code: string;\n Name: string;\n DataType: string;\n IsNull: number;\n RankMin: number;\n RankMax: number;\n Note: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class ConfigTable {\n ConfigTableId: number;\n Name: string;\n Code: string;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listConfigTableItem: Array;\n}\n\nexport class ConfigThumb {\n ConfigThumbId: number;\n Width: number;\n Height: number;\n Type: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class Contact {\n ContactId: number;\n CustomerId: number;\n FullName: string;\n Title: string;\n Email: string;\n Phone: string;\n Note: string;\n TypeContactId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n TypeContact: any;\n}\n\nexport class Customer {\n CustomerId: number;\n Username: string;\n Password: string;\n ConfirmPassword: string;\n FullName: string;\n Email: string;\n PhomeNumber: string;\n Avata: string;\n Sex: string;\n Birthday: any;\n Address: string;\n Note: string;\n KeyRandom: string;\n IsEmailConfirm: number;\n IsPhoneConfirm: number;\n Type: number;\n WebsiteId: number;\n CompanyId: number;\n TypeThirdId: number;\n LastLoginAt: Date;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Department {\n DepartmentId: number;\n Code: string;\n Name: string;\n Phone: string;\n Email: string;\n CompanyId: number;\n Location: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class FunctionRole {\n FunctionRoleId: number;\n TargetId: number;\n FunctionId: number;\n ActiveKey: string;\n Type: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Function {\n FunctionId: number;\n Name: string;\n Code: string;\n FunctionParentId: number;\n Url: string;\n Note: string;\n Location: number;\n Icon: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Language {\n LanguageId: number;\n Name: string;\n Code: string;\n Flag: string;\n IsMain: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Log {\n LogId: string;\n Action: string;\n Contents: string;\n UserId: number;\n CretatedAt: Date;\n}\n\nexport class Manufacturer {\n ManufacturerId: number;\n Name: string;\n Code: string;\n TypeOriginId: number;\n Description: string;\n Logo: string;\n Address: string;\n Mobile: string;\n Phone: string;\n Fax: string;\n Website: string;\n Url: string;\n Location: number;\n MetaTitle: string;\n MetaDescription: string;\n MetaKeywords: string;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n Owner: string;\n AvatarOwner: string;\n NickName: string;\n Country: string;\n Contents: string;\n}\n\nexport class MenuItem {\n MenuItemId: number;\n CategoryId: number;\n MenuId: number;\n MenuParentId: number;\n Location: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class Menu {\n MenuId: number;\n Name: string;\n Code: string;\n Note: string;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class News {\n NewsId: number;\n Title: string;\n Description: string;\n Contents: string;\n Image: string;\n Url: string;\n DateStartActive: any;\n DateStartOn: any;\n DateEndOn: any;\n ViewNumber: number;\n Location: number;\n IsHome: boolean;\n IsHot: boolean;\n TypeNewsId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n IsService: boolean;\n LinkVideo: string;\n Author: string;\n listCategory: Array<{ CategoryId: number, Name: string, Check: boolean }>;\n listTag: Array<{ TagId: number, Name: string, Check: boolean }>;\n listAttachment: Array;\n listRelated: Array<{ TargetRelatedId: number }>;\n}\n\nexport class OrderItem {\n OrderItemId: number;\n OrderId: number;\n ProductId: number;\n Quantity: number;\n Price: number;\n PriceTax: number;\n PriceDiscount: number;\n PriceTotal: number;\n Status: number;\n}\n\nexport class Order {\n OrderId: number;\n Code: number;\n CustomerId: number;\n PaymentStatusId: number;\n PaymentMethodId: number;\n BillingAddress: string;\n ShippingMethodId: number;\n ShippingAddress: string;\n OrderStatusId: number;\n OrderTax: number;\n OrderDiscount: number;\n OrderTotal: number;\n CustomerNote: string;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listOrderItems: Array;\n ReceiverEmail: string;\n ReceiverName: string;\n ReceiverPhone: string;\n customerName?: CustomerName;\n customerAddress?: CustomerAddress;\n}\nexport class OrderTramItem {\n OrderItemTramId: number;\n OrderTramId: number;\n CodeCuaVL: number;\n QuantityNhap: string;\n QuantityXuat: string;\n QuantityTonkho: string;\n Quantity: number;\n Status: number;\n TENCUAVL: string;\n Price: number;\n Nhacungcap: string;\n Conversion_Volume: number;\n Conversion_Unit: number;\n Conversion_Coefficient: number;\n Total_Money: number = 1;\n}\nexport class OrderTram {\n OrderTramId: number;\n BrandId: number;\n Code: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n TypePhieu: number;\n Name: string;\n listOrderTramItems: Array;\n}\nexport class CustomerName {\n CustomerId: number;\n FullName: string;\n PhomeNumber: string;\n}\n\nexport class CustomerAddress {\n CustomerId: number;\n Name: string;\n Phone: string;\n Address: string;\n}\n\nexport class Position {\n PositionId: number;\n Name: string;\n Code: string;\n LevelId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class ProductAttribuite {\n ProductAttributesId: number;\n ProductId: number;\n Name: string;\n Value: string;\n Price: number;\n AttribuiteParentId: number;\n CreatedAt: Date;\n UserId: number;\n Status: number;\n}\n\nexport class ProductCustomer {\n ProductCustomerId: number;\n TargetId: number;\n TargetType: number;\n CustomerId: number;\n Location: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class ProductReview {\n ProductReviewId: number;\n CustomerId: number;\n ProductId: number;\n Contents: string;\n NumberStar: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class Product {\n ProductId: number;\n Code: string;\n Name: string;\n Description: string;\n Contents: string;\n IsHome: boolean;\n IsHot: boolean;\n IsSale: boolean;\n StockQuantity: number;\n PriceSale: number;\n Discount: number;\n PriceImport: number;\n PriceSpecial: number;\n PriceOther: number;\n Image: string;\n ImageLeft: string;\n ImageRight: string;\n TypeProduct: number;\n Width: number;\n Height: number;\n ProductAge: number;\n ProductSex: number;\n LinkYoutube: string;\n Url: string;\n DateStartActive: any;\n DateStartOn: any;\n DateEndOn: any;\n ProductAttributes: string;\n ProductNote: string;\n NoteTech: string;\n NotePromotion: string;\n ViewNumber: number;\n LikeNumber: number;\n CommentNumber: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n TypeImagePromotionId: number;\n ManufacturerId: number;\n TrademarkId: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listCategory: Array<{ CategoryId: number, Name: string, Check: boolean }>;\n listTag: Array<{ TagId: number, Name: string, Check: boolean }>;\n listAttribute: Array;\n listRelated: Array<{ TargetRelatedId: number }>;\n listImage: Array;\n}\n\nexport class ImageProduct {\n ProductImageId: number;\n Name: string;\n Image: string;\n Location: number;\n IsImageMain: boolean;\n Status: number\n}\n\nexport class Attribute {\n ProductAttributesId: number;\n AttribuiteId: number;\n Location: number;\n Name: string;\n Value: string;\n Status: number\n}\n\nexport class Related {\n RelatedId: number;\n TargetId: number;\n TargetRelatedId: number;\n TargetType: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class Role {\n RoleId: number;\n Code: string;\n Name: string;\n Note: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserEditId: number;\n UserId: number;\n LevelRole: number;\n Status: number;\n listFunction: Array;\n}\n\nexport class FuncRole {\n FunctionRoleId: number;\n TargetId: number;\n FunctionId: number;\n ActiveKey: string;\n}\n\nexport class Slide {\n SlideId: number;\n Name: string;\n Description: string;\n TargetId: number;\n Image: string;\n Url: string;\n TypeSlideId: number;\n IsImageMain: boolean;\n IsLinkNewTab: boolean;\n Location: number;\n LanguageId: number;\n WebsiteId: number;\n CompanyId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n}\n\n// export interface sysdiagram {\n// diagram_id: number;\n// name: string;\n// principal_id: number;\n// version: number;\n// definition: byte[];\n// }\n\nexport class Tag {\n TagId: number;\n Name: string;\n Url: string;\n TargetId: number;\n TargetType: number;\n WebsiteId: number;\n CompanyId: number;\n UserId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class TypeAttributeItem {\n TypeAttributeItemId: number;\n Code: string;\n Name: string;\n TypeAttributeId: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class TypeAttribute {\n TypeAttributeId: number;\n Name: string;\n IsUpdate: number;\n IsDelete: number;\n TypeAttribuiteParentId: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n listAttributeItem: Array;\n}\nexport class TypeAttributeItemE {\n TypeAttributeItemId: number;\n Code: string;\n Name: string;\n TypeAttributeId: number;\n Location: number;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class UserMapping {\n UserMappingId: number;\n UserId: number;\n TargetId: number;\n TargetType: number;\n UserIdCreatedId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n Status: number;\n}\n\nexport class UserRole {\n UserRoleId: number;\n UserId: number;\n RoleId: number;\n CreatedAt: Date;\n Status: number;\n}\n\nexport class User {\n UserId: number;\n FullName: string;\n UserName: string;\n Password: string;\n Email: string;\n Code: string;\n Avata: string;\n UnitId: number;\n PositionId: number;\n DepartmentId: number;\n CompanyId: number;\n Address: string;\n Phone: string;\n KeyLock: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n TokenSince: Date;\n RegEmail: string;\n RoleMax: number;\n RoleLevel: number;\n IsRoleGroup: boolean;\n UserCreateId: number;\n UserEditId: number;\n Status: number;\n BranchId: string;\n listBranchId: [];\n Roleid: number;\n}\n\nexport class Website {\n WebsiteId: number;\n Name: string;\n Url: string;\n LanguageId: number;\n CompanyId: number;\n Address: string;\n WebsiteParentId: number;\n LogoHeader: string;\n LogoFooter: string;\n Banner: string;\n Hotline: string;\n Hotmail: string;\n LinkGooglePlus: string;\n LinkFacebookPage: string;\n LinkTwitter: string;\n LinkYoutube: string;\n LinkInstagram: string;\n LinkLinkedIn: string;\n LinkOther1: string;\n LinkOther2: string;\n LinkOther3: string;\n GoogleAnalitics: string;\n UserId: number;\n CreatedAt: Date;\n UpdatedAt: Date;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n HighlightsNewsId: number;\n TechNiQuePhone: string;\n GuaRanTeePhone: string;\n}\n\nexport class UserChangePass {\n UserId: number;\n PasswordOld: string;\n PasswordOldE: string;\n PasswordNew: string;\n PasswordNewE: string;\n UserName: string;\n Avatar: string;\n Logo: string;\n FullName: string;\n ConfirmPassword: string;\n}\n\nexport class Material {\n MaterialId: number;\n CategoryMaterialId: number;\n Levels: number;\n UnitCalculateId: number;\n StandardId: number;\n LocaltionProviderId: number;\n Location: number;\n UnitPrice: number;\n ProvinceId: number;\n Month: number;\n Year: number;\n Note: string;\n CreatedAt: Date;\n UpdatedAt: Date;\n UserId: number;\n Status: number;\n listMaterialImportExcelChild: Array<{\n STT: string,\n Levels: number\n Name: string\n UnitCalculate: string\n LocaltionName: string\n Standard: string,\n UnitPrice: number,\n Location: number\n }>;\n}\n\nexport class SessionAution {\n SessionAutionId: number;\n Name: string;\n Code: string;\n Url: string;\n Image: string;\n IsHome: boolean;\n Description: string;\n Contents: string;\n DateStart: any;\n DateEnd: any;\n TimeStart: any;\n TimeEnd: any;\n Type: number;\n CreatedAt: string;\n UpdatedAt: string;\n UserId: number;\n MetaTitle: string;\n MetaKeyword: string;\n MetaDescription: string;\n Status: number;\n ListSessionProduct: Array\n}\n\nexport class SessionPoduct {\n SessionProductId: number;\n SessionAutionId: number;\n ProductId: number;\n CustomerWinId: number;\n PriceStart: number;\n DateTimeWin: number;\n IsHome: boolean;\n CreatedAt: string;\n UpdatedAt: string;\n UserId: number;\n Status: number;\n TypeAuction: number;\n BidPriceDistance: number;\n}\n\nexport class AutionHistory {\n AutionHistoryId: number;\n SessionAutionId: number;\n CustomerId: number;\n ProductId: number;\n PriceOld: number;\n PriceNew: number;\n CreatedAt: string;\n Status: number;\n}\n\n\nexport class Branch {\n BranchId: number;\n Code: string;\n Name: string;\n Avatar: string;\n Email: string;\n Phone: string;\n Address: string;\n Contents: string;\n CreatedAt: any;\n UpdatedAt: any;\n UserId: number;\n Status: number;\n Location: number;\n Lat: string;\n Long: string;\n Username: string;\n Password: string;\n CompanyId: number;\n PMQLXe: string;\n QLCamera: string;\n TypeTram: number;\n}\n\nexport class ResetPasswordCustomerDTO {\n FullName: string;\n PasswordInit: string;\n Password: string;\n ConfirmPassword: string;\n CustomerId: number;\n}\n\nexport class Attribuite {\n AttribuiteId: number;\n Name: string;\n IsCustom: boolean;\n Location: number;\n CreatedAt: any;\n UpdatedAt: any;\n UserId: number;\n Status: number;\n}\n\nexport class ResetUser {\n id: number;\n Pass: string;\n}\nexport class NhapKho {\n id: number;\n Pass: string;\n CAT1: number;\n CAT2: number;\n CAT3: number;\n DA1: number;\n DA2: number;\n DA3: number;\n XIMANG1: number;\n XIMANG2: number;\n XIMANG3: number;\n PHUGIA1: number;\n PHUGIA2: number;\n PHUGIA3: number;\n \n}\n\n","module.exports = \"
\\n\\t\\n\\t\\n\\t 0\\\" [data] =\\\"item.categorySorts\\\">\\n
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RpcmVjdGl2ZS9jaGVjay1ib3gvY2hlY2stYm94LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n\tselector: 'check-box',\n\ttemplateUrl: './check-box.component.html',\n\tstyleUrls: ['./check-box.component.scss']\n})\nexport class CheckBoxComponent implements OnInit {\n\t@Input('data') items: Array;\n\n\tconstructor() { }\n\n\tngOnInit() {\n\t}\n\n}\n","module.exports = \"
  • \\n\\t
    \\n\\t\\t {{item.Name}}\\n\\t
    \\n\\t\\n\\t\\t\\n\\t\\n\\t\\n\\t\\t\\n\\t\\n\\t\\n\\t\\t\\n\\t\\n\\n
  • \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RpcmVjdGl2ZS9vbC1jYXRlZ29yeS9vbC1jYXRlZ29yeS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { CallCategoryFunctionService } from '../../service/call-category-function.service';\nimport { Subscription } from 'rxjs/Subscription';\n\n\n@Component({\n\tselector: 'ol-category',\n\ttemplateUrl: './ol-category.component.html',\n\tstyleUrls: ['./ol-category.component.scss']\n})\nexport class OlCategoryComponent implements OnInit, OnDestroy {\n\t@Input('data') items: Array;\n\t@Input('key') key: string;\n\t@Input('IsParent') IsParent: boolean;\n\t@Input('hasAction') hasAction: boolean;\n\n\n\tsubscription: Subscription;\n\n\n\tconstructor(private callCategoryFunctionService: CallCategoryFunctionService) {\n\t\tthis.subscription = this.callCategoryFunctionService.getAction().subscribe(action => {\n\t\t\tif (action.TypeAction == 4) {\n\t\t\t\tthis.SaveCategorySort();\n\t\t\t}\n\t\t});\n\t}\n\n\tngOnInit() {\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\tAddCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 1);\n\t}\n\n\tUpdateCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 2);\n\t}\n\n\tDeleteCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 3);\n\t}\n\n\tSaveCategorySort() {\n\t\tconsole.log(this.items);\n\t}\n}\n","module.exports = \"/*\\r\\n.col-name-category { \\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0px;\\r\\n\\tright: 612px;\\r\\n\\twidth: calc(100% - 650px);\\r\\n\\tpadding-left: 5px;\\r\\n\\theight: 100%;\\r\\n\\tpadding-top: 3px;\\r\\n\\tfont-weight: 600;\\r\\n color: #0073aa;\\r\\n}\\r\\n\\r\\n.col-image-category { \\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n \\ttop: 0px;\\r\\n\\twidth: 38px;\\r\\n\\tright: 650px;\\r\\n\\theight: 100%;\\r\\n\\tpadding-top: 5px;\\r\\n\\tpadding-left: 3px;\\r\\n}\\r\\n\\r\\n.col-image-category > img {\\r\\n\\tborder: 1px solid #ccc;\\r\\n\\twidth: 35px;\\r\\n\\theight: 35px;\\r\\n}\\r\\n\\r\\n.col-parent-category { \\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0px;\\r\\n\\twidth: 200px;\\r\\n\\tright: 450px;\\r\\n\\theight: 100%;\\r\\n\\tpadding-top: 3px;\\r\\n\\tpadding-left: 5px;\\r\\n}\\r\\n.col-url-category {\\r\\n \\tdisplay: inline-block;\\r\\n \\tposition: absolute;\\r\\n \\ttop: 0px;\\r\\n\\twidth: 300px;\\r\\n\\tright: 350px;\\r\\n\\theight: 100%;\\r\\n\\tpadding-top: 3px;\\r\\n\\tpadding-left: 5px;\\r\\n\\tcolor: #23282c;\\r\\n}\\r\\n.col-des-category { \\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n \\ttop: 0px;\\r\\n\\twidth: 350px;\\r\\n\\tright: 0px;\\r\\n\\theight: 100%;\\r\\n\\tpadding-top: 3px;\\r\\n\\tpadding-left: 5px;\\r\\n\\tcolor: #23282c;\\r\\n}\\r\\n\\r\\n.category-action {\\r\\n\\tpadding-left: 3px;\\r\\n}\\r\\n\\r\\n.category-action .id-item {\\r\\n\\tcolor: #ccc;\\r\\n font-weight: 400;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.category-action .add-item,.update-item {\\r\\n font-weight: 400;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.category-action .delete-item {\\r\\n\\tcolor: #f00;\\r\\n font-weight: 400;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.category-move-btn {\\r\\n\\twidth: 38px;\\r\\n \\theight: 100%;\\r\\n \\ttop: 0px; \\r\\n\\tright: 0px;\\r\\n \\tdisplay: inline-block;\\r\\n \\tfloat: left;\\r\\n \\tpadding: 7px;\\r\\n cursor: move;\\r\\n}*/\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGlyZWN0aXZlL29sL29sLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE4RkUiLCJmaWxlIjoic3JjL2FwcC9kaXJlY3RpdmUvb2wvb2wuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbi5jb2wtbmFtZS1jYXRlZ29yeSB7IFxyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwcHg7XHJcblx0cmlnaHQ6IDYxMnB4O1xyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA2NTBweCk7XHJcblx0cGFkZGluZy1sZWZ0OiA1cHg7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBhZGRpbmctdG9wOiAzcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG4uY29sLWltYWdlLWNhdGVnb3J5IHsgXHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuIFx0dG9wOiAwcHg7XHJcblx0d2lkdGg6IDM4cHg7XHJcblx0cmlnaHQ6IDY1MHB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cdHBhZGRpbmctbGVmdDogM3B4O1xyXG59XHJcblxyXG4uY29sLWltYWdlLWNhdGVnb3J5ID4gaW1nIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG5cdHdpZHRoOiAzNXB4O1xyXG5cdGhlaWdodDogMzVweDtcclxufVxyXG5cclxuLmNvbC1wYXJlbnQtY2F0ZWdvcnkgeyBcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMHB4O1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRyaWdodDogNDUwcHg7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBhZGRpbmctdG9wOiAzcHg7XHJcblx0cGFkZGluZy1sZWZ0OiA1cHg7XHJcbn1cclxuLmNvbC11cmwtY2F0ZWdvcnkge1xyXG4gXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuIFx0dG9wOiAwcHg7XHJcblx0d2lkdGg6IDMwMHB4O1xyXG5cdHJpZ2h0OiAzNTBweDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IDNweDtcclxuXHRwYWRkaW5nLWxlZnQ6IDVweDtcclxuXHRjb2xvcjogIzIzMjgyYztcclxufVxyXG4uY29sLWRlcy1jYXRlZ29yeSB7IFxyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiBcdHRvcDogMHB4O1xyXG5cdHdpZHRoOiAzNTBweDtcclxuXHRyaWdodDogMHB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwYWRkaW5nLXRvcDogM3B4O1xyXG5cdHBhZGRpbmctbGVmdDogNXB4O1xyXG5cdGNvbG9yOiAjMjMyODJjO1xyXG59XHJcblxyXG4uY2F0ZWdvcnktYWN0aW9uIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDNweDtcclxufVxyXG5cclxuLmNhdGVnb3J5LWFjdGlvbiAuaWQtaXRlbSB7XHJcblx0Y29sb3I6ICNjY2M7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2F0ZWdvcnktYWN0aW9uIC5hZGQtaXRlbSwudXBkYXRlLWl0ZW0ge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhdGVnb3J5LWFjdGlvbiAuZGVsZXRlLWl0ZW0ge1xyXG5cdGNvbG9yOiAjZjAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhdGVnb3J5LW1vdmUtYnRuIHtcclxuXHR3aWR0aDogMzhweDtcclxuIFx0aGVpZ2h0OiAxMDAlO1xyXG4gIFx0dG9wOiAwcHg7IFxyXG5cdHJpZ2h0OiAwcHg7XHJcbiBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBcdGZsb2F0OiBsZWZ0O1xyXG4gICBcdHBhZGRpbmc6IDdweDtcclxuICAgIGN1cnNvcjogbW92ZTtcclxufSovIl19 */\"","module.exports = \"
  • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ item.Name }}\\r\\n
    \\r\\n ID: {{item.CategoryId}} | \\r\\n Thêm mới | \\r\\n Chỉnh sửa | \\r\\n Xóa\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{ item.Url }}\\r\\n
    \\r\\n
    \\r\\n {{ item.Descriptions != undefined ? (item.Descriptions | truncate:[15]) : '—' }}\\r\\n
    \\r\\n \\r\\n
      \\r\\n
    1. \\r\\n\"","import { Component, OnInit, Input, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { CallCategoryFunctionService } from '../../service/call-category-function.service';\nimport { Subscription } from 'rxjs/Subscription';\nimport { domainImage } from '../../data/const';\n\n\n@Component({\n\tselector: 'ol',\n\ttemplateUrl: './ol.component.html',\n\tstyleUrls: ['./ol.component.css'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OlComponent implements OnInit, OnDestroy {\n\t@Input('data') items: Array;\n\t@Input('key') key: string;\n\t@Input('hasAction') hasAction: boolean;\n\tpublic domainImage = domainImage;\n\n\tsubscription: Subscription;\n\n\n\tconstructor(private callCategoryFunctionService: CallCategoryFunctionService) {\n\t\t// this.subscription = this.callCategoryFunctionService.getAction().subscribe(action => {\n\t\t// \tif (action.TypeAction == 4) {\n\t\t// \t\tthis.SaveCategorySort();\n\t\t// \t}\n\t\t// });\n\t}\n\n\tngOnInit() {\n\t}\n\n\tngOnDestroy() {\n\t\t// this.subscription.unsubscribe();\n\t}\n\n\tAddCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 1);\n\t}\n\n\tUpdateCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 2);\n\t}\n\n\tDeleteCate(CategoryId) {\n\t\tthis.callCategoryFunctionService.sendAction(CategoryId, 3);\n\t}\n\n\tSaveCategorySort() {\n\t\tconsole.log(this.items);\n\t}\n\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appNoDblClickMat]'\n})\nexport class PreCliDirective {\n\n constructor() { }\n\n @HostListener('click', ['$event'])\n clickEvent(event) {\n event.srcElement.setAttribute('disabled', true);\n setTimeout(function(){ \n event.srcElement.removeAttribute('disabled');\n }, 2000);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n\n\ttransform(value: string, limit: number, trail: String = '...'): string {\n\t\tlet result = value || '';\n\t\tif (value) {\n\t\t\tconst words = value.split(/\\s+/);\n\t\t\tif (words.length > Math.abs(limit)) {\n\t\t\t\tif (limit < 0) {\n\t\t\t\t\tlimit *= -1;\n\t\t\t\t\tresult = trail + words.slice(words.length - limit, words.length).join(' ');\n\t\t\t\t} else {\n\t\t\t\t\tresult = words.slice(0, limit).join(' ') + trail;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n constructor(private router: Router, private cookieService: CookieService) { }\n\n logout(): void {\n localStorage.setItem('isLoggedIn', \"false\");\n localStorage.removeItem('data');\n localStorage.removeItem('access_token');\n localStorage.removeItem('access_key');\n localStorage.removeItem('userId');\n localStorage.removeItem('userName');\n localStorage.removeItem('avata');\n localStorage.removeItem('fullName');\n localStorage.removeItem('companyId');\n localStorage.removeItem('languageId');\n localStorage.removeItem('menu');\n // this.cookieService.delete(\"Expire\");\n this.router.navigate(['/login']);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Subject } from 'rxjs/Subject';\n\n\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CallCategoryFunctionService {\n\n\tprivate subject = new Subject();\n\n\t//Gửi thông tin gọi đến hàm với TypeAction 1 = thêm mới, 2 = sửa , 3 = xóa, 4 = lưu thông tin sắp xếp\n\tsendAction(CategoryId: number, TypeAction: Number) {\n\t\tthis.subject.next({ CategoryId: CategoryId, TypeAction: TypeAction });\n\t}\n\n\t//Nhận thông tin là hàm đã đc gọi\n\tgetAction(): Observable {\n\t\treturn this.subject.asObservable();\n\t}\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonService {\n\tpublic domainImage: string = \"https://localhost:44304/\";\n\n constructor() { }\n\n ConvertUrl(str) {\n str = str.toLowerCase();\n str = str.replace(/á|à|ả|ã|ạ|â|ấ|ầ|ẩ|ẫ|ậ|ă|ắ|ằ|ẳ|ẵ|ặ\"/g, \"a\");\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, \"e\");\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, \"i\");\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, \"o\");\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, \"u\");\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, \"y\");\n str = str.replace(/đ/g, \"d\");\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, \" \");\n str = str.replace(/[^a-zA-Z0-9 ]/g, \"\");\n str = str.replace(/ + /g, \" \");\n str = str.trim();\n str = str.replace(/ /g, \"-\");\n\n return str;\n }\n\n CheckAccessKey(Str: string, Code: string) {\n let Arr = [];\n Arr = Str.split('-');\n for (let i = 0; i < Arr.length; i++) {\n let ConvertArr = Arr[i].split(':');\n if (Code == ConvertArr[0]) {\n let check = ConvertArr[1].substr(0, 1);\n if (check == \"1\") {\n return true;\n }\n else {\n return false;\n }\n }\n }\n\n return false;\n }\n\n ConvertDateTime(obj: Date) {\n return obj.getFullYear() + \"-\" + (obj.getMonth() + 1) + \"-\" + obj.getDate() + \" \" + obj.getHours() + \":\" + obj.getMinutes() + \":\" + obj.getSeconds();\n }\n\n //Hàm đọc dữ liệu từ dạng cha con html => json truyền vào id của noda cha\n ConvertHtmlToJson(Arr, CurrentNode, Selector, ParentId, lct) {\n let slt = Selector + \" > ol\";\n let ol = CurrentNode.getElementsByTagName(\"ol\");\n if (ol.length > 0) {\n slt = slt + \" > li\";\n let li = ol[0].querySelectorAll(slt);\n if (li.length > 0) {\n for (let i = 0; i < li.length; i++) {\n let Id = li[i].getAttribute(\"data-id\");\n let Name = li[i].getAttribute(\"data-name\");\n let PrtId = ParentId;\n\n Arr.push({ CategoryId: Id, Name: Name, CategoryParentId: PrtId, Location: lct });\n lct++;\n this.ConvertHtmlToJson(Arr, li[i], slt, Id, lct);\n }\n }\n }\n }\n}\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n

      {{'CATEGORY.MANUFACTURER.HEADING' | translate}}

      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n {{'CATEGORY.MANUFACTURER.NAMEMANUFACTURER' | translate}}\\r\\n \\r\\n {{'CATEGORY.MANUFACTURER.CODEMANUFACTURER' | translate}}\\r\\n \\r\\n {{'CATEGORY.MANUFACTURER.NUMBERPHONE' | translate}}\\r\\n \\r\\n {{'CATEGORY.MANUFACTURER.DISPlAYORDER' | translate}}\\r\\n {{'CATEGORY.MANUFACTURER.SHOWHIDE' | translate}}
      \\r\\n \\r\\n \\r\\n \\r\\n {{ item.Name }}\\r\\n
        \\r\\n
      • ID: {{item.ManufacturerId}} |
      • \\r\\n
      • {{'CATEGORY.MANUFACTURER.EDITOR' | translate}} |
      • \\r\\n
      • {{'CATEGORY.MANUFACTURER.DELETE' | translate}}
      • \\r\\n
      \\r\\n
      {{ item.Code }}\\r\\n —\\r\\n \\r\\n {{ item.Phone }}\\r\\n {{ item.Location }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} {{\\\"CATEGORY.MANUFACTURER.RECORD | translate\\\"}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n

      {{'CATEGORY.MANUFACTURER.ADDNEWMANUFACTURER' | translate}}

      \\r\\n

      {{'CATEGORY.MANUFACTURER.EDITMANUFACTURER' | translate}}

      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 00px;\\n margin-left: 0px;\\n padding-left: 00px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 22%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\n.custom-ttsp {\\n background: #fff;\\n margin: 0px;\\n border: 1px solid #ccc;\\n margin-top: 20px;\\n margin-bottom: 20px; }\\n\\ntabset.tab-content-detail.tab-container {\\n width: 100%; }\\n\\n.custom-ttsp .form-group {\\n border-bottom: 1px solid #eee;\\n padding: 10px; }\\n\\n.custom-ttsp .form-group:last-child {\\n border-bottom: 0; }\\n\\n.custom-ttsp .form-group .col-form-label {\\n font-weight: 400;\\n line-height: 1; }\\n\\n.custom-ttsp .form-group input {\\n border-radius: 0px;\\n height: 27px; }\\n\\n.body-form-add-new > div {\\n vertical-align: top; }\\n\\n.fixed_header {\\n width: 100%; }\\n\\n.fixed_header tbody {\\n display: block;\\n overflow: auto;\\n height: 300px;\\n width: 100%; }\\n\\n.fixed_header thead {\\n background: #f1f1f1;\\n border-bottom: 0px; }\\n\\n.fixed_header th {\\n border: none;\\n width: 25%; }\\n\\n.fixed_header tbody tr {\\n border-bottom: 1px solid #eee;\\n border-top: 0;\\n width: 100%;\\n border-left: 1px solid #eee;\\n border-right: 1px solid #eee; }\\n\\n.fixed_header tbody tr td {\\n width: 25%;\\n line-height: 1.5; }\\n\\n.fixed_header tbody {\\n width: 667px; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\n.page-link {\\n line-height: 1.0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvbWFudWZhY3R1cmVyL0U6XFx3b3Jrc3BhY2VcXFRUTVxcSU9JVFdlYkFwcFxcQXBwQ01TL3NyY1xcYXBwXFx2aWV3c1xcY2F0ZWdvcnlcXG1hbnVmYWN0dXJlclxcbWFudWZhY3R1cmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFDN0IsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixxSEFBcUgsRUFBQTs7QUFHdkg7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixxQkFBcUI7RUFDckIsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGFBQ0YsRUFBQTs7QUFFQTtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLDBCQUEwQjtFQUMxQiw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSxTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZUFDRixFQUFBOztBQUVBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0UsdUJBQXVCO0VBQ3ZCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLHVCQUF1QjtFQUN2QixrQkFDRixFQUFBOztBQUVBO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0UsMkJBQTJCLEVBQUE7O0FBRzdCO0VBQ0UsdUJBQXVCLEVBQUE7O0FBR3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTs7QUFHYjtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsMEJBQTBCO0VBQzFCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSx1QkFDRixFQUFBOztBQUVBO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHlCQUF5QjtFQUN6Qiw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsUUFBUSxFQUFBOztBQUdWO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsVUFBVTtFQUNWLFNBQVMsRUFBQTs7QUFFWCxVQUFBOztBQUNBO0VBQ0UsVUFBVSxFQUFBOztBQUdaLFVBQUE7O0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsbUJBQW1CLEVBQUE7O0FBR3JCLFdBQUE7O0FBQ0E7RUFDRSxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7O0FBR3JCLG9CQUFBOztBQUNBO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixTQUFTO0VBQ1Qsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFVBQVU7RUFFVix5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsNkJBQTZCO0VBQzdCLGFBQ0YsRUFBQTs7QUFFQTtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7O0FBR2hCO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVksRUFBQTs7QUFHZDtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLGNBQWM7RUFDZCxjQUFjO0VBQ2QsYUFBYTtFQUNiLFdBQVcsRUFBQTs7QUFHYjtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUFNcEI7RUFDRSxZQUFZO0VBQ1osVUFBVSxFQUFBOztBQUdaO0VBQ0UsNkJBQTZCO0VBQzdCLGFBQWE7RUFDYixXQUFXO0VBQ1gsMkJBQTJCO0VBQzNCLDRCQUE0QixFQUFBOztBQUc5QjtFQUNFLFVBQVU7RUFDVixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSw2QkFBNkI7RUFDN0IsY0FBYyxFQUFBOztBQUdoQjtFQUNFLDBCQUEwQjtFQUMxQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NhdGVnb3J5L21hbnVmYWN0dXJlci9tYW51ZmFjdHVyZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwMHB4O1xyXG59XHJcblxyXG4uY21zLWZpbHRlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBhIHtcclxuICBsaW5lLWhlaWdodDogMjtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUsIC50YWJsZS1ib3JkZXJlZCB0aCwgLnRhYmxlLWJvcmRlcmVkIHRkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRoZWFkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi10aHVtYiB7XHJcbiAgd2lkdGg6IDUlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1uYW1lIHtcclxuICB3aWR0aDogMjIlO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXByb2R1Y3RfY2F0LCB0YWJsZSAuY29sdW1uLXByb2R1Y3RfdGFnIHtcclxuICB3aWR0aDogMTElICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsZWZ0OiAtOTk5OWVtO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlclxyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmRldGV0ZS1pdGVtIHtcclxuICBjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiBsaS5pZC1pdGVtIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi11cmwge1xyXG4gIHdpZHRoOiAyNSU7XHJcbn1cclxuXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbn1cclxuXHJcbnRib2R5IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmNtcy1wYWdpbmcge1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1zdHQsIHRhYmxlIC5jb2x1bW4taHMge1xyXG4gIHdpZHRoOiA4JTtcclxufVxyXG5cclxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxufVxyXG5cclxuLm5hbWUtY2hpbGQge1xyXG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbi5uYW1lLXBhcmVuZCB7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHIgdGQge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHI6aG92ZXIgLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxufVxyXG5cclxuLnN3aXRjaC1sYWJlbCB7XHJcbiAgd2lkdGg6IDQ4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uc2VsZWN0LWl0ZW1ib3gge1xyXG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweFxyXG59XHJcblxyXG4uY29sdW1uLXJhdGluZyB7XHJcbiAgd2lkdGg6IDEwJTtcclxufVxyXG5cclxuLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgbWluLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0LWl0ZW1ib3ggLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc19maWx0ZXIucHVsbC1yaWdodCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAyMnB4O1xyXG59XHJcblxyXG4uSWNvbkNoZWNrIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xyXG59XHJcblxyXG4ubW9kYWwtYm9keSwgLmNhcmQtYm9keS5ib2R5LWZvcm0tYWRkLW5ldyB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnRcclxufVxyXG5cclxuLnRhYi1jb250ZW50LWN1c3RvbSAudGFiLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5mb3JtLWdyb3VwLnJvdyB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgbGFiZWwuY29sLW1kLTEyLmNvbC1mb3JtLWxhYmVsIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmRhbmhtdWMtc3Age1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU3ZWE7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogI0ZERkRGRDtcclxuICBtYXJnaW4tdG9wOiAxNHB4O1xyXG4gIG1heC1oZWlnaHQ6IDMzNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCAuc3F1YXJlZGNoZWNrIGxhYmVsIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuLmluLWNhdC1wcm9kdWN0IHtcclxuICBtYXJnaW4tbGVmdDogLTIycHg7XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgc3BhbiB7XHJcbiAgbGVmdDogMjBweDtcclxuICB0b3A6IC00cHg7XHJcbn1cclxuLyogd2lkdGggKi9cclxuOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuLyogVHJhY2sgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCBncmV5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjYjMwMDAwO1xyXG59XHJcblxyXG4uc3F1YXJlZGNoZWNrIGxhYmVsOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzcHg7XHJcbiAgbGVmdDogMnB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuLmN1c3RvbS10dHNwIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG50YWJzZXQudGFiLWNvbnRlbnQtZGV0YWlsLnRhYi1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXAge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gIHBhZGRpbmc6IDEwcHhcclxufVxyXG5cclxuLmN1c3RvbS10dHNwIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5jdXN0b20tdHRzcCAuZm9ybS1ncm91cCAuY29sLWZvcm0tbGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5jdXN0b20tdHRzcCAuZm9ybS1ncm91cCBpbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGhlaWdodDogMjdweDtcclxufVxyXG5cclxuLmJvZHktZm9ybS1hZGQtbmV3ID4gZGl2IHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgaGVpZ2h0OiAzMDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuICBib3JkZXItYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRoIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB0ZCB7XHJcbiAgd2lkdGg6IDI1JTtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHtcclxuICB3aWR0aDogNjY3cHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayBsYWJlbCB7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZDogI2VhZjRmZjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciBpbWcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtcHJpIHtcclxuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICBjb2xvcjogI2I1YjNiMztcclxufVxyXG5cclxuc3Bhbi5wcmljZS1uZXcge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5wYWdlLWxpbmsge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjA7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { Manufacturer } from '../../../data/model';\r\nimport { CommonService } from '../../../service/common.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { domainImage } from '../../../data/const';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-manufacturer',\r\n templateUrl: './manufacturer.component.html',\r\n styleUrls: ['./manufacturer.component.scss']\r\n})\r\nexport class ManufacturerComponent implements OnInit {\r\n @ViewChild('ModalManuFacture') public ModalManuFacture: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n\r\n public paging: Paging;\r\n public q: QueryFilter;\r\n\r\n public listManufacturer = [];\r\n public listCompany = [];\r\n\r\n public ckeConfig: any;\r\n\r\n public Item: Manufacturer;\r\n\r\n public progress: number;\r\n\r\n public domainImage = domainImage;\r\n\r\n public httpOptions: any;\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public common: CommonService\r\n ) {\r\n this.Item = new Manufacturer();\r\n\r\n this.paging = new Paging();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"TypeOriginId=1\";\r\n this.paging.order_by = \"ManufacturerId Desc\";\r\n this.paging.item_count = 0;\r\n\r\n this.q = new QueryFilter();\r\n this.q.txtSearch = \"\";\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n this.GetListManufacturer();\r\n }\r\n\r\n // get ds nhà sản xuất\r\n GetListManufacturer() {\r\n this.http.get('/api/manufacturer/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listManufacturer = res[\"data\"];\r\n this.listManufacturer.forEach(item => {\r\n item.IsShow = item.Status == 1 ? true : false;\r\n });\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n // get ds công ty\r\n GetListCompany() {\r\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListManufacturer();\r\n }\r\n\r\n //Thông báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n\r\n\r\n QueryChanged() {\r\n let query = 'TypeOriginId=1';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n else {\r\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListManufacturer();\r\n }\r\n\r\n //Mở modal\r\n OpenModalManuFacturer(item) {\r\n this.Item = new Manufacturer();\r\n this.file.nativeElement.value = \"\";\r\n this.progress = undefined;\r\n if (item != undefined) {\r\n this.Item = Object.assign(this.Item, item);\r\n }\r\n\r\n this.ModalManuFacture.show();\r\n }\r\n\r\n ChangeTitle(key) {\r\n switch (key) {\r\n case 1:\r\n this.Item.MetaTitle = this.Item.Name;\r\n this.Item.MetaKeywords = this.Item.Name;\r\n this.Item.Url = this.common.ConvertUrl(this.Item.Name);\r\n break;\r\n case 2:\r\n this.Item.MetaDescription = this.Item.Description;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // cập nhật \r\n SaveManuFacture() {\r\n if (this.Item.Code == undefined || this.Item.Code == '') {\r\n this.toastWarning(\"Chưa nhập Mã nhà sản xuất!\");\r\n return;\r\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã nhà sản xuất!\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\r\n this.toastWarning(\"Chưa nhập tên nhà sản xuất!\");\r\n return;\r\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên nhà sản xuất!\");\r\n return;\r\n }\r\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.Item.TypeOriginId = 1;\r\n\r\n if (this.Item.ManufacturerId) {\r\n this.http.put('/api/Manufacturer/' + this.Item.ManufacturerId, this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListManufacturer();\r\n this.ModalManuFacture.hide();\r\n this.toastSuccess(\"Cập nhật thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n });\r\n }\r\n else {\r\n this.http.post('/api/Manufacturer', this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListManufacturer();\r\n this.ModalManuFacture.hide();\r\n this.toastSuccess(\"Thêm thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\r\n }\r\n );\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: 'Xác nhận',\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\r\n },\r\n actionButtons: [\r\n {\r\n text: 'Đồng ý',\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n console.log('OnAction');\r\n this.Delete(Id);\r\n }\r\n },\r\n {\r\n text: 'Đóng',\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n Delete(Id) {\r\n this.http.delete('/api/Manufacturer/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListManufacturer();\r\n this.viewRef.clear();\r\n this.toastSuccess(\"Xóa thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n //\r\n upload(files) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/5', formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n this.Item.Logo = event.body[\"data\"].toString();\r\n }\r\n });\r\n }\r\n\r\n RemoveImage() {\r\n this.Item.Logo = undefined;\r\n this.file.nativeElement.value = \"\";\r\n this.progress = undefined;\r\n }\r\n\r\n ShowHide(id, i) {\r\n let stt = this.listManufacturer[i].IsShow ? 1 : 10;\r\n this.http.put('/api/Manufacturer/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listManufacturer[i].IsShow = !this.listManufacturer[i].IsShow;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listManufacturer[i].IsShow = !this.listManufacturer[i].IsShow;\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListManufacturer();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n

      {{'CATEGORY.MENU.HEADING' | translate}}

      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n {{'CATEGORY.MENU.CODEMENU' | translate}}\\r\\n \\r\\n {{'CATEGORY.MENU.NAMEMENU' | translate}}\\r\\n {{'CATEGORY.MENU.NOTEMENU' | translate}}
      {{ item.Code }}\\r\\n {{ item.Name }}\\r\\n
        \\r\\n
      • ID: {{item.MenuId}} |
      • \\r\\n
      • {{'CATEGORY.MENU.EDIT' | translate}} |
      • \\r\\n
      • {{'CATEGORY.MENU.DELETE' | translate}}
      • \\r\\n
      \\r\\n
      \\r\\n {{ item.Note != undefined ? item.Note : '—' }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} {{'CATEGORY.MENU.RECORD' | translate}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n

      {{'CATEGORY.MENU.ADDNEWMENU' | translate}}

      \\r\\n

      {{'CATEGORY.MENU.UPDATEMENU' | translate}}

      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 2%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvbWVudS9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNhdGVnb3J5XFxtZW51XFxtZW51LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFDN0IsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixxSEFBcUgsRUFBQTs7QUFHdkg7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxlQUFlO0VB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LGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsVUFBVTtFQUVWLHlCQUF5QixFQUFBOztBQUkzQjtFQUNFLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxtQ0FBbUM7RUFDbkMscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0Usc0JBQXNCO0VBQ3RCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsU0FDRixFQUFBOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsY0FDRixFQUFBIiwiZmlsZSI6InNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvbWVudS9tZW51LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtbGlzdCB7XHJcbiAgd2lkdGg6IDUwMHB4O1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xyXG4gIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveCB7XHJcbiAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2NjO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGN1cnNvcjogbW92ZTtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1wcmV2aWV3IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1wbGFjZWhvbGRlciB7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmNkay1kcmFnLWFuaW1hdGluZyB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3g6bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uZXhhbXBsZS1saXN0LmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4YW1wbGUtYm94Om5vdCguY2RrLWRyYWctcGxhY2Vob2xkZXIpIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbmgxLmNtcy1oZWFkaW5nLWlubGluZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMjNweDtcclxuICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtbWFpbiB7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuLmNtcy1jb250ZW50IHtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxufVxyXG5cclxuLmNtcy1hZGRuZXcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbiAgcGFkZGluZzogNHB4IDhweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBhLmN1cnJlbnQge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBsaSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5jYXJkLWJvZHkge1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxudWwuY21zLXN1YnN1YnN1YiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZmlsdGVyIHtcclxuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEge1xyXG4gIGxpbmUtaGVpZ2h0OiAyO1xyXG4gIHBhZGRpbmc6IC4yZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgb3V0bGluZTogbm9uZVxyXG59XHJcblxyXG50YWJsZSwgLnRhYmxlLWJvcmRlcmVkIHRoLCAudGFibGUtYm9yZGVyZWQgdGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxudGhlYWQge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXRodW1iIHtcclxuICB3aWR0aDogMiU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLW5hbWUge1xyXG4gIHdpZHRoOiAxNSU7XHJcbn1cclxuXHJcbi5jb2x1bW4tY2F0IHtcclxuICB3aWR0aDogMjAlO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXByb2R1Y3RfY2F0LCB0YWJsZSAuY29sdW1uLXByb2R1Y3RfdGFnIHtcclxuICB3aWR0aDogMTElICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsZWZ0OiAtOTk5OWVtO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlclxyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmRldGV0ZS1pdGVtIHtcclxuICBjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiBsaS5pZC1pdGVtIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi11cmwge1xyXG4gIHdpZHRoOiAyNSU7XHJcbn1cclxuXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbn1cclxuXHJcbnRib2R5IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmNtcy1wYWdpbmcge1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1zdHQsIHRhYmxlIC5jb2x1bW4taHMge1xyXG4gIHdpZHRoOiA4JTtcclxufVxyXG5cclxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxufVxyXG5cclxuLm5hbWUtY2hpbGQge1xyXG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbi5uYW1lLXBhcmVuZCB7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHIgdGQge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHI6aG92ZXIgLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxufVxyXG5cclxuLnN3aXRjaC1sYWJlbCB7XHJcbiAgd2lkdGg6IDQ4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uc2VsZWN0LWl0ZW1ib3gge1xyXG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweFxyXG59XHJcblxyXG4uY29sdW1uLXJhdGluZyB7XHJcbiAgd2lkdGg6IDEwJTtcclxufVxyXG5cclxuLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgbWluLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0LWl0ZW1ib3ggLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc19maWx0ZXIucHVsbC1yaWdodCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAyMnB4O1xyXG59XHJcblxyXG4uSWNvbkNoZWNrIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xyXG59XHJcblxyXG4ubW9kYWwtYm9keSwgLmNhcmQtYm9keS5ib2R5LWZvcm0tYWRkLW5ldyB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnRcclxufVxyXG5cclxuLnRhYi1jb250ZW50LWN1c3RvbSAudGFiLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5mb3JtLWdyb3VwLnJvdyB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgbGFiZWwuY29sLW1kLTEyLmNvbC1mb3JtLWxhYmVsIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmRhbmhtdWMtc3Age1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU3ZWE7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogI0ZERkRGRDtcclxuICBtYXJnaW4tdG9wOiAxNHB4O1xyXG4gIG1heC1oZWlnaHQ6IDMzNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCAuc3F1YXJlZGNoZWNrIGxhYmVsIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuLmluLWNhdC1wcm9kdWN0IHtcclxuICBtYXJnaW4tbGVmdDogLTIycHg7XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgc3BhbiB7XHJcbiAgbGVmdDogMjBweDtcclxuICB0b3A6IC00cHg7XHJcbn1cclxuLyogd2lkdGggKi9cclxuOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuLyogVHJhY2sgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCBncmV5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjYjMwMDAwO1xyXG59XHJcblxyXG50Ym9keSB0ciB0ZCBpbWcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4uc3F1YXJlZGNoZWNrIGxhYmVsOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzcHg7XHJcbiAgbGVmdDogMnB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuXHJcbnRhYmxlLmZpeGVkX2hlYWRlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQge1xyXG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRoZWFkIHRyIHtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMTdweCkgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHIge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRoLCAuZml4ZWRfaGVhZGVyIHRkIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3JkZXI6IDBcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciAuc3F1YXJlZGNoZWNrIGxhYmVsIHtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gIGJhY2tncm91bmQ6ICNGRkY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kOiAjZWFmNGZmO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcclxufVxyXG5cclxuc3Bhbi5wcmljZS1wcmkge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gIGNvbG9yOiAjYjViM2IzO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLW5ldyB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sge1xyXG4gIHdpZHRoOiBpbmhlcml0XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { Menu } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport * as $ from 'jquery';\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\nimport { Paging, QueryFilter } from '../../../data/dt';\ndeclare var loadNestable;\n\n\n\n@Component({\n selector: 'app-menu',\n providers: [Location, {\n provide: LocationStrategy,\n useClass: PathLocationStrategy\n }],\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MenuComponent implements OnInit {\n @ViewChild('MenuModal') public MenuModal: ModalDirective;\n\n PathLocation: Location;\n\n public paging: Paging;\n public q: QueryFilter;\n public listMenu = [];\n public listCate = [];\n\n public Item: Menu;\n\n public httpOptions: any;\n\n constructor(\n location: Location,\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService\n ) {\n this.PathLocation = location;\n this.Item = new Menu();\n\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"MenuId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.GetListMenu();\n }\n\n\n key: string = 'Children';\n dataOutput: Array = [{ CategoryId: 0, Name: \"Root\", Children: [] }];\n dataInput1: Array = [];\n\n\n GetListMenu() {\n this.http.get('/api/menu/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listMenu = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListMenu();\n }\n\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListMenu();\n }\n\n GetListCate() {\n this.http.get('/api/menu/GetCategoryMenu', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.dataInput1 = res[\"data\"];\n this.dataOutput = [{ CategoryId: 0, Name: \"Root\", Children: [] }];\n this.MenuModal.show();\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n this.toastError(\"Đã xảy ra lỗi! Xin vui lòng thử lại sau.\");\n }\n );\n }\n\n //Mở modal thêm mới\n OpenAddModal() {\n this.Item = new Menu();\n this.GetListCate();\n loadNestable();\n }\n\n SaveMenuModal() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(\"Chưa nhập Mã Menu!\");\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập Tên Menu!\");\n return;\n }\n\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.Item.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n let obj = this.Item;\n obj[\"listMenuItem\"] = JSON.parse($('#nestable2-output').val())[0][\"children\"] != undefined ? JSON.parse($('#nestable2-output').val())[0][\"children\"] : [];\n\n if (this.Item.MenuId != undefined) {\n this.http.put('/api/menu/' + obj.MenuId, obj, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListMenu();\n this.MenuModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n else {\n this.http.post('/api/menu', obj, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListMenu();\n this.MenuModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n }\n\n\n GetCategoryMenuLeft(id) {\n this.http.get('/api/menu/GetCategoryMenuLeft/' + id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.dataInput1 = res[\"data\"];\n console.log(this.dataInput1);\n loadNestable();\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n GetCategoryMenuRight(id) {\n this.http.get('/api/menu/GetCategoryMenuRight/' + id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.dataOutput = res[\"data\"];\n console.log(this.dataOutput);\n loadNestable();\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n OpenEditModal(item) {\n this.dataInput1 = [];\n this.dataOutput = [{ CategoryId: 0, Name: \"Root\", Children: [] }];\n this.GetCategoryMenuLeft(item.MenuId);\n this.GetCategoryMenuRight(item.MenuId);\n this.Item = Object.assign(this.Item, item);\n this.MenuModal.show();\n }\n\n\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.DeleteMenu(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n DeleteMenu(Id) {\n this.http.delete('/api/menu/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListMenu();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListMenu();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n\n}\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n

      Danh mục tin tức

      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\n\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n Tên\\r\\n \\r\\n Đường dẫn\\r\\n Mô tả\\r\\n
      \\r\\n
      \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n

        Thêm mới danh mục tin

        \\r\\n

        Sửa thông tin danh mục tin

        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n\\r\\n\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n\\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n 0 && progressIcon < 100\\\">\\r\\n {{progressIcon}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
        \\r\\n
        \\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n

        Sắp xếp tin

        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n {{item.Title}}\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n\\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n.danhmuc-all .category-title, .danhmuc-all #nestable {\\n width: 100% !important; }\\n\\n.danhmuc-all #nestable {\\n padding-right: 10px; }\\n\\n.cf.nestable-lists {\\n margin: 0px !important;\\n padding: 0px !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvbmV3cy9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNhdGVnb3J5XFxuZXdzXFxuZXdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFDN0IsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixxSEFBcUgsRUFBQTs7QUFHdkg7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxlQUFlO0VB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LGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsVUFBVTtFQUVWLHlCQUF5QixFQUFBOztBQUkzQjtFQUNFLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxtQ0FBbUM7RUFDbkMscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0Usc0JBQXNCO0VBQ3RCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsU0FDRixFQUFBOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsY0FDRixFQUFBOztBQUVBO0VBQ0Usc0JBQ0YsRUFBQTs7QUFDQTtFQUNFLG1CQUNBLEVBQUE7O0FBQ0Y7RUFDRSxzQkFBcUI7RUFDckIsdUJBQXNCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9jYXRlZ29yeS9uZXdzL25ld3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiA1JTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG5cclxuLmRhbmhtdWMtYWxsIC5jYXRlZ29yeS10aXRsZSwgLmRhbmhtdWMtYWxsICAjbmVzdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnRcclxufVxyXG4uZGFuaG11Yy1hbGwgI25lc3RhYmxlIHtcbiAgcGFkZGluZy1yaWdodDoxMHB4XG4gIH1cclxuLmNmLm5lc3RhYmxlLWxpc3Rze1xuICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cbiJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, OnDestroy } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { typeCategoryNews, domainImage } from '../../../data/const';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Category } from '../../../data/model';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\nimport { CommonService } from '../../../service/common.service';\r\nimport * as $ from 'jquery';\r\ndeclare var loadNestable;\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { CallCategoryFunctionService } from '../../../service/call-category-function.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-news',\r\n templateUrl: './news.component.html',\r\n styleUrls: ['./news.component.scss']\r\n})\r\n\r\nexport class NewsComponent implements OnInit, OnDestroy {\r\n @ViewChild('CateNewsModal') public CateNewsModal: ModalDirective;\r\n @ViewChild('SortNewsModal') public SortNewsModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n @ViewChild('fileIcon') fileIcon: ElementRef;\r\n subscription: Subscription;\r\n\r\n public listCateNews = [];\r\n public listCateParent = [];\r\n public listLanguage = [];\r\n public listOrderByCat = [];\r\n\r\n\r\n public ckeConfig: any;\r\n\r\n public typeCategoryNews = typeCategoryNews;\r\n\r\n public Item: Category;\r\n\r\n public progress: number;\r\n public message: string;\r\n\r\n public progressIcon: number;\r\n public messageIcon: string;\r\n\r\n public domainImage = domainImage;\r\n\r\n public httpOptions: any;\r\n\r\n public total_item: number;\r\n public txtSearch: string;\r\n public query = \"arr=1&arr=2&arr=3&arr=4&arr=5\";\r\n\r\n key: string = 'categorySorts';\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public common: CommonService,\r\n public callCategoryFunctionService: CallCategoryFunctionService,\r\n public elm: ElementRef,\r\n public router: Router\r\n ) {\r\n this.Item = new Category();\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n\r\n this.subscription = this.callCategoryFunctionService.getAction().subscribe(action => {\r\n if (action.TypeAction == 1) {\r\n this.OpenCateNewsModal(undefined, action.CategoryId);\r\n } else if (action.TypeAction == 2) {\r\n this.OpenCateNewsModal(action.CategoryId, undefined);\r\n } else if (action.TypeAction == 3) {\r\n this.ShowConfirmDelete(action.CategoryId);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.GetListCateNews();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.router.onSameUrlNavigation = 'ignore';\r\n }\r\n\r\n //Get danh sách tin\r\n GetListCateNews() {\r\n this.listCateNews = [];\r\n this.http.get('/api/category/GetCategorySort?' + this.query, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCateNews = res[\"data\"];\r\n this.total_item = res[\"metadata\"]\r\n loadNestable();\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n QueryChanged() {\r\n let query = \"arr=1&arr=2&arr=3&arr=4&arr=5\";\r\n if (this.txtSearch != undefined && this.txtSearch != \"\") {\r\n this.query = query + \"&txtSearch=\" + this.txtSearch;\r\n }\r\n else {\r\n this.query = query;\r\n }\r\n\r\n this.GetListCateNews();\r\n }\r\n\r\n // Get danh sách ngôn ngữ\r\n GetListLanguage() {\r\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listLanguage = res[\"data\"];\r\n if (this.listLanguage.length == 1 && (this.Item.CategoryId == undefined || (this.Item.CategoryId != undefined && this.Item.LanguageId == undefined))) {\r\n this.Item.LanguageId = this.listLanguage[0].LanguageId;\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetListOrderByCat() {\r\n this.http.get('api/category/listNews/' + this.Item.CategoryId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listOrderByCat = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Open sắp xếp tin\r\n OpenSortNewsModal(item) {\r\n this.Item = JSON.parse(JSON.stringify(item));\r\n this.listOrderByCat = [];\r\n this.GetListOrderByCat();\r\n this.SortNewsModal.show();\r\n }\r\n\r\n SaveSortNews() {\r\n for (let i = this.listOrderByCat.length; i > 0; i--) {\r\n this.listOrderByCat[i - 1].Location = (this.listOrderByCat.length - i) + 1;\r\n }\r\n\r\n this.http.put('/api/category/sortCategoryMapping/' + this.Item.CategoryId, this.listOrderByCat, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.SortNewsModal.hide();\r\n this.toastSuccess(\"Lưu thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n //Get danh sách danh mục cha\r\n GetListCateParent(Id) {\r\n console.log(Id);\r\n this.http.get('/api/category/GetByTree?arr=1&arr=2&arr=3&arr=4&arr=5', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCateParent = res[\"data\"];\r\n this.listCateParent.forEach(item => {\r\n if (item.CategoryId == Id || item.Genealogy.indexOf(Id) != -1)\r\n item.disabled = true;\r\n item.Space = \"\";\r\n for (var i = 0; i < (item.Level - 1) * 7; i++) {\r\n item.Space += \" \";\r\n }\r\n })\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Thông báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenCateNewsModal(CategoryId, CategoryParentId) {\r\n this.Item = new Category();\r\n this.Item.CategoryParentId = CategoryParentId;\r\n this.file.nativeElement.value = \"\";\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.message = undefined;\r\n this.messageIcon = undefined;\r\n this.progress = undefined;\r\n this.progressIcon = undefined;\r\n if (CategoryId != undefined) {\r\n this.http.get('/api/category/' + CategoryId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.Item = Object.assign(this.Item, res[\"data\"]);\r\n if (this.Item.CategoryParentId == 0) this.Item.CategoryParentId = undefined;\r\n this.GetListCateParent(this.Item.CategoryId);\r\n this.CateNewsModal.show();\r\n }\r\n else {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n );\r\n }\r\n else {\r\n this.GetListCateParent(undefined);\r\n this.CateNewsModal.show();\r\n }\r\n\r\n this.GetListLanguage();\r\n\r\n }\r\n\r\n //Thêm mới danh mục trang\r\n SaveCateNews() {\r\n if (this.Item.Code == undefined || this.Item.Code == '') {\r\n this.toastWarning(\"Chưa nhập Mã danh mục!\");\r\n return;\r\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã danh mục\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\r\n this.toastWarning(\"Chưa nhập Tên danh mục!\");\r\n return;\r\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên danh mục\");\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\r\n this.toastWarning(\"Chưa nhập Đường dẫn!\");\r\n return;\r\n } else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập đường dẫn!\");\r\n return;\r\n } else if (this.Item.TypeCategoryId == undefined || this.Item.TypeCategoryId == 0) {\r\n this.toastWarning(\"Chưa chọn Loại danh mục!\");\r\n return;\r\n } else if (this.Item.LanguageId == undefined) {\r\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\r\n return;\r\n }\r\n\r\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\r\n if (!this.Item.LanguageId) {\r\n this.Item.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\r\n }\r\n\r\n if (this.Item.CategoryId) {\r\n this.http.put('/api/Category/' + this.Item.CategoryId, this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.CateNewsModal.hide();\r\n this.toastSuccess(\"Cập nhật thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n else {\r\n this.http.post('/api/Category', this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.CateNewsModal.hide();\r\n this.toastSuccess(\"Thêm mới thành công!\");\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 213) {\r\n this.toastWarning(\"Tên đã tồn tại!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n }\r\n\r\n ChangeTitle(key) {\r\n switch (key) {\r\n case 1:\r\n this.Item.MetaTitle = this.Item.Name;\r\n this.Item.MetaKeyword = this.Item.Name;\r\n this.Item.Url = this.common.ConvertUrl(this.Item.Name);\r\n break;\r\n case 2:\r\n this.Item.MetaDescription = this.Item.Description;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: 'Xác nhận',\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: \"Bạn có chắc chắn muốn xóa danh mục này và các danh mục con của nó?\"\r\n },\r\n actionButtons: [\r\n {\r\n text: 'Đồng ý',\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n console.log('OnAction');\r\n this.DeleteCateNews(Id);\r\n }\r\n },\r\n {\r\n text: 'Đóng',\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n DeleteCateNews(Id) {\r\n this.http.delete('/api/Category/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.viewRef.clear();\r\n this.toastSuccess(\"Xóa thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n findParent(item) {\r\n if (item == undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.Name;\r\n }\r\n }\r\n\r\n upload(files, Type) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n console.log(formData);\r\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/' + Type, formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n if (Type == 5) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else {\r\n this.progressIcon = Math.round(100 * event.loaded / event.total);\r\n }\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n if (Type == 5) {\r\n this.message = event.body[\"data\"].toString();\r\n this.Item.Image = this.message\r\n }\r\n else {\r\n this.messageIcon = event.body[\"data\"].toString();\r\n this.Item.Icon = this.messageIcon;\r\n }\r\n }\r\n });\r\n }\r\n\r\n RemoveImage(Type) {\r\n if (Type == 5) {\r\n this.file.nativeElement.value = \"\";\r\n this.Item.Image = undefined;\r\n this.message = undefined;\r\n this.progress = undefined;\r\n }\r\n else {\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.Item.Icon = undefined;\r\n this.messageIcon = undefined;\r\n this.progressIcon = undefined;\r\n }\r\n }\r\n\r\n ShowHide(id, i) {\r\n let stt = this.listCateNews[i].IsShow ? 1 : 10;\r\n this.http.put('/api/Category/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listCateNews[i].IsShow = !this.listCateNews[i].IsShow;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listCateNews[i].IsShow = !this.listCateNews[i].IsShow;\r\n }\r\n );\r\n }\r\n\r\n SaveSortCategory() {\r\n let attribute = document.getElementById(\"nestable\");\r\n let Arr = [];\r\n this.common.ConvertHtmlToJson(Arr, attribute, \"#nestable\", 0, 1);\r\n\r\n this.http.post('/api/Category/SaveCategorySort', Arr, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.CateNewsModal.hide();\r\n this.toastSuccess(\"Lưu thông tin sắp xếp thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n ResetCurrentRouter() {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigateByUrl(this.router.url);\r\n }\r\n}\r\n","module.exports = \"
        \\r\\n
        \\r\\n
        \\r\\n

        Danh mục trang

        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n Tên\\r\\n \\r\\n Đường dẫn\\r\\n Mô tả\\r\\n
        \\r\\n
        \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n\\t
          \\r\\n\\t\\t
          \\r\\n\\t\\t\\t
          \\r\\n\\t\\t\\t\\t
          \\r\\n

          Thêm mới trang

          \\r\\n

          Sửa thông tin trang

          \\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
          \\r\\n\\t\\t\\t\\t
          \\r\\n\\t\\t\\t\\t\\t
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n\\r\\n\\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n 0 && progressIcon < 100\\\">\\r\\n {{progressIcon}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
          \\r\\n
          \\r\\n
          \\r\\n\\t\\t\\t\\t
          \\r\\n\\t\\t\\t\\t
          \\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
          \\r\\n\\t\\t\\t
          \\r\\n\\t\\t
          \\r\\n\\r\\n\\t
          \\r\\n
          \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n.danhmuc-all .category-title, .danhmuc-all #nestable {\\n width: 100% !important; }\\n\\n.danhmuc-all #nestable {\\n padding-right: 10px; }\\n\\n.cf.nestable-lists {\\n margin: 0px !important;\\n padding: 0px !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvcGFnZS9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNhdGVnb3J5XFxwYWdlXFxwYWdlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFDN0IsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixxSEFBcUgsRUFBQTs7QUFHdkg7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxlQUFlO0VB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LGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsVUFBVTtFQUVWLHlCQUF5QixFQUFBOztBQUkzQjtFQUNFLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxtQ0FBbUM7RUFDbkMscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0Usc0JBQXNCO0VBQ3RCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsU0FDRixFQUFBOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsY0FDRixFQUFBOztBQUVBO0VBQ0Usc0JBQ0YsRUFBQTs7QUFDQTtFQUNFLG1CQUNBLEVBQUE7O0FBQ0Y7RUFDRSxzQkFBcUI7RUFDckIsdUJBQXNCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9jYXRlZ29yeS9wYWdlL3BhZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiA1JTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG5cclxuLmRhbmhtdWMtYWxsIC5jYXRlZ29yeS10aXRsZSwgLmRhbmhtdWMtYWxsICAjbmVzdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnRcclxufVxyXG4uZGFuaG11Yy1hbGwgI25lc3RhYmxlIHtcclxuICBwYWRkaW5nLXJpZ2h0OjEwcHhcclxuICB9XHJcbi5jZi5uZXN0YWJsZS1saXN0c3tcclxuICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzowcHggIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, OnDestroy } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpRequest, HttpEventType, HttpHeaders } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { typeCategoryPage } from '../../../data/const';\r\nimport { Category } from '../../../data/model';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonService } from '../../../service/common.service';\r\nimport { domainImage } from '../../../data/const';\r\ndeclare var loadNestable;\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { CallCategoryFunctionService } from '../../../service/call-category-function.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.scss']\r\n})\r\nexport class PageComponent implements OnInit, OnDestroy {\r\n @ViewChild('CatePageModal') public CatePageModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n @ViewChild('fileIcon') fileIcon: ElementRef;\r\n subscription: Subscription;\r\n\r\n\r\n public paging: Paging;\r\n public q: QueryFilter;\r\n public listLanguage = [];\r\n public listCatePage = [];\r\n public listCatePageParent = [];\r\n public ckeConfig: any;\r\n public typeCategoryPage = typeCategoryPage;\r\n public Item: Category;\r\n public progress: number;\r\n public progressIcon: number;\r\n public message: string;\r\n public messageIcon: string;\r\n public domainImage = domainImage;\r\n public httpOptions: any;\r\n\r\n public query = \"arr=6&arr=7&arr=8&arr=9&arr=10\";\r\n public total_item: number;\r\n\r\n key: string = 'categorySorts';\r\n\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public common: CommonService,\r\n public callCategoryFunctionService: CallCategoryFunctionService,\r\n public elm: ElementRef,\r\n public router: Router\r\n ) {\r\n this.Item = new Category();\r\n this.paging = new Paging();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"(TypeCategoryId=6 OR TypeCategoryId=7 OR TypeCategoryId=8 OR TypeCategoryId=9 OR TypeCategoryId=10)\";\r\n this.paging.order_by = \"CategoryId Desc\";\r\n this.paging.item_count = 0;\r\n\r\n this.q = new QueryFilter();\r\n this.q.txtSearch = \"\";\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n\r\n this.subscription = this.callCategoryFunctionService.getAction().subscribe(action => {\r\n if (action.TypeAction == 1) {\r\n this.OpenCatePageModal(undefined, action.CategoryId);\r\n } else if (action.TypeAction == 2) {\r\n this.OpenCatePageModal(action.CategoryId, undefined);\r\n } else if (action.TypeAction == 3) {\r\n this.ShowConfirmDelete(action.CategoryId);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n this.GetListCatePage();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.router.onSameUrlNavigation = 'ignore';\r\n } sss\r\n\r\n upload(files, Type) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n console.log(formData);\r\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/' + Type, formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n if (Type == 5) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else {\r\n this.progressIcon = Math.round(100 * event.loaded / event.total);\r\n }\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n if (Type == 5) {\r\n this.message = event.body[\"data\"].toString();\r\n this.Item.Image = this.message\r\n }\r\n else {\r\n this.messageIcon = event.body[\"data\"].toString();\r\n this.Item.Icon = this.messageIcon;\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n //Get danh sách danh mục trang\r\n GetListCatePage() {\r\n this.listCatePage = [];\r\n this.http.get('/api/category/GetCategorySort?' + this.query, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCatePage = res[\"data\"];\r\n this.total_item = res[\"metadata\"]\r\n loadNestable();\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Get danh sách danh mục cha\r\n GetListCatePageParent(Id) {\r\n this.http.get('/api/category/GetByTree?arr=6&arr=7&arr=8&arr=9&arr=10', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCatePageParent = res[\"data\"];\r\n this.listCatePageParent.forEach(item => {\r\n if (item.CategoryId == Id) {\r\n item.disabled = true;\r\n }\r\n\r\n item.Space = \"\";\r\n for (var i = 0; i < (item.Level - 1) * 7; i++) {\r\n item.Space += \" \";\r\n }\r\n })\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n // Get danh sách ngôn ngữ\r\n GetListLanguage() {\r\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listLanguage = res[\"data\"];\r\n if (this.listLanguage.length == 1 && (this.Item.CategoryId == undefined || (this.Item.CategoryId != undefined && this.Item.LanguageId == undefined))) {\r\n this.Item.LanguageId = this.listLanguage[0].LanguageId;\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListCatePage();\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n\r\n //\r\n QueryChanged() {\r\n let query = '(TypeCategoryId=6 OR TypeCategoryId=7 OR TypeCategoryId=8 OR TypeCategoryId=9 OR TypeCategoryId=10)';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n else {\r\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListCatePage();\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenCatePageModal(CategoryId, CategoryParentId) {\r\n this.Item = new Category();\r\n this.Item.CategoryParentId = CategoryParentId;\r\n this.file.nativeElement.value = \"\";\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.message = undefined;\r\n this.messageIcon = undefined;\r\n this.progress = undefined;\r\n this.progressIcon = undefined;\r\n if (CategoryId != undefined) {\r\n this.http.get('/api/category/' + CategoryId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.Item = Object.assign(this.Item, res[\"data\"]);\r\n if (this.Item.CategoryParentId == 0) this.Item.CategoryParentId = undefined;\r\n this.GetListCatePageParent(this.Item.CategoryId);\r\n this.CatePageModal.show();\r\n }\r\n else {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n );\r\n }\r\n else {\r\n this.GetListCatePageParent(undefined);\r\n this.CatePageModal.show();\r\n }\r\n\r\n this.GetListLanguage();\r\n }\r\n\r\n //Thêm mới danh mục trang\r\n SaveCatePage() {\r\n if (this.Item.Code == undefined || this.Item.Code == '') {\r\n this.toastWarning(\"Chưa nhập Mã danh mục!\");\r\n return;\r\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã danh mục\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\r\n this.toastWarning(\"Chưa nhập Tên danh mục!\");\r\n return;\r\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên danh mục !\");\r\n return;\r\n } else if (this.Item.TypeCategoryId == undefined || this.Item.TypeCategoryId == 0) {\r\n this.toastWarning(\"Chưa chọn Loại danh mục!\");\r\n return;\r\n } else if (this.Item.LanguageId == undefined) {\r\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\r\n return;\r\n }\r\n\r\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\r\n if (!this.Item.LanguageId) {\r\n this.Item.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\r\n }\r\n\r\n if (this.Item.CategoryId) {\r\n this.http.put('/api/Category/' + this.Item.CategoryId, this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCatePage();\r\n this.CatePageModal.hide();\r\n this.toastSuccess(\"Cập nhật thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n else {\r\n this.http.post('/api/Category', this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCatePage();\r\n this.CatePageModal.hide();\r\n this.toastSuccess(\"Thêm mới thành công!\");\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 213) {\r\n this.toastWarning(\"Tên đã tồn tại!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n }\r\n //Change title\r\n ChangeTitle(key) {\r\n switch (key) {\r\n case 1:\r\n this.Item.MetaTitle = this.Item.Name;\r\n this.Item.MetaKeyword = this.Item.Name;\r\n this.Item.Url = this.common.ConvertUrl(this.Item.Name);\r\n break;\r\n case 2:\r\n this.Item.MetaDescription = this.Item.Description;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: 'Xác nhận',\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\r\n },\r\n actionButtons: [\r\n {\r\n text: 'Đồng ý',\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n this.DeleteCatePage(Id);\r\n }\r\n },\r\n {\r\n text: 'Đóng',\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n DeleteCatePage(Id) {\r\n this.http.delete('/api/Category/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCatePage();\r\n this.viewRef.clear();\r\n this.toastSuccess(\"Xóa thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n findParent(item) {\r\n if (item == undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.Name;\r\n }\r\n }\r\n\r\n RemoveImage(Type) {\r\n if (Type == 5) {\r\n this.file.nativeElement.value = \"\";\r\n this.Item.Image = undefined;\r\n this.message = undefined;\r\n this.progress = undefined;\r\n }\r\n else {\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.Item.Icon = undefined;\r\n this.messageIcon = undefined;\r\n this.progressIcon = undefined;\r\n }\r\n }\r\n\r\n ShowHide(id, i) {\r\n let stt = this.listCatePage[i].IsShow ? 1 : 10;\r\n this.http.put('/api/Category/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listCatePage[i].IsShow = !this.listCatePage[i].IsShow;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listCatePage[i].IsShow = !this.listCatePage[i].IsShow;\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListCatePage();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n SaveSortCategory() {\r\n let attribute = document.getElementById(\"nestable\");\r\n let Arr = [];\r\n this.common.ConvertHtmlToJson(Arr, attribute, \"#nestable\", 0, 1);\r\n\r\n this.http.post('/api/Category/SaveCategorySort', Arr, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.CatePageModal.hide();\r\n this.toastSuccess(\"Lưu thông tin sắp xếp thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n ResetCurrentRouter() {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigateByUrl(this.router.url);\r\n }\r\n}\r\n","module.exports = \"
          \\n
          \\n
          \\n Danh sách trại cá\\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
          STTẢnh\\n Tên trại cá\\n \\n Mã trại cá\\n \\n Số điện thoại\\n \\n Thứ tự hiển thị\\n Ẩn/HiệnThao tác
          {{ (paging.page - 1) * paging.page_size + i + 1 }}\\n \\n \\n {{ item.Name }}{{ item.Code }}\\n {{ item.Phone }}\\n {{ item.Location }}\\n \\n \\n \\n \\n \\n \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n\\n
          \\n
          \\n
          \\n
          \\n
          \\n

          Thêm mới trại cá

          \\n

          Sửa thông tin trại cá

          \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\n
          \\n
          \\n
          \\n \\n
          \\n \\n {{Description.value.length}}/300\\n
          \\n
          \\n
          \\n \\n
          \\n \\n 0 && progress < 100\\\">\\n {{progress}}%\\n \\n \\n \\n \\n \\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\n
          \\n
          \\n
          \\n \\n
          \\n \\n
          \\n
          \\n
          \\n \\n
          \\n \\n 0 && progressOwner < 100\\\">\\n {{progressOwner}}%\\n \\n \\n \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n
          \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NhdGVnb3J5L3BhcnRuZXIvcGFydG5lci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { Manufacturer } from '../../../data/model';\nimport { CommonService } from '../../../service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { domainImage } from '../../../data/const';\nimport { Paging, QueryFilter } from '../../../data/dt';\n\n@Component({\n\tselector: 'app-partner',\n\ttemplateUrl: './partner.component.html',\n\tstyleUrls: ['./partner.component.scss']\n})\nexport class PartnerComponent implements OnInit {\n\t@ViewChild('ModalManuFacture') public ModalManuFacture: ModalDirective;\n\t@ViewChild('file') file: ElementRef;\n\t@ViewChild('fileOwner') fileOwner: ElementRef;\n\n\n\tpublic paging: Paging;\n\tpublic q: QueryFilter;\n\n\tpublic listManufacturer = [];\n\tpublic listCompany = [];\n\n\tpublic ckeConfig: any;\n\n\tpublic Item: Manufacturer;\n\n\tpublic progress: number;\n\tpublic progressOwner: number;\n\n\tpublic domainImage = domainImage;\n\n\tpublic httpOptions: any;\n\n\tconstructor(\n\t\tpublic http: HttpClient,\n\t\tpublic modalDialogService: ModalDialogService,\n\t\tpublic viewRef: ViewContainerRef,\n\t\tpublic toastr: ToastrService,\n\t\tpublic common: CommonService\n\t) {\n\t\tthis.Item = new Manufacturer();\n\n\t\tthis.paging = new Paging();\n\t\tthis.paging.page = 1;\n\t\tthis.paging.page_size = 10;\n\t\tthis.paging.query = \"TypeOriginId=3\";\n\t\tthis.paging.order_by = \"ManufacturerId Desc\";\n\t\tthis.paging.item_count = 0;\n\n\t\tthis.q = new QueryFilter();\n\t\tthis.q.txtSearch = \"\";\n\n\t\tthis.httpOptions = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t})\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.ckeConfig = {\n\t\t\tallowedContent: false,\n\t\t\textraPlugins: 'divarea',\n\t\t\tforcePasteAsPlainText: true\n\t\t};\n\t\tthis.GetListManufacturer();\n\t}\n\n\t// get ds nhà sản xuất\n\tGetListManufacturer() {\n\t\tthis.http.get('/api/manufacturer/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listManufacturer = res[\"data\"];\n\t\t\t\t\tthis.listManufacturer.forEach(item => {\n\t\t\t\t\t\titem.IsShow = item.Status == 1 ? true : false;\n\t\t\t\t\t});\n\t\t\t\t\tthis.paging.item_count = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t// get ds công ty\n\tGetListCompany() {\n\t\tthis.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listCompany = res[\"data\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Chuyển trang\n\tPageChanged(event) {\n\t\tthis.paging.page = event.page;\n\t\tthis.GetListManufacturer();\n\t}\n\n\t//Thông báo\n\ttoastWarning(msg): void {\n\t\tthis.toastr.warning(msg, 'Cảnh báo');\n\t}\n\n\ttoastSuccess(msg): void {\n\t\tthis.toastr.success(msg, 'Hoàn thành');\n\t}\n\n\ttoastError(msg): void {\n\t\tthis.toastr.error(msg, 'Lỗi');\n\t}\n\n\n\tQueryChanged() {\n\t\tlet query = 'TypeOriginId=3';\n\t\tif (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.paging.query = '1=1';\n\t\telse\n\t\t\tthis.paging.query = query;\n\n\t\tthis.GetListManufacturer();\n\t}\n\n\t//Mở modal\n\tOpenModalManuFacturer(item) {\n\t\tthis.Item = new Manufacturer();\n\t\tthis.file.nativeElement.value = \"\";\n\t\tthis.fileOwner.nativeElement.value = \"\";\n\t\tthis.progress = undefined;\n\t\tthis.progressOwner = undefined;\n\t\tif (item != undefined) {\n\t\t\tthis.Item = Object.assign(this.Item, item);\n\t\t}\n\n\t\tthis.ModalManuFacture.show();\n\t}\n\n\tChangeTitle(key) {\n\t\tswitch (key) {\n\t\t\tcase 1:\n\t\t\t\tthis.Item.MetaTitle = this.Item.Name;\n\t\t\t\tthis.Item.MetaKeywords = this.Item.Name;\n\t\t\t\tthis.Item.Url = this.common.ConvertUrl(this.Item.Name);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.Item.MetaDescription = this.Item.Description;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t// cập nhật \n\tSaveManuFacture() {\n\t\tif (this.Item.Code == undefined || this.Item.Code == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Mã trại cá!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã trại cá !\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tên trại cá!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên trại cá !\");\r\n return;\r\n } else if (this.Item.Owner == undefined || this.Item.Owner == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tên chủ trại cá!\");\n\t\t\treturn;\n\t\t} else if (this.Item.NickName == undefined || this.Item.NickName == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Biệt danh!\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\t\tthis.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\t\tthis.Item.TypeOriginId = 3;\n\n\t\tif (this.Item.ManufacturerId) {\n\t\t\tthis.http.put('/api/Manufacturer/' + this.Item.ManufacturerId, this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListManufacturer();\n\t\t\t\t\t\tthis.ModalManuFacture.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Cập nhật thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.http.post('/api/Manufacturer', this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListManufacturer();\n\t\t\t\t\t\tthis.ModalManuFacture.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Thêm thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t//Popup xác nhận xóa\n\tShowConfirmDelete(Id) {\n\t\tthis.modalDialogService.openDialog(this.viewRef, {\n\t\t\ttitle: 'Xác nhận',\n\t\t\tchildComponent: SimpleModalComponent,\n\t\t\tdata: {\n\t\t\t\ttext: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n\t\t\t},\n\t\t\tactionButtons: [\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đồng ý',\n\t\t\t\t\tbuttonClass: 'btn btn-success',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tconsole.log('OnAction');\n\t\t\t\t\t\tthis.Delete(Id);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đóng',\n\t\t\t\t\tbuttonClass: 'btn btn-default',\n\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n\n\tDelete(Id) {\n\t\tthis.http.delete('/api/Manufacturer/' + Id, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.GetListManufacturer();\n\t\t\t\t\tthis.viewRef.clear();\n\t\t\t\t\tthis.toastSuccess(\"Xóa thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t}\n\t\t);\n\t}\n\t//\n\tupload(files, cs) {\n\t\tif (files.length === 0)\n\t\t\treturn;\n\n\t\tconst formData = new FormData();\n\n\t\tfor (let file of files)\n\t\t\tformData.append(file.name, file);\n\t\tconst uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/5', formData, {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t}),\n\t\t\treportProgress: true,\n\t\t});\n\n\t\tthis.http.request(uploadReq).subscribe(event => {\n\t\t\tif (event.type === HttpEventType.UploadProgress) {\n\t\t\t\tswitch (cs) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tthis.progress = Math.round(100 * event.loaded / event.total);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tthis.progressOwner = Math.round(100 * event.loaded / event.total);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (event.type === HttpEventType.Response) {\n\t\t\t\tswitch (cs) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tthis.Item.Logo = event.body[\"data\"].toString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tthis.Item.AvatarOwner = event.body[\"data\"].toString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tRemoveImage(cs) {\n\t\tswitch (cs) {\n\t\t\tcase 1:\n\t\t\t\tthis.Item.Logo = undefined;\n\t\t\t\tthis.file.nativeElement.value = \"\";\n\t\t\t\tthis.progress = undefined;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.Item.AvatarOwner = undefined;\n\t\t\t\tthis.fileOwner.nativeElement.value = \"\";\n\t\t\t\tthis.progressOwner = undefined;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tShowHide(id, i) {\n\t\tlet stt = this.listManufacturer[i].IsShow ? 1 : 10;\n\t\tthis.http.put('/api/Manufacturer/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.toastSuccess(\"Thay đổi trạng thái thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\tthis.listManufacturer[i].IsShow = !this.listManufacturer[i].IsShow;\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\tthis.listManufacturer[i].IsShow = !this.listManufacturer[i].IsShow;\n\t\t\t}\n\t\t);\n\t}\n\n\tSortTable(str) {\n\t\tlet First = \"\";\n\t\tlet Last = \"\";\n\t\tif (this.paging.order_by != \"\") {\n\t\t\tFirst = this.paging.order_by.split(\" \")[0];\n\t\t\tLast = this.paging.order_by.split(\" \")[1];\n\t\t}\n\n\t\tif (First != str) {\n\t\t\tthis.paging.order_by = str + \" Desc\";\n\t\t}\n\t\telse {\n\t\t\tLast = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n\t\t\tthis.paging.order_by = str + \" \" + Last;\n\t\t}\n\n\t\tthis.GetListManufacturer();\n\t}\n\n\tGetClassSortTable(str) {\n\t\tif (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n\t\t\treturn \"sorting\";\n\t\t}\n\t\telse {\n\t\t\tif (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n\t\t\telse return \"sorting_asc\";\n\t\t}\n\t}\n\n}\n","module.exports = \"
          \\r\\n
          \\r\\n
          \\r\\n

          Danh mục sản phẩm

          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n Tên\\r\\n \\r\\n Đường dẫn\\r\\n Mô tả\\r\\n
          \\r\\n
          \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới danh mục sản phẩm

            \\r\\n

            Sửa thông tin danh mục sản phẩm

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n 0 && progressIcon < 100\\\">\\r\\n {{progressIcon}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n.danhmuc-all .category-title, .danhmuc-all #nestable {\\n width: 100% !important; }\\n\\n.danhmuc-all #nestable {\\n padding-right: 10px; }\\n\\n.cf.nestable-lists {\\n margin: 0px !important;\\n padding: 0px !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY2F0ZWdvcnkvcHJvZHVjdC9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNhdGVnb3J5XFxwcm9kdWN0XFxwcm9kdWN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFDN0IsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixxSEFBcUgsRUFBQTs7QUFHdkg7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxzREFBc0QsRUFBQTs7QUFHeEQ7RUFDRSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixxQkFBcUI7RUFDckIsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGFBQ0YsRUFBQTs7QUFFQTtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLDBCQUEwQjtFQUMxQiw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSxTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZUFDRixFQUFBOztBQUVBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0UsdUJBQXVCO0VBQ3ZCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLHVCQUF1QjtFQUN2QixrQkFDRixFQUFBOztBQUVBO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0UsMkJBQTJCLEVBQUE7O0FBRzdCO0VBQ0UsdUJBQXVCLEVBQUE7O0FBR3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTs7QUFHYjtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsMEJBQTBCO0VBQzFCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSx1QkFDRixFQUFBOztBQUVBO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHlCQUF5QjtFQUN6Qiw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsUUFBUSxFQUFBOztBQUdWO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsVUFBVTtFQUNWLFNBQVMsRUFBQTs7QUFFWCxVQUFBOztBQUNBO0VBQ0UsVUFBVSxFQUFBOztBQUdaLFVBQUE7O0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsbUJBQW1CLEVBQUE7O0FBR3JCLFdBQUE7O0FBQ0E7RUFDRSxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7O0FBR3JCLG9CQUFBOztBQUNBO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsVUFBVTtFQUVWLHlCQUF5QixFQUFBOztBQUkzQjtFQUNFLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxtQ0FBbUM7RUFDbkMscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0Usc0JBQXNCO0VBQ3RCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsU0FDRixFQUFBOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsY0FDRixFQUFBOztBQUVBO0VBQ0Usc0JBQ0YsRUFBQTs7QUFDQTtFQUNFLG1CQUNBLEVBQUE7O0FBQ0Y7RUFDRSxzQkFBcUI7RUFDckIsdUJBQXNCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9jYXRlZ29yeS9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiA1JTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG5cclxuLmRhbmhtdWMtYWxsIC5jYXRlZ29yeS10aXRsZSwgLmRhbmhtdWMtYWxsICAjbmVzdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnRcclxufVxyXG4uZGFuaG11Yy1hbGwgI25lc3RhYmxlIHtcclxuICBwYWRkaW5nLXJpZ2h0OjEwcHhcclxuICB9XHJcbi5jZi5uZXN0YWJsZS1saXN0c3tcclxuICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzowcHggIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, OnDestroy } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { typeCategoryPage, domainImage } from '../../../data/const';\r\nimport { Category } from '../../../data/model';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonService } from '../../../service/common.service';\r\ndeclare var loadNestable;\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { CallCategoryFunctionService } from '../../../service/call-category-function.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-product',\r\n templateUrl: './product.component.html',\r\n styleUrls: ['./product.component.scss']\r\n})\r\n\r\nexport class CateProductComponent implements OnInit, OnDestroy {\r\n @ViewChild('CateProductModal') public CateProductModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n @ViewChild('fileIcon') fileIcon: ElementRef;\r\n subscription: Subscription;\r\n\r\n\r\n public paging: Paging;\r\n public q: QueryFilter;\r\n public listCateProduct = [];\r\n public listCateParent = [];\r\n public listLanguage = [];\r\n public listOrderByCatProduct = [];\r\n public ckeConfig: any;\r\n public typeCategoryPage = typeCategoryPage;\r\n public Item: Category;\r\n public progress: number;\r\n public progressIcon: number;\r\n public message: string;\r\n public messageIcon: string;\r\n public domainImage = domainImage;\r\n public httpOptions: any;\r\n\r\n public query = \"arr=11\";\r\n public total_item: number;\r\n\r\n key: string = 'categorySorts';\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public common: CommonService,\r\n public callCategoryFunctionService: CallCategoryFunctionService,\r\n public elm: ElementRef,\r\n public router: Router\r\n ) {\r\n this.Item = new Category();\r\n this.paging = new Paging();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"TypeCategoryId=11\";\r\n this.paging.order_by = \"CategoryId Desc\";\r\n this.paging.item_count = 0;\r\n\r\n this.q = new QueryFilter();\r\n this.q.txtSearch = \"\";\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n\r\n this.subscription = this.callCategoryFunctionService.getAction().subscribe(action => {\r\n if (action.TypeAction == 1) {\r\n this.OpenCateProductModal(undefined, action.CategoryId);\r\n } else if (action.TypeAction == 2) {\r\n this.OpenCateProductModal(action.CategoryId, undefined);\r\n } else if (action.TypeAction == 3) {\r\n this.ShowConfirmDelete(action.CategoryId);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n\r\n this.GetListCateProduct();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.router.onSameUrlNavigation = 'ignore';\r\n }\r\n\r\n //Get danh sách danh mục sản phẩm\r\n GetListCateProduct() {\r\n this.listCateProduct = [];\r\n this.http.get('/api/category/GetCategorySort?' + this.query, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCateProduct = res[\"data\"];\r\n this.total_item = res[\"metadata\"]\r\n loadNestable();\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Get danh sách danh mục cha\r\n GetListCateParent(Id) {\r\n this.http.get('/api/category/GetByTree?arr=11', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCateParent = res[\"data\"];\r\n this.listCateParent.forEach(item => {\r\n if (item.CategoryId == Id) {\r\n item.disabled = true;\r\n }\r\n\r\n item.Space = \"\";\r\n for (var i = 0; i < (item.Level - 1) * 7; i++) {\r\n item.Space += \" \";\r\n }\r\n })\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n // Get danh sách ngôn ngữ\r\n GetListLanguage() {\r\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listLanguage = res[\"data\"];\r\n if (this.listLanguage.length == 1 && (this.Item.CategoryId == undefined || (this.Item.CategoryId != undefined && this.Item.LanguageId == undefined))) {\r\n this.Item.LanguageId = this.listLanguage[0].LanguageId;\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetListOrderByCat() {\r\n this.http.get('api/category/listproduct/' + this.Item.CategoryId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listOrderByCatProduct = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListCateProduct();\r\n }\r\n //Cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n //Hoàn thành\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n //Lỗi\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n //\r\n QueryChanged() {\r\n let query = 'TypeCategoryId=11';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n else {\r\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListCateProduct();\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenCateProductModal(CategoryId, CategoryParentId) {\r\n this.Item = new Category();\r\n this.Item.CategoryParentId = CategoryParentId;\r\n this.file.nativeElement.value = \"\";\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.message = undefined;\r\n this.messageIcon = undefined;\r\n this.progress = undefined;\r\n this.progressIcon = undefined;\r\n if (CategoryId != undefined) {\r\n this.http.get('/api/category/' + CategoryId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.Item = Object.assign(this.Item, res[\"data\"]);\r\n if (this.Item.CategoryParentId == 0) this.Item.CategoryParentId = undefined;\r\n this.GetListCateParent(this.Item.CategoryId);\r\n this.CateProductModal.show();\r\n }\r\n else {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Không tìm thấy danh mục trên hệ thống!\");\r\n return;\r\n }\r\n );\r\n }\r\n else {\r\n this.GetListCateParent(undefined);\r\n this.CateProductModal.show();\r\n }\r\n\r\n this.GetListLanguage();\r\n\r\n }\r\n\r\n //Thêm mới danh mục trang\r\n SaveCateProduct() {\r\n if (this.Item.Code == undefined || this.Item.Code == '') {\r\n this.toastWarning(\"Chưa nhập Mã danh mục!\");\r\n return;\r\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã danh mục\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\r\n this.toastWarning(\"Chưa nhập Tên danh mục!\");\r\n return;\r\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên danh mục\");\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\r\n this.toastWarning(\"Chưa nhập Đường dẫn!\");\r\n return;\r\n } else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập đường dẫn !\");\r\n return;\r\n }\r\n\r\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\r\n this.Item.TypeCategoryId = 11;\r\n if (!this.Item.LanguageId) {\r\n this.Item.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\r\n }\r\n\r\n if (this.Item.CategoryId) {\r\n this.http.put('/api/Category/' + this.Item.CategoryId, this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCateProduct();\r\n this.CateProductModal.hide();\r\n this.toastSuccess(\"Cập nhật thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n else {\r\n this.http.post('/api/Category', this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCateProduct();\r\n this.CateProductModal.hide();\r\n this.toastSuccess(\"Thêm mới thành công!\");\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 213) {\r\n this.toastWarning(\"Tên đã tồn tại!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n }\r\n\r\n ChangeTitle(key) {\r\n switch (key) {\r\n case 1:\r\n this.Item.MetaTitle = this.Item.Name;\r\n this.Item.MetaKeyword = this.Item.Name;\r\n this.Item.Url = this.common.ConvertUrl(this.Item.Name);\r\n break;\r\n case 2:\r\n this.Item.MetaDescription = this.Item.Description;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: 'Xác nhận',\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\r\n },\r\n actionButtons: [\r\n {\r\n text: 'Đồng ý',\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n console.log('OnAction');\r\n this.DeleteCateProduct(Id);\r\n }\r\n },\r\n {\r\n text: 'Đóng',\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n DeleteCateProduct(Id) {\r\n this.http.delete('/api/Category/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListCateProduct();\r\n this.viewRef.clear();\r\n this.toastSuccess(\"Xóa thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n upload(files, Type) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n console.log(formData);\r\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/' + Type, formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n if (Type == 5) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else {\r\n this.progressIcon = Math.round(100 * event.loaded / event.total);\r\n }\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n if (Type == 5) {\r\n this.message = event.body[\"data\"].toString();\r\n this.Item.Image = this.message\r\n }\r\n else {\r\n this.messageIcon = event.body[\"data\"].toString();\r\n this.Item.Icon = this.messageIcon;\r\n }\r\n }\r\n });\r\n }\r\n\r\n findParent(item) {\r\n if (item == undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.Name;\r\n }\r\n }\r\n\r\n RemoveImage(Type) {\r\n if (Type == 5) {\r\n this.file.nativeElement.value = \"\";\r\n this.Item.Image = undefined;\r\n this.message = undefined;\r\n this.progress = undefined;\r\n }\r\n else {\r\n this.fileIcon.nativeElement.value = \"\";\r\n this.Item.Icon = undefined;\r\n this.messageIcon = undefined;\r\n this.progressIcon = undefined;\r\n }\r\n }\r\n\r\n ShowHide(id, i) {\r\n let stt = this.listCateProduct[i].IsShow ? 1 : 10;\r\n this.http.put('/api/Category/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListCateProduct();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n SaveSortCategory() {\r\n let attribute = document.getElementById(\"nestable\");\r\n let Arr = [];\r\n this.common.ConvertHtmlToJson(Arr, attribute, \"#nestable\", 0, 1);\r\n\r\n this.http.post('/api/Category/SaveCategorySort', Arr, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ResetCurrentRouter();\r\n this.CateProductModal.hide();\r\n this.toastSuccess(\"Lưu thông tin sắp xếp thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n ResetCurrentRouter() {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigateByUrl(this.router.url);\r\n }\r\n}\r\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách danh mục khoảng\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            Stt\\r\\n \\r\\n \\r\\n Tên\\r\\n \\r\\n \\r\\n \\r\\n Giá trị bắt đầu\\r\\n \\r\\n \\r\\n \\r\\n Giá trị kết thúc\\r\\n \\r\\n \\r\\n \\r\\n Loại khoảng\\r\\n Ẩn/HiệnThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.RankStart }}\\r\\n {{ item.RankEnd }}\\r\\n {{item.TypeRankId}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới danh mục khoảng

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newDescription.value.length}}/150\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Cập nhật danh mục khoảng

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{editDescription.value.length}}/50\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NhdGVnb3J5L3JhbmsvcmFuay5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { typeCategoryPage, typeRank } from '../../../data/const';//có thể bỏ typeRank\nimport { CategoryRank } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\n\n\n\n@Component({\n selector: 'app-rank',\n templateUrl: './rank.component.html',\n styleUrls: ['./rank.component.scss']\n})\nexport class RankComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n\n public paging: any;\n public q: any;\n public show: boolean = false;\n public showSort: boolean[] = [true, false, false, false];\n public listCateRank = [];\n public listTypeRank = [];\n public listWebsite = [];\n public listLanguage = [];\n\n public ckeConfig: any;\n\n public typeRank = typeRank;\n\n public newItem: CategoryRank;\n public editItem: CategoryRank;\n\n public httpOptions: any;\n\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService\n ) {\n this.newItem = new CategoryRank();\n this.editItem = new CategoryRank();\n this.paging = {\n page: 1,\n page_size: 10,\n query: '1=1',\n order_by: '',\n item_count: 0\n };\n\n this.q = {\n txtSearch: ''\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n this.GetListCateRank();\n }\n //\n Sort(IsK, s, i) {\n if (IsK) {\n this.paging.order_by = s + \" asc\";\n }\n else {\n this.paging.order_by = s + \" desc\";\n }\n this.GetListCateRank();\n //this.showSort = !IsK;\n for (var j = 0; j < this.showSort.length; j++) {\n if (j == i) {\n this.showSort[j] = IsK;\n console.log(\"if = \" + this.showSort[j]);\n }\n else {\n this.showSort[j] = false;\n console.log(\"else = \" + this.showSort[j]);\n }\n }\n }\n //Get danh sách rank\n GetListCateRank() {\n this.http.get('/api/categoryrank/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCateRank = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Get danh sách type rank\n GetListTypeRank() {\n this.http.get('/api/typeattributeitem/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listTypeRank = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n GetListLanguage() {\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listLanguage = res[\"data\"];\n if (this.listLanguage.length == 1) {\n this.newItem.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\n this.editItem.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\n }\n else {\n this.show = true;\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListCateRank();\n }\n\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListCateRank();\n }\n\n //Mở modal thêm mới\n OpenAddModal() {\n this.newItem = new CategoryRank();\n this.newItem.Description = \"\";\n this.GetListTypeRank();\n this.GetListLanguage();\n this.addModal.show();\n }\n\n //Thêm mới danh mục trang\n AddFunc() {\n if (this.newItem.Name == undefined || this.newItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên danh mục!\");\n return;\n } else if (this.newItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên danh mục !\");\r\n return;\r\n } else if (this.newItem.RankStart == undefined) {\n this.toastWarning(\"Chưa nhập khoảng bắt đầu!\");\n return;\n } else if (this.newItem.RankEnd == undefined) {\n this.toastWarning(\"Chưa nhập khoảng kết thúc!\");\n return;\n } else if (this.newItem.LanguageId == undefined) {\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\n return;\n }\n\n if (this.newItem.RankStart > this.newItem.RankEnd) {\n this.toastWarning(\"Khoảng bắt đầu phải nhỏ hơn khoảng kết thúc!\");\n return;\n }\n\n this.newItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.newItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.newItem.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n\n this.http.post('/api/CategoryRank', this.newItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCateRank();\n this.addModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //Mở modal cập nhật\n OpenEditModal(item) {\n this.editItem = new CategoryRank();\n this.editItem = Object.assign(this.editItem, item);\n if (this.editItem.TypeRankId == 0) this.editItem.TypeRankId = undefined;\n this.GetListTypeRank();\n this.GetListLanguage();\n this.editModal.show();\n }\n\n //Cập nhật danh mục trang\n EditFunc() {\n if (this.editItem.Name == undefined || this.editItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên danh mục!\");\n return;\n } else if (this.editItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên danh mục\");\r\n return;\r\n } else if (this.editItem.RankStart == undefined || this.editItem.RankStart == 0) {\n this.toastWarning(\"Chưa nhập khoảng bắt đầu!\");\n return;\n } else if (this.editItem.RankEnd == undefined || this.editItem.RankEnd == 0) {\n this.toastWarning(\"Chưa nhập khoảng kết thúc!\");\n return;\n }\n else if (this.editItem.LanguageId == undefined) {\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\n return;\n }\n if (this.newItem.RankStart > this.newItem.RankEnd) {\n this.toastWarning(\"Khoảng bắt đầu phải nhỏ hơn khoảng kết thúc!\");\n return;\n }\n this.newItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.newItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.newItem.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n\n this.http.put('/api/CategoryRank/' + this.editItem.CategoryRankId, this.editItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCateRank();\n this.editModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/CategoryRank/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCateRank();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n ShowHide(id, i) {\n let stt = this.listCateRank[i].IsShow ? 1 : 10;\n this.http.put('/api/CategoryRank/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n //The End//\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách thương hiệu\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTẢnh\\r\\n Tên thương hiệu\\r\\n Mô tảẨn/HiệnThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n \\r\\n \\r\\n {{ item.Name }} - {{item.Code}}{{ item.Description }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới thương hiệu

            \\r\\n

            Sửa thông tin thương hiệu

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newDescription.value.length}}/300\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaTitle.value.length}}/200\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaKeyword.value.length}}/200\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaDescription.value.length}}/300\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NhdGVnb3J5L3RyYWRlbWFyay90cmFkZW1hcmsuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { Manufacturer } from '../../../data/model';\nimport { CommonService } from '../../../service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { domainImage } from '../../../data/const';\nimport { Paging, QueryFilter } from '../../../data/dt';\n\n\n\n@Component({\n selector: 'app-trademark',\n templateUrl: './trademark.component.html',\n styleUrls: ['./trademark.component.scss']\n})\nexport class TrademarkComponent implements OnInit {\n @ViewChild('TradeMarkModal') public TradeMarkModal: ModalDirective;\n @ViewChild('file') file: ElementRef;\n\n public paging: Paging;\n public q: QueryFilter;\n public listTrademark = [];\n public ckeConfig: any;\n public Item: Manufacturer;\n public progress: number;\n public domainImage = domainImage;\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n public common: CommonService\n ) {\n this.Item = new Manufacturer();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"TypeOriginId=2\";\n this.paging.order_by = \"ManufacturerId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.GetListTrademark();\n }\n\n //Get ds thương hiệu\n GetListTrademark() {\n this.http.get('/api/manufacturer/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listTrademark = res[\"data\"];\n this.listTrademark.forEach(item => {\n item.IsShow = item.Status == 1 ? true : false;\n });\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListTrademark();\n }\n\n //Cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n //Thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n //Lỗi\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = 'TypeOriginId=2';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListTrademark();\n }\n\n //Mở modal thêm\n OpenTradeMarkModal(item) {\n this.Item = new Manufacturer();\n this.file.nativeElement.value = \"\";\n this.progress = undefined;\n if (item != undefined) {\n this.Item = Object.assign(this.Item, item);\n }\n\n this.TradeMarkModal.show();\n }\n //Thêm mới\n SaveTradeMark() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(\"Chưa nhập Mã thương hiệu!\");\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\n this.toastWarning(\"Chưa nhập Mã thương hiệu!\");\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập Tên thương hiệu!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\n this.toastWarning(\"Chưa nhập Tên thương hiệu!\");\n return;\n }\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.Item.TypeOriginId = 2;\n\n if (this.Item.ManufacturerId) {\n this.http.put('/api/Manufacturer/' + this.Item.ManufacturerId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTrademark();\n this.TradeMarkModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n });\n }\n else {\n this.http.post('/api/Manufacturer', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTrademark();\n this.TradeMarkModal.hide();\n this.toastSuccess(\"Thêm thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n );\n }\n }\n\n //change\n ChangeTitle(key) {\n switch (key) {\n case 1:\n this.Item.MetaTitle = this.Item.Name;\n this.Item.MetaKeywords = this.Item.Name;\n this.Item.Url = this.common.ConvertUrl(this.Item.Name);\n break;\n case 2:\n this.Item.MetaDescription = this.Item.Description;\n break;\n default:\n break;\n }\n }\n\n //Xác nhận Xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n //xóa\n Delete(Id) {\n this.http.delete('/api/Manufacturer/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTrademark();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //Upload file\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n console.log(formData);\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/5', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress) {\n this.progress = Math.round(100 * event.loaded / event.total);\n }\n else if (event.type === HttpEventType.Response) {\n this.Item.Logo = event.body[\"data\"].toString();\n }\n });\n }\n\n RemoveImage() {\n this.Item.Logo = undefined;\n this.file.nativeElement.value = \"\";\n this.progress = undefined;\n }\n\n ShowHide(id, i) {\n let stt = this.listTrademark[i].IsShow ? 1 : 10;\n this.http.put('/api/Manufacturer/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n this.listTrademark[i].IsShow = !this.listTrademark[i].IsShow;\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n this.listTrademark[i].IsShow = !this.listTrademark[i].IsShow;\n }\n );\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListTrademark();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Cấu hình chung\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbmZpZy9jb25maWctZ2VuZXJhbC9jb25maWctZ2VuZXJhbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Config } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { TypeUpload } from '../../../data/const';\n\n\n\n@Component({\n selector: 'app-config-general',\n templateUrl: './config-general.component.html',\n styleUrls: ['./config-general.component.scss']\n})\nexport class ConfigGeneralComponent implements OnInit {\n\n public listConfig = [];\n public CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\n public ckeConfig: any;\n\n public typeUpload = TypeUpload;\n\n public updateItem: Config;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.updateItem = new Config();\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.GetListConfig(this.CompanyId);\n }\n\n GetListConfig(CompanyId) {\n this.http.get('/api/Config/' + CompanyId, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listConfig = res[\"data\"];\n this.updateItem = Object.assign(this.updateItem, this.listConfig);\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n )\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n\n Update() {\n if (this.updateItem.EmailHost == undefined) {\n this.toastWarning(\"Chưa nhập Email Host!\");\n return;\n } else if (this.updateItem.EmailHost.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập Email host!\");\r\n return;\r\n } else if (this.updateItem.EmailSender == undefined) {\n this.toastWarning(\"Chưa nhập Email Sender!\");\n return;\n } else if (this.updateItem.EmailSender.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập Email Sender!\");\r\n return;\r\n } else if (this.updateItem.EmailEnableSsl == undefined) {\n this.toastWarning(\"Chưa nhập Email Enable SSl\");\n return;\n }else if (this.updateItem.EmailUserName == undefined) {\n this.toastWarning(\"Chưa nhập Email User Name!\");\n return;\n } else if (this.updateItem.EmailUserName.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập Email UserName!\");\r\n return;\r\n } else if (this.updateItem.EmailPasswordHash == undefined) {\n this.toastWarning(\"Chưa nhập Email Password Hash\");\n return;\n } else if (this.updateItem.EmailPasswordHash.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập EmailPasswordHash!\");\r\n return;\r\n } else if (this.updateItem.EmailPort == undefined) {\n this.toastWarning(\"Chưa nhập Email Port!\");\n return;\n }\n\n this.http.put('/api/Config/' + this.updateItem.ConfigId, this.updateItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Cấu hình bảng\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n \\r\\n \\r\\n Tên\\r\\n \\r\\n \\r\\n \\r\\n Mã\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới Cấu hình bảng

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTTênThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Location }}\\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới bảng mục

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Cập nhật loại hình

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTTênThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbmZpZy9jb25maWctdGFibGUvY29uZmlnLXRhYmxlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ConfigTable, ConfigTableItem } from '../../../data/Model';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\n\n\n\n@Component({\n selector: 'app-config-table',\n templateUrl: './config-table.component.html',\n styleUrls: ['./config-table.component.scss']\n})\nexport class ConfigTableComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n @ViewChild('AddTypeModal') public addtypeModal: ModalDirective;\n\n public paging: any;\n public q: any;\n\n public showItem: boolean;\n\n public listConfigTable = [];\n public showSort: boolean[] = [true, false];\n\n public ckeConfig: any;\n\n public newItem: ConfigTable;\n public editItem: ConfigTable;\n public newType: ConfigTableItem;\n\n public httpOptions: any;\n\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.newItem = new ConfigTable();\n this.editItem = new ConfigTable();\n this.newType = new ConfigTableItem();\n\n this.paging = {\n page: 1,\n page_size: 10,\n query: '1=1',\n order_by: '',\n item_count: 0\n };\n this.q = {\n txtSearch:''\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.GetListConfigTable();\n }\n\n //\n Sort(IsK, s, i) {\n if (IsK) {\n this.paging.order_by = s + \" asc\";\n }\n else {\n this.paging.order_by = s + \" desc\";\n }\n this.GetListConfigTable();\n //this.showSort = !IsK;\n for (var j = 0; j < this.showSort.length; j++) {\n if (j == i) {\n this.showSort[j] = IsK;\n }\n else {\n this.showSort[j] = false;\n }\n }\n }\n\n //Get\n GetListConfigTable() {\n this.http.get('/api/ConfigTable/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listConfigTable = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListConfigTable();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListConfigTable();\n }\n\n OpenAddModal() {\n this.newItem = new ConfigTable();\n this.newType = new ConfigTableItem();\n this.newItem.listConfigTableItem = [];\n this.showItem = true;\n this.addModal.show();\n }\n\n AddFunc() {\n if (this.newItem.Code == undefined || this.newItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.newItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n }\n else if (this.newItem.Name == undefined || this.newItem.Name == '') {\n this.toastWarning(\"Chưa nhập tên!\");\n return;\n } else if (this.newItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n }\n this.newItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.newItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.http.post('/api/ConfigTable', this.newItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigTable();\n this.addModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n OpenEditModal(item) {\n this.editItem = new ConfigTable();\n this.newType = new ConfigTableItem();\n this.editItem = Object.assign(this.editItem, item);\n this.showItem = false;\n this.editModal.show();\n }\n\n EditFunc() {\n if (this.editItem.Code == undefined || this.editItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.editItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n }\n else if (this.editItem.Name == undefined || this.editItem.Name == '') {\n this.toastWarning(\"Chưa nhập tên!\");\n return;\n } else if (this.editItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n }\n this.editItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.editItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.http.put('/api/ConfigTable/' + this.editItem.ConfigTableId, this.editItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigTable();\n this.editModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n console.log(\"error\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n // Config table item\n OpenAddItemModal() {\n this.newType = new ConfigTableItem();\n this.addtypeModal.show()\n }\n\n AddTypeFunc(IsNew) {\n if (this.newType.Code == undefined || this.newType.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.newItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n }\n else if (this.newType.Name == undefined || this.newType.Name == '') {\n this.toastWarning(\"Chưa nhập tên thuộc tính!\");\n return;\n } else if (this.newItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên thuộc tính!\");\r\n return;\r\n }\n if (IsNew) {\n this.newItem.listConfigTableItem.push(this.newType);\n }\n else {\n this.editItem.listConfigTableItem.push(this.newType);\n }\n this.addtypeModal.hide()\n }\n\n //xoa\n ConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/ConfigTable/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigTable();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n\n //xóa AttributeItem\n DeleteItem(i, IsNew) {\n if (IsNew) {\n this.newItem.listConfigTableItem.splice(i, 1);\n }\n else {\n console.log(this.editItem.listConfigTableItem[i]);\n if (this.editItem.listConfigTableItem[i].ConfigTableItemId != null) {\n this.editItem.listConfigTableItem.splice(i, 1);\n }\n else {\n this.editItem.listConfigTableItem.splice(i, 1);\n }\n }\n }\n //End\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách ảnh thumb

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Chiều rộng\\r\\n \\r\\n Chiều cao\\r\\n \\r\\n Loại thumb\\r\\n Thao tác
            {{ item.Width }}{{ item.Height }}\\r\\n {{ FindTypeThumb(item.Type) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới

            \\r\\n

            Cập nhật

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 2%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY29uZmlnL2NvbmZpZy10aHVtYi9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNvbmZpZ1xcY29uZmlnLXRodW1iXFxjb25maWctdGh1bWIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLDZCQUE2QjtFQUM3QiwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLHFIQUFxSCxFQUFBOztBQUd2SDtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLHFCQUFxQjtFQUNyQixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CQUFtQixFQUFB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QjtFQUN0QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixVQUFVO0VBRVYseUJBQXlCLEVBQUE7O0FBSTNCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLHNCQUFzQjtFQUN0QixpQkFBaUI7RUFDakIsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLDBCQUEwQixFQUFBOztBQUc1QjtFQUNFLG1DQUFtQztFQUNuQyxxQkFBcUIsRUFBQTs7QUFHdkI7RUFDRSxzQkFBc0I7RUFDdEIscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0UscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixTQUNGLEVBQUE7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSw2QkFBNkI7RUFDN0IsY0FBYyxFQUFBOztBQUdoQjtFQUNFLDBCQUEwQjtFQUMxQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxjQUNGLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9jb25maWcvY29uZmlnLXRodW1iL2NvbmZpZy10aHVtYi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWxpc3Qge1xyXG4gIHdpZHRoOiA1MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3gge1xyXG4gIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1hbmltYXRpbmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94Omxhc3QtY2hpbGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leGFtcGxlLWJveDpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG5oMS5jbXMtaGVhZGluZy1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDIzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLW1haW4ge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5jbXMtY29udGVudCB7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5jbXMtYWRkbmV3IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYS5jdXJyZW50IHtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgbGkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbnVsLmNtcy1zdWJzdWJzdWIge1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG4uY21zLWZpbHRlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBhIHtcclxuICBsaW5lLWhlaWdodDogMjtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUsIC50YWJsZS1ib3JkZXJlZCB0aCwgLnRhYmxlLWJvcmRlcmVkIHRkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRoZWFkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi10aHVtYiB7XHJcbiAgd2lkdGg6IDIlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1uYW1lIHtcclxuICB3aWR0aDogMTUlO1xyXG59XHJcblxyXG4uY29sdW1uLWNhdCB7XHJcbiAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1wcm9kdWN0X2NhdCwgdGFibGUgLmNvbHVtbi1wcm9kdWN0X3RhZyB7XHJcbiAgd2lkdGg6IDExJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGVmdDogLTk5OTllbTtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiBsaSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBjdXJzb3I6IHBvaW50ZXJcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiBsaS5kZXRldGUtaXRlbSB7XHJcbiAgY29sb3I6ICNmMDA7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuaWQtaXRlbSB7XHJcbiAgY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdXJsIHtcclxuICB3aWR0aDogMjUlO1xyXG59XHJcblxyXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xyXG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAyO1xyXG59XHJcblxyXG50Ym9keSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5jbXMtcGFnaW5nIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tc3R0LCB0YWJsZSAuY29sdW1uLWhzIHtcclxuICB3aWR0aDogOCU7XHJcbn1cclxuXHJcbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbn1cclxuXHJcbi5uYW1lLWNoaWxkIHtcclxuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG4ubmFtZS1wYXJlbmQge1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG50YWJsZS5saXN0LWNhdCB0Ym9keSA+IHRyIHRkIHtcclxuICBsaW5lLWhlaWdodDogMS44O1xyXG59XHJcblxyXG50YWJsZS5saXN0LWNhdCB0Ym9keSA+IHRyOmhvdmVyIC5jbXMtZnVuY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbn1cclxuXHJcbi5zd2l0Y2gtbGFiZWwge1xyXG4gIHdpZHRoOiA0OHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLnNlbGVjdC1pdGVtYm94IHtcclxuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAycHhcclxufVxyXG5cclxuLmNvbHVtbi1yYXRpbmcge1xyXG4gIHdpZHRoOiAxMCU7XHJcbn1cclxuXHJcbi5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdC1pdGVtYm94IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfZmlsdGVyLnB1bGwtcmlnaHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMjJweDtcclxufVxyXG5cclxuLkljb25DaGVjayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcclxufVxyXG5cclxuLm1vZGFsLWJvZHksIC5jYXJkLWJvZHkuYm9keS1mb3JtLWFkZC1uZXcge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi50YWItY29udGVudC1jdXN0b20gLnRhYi1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCAuZm9ybS1ncm91cC5yb3cge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IGxhYmVsLmNvbC1tZC0xMi5jb2wtZm9ybS1sYWJlbCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5kYW5obXVjLXNwIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlN2VhO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6ICNGREZERkQ7XHJcbiAgbWFyZ2luLXRvcDogMTRweDtcclxuICBtYXgtaGVpZ2h0OiAzMzVweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBsYWJlbCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgdG9wOiAwcHg7XHJcbn1cclxuXHJcbi5pbi1jYXQtcHJvZHVjdCB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCAuc3F1YXJlZGNoZWNrIHNwYW4ge1xyXG4gIGxlZnQ6IDIwcHg7XHJcbiAgdG9wOiAtNHB4O1xyXG59XHJcbi8qIHdpZHRoICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gIHdpZHRoOiAwcHg7XHJcbn1cclxuXHJcbi8qIFRyYWNrICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggZ3JleTtcclxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG59XHJcblxyXG4vKiBIYW5kbGUgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgYmFja2dyb3VuZDogI2NjYztcclxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG59XHJcblxyXG4vKiBIYW5kbGUgb24gaG92ZXIgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI2IzMDAwMDtcclxufVxyXG5cclxudGJvZHkgdHIgdGQgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxufVxyXG5cclxuLnNxdWFyZWRjaGVjayBsYWJlbDphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiA1cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogM3B4O1xyXG4gIGxlZnQ6IDJweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRoZWFkIHtcclxuICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB0ciB7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE3cHgpICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aCwgLmZpeGVkX2hlYWRlciB0ZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYm9yZGVyOiAwXHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayBsYWJlbCB7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZDogI2VhZjRmZjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciBpbWcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtcHJpIHtcclxuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICBjb2xvcjogI2I1YjNiMztcclxufVxyXG5cclxuc3Bhbi5wcmljZS1uZXcge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbnRhYmxlLmZpeGVkX2hlYWRlciAuc3F1YXJlZGNoZWNrIHtcclxuICB3aWR0aDogaW5oZXJpdFxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ConfigThumb } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { TypeUpload } from '../../../data/const';\nimport { Paging, QueryFilter } from '../../../data/dt';\n\n@Component({\n selector: 'app-config-thumb',\n templateUrl: './config-thumb.component.html',\n styleUrls: ['./config-thumb.component.scss']\n})\nexport class ConfigThumbComponent implements OnInit {\n @ViewChild('ConfigThumbModal') public ConfigThumbModal: ModalDirective;\n\n public paging: Paging;\n public q: QueryFilter;\n\n public listConfigThumb = [];\n\n public ckeConfig: any;\n\n public typeUpload = TypeUpload;\n\n public Item: ConfigThumb;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.Item = new ConfigThumb();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"ConfigThumbId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n //this.ckeConfig = {\n // allowedContent: false,\n // extraPlugins: 'divarea',\n // forcePasteAsPlainText: true\n //};\n this.GetListConfigThumb();\n }\n\n //GET danh sách ảnh thumb\n GetListConfigThumb() {\n this.http.get('/api/ConfigThumb/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listConfigThumb = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListConfigThumb();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListConfigThumb();\n }\n\n //Mở modal\n OpenConfigThumbModal(item) {\n this.Item = new ConfigThumb();\n if (item != undefined) {\n this.Item = JSON.parse(JSON.stringify(item));\n }\n this.ConfigThumbModal.show();\n }\n\n //Thêm mới\n SaveConfigThumb() {\n if (this.Item.Width == undefined) {\n this.toastWarning(\"Chưa nhập chiều rộng!\");\n return;\n } else if (this.Item.Height == undefined) {\n this.toastWarning(\"Chưa nhập chiều cao!\");\n return;\n } else if (this.Item.Type == undefined) {\n this.toastWarning(\"Chưa nhập loại thumb\");\n return;\n }\n\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n\n if (this.Item.ConfigThumbId == undefined) {\n this.http.post('/api/ConfigThumb', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigThumb();\n this.ConfigThumbModal.hide();\n this.toastSuccess(\"Thêm thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n );\n }\n else {\n this.http.put('/api/ConfigThumb/' + this.Item.ConfigThumbId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigThumb();\n this.ConfigThumbModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/ConfigThumb/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListConfigThumb();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //auto gen thumbs\n ShowConfirmGenThumb(type, width) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn sinh thumb có kích thước \" + width + \"?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.AutoGenThumbs(type, width);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n AutoGenThumbs(type, width) {\n this.http.post('/api/upload/autoGenThumbs/'+ type + '/' + width, null, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.viewRef.clear();\n this.toastSuccess(\"Sinh thumb thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListConfigThumb();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n\n FindTypeThumb(id) {\n for (var i = 0; i < this.typeUpload.length; i++) {\n if (this.typeUpload[i].Id == id)\n return this.typeUpload[i].Name;\r\n }\n }\n\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách khối nội dung

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Mã\\r\\n \\r\\n Tên\\r\\n IconNgười tạo
            {{ item.Code }}\\r\\n {{ item.Name }}\\r\\n
              \\r\\n
            • ID: {{item.BlockId}} |
            • \\r\\n
            • Chỉnh sửa |
            • \\r\\n
            • Xóa
            • \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n {{ findAuthor(item.author) }}
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới khối nội dung

            \\r\\n

            Sửa thông tin khối nội dung

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 2%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY29udGVudC9ibG9jay9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGNvbnRlbnRcXGJsb2NrXFxibG9jay5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUhBQXFILEVBQUE7O0FBR3ZIO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXFCO0VBQ3JCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsZUFBZTtF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QixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFVBQVU7RUFFVix5QkFBeUIsRUFBQTs7QUFJM0I7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsMEJBQTBCLEVBQUE7O0FBRzVCO0VBQ0UsbUNBQW1DO0VBQ25DLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHNCQUFzQjtFQUN0QixxQkFBcUIsRUFBQTs7QUFHdkI7RUFDRSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFNBQ0YsRUFBQTs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osMkJBQTJCO0VBQzNCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLDZCQUE2QjtFQUM3QixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsMEJBQTBCO0VBQzFCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGNBQ0YsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbnRlbnQvYmxvY2svYmxvY2suY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiAyJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { domainImage } from '../../../data/const';\nimport { Block } from '../../../data/model';\nimport { Paging, QueryFilter } from '../../../data/dt';\nimport { ToastrService } from 'ngx-toastr';\n\n\n\n@Component({\n selector: 'app-block',\n templateUrl: './block.component.html',\n styleUrls: ['./block.component.scss']\n})\nexport class BlockComponent implements OnInit {\n @ViewChild('BlockModal') public BlockModal: ModalDirective;\n @ViewChild('file') file: ElementRef;\n\n public paging: Paging;\n public q: QueryFilter;\n public listBlock = [];\n public listLanguage = [];\n public ckeConfig: any;\n public Item: Block;\n public progress: number;\n public message: string;\n\n public domainImage = domainImage;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService\n ) {\n this.Item = new Block();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"BlockId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n this.GetListBlock();\n }\n\n //Get block\n GetListBlock() {\n this.http.get('/api/block/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBlock = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n // Get danh sách ngôn ngữ\n GetListLanguage() {\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listLanguage = res[\"data\"];\n if (this.listLanguage.length == 1 && (this.Item.BlockId == undefined || (this.Item.BlockId != undefined && this.Item.LanguageId == undefined))) {\n this.Item.LanguageId = this.listLanguage[0].LanguageId;\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListBlock();\n }\n\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListBlock();\n }\n\n //Mở modal thêm mới\n OpenBlockModal(item) {\n this.Item = new Block();\n this.message = undefined;\n this.progress = undefined;\n this.file.nativeElement.value = \"\";\n\n if (item != undefined) {\n this.Item = Object.assign(this.Item, item);\n }\n this.GetListLanguage();\n\n this.BlockModal.show();\n }\n\n //Thêm mới danh mục trang\n SaveBlock() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(\"Chưa nhập Mã!\");\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.Item.LanguageId == undefined) {\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\n return;\n }\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n if (!this.Item.LanguageId) {\n this.Item.LanguageId = parseInt(localStorage.getItem(\"languageId\"));\n }\n\n if (this.Item.BlockId != undefined) {\n this.http.put('/api/Block/' + this.Item.BlockId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBlock();\n this.BlockModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n else {\n this.http.post('/api/Block', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBlock();\n this.BlockModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/Block/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBlock();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/4', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress) {\n this.progress = Math.round(100 * event.loaded / event.total);\n }\n else if (event.type === HttpEventType.Response) {\n this.message = event.body[\"data\"].toString();\n this.Item.Icon = this.message;\n }\n });\n }\n\n findAuthor(item) {\n if (item == undefined) {\n return \"\";\n }\n else {\n return item.FullName;\n }\n }\n\n RemoveImage() {\n this.Item.Icon = undefined;\n this.file.nativeElement.value = \"\";\n this.message = undefined;\n this.progress = undefined;\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListBlock();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách bình luận\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n\\r\\n Người bình luận\\r\\n \\r\\n\\r\\n Loại bình luận\\r\\n Nội dungẨn/HiệnThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.CustomerName }}\\r\\n Sản phẩm\\r\\n Tin tức\\r\\n \\r\\n {{ (item.Contents.length > 50) ? (item.Contents | slice:0:50) + '...' : (item.Contents) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
               {{ (paging.page - 1) * paging.page_size + i + 1 }}.{{idx + 1}}{{ childItem.CustomerName }}\\r\\n Sản phẩm\\r\\n Tin tức\\r\\n \\r\\n {{ (childItem.Contents.length > 50) ? (childItem.Contents | slice:0:50) + '...' : (childItem.Contents) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".hideChild {\\n display: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY29udGVudC9jb21tZW50L0U6XFx3b3Jrc3BhY2VcXFRUTVxcSU9JVFdlYkFwcFxcQXBwQ01TL3NyY1xcYXBwXFx2aWV3c1xcY29udGVudFxcY29tbWVudFxcY29tbWVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLGFBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbnRlbnQvY29tbWVudC9jb21tZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhpZGVDaGlsZCB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59Il19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { Comment } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { debug } from 'util';\nimport { CommonService } from '../../../service/common.service';\nimport * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\nimport CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder';\n\n\n\n@Component({\n selector: 'app-comment',\n templateUrl: './comment.component.html',\n styleUrls: ['./comment.component.scss']\n})\nexport class CommentComponent implements OnInit {\n @ViewChild('Modal') public modal: ModalDirective;\n\n public paging: any;\n public q: any;\n\n public listComment = [];\n public typeComment = [];\n public listProduct = [];\n public listNews = [];\n public item: Comment;\n public showSort: boolean[] = [true, false];\n public httpOptions: any;\n constructor(\n \tpublic http: HttpClient,\n \tpublic modalDialogService: ModalDialogService,\n \tpublic viewRef: ViewContainerRef,\n \tpublic toastr: ToastrService,\n \tpublic common: CommonService\n \t) {\n \tthis.item = new Comment();\n \tthis.paging = {\n \t\tpage: 1,\n \t\tpage_size: 10,\n \t\tquery: '1=1',\n \t\torder_by: '',\n \t\titem_count: 0\n \t};\n\n this.q = {\n txtSearch: '',\n TargetType: undefined,\n TargetProductId: undefined,\n TargetNewsId: undefined\n }\n\n this.typeComment = [\n \t{ TargetType: 1, Name: \"Sản phẩm\" },\n \t{ TargetType: 2, Name: \"Tin tức\" }\n ];\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n\n }\n\n ngOnInit() {\n \tthis.GetListComment();\n }\n\n Sort(IsK, s, i) {\n if (IsK) {\n this.paging.order_by = s + \" asc\";\n }\n else {\n this.paging.order_by = s + \" desc\";\n }\n this.GetListComment();\n //this.showSort = !IsK;\n for (var j = 0; j < this.showSort.length; j++) {\n if (j == i) {\n this.showSort[j] = IsK;\n }\n else {\n this.showSort[j] = false;\n }\n }\n }\n\n GetListComment() {\n this.http.get('/api/comment/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listComment = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListComment();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged(flag) {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Contents.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Contents.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if(this.q.TargetType != undefined && this.q.TargetType != '') {\n \tif(this.q.TargetType == 1 && flag) {\n \t\tthis.GetListProduct();\n \t} else if(this.q.TargetType == 2 && flag) {\n \t\tthis.GetListNews();\n \t}\n\n \tif (query != '') {\n \t\tquery += ' and TargetType = ' + this.q.TargetType;\n \t}\n \telse {\n \t\tquery += 'TargetType = ' + this.q.TargetType;\n \t}\n }\n\n if(this.q.TargetProductId != undefined && this.q.TargetProductId != '' && this.q.TargetType == 1) {\n \tif (query != '') {\n \t\tquery += ' and TargetId = ' + this.q.TargetProductId;\n \t}\n \telse {\n \t\tquery += 'TargetId = ' + this.q.TargetProductId;\n \t}\n }\n\n if(this.q.TargetNewsId != undefined && this.q.TargetNewsId != '' && this.q.TargetType == 2) {\n \tif (query != '') {\n \t\tquery += ' and TargetId = ' + this.q.TargetNewsId;\n \t}\n \telse {\n \t\tquery += 'TargetId = ' + this.q.TargetNewsId;\n \t}\n }\n\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListComment();\n }\n\n Expand(i) {\n \tthis.listComment[i].Expand = this.listComment[i].Expand ? false : true;\n }\n\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.DeleteComment(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n DeleteComment(Id) {\n this.http.delete('/api/comment/' + Id, this.httpOptions).subscribe(\n (res) => { \n if(res[\"meta\"][\"error_code\"] == 200) {\n this.GetListComment();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else\n {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n ShowHide(id, i, idx) {\n \tlet stt = idx == undefined ? (this.listComment[i].IsShow ? 1 : 10) : (this.listComment[i].listChildComment[idx].IsShow ? 1 : 10);\n \tthis.http.put('/api/comment/ShowHide/' + id + \"/\" + stt,undefined, this.httpOptions).subscribe(\n (res) => { \n if(res[\"meta\"][\"error_code\"] == 200) {\n this.toastSuccess(\"Thay đổi trạng thái bình luận thành công!\");\n }\n else\n {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n if(idx == undefined) this.listComment[i].IsShow = !this.listComment[i].IsShow\n \telse this.listComment[i].listChildComment[idx].IsShow = !this.listComment[i].listChildComment[idx].IsShow;\n\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n if(idx == undefined) this.listComment[i].IsShow = !this.listComment[i].IsShow\n \telse this.listComment[i].listChildComment[idx].IsShow = !this.listComment[i].listChildComment[idx].IsShow;\n }\n );\n }\n\n GetListProduct() {\n \tthis.http.get('/api/product/GetByPage?page=1&query=1=1&order_by=&select=ProductId,Name', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listProduct = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n GetListNews() {\n \tthis.http.get('/api/news/GetByPage?page=1&query=1=1&order_by=&select=NewsId,Title', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listNews = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách tin tức

            \\r\\n \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Tiêu đề\\r\\n Danh mục\\r\\n Lượt xem\\r\\n Ẩn/Hiện
            \\r\\n \\r\\n \\r\\n \\r\\n {{ item.Title }}\\r\\n
              \\r\\n
            • ID: {{item.NewsId}} |
            • \\r\\n
            • Chỉnh sửa |
            • \\r\\n
            • Xóa
            • \\r\\n
            \\r\\n
            \\r\\n {{cate.Name}} \\r\\n \\r\\n {{ item.ViewNumber }}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới tin tức

            \\r\\n

            Sửa thông tin tin tức

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            Hình ảnhTên bài viếtThao tác
            \\r\\n \\r\\n \\r\\n {{ item.Title }}\\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n {{newDescriptionImage.value.length}}/180\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progressAttachment < 100\\\">\\r\\n {{progressAttachment}}%\\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" min=\\\"1\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Chọn tin nổi bật ngoài trang chủ

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n {{item.TargetName}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 30%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvY29udGVudC9uZXdzLXRleHQvRTpcXHdvcmtzcGFjZVxcVFRNXFxJT0lUV2ViQXBwXFxBcHBDTVMvc3JjXFxhcHBcXHZpZXdzXFxjb250ZW50XFxuZXdzLXRleHRcXG5ld3MtdGV4dC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUhBQXFILEVBQUE7O0FBR3ZIO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXFCO0VBQ3JCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FBR3JC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LGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFVBQVU7RUFFVix5QkFBeUIsRUFBQTs7QUFJM0I7RUFDRSxXQUFXO0VBQ1gsa0JBQWlCLEVBQUE7O0FBR25CO0VBQ0Usc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsMEJBQTBCLEVBQUE7O0FBSTVCO0VBQ0UsbUNBQW1DO0VBQ25DLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHNCQUFzQjtFQUN0QixxQkFBcUIsRUFBQTs7QUFHdkI7RUFDRSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFNBQ0YsRUFBQTs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osMkJBQTJCO0VBQzNCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLDZCQUE2QjtFQUM3QixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsMEJBQTBCO0VBQzFCLGdCQUFnQixFQUFBOztBQUVsQjtFQUNFLGNBQ0YsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbnRlbnQvbmV3cy10ZXh0L25ld3MtdGV4dC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWxpc3Qge1xyXG4gIHdpZHRoOiA1MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3gge1xyXG4gIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1hbmltYXRpbmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94Omxhc3QtY2hpbGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leGFtcGxlLWJveDpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG5oMS5jbXMtaGVhZGluZy1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDIzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLW1haW4ge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5jbXMtY29udGVudCB7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5jbXMtYWRkbmV3IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYS5jdXJyZW50IHtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgbGkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbnVsLmNtcy1zdWJzdWJzdWIge1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG4uY21zLWZpbHRlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBhIHtcclxuICBsaW5lLWhlaWdodDogMjtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUsIC50YWJsZS1ib3JkZXJlZCB0aCwgLnRhYmxlLWJvcmRlcmVkIHRkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRoZWFkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi10aHVtYiB7XHJcbiAgd2lkdGg6IDUlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1uYW1lIHtcclxuICB3aWR0aDogMzAlO1xyXG59XHJcbi5jb2x1bW4tY2F0IHtcclxuICB3aWR0aDogMjAlO1xyXG59XHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxudGJvZHkgdHIgdGQgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aWR0aDo0MHB4O1xuICBoZWlnaHQ6NDBweDtcclxufVxyXG4uc3F1YXJlZGNoZWNrIGxhYmVsOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzcHg7XHJcbiAgbGVmdDogMnB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuXHJcbnRhYmxlLmZpeGVkX2hlYWRlciB7XHJcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206MHB4O1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQge1xyXG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB0ciB7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE3cHgpICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aCwgLmZpeGVkX2hlYWRlciB0ZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlcjowXHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayBsYWJlbCB7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZDogI2VhZjRmZjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciBpbWcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtcHJpIHtcclxuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICBjb2xvcjogI2I1YjNiMztcclxufVxyXG5cclxuc3Bhbi5wcmljZS1uZXcge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxudGFibGUuZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2t7XG4gIHdpZHRoOmluaGVyaXRcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { typeCategoryNews, domainImage } from '../../../data/const';\r\nimport { News, Attactment, Website } from '../../../data/model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CommonService } from '../../../service/common.service';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\r\nimport { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\n\r\n\r\n\r\nexport const MY_CUSTOM_FORMATS = {\r\n parseInput: 'DD/MM/YYYY HH:mm',\r\n fullPickerInput: 'DD/MM/YYYY HH:mm',\r\n datePickerInput: 'DD/MM/YYYY',\r\n timePickerInput: ' HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'app-news-text',\r\n templateUrl: './news-text.component.html',\r\n styleUrls: ['./news-text.component.scss'],\r\n providers: [\r\n { provide: DateTimeAdapter, useClass: MomentDateTimeAdapter, deps: [OWL_DATE_TIME_LOCALE] },\r\n { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS }\r\n ]\r\n})\r\nexport class NewsTextComponent implements OnInit {\r\n @ViewChild('NewsModal') public NewsModal: ModalDirective;\r\n @ViewChild('HighlightNewsModal') public HighlightNewsModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n @ViewChild('attachment') attachment: ElementRef;\r\n @ViewChild('tabset') tabset: TabsetComponent;\r\n\r\n\r\n public paging: Paging;\r\n public q: QueryFilter;\r\n public IsAll: boolean;\r\n public listNews = [];\n public listOrderByProduct = [];\n public listNewsT = [];\r\n public listCateNews = [];\r\n public listSuggestNews = [];\r\n public Tag: string;\r\n public CheckBoxStatus: boolean;\r\n\r\n public ckeConfig: any;\n public objNew: any;\r\n\r\n public listTypeNews = typeCategoryNews;\r\n\r\n public Item: News;\r\n\r\n public progress: number;\r\n public progressAttachment: number;\r\n\r\n public message: string;\r\n public domainImage = domainImage;\r\n public CheckConfirmNews: boolean;\r\n public website: Website;\r\n\r\n public httpOptions: any;\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public datePipe: DatePipe,\r\n public common: CommonService\r\n ) {\r\n this.Item = new News();\r\n this.paging = new Paging();\r\n this.website = new Website();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"IsService != true\";\r\n this.paging.order_by = \"NewsId Desc\";\r\n this.paging.item_count = 0;\r\n\r\n this.q = new QueryFilter();\r\n this.q.txtSearch = \"\";\r\n // this.q = {\r\n // cate: -1,\r\n // type: -1,\r\n // txtSearch: ''\r\n // }\r\n this.IsAll = false;\r\n\r\n this.CheckConfirmNews = this.common.CheckAccessKey(localStorage.getItem(\"access_key\"), \"DBV\");\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n\r\n this.GetListNews();\r\n this.GetListCateNews();\r\n }\r\n\r\n //Lấy toàn bộ danh sách tin văn bản\r\n GetListAllNews() {\r\n let query = \"\";\r\n if (this.Item.NewsId != undefined) {\r\n query = \"IsService != true and TypeNewsId == 1 and NewsId !=\" + this.Item.NewsId;\r\n }\r\n else {\r\n query = \"IsService != true and TypeNewsId == 1\";\r\n }\r\n this.http.get('/api/news/GetByPage?page=1&query=' + query + '&order_by=&select=NewsId,Title,Url,Image', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listSuggestNews = res[\"data\"];\r\n this.listSuggestNews.forEach(item => {\r\n item.Check = false;\r\n });\r\n\r\n if (this.Item.NewsId != undefined) {\r\n for (var i = 0; i < this.listSuggestNews.length; i++) {\r\n for (var j = 0; j < this.Item.listRelated.length; j++) {\r\n if (this.listSuggestNews[i].NewsId == this.Item.listRelated[j].TargetRelatedId) {\r\n this.listSuggestNews[i].Check = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Get danh sách danh bài viết\r\n GetListNews() {\r\n this.http.get('/api/news/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listNews = res[\"data\"];\r\n this.listNews.forEach(item => {\r\n item.IsShow = item.Status == 1 ? true : false;\r\n });\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetListCateNews() {\r\n // this.Item.listCategory = [];\r\n console.log(this.Item.listCategory);\r\n let query = 'TypeCategoryId=1 OR TypeCategoryId=2 OR TypeCategoryId=3 OR TypeCategoryId=4 OR TypeCategoryId=5';\r\n if (!this.IsAll) {\r\n query = this.Item.TypeNewsId != undefined ? \"TypeCategoryId=\" + this.Item.TypeNewsId : \"TypeCategoryId=-1\";\r\n }\r\n\r\n this.http.get('/api/category/GetByPage?page=1&query=' + query, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCateNews = [];\r\n if (res[\"data\"].length > 0) {\r\n res[\"data\"].forEach(cate => {\r\n this.listCateNews.push({ CategoryId: cate.CategoryId, Name: cate.Name, Check: false });\r\n });\r\n\r\n if (this.Item.NewsId != undefined) {\r\n for (let i = 0; i < this.listCateNews.length; i++) {\r\n for (let j = 0; j < this.Item.listCategory.length; j++) {\r\n if (this.listCateNews[i].CategoryId == this.Item.listCategory[j].CategoryId) {\r\n this.listCateNews[i].Check = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListOrderBy() {\n this.http.get('/api/orderby/GetOrderBy/11', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listOrderByProduct = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n OpenChooseHighlightsNews() {\n this.listOrderByProduct = [];\n this.GetListOrderBy();\n this.HighlightNewsModal.show();\n }\n\n SaveHighlightNews() {\n this.http.post('/api/orderby', this.listOrderByProduct, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.HighlightNewsModal.hide();\n this.toastSuccess(\"Lưu thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n DeleteOrderBy(item) {\n for (let i = 0; i < this.listOrderByProduct.length; i++) {\n if (this.listOrderByProduct[i].CategoryMappingId == item.CategoryMappingId) {\n this.listOrderByProduct[i].Status = 99;\n break;\n }\n }\n }\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListNews();\r\n }\r\n\r\n //Thông báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n //\r\n QueryChanged() {\r\n let query = 'IsService != true';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and Title.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n else {\r\n query += 'Title.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n }\r\n\r\n if (this.q[\"Type\"] != undefined) {\r\n if (query != '') {\r\n query += ' and TypeNewsId=' + this.q[\"Type\"];\r\n }\r\n else {\r\n query += 'TypeNewsId=' + this.q[\"Type\"];\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListNews();\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenNewsModal(item) {\r\n //this.tabset.tabs[0].active = true;\r\n this.Item = new News();\r\n this.Item.listCategory = [];\r\n this.Item.listTag = [];\r\n this.Item.listAttachment = [];\r\n this.Tag = \"\";\r\n this.IsAll = true;\r\n if (this.file) this.file.nativeElement.value = \"\";\r\n\r\n this.message = undefined;\r\n this.progress = undefined;\r\n\r\n this.progressAttachment = undefined;\r\n this.GetListAllNews();\r\n this.GetListCateNews();\n this.Item.TypeNewsId = 1;\n\r\n this.CheckBoxStatus = true;\r\n if (item != undefined) {\r\n // this.Item = Object.assign(this.Item, item);\r\n this.Item = JSON.parse(JSON.stringify(item));\r\n this.CheckBoxStatus = this.Item.Status == 1 ? true : false;\r\n }\r\n \r\n this.NewsModal.show();\r\n }\r\n //Thêm mới danh mục trang\r\n SaveNews() {\r\n if (this.Item.TypeNewsId == undefined) {\r\n this.toastWarning(\"Chưa chọn Loại tin!\");\r\n return;\r\n } else if (this.Item.Title == undefined || this.Item.Title == '') {\r\n this.toastWarning(\"Chưa nhập Tiêu đề!\");\r\n return;\r\n } else if (this.Item.Title.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tiêu đề!\");\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\r\n this.toastWarning(\"Chưa nhập Đường dẫn!\");\r\n return;\r\n } else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập đường dẫn!\");\r\n return;\r\n }\r\n else if (this.Item.TypeNewsId != 3 && this.Item.TypeNewsId != 4 && (this.Item.Contents == undefined || this.Item.Contents == '')) {\r\n this.toastWarning(\"Chưa nhập Nội dung!\");\r\n return;\r\n }\r\n\r\n this.Item.Status = this.CheckBoxStatus ? 1 : 10;\r\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n\r\n if (typeof this.Item.DateStartActive === 'object' && this.Item.DateStartActive != undefined) {\r\n let DateStartActive = this.Item.DateStartActive.add(7, 'hours');\r\n this.Item.DateStartActive = DateStartActive.toISOString();\r\n }\r\n\r\n if (typeof this.Item.DateStartOn === 'object' && this.Item.DateStartOn != undefined) {\r\n let DateStartOn = this.Item.DateStartOn.add(7, 'hours');\r\n this.Item.DateStartOn = DateStartOn.toISOString();\r\n }\r\n\r\n if (typeof this.Item.DateEndOn === 'object' && this.Item.DateEndOn != undefined) {\r\n let DateEndOn = this.Item.DateEndOn.add(7, 'hours');\r\n this.Item.DateEndOn = DateEndOn.toISOString();\r\n }\r\n \r\n let obj = Object.assign({}, this.Item);\r\n obj.listRelated = [];\r\n this.listSuggestNews.forEach(item => {\r\n if (item.Check == true) {\r\n let it = { TargetRelatedId: item.NewsId }\r\n obj.listRelated.push(it);\r\n }\r\n });\r\n\r\n if (this.Item.NewsId == undefined) {\r\n //this.Item.listCategory = [];\r\n //this.listCateNews.forEach(item => {\r\n // if (item.Check) {\r\n // this.Item.listCategory.push(item);\r\n // }\r\n //});\n\n obj.listCategory = this.listNewsT;\n\r\n this.http.post('/api/news', obj, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListNews();\r\n this.NewsModal.hide();\r\n this.toastSuccess(\"Thêm mới thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n else {\r\n let arr = [];\r\n obj.listCategory.forEach(item => {\r\n var flag = false;\r\n for (var i = 0; i < this.listCateNews.length; i++) {\r\n if (item.CategoryId == this.listCateNews[i].CategoryId && this.listCateNews[i].Check == true) {\r\n flag = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!flag) {\r\n item.Check = false;\r\n arr.push(item);\r\n }\r\n });\r\n\r\n obj.listCategory = arr.concat(this.listCateNews.filter(e => e.Check == true));\r\n\r\n this.http.put('/api/news/' + obj.NewsId, obj, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListNews();\r\n this.NewsModal.hide();\r\n this.toastSuccess(\"Cập nhật thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n }\r\n\r\n ToggleCateToList(id) {\r\n console.log(this.listCateNews);\n this.listNewsT = [];\r\n //if (this.Item.listCategory.includes(id)) {\r\n // let index = this.Item.listCategory.indexOf(id, 0);\r\n // this.Item.listCategory.splice(index, 1);\r\n //}\r\n //else\r\n // this.Item.listCategory.push(id);\n for (var i = 0; i < this.listCateNews.length; i++) {\n if (this.listCateNews[i].Check == true) {\n this.objNew = this.listCateNews[i];\n this.listNewsT.push(this.objNew);\r\n }\r\n }\n console.log('---');\n //console.log(this.listNewsT);\r\n }\r\n\r\n AddTag() {\r\n if (this.Tag != undefined && this.Tag != '') {\r\n this.Item.listTag.push({ TagId: null, Name: this.Tag, Check: false });\r\n this.Tag = '';\r\n }\r\n }\r\n\r\n RemoveTag(i) {\r\n if (this.Item.NewsId == undefined) {\r\n this.Item.listTag.splice(i, 1);\r\n }\r\n else {\r\n if (this.Item.listTag[i].TagId != null) {\r\n this.Item.listTag[i].Check = false;\r\n }\r\n else {\r\n this.Item.listTag.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n ChangeTitle(key) {\r\n switch (key) {\r\n case 1:\r\n this.Item.MetaTitle = this.Item.Title;\r\n this.Item.MetaKeyword = this.Item.Title;\r\n this.Item.Url = this.common.ConvertUrl(this.Item.Title);\r\n break;\r\n case 2:\r\n this.Item.MetaDescription = this.Item.Description;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: 'Xác nhận',\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\r\n },\r\n actionButtons: [\r\n {\r\n text: 'Đồng ý',\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n this.DeleteNews(Id);\r\n }\r\n },\r\n {\r\n text: 'Đóng',\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n DeleteNews(Id) {\r\n this.http.delete('/api/news/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListNews();\r\n this.viewRef.clear();\r\n this.toastSuccess(\"Xóa thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n upload(files, cs) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n\r\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/1', formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n switch (cs) {\r\n case 1:\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n break;\r\n case 2:\r\n this.progressAttachment = Math.round(100 * event.loaded / event.total);\r\n this.attachment.nativeElement.value = \"\";\r\n break;\r\n default:\r\n break;\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n switch (cs) {\r\n case 1:\r\n this.message = event.body[\"data\"].toString();\r\n this.Item.Image = this.message;\r\n break;\r\n case 2:\r\n this.attachment.nativeElement.value = \"\";\r\n\r\n event.body[\"data\"].forEach(item => {\r\n let attachment = new Attactment();\r\n attachment.Url = item;\r\n attachment.IsImageMain = false;\r\n attachment.Status = 1;\r\n this.Item.listAttachment.push(attachment);\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n findAuthor(item) {\r\n if (item == undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.FullName;\r\n }\r\n }\r\n\r\n RemoveImage() {\r\n this.Item.Image = undefined;\r\n this.file.nativeElement.value = \"\";\r\n this.message = undefined;\r\n this.progress = undefined;\r\n }\r\n\r\n ShowHide(id, i) {\r\n let stt = this.listNews[i].IsShow ? 1 : 10;\r\n this.http.put('/api/news/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.toastSuccess(\"Thay đổi trạng thái thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listNews[i].IsShow = !this.listNews[i].IsShow;\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n this.listNews[i].IsShow = !this.listNews[i].IsShow;\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListNews();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n RemoveAttachment(idx) {\r\n if (this.Item.listAttachment[idx].AttactmentId == undefined) {\r\n this.Item.listAttachment.splice(idx, 1);\r\n }\r\n else {\r\n this.Item.listAttachment[idx].Status = 99;\r\n }\r\n }\r\n\r\n SetIsMain(idx) {\r\n for (let i = 0; i < this.Item.listAttachment.length; i++) {\r\n this.Item.listAttachment[i].IsImageMain = false;\r\n if (idx == i) {\r\n this.Item.listAttachment[i].IsImageMain = true;\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'CUSTOMER.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'CUSTOMER.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'CUSTOMER.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            `\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'CUSTOMER.DISPLAY' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'CUSTOMER.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'CUSTOMER.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'CUSTOMER.INTODISPLAY' | translate}} {{ paging.item_count }} {{'CUSTOMER.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2N1c3RvbWVyL2N1c3RvbWVyLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, ViewEncapsulation } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { domainImage } from '../../data/const';\r\nimport { Customer, ResetPasswordCustomerDTO } from '../../data/model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Md5 } from 'ts-md5/dist/md5';\r\nimport { Paging, QueryFilter, tablesilde } from '../../data/dt';\r\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\r\nimport { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';\r\nimport languages from '../../../assets/i18n/languages.json';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-customer',\r\n templateUrl: './customer.component.html',\r\n styleUrls: ['./customer.component.scss'],\r\n styles: ['.th-custom { position: sticky !important; top: -1px !important; z-index: 99 !important; color: white !important; background: #3c8dbc !important; }'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class CustomerComponent implements OnInit {\r\n @ViewChild('CustomerModal') public CustomerModal: ModalDirective;\r\n @ViewChild('ResetPasswordModal') public ResetPasswordModal: ModalDirective;\r\n @ViewChild('OrdersModal') public OrdersModal: ModalDirective;\r\n\r\n @ViewChild('file') file: ElementRef;\r\n\r\n public paging: any;\r\n public pagingItem: any;\r\n public q: any;\r\n\r\n public listCustomer = [];\r\n public headerCustomer = [];\r\n public listCompany = [];\r\n public listBranchSearch = [];\r\n public ckeConfig: any;\r\n public httpOptions: any;\r\n public role: number;\r\n companyId: number;\r\n BranchId: string;\r\n UserId: number;\r\n public companyselect: number;\r\n public companyselectsearch: number;\r\n public tablesilde = [];\r\n public ListVatLieu = [];\r\n querytable: string;\r\n public lstLanguage: Array = languages;\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public datePipe: DatePipe,\r\n public translate: TranslateService\r\n ) {\r\n\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: '1=1',\r\n order_by: 'name Desc',\r\n item_count: 0\r\n };\r\n\r\n this.q = {\r\n txtSearch: ''\r\n }\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n translate.addLangs(this.lstLanguage);\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n\r\n var json = JSON.parse(localStorage.getItem('roles'));\r\n this.companyId = parseInt(localStorage.getItem('companyId'));\r\n this.UserId = parseInt(localStorage.getItem('userId'));\r\n this.BranchId = localStorage.getItem('BranchId');\r\n this.companyselect = -1;\r\n if (json.length > 0) {\r\n for (var i = 0; i < json.length; i++) {\r\n this.role = json[i].RoleId\r\n }\r\n }\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n this.paging.Branchid = '';\r\n if (this.role == 3) {\r\n this.GetListBranchSearchStart();\r\n }\r\n if (this.role == 4) {\r\n this.GetListBranchCTCon();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (this.role == 1) {\r\n this.GetListCompany();\r\n }\r\n\r\n if(this.role != 1){\r\n this.paging.Branchid = this.BranchId;\r\n this.GetListBranchSearchStart();\r\n }\r\n //Tạo table\r\n let obj = new tablesilde();\r\n obj.name = 'MAMACBETONG';\r\n obj.nametable = 'Mác BT';\r\n obj.nameget = 'item.MAMACBETONG';\r\n this.tablesilde.push(obj);\r\n //\r\n let obj1 = new tablesilde();\r\n obj1.name = 'TENMACBETONG';\r\n obj1.nametable = 'Mác BT';\r\n obj1.nameget = 'item.TENMACBETONG'\r\n this.tablesilde.push(obj1);\r\n this.GetListVatLieu();\r\n this.GetListCustomer();\r\n }\r\n\r\n //Get danh sach khach hang\r\n GetListCustomer() {\r\n this.http.get('/api/customer/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCustomer = res[\"data\"];\r\n this.headerCustomer = res[\"data1\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n this.querytable = '';\r\n this.querytable += '';\r\n this.querytable += '';\r\n for (var i = 0; i < this.headerCustomer.length; i++) {\r\n this.querytable += ''\r\n }\r\n this.querytable += '';\r\n for (var i = 0; i < this.listCustomer.length; i++) {\r\n let item = this.listCustomer[i];\r\n this.querytable += ''\r\n for (var j = 0; j < this.listCustomer[i].length; j++) {\r\n this.querytable += ''\r\n }\r\n this.querytable += ''\r\n }\r\n this.querytable += '
            '\r\n this.querytable += this.headerCustomer[i];\r\n this.querytable += '
            '\r\n this.querytable += item[j]\r\n this.querytable += '
            '\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n ExportExcel() {\r\n if (this.paging.CompanyId == undefined) {\r\n this.paging.CompanyId = 0;\r\n }\r\n fetch('/api/Customer/GetReport?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, {\r\n method: 'GET',\r\n headers: new Headers({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n })\r\n .then(function (response) {\r\n var blob = response.blob();\r\n return blob;\r\n }).then(blob => {\r\n var DateObj = new Date();\r\n var date = ('0' + DateObj.getDate()).slice(-2) + '_' + ('0' + (DateObj.getMonth() + 1)).slice(-2) + '_' + DateObj.getFullYear();\r\n this.DownloadFile(blob, \"quan_ly_cap_phoi_\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n });\r\n }\r\n DownloadFile(data: Blob, filename: string, mime: string): void {\r\n var blob = new Blob([data], { type: mime || 'application/octet-stream' });\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n // IE workaround for \"HTML7007: One or more blob URLs were \r\n // revoked by closing the blob for which they were created. \r\n // These URLs will no longer resolve as the data backing \r\n // the URL has been freed.\"\r\n window.navigator.msSaveBlob(blob, filename);\r\n }\r\n else {\r\n var blobURL = window.URL.createObjectURL(blob);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute('download', filename);\r\n tempLink.setAttribute('target', '_blank');\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n document.body.removeChild(tempLink);\r\n }\r\n }\r\n GetListCompany() {\r\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearchStart() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyId + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n let localtramtron = localStorage.getItem(\"BranchId\");\r\n if (localtramtron != \"undefined\") {\r\n let ids = localtramtron.split(\",\").map(Number);\r\n this.listBranchSearch = this.listBranchSearch.filter(\r\n (x) => ids.includes(x.BranchId)\r\n );\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchCTCon() {\r\n this.http.get('/api/Order/GetByUser?id=' + this.UserId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearch() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n QueryChanged() {\r\n\r\n let query = '';\r\n //if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n // if (query != '') {\r\n // query += \" AND ( nv.NGAYDATHANG >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND nv.NGAYDATHANG <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n // }\r\n // else {\r\n // query += \"( nv.NGAYDATHANG >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND nv.NGAYDATHANG <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n // }\r\n //}\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n //this.q.Branchlist.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // }\r\n //});\r\n }\r\n else {\r\n this.paging.Branchid = '';\r\n if (this.role != 1) {\r\n this.listBranchSearch.forEach((item, index) => {\r\n if (item != '') {\r\n this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n }\r\n });\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListCustomer();\r\n }\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListCustomer();\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\r\n }\r\n //\r\n GetBranch() {\r\n this.companyselectsearch = this.q.CompanyId;\r\n this.listBranchSearch = [];\r\n this.q.BranchId = null;\r\n this.GetListBranchSearch();\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListCustomer();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n GetListVatLieu() {\r\n this.http.get('/api/Customer/GetVatLieu?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ListVatLieu = res[\"data\"];\r\n if (this.ListVatLieu.length > 0) {\r\n\r\n for (var i = 0; i < this.ListVatLieu.length; i++) {\r\n let obj = new tablesilde();\r\n obj.name = this.ListVatLieu[i].TENCUAVL;\r\n obj.nametable = this.ListVatLieu[i].TENCUAVL;\r\n obj.nameget = 'item.VL_' + this.ListVatLieu[i].MACUAVL + ''\r\n this.tablesilde.push(obj);\r\n }\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{ 'DASHBOARD.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{ 'DASHBOARD.SUBHEADING' | translate }}
            2. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n

            {{ totaldonhang }}

            \\r\\n \\r\\n

            {{ 'DASHBOARD.DONHANGTRONGNGAY' | translate }}

            \\r\\n

            {{ 'DASHBOARD.DONHANGNGAYHOMQUA' | translate }}

            \\r\\n

            {{ 'DASHBOARD.DONHANGTRONGTUAN' | translate }}

            \\r\\n

            {{ 'DASHBOARD.DONHANGTRONGTUANTRUOC' | translate }}

            \\r\\n

            {{ 'DASHBOARD.DONHANGTRONGTHANG' | translate }}

            \\r\\n

            {{ 'DASHBOARD.DONHANGTRONGTHANGTRUOC' | translate }}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ 'DASHBOARD.CHITIET' | translate }} \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n

            {{ totalmac}}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTRONGNGAY' | translate }}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTRONGNGAYHOMQUA' | translate }}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTRONGTUAN' | translate }}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTRONGTUANTRUOC' | translate }}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTRONGTHANG' | translate }}

            \\r\\n

            {{ 'DASHBOARD.MACBETONGTHANGTRUOC' | translate }}

            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ 'DASHBOARD.CHITIET' | translate }} \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n

            {{ totalxe }}

            \\r\\n \\r\\n

            {{ 'DASHBOARD.XETRONTRONGNGAY' | translate }}

            \\r\\n

            {{ 'DASHBOARD.XETRONTRONGNGAYHOMQUA' | translate }}

            \\r\\n

            {{ 'DASHBOARD.XETRONTRONGTUAN' | translate }}

            \\r\\n

            {{ 'DASHBOARD.XETRONTRONGTUANTRUOC' | translate }}

            \\r\\n

            {{ 'DASHBOARD.XETRONTRONGTHANG' | translate }}

            \\r\\n

            {{ 'DASHBOARD.XETRONTRONGTHANGTRUOC' | translate }}

            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ 'DASHBOARD.CHITIET' | translate }} \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n

            {{totalTENNV}}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONTRONGNGAY' | translate }}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONHOMQUA' | translate }}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONTRONGTUAN' | translate }}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONTUANTRUOC' | translate }}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONTRONGTHANG' | translate }}

            \\r\\n

            {{ 'DASHBOARD.KINHDOANHCODONTRONGTHANGTRUOC' | translate }}

            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ 'DASHBOARD.CHITIET' | translate }} \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n

            \\r\\n \\r\\n {{ 'DASHBOARD.KHOILUONG' | translate }}\\r\\n \\r\\n

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n\"","import { Component, OnInit } from \"@angular/core\";\nimport {\n getLocaleCurrencyName,\n Location,\n LocationStrategy,\n PathLocationStrategy,\n} from \"@angular/common\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { ModalDialogService, SimpleModalComponent } from \"ngx-modal-dialog\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { Order, OrderItem } from \"../../data/model\";\nimport { debug } from \"util\";\nimport { DatePipe } from \"@angular/common\";\nimport {\n TranslateModule,\n TranslateLoader,\n TranslateService,\n} from \"@ngx-translate/core\";\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\n\n// AoT requires an exported function for factories\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n@Component({\n providers: [\n Location,\n {\n provide: LocationStrategy,\n useClass: PathLocationStrategy,\n },\n ],\n templateUrl: \"dashboard.component.html\",\n})\nexport class DashboardComponent implements OnInit {\n public language_code: string = localStorage.getItem(\"langSelect\");\n\n public paging: any;\n public pagingItem: any;\n public q: any;\n public listOrder = [];\n public listOrderCharH = [\n { NGAYDATHANG: \"0H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"1H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"2H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"3H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"4H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"5H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"6H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"7H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"8H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"9H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"10H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"11H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"12H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"13H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"14H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"15H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"16H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"17H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"18H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"19H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"20H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"21H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"22H\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"23H\", METKHOITICHLUY: 0 },\n ];\n\n public listOrderChartW = [\n { NGAYDATHANG: \"Thứ 2\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Thứ 3\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Thứ 4\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Thứ 5\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Thứ 6\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Thứ 7\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"Chủ nhật\", METKHOITICHLUY: 0 },\n ];\n public listOrderChartD = [\n { NGAYDATHANG: \"1\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"2\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"3\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"4\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"5\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"6\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"7\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"8\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"9\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"10\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"11\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"12\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"13\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"14\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"15\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"16\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"17\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"18\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"19\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"20\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"21\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"22\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"23\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"24\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"25\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"26\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"27\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"28\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"29\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"30\", METKHOITICHLUY: 0 },\n { NGAYDATHANG: \"31\", METKHOITICHLUY: 0 },\n ];\n public listCompany = [];\n public listBranchSearch = [];\n public ckeConfig: any;\n public barChartLabels: string[] = [];\n\n public httpOptions: any;\n public role: number;\n companyId: number;\n BranchId: string;\n UserId: number;\n public totalName: string[] = [];\n public totaldonhang: number;\n\n public totalTENNV: number;\n public totalmac: number;\n public totalxe: number;\n public totalMETKHOITICHLUY: string[] = [];\n\n public companyselectsearch: number;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public toastr: ToastrService,\n public datepipe: DatePipe,\n private translate: TranslateService\n ) {\n this.paging = {\n page: 1,\n page_size: 10,\n query: \"1=1\",\n querychar: \"1=1\",\n order_by: \"NGAYDATHANG Desc\",\n item_count: 0,\n };\n\n this.q = {\n txtSearch: \"\",\n };\n\n console.log(this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\"));\n this.httpOptions = {\n headers: new HttpHeaders({\n Authorization: \"bearer \" + localStorage.getItem(\"access_token\"),\n }),\n };\n }\n public barChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n legend: {\n labels: {\n // This more specific font property overrides the global property\n fontColor: \"black\",\n fontSize: 18,\n },\n },\n };\n\n public barChartType = \"line\";\n public barChartLegend = true;\n\n public barChartData = [\n {\n data: [],\n label: this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") + \": \",\n },\n ];\n\n ngOnInit(): void {\n localStorage.setItem(\"thoigiand\", undefined);\n localStorage.setItem(\"congtyd\", undefined);\n localStorage.setItem(\"tramtrond\", undefined);\n localStorage.setItem(\"getlinkd\", \"0\");\n\n //this.translate.get('vi', 'USER.HEADING').subscribe((res: string) => {\n // console.log(res);\n //});\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: \"divarea\",\n forcePasteAsPlainText: true,\n };\n var json = JSON.parse(localStorage.getItem(\"roles\"));\n this.companyId = parseInt(localStorage.getItem(\"companyId\"));\n this.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.BranchId = localStorage.getItem(\"BranchId\");\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId;\n }\n }\n console.log(this.role);\n this.q.status = \"0\";\n this.paging.Branchid = \"\";\n if (this.role == 3) {\n this.paging.CompanyId = this.companyId;\n this.GetListBranchSearchStart();\n } else {\n this.paging.CompanyId = 0;\n }\n if (this.role == 4) {\n this.GetListBranchCTCon();\n this.paging.Branchid = this.BranchId;\n }\n if (this.role != 1) {\n this.GetListBranchSearchStart();\n this.paging.Branchid = this.BranchId;\n }\n\n // let today = new Date().toLocaleDateString().substr(0, 10);\n let today = new Date();\n this.q.tungay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n this.q.denngay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n\n this.paging.query =\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n this.paging.querychar =\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n this.GetListOrder();\n this.GetListCompany();\n this.GetListOrderChart();\n this.GetListOrderDH();\n }\n //Get danh sách danh mục đơn hàng\n GetListOrder() {\n this.http\n .get(\n \"/api/Dashboard/GetByPage?page=\" +\n this.paging.page +\n \"&page_size=\" +\n this.paging.page_size +\n \"&query=\" +\n this.paging.querychar +\n \"&order_by=\" +\n this.paging.order_by +\n \"&companyid=\" +\n this.paging.CompanyId +\n \"&Branchlist=\" +\n this.paging.Branchid,\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listOrder = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n this.totalMETKHOITICHLUY = [];\n this.totalName = [];\n for (let index in this.listOrder) {\n if (\n this.totalMETKHOITICHLUY.find(\n (item) => item == this.listOrder[index].Name\n ) == undefined\n ) {\n this.totalMETKHOITICHLUY.push(this.listOrder[index].Name);\n }\n if (\n this.totalName.find(\n (item) => item == this.listOrder[index].TENNV\n ) == undefined\n ) {\n this.totalName.push(this.listOrder[index].TENNV);\n }\n }\n this.totalmac = this.totalMETKHOITICHLUY.length;\n this.totalxe = this.totalName.length;\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListOrderDH() {\n this.http\n .get(\n \"/api/Dashboard/GetByPageDH?page=\" +\n this.paging.page +\n \"&page_size=\" +\n this.paging.page_size +\n \"&query=\" +\n this.paging.query +\n \"&order_by=\" +\n this.paging.order_by +\n \"&companyid=\" +\n this.paging.CompanyId +\n \"&Branchlist=\" +\n this.paging.Branchid,\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listOrder = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n this.totaldonhang = 0;\n this.totalTENNV = 0;\n for (let index in this.listOrder) {\n this.totaldonhang =\n this.totaldonhang + this.listOrder[index].donhang;\n this.totalTENNV = this.totalTENNV + 1;\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListOrderChart() {\n this.http\n .get(\n \"/api/Dashboard/GetByPageChart?page=\" +\n this.paging.page +\n \"&page_size=\" +\n this.paging.page_size +\n \"&query=\" +\n this.paging.querychar +\n \"&order_by=\" +\n this.paging.order_by +\n \"&sort=\" +\n this.q.status +\n \"&companyid=\" +\n this.paging.CompanyId +\n \"&Branchlist=\" +\n this.paging.Branchid,\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n let data = res[\"data\"];\n //debugger;\n let sum = 0;\n if (this.q.status == \"0\") {\n this.listOrderCharH.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderCharH.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum = sum + value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderCharH.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderCharH\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n if (this.q.status == \"1\") {\n this.listOrderCharH.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderCharH.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum = sum + value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderCharH.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderCharH\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n if (this.q.status == \"2\") {\n this.listOrderChartW.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderChartW.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum += value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderChartW.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderChartW\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n if (this.q.status == \"3\") {\n this.listOrderChartW.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderChartW.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum += value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderChartW.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderChartW\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n if (this.q.status == \"4\") {\n this.listOrderChartD.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderChartD.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum += value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderChartD.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderChartD\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n if (this.q.status == \"5\") {\n this.listOrderChartD.forEach(function (value) {\n value.METKHOITICHLUY = 0;\n });\n if (data != null) {\n let that1 = this;\n data.forEach(function (value) {\n that1.listOrderChartD.find(\n (item) => item.NGAYDATHANG == value.NGAYDATHANG\n ).METKHOITICHLUY = value.METKHOITICHLUY;\n sum += value.METKHOITICHLUY;\n });\n }\n this.barChartData = [\n {\n data: this.listOrderChartD.map((x) => x.METKHOITICHLUY),\n label:\n this.translate.instant(\"DASHBOARD.TONG_KHOI_LUONG\") +\n \": \" +\n sum.toFixed(1).toString() +\n \"m3\",\n },\n ];\n if (this.barChartLabels.length !== 0) {\n this.barChartLabels.splice(0, 99);\n }\n let that = this;\n this.listOrderChartD\n .map((x) => x.NGAYDATHANG)\n .forEach(function (snapshot) {\n that.barChartLabels.push(snapshot);\n });\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListCompany() {\n this.http\n .get(\n \"/api/company/GetByPage?page=1&query=1=1&order_by=\",\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListBranchSearchStart() {\n this.http\n .get(\n \"/api/branch/GetByPage?page=1&query=CompanyId = \" +\n this.companyId +\n \" &order_by=\",\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranchSearch = res[\"data\"];\n let localtramtron = localStorage.getItem(\"BranchId\");\n if (localtramtron != \"undefined\") {\n let ids = localtramtron.split(\",\").map(Number);\n this.listBranchSearch = this.listBranchSearch.filter((x) =>\n ids.includes(x.BranchId)\n );\n }\n if (localtramtron != \"undefined\") {\n let ids = localtramtron.split(\",\").map(Number);\n this.listBranchSearch = this.listBranchSearch.filter(\n (x) => ids.includes(x.BranchId)\n );\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListBranchCTCon() {\n this.http\n .get(\"/api/Order/GetByUser?id=\" + this.UserId, this.httpOptions)\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranchSearch = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListBranchSearch() {\n this.http\n .get(\n \"/api/branch/GetByPage?page=1&query=CompanyId = \" +\n this.companyselectsearch +\n \" &order_by=\",\n this.httpOptions\n )\n .subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranchSearch = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n clickd() {\n localStorage.setItem(\"getlinkd\", \"1\");\n }\n //\n QueryChanged() {\n let query = \"\";\n let querychar = \"\";\n if (this.q.status != undefined && this.q.status != \"\") {\n if (this.q.status == \"0\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n this.q.denngay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n // let today = new Date().toISOString().substr(0, 10);\n\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"1\") {\n let today = new Date();\n let yesterdayAM = new Date(\n today.getFullYear(),\n today.getMonth(),\n today.getDate() - 1\n );\n let yesterdayPM = new Date(\n today.getFullYear(),\n today.getMonth(),\n today.getDate() - 1,\n 23,\n 59,\n 59\n );\n this.q.tungay = this.datepipe.transform(yesterdayAM, \"yyyy-MM-dd\");\n this.q.denngay = this.datepipe.transform(yesterdayPM, \"yyyy-MM-dd\");\n // let today = new Date().toISOString().substr(0, 10);\n\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"2\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 1)),\n \"yyyy-MM-dd\"\n );\n this.q.denngay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 7)),\n \"yyyy-MM-dd\"\n );\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"3\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 1 - 7)),\n \"yyyy-MM-dd\"\n );\n let today1 = new Date();\n this.q.denngay = this.datepipe.transform(\n new Date(today1.setDate(today1.getDate() - today1.getDay())),\n \"yyyy-MM-dd\"\n );\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"4\") {\n var today2 = new Date();\n var lastDayOfMonth = new Date(\n today2.getFullYear(),\n today2.getMonth() - 1,\n 1\n );\n this.q.tungay = this.datepipe.transform(lastDayOfMonth, \"yyyy-MM-dd\");\n\n var today3 = new Date();\n var lastDayOfMonth1 = new Date(\n today3.getFullYear(),\n today3.getMonth(),\n 1\n );\n var lastDayOfMonth2 = new Date(\n lastDayOfMonth1.getFullYear(),\n lastDayOfMonth1.getMonth(),\n lastDayOfMonth1.getDate() - 1\n );\n this.q.denngay = this.datepipe.transform(lastDayOfMonth2, \"yyyy-MM-dd\");\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"5\") {\n var today2 = new Date();\n var lastDayOfMonth = new Date(\n today2.getFullYear(),\n today2.getMonth(),\n 1\n );\n this.q.tungay = this.datepipe.transform(lastDayOfMonth, \"yyyy-MM-dd\");\n\n var today3 = new Date();\n var lastDayOfMonth1 = new Date(\n today3.getFullYear(),\n today3.getMonth() + 1,\n 1\n );\n var lastDayOfMonth2 = new Date(\n lastDayOfMonth1.getFullYear(),\n lastDayOfMonth1.getMonth(),\n lastDayOfMonth1.getDate() - 1\n );\n this.q.denngay = this.datepipe.transform(lastDayOfMonth2, \"yyyy-MM-dd\");\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n }\n\n if (this.role == 3) {\n this.paging.CompanyId = this.companyId;\n } else {\n if (this.q.CompanyId != undefined) {\n this.paging.CompanyId = this.q.CompanyId;\n } else {\n this.paging.CompanyId = 0;\n }\n }\n\n if (this.q.Branchlist != undefined) {\n this.paging.Branchid = \"\";\n this.q.Branchlist.forEach((item, index) => {\n if (item != \"\") {\n this.paging.Branchid = this.paging.Branchid + item + \",\";\n }\n });\n } else {\n this.paging.Branchid = \"\";\n if (this.role != 1) {\n this.listBranchSearch.forEach((item, index) => {\n if (item != \"\") {\n this.paging.Branchid =\n this.paging.Branchid + item[\"BranchId\"] + \",\";\n }\n });\n }\n }\n if (query == \"\") {\n this.paging.query = \"1=1\";\n } else {\n this.paging.query = query;\n }\n\n if (querychar == \"\") {\n this.paging.querychar = \"1=1\";\n } else {\n this.paging.querychar = querychar;\n }\n\n localStorage.setItem(\"thoigiand\", this.q.status);\n localStorage.setItem(\"congtyd\", this.q.CompanyId);\n localStorage.setItem(\"tramtrond\", this.q.Branchlist);\n this.GetListOrder();\n this.GetListOrderDH();\n this.GetListOrderChart();\n }\n //\n QueryChangedCompany() {\n let query = \"\";\n let querychar = \"\";\n if (this.q.status != undefined && this.q.status != \"\") {\n if (this.q.status == \"0\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n this.q.denngay = this.datepipe.transform(today, \"yyyy-MM-dd\");\n // let today = new Date().toISOString().substr(0, 10);\n\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"1\") {\n let today = this.datepipe.transform(new Date(), \"yyyy-MM-dd\");\n this.q.tungay = today;\n this.q.denngay = today;\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"2\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 1)),\n \"yyyy-MM-dd\"\n );\n this.q.denngay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 7)),\n \"yyyy-MM-dd\"\n );\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"3\") {\n let today = new Date();\n this.q.tungay = this.datepipe.transform(\n new Date(today.setDate(today.getDate() - today.getDay() + 1 - 7)),\n \"yyyy-MM-dd\"\n );\n let today1 = new Date();\n this.q.denngay = this.datepipe.transform(\n new Date(today1.setDate(today1.getDate() - today1.getDay())),\n \"yyyy-MM-dd\"\n );\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"4\") {\n var today2 = new Date();\n var lastDayOfMonth = new Date(\n today2.getFullYear(),\n today2.getMonth(),\n 2\n );\n this.q.tungay = this.datepipe.transform(lastDayOfMonth, \"yyyy-MM-dd\");\n\n var today3 = new Date();\n var lastDayOfMonth1 = new Date(\n today3.getFullYear(),\n today3.getMonth() + 1,\n 1\n );\n this.q.denngay = this.datepipe.transform(lastDayOfMonth1, \"yyyy-MM-dd\");\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n if (this.q.status == \"5\") {\n var today2 = new Date();\n var lastDayOfMonth = new Date(\n today2.getFullYear(),\n today2.getMonth(),\n 1\n );\n this.q.tungay = this.datepipe.transform(lastDayOfMonth, \"yyyy-MM-dd\");\n\n var today3 = new Date();\n var lastDayOfMonth1 = new Date(\n today3.getFullYear(),\n today3.getMonth() + 1,\n 1\n );\n this.q.denngay = this.datepipe.transform(today3, \"yyyy-MM-dd\");\n query +=\n \"( sa.NGAYDATHANG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND sa.NGAYDATHANG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n querychar +=\n \"( tr.GIOXONG >= convert(datetime ,'\" +\n this.q.tungay +\n \" 00:00:00.000') AND tr.GIOXONG <= convert(datetime ,'\" +\n this.q.denngay +\n \" 23:59:59.999') )\";\n }\n }\n\n if (this.q.CompanyId != undefined) {\n this.companyselectsearch = this.q.CompanyId;\n this.listBranchSearch = [];\n this.q.BranchId = null;\n\n this.GetListBranchSearch();\n this.paging.CompanyId = this.q.CompanyId;\n } else {\n this.paging.CompanyId = 0;\n }\n if (this.q.Branchlist != undefined) {\n this.paging.Branchlist = this.q.Branchlist;\n } else {\n this.paging.Branchid = \"\";\n if (this.role != 1) {\n this.listBranchSearch.forEach((item, index) => {\n if (item != \"\") {\n this.paging.Branchid =\n this.paging.Branchid + item[\"BranchId\"] + \",\";\n }\n });\n }\n }\n if (query == \"\") {\n this.paging.query = \"1=1\";\n } else {\n this.paging.query = query;\n }\n\n if (querychar == \"\") {\n this.paging.querychar = \"1=1\";\n } else {\n this.paging.querychar = querychar;\n }\n localStorage.setItem(\"thoigiand\", this.q.status);\n localStorage.setItem(\"congtyd\", this.q.CompanyId);\n localStorage.setItem(\"tramtrond\", this.q.Branchlist);\n this.GetListOrder();\n this.GetListOrderDH();\n this.GetListOrderChart();\n }\n}\n","module.exports = \"
            \\n
            \\n
            \\n
            \\n
            \\n

            404

            \\n

            Oops! Không tìm thấy.

            \\n

            Trang bạn vừa tìm không tồn tại.

            \\n
            \\n
            \\n \\n \\n \\n \\n
            \\n
            \\n
            \\n
            \\n
            \\n\"","import { Component } from '@angular/core';\n\n@Component({\n templateUrl: '404.component.html'\n})\nexport class P404Component {\n\n constructor() { }\n\n}\n","module.exports = \"
            \\n
            \\n
            \\n
            \\n
            \\n

            500

            \\n

            Houston, we have a problem!

            \\n

            The page you are looking for is temporarily unavailable.

            \\n
            \\n
            \\n
            \\n \\n
            \\n \\n \\n \\n \\n
            \\n
            \\n
            \\n
            \\n
            \\n\"","import { Component } from '@angular/core';\n\n@Component({\n templateUrl: '500.component.html'\n})\nexport class P500Component {\n\n constructor() { }\n\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách thuộc tính

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Tên\\r\\n \\r\\n Thứ tự hiển thị\\r\\n \\r\\n Ngày tạo\\r\\n
            {{ item.Name }}\\r\\n
              \\r\\n
            • ID: {{item.AttribuiteId}} |
            • \\r\\n
            • Chỉnh sửa |
            • \\r\\n
            • Xóa
            • \\r\\n
            \\r\\n
            {{ item.Location }}{{item.CreatedAt | date: 'dd/MM/yyyy hh:mm'}}
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới thuộc tính sản phẩm

            \\r\\n

            Sửa thông tin thuộc tính sản phẩm

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n.gioitinh .circlecheck label {\\n margin: -1px auto; }\\n\\n.gioitinh .circlecheck .outer-circle {\\n top: 5px; }\\n\\n.fhdsjs .modal-footer {\\n margin-top: 15px; }\\n\\n.list-odder .tbale-list {\\n padding-left: 0px;\\n padding-right: 0px; }\\n\\n.tbale-list table {\\n border: 0px !important;\\n margin: 0px !important;\\n border-radius: 0px; }\\n\\n.fefef tr {\\n background-color: transparent !important; }\\n\\n.donhangcon tr {\\n border-top: 1px solid #eee;\\n border-right: 1px solid #eee;\\n border-left: 1px solid #eee; }\\n\\n.donhangcon tr:last-child {\\n border-bottom: 1px solid #eee; }\\n\\n.fhsajfsa td {\\n line-height: 1.5 !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvZ2VuZXJhbC9hdHRyaWJ1aXRlL0U6XFx3b3Jrc3BhY2VcXFRUTVxcSU9JVFdlYkFwcFxcQXBwQ01TL3NyY1xcYXBwXFx2aWV3c1xcZ2VuZXJhbFxcYXR0cmlidWl0ZVxcYXR0cmlidWl0ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUhBQXFILEVBQUE7O0FBR3ZIO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXFCO0VBQ3JCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FB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Q3RCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFVBQVU7RUFFVix5QkFBeUIsRUFBQTs7QUFJM0I7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsMEJBQTBCLEVBQUE7O0FBRzVCO0VBQ0UsbUNBQW1DO0VBQ25DLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHNCQUFzQjtFQUN0QixxQkFBcUIsRUFBQTs7QUFHdkI7RUFDRSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFNBQ0YsRUFBQTs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osMkJBQTJCO0VBQzNCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLDZCQUE2QjtFQUM3QixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsMEJBQTBCO0VBQzFCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGNBQ0YsRUFBQTs7QUFFQTtFQUNFLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLFFBQVEsRUFBQTs7QUFHVjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLHdDQUNGLEVBQUE7O0FBRUE7RUFDRSwwQkFBMEI7RUFDMUIsNEJBQTRCO0VBQzVCLDJCQUEyQixFQUFBOztBQUc3QjtFQUNFLDZCQUE2QixFQUFBOztBQUUvQjtFQUNFLDJCQUEwQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvdmlld3MvZ2VuZXJhbC9hdHRyaWJ1aXRlL2F0dHJpYnVpdGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiA1JTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG5cclxuLmdpb2l0aW5oIC5jaXJjbGVjaGVjayBsYWJlbCB7XHJcbiAgbWFyZ2luOiAtMXB4IGF1dG87XHJcbn1cclxuXHJcbi5naW9pdGluaCAuY2lyY2xlY2hlY2sgLm91dGVyLWNpcmNsZSB7XHJcbiAgdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5maGRzanMgLm1vZGFsLWZvb3RlciB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLmxpc3Qtb2RkZXIgLnRiYWxlLWxpc3Qge1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLnRiYWxlLWxpc3QgdGFibGUge1xyXG4gIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbn1cclxuXHJcbi5mZWZlZiB0ciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudFxyXG59XHJcblxyXG4uZG9uaGFuZ2NvbiB0ciB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbi5kb25oYW5nY29uIHRyOmxhc3QtY2hpbGQge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcbi5maHNhamZzYSB0ZHtcbiAgbGluZS1oZWlnaHQ6MS41ICFpbXBvcnRhbnQ7XHJcbn1cbiJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { Attribuite } from '../../../data/model';\nimport { Paging, QueryFilter } from '../../../data/dt';\nimport { TypeContact } from '../../../data/const';\n\n\n@Component({\n\tselector: 'app-attribuite',\n\ttemplateUrl: './attribuite.component.html',\n\tstyleUrls: ['./attribuite.component.scss']\n})\nexport class AttribuiteComponent implements OnInit {\n\t@ViewChild('AttribuiteModal') public AttribuiteModal: ModalDirective;\n\tpublic paging: Paging;\n\tpublic q: QueryFilter;\n\tpublic listAttribuite = [];\n\tpublic httpOptions: any;\n\tpublic Item: Attribuite;\n\n\tconstructor(\n\t\tpublic http: HttpClient,\n\t\tpublic modalDialogService: ModalDialogService,\n\t\tpublic viewRef: ViewContainerRef,\n\t\tpublic toastr: ToastrService,\n\t) {\n\t\tthis.paging = new Paging();\n\t\tthis.paging.page = 1;\n\t\tthis.paging.page_size = 10;\n\t\tthis.paging.query = \"1=1\";\n\t\tthis.paging.order_by = \"AttribuiteId Desc\";\n\t\tthis.paging.item_count = 0;\n\n\t\tthis.q = new QueryFilter();\n\t\tthis.q.txtSearch = \"\";\n\n\t\tthis.Item = new Attribuite();\n\n\t\tthis.httpOptions = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t})\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.GetListAttribuite();\n\t}\n\n\t//GET\n\tGetListAttribuite() {\n\t\tthis.http.get('/api/attribuite/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listAttribuite = res[\"data\"];\n\t\t\t\t\tthis.paging.item_count = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Chuyển trang\n\tPageChanged(event) {\n\t\tthis.paging.page = event.page;\n\t\tthis.GetListAttribuite();\n\t}\n\n\t//Thông báo\n\ttoastWarning(msg): void {\n\t\tthis.toastr.warning(msg, 'Cảnh báo');\n\t}\n\n\ttoastSuccess(msg): void {\n\t\tthis.toastr.success(msg, 'Hoàn thành');\n\t}\n\n\ttoastError(msg): void {\n\t\tthis.toastr.error(msg, 'Lỗi');\n\t}\n\n\t//\n\tQueryChanged() {\n\t\tlet query = '';\n\t\tif (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and (Name.Contains(\"' + this.q.txtSearch + '\") Or Name.Contains(\"' + this.q.txtSearch + '\"))';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += '(Name.Contains(\"' + this.q.txtSearch + '\") or Name.Contains(\"' + this.q.txtSearch + '\"))';\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.paging.query = '1=1';\n\t\telse\n\t\t\tthis.paging.query = query;\n\n\t\tthis.GetListAttribuite();\n\t}\n\n\tSortTable(str) {\n\t\tlet First = \"\";\n\t\tlet Last = \"\";\n\t\tif (this.paging.order_by != \"\") {\n\t\t\tFirst = this.paging.order_by.split(\" \")[0];\n\t\t\tLast = this.paging.order_by.split(\" \")[1];\n\t\t}\n\n\t\tif (First != str) {\n\t\t\tthis.paging.order_by = str + \" Desc\";\n\t\t}\n\t\telse {\n\t\t\tLast = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n\t\t\tthis.paging.order_by = str + \" \" + Last;\n\t\t}\n\n\t\tthis.GetListAttribuite();\n\t}\n\n\tGetClassSortTable(str) {\n\t\tif (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n\t\t\treturn \"sorting\";\n\t\t}\n\t\telse {\n\t\t\tif (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n\t\t\telse return \"sorting_asc\";\n\t\t}\n\t}\n\n\t//Mở modal thêm mới\n\tOpenAttribuiteModal(item) {\n\t\tthis.Item = new Attribuite();\n\t\tif (item != undefined) {\n\t\t\tthis.Item = JSON.parse(JSON.stringify(item));\n\t\t}\n\t\tthis.AttribuiteModal.show();\n\t}\n\n\t//Thêm mới danh mục trang\n\tSaveAttribuite() {\n\t\tif (this.Item.Name == undefined || this.Item.Name == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tên thuộc tính!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Name.replace(/ /g, '') == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tên thuộc tính!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Location == undefined) {\n\t\t\tthis.toastWarning(\"Chưa nhập Thứ tự hiển thị!\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.Item.AttribuiteId == undefined) {\n\t\t\tthis.http.post('/api/attribuite', this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListAttribuite();\n\t\t\t\t\t\tthis.AttribuiteModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Thêm mới thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tthis.http.put('/api/attribuite/' + this.Item.AttribuiteId, this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListAttribuite();\n\t\t\t\t\t\tthis.AttribuiteModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Cập nhật thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\n\tShowConfirmDelete(Id) {\n\t\tthis.modalDialogService.openDialog(this.viewRef, {\n\t\t\ttitle: 'Xác nhận',\n\t\t\tchildComponent: SimpleModalComponent,\n\t\t\tdata: {\n\t\t\t\ttext: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n\t\t\t},\n\t\t\tactionButtons: [\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đồng ý',\n\t\t\t\t\tbuttonClass: 'btn btn-success',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.http.delete('/api/attribuite/' + Id, this.httpOptions).subscribe(\n\t\t\t\t\t\t\t(res) => {\n\t\t\t\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\t\t\t\tthis.GetListAttribuite();\n\t\t\t\t\t\t\t\t\tthis.viewRef.clear();\n\t\t\t\t\t\t\t\t\tthis.toastSuccess(\"Xóa thành công!\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t(err) => {\n\t\t\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đóng',\n\t\t\t\t\tbuttonClass: 'btn btn-default',\n\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\n
            \\r\\n \\n \\r\\n
            \\n
            \\n

            Hãy chọn trạm trộn!

            \\n
            \\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2dlbmVyYWwvYmFuay9iYW5rLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n\n\n@Component({\n selector: 'app-bank',\n templateUrl: './bank.component.html',\n styleUrls: ['./bank.component.scss']\n})\nexport class BankComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n urlSafe: SafeResourceUrl;\n PMQLXe: string;\n userid: number;\n public listBranch = [];\n public listCompany = [];\n public companyselectsearch: number;\n public role: number;\n companyId: number;\n public httpOptions: any;\n constructor(\n public http: HttpClient,\n public sanitizer: DomSanitizer\n ) {\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n ngOnInit() {\n this.userid = parseInt(localStorage.getItem('userId'));\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId\n }\n }\n if (this.role == 3) {\n this.companyselectsearch = this.companyId;\n this.GetListBranchSearch();\n }\n else if (this.role == 1) {\n this.GetListCompany();\n }\n else if (this.role == 4) {\n this.GetPMQLXe();\n }\n if(this.role != 1){\n this.companyselectsearch = this.companyId;\n this.GetListBranchSearch();\n }\n }\n //GET\n GetPMQLXe() {\n this.http.get('/api/Bank/GetByPage?userid=' + this.userid, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n this.PMQLXe = this.listBranch[0][\"PMQLXe\"];\n if (this.PMQLXe != '' && this.PMQLXe != undefined) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.PMQLXe);\n this.TargetBlank();\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListCompany() {\n this.http.get('/api/userrole/GetByCompany?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n this.companyselectsearch = this.listCompany[0][\"CompanyId\"];\n this.GetListBranchSearch();\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListBranchSearch() {\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n let localtramtron = localStorage.getItem(\"BranchId\");\n if (localtramtron != \"undefined\") {\n let ids = localtramtron.split(\",\").map(Number);\n this.listBranch = this.listBranch.filter((x) =>\n ids.includes(x.BranchId)\n );\n }\n // this.PMQLXe = this.listBranch[0][\"PMQLXe\"];\n // if (this.PMQLXe != '' && this.PMQLXe != undefined) {\n // this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.PMQLXe);\n // this.TargetBlank();\n // }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n CompanyChanged() {\n this.GetListBranchSearch();\n }\n QueryChanged() {\n if (this.PMQLXe != '' && this.PMQLXe != undefined) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.PMQLXe);\n this.TargetBlank();\n }\n }\n\n TargetBlank() {\n //alert(this.urlSafe);\n window.open(this.PMQLXe.toString(), \"_blank\");\n }\n}\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'BRANCH.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'BRANCH.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'BRANCH.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'BRANCH.VIEW' | translate}}\\r\\n \\r\\n {{'BRANCH.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'BRANCH.SEARCH' | translate}}:\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'BRANCH.TABLE.STT' | translate}}\\r\\n {{'BRANCH.TABLE.TENCHINHANH' | translate}}\\r\\n \\r\\n {{'BRANCH.TABLE.SODIENTHOAI' | translate}}\\r\\n \\r\\n {{'BRANCH.TABLE.EMAIL' | translate}}\\r\\n \\r\\n {{'BRANCH.TABLE.DIACHI' | translate}}\\r\\n \\r\\n {{'BRANCH.TABLE.LOAI' | translate}}\\r\\n {{'BRANCH.TABLE.THAOTAC' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Phone }}\\r\\n {{ item.Email }}\\r\\n \\r\\n {{ item.Address }}\\r\\n \\r\\n {{'BRANCH.TYPE.TRAMTRON' | translate}}\\r\\n \\r\\n {{'BRANCH.TYPE.TRAMCAN' | translate}}\\r\\n \\r\\n {{'BRANCH.TYPE.CHUAXACDINH' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'BRANCH.TASK.SUA' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'BRANCH.TASK.XOA' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'BRANCH.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'BRANCH.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'BRANCH.INTODISPLAY' | translate}} {{ paging.item_count }} {{'BRANCH.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'BRANCH.HEADMODEL.ADDNEW' | translate}}

            \\r\\n

            {{'BRANCH.HEADMODEL.EDITTRAM' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n

            * {{'BRANCH.MODELBODY.TENCSDL' | translate}} + \\\"_online\\\"

            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n

            * {{'BRANCH.MODELBODY.STRUCTUREPASS' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".header-custom > .table > thead > tr > th {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n top: -1px !important;\\n z-index: 99 !important;\\n color: white !important;\\n background: #3c8dbc !important; }\\n\\n.bot_form .form-check-inline {\\n margin-right: 45px;\\n margin-top: 10px;\\n padding-left: 5px; }\\n\\n.bot_form label {\\n font-weight: 500;\\n font-size: 13px; }\\n\\n.bot_form input[type='radio'] {\\n height: 20px;\\n width: 20px;\\n position: relative;\\n top: -3px;\\n margin-right: 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvZ2VuZXJhbC9icmFuY2gvRTpcXHdvcmtzcGFjZVxcVFRNXFxJT0lUV2ViQXBwXFxBcHBDTVMvc3JjXFxhcHBcXHZpZXdzXFxnZW5lcmFsXFxicmFuY2hcXGJyYW5jaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1DQUEyQjtFQUEzQiwyQkFBMkI7RUFDM0Isb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsOEJBQThCLEVBQUE7O0FBRWhDO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDSSxnQkFBZTtFQUNmLGVBQWMsRUFBQTs7QUFFbEI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1Qsa0JBQWtCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9nZW5lcmFsL2JyYW5jaC9icmFuY2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWN1c3RvbSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xyXG4gIHRvcDogLTFweCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDk5ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogIzNjOGRiYyAhaW1wb3J0YW50O1xyXG59XHJcbi5ib3RfZm9ybSAuZm9ybS1jaGVjay1pbmxpbmUge1xyXG4gIG1hcmdpbi1yaWdodDogNDVweDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogNXB4O1xyXG59XHJcbi5ib3RfZm9ybSBsYWJlbHtcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgZm9udC1zaXplOjEzcHg7XHJcbn1cclxuLmJvdF9mb3JtIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG4gIGhlaWdodDogMjBweDtcclxuICB3aWR0aDogMjBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxuIl19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { domainImage } from '../../../data/const';\nimport { TypeTram } from '../../../data/const';\nimport { Branch } from '../../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { DatePipe } from '@angular/common';\nimport { Md5 } from 'ts-md5/dist/md5';\nimport { Paging, QueryFilter } from '../../../data/dt';\nimport languages from '../../../../assets/i18n/languages.json';\nimport { TranslateService } from '@ngx-translate/core';\n@Component({\n selector: 'app-branch',\n templateUrl: './branch.component.html',\n styleUrls: ['./branch.component.scss']\n})\nexport class BranchComponent implements OnInit {\n @ViewChild('BranchModal') public BranchModal: ModalDirective;\n\n public paging: Paging;\n public q: QueryFilter;\n public listBranch = [];\n public listCompany = [];\n public listTypeTram = TypeTram;\n public ckeConfig: any;\n public Item: Branch;\n public progress: number;\n public domainImage = domainImage;\n public httpOptions: any;\n public role: number;\n companyId: number;\n TypeTram: number;\n isdisabled: boolean;\n public lstLanguage: Array = languages;\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n public translate: TranslateService\n ) {\n this.Item = new Branch();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"BranchId Desc\";\n this.paging.item_count = 0;\n this.isdisabled = false;\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n this.role = -1;\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n translate.addLangs(this.lstLanguage);\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n if (json[i].RoleId == 1) {\n this.role = 1;\n }\n }\n }\n this.GetListBranch();\n if (this.role == 1) {\n this.GetListCompany();\n }\n\n }\n GetListBranch() {\n if (this.role != 1) {\n this.paging.query += ' and CompanyId = ' + this.companyId;\n }\n this.http.get('/api/branch/GetByPageAllTram?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListCompany() {\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListBranch();\n }\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\n }\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\n }\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\n }\n //Search\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n if (this.q.CompanyId != undefined && this.q.CompanyId != -1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.q.CompanyId;\n }\n else {\n query += 'CompanyId = ' + this.q.CompanyId;\n }\n }\n if (this.role != 1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.companyId;\n }\n else {\n query += 'CompanyId = ' + this.companyId;\n }\n }\n if (TypeTram != undefined) {\n if (query != '') {\n if (this.q.TypeTram != undefined) {\n query += 'and TypeTram = ' + this.q.TypeTram;\r\n }\n }\n else {\n if (this.q.TypeTram != undefined) {\n query += 'TypeTram = ' + this.q.TypeTram;\r\n } \n }\n }\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListBranch();\n }\n\n //Mở modal thêm mới\n OpenBranchModal(item) {\n this.Item = new Branch();\n this.progress = undefined;\n if (item != undefined) {\n this.isdisabled = true;\n this.Item = JSON.parse(JSON.stringify(item));\n }\n else {\n this.isdisabled = false;\r\n }\n this.BranchModal.show();\n }\n\n //Thêm mới khách hàng\n SaveBranch() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_1'));\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_1'));\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_2'));\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_2'));\n return;\n } else if (this.Item.Email == undefined || this.Item.Email == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_3'));\n return;\n } else if (this.Item.Email.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_3'));\n return;\n } else if (this.Item.Phone == undefined || this.Item.Phone == '') {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_4'));\n return;\n }\n\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\n if (this.Item.BranchId == undefined) {\n if (this.role != 1) {\n this.Item.CompanyId = this.companyId;\n }\n let obj = JSON.parse(JSON.stringify(this.Item));\n\n this.http.post('/api/Branch', obj, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.BranchModal.hide();\n this.toastSuccess(this.translate.instant('TOAST.BRANCH.TOAST_5'));\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_6'));\n }\n else {\n this.toastError(res[\"meta\"][\"error_message\"]);\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n else {\n this.http.put('/api/Branch/' + this.Item.BranchId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.BranchModal.hide();\n this.toastSuccess(res[\"meta\"][\"error_message\"]);\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(this.translate.instant('TOAST.BRANCH.TOAST_6'));\n }\n else {\n this.toastError(res[\"meta\"][\"error_message\"]);\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: this.translate.instant('TOAST.CONFIM'),\n childComponent: SimpleModalComponent,\n data: {\n text: this.translate.instant('TOAST.CONFIM_DELETE')\n },\n actionButtons: [\n {\n text: this.translate.instant('TOAST.YES'),\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.DeleteBranch(Id);\n }\n },\n {\n text: this.translate.instant('TOAST.CLOSE'),\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n DeleteBranch(Id) {\n this.http.delete('/api/Branch/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.viewRef.clear();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n console.log(formData);\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress)\n this.progress = Math.round(100 * event.loaded / event.total);\n else if (event.type === HttpEventType.Response) {\n this.Item.Avatar = event.body[\"data\"].toString();\n }\n });\n }\n //\n RemoveImage() {\n this.Item.Avatar = undefined;\n this.progress = undefined;\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListBranch();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n \n}\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'COMPANY.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'COMPANY.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'COMPANY.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'COMPANY.VIEW' | translate}}\\r\\n \\r\\n {{'COMPANY.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'COMPANY.SEARCH' | translate}}:\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'COMPANY.TABLE.STT' | translate}}\\r\\n {{'COMPANY.TABLE.TENCONGTY' | translate}}\\r\\n \\r\\n {{'COMPANY.TABLE.DIACHI' | translate}}\\r\\n \\r\\n {{'COMPANY.TABLE.SODIENTHOAI' | translate}}\\r\\n \\r\\n {{'COMPANY.TABLE.EMAIL' | translate}}\\r\\n \\r\\n {{'COMPANY.TABLE.HOATDONG' | translate}}\\r\\n {{'COMPANY.TABLE.THAOTAC' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }} - {{item.Code}}{{ item.Address }}{{ item.Phone }}{{item.Email}}\\r\\n {{'COMPANY.TASK.MIENPHI' | translate}}\\r\\n {{'COMPANY.TASK.TRAPHI' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'COMPANY.TASK.SUA' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'COMPANY.TASK.XOA' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'COMPANY.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'COMPANY.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'COMPANY.INTODISPLAY' | translate}} {{ paging.item_count }} {{'COMPANY.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'COMPANY.MODLEHEAD.ADDNEWCTY' | translate}}

            \\r\\n

            {{'COMPANY.MODLEHEAD.EDITCTY' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\" />\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".header-custom > .table > thead > tr > th {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n top: -1px !important;\\n z-index: 99 !important;\\n color: white !important;\\n background: #3c8dbc !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvZ2VuZXJhbC9jb21wYW55L0U6XFx3b3Jrc3BhY2VcXFRUTVxcSU9JVFdlYkFwcFxcQXBwQ01TL3NyY1xcYXBwXFx2aWV3c1xcZ2VuZXJhbFxcY29tcGFueVxcY29tcGFueS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1DQUEyQjtFQUEzQiwyQkFBMkI7RUFDM0Isb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsOEJBQThCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9nZW5lcmFsL2NvbXBhbnkvY29tcGFueS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItY3VzdG9tID4gLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcclxuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgdG9wOiAtMXB4ICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogOTkgIWltcG9ydGFudDtcclxuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjM2M4ZGJjICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef} from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { Company } from '../../../data/model';\nimport { Paging, QueryFilter } from '../../../data/dt';\nimport { domainImage } from '../../../data/const';\nimport languages from '../../../../assets/i18n/languages.json';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'app-company',\n templateUrl: './company.component.html',\n styleUrls: ['./company.component.scss']\n})\nexport class CompanyComponent implements OnInit {\n @ViewChild('CompanyModal') public CompanyModal: ModalDirective;\n @ViewChild('file') file: ElementRef;\n\n public paging: Paging;\n public q: QueryFilter;\n public regexEmail: '/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/';\n public listCompany = [];\n public ckeConfig: any;\n public role : number;\n public Item: Company;\n public httpOptions: any;\n public progress: number;\n public message: string;\n public domainImage = domainImage;\n public lstLanguage: Array = languages;\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n public translate: TranslateService\n ) {\n this.Item = new Company();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"CompanyId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n translate.addLangs(this.lstLanguage);\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n var json = JSON.parse(localStorage.getItem('roles'));\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId\n }\n }\n this.GetListCompany();\n }\n\n //GET\n GetListCompany() {\n if(this.role != 1){\n this.paging.query = \"CompanyId=\" + localStorage.getItem(\"companyId\");\n }\n this.http.get('/api/company/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListCompany();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\n }\n\n toastError(msg): void {\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListCompany();\n }\n\n //Mở modal\n OpenCompanyModal(item) {\n this.Item = new Company();\n this.file.nativeElement.value = \"\";\n if (item != undefined) {\n this.Item = JSON.parse(JSON.stringify(item));\n }\n this.CompanyModal.show();\n }\n\n //Thêm mới\n SaveCompany() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_1'));\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_1'));\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_2'));\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_2'));\n return;\n } else if (this.Item.Email == undefined || this.Item.Email == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_3'));\n return;\n } else if (this.Item.Email.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_3'));\n return;\n } else if (this.Item.Phone == undefined || this.Item.Phone == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_4'));\n return;\n } else if (this.Item.Phone.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_4'));\n return;\n } else if (this.Item.Code.length < 2) {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_5'));\n return;\n }\n\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\n if (this.Item.CompanyId == undefined) {\n this.http.post('/api/Company', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCompany();\n this.CompanyModal.hide();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_SUCCESS'));\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(this.translate.instant('TOAST.COMPANY.TOAST_6'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n else {\n this.http.put('/api/Company/' + this.Item.CompanyId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCompany();\n this.CompanyModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(\"Mã đã tồn tại!\");\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: this.translate.instant('TOAST.CONFIM'),\n childComponent: SimpleModalComponent,\n data: {\n text: this.translate.instant('TOAST.CONFIM_DELETE')\n },\n actionButtons: [\n {\n text: this.translate.instant('TOAST.NOITIFY_SUCCESS'),\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.Delete(Id);\n }\n },\n {\n text: this.translate.instant('TOAST.CLOSE'),\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress)\n this.progress = Math.round(100 * event.loaded / event.total);\n else if (event.type === HttpEventType.Response) {\n this.message = event.body[\"data\"].toString();\n this.Item.Logo = this.message;\n }\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/Company/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListCompany();\n this.viewRef.clear();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListCompany();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n \n\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n

            Không có link !

            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 00px;\\n margin-left: 0px;\\n padding-left: 00px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 22%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\n.custom-ttsp {\\n background: #fff;\\n margin: 0px;\\n border: 1px solid #ccc;\\n margin-top: 20px;\\n margin-bottom: 20px; }\\n\\ntabset.tab-content-detail.tab-container {\\n width: 100%; }\\n\\n.custom-ttsp .form-group {\\n border-bottom: 1px solid #eee;\\n padding: 10px; }\\n\\n.custom-ttsp .form-group:last-child {\\n border-bottom: 0; }\\n\\n.custom-ttsp .form-group .col-form-label {\\n font-weight: 400;\\n line-height: 1; }\\n\\n.custom-ttsp .form-group input {\\n border-radius: 0px;\\n height: 27px; }\\n\\n.body-form-add-new > div {\\n vertical-align: top; }\\n\\n.fixed_header {\\n width: 100%; }\\n\\n.fixed_header tbody {\\n display: block;\\n overflow: auto;\\n height: 300px;\\n width: 100%; }\\n\\n.fixed_header thead {\\n background: #f1f1f1;\\n border-bottom: 0px; }\\n\\n.fixed_header th {\\n border: none;\\n width: 25%; }\\n\\n.fixed_header tbody tr {\\n border-bottom: 1px solid #eee;\\n border-top: 0;\\n width: 100%;\\n border-left: 1px solid #eee;\\n border-right: 1px solid #eee; }\\n\\n.fixed_header tbody tr td {\\n width: 25%;\\n line-height: 1.5; }\\n\\n.fixed_header tbody {\\n width: 667px; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\n.page-link {\\n line-height: 1.0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvZ2VuZXJhbC9jb250YWN0L0U6XFx3b3Jrc3BhY2VcXFRUTVxcSU9JVFdlYkFwcFxcQXBwQ01TL3NyY1xcYXBwXFx2aWV3c1xcZ2VuZXJhbFxcY29udGFjdFxcY29udGFjdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUhBQXFILEVBQUE7O0FBR3ZIO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXFCO0VBQ3JCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Us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Q0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLDZCQUE2QjtFQUM3QixhQUNGLEVBQUE7O0FBRUE7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZLEVBQUE7O0FBR2Q7RUFDRSxtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGFBQWE7RUFDYixXQUFXLEVBQUE7O0FBR2I7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCLEVBQUE7O0FBTXBCO0VBQ0UsWUFBWTtFQUNaLFVBQVUsRUFBQTs7QUFHWjtFQUNFLDZCQUE2QjtFQUM3QixhQUFhO0VBQ2IsV0FBVztFQUNYLDJCQUEyQjtFQUMzQiw0QkFBNEIsRUFBQTs7QUFHOUI7RUFDRSxVQUFVO0VBQ1YsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEI7RUFDMUIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy9nZW5lcmFsL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWxpc3Qge1xyXG4gIHdpZHRoOiA1MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3gge1xyXG4gIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1hbmltYXRpbmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94Omxhc3QtY2hpbGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leGFtcGxlLWJveDpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG5oMS5jbXMtaGVhZGluZy1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDIzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLW1haW4ge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5jbXMtY29udGVudCB7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5jbXMtYWRkbmV3IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYS5jdXJyZW50IHtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgbGkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbnVsLmNtcy1zdWJzdWJzdWIge1xyXG4gIG1hcmdpbi1ib3R0b206IDAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZmlsdGVyIHtcclxuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEge1xyXG4gIGxpbmUtaGVpZ2h0OiAyO1xyXG4gIHBhZGRpbmc6IC4yZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgb3V0bGluZTogbm9uZVxyXG59XHJcblxyXG50YWJsZSwgLnRhYmxlLWJvcmRlcmVkIHRoLCAudGFibGUtYm9yZGVyZWQgdGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxudGhlYWQge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXRodW1iIHtcclxuICB3aWR0aDogNSU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLW5hbWUge1xyXG4gIHdpZHRoOiAyMiU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG4uY3VzdG9tLXR0c3Age1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbnRhYnNldC50YWItY29udGVudC1kZXRhaWwudGFiLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jdXN0b20tdHRzcCAuZm9ybS1ncm91cCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XHJcbiAgcGFkZGluZzogMTBweFxyXG59XHJcblxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmN1c3RvbS10dHNwIC5mb3JtLWdyb3VwIC5jb2wtZm9ybS1sYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLmN1c3RvbS10dHNwIC5mb3JtLWdyb3VwIGlucHV0IHtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgaGVpZ2h0OiAyN3B4O1xyXG59XHJcblxyXG4uYm9keS1mb3JtLWFkZC1uZXcgPiBkaXYge1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRoZWFkIHtcclxuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG4gIGJvcmRlci1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB0ciB7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICB3aWR0aDogMjUlO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VlZTtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyIHRkIHtcclxuICB3aWR0aDogMjUlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiA2NjdweDtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciAuc3F1YXJlZGNoZWNrIGxhYmVsIHtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gIGJhY2tncm91bmQ6ICNGRkY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kOiAjZWFmNGZmO1xyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcclxufVxyXG5cclxuc3Bhbi5wcmljZS1wcmkge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gIGNvbG9yOiAjYjViM2IzO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLW5ldyB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnBhZ2UtbGluayB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n urlSafe: SafeResourceUrl;\n QLCamera: string;\n userid: number;\n public listBranch = [];\n public listCompany = [];\n public companyselectsearch: number;\n public role: number;\n companyId: number;\n public httpOptions: any;\n constructor(\n public http: HttpClient,\n public sanitizer: DomSanitizer\n ) {\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n ngOnInit() {\n this.userid = parseInt(localStorage.getItem('userId'));\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId\n }\n }\n if (this.role == 3) {\n this.companyselectsearch = this.companyId;\n this.GetListBranchSearch();\n }\n else if (this.role == 1) {\n this.GetListCompany();\n }\n else if (this.role == 4) {\n this.GetQLCamera();\n }\n if (this.role != 1) {\n this.companyselectsearch = this.companyId;\n this.GetListBranchSearch();\n }\n }\n //GET\n GetQLCamera() {\n this.http.get('/api/Bank/GetByPage?userid=' + this.userid, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n this.QLCamera = this.listBranch[0][\"QLCamera\"];\n if (this.QLCamera != '' && this.QLCamera != undefined) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.QLCamera);\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListCompany() {\n this.http.get('/api/userrole/GetByCompany?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n this.companyselectsearch = this.listCompany[0][\"CompanyId\"];\n this.GetListBranchSearch();\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListBranchSearch() {\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n let localtramtron = localStorage.getItem(\"BranchId\");\n if (localtramtron != \"undefined\") {\n let ids = localtramtron.split(\",\").map(Number);\n this.listBranch = this.listBranch.filter((x) =>\n ids.includes(x.BranchId)\n );\n }\n // this.QLCamera = this.listBranch[0][\"QLCamera\"];\n // if (this.QLCamera != '' && this.QLCamera != undefined) {\n // this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.QLCamera);\n // }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n CompanyChanged() {\n this.GetListBranchSearch();\n }\n QueryChanged() {\n if (this.QLCamera != '' && this.QLCamera != undefined) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.QLCamera);\n }\n\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách các phòng ban\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n \\r\\n \\r\\n Tên phòng ban\\r\\n \\r\\n \\r\\n \\r\\n Mã phòng ban\\r\\n Số điện thoạiThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n {{ item.Phone }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới phòng ban

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Cập nhật thông tin phòng ban

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2dlbmVyYWwvZGVwYXJ0bWVudC9kZXBhcnRtZW50LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { Department } from '../../../data/model';\n\n\n\n@Component({\n selector: 'app-department',\n templateUrl: './department.component.html',\n styleUrls: ['./department.component.scss']\n})\nexport class DepartmentComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n\n public paging: any;\n public q: any;\n\n public listDepartment = [];\n public listCompany = [];\n public showSort: boolean[] = [true, false];\n\n public ckeConfig: any;\n\n public newItem: Department;\n public editItem: Department;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.newItem = new Department();\n this.editItem = new Department();\n this.paging = {\n page: 1,\n page_size: 10,\n query: '1=1',\n order_by: '',\n item_count: 0\n };\n\n this.q = {\n txtSearch: ''\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.GetListDepartment();\n }\n //\n Sort(IsK, s, i) {\n if (IsK) {\n this.paging.order_by = s + \" asc\";\n }\n else {\n this.paging.order_by = s + \" desc\";\n }\n this.GetListDepartment();\n //this.showSort = !IsK;\n for (var j = 0; j < this.showSort.length; j++) {\n if (j == i) {\n this.showSort[j] = IsK;\n }\n else {\n this.showSort[j] = false;\n }\n }\n }\n //\n GetListDepartment() {\n this.http.get('/api/department/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listDepartment = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListDepartment();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListDepartment();\n }\n\n //Mở modal\n OpenAddModal() {\n this.newItem = new Department();\n this.addModal.show();\n }\n //\n //Thêm mới\n AddFunc() {\n if (this.newItem.Code == undefined || this.newItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.newItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n } else if (this.newItem.Name == undefined || this.newItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.newItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.newItem.Code.length < 2) {\n this.toastWarning(\"Mã ít nhất 2 ký tự!\");\n return;\n }\n\n this.newItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.newItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\n this.http.post('/api/Department', this.newItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListDepartment();\n this.addModal.hide();\n this.toastSuccess(\"Thêm thành công!\");\n } else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(\"Mã đã tồn tại!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n );\n }\n\n //Mở edit Modal\n OpenEditModal(item) {\n this.editItem = new Department();\n this.editItem = Object.assign(this.editItem, item);\n this.editModal.show();\n }\n\n // cập nhật\n EditFunc() {\n if (this.editItem.Code == undefined || this.editItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.editItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n } else if (this.editItem.Name == undefined || this.editItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.editItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.editItem.Code.length < 2) {\n this.toastWarning(\"Mã ít nhất 2 ký tự!\");\n return;\n }\n this.editItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.http.put('/api/Department/' + this.editItem.DepartmentId, this.editItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListDepartment();\n this.editModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n } else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(\"Mã đã tồn tại!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/Department/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListDepartment();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n //\n onlyNumber(num) {\n console.log(num);\n var e = num;\n var charCode = e.which || e.keyCode;\n if (charCode > 31 && (charCode < 48 || charCode > 57))\n return false;\n return true;\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách chức vụ\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n \\r\\n \\r\\n Chức vụ\\r\\n \\r\\n \\r\\n \\r\\n Mã chức vụ\\r\\n \\r\\n \\r\\n \\r\\n Cấp bậc\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n {{ item.LevelId }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới chức vụ

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Cập nhật chức vụ

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2dlbmVyYWwvcG9zaXRpb24vcG9zaXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { Position } from '../../../data/model';\n\n\n\n@Component({\n selector: 'app-position',\n templateUrl: './position.component.html',\n styleUrls: ['./position.component.scss']\n})\nexport class PositionComponent implements OnInit {\n @ViewChild('AddModal') public addModal: ModalDirective;\n @ViewChild('EditModal') public editModal: ModalDirective;\n\n public paging: any;\n public q: any;\n\n public listPosition = [];\n public listCompany = [];\n public showSort: boolean[] = [true, false, false];\n\n public ckeConfig: any;\n\n public newItem: Position;\n public editItem: Position;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.newItem = new Position();\n this.editItem = new Position();\n\n this.paging = {\n page: 1,\n page_size: 10,\n query: '1=1',\n order_by: '',\n item_count: 0\n };\n\n this.q = {\n txtSearch: ''\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.GetListPosition();\n }\n\n Sort(IsK, s, i) {\n if (IsK) {\n this.paging.order_by = s + \" asc\";\n }\n else {\n this.paging.order_by = s + \" desc\";\n }\n this.GetListPosition();\n //this.showSort = !IsK;\n for (var j = 0; j < this.showSort.length; j++) {\n if (j == i) {\n this.showSort[j] = IsK;\n }\n else {\n this.showSort[j] = false;\n }\n }\n }\n\n GetListPosition() {\n this.http.get('/api/position/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listPosition = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListPosition();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListPosition();\n }\n\n //Mở modal\n OpenAddModal() {\n this.newItem = new Position();\n this.addModal.show();\n }\n //\n //Thêm mới\n AddFunc() {\n if (this.newItem.Name == undefined || this.newItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.newItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.newItem.Code == undefined || this.newItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.newItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n } else if (this.newItem.LevelId == undefined) {\n this.toastWarning(\"Chưa chọn cấp độ!\");\n return;\n }\n if (this.newItem.Code.length < 2) {\n this.toastWarning(\"Mã ít nhất 2 ký tự!\");\n return;\n }\n this.newItem.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n this.http.post('/api/Position', this.newItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListPosition();\n this.addModal.hide();\n this.toastSuccess(\"Thêm thành công!\");\n } else if (res[\"meta\"][\"error_code\"] == 213) {\n this.toastWarning(\"Mã đã tồn tại!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n );\n }\n\n //Mở edit Modal\n OpenEditModal(item) {\n this.editItem = new Position();\n this.editItem = Object.assign(this.editItem, item);\n this.editModal.show();\n }\n\n // cập nhật\n EditFunc() {\n if (this.editItem.Name == undefined || this.editItem.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.editItem.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.editItem.Code == undefined || this.editItem.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.editItem.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n } else if (this.editItem.LevelId == undefined) {\n this.toastWarning(\"Chưa chọn cấp độ!\");\n return;\n } else if (this.editItem.Code.length < 2) {\n this.toastWarning(\"Mã ít nhất 2 ký tự!\");\n return;\n }\n this.http.put('/api/Position/' + this.editItem.PositionId, this.editItem, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListPosition();\n this.editModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n } else if (res[\"meta\"][\"error_code\"] == 213) {\n this.toastWarning(\"Mã đã tồn tại!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/Position/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListPosition();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n //\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách loại hình

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Tên Loại hình\\r\\n Thao tác
            {{ item.Name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới Loại hình

            \\r\\n

            Sửa thông tin Loại hình

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ this.Item.IsUpdate == true ? 'Được phép sửa loại hình' : 'Không được phép sửa loại hình' }}\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n {{ this.Item.IsDelete == true ? 'Được phép xóa loại hình' : 'Không được phép xóa loại hình' }}\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTTên thuộc tínhSố thứ tựThao tác
            {{ idx + 1 }}{{ item.Code }}{{ item.Name }}{{ item.Location }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới loại thuộc tính

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" placeholder=\\\"\\\" [(ngModel)]=\\\"newType.Location\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 0px;\\n margin-left: 0px;\\n padding-left: 0px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 2%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 15%; }\\n\\n.column-cat {\\n width: 20%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\ntbody tr td img {\\n border: 1px solid #ccc;\\n width: 40px;\\n height: 40px; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\ntable.fixed_header {\\n width: 100%;\\n margin-bottom: 0px; }\\n\\n.fixed_header tbody {\\n width: 100% !important;\\n max-height: 300px;\\n display: block;\\n overflow-y: auto; }\\n\\n.fixed_header thead {\\n min-width: 100% !important; }\\n\\n.fixed_header thead tr {\\n width: calc(100% - 17px) !important;\\n display: inline-block; }\\n\\n.fixed_header tbody tr {\\n width: 100% !important;\\n display: inline-block; }\\n\\n.fixed_header th, .fixed_header td {\\n display: inline-block;\\n text-align: left;\\n border: 0; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\ntable.fixed_header .squaredcheck {\\n width: inherit; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvZ2VuZXJhbC90eXBlLWF0dHJpYnV0ZS9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGdlbmVyYWxcXHR5cGUtYXR0cmlidXRlXFx0eXBlLWF0dHJpYnV0ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUhBQXFILEVBQUE7O0FBR3ZIO0VBQ0UsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0Usc0RBQXNELEVBQUE7O0FBR3hEO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXFCO0VBQ3JCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJB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Q1Qsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFVBQVU7RUFFVix5QkFBeUIsRUFBQTs7QUFJM0I7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsMEJBQTBCLEVBQUE7O0FBRzVCO0VBQ0UsbUNBQW1DO0VBQ25DLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLHNCQUFzQjtFQUN0QixxQkFBcUIsRUFBQTs7QUFHdkI7RUFDRSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFNBQ0YsRUFBQTs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osMkJBQTJCO0VBQzNCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLDZCQUE2QjtFQUM3QixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsMEJBQTBCO0VBQzFCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGNBQ0YsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2dlbmVyYWwvdHlwZS1hdHRyaWJ1dGUvdHlwZS1hdHRyaWJ1dGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNtcy1maWx0ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYSB7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBvdXRsaW5lOiBub25lXHJcbn1cclxuXHJcbnRhYmxlLCAudGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tdGh1bWIge1xyXG4gIHdpZHRoOiAyJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tbmFtZSB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmNvbHVtbi1jYXQge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5jb2x1bW4tcmF0aW5nIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QtaXRlbWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuXHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbn1cclxuXHJcbi5tb2RhbC1ib2R5LCAuY2FyZC1ib2R5LmJvZHktZm9ybS1hZGQtbmV3IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2lkZXJiYXItcHJvZHVjdCBsYWJlbC5jb2wtbWQtMTIuY29sLWZvcm0tbGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uaW4tY2F0LXByb2R1Y3Qge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxufVxyXG5cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbn1cclxuXHJcbnRib2R5IHRyIHRkIGltZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkY2hlY2sgbGFiZWw6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDNweDtcclxuICBsZWZ0OiAycHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5cclxudGFibGUuZml4ZWRfaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0ciB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGgsIC5maXhlZF9oZWFkZXIgdGQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgaW1nIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UtbmV3IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG50YWJsZS5maXhlZF9oZWFkZXIgLnNxdWFyZWRjaGVjayB7XHJcbiAgd2lkdGg6IGluaGVyaXRcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { TypeAttribute } from '../../../data/model';\nimport { TypeAttributeItem } from '../../../data/model';\nimport { Paging, QueryFilter } from '../../../data/dt';\n\n\n\n\n@Component({\n selector: 'app-type-attribute',\n templateUrl: './type-attribute.component.html',\n styleUrls: ['./type-attribute.component.scss']\n})\nexport class TypeAttributeComponent implements OnInit {\n @ViewChild('TypeAttributeModal') public TypeAttributeModal: ModalDirective;\n @ViewChild('TypeModal') public TypeModal: ModalDirective;\n\n public paging: Paging;\n public q: QueryFilter;\n\n public listTypeAttribute = [];\n public listTypeAttributeItem = [];\n public ckeConfig: any;\n public Item: TypeAttribute;\n public newType: TypeAttributeItem;\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.Item = new TypeAttribute();\n this.newType = new TypeAttributeItem();\n\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"TypeAttributeId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n this.GetListTypeAttribute();\n }\n\n //Get danh sách loại hình\n GetListTypeAttribute() {\n this.http.get('/api/typeattribute/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listTypeAttribute = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListTypeAttribute();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListTypeAttribute();\n }\n\n //Mở modal thêm mới loại hình\n OpenTypeAttributeModal(item) {\n this.Item = new TypeAttribute();\n this.newType = new TypeAttributeItem();\n this.Item.listAttributeItem = [];\n if (item != undefined) {\n this.Item = JSON.parse(JSON.stringify(item));\n }\n this.TypeAttributeModal.show();\n }\n\n //Thêm mới loại hình\n SaveTypeAttribute() {\n if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập tên loại hình!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên loại hình!\");\r\n return;\r\n }\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n if (this.Item.TypeAttributeId == undefined) {\n this.http.post('/api/TypeAttribute', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTypeAttribute();\n this.TypeAttributeModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n else {\n this.http.put('/api/TypeAttribute/' + this.Item.TypeAttributeId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTypeAttribute();\n this.TypeAttributeModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n }\n\n // // Mở modal cập nhật TypeAttribute\n // OpenEditModal(item) {\n // this.editItem = new TypeAttribute();\n // this.newType = new TypeAttributeItem();\n // this.editItem = Object.assign(this.editItem, item);\n // this.showItem = false;\n // this.editModal.show();\n // }\n\n // // cập nhật typeAttribute\n // EditFunc() {\n // if (this.editItem.Name == undefined || this.editItem.Name == '') {\n // this.toastWarning(\"Chưa nhập tên!\");\n // return;\n // }\n // this.editItem.UserId = parseInt(localStorage.getItem(\"userId\"));\n\n\n // this.http.put('/api/TypeAttribute/' + this.editItem.TypeAttributeId, this.editItem, this.httpOptions).subscribe(\n // (res) => {\n // if (res[\"meta\"][\"error_code\"] == 200) {\n // this.GetListTypeAttribute();\n // this.editModal.hide();\n // this.toastSuccess(\"Cập nhật thành công!\");\n // console.log(this.editItem.listAttributeItem);\n // }\n // else {\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n // console.log(\"error\");\n // }\n // },\n // (err) => {\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n // }\n // );\n // }\n\n\n //Mở modal thêm TypeAttributeItem\n OpenTypeModalModal(i) {\n this.newType = new TypeAttributeItem();\n if (i != undefined) {\n this.newType = JSON.parse(JSON.stringify(this.Item.listAttributeItem[i]));\n }\n this.TypeModal.show();\n }\n\n //Thêm TypeAttributeItem\n SaveTypeItem() {\n if (this.newType.Name == undefined || this.newType.Name == '') {\n this.toastWarning(\"Chưa nhập tên thuộc tính!\");\n return;\n }\n\n\n if (this.newType.TypeAttributeItemId == undefined) {\n this.newType.Status = 1;\n this.Item.listAttributeItem.push(this.newType);\n }\n else {\n for (let i = 0; i < this.Item.listAttributeItem.length; i++) {\n if (this.newType.TypeAttributeItemId == this.Item.listAttributeItem[i].TypeAttributeItemId) {\n this.Item.listAttributeItem[i] = JSON.parse(JSON.stringify(this.newType));\n }\n }\n }\n this.TypeModal.hide()\n }\n\n\n //Popup xác nhận xóa \n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n //Xóa TypeAttribute\n Delete(Id) {\n this.http.delete('/api/TypeAttribute/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListTypeAttribute();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n //xóa AttributeItem\n DeleteItem(i) {\n if (this.Item.TypeAttributeId == undefined) {\n this.Item.listAttributeItem.splice(i, 1);\n }\n else {\n if (this.Item.listAttributeItem[i].TypeAttributeItemId == undefined) {\n this.Item.listAttributeItem.splice(i, 1);\n }\n else {\n this.Item.listAttributeItem[i].Status = 99;\n }\n }\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListTypeAttribute();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách Website\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTLogo\\r\\n Tên Website\\r\\n \\r\\n Website cha\\r\\n \\r\\n Hotline\\r\\n \\r\\n Hotmail\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n \\r\\n \\r\\n {{ item.Name }}{{ findParent(item.websiteParent) }}{{ item.Hotline }}{{ item.Hotmail }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới Website

            \\r\\n

            Cập nhật thông tin Website

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57) || event.charCode == 32)\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57) || event.charCode == 32)\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57) || event.charCode == 32)\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progressHeader < 100\\\">\\r\\n {{progressHeader}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progressBanner < 100\\\">\\r\\n {{progressBanner}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progressFooter < 100\\\">\\r\\n {{progressFooter}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaTitle.value.length}}/100\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaKeyword.value.length}}/100\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaDescription.value.length}}/300\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2dlbmVyYWwvd2Vic2l0ZS93ZWJzaXRlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { domainImage } from '../../../data/const';\nimport { Website } from '../../../data/model';\nimport { Paging, QueryFilter } from '../../../data/dt';\n\n\n\n\n@Component({\n selector: 'app-website',\n templateUrl: './website.component.html',\n styleUrls: ['./website.component.scss']\n})\nexport class WebsiteComponent implements OnInit {\n @ViewChild('WebsiteModal') public WebsiteModal: ModalDirective;\n @ViewChild('fileHeader') fileHeader: ElementRef;\n @ViewChild('fileFooter') fileFooter: ElementRef;\n @ViewChild('fileBanner') fileBanner: ElementRef;\n\n public paging: Paging;\n public q: QueryFilter;\n\n public listLanguage = [];\n public Image = [];\n public listWebsite = [];\n public listWebsiteParent = [];\n public ckeConfig: any;\n public Item: Website;\n\n public progressHeader: number;\n public messageHeader: string;\n\n public progressFooter: number;\n public messageFooter: string;\n\n public progressBanner: number;\n public messageBanner: string;\n public domainImage = domainImage;\n\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.Item = new Website();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"WebsiteId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n this.GetListWebsite();\n }\n\n //GET\n GetListWebsite() {\n this.http.get('/api/website/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listWebsite = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n GetListWebsiteParent(Id) {\n console.log(Id);\n this.http.get('/api/website/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listWebsiteParent = res[\"data\"];\n this.listWebsiteParent.forEach(item => {\n item.Space = \"\";\n for (var i = 0; i < this.listWebsiteParent.length; i++) {\n item.Space += \" \";\n if (item.WebsiteId == Id) {\n item.disabled = true;\n }\n }\n })\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n // Get danh sách ngôn ngữ\n GetListLanguage() {\n this.http.get('/api/Language/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listLanguage = res[\"data\"];\n if (this.listLanguage.length == 1 && (this.Item.WebsiteId == undefined || (this.Item.WebsiteId != undefined && this.Item.LanguageId == undefined))) {\n this.Item.LanguageId = this.listLanguage[0].LanguageId;\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListWebsite();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListWebsite();\n }\n\n //Mở modal\n OpenWebsiteModal(item) {\n this.Item = new Website();\n this.fileHeader.nativeElement.value = \"\";\n this.fileFooter.nativeElement.value = \"\";\n this.fileBanner.nativeElement.value = \"\";\n\n this.messageBanner = undefined;\n this.messageFooter = undefined;\n this.messageHeader = undefined;\n\n this.progressHeader = undefined;\n this.progressFooter = undefined;\n this.progressBanner = undefined;\n\n if (item == undefined) {\n this.GetListWebsiteParent(undefined);\n }\n else {\n this.Item = JSON.parse(JSON.stringify(item));\n this.GetListWebsiteParent(this.Item.WebsiteId);\n }\n\n this.GetListLanguage();\n this.WebsiteModal.show();\n }\n\n //Thêm mới\n SaveWebsite() {\n if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập Tên!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\n this.toastWarning(\"Chưa nhập đường dẫn!\");\n return;\n } else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập đường dẫn!\");\r\n return;\r\n } else if (this.Item.LanguageId == undefined) {\n this.toastWarning(\"Chưa chọn ngôn ngữ!\");\n return;\n }\n\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n this.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\n if (this.Item.WebsiteId == undefined) {\n this.http.post('/api/Website', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListWebsite();\n this.WebsiteModal.hide();\n this.toastSuccess(\"Thêm thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Vui lòng thử lại!\");\n }\n );\n }\n else {\n this.http.put('/api/Website/' + this.Item.WebsiteId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListWebsite();\n this.WebsiteModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.Delete(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/Website/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListWebsite();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n upload(files, key) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress) {\n switch (key) {\n case 1:\n this.progressHeader = Math.round(100 * event.loaded / event.total);\n break;\n case 2:\n this.progressFooter = Math.round(100 * event.loaded / event.total);\n break;\n case 3:\n this.progressBanner = Math.round(100 * event.loaded / event.total);\n break;\n default:\n break;\n }\n }\n else if (event.type === HttpEventType.Response) {\n switch (key) {\n case 1:\n this.messageHeader = event.body[\"data\"].toString();\n this.Item.LogoHeader = this.messageHeader\n break;\n case 1:\n this.messageFooter = event.body[\"data\"].toString();\n this.Item.LogoFooter = this.messageFooter\n break;\n case 1:\n this.messageBanner = event.body[\"data\"].toString();\n this.Item.Banner = this.messageBanner\n break;\n default:\n break;\n }\n }\n });\n }\n\n findParent(item) {\n if (item == undefined) {\n return \"\";\n }\n else {\n return item.Name;\n }\n }\n\n RemoveImage(key) {\n switch (key) {\n case 1:\n this.fileHeader.nativeElement.value = \"\";\n this.Item.LogoHeader = undefined;\n this.messageHeader = undefined;\n this.progressHeader = undefined;\n break;\n case 2:\n this.fileFooter.nativeElement.value = \"\";\n this.Item.LogoFooter = undefined;\n this.messageFooter = undefined;\n this.progressFooter = undefined;\n break;\n case 3:\n this.fileBanner.nativeElement.value = \"\";\n this.Item.Banner = undefined;\n this.messageBanner = undefined;\n this.progressBanner = undefined;\n break;\n default:\n break;\n }\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListWebsite();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'IMPORTMANAGEMENT.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'IMPORTMANAGEMENT.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'IMPORTMANAGEMENT.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'IMPORTMANAGEMENT.DISPLAY' | translate}}\\r\\n \\r\\n {{'IMPORTMANAGEMENT.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'IMPORTMANAGEMENT.TABLE.STT' | translate}}\\r\\n {{'IMPORTMANAGEMENT.TABLE.TIME' | translate}}\\r\\n \\r\\n {{'IMPORTMANAGEMENT.TABLE.TYPEBILL' | translate}}\\r\\n \\r\\n {{ cuavl.TENCUAVL }}\\r\\n {{'IMPORTMANAGEMENT.TABLE.TASK' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n {{ itemtram.CreatedAt | date: 'dd/MM/yyyy HH:mm'}} \\r\\n \\r\\n {{'IMPORTMANAGEMENT.NHAPKHO' | translate}}\\r\\n \\r\\n {{'IMPORTMANAGEMENT.XUATKHO' | translate}}\\r\\n \\r\\n {{'IMPORTMANAGEMENT.KIEMKE' | translate}}\\r\\n \\r\\n {{'IMPORTMANAGEMENT.CHUAXACDINH' | translate}}\\r\\n \\r\\n {{ items.Quantity | number:'1.0-1' }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'IMPORTMANAGEMENT.TASK.EDIT' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'IMPORTMANAGEMENT.TASK.DELETE' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'IMPORTMANAGEMENT.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'IMPORTMANAGEMENT.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'IMPORTMANAGEMENT.INTODISPLAY' | translate}} {{ paging.item_count }} {{'IMPORTMANAGEMENT.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'IMPORTMANAGEMENT.MODELHEAD.ADDNEW' | translate}}

            \\r\\n

            {{'IMPORTMANAGEMENT.MODELHEAD.UPDATE' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'IMPORTMANAGEMENT.MODELBODY.STT' | translate}}\\r\\n {{'IMPORTMANAGEMENT.MODELBODY.NAMECUA' | translate}}\\r\\n {{'IMPORTMANAGEMENT.MODELBODY.SUPPLIER' | translate}}{{'IMPORTMANAGEMENT.MODELBODY.QUYDOIKHOILUONG' | translate}}{{'IMPORTMANAGEMENT.MODELBODY.DONVIQUYDOI' | translate}}{{'IMPORTMANAGEMENT.MODELBODY.HESOQUYDOI' | translate}}{{'IMPORTMANAGEMENT.MODELBODY.PRICE' | translate}}{{'IMPORTMANAGEMENT.MODELBODY.THANHTIEN' | translate}}
            {{i+1}}{{itemsub.TENCUAVL}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n = 48\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n *ngIf=\\\"itemsub.Price\\\"\\r\\n appTwoDigitDecimaNumber\\r\\n (ngModelChange)=\\\"changeValue(i)\\\"\\r\\n >\\r\\n = 48\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n *ngIf=\\\"!itemsub.Price\\\"\\r\\n appTwoDigitDecimaNumber\\r\\n (ngModelChange)=\\\"changeValue(i)\\\"\\r\\n >\\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n\\r\\n \\r\\n
            \\r\\n\\r\\n\\r\\n\"","module.exports = \".nguyenlieu .col-xs-12.col-md-2 {\\n display: flex;\\n flex-direction: column; }\\n\\n.bot_form .form-check-inline {\\n margin-right: 45px;\\n margin-top: 10px;\\n padding-left: 5px; }\\n\\n.bot_form label {\\n font-weight: 500;\\n font-size: 13px; }\\n\\n.bot_form input[type='radio'] {\\n height: 20px;\\n width: 20px;\\n position: relative;\\n top: -3px;\\n margin-right: 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvaW1wb3J0bWFuYWdlbWVudC9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXGltcG9ydG1hbmFnZW1lbnRcXGltcG9ydG1hbmFnZW1lbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCLEVBQUE7O0FBRXhCO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxrQkFBa0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2ltcG9ydG1hbmFnZW1lbnQvaW1wb3J0bWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uZ3V5ZW5saWV1IC5jb2wteHMtMTIuY29sLW1kLTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmJvdF9mb3JtIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gIG1hcmdpbi1yaWdodDogNDVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5ib3RfZm9ybSBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmJvdF9mb3JtIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuIl19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Order, OrderItem, NhapKho, OrderTram } from '../../data/model';\r\nimport { OrderStatus, PaymentOrderStatus } from '../../data/const';\r\nimport { debug } from 'util';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Paging, QueryFilter } from '../../data/dt';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\r\nimport { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';\r\nimport { CommonService } from '../../service/common.service';\r\nimport languages from '../../../assets/i18n/languages.json';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport const MY_CUSTOM_FORMATS = {\r\n parseInput: 'DD/MM/YYYY HH:mm',\r\n fullPickerInput: 'DD/MM/YYYY HH:mm',\r\n datePickerInput: 'DD/MM/YYYY',\r\n timePickerInput: ' HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n};\r\n@Component({\r\n selector: 'app-importmanagement',\r\n templateUrl: './importmanagement.component.html',\r\n styleUrls: ['./importmanagement.component.scss'],\r\n providers: [\r\n { provide: DateTimeAdapter, useClass: MomentDateTimeAdapter, deps: [OWL_DATE_TIME_LOCALE] },\r\n { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS }\r\n ]\r\n})\r\n\r\nexport class ImportManagement implements OnInit {\r\n @ViewChild('BranchModal') public BranchModal: ModalDirective;\r\n @ViewChild('ViewModal') public viewModal: ModalDirective;\r\n\r\n public paging: any;\r\n public pagingItem: any;\r\n public q: any;\r\n \r\n public listOrder = [];\r\n public Tonkho: NhapKho;\r\n public dataSum = {};\r\n public listOrderBranch = [];\r\n public listThongKe = [];\r\n public listCompany = [];\r\n public listBranchSearch = [];\r\n public listCuaVL = [];\r\n public listNV = [];\r\n public listDonHang = [];\r\n public ckeConfig: any;\r\n public cuavatlieu1: boolean;\r\n public cuavatlieu2: boolean;\r\n public cuavatlieu3: boolean;\r\n public cuavatlieu4: boolean;\r\n public cuavatlieu5: boolean;\r\n public cuavatlieu6: boolean;\r\n public cuavatlieu7: boolean;\r\n public cuavatlieu8: boolean;\r\n public cuavatlieu9: boolean;\r\n public cuavatlieu10: boolean;\r\n public cuavatlieu11: boolean;\r\n public cuavatlieu12: boolean;\r\n public kieudulieu1: boolean;\r\n public kieudulieu2: boolean;\r\n public kieudulieu: string;\r\n public cuavatlieu: string;\r\n public LOAIPHIEU: string;\r\n public TENCUAVL: string;\r\n\r\n public ItemTram: OrderTram;\r\n public listCuaVLTram: any;\r\n public progress: number;\r\n TypeTram: number;\r\n TypePhieu: number;\r\n isdisabled: boolean;\r\n public Item: Order;\r\n \r\n public httpOptions: any;\r\n public listOrderStatus = OrderStatus;\r\n public listPaymentOrderStatus = PaymentOrderStatus;\r\n public role: number;\r\n companyId: number;\r\n BranchId: string;\r\n UserId: number;\r\n public companyselect: number;\r\n public companyselectsearch: number;\r\n public totalMETKHOIDATHANG: number;\r\n public totalMETKHOITICHLUY: number;\r\n\r\n public total : number = 1;\r\n\r\n PriceCurrencyMaskConfig = {\r\n align: \"left\",\r\n allowNegative: false,\r\n decimal: \".\",\r\n precision: 0,\r\n prefix: \"\",\r\n suffix: \" VNĐ\",\r\n thousands: \",\"\r\n };\r\n public lstLanguage: Array = languages;\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public activatedRoute: ActivatedRoute,\r\n public datepipe: DatePipe,\r\n public commonService: CommonService,\r\n public translate: TranslateService\r\n ) {\r\n translate.addLangs(this.lstLanguage);\r\n this.Item = new Order();\r\n this.Tonkho = new NhapKho();\r\n this.cuavatlieu1 = true;\r\n this.cuavatlieu2 = true;\r\n this.cuavatlieu3 = true;\r\n this.cuavatlieu4 = true;\r\n this.cuavatlieu5 = true;\r\n this.cuavatlieu6 = true;\r\n this.cuavatlieu7 = true;\r\n this.cuavatlieu8 = true;\r\n this.cuavatlieu9 = true;\r\n this.cuavatlieu10 = true;\r\n this.cuavatlieu11 = true;\r\n this.cuavatlieu12 = true;\r\n this.kieudulieu1 = true;\r\n this.kieudulieu2 = true;\r\n // this.Tonkho = new \r\n\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: '1=1',\r\n order_by: 'NGAYDATHANG Desc',\r\n item_count: 0\r\n };\r\n\r\n this.q = {\r\n txtSearch: '',\r\n tungay: '',\r\n denngay: '',\r\n TENCUAVL: '',\r\n LOAIPHIEU: ''\r\n }\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenBranchModal(itemtram) {\r\n\r\n this.ItemTram = new OrderTram();\r\n this.ItemTram.TypePhieu = 1;\r\n this.progress = undefined\r\n // this.listCuaVLTram = this.listCuaVL;\r\n if (itemtram != undefined)\r\n {\r\n this.isdisabled = true;\r\n this.ItemTram = JSON.parse(JSON.stringify(itemtram));\r\n this.http.get('/api/ImportManagement/GetDonHangById/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=0' + '&donhangID=' + itemtram.OrderTramId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ItemTram = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n else {\r\n // this.ItemTram = JSON.parse(JSON.stringify(itemtram));\r\n this.http.get('/api/ImportManagement/GetDonHangById/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=0' + '&donhangID=0', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ItemTram = res[\"data\"];\r\n this.ItemTram.TypePhieu = 1;\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n this.isdisabled = false;\r\n }\r\n this.BranchModal.show(); \r\n }\r\n\r\n getQueryPar() {\r\n var str = '0';\r\n var str1 = '0';\r\n if (this.cuavatlieu1 == true) {\r\n str += ',1';\r\n }\r\n if (this.cuavatlieu2 == true) {\r\n str += ',2';\r\n }\r\n if (this.cuavatlieu3 == true) {\r\n str += ',3';\r\n }\r\n if (this.cuavatlieu4 == true) {\r\n str += ',4';\r\n }\r\n if (this.cuavatlieu5 == true) {\r\n str += ',5';\r\n }\r\n if (this.cuavatlieu6 == true) {\r\n str += ',6';\r\n }\r\n if (this.cuavatlieu7 == true) {\r\n str += ',7';\r\n }\r\n if (this.cuavatlieu8 == true) {\r\n str += ',8';\r\n }\r\n if (this.cuavatlieu9 == true) {\r\n str += ',9';\r\n }\r\n if (this.cuavatlieu10 == true) {\r\n str += ',10';\r\n }\r\n if (this.cuavatlieu11 == true) {\r\n str += ',11';\r\n }\r\n if (this.cuavatlieu12 == true) {\r\n str += ',12';\r\n }\r\n if (this.kieudulieu1 == true) {\r\n str1 += ',1';\r\n }\r\n if (this.kieudulieu2 == true) {\r\n str1 += ',2';\r\n }\r\n this.cuavatlieu = str;\r\n this.kieudulieu = str1;\r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += \" and 1=1\";\r\n }\r\n else {\r\n query += \" 1=1 \";\r\n }\r\n }\r\n\r\n if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n if (query != '') {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n }\r\n // this.getQueryPar();\r\n //if (this.q.TENNV != undefined && this.q.TENNV != '') {\r\n // if (query != '') {\r\n // query += \" AND nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n // else {\r\n // query += \"nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n //}\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n //this.paging.Branchid = '';\r\n //this.q.Branchlist.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // }\r\n //});\r\n }\r\n else {\r\n this.paging.Branchid = '';\r\n if (this.role != 1) {\r\n this.listBranchSearch.forEach((item, index) => {\r\n if (item != '') {\r\n this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n }\r\n });\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n \r\n }\r\n ngOnInit() {\r\n\r\n \r\n this.GetListBranch();\r\n this.totalMETKHOIDATHANG = 0;\r\n this.totalMETKHOITICHLUY = 0;\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n var json = JSON.parse(localStorage.getItem('roles'));\r\n this.companyId = parseInt(localStorage.getItem('companyId'));\r\n this.UserId = parseInt(localStorage.getItem('userId'));\r\n this.BranchId = localStorage.getItem('BranchId');\r\n this.companyselect = -1;\r\n if (json.length > 0) {\r\n for (var i = 0; i < json.length; i++) {\r\n this.role = json[i].RoleId\r\n }\r\n }\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n this.paging.Branchid = '';\r\n if (this.role == 3) {\r\n this.GetListBranchSearchStart();\r\n }\r\n if (this.role == 4) {\r\n this.GetListBranchCTCon();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (this.role == 1) {\r\n this.GetListCompany();\r\n }\r\n if (this.role != 1) {\r\n this.GetListBranchSearchStart();\r\n }\r\n this.paging.query = \"DATEPART(dy,GETDATE()) = DATEPART(dy,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n // let todaynew = new Date().toISOString().substr(0, 10);\r\n let todaynew = new Date();\r\n //this.q.tungay = this.datepipe.transform(today, 'yyyy-MM-dd');\r\n this.q.fromdate = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n this.q.todate = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n this.q.ckbNhapKho = this.kieudulieu1;\r\n this.q.ckTinhKho = this.kieudulieu2;\r\n \r\n if (localStorage.getItem('getlinkd') == \"1\") {\r\n if (localStorage.getItem('thoigiand') == '1') {\r\n let today = new Date().toISOString().substr(0, 10);\r\n this.q.fromdate = today;\r\n this.q.todate = today;\r\n this.paging.query = \"DATEPART(dy,GETDATE()) = DATEPART(dy,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '2') {\r\n let today = new Date();\r\n this.q.fromdate = new Date(today.setDate(today.getDate() - today.getDay() + 1)).toISOString().substr(0, 10);\r\n this.q.todate = new Date(today.setDate(today.getDate() - today.getDay() + 7)).toISOString().substr(0, 10);\r\n this.paging.query = \"DATEPART(wk,GETDATE()) = DATEPART(wk,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '3') {\r\n let today = new Date();\r\n this.q.fromdate = new Date(today.setDate(today.getDate() - today.getDay() + 1 - 7)).toISOString().substr(0, 10);\r\n let today1 = new Date();\r\n this.q.todate = new Date(today1.setDate(today1.getDate() - today1.getDay())).toISOString().substr(0, 10);\r\n this.paging.query = \"(DATEPART(wk,GETDATE()) -1) = DATEPART(wk,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '4') {\r\n var today = new Date();\r\n var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth(),2);\r\n this.q.fromdate = lastDayOfMonth.toISOString().substr(0, 10);\r\n\r\n var today1 = new Date();\r\n var lastDayOfMonth1 = new Date(today1.getFullYear(), today1.getMonth() + 1, 1);\r\n this.q.todate = lastDayOfMonth1.toISOString().substr(0, 10);\r\n this.paging.query = \"DATEPART(mm,GETDATE()) = DATEPART(mm,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n }\r\n this.GetlistKH();\r\n // this.GetListOrder();\r\n this.GetListOrderBarch();\r\n\r\n }\r\n GetListBranch() {\r\n //if (this.role != 1) {\r\n // this.paging.query += ' and CompanyId = ' + this.companyId;\r\n //}\r\n this.ItemTram = new OrderTram();\r\n this.paging = new Paging();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"1=1\";\r\n this.paging.order_by = \"OrderTramId Desc\";\r\n this.paging.item_count = 0;\r\n this.QueryChangedCuaVL();\r\n this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' + this.kieudulieu + '&CVL=' + this.cuavatlieu + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate, this.httpOptions).subscribe(\r\n //this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listDonHang = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetCuaVL() {\r\n\r\n this.QueryChangedCuaVL();\r\n\r\n this.http.get('/api/ImportManagement/GetCuaVL/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' , this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCuaVL = res[\"data\"];\r\n this.listThongKe = res[\"data1\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n let query = '';\r\n if (this.q.fromdate != undefined && this.q.fromdate != undefined && this.q.todate != '' && this.q.todate != '') {\r\n if (query != '') {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n }\r\n this.paging.query = query;\r\n this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=0' + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listDonHang = res[\"data\"];\r\n this.listThongKe = res[\"data1\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //test\r\n TestChange(i) {\r\n if (i == 1) {\r\n this.cuavatlieu1 = !this.cuavatlieu1;\r\n } else if (i == 2) {\r\n this.cuavatlieu2 = !this.cuavatlieu2;\r\n } else if (i == 3) {\r\n this.cuavatlieu3 = !this.cuavatlieu3;\r\n } else if (i == 4) {\r\n this.cuavatlieu4 = !this.cuavatlieu4;\r\n } else if (i == 5) {\r\n this.cuavatlieu5 = !this.cuavatlieu5;\r\n } else if (i == 6) {\r\n this.cuavatlieu6 = !this.cuavatlieu6;\r\n } else if (i == 7) {\r\n this.cuavatlieu7 = !this.cuavatlieu7;\r\n } else if (i == 8) {\r\n this.cuavatlieu8 = !this.cuavatlieu8;\r\n } else if (i == 9) {\r\n this.cuavatlieu9 = !this.cuavatlieu9;\r\n } else if (i == 10) {\r\n this.cuavatlieu10 = !this.cuavatlieu10;\r\n } else if (i == 11) {\r\n this.cuavatlieu11 = !this.cuavatlieu11;\r\n } else if (i == 12) {\r\n this.cuavatlieu12 = !this.cuavatlieu12;\r\n }\r\n }\r\n //Get danh sách danh mục đơn hàng\r\n GetListOrder() {\r\n \r\n\r\n console.log(\"Query moi\" + '&TENCUAVL=' + this.q.TENCUAVL + '&LOAIPHIEU=' + this.q.LOAIPHIEU);\r\n \r\n this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' + this.kieudulieu + '&CVL=' + this.cuavatlieu + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate + '&tencuavatlieu=' + this.q.TENCUAVL + '&LOAIPHIEU=' + this.q.LOAIPHIEU , this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listDonHang = res[\"data\"];\r\n this.listThongKe = res[\"data1\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n ExportExcel() {\r\n if (this.paging.CompanyId == undefined) {\r\n this.paging.CompanyId = 0;\r\n }\r\n if (this.q.Branchlist == undefined) {\r\n //this.toastWarning(\"Bạn chưa chọn trạm trộn!\");\r\n } else {\r\n this.getQueryPar();\r\n fetch('/api/ImportManagement/GetReport?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' + this.kieudulieu + '&CVL=' + this.cuavatlieu + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate, {\r\n method: 'GET',\r\n headers: new Headers({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n })\r\n .then(function (response) {\r\n var blob = response.blob();\r\n return blob;\r\n }).then(blob => {\r\n var DateObj = new Date();\r\n var date = ('0' + DateObj.getDate()).slice(-2) + '_' + ('0' + (DateObj.getMonth() + 1)).slice(-2) + '_' + DateObj.getFullYear();\r\n let tenchinhanh = this.listBranchSearch.find(x => x.BranchId == this.paging.Branchid);\r\n this.DownloadFile(blob, this.commonService.ConvertUrl(tenchinhanh.Name) + \"_Quan_ly_vat_lieu\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n });\r\n }\r\n \r\n }\r\n DownloadFile(data: Blob, filename: string, mime: string): void {\r\n var blob = new Blob([data], { type: mime || 'application/octet-stream' });\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n // IE workaround for \"HTML7007: One or more blob URLs were \r\n // revoked by closing the blob for which they were created. \r\n // These URLs will no longer resolve as the data backing \r\n // the URL has been freed.\"\r\n window.navigator.msSaveBlob(blob, filename);\r\n }\r\n else {\r\n var blobURL = window.URL.createObjectURL(blob);\r\n var tempLink = document.createElement('a'); \r\n tempLink.href = blobURL;\r\n tempLink.setAttribute('download', filename);\r\n tempLink.setAttribute('target', '_blank');\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n document.body.removeChild(tempLink);\r\n }\r\n }\r\n //Get danh sách danh mục đơn hàng\r\n GetListOrderBarch() {\r\n //this.http.get('/api/ImportManagement/GetByBranch?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.listOrderBranch = res[\"data\"];\r\n // this.paging.item_count = res[\"metadata\"];\r\n // this.totalMETKHOIDATHANG = 0;\r\n // this.totalMETKHOITICHLUY = 0;\r\n // for (let index in this.listOrderBranch) {\r\n // this.totalMETKHOIDATHANG = this.totalMETKHOIDATHANG + this.listOrderBranch[index].METKHOIDATHANG;\r\n // this.totalMETKHOITICHLUY = this.totalMETKHOITICHLUY + this.listOrderBranch[index].METKHOITICHLUY;\r\n // };\r\n // }\r\n // },\r\n // (err) => {\r\n // console.log(\"Error: connect to API\");\r\n // }\r\n //);\r\n }\r\n // Get danh sách khách hàng\r\n GetlistKH() {\r\n //this.http.get('/api/ImportManagement/GetNV?companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.listNV = res[\"data\"];\r\n // }\r\n // },\r\n // (err) => {\r\n // console.log(\"Error: connect to API\");\r\n // }\r\n //);\r\n }\r\n GetListCompany() {\r\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n if (localStorage.getItem('congtyd') != 'undefined') {\r\n var index = this.listCompany.find(x => x.CompanyId == parseInt(localStorage.getItem('congtyd')));\r\n this.q.CompanyId = index.CompanyId;\r\n this.paging.CompanyId = parseInt(localStorage.getItem('congtyd'));\r\n this.companyId = parseInt(localStorage.getItem('congtyd'));\r\n this.GetListBranchSearchStart();\r\n this.GetListOrder();\r\n this.GetListOrderBarch();\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearchStart() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyId + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n let localtramtron = localStorage.getItem(\"BranchId\");\r\n if (localtramtron != \"undefined\") {\r\n let ids = localtramtron.split(\",\").map(Number);\r\n this.listBranchSearch = this.listBranchSearch.filter(\r\n (x) => ids.includes(x.BranchId)\r\n );\r\n }\r\n if (localStorage.getItem('tramtrond') != 'undefined') {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem('tramtrond').split(',');\r\n lstnhombenh.forEach(element => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchCTCon() {\r\n this.http.get('/api/ImportManagement/GetByUser?id=' + this.UserId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n if (localStorage.getItem('tramtrond') != 'undefined') {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem('tramtrond').split(',');\r\n lstnhombenh.forEach(element => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearch() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n console.log(\"Page log\" + this.paging.page );\r\n // this.GetListBranch();\r\n //this.GetListOrder();\r\n\r\n this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' + this.kieudulieu + '&CVL=' + this.cuavatlieu + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listDonHang = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n PageSizeChanged() {\r\n this.paging.page =1;\r\n console.log(\"Page log\" + this.paging.page);\r\n // this.GetListBranch();\r\n //this.GetListOrder();\r\n\r\n this.http.get('/api/ImportManagement/GetByPageDonHang/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=' + this.kieudulieu + '&CVL=' + this.cuavatlieu + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listDonHang = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\r\n }\r\n //\r\n QueryChanged() {\r\n \r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += \" and 1=1\";\r\n }\r\n else {\r\n query += \" 1=1 \";\r\n }\r\n }\r\n\r\n if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n if (query != '') {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n }\r\n this.getQueryPar();\r\n //if (this.q.TENNV != undefined && this.q.TENNV != '') {\r\n // if (query != '') {\r\n // query += \" AND nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n // else {\r\n // query += \"nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n //}\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n //this.paging.Branchid = '';\r\n //this.q.Branchlist.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // }\r\n //});\r\n }\r\n else {\r\n this.paging.Branchid = '';\r\n if (this.role != 1) {\r\n this.listBranchSearch.forEach((item, index) => {\r\n if (item != '') {\r\n this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n }\r\n });\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n if (this.q.Branchlist == undefined) {\r\n this.toastWarning(this.translate.instant('TOAST.IMPORTMANAGEMENT.TOAST_1'));\r\n } else {\r\n this.GetListOrder();\r\n }\r\n \r\n // this.GetListOrderBarch();\r\n }\r\n\r\n QueryChangedCuaVL() {\r\n\r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += \" and 1=1\";\r\n }\r\n else {\r\n query += \" 1=1 \";\r\n }\r\n }\r\n\r\n if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n if (query != '') {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \" AND ( CreatedAt >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND CreatedAt <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n }\r\n }\r\n this.getQueryPar();\r\n //if (this.q.TENNV != undefined && this.q.TENNV != '') {\r\n // if (query != '') {\r\n // query += \" AND nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n // else {\r\n // query += \"nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // }\r\n //}\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n //this.paging.Branchid = '';\r\n //this.q.Branchlist.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // }\r\n //});\r\n }\r\n else {\r\n this.paging.Branchid = '';\r\n if (this.role != 1) {\r\n this.listBranchSearch.forEach((item, index) => {\r\n if (item != '') {\r\n this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n }\r\n });\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n if (this.q.Branchlist == undefined) {\r\n //this.toastWarning(this.translate.instant('TOAST.IMPORTMANAGEMENT.TOAST_1'));\r\n } else {\r\n // this.GetListOrder();\r\n }\r\n\r\n // this.GetListOrderBarch();\r\n }\r\n //\r\n GetBranch() {\r\n this.companyselectsearch = this.q.CompanyId;\r\n this.listBranchSearch = [];\r\n this.q.BranchId = null;\r\n this.GetListBranchSearch();\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n //Open modal view\r\n OpenViewModal(item) {\r\n this.Item = new Order();\r\n this.Item = Object.assign({}, item);\r\n this.viewModal.show();\r\n }\r\n\r\n //Thêm mới khách hàng\r\n SaveBranch() {\r\n var listQuantity = this.ItemTram.listOrderTramItems;\r\n var getTypePhieu = this.ItemTram.TypePhieu;\r\n var getDate = this.ItemTram.CreatedAt;\r\n if (getTypePhieu == 1 || getTypePhieu == 2) {\r\n for (var key in listQuantity) {\r\n //if (listQuantity[key].Quantity == null || listQuantity[key].Quantity == undefined) {\r\n // let notification = \"Không được để trống \" + listQuantity[key].TENCUAVL;\r\n // this.toastError(notification);\r\n // return;\r\n //}\r\n if (listQuantity[key].Quantity < 0) {\r\n let notification = listQuantity[key].TENCUAVL + \" \" + this.translate.instant('TOAST.IMPORTMANAGEMENT.TOAST_2');\r\n this.toastError(notification);\r\n return;\r\n }\r\n }\r\n }\r\n console.log('Date',getDate);\r\n //else if (getTypePhieu == 3) {\r\n // for (var key in listQuantity) {\r\n // if (listQuantity[key].Quantity == null || listQuantity[key].Quantity == undefined) {\r\n // let notification = \"Không được để trống \" + listQuantity[key].TENCUAVL;\r\n // this.toastError(notification);\r\n // return;\r\n // }\r\n // if (listQuantity[key].Quantity > 0) {\r\n // let notification = listQuantity[key].TENCUAVL + \" Phải là số âm\";\r\n // this.toastError(notification);\r\n // return;\r\n // }\r\n // }\r\n //}\r\n \r\n let mtt = this.q.Branchlist;\r\n console.log(mtt);\r\n if (this.q.Branchlist == undefined || this.q.Branchlist == '') {\r\n this.toastWarning(this.translate.instant('TOAST.IMPORTMANAGEMENT.TOAST_3'));\r\n return;\r\n }\r\n //else \r\n //if (this.ItemTram.Code == undefined || this.ItemTram.Code == '') {\r\n // this.toastWarning(\"Chưa nhập mã đơn hàng!\");\r\n // return;\r\n //} else if (this.ItemTram.Code.replace(/ /g, '') == '') {\r\n // this.toastWarning(\"Chưa nhập mã!\");\r\n // return;\r\n //} else if (this.ItemTram.Name == undefined || this.ItemTram.Name == '') {\r\n // this.toastWarning(\"Chưa nhập tên đơn hàng!\");\r\n // return;\r\n //} else if (this.ItemTram.Name.replace(/ /g, '') == '') {\r\n // this.toastWarning(\"Chưa nhập tên!\");\r\n // return;\r\n //}\r\n\r\n this.QueryChangedCuaVL();\r\n \r\n /*this.ItemTram.UserId = parseInt(localStorage.getItem(\"userId\"));*/\r\n this.ItemTram.BrandId = this.q.Branchlist;\r\n // if (this.ItemTram.OrderTramId == undefined)\r\n {\r\n this.ItemTram.UserId = this.UserId;\r\n // this.ItemTram.listOrderTramItems = this.listCuaVLTram;\r\n //this.ItemTram.BrandId = mtt;\r\n let obj = JSON.parse(JSON.stringify(this.ItemTram));\r\n \r\n //let obj1 = JSON.parse(JSON.stringify(this.listCuaVLTram));\r\n\r\n this.http.post('/api/ImportManagement', obj , this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListBranch();\r\n this.BranchModal.hide();\r\n this.GetCuaVL();\r\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_SUCCESS'));\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 212) {\r\n this.toastWarning(this.translate.instant('TOAST.IMPORTMANAGEMENT.TOAST_4'));\r\n }\r\n else {\r\n this.toastError(res[\"meta\"][\"error_message\"]);\r\n }\r\n },\r\n (err) => {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n );\r\n }\r\n \r\n //else {\r\n // this.ItemTram.listOrderTramItems = this.listCuaVLTram;\r\n // debugger;\r\n // let obj = JSON.parse(JSON.stringify(this.ItemTram));\r\n // this.ItemTram.BrandId = this.paging.Branchid;\r\n // this.http.put('/api/OrderTram/' + this.ItemTram.OrderTramId, this.ItemTram, this.httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.GetListBranch();\r\n // this.BranchModal.hide();\r\n // this.toastSuccess(res[\"meta\"][\"error_message\"]);\r\n // }\r\n // else if (res[\"meta\"][\"error_code\"] == 212) {\r\n // this.toastWarning(\"Mã chi nhánh đã tồn tại!\");\r\n // }\r\n // else {\r\n // this.toastError(res[\"meta\"][\"error_message\"]);\r\n // }\r\n // },\r\n // (err) => {\r\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n // }\r\n // );\r\n //}\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n this.GetCuaVL();\r\n this.GetListOrder();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: this.translate.instant('TOAST.CONFIM'),\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: this.translate.instant('TOAST.CONFIM_DELETE')\r\n },\r\n actionButtons: [\r\n {\r\n text: this.translate.instant('TOAST.YES'),\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n this.Delete(Id, this.q.Branchlist);\r\n }\r\n },\r\n {\r\n text: this.translate.instant('TOAST.CLOSE'),\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n Delete(Id,bran) {\r\n this.http.delete('/api/ImportManagement/' + Id + '/' + bran, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.QueryChanged();\r\n this.viewRef.clear();\r\n this.GetCuaVL();\r\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\r\n }\r\n else {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n },\r\n (err) => {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n );\r\n }\r\n\r\n changeValue = (index : any) => {\r\n console.log(this.ItemTram.listOrderTramItems[index].Price);\r\n console.log(this.ItemTram.listOrderTramItems[index].Conversion_Volume);\r\n this.ItemTram.listOrderTramItems[index].Total_Money = this.ItemTram.listOrderTramItems[index].Price * this.ItemTram.listOrderTramItems[index].Conversion_Volume;\r\n }\r\n}\r\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách ngôn ngữ\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n Tên ngôn ngữ\\r\\n \\r\\n Mã ngôn ngữ\\r\\n ẢnhThao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới ngôn ngữ

            \\r\\n

            Sửa thông tin ngôn ngữ

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2xhbmd1YWdlL2xhbmd1YWdlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { Language } from '../../data/model';\nimport { domainImage } from '../../data/const';\nimport { Paging, QueryFilter } from '../../data/dt';\n\n@Component({\n selector: 'app-language',\n templateUrl: './language.component.html',\n styleUrls: ['./language.component.scss']\n})\nexport class LanguageComponent implements OnInit {\n @ViewChild('LanguageModal') public LanguageModal: ModalDirective;\n @ViewChild('file') file: ElementRef;\n public paging: Paging;\n public q: QueryFilter;\n public listLanguage = [];\n public ckeConfig: any;\n public Item: Language;\n public progress: number;\n public message: string;\n public domainImage = domainImage;\n public httpOptions: any;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n ) {\n this.Item = new Language();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"LanguageId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n this.GetListLanguage();\n }\n\n GetListLanguage() {\n this.http.get('/api/Language/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listLanguage = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListLanguage();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListLanguage();\n }\n\n //Mở modal thêm mới\n OpenLanguageModal(item) {\n this.Item = new Language();\n this.file.nativeElement.value = \"\";\r\n this.message = undefined;\r\n this.progress = undefined;\n if (item != undefined) {\r\n this.Item = JSON.parse(JSON.stringify(item));\r\n }\n this.LanguageModal.show();\n }\n\n //Thêm mới danh mục trang\n SaveLanguage() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(\"Chưa nhập Mã ngôn ngữ!\");\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập mã!\");\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập Tên ngôn ngữ!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tên!\");\r\n return;\r\n }\n\n if (this.Item.LanguageId == undefined) {\n this.http.post('/api/Language', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListLanguage();\n this.LanguageModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\r\n }\n else {\n this.http.put('/api/Language/' + this.Item.LanguageId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListLanguage();\n this.LanguageModal.hide();\n this.toastSuccess(\"Cập nhật thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\r\n }\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n console.log('OnAction');\n this.DeleteLanguage(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n DeleteLanguage(Id) {\n this.http.delete('/api/Language/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListLanguage();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress)\n this.progress = Math.round(100 * event.loaded / event.total);\n else if (event.type === HttpEventType.Response) {\n this.message = event.body[\"data\"].toString();\n this.Item.Flag = this.message;\n }\n });\n }\n\n RemoveImage() {\n this.Item.Flag = undefined;\n this.file.nativeElement.value = \"\";\n this.message = undefined;\n this.progress = undefined;\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListLanguage();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"@import url('https://fonts.googleapis.com/css?family=Nunito');\\r\\n@import url('https://fonts.googleapis.com/css?family=Poiret+One');\\r\\nbody, html {\\r\\n height: 100%;\\r\\n background-repeat: no-repeat; /*background-image: linear-gradient(rgb(12, 97, 33),rgb(104, 145, 162));*/\\r\\n background: black;\\r\\n position: relative;\\r\\n}\\r\\n#login-box {\\r\\n position: absolute;\\r\\n top: 35%;\\r\\n left: 50%;\\r\\n transform: translateX(-50%);\\r\\n width: 350px;\\r\\n margin: 0 auto;\\r\\n border: 1px solid white;\\r\\n background: rgb(255, 255, 255);\\r\\n min-height: 250px;\\r\\n z-index: 9999;\\r\\n border-radius: .25rem;\\r\\n}\\r\\n#login-box .logo .logo-caption {\\r\\n color: white;\\r\\n text-align: center;\\r\\n margin-bottom: 0px;\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n border-bottom: 1px solid #e4e7ea;\\n font-size:20px;\\r\\n }\\r\\n#login-box .logo .tweak {\\r\\n color: #034e9e;\\r\\n }\\r\\n.ng-select.ng-select-single .ng-select-container {\\r\\n margin-left: 0;\\r\\n}\\r\\n#login-box .controls {\\r\\n padding-top: 30px;\\r\\n padding: 20px;\\r\\n}\\r\\n#login-box .controls input {\\r\\n }\\r\\n/*login-box .controls input:focus {\\r\\n box-shadow: none;\\r\\n }\\r\\n\\r\\n #login-box .controls input:first-child {\\r\\n border-top-left-radius: 2px;\\r\\n border-top-right-radius: 2px;\\r\\n }\\r\\n\\r\\n #login-box .controls input:last-child {\\r\\n border-bottom-left-radius: 2px;\\r\\n border-bottom-right-radius: 2px;\\r\\n }*/\\r\\n#login-box button.btn-custom {\\r\\n border-radius: 2px;\\r\\n margin-top: 8px;\\r\\n background: #007bff;\\r\\n border-color: #007bff;\\r\\n color: white;\\r\\n}\\r\\n#login-box button.btn-custom:hover {\\r\\n transition: all 500ms ease;\\r\\n background: #0069d9;\\r\\n border-color: #0069d9;\\r\\n}\\r\\n#particles-js {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-size: cover;\\r\\n background-position: 50% 50%;\\r\\n position: fixed;\\r\\n top: 0px;\\r\\n z-index: 1;\\r\\n}\\r\\n.help-block {\\r\\n position: relative;\\r\\n top: -14px;\\r\\n font-size: 12px;\\r\\n color: red;\\r\\n left: 3px;\\r\\n}\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2REFBNkQ7QUFDN0QsaUVBQWlFO0FBRWpFO0VBQ0UsWUFBWTtFQUNaLDRCQUE0QixFQUFFLHlFQUF5RTtFQUN2RyxpQkFBaUI7RUFDakIsa0JBQWtCO0FBQ3BCO0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCwyQkFBMkI7RUFDM0IsWUFBWTtFQUNaLGNBQWM7RUFDZCx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IscUJBQXFCO0FBQ3ZCO0FBRUU7SUFDRSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGdDQUFnQztJQUNoQyxjQUFjO0VBQ2hCO0FBRUE7SUFDRSxjQUFjO0VBQ2hCO0FBQ0Y7RUFDRSxjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtBQUNmO0FBRUk7SUFDQTtBQUVIOzs7Ozs7Ozs7Ozs7Y0FZYTtBQUNkO0VBQ0Usa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLFlBQVk7QUFDZDtBQUVBO0VBS0UsMEJBQTBCO0VBQzFCLG1CQUFtQjtFQUNuQixxQkFBcUI7QUFDdkI7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osc0JBQXNCO0VBQ3RCLDRCQUE0QjtFQUM1QixlQUFlO0VBQ2YsUUFBUTtFQUNSLFVBQVU7QUFDWjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixlQUFlO0VBQ2YsVUFBVTtFQUNWLFNBQVM7QUFDWCIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bycpO1xyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvaXJldCtPbmUnKTtcclxuXHJcbmJvZHksIGh0bWwge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKmJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMTIsIDk3LCAzMykscmdiKDEwNCwgMTQ1LCAxNjIpKTsqL1xyXG4gIGJhY2tncm91bmQ6IGJsYWNrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2xvZ2luLWJveCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMzUlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgd2lkdGg6IDM1MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xyXG4gIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcclxuICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG4gIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcclxufVxyXG5cclxuICAjbG9naW4tYm94IC5sb2dvIC5sb2dvLWNhcHRpb24ge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlN2VhO1xuICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gIH1cclxuXHJcbiAgI2xvZ2luLWJveCAubG9nbyAudHdlYWsge1xyXG4gICAgY29sb3I6ICMwMzRlOWU7XHJcbiAgfVxyXG4ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcbiNsb2dpbi1ib3ggLmNvbnRyb2xzIHtcclxuICBwYWRkaW5nLXRvcDogMzBweDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4gICAgI2xvZ2luLWJveCAuY29udHJvbHMgaW5wdXQge1xyXG4gICAgfVxyXG5cclxuIC8qbG9naW4tYm94IC5jb250cm9scyBpbnB1dDpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAjbG9naW4tYm94IC5jb250cm9scyBpbnB1dDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAjbG9naW4tYm94IC5jb250cm9scyBpbnB1dDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIH0qL1xyXG4jbG9naW4tYm94IGJ1dHRvbi5idG4tY3VzdG9tIHtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIGJhY2tncm91bmQ6ICMwMDdiZmY7XHJcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuI2xvZ2luLWJveCBidXR0b24uYnRuLWN1c3RvbTpob3ZlciB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICBiYWNrZ3JvdW5kOiAjMDA2OWQ5O1xyXG4gIGJvcmRlci1jb2xvcjogIzAwNjlkOTtcclxufVxyXG5cclxuI3BhcnRpY2xlcy1qcyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwcHg7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uaGVscC1ibG9jayB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTE0cHg7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgbGVmdDogM3B4O1xyXG59XG4iXX0= */\"","module.exports = \"\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'LOGIN.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n

            {{ message }}

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n {{'LOGIN.VALIDATION.USERNAME' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n {{'LOGIN.VALIDATION.PASSWORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\n\"","import { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../service/auth.service';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Md5 } from 'ts-md5/dist/md5';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { AuthGuard } from '../../auth.guard';\nimport { Title } from \"@angular/platform-browser\";\nimport { TranslateService } from '@ngx-translate/core';\r\nimport languages from '../../../assets/i18n/languages.json';\nimport { ListLangs } from '../../data/const';\n\nconst httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n}\n\nconst md5 = new Md5();\n\nconst formData = new FormData();\n\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: 'login.component.html',\n styleUrls: ['login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n loginForm: FormGroup;\n message: string;\n returnUrl: string;\n submitted: Boolean;\n public lstLanguage: Array = languages;\n\n public langSelect: string;\n public listLangs = ListLangs;\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n public authService: AuthService,\n public http: HttpClient,\n private cookieService: CookieService,\n private toastr: ToastrService,\n private modalDialogService: ModalDialogService,\n private viewRef: ViewContainerRef,\n private authGuard: AuthGuard,\n private title: Title,\n public translate: TranslateService\n ) {\n translate.addLangs(this.lstLanguage);\n this.langSelect = localStorage.getItem(\"langSelect\");\n //translate.setDefaultLang(localStorage.getItem(\"langSelect\"));\n\n //const browserLang = translate.getBrowserLang();\n translate.use(this.langSelect || 'vi');\n }\n\n ngOnInit() {\n //this.cookieService.set('Expire', '');\n this.title.setTitle(\"Đăng nhập\");\n this.submitted = false;\n this.loginForm = this.formBuilder.group({\n username: ['', Validators.required],\n password: ['', Validators.required]\n });\n this.returnUrl = '/dashboard';\n // if(this.authGuard.canActivate) {\n // this.router.navigate([this.returnUrl]);\n // }\n //this.authService.logout();\n }\n\n get f() { return this.loginForm.controls };\n\n login() {\n this.submitted = false;\n if (this.loginForm.invalid) {\n this.submitted = true;\n return;\n }\n else {\n \n let email = this.f.username.value;\n let password = Md5.hashStr(this.f.password.value);\n\n this.http.post('/api/user/login', JSON.stringify({ email, password }), httpOptions).subscribe(\n (res) => {\n let data = JSON.stringify(res);\n if (res[\"meta\"][\"error_code\"] == 200) {\n localStorage.setItem('isLoggedIn', \"true\");\n localStorage.setItem('data', res.toString());\n localStorage.setItem('access_token', res[\"data\"][\"access_token\"].toString());\n localStorage.setItem('access_key', res[\"data\"][\"access_key\"].toString());\n localStorage.setItem('userId', res[\"data\"][\"userId\"].toString());\n localStorage.setItem('userName', res[\"data\"][\"userName\"].toString());\n localStorage.setItem('avata', res[\"data\"][\"avata\"] != undefined ? res[\"data\"][\"avata\"].toString() : undefined);\n localStorage.setItem('logo', res[\"data\"][\"Logo\"] != undefined ? res[\"data\"][\"Logo\"].toString() : undefined);\n localStorage.setItem('fullName', res[\"data\"][\"fullName\"] != undefined ? res[\"data\"][\"fullName\"].toString() : undefined);\n localStorage.setItem('companyId', res[\"data\"][\"companyId\"] != undefined ? res[\"data\"][\"companyId\"].toString() : undefined);\n localStorage.setItem('languageId', res[\"data\"][\"languageId\"] ? res[\"data\"][\"languageId\"].toString() : undefined);\n\n localStorage.setItem('websiteId', res[\"data\"][\"websiteId\"] != undefined ? res[\"data\"][\"websiteId\"].toString() : undefined);\n localStorage.setItem('BranchId', res[\"data\"][\"BranchId\"] != undefined ? res[\"data\"][\"BranchId\"].toString() : undefined);\n localStorage.setItem('PMQLXe', res[\"data\"][\"PMQLXe\"] != undefined ? res[\"data\"][\"PMQLXe\"].toString() : undefined);\n \n localStorage.setItem('menu', JSON.stringify(res[\"data\"][\"listMenus\"]));\n localStorage.setItem('roles', JSON.stringify(res[\"data\"][\"listRoles\"]));\n this.cookieService.set('Expire', Date.now().toLocaleString(), 0.1);\n this.router.navigate([this.returnUrl]);\n }\n else {\n this.submitted = true;\n this.message = this.translate.instant('TOAST.LOGIN.ERROR');\n this.router.navigate(['/login']);\n }\n },\n (err) => {\n this.showConfirm(this.translate.instant('TOAST.LOGIN.NOTSUSSCESS'));\n }\n );\n }\n }\n\n\n toat(): void {\n this.toastr.info('Phần này tạm thời chưa có nhé', 'Thông báo');\n }\n\n showConfirm(message) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Thông báo',\n childComponent: SimpleModalComponent,\n data: {\n text: message\n },\n actionButtons: [\n {\n text: 'Xác nhận',\n buttonClass: 'btn btn-success'\n }\n ],\n });\n }\n\n changeLang() {\n //let langSelect = this.f.langSelect.value;\n localStorage.setItem('langSelect', this.langSelect);\n this.translate.use(this.langSelect || 'vi');\n }\n\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách danh mục giá vật liệu\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n \\r\\n \\r\\n Danh mục VLXD\\r\\n \\r\\n \\r\\n \\r\\n Vị trí cung cấp\\r\\n Đơn vị tínhĐơn giá\\r\\n \\r\\n \\r\\n Tỉnh/TP\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ findName(item.categoryMaterial) }}{{ findName(item.locationProvider) }}\\r\\n {{ findName(item.unitCalculate) }}\\r\\n \\r\\n {{ item.UnitPrice }}\\r\\n {{ findName(item.province) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới DMVLXD

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTTên danh mục VLXDVị trí cung cấpĐơn vị tínhĐơn giáThao tác
            {{ item.STT }}{{ item.Name }}{{ item.LocaltionName }}{{ item.UnitCalculate }}{{ item.PriceSale }}\\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL21hdGVyaWFsL21hdGVyaWFsLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { typeCategoryNews, domainImage } from '../../data/const';\r\nimport { News, Material } from '../../data/model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { debug } from 'util';\r\nimport { CommonService } from '../../service/common.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-material',\r\n templateUrl: './material.component.html',\r\n styleUrls: ['./material.component.scss']\r\n})\r\nexport class MaterialComponent implements OnInit {\r\n @ViewChild('AddModal') public addModal: ModalDirective;\r\n @ViewChild('EditModal') public editModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n @ViewChild('fileE') fileE: ElementRef;\r\n\r\n public paging: any;\r\n public q: any;\r\n public IsAll: boolean;\r\n public showSort: boolean[] = [true, false, false];\r\n public showRemove: boolean = false;\r\n\r\n public listMaterial = [];\r\n public listCategorys = [];\r\n public listProvince = [];\r\n public listYear = [];\r\n public listMonth = [];\r\n public CheckBoxStatus: boolean;\r\n\r\n\r\n public listTypeNews = typeCategoryNews;\r\n\r\n public newItem: Material;\r\n public editItem: Material;\r\n\r\n public progress: number;\r\n public message: string;\r\n public domainImage = domainImage;\r\n\r\n public httpOptions: any;\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public common: CommonService\r\n ) {\r\n this.newItem = new Material();\r\n this.editItem = new Material();\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: '1=1',\r\n order_by: '',\r\n item_count: 0\r\n };\r\n\r\n this.q = {\r\n cate: -1,\r\n type: -1,\r\n txtSearch: ''\r\n }\r\n this.IsAll = true;\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.GetListMaterial();\r\n this.GetListProvince();\r\n this.GetListYear();\r\n this.GetListMonth();\r\n }\r\n\r\n //Get danh sách danh mục vật liệu\r\n GetListMaterial() {\r\n this.http.get('/api/material/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listMaterial = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetListProvince() {\r\n this.http.get('/api/province/GetByPage?page=1&page_size=100&query=1=1&order_by=ProvinceId asc' , this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listProvince = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetListYear() {\r\n let dateNow = new Date();\r\n for (var i = dateNow.getFullYear(); i >= dateNow.getFullYear() - 10; i--) {\r\n this.listYear.push({ YearId: i, Name: i });\r\n }\r\n }\r\n\r\n GetListMonth() {\r\n let dateNow = new Date();\r\n for (var i = 1; i <=12; i++) {\r\n this.listMonth.push({ MonthId: i, Name: 'Thàng ' + i });\r\n }\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListMaterial();\r\n }\r\n\r\n //Thông báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, 'Cảnh báo');\r\n }\r\n\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, 'Hoàn thành');\r\n }\r\n\r\n toastError(msg): void {\r\n this.toastr.error(msg, 'Lỗi');\r\n }\r\n //\r\n QueryChanged() {\r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and Title.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n else {\r\n query += 'Title.Contains(\"' + this.q.txtSearch + '\")';\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListMaterial();\r\n }\r\n\r\n Filter() {\r\n let query = \"1=1\";\r\n\r\n if (query == 'TypeNewsId=null' || query == 'CategoryId=null')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListMaterial();\r\n }\r\n\r\n //Mở modal thêm mới\r\n OpenAddModal() {\r\n this.newItem = new Material();\r\n this.newItem.listMaterialImportExcelChild = [];\r\n this.file.nativeElement.value = \"\";\r\n //this.message = undefined;\r\n this.newItem.Note = \"\";\r\n this.addModal.show();\r\n }\r\n //Thêm mới danh mục vật liệu\r\n AddNew() {\r\n if (this.newItem.ProvinceId == undefined) {\r\n this.toastWarning(\"Chưa chọn Tỉnh/Thành phố!\");\r\n return;\r\n }\r\n if (this.newItem.Year == undefined) {\r\n this.toastWarning(\"Chưa chọn năm!\");\r\n return;\r\n }\r\n if (this.newItem.Month == undefined) {\r\n this.toastWarning(\"Chưa nhập tháng!\");\r\n return;\r\n }\r\n if (this.newItem.listMaterialImportExcelChild.length <=0) {\r\n this.toastWarning(\"Chưa nhập danh sách danh mục vật liệu xây dựng!\");\r\n return;\r\n }\r\n\r\n this.newItem.Status = 1;\r\n this.newItem.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n\r\n\r\n this.http.post('/api/material', this.newItem, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListMaterial();\r\n this.addModal.hide();\r\n this.toastSuccess(\"Thêm mới thành công!\");\r\n }\r\n else {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n },\r\n (err) => {\r\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n }\r\n );\r\n }\r\n\r\n //ToggleCateToList(id) {\r\n // //console.log(this.listCateNews);\r\n // //return;\r\n // //if (this.newItem.listCategory.includes(id)) {\r\n // // let index = this.newItem.listCategory.indexOf(id, 0);\r\n // // this.newItem.listCategory.splice(index, 1);\r\n // //}\r\n // //else\r\n // // this.newItem.listCategory.push(id);\r\n //}\r\n\r\n //AddTag(IsNew) {\r\n // if (this.Tag != undefined && this.Tag != '') {\r\n // if (IsNew) {\r\n // this.newItem.listTag.push({ TagId: null, Name: this.Tag, Check: false });\r\n // }\r\n // else {\r\n // this.editItem.listTag.push({ TagId: null, Name: this.Tag, Check: false });\r\n // }\r\n // this.Tag = '';\r\n // }\r\n //}\r\n\r\n //RemoveTag(i, IsNew) {\r\n // //let index = this.newItem.listTag.indexOf(tag, 0);\r\n // if (IsNew) {\r\n // this.newItem.listTag.splice(i, 1);\r\n // }\r\n // else {\r\n // if (this.editItem.listTag[i].TagId != null) {\r\n // this.editItem.listTag[i].Check = false;\r\n // }\r\n // else {\r\n // this.editItem.listTag.splice(i, 1);\r\n // }\r\n // }\r\n //}\r\n\r\n //ChangeTitle(IsNew) {\r\n // if (IsNew) {\r\n // this.newItem.MetaTitle = this.newItem.Title;\r\n // this.newItem.MetaKeyword = this.newItem.Title;\r\n // this.newItem.MetaDescription = this.newItem.Description;\r\n // //let str = this.newItem.Title;\r\n // this.newItem.Url = this.common.ConvertUrl(this.newItem.Title);\r\n // }\r\n // else {\r\n // this.editItem.MetaTitle = this.editItem.Title;\r\n // this.editItem.MetaKeyword = this.editItem.Title;\r\n // this.editItem.MetaDescription = this.editItem.Description;\r\n // this.editItem.Url = this.common.ConvertUrl(this.editItem.Title);\r\n // }\r\n //}\r\n\r\n //OpenEditModal(item) {\r\n // this.editItem = new News();\r\n // this.IsAll = true;\r\n // this.Tag = '';\r\n // this.editItem = Object.assign(this.editItem, item);\r\n // this.editItem.Contents = item.Contents;\r\n // this.fileE.nativeElement.value = \"\";\r\n // this.editItem.DateStartActive = this.datePipe.transform(item.DateStartActive, \"yyyy-MM-dd\");\r\n // this.editItem.DateStartOn = this.datePipe.transform(item.DateStartOn, \"yyyy-MM-dd\");\r\n // this.editItem.DateEndOn = this.datePipe.transform(item.DateEndOn, \"yyyy-MM-dd\");\r\n // this.CheckBoxStatus = this.editItem.Status == 1 ? true : false;\r\n\r\n // this.message = this.editItem.Image;\r\n // if (this.editItem.Image != undefined) { this.showRemove = true }\r\n // this.GetListCateNews(false);\r\n // this.editModal.show();\r\n //}\r\n\r\n //EditNewsFunc() {\r\n // if (this.editItem.Title == undefined || this.editItem.Title == '') {\r\n // this.toastWarning(\"Chưa nhập Tiêu đề!\");\r\n // return;\r\n // } else if (this.editItem.Url == undefined || this.editItem.Url == '') {\r\n // this.toastWarning(\"Chưa nhập Đường dẫn!\");\r\n // return;\r\n // } else if (this.editItem.Contents == undefined || this.editItem.Contents == '') {\r\n // this.toastWarning(\"Chưa nhập Nội dung!\");\r\n // return;\r\n // } else if (this.editItem.TypeNewsId == undefined) {\r\n // this.toastWarning(\"Chưa chọn Loại tin!\");\r\n // return;\r\n // }\r\n\r\n // this.editItem.UserId = userInfo.userId;\r\n // this.editItem.Status = this.CheckBoxStatus ? 1 : 10;\r\n\r\n // let arr = [];\r\n // this.editItem.listCategory.forEach(item => {\r\n // var flag = false;\r\n // for (var i = 0; i < this.listCateNews.length; i++) {\r\n // if (item.CategoryId == this.listCateNews[i].CategoryId && this.listCateNews[i].Check == true) {\r\n // flag = true;\r\n // break;\r\n // }\r\n // }\r\n\r\n // if (!flag) {\r\n // item.Check = false;\r\n // arr.push(item);\r\n // }\r\n // });\r\n\r\n // this.editItem.listCategory = arr.concat(this.listCateNews.filter(e => e.Check == true));\r\n\r\n // this.http.put('/api/news/' + this.editItem.NewsId, this.editItem, httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.GetListNews();\r\n // this.editModal.hide();\r\n // this.toastSuccess(\"Cập nhật thành công!\");\r\n // }\r\n // else {\r\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n // }\r\n // },\r\n // (err) => {\r\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n // }\r\n // );\r\n //}\r\n\r\n ////Popup xác nhận xóa\r\n //ShowConfirmDelete(Id) {\r\n // this.modalDialogService.openDialog(this.viewRef, {\r\n // title: 'Xác nhận',\r\n // childComponent: SimpleModalComponent,\r\n // data: {\r\n // text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\r\n // },\r\n // actionButtons: [\r\n // {\r\n // text: 'Đồng ý',\r\n // buttonClass: 'btn btn-success',\r\n // onAction: () => {\r\n // this.DeleteNews(Id);\r\n // }\r\n // },\r\n // {\r\n // text: 'Đóng',\r\n // buttonClass: 'btn btn-default',\r\n\r\n // }\r\n // ],\r\n // });\r\n //}\r\n\r\n //DeleteNews(Id) {\r\n // this.http.delete('/api/news/' + Id, httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.GetListNews();\r\n // this.viewRef.clear();\r\n // this.toastSuccess(\"Xóa thành công!\");\r\n // }\r\n // else {\r\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n // }\r\n // },\r\n // (err) => {\r\n // this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\r\n // }\r\n // );\r\n //}\r\n\r\n upload(files, IsNew) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n\r\n const uploadReq = new HttpRequest('POST', 'api/material/importMaterialExcel', formData, {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n //this.message = event.body[\"data\"].toString();\r\n if (IsNew) {\r\n this.newItem.listMaterialImportExcelChild = event.body[\"data\"];\r\n //this.showRemove = true;\r\n }\r\n //else {\r\n // this.editItem.Image = this.message;\r\n // this.showRemove = true;\r\n //}\r\n }\r\n });\r\n }\r\n\r\n findName(item) {\r\n if (item == undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.Name;\r\n }\r\n }\r\n\r\n //RemoveImage(IsNew) {\r\n // if (IsNew) {\r\n // this.file.nativeElement.value = \"\";\r\n // this.message = undefined;\r\n // this.showRemove = false;\r\n // }\r\n // else {\r\n // this.fileE.nativeElement.value = \"\";\r\n // this.message = undefined;\r\n // this.showRemove = false;\r\n // }\r\n //}\r\n \r\n Sort(Is, Target, Index) {\r\n\r\n }\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'ORDER.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'ORDER.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'ORDER.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'ORDER.DISPLAY' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'ORDER.TABLE.STT' | translate}}\\r\\n {{'ORDER.TABLE.KHACHHANG' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.DUAN' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.MACBETONG' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.DATHANG' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.SANXUAT' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.SOTRAM' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.NGAYDAT' | translate}}\\r\\n \\r\\n {{'ORDER.TABLE.TENKINHDOANH' | translate}}\\r\\n
            {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n {{ item.TENKHACHHANG }}\\r\\n {{ item.TENDUAN }}{{ item.TENMACBETONG }}{{ item.METKHOIDATHANG | number:'1.0-1'}}{{ item.METKHOITICHLUY | number:'1.0-1'}}{{ item.Name }}{{ item.NGAYDATHANGTITLE}}{{ item.TENNV}}
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'ORDER.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'ORDER.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'ORDER.INTODISPLAY' | translate}} {{ paging.item_count }} {{'ORDER.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'ORDER.DETAILORDER' | translate}}

            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{ item.Name }}

            \\r\\n

            {{ item.METKHOIDATHANG | number:'1.0-1' }} m3

            \\r\\n

            {{ item.METKHOITICHLUY | number:'1.0-1' }} m3

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            \\r\\n\\r\\n

            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'ORDER.TOTAL' | translate}}

            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n

            {{'ORDER.DATHANG' | translate}}: {{ totalMETKHOIDATHANG | number:'1.0-1' }} m3

            \\r\\n

            {{'ORDER.SANXUAT' | translate}}: {{ totalMETKHOITICHLUY | number:'1.0-1' }} m3

            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n\"","module.exports = \".header-custom > .table > thead > tr > th {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n top: -1px !important;\\n z-index: 99 !important;\\n color: white !important;\\n background: #3c8dbc !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3Mvb3JkZXIvRTpcXHdvcmtzcGFjZVxcVFRNXFxJT0lUV2ViQXBwXFxBcHBDTVMvc3JjXFxhcHBcXHZpZXdzXFxvcmRlclxcb3JkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQ0FBMkI7RUFBM0IsMkJBQTJCO0VBQzNCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvdmlld3Mvb3JkZXIvb3JkZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWN1c3RvbSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xyXG4gIHRvcDogLTFweCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDk5ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogIzNjOGRiYyAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Order, OrderItem } from '../../data/model';\r\nimport { OrderStatus, PaymentOrderStatus } from '../../data/const';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport languages from '../../../assets/i18n/languages.json';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DatePipe } from '@angular/common'\r\n\r\n\r\n@Component({\r\n selector: 'app-order',\r\n templateUrl: './order.component.html',\r\n styleUrls: ['./order.component.scss']\r\n})\r\nexport class OrderComponent implements OnInit {\r\n @ViewChild('ViewModal') public viewModal: ModalDirective;\r\n\r\n public paging: any;\r\n public pagingItem: any;\r\n public q: any;\r\n\r\n public listOrder = [];\r\n public listOrderBranch = [];\r\n public listCompany = [];\r\n public listBranchSearch = [];\r\n public listNV = [];\r\n public ckeConfig: any;\r\n\r\n date: any;\r\n getDate: any;\r\n getMonth: any;\r\n getFullYear: any;\r\n getHour: any;\r\n getMinute: any;\r\n\r\n public Item: Order;\r\n public httpOptions: any;\r\n public listOrderStatus = OrderStatus;\r\n public listPaymentOrderStatus = PaymentOrderStatus;\r\n public role: number;\r\n companyId: number;\r\n BranchId: string;\r\n UserId: number;\r\n public companyselect: number;\r\n public companyselectsearch: number;\r\n public totalMETKHOIDATHANG: number;\r\n public totalMETKHOITICHLUY: number;\r\n public lstLanguage: Array = languages;\r\n PriceCurrencyMaskConfig = {\r\n align: \"left\",\r\n allowNegative: false,\r\n decimal: \".\",\r\n precision: 0,\r\n prefix: \"\",\r\n suffix: \" Vnđ\",\r\n thousands: \",\"\r\n };\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public activatedRoute: ActivatedRoute,\r\n public translate: TranslateService,\r\n public datepipe: DatePipe, ) {\r\n this.Item = new Order();\r\n\r\n const currentDate = new Date();\r\n this.date = currentDate.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' });\r\n this.getDate = (\"0\" + new Date().getDate()).slice(-2);\r\n this.getMonth = (\"0\" + (new Date().getMonth() + 1)).slice(-2);\r\n this.getFullYear = new Date().getFullYear();\r\n this.getMinute = (\"0\" + new Date().getMinutes()).slice(-2);\r\n this.getHour = (\"0\" + new Date().getHours()).slice(-2);\r\n\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: '1=1',\r\n order_by: 'NGAYDATHANG Desc',\r\n item_count: 0\r\n };\r\n\r\n this.q = {\r\n txtSearch: ''\r\n }\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n translate.addLangs(this.lstLanguage);\r\n }\r\n\r\n ngOnInit() {\r\n this.totalMETKHOIDATHANG = 0;\r\n this.totalMETKHOITICHLUY = 0;\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n var json = JSON.parse(localStorage.getItem('roles'));\r\n this.companyId = parseInt(localStorage.getItem('companyId'));\r\n this.UserId = parseInt(localStorage.getItem('userId'));\r\n this.BranchId = localStorage.getItem('BranchId');\r\n this.companyselect = -1;\r\n if (json.length > 0) {\r\n for (var i = 0; i < json.length; i++) {\r\n this.role = json[i].RoleId\r\n }\r\n }\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n this.paging.Branchid = '';\r\n if (this.role == 3) {\r\n this.GetListBranchSearchStart();\r\n }\r\n if (this.role == 4) {\r\n this.GetListBranchCTCon();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (this.role == 1) {\r\n this.GetListCompany();\r\n }\r\n if(this.role != 1){\r\n this.paging.Branchid = this.BranchId;\r\n this.paging.CompanyId = this.companyId;\r\n this.GetListBranchSearchStart();\r\n }\r\n this.paging.query = \"DATEPART(dy,GETDATE()) = DATEPART(dy,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n let todaynew = new Date().toISOString().substr(0, 10);\r\n this.q.fromdate = this.getFullYear + '-' + this.getMonth + '-' + this.getDate + 'T00:00';\r\n this.q.todate = this.getFullYear + '-' + this.getMonth + '-' + this.getDate + 'T' + this.getHour + ':' + this.getMinute;\r\n //this.q.fromdate = todaynew;\r\n //this.q.todate = todaynew;\r\n if (localStorage.getItem('getlinkd') == \"1\") {\r\n if (localStorage.getItem('thoigiand') == '1') {\r\n let today = new Date().toISOString().substr(0, 10);\r\n this.q.fromdate = today;\r\n this.q.todate = today;\r\n this.paging.query = \"DATEPART(dy,GETDATE()) = DATEPART(dy,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '2') {\r\n let today = new Date();\r\n this.q.fromdate = new Date(today.setDate(today.getDate() - today.getDay() + 1)).toISOString().substr(0, 10);\r\n this.q.todate = new Date(today.setDate(today.getDate() - today.getDay() + 7)).toISOString().substr(0, 10);\r\n this.paging.query = \"DATEPART(wk,GETDATE()) = DATEPART(wk,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '3') {\r\n let today = new Date();\r\n this.q.fromdate = new Date(today.setDate(today.getDate() - today.getDay() + 1 - 7)).toISOString().substr(0, 10);\r\n let today1 = new Date();\r\n this.q.todate = new Date(today1.setDate(today1.getDate() - today1.getDay())).toISOString().substr(0, 10);\r\n this.paging.query = \"(DATEPART(wk,GETDATE()) -1) = DATEPART(wk,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n if (localStorage.getItem('thoigiand') == '4') {\r\n var today = new Date();\r\n var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth(),2);\r\n this.q.fromdate = lastDayOfMonth.toISOString().substr(0, 10);\r\n\r\n var today1 = new Date();\r\n var lastDayOfMonth1 = new Date(today1.getFullYear(), today1.getMonth() + 1, 1);\r\n this.q.todate = lastDayOfMonth1.toISOString().substr(0, 10);\r\n this.paging.query = \"DATEPART(mm,GETDATE()) = DATEPART(mm,NGAYDATHANG) AND DATEPART(yy,GETDATE()) = DATEPART(yy,NGAYDATHANG)\";\r\n }\r\n }\r\n this.GetlistKH();\r\n this.GetListOrder();\r\n this.GetListOrderBarch();\r\n\r\n }\r\n\r\n //Get danh sách danh mục đơn hàng\r\n GetListOrder() {\r\n this.http.get('/api/order/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listOrder = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n console.log(this.listOrder);\r\n console.log(this.paging.item_count);\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n // Set mặc định chọn ngày từ 12:00 AM\r\n setDefaut() {\r\n this.q.fromdate = this.getFullYear + '-' + this.getMonth + '-' + this.getDate + 'T00:00';\r\n }\r\n\r\n ExportExcel() {\r\n if (this.paging.CompanyId == undefined) {\r\n this.paging.CompanyId = 0;\r\n }\r\n fetch('/api/order/GetReport?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&tungay=' + this.q.fromdate + '&denngay=' + this.q.todate + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, {\r\n method: 'GET',\r\n headers: new Headers({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n })\r\n .then(function (response) {\r\n var blob = response.blob();\r\n return blob;\r\n }).then(blob => {\r\n var DateObj = new Date();\r\n var date = ('0' + DateObj.getDate()).slice(-2) + '_' + ('0' + (DateObj.getMonth() + 1)).slice(-2) + '_' + DateObj.getFullYear();\r\n this.DownloadFile(blob, \"don_hang_\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n });\r\n }\r\n DownloadFile(data: Blob, filename: string, mime: string): void {\r\n var blob = new Blob([data], { type: mime || 'application/octet-stream' });\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n // IE workaround for \"HTML7007: One or more blob URLs were \r\n // revoked by closing the blob for which they were created. \r\n // These URLs will no longer resolve as the data backing \r\n // the URL has been freed.\"\r\n window.navigator.msSaveBlob(blob, filename);\r\n }\r\n else {\r\n var blobURL = window.URL.createObjectURL(blob);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute('download', filename);\r\n tempLink.setAttribute('target', '_blank');\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n document.body.removeChild(tempLink);\r\n }\r\n }\r\n //Get danh sách danh mục đơn hàng\r\n GetListOrderBarch() {\r\n console.log(this.paging.CompanyId);\r\n this.http.get('/api/Order/GetByBranch?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listOrderBranch = res[\"data\"];\r\n this.totalMETKHOIDATHANG = 0;\r\n this.totalMETKHOITICHLUY = 0;\r\n for (let index in this.listOrderBranch) {\r\n this.totalMETKHOIDATHANG = this.totalMETKHOIDATHANG + this.listOrderBranch[index].METKHOIDATHANG;\r\n this.totalMETKHOITICHLUY = this.totalMETKHOITICHLUY + this.listOrderBranch[index].METKHOITICHLUY;\r\n };\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n // Get danh sách khách hàng\r\n GetlistKH() {\r\n this.http.get('/api/Order/GetNV?companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listNV = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListCompany() {\r\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n if (localStorage.getItem('congtyd') != 'undefined') {\r\n var index = this.listCompany.find(x => x.CompanyId == parseInt(localStorage.getItem('congtyd')));\r\n this.q.CompanyId = index.CompanyId;\r\n this.paging.CompanyId = parseInt(localStorage.getItem('congtyd'));\r\n this.companyId = parseInt(localStorage.getItem('congtyd'));\r\n this.GetListBranchSearchStart();\r\n this.GetListOrder();\r\n this.GetListOrderBarch();\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearchStart() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyId + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n let localtramtron = localStorage.getItem(\"BranchId\");\r\n if (localtramtron != \"undefined\") {\r\n let ids = localtramtron.split(\",\").map(Number);\r\n this.listBranchSearch = this.listBranchSearch.filter((x) =>\r\n ids.includes(x.BranchId)\r\n );\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchCTCon() {\r\n this.http.get('/api/Order/GetByUser?id=' + this.UserId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n if (localStorage.getItem(\"BranchId\") != \"undefined\") {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem(\"BranchId\").split(\",\");\r\n lstnhombenh.forEach((element) => {\r\n this.listBranchSearch.push(parseInt(element));\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearch() {\r\n this.http.get('/api/branch/GetByPage?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListOrder();\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\r\n }\r\n //\r\n QueryChanged() {\r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += \" and 1=1\";\r\n }\r\n else {\r\n query += \"1=1\";\r\n }\r\n }\r\n\r\n if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n\r\n this.q.tungay = this.datepipe.transform(this.q.fromdate, 'yyyy-MM-dd');\r\n this.q.denngay = this.datepipe.transform(this.q.todate, 'yyyy-MM-dd');\r\n if (query != '') {\r\n query += \" AND ( nv.NGAYDATHANG >= convert(datetime ,'\" + this.q.tungay + \"') AND nv.NGAYDATHANG <= convert(datetime ,'\" + this.q.denngay + \"') )\";\r\n }\r\n else {\r\n query += \"( nv.NGAYDATHANG >= convert(datetime ,'\" + this.q.tungay + \"') AND nv.NGAYDATHANG <= convert(datetime ,'\" + this.q.denngay + \"') )\";\r\n }\r\n }\r\n if (this.q.TENNV != undefined && this.q.TENNV != '') {\r\n if (query != '') {\r\n query += \" AND nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n }\r\n else {\r\n query += \"nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n }\r\n }\r\n\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n //this.q.Branchlist.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // }\r\n //});\r\n }\r\n else {\r\n this.paging.Branchid = '';\r\n if (this.role != 1) {\r\n this.listBranchSearch.forEach((item, index) => {\r\n if (item != '') {\r\n this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n }\r\n });\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n // if(this.role != 1 && this.q.Branchlist != undefined){\r\n // this.paging.Branchid = this.q.Branchlist;\r\n // this.paging.CompanyId = this.companyId;\r\n // }\r\n\r\n if (this.role != 1) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n this.GetListOrder();\r\n this.GetListOrderBarch();\r\n }\r\n //\r\n GetBranch() {\r\n this.companyselectsearch = this.q.CompanyId;\r\n this.listBranchSearch = [];\r\n this.q.BranchId = null;\r\n this.GetListBranchSearch();\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n //Open modal view\r\n OpenViewModal(item) {\r\n this.Item = new Order();\r\n this.Item = Object.assign({}, item);\r\n this.viewModal.show();\r\n }\r\n\r\n\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListOrder();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            DANH SÁCH ĐƠN HÀNG

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. Trang quản trị
            2. \\r\\n
            3. Danh sách trạm
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n Xem\\r\\n \\r\\n bản ghi\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n Tên Đơn hàng\\r\\n \\r\\n Mã đơn hàng\\r\\n \\r\\n Người nhập\\r\\n \\r\\n Thời gian\\r\\n \\r\\n Loại phiếu\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Name }}{{ item.Code }}\\r\\n {{ item.UserId }}\\r\\n \\r\\n {{ item.UpdatedAt }}\\r\\n \\r\\n Loại 1\\r\\n \\r\\n Loại 2\\r\\n \\r\\n Chưa xác định\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sửa\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Xóa\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} đến {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} trong số {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới đơn hàng

            \\r\\n

            Cập nhật thông tin đơn hàng

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n A\\r\\n \\r\\n B\\r\\n \\r\\n C\\r\\n \\r\\n D\\r\\n \\r\\n E\\r\\n
            111111
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL29yZGVydHJhbS9vcmRlcnRyYW0uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpEventType, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { Branch, Order, OrderItem, OrderTram } from '../../data/model';\nimport { domainImage, OrderStatus, TypeTram } from '../../data/const';\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { publish } from 'rxjs/operators';\r\nimport { Paging, QueryFilter } from '../../data/dt';\r\n\n\n\n@Component({\n selector: 'app-order',\n templateUrl: './ordertram.component.html',\n styleUrls: ['./ordertram.component.scss']\n})\nexport class OrderTramComponent implements OnInit {\n @ViewChild('BranchModal') public BranchModal: ModalDirective;\n\n public paging: Paging;\n public q: QueryFilter;\n public listBranch = [];\n public listCompany = [];\n public listCuaVL = [];\n public listTypeTram = TypeTram;\n public ckeConfig: any;\n public Item: OrderTram;\n public progress: number;\n public domainImage = domainImage;\n public httpOptions: any;\n public role: number;\n companyId: number;\n TypeTram: number;\n TypePhieu: number;\n isdisabled: boolean;\n\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService\n ) {\n this.Item = new OrderTram();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"OrderTramId Desc\";\n this.paging.item_count = 0;\n this.isdisabled = false;\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n this.role = -1;\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n }\n\n ngOnInit() {\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n\n\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n if (json[i].RoleId == 1) {\n this.role = 1;\n }\n }\n }\n this.GetListBranch();\n if (this.role == 1) {\n this.GetListCompany();\n }\n }\n GetListBranch() {\n if (this.role != 1) {\n this.paging.query += ' and CompanyId = ' + this.companyId;\n }\n this.http.get('/api/OrderTram/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n //GetCuaVL() {\n\n // this.QueryChangedCuaVL();\n\n // this.http.get('/api/ImportManagement/GetCuaVL/?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&KDL=', this.httpOptions).subscribe(\r\n // (res) => {\r\n // if (res[\"meta\"][\"error_code\"] == 200) {\r\n // this.listCuaVL = res[\"data\"];\r\n // }\r\n // },\r\n // (err) => {\r\n // console.log(\"Error: connect to API\");\r\n // }\r\n // );\n //}\n\n GetListCompany() {\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListBranch();\n }\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, 'Cảnh báo');\n }\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, 'Hoàn thành');\n }\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, 'Lỗi');\n }\n //QueryChangedCuaVL() {\n\r\n // let query = '';\r\n // if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n // if (query != '') {\r\n // query += \" and 1=1\";\r\n // }\r\n // else {\r\n // query += \" 1=1 \";\r\n // }\r\n // }\r\n\r\n // if (this.q.fromdate != undefined && this.q.todate != undefined && this.q.fromdate != '' && this.q.todate != '') {\r\n // if (query != '') {\r\n // query += \" AND ( NGAY >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND NGAY <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n // }\r\n // else {\r\n // query += \" AND ( NGAY >= convert(datetime ,'\" + this.q.fromdate + \" 00:00:00.000') AND NGAY <= convert(datetime ,'\" + this.q.todate + \" 23:59:59.999') )\";\r\n // }\r\n // }\n // this.getQueryPar();\r\n // //if (this.q.TENNV != undefined && this.q.TENNV != '') {\r\n // // if (query != '') {\r\n // // query += \" AND nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // // }\r\n // // else {\r\n // // query += \"nv.TENNV = N'\" + this.q.TENNV + \"'\";\r\n // // }\r\n // //}\r\n\r\n // if (this.role == 3) {\r\n // this.paging.CompanyId = this.companyId;\r\n // }\r\n // else {\r\n // if (this.q.CompanyId != undefined) {\r\n // this.paging.CompanyId = this.q.CompanyId;\r\n // }\r\n // else {\r\n // this.paging.CompanyId = 0;\r\n // }\r\n // }\r\n\r\n // if (this.q.Branchlist != undefined) {\n // this.paging.Branchid = this.q.Branchlist;\r\n // //this.paging.Branchid = '';\r\n // //this.q.Branchlist.forEach((item, index) => {\r\n // // if (item != '') {\r\n // // this.paging.Branchid = this.paging.Branchid + item + ',';\r\n // // }\r\n // //});\r\n // }\r\n // else {\r\n // this.paging.Branchid = '';\n // if (this.role != 1) {\n // this.listBranchSearch.forEach((item, index) => {\r\n // if (item != '') {\r\n // this.paging.Branchid = this.paging.Branchid + item[\"BranchId\"] + ',';\r\n // }\r\n // });\r\n // }\r\n // }\r\n // if (query == '')\r\n // this.paging.query = '1=1';\r\n // else\r\n // this.paging.query = query;\r\n // if (this.q.Branchlist == undefined) {\n // this.toastWarning(\"Bạn chưa chọn trạm trộn!\");\n // } else {\n // // this.GetListOrder();\r\n // }\r\n\r\n // // this.GetListOrderBarch();\r\n //}\n //Search\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n if (this.q.CompanyId != undefined && this.q.CompanyId != -1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.q.CompanyId;\n }\n else {\n query += 'CompanyId = ' + this.q.CompanyId;\n }\n }\n if (this.role != 1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.companyId;\n }\n else {\n query += 'CompanyId = ' + this.companyId;\n }\n }\n if (TypeTram != undefined) {\n if (query != '') {\n if (this.q.TypeTram != undefined) {\n query += 'and TypeTram = ' + this.q.TypeTram;\r\n }\n }\n else {\n if (this.q.TypeTram != undefined) {\n query += 'TypeTram = ' + this.q.TypeTram;\r\n }\n }\n }\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListBranch();\n }\n\n //Mở modal thêm mới\n OpenBranchModal(item) {\n this.Item = new OrderTram();\n this.progress = undefined;\n if (item != undefined) {\n this.isdisabled = true;\n this.Item = JSON.parse(JSON.stringify(item));\n }\n else {\n this.isdisabled = false;\r\n }\n this.BranchModal.show();\n }\n\n //Thêm mới khách hàng\n SaveBranch() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.Item.Code.replace(/ /g, '') == '') {\n this.toastWarning(\"Chưa nhập mã!\");\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(\"Chưa nhập tên!\");\n return;\n } else if (this.Item.Name.replace(/ /g, '') == '') {\n this.toastWarning(\"Chưa nhập tên!\");\n return;\n }\n\n /*this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));*/\n\n if (this.Item.OrderTramId == undefined) {\n let obj = JSON.parse(JSON.stringify(this.Item));\n\n this.http.post('/api/OrderTram', obj, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.BranchModal.hide();\n this.toastSuccess(\"Thêm mới thành công!\");\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(\"Mã chi nhánh đã tồn tại!\");\n }\n else {\n this.toastError(res[\"meta\"][\"error_message\"]);\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n else {\n this.http.put('/api/OrderTram/' + this.Item.OrderTramId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.BranchModal.hide();\n this.toastSuccess(res[\"meta\"][\"error_message\"]);\n }\n else if (res[\"meta\"][\"error_code\"] == 212) {\n this.toastWarning(\"Mã chi nhánh đã tồn tại!\");\n }\n else {\n this.toastError(res[\"meta\"][\"error_message\"]);\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: 'Xác nhận',\n childComponent: SimpleModalComponent,\n data: {\n text: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n },\n actionButtons: [\n {\n text: 'Đồng ý',\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.DeleteBranch(Id);\n }\n },\n {\n text: 'Đóng',\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n DeleteBranch(Id) {\n this.http.delete('/api/OrderTram/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListBranch();\n this.viewRef.clear();\n this.toastSuccess(\"Xóa thành công!\");\n }\n else {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n },\n (err) => {\n this.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n }\n );\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListBranch();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n

            Danh sách sản phẩm

            \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n Tên sản phẩm\\r\\n GiáDanh mụcĐánh giá sản phẩmLượt xemẨn/Hiện
            \\r\\n \\r\\n \\r\\n \\r\\n {{ item.Name }}\\r\\n
              \\r\\n
            • ID: {{item.ProductId}} |
            • \\r\\n
            • Chỉnh sửa |
            • \\r\\n
            • Xóa
            • \\r\\n
            \\r\\n
            \\r\\n {{item.PriceSpecial | number}} vnđ\\r\\n \\r\\n {{item.PriceSale | number}} vnđ - {{item.PriceSpecial | number}} vnđ\\r\\n \\r\\n {{cate.Name}}, \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.SumProductReviewInit}}/{{item.SumProductReview}}\\r\\n \\r\\n {{item.ViewNumber}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới sản phẩm

            \\r\\n

            Sửa thông tin sản phẩm

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Thông tin cơ bản\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n Thông số kỹ thuật\\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n Sản phẩm gợi ý\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            Hình ảnhTên sản phẩmGiáThao tác
            \\r\\n \\r\\n \\r\\n {{ item.Name }}\\r\\n {{ item.PriceSpecial | number }} VNĐ\\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n Thông tin khuyến mại\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Sắp xếp sản phẩm bán chạy

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n {{item.TargetName}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Đánh giá của người dùng với sản phẩm {{ ProductName }}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STT\\r\\n Tên\\r\\n EmailTrạng tháiNội dungĐiểm đánh giá
            {{ (pagingReview.page - 1) * pagingReview.page_size + i + 1 }}{{ item.Name }}{{ item.Email }}\\r\\n \\r\\n \\r\\n {{ item.Contents }}\\r\\n
            \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info1\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (pagingReview.page - 1) * pagingReview.page_size + 1 }} {{ pagingReview.item_count < pagingReview.page * pagingReview.page_size ? pagingReview.item_count : pagingReview.page * pagingReview.page_size }}  {{ pagingReview.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới thuộc tính sản phẩm

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n\\r\\n\\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48 && event.charCode <= 57\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 00px;\\n margin-left: 0px;\\n padding-left: 00px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 22%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\n.custom-ttsp {\\n background: #fff;\\n margin: 0px;\\n border: 1px solid #ccc;\\n margin-top: 20px;\\n margin-bottom: 20px; }\\n\\ntabset.tab-content-detail.tab-container {\\n width: 100%; }\\n\\n.custom-ttsp .form-group {\\n border-bottom: 1px solid #eee;\\n padding: 10px; }\\n\\n.custom-ttsp .form-group:last-child {\\n border-bottom: 0; }\\n\\n.custom-ttsp .form-group .col-form-label {\\n font-weight: 400;\\n line-height: 1; }\\n\\n.custom-ttsp .form-group input {\\n border-radius: 0px;\\n height: 27px; }\\n\\n.body-form-add-new > div {\\n vertical-align: top; }\\n\\n.fixed_header {\\n width: 100%; }\\n\\n.fixed_header tbody {\\n display: block;\\n overflow: auto;\\n height: 300px;\\n width: 100%; }\\n\\n.fixed_header thead {\\n background: #f1f1f1;\\n border-bottom: 0px; }\\n\\n.fixed_header th {\\n border: none;\\n width: 25%; }\\n\\n.fixed_header tbody tr {\\n border-bottom: 1px solid #eee;\\n border-top: 0;\\n width: 100%;\\n border-left: 1px solid #eee;\\n border-right: 1px solid #eee; }\\n\\n.fixed_header tbody tr td {\\n width: 25%;\\n line-height: 1.5; }\\n\\n.fixed_header tbody {\\n width: 667px; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\n.page-link {\\n line-height: 1.0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvcHJvZHVjdC9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXHByb2R1Y3RcXHByb2R1Y3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLDZCQUE2QjtFQUM3QiwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLHFIQUU4QyxFQUFBOztBQUdoRDtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLHFCQUFxQjtFQUNyQixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLGVBQWU7RUFDZixpQkFBaUI7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QUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixtQkFBa0IsRUFBQTs7QUFFcEI7RUFDRSxXQUFXLEVBQUE7O0FBRWI7RUFDRSw2QkFBNkI7RUFDN0IsYUFDRixFQUFBOztBQUNBO0VBQ0UsZ0JBQWUsRUFBQTs7QUFFakI7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZLEVBQUE7O0FBRWQ7RUFDRSxtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxXQUFVLEVBQUE7O0FBRVo7RUFDRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGFBQWE7RUFDYixXQUFXLEVBQUE7O0FBRWI7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCLEVBQUE7O0FBS3BCO0VBQ0UsWUFBWTtFQUNaLFVBQVUsRUFBQTs7QUFFWjtFQUNFLDZCQUE2QjtFQUM3QixhQUFhO0VBQ2IsV0FBVztFQUNYLDJCQUEyQjtFQUMzQiw0QkFBNEIsRUFBQTs7QUFFOUI7RUFDRSxVQUFVO0VBQ1YsZ0JBQWUsRUFBQTs7QUFFakI7RUFDRSxZQUFXLEVBQUE7O0FBRWI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxzQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSw2QkFBNkI7RUFDN0IsY0FBYyxFQUFBOztBQUVoQjtFQUNFLDBCQUEwQjtFQUN6QixnQkFBZ0IsRUFBQTs7QUFFbkI7RUFDRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3Byb2R1Y3QvcHJvZHVjdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWxpc3Qge1xyXG4gIHdpZHRoOiA1MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3gge1xyXG4gIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxyXG4gICAgICAgICAgICAgIDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXHJcbiAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG5cclxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveDpsYXN0LWNoaWxkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhhbXBsZS1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuaDEuY21zLWhlYWRpbmctaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNtcy1tYWluIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY21zLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uY21zLWFkZG5ldyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEuY3VycmVudCB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG51bC5jbXMtc3Vic3Vic3ViIHtcclxuICBtYXJnaW4tYm90dG9tOiAwMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwMHB4O1xyXG59XHJcblxyXG4uY21zLWZpbHRlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG4uY21zLXN1YnN1YnN1YiBhIHtcclxuICBsaW5lLWhlaWdodDogMjtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUsIC50YWJsZS1ib3JkZXJlZCB0aCwgLnRhYmxlLWJvcmRlcmVkIHRkIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRoZWFkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi10aHVtYiB7XHJcbiAgd2lkdGg6IDUlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1uYW1lIHtcclxuICB3aWR0aDogMjIlO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXByb2R1Y3RfY2F0LCB0YWJsZSAuY29sdW1uLXByb2R1Y3RfdGFnIHtcclxuICB3aWR0aDogMTElICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsZWZ0OiAtOTk5OWVtO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlclxyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmRldGV0ZS1pdGVtIHtcclxuICBjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiBsaS5pZC1pdGVtIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi11cmwge1xyXG4gIHdpZHRoOiAyNSU7XHJcbn1cclxuXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDI7XHJcbn1cclxuXHJcbnRib2R5IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmNtcy1wYWdpbmcge1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxudGFibGUgLmNvbHVtbi1zdHQsIHRhYmxlIC5jb2x1bW4taHMge1xyXG4gIHdpZHRoOiA4JTtcclxufVxyXG5cclxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxufVxyXG5cclxuLm5hbWUtY2hpbGQge1xyXG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbi5uYW1lLXBhcmVuZCB7XHJcbiAgY29sb3I6ICMwMDczYWE7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHIgdGQge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbn1cclxuXHJcbnRhYmxlLmxpc3QtY2F0IHRib2R5ID4gdHI6aG92ZXIgLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxufVxyXG5cclxuLnN3aXRjaC1sYWJlbCB7XHJcbiAgd2lkdGg6IDQ4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcbi5zZWxlY3QtaXRlbWJveHtcbiAgaGVpZ2h0OjMwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czoycHhcclxufVxyXG4uY29sdW1uLXJhdGluZ3tcbiAgd2lkdGg6MTAlO1xyXG59XHJcbi5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuXHJcbn1cclxuLnNlbGVjdC1pdGVtYm94IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxufVxyXG4uZGF0YVRhYmxlc19maWx0ZXIucHVsbC1yaWdodCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAyMnB4O1xyXG59XHJcbi5JY29uQ2hlY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcbiAgfVxyXG4ubW9kYWwtYm9keSwgLmNhcmQtYm9keS5ib2R5LWZvcm0tYWRkLW5ldyB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnRcclxufVxyXG4udGFiLWNvbnRlbnQtY3VzdG9tIC50YWItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG4uc2lkZXJiYXItcHJvZHVjdCAuZm9ybS1ncm91cC5yb3cge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuLnNpZGVyYmFyLXByb2R1Y3QgbGFiZWwuY29sLW1kLTEyLmNvbC1mb3JtLWxhYmVsIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG4uZGFuaG11Yy1zcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTdlYTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG4gIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgbWF4LWhlaWdodDogMzM1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBsYWJlbCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgdG9wOiAwcHg7XHJcbn1cclxuLmluLWNhdC1wcm9kdWN0IHtcclxuICBtYXJnaW4tbGVmdDogLTIycHg7XHJcbn1cclxuLnNpZGVyYmFyLXByb2R1Y3QgLnNxdWFyZWRjaGVjayBzcGFuIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogLTRweDtcclxufVxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiBUcmFjayAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNiMzAwMDA7XHJcbiAgfVxyXG4uc3F1YXJlZGNoZWNrIGxhYmVsOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzcHg7XHJcbiAgbGVmdDogMnB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG4uY3VzdG9tLXR0c3Age1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbn1cclxudGFic2V0LnRhYi1jb250ZW50LWRldGFpbC50YWItY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXAge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gIHBhZGRpbmc6IDEwcHhcclxufVxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206MDtcclxufVxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXAgLmNvbC1mb3JtLWxhYmVsIHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbi5jdXN0b20tdHRzcCAuZm9ybS1ncm91cCBpbnB1dHtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgaGVpZ2h0OiAyN3B4O1xyXG59XHJcbi5ib2R5LWZvcm0tYWRkLW5ldyA+IGRpdiB7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG4uZml4ZWRfaGVhZGVye1xuICB3aWR0aDoxMDAlO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGJvZHkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGhlaWdodDogMzAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuICBib3JkZXItYm90dG9tOiAwcHg7XHJcbn1cclxuLmZpeGVkX2hlYWRlciB0aGVhZCB0ciB7XHJcblxyXG59XHJcbi5maXhlZF9oZWFkZXIgdGgge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICB3aWR0aDogMjUlO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHIge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVlO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHIgdGQge1xyXG4gIHdpZHRoOiAyNSU7XG4gIGxpbmUtaGVpZ2h0OjEuNTtcclxufVxyXG4uZml4ZWRfaGVhZGVyIHRib2R5e1xuICB3aWR0aDo2NjdweDtcclxufVxyXG4uZml4ZWRfaGVhZGVyIC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLmZpeGVkX2hlYWRlciB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQ6ICNlYWY0ZmY7XHJcbn1cclxuLmZpeGVkX2hlYWRlciBpbWd7XG4gIGJvcmRlcjoxcHggc29saWQgI2VlZTtcclxufVxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuc3Bhbi5wcmljZS1uZXcge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICBmb250LXdlaWdodDogNDAwOyBcclxufVxyXG4ucGFnZS1saW5rIHtcclxuICBsaW5lLWhlaWdodDogMS4wO1xyXG59XG4iXX0= */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { domainImage, ProductReviewStatus } from '../../data/const';\nimport { Product, Attribute, ImageProduct } from '../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from '../../service/common.service';\nimport { DatePipe } from '@angular/common';\nimport { Paging, QueryFilter } from '../../data/dt';\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\nimport { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\n\n\nexport const MY_CUSTOM_FORMATS = {\n\tparseInput: 'DD/MM/YYYY HH:mm',\n\tfullPickerInput: 'DD/MM/YYYY HH:mm',\n\tdatePickerInput: 'DD/MM/YYYY',\n\ttimePickerInput: ' HH:mm',\n\tmonthYearLabel: 'MMM YYYY',\n\tdateA11yLabel: 'LL',\n\tmonthYearA11yLabel: 'MMMM YYYY'\n};\n\n\n@Component({\n\tselector: 'app-product',\n\ttemplateUrl: './product.component.html',\n\tstyleUrls: ['./product.component.scss'],\n\tproviders: [\n\t\t{ provide: DateTimeAdapter, useClass: MomentDateTimeAdapter, deps: [OWL_DATE_TIME_LOCALE] },\n\t\t{ provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS }\n\t]\n})\nexport class ProductComponent implements OnInit {\n\t@ViewChild('ProductModal') public ProductModal: ModalDirective;\n\t@ViewChild('OrderByModal') public OrderByModal: ModalDirective;\n\t@ViewChild('ProductReviewModal') public ProductReviewModal: ModalDirective;\n\t@ViewChild('AttribuiteModal') public AttribuiteModal: ModalDirective;\n\n\n\t@ViewChild('file') file: ElementRef;\n\t@ViewChild('tabset') tabset: TabsetComponent;\n\n\tpublic paging: Paging;\n\tpublic q: QueryFilter;\n\n\tpublic pagingReview: Paging;\n\tpublic qReview: QueryFilter;\n\n\t// public Tag: string;\n\tpublic listProduct = [];\n\tpublic listProductReview = [];\n\tpublic listTrademark = [];\n\tpublic ckeConfig: any;\n\n\tpublic Item: Product;\n\tpublic ImageProduct: ImageProduct;\n\tpublic listManufacture = [];\n\tpublic listCateNews = [];\n\tpublic listOrderByProduct = [];\n\n\tpublic domainImage = domainImage;\n\tpublic progress: number;\n\n\tpublic httpOptions: any;\n\n\tpublic listSuggestProduct = [];\n\tpublic ProductName = \"\";\n\tpublic ProductId: number;\n\tpublic ProductReviewStatus = ProductReviewStatus;\n\n\tpublic attribuites = [];\n\tpublic ItemAttribuite: Attribute;\n\n\tPriceCurrencyMaskConfig = {\n\t\talign: \"left\",\n\t\tallowNegative: false,\n\t\tdecimal: \".\",\n\t\tprecision: 0,\n\t\tprefix: \"\",\n\t\tsuffix: \" Vnđ\",\n\t\tthousands: \",\"\n\t};\n\n\n\tStockQuantityMaskConfig = {\n\t\talign: \"left\",\n\t\tallowNegative: false,\n\t\tdecimal: \".\",\n\t\tprecision: 0,\n\t\tprefix: \"\",\n\t\tsuffix: \"\",\n\t\tthousands: \",\"\n\t};\n\n\tconstructor(\n\t\tpublic http: HttpClient,\n\t\tpublic modalDialogService: ModalDialogService,\n\t\tpublic viewRef: ViewContainerRef,\n\t\tpublic toastr: ToastrService,\n\t\tpublic common: CommonService,\n\t\tpublic datePipe: DatePipe\n\t) {\n\t\tthis.Item = new Product();\n\t\tthis.paging = new Paging();\n\t\tthis.paging.page = 1;\n\t\tthis.paging.page_size = 10;\n\t\tthis.paging.query = \"TypeProduct=1\";\n\t\tthis.paging.order_by = \"ProductId Desc\";\n\t\tthis.paging.item_count = 0;\n\n\t\tthis.q = new QueryFilter();\n\t\tthis.q.txtSearch = \"\";\n\n\t\tthis.pagingReview = new Paging();\n\t\tthis.pagingReview.page = 1;\n\t\tthis.pagingReview.page_size = 10;\n\t\tthis.pagingReview.query = \"1=1\";\n\t\tthis.pagingReview.order_by = \"\";\n\t\tthis.pagingReview.item_count = 0;\n\n\t\tthis.qReview = new QueryFilter();\n\t\tthis.qReview.txtSearch = \"\";\n\n\t\tthis.httpOptions = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t})\n\t\t}\n\n\t\tthis.ItemAttribuite = new Attribute();\n\t}\n\n\tngOnInit() {\n\t\tthis.ckeConfig = {\n\t\t\tallowedContent: false,\n\t\t\textraPlugins: 'divarea',\n\t\t\tforcePasteAsPlainText: true\n\t\t};\n\n\t\tthis.GetListProduct();\n\t\tthis.GetListManufacture();\n\t\tthis.GetListTrademark();\n this.GetAttribuites();\n\n\n\t}\n\n\t//Get danh sách sản phẩm\n\tGetListProduct() {\n\t\tthis.http.get('/api/product/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listProduct = res[\"data\"];\n\t\t\t\t\tthis.listProduct.forEach(item => {\n\t\t\t\t\t\titem.IsShow = item.Status == 1 ? true : false;\n\t\t\t\t\t});\n\t\t\t\t\tthis.paging.item_count = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Lấy toàn bộ danh sách sản phẩm\n\tGetListAllProduct() {\n\t\tlet query = \"\";\n\t\tif (this.Item.ProductId != undefined) {\n\t\t\tquery = \"TypeProduct=1 and ProductId !=\" + this.Item.ProductId\n\t\t}\n\t\telse {\n\t\t\tquery = \"TypeProduct=1\"\n\t\t}\n this.http.get('/api/product/GetByPage?page=1&query=' + query + '&order_by=&select=ProductId,PriceSpecial,Name,Image', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listSuggestProduct = res[\"data\"];\n\t\t\t\t\tthis.listSuggestProduct.forEach(item => {\n\t\t\t\t\t\titem.Check = false;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (this.Item.ProductId != undefined) {\n\t\t\t\t\t\tfor (var i = 0; i < this.listSuggestProduct.length; i++) {\n\t\t\t\t\t\t\tfor (var j = 0; j < this.Item.listRelated.length; j++) {\n\t\t\t\t\t\t\t\tif (this.listSuggestProduct[i].ProductId == this.Item.listRelated[j].TargetRelatedId) {\n\t\t\t\t\t\t\t\t\tthis.listSuggestProduct[i].Check = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Danh sách nhà sản xuất\n\tGetListManufacture() {\n\t\tthis.http.get('/api/manufacturer/GetByPage?page=1&query=TypeOriginId=1&order_by=', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listManufacture = res[\"data\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Danh sách thương hiệu\n\tGetListTrademark() {\n\t\tthis.http.get('/api/manufacturer/GetByPage?page=1&query=TypeOriginId=2&order_by=', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listTrademark = res[\"data\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Chuyển trang\n\tPageChanged(event) {\n\t\tthis.paging.page = event.page;\n\t\tthis.GetListProduct();\n\t}\n\n\t//Toast cảnh báo\n\ttoastWarning(msg): void {\n\t\tthis.toastr.warning(msg, 'Cảnh báo');\n\t}\n\n\t//Toast thành công\n\ttoastSuccess(msg): void {\n\t\tthis.toastr.success(msg, 'Hoàn thành');\n\t}\n\n\t//Toast thành công\n\ttoastError(msg): void {\n\t\tthis.toastr.error(msg, 'Lỗi');\n\t}\n\n\t//\n\tQueryChanged() {\n\t\tlet query = 'TypeProduct=1';\n\t\tif (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t}\n\n\t\tif (this.q[\"ManufacturerId\"] != undefined) {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and ManufacturerId=' + this.q[\"ManufacturerId\"];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'ManufacturerId=' + this.q[\"ManufacturerId\"];\n\t\t\t}\n\t\t}\n\n\t\tif (this.q[\"TrademarkId\"] != undefined) {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and TrademarkId=' + this.q[\"TrademarkId\"];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'TrademarkId=' + this.q[\"TrademarkId\"];\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.paging.query = '1=1';\n\t\telse\n\t\t\tthis.paging.query = query;\n\n\t\tthis.GetListProduct();\n\t}\n\n\t//Mở modal thêm mới\n\tOpenProductModal(item) {\n\t\tthis.tabset.tabs[0].active = true;\n\t\tthis.Item = new Product();\n\t\tthis.file.nativeElement.value = \"\";\n\t\tthis.progress = undefined;\n\t\tthis.listCateNews = [];\n\t\tthis.Item.listImage = [];\n\t\tif (item != undefined) {\n\t\t\tthis.Item = JSON.parse(JSON.stringify(item));\n\n\t\t\tlet listAttribute = JSON.parse(JSON.stringify(item.listAttribute));\n\t\t\tlet attribuites = JSON.parse(JSON.stringify(this.attribuites));\n\t\t\tattribuites.forEach(itemLoop => {\n\t\t\t\tfor (let i = 0; i < listAttribute.length; i++) {\n\t\t\t\t\tif (itemLoop.AttribuiteId == listAttribute[i].AttribuiteId) {\n\t\t\t\t\t\titemLoop.Value = listAttribute[i].Value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.Item.listAttribute = attribuites;\n\t\t} else {\n\t\t\tthis.Item.listAttribute = JSON.parse(JSON.stringify(this.attribuites));\n\t\t}\n\n\t\tthis.GetListAllProduct();\n\t\tthis.GetListCateNews();\n\t\tthis.ProductModal.show();\n\t}\n\n\t//Thêm mới danh mục trang\n\tSaveProduct() {\n\t\tif (this.Item.Name == undefined || this.Item.Name == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tên sản phẩm!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Name.replace(/ /g, '') == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập tên sản phẩm!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Url == undefined || this.Item.Url == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Đường dẫn!\");\n\t\t\treturn;\n\t\t} else if (this.Item.Url.replace(/ /g, '') == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập đường dẫn!\");\n\t\t\treturn;\n\t\t} else if (this.Item.StockQuantity == undefined) {\n\t\t\tthis.toastWarning(\"Chưa nhập Số lượng sản phẩm!\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\t\tthis.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\t\tthis.Item.WebsiteId = parseInt(localStorage.getItem(\"websiteId\"));\n\n\t\tif (typeof this.Item.DateStartActive === 'object' && this.Item.DateStartActive != undefined) {\n\t\t\tlet DateStartActive = this.Item.DateStartActive.add(7, 'hours');\n\t\t\tthis.Item.DateStartActive = DateStartActive.toISOString();\n\t\t}\n\n\t\tthis.Item.listRelated = [];\n\t\tthis.listSuggestProduct.forEach(item => {\n\t\t\tif (item.Check == true) {\n\t\t\t\tlet obj = { TargetRelatedId: item.ProductId }\n\t\t\t\tthis.Item.listRelated.push(obj);\n\t\t\t}\n\t\t});\n\n\t\tif (this.Item.ProductId == undefined) {\n\t\t\tthis.Item.listCategory = [];\n\t\t\tthis.listCateNews.forEach(item => {\n\t\t\t\tif (item.Check) {\n\t\t\t\t\tthis.Item.listCategory.push(item);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.Item.TypeProduct = 1;\n\n\t\t\tthis.http.post('/api/Product', this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListProduct();\n\t\t\t\t\t\tthis.ProductModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Thêm mới thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tlet arr = [];\n\t\t\tthis.Item.listCategory.forEach(item => {\n\t\t\t\tvar flag = false;\n\t\t\t\tfor (var i = 0; i < this.listCateNews.length; i++) {\n\t\t\t\t\tif (item.CategoryId == this.listCateNews[i].CategoryId && this.listCateNews[i].Check == true) {\n\t\t\t\t\t\tflag = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!flag) {\n\t\t\t\t\titem.Check = false;\n\t\t\t\t\tarr.push(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.Item.listCategory = arr.concat(this.listCateNews.filter(e => e.Check == true));\n\n\t\t\tthis.http.put('/api/product/' + this.Item.ProductId, this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListProduct();\n\t\t\t\t\t\tthis.ProductModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Cập nhật thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t//Popup xác nhận xóa\n\tShowConfirmDelete(Id) {\n\t\tthis.modalDialogService.openDialog(this.viewRef, {\n\t\t\ttitle: 'Xác nhận',\n\t\t\tchildComponent: SimpleModalComponent,\n\t\t\tdata: {\n\t\t\t\ttext: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n\t\t\t},\n\t\t\tactionButtons: [\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đồng ý',\n\t\t\t\t\tbuttonClass: 'btn btn-success',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.Delete(Id);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đóng',\n\t\t\t\t\tbuttonClass: 'btn btn-default',\n\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n\n\tDelete(Id) {\n\t\tthis.http.delete('/api/Product/' + Id, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.GetListProduct();\n\t\t\t\t\tthis.viewRef.clear();\n\t\t\t\t\tthis.toastSuccess(\"Xóa thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t}\n\t\t);\n\t}\n\n\t// check chữ\n\tChangeNameProduct(key) {\n\t\tswitch (key) {\n\t\t\tcase 1:\n\t\t\t\tthis.Item.MetaTitle = this.Item.Name;\n\t\t\t\tthis.Item.MetaKeyword = this.Item.Name;\n\t\t\t\tthis.Item.Url = this.common.ConvertUrl(this.Item.Name);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.Item.MetaDescription = this.Item.Description;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tGetListCateNews() {\n\t\tthis.http.get('/api/category/GetByTree?arr=11', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listCateNews = res[\"data\"];\n\n\t\t\t\t\tif (this.Item.ProductId != undefined) {\n\t\t\t\t\t\tfor (var i = 0; i < this.listCateNews.length; i++) {\n\t\t\t\t\t\t\tfor (var j = 0; j < this.Item.listCategory.length; j++) {\n\t\t\t\t\t\t\t\tif (this.listCateNews[i].CategoryId == this.Item.listCategory[j].CategoryId) {\n\t\t\t\t\t\t\t\t\tthis.listCateNews[i].Check = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\n\n\n\n\t\t// this.http.get('/api/category/GetByPage?page=1&query=TypeCategoryId=11', this.httpOptions).subscribe(\n\t\t// \t(res) => {\n\t\t// \t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t// \t\t\tthis.listCateNews = [];\n\t\t// \t\t\tif (res[\"data\"].length > 0) {\n\t\t// \t\t\t\tres[\"data\"].forEach(cate => {\n\t\t// \t\t\t\t\tthis.listCateNews.push({ CategoryId: cate.CategoryId, Name: cate.Name, Check: false });\n\t\t// \t\t\t\t});\n\n\t\t// \t\t\t\tif (this.Item.ProductId != undefined) {\n\t\t// \t\t\t\t\tfor (var i = 0; i < this.listCateNews.length; i++) {\n\t\t// \t\t\t\t\t\tfor (var j = 0; j < this.Item.listCategory.length; j++) {\n\t\t// \t\t\t\t\t\t\tif (this.listCateNews[i].CategoryId == this.Item.listCategory[j].CategoryId) {\n\t\t// \t\t\t\t\t\t\t\tthis.listCateNews[i].Check = true;\n\t\t// \t\t\t\t\t\t\t\tbreak;\n\t\t// \t\t\t\t\t\t\t}\n\t\t// \t\t\t\t\t\t}\n\t\t// \t\t\t\t\t}\n\t\t// \t\t\t\t}\n\t\t// \t\t\t}\n\t\t// \t\t}\n\t\t// \t},\n\t\t// \t(err) => {\n\t\t// \t\tconsole.log(\"Error: connect to API\");\n\t\t// \t}\n\t\t// );\n\t}\n\n\tupload(files) {\n\t\tif (files.length === 0)\n\t\t\treturn;\n\n\t\tconst formData = new FormData();\n\n\t\tfor (let file of files)\n\t\t\tformData.append(file.name, file);\n\n\t\tconst uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/2', formData, {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t}),\n\t\t\treportProgress: true,\n\t\t});\n\n\t\tthis.http.request(uploadReq).subscribe(event => {\n\t\t\tif (event.type === HttpEventType.UploadProgress)\n\t\t\t\tthis.progress = Math.round(100 * event.loaded / event.total);\n\t\t\telse if (event.type === HttpEventType.Response) {\n\t\t\t\tevent.body[\"data\"].forEach(item => {\n\t\t\t\t\tthis.ImageProduct = new ImageProduct();\n\t\t\t\t\tthis.ImageProduct.Image = item;\n\t\t\t\t\tthis.ImageProduct.IsImageMain = false;\n\t\t\t\t\tthis.ImageProduct.Status = 1;\n\t\t\t\t\tthis.Item.listImage.push(this.ImageProduct);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tRemoveImage(idx) {\n\t\tif (this.Item.listImage[idx].ProductImageId == undefined) {\n\t\t\tthis.Item.listImage.splice(idx, 1);\n\t\t}\n\t\telse {\n\t\t\tthis.Item.listImage[idx].Status = 99;\n\t\t}\n\t}\n\n\tfindTrademark(item) {\n\t\tif (item == undefined) {\n\t\t\treturn \"\";\n\t\t}\n\t\telse {\n\t\t\treturn item.Name;\n\t\t}\n\t}\n\n\tShowHide(id, i) {\n\t\tlet stt = this.listProduct[i].IsShow ? 1 : 10;\n\t\tthis.http.put('/api/Product/ShowHide/' + id + \"/\" + stt, undefined, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.toastSuccess(\"Thay đổi trạng thái thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\tthis.listProduct[i].IsShow = !this.listProduct[i].IsShow;\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\tthis.listProduct[i].IsShow = !this.listProduct[i].IsShow;\n\t\t\t}\n\t\t);\n\t}\n\n\tSortTable(str) {\n\t\tlet First = \"\";\n\t\tlet Last = \"\";\n\t\tif (this.paging.order_by != \"\") {\n\t\t\tFirst = this.paging.order_by.split(\" \")[0];\n\t\t\tLast = this.paging.order_by.split(\" \")[1];\n\t\t}\n\n\t\tif (First != str) {\n\t\t\tthis.paging.order_by = str + \" Desc\";\n\t\t}\n\t\telse {\n\t\t\tLast = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n\t\t\tthis.paging.order_by = str + \" \" + Last;\n\t\t}\n\n\t\tthis.GetListProduct();\n\t}\n\n\tGetClassSortTable(str) {\n\t\tif (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n\t\t\treturn \"sorting\";\n\t\t}\n\t\telse {\n\t\t\tif (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n\t\t\telse return \"sorting_asc\";\n\t\t}\n\t}\n\n\tSetIsMain(idx) {\n\t\tfor (let i = 0; i < this.Item.listImage.length; i++) {\n\t\t\tthis.Item.listImage[i].IsImageMain = false;\n\t\t\tif (idx == i) {\n\t\t\t\tthis.Item.listImage[i].IsImageMain = true;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tGetListOrderBy() {\n\t\tthis.http.get('/api/orderby/GetOrderBy/10', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listOrderByProduct = res[\"data\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\tOpenOrderByModal() {\n\t\tthis.listOrderByProduct = [];\n\t\tthis.GetListOrderBy();\n\t\tthis.OrderByModal.show();\n\t}\n\n\tDeleteOrderBy(item) {\n\t\tfor (let i = 0; i < this.listOrderByProduct.length; i++) {\n\t\t\tif (this.listOrderByProduct[i].CategoryMappingId == item.CategoryMappingId) {\n\t\t\t\tthis.listOrderByProduct[i].Status = 99;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tSaveOrderBy() {\n\t\tthis.http.post('/api/orderby', this.listOrderByProduct, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.GetListProduct();\n\t\t\t\t\tthis.OrderByModal.hide();\n\t\t\t\t\tthis.toastSuccess(\"Lưu thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Product Review\n\tGetListProductReviews() {\n\t\tthis.http.get('/api/product/ProductReview/GetByPage?page=' + this.pagingReview.page + '&page_size=' + this.pagingReview.page_size + '&query=' + this.pagingReview.query + '&order_by=' + this.pagingReview.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listProductReview = res[\"data\"];\n\t\t\t\t\tthis.pagingReview.item_count = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\tProductReviewsModal(ProductId, Name) {\n\t\tthis.ProductName = Name;\n\t\tthis.ProductId = ProductId;\n\n\t\tthis.pagingReview = new Paging();\n\t\tthis.pagingReview.page = 1;\n\t\tthis.pagingReview.page_size = 10;\n\t\tthis.pagingReview.query = \"ProductId=\" + ProductId;\n\t\tthis.pagingReview.order_by = \"\";\n\t\tthis.pagingReview.item_count = 0;\n\n\t\tthis.qReview = new QueryFilter();\n\t\tthis.qReview.txtSearch = \"\";\n\t\tthis.qReview.Type = undefined;\n\n\t\tthis.GetListProductReviews();\n\t\tthis.ProductReviewModal.show();\n\t}\n\n\tPageChangedReview(event) {\n\t\tthis.pagingReview.page = event.page;\n\t\tthis.GetListProductReviews();\n\t}\n\n\tQueryReviewChanged() {\n\t\tlet query = 'ProductId=' + this.ProductId;\n\t\tif (this.qReview[\"Type\"] != undefined) {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and Status=' + this.qReview[\"Type\"];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'Status=' + this.qReview[\"Type\"];\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.pagingReview.query = '1=1';\n\t\telse\n\t\t\tthis.pagingReview.query = query;\n\n\t\tthis.GetListProductReviews();\n\t}\n\n\tChangeStatusProductReview(ProductReviewId, Status) {\n\t\tthis.http.put('/api/Product/ChangeStatusProductReview/' + ProductReviewId + \"/\" + Status, undefined, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.toastSuccess(\"Thay đổi trạng thái thành công!\");\n\t\t\t\t\tthis.GetListProductReviews();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\tthis.GetListProductReviews();\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\tthis.GetListProductReviews();\n\t\t\t}\n\t\t);\n\t}\n\n\tCheckCategory(CategoryId, curItem) {\n\t\tlet Check = curItem[\"Check\"];\n\t\tlet CategoryParentId = curItem[\"CategoryParentId\"];\n\n\t\tlet CheckParent = false;\n\n\t\tthis.listCateNews.forEach(item => {\n\t\t\tif (Check) {\n\t\t\t\tif (item.Genealogy.indexOf(CategoryId.toString()) != -1) {\n\t\t\t\t\titem.Check = !Check;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (Check == false) {\n\t\t\t\tCheckParent = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (item.CategoryParentId == CategoryParentId) {\n\t\t\t\t\tif (item.Check == true) {\n\t\t\t\t\t\tCheckParent = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t});\n\n\t\tif (CheckParent) {\n\t\t\tthis.listCateNews.forEach(item => {\n\t\t\t\tif (item.CategoryId == CategoryParentId) {\n\t\t\t\t\titem.Check = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t//Lấy ra danh sách thuộc tính\n\tGetAttribuites() {\n\t\tthis.http.get('/api/attribuite/GetByPage?page=1&query=1=1&order_by=Location Asc&select=AttribuiteId,Name,Location', this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.attribuites = res[\"data\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\tOpenAttribuiteModal() {\n\t\tthis.ItemAttribuite = new Attribute();\n\t\tthis.ItemAttribuite.Status = 1;\n\t\tthis.AttribuiteModal.show();\n\t}\n\n\tSaveAttribuite() {\n\t\tif (this.ItemAttribuite.AttribuiteId == undefined) {\n\t\t\tthis.toastWarning(\"Chưa chọn Thuộc tính!\");\n\t\t\treturn;\n\t\t} else if (this.ItemAttribuite.Value == undefined || this.ItemAttribuite.Value == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Giá trị thuộc tính!\");\n\t\t\treturn;\n\t\t} else if (this.ItemAttribuite.Value.replace(/ /g, '') == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Giá trị thuộc tính!\");\n\t\t\treturn;\n\t\t} else if (this.ItemAttribuite.Location == undefined) {\n\t\t\tthis.toastWarning(\"Chưa nhập Thứ tự hiển thị!\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.Item.listAttribute == undefined) {\n\t\t\tthis.Item.listAttribute = [];\n\t\t}\n\n\t\tthis.Item.listAttribute.push(this.ItemAttribuite);\n\t\tthis.ItemAttribuite = new Attribute();\n\t\tthis.AttribuiteModal.hide();\n\t}\n\n\tShowConfirmDeleteAttribuite(i) {\n\t\tthis.modalDialogService.openDialog(this.viewRef, {\n\t\t\ttitle: 'Xác nhận',\n\t\t\tchildComponent: SimpleModalComponent,\n\t\t\tdata: {\n\t\t\t\ttext: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n\t\t\t},\n\t\t\tactionButtons: [\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đồng ý',\n\t\t\t\t\tbuttonClass: 'btn btn-success',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.Item.listAttribute[i].Status = 99;\n\t\t\t\t\t\tthis.viewRef.clear();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đóng',\n\t\t\t\t\tbuttonClass: 'btn btn-default',\n\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n}\n","module.exports = \"
            \\n
            \\n
            \\n

            Danh sách đánh giá

            \\n
            \\n
            \\n
            \\n
            \\n \\n
            \\n \\n\\n
            \\n \\n
            \\n
            \\n
            \\n
            \\n
            \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
            \\n Tên\\n EmailTrạng tháiNội dungSản phẩmĐiểm đánh giá
            {{ item.Name }}{{ item.Email }}\\n \\n \\n \\n {{ item.Contents | truncate:[5]}}\\n {{ item.ProductName }}\\n
            \\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n
            \\n
            \\n
            \\n
            \\n
            \\n
            \\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\n
            \\n
            \\n
            \\n \\n
            \\n
            \\n
            \\n
            \\n
            \\n
            \\n\"","module.exports = \".example-list {\\n width: 500px;\\n max-width: 100%;\\n border: solid 1px #ccc;\\n min-height: 60px;\\n display: block;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden; }\\n\\n.example-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px; }\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n\\n.cdk-drag-placeholder {\\n opacity: 0; }\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\n.example-box:last-child {\\n border: none; }\\n\\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); }\\n\\nh1.cms-heading-inline {\\n display: inline-block;\\n font-size: 23px;\\n margin-right: 6px;\\n font-weight: 400;\\n padding-left: 20px;\\n margin-bottom: 0px; }\\n\\n.cms-main {\\n margin-top: 30px; }\\n\\n.cms-content {\\n padding-top: 15px; }\\n\\n.cms-addnew {\\n border: 1px solid #ccc;\\n color: #0073aa;\\n padding: 4px 8px;\\n font-weight: 600;\\n border-radius: 2px;\\n background: #f7f7f7;\\n font-size: 13px;\\n line-height: normal; }\\n\\n.cms-subsubsub a.current {\\n color: #000; }\\n\\n.cms-subsubsub li {\\n display: inline-block;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap; }\\n\\n.card-body {\\n margin-top: 0px;\\n padding-top: 10px;\\n padding-left: 0px; }\\n\\nul.cms-subsubsub {\\n margin-bottom: 00px;\\n margin-left: 0px;\\n padding-left: 00px; }\\n\\n.cms-filter {\\n padding-left: 40px; }\\n\\n.cms-subsubsub a {\\n line-height: 2;\\n padding: .2em;\\n text-decoration: none;\\n color: #0073aa; }\\n\\ninput {\\n outline: none; }\\n\\ntable, .table-bordered th, .table-bordered td {\\n border: none; }\\n\\nthead {\\n border-top: 1px solid #ccc;\\n border-bottom: 1px solid #ccc; }\\n\\ntable .column-thumb {\\n width: 5%;\\n text-align: center;\\n white-space: nowrap; }\\n\\ntable {\\n table-layout: fixed; }\\n\\ntable .column-name {\\n width: 22%; }\\n\\ntable .column-product_cat, table .column-product_tag {\\n width: 11% !important; }\\n\\n.cms-function {\\n position: relative;\\n left: -9999em;\\n list-style: none;\\n padding-left: 0px;\\n margin-bottom: 0px; }\\n\\n.cms-function li {\\n float: left;\\n margin-right: 5px;\\n color: #0073aa;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.cms-function li.detete-item {\\n color: #f00; }\\n\\n.cms-function li.id-item {\\n color: #ccc; }\\n\\ntable .column-url {\\n width: 25%; }\\n\\n.table > tbody > tr > td {\\n padding: 8px !important;\\n line-height: 2; }\\n\\ntbody {\\n border-bottom: 1px solid #ccc; }\\n\\n.cms-paging {\\n padding-left: 20px; }\\n\\ntable .column-stt, table .column-hs {\\n width: 8%; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.name-child {\\n font-size: 14px !important;\\n font-weight: 600;\\n color: #0073aa; }\\n\\n.name-parend {\\n color: #0073aa; }\\n\\ntable.list-cat tbody > tr td {\\n line-height: 1.8; }\\n\\ntable.list-cat tbody > tr:hover .cms-function {\\n position: static; }\\n\\n.switch-label {\\n width: 48px;\\n margin-bottom: 0px; }\\n\\n.select-itembox {\\n height: 30px !important;\\n border-radius: 2px; }\\n\\n.column-rating {\\n width: 10%; }\\n\\n.ng-select .ng-select-container {\\n min-height: 30px !important; }\\n\\n.select-itembox .ng-select-container {\\n height: 30px !important; }\\n\\n.dataTables_filter.pull-right {\\n position: absolute;\\n right: 22px; }\\n\\n.IconCheck {\\n display: block;\\n text-align: center;\\n font-size: 25px !important;\\n line-height: 1; }\\n\\n.modal-content {\\n background-color: #F1F1F1; }\\n\\n.modal-body, .card-body.body-form-add-new {\\n padding: 0px !important; }\\n\\n.tab-content-custom .tab-content {\\n background: #f1f1f1; }\\n\\n.siderbar-product .form-group.row {\\n background: #fff;\\n border-radius: 0;\\n border: 1px solid #ccc;\\n margin-right: 0px;\\n margin-bottom: 15px; }\\n\\n.siderbar-product label.col-md-12.col-form-label {\\n border-bottom: 1px solid #ccc; }\\n\\n.danhmuc-sp {\\n border: 1px solid #e4e7ea;\\n border-radius: 0px !important;\\n background: #FDFDFD;\\n margin-top: 14px;\\n max-height: 335px;\\n margin-bottom: 14px;\\n overflow-y: auto;\\n overflow-y: scroll;\\n width: 100%;\\n overflow-x: hidden; }\\n\\n.siderbar-product .squaredcheck label {\\n background: #fff;\\n border: 1px solid #ccc;\\n width: 15px;\\n height: 15px;\\n font-size: 13px;\\n top: 0px; }\\n\\n.in-cat-product {\\n margin-left: -22px; }\\n\\n.siderbar-product .squaredcheck span {\\n left: 20px;\\n top: -4px; }\\n\\n/* width */\\n\\n::-webkit-scrollbar {\\n width: 0px; }\\n\\n/* Track */\\n\\n::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 5px grey;\\n border-radius: 50px; }\\n\\n/* Handle */\\n\\n::-webkit-scrollbar-thumb {\\n background: #ccc;\\n border-radius: 50px; }\\n\\n/* Handle on hover */\\n\\n::-webkit-scrollbar-thumb:hover {\\n background: #b30000; }\\n\\n.squaredcheck label:after {\\n content: '';\\n width: 10px;\\n height: 5px;\\n position: absolute;\\n top: 3px;\\n left: 2px;\\n border: 2px solid #000;\\n border-top: none;\\n border-right: none;\\n background: transparent;\\n opacity: 0;\\n transform: rotate(-45deg); }\\n\\n.custom-ttsp {\\n background: #fff;\\n margin: 0px;\\n border: 1px solid #ccc;\\n margin-top: 20px;\\n margin-bottom: 20px; }\\n\\ntabset.tab-content-detail.tab-container {\\n width: 100%; }\\n\\n.custom-ttsp .form-group {\\n border-bottom: 1px solid #eee;\\n padding: 10px; }\\n\\n.custom-ttsp .form-group:last-child {\\n border-bottom: 0; }\\n\\n.custom-ttsp .form-group .col-form-label {\\n font-weight: 400;\\n line-height: 1; }\\n\\n.custom-ttsp .form-group input {\\n border-radius: 0px;\\n height: 27px; }\\n\\n.body-form-add-new > div {\\n vertical-align: top; }\\n\\n.fixed_header {\\n width: 100%; }\\n\\n.fixed_header tbody {\\n display: block;\\n overflow: auto;\\n height: 300px;\\n width: 100%; }\\n\\n.fixed_header thead {\\n background: #f1f1f1;\\n border-bottom: 0px; }\\n\\n.fixed_header th {\\n border: none;\\n width: 25%; }\\n\\n.fixed_header tbody tr {\\n border-bottom: 1px solid #eee;\\n border-top: 0;\\n width: 100%;\\n border-left: 1px solid #eee;\\n border-right: 1px solid #eee; }\\n\\n.fixed_header tbody tr td {\\n width: 25%;\\n line-height: 1.5; }\\n\\n.fixed_header tbody {\\n width: 667px; }\\n\\n.fixed_header .squaredcheck label {\\n width: 15px;\\n height: 15px;\\n background: #fff !important;\\n border: 1px solid #ccc; }\\n\\n.fixed_header tbody tr:nth-child(odd) {\\n background: #FFF; }\\n\\n.fixed_header tbody tr:nth-child(even) {\\n background: #eaf4ff; }\\n\\n.fixed_header img {\\n border: 1px solid #eee; }\\n\\nspan.price-pri {\\n text-decoration: line-through;\\n color: #b5b3b3; }\\n\\nspan.price-new {\\n text-decoration: underline;\\n font-weight: 400; }\\n\\n.page-link {\\n line-height: 1.0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvcmV2aWV3LXByb2R1Y3QvRTpcXHdvcmtzcGFjZVxcVFRNXFxJT0lUV2ViQXBwXFxBcHBDTVMvc3JjXFxhcHBcXHZpZXdzXFxyZXZpZXctcHJvZHVjdFxccmV2aWV3LXByb2R1Y3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLDZCQUE2QjtFQUM3QiwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLHFIQUU4QyxFQUFBOztBQUdoRDtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLHNEQUFzRCxFQUFBOztBQUd4RDtFQUNFLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLHFCQUFxQjtFQUNyQixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CQUFtQixFQUFBOztBQUdyQjtF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QjtFQUNFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixtQkFBa0IsRUFBQTs7QUFFcEI7RUFDRSxXQUFXLEVBQUE7O0FBRWI7RUFDRSw2QkFBNkI7RUFDN0IsYUFDRixFQUFBOztBQUNBO0VBQ0UsZ0JBQWUsRUFBQTs7QUFFakI7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZLEVBQUE7O0FBRWQ7RUFDRSxtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxXQUFVLEVBQUE7O0FBRVo7RUFDRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGFBQWE7RUFDYixXQUFXLEVBQUE7O0FBRWI7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCLEVBQUE7O0FBS3BCO0VBQ0UsWUFBWTtFQUNaLFVBQVUsRUFBQTs7QUFFWjtFQUNFLDZCQUE2QjtFQUM3QixhQUFhO0VBQ2IsV0FBVztFQUNYLDJCQUEyQjtFQUMzQiw0QkFBNEIsRUFBQTs7QUFFOUI7RUFDRSxVQUFVO0VBQ1YsZ0JBQWUsRUFBQTs7QUFFakI7RUFDRSxZQUFXLEVBQUE7O0FBRWI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxzQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSw2QkFBNkI7RUFDN0IsY0FBYyxFQUFBOztBQUVoQjtFQUNFLDBCQUEwQjtFQUN6QixnQkFBZ0IsRUFBQTs7QUFFbkI7RUFDRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3Jldmlldy1wcm9kdWN0L3Jldmlldy1wcm9kdWN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtbGlzdCB7XHJcbiAgd2lkdGg6IDUwMHB4O1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xyXG4gIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5leGFtcGxlLWJveCB7XHJcbiAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2NjO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGN1cnNvcjogbW92ZTtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1wcmV2aWV3IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXHJcbiAgICAgICAgICAgICAgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcclxuICAgICAgICAgICAgICAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1hbmltYXRpbmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94Omxhc3QtY2hpbGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leGFtcGxlLWJveDpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG5oMS5jbXMtaGVhZGluZy1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDIzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY21zLW1haW4ge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5jbXMtY29udGVudCB7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5jbXMtYWRkbmV3IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgYS5jdXJyZW50IHtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmNtcy1zdWJzdWJzdWIgbGkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbnVsLmNtcy1zdWJzdWJzdWIge1xyXG4gIG1hcmdpbi1ib3R0b206IDAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZmlsdGVyIHtcclxuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbn1cclxuXHJcbi5jbXMtc3Vic3Vic3ViIGEge1xyXG4gIGxpbmUtaGVpZ2h0OiAyO1xyXG4gIHBhZGRpbmc6IC4yZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgb3V0bGluZTogbm9uZVxyXG59XHJcblxyXG50YWJsZSwgLnRhYmxlLWJvcmRlcmVkIHRoLCAudGFibGUtYm9yZGVyZWQgdGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxudGhlYWQge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXRodW1iIHtcclxuICB3aWR0aDogNSU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLW5hbWUge1xyXG4gIHdpZHRoOiAyMiU7XHJcbn1cclxuXHJcbnRhYmxlIC5jb2x1bW4tcHJvZHVjdF9jYXQsIHRhYmxlIC5jb2x1bW4tcHJvZHVjdF90YWcge1xyXG4gIHdpZHRoOiAxMSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtcy1mdW5jdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGNvbG9yOiAjMDA3M2FhO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5jbXMtZnVuY3Rpb24gbGkuZGV0ZXRlLWl0ZW0ge1xyXG4gIGNvbG9yOiAjZjAwO1xyXG59XHJcblxyXG4uY21zLWZ1bmN0aW9uIGxpLmlkLWl0ZW0ge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXVybCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxudGJvZHkge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4uY21zLXBhZ2luZyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSAuY29sdW1uLXN0dCwgdGFibGUgLmNvbHVtbi1ocyB7XHJcbiAgd2lkdGg6IDglO1xyXG59XHJcblxyXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4ubmFtZS1jaGlsZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxuLm5hbWUtcGFyZW5kIHtcclxuICBjb2xvcjogIzAwNzNhYTtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0ciB0ZCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxudGFibGUubGlzdC1jYXQgdGJvZHkgPiB0cjpob3ZlciAuY21zLWZ1bmN0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsIHtcclxuICB3aWR0aDogNDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuLnNlbGVjdC1pdGVtYm94e1xyXG4gIGhlaWdodDozMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czoycHhcclxufVxyXG4uY29sdW1uLXJhdGluZ3tcclxuICB3aWR0aDoxMCU7XHJcbn1cclxuLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgbWluLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG5cclxufVxyXG4uc2VsZWN0LWl0ZW1ib3ggLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5kYXRhVGFibGVzX2ZpbHRlci5wdWxsLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIycHg7XHJcbn1cclxuLkljb25DaGVjayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xyXG4gIH1cclxuLm1vZGFsLWJvZHksIC5jYXJkLWJvZHkuYm9keS1mb3JtLWFkZC1uZXcge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50XHJcbn1cclxuLnRhYi1jb250ZW50LWN1c3RvbSAudGFiLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XHJcbn1cclxuLnNpZGVyYmFyLXByb2R1Y3QgLmZvcm0tZ3JvdXAucm93IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcbi5zaWRlcmJhci1wcm9kdWN0IGxhYmVsLmNvbC1tZC0xMi5jb2wtZm9ybS1sYWJlbCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuLmRhbmhtdWMtc3Age1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU3ZWE7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogI0ZERkRGRDtcclxuICBtYXJnaW4tdG9wOiAxNHB4O1xyXG4gIG1heC1oZWlnaHQ6IDMzNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgbGFiZWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRvcDogMHB4O1xyXG59XHJcbi5pbi1jYXQtcHJvZHVjdCB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xyXG59XHJcbi5zaWRlcmJhci1wcm9kdWN0IC5zcXVhcmVkY2hlY2sgc3BhbiB7XHJcbiAgbGVmdDogMjBweDtcclxuICB0b3A6IC00cHg7XHJcbn1cclxuLyogd2lkdGggKi9cclxuOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuLyogVHJhY2sgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCBncmV5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjYjMwMDAwO1xyXG4gIH1cclxuLnNxdWFyZWRjaGVjayBsYWJlbDphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiA1cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogM3B4O1xyXG4gIGxlZnQ6IDJweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuLmN1c3RvbS10dHNwIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbn1cclxudGFic2V0LnRhYi1jb250ZW50LWRldGFpbC50YWItY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXAge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gIHBhZGRpbmc6IDEwcHhcclxufVxyXG4uY3VzdG9tLXR0c3AgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLWJvdHRvbTowO1xyXG59XHJcbi5jdXN0b20tdHRzcCAuZm9ybS1ncm91cCAuY29sLWZvcm0tbGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuLmN1c3RvbS10dHNwIC5mb3JtLWdyb3VwIGlucHV0e1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICBoZWlnaHQ6IDI3cHg7XHJcbn1cclxuLmJvZHktZm9ybS1hZGQtbmV3ID4gZGl2IHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbi5maXhlZF9oZWFkZXJ7XHJcbiAgd2lkdGg6MTAwJTtcclxufVxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGhlYWQge1xyXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XHJcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGhlYWQgdHIge1xyXG5cclxufVxyXG4uZml4ZWRfaGVhZGVyIHRoIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG4uZml4ZWRfaGVhZGVyIHRib2R5IHRyIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VlZTtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHIgdGQge1xyXG4gIHdpZHRoOiAyNSU7XHJcbiAgbGluZS1oZWlnaHQ6MS41O1xyXG59XHJcbi5maXhlZF9oZWFkZXIgdGJvZHl7XHJcbiAgd2lkdGg6NjY3cHg7XHJcbn1cclxuLmZpeGVkX2hlYWRlciAuc3F1YXJlZGNoZWNrIGxhYmVsIHtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gIGJhY2tncm91bmQ6ICNGRkY7XHJcbn1cclxuXHJcbi5maXhlZF9oZWFkZXIgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kOiAjZWFmNGZmO1xyXG59XHJcbi5maXhlZF9oZWFkZXIgaW1ne1xyXG4gIGJvcmRlcjoxcHggc29saWQgI2VlZTtcclxufVxyXG5zcGFuLnByaWNlLXByaSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgY29sb3I6ICNiNWIzYjM7XHJcbn1cclxuc3Bhbi5wcmljZS1uZXcge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICBmb250LXdlaWdodDogNDAwOyBcclxufVxyXG4ucGFnZS1saW5rIHtcclxuICBsaW5lLWhlaWdodDogMS4wO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Paging, QueryFilter } from '../../data/dt';\nimport { ProductReviewStatus } from '../../data/const';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\n\n\n\n@Component({\n\tselector: 'app-review-product',\n\ttemplateUrl: './review-product.component.html',\n\tstyleUrls: ['./review-product.component.scss']\n})\nexport class ReviewProductComponent implements OnInit {\n\tpublic paging: Paging;\n\tpublic q: QueryFilter;\n\n\tpublic listProductReviews = [];\n\tpublic ProductReviewStatus = ProductReviewStatus;\n\n\tpublic httpOptions: any;\n\tpublic total: any;\n\n\tconstructor(public http: HttpClient, public toastr: ToastrService) {\n\t\tthis.paging = new Paging();\n\t\tthis.paging.page = 1;\n\t\tthis.paging.page_size = 10;\n\t\tthis.paging.query = \"1=1\";\n\t\tthis.paging.order_by = \"\";\n\t\tthis.paging.item_count = 0;\n\n\t\tthis.q = new QueryFilter();\n\t\tthis.q.txtSearch = \"\";\n\n\t\tthis.httpOptions = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t})\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.GetListProductReviews();\n\t}\n\n\tGetListProductReviews() {\n\t\tthis.http.get('/api/product/ProductReview/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listProductReviews = res[\"data\"];\n\t\t\t\t\tthis.paging.item_count = res[\"metadata\"].Sum;\n\t\t\t\t\tthis.total = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\tSortTable(str) {\n\t\tlet First = \"\";\n\t\tlet Last = \"\";\n\t\tif (this.paging.order_by != \"\") {\n\t\t\tFirst = this.paging.order_by.split(\" \")[0];\n\t\t\tLast = this.paging.order_by.split(\" \")[1];\n\t\t}\n\n\t\tif (First != str) {\n\t\t\tthis.paging.order_by = str + \" Desc\";\n\t\t}\n\t\telse {\n\t\t\tLast = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n\t\t\tthis.paging.order_by = str + \" \" + Last;\n\t\t}\n\n\t\tthis.GetListProductReviews();\n\t}\n\n\tGetClassSortTable(str) {\n\t\tif (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n\t\t\treturn \"sorting\";\n\t\t}\n\t\telse {\n\t\t\tif (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n\t\t\telse return \"sorting_asc\";\n\t\t}\n\t}\n\n\tChangeStatusProductReview(ProductReviewId, Status) {\n\t\tthis.http.put('/api/Product/ChangeStatusProductReview/' + ProductReviewId + \"/\" + Status, undefined, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.toastSuccess(\"Thay đổi trạng thái thành công!\");\n\t\t\t\t\tthis.GetListProductReviews();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\tthis.GetListProductReviews();\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\tthis.GetListProductReviews();\n\t\t\t}\n\t\t);\n\t}\n\n\t//Chuyển trang\n\tPageChanged(event) {\n\t\tthis.paging.page = event.page;\n\t\tthis.GetListProductReviews();\n\t}\n\n\t//Toast cảnh báo\n\ttoastWarning(msg): void {\n\t\tthis.toastr.warning(msg, 'Cảnh báo');\n\t}\n\n\t//Toast thành công\n\ttoastSuccess(msg): void {\n\t\tthis.toastr.success(msg, 'Hoàn thành');\n\t}\n\n\t//Toast thành công\n\ttoastError(msg): void {\n\t\tthis.toastr.error(msg, 'Lỗi');\n\t}\n\n\tQueryChanged() {\n\t\tlet query = '';\n\n\t\tif (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and (Name.Contains(\"' + this.q.txtSearch + '\") OR Email.Contains(\"' + this.q.txtSearch + '\") OR ProductName.Contains(\"' + this.q.txtSearch + '\"))';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += '(Name.Contains(\"' + this.q.txtSearch + '\") OR Email.Contains(\"' + this.q.txtSearch + '\") OR ProductName.Contains(\"' + this.q.txtSearch + '\"))';\n\t\t\t}\n\t\t}\n\n\t\tif (this.q[\"Type\"] != undefined) {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and Status=' + this.q[\"Type\"];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'Status=' + this.q[\"Type\"];\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.paging.query = '1=1';\n\t\telse\n\t\t\tthis.paging.query = query;\n\n\t\tthis.GetListProductReviews();\n\t}\n}\n","module.exports = \"
            \\r\\n
            \\r\\n
            \\r\\n Danh sách dịch vụ\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            STTẢnh\\r\\n Tiêu đề\\r\\n \\r\\n Thứ tự hiển thị\\r\\n Thao tác
            {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n \\r\\n \\r\\n {{ item.Title }}{{ item.Location }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n Hiển thị {{ (paging.page - 1) * paging.page_size + 1 }} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }}  {{ paging.item_count }} bản ghi\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            Thêm mới dịch vụ

            \\r\\n

            Sửa thông tin dịch vụ

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n = 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newDescription.value.length}}/300\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaTitle.value.length}}/200\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaKeyword.value.length}}/200\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n \\r\\n {{newMetaDescription.value.length}}/300\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3NlcnZpY2Uvc2VydmljZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { typeCategoryNews, domainImage } from '../../data/const';\nimport { News } from '../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { DatePipe } from '@angular/common';\nimport { CommonService } from '../../service/common.service';\nimport { Paging, QueryFilter } from '../../data/dt';\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\nimport { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';\n\n\nexport const MY_CUSTOM_FORMATS = {\n\tparseInput: 'DD/MM/YYYY HH:mm',\n\tfullPickerInput: 'DD/MM/YYYY HH:mm',\n\tdatePickerInput: 'DD/MM/YYYY',\n\ttimePickerInput: ' HH:mm',\n\tmonthYearLabel: 'MMM YYYY',\n\tdateA11yLabel: 'LL',\n\tmonthYearA11yLabel: 'MMMM YYYY'\n};\n\n@Component({\n\tselector: 'app-service',\n\ttemplateUrl: './service.component.html',\n\tstyleUrls: ['./service.component.scss'],\n\tproviders: [\n\t\t{ provide: DateTimeAdapter, useClass: MomentDateTimeAdapter, deps: [OWL_DATE_TIME_LOCALE] },\n\t\t{ provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS }\n\t]\n})\nexport class ServiceComponent implements OnInit {\n\t@ViewChild('NewsModal') public NewsModal: ModalDirective;\n\t@ViewChild('file') file: ElementRef;\n\n\tpublic paging: Paging;\n\tpublic q: QueryFilter;\n\tpublic listNews = [];\n\n\tpublic Item: News;\n\n\tpublic progress: number;\n\tpublic message: string;\n\tpublic domainImage = domainImage;\n\n\tpublic httpOptions: any;\n\tconstructor(\n\t\tpublic http: HttpClient,\n\t\tpublic modalDialogService: ModalDialogService,\n\t\tpublic viewRef: ViewContainerRef,\n\t\tpublic toastr: ToastrService,\n\t\tpublic datePipe: DatePipe,\n\t\tpublic common: CommonService\n\t) {\n\t\tthis.Item = new News();\n\t\tthis.paging = new Paging();\n\t\tthis.paging.page = 1;\n\t\tthis.paging.page_size = 10;\n\t\tthis.paging.query = \"IsService == true\";\n\t\tthis.paging.order_by = \"NewsId Desc\";\n\t\tthis.paging.item_count = 0;\n\n\t\tthis.q = new QueryFilter();\n\t\tthis.q.txtSearch = \"\";\n\n\t\tthis.httpOptions = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t})\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.GetListNews();\n\t}\n\n\t//Get danh sách danh bài viết\n\tGetListNews() {\n\t\tthis.http.get('/api/news/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.listNews = res[\"data\"];\n\t\t\t\t\tthis.listNews.forEach(item => {\n\t\t\t\t\t\titem.IsShow = item.Status == 1 ? true : false;\n\t\t\t\t\t});\n\t\t\t\t\tthis.paging.item_count = res[\"metadata\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tconsole.log(\"Error: connect to API\");\n\t\t\t}\n\t\t);\n\t}\n\n\t//Chuyển trang\n\tPageChanged(event) {\n\t\tthis.paging.page = event.page;\n\t\tthis.GetListNews();\n\t}\n\n\t//Thông báo\n\ttoastWarning(msg): void {\n\t\tthis.toastr.warning(msg, 'Cảnh báo');\n\t}\n\n\ttoastSuccess(msg): void {\n\t\tthis.toastr.success(msg, 'Hoàn thành');\n\t}\n\n\ttoastError(msg): void {\n\t\tthis.toastr.error(msg, 'Lỗi');\n\t}\n\t//\n\tQueryChanged() {\n\t\tlet query = 'IsService == true';\n\t\tif (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n\t\t\tif (query != '') {\n\t\t\t\tquery += ' and Title.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tquery += 'Title.Contains(\"' + this.q.txtSearch + '\")';\n\t\t\t}\n\t\t}\n\n\t\tif (query == '')\n\t\t\tthis.paging.query = '1=1';\n\t\telse\n\t\t\tthis.paging.query = query;\n\n\t\tthis.GetListNews();\n\t}\n\n\t//Mở modal thêm mới\n\tOpenNewsModal(item) {\n\t\tthis.Item = new News();\n\t\tthis.file.nativeElement.value = \"\";\n\t\tthis.message = undefined;\n\t\tthis.progress = undefined;\n\t\tif (item != undefined) {\n\t\t\tthis.Item = JSON.parse(JSON.stringify(item));\n\t\t}\n\t\tthis.NewsModal.show();\n\t}\n\t//Thêm mới danh mục trang\n\tSaveNews() {\n\t\tif (this.Item.Title == undefined || this.Item.Title == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Tiêu đề!\");\n return;\n } else if (this.Item.Title.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập tiêu đề!\");\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Đường dẫn!\");\n\t\t\treturn;\n\t\t}else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập đường dẫn!\");\r\n return;\r\n }\n\t\telse if (this.Item.Contents == undefined || this.Item.Contents == '') {\n\t\t\tthis.toastWarning(\"Chưa nhập Nội dung!\");\n return;\n } else if (this.Item.Contents.replace(/ /g, '') == '') {\r\n this.toastWarning(\"Chưa nhập nội dung!\");\r\n return;\r\n }\n\n\t\tthis.Item.Status = 1;\n\t\tthis.Item.CompanyId = parseInt(localStorage.getItem(\"companyId\"));\n\t\tthis.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\n\n\t\tif (this.Item.NewsId == undefined) {\n\t\t\tthis.http.post('/api/news', this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListNews();\n\t\t\t\t\t\tthis.NewsModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Thêm mới thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tthis.http.put('/api/news/' + this.Item.NewsId, this.Item, this.httpOptions).subscribe(\n\t\t\t\t(res) => {\n\t\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\t\tthis.GetListNews();\n\t\t\t\t\t\tthis.NewsModal.hide();\n\t\t\t\t\t\tthis.toastSuccess(\"Cập nhật thành công!\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tChangeTitle(key) {\n\t\tswitch (key) {\n\t\t\tcase 1:\n\t\t\t\tthis.Item.MetaTitle = this.Item.Title;\n\t\t\t\tthis.Item.MetaKeyword = this.Item.Title;\n\t\t\t\tthis.Item.Url = this.common.ConvertUrl(this.Item.Title);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.Item.MetaDescription = this.Item.Description;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t//Popup xác nhận xóa\n\tShowConfirmDelete(Id) {\n\t\tthis.modalDialogService.openDialog(this.viewRef, {\n\t\t\ttitle: 'Xác nhận',\n\t\t\tchildComponent: SimpleModalComponent,\n\t\t\tdata: {\n\t\t\t\ttext: \"Bạn có chắc chắn muốn xóa bản ghi này?\"\n\t\t\t},\n\t\t\tactionButtons: [\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đồng ý',\n\t\t\t\t\tbuttonClass: 'btn btn-success',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.DeleteNews(Id);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: 'Đóng',\n\t\t\t\t\tbuttonClass: 'btn btn-default',\n\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n\n\tDeleteNews(Id) {\n\t\tthis.http.delete('/api/news/' + Id, this.httpOptions).subscribe(\n\t\t\t(res) => {\n\t\t\t\tif (res[\"meta\"][\"error_code\"] == 200) {\n\t\t\t\t\tthis.GetListNews();\n\t\t\t\t\tthis.viewRef.clear();\n\t\t\t\t\tthis.toastSuccess(\"Xóa thành công!\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t\t}\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tthis.toastError(\"Đã xảy ra lỗi. Xin vui lòng thử lại sau!\");\n\t\t\t}\n\t\t);\n\t}\n\n\tupload(files) {\n\t\tif (files.length === 0)\n\t\t\treturn;\n\n\t\tconst formData = new FormData();\n\n\t\tfor (let file of files)\n\t\t\tformData.append(file.name, file);\n\n\t\tconst uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/1', formData, {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n\t\t\t}),\n\t\t\treportProgress: true,\n\t\t});\n\n\t\tthis.http.request(uploadReq).subscribe(event => {\n\t\t\tif (event.type === HttpEventType.UploadProgress)\n\t\t\t\tthis.progress = Math.round(100 * event.loaded / event.total);\n\t\t\telse if (event.type === HttpEventType.Response) {\n\t\t\t\tthis.message = event.body[\"data\"].toString();\n\t\t\t\tthis.Item.Image = this.message;\n\t\t\t}\n\t\t});\n\t}\n\n\tRemoveImage() {\n\t\tthis.Item.Image = undefined;\n\t\tthis.file.nativeElement.value = \"\";\n\t\tthis.message = undefined;\n\t\tthis.progress = undefined;\n\t}\n\n\tSortTable(str) {\n\t\tlet First = \"\";\n\t\tlet Last = \"\";\n\t\tif (this.paging.order_by != \"\") {\n\t\t\tFirst = this.paging.order_by.split(\" \")[0];\n\t\t\tLast = this.paging.order_by.split(\" \")[1];\n\t\t}\n\n\t\tif (First != str) {\n\t\t\tthis.paging.order_by = str + \" Desc\";\n\t\t}\n\t\telse {\n\t\t\tLast = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n\t\t\tthis.paging.order_by = str + \" \" + Last;\n\t\t}\n\n\t\tthis.GetListNews();\n\t}\n\n\tGetClassSortTable(str) {\n\t\tif (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n\t\t\treturn \"sorting\";\n\t\t}\n\t\telse {\n\t\t\tif (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n\t\t\telse return \"sorting_asc\";\n\t\t}\n\t}\n\n}\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'SIDE.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'SIDE.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'SIDE.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n\\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'SIDE.CHECKBOX.CUSTOMER' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'SIDE.CHECKBOX.XETRON' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'SIDE.CHECKBOX.MACBETONG' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'SIDE.CHECKBOX.HANGMUC' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'SIDE.CHECKBOX.NHANVIEN' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'SIDE.DISPLAY' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n {{ item | translate }}\\r\\n
            \\r\\n {{ ConvertAnyToString(item2) }}\\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'SIDE.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'SIDE.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'SIDE.INTODISPLAY' | translate}} {{ paging.item_count }} {{'SIDE.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'SIDE.THONGKETONG' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n {{'SIDE.TABLEHEAD.VATLIEU' | translate}}\\r\\n \\r\\n {{'SIDE.TABLEHEAD.CAT' | translate}}\\r\\n \\r\\n {{'SIDE.TABLEHEAD.DA' | translate}}\\r\\n \\r\\n {{'SIDE.TABLEHEAD.XIMANG' | translate}}\\r\\n \\r\\n {{'SIDE.TABLEHEAD.NUOC' | translate}}\\r\\n \\r\\n {{'SIDE.TABLEHEAD.PHUGIA' | translate}}\\r\\n
            \\r\\n {{ item.VATLIEU }}\\r\\n {{ item.CAT}}{{ item.DA}}{{ item.XIMANG}}{{ item.NUOC}}{{ item.PHUGIA}}
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'SIDE.TOTAL' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n

            {{tongKg }}

            \\r\\n

            {{tongm3 }}

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3NsaWRlL3NsaWRlLmNvbXBvbmVudC5zY3NzIn0= */\"","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport {\r\n HttpClient,\r\n HttpHeaders,\r\n HttpRequest,\r\n HttpEventType,\r\n} from \"@angular/common/http\";\r\nimport { ModalDialogService, SimpleModalComponent } from \"ngx-modal-dialog\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { domainImage } from \"../../data/const\";\r\nimport { Slide } from \"../../data/model\";\r\nimport { Paging, QueryFilter, tablesilde } from \"../../data/dt\";\r\nimport { forEach } from \"@angular/router/src/utils/collection\";\r\nimport { debug } from \"util\";\r\nimport { CommonService } from \"../../service/common.service\";\r\nimport languages from \"../../../assets/i18n/languages.json\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-slide\",\r\n templateUrl: \"./slide.component.html\",\r\n styleUrls: [\"./slide.component.scss\"],\r\n styles: [\r\n \".th-custom { position: sticky !important; top: -1px !important; z-index: 99 !important; color: white !important; background: #3c8dbc !important; }\",\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SlideComponent implements OnInit {\r\n @ViewChild(\"SlideModal\") public SlideModal: ModalDirective;\r\n @ViewChild(\"file\") file: ElementRef;\r\n\r\n public paging: any;\r\n public q: any;\r\n public listSlide = [];\r\n public listSlideTong = [];\r\n public columHeader = [];\r\n public columHeader2 = [];\r\n public listTenMacBeTong = [];\r\n public listKH = [];\r\n public listBienSo = [];\r\n public listCompany = [];\r\n public listBranchSearch = [];\r\n public ListVatLieu = [];\r\n public ListNV = [];\r\n public ckeConfig: any;\r\n public tablesilde = [];\r\n\r\n public role: number;\r\n companyId: number;\r\n BranchId: string;\r\n tongKg: string;\r\n tongm3: string;\r\n querytable: string;\r\n UserId: number;\r\n public companyselect: number;\r\n public companyselectsearch: number;\r\n\r\n date: any;\r\n getDate: any;\r\n getMonth: any;\r\n getFullYear: any;\r\n getHour: any;\r\n getMinute: any;\r\n\r\n public progress: number;\r\n public message: string;\r\n public domainImage = domainImage;\r\n public httpOptions: any;\r\n public lstLanguage: Array = languages;\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public commonService: CommonService,\r\n public translate: TranslateService\r\n ) {\r\n const currentDate = new Date();\r\n this.date = currentDate.toLocaleTimeString(\"en-US\", {\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n });\r\n this.getDate = (\"0\" + new Date().getDate()).slice(-2);\r\n this.getMonth = (\"0\" + (new Date().getMonth() + 1)).slice(-2);\r\n this.getFullYear = new Date().getFullYear();\r\n this.getMinute = (\"0\" + new Date().getMinutes()).slice(-2);\r\n this.getHour = (\"0\" + new Date().getHours()).slice(-2);\r\n\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: \"(1=1)\",\r\n order_by: \"NGAYDATHANG Desc\",\r\n item_count: 0,\r\n };\r\n\r\n this.q = {\r\n txtSearch: \"\",\r\n };\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n Authorization: \"bearer \" + localStorage.getItem(\"access_token\"),\r\n }),\r\n };\r\n translate.addLangs(this.lstLanguage);\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: \"divarea\",\r\n forcePasteAsPlainText: true,\r\n };\r\n let today = new Date().toISOString().substr(0, 10);\r\n this.q.tungay =\r\n this.getFullYear + \"-\" + this.getMonth + \"-\" + this.getDate + \"T00:00\";\r\n /*this.q.tungay = today;*/\r\n /*this.q.denngay = today;*/\r\n this.q.denngay =\r\n this.getFullYear +\r\n \"-\" +\r\n this.getMonth +\r\n \"-\" +\r\n this.getDate +\r\n \"T\" +\r\n this.getHour +\r\n \":\" +\r\n this.getMinute;\r\n this.paging.query = \"(1=1)\";\r\n if (\r\n this.q.tungay != undefined &&\r\n this.q.tungay != undefined &&\r\n this.q.denngay != \"\" &&\r\n this.q.denngay != \"\"\r\n ) {\r\n this.paging.query +=\r\n \"AND ( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n\r\n //\r\n var json = JSON.parse(localStorage.getItem(\"roles\"));\r\n this.companyId = parseInt(localStorage.getItem(\"companyId\"));\r\n this.UserId = parseInt(localStorage.getItem(\"userId\"));\r\n this.BranchId = localStorage.getItem(\"BranchId\");\r\n if (json.length > 0) {\r\n for (var i = 0; i < json.length; i++) {\r\n this.role = json[i].RoleId;\r\n }\r\n }\r\n\r\n this.q.status = \"1\";\r\n this.q.ckbKhachHang = true;\r\n this.q.ckbXeTron = true;\r\n this.q.ckbMacBeTong = true;\r\n this.q.ckbHangMuc = true;\r\n this.q.ckbNhanVien = true;\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n } else {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n this.paging.Branchid = \"\";\r\n if (this.role == 3) {\r\n this.GetListBranchSearchStart();\r\n }\r\n if (this.role == 4) {\r\n this.GetListBranchCTCon();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (this.role == 1) {\r\n this.GetListCompany();\r\n }\r\n if (this.role != 1) {\r\n this.GetListBranchSearchStart();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (localStorage.getItem(\"getlinkd\") == \"1\") {\r\n if (localStorage.getItem(\"thoigiand\") == \"1\") {\r\n let today = new Date().toISOString().substr(0, 10);\r\n this.q.tungay = today;\r\n this.q.denngay = today;\r\n this.paging.query =\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n if (localStorage.getItem(\"thoigiand\") == \"2\") {\r\n let today = new Date();\r\n this.q.tungay = new Date(\r\n today.setDate(today.getDate() - today.getDay() + 1)\r\n )\r\n .toISOString()\r\n .substr(0, 10);\r\n this.q.denngay = new Date(\r\n today.setDate(today.getDate() - today.getDay() + 7)\r\n )\r\n .toISOString()\r\n .substr(0, 10);\r\n this.paging.query =\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n if (localStorage.getItem(\"thoigiand\") == \"3\") {\r\n let today = new Date();\r\n this.q.tungay = new Date(\r\n today.setDate(today.getDate() - today.getDay() + 1 - 7)\r\n )\r\n .toISOString()\r\n .substr(0, 10);\r\n let today1 = new Date();\r\n this.q.denngay = new Date(\r\n today1.setDate(today1.getDate() - today1.getDay())\r\n )\r\n .toISOString()\r\n .substr(0, 10);\r\n this.paging.query =\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n if (localStorage.getItem(\"thoigiand\") == \"4\") {\r\n var today2 = new Date();\r\n var lastDayOfMonth = new Date(\r\n today2.getFullYear(),\r\n today2.getMonth(),\r\n 2\r\n );\r\n this.q.tungay = lastDayOfMonth.toISOString().substr(0, 10);\r\n\r\n var today3 = new Date();\r\n var lastDayOfMonth1 = new Date(\r\n today3.getFullYear(),\r\n today3.getMonth() + 1,\r\n 1\r\n );\r\n this.q.denngay = lastDayOfMonth1.toISOString().substr(0, 10);\r\n this.paging.query =\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n }\r\n //this.GetListSlide();\r\n this.GetlistKH();\r\n this.GetlistBienSo();\r\n this.GetlistTenMacBeTong();\r\n this.GetlistTenMacBeTong();\r\n this.GetlistNV();\r\n }\r\n TaoTable() {\r\n this.tablesilde = [];\r\n\r\n this.GetListVatLieu();\r\n }\r\n // Get danh sách slide\r\n GetListSlide() {\r\n this.listSlide = [];\r\n this.querytable = \"\";\r\n this.TaoTable();\r\n if (this.paging.CompanyId == undefined) {\r\n this.paging.CompanyId = 0;\r\n }\r\n this.http\r\n .get(\r\n \"/api/slide/GetByPage?page=\" +\r\n this.paging.page +\r\n \"&page_size=\" +\r\n this.paging.page_size +\r\n \"&order_by=\" +\r\n this.paging.order_by +\r\n \"&tungay=\" +\r\n this.q.tungay +\r\n \"&denngay=\" +\r\n this.q.denngay +\r\n \"&TENKHACHHANG=\" +\r\n encodeURIComponent(this.q.TENKHACHHANG) +\r\n \"&BIENSO=\" +\r\n this.q.BIENSO +\r\n \"&TENMACBETONG=\" +\r\n this.q.TENMACBETONG +\r\n \"&TENNV=\" +\r\n this.q.TENNV +\r\n \"&companyid=\" +\r\n this.paging.CompanyId +\r\n \"&Branchlist=\" +\r\n this.paging.Branchid +\r\n \"&query=\" +\r\n this.paging.query +\r\n \"&status=\" +\r\n this.q.status +\r\n \"&ckbKhachHang=\" +\r\n this.q.ckbKhachHang +\r\n \"&ckbXeTron=\" +\r\n this.q.ckbXeTron +\r\n \"&ckbMacBeTong=\" +\r\n this.q.ckbMacBeTong +\r\n \"&ckbHangMuc=\" +\r\n this.q.ckbHangMuc,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listSlide = res[\"data\"];\r\n this.listSlideTong = res[\"data1\"];\r\n this.columHeader = res[\"columnheader\"];\r\n\r\n console.log(res[\"data\"]);\r\n console.log(this.listSlide[0]);\r\n let item = this.listSlide[0];\r\n console.log(item[14]);\r\n\r\n // TRANSLATE STT\r\n var STT = this.columHeader.indexOf(\"STT\");\r\n if (~STT) {\r\n this.columHeader[STT] = \"SIDE.TABLE.HEADREPATE.STT\";\r\n }\r\n\r\n // TRANSLATE NGÀY\r\n var DAY = this.columHeader.indexOf(\"NGÀY\");\r\n if (~DAY) {\r\n this.columHeader[DAY] = \"SIDE.TABLE.HEADREPATE.DAY\";\r\n }\r\n\r\n // TRANSLATE BẮT ĐẦU\r\n var BEGIN = this.columHeader.indexOf(\"BẮT ĐẦU\");\r\n if (~BEGIN) {\r\n this.columHeader[BEGIN] = \"SIDE.TABLE.HEADREPATE.BEGIN\";\r\n }\r\n\r\n // TRANSLATE KẾT THÚC\r\n var END = this.columHeader.indexOf(\"KẾT THÚC\");\r\n if (~END) {\r\n this.columHeader[END] = \"SIDE.TABLE.HEADREPATE.END\";\r\n }\r\n\r\n // TRANSLATE TÊN KHÁCH HÀNG\r\n var CUSTOMERNAME = this.columHeader.indexOf(\"TÊN KHÁCH HÀNG\");\r\n if (~CUSTOMERNAME) {\r\n this.columHeader[CUSTOMERNAME] =\r\n \"SIDE.TABLE.HEADREPATE.CUSTOMERNAME\";\r\n }\r\n\r\n // TRANSLATE TÊN DỰ ÁN\r\n var NAMEPROJECT = this.columHeader.indexOf(\"TÊN DỰ ÁN\");\r\n if (~NAMEPROJECT) {\r\n this.columHeader[NAMEPROJECT] =\r\n \"SIDE.TABLE.HEADREPATE.NAMEPROJECT\";\r\n }\r\n\r\n // TRANSLATE TÊN HẠNG MỤC\r\n var NAMECATEGORY = this.columHeader.indexOf(\"TÊN HẠNG MỤC\");\r\n if (~NAMECATEGORY) {\r\n this.columHeader[NAMECATEGORY] =\r\n \"SIDE.TABLE.HEADREPATE.NAMECATEGORY\";\r\n }\r\n\r\n // TRANSLATE TÊN ĐỊA ĐIỂM\r\n var NAMELOCATION = this.columHeader.indexOf(\"TÊN ĐỊA ĐIỂM\");\r\n if (~NAMELOCATION) {\r\n this.columHeader[NAMELOCATION] =\r\n \"SIDE.TABLE.HEADREPATE.NAMELOCATION\";\r\n }\r\n\r\n // TRANSLATE XE\r\n var CAR = this.columHeader.indexOf(\"XE\");\r\n if (~CAR) {\r\n this.columHeader[CAR] = \"SIDE.TABLE.HEADREPATE.CAR\";\r\n }\r\n\r\n // TRANSLATE MÁC BÊ TÔNG\r\n var CONCRETEGRADE = this.columHeader.indexOf(\"MÁC BÊ TÔNG\");\r\n if (~CONCRETEGRADE) {\r\n this.columHeader[CONCRETEGRADE] =\r\n \"SIDE.TABLE.HEADREPATE.CONCRETEGRADE\";\r\n }\r\n\r\n // TRANSLATE NV KINH DOANH\r\n var STAFF = this.columHeader.indexOf(\"NV KINH DOANH\");\r\n if (~STAFF) {\r\n this.columHeader[STAFF] = \"SIDE.TABLE.HEADREPATE.STAFF\";\r\n }\r\n // TRANSLATE TÊN NHÂN VIÊN\r\n var EMPLOY = this.columHeader.indexOf(\"TÊN NHÂN VIÊN\");\r\n if (~EMPLOY) {\r\n this.columHeader[EMPLOY] = \"SIDE.TABLE.HEADREPATE.EMPLOY\";\r\n }\r\n // TRANSLATE NV KINH DOANH\r\n var SETVOLUME = this.columHeader.indexOf(\"THỂ TÍCH ĐẶT\");\r\n if (~SETVOLUME) {\r\n this.columHeader[SETVOLUME] = \"SIDE.TABLE.HEADREPATE.SETVOLUME\";\r\n }\r\n\r\n var VOLUME = this.columHeader.indexOf(\"THỂ TÍCH TRỘN\");\r\n if (~VOLUME) {\r\n this.columHeader[VOLUME] = \"SIDE.TABLE.HEADREPATE.VOLUME\";\r\n }\r\n\r\n var CARDRIVERNAME = this.columHeader.indexOf(\"TÊN LÁI XE\");\r\n if (~CARDRIVERNAME) {\r\n this.columHeader[CARDRIVERNAME] =\r\n \"SIDE.TABLE.HEADREPATE.CARDRIVERNAME\";\r\n }\r\n\r\n var DOSUT = this.columHeader.indexOf(\"ĐỘ SỤT\");\r\n if (~DOSUT) {\r\n this.columHeader[DOSUT] = \"SIDE.TABLE.HEADREPATE.DOSUT\";\r\n }\r\n\r\n this.tongKg = res[\"tongKg\"];\r\n this.tongm3 = res[\"tongm3\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n this.querytable = \"\";\r\n var curentLanguage = this.translate.currentLang;\r\n //if (this.listSlide.length > 0) {\r\n // this.querytable += '';\r\n // this.querytable += '';\r\n // if (this.translate.currentLang == \"en\") {\r\n // for (let child of this.columHeader2) {\r\n // //this.querytable += ''\r\n // }\r\n // } else {\r\n // for (let child of this.columHeader) {\r\n // //this.querytable += ''\r\n // }\r\n // }\r\n console.log(this.q.status);\r\n if (this.q.status == \"2\") {\r\n // this.querytable += '';\r\n for (var i = 0; i < this.listSlide.length; i++) {\r\n let item = this.listSlide[i];\r\n this.querytable += '';\r\n for (var j = 0; j < item.length; j++) {\r\n this.querytable += \"\";\r\n }\r\n this.querytable += \"\";\r\n }\r\n // this.querytable += '
            '\r\n // this.querytable += ''\r\n // this.querytable += child\r\n // this.querytable += ''\r\n // this.querytable += ''\r\n // this.querytable += child\r\n // this.querytable += '
            \";\r\n if (j == 14) {\r\n item[j] = (Math.round(item[j] * 100) / 100).toFixed(3);\r\n } else if (j > 14 || j > 15) {\r\n //this.querytable += (Math.round(item[j] * 100) / 100).toFixed(2);\r\n item[j] = Math.round(item[j] * 100) / 100;\r\n } else {\r\n item[j] = item[j];\r\n }\r\n\r\n this.querytable += \"
            '\r\n //}\r\n } else {\r\n this.querytable = \"\";\r\n }\r\n }\r\n\r\n if (this.q.status == \"1\") {\r\n // this.querytable += '';\r\n for (var i = 0; i < this.listSlide.length; i++) {\r\n let item = this.listSlide[i];\r\n this.querytable += '';\r\n for (var j = 0; j < item.length; j++) {\r\n this.querytable += \"\";\r\n if (j == 14) {\r\n item[j] = (Math.round(item[j] * 100) / 100).toFixed(3);\r\n } else if (j > 13) {\r\n //this.querytable += (Math.round(item[j] * 100) / 100).toFixed(2);\r\n item[j] = Math.round(item[j] * 100) / 100;\r\n } else {\r\n item[j] = item[j];\r\n }\r\n\r\n this.querytable += \"\";\r\n }\r\n this.querytable += \"\";\r\n }\r\n // this.querytable += ''\r\n //}\r\n } else {\r\n this.querytable = \"\";\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n // Set mặc định chọn ngày từ 12:00 AM\r\n setDefaut() {\r\n this.q.tungay =\r\n this.getFullYear + \"-\" + this.getMonth + \"-\" + this.getDate + \"T00:00\";\r\n }\r\n ExportExcel() {\r\n if (this.q.Branchlist == undefined || this.q.Branchlist == \"\") {\r\n this.toastr.warning(\r\n this.translate.instant(\"TOAST.SLIDE.TOAST_1\"),\r\n this.translate.instant(\"TOAST.WARNING\")\r\n );\r\n return;\r\n }\r\n if (this.paging.CompanyId == undefined) {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n let query = \"\";\r\n if (\r\n this.q.tungay != undefined &&\r\n this.q.tungay != undefined &&\r\n this.q.denngay != \"\" &&\r\n this.q.denngay != \"\"\r\n ) {\r\n if (query != \"\") {\r\n query +=\r\n \" AND ( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n } else {\r\n query +=\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n }\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n } else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n } else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n if (query == \"\") this.paging.query = \"(1=1)\";\r\n else this.paging.query = query;\r\n\r\n let check = true;\r\n let tenchinhanh = this.listBranchSearch.find(\r\n (x) => x.BranchId == this.paging.Branchid\r\n );\r\n // debugger;\r\n fetch(\r\n \"/api/slide/GetReport?page=\" +\r\n this.paging.page +\r\n \"&page_size=\" +\r\n this.paging.page_size +\r\n \"&order_by=\" +\r\n this.paging.order_by +\r\n \"&tungay=\" +\r\n this.q.tungay +\r\n \"&denngay=\" +\r\n this.q.denngay +\r\n \"&TENKHACHHANG=\" +\r\n encodeURIComponent(this.q.TENKHACHHANG) +\r\n \"&BIENSO=\" +\r\n this.q.BIENSO +\r\n \"&TENMACBETONG=\" +\r\n this.q.TENMACBETONG +\r\n \"&TENNV=\" +\r\n this.q.TENNV +\r\n \"&companyid=\" +\r\n this.paging.CompanyId +\r\n \"&Branchlist=\" +\r\n this.paging.Branchid +\r\n \"&query=\" +\r\n this.paging.query +\r\n \"&status=\" +\r\n this.q.status +\r\n \"&ckbKhachHang=\" +\r\n this.q.ckbKhachHang +\r\n \"&ckbXeTron=\" +\r\n this.q.ckbXeTron +\r\n \"&ckbMacBeTong=\" +\r\n this.q.ckbMacBeTong,\r\n {\r\n method: \"GET\",\r\n headers: new Headers({\r\n Authorization: \"bearer \" + localStorage.getItem(\"access_token\"),\r\n }),\r\n }\r\n )\r\n .then(function (response) {\r\n if (response.status == 404) {\r\n check = false;\r\n }\r\n var blob = response.blob();\r\n return blob;\r\n })\r\n .then((blob) => {\r\n if (check == false) {\r\n this.toastError(\"Không có dữ liệu\");\r\n return;\r\n }\r\n var DateObj = new Date();\r\n var date =\r\n (\"0\" + DateObj.getDate()).slice(-2) +\r\n \"_\" +\r\n (\"0\" + (DateObj.getMonth() + 1)).slice(-2) +\r\n \"_\" +\r\n DateObj.getFullYear();\r\n this.DownloadFile(\r\n blob,\r\n this.commonService.ConvertUrl(tenchinhanh.Name) +\r\n \"_thong_ke_dn_hang_ngay_\" +\r\n date +\r\n \".xlsx\",\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n );\r\n // this.DownloadFile(blob, \"_thong_ke_dn_hang\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n });\r\n }\r\n DownloadFile(data: Blob, filename: string, mime: string): void {\r\n var blob = new Blob([data], { type: mime || \"application/octet-stream\" });\r\n if (typeof window.navigator.msSaveBlob !== \"undefined\") {\r\n // IE workaround for \"HTML7007: One or more blob URLs were\r\n // revoked by closing the blob for which they were created.\r\n // These URLs will no longer resolve as the data backing\r\n // the URL has been freed.\"\r\n window.navigator.msSaveBlob(blob, filename);\r\n } else {\r\n var blobURL = window.URL.createObjectURL(blob);\r\n var tempLink = document.createElement(\"a\");\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute(\"download\", filename);\r\n tempLink.setAttribute(\"target\", \"_blank\");\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n document.body.removeChild(tempLink);\r\n }\r\n }\r\n // Get danh sách khách hàng\r\n GetlistKH() {\r\n this.GetParam();\r\n console.log(this.companyId);\r\n this.http\r\n .get(\r\n \"/api/slide/GetKH?companyid=\" + this.paging.CompanyId,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listKH = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n // Get danh sách nhân viên kinh doanh\r\n GetlistNV() {\r\n this.GetParam();\r\n this.http\r\n .get(\r\n \"/api/slide/GetNV?companyid=\" + this.paging.CompanyId,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ListNV = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n //Get danh sách biển số\r\n GetlistBienSo() {\r\n this.GetParam();\r\n console.log(this.paging.CompanyId);\r\n this.http\r\n .get(\r\n \"/api/slide/GetBienSo?companyid=\" + this.paging.CompanyId,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBienSo = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n //Get danh sách typeAttributeItem\r\n GetlistTenMacBeTong() {\r\n this.http\r\n .get(\r\n \"/api/slide/GetTenMacBeTong?companyid=\" + this.paging.CompanyId,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listTenMacBeTong = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListCompany() {\r\n this.http\r\n .get(\r\n \"/api/company/GetByPage?page=1&query=1=1&order_by=\",\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n if (localStorage.getItem(\"congtyd\") != \"undefined\") {\r\n var index = this.listCompany.find(\r\n (x) => x.CompanyId == parseInt(localStorage.getItem(\"congtyd\"))\r\n );\r\n this.q.CompanyId = index.CompanyId;\r\n this.paging.CompanyId = parseInt(localStorage.getItem(\"congtyd\"));\r\n this.companyId = parseInt(localStorage.getItem(\"congtyd\"));\r\n this.GetListBranchSearchStart();\r\n this.GetListSlide();\r\n this.GetlistKH();\r\n this.GetlistBienSo();\r\n this.GetlistTenMacBeTong();\r\n this.GetlistNV();\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearchStart() {\r\n this.http\r\n .get(\r\n \"/api/branch/GetByPage?page=1&query=CompanyId = \" +\r\n this.companyId +\r\n \" &order_by=\",\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n let localtramtron = localStorage.getItem(\"BranchId\");\r\n if (localtramtron != \"undefined\") {\r\n let ids = localtramtron.split(\",\").map(Number);\r\n this.listBranchSearch = this.listBranchSearch.filter((x) =>\r\n ids.includes(x.BranchId)\r\n );\r\n }\r\n if (localStorage.getItem(\"tramtrond\") != \"undefined\") {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem(\"tramtrond\").split(\",\");\r\n lstnhombenh.forEach((element) => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n this.GetListSlide();\r\n this.GetlistKH();\r\n this.GetlistBienSo();\r\n this.GetlistTenMacBeTong();\r\n this.GetlistNV();\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchCTCon() {\r\n this.http\r\n .get(\"/api/Order/GetByUser?id=\" + this.UserId, this.httpOptions)\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n if (localStorage.getItem(\"tramtrond\") != \"undefined\") {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem(\"tramtrond\").split(\",\");\r\n lstnhombenh.forEach((element) => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearch() {\r\n this.http\r\n .get(\r\n \"/api/branch/GetByPage?page=1&query=CompanyId = \" +\r\n this.companyselectsearch +\r\n \" &order_by=\",\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListVatLieu() {\r\n this.http\r\n .get(\r\n \"/api/slide/GetVatLieu?companyid=\" +\r\n this.paging.CompanyId +\r\n \"&Branchlist=\" +\r\n this.paging.Branchid,\r\n this.httpOptions\r\n )\r\n .subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.ListVatLieu = res[\"data\"];\r\n\r\n //Tạo table\r\n let obj0 = new tablesilde();\r\n obj0.name = \"MADATHANG\";\r\n obj0.nametable = \"MÃ ĐẶT HÀNG\";\r\n obj0.nameget = \"item.MADATHANG\";\r\n this.tablesilde.push(obj0);\r\n\r\n let obj = new tablesilde();\r\n obj.name = \"NGAYTRON\";\r\n obj.nametable = \"NGÀY\";\r\n obj.nameget = \"item.NGAYTRON\";\r\n this.tablesilde.push(obj);\r\n\r\n //\r\n let obj1 = new tablesilde();\r\n obj1.name = \"GIOBATDAU\";\r\n obj1.nametable = \"BẮT ĐẦU\";\r\n obj1.nameget = \"item.GIOBATDAU\";\r\n this.tablesilde.push(obj1);\r\n //\r\n let obj2 = new tablesilde();\r\n obj2.name = \"GIOXONG\";\r\n obj2.nametable = \"KẾT THÚC\";\r\n obj2.nameget = \"item.GIOXONG\";\r\n this.tablesilde.push(obj2);\r\n //\r\n let obj3 = new tablesilde();\r\n obj3.name = \"TENKHACHHANG\";\r\n obj3.nametable = \"TÊN KHÁCH HÀNG\";\r\n obj3.nameget = \"item.TENKHACHHANG\";\r\n this.tablesilde.push(obj3);\r\n //\r\n let obj4 = new tablesilde();\r\n obj4.name = \"BIENSO\";\r\n obj4.nametable = \"BIỂN XE\";\r\n obj4.nameget = \"item.BIENSO\";\r\n this.tablesilde.push(obj4);\r\n //\r\n let obj5 = new tablesilde();\r\n obj5.name = \"TENMACBETONG\";\r\n obj5.nametable = \"MÁC BÊ TÔNG\";\r\n obj5.nameget = \"item.TENMACBETONG\";\r\n this.tablesilde.push(obj5);\r\n //\r\n let obj7 = new tablesilde();\r\n obj7.name = \"TENNV\";\r\n obj7.nametable = \"NV KINH DOANH\";\r\n obj7.nameget = \"item.TENNV\";\r\n this.tablesilde.push(obj7);\r\n //\r\n let obj6 = new tablesilde();\r\n obj6.name = \"M3METRON\";\r\n obj6.nametable = \"THỂ TÍCH\";\r\n obj6.nameget = \"item.M3METRON\";\r\n this.tablesilde.push(obj6);\r\n //\r\n if (this.ListVatLieu.length > 0) {\r\n for (var i = 0; i < this.ListVatLieu.length; i++) {\r\n let obj = new tablesilde();\r\n obj.name = this.ListVatLieu[i].TENCUAVL;\r\n obj.nametable = this.ListVatLieu[i].TENCUAVL;\r\n obj.nameget = \"item.\" + this.ListVatLieu[i].TENCUAVL + \"\";\r\n this.tablesilde.push(obj);\r\n if (this.ListVatLieu[i].COPHAIPHUGIA != 1) {\r\n let obj1 = new tablesilde();\r\n obj1.name = \"T.\" + this.ListVatLieu[i].TENCUAVL;\r\n obj1.nametable = \"T.\" + this.ListVatLieu[i].TENCUAVL;\r\n obj1.nameget = \"item.T.\" + this.ListVatLieu[i].TENCUAVL + \"\";\r\n this.tablesilde.push(obj1);\r\n }\r\n }\r\n }\r\n if (this.q.status == \"1\") {\r\n let obj = new tablesilde();\r\n obj.name = \"TENPHUGIA\";\r\n obj.nametable = \"TÊN PHỤ GIA\";\r\n obj.nameget = \"item.TENPHUGIA\";\r\n this.tablesilde.push(obj);\r\n let obj5 = new tablesilde();\r\n obj5.name = \"name\";\r\n obj5.nametable = \"TRẠM TRỘN\";\r\n obj5.nameget = \"item.name\";\r\n this.tablesilde.push(obj5);\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetBranch() {\r\n this.GetParam();\r\n this.companyselectsearch = this.q.CompanyId;\r\n this.listBranchSearch = [];\r\n this.q.BranchId = null;\r\n this.GetListBranchSearch();\r\n this.paging.CompanyId = this.q.CompanyId;\r\n this.GetlistKH();\r\n this.GetlistBienSo();\r\n this.GetlistTenMacBeTong();\r\n this.GetlistNV();\r\n }\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListSlide();\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n console.log(msg);\r\n this.toastr.warning(msg, this.translate.instant(\"TOAST.WARNING\"));\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant(\"TOAST.SUCCESS\"));\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant(\"TOAST.ERROR\"));\r\n }\r\n //\r\n changeStatusckbKhachHang(event) {\r\n this.q.ckbKhachHang = event;\r\n }\r\n //\r\n QueryChanged() {\r\n if (this.q.Branchlist == undefined || this.q.Branchlist == \"\") {\r\n this.toastr.warning(\r\n this.translate.instant(\"TOAST.SLIDE.TOAST_1\"),\r\n this.translate.instant(\"TOAST.WARNING\")\r\n );\r\n return;\r\n }\r\n let query = \"\";\r\n if (\r\n this.q.tungay != undefined &&\r\n this.q.tungay != undefined &&\r\n this.q.denngay != \"\" &&\r\n this.q.denngay != \"\"\r\n ) {\r\n if (query != \"\") {\r\n query +=\r\n \" AND ( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \"') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" ') )\";\r\n } else {\r\n query +=\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \"') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \"') )\";\r\n }\r\n }\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n } else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n } else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n if (query == \"\") this.paging.query = \"(1=1)\";\r\n else this.paging.query = query;\r\n\r\n this.GetListSlide();\r\n }\r\n\r\n GetParam() {\r\n let query = \"\";\r\n if (\r\n this.q.tungay != undefined &&\r\n this.q.tungay != undefined &&\r\n this.q.denngay != \"\" &&\r\n this.q.denngay != \"\"\r\n ) {\r\n if (query != \"\") {\r\n query +=\r\n \" AND ( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n } else {\r\n query +=\r\n \"( [t2].NGAYTRON >= convert(datetime ,'\" +\r\n this.q.tungay +\r\n \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" +\r\n this.q.denngay +\r\n \" 23:59:59.999') )\";\r\n }\r\n }\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n } else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n } else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n if (this.role != 1) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n if (query == \"\") this.paging.query = \"(1=1)\";\r\n else this.paging.query = query;\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n } else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListSlide();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (\r\n this.paging.order_by != str + \" Desc\" &&\r\n this.paging.order_by != str + \" Asc\"\r\n ) {\r\n return \"sorting\";\r\n } else {\r\n if (this.paging.order_by == str + \" Desc\") return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n ConvertAnyToString(item: any) {\r\n return item.toString();\r\n }\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'FUNCTION.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'FUNCTION.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'FUNCTION.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'FUNCTION.DISPLAY' | translate}}\\r\\n \\r\\n {{'FUNCTION.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'FUNCTION.SEARCH' | translate}}:\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'FUNCTION.TABLE.STT' | translate}}{{'FUNCTION.TABLE.MA' | translate}}{{'FUNCTION.TABLE.TEN' | translate}}{{'FUNCTION.TABLE.LINK' | translate}}{{'FUNCTION.TABLE.VITRI' | translate}}{{'FUNCTION.TABLE.CHUCNANGCHA' | translate}}{{'FUNCTION.TABLE.THAOTAC' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Code }}{{ item.Name }}\\r\\n {{ item.Url }}\\r\\n {{item.Location}}{{item.functionParent != null ? item.functionParent.Name : \\\"\\\"}}\\r\\n \\r\\n \\r\\n \\r\\n {{'FUNCTION.TASK.SUA' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'FUNCTION.TASK.XOA' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'FUNCTION.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'FUNCTION.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'FUNCTION.INTODISPLAY' | translate}} {{ paging.item_count }} {{'FUNCTION.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'FUNCTION.MODELHEAD.ADDNEWCHUCNANG' | translate}}

            \\r\\n

            {{'FUNCTION.MODELHEAD.EDITCHUCNANG' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48\\\" placeholder=\\\"\\\" [(ngModel)]=\\\"Item.Location\\\" min=\\\"0\\\" onkeypress=\\\"return event.charCode >= 48\\\" autocomplete=\\\"off\\\">\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3N5c3RlbS9mdW5jdGlvbi9mdW5jdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonService } from '../../../service/common.service';\r\nimport { Paging, QueryFilter } from '../../../data/dt';\r\nimport { Function } from '../../../data/model';\r\nimport languages from '../../../../assets/i18n/languages.json';\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-function',\r\n templateUrl: './function.component.html',\r\n styleUrls: ['./function.component.scss']\r\n})\r\nexport class FunctionComponent implements OnInit {\r\n @ViewChild('modalFunction') public modalFunction: ModalDirective;\r\n\r\n public paging: Paging;\r\n public q: QueryFilter;\r\n\r\n public listFunction = [];\r\n public listFunctionParent = [];\r\n\r\n public Item: Function;\r\n\r\n public httpOptions: any;\r\n public lstLanguage: Array = languages;\r\n constructor(public http: HttpClient, public modalDialogService: ModalDialogService, public viewRef: ViewContainerRef, public toastr: ToastrService, public translate: TranslateService) {\r\n this.Item = new Function();\r\n\r\n this.paging = new Paging();\r\n this.paging.page = 1;\r\n this.paging.page_size = 10;\r\n this.paging.query = \"1=1\";\r\n this.paging.order_by = \"FunctionId Desc\";\r\n this.paging.item_count = 0;\r\n\r\n this.q = new QueryFilter();\r\n this.q.txtSearch = \"\";\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n translate.addLangs(this.lstLanguage);\r\n }\r\n\r\n ngOnInit() {\r\n this.GetListFunction();\r\n }\r\n\r\n //Get danh sách chức năng\r\n GetListFunction() {\r\n this.http.get('/api/function/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listFunction = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n });\r\n }\r\n\r\n GetListFunctionParent(Id) {\r\n this.http.get('/api/function/listFunction', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listFunctionParent = res[\"data\"];\r\n this.listFunctionParent.forEach(item => {\r\n if (item.FunctionId == Id) {\r\n item.disabled = true;\r\n }\r\n\r\n item.Space = \"\";\r\n for (var i = 0; i < (item.Level) * 7; i++) {\r\n item.Space += \" \";\r\n }\r\n })\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n });\r\n }\r\n\r\n //Chuyển trang\r\n PageChanged(event) {\r\n this.paging.page = event.page;\r\n this.GetListFunction();\r\n }\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\r\n }\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\r\n }\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\r\n }\r\n //\r\n QueryChanged() {\r\n let query = '';\r\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\r\n if (query != '') {\r\n query += ' and (Name.Contains(\"' + this.q.txtSearch + '\") OR Code.Contains(\"' + this.q.txtSearch + '\"))';\r\n }\r\n else {\r\n query += '(Name.Contains(\"' + this.q.txtSearch + '\") OR Code.Contains(\"' + this.q.txtSearch + '\"))';\r\n }\r\n }\r\n\r\n if (query == '')\r\n this.paging.query = '1=1';\r\n else\r\n this.paging.query = query;\r\n\r\n this.GetListFunction();\r\n }\r\n\r\n\r\n OpenModalFunction(item) {\r\n this.Item = new Function();\r\n if (item == undefined) {\r\n this.GetListFunctionParent(undefined);\r\n }\r\n else {\r\n this.Item = Object.assign(this.Item, item);\r\n if (this.Item.FunctionParentId == 0) this.Item.FunctionParentId = undefined;\r\n this.GetListFunctionParent(item.FunctionId);\r\n }\r\n\r\n this.modalFunction.show();\r\n }\r\n\r\n SaveFunc() {\r\n if (this.Item.Code == undefined || this.Item.Code == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_1'));\r\n return;\r\n } else if (this.Item.Code.replace(/ /g, '') == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_1'));\r\n return;\r\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_2'));\r\n return;\r\n } else if (this.Item.Name.replace(/ /g, '') == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_2'));\r\n return;\r\n } else if (this.Item.Url == undefined || this.Item.Url == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_3'));\r\n return;\r\n } else if (this.Item.Url.replace(/ /g, '') == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_3'));\r\n return;\r\n } else if (this.Item.Icon == undefined || this.Item.Icon == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_4'));\r\n return;\r\n } else if (this.Item.Icon.replace(/ /g, '') == '') {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_4'));\r\n return;\r\n }\r\n\r\n let obj = JSON.parse(JSON.stringify(this.Item));\r\n if (this.Item.FunctionId == undefined) {\r\n this.http.post('/api/function', this.Item, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListFunction();\r\n this.modalFunction.hide();\r\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_SUCCESS'));\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 211) {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_5'));\r\n }\n else if (res[\"meta\"][\"error_code\"] == 215) {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_6'));\r\n }\r\n else {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n },\r\n (err) => {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n );\r\n }\r\n else {\r\n if (obj.FunctionParentId == null) obj.FunctionParentId = 0;\r\n\r\n this.http.put('/api/function/' + obj.FunctionId, obj, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListFunction();\r\n this.modalFunction.hide();\r\n this.toastSuccess(this.translate.instant('TOAST.UPDATE_SUCCESS'));\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 211) {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_5'));\r\n }\r\n else if (res[\"meta\"][\"error_code\"] == 215) {\r\n this.toastWarning(this.translate.instant('TOAST.FUNCTION.TOAST_6'));\r\n }\r\n else {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n },\r\n (err) => {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n //Popup xác nhận xóa\r\n ShowConfirmDelete(Id) {\r\n this.modalDialogService.openDialog(this.viewRef, {\r\n title: this.translate.instant('TOAST.CONFIM'),\r\n childComponent: SimpleModalComponent,\r\n data: {\r\n text: this.translate.instant('TOAST.CONFIM_DELETE')\r\n },\r\n actionButtons: [\r\n {\r\n text: this.translate.instant('TOAST.YES'),\r\n buttonClass: 'btn btn-success',\r\n onAction: () => {\r\n this.Delete(Id);\r\n }\r\n },\r\n {\r\n text: this.translate.instant('TOAST.CLOSE'),\r\n buttonClass: 'btn btn-default',\r\n\r\n }\r\n ],\r\n });\r\n }\r\n\r\n Delete(Id) {\r\n this.http.delete('/api/function/' + Id, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.GetListFunction();\r\n this.viewRef.clear();\r\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\r\n }\r\n else {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n },\r\n (err) => {\r\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n this.GetListFunction();\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'ROLE.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'ROLE.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'ROLE.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'ROLE.VIEW' | translate}}\\r\\n \\r\\n {{'ROLE.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'ROLE.SEARCH' | translate}}:\\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'ROLE.TABLE.STT' | translate}}{{'ROLE.TABLE.MA' | translate}}{{'ROLE.TABLE.TEN' | translate}}{{'ROLE.TABLE.MOTA' | translate}}{{'ROLE.TABLE.THAOTAC' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.Code }}{{ item.Name }}\\r\\n {{ item.Note }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'ROLE.TASK.SUA' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'ROLE.TASK.XOA' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'ROLE.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'ROLE.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'ROLE.INTODISPLAY' | translate}} {{ paging.item_count }} {{'ROLE.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'ROLE.MODELHEAD.ADDNEWROLE' | translate}}

            \\r\\n

            {{'ROLE.MODELHEAD.UPDATEROLE' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'ROLE.MODELBODY.TABLE.STT' | translate}}\\r\\n {{'ROLE.MODELBODY.TABLE.VIEW' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.CREATE' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.UPDATE' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.DELETE' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.IMPORT' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.EXPORT' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.PRINT' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.OTHER' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.MENU' | translate}}\\r\\n \\r\\n \\r\\n {{'ROLE.MODELBODY.TABLE.FULL' | translate}}\\r\\n {{'ROLE.MODELBODY.TABLE.NAMEFUNCTION' | translate}}
            {{ i + 1 }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3N5c3RlbS9yb2xlL3JvbGUuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from '../../../service/common.service';\nimport { Paging, QueryFilter } from '../../../data/dt';\nimport { Role, FuncRole } from '../../../data/model';\nimport languages from '../../../../assets/i18n/languages.json';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'app-role',\n templateUrl: './role.component.html',\n styleUrls: ['./role.component.scss']\n})\nexport class RoleComponent implements OnInit {\n @ViewChild('modalRole') public modalRole: ModalDirective;\n\n public paging: Paging;\n public q: QueryFilter;\n\n public listRole = [];\n public listFunction = [];\n\n public Action: any;\n public Item: Role;\n\n public httpOptions: any;\n public lstLanguage: Array = languages;\n constructor(public http: HttpClient, public modalDialogService: ModalDialogService, public viewRef: ViewContainerRef, public toastr: ToastrService, public translate: TranslateService) {\n this.Item = new Role();\n\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"RoleId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n\n this.Action = {\n View: false,\n Create: false,\n Update: false,\n Delete: false,\n Import: false,\n Export: false,\n Print: false,\n Other: false,\n Menu: false\n };\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n translate.addLangs(this.lstLanguage);\n }\n\n ngOnInit() {\n this.GetListRole();\n }\n\n //Get danh sách chức năng\n GetListRole() {\n this.http.get('/api/functionrole/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listRole = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n });\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListRole();\n }\n //Toast cảnh báo\n toastWarning(msg): void {\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\n }\n //Toast thành công\n toastSuccess(msg): void {\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\n }\n //Toast thành công\n toastError(msg): void {\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\n }\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListRole();\n }\n\n\n //Get danh sách chức năng cha\n GetListFunction(IsNew) {\n this.http.get('/api/function/listFunction', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listFunction = res[\"data\"];\n\n if (IsNew) {\n this.listFunction.forEach(item => {\n item.Space = \"\";\n item.View = false;\n item.Create = false;\n item.Update = false;\n item.Delete = false;\n item.Import = false;\n item.Export = false;\n item.Print = false;\n item.Other = false;\n item.Menu = false;\n for (var i = 0; i < (item.Level) * 7; i++) {\n item.Space += \" \";\n }\n })\n }\n else {\n for (let i = 0; i < this.listFunction.length; i++) {\n for (let j = 0; j < this.Item.listFunction.length; j++) {\n if (this.listFunction[i].FunctionId == this.Item.listFunction[j].FunctionId) {\n this.listFunction[i].View = this.Item.listFunction[j].ActiveKey[0] == \"1\" ? true : false;\n this.listFunction[i].Create = this.Item.listFunction[j].ActiveKey[1] == \"1\" ? true : false;\n this.listFunction[i].Update = this.Item.listFunction[j].ActiveKey[2] == \"1\" ? true : false;\n this.listFunction[i].Delete = this.Item.listFunction[j].ActiveKey[3] == \"1\" ? true : false;\n this.listFunction[i].Import = this.Item.listFunction[j].ActiveKey[4] == \"1\" ? true : false;\n this.listFunction[i].Export = this.Item.listFunction[j].ActiveKey[5] == \"1\" ? true : false;\n this.listFunction[i].Print = this.Item.listFunction[j].ActiveKey[6] == \"1\" ? true : false;\n this.listFunction[i].Other = this.Item.listFunction[j].ActiveKey[7] == \"1\" ? true : false;\n this.listFunction[i].Menu = this.Item.listFunction[j].ActiveKey[8] == \"1\" ? true : false;\n break;\n }\n }\n\n this.listFunction[i].Space = \"\";\n for (let idx = 0; idx < (this.listFunction[i].Level) * 7; idx++) {\n this.listFunction[i].Space += \" \";\n }\n }\n\n this.changeCell();\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n changeAction(cs) {\n this.listFunction.forEach(item => {\n switch (cs) {\n case 1:\n item.View = this.Action.View;\n break;\n case 2:\n item.Create = this.Action.Create;\n break;\n case 3:\n item.Update = this.Action.Update;\n break;\n case 4:\n item.Delete = this.Action.Delete;\n break;\n case 5:\n item.Import = this.Action.Import;\n break;\n case 6:\n item.Export = this.Action.Export;\n break;\n case 7:\n item.Print = this.Action.Print;\n break;\n case 8:\n item.Other = this.Action.Other;\n break;\n case 9:\n item.Menu = this.Action.Menu;\n break;\n default:\n break;\n }\n\n if (item.View && item.Create && item.Update && item.Delete && item.Import && item.Export && item.Print && item.Other && item.Menu) {\n item.Full = true;\n }\n else {\n item.Full = false;\n }\n\n });\n }\n\n changeFull(i) {\n if (i != undefined) {\n this.listFunction[i].View = this.listFunction[i].Full;\n this.listFunction[i].Create = this.listFunction[i].Full;\n this.listFunction[i].Update = this.listFunction[i].Full;\n this.listFunction[i].Delete = this.listFunction[i].Full;\n this.listFunction[i].Import = this.listFunction[i].Full;\n this.listFunction[i].Export = this.listFunction[i].Full;\n this.listFunction[i].Print = this.listFunction[i].Full;\n this.listFunction[i].Other = this.listFunction[i].Full;\n this.listFunction[i].Menu = this.listFunction[i].Full;\n }\n\n if (this.listFunction.filter(l => l.View == false || l.View == undefined).length > 0) {\n this.Action.View = false;\n }\n else {\n this.Action.View = true;\n }\n\n if (this.listFunction.filter(l => l.Create == false || l.Create == undefined).length > 0) {\n this.Action.Create = false;\n }\n else {\n this.Action.Create = true;\n }\n\n if (this.listFunction.filter(l => l.Update == false || l.Update == undefined).length > 0) {\n this.Action.Update = false;\n }\n else {\n this.Action.Update = true;\n }\n\n if (this.listFunction.filter(l => l.Delete == false || l.Delete == undefined).length > 0) {\n this.Action.Delete = false;\n }\n else {\n this.Action.Delete = true;\n }\n\n if (this.listFunction.filter(l => l.Import == false || l.Import == undefined).length > 0) {\n this.Action.Import = false;\n }\n else {\n this.Action.Import = true;\n }\n\n if (this.listFunction.filter(l => l.Export == false || l.Export == undefined).length > 0) {\n this.Action.Export = false;\n }\n else {\n this.Action.Export = true;\n }\n\n if (this.listFunction.filter(l => l.Print == false || l.Print == undefined).length > 0) {\n this.Action.Print = false;\n }\n else {\n this.Action.Print = true;\n }\n\n if (this.listFunction.filter(l => l.Other == false || l.Other == undefined).length > 0) {\n this.Action.Other = false;\n }\n else {\n this.Action.Other = true;\n }\n\n if (this.listFunction.filter(l => l.Menu == false || l.Menu == undefined).length > 0) {\n this.Action.Menu = false;\n }\n else {\n this.Action.Menu = true;\n }\n\n }\n\n changeCell() {\n this.changeAction(10);\n this.changeFull(undefined);\n }\n\n OpenModalRole(item) {\n this.Item = new Role();\n this.Item.listFunction = [];\n this.listFunction = [];\n this.Action = {\n View: false,\n Create: false,\n Update: false,\n Delete: false,\n Import: false,\n Export: false,\n Print: false,\n Other: false,\n Menu: false,\n };\n\n if (item == undefined) {\n this.GetListFunction(true);\n }\n else {\n this.Item = Object.assign(this.Item, item);\n this.GetListFunction(false);\n }\n this.modalRole.show();\n }\n\n\n SaveRole() {\n if (this.Item.Code == undefined || this.Item.Code == '') {\n this.toastWarning(this.translate.instant('TOAST.ROLE.TOAST_1'));\n return;\n } else if (this.Item.Name == undefined || this.Item.Name == '') {\n this.toastWarning(this.translate.instant('TOAST.ROLE.TOAST_2'));\n return;\n }\n\n let listFunction = [];\n this.listFunction.forEach(item => {\n let newFunc = new FuncRole();\n newFunc.FunctionId = item.FunctionId;\n newFunc.ActiveKey = \"\";\n newFunc.ActiveKey += item.View == true ? 1 : 0;\n newFunc.ActiveKey += item.Create == true ? 1 : 0;\n newFunc.ActiveKey += item.Update == true ? 1 : 0;\n newFunc.ActiveKey += item.Delete == true ? 1 : 0;\n newFunc.ActiveKey += item.Import == true ? 1 : 0;\n newFunc.ActiveKey += item.Export == true ? 1 : 0;\n newFunc.ActiveKey += item.Print == true ? 1 : 0;\n newFunc.ActiveKey += item.Other == true ? 1 : 0;\n newFunc.ActiveKey += item.Menu == true ? 1 : 0;\n\n listFunction.push(newFunc);\n });\n this.Item.listFunction = listFunction;\n this.Item.UserId = parseInt(localStorage.getItem(\"userId\"));\n\n if (this.Item.RoleId == undefined) {\n this.http.post('/api/functionRole', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListRole();\n this.modalRole.hide();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_SUCCESS'));\n }\n else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(this.translate.instant('TOAST.ROLE.TOAST_3'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n });\n }\n else {\n this.http.put('/api/functionRole/' + this.Item.RoleId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListRole();\n this.modalRole.hide();\n this.toastSuccess(this.translate.instant('TOAST.UPDATE_SUCCESS'));\n }\n else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(this.translate.instant('TOAST.ROLE.TOAST_3'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n });\n }\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: this.translate.instant('TOAST.CONFIM'),\n childComponent: SimpleModalComponent,\n data: {\n text: this.translate.instant('TOAST.CONFIM_DELETE')\n },\n actionButtons: [\n {\n text: this.translate.instant('TOAST.YES'),\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.Delete(Id);\n }\n },\n {\n text: this.translate.instant('TOAST.CLOSE'),\n buttonClass: 'btn btn-default'\n }\n ],\n });\n }\n\n Delete(Id) {\n this.http.delete('/api/functionrole/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListRole();\n this.viewRef.clear();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListRole();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n\n}\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'TRAMCAN.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'TRAMCAN.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'TRAMCAN.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            {{'TRAMCAN.LABEL.COMPANY' | translate}}
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            {{'TRAMCAN.LABEL.INFO' | translate}}
            \\r\\n
            \\r\\n
            {{'TRAMCAN.LABEL.KHOANGTIME' | translate}}
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            {{'TRAMCAN.LABEL.TYPETK' | translate}}
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            {{'TRAMCAN.LABEL.TKTHEO' | translate}}
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'TRAMCAN.DISPLAY' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'TRAMCAN.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'TRAMCAN.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'TRAMCAN.INTODISPLAY' | translate}} {{ paging.item_count }} {{'TRAMCAN.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'TRAMCAN.DULIEUCANXE' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n {{'TRAMCAN.TABLE.STT' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.SOPHIEU' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.NGAYCAN' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.BIENXE' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.LAIXE' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.SONIEMCHI' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.KLCANVAO' | translate}} (Kg)\\r\\n \\r\\n {{'TRAMCAN.TABLE.KLCANRA' | translate}} (Kg)\\r\\n \\r\\n {{'TRAMCAN.TABLE.KLHANG' | translate}} (Kg)\\r\\n \\r\\n {{'TRAMCAN.TABLE.KLHANGQD' | translate}} (M3)\\r\\n \\r\\n {{'TRAMCAN.TABLE.DONVI' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.LOAIHANG' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.KIEUCAN' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.NGCANLAN1' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.NGCANLAN2' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.TGCANVAO' | translate}}\\r\\n \\r\\n {{'TRAMCAN.TABLE.TGCANRA' | translate}}\\r\\n
            \\r\\n {{ (paging.page - 1) * paging.page_size + i + 1 }}\\r\\n \\r\\n {{ item.STT }}\\r\\n {{ item.Lastupdated | date:'dd-MM-yyyy HH:mm'}}{{ item.BIENXE }}{{ item.CHUXE }}{{ item.SONIEMCHI }}{{ item.KHOILUONGCANLAN1 }}{{ item.KHOILUONGCANLAN2 }}{{ item.KHOILUONGHANG }}{{ item.KHOILUONGHANGQUYDOI | number : '1.2-2' }}{{ item.DONVI }}{{ item.TENVATLIEU }}{{ item.LOAICAN }}{{ item.USERNAME }}{{ item.USERNAME2 }}{{ item.THOIGIANCANLAN1 | date:'dd-MM-yyyy HH:mm' }}{{ item.THOIGIANCANLAN2 | date:'dd-MM-yyyy HH:mm'}}
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\"","module.exports = \".title_tc {\\n text-transform: uppercase;\\n font-weight: bold;\\n font-size: 17px;\\n margin-bottom: 30px; }\\n\\n.has-border {\\n border: 1px solid #ccc; }\\n\\n.has-border .lead_subtitle {\\n position: relative;\\n top: -15px;\\n background: #F4F6F9;\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n padding: 0 10px;\\n font-weight: 500;\\n text-transform: uppercase; }\\n\\n.wapper_fields > .row > .has-border.no_border_left {\\n border-left: none; }\\n\\n.wapper_fields > .row > .has-border.no_border_right {\\n border-right: none; }\\n\\n.wapper_field {\\n display: flex;\\n align-items: center;\\n margin-bottom: 15px; }\\n\\n.wapper_field label {\\n margin: 0;\\n width: 120px;\\n font-weight: 500 !important; }\\n\\n.pt-23 {\\n padding-top: 23px; }\\n\\n.wapper_fields .bot_form .form-check label {\\n font-weight: 500;\\n margin-left: 15px;\\n margin-bottom: 15px; }\\n\\n.wapper_fields .bot_form .form-check input[type='radio'] {\\n position: relative;\\n width: 20px;\\n height: 20px;\\n top: 5px; }\\n\\n.header-custom thead th {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n background: #3c8dbc;\\n z-index: 99;\\n border: 1px solid;\\n color: #fff; }\\n\\nheader-custom::-webkit-scrollbar {\\n width: 3px; }\\n\\nheader-custom::-webkit-scrollbar-track {\\n box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }\\n\\nheader-custom::-webkit-scrollbar-thumb {\\n background-color: #333;\\n border-radius: 5px;\\n outline: 1px solid slategrey; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvdHJhbWNhbi9FOlxcd29ya3NwYWNlXFxUVE1cXElPSVRXZWJBcHBcXEFwcENNUy9zcmNcXGFwcFxcdmlld3NcXHRyYW1jYW5cXHRyYW1jYW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBeUI7RUFDekIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFFckI7RUFDSSxzQkFBcUIsRUFBQTs7QUFFekI7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQiwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHlCQUF5QixFQUFBOztBQUUzQjtFQUNFLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGtCQUFrQixFQUFBOztBQUVwQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0ksU0FBUTtFQUNSLFlBQVc7RUFDWCwyQkFBMEIsRUFBQTs7QUFFOUI7RUFDSSxpQkFBZ0IsRUFBQTs7QUFFcEI7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLG1CQUFrQixFQUFBOztBQUVwQjtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsWUFBWTtFQUNaLFFBQVEsRUFBQTs7QUFFVjtFQUNFLHdCQUFnQjtFQUFoQixnQkFBZ0I7RUFDaEIsTUFBTTtFQUNOLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLFdBQVcsRUFBQTs7QUFFYjtFQUNFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLDRDQUE0QyxFQUFBOztBQUc5QztFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsNEJBQTRCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC92aWV3cy90cmFtY2FuL3RyYW1jYW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0bGVfdGMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmhhcy1ib3JkZXJ7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjY2NjO1xufVxuLmhhcy1ib3JkZXIgLmxlYWRfc3VidGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE1cHg7XG4gIGJhY2tncm91bmQ6ICNGNEY2Rjk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLndhcHBlcl9maWVsZHMgPiAucm93ID4gLmhhcy1ib3JkZXIubm9fYm9yZGVyX2xlZnQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi53YXBwZXJfZmllbGRzID4gLnJvdyA+IC5oYXMtYm9yZGVyLm5vX2JvcmRlcl9yaWdodCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi53YXBwZXJfZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLndhcHBlcl9maWVsZCBsYWJlbHtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMjBweDtcbiAgICBmb250LXdlaWdodDo1MDAgIWltcG9ydGFudDtcbn1cbi5wdC0yM3tcbiAgICBwYWRkaW5nLXRvcDoyM3B4O1xufVxuLndhcHBlcl9maWVsZHMgLmJvdF9mb3JtIC5mb3JtLWNoZWNrIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206MTVweDtcbn1cbi53YXBwZXJfZmllbGRzIC5ib3RfZm9ybSAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0b3A6IDVweDtcbn1cbi5oZWFkZXItY3VzdG9tIHRoZWFkIHRoIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjM2M4ZGJjO1xuICB6LWluZGV4OiA5OTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuaGVhZGVyLWN1c3RvbTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogM3B4O1xufVxuXG5oZWFkZXItY3VzdG9tOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG5oZWFkZXItY3VzdG9tOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHNsYXRlZ3JleTtcbn1cbiJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, ViewEncapsulation } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpEventType } from '@angular/common/http';\r\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { domainImage } from '../../data/const';\r\nimport { Slide } from '../../data/model';\r\nimport { Paging, QueryFilter, tablesilde } from '../../data/dt';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { debug } from 'util';\r\nimport { CommonService } from '../../service/common.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport languages from '../../../assets/i18n/languages.json';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-slide',\r\n templateUrl: './tramcan.component.html',\r\n styleUrls: ['./tramcan.component.scss'],\r\n styles: ['.th-custom { position: sticky !important; top: -1px !important; z-index: 99 !important; color: white !important; background: #3c8dbc !important; }'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TramcanComponent implements OnInit {\r\n @ViewChild('SlideModal') public SlideModal: ModalDirective;\r\n @ViewChild('file') file: ElementRef;\r\n\r\n public paging: any;\r\n public q: any;\r\n public listSlide = [];\r\n public listSlideTong = [];\r\n public listTenMacBeTong = [];\r\n public listKH = [];\r\n public listBienSo = [];\r\n public listCompany = [];\r\n public listBranchSearch = [];\r\n public ListVatLieu = [];\r\n public ListNV = [];\r\n public ckeConfig: any;\r\n public tablesilde = [];\r\n public listXeVaoRa = [];\r\n public listXeVaoRaBienXeBox = []; \r\n public listXeVaoRaTENVATLIEUBox = [];\r\n public listXeVaoRaUSERNAMEBox = [];\r\n public listXeVaoRaDONVITINHBox = [];\r\n public listXeVaoRaLOAICANBox = [];\r\n\r\n public role: number;\r\n companyId: number;\r\n BranchId: string;\r\n BIENXE: string;\r\n TENVATLIEU: string;\r\n USERNAME: string;\r\n DONVI: string;\r\n LOAICAN: string;\r\n tongKg: string;\r\n tongm3: string;\r\n querytable: string;\r\n UserId: number;\r\n public companyselect: number;\r\n public companyselectsearch: number;\r\n\r\n\r\n public progress: number;\r\n public message: string;\r\n public domainImage = domainImage;\r\n public httpOptions: any;\r\n public lstLanguage: Array = languages;\r\n constructor(\r\n public http: HttpClient,\r\n public modalDialogService: ModalDialogService,\r\n public viewRef: ViewContainerRef,\r\n public toastr: ToastrService,\r\n public datepipe: DatePipe,\r\n public commonService: CommonService,\r\n public translate: TranslateService\r\n ) {\r\n this.paging = {\r\n page: 1,\r\n page_size: 10,\r\n query: '(1=1)',\r\n order_by: 'NGAYDATHANG Desc',\r\n item_count: 0\r\n };\r\n\r\n this.q = {\r\n txtSearch: ''\r\n }\r\n\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n })\r\n }\r\n translate.addLangs(this.lstLanguage);\r\n }\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: false,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n let todaynew = new Date();\r\n //this.q.tungay = this.datepipe.transform(today, 'yyyy-MM-dd');\r\n this.q.tungay = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n this.q.denngay = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n this.paging.query = ' (1=1) ';\r\n if (this.q.tungay != undefined && this.q.tungay != undefined && this.q.denngay != '' && this.q.denngay != '') {\r\n this.paging.query += \"AND ( [Lastupdated] >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [Lastupdated] <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n }\r\n\r\n\r\n //\r\n var json = JSON.parse(localStorage.getItem('roles'));\r\n this.companyId = parseInt(localStorage.getItem('companyId'));\r\n this.UserId = parseInt(localStorage.getItem('userId'));\r\n this.BranchId = localStorage.getItem('BranchId');\r\n if (json.length > 0) {\r\n for (var i = 0; i < json.length; i++) {\r\n this.role = json[i].RoleId\r\n }\r\n }\r\n\r\n this.q.status = \"1\";\r\n this.q.ckbKhachHang = true;\r\n this.q.ckbXeTron = true;\r\n this.q.ckbMacBeTong = true;\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n\r\n this.paging.Branchid = '';\r\n if (this.role == 3) {\r\n this.GetListBranchSearchStart();\r\n }\r\n if (this.role == 4) {\r\n this.GetListBranchCTCon();\r\n this.paging.Branchid = this.BranchId;\r\n }\r\n if (this.role == 1) {\r\n this.GetListCompany();\r\n }\r\n if (this.role != 1) {\r\n this.GetListBranchSearchStart();\r\n this.paging.Branchid = this.BranchId;\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n //if (localStorage.getItem('getlinkd') == \"1\") {\r\n // if (localStorage.getItem('thoigiand') == '1') {\r\n // let todaynew = new Date();\r\n // //this.q.tungay = this.datepipe.transform(today, 'yyyy-MM-dd');\r\n // this.q.tungay = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n // this.q.denngay = this.datepipe.transform(todaynew, 'yyyy-MM-dd');\r\n // this.paging.query = \"( [t2].GIOBATDAU >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n // }\r\n // if (localStorage.getItem('thoigiand') == '2') {\r\n // let today = new Date();\r\n // this.q.tungay = new Date(today.setDate(today.getDate() - today.getDay() + 1)).toISOString().substr(0, 10);\r\n // this.q.denngay = new Date(today.setDate(today.getDate() - today.getDay() + 7)).toISOString().substr(0, 10);\r\n // this.paging.query = \"( [t2].GIOBATDAU >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n // }\r\n // if (localStorage.getItem('thoigiand') == '3') {\r\n // let today = new Date();\r\n // this.q.tungay = new Date(today.setDate(today.getDate() - today.getDay() + 1 - 7)).toISOString().substr(0, 10);\r\n // let today1 = new Date();\r\n // this.q.denngay = new Date(today1.setDate(today1.getDate() - today1.getDay())).toISOString().substr(0, 10);\r\n // this.paging.query = \"( [t2].GIOBATDAU >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n // }\r\n // if (localStorage.getItem('thoigiand') == '4') {\r\n // var today2 = new Date();\r\n // var lastDayOfMonth = new Date(today2.getFullYear(), today2.getMonth(), 2);\r\n // this.q.tungay = lastDayOfMonth.toISOString().substr(0, 10);\r\n\r\n // var today3 = new Date();\r\n // var lastDayOfMonth1 = new Date(today3.getFullYear(), today3.getMonth() + 1, 1);\r\n // this.q.denngay = lastDayOfMonth1.toISOString().substr(0, 10);\r\n // this.paging.query = \"( [t2].GIOBATDAU >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [t2].GIOXONG <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n // }\r\n //}\r\n //this.GetListSlide();\r\n this.GetListXeVaoRa();\r\n }\r\n TaoTable() {\r\n this.tablesilde = [];\r\n\r\n /*this.GetListVatLieu();*/\r\n }\r\n \r\n ExportExcel() {\r\n if (this.q.Branchlist == undefined || this.q.Branchlist == '') {\r\n this.toastr.warning(this.translate.instant('TOAST.TRAMCAN.TOAST_1'), this.translate.instant('TOAST.WARNING'));\r\n return;\r\n }\r\n let query = '';\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n if (this.q.tungay != undefined && this.q.tungay != undefined && this.q.denngay != '' && this.q.denngay != '') {\r\n if (query != '') {\r\n query += \" AND ( [Lastupdated] >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [Lastupdated] <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \"( [Lastupdated] >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [Lastupdated] <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n }\r\n }\r\n if (this.q.BIENXE != undefined) {\r\n if (query != '') {\r\n query += ' and BIENXE=' + this.q.BIENXE;\r\n }\r\n else {\r\n query += 'BIENXE=' + this.q.BIENXE;\r\n }\r\n }\r\n if (this.q.TENVATLIEU != undefined) {\r\n if (query != '') {\r\n query += ' and TENVATLIEU=' + this.q.TENVATLIEU;\r\n }\r\n else {\r\n query += 'TENVATLIEU=' + this.q.TENVATLIEU;\r\n }\r\n }\r\n if (this.q.USERNAME != undefined) {\r\n if (query != '') {\r\n query += ' and USERNAME=' + this.q.USERNAME;\r\n }\r\n else {\r\n query += 'USERNAME=' + this.q.USERNAME;\r\n }\r\n }\r\n if (this.q.USERNAME != undefined) {\r\n if (query != '') {\r\n query += ' and DONVI=' + this.q.DONVI;\r\n }\r\n else {\r\n query += 'DONVI=' + this.q.DONVI;\r\n }\r\n }\r\n if (this.q.LOAICAN != undefined) {\r\n if (query != '') {\r\n query += ' and LOAICAN=' + this.q.LOAICAN;\r\n }\r\n else {\r\n query += 'LOAICAN=' + this.q.LOAICAN;\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = ' (1=1) ';\r\n else\r\n this.paging.query = query;\r\n //this.GetListXeVaoRa();\r\n\r\n this.QueryChanged();\r\n\r\n\r\n let tenchinhanh = this.listBranchSearch.find(x => x.BranchId == this.paging.Branchid);\r\n // debugger;\r\n fetch('/api/branch/GetReport?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&BIENSO=' + this.q.BIENXE + '&TENVATLIEU=' + this.q.TENVATLIEU + '&TENNV=' + this.q.USERNAME + '&DONVI=' + this.q.DONVI + '&LOAICAN=' + this.q.LOAICAN + '&XERACHUWA=' + this.q.XERACHUWA + '&tungaystr=' + this.q.tungay + '&denngaystr=' + this.q.denngay + '&tungay=' + this.q.tungay + '&denngay=' + this.q.denngay, {\r\n method: 'GET',\r\n headers: new Headers({\r\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\r\n }),\r\n })\r\n .then(function (response) {\r\n var blob = response.blob();\r\n return blob;\r\n }).then(blob => {\r\n var DateObj = new Date();\r\n var date = ('0' + DateObj.getDate()).slice(-2) + '_' + ('0' + (DateObj.getMonth() + 1)).slice(-2) + '_' + DateObj.getFullYear();\r\n this.DownloadFile(blob, this.commonService.ConvertUrl(tenchinhanh.Name) + \"_thong_ke_tram_can_ngay_\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n // this.DownloadFile(blob, \"_thong_ke_dn_hang\" + date + \".xlsx\", 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n });\r\n }\r\n DownloadFile(data: Blob, filename: string, mime: string): void {\r\n var blob = new Blob([data], { type: mime || 'application/octet-stream' });\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n // IE workaround for \"HTML7007: One or more blob URLs were \r\n // revoked by closing the blob for which they were created. \r\n // These URLs will no longer resolve as the data backing \r\n // the URL has been freed.\"\r\n window.navigator.msSaveBlob(blob, filename);\r\n }\r\n else {\r\n var blobURL = window.URL.createObjectURL(blob);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute('download', filename);\r\n tempLink.setAttribute('target', '_blank');\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n document.body.removeChild(tempLink);\r\n }\r\n }\r\n \r\n GetListCompany() {\r\n this.http.get('/api/company/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listCompany = res[\"data\"];\r\n if (localStorage.getItem('congtyd') != 'undefined') {\r\n var index = this.listCompany.find(x => x.CompanyId == parseInt(localStorage.getItem('companyId')));\r\n this.q.CompanyId = index.CompanyId;\r\n this.paging.CompanyId = parseInt(localStorage.getItem('congtyd'));\r\n this.companyId = parseInt(localStorage.getItem('companyId'));\r\n this.GetListBranchSearchStart();\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n BranchChange() {\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n }\r\n\r\n console.log(this.paging.CompanyId);\r\n \r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n // this.QueryChanged();\r\n this.http.get('/api/branch/GetXeVaoRaBienXeBox?page=1&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRaBienXeBox = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n\r\n this.http.get('/api/branch/GetXeVaoRaTENVATLIEUBox?page=1&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRaTENVATLIEUBox = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n\r\n this.http.get('/api/branch/GetXeVaoRaUSERNAMEBox?page=1&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRaUSERNAMEBox = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n\r\n this.http.get('/api/branch/GetXeVaoRaDONVIBox?page=1&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRaDONVITINHBox = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n\r\n this.http.get('/api/branch/GetXeVaoRaLOAICANBox?page=1&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRaLOAICANBox = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n this.QueryChangedFind();\r\n }\r\n GetListXeVaoRa() {\r\n this.QueryChanged();\r\n this.http.get('/api/branch/GetXeVaoRa?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&BIENSO=' + this.q.BIENXE + '&TENVATLIEU=' + this.q.TENVATLIEU + '&TENNV=' + this.q.USERNAME + '&DONVI=' + this.q.DONVI + '&LOAICAN=' + this.q.LOAICAN + '&XERACHUWA=' + this.q.XERACHUWA + '&tungaystr=' + this.q.tungay + '&denngaystr=' + this.q.denngay, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRa = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n\r\n \r\n }\r\n GetListBranchSearchStart() {\r\n this.http.get('/api/branch/GetByPageTramCan?page=1&query=CompanyId = ' + this.companyId +' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n let localtramtron = localStorage.getItem('BranchId');\r\n if (localtramtron != 'undefined') {\r\n let ids = localtramtron.split(',').map(Number);\r\n this.listBranchSearch = this.listBranchSearch.filter(x => ids.includes(x.BranchId));\r\n }\r\n if (localStorage.getItem('tramtrond') != 'undefined') {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem('tramtrond').split(',');\r\n lstnhombenh.forEach(element => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n /*this.GetListSlide();*/\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchCTCon() {\r\n this.http.get('/api/Order/GetByUser?id=' + this.UserId, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n if (localStorage.getItem('tramtrond') != 'undefined') {\r\n this.q.Branchlist = [];\r\n let lstnhombenh = localStorage.getItem('tramtrond').split(',');\r\n lstnhombenh.forEach(element => {\r\n this.q.Branchlist.push(parseInt(element));\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n GetListBranchSearch() {\r\n this.http.get('/api/branch/GetByPageTramCan?page=1&query=CompanyId = ' + this.companyselectsearch + ' &order_by=', this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listBranchSearch = res[\"data\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n GetBranch() {\r\n this.companyselectsearch = this.q.CompanyId;\r\n this.listBranchSearch = [];\r\n this.q.BranchId = null;\r\n this.GetListBranchSearch();\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n //Chuyển trang\r\n PageChanged(event) {\r\n //this.paging.page = event.page;paging.page\r\n this.paging.page = event.page;\r\n this.QueryChangedFind();\r\n /*this.GetListSlide();*/\r\n }\r\n //phan trang\r\n PagesizeChanged() {\r\n // this.paging.page = event.page;\r\n this.paging.page = 1;\r\n this.QueryChangedFind();\r\n /*this.GetListSlide();*/\r\n }\r\n\r\n //Toast cảnh báo\r\n toastWarning(msg): void {\r\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\r\n }\r\n\r\n //Toast thành công\r\n toastSuccess(msg): void {\r\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\r\n }\r\n\r\n //Toast thành công\r\n toastError(msg): void {\r\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\r\n }\r\n //\r\n changeStatusckbKhachHang(event) {\r\n\r\n this.q.ckbKhachHang = event;\r\n }\r\n //\r\n QueryChanged() {\r\n //if (this.q.Branchlist == undefined || this.q.Branchlist == '') {\r\n // this.toastr.warning('Chưa chọn trạm trộn !', 'Cảnh báo');\r\n // return;\r\n //} \r\n //if (this.role == 3) {\r\n // this.paging.CompanyId = this.companyId;\r\n //}\r\n //else {\r\n // if (this.q.CompanyId != undefined) {\r\n // this.paging.CompanyId = this.q.CompanyId;\r\n // }\r\n // else {\r\n // this.paging.CompanyId = 0;\r\n // }\r\n //}\r\n \r\n //if (query == '')\r\n // this.paging.query = '(1=1)';\r\n //else\r\n // this.paging.query = query;\r\n\r\n/* this.GetListXeVaoRa();*/\r\n /*this.GetListSlide();*/\r\n\r\n }\r\n\r\n QueryChangedFind() {\r\n if (this.q.Branchlist == undefined || this.q.Branchlist == '') {\r\n this.toastr.warning(this.translate.instant('TOAST.TRAMCAN.TOAST_1'), this.translate.instant('TOAST.ERROR'));\r\n return;\r\n } \r\n let query = '';\r\n if (this.role == 3) {\r\n this.paging.CompanyId = this.companyId;\r\n }\r\n else {\r\n if (this.q.CompanyId != undefined) {\r\n this.paging.CompanyId = this.q.CompanyId;\r\n }\r\n else {\r\n this.paging.CompanyId = 0;\r\n }\r\n }\r\n if (this.q.Branchlist != undefined) {\r\n this.paging.Branchid = this.q.Branchlist;\r\n }\r\n if (this.q.tungay != undefined && this.q.tungay != undefined && this.q.denngay != '' && this.q.denngay != '') {\r\n if (query != '') {\r\n query += \" AND ( [Lastupdated] >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [Lastupdated] <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n }\r\n else {\r\n query += \"( [Lastupdated] >= convert(datetime ,'\" + this.q.tungay + \" 00:00:00.000') AND [Lastupdated] <= convert(datetime ,'\" + this.q.denngay + \" 23:59:59.999') )\";\r\n }\r\n }\r\n if (this.q.BIENXE != undefined) {\r\n if (query != '') {\r\n query += ' and BIENXE=' + this.q.BIENXE;\r\n }\r\n else {\r\n query += 'BIENXE=' + this.q.BIENXE;\r\n }\r\n }\r\n if (this.q.TENVATLIEU != undefined) {\r\n if (query != '') {\r\n query += ' and TENVATLIEU=' + this.q.TENVATLIEU;\r\n }\r\n else {\r\n query += 'TENVATLIEU=' + this.q.TENVATLIEU;\r\n }\r\n }\r\n if (this.q.USERNAME != undefined) {\r\n if (query != '') {\r\n query += ' and USERNAME=' + this.q.USERNAME;\r\n }\r\n else {\r\n query += 'USERNAME=' + this.q.USERNAME;\r\n }\r\n }\r\n if (this.q.USERNAME != undefined) {\r\n if (query != '') {\r\n query += ' and DONVI=' + this.q.DONVI;\r\n }\r\n else {\r\n query += 'DONVI=' + this.q.DONVI;\r\n }\r\n }\r\n if (this.q.LOAICAN != undefined) {\r\n if (query != '') {\r\n query += ' and LOAICAN=' + this.q.LOAICAN;\r\n }\r\n else {\r\n query += 'LOAICAN=' + this.q.LOAICAN;\r\n }\r\n }\r\n if (query == '')\r\n this.paging.query = ' (1=1) ';\r\n else\r\n this.paging.query = query;\r\n\r\n if (this.q.DONVI == null)\r\n this.q.DONVI = undefined;\r\n \r\n //this.GetListXeVaoRa();\r\n \r\n// this.QueryChanged();\r\n this.listXeVaoRa = [];\r\n //this.http.get('/api/branch/GetXeVaoRa?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=0' + this.paging.query + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&BIENSO=' + this.q.BIENXE + '&TENVATLIEU=' + this.q.TENVATLIEU + '&TENNV=' + this.q.USERNAME + '&DONVI=' + this.q.DONVI + '&LOAICAN=' + this.q.LOAICAN + '&XERACHUWA=' + this.q.XERACHUWA + '&tungaystr=' + this.q.tungay + '&denngaystr=' + this.q.denngay, this.httpOptions).subscribe(\r\n this.http.get('/api/branch/GetXeVaoRa?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=0' + '&order_by=' + this.paging.order_by + '&companyid=' + this.paging.CompanyId + '&Branchlist=' + this.paging.Branchid + '&BIENSO=' + this.q.BIENXE + '&TENVATLIEU=' + this.q.TENVATLIEU + '&TENNV=' + this.q.USERNAME + '&DONVI=' + this.q.DONVI + '&LOAICAN=' + this.q.LOAICAN + '&XERACHUWA=' + this.q.XERACHUWA + '&tungaystr=' + this.q.tungay + '&denngaystr=' + this.q.denngay, this.httpOptions).subscribe(\r\n (res) => {\r\n if (res[\"meta\"][\"error_code\"] == 200) {\r\n this.listXeVaoRa = res[\"data\"];\r\n this.paging.item_count = res[\"metadata\"];\r\n }\r\n },\r\n (err) => {\r\n console.log(\"Error: connect to API\");\r\n }\r\n );\r\n }\r\n\r\n SortTable(str) {\r\n let First = \"\";\r\n let Last = \"\";\r\n if (this.paging.order_by != \"\") {\r\n First = this.paging.order_by.split(\" \")[0];\r\n Last = this.paging.order_by.split(\" \")[1];\r\n }\r\n\r\n if (First != str) {\r\n this.paging.order_by = str + \" Desc\";\r\n }\r\n else {\r\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\r\n this.paging.order_by = str + \" \" + Last;\r\n }\r\n\r\n /*this.GetListSlide();*/\r\n }\r\n\r\n GetClassSortTable(str) {\r\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\r\n return \"sorting\";\r\n }\r\n else {\r\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\r\n else return \"sorting_asc\";\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'USER.HEADING' | translate}}

            \\r\\n
            \\r\\n
            \\r\\n
              \\r\\n
            1. {{'USER.BREADCUMBS.LEVL1' | translate}}
            2. \\r\\n
            3. {{'USER.BREADCUMBS.LEVL2' | translate}}
            4. \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n {{'USER.VIEW' | translate}}\\r\\n \\r\\n {{'USER.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n {{'USER.SEARCH' | translate}}:\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            {{'USER.TABLE.STT' | translate}}\\r\\n {{'USER.TABLE.USERNAME' | translate}}\\r\\n \\r\\n {{'USER.TABLE.ACCOUNT' | translate}}\\r\\n \\r\\n {{'USER.TABLE.EMAIL' | translate}}\\r\\n {{'USER.TABLE.THAOTAC' | translate}}
            {{ (paging.page - 1) * paging.page_size + i + 1 }}{{ item.FullName }}{{ item.UserName }}\\r\\n {{ item.Email }}\\r\\n \\r\\n \\r\\n \\r\\n {{'USER.TASK.RESET' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'USER.TASK.EDIT' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'USER.TASK.DELETE' | translate}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            0\\\" class=\\\"dataTables_info\\\" id=\\\"DataTables_Table_0_info\\\" role=\\\"status\\\" aria-live=\\\"polite\\\">\\r\\n {{'USER.DISPLAY' | translate}} {{ (paging.page - 1) * paging.page_size + 1 }} {{'USER.TO' | translate}} {{ paging.item_count < paging.page * paging.page_size ? paging.item_count : paging.page * paging.page_size }} {{'USER.INTODISPLAY' | translate}} {{ paging.item_count }} {{'USER.RECORD' | translate}}\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n

            {{'USER.MODELHEAD.ADDNEWUSER' | translate}}

            \\r\\n

            {{'USER.MODELHEAD.UPDATEUSER' | translate}}

            \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n {{branch.Name}}\\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n \\r\\n \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n
            \\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3VzZXIvdXNlci5jb21wb25lbnQuc2NzcyJ9 */\"","\nimport { Component, OnInit, ViewChild, ViewContainerRef, ElementRef } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest, HttpEventType } from '@angular/common/http';\nimport { ModalDialogService, SimpleModalComponent } from 'ngx-modal-dialog';\nimport { User, ResetUser } from '../../data/model';\nimport { ToastrService } from 'ngx-toastr';\nimport { DatePipe } from '@angular/common';\nimport { debug } from 'util';\nimport { CommonService } from '../../service/common.service';\nimport { domainImage } from '../../data/const';\nimport { Paging, QueryFilter, UserChangePass } from '../../data/dt';\nimport * as $ from 'jquery';\nimport languages from '../../../assets/i18n/languages.json';\nimport { TranslateService } from '@ngx-translate/core';\n@Component({\n selector: 'app-user',\n templateUrl: './user.component.html',\n styleUrls: ['./user.component.scss']\n})\nexport class UserComponent implements OnInit {\n @ViewChild('UserModal') public userModal: ModalDirective;\n @ViewChild('file') file: ElementRef;\n\n public paging: Paging;\n public q: QueryFilter;\n\n public listUser = [];\n public listCompany = [];\n public listBranch = [];\n public listBranchId = [];\n public listRole = [];\n public listFunc = [];\n public ckeConfig: any;\n public Action: any;\n\n public Item: User;\n\n public progress: number;\n public message: string;\n public domainImage = domainImage;\n\n public httpOptions: any;\n public role: number;\n companyId: number;\n BranchId: number;\n UserId: number;\n BranchIduser: string;\n edit: boolean;\n public companyselect: number;\n public lstLanguage: Array = languages;\n constructor(\n public http: HttpClient,\n public modalDialogService: ModalDialogService,\n public viewRef: ViewContainerRef,\n public toastr: ToastrService,\n public datePipe: DatePipe,\n public common: CommonService,\n public translate: TranslateService\n ) {\n this.Item = new User();\n this.paging = new Paging();\n this.paging.page = 1;\n this.paging.page_size = 10;\n this.paging.query = \"1=1\";\n this.paging.order_by = \"UserId Desc\";\n this.paging.item_count = 0;\n\n this.q = new QueryFilter();\n this.q.txtSearch = \"\";\n this.role = -1\n this.Action = {\n View: false,\n Create: false,\n Update: false,\n Delete: false,\n Import: false,\n Export: false,\n Print: false,\n Other: false,\n Menu: false,\n };\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n })\n }\n translate.addLangs(this.lstLanguage);\n }\n ngOnInit() {\n $('input[type=\"checkbox\"]').on('change', function () {\n\n $('input[type=\"checkbox\"]').not(this).prop('checked', false);\n });\n this.ckeConfig = {\n allowedContent: false,\n extraPlugins: 'divarea',\n forcePasteAsPlainText: true\n };\n this.edit = false;\n var json = JSON.parse(localStorage.getItem('roles'));\n this.companyId = parseInt(localStorage.getItem('companyId'));\n this.UserId = parseInt(localStorage.getItem('userId'));\n this.companyselect = -1;\n if (json.length > 0) {\n for (var i = 0; i < json.length; i++) {\n this.role = json[i].RoleId\n }\n }\n this.GetListUser();\n this.GetListCompany();\n if (this.role == 3) {\n this.companyselect = this.companyId;\n this.GetListBranch();\n }\n\n }\n\n //Get danh sách danh bài viết\n GetListUser() {\n if (this.role != 1) {\n this.paging.query += ' and CompanyId = ' + this.companyId;\n }\n this.http.get('/api/userrole/GetByPage?page=' + this.paging.page + '&page_size=' + this.paging.page_size + '&query=' + this.paging.query + '&order_by=' + this.paging.order_by, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listUser = res[\"data\"];\n this.paging.item_count = res[\"metadata\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n GetListCompany() {\n this.http.get('/api/userrole/GetByCompany?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listCompany = res[\"data\"];\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n GetListBranch() {\n this.http.get('/api/branch/GetByPageAll?page=1&query=CompanyId = ' + this.companyselect + ' &order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listBranch = res[\"data\"];\n if (this.Item.BranchId != '' && this.Item.BranchId != null && this.edit == true) {\n this.listBranchId = [];\n let lstnhombenh = this.Item.BranchId.split(',');\n lstnhombenh.forEach(element => {\n this.listBranchId.push(parseInt(element));\n });\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n GetListRole() {\n let arr = [];\n if (this.Item.UserId) {\n arr = Object.assign(this.Item[\"listRole\"]);\n }\n\n this.http.get('/api/role/GetByPage?page=1&query=1=1&order_by=', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n if (this.Item.UserId == undefined) {\n this.listRole = res[\"data\"];\n }\n else {\n this.listRole = res[\"data\"];\n for (let i = 0; i < this.listRole.length; i++) {\n for (let j = 0; j < arr.length; j++) {\n if (this.listRole[i].RoleId == arr[j].RoleId) {\n this.Item.Roleid = this.listRole[i].RoleId;\n break;\n }\n }\n }\n\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n //Chuyển trang\n PageChanged(event) {\n this.paging.page = event.page;\n this.GetListUser();\n }\n\n //Thông báo\n toastWarning(msg): void {\n this.toastr.warning(msg, this.translate.instant('TOAST.WARNING'));\n }\n\n toastSuccess(msg): void {\n this.toastr.success(msg, this.translate.instant('TOAST.SUCCESS'));\n }\n\n toastError(msg): void {\n this.toastr.error(msg, this.translate.instant('TOAST.ERROR'));\n }\n CompanyChanged() {\n this.companyselect = this.Item.CompanyId;\n this.GetListBranch();\n }\n //\n QueryChanged() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (this.q.CompanyId != undefined) {\n if (query != '') {\n query += ' and CompanyId = ' + this.q.CompanyId;\n }\n else {\n query += 'CompanyId = ' + this.q.CompanyId;\n }\n }\n if (this.role != 1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.companyId;\n }\n else {\n query += 'CompanyId = ' + this.companyId;\n }\n }\n if (this.q.BranchId != undefined) {\n if (query != '') {\n query += ' and BranchId.Contains(\"' + this.q.BranchId + '\")';\n }\n else {\n query += 'BranchId.Contains(\"' + this.q.BranchId + '\")';\n }\n }\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListUser();\n }\n\n //\n QueryChangedCompany() {\n let query = '';\n if (this.q.txtSearch != undefined && this.q.txtSearch != '') {\n if (query != '') {\n query += ' and Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n else {\n query += 'Name.Contains(\"' + this.q.txtSearch + '\")';\n }\n }\n\n if (this.q.CompanyId != undefined) {\n this.companyselect = this.q.CompanyId;\n this.listBranch = [];\n this.q.BranchId = null;\n\n this.GetListBranch();\n if (query != '') {\n query += ' and CompanyId = ' + this.q.CompanyId;\n }\n else {\n query += 'CompanyId = ' + this.q.CompanyId;\n }\n }\n if (this.role != 1) {\n if (query != '') {\n query += ' and CompanyId = ' + this.companyId;\n }\n else {\n query += 'CompanyId = ' + this.companyId;\n }\n }\n if (this.q.BranchId != undefined) {\n if (query != '') {\n query += ' and BranchId.Contains(\"' + this.q.BranchId + '\")';\n }\n else {\n query += 'BranchId.Contains(\"' + this.q.BranchId + '\")';\n }\n }\n if (query == '')\n this.paging.query = '1=1';\n else\n this.paging.query = query;\n\n this.GetListUser();\n }\n //Mở modal thêm mới\n OpenAddModal() {\n this.edit = false;\n this.Item = new User();\n this.Item.IsRoleGroup = true;\n this.GetListRole();\n this.GetListFunction(true);\n this.file.nativeElement.value = \"\";\n this.message = undefined;\n this.Action = {\n View: false,\n Create: false,\n Update: false,\n Delete: false,\n Import: false,\n Export: false,\n Print: false,\n Other: false,\n Menu: false,\n };\n this.userModal.show();\n }\n //Thêm mới danh mục trang\n AddUserFunc() {\n\n if (this.Item.FullName == undefined || this.Item.FullName == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_1'));\n return;\n } else if (this.Item.FullName.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_1'));\n return;\n } else if (this.Item.UserName == undefined || this.Item.UserName == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_2'));\n return;\n } else if (this.Item.UserName.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_2'));\n return;\n }\n else if (this.Item.UserId == undefined && (this.Item.Password == undefined || this.Item.Password == '')) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_3'));\n return;\n }\n else if (this.Item.UserId == undefined && (this.Item[\"ConfirmPassword\"] != this.Item.Password)) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_4'));\n return;\n }\n else if (this.Item.Email == undefined || this.Item.Email == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_5'));\n return;\n } else if (this.Item.Email.replace(/ /g, '') == '') {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_5'));\n return;\n }\n this.Item.IsRoleGroup = true;\n this.Item[\"listRole\"] = [];\n this.Item[\"listFunction\"] = [];\n this.listRole.forEach(item => {\n if (item.Check) {\n this.Item[\"listRole\"].push({ RoleId: item.RoleId, RoleName: item.RoleName });\n }\n });\n if (this.listBranchId != undefined) {\n this.Item.BranchId = '';\n this.listBranchId.forEach((item, index) => {\n if (index == this.listBranchId.length - 1) {\n this.Item.BranchId += item;\n }\n else {\n this.Item.BranchId += item + \",\";\n }\n\n });\n }\n else {\n this.Item.BranchId = '';\n }\n if (this.Item.UserId) {\n this.http.put('/api/userrole/' + this.Item.UserId, this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListUser();\n this.userModal.hide();\n this.toastSuccess(this.translate.instant('TOAST.UPDATE_SUCCESS'));\n }\n else if (res[\"meta\"][\"error_code\"] == 21111) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_6'));\n }\n else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_8'));\n }\n else if (res[\"meta\"][\"error_code\"] == 2111) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_7'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n else {\n if (this.role != 1) {\n this.Item.CompanyId = this.companyId;\n }\n this.http.post('/api/userrole', this.Item, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListUser();\n this.userModal.hide();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_SUCCESS'));\n }\n else if (res[\"meta\"][\"error_code\"] == 21111) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_9'));\n }\n else if (res[\"meta\"][\"error_code\"] == 211) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_8'));\n }\n else if (res[\"meta\"][\"error_code\"] == 2111) {\n this.toastWarning(this.translate.instant('TOAST.USER.TOAST_7'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n }\n\n OpenEditModal(item) {\n this.edit = true;\n this.Item = new User();\n this.GetListCompany();\n this.Item = Object.assign(this.Item, item);\n if (item.CompanyId != '' && item.CompanyId != null) {\n this.companyselect = item.CompanyId;\n this.GetListBranch();\n }\n this.file.nativeElement.value = \"\";\n this.GetListRole();\n this.userModal.show();\n }\n\n //Popup xác nhận xóa\n ShowConfirmDelete(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: this.translate.instant('TOAST.CONFIM'),\n childComponent: SimpleModalComponent,\n data: {\n text: this.translate.instant('TOAST.CONFIM_DELETE')\n },\n actionButtons: [\n {\n text: this.translate.instant('TOAST.YES'),\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.DeleteUser(Id);\n }\n },\n {\n text: this.translate.instant('TOAST.CLOSE'),\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n\n ShowConfirmReset(Id) {\n this.modalDialogService.openDialog(this.viewRef, {\n title: this.translate.instant('TOAST.CONFIM'),\n childComponent: SimpleModalComponent,\n data: {\n text: this.translate.instant('TOAST.USER.TOAST_10')\n },\n actionButtons: [\n {\n text: this.translate.instant('TOAST.YES'),\n buttonClass: 'btn btn-success',\n onAction: () => {\n this.ResetUser(Id);\n }\n },\n {\n text: this.translate.instant('TOAST.CLOSE'),\n buttonClass: 'btn btn-default',\n\n }\n ],\n });\n }\n DeleteUser(Id) {\n this.http.delete('/api/userrole/' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListUser();\n this.viewRef.clear();\n this.toastSuccess(this.translate.instant('TOAST.NOITIFY_DELETE'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n ResetUser(Id) {\n this.http.get('/api/userrole/ResetPassUser?id=' + Id, this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.GetListUser();\n this.viewRef.clear();\n this.toastSuccess(this.translate.instant('TOAST.USER.TOAST_11'));\n }\n else {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n },\n (err) => {\n this.toastError(this.translate.instant('TOAST.NOITiFY_ERROR'));\n }\n );\n }\n\n upload(files) {\n if (files.length === 0)\n return;\n\n const formData = new FormData();\n\n for (let file of files)\n formData.append(file.name, file);\n\n const uploadReq = new HttpRequest('POST', 'api/upload/uploadImage/6', formData, {\n headers: new HttpHeaders({\n 'Authorization': 'bearer ' + localStorage.getItem(\"access_token\")\n }),\n reportProgress: true,\n });\n\n this.http.request(uploadReq).subscribe(event => {\n if (event.type === HttpEventType.UploadProgress)\n this.progress = Math.round(100 * event.loaded / event.total);\n else if (event.type === HttpEventType.Response) {\n this.message = event.body[\"data\"].toString();\n this.Item.Avata = this.message;\n }\n });\n }\n\n GetListFunction(IsNew) {\n this.http.get('/api/function/listFunction', this.httpOptions).subscribe(\n (res) => {\n if (res[\"meta\"][\"error_code\"] == 200) {\n this.listFunc = res[\"data\"];\n\n if (IsNew) {\n this.listFunc.forEach(item => {\n item.Space = \"\";\n item.View = false;\n item.Create = false;\n item.Update = false;\n item.Delete = false;\n item.Import = false;\n item.Export = false;\n item.Print = false;\n item.Other = false;\n item.Menu = false;\n for (var i = 0; i < (item.Level) * 7; i++) {\n item.Space += \" \";\n }\n })\n }\n else {\n this.changeCell();\n }\n }\n },\n (err) => {\n console.log(\"Error: connect to API\");\n }\n );\n }\n\n changeAction(cs) {\n this.listFunc.forEach(item => {\n switch (cs) {\n case 1:\n item.View = this.Action.View;\n break;\n case 2:\n item.Create = this.Action.Create;\n break;\n case 3:\n item.Update = this.Action.Update;\n break;\n case 4:\n item.Delete = this.Action.Delete;\n break;\n case 5:\n item.Import = this.Action.Import;\n break;\n case 6:\n item.Export = this.Action.Export;\n break;\n case 7:\n item.Print = this.Action.Print;\n break;\n case 8:\n item.Other = this.Action.Other;\n break;\n case 9:\n item.Menu = this.Action.Menu;\n break;\n default:\n break;\n }\n\n if (item.View && item.Create && item.Update && item.Delete && item.Import && item.Export && item.Print && item.Other && item.Menu) {\n item.Full = true;\n }\n else {\n item.Full = false;\n }\n\n });\n }\n\n changeFull(i) {\n if (i != undefined) {\n this.listFunc[i].View = this.listFunc[i].Full;\n this.listFunc[i].Create = this.listFunc[i].Full;\n this.listFunc[i].Update = this.listFunc[i].Full;\n this.listFunc[i].Delete = this.listFunc[i].Full;\n this.listFunc[i].Import = this.listFunc[i].Full;\n this.listFunc[i].Export = this.listFunc[i].Full;\n this.listFunc[i].Print = this.listFunc[i].Full;\n this.listFunc[i].Other = this.listFunc[i].Full;\n this.listFunc[i].Menu = this.listFunc[i].Full;\n }\n\n if (this.listFunc.filter(l => l.View == false).length > 0) {\n this.Action.View = false;\n }\n else {\n this.Action.View = true;\n }\n\n if (this.listFunc.filter(l => l.Create == false).length > 0) {\n this.Action.Create = false;\n }\n else {\n this.Action.Create = true;\n }\n\n if (this.listFunc.filter(l => l.Update == false).length > 0) {\n this.Action.Update = false;\n }\n else {\n this.Action.Update = true;\n }\n\n if (this.listFunc.filter(l => l.Delete == false).length > 0) {\n this.Action.Delete = false;\n }\n else {\n this.Action.Delete = true;\n }\n\n if (this.listFunc.filter(l => l.Import == false).length > 0) {\n this.Action.Import = false;\n }\n else {\n this.Action.Import = true;\n }\n\n if (this.listFunc.filter(l => l.Export == false).length > 0) {\n this.Action.Export = false;\n }\n else {\n this.Action.Export = true;\n }\n\n if (this.listFunc.filter(l => l.Print == false).length > 0) {\n this.Action.Print = false;\n }\n else {\n this.Action.Print = true;\n }\n\n if (this.listFunc.filter(l => l.Other == false).length > 0) {\n this.Action.Other = false;\n }\n else {\n this.Action.Other = true;\n }\n\n if (this.listFunc.filter(l => l.Menu == false).length > 0) {\n this.Action.Menu = false;\n }\n else {\n this.Action.Menu = true;\n }\n\n }\n\n changeCell() {\n this.changeAction(10);\n this.changeFull(undefined);\n }\n\n SortTable(str) {\n let First = \"\";\n let Last = \"\";\n if (this.paging.order_by != \"\") {\n First = this.paging.order_by.split(\" \")[0];\n Last = this.paging.order_by.split(\" \")[1];\n }\n\n if (First != str) {\n this.paging.order_by = str + \" Desc\";\n }\n else {\n Last = Last == \"Asc\" ? \"Desc\" : \"Asc\";\n this.paging.order_by = str + \" \" + Last;\n }\n\n this.GetListUser();\n }\n\n GetClassSortTable(str) {\n if (this.paging.order_by != (str + \" Desc\") && this.paging.order_by != (str + \" Asc\")) {\n return \"sorting\";\n }\n else {\n if (this.paging.order_by == (str + \" Desc\")) return \"sorting_desc\";\n else return \"sorting_asc\";\n }\n }\n\n}\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n firebase: {\r\n apiKey: \"AIzaSyB_yZP30GbpQjZO5K2-zeGgv_PNzyb0NJo\",\r\n authDomain: \"manager-residential.firebaseapp.com\",\r\n databaseURL: \"https://manager-residential.firebaseio.com\",\r\n projectId: \"manager-residential\",\r\n storageBucket: \"manager-residential.appspot.com\",\r\n messagingSenderId: \"836008896147\",\r\n appId: \"1:836008896147:web:c4fd378feac312f8bd0f66\",\r\n measurementId: \"G-34LZC1ZCT7\"\r\n },\r\n apiUrl: 'https://localhost:44338/'\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}