{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/core/_layoutComponents/breadcrumb/breadcrumb.component.html","./src/app/core/_layoutComponents/footer/footer.component.html","./src/app/core/_layoutComponents/header/logged-in-header/logged-in-header.component.html","./src/app/core/library/kendo/components/filters/grid-daterange-filter/grid-daterange-filter.component.html","./src/app/core/library/kendo/components/filters/grid-daterange-pwa-filter/grid-daterange-pwa-filter.component.html","./src/app/core/library/kendo/components/filters/grid-dropdown-filter/grid-dropdown-filter.component.html","./src/app/core/library/kendo/components/upload/upload.component.html","./src/app/features/admin/home/home.component.html","./src/app/features/admin/login/login.component.html","./src/app/features/admin/sample-request-admin/admin-budget-report/admin-budget-report.component.html","./src/app/features/admin/sample-request-admin/admin-budget-report/allocation-report/allocation-report.component.html","./src/app/features/admin/sample-request-admin/admin-budget-report/budget-report/budget-report.component.html","./src/app/features/admin/sample-request-admin/sample-request-admin.component.html","./src/app/features/admin/sample-request-inventory-usage-report/sample-request-inventory-usage-report.component.html","./src/app/features/admin/sample-request-order-details/sample-request-order-details.component.html","./src/app/features/admin/sample-request-order-history/sample-request-order-history.component.html","./src/app/features/admin/sample-request-reorder-report/sample-request-reorder-report.component.html","./src/app/features/admin/sample-request-usage-report/sample-request-usage-report.component.html","./src/app/features/change-password/change-password.component.html","./src/app/features/sample-request/sample-request-new.component.html","./src/app/features/unauthorized/unauthorized.component.html","./src/app/shared/components/ca-prop/ca-prop.component.html","./src/app/shared/components/info/info.component.html","./src/app/shared/components/notify/notify.component.html","./src/app/shared/components/numeric-text-box/numeric-text-box.component.html","./node_modules/tslib/tslib.es6.js","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/_layoutComponents/breadcrumb/breadcrumb.component.scss","./src/app/core/_layoutComponents/breadcrumb/breadcrumb.component.ts","./src/app/core/_layoutComponents/footer/footer.component.scss","./src/app/core/_layoutComponents/footer/footer.component.ts","./src/app/core/_layoutComponents/header/logged-in-header/logged-in-header.component.scss","./src/app/core/_layoutComponents/header/logged-in-header/logged-in-header.component.ts","./src/app/core/common/index.ts","./src/app/core/directives/image-loader.directive.ts","./src/app/core/directives/inch-validator.directive.ts","./src/app/core/directives/input-validator.directive.ts","./src/app/core/directives/kendo-numerictextbox-stop-wheel.directive.ts","./src/app/core/enums/NotifyType.ts","./src/app/core/enums/index.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/interceptors/auth.interceptor.ts","./src/app/core/library/kendo/components/filters/grid-daterange-filter/grid-daterange-filter.component.css","./src/app/core/library/kendo/components/filters/grid-daterange-filter/grid-daterange-filter.component.ts","./src/app/core/library/kendo/components/filters/grid-daterange-pwa-filter/grid-daterange-pwa-filter.component.scss","./src/app/core/library/kendo/components/filters/grid-daterange-pwa-filter/grid-daterange-pwa-filter.component.ts","./src/app/core/library/kendo/components/filters/grid-dropdown-filter/grid-dropdown-filter.component.ts","./src/app/core/library/kendo/components/upload/upload.component.scss","./src/app/core/library/kendo/components/upload/upload.component.ts","./src/app/core/library/kendo/interceptor/upload-interceptor.ts","./src/app/core/library/kendo/kendo.module.ts","./src/app/core/library/prime-ng/prime-ng.module.ts","./src/app/core/models/index.ts","./src/app/core/services/admin.service.ts","./src/app/core/services/api.service.ts","./src/app/core/services/app-notify.service.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/common.service.ts","./src/app/core/services/config.service.ts","./src/app/core/services/language-translation.service.ts","./src/app/core/services/master-data.service.ts","./src/app/core/services/product-sample-fulfillment.service.ts","./src/app/core/services/user.service.ts","./src/app/features/admin/home/home.component.scss","./src/app/features/admin/home/home.component.ts","./src/app/features/admin/login/login.component.scss","./src/app/features/admin/login/login.component.ts","./src/app/features/admin/sample-request-admin/admin-budget-report/admin-budget-report.component.scss","./src/app/features/admin/sample-request-admin/admin-budget-report/admin-budget-report.component.ts","./src/app/features/admin/sample-request-admin/admin-budget-report/allocation-report/allocation-report.component.scss","./src/app/features/admin/sample-request-admin/admin-budget-report/allocation-report/allocation-report.component.ts","./src/app/features/admin/sample-request-admin/admin-budget-report/budget-report/budget-report.component.scss","./src/app/features/admin/sample-request-admin/admin-budget-report/budget-report/budget-report.component.ts","./src/app/features/admin/sample-request-admin/sample-request-admin.component.scss","./src/app/features/admin/sample-request-admin/sample-request-admin.component.ts","./src/app/features/admin/sample-request-inventory-usage-report/sample-request-inventory-usage-report.component.scss","./src/app/features/admin/sample-request-inventory-usage-report/sample-request-inventory-usage-report.component.ts","./src/app/features/admin/sample-request-order-details/sample-request-order-details.component.scss","./src/app/features/admin/sample-request-order-details/sample-request-order-details.component.ts","./src/app/features/admin/sample-request-order-history/sample-request-order-history.component.scss","./src/app/features/admin/sample-request-order-history/sample-request-order-history.component.ts","./src/app/features/admin/sample-request-reorder-report/sample-request-reorder-report.component.scss","./src/app/features/admin/sample-request-reorder-report/sample-request-reorder-report.component.ts","./src/app/features/admin/sample-request-usage-report/sample-request-usage-report.component.scss","./src/app/features/admin/sample-request-usage-report/sample-request-usage-report.component.ts","./src/app/features/change-password/change-password.component.scss","./src/app/features/change-password/change-password.component.ts","./src/app/features/sample-request/sample-request-new.component.scss","./src/app/features/sample-request/sample-request-new.component.ts","./src/app/features/unauthorized/unauthorized.component.scss","./src/app/features/unauthorized/unauthorized.component.ts","./src/app/shared/components/ca-prop/ca-prop.component.scss","./src/app/shared/components/ca-prop/ca-prop.component.ts","./src/app/shared/components/info/info.component.scss","./src/app/shared/components/info/info.component.ts","./src/app/shared/components/notify/notify.component.scss","./src/app/shared/components/notify/notify.component.ts","./src/app/shared/components/numeric-text-box/numeric-text-box.component.scss","./src/app/shared/components/numeric-text-box/numeric-text-box.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.68f8493fb36eacaf7452.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
    0\\\">\\r\\n \\r\\n
  1. \\r\\n \\r\\n {{ breadcrumb.label }}\\r\\n \\r\\n \\r\\n {{ breadcrumb.label }}\\r\\n \\r\\n \\r\\n \\r\\n
  2. \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\"","export default \" \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"AAP\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Welcome , {{this.userName}}!\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n -\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n-\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\"","export default \" \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Sample Request Admin

\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.categoryName}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.maxQtyCanBeOrdered}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.stockNum}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.currentCostId|currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.currentInventory}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.reorderPoint}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{dataItem.cost | currency}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n R\\r\\n
\\r\\n
\\r\\n G\\r\\n
\\r\\n
\\r\\n B\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{finishSampleLbl.infoCategoryText}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

\\r\\n {{gridDelete.label.deleteConfirmLbl?gridDelete.label.deleteConfirmLbl:gridDelete.label.deleteConfirmLbl}}\\r\\n : {{ gridItemToRemove.subCategoryDescription }}?\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n

AAP Portal

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n Login\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Forgot Password?\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n

Admin Budget Report

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.currentCostId | currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.isReorder}}\\r\\n {{dataItem.isReorder}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n

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

{{AllocationReportLblText.addNewLocationResponse}}

\\r\\n

{{AllocationReportLblText.addNewLocationResponse}}

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

\\r\\n {{gridDelete.label.deleteConfirmLbl?gridDelete.label.deleteConfirmLbl:gridDelete.label.deleteConfirmLbl}}\\r\\n : {{ gridItemToRemove.budgetCode }}-{{ gridItemToRemove.regionCode }}?\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n {{budgetReportLblText.infoMessageLbl}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.cost | currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.isReorder}}\\r\\n {{dataItem.isReorder}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n

Sample Request Report

\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.categoryName}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.maxQtyCanBeOrdered}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.stockNum}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.currentCostId|currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.currentInventory}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.reorderPoint}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{dataItem.cost | currency}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n R\\r\\n
\\r\\n
\\r\\n G\\r\\n
\\r\\n
\\r\\n B\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{finishSampleLbl.infoCategoryText}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n {{gridDelete.label.deleteConfirmLbl?gridDelete.label.deleteConfirmLbl:gridDelete.label.deleteConfirmLbl}}\\r\\n : {{ gridItemToRemove.subCategoryDescription }}?\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n

Inventory Usage Report

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{orderLblText.orderNumberLbl}}:
\\r\\n
{{orderHeaderGridData.sampleProductOrderNumber}}
\\r\\n
{{orderLblText.createdDateLbl}}:
\\r\\n
{{orderHeaderGridData.createdDate | date:'MM/dd/yy'}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{orderLblText.customerLbl}}:
\\r\\n
{{orderHeaderGridData.customer}}
\\r\\n
{{orderLblText.costLbl}}:
\\r\\n
{{orderHeaderGridData.cost | currency}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{orderLblText.contactLbl}}:
\\r\\n
{{orderHeaderGridData.contact}}
\\r\\n
{{orderLblText.regionLbl}}:
\\r\\n
{{orderHeaderGridData.region}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{orderLblText.contactEmailLbl}}:
\\r\\n
{{userEmail}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{orderLblText.ccEmailLbl}}:
\\r\\n
{{orderHeaderGridData.ccEmail}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n {{orderDetailsLblText.orderSummaryLbl}}:\\r\\n

\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n {{dataItem.cost | currency}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n

Sample Request Report

\\r\\n
\\r\\n {{orderLblText.filterInfoMsgLbl}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.sampleProductOrderNumber}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.cost | currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.currentCostId | currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.isReorder}}\\r\\n {{dataItem.isReorder}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n {{usageLblText.infoMessageLbl}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.totalCost | currency}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Change Password

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n submit\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n

SAMPLE REQUEST

\\r\\n\\r\\n \\r\\n \\r\\n {{sampleRequestGrid.sampleSelectionLbl?sampleRequestGrid.sampleSelectionLbl:sampleRequestGrid.sampleSelectionLbl}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{dataList.categoryName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.maxQtyCanBeOrdered}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n On Backorder\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{sampleRequestGrid.reviewSelectionLbl?sampleRequestGrid.reviewSelectionLbl:sampleRequestGrid.reviewSelectionLbl}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n On Backorder\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{sampleRequestGrid.placeOrderLbl?sampleRequestGrid.placeOrderLbl:sampleRequestGrid.placeOrderLbl}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
*{{sampleRequestGrid.info1Lbl?sampleRequestGrid.info1Lbl:shippingDetails.info1Lbl}}
\\r\\n
**{{sampleRequestGrid.info2Lbl?sampleRequestGrid.info2Lbl:shippingDetails.info2Lbl}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{sampleRequestGrid.submitResponseLbl?sampleRequestGrid.submitResponseLbl:sampleRequestGrid.submitResponseLbl}}\\r\\n \\r\\n #{{sampleRequestOrderNum}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Oops!\\r\\n

\\r\\n

\\r\\n Unauthorized\\r\\n

\\r\\n
\\r\\n Sorry, you are not authorized to view this page!\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n CA Residents:\\r\\n \\r\\n Prop 65 Warning(s)\\r\\n \\r\\n
\\r\\n\"","export default \" \\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n {{ message }}\\r\\n
\"","export default \"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './core/guards/auth.guard';\r\nimport { SampleRequestNewComponent } from './features/sample-request/sample-request-new.component';\r\nimport { LoginComponent } from './features/admin/login/login.component';\r\nimport { HomeComponent } from './features/admin/home/home.component';\r\n\r\n\r\nimport { AdminBudgetReportComponent } from './features/admin/sample-request-admin/admin-budget-report/admin-budget-report.component';\r\n\r\n\r\n\r\nimport { UnauthorizedComponent } from './features/unauthorized/unauthorized.component';\r\nimport { SampleRequestOrderHistoryComponent } from './features/admin/sample-request-order-history/sample-request-order-history.component';\r\nimport { SampleRequestOrderDetailsComponent } from './features/admin/sample-request-order-details/sample-request-order-details.component';\r\nimport { SampleRequestInventoryUsageReportComponent } from './features/admin/sample-request-inventory-usage-report/sample-request-inventory-usage-report.component';\r\n\r\nimport { ChangePasswordComponent } from './features/change-password/change-password.component';\r\nimport { homedir } from 'os';\r\n\r\nconst routes: Routes = [\r\n // Site routes goes here\r\n {\r\n path: 'home',\r\n component: SampleRequestNewComponent,\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n\r\n },\r\n // otherwise redirect to home\r\n {\r\n path: '',\r\n redirectTo: 'home',\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n pathMatch: 'full',\r\n }, \r\n //#Region Sample Admin\r\n {\r\n path: 'sample-request-admin',\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n children: [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n },\r\n {\r\n path: 'home',\r\n component: HomeComponent,\r\n canActivate: [AuthGuard],\r\n //add auth here\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n },\r\n {\r\n path: 'admin-budget-report',\r\n component: AdminBudgetReportComponent,\r\n canActivate: [AuthGuard],\r\n data: { breadcrumb: 'Budget/Allocation Reports' },\r\n },\r\n {\r\n path: 'sample-request-order-history',\r\n canActivate: [AuthGuard],\r\n component: SampleRequestOrderHistoryComponent,\r\n data: { breadcrumb: 'Order History' }\r\n },\r\n {\r\n path: 'sample-request-order-history2/order-details/:orderId',\r\n canActivate: [AuthGuard],\r\n component: SampleRequestOrderDetailsComponent,\r\n data: { breadcrumb: ['Order Details'] },\r\n },\r\n {\r\n path: 'sample-request-inventory-usage-report',\r\n canActivate: [AuthGuard],\r\n component: SampleRequestInventoryUsageReportComponent,\r\n data: { breadcrumb: 'Inventory/Usage Report' }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'change-password',\r\n canActivate: [AuthGuard],\r\n component: ChangePasswordComponent,\r\n data: { breadcrumb: 'no-bread-crumb' },\r\n\r\n },\r\n\r\n\r\n\r\n /*SELF-SERVICE UTILITIES*/\r\n {\r\n path: 'self-service', canActivate: [AuthGuard], data: { breadcrumb: 'no-bread-crumb' }, children: [\r\n\r\n { path: 'sample-request', component: SampleRequestNewComponent, data: { breadcrumb: 'Sample Request' } },\r\n\r\n ]\r\n },\r\n\r\n\r\n {\r\n path: 'unauthorized',\r\n component: UnauthorizedComponent,\r\n data: { breadcrumb: 'unauthorized' },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, HostListener, ViewChild } from '@angular/core';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES, AutoResume } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserService } from 'src/app/core/services/user.service';\r\n\r\n\r\n//declare const gtag: Function;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'AapPSFUI';\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { FooterComponent } from './core/_layoutComponents/footer/footer.component';\r\nimport { BreadcrumbComponent } from './core/_layoutComponents/breadcrumb/breadcrumb.component';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport {\r\n ExcelModule,\r\n GridModule,\r\n PDFModule,\r\n} from '@progress/kendo-angular-grid';\r\nimport { NotificationModule } from '@progress/kendo-angular-notification';\r\nimport { LabelModule } from '@progress/kendo-angular-label';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { InputsModule } from '@progress/kendo-angular-inputs';\r\nimport { CommonModule, CurrencyPipe, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HttpClientJsonpModule, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\nimport 'hammerjs';\r\nimport { ChartsModule } from '@progress/kendo-angular-charts';\r\nimport { DialogModule, DialogsModule } from '@progress/kendo-angular-dialog';\r\nimport { PrimeNgModule } from './core/library/prime-ng/prime-ng.module';\r\nimport { KendoModule } from './core/library/kendo/kendo.module';\r\n\r\nimport { NotifyComponent } from './shared/components/notify/notify.component';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport { NgxPaginationModule } from 'ngx-pagination'; // <-- import the ngx pagination\r\nimport {\r\n UploadModule,\r\n FileSelectDirective\r\n} from '@progress/kendo-angular-upload';\r\n\r\nimport { IndicatorsModule } from '@progress/kendo-angular-indicators';\r\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\r\n\r\nimport { InfoComponent } from './shared/components/info/info.component';\r\n\r\nimport { CaPropComponent } from './shared/components/ca-prop/ca-prop.component';\r\n\r\nimport { SampleRequestAdminComponent } from './features/admin/sample-request-admin/sample-request-admin.component';\r\n\r\nimport { AuthInterceptor } from './core/interceptors/auth.interceptor';\r\n\r\n\r\nimport { SampleRequestNewComponent } from './features/sample-request/sample-request-new.component';//needed\r\nimport { LoginComponent } from './features/admin/login/login.component';//needed\r\nimport { HomeComponent } from './features/admin/home/home.component';//needed\r\n\r\n\r\n\r\nimport { ImageLoaderDirective } from './core/directives/image-loader.directive';\r\nimport { StopWheelDirective} from './core/directives/kendo-numerictextbox-stop-wheel.directive';\r\nimport { InchValidateDirective } from './core/directives/inch-validator.directive';\r\n\r\nimport { UnauthorizedComponent } from './features/unauthorized/unauthorized.component';\r\n\r\nimport { LoggedInHeaderComponent } from './core/_layoutComponents/header/logged-in-header/logged-in-header.component';\r\n\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\n\r\nimport { environment } from '../environments/environment';\r\n\r\n\r\nimport { NumericTextBoxComponent } from './shared/components/numeric-text-box/numeric-text-box.component';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { InputValidatorDirective } from './core/directives/input-validator.directive';\r\n\r\nimport { SampleRequestOrderHistoryComponent } from './features/admin/sample-request-order-history/sample-request-order-history.component';\r\nimport { SampleRequestOrderDetailsComponent } from './features/admin/sample-request-order-details/sample-request-order-details.component';\r\nimport { SampleRequestInventoryUsageReportComponent } from './features/admin/sample-request-inventory-usage-report/sample-request-inventory-usage-report.component';\r\nimport { SampleRequestReorderReportComponent } from './features/admin/sample-request-reorder-report/sample-request-reorder-report.component';\r\nimport { SampleRequestUsageReportComponent } from './features/admin/sample-request-usage-report/sample-request-usage-report.component';\r\nimport { AdminBudgetReportComponent } from './features/admin/sample-request-admin/admin-budget-report/admin-budget-report.component';\r\nimport { BudgetReportComponent } from './features/admin/sample-request-admin/admin-budget-report/budget-report/budget-report.component';\r\nimport { AllocationReportComponent } from './features/admin/sample-request-admin/admin-budget-report/allocation-report/allocation-report.component';\r\n\r\nimport { ChangePasswordComponent } from './features/change-password/change-password.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n FooterComponent,\r\n BreadcrumbComponent, \r\n NotifyComponent, \r\n InfoComponent, \r\n CaPropComponent,\r\n \r\n SampleRequestAdminComponent, \r\n SampleRequestNewComponent, \r\n \r\n ImageLoaderDirective,\r\n StopWheelDirective,\r\n InchValidateDirective,\r\n \r\n UnauthorizedComponent,\r\n \r\n LoggedInHeaderComponent, \r\n \r\n NumericTextBoxComponent,\r\n InputValidatorDirective,\r\n \r\n SampleRequestOrderHistoryComponent,\r\n SampleRequestOrderDetailsComponent,\r\n SampleRequestInventoryUsageReportComponent,\r\n SampleRequestReorderReportComponent,\r\n SampleRequestUsageReportComponent,\r\n AdminBudgetReportComponent,\r\n BudgetReportComponent,\r\n AllocationReportComponent,\r\n \r\n ChangePasswordComponent,\r\n LoginComponent,\r\n HomeComponent\r\n\r\n \r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n ButtonsModule,\r\n BrowserAnimationsModule,\r\n DropDownsModule,\r\n GridModule,\r\n NotificationModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n HttpClientJsonpModule,\r\n DropDownsModule,\r\n LabelModule,\r\n ButtonsModule,\r\n PopupModule,\r\n InputsModule,\r\n LayoutModule,\r\n GridModule,\r\n ChartsModule,\r\n PDFModule,\r\n ExcelModule,\r\n DialogModule,\r\n PrimeNgModule,\r\n KendoModule,\r\n DialogsModule,\r\n UploadModule ,\r\n NgxPaginationModule,\r\n IndicatorsModule,\r\n TooltipModule,\r\n NgIdleKeepaliveModule.forRoot(), \r\n ],\r\n entryComponents: [NotifyComponent],\r\n exports: [PrimeNgModule, KendoModule],\r\n providers: [CookieService, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }, CurrencyPipe,\r\n { provide: LocationStrategy, useClass: PathLocationStrategy }, DeviceDetectorService ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","export default \".breadcrumb-container .breadcrumb {\\n background: #fff;\\n}\\n\\n.breadcrumb a {\\n cursor: pointer;\\n color: black;\\n /*color: #ee3322;*/\\n}\\n\\n.breadcrumb a:hover {\\n cursor: pointer;\\n text-decoration: underline;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9fbGF5b3V0Q29tcG9uZW50cy9icmVhZGNydW1iL0M6XFxTdWRpcHRhXFxQcm9qZWN0c1xcdGNzLXNhbXBsZS1yZXF1ZXN0LWFhcFxcQWFwUFNGVUkvc3JjXFxhcHBcXGNvcmVcXF9sYXlvdXRDb21wb25lbnRzXFxicmVhZGNydW1iXFxicmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb3JlL19sYXlvdXRDb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGdCQUFBO0FDQ0o7O0FERUU7RUFDRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FERUU7RUFDRSxlQUFBO0VBQ0EsMEJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvX2xheW91dENvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJyZWFkY3J1bWItY29udGFpbmVyIC5icmVhZGNydW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5icmVhZGNydW1iIGEge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICAvKmNvbG9yOiAjZWUzMzIyOyovXHJcbiAgfVxyXG4gIFxyXG4gIC5icmVhZGNydW1iIGE6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG4iLCIuYnJlYWRjcnVtYi1jb250YWluZXIgLmJyZWFkY3J1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnJlYWRjcnVtYiBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogYmxhY2s7XG4gIC8qY29sb3I6ICNlZTMzMjI7Ki9cbn1cblxuLmJyZWFkY3J1bWIgYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n static readonly ROUTE_DATA_BREADCRUMB = 'breadcrumb';\r\n readonly noBreadCrumb = { label: 'Home', url: '' };\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {}\r\n public menuItems: MenuItem[];\r\n ngOnInit(): void {\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe(\r\n () =>\r\n (this.menuItems = this.createBreadcrumbs(this.activatedRoute.root))\r\n ); \r\n } \r\n private createBreadcrumbs(\r\n route: ActivatedRoute,\r\n url: string = '',\r\n breadcrumbs: MenuItem[] = []\r\n ): MenuItem[] {\r\n const children: ActivatedRoute[] = route.children;\r\n if (children.length === 0) {\r\n return breadcrumbs;\r\n }\r\n for (const child of children) {\r\n const routeURL: string = child.snapshot.url\r\n .map((segment) => segment.path)\r\n .join('/');\r\n if (routeURL !== '') {\r\n url += `/${routeURL}`;\r\n }\r\n var label =\r\n child.snapshot.data[BreadcrumbComponent.ROUTE_DATA_BREADCRUMB];\r\n if (label !== ('no-bread-crumb' || null || undefined) && label != \"Products\" && label != \"Details\" && label != \"literature\") {\r\n breadcrumbs.push({ label, url });\r\n } else if (label == 'Products') {\r\n label = child.snapshot.url[2].path; //binding path from route URL\r\n breadcrumbs.push({ label, url });\r\n } else if (label == 'Details') {\r\n if (child.snapshot.url.length > 0) {\r\n label = child.snapshot.url[child.snapshot.url.length - 1].path;\r\n breadcrumbs.push({ label, url });\r\n }\r\n } \r\n else if (label == 'literature') {\r\n if (child.snapshot.url.length > 0) {\r\n label = child.snapshot.url[child.snapshot.url.length - 1].path;\r\n breadcrumbs.push({ label, url });\r\n }\r\n }\r\n return this.createBreadcrumbs(child, url, breadcrumbs);\r\n }\r\n }\r\n}\r\n","export default \"footer ul {\\n width: 100%;\\n background: #fff;\\n padding: 20px 15px;\\n border-bottom: 1px solid #f5f2f2;\\n border-top: 1px solid #f5f2f2;\\n margin-bottom: 0;\\n}\\n\\nfooter li {\\n display: inline;\\n border-right: 1px solid #c0bebe;\\n}\\n\\nfooter li a {\\n text-transform: uppercase;\\n color: #979494;\\n padding: 0 15px;\\n font-size: 18px;\\n}\\n\\nfooter li:last-child {\\n border-right: none;\\n}\\n\\n.footer-disclosure {\\n background: #666677;\\n padding: 40px 0;\\n}\\n\\n.footer-disclosure p {\\n color: #fff;\\n padding: 0 30px;\\n font-size: 12px;\\n margin: 0;\\n}\\n\\nspan.copyright {\\n color: #fff;\\n font-size: 10px;\\n}\\n\\n@media only screen and (min-width: 320px) and (max-width: 991px) {\\n footer li a {\\n text-transform: uppercase;\\n color: #979494;\\n padding: 0 12px;\\n font-size: 14px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9fbGF5b3V0Q29tcG9uZW50cy9mb290ZXIvQzpcXFN1ZGlwdGFcXFByb2plY3RzXFx0Y3Mtc2FtcGxlLXJlcXVlc3QtYWFwXFxBYXBQU0ZVSS9zcmNcXGFwcFxcY29yZVxcX2xheW91dENvbXBvbmVudHNcXGZvb3RlclxcZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb3JlL19sYXlvdXRDb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQkFBQTtBQ0NGOztBREVBO0VBQ0UsZUFBQTtFQUNBLCtCQUFBO0FDQ0Y7O0FERUE7RUFDRSx5QkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7QUNDRjs7QURFQTtFQUNFLG1CQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7QUNDRjs7QURDQTtFQUNFO0lBQ0UseUJBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7RUNFRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9fbGF5b3V0Q29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiZm9vdGVyIHVsIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDIwcHggMTVweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQjZjVmMmYyO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCNmNWYyZjI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuZm9vdGVyIGxpIHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjYzBiZWJlO1xyXG59XHJcblxyXG5mb290ZXIgbGkgYSB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogIzk3OTQ5NDtcclxuICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG5mb290ZXIgbGk6bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcblxyXG4uZm9vdGVyLWRpc2Nsb3N1cmUge1xyXG4gIGJhY2tncm91bmQ6ICM2NjY2Nzc7XHJcbiAgcGFkZGluZzogNDBweCAwO1xyXG59XHJcblxyXG4uZm9vdGVyLWRpc2Nsb3N1cmUgcCB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogMCAzMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbnNwYW4uY29weXJpZ2h0IHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcbiAgZm9vdGVyIGxpIGEge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAjOTc5NDk0O1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuICAgIH1cclxuIiwiZm9vdGVyIHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmNWYyZjI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjVmMmYyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5mb290ZXIgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjMGJlYmU7XG59XG5cbmZvb3RlciBsaSBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM5Nzk0OTQ7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5mb290ZXIgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmZvb3Rlci1kaXNjbG9zdXJlIHtcbiAgYmFja2dyb3VuZDogIzY2NjY3NztcbiAgcGFkZGluZzogNDBweCAwO1xufVxuXG4uZm9vdGVyLWRpc2Nsb3N1cmUgcCB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiAwO1xufVxuXG5zcGFuLmNvcHlyaWdodCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICBmb290ZXIgbGkgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk3OTQ5NDtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { IFooterLabel } from '../../models';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n isLogin: boolean;\r\n footerTxt: IFooterLabel;\r\n constructor(private userService: UserService) {\r\n this.isLogin = this.userService.isAuthenticated();\r\n this.userService.isUserLoggedIn.subscribe(response => {\r\n this.isLogin = response;\r\n });\r\n }\r\n ngOnInit() { }\r\n\r\n footer = {\r\n footerDisclosureLbl: 'Due to the variance of laws and building and safety codes governing the design and use of glazed entrance, window and curtain wall products, seller does not assume responsibility for selections of product configurations, operating hardware or glazing materials.',\r\n contactUsLbl: 'CONTACT US',\r\n FAQLbl: 'FAQ',\r\n kawneerComLbl: 'KAWNEER.COM',\r\n legalNoticeLbl: 'LEGAL NOTICES',\r\n privacyPolicyLbl: 'PRIVACY POLICY',\r\n termsAndConditionsLbl: 'TERMS AND CONDITIONS',\r\n copyRightLbl: 'Copyright',\r\n copyRightTxtLbl: '2019-2020 Kawneer an Arconic Company. All rights reserved',\r\n }\r\n //#endregion\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvX2xheW91dENvbXBvbmVudHMvaGVhZGVyL2xvZ2dlZC1pbi1oZWFkZXIvbG9nZ2VkLWluLWhlYWRlci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-logged-in-header',\r\n templateUrl: './logged-in-header.component.html',\r\n styleUrls: ['./logged-in-header.component.scss']\r\n})\r\nexport class LoggedInHeaderComponent implements OnInit {\r\n userName: string = \"\";\r\n constructor(private userService: UserService,\r\n private router: Router) {\r\n this.userName = this.userService.readUserObject.userName;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n public logOut(): void {\r\n this.userService.logout();\r\n }\r\n\r\n changepassword() {\r\n this.router.navigate(['change-password']);\r\n }\r\n}\r\n","import { State, DataResult } from '@progress/kendo-data-query';\r\n\r\nexport class Info implements IInfo {\r\n genericSuccess: string;\r\n genericError: string;\r\n genericInProgress: string;\r\n inProgressMessage = \"Saving Data. Please wait\";\r\n successMessage = \"Details saved successfully\";\r\n errorMessage=\"An error occured. Please try again\"\r\n}\r\nexport interface IInfo {\r\n genericSuccess: string;\r\n genericError: string;\r\n genericInProgress: string;\r\n}\r\n\r\nexport interface GridSettings {\r\n columnsConfig: ColumnSettings[];\r\n state: State;\r\n gridData?: DataResult;\r\n}\r\nexport interface ColumnSettings {\r\n field: string;\r\n title?: string;\r\n filter?: 'string'|'numeric'|'date'|'boolean';//was filter donno why\r\n format?: string;\r\n width?: number;\r\n _width?: number;\r\n filterable: boolean;\r\n orderIndex?: number;\r\n hidden?: boolean;\r\n widthForPDF?: number;\r\n}\r\n\r\n","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[imageLoader]'\r\n})\r\nexport class ImageLoaderDirective {\r\n\r\n @Input('src') imageSrc;\r\n @HostListener('load')\r\n loadImage() {\r\n this.srcAttr = this.imageSrc;\r\n }\r\n\r\n @HostBinding('attr.src') srcAttr = \"../../../assets/images/loading.svg\"\r\n constructor() { }\r\n}\r\n\r\n","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[InchValidate]'\r\n})\r\nexport class InchValidateDirective {\r\n private srcAttrValue = '';\r\n @Input('value') sourceValue;\r\n @HostListener('blur')\r\n valueRefresh() {\r\n const regex = /^([1-2]?[0-9]{1,3})\\'([0-9]|[0-1]{2})\\\"$/gm;\r\n let temp = [];\r\n if ((temp = regex.exec(this.sourceValue))) {\r\n this.srcAttrValue = temp[0];\r\n } else {\r\n this.srcAttrValue = '';\r\n }\r\n\r\n }\r\n\r\n @HostBinding('attr.value') srcAttr = this.srcAttrValue;\r\n constructor() { }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInputValidator]'\r\n})\r\nexport class InputValidatorDirective {\r\n regexStr = '^[a-zA-Z 0-9.,-]*$';\r\n @Output() showInfo: EventEmitter = new EventEmitter();\r\n constructor(private el: ElementRef) { }\r\n\r\n @HostListener('keypress',['$event'])\r\n onKeyPress(event) {\r\n //console.log('keypress');\r\n var status = new RegExp(this.regexStr).test(event.key);\r\n this.showInfo.emit(status);\r\n return status;\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n blockPaste(event: ClipboardEvent) {\r\n this.validateFields(event);\r\n }\r\n validateFields(event: ClipboardEvent) {\r\n event.preventDefault();\r\n const pasteData = event.clipboardData.getData('text/plain').replace(/[^a-zbA-Z 0-9.,-]/g, '');\r\n //console.log('paste'); \r\n document.execCommand('insertHTML', false, pasteData);\r\n var status = new RegExp(this.regexStr).test(event.clipboardData.getData('text/plain'));\r\n this.showInfo.emit(status);\r\n }\r\n\r\n}\r\n","import { Directive, Input, Renderer2, SimpleChanges } from \"@angular/core\";\r\nimport { NumericTextBoxComponent } from \"@progress/kendo-angular-inputs\";\r\n\r\n@Directive({\r\n selector: 'kendo-numerictextbox'\r\n})\r\nexport class StopWheelDirective {\r\n @Input() stopWheel: boolean = false;\r\n private stopInputWheelFn;\r\n private stopSpinnersWheelFn;\r\n\r\n constructor(private host: NumericTextBoxComponent, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n if (this.stopWheel) {\r\n this.stopWheelEvent();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.stopWheel && !changes.stopWheel.firstChange) {\r\n if (changes.stopWheel.currentValue) {\r\n this.stopWheelEvent();\r\n } else {\r\n this.stopListeners();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopListeners();\r\n }\r\n\r\n private stopWheelEvent() {\r\n const inputElement: HTMLElement = this.host.numericInput.nativeElement;\r\n const spinnersWrapperElement: HTMLElement = inputElement.nextElementSibling as HTMLElement;\r\n if (inputElement) {\r\n this.stopInputWheelFn = this.renderer.listen(inputElement, 'wheel', (event) => {\r\n event.stopImmediatePropagation();\r\n });\r\n }\r\n if (spinnersWrapperElement) {\r\n this.stopSpinnersWheelFn = this.renderer.listen(spinnersWrapperElement, 'wheel', (event) => {\r\n event.stopImmediatePropagation();\r\n });\r\n }\r\n }\r\n\r\n private stopListeners() {\r\n if (this.stopInputWheelFn) {\r\n this.stopInputWheelFn();\r\n }\r\n\r\n if (this.stopSpinnersWheelFn) {\r\n this.stopSpinnersWheelFn();\r\n }\r\n }\r\n}\r\n","export enum NotifyType {\r\n SUCCESS= 0,\r\n ERROR = 1,\r\n WARNING = 3,\r\n INFO=4\r\n}\r\n","export enum V6FrameType {\r\n RESOURCE_FRAME = 0,\r\n NESTED_FRAME = 1,\r\n}\r\nexport enum V6ProductCreationStep {\r\n GENERAL_CONFIG = 0,\r\n MANAGE_FRAME = 1,\r\n CONFIGURE_FRAME = 2,\r\n}\r\nexport enum V6FrameConfigMode {\r\n ADD_RESOURCE_FRAME = 0,\r\n EDIT_RESOURCE_FRAME = 1,\r\n ADD_NESTED_FRAME = 2,\r\n EDIT_NESTED_FRAME = 3,\r\n}\r\nexport enum ProductConfigStep {\r\n BASE_CONFIG = 0,\r\n CONFIG_DETAILS = 1,\r\n CONFIRM_CONFIG = 2,\r\n}\r\nexport enum V6ProductType {\r\n CONFIGURED = 1,\r\n KWIK_KEY_DOOR = 2,\r\n KWIK_KEY_FRAME = 3,\r\n DRAFT = 4,\r\n}\r\nexport enum KwikKeyConfigType {\r\n NONE=0,\r\n DOOR_ONLY = 1,\r\n DOOR_AND_FRAME = 2,\r\n FRAME_ONLY = 3,\r\n FRAME_AND_DOOR=4\r\n}\r\nexport enum ProductConfigOpsType {\r\n ADD = 1,\r\n EDIT = 2,\r\n COPY = 3\r\n}\r\nexport enum V6OptionValueType {\r\n LIST = 'List',\r\n RADIO = 'Radio',\r\n STRING = 'String',\r\n DOUBLE = 'Double',\r\n BOOLEAN = 'Boolean',\r\n}\r\n\r\nexport enum V6ConfigurationActioType {\r\n ADMIN_PREVIEW = 'ADMIN_PREVIEW',\r\n USER_PRODUCT_CREATION = 'USER_PRODUCT_CREATION',\r\n}\r\n\r\nexport enum V6FrameConfigType {\r\n SBVMORT = 'SBVMORT',\r\n OTHER = 'OTHER',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { UserService } from '../services/user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n isInternalUser: boolean;\r\n constructor(private userService: UserService,\r\n private authService: AuthService,\r\n private router: Router) { }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n if (!this.authService.isAuthenticated()) {\r\n this.userService.UnAuthReq.next(true);\r\n this.router.navigate(['/unauthorized']);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { NEVER, Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { UserService } from '../services/user.service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { BaseResponse } from '../models';\r\nconst jwtHelper = new JwtHelperService();\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor(private authService: AuthService, private cookieService: CookieService, private userService: UserService, private router: Router) {\r\n\r\n }\r\n\r\n intercept(req: HttpRequest,\r\n next: HttpHandler): Observable> {\r\n const idToken = localStorage.getItem('aap_user_token');\r\n //let cloned = req.clone({\r\n // headers: new HttpHeaders({ \r\n // 'Cache-Control': 'no-cache',\r\n // 'Pragma': 'no-cache',\r\n // 'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT'\r\n // })\r\n //});\r\n if (idToken) {\r\n const cloned = req.clone({\r\n headers: req.headers.set(\"Authorization\",\r\n \"Bearer \" + idToken)\r\n });\r\n\r\n //cloned.headers.append('Authorization', \"Bearer \" + idToken);\r\n\r\n return next.handle(cloned).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n this.userService.logoutUnAuthorized();\r\n return NEVER;\r\n }\r\n else {\r\n return next.handle(req);\r\n }\r\n }));\r\n }\r\n else {\r\n return next.handle(req);\r\n }\r\n }\r\n\r\n //refreshTokenIfAboutToExpire() {\r\n // var token = this.authService.getToken();\r\n // var isAuthenticated = this.authService.isAuthenticated();\r\n // if (token) {\r\n // if (isAuthenticated) {\r\n // var a: Date = jwtHelper.getTokenExpirationDate(token);\r\n // var now: Date = new Date();\r\n // var diffMs = (a.getTime() - now.getTime()); // milliseconds between now & expiration time\r\n // var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes\r\n // if (diffMins <= 10) {\r\n // this.userService.refresh().subscribe(response => {\r\n // this.userService.saveToken(response.token);\r\n // });\r\n // }\r\n // }\r\n // else {\r\n // this.userService.logout();\r\n // location.reload();\r\n // }\r\n // }\r\n //}\r\n}\r\n","export default \"kendo-daterange > kendo-dateinput.range-filter {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.k-button {\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.dateWidth{\\r\\n font-size: 12px;\\r\\n width: 100px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9saWJyYXJ5L2tlbmRvL2NvbXBvbmVudHMvZmlsdGVycy9ncmlkLWRhdGVyYW5nZS1maWx0ZXIvZ3JpZC1kYXRlcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBR0E7RUFDRSxlQUFlO0VBQ2YsWUFBWTtBQUNkIiwiZmlsZSI6InNyYy9hcHAvY29yZS9saWJyYXJ5L2tlbmRvL2NvbXBvbmVudHMvZmlsdGVycy9ncmlkLWRhdGVyYW5nZS1maWx0ZXIvZ3JpZC1kYXRlcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJrZW5kby1kYXRlcmFuZ2UgPiBrZW5kby1kYXRlaW5wdXQucmFuZ2UtZmlsdGVyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5rLWJ1dHRvbiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxuXHJcbi5kYXRlV2lkdGh7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIHdpZHRoOiAxMDBweDtcclxufVxyXG4iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseFilterCellComponent, FilterService } from '@progress/kendo-angular-grid';\r\nimport { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';\r\n\r\n@Component({\r\n selector: 'app-grid-daterange-filter',\r\n templateUrl: './grid-daterange-filter.component.html',\r\n styleUrls: ['./grid-daterange-filter.component.css']\r\n})\r\nexport class GridDaterangeFilterComponent extends BaseFilterCellComponent implements OnInit {\r\n\r\n @Input()\r\n public filter: CompositeFilterDescriptor;\r\n\r\n @Input()\r\n public field: string;\r\n\r\n constructor(filterService: FilterService) {\r\n super(filterService);\r\n }\r\n\r\n public get start(): Date {\r\n const first = this.findByOperator('gte');\r\n\r\n return (first || ({} as FilterDescriptor)).value;\r\n }\r\n\r\n public get end(): Date {\r\n const end = this.findByOperator('lte');\r\n return (end || ({} as FilterDescriptor)).value;\r\n }\r\n\r\n public get hasFilter(): boolean {\r\n return this.filtersByField(this.field).length > 0;\r\n }\r\n\r\n public clearFilter(): void {\r\n this.filterService.filter(\r\n this.removeFilter(this.field)\r\n );\r\n }\r\n\r\n public filterRange(start: Date, end: Date): void {\r\n this.filter = this.removeFilter(this.field);\r\n\r\n const filters = [];\r\n\r\n if (start) {\r\n filters.push({\r\n field: this.field,\r\n operator: 'gte',\r\n value: start\r\n });\r\n }\r\n\r\n if (end) {\r\n filters.push({\r\n field: this.field,\r\n operator: 'lte',\r\n value: end\r\n });\r\n }\r\n\r\n const root = this.filter || {\r\n logic: 'and',\r\n filters: []\r\n };\r\n\r\n if (filters.length) {\r\n root.filters.push(...filters);\r\n }\r\n\r\n this.filterService.filter(root);\r\n }\r\n\r\n private findByOperator(op: string): FilterDescriptor {\r\n return this.filtersByField(this.field)\r\n .filter(({ operator }) => operator === op)[0];\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n\r\n}\r\n","export default \"kendo-daterange > kendo-dateinput.range-filter {\\n display: inline-block;\\n}\\n\\n.k-button {\\n margin-left: 5px;\\n}\\n\\n.dateWidth {\\n font-size: 12px;\\n width: 100px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9saWJyYXJ5L2tlbmRvL2NvbXBvbmVudHMvZmlsdGVycy9ncmlkLWRhdGVyYW5nZS1wd2EtZmlsdGVyL0M6XFxTdWRpcHRhXFxQcm9qZWN0c1xcdGNzLXNhbXBsZS1yZXF1ZXN0LWFhcFxcQWFwUFNGVUkvc3JjXFxhcHBcXGNvcmVcXGxpYnJhcnlcXGtlbmRvXFxjb21wb25lbnRzXFxmaWx0ZXJzXFxncmlkLWRhdGVyYW5nZS1wd2EtZmlsdGVyXFxncmlkLWRhdGVyYW5nZS1wd2EtZmlsdGVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb3JlL2xpYnJhcnkva2VuZG8vY29tcG9uZW50cy9maWx0ZXJzL2dyaWQtZGF0ZXJhbmdlLXB3YS1maWx0ZXIvZ3JpZC1kYXRlcmFuZ2UtcHdhLWZpbHRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtBQ0NGOztBREdBO0VBQ0UsZUFBQTtFQUNBLFlBQUE7QUNBRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvbGlicmFyeS9rZW5kby9jb21wb25lbnRzL2ZpbHRlcnMvZ3JpZC1kYXRlcmFuZ2UtcHdhLWZpbHRlci9ncmlkLWRhdGVyYW5nZS1wd2EtZmlsdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsia2VuZG8tZGF0ZXJhbmdlID4ga2VuZG8tZGF0ZWlucHV0LnJhbmdlLWZpbHRlciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uay1idXR0b24ge1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcblxyXG4uZGF0ZVdpZHRoIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG59XHJcbiIsImtlbmRvLWRhdGVyYW5nZSA+IGtlbmRvLWRhdGVpbnB1dC5yYW5nZS1maWx0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5rLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5kYXRlV2lkdGgge1xuICBmb250LXNpemU6IDEycHg7XG4gIHdpZHRoOiAxMDBweDtcbn0iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseFilterCellComponent, FilterService } from '@progress/kendo-angular-grid';\r\nimport { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';\r\n\r\n@Component({\r\n selector: 'app-grid-daterange-pwa-filter',\r\n templateUrl: './grid-daterange-pwa-filter.component.html',\r\n styleUrls: ['./grid-daterange-pwa-filter.component.scss']\r\n})\r\nexport class GridDaterangePwaFilterComponent extends BaseFilterCellComponent implements OnInit {\r\n\r\n @Input()\r\n public filter: CompositeFilterDescriptor;\r\n\r\n @Input()\r\n public field: string;\r\n\r\n constructor(filterService: FilterService) {\r\n super(filterService);\r\n }\r\n\r\n public get start(): Date {\r\n const first = this.findByOperator('gte');\r\n\r\n return (first || ({} as FilterDescriptor)).value;\r\n }\r\n\r\n public get end(): Date {\r\n const end = this.findByOperator('lte');\r\n return (end || ({} as FilterDescriptor)).value;\r\n }\r\n\r\n public get hasFilter(): boolean {\r\n return this.filtersByField(this.field).length > 0;\r\n }\r\n\r\n public clearFilter(): void {\r\n this.filterService.filter(\r\n this.removeFilter(this.field)\r\n );\r\n }\r\n\r\n public filterRange(start: Date, end: Date): void {\r\n this.filter = this.removeFilter(this.field);\r\n\r\n const filters = [];\r\n\r\n if (start) {\r\n filters.push({\r\n field: this.field,\r\n operator: 'gte',\r\n value: start\r\n });\r\n }\r\n\r\n if (end) {\r\n filters.push({\r\n field: this.field,\r\n operator: 'lte',\r\n value: end\r\n });\r\n }\r\n\r\n const root = this.filter || {\r\n logic: 'and',\r\n filters: []\r\n };\r\n\r\n if (filters.length) {\r\n root.filters.push(...filters);\r\n }\r\n\r\n this.filterService.filter(root);\r\n }\r\n\r\n private findByOperator(op: string): FilterDescriptor {\r\n return this.filtersByField(this.field)\r\n .filter(({ operator }) => operator === op)[0];\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\r\nimport { FilterService, BaseFilterCellComponent } from '@progress/kendo-angular-grid';\r\n\r\n@Component({\r\n selector: 'app-grid-dropdown-filter',\r\n templateUrl: './grid-dropdown-filter.component.html'\r\n})\r\nexport class GridDropdownFilterComponent extends BaseFilterCellComponent {\r\n\r\n public get selectedValue(): any {\r\n const filter = this.filterByField(this.valueField);\r\n return filter ? filter.value : null;\r\n }\r\n\r\n @Input() public filter: CompositeFilterDescriptor;\r\n @Input() public data: any[];\r\n @Input() public textField: string;\r\n @Input() public valueField: string;\r\n\r\n public get defaultItem(): any {\r\n return {\r\n [this.textField]: 'All',\r\n [this.valueField]: null\r\n };\r\n }\r\n\r\n constructor(filterService: FilterService) {\r\n super(filterService);\r\n }\r\n\r\n public onChange(value: any): void {\r\n this.applyFilter(\r\n value === null || value === 'All' ? // value of the default item\r\n this.removeFilter(this.valueField) : // remove the filter\r\n this.updateFilter({ // add a filter for the field with the value\r\n field: this.valueField,\r\n operator: 'eq',\r\n value\r\n })\r\n ); // update the root filter\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvbGlicmFyeS9rZW5kby9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input,Output,EventEmitter } from '@angular/core';\r\nimport { SelectEvent } from '@progress/kendo-angular-layout';\r\nimport { FileInfo, FileRestrictions, RemoveEvent, SuccessEvent, UploadEvent } from '@progress/kendo-angular-upload';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { ConfigService } from '../../../../services/config.service';\r\n\r\n@Component({\r\n selector: 'app-upload',\r\n templateUrl: './upload.component.html',\r\n styleUrls: ['./upload.component.scss']\r\n})\r\nexport class UploadComponent implements OnInit {\r\n uploadSaveUrl = environment.apiUrl + ConfigService.APIs.endPoints.UPLOAD.UPLOAD_FILES_KENDO; // should represent an actual API endpoint\r\n uploadRemoveUrl = environment.apiUrl + ConfigService.APIs.endPoints.UPLOAD.REMOVE_FILES_KENDO;//'https://localhost:44359/api/Admin/RemoveFile'; // should represent an actual API endpoint\r\n //myFiles: Array = [];\r\n @Input() public myFiles: Array = [];\r\n @Input() public multiple: Boolean;//multi or single\r\n @Input() public uploadFolderPath: String = '';//\r\n @Input() public fileRestrictions: FileRestrictions = {\r\n allowedExtensions: [\".jpg\", \".png\"],\r\n };\r\n @Output() public fileSelect: EventEmitter = new EventEmitter();\r\n @Output() public uploadSuccess: EventEmitter = new EventEmitter();\r\n @Output() public uploadComplete: EventEmitter = new EventEmitter();\r\n @Output() public uploadRemove: EventEmitter = new EventEmitter();\r\n uploadedFilePaths: any;\r\n //apiURL = environment.apiUrl + ConfigService.APIs.endPoints.UPLOAD.UPLOAD_FILES_KENDO;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n onUpload(e: UploadEvent) {\r\n e.data = {\r\n uploadFolder: this.uploadFolderPath,\r\n fileNameRename: !this.multiple /// for multiple file upload renaming the file will create problem for remove API..so renaming is false if multiple is true\r\n };\r\n //e.data = this.uploadFolderPath;\r\n var a = this.multiple;\r\n }\r\n onSelect(evt) {\r\n //debugger;\r\n // var fileNameArray = this.myFiles.map(function (item) { return item.name });\r\n // var isDuplicate = fileNameArray.some(function (item, idx) {\r\n // return fileNameArray.indexOf(item) != idx\r\n // });\r\n \r\nvar selectedFileName = evt.files[0].name; \r\n var hasDuplicates = this.myFiles && this.myFiles.some(function (currentObject) {\r\n return selectedFileName === currentObject.name;\r\n });\r\n if (hasDuplicates) {\r\n alert(\"Duplicate file selected\");\r\n evt.preventDefault();\r\n }\r\n else{\r\n if (evt.files[0].rawFile) {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n this.myFiles.push({...evt.files[0], src: reader.result});\r\n };\r\n }\r\n this.fileSelect.emit(evt);\r\n }\r\n }\r\n public onSuccess(evt: SuccessEvent) {\r\n //debugger;\r\n if (evt.operation === 'upload') {\r\n this.uploadedFilePaths = evt.response.body.paths;//for multiple false\r\n console.log('The ' + evt.operation + ' was successful!');\r\n this.uploadSuccess.emit(evt);\r\n }\r\n }\r\n public onRemove(evt: RemoveEvent) {\r\n //debugger;\r\n evt.data = {\r\n uploadFiles: this.multiple ? `${this.uploadFolderPath}/${evt.files[0].name}` : this.uploadedFilePaths,\r\n\r\n };\r\n this.uploadRemove.emit(evt);\r\n }\r\n public onComplete() {\r\n //debugger;\r\n this.uploadComplete.emit(true);\r\n }\r\n}\r\n","import { Component, Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { Observable, of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UploadInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.url === 'saveUrl') {\r\n const events: Observable>[] = [0, 30, 60, 100].map((x) => of({\r\n type: HttpEventType.UploadProgress,\r\n loaded: x,\r\n total: 100\r\n }).pipe(delay(1000)));\r\n\r\n const success = of(new HttpResponse({ status: 200 })).pipe(delay(1000));\r\n events.push(success);\r\n\r\n return concat(...events);\r\n }\r\n\r\n if (req.url === 'removeUrl') {\r\n return of(new HttpResponse({ status: 200 }));\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {\r\n DropDownsModule,\r\n AutoCompleteModule\r\n} from '@progress/kendo-angular-dropdowns';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { DialogModule } from '@progress/kendo-angular-dialog';\r\nimport { InputsModule } from '@progress/kendo-angular-inputs';\r\nimport { MenuModule } from '@progress/kendo-angular-menu';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { GridModule, PDFModule, ExcelModule } from '@progress/kendo-angular-grid';\r\nimport { ChartsModule } from '@progress/kendo-angular-charts';\r\nimport { GridDropdownFilterComponent } from './components/filters/grid-dropdown-filter/grid-dropdown-filter.component';\r\nimport { GridDaterangeFilterComponent } from './components/filters/grid-daterange-filter/grid-daterange-filter.component';\r\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\r\nimport { UploadModule } from '@progress/kendo-angular-upload';\r\nimport { EditorModule } from '@progress/kendo-angular-editor';\r\nimport { RippleModule } from '@progress/kendo-angular-ripple';\r\nimport { IntlModule } from '@progress/kendo-angular-intl';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\nimport { SwitchModule } from '@progress/kendo-angular-inputs';\r\nimport { DialogsModule } from '@progress/kendo-angular-dialog';\r\nimport { TreeViewModule } from '@progress/kendo-angular-treeview';\r\nimport { NotificationModule } from '@progress/kendo-angular-notification';\r\nimport { FloatingLabelModule } from '@progress/kendo-angular-label';\r\nimport { UploadInterceptor } from './interceptor/upload-interceptor';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { UploadComponent } from './components/upload/upload.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { GridDaterangePwaFilterComponent } from './components/filters/grid-daterange-pwa-filter/grid-daterange-pwa-filter.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [GridDropdownFilterComponent, GridDaterangeFilterComponent, UploadComponent, GridDaterangePwaFilterComponent],\r\n imports: [\r\n CommonModule,\r\n DropDownsModule,\r\n AutoCompleteModule,\r\n GridModule,\r\n PopupModule,\r\n DialogModule,\r\n InputsModule,\r\n MenuModule,\r\n PopupModule,\r\n ButtonsModule,\r\n PDFModule,\r\n ExcelModule,\r\n ChartsModule,\r\n MenuModule,\r\n ButtonsModule,\r\n DateInputsModule,\r\n LayoutModule,\r\n SwitchModule,\r\n DialogsModule,\r\n TreeViewModule,\r\n NotificationModule,\r\n FloatingLabelModule,\r\n BrowserAnimationsModule,\r\n UploadModule,\r\n FormsModule,\r\n ],\r\n\r\n exports: [\r\n DropDownsModule,\r\n AutoCompleteModule,\r\n GridModule,\r\n PopupModule,\r\n DialogModule,\r\n InputsModule,\r\n MenuModule,\r\n PopupModule,\r\n ButtonsModule,\r\n PDFModule,\r\n ExcelModule,\r\n ChartsModule,\r\n MenuModule,\r\n ButtonsModule,\r\n GridDropdownFilterComponent,\r\n GridDaterangeFilterComponent,\r\n DateInputsModule,\r\n UploadModule,\r\n EditorModule,\r\n RippleModule,\r\n IntlModule,\r\n LayoutModule,\r\n SwitchModule,\r\n DialogsModule,\r\n TreeViewModule,\r\n NotificationModule,\r\n FloatingLabelModule,\r\n UploadComponent,\r\n GridDaterangePwaFilterComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: UploadInterceptor,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class KendoModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { SlideMenuModule } from 'primeng/slidemenu';\r\nimport { PanelModule } from 'primeng/panel';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n BreadcrumbModule,\r\n CalendarModule,\r\n DropdownModule,\r\n SlideMenuModule,\r\n PanelModule\r\n ],\r\n\r\n exports: [\r\n CalendarModule,\r\n SlideMenuModule,\r\n PanelModule\r\n ],\r\n})\r\nexport class PrimeNgModule { }\r\n","import { FileInfo, FileRestrictions } from '@progress/kendo-angular-upload';\r\nimport { SortDescriptor } from '@progress/kendo-data-query';\r\nimport { KwikKeyConfigType, V6FrameConfigType, V6FrameType, V6ProductType } from '../enums';\r\n\r\n//#region advance search\r\nexport interface IAdvanceSearchLbl {\r\n defaultViewLbl: string;\r\n tileViewLbl: string;\r\n listViewLbl: string;\r\n finishLowercaseLbl: string;\r\n imageLbl: string;\r\n paintLbl: string;\r\n sizeLbl: string;\r\n quantityLbl: string;\r\n descriptionLbl: string;\r\n itemLbl: string;\r\n listPriceLbl: string;\r\n selectionLbl: string;\r\n addToCartLbl: string;\r\n addToQuoteLbl: string;\r\n buildLbl: string;\r\n categoryLbl: string;\r\n finishUppercaseLbl: string;\r\n selectAllLbl: string;\r\n tileNoRecordLbl: string;\r\n priceLbl: string;\r\n tileItemPerPageLbl: string;\r\n ofLbl: string;\r\n itemsLbl: string;\r\n clearSearchLbl: string;\r\n}\r\n//#endregion\r\n//#region quick add\r\nexport interface IQuickAddLabel {\r\n idDescriptionLbl: string;\r\n finishLbl: string;\r\n setDefaultLbl: string;\r\n defaultLbl: string;\r\n paintLbl: string;\r\n sizeLbl: string;\r\n quantityLbl: string;\r\n uomLbl: string;\r\n addToCartLbl: string;\r\n clearSelectionLbl: string;\r\n buildBuyLbl: string;\r\n defaultInfoLbl1: string;\r\n defaultInfoLbl2: string;\r\n submitBtnLbl1: string;\r\n submitBtnLbl2: string;\r\n}\r\n//#endregion\r\n\r\n//#region BuildPak Attribute\r\nexport interface IBuildPakAttribute {\r\n id: number;\r\n v6ReferenceCode: string;\r\n name: string;\r\n publishedName: string;\r\n type: string;\r\n options: IAttributeOption[];\r\n value: string;\r\n code: string;\r\n show: boolean;\r\n isDirty: boolean;\r\n isPublished: boolean;\r\n isReported: boolean;\r\n isError: boolean;\r\n errorMessage: string;\r\n}\r\n\r\nexport class BuildPakAttribute implements IBuildPakAttribute {\r\n show: boolean;\r\n id: number;\r\n v6ReferenceCode: string;\r\n name: string;\r\n publishedName: string;\r\n type: string;\r\n options: IAttributeOption[];\r\n value: string;\r\n isDirty: boolean;\r\n code: string;\r\n isPublished: boolean;\r\n isReported: boolean;\r\n isError: boolean;\r\n errorMessage: string;\r\n constructor() {\r\n this.value = '';\r\n this.code = '';\r\n this.isDirty = false;\r\n this.show = true;\r\n this.isPublished = true;\r\n this.isReported = true;\r\n this.isError = false;\r\n this.errorMessage = '';\r\n }\r\n\r\n}\r\nexport interface IAttributeOption {\r\n id: number;\r\n v6ReferenceCode: string;\r\n code: string;\r\n name: string;\r\n description: string;\r\n value: string;\r\n show: boolean;\r\n}\r\nexport class AttributeOption implements IAttributeOption {\r\n code: string;\r\n show: boolean;\r\n id: number;\r\n v6ReferenceCode: string;\r\n name: string;\r\n description: string;\r\n value: string;\r\n constructor() {\r\n this.show = true;\r\n }\r\n\r\n}\r\n//#endregion\r\n//#Invoice Inquiry models\r\nexport interface IInvoiceInquiryLbl {\r\n amountDueLbl: string;\r\n checkNumberLbl: string;\r\n exportToExcelLbl: string;\r\n exportToPDFLbl: string;\r\n invoiceDateLbl: string;\r\n invoiceInquiryLbl: string;\r\n invoiceNumberLbl: string;\r\n invoiceStatusLbl: string;\r\n invoiceTypeLbl: string;\r\n jobNameLbl: string;\r\n marketSegmentLbl: string;\r\n originalAmountLbl: string;\r\n poLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n paymentStatusLbl: string;\r\n downloadInvoiceLbl: string;\r\n}\r\nexport interface IInvoiceInquiryDetailsLbl {\r\n relatedinvoiceLbl: string;\r\n invoiceHeaderLbl: string;\r\n billingAddressLbl: string;\r\n shippingAddressLbl: string;\r\n invoiceNumberLbl: string;\r\n grossAmountLbl: string;\r\n taxableAmountLbl: string;\r\n invoiceDateLbl: string;\r\n openAmountLbl: string;\r\n taxLbl: string;\r\n invoiceDetailsLbl: string;\r\n orderNumberLbl: string;\r\n lineLbl: string;\r\n orderDateLbl: string;\r\n orderTypeLbl: string;\r\n qtyLbl: string;\r\n uomLbl: string;\r\n itemLbl: string;\r\n descriptionLbl: string;\r\n unitPriceLbl: string;\r\n extendedPriceLbl: string;\r\n shipFromLbl: string;\r\n statusLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n nonTaxableLbl: string;\r\n kdRefLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n}\r\nexport interface IGetInvoiceBody {\r\n invoiceNumber: number;\r\n fromDate: string;\r\n toDate: string;\r\n}\r\nexport interface IGetInvoicePdfBody {\r\n invoiceNumber: number;\r\n invoiceType: string;\r\n customerNumber: string;\r\n}\r\nexport interface IGetInvoiceDetailsBody {\r\n invoiceNumber: string;\r\n orderBu: string;\r\n orderNumber: string;\r\n}\r\nexport interface IInvoiceInquiryDropDown {\r\n invoiceNumber: number;\r\n orderNumber: string;\r\n}\r\nexport interface IInvoiceInquiry {\r\n invoiceNumber: number;\r\n invoiceDate: string;\r\n invoiceDateUIString: string;\r\n type: string;\r\n jobName: string;\r\n originalAmount: string;\r\n amountDue: string;\r\n checkNumber: string;\r\n marketSegment: string;\r\n invoiceStatus: string;\r\n billTo: string;\r\n shipTo: string;\r\n orderBu: string;\r\n orderNumber: string;\r\n invoiceDateAsDate: Date;\r\n poNumber: string;\r\n grossAmount: string;\r\n openAmount: string;\r\n taxableAmount: string;\r\n tax: string;\r\n nonTaxableAmount: string;\r\n kdReferenceNumber: string;\r\n orderType: string;\r\n paymentStatus: string;\r\n selectedForPayment: boolean;\r\n paymentComments: IPaymentComment[];\r\n calculatedAmountDue: number;\r\n paymentReasonRequired: boolean;\r\n paymentReason: string;\r\n paymentReasonCharCounter: string;\r\n dueDate: string;\r\n dueDateUIString: string;\r\n dueDateAsDate: Date;\r\n discountAvailable: number;\r\n isDiscountApplicable: boolean;\r\n payAmount: number;\r\n}\r\nexport interface IInvoicePayment {\r\n invoiceNumber: number;\r\n invoiceDate: Date;\r\n type: string;\r\n jobName: string;\r\n originalAmount: number;\r\n finalAmountDue: number;\r\n originalAmountDue: number;\r\n amountPaid: number;\r\n poNumber: string;\r\n grossAmount: string;\r\n openAmount: string;\r\n //calculatedAmountDue: number;\r\n //paymentReasonRequired: boolean;\r\n paymentReason: string;\r\n dueDate: Date;\r\n discountAvailable: number;\r\n isDiscountApplicable: boolean;\r\n}\r\nexport interface IPaymentComment {\r\n isError: boolean;\r\n message: string;\r\n show: boolean;\r\n type: string;\r\n}\r\nexport class PaymentComment implements IPaymentComment {\r\n isError: boolean;\r\n message: string;\r\n show: boolean;\r\n type: string;\r\n}\r\nexport interface IPaymentTransaction {\r\n trackerId: string;\r\n}\r\nexport interface IInvoicePay {\r\n invoiceNumber: number;\r\n amountDue: number;\r\n calculatedAmountDue: number;\r\n discountAvailable: number;\r\n finalAmountDue: number;\r\n originalAmount: number;\r\n invoiceDate: Date;\r\n amountPaid: number;\r\n dueDate: Date;\r\n type: string;\r\n poNumber: string;\r\n jobName: string;\r\n paymentReason: string;\r\n}\r\nexport class InvoicePay implements IInvoicePay {\r\n invoiceNumber: number;\r\n amountDue: number;\r\n calculatedAmountDue: number;\r\n discountAvailable: number;\r\n finalAmountDue: number;\r\n originalAmount: number;\r\n invoiceDate: Date;\r\n amountPaid: number;\r\n dueDate: Date;\r\n type: string;\r\n poNumber: string;\r\n jobName: string;\r\n paymentReason: string;\r\n discountStatus: number;//1->honored, 2->taken by user, 3->NA\r\n discountComment: string;\r\n discountTaken: number;\r\n}\r\nexport interface IACHTransaction {\r\n userName: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n customerNumber: number;\r\n //emailId: string;\r\n invoices: IInvoicePay[];\r\n customerName: string;\r\n email: string;\r\n}\r\n\r\nexport class ACHTransaction implements IACHTransaction {\r\n userName: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n customerNumber: number;\r\n browserName: string;\r\n //emailId: string;\r\n invoices: InvoicePay[];\r\n customerName: string;\r\n email: string;\r\n}\r\n\r\nexport interface ICCTransaction {\r\n userName: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n customerNumber: number;\r\n //emailId: string;\r\n invoices: IInvoicePay[];\r\n customerName: string;\r\n email: string;\r\n}\r\n\r\nexport class CCTransaction implements ICCTransaction {\r\n userName: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n customerNumber: number;\r\n browserName: string;\r\n //emailId: string;\r\n invoices: InvoicePay[];\r\n customerName: string;\r\n email: string;\r\n}\r\n\r\n\r\n\r\nexport class TestTracker {\r\n trackerId: string;\r\n dateGenerated: Date;\r\n}\r\n//#endregion\r\n//#region OrderInquiry\r\nexport interface IOrderInquiryLbl {\r\n jobNamelbl: string;\r\n jobNumberlbl: string;\r\n kdReflbl: string;\r\n orderDatelbl: string;\r\n orderNumberlbl: string;\r\n orderTypeLbl: string;\r\n polbl: string;\r\n scheduleDatelbl: string;\r\n shipFromlbl: string;\r\n shipTolbl: string;\r\n exportToExcelLbl: string;\r\n exportToPDFLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n}\r\nexport interface IOrderInquiry {\r\n orderType: string;\r\n orderNumber: number;\r\n orderBu: string;\r\n jobName: string;\r\n jobNumber: string;\r\n kdReference: string;\r\n orderDate: string;\r\n scheduleDate: string;\r\n orderDateUIString: string;\r\n scheduleDateUIString: string;\r\n poNumber: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n billTo: string;\r\n orderDateAsDate: Date;\r\n scheduleDateAsDate: Date;\r\n statusId: number;\r\n\r\n}\r\nexport interface IOrderDetailsHeader {\r\n orderType: string;\r\n orderNumber: number;\r\n jobName: string;\r\n jobNumber: string;\r\n orderDate: string;\r\n orderDateUIString: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n billTo: string;\r\n cscName: string,\r\n cscPhone: string,\r\n invoiceLineDetail: string;\r\n}\r\n//Order details\r\nexport interface IOrderInquiryDetailsLbl {\r\n orderHeaderLbl: string;\r\n billingAddressLbl: string;\r\n shippingAddressLbl: string;\r\n soLbl: string;\r\n poLbl: string;\r\n shippingFromLbl: string;\r\n jobNumberLbl: string;\r\n OrderDateLbl: string;\r\n orderDetailsLbl: string;\r\n invoiceDetailsLbl: string;\r\n trackShipmentLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n lineLbl: string;\r\n orderDateLbl: string;\r\n scheduleDateLbl: string;\r\n qtyLbl: string;\r\n uomLbl: string;\r\n itemLbl: string;\r\n paintLbl: string;\r\n listPriceLbl: string;\r\n itemDescLbl: string;\r\n multiplierLbl: string;\r\n statusLbl: string;\r\n shipDateLbl: string;\r\n invoiceNumberLbl: string;\r\n orderTypeLbl: string;\r\n descriptionLbl: string;\r\n unitPriceLbl: string;\r\n extendedPriceLbl: string;\r\n shipFromLbl: string;\r\n shipmentIdLbl: string;\r\n carrierLbl: string;\r\n proNoLbl: string;\r\n billOfLading: string;\r\n noOfBoxesLbl: string;\r\n totalWeightLbl: string;\r\n cscNameLbl: string;\r\n cscPhoneLbl: string;\r\n totalPriceLbl: string;\r\n grossAmountLbl: string;\r\n taxableAmountLbl: string;\r\n invoiceDateLbl: string;\r\n openAmountLbl: string;\r\n taxLbl: string;\r\n nonTaxableLbl: string;\r\n kdRefLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n relatedInvoiceLbl: string;\r\n}\r\nexport interface IOrderInquiryDetails {\r\n lineNumber: number;\r\n itemNumber: string;\r\n quantity: string;\r\n uom: string;\r\n paint: string;\r\n description: string;\r\n status: string;\r\n listPrice: string;\r\n multiplier: string;\r\n orderDate: string;\r\n shipDate: string;\r\n orderDateUIString: string;\r\n scheduleDateUIString: string;\r\n shipDateUIString: string;\r\n scheduleDateAsDate: Date;\r\n orderDateAsDate: Date;\r\n shipDateAsDate: Date;\r\n cmp: number;\r\n extendedPrice: number;\r\n statusId: number;\r\n nextStatusId: number;\r\n ackHold: string;\r\n}\r\n//Invoice details\r\nexport interface IInvoiceInquiryDetails {\r\n invoiceNumber: number;\r\n lineNumber: string;\r\n orderType: string;\r\n quantity: string;\r\n uom: string;\r\n itemNumber: string;\r\n itemDescription: string;\r\n status: string;\r\n unitPrice: string;\r\n extendedPrice: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n grossAmount: string;\r\n openAmount: string;\r\n taxableAmount: string;\r\n tax: string;\r\n nonTaxableAmount: string;\r\n jobName: string;\r\n invoiceDateUIString: string;\r\n}\r\n//Track Shipment\r\nexport interface ITrackShipment {\r\n shipmentId: number;\r\n carrier: string;\r\n proNo: string;\r\n billOfLoading: string;\r\n noOfBoxes: string;\r\n totalWeight: string;\r\n shipDateUIString: Date;\r\n trackChildShipments: ITrackChildShipment[];\r\n}\r\n//Track Shipment Child\r\nexport interface ITrackChildShipment {\r\n shipmentid: string;\r\n boxno: number;\r\n item: string;\r\n itemdescription: string;\r\n itemWeight: string;\r\n quantity: number;\r\n lineNumber: number;\r\n originalLineNumber: number;\r\n}\r\n\r\nexport interface IGetOrdersInquiryBody {\r\n customerNumber: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n}\r\nexport interface IGetOrdersDetailsBody {\r\n orderNumber: string;\r\n orderBu: string;\r\n}\r\nexport interface IGetOrderInvoiceDetailsBody {\r\n orderNumber: string;\r\n orderBu: string;\r\n}\r\nexport interface IGetOrderShipmentDetailsBody {\r\n orderNumber: string;\r\n orderBu: string;\r\n}\r\nexport interface IFreightOrder {\r\n orderType: string;\r\n orderNumber: number;\r\n orderBu: string;\r\n jobName: string;\r\n jobNumber: string;\r\n kdReference: string;\r\n orderDate: string;\r\n scheduleDate: string;\r\n orderDateUIString: string;\r\n scheduleDateUIString: string;\r\n poNumber: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n billTo: string;\r\n orderDateAsDate: Date;\r\n scheduleDateAsDate: Date;\r\n statusId: number;\r\n\r\n}\r\nexport class FreightOrder implements IFreightOrder {\r\n\r\n orderType: string;\r\n orderNumber: number;\r\n orderBu: string;\r\n jobName: string;\r\n jobNumber: string;\r\n kdReference: string;\r\n orderDate: string;\r\n scheduleDate: string;\r\n orderDateUIString: string;\r\n scheduleDateUIString: string;\r\n poNumber: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n billTo: string;\r\n orderDateAsDate: Date;\r\n scheduleDateAsDate: Date;\r\n statusId: number;\r\n\r\n}\r\n\r\nexport class FreightClaimHeader {\r\n claimHeaderId: string;\r\n claimNumber: string;\r\n claimTypeId: string;\r\n claimTypeName: string;\r\n commentByUser: string;\r\n poNumber: string;\r\n jobName: string;\r\n soNumber: number;\r\n orderType: string;\r\n customerNumber: number;\r\n shipFrom: string;\r\n shipTo: string;\r\n raisedBy: string;\r\n raisedOn: Date;\r\n statusName: string;//approved, rejected, on hold, raised\r\n statusId: string;\r\n updatedBy: string;\r\n details: FreightClaimDetails[];\r\n carrierInspectionReports: ClaimDoc[];\r\n damagedMaterialPhotos: ClaimDoc[];\r\n jobNumber: string;\r\n customerName: string;\r\n kdReference: string;\r\n orderBu: string;\r\n orderDate: Date;\r\n scheduleDate: Date;\r\n comments: ClaimComment[];\r\n commentToUser: string;\r\n qualityDeptEmail: string;\r\n internalNotes: string;\r\n raisedByUserEmail: string;\r\n //projectManagerName: string;\r\n //projectManagerEmail: string;\r\n //salesRepName: string;\r\n //salesRepEmail: string;\r\n requestTypeId: string;\r\n requestTypeName: string;\r\n projectManagerSalutation: string;\r\n projectManagerEmail: string;\r\n projectManagerJDEName: string;\r\n salesRepName: string;\r\n salesRepEmail: string;\r\n salesRepJDEName: string;\r\n freightCost: number;\r\n freightPrice: number;\r\n}\r\nexport class FreightClaimDetails {\r\n claimHeaderId: string;\r\n claimDetailId: string;\r\n shipmentId: number;\r\n items: FreightClaimItem[];\r\n carrier: string;\r\n proNo: string;\r\n noOfBoxes: string;\r\n totalWeight: string;\r\n billOfLading: string;\r\n shipDate: Date;\r\n}\r\n\r\nexport class FreightClaimItem {\r\n claimHeaderId: string;\r\n claimDetailId: string;\r\n claimItemId: string;\r\n shipmentId: number;\r\n boxNo: number;\r\n itemNumber: string;\r\n itemDescription: string;\r\n itemWeight: string;\r\n originalQuantity: number;\r\n claimedQuantity: number;\r\n approvedQuantity: number;\r\n unitPrice: number;\r\n extendedPrice: number;\r\n approvedPrice: number;\r\n unitCost: number;\r\n extendedCost: number;\r\n lineNumber: number;\r\n}\r\n\r\nexport class ClaimDoc {\r\n claimHeaderId: string;\r\n displayOrder: number;\r\n fileName: string;\r\n uid: string;\r\n type: string;\r\n fullPath: string;\r\n uniqueName: string;\r\n}\r\n\r\nexport class ClaimComment {\r\n claimHeaderId: string;\r\n commentText: string;\r\n commentType: string;\r\n dateCreated: Date;\r\n createdBy: string;\r\n commentId: string;\r\n}\r\n\r\n\r\n\r\n//#endregion\r\n//#region Quote\r\nexport interface addItemToQuoteLbl {\r\n quoteLbl: string;\r\n jobNameLbl: string;\r\n marketSegmentLbl: string;\r\n leedLbl: string;\r\n addQuoteTitleLbl: string;\r\n addExistingQuoteLbl: string;\r\n addLbl: string;\r\n newQuoteLbl: string;\r\n orLbl: string;\r\n createLbl: string;\r\n cancelLbl: string;\r\n gotoQuoteLbl: string;\r\n}\r\nexport interface IMangeQuoteLbl {\r\n KDQuoteHeadingLbl: string;\r\n KDQuoteLbl1: string;\r\n inHouseHeadingLbl: string;\r\n inHouseLbl1: string;\r\n requestQuoteHeadingLbl: string;\r\n requestQuoteLbl1: string;\r\n factoryQuoteHeadingLbl: string;\r\n factoryQuoteLbl1: string;\r\n}\r\nexport interface IInhouseQuote {\r\n quoteCommonId: string;\r\n jobNumber: string;\r\n revision: string;\r\n jobName: string;\r\n leed: boolean;\r\n blast: boolean;\r\n marketSegment: string;\r\n totalBaseBid: number;\r\n quoteDate: string;\r\n quoteExpirationDate: string;\r\n customerContact: string;\r\n estimatorEmail: string;\r\n status: string;\r\n statusReasonText: string;\r\n quoteDateAsDate: Date;\r\n quoteExpirationDateAsDate: Date;\r\n downloadInProgress: boolean;\r\n}\r\n\r\nexport interface IKDQuoteLbl {\r\n kdQuoteLbl: string;\r\n jobNumberLbl: string;\r\n revlbl: string;\r\n jobNameLbl: string;\r\n leedLbl: string;\r\n blastLbl: string;\r\n marketSegmentLbl: string;\r\n quoteDateLbl: string;\r\n expirationDateLbl: string;\r\n totalBaseBidLbl: string;\r\n statusLbl: string;\r\n actionLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n addNewQuoteLbl: string;\r\n saveLbl: string;\r\n closeLbl: string;\r\n updateLbl: string;\r\n deleteConfirmLbl: string;\r\n yesLbl: string;\r\n noLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n}\r\nexport interface IQuoteDetailHeaderLbl {\r\n jobNameLbl: string;\r\n leedLbl: string;\r\n marketSegmentLbl: string;\r\n quoteDateLbl: string;\r\n expirationDateLbl: string;\r\n jobNumberLbl: string;\r\n cancelLbl: string;\r\n updateLbl: string;\r\n}\r\nexport interface IKDQuoteDetailLbl {\r\n quickAddLbl: string;\r\n addQuoteToCartLbl: string;\r\n cancelLbl: string;\r\n clearSelectionLbl: string;\r\n copyQuoteLbl: string;\r\n createNewRevisionLbl: string;\r\n saveLbl: string;\r\n closeLbl: string;\r\n deleteQuoteConfirmLbl: string;\r\n copyLbl: string;\r\n editLbl: string;\r\n expiredDateLbl: string;\r\n exportExcelLbl: string;\r\n exportPDFLbl: string;\r\n extPriceLbl: string;\r\n extrusionLbl: string;\r\n finishLbl: string;\r\n itemDescriptionLbl: string;\r\n itemNumLbl: string;\r\n jobNameLbl: string;\r\n jobNumberLbl: string;\r\n leedLbl: string;\r\n lineLbl: string;\r\n listPriceLbl: string;\r\n marketSegmentLbl: string;\r\n multiplierLbl: string;\r\n itemLbl: string;\r\n pleaseConfirmLbl: string;\r\n printMaterialProposal: string;\r\n quantityLbl: string;\r\n quoteDateLbl: string;\r\n sizeLbl: string;\r\n successAddingQuoteToCart: string;\r\n totalPriceLbl: string;\r\n unitLbl: string;\r\n unitPriceLbl: string;\r\n uomLbl: string;\r\n updateLbl: string;\r\n paintLbl: string;\r\n actionLbl: string;\r\n importLbl: string;\r\n emptyQuoteLbl: string;\r\n deleteConfirmText1: string;\r\n yesLbl: string;\r\n noLbl: string;\r\n quoteUpdateSuccessLbl: string;\r\n errorOccuredLbl: string;\r\n nothingToRemoveLbl: string;\r\n emptyQuoteMessage: string;\r\n revisionCreatedLbl: string;\r\n copyQuoteMessage: string;\r\n deleteConfirmText2: string;\r\n}\r\n\r\nexport interface IAddQuoteToCartResult {\r\n quote: IQuote;\r\n totalCartItemCount: number;\r\n quoteItemsAddedToCart: ICartItem[];\r\n}\r\nexport interface IAddQuoteItemToCartResult {\r\n quote: IQuote;\r\n totalCartItemCount: number;\r\n quoteItemAddedToCart: ICartItem;\r\n existingInCartConfigItem: string;\r\n}\r\nexport interface IAddQuoteToCartBody {\r\n quoteCommonId: string;\r\n //jobName: string;\r\n //userId: string;\r\n}\r\nexport interface IAddQuoteItemToCartItemListBody {\r\n //quoteCommonId: string;\r\n quoteItemCommonId: string;\r\n itemType: number;\r\n}\r\n\r\nexport interface IDeleteKdQuoteItemBody {\r\n quoteCommonId: string;\r\n quoteItemCommonId: string;\r\n}\r\nexport interface IDeleteKdQuoteBody {\r\n quoteCommonId: string;\r\n}\r\nexport interface IEmptyQuoteItemsBody {\r\n quoteCommonId: string;\r\n}\r\nexport interface ICopyQuoteRequestBody {\r\n quoteCommonId: string;\r\n jobName: string;\r\n marketSegment: string;\r\n leed: boolean;\r\n customerNumber: string;\r\n //userId: string;\r\n marketSegmentId: string;\r\n}\r\nexport interface IAddItemToKdQuoteItemListBody {\r\n lineNo: number;\r\n quoteCommonId: string;\r\n itemNumber: string;\r\n size: string;\r\n finish: string;\r\n finishValue: string;\r\n V6ReferenceValue: string;\r\n quantity: number;\r\n paint: string;\r\n}\r\nexport interface IUpdateItemToQuoteBody {\r\n customerNumber: string;\r\n quoteItemCommonId: string;\r\n quoteCommonId: string;\r\n itemNumber: string;\r\n size: string;\r\n finish: string;\r\n finishValue: string;\r\n quantity: number;\r\n paint: string;\r\n lineNo: number;\r\n updatedQuantity: number;\r\n quoteItemCommonIdToDelete: string;\r\n paintName: string;\r\n}\r\nexport interface IAddCartToQuoteBody {\r\n quoteCommonId: string;\r\n userName: string;\r\n customerNumber: string;\r\n}\r\n\r\n\r\nexport interface ICreateQuoteItemRevisionBody {\r\n quoteCommonId: string;\r\n jobName: string;\r\n jobNumber: string;\r\n marketSegment: string;\r\n leed: boolean;\r\n //userId: string;\r\n customerNumber: string;\r\n revision: string;\r\n}\r\nexport interface IPrintMaterialProposalBody {\r\n quoteCommonId: string;\r\n contactFullName: string;\r\n contactEmail: string;\r\n userName: string;\r\n}\r\n//export interface IGetAllInhouseQuotesBody { //not being used anywhere\r\n// customerNumber: string;\r\n// userId: string;\r\n//}\r\nexport interface IInHouseQuoteLbl {\r\n inHouseQuoteLbl: string;\r\n jobNumberLbl: string;\r\n revlbl: string;\r\n jobNameLbl: string;\r\n leedLbl: string;\r\n blastLbl: string;\r\n marketSegmentLbl: string;\r\n quoteDateLbl: string;\r\n expirationDateLbl: string;\r\n totalBaseBidLbl: string;\r\n statusLbl: string;\r\n customerContactLbl: string;\r\n statusTextLbl: string;\r\n estimatorLbl: string;\r\n printLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n customerIdLbl: string;\r\n customerNumberLbl: string;\r\n customerNameLbl: string;\r\n}\r\nexport interface IRequestAQuoteLbl {\r\n jobNameLbl: string;\r\n jobCityLbl: string;\r\n jobStateLbl: string;\r\n marketSegmentLbl: string;\r\n quoteTypeLbl: string;\r\n quoteRequestDate: string;\r\n bidDateLbl: string;\r\n leedLbl: string;\r\n indicateTypeLbl: string;\r\n blastLbl: string;\r\n customerSuppliedHardwareLbl: string;\r\n purchaseHardware: string;\r\n attachmentLbl: string;\r\n projectDetails: string;\r\n cancelButtonLbl: string;\r\n requestQuoteButtonLbl: string;\r\n noLbl: string;\r\n yesLbl: string;\r\n cancelConfirmLbl: string;\r\n quoteSubmittedLbl: string;\r\n thanksLbl: string;\r\n quoteGridLbl: string;\r\n submittedJobLbl: string;\r\n returnToInHouseQuoteLbl: string;\r\n addNewQuoteRequestLbl: string;\r\n requestSubmittedToKawneerLbl: string;\r\n confirmTitleLbl: string;\r\n invalidProjectDetailsLbl: string;\r\n noFilesUploadedLbl: string;\r\n}\r\nexport interface IRequestAQuoteBody {\r\n jobName: string;\r\n jobCity: string;\r\n jobState: string;\r\n marketSegment: string;\r\n quoteType: string;\r\n requestDate: string;\r\n bidDate: string;\r\n\r\n leed: boolean;\r\n blast: boolean;\r\n customerSupplied: boolean;\r\n kawneerPurchasedHardware: boolean;\r\n // attachedFile --Need to check for file upload\r\n projectDetails: string;\r\n customerNumber: string;\r\n createdBy: string;\r\n quoteTypeId: string;\r\n userName: string;\r\n userEmail: string;\r\n requestFiles: string[];\r\n}\r\nexport class RequestAQuoteBody implements IRequestAQuoteBody {\r\n jobName: string;\r\n jobCity: string;\r\n jobState: string;\r\n marketSegment: string;\r\n quoteType: string;\r\n requestDate: string;\r\n bidDate: string;\r\n leed: boolean;\r\n blast: boolean;\r\n customerSupplied: boolean;\r\n kawneerPurchasedHardware: boolean;\r\n // attachedFile\r\n projectDetails: string;\r\n customerNumber: string;\r\n createdBy: string;\r\n quoteTypeId: string;\r\n userName: string;\r\n userEmail: string;\r\n requestFiles: string[];\r\n}\r\n//#region Factory quote models\r\nexport interface IFactoryQuoteLbl {\r\n customerNameLbl: string;\r\n customerNumberLbl: string;\r\n originDateLbl: string;\r\n quoteRequestDateLbl: string;\r\n emailConfirmationLbl: string;\r\n emailLbl: string;\r\n confirmEmailLbl: string;\r\n contactNameLbl: string;\r\n jobNameLbl: string;\r\n productTypeLbl: string;\r\n infillLbl: string;\r\n finishTypeLbl: string;\r\n glazingLbl: string;\r\n muntinsLbl: string;\r\n colorLbl: string;\r\n paintFinishLbl: string;\r\n glassSupplierLbl: string;\r\n glassSpecMakeupLbl: string;\r\n screensLbl: string;\r\n meshLbl: string;\r\n hardwareLbl: string;\r\n paintFinishInputLbl: string;\r\n anodizeColorLbl: string;\r\n specialFeaturesLbl: string;\r\n meshTypeLbl: string;\r\n specifyHardwareLbl: string;\r\n windloadLbl: string;\r\n pieceReceptorLbl: string;\r\n sillLbl: string;\r\n panningLbl: string;\r\n interiorTrimLbl: string;\r\n mullionsLbl: string;\r\n miscellaneousLbl: string;\r\n strapAnchorsLbl: string;\r\n projectCommentLbl: string;\r\n markTypeLbl: string;\r\n quantityLbl: string;\r\n sizeLbl: string;\r\n descriptionLbl: string;\r\n attachmentLblLbl: string;\r\n submitButtonLbl: string;\r\n cancelLbl: string;\r\n submitSuccessLbl: string;\r\n submitFailedLbl: string;\r\n noLbl: string;\r\n yesLbl: string;\r\n cancelConfirmLbl: string;\r\n quoteSubmittedLbl: string;\r\n submittedForProcessingLbl: string;\r\n thanksLbl: string;\r\n actioneNeededLbl: string;\r\n contactInfoLbl: string;\r\n returnToInHouseQuoteLbl: string;\r\n addNewQuoteRequestLbl: string;\r\n addNewTitle: string;\r\n deleteTitle: string;\r\n confirmTitleLbl: string;\r\n\r\n}\r\nexport interface IRequestAFactoryQuoteSkill {\r\n markType: string,\r\n quantity: number,\r\n size: number,\r\n description: string\r\n}\r\nexport interface IRequestAFactoryQuoteBody {\r\n quoteRequestDate: string;\r\n isReceiveEmail: boolean;\r\n email: string;\r\n confirmEmail: string;\r\n contactName: string;\r\n jobName: string;\r\n productType: string;\r\n infill: string;\r\n finishType: string;\r\n glazing: string;\r\n color: string;\r\n paintFinishDropDown: string;\r\n glassSupplier: string;\r\n glassSpecMakeup: string;\r\n screens: string;\r\n mesh: string;\r\n hardware: string;\r\n paintFinishInput: string;\r\n anodizeColor: string;\r\n specialFeatures: string;\r\n specifyMeshType: string;\r\n specifyHardware: string;\r\n muntins: string;\r\n windload: string;\r\n pieceReceptor: string\r\n sill: string;\r\n panning: string;\r\n interiorTrim: string;\r\n mullions: string;\r\n miscellaneous: string;\r\n strapAnchors: string;\r\n projectComment: string;\r\n // markType: string;\r\n // quantity: string;\r\n // size: string;\r\n // description: string;\r\n skills: IRequestAFactoryQuoteSkill[];\r\n // fileUpload\r\n filePaths: string[];\r\n customerNumber: string;\r\n userName: string;\r\n customerName: string;\r\n}\r\nexport class RequestAFactoryQuoteBody implements IRequestAFactoryQuoteBody {\r\n quoteRequestDate: string;\r\n isReceiveEmail: boolean;\r\n email: string;\r\n confirmEmail: string;\r\n contactName: string;\r\n jobName: string;\r\n productType: string;\r\n infill: string;\r\n finishType: string;\r\n glazing: string;\r\n color: string;\r\n paintFinishDropDown: string;\r\n glassSupplier: string;\r\n glassSpecMakeup: string;\r\n screens: string;\r\n mesh: string;\r\n hardware: string;\r\n paintFinishInput: string;\r\n anodizeColor: string;\r\n specialFeatures: string;\r\n specifyMeshType: string;\r\n specifyHardware: string;\r\n muntins: string;\r\n windload: string;\r\n pieceReceptor: string\r\n sill: string;\r\n panning: string;\r\n interiorTrim: string;\r\n mullions: string;\r\n miscellaneous: string;\r\n strapAnchors: string;\r\n projectComment: string;\r\n // markType: string;\r\n // quantity: string;\r\n // size: string;\r\n // description: string;\r\n skills: IRequestAFactoryQuoteSkill[];\r\n // fileUpload\r\n filePaths: string[];\r\n customerNumber: string;\r\n userName: string;\r\n customerName: string;\r\n}\r\n//#endregion\r\nexport interface IQuoteDetailPayload {\r\n marketSegments: MasterData[];\r\n leeds: MasterData[];\r\n\r\n}\r\nexport interface IRequestAFactoryQuotePayload {\r\n productTypes: MasterData[];\r\n infills: MasterData[];\r\n finishTypes: MasterData[];\r\n glazing: MasterData[];\r\n muntins: MasterData[];\r\n color: MasterData[];\r\n paintFinish: MasterData[];\r\n glassSupplier: MasterData[];\r\n screens: MasterData[];\r\n mesh: MasterData[];\r\n hardware: MasterData[];\r\n anodizeColor: MasterData[];\r\n\r\n}\r\nexport interface IRequestAQuotePayload {\r\n marketSegments: MasterData[];\r\n quoteTypes: MasterData[];\r\n states: MasterData[];\r\n}\r\nexport interface IAddQuoteBody {\r\n jobName: string;\r\n marketSegment: string;\r\n marketSegmentId: string;\r\n leed: boolean;\r\n customerNumber: string;\r\n userId: string;\r\n\r\n}\r\nexport interface IUpdateQuoteBody {\r\n jobName: string;\r\n marketSegment: string;\r\n leed: boolean;\r\n customerNumber: string;\r\n quoteCommonId: string;\r\n marketSegmentId: string;\r\n jobNumber: string;\r\n}\r\nexport class AddQuoteBody implements IAddQuoteBody {\r\n jobName: string;\r\n marketSegment: string;\r\n marketSegmentId: string;\r\n leed: boolean;\r\n customerNumber: string;\r\n userId: string;\r\n}\r\n\r\n\r\nexport interface IGetKdQuoteDetailBody {\r\n quoteCommonId: string;\r\n}\r\nexport interface IQuoteItem {\r\n lineNo: number;\r\n quoteCommonId: string;\r\n quoteItemCommonId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n itemDescription: string;\r\n itemType: number;\r\n finishValue: string;\r\n finish: string;\r\n quantity: number;\r\n size: string;\r\n basePrice: number;\r\n cmp: number;\r\n unitPrice: number;\r\n extendedPrice: number;\r\n availableFinishes: Array;\r\n currentSizes: Extrusion[];\r\n V6ReferenceValue: string;\r\n paint: string;\r\n\r\n updatedQuantity: number;\r\n updateInProgress: boolean;\r\n quoteItemCommonIdToUpdate: string;\r\n paintName: string;\r\n quoteItemCommonIdToDelete: string;\r\n customerNumber: string;\r\n userId: string;\r\n productId: number;\r\n productCode: string;\r\n isEmptyPaint: boolean;\r\n}\r\nexport class QuoteItem implements IQuoteItem {\r\n lineNo: number;\r\n quoteCommonId: string;\r\n quoteItemCommonId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n itemDescription: string;\r\n itemType: number;\r\n finishValue: string;\r\n finish: string;\r\n V6ReferenceValue: string;\r\n paint: string;\r\n quantity: number;\r\n size: string;\r\n basePrice: number;\r\n cmp: number;\r\n unitPrice: number;\r\n extendedPrice: number;\r\n availableFinishes: IFinish[];\r\n currentSizes: Extrusion[];\r\n updatedQuantity: number;\r\n updateInProgress: boolean;\r\n quoteItemCommonIdToUpdate: string;\r\n paintName: string;\r\n quoteItemCommonIdToDelete: string;\r\n customerNumber: string;\r\n userId: string;\r\n productId: number;\r\n productCode: string;\r\n isEmptyPaint: boolean;\r\n}\r\nexport interface IQuote {\r\n customerNumber: string;\r\n expirationDateForDisplay: string;\r\n jobName: string;\r\n jobNumber: string;\r\n leed: boolean\r\n marketSegment: string;\r\n quoteCommonId: string;\r\n quoteDate: Date;\r\n expirationDate: Date;\r\n quoteDateForDisplay: string;\r\n revision: string;\r\n status: string;\r\n totalBaseBid: number;\r\n userId: string;\r\n quoteItems: Array\r\n marketSegmentObj: IMasterData;\r\n jobNumberRevision: string;\r\n updateInProgress: boolean;\r\n totalItemCountInQuote: number;\r\n quoteDisplayName: string;\r\n}\r\nexport class Quote implements IQuote {\r\n updateInProgress: boolean;\r\n jobNumberRevision: string;\r\n marketSegmentObj: IMasterData;\r\n quoteItems: IQuoteItem[];\r\n customerNumber: string;\r\n quoteDate: Date;\r\n expirationDate: Date;\r\n expirationDateForDisplay: string;\r\n jobName: string;\r\n jobNumber: string;\r\n leed: boolean;\r\n marketSegment: string;\r\n quoteCommonId: string;\r\n quoteDateForDisplay: string;\r\n revision: string;\r\n status: string;\r\n totalBaseBid: number;\r\n userId: string;\r\n totalItemCountInQuote: number;\r\n quoteDisplayName: string;\r\n}\r\nexport interface IGetQuoteBody {\r\n customerNumber: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n}\r\nexport interface IQuoteImportExcel {\r\n itemNumber: string;\r\n itemQuantity: string;\r\n paintNumber: string;\r\n}\r\nexport class QuoteImportExcel implements IQuoteImportExcel {\r\n itemNumber: string;\r\n itemQuantity: string;\r\n paintNumber: string;\r\n}\r\n//#endregion\r\n//#region Product Build & Buy\r\nexport interface IProductCategory {\r\n id: number;\r\n name: string;\r\n description: string;\r\n imageUrl: string;\r\n}\r\nexport class ProductCategory implements IProductCategory {\r\n id: number;\r\n name: string;\r\n description: string;\r\n imageUrl: string;\r\n}\r\nexport interface IProduct {\r\n id: number;\r\n name: string;\r\n description: string;\r\n productCode: string;\r\n productCodeId: number;\r\n productImageUrl: string;\r\n}\r\nexport interface IV6Product {\r\n pushPullFin: string;\r\n quoteItemCommonId: string;\r\n translationFamily: string;\r\n id: number;\r\n productId: number;\r\n name: string;\r\n productCode: string;\r\n publishedName: string;\r\n templateDescription: string;\r\n template: IProductTemplate;\r\n type: string;\r\n typeId: string;\r\n isPublished: boolean;\r\n isActive: boolean;\r\n dependentAttributeIdList: string;\r\n dependentMacroIdList: string;\r\n dependencies: IGetProductDependencies;\r\n paintCode: string;\r\n paintName: string;\r\n}\r\n\r\nexport interface IV6OptionTranslation {\r\n id: number;\r\n optionCode: string;\r\n optionTranslation: string;\r\n optionApplicableProducts: string;\r\n active: boolean;\r\n}\r\nexport class V6OptionTranslation implements IV6OptionTranslation {\r\n id: number;\r\n optionCode: string;\r\n optionTranslation: string;\r\n optionApplicableProducts: string;\r\n active: boolean;\r\n constructor() {\r\n this.id = 0;\r\n this.optionCode = '';\r\n this.optionTranslation = '';\r\n this.optionApplicableProducts = '';\r\n this.active = false;\r\n }\r\n}\r\nexport interface IV6OptionValueTranslation {\r\n id: number;\r\n optionCode: string;\r\n optionValueCode: string;\r\n optionValueTranslation: string;\r\n optionValueApplicableProducts: string;\r\n active: boolean;\r\n}\r\nexport class V6OptionValueTranslation implements IV6OptionValueTranslation {\r\n id: number;\r\n optionCode: string;\r\n optionValueCode: string;\r\n optionValueTranslation: string;\r\n optionValueApplicableProducts: string;\r\n active: boolean;\r\n constructor() {\r\n this.id = 0;\r\n this.optionCode = '';\r\n this.optionValueCode = '';\r\n this.optionValueTranslation = '';\r\n this.optionValueApplicableProducts = '';\r\n this.active = false;\r\n }\r\n}\r\nexport class V6Product implements IV6Product {\r\n quoteItemCommonId: string;\r\n translationFamily: string;\r\n id: number;\r\n productId: number;\r\n name: string;\r\n productCode: string;\r\n publishedName: string;\r\n templateDescription: string;\r\n template: ProductTemplate;\r\n type: string;\r\n typeId: string;\r\n isPublished: boolean;\r\n isActive: boolean;\r\n pushPullFin: string;\r\n constructor() {\r\n this.id = 0;\r\n this.productId = 0;\r\n this.name = '';\r\n this.productCode = '';\r\n this.publishedName = '';\r\n this.templateDescription = '';\r\n this.dependentAttributeIdList = '';\r\n this.dependentMacroIdList = '';\r\n this.type = '';\r\n this.isPublished = false;\r\n this.isActive = false;\r\n }\r\n dependencies: IGetProductDependencies;\r\n dependentAttributeIdList: string;\r\n dependentMacroIdList: string;\r\n paintCode: string;\r\n paintName: string;\r\n}\r\nexport class Product implements IProduct {\r\n id: number;\r\n name: string;\r\n description: string;\r\n productCode: string;\r\n productCodeId: number;\r\n productImageUrl: string;\r\n}\r\n\r\nexport interface IProductConfig {\r\n id: number;\r\n productId: number;\r\n description: string;\r\n name: string;\r\n imageUrl: string;\r\n isActive: boolean;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region MasterData Serice\r\nexport interface IState {\r\n stateCode: string;\r\n stateDescription: string;\r\n}\r\nexport class State implements IState {\r\n stateCode: string;\r\n stateDescription: string;\r\n}\r\nexport interface ICountry {\r\n countryCode: string;\r\n countryName: string;\r\n states: Array;\r\n}\r\nexport class Country implements ICountry {\r\n states: IState[];\r\n countryName: string;\r\n countryCode: string;\r\n\r\n}\r\n\r\nexport interface ICustomer {\r\n customerNumber: number;\r\n customerName: string;\r\n parentCustomerNumber: number;\r\n parentCustomerName: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n county: string;\r\n country: string;\r\n language: string;\r\n isPOrequired: string;\r\n billingType: string;\r\n phoneNumber: string;\r\n isActive: boolean;\r\n isDefault: boolean;\r\n\r\n // local stateManagement\r\n isSelected: boolean;\r\n territoryCode: string;\r\n territoryDescription: string\r\n paymentTerms: string;\r\n locationCode: string;\r\n /*Sample Product Fullfillment*/\r\n regionCode: string;\r\n /*Sample Product Fullfillment*/\r\n}\r\nexport class Customer implements ICustomer {\r\n isDefault: boolean;\r\n\r\n customerNumber: number;\r\n customerName: string;\r\n parentCustomerNumber: number;\r\n parentCustomerName: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n county: string;\r\n country: string;\r\n language: string;\r\n isPOrequired: string;\r\n billingType: string;\r\n phoneNumber: string;\r\n isSelected: boolean;\r\n isActive: boolean;\r\n territoryCode: string;\r\n territoryDescription: string;\r\n paymentTerms: string;\r\n locationCode: string;\r\n /*Sample Product Fullfillment*/\r\n regionCode: string;\r\n /*Sample Product Fullfillment*/\r\n}\r\n\r\nexport interface ICustomerSuggestion {\r\n customerName: string;\r\n customerNumber: string;\r\n customerNameToDisplay: string;\r\n fullCustomer: string\r\n paymentTerms: string;\r\n currencyCode?: string;\r\n}\r\nexport class CustomerSuggestion implements ICustomerSuggestion {\r\n customerName: string;\r\n customerNumber: string;\r\n customerNameToDisplay: string;\r\n fullCustomer: string;\r\n paymentTerms: string;\r\n currencyCode?: string;\r\n}\r\n\r\nexport interface ICustomerArchiveAddress {\r\n customerNumber: number;\r\n isActive: boolean;\r\n isDefault: boolean;\r\n\r\n updateInProgress: boolean;\r\n}\r\nexport class CustomerArchiveAddress implements ICustomerArchiveAddress {\r\n customerNumber: number;\r\n isActive: boolean;\r\n isDefault: boolean;\r\n\r\n updateInProgress: boolean;\r\n\r\n}\r\n\r\n\r\n\r\nexport enum AddressType {\r\n Both = 'X',\r\n Shipping = 'S',\r\n Billing = 'B'\r\n}\r\n\r\n\r\n\r\n//#endregion\r\n//#region CustomerAddress\r\nexport interface ICustomerAddress {\r\n id: string;\r\n isSelected?: boolean;\r\n shipTo: string;\r\n billTo: string;\r\n name: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n state: string;\r\n zipcode: string;\r\n country?: string;\r\n}\r\nexport class CustomerAddress implements ICustomerAddress {\r\n constructor() {\r\n this.isSelected = false;\r\n }\r\n billTo: string;\r\n id: string;\r\n isSelected = false;\r\n shipTo: string;\r\n name: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n state: string;\r\n zipcode: string;\r\n country?: string;\r\n}\r\n//#endregion\r\n\r\n//#region Item\r\n\r\n\r\nexport interface IItemSuggestion {\r\n itemNumber: string;\r\n fullDescription: string;\r\n itemType: number;\r\n}\r\n\r\nexport interface IExtrusion {\r\n value: string;\r\n basePrice: number;\r\n}\r\nexport interface IItemList {\r\n itemNumber: string;\r\n shortDescription: string;\r\n imageUrl: string;\r\n itemType: number;\r\n availableFinish: Array;\r\n qty: number;\r\n selectedFinishValue: string;\r\n selectedFinish: string;\r\n selectedFinishDescription: string;\r\n selectedSize: string;\r\n finishForServiceX: string;\r\n paints: string[];\r\n basePrice: number;\r\n listPrice: number;\r\n categoryId: number;\r\n}\r\n\r\n\r\nexport interface ISearchItemResultPageResource {\r\n currentPage: number;\r\n totalRecords: number;\r\n currentPageData: Array;\r\n}\r\nexport interface IItemSuggestion {\r\n itemNumber: string;\r\n fullDescription: string;\r\n itemType: number;\r\n}\r\nexport class ItemSuggestion implements IItemSuggestion {\r\n itemNumber: string;\r\n fullDescription: string;\r\n itemType: number;\r\n constructor() {\r\n this.itemNumber = '';\r\n this.fullDescription = '';\r\n this.itemType = 1;\r\n }\r\n}\r\nexport interface IGetItemSuggestionsBody {\r\n categoryId: number;\r\n searchstring: string;\r\n}\r\nexport class GetItemSuggestionsBody implements IGetItemSuggestionsBody {\r\n categoryId: number;\r\n searchstring: string;\r\n}\r\nexport interface IGetItemListBody {//to be deleted \r\n searchQuery: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n skip: number;\r\n take: number;\r\n pageNo: number;\r\n finishFilter: number[];\r\n categoryFilter: number[];\r\n sort: SortDescriptor[];\r\n filter: {}[];\r\n}\r\nexport interface IFilterItemRequest {\r\n customerNumber: string;\r\n searchQuery: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n skip: number;\r\n take: number;\r\n pageNo: number;\r\n finishFilter: string[];\r\n categoryFilter: number[];\r\n sort: SortDescriptor[];\r\n filter: {}[];\r\n}\r\nexport class FilterItemRequest implements IFilterItemRequest {\r\n customerNumber: string;\r\n searchQuery: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n skip: number;\r\n take: number;\r\n pageNo: number;\r\n finishFilter: string[];\r\n categoryFilter: number[];\r\n sort: SortDescriptor[];\r\n filter: {}[];\r\n constructor() {\r\n this.finishFilter = [];\r\n this.categoryFilter = [];\r\n }\r\n}\r\nexport interface ISearchItemResultPageResource {\r\n currentPage: number;\r\n totalRecords: number;\r\n currentPageData: Array;\r\n}\r\nexport class SearchItemResultPageResource\r\n implements ISearchItemResultPageResource {\r\n currentPage: number;\r\n totalRecords: number;\r\n currentPageData: ItemList[];\r\n categoryList: string[];\r\n finishList: string[];\r\n}\r\n//export interface IItemList {\r\n// itemNumber: string;\r\n// shortDescription: string;\r\n// imageUrl: string;\r\n// itemType: number;\r\n// availableFinish: Array;\r\n// qty: number;\r\n// selectedFinishValue: string;\r\n// selectedFinishDescription: string;\r\n// selectedSize: string;\r\n// finishForServiceX: string;\r\n\r\n\r\n//}\r\nexport class ItemList implements IItemList {\r\n itemNumber: string;\r\n shortDescription: string;\r\n imageUrl: string;\r\n itemType: number;\r\n availableFinish: Finish[];\r\n qty = 1;\r\n selectedFinishValue: string;\r\n selectedFinishDescription: string;\r\n selectedSize: string;\r\n finishForServiceX: string;\r\n paints: string[];\r\n categoryId: number;\r\n selectedFinish: string;\r\n basePrice: number;\r\n listPrice: number;\r\n listPriceFormated: number = 0;\r\n constructor() {\r\n this.qty = 1;\r\n }\r\n}\r\nexport interface IExtrusion {\r\n value: string;\r\n basePrice: number;\r\n listPrice: number;\r\n}\r\nexport class Extrusion implements IExtrusion {\r\n value: string;\r\n basePrice: number; // would be decimal\r\n listPrice: number;\r\n}\r\nexport interface IFinish {\r\n checked?: boolean;\r\n name: string;\r\n value: string;\r\n v6Code?: string;\r\n availableSizes: Array;\r\n eurrentExtrusionLength: IExtrusion;\r\n basePrice: number;\r\n listPrice: number;\r\n}\r\nexport class Finish implements IFinish {\r\n checked?: boolean;\r\n name: string;\r\n value: string;\r\n v6Code?: string;\r\n availableSizes: Extrusion[];\r\n eurrentExtrusionLength: Extrusion;\r\n basePrice: number;\r\n listPrice: number;\r\n constructor() {\r\n this.checked = true;\r\n this.name = '';\r\n this.value = '';\r\n this.v6Code = '';\r\n this.availableSizes = [];\r\n this.eurrentExtrusionLength = null;\r\n }\r\n}\r\n\r\n\r\nexport interface IMasterData {\r\n name: string;\r\n value: string;\r\n checked?: boolean;\r\n}\r\nexport class MasterData implements IMasterData {\r\n name: string;\r\n value: string;\r\n checked?: boolean;\r\n public constructor() {\r\n this.checked = true;\r\n }\r\n}\r\n\r\nexport class CheckboxMaster implements IMasterData {\r\n public constructor() {\r\n this.checked = true;\r\n }\r\n name: string;\r\n value: string;\r\n checked: boolean;\r\n}\r\n\r\nexport interface IItemSearchCriteria {\r\n itemNumber: string;\r\n searchQuery: string;\r\n categoryId: number;\r\n allCategoryIds: number[];\r\n}\r\nexport class ItemSearchCritera implements IItemSearchCriteria {\r\n itemNumber: string;\r\n searchQuery: string;\r\n categoryId: number;\r\n allCategoryIds: number[];\r\n constructor() {\r\n this.categoryId = -1;\r\n this.itemNumber = '';\r\n this.searchQuery = '';\r\n this.allCategoryIds = [];\r\n }\r\n}\r\n//#endregion\r\n\r\n//#region User\r\nexport interface ICookieObject {\r\n domain: string;\r\n expires: number | Date;\r\n hasKeys: boolean;\r\n httpOnly: boolean;\r\n name: string;\r\n path: string;\r\n sameSite: 'Lax' | 'None' | 'Strict';\r\n secure: boolean;\r\n shareable: boolean;\r\n value: string;\r\n}\r\nexport class CookieObject implements ICookieObject {\r\n domain: string;\r\n expires: number | Date;\r\n hasKeys: boolean;\r\n httpOnly: boolean;\r\n name: string;\r\n path: string;\r\n sameSite: 'Lax' | 'None' | 'Strict';\r\n secure: boolean;\r\n shareable: boolean;\r\n value: string;\r\n\r\n}\r\nexport interface IUser {\r\n myCartItemCount: number | 0;\r\n customerName: string;\r\n customerNumber: string;\r\n roles: string[];\r\n mscData: string[];\r\n isCSCAccount: boolean;\r\n userName: string;\r\n userFirstName: string;\r\n password: string;\r\n userLastName: string;\r\n phoneNumber: string;\r\n faxNumber: string;\r\n userId: string;\r\n isInAdminRole: boolean;\r\n hasAccountSummary: boolean;\r\n hasInvoiceInquiry: boolean;\r\n isInvoicePayment: boolean;\r\n state: string;\r\n zipCode: string;\r\n addressLine1: string;\r\n city: string;\r\n email: string;\r\n hasManageAddress: boolean;\r\n isMSCAccount: boolean;\r\n canPlaceOrder: boolean;\r\n isActive: boolean;\r\n isApproved: boolean;\r\n lockCount: boolean;\r\n effectiveFrom: string;\r\n effectiveTo: string;\r\n userLanguage: string;\r\n lastTermsAndConditionAccepted: boolean;\r\n forceTermsAndCondition: boolean;\r\n defaultCustomer: [];\r\n mscCustomer: [];\r\n invalidLoginCount: number;\r\n forcePasswordReset: boolean;\r\n isValid: boolean;\r\n message: string;\r\n defaultShippingAddressNumber: number;\r\n billingStreet1Address: string;\r\n billingStreet2Address: string;\r\n billingCity: string;\r\n billingState: string;\r\n billingCounty: string;\r\n billingCountry: string;\r\n billingZipCode: string;\r\n billingPhoneNumber: string;\r\n requireAccountSummary: boolean;\r\n requireInvoiceDetails: boolean;\r\n userEnteredCustomerName: string;\r\n userEnteredCustomerNumber: string;\r\n contact: string;\r\n addedBy: string;\r\n lastLogin: string;\r\n dateAdded: Date;\r\n //userDetails: IUser;\r\n //userDetails: IUser;\r\n paymentTerms: string;\r\n currencyCode: string;\r\n userEmail: string;\r\n}\r\nexport class User implements IUser {\r\n customerNumber: string;\r\n userId: string;\r\n customerName: string;\r\n roles: string[];\r\n isCSCAccount: boolean;\r\n isMSCAccount: boolean;\r\n userName: string;\r\n myCartItemCount: number | 0;\r\n email: string;\r\n mscData: string[];\r\n userLanguage: string;\r\n dateAdded: Date;\r\n lastLogin: string;\r\n userEmail: string;\r\n\r\n constructor() {\r\n this.customerName = '';\r\n this.customerNumber = '';\r\n this.roles = [];\r\n this.mscData = [];\r\n this.isCSCAccount = false;\r\n this.isMSCAccount = false;\r\n this.userName = '';\r\n this.myCartItemCount = 0;\r\n this.userFirstName = '';\r\n this.userLastName = '';\r\n this.email = '';\r\n this.userLanguage = 'eng';\r\n this.lastTermsAndConditionAccepted = false;\r\n this.forceTermsAndCondition = false;\r\n }\r\n sendTempPW: boolean;\r\n canPlaceOrder: boolean;\r\n isActive: boolean;\r\n isApproved: boolean;\r\n lockCount: boolean;\r\n effectiveFrom: string;\r\n effectiveTo: string;\r\n state: string;\r\n zipCode: string;\r\n addressLine1: string;\r\n city: string;\r\n isInAdminRole: boolean;\r\n hasAccountSummary: boolean;\r\n hasInvoiceInquiry: boolean;\r\n isInvoicePayment: boolean;\r\n hasManageAddress: boolean;\r\n userFirstName: string;\r\n password: string;\r\n userLastName: string;\r\n phoneNumber: string;\r\n faxNumber: string;\r\n lastTermsAndConditionAccepted: boolean;\r\n forceTermsAndCondition: boolean;\r\n defaultCustomer: [];\r\n mscCustomer: [];\r\n invalidLoginCount: number;\r\n forcePasswordReset: boolean;\r\n isValid: boolean;\r\n message: string;\r\n defaultShippingAddressNumber: number;\r\n billingStreet1Address: string;\r\n billingStreet2Address: string;\r\n billingCity: string;\r\n billingState: string;\r\n billingCounty: string;\r\n billingCountry: string;\r\n billingZipCode: string;\r\n billingPhoneNumber: string;\r\n requireAccountSummary: boolean;\r\n requireInvoiceDetails: boolean;\r\n userEnteredCustomerName: string;\r\n userEnteredCustomerNumber: string;\r\n adminNote: string;\r\n addedBy: string;\r\n contact: string;\r\n //userDetails: IUser;\r\n paymentTerms: string;\r\n currencyCode: string;\r\n}\r\n\r\nexport interface IUserLogin {\r\n userDetails: IUser;\r\n isValid: boolean;\r\n message: string;\r\n}\r\nexport interface ILoginRequest {\r\n username: string;\r\n password: string;\r\n}\r\nexport class LoginRequest implements ILoginRequest {\r\n username: string;\r\n password: string;\r\n\r\n}\r\nexport interface IPWALoginRequest {\r\n userName: string;\r\n deviceName: string;\r\n deviceWidth: string;\r\n deviceHight: string\r\n}\r\nexport class PWALoginRequest implements IPWALoginRequest {\r\n userName: string;\r\n deviceName: string;\r\n deviceWidth: string;\r\n deviceHight: string\r\n}\r\n//#endregion\r\n\r\n\r\n//#region BuildPak Admin\r\n\r\n\r\nexport interface IProductAttributesGetByattributeIdBody {\r\n attributeIds: string;//\"attributeIds\":\"104,13,145\" \r\n}\r\nexport interface IProductAttribute {\r\n attributeId: number\r\n attributeName: string;\r\n v6OptionCode: string;\r\n attributeValueTypeName: string;\r\n attributeValueTypeId: number;\r\n valuesFromV6: string;\r\n publishedName: string;\r\n isActive: boolean;\r\n attributeValues: Array;\r\n}\r\n\r\nexport class ProductAttribute implements IProductAttribute {\r\n attributeValues: IAttributeValue[];\r\n attributeId: number;\r\n attributeName: string;\r\n v6OptionCode: string;\r\n attributeValueTypeId: number;\r\n valuesFromV6: string;\r\n publishedName: string;\r\n isActive: boolean;\r\n constructor() {\r\n this.attributeId = 0;\r\n this.attributeName = '';\r\n this.v6OptionCode = '';\r\n this.publishedName = '';\r\n this.attributeValueTypeId = 0;\r\n this.valuesFromV6 = '';\r\n this.isActive = false;\r\n this.attributeValues = new Array();\r\n\r\n }\r\n attributeValueTypeName: string;\r\n}\r\nexport interface IAttributeValue {\r\n attributeId: number;\r\n attributeValueId: number\r\n attributeValueName: string;\r\n attributeValueDescription: string;\r\n v6OptionCode: string;\r\n displaySequence: number;\r\n valuesFromV6: string;\r\n v6Code: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport class AttributeValue implements IAttributeValue {\r\n attributeId: number;\r\n attributeValueId: number;\r\n attributeValueName: string;\r\n attributeValueDescription: string;\r\n v6OptionCode: string;\r\n displaySequence: number;\r\n valuesFromV6: string;\r\n v6Code: string;\r\n isActive: boolean;\r\n constructor() {\r\n this.attributeId = 0;\r\n this.attributeValueId = 0;\r\n this.attributeValueName = '';\r\n this.attributeValueDescription = '';\r\n this.v6OptionCode = '';\r\n this.displaySequence = 0;\r\n this.valuesFromV6 = '';\r\n this.v6Code = '';\r\n this.isActive = false;\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n//#endregion\r\n\r\n//#region Cart\r\nexport interface ICartLbl {\r\n quickAddLbl: string;\r\n idDescriptionLbl: string;\r\n finishLbl: string;\r\n setDefaultLbl: string;\r\n defaultLbl: string;\r\n paintLbl: string;\r\n sizeLbl: string;\r\n quantityLbl: string;\r\n uomLbl: string;\r\n addToCartLbl: string;\r\n clearSelectionLbl: string;\r\n lineLbl: string;\r\n unitLbl: string;\r\n itemLbl: string;\r\n extrusionLbl: string;\r\n descriptionLbl: string;\r\n listPriceLbl: string;\r\n multiplierLbl: string;\r\n unitPriceLbl: string;\r\n extendedPriceLbl: string;\r\n quoteNameLbl: string;\r\n totalPriceLbl: string;\r\n importLbl: string;\r\n addToQuoteLbl: string;\r\n emptyCartLbl: string;\r\n ProceedToCheckoutLbl: string;\r\n clickLbl: string;\r\n uploadLbl: string;\r\n importSuccessMessageLbl: string;\r\n importSuccessMessageLbl1: string;\r\n errorMessage: string;\r\n addedToCartSuccessLbl: string;\r\n cartUpdatedLbl: string;\r\n confirmLbl: string;\r\n deleteConfirmLbl: string;\r\n deleteYesLbl: string;\r\n deleteNoLbl: string;\r\n confirmCartDelete: string;\r\n copyLbl: string;\r\n editLbl: string;\r\n}\r\nexport interface ICartItemResponse {\r\n modifiedCartItems: any[];\r\n cartItemCount: number;\r\n statusMessage: string;\r\n}\r\n\r\nexport interface ICartItem {\r\n userId: string;\r\n cartItemCommonId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n finishValue: string;\r\n v6FinishCode: string;\r\n finish: string;\r\n quantity: number;\r\n size: string;\r\n basePrice: number;\r\n cmp: number;\r\n listPrice: number;\r\n unitPrice: number;\r\n extendedPrice: number;\r\n quoteCommonId: string;\r\n jobName: string;\r\n paint: string;\r\n paints: string[];\r\n availableFinishes: Array;\r\n currentSizes: Extrusion[];\r\n customerNumber: string;\r\n categoryId: number;\r\n itemType: number;\r\n itemDescription: string;\r\n isValid: boolean;\r\n cartItemIdToRemove: string;\r\n productId: string;\r\n productCode: string;\r\n configProductCode: string;\r\n configProductId: number;\r\n isEmptyPaint: boolean;\r\n pushPullFinish: string;\r\n thumbnail: any;\r\n}\r\n\r\nexport class CartItem implements ICartItem {\r\n itemType: number;\r\n itemDescription: string;\r\n quoteCommonId: string;\r\n jobName: string;\r\n userId: string;\r\n cartItemCommonId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n finishValue: string;\r\n finish: string;\r\n v6FinishCode: string;\r\n quantity: number;\r\n size: string;\r\n basePrice: number;\r\n cmp: number;\r\n listPrice: number;\r\n unitPrice: number;\r\n extendedPrice: number;\r\n availableFinishes: Array;\r\n currentSizes: Extrusion[];\r\n customerNumber: string;\r\n paint: string;\r\n paintName: string;\r\n paints: string[];\r\n categoryId: number;\r\n isValid: boolean;\r\n productId: string;\r\n productCode: string;\r\n cartItemIdToRemove: string;\r\n configProductCode: string;\r\n configProductId: number;\r\n isEmptyPaint: boolean;\r\n thumbnail: any;\r\n constructor() {\r\n this.isValid = true;\r\n }\r\n pushPullFinish: string;\r\n}\r\n\r\nexport interface IImportExcelUpload {\r\n uploadSaveUrl: string;\r\n uploadRemoveUrl: string;\r\n show: boolean;\r\n toggleText: string;\r\n myRestrictions: FileRestrictions;\r\n userImages: Array;\r\n showInfo: boolean;\r\n}\r\nexport interface IImportItemFromExcel {\r\n itemNumber: string;\r\n itemQuantity: string;\r\n paintNumber: string;\r\n}\r\nexport class ImportItemFromExcel implements IImportItemFromExcel {\r\n itemNumber: string;\r\n itemQuantity: string;\r\n paintNumber: string;\r\n}\r\n\r\n//#endregion\r\n//#region import\r\nexport interface IImportLbl {\r\n uploadItemToExcelLbl: string;\r\n excelFileUploadLbl: string;\r\n importContentLbl1: string;\r\n importContentLbl2: string;\r\n importContentLbl3: string;\r\n importContentLbl4: string;\r\n importContentLbl5: string;\r\n importContentLbl6: string;\r\n importContentLbl7: string;\r\n importContentLbl8: string;\r\n importContentLbl9: string;\r\n importContentLbl10: string;\r\n importContentLbl11: string;\r\n importContentLbl12: string;\r\n importContentLbl13: string;\r\n importContentLbl14: string;\r\n clickLbl: string;\r\n uploadLbl: string;\r\n}\r\n//#endregion\r\n//#region CheckOut\r\nexport interface IShipping {\r\n shippingAddres: ICustomer;\r\n billingAddress: ICustomer;\r\n}\r\nexport interface IOrderDetail {\r\n jobName: string;\r\n jobCity: string;\r\n jobState: IState;\r\n po: string;\r\n marketSegment: IMasterData;\r\n freightTerms: IMasterData;\r\n requestDate: Date;\r\n confirmEmail: string;\r\n leed: boolean;\r\n taxable: string;\r\n quotedInHouse: boolean;\r\n quoteNumber: string;\r\n freightNotes: string;\r\n comments: string;\r\n inputTax: string;\r\n taxableCertification: string;\r\n useCreditCard: boolean;\r\n promoCodeCheck: boolean;\r\n promoCode: string;\r\n // myFiles: Array;\r\n taxFile: string;\r\n taxFileName: string;\r\n}\r\n\r\nexport class OrderDetail implements IOrderDetail {\r\n jobName: string;\r\n jobCity: string;\r\n jobState: IState;\r\n po: string;\r\n marketSegment: IMasterData;\r\n freightTerms: IMasterData;\r\n requestDate: Date;\r\n confirmEmail: string;\r\n leed: boolean;\r\n taxable: string;\r\n quotedInHouse: boolean;\r\n quoteNumber: string;\r\n freightNotes: string;\r\n comments: string;\r\n inputTax: string;\r\n taxableCertification: string;\r\n useCreditCard: boolean;\r\n promoCodeCheck: boolean;\r\n promoCode: string;\r\n // myFiles: Array;\r\n taxFile: string;\r\n taxFileName: string;\r\n\r\n}\r\nexport interface ICheckOutResponse {\r\n kdReferenceNumber: string;\r\n}\r\nexport interface ICheckOutProcessModel {\r\n userId: string;\r\n customerNumber: string;\r\n // shipping\r\n // orderdetails\r\n // cart\r\n currentShipping: ICustomer;\r\n currentBilling: ICustomer;\r\n orderDetail: IOrderDetail;\r\n cartId: string;\r\n // temp variables\r\n shipToCustomerNumber: number;\r\n billToCustomerNumber: number;\r\n orderTotal: number;\r\n}\r\n\r\nexport class CheckOutProcessModel implements ICheckOutProcessModel {\r\n userId: string;\r\n customerNumber: string;\r\n // shipping\r\n // orderdetails\r\n // cart\r\n currentShipping: ICustomer;\r\n currentBilling: ICustomer;\r\n orderDetail: IOrderDetail;\r\n cartId: string;\r\n // temp variables\r\n shipToCustomerNumber: number;\r\n billToCustomerNumber: number;\r\n orderTotal: number;\r\n\r\n constructor() {\r\n this.userId = \"\";\r\n this.customerNumber = \"\";\r\n this.orderDetail = new OrderDetail();\r\n this.cartId = \"\";\r\n // this.shipToCustomerNumber = \"\";\r\n // this.billToCustomerNumber = \"\";\r\n }\r\n}\r\n\r\n\r\nexport interface IOrderDetailsFormValidate {\r\n isSubmitted: boolean;\r\n isInvalidJobName: boolean;\r\n isInvalidJobCity: boolean;\r\n isInvalidJobState: boolean;\r\n isInvalidTaxableCertification: boolean;\r\n isInvalidPO: boolean;\r\n isInvalidMyFiles: boolean;\r\n isInvalidMarketSegment: boolean;\r\n isInvalidFreightTerms: boolean;\r\n isInvalidQuoteNumber: boolean;\r\n isInvalidRequestDate: boolean;\r\n isInvalidFreightNotes: boolean;\r\n isInvalidConfirmEmail: boolean;\r\n isInvalidComments: boolean;\r\n}\r\nexport class OrderDetailsFormValidate implements IOrderDetailsFormValidate {\r\n isSubmitted: boolean;\r\n isInvalidJobName: boolean;\r\n isInvalidJobCity: boolean;\r\n isInvalidJobState: boolean;\r\n isInvalidTaxableCertification: boolean;\r\n isInvalidPO: boolean;\r\n isInvalidMyFiles: boolean;\r\n isInvalidMarketSegment: boolean;\r\n isInvalidFreightTerms: boolean;\r\n isInvalidQuoteNumber: boolean;\r\n isInvalidRequestDate: boolean;\r\n isInvalidFreightNotes: boolean;\r\n isInvalidConfirmEmail: boolean;\r\n isInvalidComments: boolean;\r\n\r\n}\r\nexport interface ICustomerAddressLabel {\r\n addAddressLbl: string;\r\n customerNumberLbl: string;\r\n nameLbl: string;\r\n addressLine1Lbl: string;\r\n addressLine2Lbl: string;\r\n cityLbl: string;\r\n stateLbl: string;\r\n zipcodeLbl: string;\r\n countryLbl: string;\r\n countyLbl: string;\r\n phoneNumberLbl: string;\r\n phoneValidationLbl: string;\r\n archiveLbl: string;\r\n closeLbl: string;\r\n saveLbl: string;\r\n selectAddressLbl: string;\r\n shippingAddressLbl: string;\r\n duplicateAddressText1: string;\r\n duplicateAddressText2: string;\r\n duplicateAddressText3: string;\r\n addNewAddressLbl: string;\r\n selectLbl: string;\r\n\r\n}\r\nexport interface ICustomerShipTo {\r\n id: number;\r\n billTo: string;\r\n shipTo: string;\r\n name: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n state: string;\r\n zipcode: string;\r\n country: string;\r\n phoneNumber: string;\r\n}\r\n\r\nexport interface ICheckOutLabel {\r\n checkoutPageTitle: string;\r\n currentBillingAddressLbl: string;\r\n currentShippingAddressLbl: string;\r\n krnLbl: string;\r\n missingFields: string;\r\n orderConfirmLbl: string;\r\n orderDetailsLbl: string;\r\n paymentLbl: string;\r\n reviewOrderLbl: string;\r\n shippingLbl: string;\r\n submitedInfo1: string;\r\n submitedInfo2: string;\r\n submitedInfo3: string;\r\n submitedInfo4: string;\r\n continueLbl: string;\r\n confirmOrderLbl: string;\r\n thanksLbl: string;\r\n continueShoppingLbl: string;\r\n kawneerOrderLbl: string;\r\n kdLbl: string;\r\n closeLbl: string;\r\n surveyFeedbackLbl: string;\r\n}\r\nexport interface ICheckOutOrderDetailsLbl {\r\n commentsLbl1: string;\r\n commentsLbl2: string;\r\n confirmEmailLbl: string;\r\n frieghtTermsLbl: string;\r\n frightNotesLbl: string;\r\n inputTax: string;\r\n jobCityLbl: string;\r\n jobNameLbl: string;\r\n jobStateLbl: string;\r\n leedLbl: string;\r\n marketSegmentLbl: string;\r\n poLbl: string;\r\n quotedInHouseLbl: string;\r\n quoteNumberLbl: string;\r\n requestDateLbl: string;\r\n requiredFieldLbl: string;\r\n taxableCertificationLbl: string;\r\n taxableLbl: string;\r\n characterRemainingLbl: string;\r\n promoCodeLbl: string;\r\n promoApplyLbl: string;\r\n promoNotValidLbl: string;\r\n promoValidLbl: string;\r\n defaultCreditInfoLbl: string;\r\n toModifyCreditLbl: string;\r\n payByCreditLbl: string;\r\n cardTypeLbl: string;\r\n nameOnCardLbl: string;\r\n creditCardNumberLbl: string;\r\n cardExpiryLbl: string;\r\n\r\n}\r\nexport interface IcheckoutOrderDetails {\r\n jobName: string;\r\n jobCity: string;\r\n jobState: IDropDownData;\r\n po: string;\r\n marketSegment: IDropDownData;\r\n freightTerms: IDropDownData;\r\n requestDate: Date;\r\n confirmEmail: string;\r\n leed: boolean;\r\n taxable: boolean;\r\n quotedInHouse: boolean;\r\n quoteNumber: string;\r\n freightNotes: string;\r\n comments: string;\r\n inputTax: string;\r\n taxableCertification: string;\r\n myFiles: Array;\r\n promoCodeCheck: boolean;\r\n promoCode: string;\r\n}\r\nexport interface ICartReviewsLbl {\r\n finishLbl: string;\r\n paintLbl: string;\r\n sizeLbl: string;\r\n quantityLbl: string;\r\n uomLbl: string;\r\n lineLbl: string;\r\n unitLbl: string;\r\n itemLbl: string;\r\n extrusionLbl: string;\r\n descriptionLbl: string;\r\n listPriceLbl: string;\r\n multiplierLbl: string;\r\n unitPriceLbl: string;\r\n extendedPriceLbl: string;\r\n quoteNameLbl: string;\r\n totalPriceLbl: string;\r\n}\r\nexport interface IDropDownData {\r\n text: string;\r\n value: string;\r\n}\r\n\r\nexport interface IGetAllSupportDataForCheckOutOrderDetail {\r\n countries: Array;\r\n marketSegments: Array;\r\n freightTerms: Array;\r\n}\r\nexport class CheckOutDetail implements IGetAllSupportDataForCheckOutOrderDetail {\r\n countries: Array;\r\n marketSegments: Array;\r\n freightTerms: Array;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region Change Customer\r\nexport interface IChangeCustomer {\r\n customerNumber: string;\r\n customerName: string;\r\n customerNameToDisplay: string;\r\n}\r\nexport class ChangeCustomer implements IChangeCustomer {\r\n customerNumber: string;\r\n customerName: string;\r\n searchQuery: string;\r\n customerNameToDisplay: string;\r\n public constructor() {\r\n this.customerNumber = '';\r\n this.searchQuery = '';\r\n }\r\n}\r\nexport interface IChangeCustomerBody {\r\n searchstring: string;\r\n}\r\n//#endregion\r\n//#region Credit Card\r\nexport interface ICreditCardDetails {\r\n isSavedAsDefault: boolean\r\n cardNumber: string\r\n expirationDate: string;\r\n nameOnCard: string;\r\n cardType: string;\r\n expirationYear: string;\r\n expirationMonth: string;\r\n}\r\nexport class CreditCardDetails implements ICreditCardDetails {\r\n isSavedAsDefault: boolean\r\n cardNumber: string\r\n expirationDate: string;\r\n nameOnCard: string;\r\n cardType: string;\r\n expirationYear: string;\r\n expirationMonth: string;\r\n\r\n}\r\nexport interface ICreditInfoBody {\r\n customerNumber: string\r\n}\r\nexport class CreditInfoBody implements ICreditInfoBody {\r\n customerNumber: string;\r\n\r\n}\r\n//#endregion\r\n//#region Job name search\r\nexport interface IJobNameSearch {\r\n customerNumber: string;\r\n userName: string;\r\n jobNumber: string;\r\n jobName: string;\r\n city: string;\r\n state: string;\r\n}\r\nexport class JobNameSearch implements IJobNameSearch {\r\n customerNumber: string;\r\n userName: string;\r\n jobNumber: string;\r\n jobName: string;\r\n city: string;\r\n state: string;\r\n}\r\nexport interface IJobSearch {\r\n customerNumber: string\r\n jobNumber: string;\r\n jobName: string;\r\n city: string;\r\n state: string;\r\n isSelected: boolean\r\n}\r\nexport class JobSearch implements IJobSearch {\r\n customerNumber: string; jobNumber: string;\r\n jobName: string;\r\n city: string;\r\n state: string;\r\n isSelected: boolean;\r\n\r\n}\r\n//#endregion\r\n\r\n//#region manage user account\r\nexport interface IUpdateUserBody {\r\n userName: string;\r\n userFirstName: string;\r\n userLastName: string;\r\n email: string;\r\n}\r\nexport interface IUpdateUserAccessToScreensBody {\r\n userId: string;\r\n hasInvoiceInquiry: boolean;\r\n hasAccountSummary: boolean;\r\n hasManageAddress: boolean;\r\n canPlaceOrder: boolean;\r\n isInAdminRole: boolean;\r\n isActive: boolean;\r\n}\r\n\r\n\r\nexport interface IUserAccount {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n isInvoiceInquiry: boolean;\r\n isAccountSummary: boolean;\r\n isManageAddress: boolean;\r\n canPlaceOrder: boolean;\r\n admin: string;\r\n lastLogin: string;\r\n}\r\nexport class UserAccount implements IUserAccount {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n isInvoiceInquiry: boolean;\r\n isAccountSummary: boolean;\r\n isManageAddress: boolean;\r\n canPlaceOrder: boolean;\r\n admin: string;\r\n lastLogin: string;\r\n}\r\n\r\nexport interface INewUserBody {\r\n userId: string;\r\n userName: string;\r\n userFirstName: string;\r\n userLastName: string;\r\n customerNumber: string;\r\n email: string;\r\n confirmEmail: string;\r\n companyName: string;\r\n companyAccountNumber: string;\r\n billingAddress1: string;\r\n billingAddress2: string;\r\n city: string;\r\n county: string;\r\n state: string;\r\n country: string;\r\n zipCode: string;\r\n}\r\nexport interface INewUserLabel {\r\n pageTitleLbl: string;\r\n userNameLbl: string;\r\n passwordLbl: string;\r\n firstNameLbl: string;\r\n lastNameLbl: string;\r\n emailLbl: string;\r\n confirmEmailLbl: string;\r\n phoneNumberLbl: string;\r\n companyNameLbl: string;\r\n companyAccNumberLbl: string;\r\n invalidEmailLbl: string;\r\n confirmEmailMatchLbl: string;\r\n registerLbl: string;\r\n resetLbl: string;\r\n userNotAvailableLbl: string;\r\n invalidPhoneLbl: string;\r\n successMsgLbl: string;\r\n errorMsgLbl: string;\r\n}\r\nexport interface INewUserSaveLabel {\r\n successMsgLbl: string;\r\n errorMsgLbl: string;\r\n}\r\n//#region customer multiplier\r\nexport interface IMultiplier {\r\n itemGroup: string;\r\n itemGroupDescription: string;\r\n itemGroupMultiplier: string;\r\n}\r\nexport class Multiplier implements IMultiplier {\r\n itemGroup: string;\r\n itemGroupDescription: string;\r\n itemGroupMultiplier: string;\r\n}\r\nexport interface IMultiplierPlan {\r\n customerAddress: ICustomer;\r\n multiplierPlans: IMultiplier[];\r\n}\r\nexport interface IMultiplierPlanLabel {\r\n customerNumberLbl: string;\r\n territoryCodeLbl: string;\r\n multiplierLbl1: string;\r\n multiplierLbl2: string;\r\n dateText: string;\r\n multiplierLbl3: string;\r\n multiplierLbl4: string;\r\n multiplierLbl5: string;\r\n itemGroupLbl: string;\r\n descriptionLbl: string;\r\n itemGroupMultiplierLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n headingLbl: string;\r\n footarTextLbl: string;\r\n}\r\n//endregion\r\n//#region sample request\r\n\r\nexport interface ISampleRequestLabel {\r\n categoryLbl: string;\r\n imageLbl: string;\r\n finishCategoryLbl: string;\r\n productLbl: string;\r\n genderLbl: string;\r\n sizeLbl: string;\r\n quantityLbl: string;\r\n addSelectionBtnLbl: string;\r\n companyNameLbl: string;\r\n addressLine1Lbl: string;\r\n jobNameLbl: string;\r\n addressLine2Lbl: string;\r\n phoneNumberLbl: string;\r\n cityLbl: string;\r\n stateLbl: string;\r\n zipCodeLbl: string;\r\n info1Lbl: string;\r\n sampleSelectionLbl: string;\r\n selectionLbl: string;\r\n continueLbl: string;\r\n reviewSelectionLbl: string;\r\n shippingDetailsLbl: string;\r\n phoneNumberValidationLbl: string;\r\n cancelLbl: string;\r\n placeOrderLbl: string;\r\n submitResponseLbl: string;\r\n contactFirstNameLbl: string;\r\n contactLastNameLbl: string;\r\n}\r\nexport interface ISampleRequestBody {\r\n finishCategory: string;\r\n finish: string;\r\n quantity: number;\r\n}\r\nexport interface ISize {\r\n name: string;\r\n value: string;\r\n}\r\nexport interface IGender {\r\n name: string;\r\n value: string;\r\n}\r\n\r\nexport interface ISampleRequestGrid1 {\r\n image: string;\r\n finishCategory: string;\r\n finish: string;\r\n size: Array;\r\n gender: Array;\r\n quantity: number;\r\n finishSampleLevel1key: string;\r\n r_VALUE: string;\r\n g_VALUE: string;\r\n b_VALUE: string;\r\n externalImage: string;\r\n skuNo: string;\r\n}\r\nexport class SampleRequestGrid1 implements ISampleRequestGrid1 {\r\n image: string;\r\n finishCategory: string;\r\n finish: string;\r\n size: Array;\r\n gender: Array;\r\n quantity: number = 1;\r\n finishSampleLevel1key: string;\r\n r_VALUE: string;\r\n g_VALUE: string;\r\n b_VALUE: string;\r\n externalImage: string;\r\n skuNo: string;\r\n constructor() {\r\n this.quantity = 1;\r\n }\r\n}\r\nexport interface ISampleRequest {\r\n image: string;\r\n finishSampleLevel1key: string;\r\n finishCategory: string;\r\n finish: string;\r\n finishCode: string;\r\n size: string;\r\n gender: string;\r\n quantity: number;\r\n r_VALUE: string;\r\n g_VALUE: string;\r\n b_VALUE: string;\r\n externalImage: string;\r\n skuNo: string;\r\n}\r\nexport class SampleRequest implements ISampleRequest {\r\n image: string;\r\n finishSampleLevel1key: string;\r\n finishCategory: string;\r\n finish: string;\r\n finishCode: string;\r\n size: string;\r\n gender: string;\r\n quantity: number;\r\n r_VALUE: string;\r\n g_VALUE: string;\r\n b_VALUE: string;\r\n externalImage: string;\r\n skuNo: string;\r\n\r\n}\r\nexport interface IFinishCategory {\r\n finishSampleLevel1key: number;\r\n category: string;\r\n displayOrder: number;\r\n userType: string;\r\n}\r\nexport interface ISampleCategoryBody {\r\n finishSampleLevel1key: number;\r\n category: string;\r\n}\r\n\r\n//#Region Sample Product fulfillment\r\nexport interface ISampleSubCategory {\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n sku: number;\r\n subCategoryDescription: string;\r\n maxQtyCanBeOrdered: number;\r\n ec: string;\r\n colorCode: string;\r\n stockNum: string;\r\n currentCostId: number;\r\n stockingLevel: number;\r\n currentInventory: number;\r\n reorderPoint: number;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n imagePath: string;\r\n displayOrder: number;\r\n isActive: boolean;\r\n isActiveCategory: boolean,\r\n isVisibleToOnlyPDMTeam: boolean;\r\n isVisibleToExternalUser: boolean;\r\n onBackOrder: boolean;\r\n absoluteURL: string;\r\n width: number;\r\n length: number;\r\n height: number,\r\n weight: number;\r\n size: string;\r\n}\r\n\r\nexport interface ISampleCategory {\r\n categoryId: number;\r\n categoryName: string;\r\n}\r\n\r\nexport interface ISampleSubCategoryRequestGrid1 {\r\n quantity: number;\r\n externalImage: string;\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n sku: number;\r\n subCategoryDescription: string;\r\n maxQtyCanBeOrdered: number;\r\n ec: string;\r\n colorCode: string;\r\n stockNum: string;\r\n currentCostId: number;\r\n stockingLevel: number;\r\n currentInventory: number;\r\n reorderPoint: number;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n imagePath: string;\r\n displayOrder: number;\r\n isActive: boolean;\r\n isActiveCategory: boolean,\r\n isVisibleToOnlyPDMTeam: boolean;\r\n isVisibleToExternalUser: boolean;\r\n onBackOrder: boolean;\r\n absoluteURL: string;\r\n width: number;\r\n length: number;\r\n height: number,\r\n weight: number;\r\n size: string;\r\n}\r\nexport class SampleSubCategoryRequestGrid1 implements ISampleSubCategoryRequestGrid1 {\r\n quantity: number;\r\n externalImage: string;\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n sku: number;\r\n subCategoryDescription: string;\r\n maxQtyCanBeOrdered: number;\r\n ec: string;\r\n colorCode: string;\r\n stockNum: string;\r\n currentCostId: number;\r\n stockingLevel: number;\r\n currentInventory: number;\r\n reorderPoint: number;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n imagePath: string;\r\n displayOrder: number;\r\n isActive: boolean;\r\n isActiveCategory: boolean;\r\n isVisibleToOnlyPDMTeam: boolean;\r\n isVisibleToExternalUser: boolean;\r\n onBackOrder: boolean;\r\n absoluteURL: string;\r\n width: number;\r\n length: number;\r\n height: number;\r\n weight: number;\r\n size: string;\r\n constructor() {\r\n this.quantity = 1;\r\n }\r\n}\r\n\r\nexport interface ISampleProductDetailItems {\r\n quantity: number;\r\n externalImage: string;\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n sku: number;\r\n subCategoryDescription: string;\r\n maxQtyCanBeOrdered: number;\r\n ec: string;\r\n colorCode: string;\r\n stockNum: string;\r\n currentCostId: number;\r\n stockingLevel: number;\r\n currentInventory: number;\r\n reorderPoint: number;\r\n size: string;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n imagePath: string;\r\n displayOrder: number;\r\n isActive: boolean;\r\n isActiveCategory: boolean,\r\n isVisibleToOnlyPDMTeam: boolean;\r\n isVisibleToExternalUser: boolean;\r\n onBackOrder: boolean;\r\n absoluteURL: string;\r\n}\r\nexport interface ISampleRegion {\r\n regionCode: string;\r\n regionDescription: string;\r\n}\r\nexport class SampleRegion {\r\n regionCode: string;\r\n regionDescription: string;\r\n}\r\nexport interface ISamplePlaceOrderBody {\r\n sampleRequestItems: Array,\r\n companyName: string,\r\n jobName: string,\r\n addressLine1: string,\r\n addressLine2: string,\r\n phoneNumber: string,\r\n city: string,\r\n state: string,\r\n zipCode: string,\r\n customerNumber: string;\r\n languageCode: string;\r\n //userId: string;\r\n stateCode: string;\r\n contactFirstName: string;\r\n contactLastName: string;\r\n country: string;\r\n ccEmail: string;\r\n region: string;\r\n}\r\nexport interface IGetSampleProductOrderHeader {\r\n startDate: Date;\r\n endDate: Date;\r\n}\r\nexport interface IGetSampleProductOrderDetailsByHeader {\r\n sampleProductUniqueId: number;\r\n}\r\nexport interface IGetSampleSubCategoryCostBySubcategoryId {\r\n subCategoryId: number;\r\n}\r\nexport interface IGetFilterSampleReorderReport {\r\n onlyReorders: boolean,\r\n inActiveReorders: boolean;\r\n}\r\nexport interface IGetFilterSampleUsageReport {\r\n startDate: Date;\r\n endDate: Date;\r\n region: string;\r\n isActive: boolean;\r\n}\r\nexport interface IGetFilterSampleBudgetReport {\r\n startDate: Date;\r\n endDate: Date;\r\n}\r\nexport interface ISampleUsageReport {\r\n id: number,\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n subCategoryDescription: string;\r\n stockNum: string;\r\n totalCost: number;\r\n totalQuantity: number;\r\n region: string;\r\n totalOrders: string;\r\n orderCost: number;\r\n isActive: boolean;\r\n \r\n}\r\nexport interface ISampleReorderReport {\r\n subCategoryId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n subCategoryDescription: string;\r\n stockNum: string;\r\n currentCostId: number;\r\n stockingLevel: number;\r\n currentInventory: number;\r\n reorderPoint: number;\r\n isActive: boolean;\r\n isReorder: string;\r\n avgUsagePerMonth: string;\r\n noOfMonths: string;\r\n}\r\nexport interface ISampleAdminBudget {\r\n budget: number;\r\n cost: number;\r\n}\r\nexport interface ISampleSubCategoryExist {\r\n stockNumber: string;\r\n subCategoryId: number;\r\n}\r\nexport interface ISampleAdminBudgetAllocation {\r\n regionCode: string;\r\n regionDescription: string;\r\n budgetCode: string;\r\n}\r\nexport interface ISampleSubCategoryCost {\r\n subCategoryId: number;\r\n subCategoryDescription: string;\r\n cost: string,\r\n effectiveFrom: Date,\r\n effectiveTo: Date,\r\n isCurrentCost: boolean\r\n}\r\nexport interface ISampleProductOrderHeader {\r\n id: number,\r\n sampleProductRequestHeaderId: string,\r\n firstName: string,\r\n lastName: string,\r\n customerNumber: string,\r\n companyName: string, \r\n ccEmail: string;\r\n region: string;\r\n createdDate: Date,\r\n createdDateUIString: string,\r\n sampleProductOrderNumber: string,\r\n cost: string,\r\n contact: string,\r\n customer: string,\r\n}\r\nexport interface ISampleProductOrderDetails {\r\n sampleProductRequestHeaderId: string,\r\n categoryId: number,\r\n subCategoryId: number,\r\n categoryName: string,\r\n subCategoryDescription: string,\r\n colorCode: string,\r\n stockNum: string,\r\n quantity: string;\r\n createdDate: Date,\r\n sampleProductOrderNumber: string,\r\n cost: string,\r\n sampleProductUniqueId: number\r\n}\r\n// #End Region Sample Product fulfillment\r\n\r\nexport interface ISampleFinish {\r\n subCategoryId: number;\r\n finishSampleLevel1key: number;\r\n sku: number;\r\n finishCode: string;\r\n finish: string;\r\n maxQty: number;\r\n displayOrder: number;\r\n finishCategory: string;\r\n userType: string;\r\n isActive: boolean;\r\n gender: string;\r\n size: string;\r\n absoluteURL: string;\r\n relativeURL: string;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n}\r\nexport interface IPlaceOrderBody {\r\n sampleRequestItems: Array,\r\n companyName: string,\r\n jobName: string,\r\n addressLine1: string,\r\n addressLine2: string,\r\n phoneNumber: string,\r\n city: string,\r\n state: string,\r\n zipCode: string,\r\n customerNumber: string;\r\n languageCode: string;\r\n //userId: string;\r\n stateCode: string;\r\n contactFirstName: string;\r\n contactLastName: string;\r\n}\r\n//#endregion\r\n//#endregion\r\n//#region Common Grid Model\r\n// export GridState: State = {\r\n// sort: [\r\n// {\r\n// field: 'itemNumber',\r\n// dir: 'asc',\r\n// },\r\n// ],\r\n// skip: 0,\r\n// take: 10,\r\n// group: [],\r\n// // filter: {},\r\n// };\r\n//#endregion\r\n\r\n//#region Submittal Package---Need refactor\r\nexport interface ISubmittalPackageDetail {\r\n category: string;\r\n selectedValues: Array;\r\n multiSelectData: Array\r\n}\r\nexport interface ISubmittalPackageLevel2 {\r\n submittalLevel2key: string;\r\n submittalLevel1key: string;\r\n subCategory: string;\r\n displayOrder: string;\r\n urlPath: string;\r\n}\r\nexport interface IProductTypeBody {\r\n subCategory: string;\r\n submittalLevel2key: string;\r\n}\r\n\r\nexport interface ITestReportCategory {\r\n submittalLevel3key: string;\r\n testReportCategory: string;\r\n displayOrder: string;\r\n reportNumber: string;\r\n subCategoryDisplayOrder: string;\r\n submittalLevel2key: string;\r\n submittalLevel4key: string;\r\n testReportSubCategory: string;\r\n testType: string;\r\n testTypeDisplayOrder: string;\r\n urlPath: string;\r\n productOptTested: string;\r\n}\r\n\r\nexport interface ICategoryBody {\r\n testReportCategory: string;\r\n submittalLevel3key: string;\r\n}\r\nexport interface ITestReportSubCategory {\r\n submittalLevel4key: string;\r\n testReportSubCategory: string;\r\n}\r\n\r\nexport interface ISubCategoryBody {\r\n testReportSubCategory: string;\r\n submittalLevel4key: string;\r\n}\r\nexport interface ITestReportType {\r\n submittalLevel4key: string;\r\n testType: string;\r\n}\r\n\r\n\r\nexport interface ITestReportData {\r\n submittalLevel3key: string;\r\n testReportCategory: string;\r\n displayOrder: string;\r\n reportNumber: string;\r\n subCategoryDisplayOrder: string;\r\n submittalLevel2key: string;\r\n submittalLevel4key: string;\r\n testReportSubCategory: string;\r\n testType: string;\r\n testTypeDisplayOrder: string;\r\n urlPath: string;\r\n productOptTested: string;\r\n}\r\n\r\nexport interface IDownloadSubmittal {\r\n projectName: string;\r\n projectLocation: string;\r\n aluminiumCare: boolean;\r\n architectureDetails: boolean;\r\n customerVarificationLetter: boolean;\r\n preSubmittalDocument: boolean;\r\n sampleWarranty: Array;\r\n testReport: boolean;\r\n glassDocument: Array;\r\n paintDocument: Array;\r\n architectureDetailsData: Array;\r\n testReportData: Array;\r\n companyContactName: string;\r\n requestedBy: string;\r\n customerName: string;\r\n customerNumber: string;\r\n userName: string;\r\n userLanguage: string;\r\n leedPreSubmittalDocument: Array;\r\n productDeclare: Array;\r\n environmentalProduct: Array;\r\n cradle: Array;\r\n materialTransparency: Array;\r\n}\r\nexport interface ILeedMultiSelect {\r\n name: string;\r\n value: number;\r\n}\r\nexport interface ISampleWarranty {\r\n name: string;\r\n value: number;\r\n}\r\nexport interface GlassDocument {\r\n name: string;\r\n value: number;\r\n}\r\nexport interface PaintDocument {\r\n name: string;\r\n value: number;\r\n}\r\n\r\nexport interface ISubmittalLbl {\r\n selectionsPanelLbl: string;\r\n projectNameLbl: string;\r\n projectLocationLbl: string;\r\n aluminumCareLbl: string;\r\n architecturalDetailsLbl: string;\r\n architecturalDetailsTitleLbl: string;\r\n customerVerficationLetterLbl: string;\r\n leedPreSubmittalDocumentationLbl: string;\r\n sampleWarrantiesLbl: string;\r\n testReportsLbl: string;\r\n glassDocumentsLbl: string;\r\n paintDocumentsLbl: string;\r\n testReportsPanelLbl: string;\r\n productTypeLbl: string;//add\r\n selectTestReportCategoryLbl: string;\r\n selectTestReportSubCategoryLbl: string;\r\n testTypeLbl: string; //add\r\n addTestReportLbl: string; //add\r\n testReportNoLbl: string; //add\r\n testReportDescLbl: string; //add\r\n continueLbl: string;\r\n companyContactNameLbl: string;\r\n kanweerTermsConditionsLbl: string;\r\n termsAndConditionsPart1: string;\r\n termsConditionsLbl: string;\r\n downloadSubmittalLbl: string;\r\n cancelLbl: string;\r\n\r\n}\r\n\r\n//#endregion\r\n//#region CustomTermsAndConditionsNotes\r\nexport interface ICustomTermsAndConditionsNotes {\r\n description: string;\r\n createdBy: string;\r\n createdDate: Date;\r\n udatedBy: string;\r\n featureName: string;\r\n customTermsAndConditionsId: number;\r\n}\r\nexport class CustomTermsAndConditionsNotes implements ICustomTermsAndConditionsNotes {\r\n description: string;\r\n createdBy: string;\r\n createdDate: Date;\r\n featureName: string;\r\n udatedBy: string;\r\n customTermsAndConditionsId: number;\r\n}\r\n\r\n\r\n\r\nexport interface IAccountSummary {\r\n amountDue: string;\r\n totalExposure: string;\r\n overCreditLimit: string;\r\n lastInvoiceDate: string;\r\n paymentTerms: string;\r\n openOrderAmount: string;\r\n creditLimit: string;\r\n dateOfFirstInvoice: string;\r\n dateLastPaid: string;\r\n\r\n}\r\n\r\n\r\nexport class AccountSummary implements IAccountSummary {\r\n amountDue: string;\r\n totalExposure: string;\r\n overCreditLimit: string;\r\n lastInvoiceDate: string;\r\n paymentTerms: string;\r\n openOrderAmount: string;\r\n creditLimit: string;\r\n dateOfFirstInvoice: string;\r\n dateLastPaid: string;\r\n}\r\nexport interface IAccountSummaryLabel {\r\n amountDueLbl: string;\r\n billingAddressLbl: string;\r\n creditLmtLbl: string;\r\n dateLastPaidLbl: string;\r\n dofInvoiceLbl: string;\r\n lastInvoiceDateLbl: string;\r\n openOrderAmtLbl: string;\r\n pageTitle: string;\r\n overCreditLmtLbl: string;\r\n paymentTermsLbl: string;\r\n totalExposureLbl: string;\r\n}\r\n//#endregion\r\n//#region credit reference\r\nexport interface ICreditReferenceBody {\r\n customerNumber: string;\r\n email: string;\r\n}\r\nexport interface ICreditReferenceLabel {\r\n acceptTermsLbl: string;\r\n emailLbl: string;\r\n confirmEmailLbl: string;\r\n creditRefTermsAndConditionsLbl: string;\r\n pageTitle: string;\r\n submitLbl: string;\r\n cancelLbl: string;\r\n termsAndConditionsPartOne: string;\r\n invalidEmailLbl: string;\r\n confirmEmailMatchLbl: string;\r\n creditRefRequestInfoLbl: string;\r\n emailAddressAtRequestLbl: string;\r\n}\r\n//#endregion\r\n//#region Generate warranty\r\nexport interface IGetRelatedServiceOrderBody {\r\n customerNumber: string;\r\n orderNumber: string;\r\n}\r\nexport interface IGenerateWarranty {\r\n serviceOrderNumber: number;\r\n orderBu: string;\r\n jobName: string;\r\n jobNumber: string;\r\n orderDate: string;\r\n workmanship: string;\r\n finishedWarranty: string;\r\n scheduleDate: string;\r\n orderDateUIString: string;\r\n scheduleDateUIString: string;\r\n poNumber: string;\r\n shipFrom: string;\r\n shipTo: string;\r\n billTo: string;\r\n orderDateAsDate: Date;\r\n scheduleDateAsDate: Date;\r\n}\r\nexport interface IGetGenerateWarrantyBody {\r\n customerNumber: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n isFrench: boolean;\r\n}\r\nexport interface IGenerateWarrantyLabel {\r\n finishWarrantyLbl: string;\r\n jobNameLbl: string;\r\n jobNumberLbl: string;\r\n kdRefLbl: string;\r\n materialWorkmanshipLbl: string;\r\n orderDateLbl: string;\r\n pageTitle: string;\r\n purchaseOrderLbl: string;\r\n relatedSOsLbl: string;\r\n serviceOrderLbl: string;\r\n shipFromLbl: string;\r\n orderTypeLbl: string;\r\n poLbl: string;\r\n scheduleDateLbl: string;\r\n downloadWarrantyLbl: string;\r\n relatedServiceLbl: string;\r\n exportToPdfLbl: string;\r\n exportToExcelLbl: string;\r\n}\r\n//#endregion\r\n//#region lien release\r\nexport interface IDownLoadLienRelease {\r\n invoiceNumber: string;\r\n lienType: string;\r\n progressLienThruDate: string;\r\n notary: string;\r\n faxNumber: string;\r\n paidType: string;\r\n paidAmount: string;\r\n customerNumber: string;\r\n}\r\nexport interface InvoiceNumberBody {\r\n invoiceNumber: string;\r\n customerNumber: string;\r\n date: string;\r\n}\r\nexport interface ILienReleaseLabel {\r\n acceptTermsAndConditionsLbl: string;\r\n businessDaysToProcessLbl: string;\r\n cancelButtonLbl: string;\r\n faxLbl: string;\r\n invoiceNumberLbl: string;\r\n lienReleaseLbl: string;\r\n lienReleaseTermsAndConditionsLbl: string;\r\n lienReleaseTermsAndConditionsTex1tLbl: string;\r\n lienReleaseTermsAndConditionsTex2tLbl: string;\r\n lienReleaseTermsAndConditionsTex3tLbl: string;\r\n notaryRequiredLbl: string;\r\n selectLienTypeLbl: string;\r\n submitButtonLbl: string;\r\n progressLienThruDateLbl: string;\r\n continueLbl: string;\r\n invalidInvoiceNumberLbl: string;\r\n paidDefaultLbl: string;\r\n paidByKawneerLbl: string;\r\n paidByCustomerLbl: string;\r\n noSelectionTextLbl: string;\r\n continueDownloadLbl: string;\r\n invoiceDetailTitleLbl: string;\r\n downoadTitleLbl: string;\r\n\r\n}\r\n//#endregion\r\n//#region Language Translation\r\nexport interface ILanguageTranslation {\r\n componentName: string;\r\n languageCode: string;\r\n controlName: string;\r\n controlText: string;\r\n isUpdated: boolean;\r\n}\r\nexport interface IControlNameBody {\r\n controlTextList: Array;\r\n}\r\n\r\nexport interface ILanguages {\r\n languageCode: string;\r\n languageText: string;\r\n imageControlName: string;\r\n}\r\n//#endregion\r\n//#region marketing admin- Submittal package admin\r\nexport interface IArchitectureCategory {\r\n categoryId: string;\r\n categoryDescription: string;\r\n IsCategoryActive: boolean;\r\n}\r\nexport interface IArchitectureCategoryBody {\r\n categoryId: string;\r\n categoryDescription: string;\r\n IsCategoryActive: boolean;\r\n}\r\nexport interface IArchitectureDetails {\r\n categoryId: string;\r\n categoryDescription: string;\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n\r\n}\r\nexport interface IArchitectureDetailsBody {\r\n categoryId: string;\r\n categoryDescription: string;\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n}\r\nexport interface ArchitectureDetails {\r\n categoryId: string;\r\n categoryDescription: string;\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n}\r\nexport interface ICategoryData {\r\n categoryId: string;\r\n categoryDescription: string;\r\n}\r\nexport interface ITestReportGrid {\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n testCategoryId: string;\r\n testCategoryDescription: string;\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n testType: string;\r\n testReportDescription: string;\r\n testReportNumber: string;\r\n ecNumber: string;\r\n ecVersion: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n testReportId: number;\r\n\r\n}\r\nexport interface ITestReportDropdownData {\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n testCategoryId: string;\r\n testCategoryDescription: string;\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n testType: string;\r\n testReportDescription: string;\r\n testReportNumber: string;\r\n ecNumber: string;\r\n ecVersion: string;\r\n urlPath: string;\r\n\r\n}\r\nexport interface ITestReportDropdownData {\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n testCategoryId: string;\r\n testCategoryDescription: string;\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n testType: string;\r\n testReportDescription: string;\r\n testReportNumber: string;\r\n ecNumber: string;\r\n ecVersion: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n testReportId: number;\r\n}\r\nexport interface ITestReportBody {\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n testCategoryId: string;\r\n testCategoryDescription: string;\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n testType: string;\r\n testReportDescription: string;\r\n testReportNumber: string;\r\n ecNumber: string;\r\n ecVersion: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n testReportId: number;\r\n}\r\nexport interface IArchitectureSubCategoryBody {\r\n subCategoryId: string;\r\n architectureSubCategoryDescription: string;\r\n isArchitectureSubCategoryActive: boolean;\r\n}\r\nexport interface ITestCategoryBody {\r\n testCategoryId: string;\r\n subCategoryId: string;\r\n subCategoryDescription: string;\r\n testCategoryDescription: string;\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n testType: string;\r\n testReportDescription: string;\r\n testReportNumber: string;\r\n ecNumber: string;\r\n ecVersion: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n testReportId: number;\r\n}\r\n\r\nexport interface ITestCategoryData {\r\n testCategoryId: string;\r\n testCategoryDescription: string;\r\n}\r\n\r\nexport interface ITestSubCategoryData {\r\n testSubCategoryId: string;\r\n testSubCategoryDescription: string;\r\n}\r\n//#endregion\r\n//#region marketing admin- Sample Finish Admin\r\nexport interface IAddSampleFinishCategoryBody {\r\n subCategoryId: number;\r\n finishSampleLevel1key: number;\r\n sku: number;\r\n finishCode: string;\r\n finish: string;\r\n maxQty: number;\r\n displayOrder: number;\r\n finishCategory: string;\r\n userType: string;\r\n isActive: boolean;\r\n gender: string;\r\n size: string;\r\n // urlPath: string;\r\n relativeURL: string;\r\n absoluteURL: string;\r\n r_VALUE: string;\r\n b_VALUE: string;\r\n g_VALUE: string;\r\n //category: string;\r\n //userType: string;\r\n //userId: string;\r\n //isActive: boolean;\r\n}\r\n//export interface IAddSampleFinishSubCategoryBody {\r\n// finishSampleLevel1key: number;\r\n// sku: number;\r\n// finishCode: string;\r\n// finish: string;\r\n// maxQty: number;\r\n// userId: string;\r\n// isActive: boolean;\r\n//}\r\n\r\n\r\nexport interface ISampleFinishCategory {\r\n finishSampleLevel1key: number;\r\n finishCategory: string;\r\n\r\n}\r\n\r\n//#endregion\r\n\r\n\r\n\r\n\r\n//#region IBaseResponse\r\nexport interface IBaseResponse {\r\n data: Array;\r\n errorMessage: string;\r\n isError: boolean;\r\n}\r\nexport class BaseResponse implements IBaseResponse {\r\n data: Array;\r\n errorMessage: string;\r\n isError: boolean;\r\n}\r\n//#endregion\r\n\r\n\r\n//#region IBaseResponse\r\nexport interface ITransalation {\r\n kdText: string;\r\n v6Text: string;\r\n field: string;\r\n}\r\nexport class Transalation implements ITransalation {\r\n kdText: string;\r\n v6Text: string;\r\n field: string;\r\n constructor() {\r\n this.field = '';\r\n this.kdText = '';\r\n this.v6Text = '';\r\n }\r\n\r\n}\r\n//#endregion\r\n\r\n//#region IMacro\r\n\r\nexport interface IGetProductDependencies {\r\n attributes: IBuildPakAttribute[];\r\n macros: IMacro[];\r\n}\r\nexport interface IMacrosByIdBody {\r\n ids: string; ////\"ids\":\"104,13,145\"\r\n}\r\nexport interface IMacro {\r\n id: number;\r\n name: string;\r\n description: string;\r\n target: string;\r\n type: string;\r\n isActive: boolean;\r\n expression: string;\r\n oldExpression: string;\r\n userId: string;\r\n selectedType: IMasterData;\r\n selectedtarget: IMasterData;\r\n}\r\nexport class Macro implements IMacro {\r\n id: number;\r\n name: string;\r\n description: string;\r\n target: string;\r\n type: string;\r\n isActive: boolean;\r\n expression: string;\r\n oldExpression: string;\r\n userId: string;\r\n selectedType: IMasterData;\r\n selectedtarget: IMasterData;\r\n}\r\n//#endregion\r\n//#Bp1 config V6 options\r\nexport interface IBp1configurationRequest {\r\n customerCode: string;// \"1000\",\r\n reference: string;// \"ProdRef123\",\r\n originalDescription: string;// \"190/350/500 Standard Entrance - Single or Pair 3 Door Openings\",\r\n quantity: number;// 1.0,\r\n defaultOptions: IV6DefaultOption[];\r\n outerFrame: IV6outerFrameBp1;\r\n}\r\nexport class Bp1configurationRequest implements IBp1configurationRequest {\r\n customerCode: string;// \"1000\",\r\n reference: string;// \"ProdRef123\",\r\n originalDescription: string;// \"190/350/500 Standard Entrance - Single or Pair 3 Door Openings\",\r\n quantity: number;// 1.0,\r\n defaultOptions: IV6DefaultOption[];\r\n outerFrame: IV6outerFrameBp1;\r\n constructor() {\r\n this.customerCode = '';\r\n this.reference = '';\r\n this.originalDescription = '';\r\n this.quantity = 1;\r\n this.defaultOptions = new Array();\r\n this.outerFrame = new V6outerFrameBp1();\r\n }\r\n}\r\n\r\nexport interface IV6DefaultOption {\r\n code: string;//\"Job/Exterior Finish\",\r\n value: string;//\"[COL:K:14 (14)]\r\n}\r\nexport class V6DefaultOption implements IV6DefaultOption {\r\n code: string;//\"Job/Exterior Finish\",\r\n value: string;//\"[COL:K:14 (14)]\r\n constructor() {\r\n this.code = '';\r\n this.value = '';\r\n }\r\n}\r\nexport interface IV6NestedFrame {\r\n frameCode: string;// \"[FRA:A2:SBVMORT]\",\r\n frameOptions: IV6DefaultOption[];\r\n}\r\nexport class V6NestedFrame implements IV6NestedFrame {\r\n frameCode: string;// \"[FRA:A2:SBVMORT]\",\r\n frameOptions: IV6DefaultOption[];\r\n\r\n constructor() {\r\n this.frameCode = '';\r\n this.frameOptions = new Array();\r\n }\r\n}\r\nexport interface IV6outerFrameBp1 {\r\n nestedFrames: IV6NestedFrame[];\r\n frameCode: string;//\": \"[FRA: A2: TF3DO]\",\r\n frameOptions: IV6DefaultOption[];\r\n}\r\nexport class V6outerFrameBp1 implements IV6outerFrameBp1 {\r\n nestedFrames: IV6NestedFrame[];\r\n frameCode: string;//\": \"[FRA: A2: TF3DO]\",\r\n frameOptions: IV6DefaultOption[];\r\n\r\n constructor() {\r\n this.nestedFrames = new Array();\r\n this.frameOptions = new Array();\r\n this.frameCode = '';\r\n }\r\n}\r\n\r\n//#endregion\r\n//#Bp2 config V6 options\r\nexport interface IBp2ConfigurationRequest {\r\n configuration: IV6configuration;\r\n outerFrame: IV6outerFrame;\r\n messages: any[];\r\n}\r\nexport class Bp2ConfigurationRequest implements IBp2ConfigurationRequest {\r\n configuration: IV6configuration;\r\n outerFrame: IV6outerFrame;\r\n messages: any[];\r\n fills: IV6Fill[];\r\n constructor() {\r\n this.messages = [];\r\n this.configuration = new V6configuration();\r\n this.outerFrame = new V6outerFrame();\r\n this.fills = [];\r\n }\r\n}\r\n\r\nexport interface IV6Fill {\r\n quantity: number;\r\n width: string;\r\n height: string;\r\n thickness: string;\r\n}\r\n\r\nexport class V6Fill implements IV6Fill {\r\n quantity: number;\r\n width: string;\r\n height: string;\r\n thickness: string;\r\n}\r\n\r\n\r\nexport interface IV6configuration {\r\n\r\n status: string;\r\n dateCreated: string;\r\n originalItemId: string;\r\n v6QuoteNumber: string;//\"0\"\r\n originalDescription: string;\r\n reference: string;\r\n customerCode: string;\r\n quoteItemCommonId: string;\r\n quoteCommonId: string;\r\n v6ItemSequenceNumber: string;//0\r\n unitNetSellPrice: string;//null\r\n unitGrossSellPrice: string;//null\r\n quantity: number;//1.0\r\n concessionedQuoteCopyCommonId: string;//null\r\n concessionedQuoteItemCopyCommonId: string;//null\r\n}\r\nexport class V6configuration implements IV6configuration {\r\n\r\n status: string;\r\n dateCreated: string;\r\n originalItemId: string;\r\n v6QuoteNumber: string;//\"0\"\r\n originalDescription: string;\r\n reference: string;\r\n customerCode: string;\r\n quoteItemCommonId: string;\r\n quoteCommonId: string;\r\n v6ItemSequenceNumber: string;//0\r\n unitNetSellPrice: string;//null\r\n unitGrossSellPrice: string;//null\r\n quantity: number;//1.0\r\n concessionedQuoteCopyCommonId: string;//null\r\n concessionedQuoteItemCopyCommonId: string;//null\r\n\r\n constructor() {\r\n this.status = '';\r\n this.dateCreated = '';\r\n this.originalItemId = '';\r\n this.v6QuoteNumber = '';\r\n this.originalDescription = '';\r\n this.reference = '';\r\n this.customerCode = '';\r\n this.quoteItemCommonId = '';\r\n this.quoteCommonId = '';\r\n this.concessionedQuoteItemCopyCommonId = '';\r\n this.concessionedQuoteItemCopyCommonId = '';\r\n this.v6ItemSequenceNumber = '0';\r\n this.unitNetSellPrice = '0';\r\n this.unitGrossSellPrice = '0';\r\n this.quantity = 0;\r\n }\r\n}\r\n\r\nexport interface IV6outerFrame {\r\n quoteWideFrameId: string;//null\r\n nestedFrames: IV6nestedFrame[];//null\r\n options: IV6option[];//null \r\n frameOptions: V6option[];//null\r\n\r\n}\r\nexport class V6outerFrame implements IV6outerFrame {\r\n\r\n options: IV6option[];//null\r\n nestedFrames: IV6nestedFrame[];//null\r\n quoteWideFrameId: string;//null\r\n frameOptions: V6option[];//null\r\n\r\n constructor() {\r\n this.nestedFrames = [];\r\n this.quoteWideFrameId = '';\r\n this.options = [];\r\n this.frameOptions = [];\r\n }\r\n\r\n}\r\nexport interface IV6option {\r\n valueType: string;// null,\r\n v6ValueType: string;// null,\r\n listValues: IV6listValue[];// null,\r\n isResourceAttribute: boolean;// false,\r\n isPublished: boolean;//false,\r\n isReported: boolean;// false,\r\n key: string;// null,\r\n listCode: string;// null,\r\n code: string;// \"EFINISH1\",\r\n value: string;// \"[COL:K:14 (14)]\"\r\n}\r\nexport class V6option implements IV6option {\r\n valueType: string;// null,\r\n v6ValueType: string;// null,\r\n listValues: IV6listValue[];// null,\r\n isResourceAttribute: boolean;// false,\r\n isPublished: boolean;//false,\r\n isReported: boolean;// false,\r\n key: string;// null,\r\n listCode: string;// null,\r\n code: string;// \"EFINISH1\",\r\n value: string;// \"[COL:K:14 (14)]\"\r\n\r\n constructor() {\r\n this.isResourceAttribute = false;\r\n this.isPublished = false;\r\n this.isReported = false;\r\n this.valueType = '';\r\n this.v6ValueType = '';\r\n this.key = '';\r\n this.listCode = '';\r\n this.code = '';\r\n this.value = '';\r\n this.listValues = new Array();\r\n }\r\n}\r\n\r\nexport interface IV6nestedFrame {\r\n quoteWideFrameId: string;// \"{985F4E81-B808-43FC-9B8C-CABD7D52D3CC}_{F93CF248-DF6C-4011-8F87-3E47C29A6C67}\",\r\n frameOptions: IV6frameOption[];\r\n}\r\nexport class V6nestedFrame implements IV6nestedFrame {\r\n quoteWideFrameId: string;// \"{985F4E81-B808-43FC-9B8C-CABD7D52D3CC}_{F93CF248-DF6C-4011-8F87-3E47C29A6C67}\",\r\n frameOptions: IV6frameOption[];\r\n constructor() {\r\n this.quoteWideFrameId = '';\r\n this.frameOptions = new Array();\r\n }\r\n}\r\n\r\nexport interface IV6frameOption {\r\n valueType: string;// \"Double\",\r\n v6ValueType: string;// \"\",\r\n listValues: IV6listValue[];// [],\r\n isResourceAttribute: boolean;// false,\r\n isPublished: boolean;// false,\r\n isReported: boolean;// false,\r\n key: string;// \"Width\",\r\n listCode: string;// \"\",\r\n code: string;// \"\",\r\n value: string;// \"35 13/16\\\"\"\r\n}\r\nexport class V6frameOption implements IV6frameOption {\r\n valueType: string;// \"Double\",\r\n v6ValueType: string;// \"\",\r\n listValues: IV6listValue[];// [],\r\n isResourceAttribute: boolean;// false,\r\n isPublished: boolean;// false,\r\n isReported: boolean;// false,\r\n key: string;// \"Width\",\r\n listCode: string;// \"\",\r\n code: string;// \"\",\r\n value: string;// \"35 13/16\\\"\"\r\n\r\n constructor() {\r\n this.valueType = '';\r\n this.v6ValueType = '';\r\n this.isResourceAttribute = false;\r\n this.isPublished = false;\r\n this.isReported = false;\r\n this.code = '';\r\n this.key = '';\r\n this.listCode = '';\r\n this.value = '';\r\n this.listValues = new Array();\r\n }\r\n}\r\nexport interface IV6listValue {\r\n code: string;// \"AL\",\r\n description: string;// \"Aluminum\",\r\n displayText: string;// null\r\n}\r\nexport class V6listValue implements IV6listValue {\r\n code: string;// \"AL\",\r\n description: string;// \"Aluminum\",\r\n displayText: string;// null\r\n constructor() {\r\n this.code = '';\r\n this.description = '';\r\n this.displayText = '';\r\n }\r\n}\r\n\r\n\r\n//#endregion\r\n\r\n//#region Product Configuration\r\nexport interface IGetProductDependenciesBody {\r\n attributeIds: string;\r\n macroIds: string;\r\n}\r\nexport interface IGetProductDetailsBody {\r\n id: number;\r\n attributeIds: string;\r\n macroIds: string;\r\n itemId: string;\r\n //loadProductDetails: boolean;\r\n //loadMacroDetails: boolean;\r\n //loadAttributeDetails: boolean;\r\n\r\n}\r\nexport interface IGetKwikkeyProductDetailsBody {\r\n productCode: string;\r\n itemId: string;\r\n}\r\nexport interface IV6PreviewModel {\r\n configuration: IV6configuration;\r\n outerFrame: IV6outerFrame;\r\n}\r\nexport class V6PreviewModel implements IV6PreviewModel {\r\n configuration: IV6configuration;\r\n outerFrame: IV6outerFrame;\r\n}\r\nexport interface IV6PreviewBaseConfig {\r\n computedName: string;\r\n productName: string;\r\n productCode: string;\r\n productDescription: string;\r\n}\r\nexport interface IProductTemplate {\r\n fills: IV6Fill[];\r\n translationFamily: string;\r\n type: V6ProductType;\r\n computedName: string;\r\n productName: string;\r\n productCode: string;\r\n productId: string;\r\n productDescription: string;\r\n bypassBaseConfig: boolean;\r\n quantity: number;\r\n reference: string;\r\n configNameExpression: IMacro;\r\n productAttributes: IBuildPakAttribute[];\r\n bp1Macros: IMacro[];\r\n bp2Macros: IMacro[];\r\n confirmMacros: IMacro[];\r\n resourceFrame: IFrameTemplate;\r\n nestedFrames: IFrameTemplate[];\r\n //these fields we might add later if required\r\n //Nested Frames Header BP1\r\n //Nested Frames Header BP2\r\n //Nested Frames Header Confirm\r\n //Nested Frames Name\r\n status: string;\r\n dateCreated: string;\r\n originalItemId: string;\r\n v6QuoteNumber: string;\r\n originalDescription: string;\r\n customerCode: string;\r\n quoteItemCommonId: string;\r\n quoteCommonId: string;\r\n v6ItemSequenceNumber: string;\r\n unitNetSellPrice: string;\r\n unitGrossSellPrice: string;\r\n concessionedQuoteCopyCommonId: string;\r\n concessionedQuoteItemCopyCommonId: string;\r\n nestedFrameForUI: any[];\r\n erros: string[];\r\n kwikKeyProductSeries: string;\r\n kwikKeyOptionCode: string;\r\n kwikKeyFinish: string;\r\n kwikKeyV6Finish: string;\r\n kwikKeyOptionCodeSuffix: string;\r\n v6SummaryMessage: any[];\r\n kkConfigType: KwikKeyConfigType;\r\n pushPullFinish: string;\r\n}\r\nexport class ProductTemplate implements IProductTemplate {\r\n fills: IV6Fill[];\r\n translationFamily: string;\r\n type: V6ProductType;\r\n computedName: string;\r\n productName: string;\r\n productCode: string;\r\n productId: string;\r\n productDescription: string;\r\n bypassBaseConfig: boolean;\r\n configNameExpression: IMacro;\r\n productAttributes: IBuildPakAttribute[];\r\n bp1Macros: IMacro[];\r\n bp2Macros: IMacro[];\r\n confirmMacros: IMacro[];\r\n resourceFrame: IFrameTemplate;\r\n nestedFrames: IFrameTemplate[];\r\n quantity: number;\r\n reference: string;\r\n status: string;\r\n dateCreated: string;\r\n originalItemId: string;\r\n v6QuoteNumber: string;\r\n originalDescription: string;\r\n customerCode: string;\r\n quoteItemCommonId: string;\r\n quoteCommonId: string;\r\n v6ItemSequenceNumber: string;\r\n unitNetSellPrice: string;\r\n unitGrossSellPrice: string;\r\n concessionedQuoteCopyCommonId: string;\r\n concessionedQuoteItemCopyCommonId: string;\r\n nestedFrameForUI: any[];\r\n erros: string[];\r\n kwikKeyProductSeries: string;\r\n kwikKeyOptionCode: string;\r\n kwikKeyOptionCodeSuffix: string;\r\n kwikKeyFinish: string;\r\n kwikKeyV6Finish: string;\r\n v6SummaryMessage: any[];\r\n kkConfigType: KwikKeyConfigType;\r\n pushPullFinish: string;\r\n constructor() {\r\n this.resourceFrame = new FrameTemplate();\r\n this.nestedFrames = [];\r\n this.productAttributes = [];\r\n this.bp1Macros = [];\r\n this.bp2Macros = [];\r\n this.confirmMacros = [];\r\n this.nestedFrameForUI = [];\r\n this.type = V6ProductType.CONFIGURED;\r\n this.bypassBaseConfig = false;\r\n this.quantity = 1;\r\n this.erros = [];\r\n this.v6SummaryMessage = [];\r\n this.reference = \"\";\r\n this.fills = [];\r\n this.kkConfigType = KwikKeyConfigType.NONE;\r\n }\r\n}\r\nexport interface IProductTemplateError {\r\n productAttributeError: string[];\r\n resourceFrameError: string[];\r\n nestedFrameError: [];\r\n\r\n}\r\nexport class ProductTemplateError implements IProductTemplateError {\r\n productAttributeError: string[];\r\n resourceFrameError: string[];\r\n nestedFrameError: [];\r\n constructor() {\r\n this.productAttributeError = [];\r\n this.resourceFrameError = [];\r\n this.nestedFrameError = [];\r\n }\r\n}\r\nexport interface IFrameTemplate {\r\n frameAdditionalText: string;\r\n frameConfig: string;\r\n quoteWideFrameId: string;\r\n frameName: string;\r\n framecodePrefix: string;\r\n haveFrameCode: boolean;\r\n frameCode: string;\r\n haveAttributeFilter: boolean;\r\n attributeFilters: IBuildPakAttribute[];\r\n attributeFiltersForUI: any[];\r\n framecodeSuffix: string;\r\n type: V6FrameType;//1 for resource frame, 2 for nested frame\r\n frameConfigType: V6FrameConfigType;\r\n clicked: boolean;\r\n isError: boolean;\r\n erros: string[];\r\n //options\r\n}\r\nexport class FrameTemplate implements IFrameTemplate {\r\n frameAdditionalText: string;\r\n frameConfig: string;\r\n quoteWideFrameId: string;\r\n frameName: string;\r\n framecodePrefix: string;\r\n haveFrameCode: boolean;\r\n frameCode: string;\r\n haveAttributeFilter: boolean;\r\n attributeFilters: IBuildPakAttribute[];\r\n attributeFiltersForUI: any[];\r\n framecodeSuffix: string;\r\n type: V6FrameType;\r\n frameConfigType: V6FrameConfigType;\r\n clicked: boolean;\r\n isError: boolean;\r\n erros: string[];\r\n constructor() {\r\n this.attributeFilters = [];\r\n this.attributeFiltersForUI = [];\r\n this.frameAdditionalText = '';\r\n this.frameConfig = '';\r\n this.quoteWideFrameId = '';\r\n this.frameName = '';\r\n this.framecodePrefix = '';\r\n this.haveFrameCode = false;\r\n this.frameCode = '';\r\n this.frameConfig = '';\r\n this.erros = [];\r\n this.clicked = false;\r\n this.isError = false;\r\n }\r\n}\r\n//#endregion\r\n\r\n\r\n//#region error List\r\n\r\nexport interface IErrorList {\r\n id: string,\r\n message: string,\r\n exception: string,\r\n logger: string,\r\n dateAdded: string\r\n\r\n}\r\n\r\nexport class ErrorList implements IErrorList {\r\n id: string;\r\n message: string;\r\n exception: string;\r\n logger: string;\r\n dateAdded: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region Promocode\r\n\r\nexport interface IPromocodes {\r\n PromoCodeId: string,\r\n PromoCode: string,\r\n PromoCodeDescription: string,\r\n\r\n}\r\n\r\n//#endregion\r\n\r\n//#region Broadcast Message\r\nexport interface IBroadcastMessage {\r\n messageId: number;\r\n message: string;\r\n dateAdded: string;\r\n messageAddedById: string;\r\n messageAddedBy: string;\r\n isActive: boolean;\r\n}\r\nexport interface IBroadcastMessageBody {\r\n message: string;\r\n //messageAddedById: string;\r\n isActive: boolean;\r\n}\r\n//#endregion\r\n//#region Promo Code\r\nexport interface IPromoCode {\r\n promoCodeId: string;\r\n promoCode: string;\r\n promoCodeDescription: string;\r\n startDate: string;\r\n endDate: string;\r\n minPrice: string;\r\n maxPrice: string;\r\n productType: string;\r\n region: string;\r\n terittory: string;\r\n customer: string;\r\n isActive: boolean;\r\n}\r\nexport interface IPromoCodeBody {\r\n promoCodeId: string;\r\n promoCode: string;\r\n promoCodeDescription: string;\r\n startDate: string;\r\n endDate: string;\r\n minPrice: string;\r\n maxPrice: string;\r\n productType: string;\r\n region: string;\r\n terittory: string;\r\n customer: string;\r\n isActive: boolean;\r\n}\r\n\r\n//#endregion\r\n//#region Outage Schedule\r\nexport interface IOutageSchedule {\r\n outageScheduleId: string;\r\n outageDescription: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface IOutageScheduleBody {\r\n outageScheduleId: string;\r\n outageDescription: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n isActive: boolean;\r\n}\r\n//#endregion\r\n//#region Item Catalog\r\nexport interface IItemCatalog {\r\n id: number;\r\n jdeItemId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n shortDescription: string;\r\n fullDescription: string;\r\n size: string;\r\n description1: string\r\n finishValue: string;\r\n itemType: string;\r\n thumbNailPicture: string;\r\n actualPicture: string;\r\n basePrice: string;\r\n v6Price: string;\r\n priceBookCategoryDescription: string;\r\n priceBookCategoryId: number;\r\n description2: string,\r\n description3: string,\r\n canPlaceOrder: boolean,\r\n excludedInNightJob: boolean,\r\n isActive: boolean,\r\n effectiveFrom?: Date,\r\n effectiveTo?: Date,\r\n addedBy: string,\r\n additionalImage: string,\r\n excludedPriceUpdateInNightJob: boolean,\r\n manuallyAddedDonotTouch: boolean,\r\n v6FinishCode: string\r\n}\r\nexport interface IItemCatalogBody {\r\n id: number;\r\n jdeItemId: string;\r\n itemNumber: string;\r\n longItemNumber: string;\r\n shortDescription: string;\r\n fullDescription: string;\r\n size: string;\r\n description1: string\r\n finishValue: string;\r\n itemType: number;\r\n thumbNailPicture: string;\r\n actualPicture: string;\r\n basePrice: string;\r\n priceBookCategoryDescription: string;\r\n priceBookCategoryId: number;\r\n description2: string,\r\n description3: string,\r\n canPlaceOrder: boolean,\r\n excludedInNightJob: boolean,\r\n isActive: boolean,\r\n effectiveFrom?: Date,\r\n effectiveTo?: Date,\r\n addedBy: string,\r\n additionalImage: string,\r\n excludedPriceUpdateInNightJob: boolean,\r\n associatedCategories: string,\r\n manuallyAddedDonotTouch: boolean,\r\n v6FinishCode: string\r\n}\r\n//#endregion\r\n\r\n//#region Response model\r\nexport interface IApiResultResponse {\r\n isError: boolean;\r\n errorMessage: string;\r\n data: any;\r\n}\r\n//#endregion\r\nexport interface IFinishes {\r\n name: string;\r\n value: string;\r\n v6ReferenceValue: string;\r\n}\r\n\r\n//#region image admin\r\nexport interface IImageAdmin {\r\n imageId: boolean;\r\n applicationCode: string;\r\n languageCode: string;\r\n componentName: string;\r\n imageType: string;\r\n imageDescription: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n}\r\nexport interface IImageAdminBody {\r\n imageId: boolean;\r\n applicationCode: string;\r\n languageCode: string;\r\n componentName: string;\r\n imageType: string;\r\n imageDescription: string;\r\n urlPath: string;\r\n isActive: boolean;\r\n}\r\n//#endregion\r\n\r\n//#region Home Page Banner \r\nexport interface IBannerImageBody {\r\n languageCode: string;\r\n}\r\n//#endregion\r\n//#region thermal calculator\r\nexport interface IThermalCalculatorLabel {\r\n selectionsPanelLbl: string;\r\n systemSelectionLbl: string;\r\n projectNameLbl: string;\r\n projectLocationLbl: string;\r\n productTypeLbl: string;\r\n productSeriesLbl: string;\r\n customerGlazingInfoLbl: string;\r\n ufactorLbl: string;\r\n solarHeatLbl: string;\r\n visibleTransmittanceLbl: string;\r\n testSizeLbl: string;\r\n projectSizeVisionLbl: string;\r\n projectSizeDimensionLbl: string;\r\n visibleAreaLbl: string;\r\n jobSpecificationLbl: string;\r\n jobSpecificationMsg: string;\r\n totalOfHorizontalLbl: string;\r\n totalOfVerticalLbl: string;\r\n continueLbl: string;\r\n termsConditionTitleLbl: string;\r\n termsConditionContentLbl: string;\r\n acceptTermsConditionLbl: string;\r\n calculateLbl: string;\r\n cancelLbl: string;\r\n coglbl: string;\r\n ngrcLbl: string;\r\n projectValueLbl: string;\r\n shgcLbl: string;\r\n vtLbl: string;\r\n visionAreaLbl: string;\r\n tableContent1Lbl: string;\r\n tableContent2Lbl: string;\r\n tableContent3Lbl: string;\r\n tableContent4Lbl: string;\r\n tableContent5Lbl: string;\r\n editLbl: string;\r\n downloadLbl: string;\r\n}\r\nexport interface IProjectDimensionLabel {\r\n chooseLbl: string;\r\n ftLbl: string;\r\n inLbl: string;\r\n verticalDloLbl: string;\r\n horizontalDloLbl: string;\r\n}\r\nexport interface IThermalCalculator {\r\n //projectName: string;\r\n //projectLocation: string;\r\n productType: string;\r\n productSeries: string;\r\n uFactor: string;\r\n solarHeatGainCoefficient: string;\r\n visibleTransmittance: string;\r\n sizeCategory: string;\r\n visionValue: boolean;\r\n totalHorizontals: number;\r\n totalVerticals: number;\r\n horizontalDLO: [];\r\n verticalDLO: [];\r\n}\r\nexport interface IThermalCalculateData {\r\n nFRCSizeValues: string;\r\n cOGUFactor: string;\r\n cOGSolarHeatGainCoefficient: string;\r\n COGVisibleTransmittance: string;\r\n nFRCUFactor: string;\r\n nFRCSolarHeatGainCoefficient: string;\r\n nFRCVisibleTransmittance: string;\r\n projectValuesUFactor: string;\r\n projectValuesSolarHeatGainCoefficient: string;\r\n projectValuesVisibleTransmittance: string;\r\n nFRCVisionArea: string;\r\n projectValuesVisionArea: string;\r\n lawneerTestReportNFRC102: string;\r\n lawneerTestReportAMMA: string;\r\n kawneerTestReportNFRC: string;\r\n complianceCertificate: string;\r\n}\r\n//#endregion\r\n//#region mechanics school\r\n\r\nexport interface IMechanicSchoolLabel {\r\n mechnicsSchoolInformationLbl: string;\r\n mechnicsSchoolLbl: string;\r\n locationInformationLbl: string;\r\n registrationLbl: string;\r\n onlineRegistrationLbl: string;\r\n firstNameLbl: string;\r\n lastNameLbl: string;\r\n jobTitleLbl: string;\r\n companyNameLbl: string;\r\n addressLbl: string;\r\n cityLbl: string;\r\n commentLbl: string;\r\n emailLbl: string;\r\n phoneNumber: string;\r\n faxNumberLbl: string;\r\n countryLbl: string;\r\n stateLbl: string;\r\n zipCodeLbl: string;\r\n selectSeminarLbl: string;\r\n continueLbl: string;\r\n submitLbl: string;\r\n cancelLbl: string;\r\n invalidEmail: string;\r\n infoLbl: string;\r\n priceLbl: string;\r\n invalidPhoneLbl: string;\r\n}\r\nexport interface IMechanicSchoolAdminBody {\r\n id: number;\r\n mechanicsSchoolId: string;\r\n schoolDescription: string;\r\n languageCode: string;\r\n trainingName: string;\r\n trainingDescription: string;\r\n registrationDescription: string;\r\n mechanicsSchoolLocationDetails: ILocationInformation[];\r\n schoolDescriptionPdfUrlPath: string;\r\n registrationDescriptionPdfUrlPath: string;\r\n}\r\nexport interface ILocationInformation {\r\n locationId: number;\r\n mechanicsSchoolId: string;\r\n locationName: string;\r\n locationDescription: string;\r\n price: number;\r\n startDate: string;\r\n endDate: string;\r\n totalSeats: number;\r\n}\r\nexport interface IRegisterMechanicsLocationDetails {\r\n id: number;\r\n registrationId: string;\r\n locationId: string;\r\n isChecked: boolean;\r\n}\r\n//#endregion\r\n//#region module school\r\nexport interface IModuleSchoolLabel {\r\n modulesSchoolInformationLbl: string;\r\n trainingModuleDescriptionLbl: string;\r\n moduleDescriptionLbl: string;\r\n registrationLbl: string;\r\n onlineRegistrationLbl: string;\r\n firstNameLbl: string;\r\n lastNameLbl: string;\r\n jobTitleLbl: string;\r\n companyNameLbl: string;\r\n addressLbl: string;\r\n cityLbl: string;\r\n commentLbl: string;\r\n emailLbl: string;\r\n phoneNumber: string;\r\n faxNumberLbl: string;\r\n countryLbl: string;\r\n stateLbl: string;\r\n zipCodeLbl: string;\r\n selectModuleLbl: string;\r\n continueLbl: string;\r\n submitLbl: string;\r\n cancelLbl: string;\r\n invalidEmail: string;\r\n moduleNote: string;\r\n onlineRegistrationNote: string;\r\n invalidPhoneLbl: string;\r\n}\r\nexport interface IModulesSchoolBody {\r\n id: number;\r\n moduleSchoolId: string;\r\n trainingName: string;\r\n languageCode: string;\r\n trainingDescription: string;\r\n registrationDescription: string;\r\n moduleSchoolLocationDetails: IModulesLocationDetails[];\r\n modulesList: IModules[];\r\n registrationUrlPath: string;\r\n trainingUrlPath: string;\r\n}\r\nexport interface IModulesLocationDetails {\r\n locationId: number;\r\n mechanicsSchoolId: string;\r\n locationName: string;\r\n locationDescription: string;\r\n startDate: string;\r\n endDate: string;\r\n totalSeats: number;\r\n modulesList: IModules[];\r\n}\r\nexport interface IModules {\r\n ModuleName: string;\r\n ModuleShortDescription: string;\r\n ModuleDescription: string;\r\n StartDate: string;\r\n EndDate: string;\r\n price: number;\r\n\r\n}\r\nexport interface IRegisterModulesList {\r\n id: number;\r\n registrationId: string;\r\n moduleId: string;\r\n isChecked: boolean;\r\n}\r\n//#endregion\r\n//#region Literature module\r\nexport interface ILiteratureDocumentLabel {\r\n headingLbl: string;\r\n note1Lbl: string;\r\n note2Lbl: string;\r\n}\r\nexport interface ILiteratureDocumentDetails {\r\n docGroupingAlias: string;\r\n firstcolumnLbl: string;\r\n secondcolumnLbl: string;\r\n thirdColumnLbl: string;\r\n isSecondColumnVisible: boolean;\r\n isThirdColumnVisible: boolean;\r\n //literatureDocumentCategory: any;\r\n}\r\n\r\nexport interface IPdfDocument {\r\n docGroupingID: number;\r\n //languageCode: string;\r\n docGroupingAlias: string;\r\n docCategoryID: number;\r\n docCategoryDesc: string;\r\n backgroundColor: string;\r\n docSubCategoryID: number;\r\n docSubCategoryDesc: string;\r\n docDesc: string;\r\n partNo: string;\r\n pathName: string;\r\n revision: string;\r\n}\r\n\r\nexport interface IParentPdfCollection extends IPdfDocument {\r\n // documentGroupingID: number;\r\n // languageCode: string;\r\n // documentGroupingAlias: string;\r\n // documentCategoryID: number;\r\n // documentCategoryDescription: string;\r\n // backgroundColor: string;\r\n // documentSubCategoryID: number;\r\n // documentSubCategoryDescription: string;\r\n // documentDescription: string;\r\n // partNo: string;\r\n // pathName: string;\r\n // revision: string;\r\n\r\n pdfCollection: IPdfDocument[];\r\n}\r\n\r\n\r\n\r\nexport class PDFDocument implements IPdfDocument {\r\n\r\n\r\n docGroupingID: number;\r\n //languageCode: string;\r\n docGroupingAlias: string;\r\n docCategoryID: number;\r\n docCategoryDesc: string;\r\n backgroundColor: string;\r\n docSubCategoryID: number;\r\n docSubCategoryDesc: string;\r\n docDesc: string;\r\n partNo: string;\r\n pathName: string;\r\n revision: string;\r\n}\r\n\r\nexport class ParentPdfCollection implements IParentPdfCollection {\r\n\r\n\r\n docGroupingID: number;\r\n //languageCode: string;\r\n docGroupingAlias: string;\r\n docCategoryID: number;\r\n docCategoryDesc: string;\r\n backgroundColor: string;\r\n docSubCategoryID: number;\r\n docSubCategoryDesc: string;\r\n docDesc: string;\r\n partNo: string;\r\n pathName: string;\r\n revision: string;\r\n pdfCollection: IPdfDocument[];\r\n}\r\n//#endregion\r\n//#region survey\r\nexport interface ISurveyAdmin {\r\n surveyId: string;\r\n question: string;\r\n}\r\nexport interface ISurveyDetails {\r\n surveyId: string;\r\n question: any;\r\n rating: string;\r\n surveyRating: ISurveyRatings[];\r\n}\r\nexport interface ISurveyRatings {\r\n id: number;\r\n name: string;\r\n isSelected: boolean;\r\n label: string;\r\n checked: string;\r\n}\r\n//#endregion\r\n//#region news\r\nexport interface INewsAdmin {\r\n backgroundColor: string;\r\n displayOrder: number;\r\n docCategoryDesc: string;\r\n docCategoryID: number;\r\n docDesc: string;\r\n docGroupingAlias: string;\r\n docGroupingID: number;\r\n docID: number;\r\n docSubCategoryDesc: string;\r\n docSubCategoryID: number;\r\n docTypeID: number;\r\n partNo: string;\r\n pathName: string;\r\n revision: string;\r\n}\r\n\r\n//#endregion \r\n//export class BannerImageBody implements IBannerImageBody\r\n//{\r\n\r\n// languageCode: string;\r\n\r\n//}\r\n//#endregion\r\n//#Region Product Mapping\r\nexport interface IPrductMapping {\r\n categoryId: number;\r\n categoryName: string;\r\n categoryImageUrl: string;\r\n subCategoryId: string;\r\n subCategoryName: string;\r\n subCategoryImageUrl: string\r\n configId: string;\r\n configName: string;\r\n configImageUrl: string;\r\n categoryDescription: string;\r\n isCategoryActive: boolean;\r\n subCategoryDescription: string;\r\n isSubCategoryActive: boolean;\r\n configDescription: string;\r\n isCofigActive: boolean;\r\n templateName: string;\r\n templateId: string;\r\n templateCode: string;\r\n languageCode: string;\r\n categoryLanguageCode: string;\r\n subCategoryLanguageCode: string;\r\n configLanguageCode: string;\r\n categoryUniqueID: number;\r\n subCategoryUniqueID: number;\r\n configUniqueID: number;\r\n}\r\nexport interface IPrductCategory {\r\n id: number;\r\n name: string;\r\n imageUrl: string;\r\n description: string;\r\n isActive: boolean;\r\n categoryLanguageCode: string;\r\n categoryUniqueID: number;\r\n}\r\nexport interface IPrductSubCategory {\r\n id: string;\r\n name: string;\r\n imageUrl: string;\r\n description: string;\r\n isActive: boolean;\r\n categoryName: string;\r\n categoryImageUrl: string;\r\n productCategoryId: number;\r\n subCategoryLanguageCode: string;\r\n subCategoryUniqueID: number;\r\n}\r\nexport interface IPrductConfiguration {\r\n id: string;\r\n name: string;\r\n imageUrl: string;\r\n description: string;\r\n isActive: boolean;\r\n categoryId: number;\r\n categoryName: string;\r\n categoryImageUrl: string;\r\n productSubCategoryId: string;\r\n subCategoryName: string;\r\n subCategoryImageUrl: string\r\n productName: string;\r\n productId: string;\r\n productCode: string;\r\n configUniqueID: number;\r\n}\r\nexport interface IPTempCodes { }\r\nexport interface IBBProductHierarchies {\r\n categories: IBBPrductCategory[];\r\n subCats: IBBProductSubCategory[];\r\n configs: IBBPrductConfiguration[];\r\n templateProductCodes: IPTempCodes[]\r\n}\r\n\r\nexport interface IBBPrductCategory {\r\n //id: number;\r\n //name: string;\r\n //imageUrl: string;\r\n //description: string;\r\n\r\n //categoryLanguageCode: string;\r\n //categoryUniqueID: number;\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n imageUrl: string;\r\n description: string;\r\n isActive: boolean;\r\n languageCode: string;\r\n}\r\nexport class BBPrductCategory implements IBBPrductCategory {\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n imageUrl: string;\r\n description: string;\r\n isActive: boolean;\r\n languageCode: string;\r\n}\r\nexport interface IBBProductSubCategory {\r\n //id: string;\r\n //name: string;\r\n //imageUrl: string;\r\n //description: string;\r\n //isActive: boolean;\r\n //categoryName: string;\r\n //categoryImageUrl: string;\r\n //productCategoryId: number;\r\n //subCategoryLanguageCode: string;\r\n //subCategoryUniqueID: number;\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n description: string;\r\n productImageUrl: string;\r\n productCategoryUniqueId: number;\r\n productCategoryName: string;\r\n productCategoryImageUrl: string;\r\n languageCode: string;\r\n isActive: boolean;\r\n\r\n}\r\nexport class BBProductSubCategory implements IBBProductSubCategory {\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n description: string;\r\n productImageUrl: string;\r\n productCategoryUniqueId: number;\r\n productCategoryName: string;\r\n productCategoryImageUrl: string;\r\n languageCode: string;\r\n isActive: boolean;\r\n}\r\nexport interface IBBPrductConfiguration {\r\n //id: string;\r\n //name: string;\r\n //imageUrl: string;\r\n //description: string;\r\n //isActive: boolean;\r\n //categoryId: number;\r\n //categoryName: string;\r\n //categoryImageUrl: string;\r\n //productSubCategoryId: string;\r\n //subCategoryName: string;\r\n //subCategoryImageUrl: string\r\n //productName: string;\r\n //productId: string;\r\n //productCode: string;\r\n //configUniqueID: number;\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n description: string;\r\n imageUrl: string;\r\n subCatUniqueId: number;\r\n subCatName: string;\r\n subCatImageUrl: string;\r\n catName: string;\r\n catUniqueId: number;\r\n catImageUrl: string;\r\n productCode: string;\r\n productTemplateName: string;\r\n languageCode: string;\r\n isActive: boolean;\r\n}\r\nexport class BBPrductConfiguration implements IBBPrductConfiguration {\r\n uniqueId: number;\r\n id: number;\r\n name: string;\r\n description: string;\r\n imageUrl: string;\r\n subCatUniqueId: number;\r\n subCatName: string;\r\n subCatImageUrl: string;\r\n catName: string;\r\n catUniqueId: number;\r\n catImageUrl: string;\r\n productCode: string;\r\n productTemplateName: string;\r\n languageCode: string;\r\n isActive: boolean;\r\n}\r\nexport class BBConfigModal extends BBPrductConfiguration {\r\n constructor() {\r\n super();\r\n this.catList = [];\r\n this.subCatList = [];\r\n this.selectedCat = new BBPrductCategory();\r\n this.selectedSubCat = new BBProductSubCategory();\r\n this.productTemplateList = [];\r\n this.selectedTemplate = new PTempCodes();\r\n }\r\n langList: any[];\r\n catList: IBBPrductCategory[];\r\n subCatList: IBBProductSubCategory[];\r\n selectedCat: IBBPrductCategory;\r\n selectedSubCat: IBBProductSubCategory;\r\n productTemplateList: IPTempCodes[];\r\n selectedTemplate: IPTempCodes;\r\n}\r\nexport interface IPTempCodes {\r\n id: number;\r\n productCode: string;\r\n}\r\nexport class PTempCodes implements IPTempCodes {\r\n id: number;\r\n productCode: string;\r\n}\r\n\r\n\r\n//#endregion\r\n//#region footer pages\r\nexport interface ILegalNoticesLabel {\r\n headingLbl: string;\r\n subHeadingLbl: string;\r\n emailTextLbl: string;\r\n content1Lbl: string;\r\n content2Lbl: string;\r\n content3Lbl: string;\r\n content4Lbl: string;\r\n content5Lbl: string;\r\n content6Lbl: string;\r\n content7Lbl: string;\r\n content8Lbl: string;\r\n content9Lbl: string;\r\n content10Lbl: string;\r\n content11Lbl: string;\r\n content12Lbl: string;\r\n content13Lbl: string;\r\n content14Lbl: string;\r\n}\r\n\r\nexport interface IFooterLabel {\r\n footerDisclosureLbl: string;\r\n contactUsLbl: string;\r\n FAQLbl: string;\r\n kawneerComLbl: string;\r\n legalNoticeLbl: string;\r\n privacyPolicyLbl: string;\r\n termsAndConditionsLbl: string;\r\n copyRightLbl: string;\r\n copyRightTxtLbl: string;\r\n}\r\n\r\nexport interface IContactUSLabel {\r\n headingTextLbl: string;\r\n firstNameLbl: string;\r\n lastNameLbl: string;\r\n emailLbl: string;\r\n customerNumberLbl: string;\r\n commentsLbl: string;\r\n contactInfoLbl: string;\r\n phoneNumberLbl: string;\r\n invalidPhoneLbl: string;\r\n cancelLbl: string;\r\n saveLbl: string;\r\n invalidEmailLbl: string;\r\n}\r\n//#endregion\r\n//#region menu\r\nexport interface ILeftSideMenuLabel {\r\n home: string;\r\n admin: string;\r\n orderManagement: string;\r\n invoiceInquiry: string;\r\n manageQuotes: string;\r\n orderInquiry: string;\r\n buildAndBuyLowercase: string;\r\n selfServiceUtilities: string;\r\n creditReference: string;\r\n generateWarranty: string;\r\n sampleRequest: string;\r\n submittalPackage: string;\r\n lienRelease: string;\r\n thermalCalculator: string;\r\n windowPricingToolLbl: string;\r\n literature: string;\r\n priceCatalog: string;\r\n installationAndCare: string;\r\n installationInstructions: string;\r\n installationVideoCurtainwall: string;\r\n cleaningAluminumFinishes: string;\r\n installationVideoStorefront: string;\r\n orderForms: string;\r\n correctiveFieldRepair: string;\r\n estimatingAndTakeoffGuides: string;\r\n certifications: string;\r\n videoTrainingLbl: string;\r\n training: string;\r\n customerSpecificSchool: string;\r\n mechanicsSchool: string;\r\n modulesSchool: string;\r\n partnerPakTraining: string;\r\n preInstallationSystemReview: string;\r\n newsLbl: string;\r\n}\r\nexport interface ITaxCertificates {\r\n id: string;\r\n name: string;\r\n}\r\n//#endregion\r\n//#region terms and condition\r\nexport interface ITermsConditionsLabel {\r\n termsContent1Lbl: string;\r\n termsContent2Lbl: string;\r\n termsContent3Lbl: string;\r\n termsContent4Lbl: string;\r\n termsContent5Lbl: string;\r\n termsContent6Lbl: string;\r\n termsContent7Lbl: string;\r\n termsContent8Lbl: string;\r\n termsContent9Lbl: string;\r\n termsContent10Lbl: string;\r\n termsContent11Lbl: string;\r\n termsContent12Lbl: string;\r\n termsContent13Lbl: string;\r\n termsContent14Lbl: string;\r\n termsContent15Lbl: string;\r\n termsContent16Lbl: string;\r\n termsContent17Lbl: string;\r\n termsContent18Lbl: string;\r\n termsContent19Lbl: string;\r\n termsContent20Lbl: string;\r\n termsContent21Lbl: string;\r\n termsContent22Lbl: string;\r\n termsContent23Lbl: string;\r\n termsContent24Lbl: string;\r\n termsContent25Lbl: string;\r\n termsContent26Lbl: string;\r\n termsContent27Lbl: string;\r\n termsContent28Lbl: string;\r\n termsContent29Lbl: string;\r\n termsContent30Lbl: string;\r\n termsContent31Lbl: string;\r\n termsContent32Lbl: string;\r\n termsContent33Lbl: string;\r\n termsContent34Lbl: string;\r\n termsContent35Lbl: string;\r\n termsContent36Lbl: string;\r\n termsContent37Lbl: string;\r\n termsContent38Lbl: string;\r\n termsContent39Lbl: string;\r\n termsContent40Lbl: string;\r\n termsContent41Lbl: string;\r\n termsContent42Lbl: string;\r\n termsContent43Lbl: string;\r\n termsContent44Lbl: string;\r\n termsContent45Lbl: string;\r\n termsContent46Lbl: string;\r\n termsContent47Lbl: string;\r\n termsContent48Lbl: string;\r\n termsContent49Lbl: string;\r\n termsContent50Lbl: string;\r\n termsContent51Lbl: string;\r\n termsContent52Lbl: string;\r\n termsContent53Lbl: string;\r\n termsContent54Lbl: string;\r\n termsContent55Lbl: string;\r\n termsContent56Lbl: string;\r\n termsContent57Lbl: string;\r\n termsContent58Lbl: string;\r\n termsContent59Lbl: string;\r\n termsContent60Lbl: string;\r\n termsContent61Lbl: string;\r\n termsContent62Lbl: string;\r\n termsContent63Lbl: string;\r\n termsContent64Lbl: string;\r\n}\r\n//#endregion\r\n//#region header pages and popup labels\r\nexport interface IHeaderLabels {\r\n signInLbl: string;\r\n signOutLbl: string;\r\n userNameLbl: string;\r\n passwordLbl: string;\r\n forgetPasswordLbl: string;\r\n newUserLbl: string;\r\n incorrectUsernameLbl: string;\r\n userNotActiveLbl: string;\r\n maxLoginAttemptLbl1: string;\r\n maxLoginAttemptLbl2: string;\r\n maxLoginAttemptLbl3: string;\r\n errorOccuredLbl: string;\r\n warningMessageLbl: string;\r\n loggedInCustomerLbl: string;\r\n changeCustomerLbl: string;\r\n closeLbl: string;\r\n saveLbl: string;\r\n forgetPasswordMessageLbl1: string;\r\n forgetPasswordUserNameMessageLbl1: string;\r\n continueLbl: string;\r\n cancelLbl: string;\r\n thanksLbl: string;\r\n newPasswordSentToMailLbl: string;\r\n okLbl: string;\r\n loggedInLbl: string;\r\n accountDetailsForLbl: string;\r\n nameLbl: string;\r\n changePasswordLbl: string;\r\n viewCmpLbl: string;\r\n accountSummaryLbl: string;\r\n manageAddressLbl: string;\r\n manageCompanyLbl: string;\r\n manageAccountsLbl: string;\r\n newPasswordLbl: string;\r\n oldPasswordLbl: string;\r\n confirmPasswordLbl: string;\r\n confirmPasswordMatchLbl: string;\r\n passwordFormatMatchLbl: string;\r\n passwordSameAsOldLbl: string;\r\n passwordChangeSuccessfulLbl: string;\r\n passwordFailedLbl: string;\r\n changeDefaultPasswordLbl: string;\r\n passwordUpdateSuccessfulLbl: string;\r\n termsConditionTitle: string;\r\n agreeLbl: string;\r\n disagreeLbl: string;\r\n}\r\n//#endregion\r\nexport interface ISearchLabels {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\nimport { ApiService } from './api.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, empty } from 'rxjs';\r\nimport { map, tap, catchError } from 'rxjs/operators';\r\nimport { UserService } from './user.service';\r\nimport {\r\n ArchitectureDetails, IAddSampleFinishCategoryBody, IArchitectureCategoryBody, IArchitectureDetails, IArchitectureDetailsBody,\r\n IArchitectureSubCategoryBody,\r\n IBroadcastMessage,\r\n IBroadcastMessageBody,\r\n ICategoryData, IErrorList, IOutageSchedule, IOutageScheduleBody, IPromoCode, IPromoCodeBody, ISampleFinish, ITestCategoryBody, INewsAdmin, ITestReportBody, ITestReportGrid, IItemCatalog, IItemCatalogBody, IImageAdmin, IImageAdminBody, IBannerImageBody, IMechanicSchoolAdminBody, ISurveyAdmin, IPrductMapping, IPrductCategory, IProductConfig, IPrductConfiguration, IPrductSubCategory\r\n , BaseResponse,\r\n IBBProductHierarchies,\r\n IBBPrductCategory,\r\n IBBProductSubCategory,\r\n IBBPrductConfiguration\r\n} from '../models';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminService {\r\n //#region constructor\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService) { }\r\n //#endregions\r\n //#region Api EndPoints\r\n\r\n private SAMPLE_FINISH: Array = [];\r\n public get sampleFinish(): Array {\r\n if (!this.SAMPLE_FINISH) {\r\n this.SAMPLE_FINISH = [];\r\n }\r\n return this.SAMPLE_FINISH;\r\n }\r\n public set sampleFinish(sampleFinish: Array) {\r\n this.SAMPLE_FINISH = sampleFinish;\r\n }\r\n public getSampleFinishes(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_SAMPLE_FINISHES}`;\r\n // return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleFinish) => { this.sampleFinish = sampleFinish }));\r\n\r\n\r\n }\r\n public AddSampleFinishCategory(body: IAddSampleFinishCategoryBody): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_SAMPLE_FINISH_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleFinish) => this.updateSampleFinishData(body)));\r\n }\r\n\r\n public AddSampleFinishSubCategory(body: IAddSampleFinishCategoryBody): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_SAMPLE_FINISH_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleFinish) => this.updateSampleFinishData(body)));\r\n }\r\n\r\n\r\n public updateSampleFinishData(sampleFinish: IAddSampleFinishCategoryBody) {\r\n //debugger;\r\n if (sampleFinish) {\r\n const indextemp = this.sampleFinish.findIndex(r => r.finishSampleLevel1key === sampleFinish.finishSampleLevel1key);\r\n const temp = this.sampleFinish.find(r => r.finishSampleLevel1key === sampleFinish.finishSampleLevel1key);\r\n if (temp) {\r\n this.SAMPLE_FINISH.splice(indextemp, 1, sampleFinish);\r\n } else {\r\n this.SAMPLE_FINISH.push(sampleFinish);\r\n }\r\n }\r\n }\r\n\r\n public DeleteSampleFinishSubCategory(body: IAddSampleFinishCategoryBody): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_SAMPLE_FINISH_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n //tap((sampleFinish) => this.updateSampleFinishData(body))\r\n );\r\n }\r\n\r\n \r\n\r\n //#endregions\r\n\r\n //#region marketing admin Submittal package--architecture details\r\n public getArchitectureDetails(): Observable> {\r\n // const customerNumber = this.userService.readUserObject.customerNumber;\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_ARCHITECTURE_DETAILS}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((architectureDetails) => { this.ARCHITECTURE_DETAILS = architectureDetails })\r\n );\r\n\r\n }\r\n public getCategory(): Observable> {\r\n // const customerNumber = this.userService.readUserObject.customerNumber;\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_CATEGORY}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n\r\n }\r\n\r\n public saveArchitectureCategory(data: IArchitectureDetailsBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_ARCHITECTURE_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((architectureDetail) => this.updateArchitectureDetailsData(data))\r\n );\r\n\r\n }\r\n public saveArchitectureDetails(data: IArchitectureDetailsBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_ARCHITECTURE_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((architectureDetail) => this.updateArchitectureDetailsData(data))\r\n );\r\n\r\n }\r\n\r\n public deleteArchitectureDetails(data: IArchitectureDetailsBody): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_ARCHITECTURE_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n //tap((architectureDetail) => this.updateArchitectureDetailsData(data))// fix for admin issue delete functionality\r\n );\r\n\r\n }\r\n //#region Architecture details Cache & Operations\r\n private ARCHITECTURE_DETAILS: Array = [];\r\n public get architectureDetails(): Array {\r\n if (!this.ARCHITECTURE_DETAILS) {\r\n this.ARCHITECTURE_DETAILS = [];\r\n }\r\n return this.ARCHITECTURE_DETAILS;\r\n }\r\n public set architectureDetails(architectureDetails: Array) {\r\n this.ARCHITECTURE_DETAILS = architectureDetails;\r\n }\r\n public updateArchitectureDetailsData(architectureDetails: IArchitectureDetailsBody) {\r\n //debugger;\r\n if (architectureDetails) {\r\n const indextemp = this.architectureDetails.findIndex(r => r.categoryId === architectureDetails.categoryId);\r\n const temp = this.architectureDetails.find(r => r.categoryId === architectureDetails.categoryId);\r\n if (temp) {\r\n this.ARCHITECTURE_DETAILS.splice(indextemp, 1, architectureDetails);\r\n } else {\r\n this.ARCHITECTURE_DETAILS.push(architectureDetails);\r\n }\r\n }\r\n }\r\n //#endregion\r\n //#endregion\r\n //#region marketing admin submittal package test report\r\n public getTestReport(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_TEST_REPORT}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((testReportData) => { this.testReportData = testReportData })); //Need to change this.testReportData to this.TEST_REPORT\r\n }\r\n public saveTestSubCategory(data: ITestReportBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_TEST_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((testReportData) => this.updateTestReportData(data)));\r\n }\r\n public saveTestCategory(data: ITestCategoryBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_TEST_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((testReportData) => this.updateTestReportData(data)));\r\n }\r\n public saveTestReport(data: ITestReportBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_TEST_REPORT}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((testReportData) => this.updateTestReportData(data)));\r\n }\r\n\r\n public deleteTestReport(data: ITestReportBody): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_TEST_REPORT}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n //tap((testReportData) => this.updateTestReportData(data))\r\n );\r\n }\r\n\r\n //#region Architecture details Cache & Operations\r\n private TEST_REPORT: Array = [];\r\n public get testReportData(): Array {\r\n if (!this.TEST_REPORT) {\r\n this.TEST_REPORT = [];\r\n }\r\n return this.TEST_REPORT;\r\n }\r\n public set testReportData(testReport: Array) {\r\n this.TEST_REPORT = testReport;\r\n }\r\n public updateTestReportData(testReport: ITestReportBody) {\r\n if (testReport) {\r\n const indextemp = this.testReportData.findIndex(r => r.subCategoryId === testReport.subCategoryId);\r\n const temp = this.testReportData.find(r => r.subCategoryId === testReport.subCategoryId);\r\n if (temp) {\r\n this.TEST_REPORT.splice(indextemp, 1, testReport);\r\n } else {\r\n this.TEST_REPORT.push(testReport);\r\n }\r\n }\r\n }\r\n //#endregion\r\n //#endregion\r\n //#region BroadCast Message\r\n public getBroadcastMessage(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_BROADCAST_MESSAGE}`;\r\n // return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n //.pipe(tap((sampleFinish) => { this.sampleFinish = sampleFinish }));\r\n\r\n\r\n }\r\n public AddBroadcastMessage(body: IBroadcastMessageBody): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_BROADCAST_MESSAGE}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n //.pipe(tap((sampleFinish) => this.updateSampleFinishData(body)));\r\n }\r\n\r\n public deleteBroadcastMessage(body: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_BROADCAST_MESSAGE}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n //.pipe(tap((sampleFinish) => this.updateSampleFinishData(body)));\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n //#region Item Catalog\r\n private ITEM_CATALOG: Array = [];\r\n public get itemCatalogData(): Array {\r\n if (!this.ITEM_CATALOG) {\r\n this.ITEM_CATALOG = [];\r\n }\r\n return this.ITEM_CATALOG;\r\n }\r\n public set itemCatalogData(itemCatalog: Array) {\r\n this.ITEM_CATALOG = itemCatalog;\r\n }\r\n public getItemCatalog(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.KAWNEER_ADMIN.GET_ITEM_CATALOG}`;\r\n // return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((items) => { this.itemCatalogData = items })\r\n );\r\n\r\n }\r\n public AddItemCatalog(body: IItemCatalogBody): Observable> {\r\n //debugger;\r\n const endPoint = `${ConfigService.APIs.endPoints.KAWNEER_ADMIN.SAVE_ITEM_CATALOG}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n //.pipe(tap((sampleFinish) => this.updateSampleFinishData(body)));\r\n }\r\n //#endregion\r\n\r\n //#region error List\r\n public getErrorList(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.KAWNEER_ADMIN.GET_ERROR_LIST}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n\r\n }\r\n\r\n //#endregion\r\n //#region promo code\r\n public getPromoCode(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_PROMO_CODE}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((promoCodes) => { this.promoCodes = promoCodes }));\r\n }\r\n public savePromoCode(data: IPromoCodeBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_PROMO_CODE}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((promoCodes) => this.updatePromoCodeData(data)));\r\n }\r\n\r\n public deletePromoCode(data: IPromoCodeBody): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_PROMO_CODE}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n //tap((promoCodes) => this.updatePromoCodeData(data))\r\n );\r\n }\r\n\r\n\r\n //#region Promo Code Cache & Operations\r\n private PROMO_CODE: Array = [];\r\n public get promoCodes(): Array {\r\n if (!this.PROMO_CODE) {\r\n this.PROMO_CODE = [];\r\n }\r\n return this.PROMO_CODE;\r\n }\r\n public set promoCodes(promoCodes: Array) {\r\n this.PROMO_CODE = promoCodes;\r\n }\r\n public updatePromoCodeData(promoCodes: IPromoCodeBody) {\r\n if (promoCodes) {\r\n const indextemp = this.promoCodes.findIndex(r => r.promoCodeId === promoCodes.promoCodeId);\r\n const temp = this.promoCodes.find(r => r.promoCodeId === promoCodes.promoCodeId);\r\n if (temp) {\r\n this.PROMO_CODE.splice(indextemp, 1, promoCodes);\r\n } else {\r\n this.PROMO_CODE.push(promoCodes);\r\n }\r\n }\r\n }\r\n //#endregion\r\n //#endregion\r\n //#region Outage Schedule\r\n public getOutageSchedule(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_OUTAGE_SCHEDULE}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((outageSchedule) => { this.OUTAGE_SCHEDULE = outageSchedule }));\r\n }\r\n public saveOutageSchedule(data: IOutageScheduleBody): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_OUTAGE_SCHEDULE}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((testReportData) => this.updateOutageSchedule(data)));\r\n }\r\n\r\n public deleteOutageSchedule(data: IOutageScheduleBody): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_OUTAGE_SCHEDULE}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n //tap((testReportData) => this.updateOutageSchedule(data))\r\n );\r\n }\r\n //#region Outage Schedule Cache & Operations\r\n private OUTAGE_SCHEDULE: Array = [];\r\n public get outageSchedule(): Array {\r\n if (!this.OUTAGE_SCHEDULE) {\r\n this.OUTAGE_SCHEDULE = [];\r\n }\r\n return this.OUTAGE_SCHEDULE;\r\n }\r\n public set outageSchedule(outageSchedule: Array) {\r\n this.OUTAGE_SCHEDULE = outageSchedule;\r\n }\r\n public updateOutageSchedule(outageSchedule: IOutageSchedule) {\r\n if (outageSchedule) {\r\n const indextemp = this.outageSchedule.findIndex(r => r.outageScheduleId === outageSchedule.outageScheduleId);\r\n const temp = this.outageSchedule.find(r => r.outageScheduleId === outageSchedule.outageScheduleId);\r\n if (temp) {\r\n this.OUTAGE_SCHEDULE.splice(indextemp, 1, outageSchedule);\r\n } else {\r\n this.OUTAGE_SCHEDULE.push(outageSchedule);\r\n }\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Images Admin \r\n public GetImages(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_IMAGES}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((imageAdminData) => { this.imageAdminData = imageAdminData }));\r\n }\r\n //#region Outage Schedule Cache & Operations\r\n private IMAGE_ADMIN: Array = [];\r\n public get imageAdminData(): Array {\r\n if (!this.IMAGE_ADMIN) {\r\n this.IMAGE_ADMIN = [];\r\n }\r\n return this.IMAGE_ADMIN;\r\n }\r\n public set imageAdminData(imageAdminData: Array) {\r\n this.IMAGE_ADMIN = imageAdminData;\r\n }\r\n public SaveImages(body: IImageAdminBody): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_IMAGES}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((imageAdminData) => this.updateImageAdminData(body)));\r\n }\r\n\r\n public updateImageAdminData(imageAdminData: IImageAdminBody) {\r\n //debugger;\r\n if (imageAdminData) {\r\n const indextemp = this.imageAdminData.findIndex(r => r.imageId === imageAdminData.imageId);\r\n const temp = this.imageAdminData.find(r => r.imageId === imageAdminData.imageId);\r\n if (temp) {\r\n this.IMAGE_ADMIN.splice(indextemp, 1, imageAdminData);\r\n } else {\r\n this.IMAGE_ADMIN.push(imageAdminData);\r\n }\r\n }\r\n }\r\n\r\n public DeleteImages(body: IImageAdminBody): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_IMAGES}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n //tap((imageAdminData) => this.updateImageAdminData(body))\r\n );\r\n }\r\n\r\n //#endregion\r\n //#endregion\r\n\r\n //#endregion\r\n //#region home banner\r\n public GetBannerImages(body: IBannerImageBody): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_BANNER_IMAGES}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#endregion\r\n //#region Customer spcific school admin\r\n public getTrainingPagesDescription(body: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_TRAINING_PAGES_DESCRIPTION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public saveTrainingPagesDescription(body: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_TRAINING_PAGES_DESCRIPTION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#endregion\r\n //#region mechanic school admin\r\n\r\n public saveMechanicsSchoolDetails(body: IMechanicSchoolAdminBody): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_MECHANICS_SCHOOL}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public deleteMechanicsLocation(locationId: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_MECHANICS_SCHOOL_LOCATION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, locationId).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#endregion\r\n //#region module school admin\r\n\r\n public saveModuleSchoolDetails(body: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_MODULES_SCHOOL}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public deleteModuleSchoolModule(moduleId: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_MODULES_SCHOOL_MODULE}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, moduleId).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public deleteModuleSchoolLocation(locationId: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_MODULES_SCHOOL_LOCATION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, locationId).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Survey\r\n public getSurveyDetails(body): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_USER_SURVEY_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((survey) => { this.surveyQuestions = survey }));\r\n }\r\n public saveSurveyDetails(data: any): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_SURVEY_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; }),\r\n tap((survey) => this.updateSurveyData(survey)));\r\n }\r\n\r\n public deleteSurveyDetails(data: any): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_SURVEY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; }),\r\n // tap((survey) => this.updateSurveyData(survey))\r\n );\r\n }\r\n\r\n\r\n public saveSurveyEntries(body: any): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_SURVEY_ENTRY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#region Survey Cache & Operations\r\n private SURVEY: Array = [];\r\n public get surveyQuestions(): Array {\r\n if (!this.SURVEY) {\r\n this.SURVEY = [];\r\n }\r\n return this.SURVEY;\r\n }\r\n public set surveyQuestions(survey: Array) {\r\n this.SURVEY = survey;\r\n }\r\n public updateSurveyData(survey: ISurveyAdmin) {\r\n if (survey) {\r\n const indextemp = this.surveyQuestions.findIndex(r => r.surveyId === survey.surveyId);\r\n const temp = this.surveyQuestions.find(r => r.surveyId === survey.surveyId);\r\n if (temp) {\r\n this.SURVEY.splice(indextemp, 1, survey);\r\n } else {\r\n this.SURVEY.push(survey);\r\n }\r\n }\r\n }\r\n //#endregion\r\n //#endregion\r\n\r\n //#region Product Category\r\n public saveProductCategory(data: any): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_PRODUCT_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => {\r\n let productCategoryData: any; productCategoryData = response.data; \r\n var tempImageUrl = '';\r\n tempImageUrl = productCategoryData.imageUrl;\r\n productCategoryData.imageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n return productCategoryData;\r\n })\r\n );\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n //#region ProductMapping\r\n public getProductMapping(): Observable {\r\n const endPoint = '/Admin/GetBBProductHierarchy';//`${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_PRODUCT_MAPPING}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response) => this.changeImageUrlToDisplay_1(response.data)), \r\n tap((productMappingData) => {\r\n //this.productMappingData = productMappingData\r\n })\r\n );\r\n }\r\n\r\n changeImageUrlToDisplay_1(ph: IBBProductHierarchies) { \r\n if (ph) {\r\n if (ph.categories) {\r\n ph.categories.forEach((el, i) => {\r\n el.imageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${el.imageUrl}`;\r\n });\r\n }\r\n if (ph.subCats) {\r\n ph.subCats.forEach((el, i) => {\r\n el.productImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${el.productImageUrl}`;\r\n })\r\n }\r\n if (ph.configs) {\r\n ph.configs.forEach((el, i) => {\r\n el.imageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${el.imageUrl}`;\r\n })\r\n }\r\n }\r\n return ph;\r\n }\r\n\r\n public getProductCategory(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_PRODUCT_CATEGORY}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => this.changeImageUrlToDisplayCategory(response.data)\r\n // map((productCategoryData) => this.changeImageUrlToDisplayCategory(productCategoryData))\r\n ),\r\n tap((productCategoryData) => { this.productCategoryData = productCategoryData })\r\n );\r\n }\r\n private PRODUCT_MAPPING: Array = [];\r\n private PRODUCT_CATEGORY: Array = [];\r\n public get productMappingData(): Array {\r\n if (!this.PRODUCT_MAPPING) {\r\n this.PRODUCT_MAPPING = [];\r\n }\r\n return this.PRODUCT_MAPPING;\r\n }\r\n public set productMappingData(productMapping: Array) {\r\n this.PRODUCT_MAPPING = productMapping;\r\n }\r\n public get productCategoryData(): Array {\r\n if (!this.PRODUCT_CATEGORY) {\r\n this.PRODUCT_CATEGORY = [];\r\n }\r\n return this.PRODUCT_CATEGORY;\r\n }\r\n public set productCategoryData(productCategory: Array) {\r\n this.PRODUCT_CATEGORY = productCategory;\r\n }\r\n private changeImageUrlToDisplay(productMapping: IPrductMapping[]) {\r\n if (productMapping) {\r\n // if (this.imageUrl) {\r\n productMapping.forEach((item, index) => {\r\n var tempImageUrl = '';\r\n tempImageUrl = item.categoryImageUrl;\r\n item.categoryImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n tempImageUrl = item.subCategoryImageUrl;\r\n item.subCategoryImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n tempImageUrl = item.configImageUrl;\r\n item.configImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n })\r\n // }\r\n }\r\n return productMapping;\r\n }\r\n private changeImageUrlToDisplayCategory(productCategory: IPrductCategory[]) {\r\n if (productCategory) {\r\n // if (this.imageUrl) {\r\n productCategory.forEach((item, index) => {\r\n var tempImageUrl = '';\r\n tempImageUrl = item.imageUrl;\r\n item.imageUrl = `../assets/images/${tempImageUrl}`;\r\n })\r\n // }\r\n }\r\n return productCategory;\r\n }\r\n\r\n public saveProductConfiguration(data: any): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_PRODUCT_CONFIGURATION}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => {\r\n let productConfigData: any; productConfigData = response.data;\r\n // map((productConfigData) => {\r\n var tempImageUrl = '';\r\n tempImageUrl = productConfigData.imageUrl;\r\n productConfigData.imageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n tempImageUrl = productConfigData.subCatImageUrl;\r\n productConfigData.subCatImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`\r\n tempImageUrl = productConfigData.catImageUrl;\r\n productConfigData.catImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`\r\n return productConfigData;\r\n })\r\n );\r\n }\r\n public saveProductSubCategory(data): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_PRODUCT_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { throw (err); }),\r\n map((response: BaseResponse) => {\r\n let productSubCatData: any; productSubCatData = response.data;\r\n // map((productSubCatData) => {\r\n var tempImageUrl = '';\r\n tempImageUrl = productSubCatData.productImageUrl;\r\n productSubCatData.productImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`;\r\n //tempImageUrl = productSubCatData.categoryImageUrl;\r\n //productSubCatData.categoryImageUrl = `${environment.imageUrl}/ResourceCenter/Content/ProductImages/${tempImageUrl}`\r\n return productSubCatData;\r\n })\r\n );\r\n }\r\n //#endregion\r\n //#region news admin \r\n public getNewsAdminDetails(body): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_NEWS_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((survey) => { this.newsDetails = survey })\r\n );\r\n }\r\n public saveNewsDetails(data: any): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_NEWS_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; }),\r\n tap((news) => this.updateNewsAdminData(news)));\r\n }\r\n //public saveNewsDetails(data: any): Observable> {\r\n // const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.SAVE_NEWS_DETAILS}`;\r\n // return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n // .pipe(tap((news) => this.updateNewsAdminData(news)));\r\n //}\r\n public updateNewsDetails(data: any): Observable> {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.UPDATE_NEWS_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; }),\r\n tap((news) => this.updateNewsAdminData(news)));\r\n }\r\n //#region Survey Cache & Operations\r\n private NEWS: Array = [];\r\n public get newsDetails(): Array {\r\n if (!this.NEWS) {\r\n this.NEWS = [];\r\n }\r\n return this.NEWS;\r\n }\r\n public set newsDetails(news: Array) {\r\n this.NEWS = news;\r\n }\r\n public updateNewsAdminData(news: INewsAdmin) {\r\n if (news) {\r\n const indextemp = this.newsDetails.findIndex(r => r.docID === news.docID);\r\n const temp = this.newsDetails.find(r => r.docID === news.docID);\r\n if (temp) {\r\n this.NEWS.splice(indextemp, 1, news);\r\n } else {\r\n this.NEWS.push(news);\r\n }\r\n }\r\n }\r\n\r\n public deleteNewsDetails(data: any): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.DELETE_NEWS_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; }),\r\n //tap((news) => this.updateNewsAdminData(news))\r\n );\r\n }\r\n //#endregion\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n HttpClient, HttpHeaders\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: `root`,\r\n})\r\nexport class ApiService {\r\n\r\n // private apiRoot: string;\r\n // public results: any[];\r\n // public path: string;\r\n // public loading: boolean;\r\n // public appId: string;\r\n /// * discuss and refactor this class */\r\n //const c = new CookieService();\r\n //constructor(private cookieService: CookieService) { \r\n // }\r\n\r\n //#region static Api Helper\r\n\r\n //private static httpOptions = {\r\n // headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n\r\n // }), withCredentials: true\r\n //};\r\n\r\n public static genericObservablePost = (\r\n http: HttpClient,\r\n apiEndPoint: string,\r\n data: any\r\n ) => {\r\n const apiURL = environment.apiUrl + apiEndPoint;\r\n const token = localStorage.getItem('aap_user_token');\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }), withCredentials: true\r\n };\r\n if (token) {\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }), withCredentials: true\r\n };\r\n }\r\n return http.post(apiURL, data, httpOptions) as Observable;\r\n }\r\n public static genericObservableGet = (\r\n http: HttpClient,\r\n apiEndPoint: string,\r\n ) => {\r\n const apiURL = environment.apiUrl + apiEndPoint;\r\n const token = localStorage.getItem('aap_user_token');\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }), withCredentials: true\r\n };\r\n if (token) {\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }), withCredentials: true\r\n };\r\n }\r\n return http.get(apiURL, httpOptions) as Observable;\r\n }\r\n\r\n \r\n //todo: Temp Soln. Need to remove\r\n public static genericJSONGet = (\r\n http: HttpClient,\r\n ) => {\r\n\r\n return http.get(\"./assets/masterdata.json\") as Observable;\r\n }\r\n\r\n\r\n public static genericObservablePostFormData = (\r\n http: HttpClient,\r\n apiEndPoint: string,\r\n data: any, formData: any\r\n ) => {\r\n const apiURL = environment.apiUrl + apiEndPoint;\r\n\r\n return http.post(apiURL, formData, { params: data }) as Observable;\r\n }\r\n //#endregion\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport {\r\n NotificationRef,\r\n NotificationService,\r\n} from '@progress/kendo-angular-notification';\r\nimport { NotifyComponent } from 'src/app/shared/components/notify/notify.component';\r\nimport { NotifyType } from '../enums/NotifyType';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppNotifyService {\r\n private NOTIFY_MESSAGE = '';\r\n public get notifyMessage() {\r\n return this.NOTIFY_MESSAGE;\r\n }\r\n constructor(private notificationService: NotificationService) {}\r\n public notify(notifyType: NotifyType, message: string): void {\r\n let notificationRef: NotificationRef;\r\n if (notifyType === NotifyType.SUCCESS) {\r\n this.NOTIFY_MESSAGE = message;\r\n this.notificationService.show({\r\n content: message,\r\n hideAfter: 3000,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'top' },\r\n type: { style: 'success', icon: true },\r\n closable: false,\r\n });\r\n // notificationRef = this.notificationService.show({\r\n // content: NotifyComponent,\r\n // hideAfter: 5000,\r\n // animation: { type: \"slide\", duration: 200 },\r\n // position: { horizontal: \"right\", vertical: \"top\" },\r\n // type: { style: \"success\", icon: false },\r\n // closable: true,\r\n // });\r\n } else if (notifyType === NotifyType.ERROR) {\r\n this.NOTIFY_MESSAGE = message;\r\n this.notificationService.show({\r\n content: message,\r\n hideAfter: 3000,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'top' },\r\n type: { style: 'error', icon: true },\r\n closable: false\r\n });\r\n\r\n if (notificationRef) {\r\n notificationRef.content.instance.ignore.subscribe(() =>\r\n notificationRef.hide()\r\n );\r\n }\r\n } else if (notifyType === NotifyType.WARNING) {\r\n this.NOTIFY_MESSAGE = message;\r\n this.notificationService.show({\r\n content: message,\r\n hideAfter: 3000,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'top' },\r\n type: { style: 'warning', icon: true },\r\n closable: false\r\n });\r\n\r\n if (notificationRef) {\r\n notificationRef.content.instance.ignore.subscribe(() =>\r\n notificationRef.hide()\r\n );\r\n }\r\n } else if (notifyType === NotifyType.INFO) {\r\n this.NOTIFY_MESSAGE = message;\r\n this.notificationService.show({\r\n content: message,\r\n hideAfter: 3000,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'top' },\r\n type: { style: 'info', icon: true },\r\n closable: false\r\n });\r\n\r\n if (notificationRef) {\r\n notificationRef.content.instance.ignore.subscribe(() =>\r\n notificationRef.hide()\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport decode from 'jwt-decode';\r\n\r\nconst jwtHelper = new JwtHelperService();\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n getRoles() {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n constructor(private cookieService: CookieService) { }\r\n\r\n\r\n private tokenKey: string = 'aap_user_token';\r\n public isAuthenticated(): boolean {\r\n const token = this.getToken();\r\n return !jwtHelper.isTokenExpired(token);\r\n }\r\n public getTokenExpirationDate(): Date {\r\n const token = this.getToken();\r\n var a: Date = jwtHelper.getTokenExpirationDate(token);\r\n return a;\r\n }\r\n public getToken(): string {\r\n const token = localStorage.getItem(this.tokenKey);\r\n return token;\r\n }\r\n public saveToken(token: string) {\r\n localStorage.setItem(this.tokenKey, token);\r\n }\r\n public logout() {\r\n localStorage.removeItem(this.tokenKey);\r\n }\r\n public getRolesFromToken() {\r\n let roles;\r\n try {\r\n const t = decode(this.getToken());\r\n roles = t['http://schemas.microsoft.com/ws/2008/06/identity/claims/role'];\r\n }\r\n catch (e) { }\r\n return roles;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n constructor(private cp: CurrencyPipe) { }\r\n\r\n public getBase64ImageFromURL(url) {\r\n return new Promise((resolve, reject) => {\r\n var img = new Image();\r\n img.setAttribute(\"crossOrigin\", \"anonymous\");\r\n\r\n img.onload = () => {\r\n var canvas = document.createElement(\"canvas\");\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0);\r\n\r\n var dataURL = canvas.toDataURL(\"image/png\");\r\n\r\n resolve(dataURL);\r\n };\r\n\r\n img.onerror = error => {\r\n reject(error);\r\n };\r\n\r\n img.src = url;\r\n });\r\n }\r\n\r\n //#region Date Helper\r\n public formatDate(inputDate: Date) {\r\n const dateTimeformat = new Intl.DateTimeFormat('en-US', { month: 'numeric', day: 'numeric', year: 'numeric' });\r\n return dateTimeformat.format(inputDate);\r\n }\r\n //#endregion\r\n //#region Email Helper\r\n public isValidEmail(email) {\r\n const regExp = /^\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b$/i; //need to varify regex for email\r\n return regExp.test(String(email).toLowerCase());\r\n }\r\n //#endregion\r\n\r\n //#region Determine Root Asset Path\r\n public getRootAssetPath() {\r\n\r\n }\r\n //#endregion\r\n convertIntToString(num) {\r\n let result: string = '';\r\n switch (num) {\r\n case 1: result = '1st'; break;\r\n case 2: result = '2nd'; break;\r\n case 3: result = '3rd'; break;\r\n case 4: result = '4th'; break;\r\n case 5: result = '5th'; break;\r\n default: break;\r\n }\r\n return result;\r\n }\r\n\r\n deepCopy(source, destination) {\r\n destination = JSON.parse(JSON.stringify(source));\r\n return destination;\r\n }\r\n\r\n public formatCurrencyTwodigit(value: any) {\r\n return this.cp.transform(value, 'USD', 'symbol', '1.2-2');\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\n\r\n constructor() { }\r\n\r\n public static readonly APIs = {\r\n apiurl: environment.apiUrl,\r\n endPoints: {\r\n ITEM: {\r\n GET_SUGGESTION: '/Item/GetSuggestion',\r\n FILTER_ITEMS: '/Item/FilterItems',\r\n GET_ITEM_DETAILS: '/Item/GetItemDetails',\r\n GET_FINISHES_NEW: '/Item/GetFinishesNew',\r\n GET_COMMONLY_ORDER: '/Item/GetCommonOrderedItem',\r\n GET_ASSOCIATE_ITEM: '/Item/GetCommonOrderedItem',\r\n SAVE_ASSOCIATE_ITEM: '/Item/SaveCommonOrderedItem',\r\n DISASSOCIATE_ITEM: '/Item/SaveCommonOrderedItem',\r\n DELETE_ITEM: '/Item/DeleteItemCatalog',\r\n },\r\n MACRO: {\r\n GET_ALL: '/macro/getAll',\r\n GET_V6MACROS: '/macro/GetV6Macros',\r\n ADD: '/macro/add',\r\n UPDATE: '/macro/update',\r\n MACROS_BY_ID: '/macro/MacrosById',\r\n DELETE: '/macro/Delete',\r\n },\r\n CART: {\r\n GET_ITEMS: '/cart/GetItems',\r\n ADD_ITEM: '/Cart/AddItem',\r\n ADD_STOCK_ITEM: '/Cart/AddStockItem',\r\n ADD_CONFIGURED_ITEM_TO_CART: '/Cart/AddConfiguredItemToCart',\r\n UPDATE_ITEM: '/Cart/UpdateItem',\r\n REMOVE_ITEM: '/Cart/RemoveItem',\r\n EMPTY_CART: '/Cart/EmptyCart',\r\n UPLOAD_ITEMS: '/cart/uploadItems',\r\n GET_CART_ITEM_COUNT: '/cart/ItemCountInCart',\r\n GET_CART_DISCOUNT: '/MasterData/GetCartDiscount',\r\n },\r\n FREIGHT_CLAIM: {\r\n GET_MY_SHIPPED_ORDERS: \"/freightClaim/getMyShippedOrders\",\r\n },\r\n ORDER: {\r\n CONFIRM_CHECKOUT: '/order/checkout',\r\n EXPRESS_CHECKOUT: '/order/expressCheckout',\r\n SAVE_CHECKOUT_FILE: '/order/Checkoutsave',\r\n SAVE_CHECKOUT_FILE_DELAY: '/order/CheckoutsaveDelay',\r\n VALIDATE_PROMOCODE: '/order/checkPromoCode',\r\n GET_MY_ORDERS: \"/order/getMyOrders\",\r\n GET_MY_ORDER_DETAILS: \"/order/GetMyOrderDetail\",\r\n GET_ORDER_INVOICE_DETAILS: \"/order/GetOrderInvoiceDetail\",\r\n GET_ORDER_SHIPMENT_DETAILS: \"/order/GetOrderTrackShipment\",\r\n GET_ORDER_DETAILS_HEADER: \"/order/GetOrderDetailsHeader\",\r\n GET_TAX_CERTIFICATES: '/order/TaxCertificatesItem',\r\n },\r\n INVOICE: {\r\n GET_INVOICE: '/order/GetInvoices',\r\n GET_INVOICE_DETAIL: \"/order/GetOrderDetailsFromInvoiceNumber\", //Need to check method name\r\n GET_RELATED_INVOICES: \"/order/RelatedInvoices\",\r\n DOWNLOAD_INVOICE: \"/order/DownloadInvoice\"\r\n },\r\n MASTER_DATA: {\r\n GET_COUNTRIES: '/MasterData/GetCountries',\r\n GET_STATES: '/MasterData/GetStates',\r\n GET_PRICE_BOOK_CATEGORIES: '/MasterData/GetPriceBookCategories',\r\n GET_FINISHES: '/MasterData/GetFinishes',\r\n GET_MARKET_SEGMENT: '/MasterData/GetMarketSegments',\r\n GET_FREIGHT_TERMS: '/MasterData/GetFreightTerms',\r\n GET_PAINT_CODES: '/MasterData/GetPaintCodes',\r\n GET_ALL_SUPPORT_DATA_FOR_CHECKOUT_ORDER_DETAIL: '/MasterData/GetAllSupportDataForCheckOutOrderDetail',\r\n },\r\n PRICE_BOOK: {\r\n GET_CATEGORIES: '/priceBook/getCategories',\r\n GET_ASSOCIATED_CATEGORIES: '/priceBook/GetAssociatedCategories',\r\n GET_ALL_CATEGORIES: '/priceBook/getAllCategories',\r\n },\r\n USER: {\r\n VALIDATE_TOKEN: '/User/ValidateToken',\r\n GET_DETAILS: '/User/GetDetails',\r\n LOGIN: '/User/Login',\r\n GET_NEW_TOKEN: '/User/Refresh',\r\n DELETE_REFRESH_TOKEN: '/User/DeleteRefresh',\r\n CREDIT_INFO: '/Customer/GetCardInfo',\r\n NEW_USER: '/User/Register',\r\n VALID_USERNAME: '/User/IsUserNameAvailable',\r\n CHANGE_PASSWORD: '/User/ChangePassword',\r\n CHANGE_DEFAULT_PASSWORD: '/User/ChangePassword',\r\n FORGOT_PASSWORD: '/User/ForgotPassword',\r\n CONFIRM_FORGOT_PASSWORD_OTP: '/User/ConfirmForgotPasswordOtp',\r\n ACCEPT_TERM_CONDITION: '/User/UpdateUserTermsandContitions',\r\n GET_ALL_USERS: \"/User/GetAll\",\r\n GET_WORKLIST_USERS: \"/User/GetWorkListUsers\",\r\n DELETE_USER: \"/User/DeleteUser\",\r\n UPDATE_USER: \"/User/UpdateUser\", //no reference for this\r\n ADD_USER: \"/User/AddUser\",\r\n GET_ALLROLES: \"/User/GetAllRoles\",\r\n GET_EDIT_USER_DETAILS: \"/User/GetUserDetailsByUserId\",\r\n PWA_LOGIN_LOG: '/User/SavePWAUserLog',\r\n },\r\n CUSTOMER: {\r\n GET_ADDRESS: '/Customer/GetAddress',\r\n GET_ORDER_INVOICE_ADDRESS: '/Customer/GetCustomerAddress',\r\n ADD_SHIPPING_ADDRESS: '/Customer/AddShippingAddress',\r\n ARCHIVE_ADDRESS: '/Customer/ArchiveAddress',\r\n IS_DEFAULT_ADDRESS: '/Customer/isDefaultAddress',\r\n GET_SUGGESTION: '/Customer/GetSuggestion',\r\n //GET_ORDER_INVOICE_ADDRESS: '/Customer/GetCustomerDetailsFromCustomerNumber',\r\n GET_MULTIPLIER_PLAN: '/CUSTOMER/GetMultiplierPlanNew',\r\n ACCOUNT_SUMMARY: '/Customer/GetAccountSummary',\r\n GET_ALLCUSTOMERS: '/Customer/GetAllCustomers'\r\n },\r\n PRODUCT_ATTRIBUTE: {\r\n GET_ALL: '/ProductAttribute/GetAll',\r\n GET_ALL_V6ATTRIBUTES: '/ProductAttribute/GetAllV6Attributes',\r\n GET: '/ProductAttribute/Get',\r\n ADD_ATTRIBUTE: '/ProductAttribute/Add',\r\n UPDATE_ATTRIBUTE: '/ProductAttribute/Update',\r\n ATTRIBUTE_BY_ID: '/ProductAttribute/AttributesById',\r\n DELETE_ATTRIBUTE: '/ProductAttribute/Delete',\r\n\r\n },\r\n JOB: {\r\n SEARCH: '/job/search'\r\n },\r\n PRODUCT: {\r\n GET_ALL_CATEGORIES: '/Product/GetAllCategories',\r\n GET_CONFIGURATION: '/Product/GetConfiguration',\r\n GET_KWIKKEYCONFIGURATION: '/Product/GetKwikKeyConfiguration',\r\n COPY_CONFIGURATION: '/Product/CopyConfiguration',\r\n GET_PRODUCT_DETAILS: '/Product/GetProductDetails',\r\n GET_KWIKKEY_PRODUCT_DETAILS: '/Product/GetKwikkeyProductDetails',\r\n GET_PRODUCT_DEPENDENCIES: '/Product/GetProductDependencies',\r\n GET_PRODUCTS_BY_CATEGORYID: '/Product/GetProductsByCategoryId',\r\n CREATE_CONFIGURATION: '/Product/CreateConfiguration',\r\n UPDATE_ONLY_CONFIGURATION: '/Product/UpdateOnlyConfiguration',\r\n UPDATE_CONFIGURATION: '/Product/updateConfiguration',\r\n GET_PRODUCT_CONFIG_IMG: '/Product/GetProductConfigImage',\r\n GET_ALL_PRODUCT_TEMPLATE: '/Product/GetAllProductTemplate',\r\n CREATE_PRODUCT_TEMPLATE: '/Product/CreateProductTemplate',\r\n EDIT_PRODUCT_TEMPLATE: '/Product/EditProductTemplate',\r\n //manageTranslation\r\n GET_OptionTranslation: '/Product/GetOptionTranslations',\r\n GET_OptionValueTranslation: '/Product/GetOptionValueTranslations',\r\n CREATE_OptionTranslation: '/Product/CreateOptionTranslation',\r\n CREATE_OptionValueTranslation: '/Product/CreateOptionValueTranslation',\r\n EDIT_OptionTranslation: '/Product/CreateOptionTranslation',\r\n GET_ProductCode: '/Product/GetTranslationFamilies',\r\n //product details/config\r\n GET_PRODUCT_CONFIG_FORPRODUCT: '/ProductConfig/GetAllProductConfigForProduct',\r\n DELETE_OPTION_TRANSLATOR: '/Product/DeleteOptionTranslation',\r\n DELETE_OPTION_VALUE_TRANSLATOR: '/Product/DeleteOptionValueTranslation',\r\n DELETE_PRODUCT_CATEGORY: '/Admin/DeleteProductCategory',\r\n DELETE_PRODUCT_SUB_CATEGORY: '/Admin/DeleteProductSubCategory',\r\n DELETE_PRODUCT_CONFIGURATION: '/Admin/DeleteProductConfiguration',\r\n DELETE_PRODUCT_TEMPLATE: '/Product/DeleteProductTemplate',\r\n\r\n },\r\n QUOTE: {\r\n GET_KD_QUOTE: \"/Quote/GetKdQuotes\",\r\n UPDATE_KD_QUOTE_STATUS: \"/Quote/UpdateQuoteByStatus\",\r\n GET_KD_QUOTE_DETAIL: \"/Quote/GetKdQuoteItems\",\r\n ADD_KD_QUOTE: \"/Quote/CreateQuote\",\r\n CREATE_CONFIGURE_PRODUCT_QUOTE: \"/Quote/CreateConfigureProductQuote\",\r\n DELETE_KD_QUOTE: \"/Quote/DeleteKdQuote\",\r\n Update_KD_QUOTE_HEADER: \"/Quote/UpdateKdQuote\",\r\n DELETE_KD_QUOTE_ITEM: \"/Quote/DeleteKdQuoteItem\",\r\n COPY_KD_QUOTE: \"/Quote/CopyKdQuote\",\r\n ADD_QUOTE_TO_CART: \"/Quote/addQuoteToCart\",\r\n ADD_CONFIGURED_ITEM_TO_QUOTE: \"/Quote/AddConfiguredItemToQuote\",\r\n ADD_QUOTE_ITEM_TO_CART_ITEM_LIST: \"/Quote/AddQuoteItemToCart\",\r\n EMPTY_KD_QUOTE_ITEMS: \"/Quote/EmptyKdQuoteItems\",\r\n ADD_ITEM_TO_KD_QUOTE_ITEM_LIST: \"/Quote/AddStockItemToQuote\",\r\n ADD_Cart_ITEM_TO_KD_QUOTE: \"/Quote/AddCartItemToKdQuote\",\r\n CREATE_QUOTE_ITEM_REVISION: \"/Quote/CreateKdQuoteRevision\",\r\n PRINT_MATERIAL_PROPOSAL: \"/Quote/PrintMaterialProposal\",\r\n PRINT_INHOUSE_MATERIAL_PROPOSAL: \"/Quote/PrintInHouseMaterialProposal\",\r\n GET_ALL_INHOUSE_QUOTES: \"/Quote/InhouseQuotes\",\r\n REQUEST_A_QUOTE: \"/Quote/QuoteRequest\",//Need to follow standard name format\r\n REQUEST_A_FACTORY_QUOTE: \"/Quote/RequestAFactoryQuote\",//Need to follow standard name format\r\n QUOTE_DETAIL_PAYLOAD: \"/Quote/QuoteDetailPayload\",\r\n REQUEST_A_FACTORY_QUOTE_PAYLOAD: \"/Quote/requestAFactoryQuotePayload\",\r\n REQUEST_A_QUOTE_PAYLOAD: \"/Quote/requestAQuotePayload\",\r\n UPDATE_ITEM_TO_KD_QUOTE: \"/Quote/UpdateKdQuoteItem\",\r\n CREATE_QUOTE: \"/Quote/CreateQuote\",\r\n UPLOAD_ITEMS: \"/Quote/UploadQuoteItem\",\r\n GET_KD_QUOTE_WITH_ITEM_COUNT: \"/Quote/GetKdQuotesWithItemCount\",\r\n },\r\n MANAGE_COMPANY: {\r\n GET_USER_ACCOUNT: '/Customer/GetUsersByCustomer',\r\n SAVE_NEW_USER: '/Customer/SaveNewUser',\r\n UPDATE_USER_ACCOUNT: '/Customer/UpdateUserAccount',\r\n UPDATE_USER_ACCESS_TO_SCREENS: '/Customer/UpdateUserAccessRequest',\r\n RESET_USER_PASSWORD:'/Customer/ResetUserPassword'\r\n },\r\n SELF_UTILITY: {\r\n GET_CREDIT_REFERENCE: \"/SelfUtility/GetCreditReference\",\r\n GET_FINISH_CATEGORIES: \"/SelfUtility/GetFinishCategories\",\r\n GET_SAMPLE_FINISHES: \"/SelfUtility/GetSampleFinishes\",\r\n GET_GRID_DATA_BY_CATEGORY: \"/SelfUtility/getSampleGridDataByCategories\",\r\n PLACE_SAMPLE_REQUEST: \"/SelfUtility/SampleRequestPlaceOrder\",\r\n DOWNLOAD_LIEN_RELEASE: \"/SelfUtility/DownloadLienRelease\",\r\n GET_LIEN_RELEASE_DETAILS: \"/SelfUtility/GetDetailsbyInvoiceNumber\",\r\n THERMAL_CALCULATE_PAYLOAD: \"/SelfUtility/GetThermalCalculatorData\",\r\n GET_PROJECT_SERIES: \"/SelfUtility/GetThermalProductSeries\",\r\n THERMAL_CALCULATE: \"/SelfUtility/CalculateThermalVision\",\r\n },\r\n SUBMITTALPACKAGE: {\r\n GET_ARCHITECTURE_DETAILS: '/SubmittalPackage/GetDetails',\r\n GET_REPORT_ALL_DATA: '/SubmittalPackage/GetDetailedTestReportFromProductType',\r\n DOWNLOAD_SUBMITTAL: '/SubmittalPackage/DownloadSubmittalPackage',\r\n // DOWNLOAD_SUBMITTAL: '/SubmittalPackage/DownloadSubmittalPackagePdf',\r\n GET_TERMS_AND_CONDITIONS: '/SubmittalPackage/GetTermsAndConditons',\r\n SAVE_TERMS_AND_CONDITIONS: '/SubmittalPackage/SaveTermsAndConditions'\r\n },\r\n GENERATEWARRANTY: {\r\n GET_DETAILS_OF_SERVICE_ORDER: \"/GenerateWarranty/GetDetailsOfServiceOrder\",\r\n GET_ORDERS_FOR_WARRANTY: \"/GenerateWarranty/GetAllOrdersForWarranty\",\r\n DOWNLOAD_WARRANTY: \"/GenerateWarranty/DownloadWarranty\"\r\n // DOWNLOAD_WARRANTY: \"/GenerateWarranty/DownloadWarrantyPdf\"\r\n },\r\n KAWNEER_ADMIN: {\r\n GET_LANGUAGE_TRANSLATION: \"/LanguageTranslation/GetComponentNameList\",\r\n SAVE_CONTROL_NAME: \"/LanguageTranslation/SaveControlText\",\r\n GET_ERROR_LIST: \"/Admin/GetErrorList\",\r\n GET_ITEM_CATALOG: \"/Item/GetItemCatalog\",\r\n SAVE_ITEM_CATALOG: \"/Item/SaveItemCatalog\",\r\n },\r\n MARKETING_ADMIN: {\r\n GET_ARCHITECTURE_DETAILS: \"/Admin/GetArchitecturalDetailSubCategory\",\r\n GET_CATEGORY: \"/Admin/GetArchitectureDetailCategory\",\r\n SAVE_ARCHITECTURE_CATEGORY: \"/Admin/SaveArchitectureCategory\",\r\n SAVE_ARCHITECTURE_DETAILS: \"/Admin/SaveSubCategory\",\r\n GET_TEST_REPORT: \"/Admin/GetTestReportDetails\",\r\n SAVE_TEST_SUB_CATEGORY: \"/Admin/SaveTestSubCategory\",\r\n SAVE_TEST_CATEGORY: \"/Admin/SaveTestCategory\",\r\n SAVE_TEST_REPORT: \"/Admin/SaveTestReport\",\r\n GET_SAMPLE_FINISHES: \"/Admin/GetSampleFinishes\",\r\n SAVE_SAMPLE_FINISH_CATEGORY: \"/Admin/AddSampleFinishCategory\",\r\n SAVE_SAMPLE_FINISH_SUB_CATEGORY: \"/Admin/AddSampleFinishSubCategory\",\r\n GET_BROADCAST_MESSAGE: \"/Admin/GetBroadcastMessageList\",\r\n SAVE_BROADCAST_MESSAGE: \"/Admin/AddBroadcastMessage\",\r\n GET_PROMO_CODE: \"/Admin/GetPromoCodes\",\r\n SAVE_PROMO_CODE: \"/Admin/SavePromoCodes\",\r\n GET_OUTAGE_SCHEDULE: \"/Admin/GetOutageSchedules\",\r\n SAVE_OUTAGE_SCHEDULE: \"/Admin/SaveOutageSchedules\",\r\n GET_OUTAGEOBJ: \"/Admin/CheckOutage\",\r\n GET_IMAGES: \"/Admin/GetImages\",\r\n GET_BANNER_IMAGES: \"/Admin/GetHomeBannerImages\",\r\n SAVE_IMAGES: \"/Admin/SaveImages\",\r\n SAVE_TRAINING_PAGES_DESCRIPTION: \"/Training/SaveTrainingDetails\",\r\n GET_TRAINING_PAGES_DESCRIPTION: \"/Training/GetTrainingDetails\",\r\n SAVE_MECHANICS_SCHOOL: \"/Training/SaveMechanicsSchool\",\r\n SAVE_MODULES_SCHOOL: \"/Training/SaveModulesSchool\",\r\n DELETE_MODULES_SCHOOL_MODULE: \"/Training/DeleteModulesSchoolModule\",\r\n DELETE_MODULES_SCHOOL_LOCATION: \"/Training/DeleteModulesSchoolLocation\",\r\n DELETE_MECHANICS_SCHOOL_LOCATION: \"/Training/DeleteMechanicsSchoolLocation\",\r\n GET_SURVEY_DETAILS: \"/Admin/GetSurveyQuestions\",\r\n SAVE_SURVEY_DETAILS: \"/Admin/SaveSurveyQuestions\",\r\n SAVE_SURVEY_ENTRY: \"/Admin/SaveSurvey\",\r\n GET_NEWS_DETAILS: \"/Literature/GetDocuments\",\r\n SAVE_NEWS_DETAILS: \"/Literature/SaveLiteratureDocuments\",\r\n UPDATE_NEWS_DETAILS: \"/Literature/UpdateLiteratureDocuments\",\r\n SAVE_PRODUCT_CONFIGURATION: \"/Admin/SaveProductConfiguration\",\r\n GET_PRODUCT_MAPPING: \"/Admin/GetProductMapping\",\r\n GET_PRODUCT_CATEGORY: \"/Admin/GetProductCategoryMapping\",\r\n //product category\r\n SAVE_PRODUCT_CATEGORY: \"/Admin/AddEditProductCategory\",\r\n SAVE_PRODUCT_SUB_CATEGORY: \"/Admin/AddEditProductSubCategory\",\r\n GET_USER_SURVEY_DETAILS: \"/Admin/GetUserSurveyQuestions\",\r\n\r\n DELETE_SAMPLE_FINISH_SUB_CATEGORY: \"/Admin/DeleteSampleFinishSubCategory\",\r\n DELETE_IMAGES: \"/Admin/DeleteImages\",\r\n DELETE_PROMO_CODE: \"/Admin/DeletePromoCodes\",\r\n DELETE_OUTAGE_SCHEDULE: \"/Admin/DeleteOutageSchedules\",\r\n DELETE_SURVEY: \"/Admin/DeleteSurveyQuestions\",\r\n DELETE_BROADCAST_MESSAGE: \"/Admin/DeleteBroadCastMessage\",\r\n DELETE_NEWS_DETAILS: \"/Literature/DeleteLiteratureDocuments\",\r\n DELETE_ARCHITECTURE_DETAILS: \"/Admin/DeleteSubCategory\",\r\n DELETE_TEST_REPORT: \"/Admin/DeleteTestReport\",\r\n\r\n },\r\n //#Region Product Sample Fulfillment\r\n PRODUCT_SAMPLE_FULFILLMENT_ADMIN: {\r\n GET_SAMPLE_SUB_CATEGORIES: \"/ProductSampleFulfillment/GetSampleSubCategories\",\r\n ADD_SAMPLE_CATEGORY: \"/ProductSampleFulfillment/AddSampleCategory\",\r\n UPDATE_SAMPLE_CATEGORY: \"/ProductSampleFulfillment/UpdateSampleCategory\",\r\n DELETE_SAMPLE__SUB_CATEGORY: \"/ProductSampleFulfillment/DeleteSampleSubCategory\",\r\n ADD_UPDATE_SAMPLE_SUB_CATEGORY: \"/ProductSampleFulfillment/AddUpdateSampleSubCategory\",\r\n UPDATE_INVENTORY_SAMPLE_SUB_CATEGORY: \"/ProductSampleFulfillment/UpdateInventorySampleSubCategory\",\r\n GET_SAMPLE_PRODUCT_ORDER_HEADER: \"/ProductSampleFulfillment/GetAllSampleProductOrderHeaders\",\r\n GET_SAMPLE_PRODUCT_ORDER_DETAILS: \"/ProductSampleFulfillment/GetSampleProductOrderDetailsByHeader\",\r\n GET_ALL_SAMPLE_SUBCATEGORY_COST_BY_SUBCATEGORY_ID: \"/ProductSampleFulfillment/GetAllSampleSubCategoryHistoryById\",\r\n GET_SAMPLE_REORDER_REPORT: \"/ProductSampleFulfillment/GetAllSampleReorderReport\",\r\n GET_SAMPLE_USAGE_REPORT: \"/ProductSampleFulfillment/GetAllSampleUsageReport\",\r\n GET_SAMPLE_SUB_CATEGORY_EXIST: \"/ProductSampleFulfillment/GetSingleSampleSubCategoryExist\",\r\n //#Region user place order\r\n GET_ACTIVE_SAMPLE_CATEGORIES: '/ProductSampleFulfillment/GetActiveSampleCategories',\r\n GET_ACTIVE_SAMPLE_SUB_CATEGORIES_BY_CATEGORY: '/ProductSampleFulfillment/GetActiveSampleSubCategoriesByCategory',\r\n GET_SAMPLE_REGIONS: '/ProductSampleFulfillment/GetAllSampleRegions',\r\n PLACE_ORDER_SAMPLE_REQUEST: \"/ProductSampleFulfillment/SampleProductRequestPlaceOrder\", \r\n GET_SAMPLE_ADMIN_BUDGET_REPORT: \"/ProductSampleFulfillment/GetSampleAdminBudgetReport\",\r\n GET_SAMPLE_ADMIN_BUDGET_ALLOCATION_REPORT: \"/ProductSampleFulfillment/GetSampleAdminBudgetAllocationReport\",\r\n ADD_SAMPLE_ADMIN_BUDGET_ASSOCIATION: \"/ProductSampleFulfillment/AddSampleAdminBudgetAssociation\",\r\n DELETE_SAMPLE_ADMIN_BUDGET_ASSOCIATION: \"/ProductSampleFulfillment/DeleteSampleAdminBudgetAssociation\", \r\n },\r\n // #End Region \r\n LANGUAGE_TRANSLATION: {\r\n GET_LANGUAGE_TEXT: \"/LanguageTranslation/GetLabelTextByLanguageCode\",\r\n GET_LANGUAGES: \"/LanguageTranslation/GetLanguages\"\r\n\r\n },\r\n SCHOOL_AND_TRAINING: {\r\n // GET_CUSTOMER_SPECIFIC_SCHOOL: \"/Training/GetCustomerSpecificSchool\",\r\n GET_MECHANICS_SCHOOL: \"/Training/GetMechanicsSchool\",\r\n REGISTER_MECHANICS_SCHOOL: \"/Training/SaveMechanicsSchoolRegistration\",\r\n //SAVE_MECHANICS_SCHOOL: \"/Training/SaveMechanicsSchool\",\r\n //SAVE_MODULES_SCHOOL: \"/Training/SaveModulesSchool\",\r\n GET_MODULES_SCHOOL: \"/Training/GetModulesSchool\",\r\n REGISTER_MODULES_SCHOOL: \"/Training/SaveModulesSchoolRegistration\",\r\n },\r\n LITERATURE: {\r\n GET_LITERATURE_DOCUMENT_PAGES: \"/Literature/GetLiteratureDocumentGroups\",\r\n GET_LITERATURE_DETAILS: \"/Literature/GetLiteratureDocuments\",\r\n },\r\n FOOTER_PAGES: {\r\n SAVE_CONTACT_US_DETAILS: \"/Footer/InsertContactUsDetails\",\r\n GET_FAQ_DETAILS: \"/LanguageTranslation/GetLabelTextByLanguageCode\",\r\n },\r\n V6TRANSLATIONS: {\r\n GET_OPTIONS: \"/Product/GetOptionTranslations\",\r\n GET_OPTION_VALUES: \"/Product/GetOptionValueTranslations\",\r\n },\r\n UPLOAD: {\r\n UPLOAD_FILES_KENDO: \"/Admin/UploadFile\",\r\n REMOVE_FILES_KENDO: \"/Admin/RemoveFile\"\r\n }\r\n }\r\n };\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, empty } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ConfigService } from './config.service';\r\nimport { ApiService } from './api.service';\r\nimport { ILanguages, BaseResponse } from '../models';\r\nimport { catchError, map } from 'rxjs/operators';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LanguageTranslationService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n //#region language translation Api call\r\n public getLanguageLabel(body): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.LANGUAGE_TRANSLATION.GET_LANGUAGE_TEXT}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public getLanguages(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.LANGUAGE_TRANSLATION.GET_LANGUAGES}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n //#endregion\r\n cotrolTextList: any = [];\r\n languageList: any;\r\n getLanguageTranslationList(controlNames, componentName) {\r\n\r\n const languageCode = localStorage.getItem('aap_language')\r\n this.languageList = JSON.parse(localStorage.getItem(\"aap_LanguageText\"));\r\n if (this.languageList) {\r\n const datalist = this.languageList.filter(r => r.componentName === componentName && r.languageCode === languageCode);\r\n var myobj = {};\r\n var obj = {};\r\n for (var j = 0; j < controlNames.length; j++) {\r\n for (var i = 0; i < datalist.length; i++) {\r\n if (controlNames[j].controlName == datalist[i].controlName) {\r\n\r\n obj[datalist[i].controlName] = datalist[i].controlText;\r\n Object.assign(myobj, obj);\r\n break;\r\n }\r\n }\r\n }\r\n this.cotrolTextList.push(myobj);\r\n }\r\n return this.cotrolTextList;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { promise } from 'protractor';\r\nimport { BehaviorSubject, empty, Observable, of, pipe } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { BaseResponse, Country, ICartItem, ICountry, ICustomerAddress, IFinish, IGetAllSupportDataForCheckOutOrderDetail, IMasterData, IState, MasterData } from '../models';\r\nimport { ApiService } from './api.service';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterDataService {\r\n constructor(private httpClient: HttpClient) {\r\n //this.GetMarketSegment().subscribe();\r\n }\r\n /*\r\n Lot of methods here will be removed after carefull examination\r\n\r\n */\r\n\r\n public allStatesOfUsAndCanada: any;\r\n\r\n public get isSpinning(): BehaviorSubject {\r\n return this.SPINNER$;\r\n }\r\n public set spinning$(isloading: boolean) {\r\n this.SPINNER$.next(isloading);\r\n }\r\n public get getCountries$(): BehaviorSubject {\r\n return this.COUNTRIES$;\r\n }\r\n public set countries(countries: ICountry[]) {\r\n this.COUNTRIES$.next(countries);\r\n }\r\n public get getStates$(): BehaviorSubject {\r\n return this.STATES$;\r\n }\r\n public set states(states: IState[]) {\r\n this.STATES$.next(states);\r\n }\r\n\r\n //public set allStatesOfUsAndCanada$(states: IState[]) {\r\n // this.STATESOfUSAndCanada$.next(states);\r\n //}\r\n //public get allStatesOfUsAndCanada(): BehaviorSubject {\r\n // return this.STATESOfUSAndCanada$;\r\n //}\r\n\r\n public get getCities$(): BehaviorSubject {\r\n return this.CITIES$;\r\n }\r\n public set cities(cities: IMasterData[]) {\r\n this.CITIES$.next(cities);\r\n }\r\n //public get getMerketSegment$(): BehaviorSubject {\r\n // if (!this.marketSegments) {\r\n // this.GetMarketSegment().subscribe();\r\n // }\r\n // return this.MERKET_SEGMENT$;\r\n //}\r\n //public set marketSegments(merketSegmentResponse: IMasterData[]) {\r\n // if (merketSegmentResponse) {\r\n // this.MERKET_SEGMENT = merketSegmentResponse;\r\n\r\n // this.MERKET_SEGMENT$.next(merketSegmentResponse);\r\n // }\r\n //}\r\n //public get marketSegments(): IMasterData[] {\r\n // if (!this.MERKET_SEGMENT && this.MERKET_SEGMENT.length === 0) {\r\n // this.GetMarketSegment().subscribe();\r\n // }\r\n // return this.MERKET_SEGMENT;\r\n //}\r\n\r\n\r\n\r\n\r\n\r\n public get getFreightTerms$(): BehaviorSubject {\r\n return this.FREIGHT_TERMS$;\r\n }\r\n public set freightTerms(feightTerms: IMasterData[]) {\r\n this.FREIGHT_TERMS$.next(feightTerms);\r\n }\r\n public get cartItems$(): BehaviorSubject {\r\n return this.CART_ITEMS$;\r\n }\r\n public set cartItems(cartItems: ICartItem[]) {\r\n this.CART_ITEMS = cartItems as ICartItem[];\r\n this.CART_ITEMS$.next(cartItems as ICartItem[]);\r\n }\r\n public set addCartItem(cartItem: ICartItem) {\r\n this.CART_ITEMS.push(cartItem as ICartItem);\r\n this.CART_ITEMS$.next(this.CART_ITEMS as ICartItem[]);\r\n }\r\n public set updateCartItem(cartItem: ICartItem) {\r\n if (cartItem) {\r\n if (cartItem.cartItemCommonId) {\r\n const index = this.CART_ITEMS.findIndex(r => r.cartItemCommonId === cartItem.cartItemCommonId);\r\n const tempCartItem = this.CART_ITEMS.find(r => r.cartItemCommonId === cartItem.cartItemCommonId);\r\n if (tempCartItem) {\r\n this.CART_ITEMS.splice(index, 1, cartItem);\r\n this.CART_ITEMS$.next(this.CART_ITEMS);\r\n }\r\n }\r\n }\r\n }\r\n public set updateCartItems(cartItems: ICartItem[]) {\r\n if (cartItems) {\r\n cartItems.forEach((item, index) => {\r\n if (item.cartItemCommonId) {\r\n this.updateCartItem = item as ICartItem;\r\n }\r\n });\r\n }\r\n }\r\n public set removeCartItem(cartItemCommonId: string) {\r\n if (cartItemCommonId) {\r\n const index = this.CART_ITEMS.findIndex(r => r.cartItemCommonId == cartItemCommonId);\r\n const tempCartItem = this.CART_ITEMS.find(r => r.cartItemCommonId === cartItemCommonId);\r\n if (tempCartItem) {\r\n this.CART_ITEMS.splice(index, 1);\r\n this.CART_ITEMS$.next(this.CART_ITEMS);\r\n }\r\n }\r\n }\r\n public set removeCartItems(cartIds: string[]) {\r\n if (cartIds) {\r\n cartIds.forEach((cartId, index) => {\r\n if (cartId) {\r\n this.removeCartItem = cartId as string;\r\n }\r\n });\r\n }\r\n }\r\n public get getCategories$(): BehaviorSubject {\r\n return this.CATEGORIES$;\r\n }\r\n public set categories(categories: MasterData[]) {\r\n this.CATEGORIES$.next(categories);\r\n }\r\n //public get getFinishes$(): BehaviorSubject {\r\n // return this.FINISHES$;\r\n //}\r\n //public set finishes(categories: IMasterData[]) {\r\n // this.FINISHES$.next(categories);\r\n //}\r\n public get customerAddressList$(): BehaviorSubject {\r\n if (!this.CUSTOMER_ADDRESS_LIST) {\r\n this.customerAddressList = [] as ICustomerAddress[];\r\n } else if (this.CUSTOMER_ADDRESS_LIST.length < 1) {\r\n this.customerAddressList = [] as ICustomerAddress[];\r\n }\r\n return this.CUSTOMER_ADDRESS_LIST$;\r\n }\r\n public set customerAddressList(addresslist: ICustomerAddress[]) {\r\n this.CUSTOMER_ADDRESS_LIST = addresslist as ICustomerAddress[];\r\n this.CUSTOMER_ADDRESS_LIST$.next(addresslist as ICustomerAddress[]);\r\n }\r\n public set addCustomerAddress(address: ICustomerAddress) {\r\n this.CUSTOMER_ADDRESS_LIST.push(address as ICustomerAddress);\r\n this.CUSTOMER_ADDRESS_LIST$.next(this.CUSTOMER_ADDRESS_LIST as ICustomerAddress[]);\r\n }\r\n public set updateCustomerAddress(address: ICustomerAddress) {\r\n if (address) {\r\n if (address.id) {\r\n const index = this.CUSTOMER_ADDRESS_LIST.findIndex(r => r.id === address.id);\r\n const tempaddress = this.CUSTOMER_ADDRESS_LIST.find(r => r.id === address.id);\r\n if (tempaddress) {\r\n this.CUSTOMER_ADDRESS_LIST.splice(index, 1, address);\r\n this.CUSTOMER_ADDRESS_LIST$.next(this.CUSTOMER_ADDRESS_LIST);\r\n }\r\n }\r\n }\r\n }\r\n public set updateCutomerAddress(addressList: ICustomerAddress[]) {\r\n if (addressList) {\r\n addressList.forEach((item, index) => {\r\n if (item.id) {\r\n this.updateCustomerAddress = item as ICustomerAddress;\r\n }\r\n });\r\n }\r\n }\r\n public set removeCutomerAddress(id: string) {\r\n if (id) {\r\n const index = this.CUSTOMER_ADDRESS_LIST.findIndex(r => r.id == id);\r\n const tempaddress = this.CUSTOMER_ADDRESS_LIST.find(r => r.id === id);\r\n if (tempaddress) {\r\n this.CUSTOMER_ADDRESS_LIST.splice(index, 1);\r\n this.CUSTOMER_ADDRESS_LIST$.next(this.CUSTOMER_ADDRESS_LIST);\r\n }\r\n }\r\n }\r\n public set removeCutomerAddressLIst(ids: string[]) {\r\n if (ids) {\r\n ids.forEach((id, index) => {\r\n if (id) {\r\n this.removeCutomerAddress = id as string;\r\n }\r\n });\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region GENERAL Variables\r\n // This is for SPINNER\r\n private SPINNER$: BehaviorSubject = new BehaviorSubject(false);\r\n //#endregion\r\n //#region User DATA & Operation\r\n private COUNTRIES$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n private STATES$: BehaviorSubject = new BehaviorSubject([]);\r\n private STATESOfUSAndCanada$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n private CITIES$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n //private MERKET_SEGMENT$: BehaviorSubject = new BehaviorSubject([]);\r\n //private MERKET_SEGMENT: IMasterData[] = [];\r\n private FREIGHT_TERMS$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n //#endregion\r\n\r\n //#region CART CACHE & Operation\r\n private CART_ITEMS$: BehaviorSubject = new BehaviorSubject([]);\r\n private CART_ITEMS: ICartItem[] = [];\r\n\r\n //#endregion\r\n\r\n //#region CATEGORIES CACHE & Operation\r\n private CATEGORIES$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n //#endregion\r\n\r\n //#region FINISHES CACHE & Operation\r\n private FINISHES$: BehaviorSubject = new BehaviorSubject([]);\r\n //#endregion\r\n\r\n //#region CUSTOMER ADDRESS CACHE & Operation\r\n private CUSTOMER_ADDRESS_LIST$: BehaviorSubject = new BehaviorSubject([]);\r\n private CUSTOMER_ADDRESS_LIST: ICustomerAddress[] = [];\r\n //#endregion\r\n //#region MasterDataService Api endPoints\r\n public GetCountries(): Observable> {\r\n const endPoint = ConfigService.APIs.endPoints.MASTER_DATA.GET_COUNTRIES;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public GetStates(): Observable> {\r\n const endPoint = ConfigService.APIs.endPoints.MASTER_DATA.GET_STATES;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public GetFreightTerms(): Observable> {\r\n const endPoint = ConfigService.APIs.endPoints.MASTER_DATA.GET_FREIGHT_TERMS;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n }\r\n\r\n public GetAllSupportDataForCheckOutOrderDetail(): Observable {\r\n const endPoint = ConfigService.APIs.endPoints.MASTER_DATA.GET_ALL_SUPPORT_DATA_FOR_CHECKOUT_ORDER_DETAIL;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => { let result: any; result = response.data; return result; })\r\n );\r\n }\r\n\r\n public GetAllMasterDataForQuoteRequest() {\r\n //is states available in the service\r\n //is marketSegment available\r\n //quote type is available\r\n //GetMasterDataForQuoteRequest array of string marketSegment,quote type\r\n //received response, store the data in service\r\n }\r\n\r\n //static paint values\r\n\r\n\r\n public getPaintValues() {\r\n var paintValue: MasterData[] = [\r\n { name: '379A1456 Dark Bronze(#40 Painted Match)', value: \"379A1456\" },\r\n //{ name: '789G013 Dark Bronze(#40 Painted Match)', value: \"789G013\" },\r\n { name: '789G016 Sapphire Ice ', value: \"789G016\" },\r\n { name: '789G017 Hartford Mist', value: \"789G017\" },\r\n { name: '789G018 Sterling Grey', value: \"789G018\" },\r\n { name: '789G019 Champagne Rose', value: \"789G019\" },\r\n { name: '789G021 Mediterranean Mist', value: \"789G021\" },\r\n { name: '789G022 Tropical Jade', value: \"789G022\" },\r\n { name: '789G023 Terra Cota Metallic', value: \"789G023\" },\r\n { name: '789G024 Classic Copper', value: \"789G024\" },\r\n { name: '789G025 Metallic Brick', value: \"789G025\" },\r\n { name: '789G026 Burgundy Metallic', value: \"789G026\" },\r\n { name: '789G027 Platinium Ice', value: \"789G027\" },\r\n { name: '789G028 Arctic Blue', value: \"789G028\" },\r\n { name: '789G035 Black(#29 painted match)', value: \"789G035\" },\r\n { name: '379A1451 Gold(#26 painted match)', value: \"379A1451\" },\r\n //{ name: '789G036 Gold(#26 painted match)', value: \"789G036\" },\r\n { name: '379A1455 Champagne(#18 painted match)', value: \"379A1455\" },\r\n //{ name: '789G039 Champagne(#18 painted match)', value: \"789G039\" },\r\n { name: '379A1457 Medium Bronze(#28 painted match)', value: \"379A1457\" },\r\n //{ name: '789G046 Medium Bronze(#28 painted match)', value: \"789G046\" },\r\n { name: '379A1453 Light Sequin(#14-#17 painted match)', value: \"379A1453\" },\r\n //{ name: '789G048 Light Sequin(#14-#17 painted match)', value: \"789G048\" },\r\n { name: 'ORSL 10516 Black', value: \"ORSL 10516\" },\r\n { name: 'ORSL 21018 Deep Blue', value: \"ORSL 21018\" },\r\n { name: 'ORSL 21026 Military Blue', value: \"ORSL 21026\" },\r\n { name: 'ORSL 21030 Medium Blue', value: \"ORSL 21030\" },\r\n { name: 'PCST59103 Midnight Blue', value: \"PCST59103\" },\r\n //{ name: 'ORSL 21130 Midnight Blue', value: \"ORSL 21130\" },\r\n { name: 'ORSL 31466 Dark Ivy', value: \"ORSL 31466\" },\r\n { name: 'ORSL 31470 Light Green', value: \"ORSL 31470\" },\r\n { name: 'ORSL 31474 Interstate Green', value: \"ORSL 31474\" },\r\n { name: 'ORSL 31479 Dark Green', value: \"ORSL 31479\" },\r\n { name: 'ORSL 42939 Ivory', value: \"ORSL 42939\" },\r\n { name: 'ORSL 42942 Sandstone', value: \"ORSL 42942\" },\r\n { name: 'ORSL 42945 Sea Wolf', value: \"ORSL 42945\" },\r\n { name: 'ORSL 42949 Antique Bronze', value: \"ORSL 42949\" },\r\n { name: 'ORSL 42952 Classic Bronze', value: \"ORSL 42952\" },\r\n { name: 'ORSL 42955 Medium Bronze', value: \"ORSL 42955\" },\r\n { name: 'ORSL 42958 Sepia Brown', value: \"ORSL 42958\" },\r\n { name: 'ORSL 42963 Java Brown', value: \"ORSL 42963\" },\r\n { name: 'PCTT39218 Summer Yellow', value: \"PCTT39218\" },//pctt39218\r\n //{ name: 'ORSL 50397 Summer Yellow', value: \"ORSL 50397\" },//pctt39218\r\n { name: 'ORSL 61102 Redwood', value: \"ORSL 61102\" },\r\n { name: 'ORSL 61105 Boysenberry', value: \"ORSL 61105\" },\r\n { name: 'ORSL 61109 Claret Red', value: \"ORSL 61109\" },\r\n { name: 'ORSL 71870 Atlantic Gray', value: \"ORSL 71870\" },\r\n { name: 'ORSL 71873 Charcoal', value: \"ORSL 71873\" },\r\n { name: 'ORSL 71877 Nighthawk Gray', value: \"ORSL 71877\" },\r\n { name: 'ORSL 71880 Smoke Gray', value: \"ORSL 71880\" },\r\n { name: 'ORSL 71885 Light Gray', value: \"ORSL 71885\" },\r\n { name: 'ORSL 71889 Dove Gray', value: \"ORSL 71889\" },\r\n { name: 'ORSL 81249 Milk White', value: \"ORSL 81249\" },\r\n { name: 'ORSM 31006 Hartford Green', value: \"ORSM 31006\" },\r\n { name: 'ORSM 60775 Brick Red', value: \"ORSM 60775\" },\r\n { name: 'PCTT89278 Bone White(Powder)', value: \"PCTT89278\" },\r\n //{ name: 'ORSM 80851 Bone White', value: \"ORSM 80851\" },\r\n { name: 'UC100027 Antique Bronze', value: \"UC100027\" },\r\n { name: 'UC109846 Black', value: \"UC109846\" },\r\n { name: 'UC109848 Dove Gray', value: \"UC109848\" },\r\n { name: 'UC109850 Classic Bronze', value: \"UC109850\" },\r\n { name: 'UC109851 Military Blue', value: \"UC109851\" },\r\n { name: 'UC109852 Charcoal', value: \"UC109852\" },\r\n { name: 'UC109855 Sea Wolf', value: \"UC109855\" },\r\n { name: 'UC109856 Sandstone', value: \"UC109856\" },\r\n { name: 'UC109860 Dark Ivy', value: \"UC109860\" },\r\n { name: 'UC109861 Boysenberry', value: \"UC109861\" },\r\n { name: 'UC109862 Medium Bronze', value: \"UC109862\" },\r\n { name: 'UC109880 Bone White', value: \"UC109880\" },\r\n { name: 'UC109881 Hartford Green', value: \"UC109881\" },\r\n { name: 'UC109909 Colonial White', value: \"UC109909\" },\r\n { name: 'UC109986 Redwood', value: \"UC109986\" },\r\n ];\r\n return paintValue;\r\n }\r\n public getPaintCodes() {\r\n var paintValue: Array = [\r\n { name: '379A1456 Dark Bronze(#40 Painted Match)', value: \"379A1456\" },\r\n //{ name: '789G013 Dark Bronze(#40 Painted Match)', value: \"789G013\" },\r\n { name: '789G016 Sapphire Ice ', value: \" 789G016\" },\r\n { name: '789G017 Hartford Mist', value: \"789G017\" },\r\n { name: '789G018 Sterling Grey', value: \"789G018\" },\r\n { name: '789G019 Champagne Rose', value: \"789G019\" },\r\n { name: '789G021 Mediterranean Mist', value: \"789G021\" },\r\n { name: '789G022 Tropical Jade', value: \"789G022\" },\r\n { name: '789G023 Terra Cota Metallic', value: \"789G023\" },\r\n { name: '789G024 Classic Copper', value: \"789G024\" },\r\n { name: '789G025 Metallic Brick', value: \"789G025\" },\r\n { name: '789G026 Burgundy Metallic', value: \"789G026\" },\r\n { name: '789G027 Platinium Ice', value: \"789G027\" },\r\n { name: '789G028 Arctic Blue', value: \"789G028\" },\r\n { name: '789G035 Black(#29 painted match)', value: \"789G035\" },\r\n { name: '379A1451 Gold(#26 painted match)', value: \"379A1451\" },\r\n //{ name: '789G036 Gold(#26 painted match)', value: \"789G036\" },\r\n { name: '379A1455 Champagne(#18 painted match)', value: \"379A1455\" },\r\n //{ name: '789G039 Champagne(#18 painted match)', value: \"789G039\" },\r\n { name: '379A1457 Medium Bronze(#28 painted match)', value: \"379A1457\" },\r\n //{ name: '789G046 Medium Bronze(#28 painted match)', value: \"789G046\" },\r\n { name: '379A1453 Light Sequin(#14-#17 painted match)', value: \"379A1453\" },\r\n //{ name: '789G048 Light Sequin(#14-#17 painted match)', value: \"789G048\" },\r\n { name: 'ORSL 10516 Black', value: \"ORSL 10516\" },\r\n { name: 'ORSL 21018 Deep Blue', value: \"ORSL 21018\" },\r\n { name: 'ORSL 21026 Military Blue', value: \"ORSL 21026\" },\r\n { name: 'ORSL 21030 Medium Blue', value: \"ORSL 21030\" },\r\n { name: 'PCST59103 Midnight Blue', value: \"PCST59103\" },\r\n //{ name: 'ORSL 21130 Midnight Blue', value: \"ORSL 21130\" },\r\n { name: 'ORSL 31466 Dark Ivy', value: \"ORSL 31466\" },\r\n { name: 'ORSL 31470 Light Green', value: \"ORSL 31470\" },\r\n { name: 'ORSL 31474 Interstate Green', value: \"ORSL 31474\" },\r\n { name: 'ORSL 31479 Dark Green', value: \"ORSL 31479\" },\r\n { name: 'ORSL 42939 Ivory', value: \"ORSL 42939\" },\r\n { name: 'ORSL 42942 Sandstone', value: \"ORSL 42942\" },\r\n { name: 'ORSL 42945 Sea Wolf', value: \"ORSL 42945\" },\r\n { name: 'ORSL 42949 Antique Bronze', value: \"ORSL 42949\" },\r\n { name: 'ORSL 42952 Classic Bronze', value: \"ORSL 42952\" },\r\n { name: 'ORSL 42955 Medium Bronze', value: \"ORSL 42955\" },\r\n { name: 'ORSL 42958 Sepia Brown', value: \"ORSL 42958\" },\r\n { name: 'ORSL 42963 Java Brown', value: \"ORSL 42963\" },\r\n { name: 'PCTT39218 Summer Yellow', value: \"PCTT39218\" },\r\n //{ name: 'ORSL 50397 Summer Yellow', value: \"ORSL 50397\" },\r\n { name: 'ORSL 61102 Redwood', value: \"ORSL 61102\" },\r\n { name: 'ORSL 61105 Boysenberry', value: \"ORSL 61105\" },\r\n { name: 'ORSL 61109 Claret Red', value: \"ORSL 61109\" },\r\n { name: 'ORSL 71870 Atlantic Gray', value: \"ORSL 71870\" },\r\n { name: 'ORSL 71873 Charcoal', value: \"ORSL 71873\" },\r\n { name: 'ORSL 71877 Nighthawk Gray', value: \"ORSL 71877\" },\r\n { name: 'ORSL 71880 Smoke Gray', value: \"ORSL 71880\" },\r\n { name: 'ORSL 71885 Light Gray', value: \"ORSL 71885\" },\r\n { name: 'ORSL 71889 Dove Gray', value: \"ORSL 71889\" },\r\n { name: 'ORSL 81249 Milk White', value: \"ORSL 81249\" },\r\n { name: 'ORSM 31006 Hartford Green', value: \"ORSM 31006\" },\r\n { name: 'ORSM 60775 Brick Red', value: \"ORSM 60775\" },\r\n { name: 'PCTT89278 Bone White(Powder)', value: \"PCTT89278\" },\r\n //{ name: 'ORSM 80851 Bone White', value: \"ORSM 80851\" },\r\n { name: 'UC100027 Antique Bronze', value: \"UC100027\" },\r\n { name: 'UC109846 Black', value: \"UC109846\" },\r\n { name: 'UC109848 Dove Gray', value: \"UC109848\" },\r\n { name: 'UC109850 Classic Bronze', value: \"UC109850\" },\r\n { name: 'UC109851 Military Blue', value: \"UC109851\" },\r\n { name: 'UC109852 Charcoal', value: \"UC109852\" },\r\n { name: 'UC109855 Sea Wolf', value: \"UC109855\" },\r\n { name: 'UC109856 Sandstone', value: \"UC109856\" },\r\n { name: 'UC109860 Dark Ivy', value: \"UC109860\" },\r\n { name: 'UC109861 Boysenberry', value: \"UC109861\" },\r\n { name: 'UC109862 Medium Bronze', value: \"UC109862\" },\r\n { name: 'UC109880 Bone White', value: \"UC109880\" },\r\n { name: 'UC109881 Hartford Green', value: \"UC109881\" },\r\n { name: 'UC109909 Colonial White', value: \"UC109909\" },\r\n { name: 'UC109986 Redwood', value: \"UC109986\" },\r\n ];\r\n return paintValue;\r\n }\r\n //REFACTOR\r\n //API EndPoints\r\n priceBookCategories: [] = [];\r\n public async getPriceBookCategories(): Promise<[]> {\r\n if (this.priceBookCategories.length > 0) {\r\n return this.priceBookCategories;\r\n }\r\n else {\r\n const endPoint = `${ConfigService.APIs.endPoints.MASTER_DATA.GET_PRICE_BOOK_CATEGORIES}`;\r\n const p = ApiService.genericObservableGet(this.httpClient, endPoint).toPromise();\r\n await p.then(r => { this.priceBookCategories = r.data; });\r\n }\r\n\r\n return this.priceBookCategories;\r\n }\r\n\r\n public finishes: [] = [];\r\n public async getFinishes(): Promise<[]> {\r\n if (this.finishes.length > 0) {\r\n return this.finishes;\r\n }\r\n else {\r\n const endPoint = `${ConfigService.APIs.endPoints.MASTER_DATA.GET_FINISHES}`;\r\n const p = ApiService.genericObservableGet(this.httpClient, endPoint).toPromise();\r\n await p.then(r => { this.finishes = r.data; });\r\n }\r\n\r\n return this.finishes;\r\n }\r\n\r\n public marketSegments: IMasterData[] = [];\r\n public async getMarketSegments(excludeItem: boolean = true): Promise {\r\n if (this.marketSegments.length > 0) {\r\n this.marketSegments = this.getMarketSegmentFiltered(this.marketSegments, excludeItem)\r\n return this.marketSegments;\r\n }\r\n else {\r\n const endPoint = ConfigService.APIs.endPoints.MASTER_DATA.GET_MARKET_SEGMENT;\r\n const p = ApiService.genericObservableGet(this.httpClient, endPoint).toPromise();\r\n await p.then(r => { this.marketSegments = r.data; });\r\n }\r\n this.marketSegments = this.getMarketSegmentFiltered(this.marketSegments, excludeItem)\r\n return this.marketSegments;\r\n }\r\n\r\n public getMarketSegmentFiltered(marketSegments: IMasterData[], excludeItem: boolean) {\r\n if (!excludeItem)\r\n return marketSegments;\r\n marketSegments = marketSegments.filter(m => m.name != 'Other Buildings');\r\n return marketSegments;\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\nimport { ApiService } from './api.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, empty } from 'rxjs';\r\nimport { map, tap, catchError } from 'rxjs/operators';\r\nimport { UserService } from './user.service';\r\nimport { formatDate } from '@angular/common';\r\nimport {\r\n IAddSampleFinishCategoryBody,\r\n IErrorList, ISampleFinish, ISampleSubCategory, ISampleSubCategoryRequestGrid1\r\n , BaseResponse,\r\n ISampleCategory,\r\n ISampleRegion,\r\n ISamplePlaceOrderBody,\r\n IGetSampleProductOrderHeader,\r\n ISampleProductOrderHeader,\r\n ISampleProductOrderDetails,\r\n IGetSampleProductOrderDetailsByHeader,\r\n IGetSampleSubCategoryCostBySubcategoryId,\r\n ISampleSubCategoryCost,\r\n IGetFilterSampleReorderReport,\r\n ISampleReorderReport,\r\n IGetFilterSampleUsageReport,\r\n ISampleUsageReport,\r\n ISampleAdminBudget,\r\n ISampleAdminBudgetAllocation,\r\n IGetFilterSampleBudgetReport,\r\n ISampleSubCategoryExist,\r\n \r\n} from '../models';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductSampleFulfillmentService {\r\n //#region constructor\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService) { }\r\n //#endregions\r\n //#region Api EndPoints\r\n\r\n private SAMPLE_SUB_CATEGORY: Array = [];\r\n public get sampleSubCategory(): Array {\r\n if (!this.SAMPLE_SUB_CATEGORY) {\r\n this.SAMPLE_SUB_CATEGORY = [];\r\n }\r\n return this.SAMPLE_SUB_CATEGORY;\r\n }\r\n public set sampleSubCategory(sampleSubCategory: Array) {\r\n this.SAMPLE_SUB_CATEGORY = sampleSubCategory;\r\n }\r\n public getSampleSubCategories(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_SUB_CATEGORIES}`;\r\n // return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n return ApiService.genericObservableGet(this.httpClient, endPoint)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleSubCategory) => { this.sampleSubCategory = sampleSubCategory }));\r\n }\r\n\r\n public AddSampleCategory(body: ISampleSubCategory): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.ADD_SAMPLE_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleCategory) => this.updateSampleCategoryData(body)));\r\n }\r\n public UpdateSampleCategory(body: ISampleSubCategory): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.UPDATE_SAMPLE_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleCategory) => this.updateSampleCategoryData(body)));\r\n }\r\n public DeleteSampleSubCategory(body: ISampleSubCategory): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.DELETE_SAMPLE__SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public AddUpdateSampleSubCategory(body: ISampleSubCategory): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.ADD_UPDATE_SAMPLE_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleFinish) => this.updateSampleCategoryData(body)));\r\n }\r\n\r\n public GetSampleSubCatgeoryExist(body: ISampleSubCategoryExist): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_SUB_CATEGORY_EXIST}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public UpdateInventorySampleSubCategory(body: ISampleSubCategory): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.UPDATE_INVENTORY_SAMPLE_SUB_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data),\r\n tap((sampleFinish) => this.updateSampleCategoryData(body)));\r\n }\r\n\r\n public updateSampleCategoryData(sampleCategory: ISampleSubCategory) {\r\n //debugger;\r\n if (sampleCategory) {\r\n const indextemp = this.sampleSubCategory.findIndex(r => r.categoryId === sampleCategory.categoryId);\r\n const temp = this.sampleSubCategory.find(r => r.categoryId === sampleCategory.categoryId);\r\n if (temp) {\r\n this.SAMPLE_SUB_CATEGORY.splice(indextemp, 1, sampleCategory);\r\n } else {\r\n this.SAMPLE_SUB_CATEGORY.push(sampleCategory);\r\n }\r\n }\r\n }\r\n \r\n public getAllSampleSubCategoryCostHistory(body: IGetSampleSubCategoryCostBySubcategoryId): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_ALL_SAMPLE_SUBCATEGORY_COST_BY_SUBCATEGORY_ID}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { throw err; }),\r\n map((items: BaseResponse) => items.data.map((item: ISampleSubCategoryCost) =>\r\n ({\r\n subCategoryId: item.subCategoryId,\r\n subCategoryDescription: item.subCategoryDescription,\r\n cost: item.cost,\r\n effectiveFrom: item.effectiveFrom ? new Date(item.effectiveFrom) : null,\r\n effectiveTo: item.effectiveTo ? new Date(item.effectiveTo) : null,\r\n isCurrentCost: item.isCurrentCost\r\n } as ISampleSubCategoryCost))));\r\n }\r\n //#region PlaceOrder\r\n public getActiveSampleCategories(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_ACTIVE_SAMPLE_CATEGORIES}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public getActiveSampleSubCategoriesByCatgeory(body: ISampleCategory[]): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_ACTIVE_SAMPLE_SUB_CATEGORIES_BY_CATEGORY}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public GetSampleRegions(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_REGIONS}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public placeOrderSampleRequest(body: ISamplePlaceOrderBody): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.PLACE_ORDER_SAMPLE_REQUEST}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n \r\n public getSampleProductOrderHeader(body: IGetSampleProductOrderHeader): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_PRODUCT_ORDER_HEADER}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { throw err; }),\r\n map((items: BaseResponse) => items.data.map((item: ISampleProductOrderHeader) =>\r\n ({\r\n id: item.id,\r\n sampleProductRequestHeaderId: item.sampleProductRequestHeaderId,\r\n firstName: item.firstName,\r\n lastName: item.lastName,\r\n customerNumber: item.customerNumber,\r\n companyName: item.companyName,\r\n ccEmail: item.ccEmail,\r\n region: item.region,\r\n createdDate: item.createdDate ? new Date(item.createdDate) : null,\r\n sampleProductOrderNumber: item.sampleProductOrderNumber,\r\n cost: item.cost,\r\n createdDateUIString: item.createdDate ? formatDate(new Date(item.createdDate), 'MM/dd/yyyy', 'en-US') : '',\r\n contact: item.firstName + ' ' + item.lastName,\r\n customer: item.companyName,\r\n } as ISampleProductOrderHeader))));\r\n }\r\n public getSampleProductOrderDetailsByHeader(body: IGetSampleProductOrderDetailsByHeader): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_PRODUCT_ORDER_DETAILS}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public getAllReorderReport(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_REORDER_REPORT}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public getAllSampleUsageReport(body: IGetFilterSampleUsageReport): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_USAGE_REPORT}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n \r\n private orderHeaderGridData: ISampleProductOrderHeader[];\r\n private orderDetailsGridData: ISampleProductOrderDetails[];\r\n private singleOrderHeaderGridData: ISampleProductOrderHeader;\r\n private costHeaderGridData: ISampleSubCategoryCost[];\r\n private reorderHeaderGridData: ISampleReorderReport[];\r\n private usageHeaderGridData: ISampleUsageReport[];\r\n public setOrderHeaderGridData(data: ISampleProductOrderHeader[]) {\r\n this.orderHeaderGridData = data;\r\n }\r\n public setOrderDetailsGridData(data: ISampleProductOrderDetails[]) {\r\n this.orderDetailsGridData = data;\r\n } \r\n public setSingleOrderHeaderGridData(data: ISampleProductOrderHeader) {\r\n this.singleOrderHeaderGridData = data;\r\n }\r\n public getSingleOrderHeaderGridData() {\r\n return this.singleOrderHeaderGridData;\r\n }\r\n public setCostHeaderGridData(data: ISampleSubCategoryCost[]) {\r\n this.costHeaderGridData = data;\r\n }\r\n public setReorderHeaderGridData(data: ISampleReorderReport[]) {\r\n this.reorderHeaderGridData = data;\r\n }\r\n public setUsageHeaderGridData(data: ISampleUsageReport[]) {\r\n this.usageHeaderGridData = data;\r\n }\r\n \r\n //#region error List\r\n public getErrorList(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.KAWNEER_ADMIN.GET_ERROR_LIST}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n\r\n }\r\n public getSampleAdminBudgetReport(body: IGetFilterSampleBudgetReport): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_ADMIN_BUDGET_REPORT}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n\r\n public getSampleAdminBudgetAllocationReport(): Observable> {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.GET_SAMPLE_ADMIN_BUDGET_ALLOCATION_REPORT}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public AddSampleBudgetAssociation(body: ISampleAdminBudgetAllocation): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.ADD_SAMPLE_ADMIN_BUDGET_ASSOCIATION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n public DeleteSampleBudgetAssociation(body: ISampleAdminBudgetAllocation): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.PRODUCT_SAMPLE_FULFILLMENT_ADMIN.DELETE_SAMPLE_ADMIN_BUDGET_ASSOCIATION}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, body)\r\n .pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => response.data)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject, empty, throwError } from 'rxjs';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport {\r\n IUser as IUser, ILoginRequest, User, CreditCardDetails, ICreditInfoBody, IGetItemSuggestionsBody, ItemSuggestion, IUserLogin\r\n , BaseResponse,\r\n PWALoginRequest\r\n} from '../models';\r\nimport { ConfigService } from './config.service';\r\nimport { ApiService } from './api.service';\r\nimport { tap, map, catchError } from 'rxjs/operators';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AuthService } from './auth.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private httpClient: HttpClient,\r\n private authService: AuthService,\r\n private cookieService: CookieService,\r\n private router: Router) {\r\n this.init();\r\n }\r\n async init() {\r\n let user = this.readUserObject1();\r\n if (!user) { user = new User(); }\r\n if (!user.userLanguage) { user.userLanguage = 'eng'; }\r\n this.saveUserObject(user);\r\n }\r\n //#region UserService Api endPoints\r\n public validateToken() {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.USER.VALIDATE_TOKEN}`;\r\n return ApiService.genericObservableGet(this.httpClient, apiEndpoint)\r\n }\r\n\r\n public ChangePassword(data): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.USER.CHANGE_PASSWORD}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, data)\r\n }\r\n public changeDefaultPassword(body): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.USER.CHANGE_DEFAULT_PASSWORD}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, body)\r\n }\r\n public ForgotPassword(body): Observable {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.USER.FORGOT_PASSWORD}`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, body)\r\n }\r\n\r\n \r\n //#region LOGIN & LOGOUT\r\n public logout() {\r\n //to unsubscribe from idle session\r\n try {\r\n if (this.readUserObject && this.readUserObject.userName != \"\") {\r\n this.ToggleIdleSession.next(false);\r\n this.isUserLoggedIn.next(false); // to show hide footer\r\n console.log(\"loggedOut \" + this.readUserObject.userName);\r\n this.deleteRefreshToken().subscribe(response => {\r\n //this.stopRefreshTokenTimer();\r\n });\r\n }\r\n //this.authService.logout();\r\n }\r\n catch (ex) { }\r\n finally {\r\n this.stopRefreshTokenTimer();\r\n this.authService.logout();\r\n }\r\n const u = new User();\r\n u.userLanguage = 'eng';\r\n this.saveUserObject(u);\r\n this.router.navigate(['sample-request-admin']);\r\n\r\n\r\n }\r\n public async ConfirmForgotPasswordOtp(body: any) {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.CONFIRM_FORGOT_PASSWORD_OTP}`;\r\n let confirmotpResp;\r\n await (ApiService.genericObservablePost(this.httpClient, endPoint, body).toPromise()).then((r) => {\r\n confirmotpResp = r;\r\n }).catch((e) => {\r\n if (e.status === 401 || e.status === 403) {\r\n confirmotpResp = e.error;\r\n }\r\n });\r\n return confirmotpResp;\r\n }\r\n public async ForgotPasswordResend(body: any) {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.FORGOT_PASSWORD}`;\r\n let confirmotpResp;\r\n await (ApiService.genericObservablePost(this.httpClient, endPoint, body).toPromise()).then((r) => {\r\n confirmotpResp = r;\r\n }).catch((e) => {\r\n if (e.status === 401 || e.status === 403) {\r\n confirmotpResp = e.error;\r\n }\r\n });\r\n return confirmotpResp;\r\n }\r\n\r\n public async login(login: ILoginRequest) {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.LOGIN}`;\r\n let loginResp;\r\n await (ApiService.genericObservablePost(this.httpClient, endPoint, login).toPromise()).then((r) => {\r\n loginResp = r;\r\n }).catch((e) => {\r\n if (e.status === 401 || e.status === 403) {\r\n loginResp = e.error;\r\n }\r\n });\r\n return loginResp;\r\n }\r\n\r\n public async pwaUserLoginLog(log: PWALoginRequest) {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.PWA_LOGIN_LOG}`;\r\n let logResp;\r\n await (ApiService.genericObservablePost(this.httpClient, endPoint, log).toPromise()).then((r) => {\r\n logResp = r;\r\n }).catch((e) => {\r\n if (e.status === 401 || e.status === 403) {\r\n logResp = e.error;\r\n }\r\n });\r\n return logResp;\r\n }\r\n\r\n public GetOutageObj(): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.MARKETING_ADMIN.GET_OUTAGEOBJ}`;\r\n return ApiService.genericObservablePost(this.httpClient, endPoint, {}).pipe(\r\n catchError((err, caught) => { console.log(err); console.log(caught); return empty(); }),\r\n map((response: BaseResponse) => {\r\n return response;\r\n })\r\n\r\n );\r\n }\r\n public async getUserDetails() {\r\n const apiEndpoint = `${ConfigService.APIs.endPoints.USER.GET_DETAILS}`;\r\n let userDetails;\r\n await (ApiService.genericObservableGet(this.httpClient, apiEndpoint).toPromise()).then(r => {\r\n if (!r.isError) {\r\n userDetails = r.data;\r\n }\r\n }).catch(e => { });\r\n return userDetails;\r\n }\r\n\r\n public logoutUnAuthorized() {\r\n\r\n if (this.readUserObject && this.readUserObject.userName != \"\") {\r\n this.ToggleIdleSession.next(false);\r\n this.isUserLoggedIn.next(false); // to show hide footer\r\n this.deleteRefreshToken().subscribe(response => {\r\n this.stopRefreshTokenTimer();\r\n }, error => { this.stopRefreshTokenTimer(); });\r\n }\r\n this.authService.logout();\r\n const u = new User();\r\n u.userLanguage = 'eng';\r\n this.saveUserObject(u);\r\n this.UnAuthReq.next(true);\r\n //this.router.navigate(['/unauthorized']);\r\n this.router.navigate(['/home']);\r\n\r\n\r\n }\r\n //#endregion\r\n //#region LGGED IN USER \r\n public isAuthenticated(): boolean {\r\n\r\n return this.authService.isAuthenticated();\r\n }\r\n //#endregion\r\n //#region USER OBJ/TOKEN IN LOCAL STORAGE\r\n localStorageUserKey: string = 'aap_user';\r\n ToggleIdleSession: Subject = new Subject();\r\n\r\n OutageObject: Subject = new Subject();\r\n UnAuthReq: Subject = new Subject();\r\n\r\n LogoutTrigger: Subject = new Subject();\r\n public isUserLoggedIn: Subject = new Subject(); // to show hide footer\r\n public saveUserObject(login: IUser) {\r\n //to subscribe to the idle session\r\n if (login.userName != \"\") {\r\n this.ToggleIdleSession.next(true);\r\n this.isUserLoggedIn.next(true);\r\n //console.log(\"userSignedIn \" + JSON.stringify(login));\r\n }\r\n\r\n localStorage.setItem(this.localStorageUserKey, JSON.stringify(login));\r\n }\r\n\r\n public readUserObject1(): IUser {\r\n return JSON.parse(localStorage.getItem(this.localStorageUserKey)) as IUser;\r\n }\r\n\r\n public get readUserObject(): IUser {\r\n return JSON.parse(localStorage.getItem(this.localStorageUserKey)) as IUser;\r\n }\r\n public saveToken(token: string) {\r\n this.authService.saveToken(token);\r\n this.startRefreshTokenTimer();\r\n }\r\n //#endregion\r\n\r\n //#region role check\r\n roles = {\r\n //#Region Product Sample Fulfillment\r\n INTsampleAdmin: 'INTsampleAdmin',\r\n //#End Region\r\n };\r\n \r\n \r\n //#Region Product Sample Fulfillment\r\n public isSampleProductAdmin() { \r\n const roleList = this.authService.getRolesFromToken();\r\n if (!roleList) return false;\r\n if (roleList.indexOf(this.roles.INTsampleAdmin) > -1) return true;\r\n return false;\r\n }\r\n\r\n \r\n //#endregion\r\n\r\n //#region Business Logic UserService Localstorage Methods\r\n\r\n\r\n //#endregion\r\n //#region manage company user accounts access--Need to change condition\r\n public loggedInAccountType() {\r\n if (this.readUserObject.isCSCAccount) {\r\n return \"cscAccount\";\r\n } else {\r\n return \"adminAccount\";\r\n }\r\n\r\n }\r\n //#endregion\r\n\r\n\r\n\r\n public refresh(): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.GET_NEW_TOKEN}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n }\r\n public deleteRefreshToken(): Observable {\r\n const endPoint = `${ConfigService.APIs.endPoints.USER.DELETE_REFRESH_TOKEN}`;\r\n return ApiService.genericObservableGet(this.httpClient, endPoint);\r\n }\r\n //#region roles\r\n\r\n private handleError(error: any) {\r\n if (Error instanceof HttpErrorResponse) {\r\n console.log(error.status);\r\n }\r\n else {\r\n console.error(\"an error occurred here\");\r\n }\r\n this.router.navigate(['/error']);\r\n }\r\n private refreshTokenTimeout;\r\n private startRefreshTokenTimer() {\r\n // set a timeout to refresh the token a minute before it expires\r\n const expires = this.authService.getTokenExpirationDate();\r\n const timeout = 20 * 60000; //expires.getTime() - Date.now() - (10 * 60 * 1000);\r\n this.refreshTokenTimeout = setTimeout(() => this.refresh().subscribe(response => {\r\n this.saveToken(response.token);\r\n }), timeout);\r\n }\r\n\r\n private stopRefreshTokenTimer() {\r\n clearTimeout(this.refreshTokenTimeout);\r\n }\r\n\r\n public ForgotUsername(body): Observable {\r\n const apiEndpoint = `/User/ForgotUsername`;\r\n return ApiService.genericObservablePost(this.httpClient, apiEndpoint, body)\r\n }\r\n\r\n}\r\n","export default \".center {\\n text-align: center;\\n}\\n\\n.lblCls {\\n margin-bottom: 3px !important;\\n}\\n\\n.kendoInput {\\n width: 95%;\\n}\\n\\n.borderRed {\\n border: 1px solid red;\\n}\\n\\n.form-group {\\n margin-bottom: 0.5rem !important;\\n}\\n\\n.activeSwitchCls {\\n margin-left: 10px;\\n}\\n\\n.grid-inventory-container {\\n display: grid;\\n grid-template-columns: auto auto auto auto;\\n}\\n\\n.grid-dimension-container {\\n display: grid;\\n grid-template-columns: auto auto auto;\\n width: 96.5%;\\n}\\n\\n.btn-inventory-update {\\n margin-right: 24px !important;\\n}\\n\\n.sample-grid-category-div {\\n display: flex;\\n}\\n\\n.btn-edit-category-noborder {\\n border: none !important;\\n background: none !important;\\n padding: 5px 10px !important;\\n margin: 0px 5px 0px 0px;\\n}\\n\\n.btn-sample-admin-grid-edit {\\n padding: 5px 10px !important;\\n}\\n\\n.update-category-note-text {\\n text-align: center;\\n font-weight: 500;\\n padding-bottom: 10px;\\n}\\n\\n.div-sample-cost-history {\\n display: flex;\\n}\\n\\n.div-sample-cost-history-textbox {\\n width: 65%;\\n}\\n\\n.txt-current-inventory-readonly {\\n border: 1px solid !important;\\n}\\n\\n.wrapheader-sample-admin-grid .k-column-title {\\n white-space: normal !important;\\n}\\n\\n.sample-subcategory-cost-switch {\\n width: 200%;\\n}\\n\\n.costSelectionGridCls {\\n width: 95%;\\n}\\n\\n.uploaded-add-preview-image {\\n margin: 2% 0%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vaG9tZS9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxmZWF0dXJlc1xcYWRtaW5cXGhvbWVcXGhvbWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL2hvbWUvaG9tZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSw2QkFBQTtBQ0NGOztBREVBO0VBQ0UsVUFBQTtBQ0NGOztBREVBO0VBQ0UscUJBQUE7QUNDRjs7QURFQTtFQUNFLGdDQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLDBDQUFBO0FDQ0Y7O0FERUE7RUFDRSxhQUFBO0VBQ0EscUNBQUE7RUFDQSxZQUFBO0FDQ0Y7O0FERUE7RUFDRSw2QkFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EsdUJBQUE7QUNDRjs7QURFQTtFQUNFLDRCQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7QUNDRjs7QURFQTtFQUNFLFVBQUE7QUNDRjs7QURFQTtFQUNFLDRCQUFBO0FDQ0Y7O0FERUE7RUFDRSw4QkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtBQ0NGOztBREVBO0VBQ0UsVUFBQTtBQ0NGOztBRENBO0VBQ0UsYUFBQTtBQ0VGIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vaG9tZS9ob21lLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubGJsQ2xzIHtcclxuICBtYXJnaW4tYm90dG9tOiAzcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmtlbmRvSW5wdXQge1xyXG4gIHdpZHRoOiA5NSU7XHJcbn1cclxuXHJcbi5ib3JkZXJSZWQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAge1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWN0aXZlU3dpdGNoQ2xzIHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmdyaWQtaW52ZW50b3J5LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvIGF1dG87XHJcbn1cclxuXHJcbi5ncmlkLWRpbWVuc2lvbi1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcclxuICB3aWR0aDogOTYuNSU7XHJcbn1cclxuXHJcbi5idG4taW52ZW50b3J5LXVwZGF0ZSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zYW1wbGUtZ3JpZC1jYXRlZ29yeS1kaXYge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5idG4tZWRpdC1jYXRlZ29yeS1ub2JvcmRlciB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwcHggNXB4IDBweCAwcHg7XHJcbn1cclxuXHJcbi5idG4tc2FtcGxlLWFkbWluLWdyaWQtZWRpdCB7XHJcbiAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVwZGF0ZS1jYXRlZ29yeS1ub3RlLXRleHQge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uZGl2LXNhbXBsZS1jb3N0LWhpc3Rvcnkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5kaXYtc2FtcGxlLWNvc3QtaGlzdG9yeS10ZXh0Ym94IHtcclxuICB3aWR0aDogNjUlO1xyXG59XHJcblxyXG4udHh0LWN1cnJlbnQtaW52ZW50b3J5LXJlYWRvbmx5IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud3JhcGhlYWRlci1zYW1wbGUtYWRtaW4tZ3JpZCAuay1jb2x1bW4tdGl0bGUge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNhbXBsZS1zdWJjYXRlZ29yeS1jb3N0LXN3aXRjaCB7XHJcbiAgd2lkdGg6IDIwMCU7XHJcbn1cclxuXHJcbi5jb3N0U2VsZWN0aW9uR3JpZENscyB7XHJcbiAgd2lkdGg6IDk1JTtcclxufVxyXG4udXBsb2FkZWQtYWRkLXByZXZpZXctaW1hZ2Uge1xyXG4gIG1hcmdpbjogMiUgMCU7XHJcbn1cclxuIiwiLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxibENscyB7XG4gIG1hcmdpbi1ib3R0b206IDNweCAhaW1wb3J0YW50O1xufVxuXG4ua2VuZG9JbnB1dCB7XG4gIHdpZHRoOiA5NSU7XG59XG5cbi5ib3JkZXJSZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5hY3RpdmVTd2l0Y2hDbHMge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmdyaWQtaW52ZW50b3J5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG8gYXV0bztcbn1cblxuLmdyaWQtZGltZW5zaW9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XG4gIHdpZHRoOiA5Ni41JTtcbn1cblxuLmJ0bi1pbnZlbnRvcnktdXBkYXRlIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zYW1wbGUtZ3JpZC1jYXRlZ29yeS1kaXYge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYnRuLWVkaXQtY2F0ZWdvcnktbm9ib3JkZXIge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCA1cHggMHB4IDBweDtcbn1cblxuLmJ0bi1zYW1wbGUtYWRtaW4tZ3JpZC1lZGl0IHtcbiAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnVwZGF0ZS1jYXRlZ29yeS1ub3RlLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uZGl2LXNhbXBsZS1jb3N0LWhpc3Rvcnkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZGl2LXNhbXBsZS1jb3N0LWhpc3RvcnktdGV4dGJveCB7XG4gIHdpZHRoOiA2NSU7XG59XG5cbi50eHQtY3VycmVudC1pbnZlbnRvcnktcmVhZG9ubHkge1xuICBib3JkZXI6IDFweCBzb2xpZCAhaW1wb3J0YW50O1xufVxuXG4ud3JhcGhlYWRlci1zYW1wbGUtYWRtaW4tZ3JpZCAuay1jb2x1bW4tdGl0bGUge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5zYW1wbGUtc3ViY2F0ZWdvcnktY29zdC1zd2l0Y2gge1xuICB3aWR0aDogMjAwJTtcbn1cblxuLmNvc3RTZWxlY3Rpb25HcmlkQ2xzIHtcbiAgd2lkdGg6IDk1JTtcbn1cblxuLnVwbG9hZGVkLWFkZC1wcmV2aWV3LWltYWdlIHtcbiAgbWFyZ2luOiAyJSAwJTtcbn0iXX0= */\"","\r\n\r\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, IsEmptyFilterOperatorComponent } from '@progress/kendo-angular-grid';\r\nimport { orderBy, process, State, SortDescriptor } from '@progress/kendo-data-query';\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { ISampleFinish, ISampleSubCategory, ISampleCategory, IGetSampleProductOrderDetailsByHeader, IGetSampleSubCategoryCostBySubcategoryId, ISampleSubCategoryExist } from '../../../core/models';\r\nimport { AdminService } from '../../../core/services/admin.service';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { SuccessEvent, SelectEvent, FileRestrictions } from '@progress/kendo-angular-upload';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { NotifyType } from 'src/app/core/enums/NotifyType';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n //#region member variables\r\n isClothCategory: boolean = false;\r\n finishSampleLoading: boolean;\r\n finishSampleGridView: GridDataResult;\r\n finishCategoryForm: FormGroup;\r\n finishSampleForm: FormGroup;\r\n categorySaveInProcess: boolean;\r\n subCategorySaveInProcess: boolean;\r\n\r\n categoryData: ISampleCategory[];\r\n selectedCategory: string = \"\"\r\n selectedCategoryId: number;\r\n selectedGender: string = \"\";\r\n selectedSize: string = \"\";\r\n filePath: string;\r\n public infoMessage: Info = new Info();\r\n public inProgressMessage: boolean;\r\n public successMessage: boolean;\r\n public errorMessage: boolean;\r\n subCategoryFileUpload: string = \"\";\r\n addEditCategoryId: number = 0;\r\n fileRestrictions: FileRestrictions = {\r\n allowedExtensions: [\".jpg\", \".png\", \".jfif\"],\r\n };\r\n isAddHideColumns: boolean = false;\r\n isEditHideColumns: boolean = false;\r\n isEditCategoryColumns: boolean = false;\r\n isEditedSampleSubCategory: boolean = false;\r\n isCopiedSampleSubCategory: boolean = false;\r\n sampleSubCategoryTitleText: string = '';\r\n sampleCategoryTitleText: string = '';\r\n costHeaderGridData: GridDataResult;\r\n costGridData: any[] = [];\r\n costLoading: boolean;\r\n isSampleSubCategoyCost: boolean;\r\n imageUrl: string;\r\n\r\n constructor(private adminService: AdminService,\r\n private formBuilder: FormBuilder,\r\n private appNotifyService: AppNotifyService,\r\n private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private router: Router ) { }\r\n\r\n ngOnInit() {\r\n this.loadFinishSampleGrid();\r\n this.initializeFormControls();\r\n this.isSampleSubCategoyCost = false;\r\n this.imageUrl = environment.imageUrl;\r\n }\r\n public uploadImage = false;\r\n public inputURL = false;\r\n public inputRGB = false;\r\n toggleUploadImage() {\r\n this.inputURL = false;\r\n this.inputRGB = false;\r\n this.uploadImage = true;\r\n //this.finishSampleForm.controls.fileUpload.setValue(null);\r\n this.finishSampleForm.controls.inputURL.setValue(null);\r\n this.finishSampleForm.controls.inputR.setValue(null);\r\n this.finishSampleForm.controls.inputG.setValue(null);\r\n this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n }\r\n toggleInputURL() {\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n this.inputURL = true;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n //this.finishSampleForm.controls.inputURL.setValue(null);\r\n this.finishSampleForm.controls.inputR.setValue(null);\r\n this.finishSampleForm.controls.inputG.setValue(null);\r\n this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n this.filePath = \"\";\r\n }\r\n toggleInputRGB() {\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n this.inputRGB = true;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n this.finishSampleForm.controls.inputURL.setValue(null);\r\n //this.finishSampleForm.controls.inputR.setValue(null);\r\n //this.finishSampleForm.controls.inputG.setValue(null);\r\n //this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n this.filePath = \"\";\r\n }\r\n\r\n protected costLblText = {\r\n subCategoryDescriptionLbl: 'Product Description',\r\n costLbl: 'Cost',\r\n effectiveFromLbl: 'Effective From',\r\n effectiveToLbl: 'Effective To',\r\n isCurrentCostLbl: 'Is Current Cost',\r\n };\r\n public costGridstate: State = {\r\n skip: 0,\r\n take: 5,\r\n group: null,\r\n sort: [{\r\n field: 'subCategoryId',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public costGridSettings: GridSettings = {\r\n state: this.costGridstate,\r\n gridData: process(this.costGridData, this.costGridstate),\r\n columnsConfig: [\r\n // {\r\n // field: 'subCategoryDescription',\r\n // title: this.costLblText.subCategoryDescriptionLbl,\r\n // filterable: true,\r\n // _width: 50,\r\n //},\r\n {\r\n field: 'cost',\r\n title: this.costLblText.costLbl,\r\n filterable: true,\r\n _width: 80,\r\n },\r\n {\r\n field: 'effectiveFrom',\r\n title: this.costLblText.effectiveFromLbl,\r\n filter: 'date',\r\n format: '{0:d}',//not able to get from and to\r\n _width: 100,\r\n filterable: true,\r\n },\r\n {\r\n field: 'effectiveTo',\r\n title: this.costLblText.effectiveToLbl,\r\n filter: 'date',\r\n format: '{0:d}',//not able to get from and to\r\n _width: 100,\r\n filterable: true,\r\n },\r\n // {\r\n // field: 'isCurrentCost',\r\n // title: this.costLblText.isCurrentCostLbl,\r\n // //_width: 200,\r\n // filterable: false,\r\n // _width: 80,\r\n //}\r\n ]\r\n };\r\n //#endregion\r\n\r\n\r\n initializeFormControls() {\r\n\r\n // #region Finish Category Controls\r\n\r\n\r\n this.finishCategoryForm = this.formBuilder.group({\r\n\r\n category: new FormControl(\"\"),\r\n isCategoryActive: new FormControl(),\r\n\r\n });\r\n\r\n\r\n // #endregion\r\n\r\n // #region Finish Product Controls\r\n this.finishSampleForm = this.formBuilder.group({\r\n subCategoryId: new FormControl(\"\"),\r\n category: new FormControl(\"\"),\r\n subCategory: new FormControl(\"\"),\r\n maxQty: new FormControl(),\r\n ec: new FormControl(\"\"),\r\n colorCode: new FormControl(\"\"),\r\n stockNum: new FormControl(),\r\n currentCostId: new FormControl(),\r\n stockingLevel: new FormControl(),\r\n currentInventory: new FormControl(),\r\n resetTo: new FormControl(),\r\n adjustment: new FormControl(),\r\n reorderPoint: new FormControl(),\r\n\r\n //sku: new FormControl(),\r\n fileUpload: new FormControl(\"\"),\r\n fileUrlPath: new FormControl(\"\"),\r\n inputR: new FormControl(\"\"),\r\n inputG: new FormControl(\"\"),\r\n inputB: new FormControl(\"\"),\r\n inputURL: new FormControl(\"\"),\r\n isActive: new FormControl(),\r\n isOnBackOrder: new FormControl(),\r\n isExternal: new FormControl(),\r\n isPDM: new FormControl(),\r\n width: new FormControl(),\r\n height: new FormControl(),\r\n length: new FormControl(),\r\n weight: new FormControl(),\r\n size: new FormControl(\"\"),\r\n isCostHistory: new FormControl(),\r\n });\r\n\r\n\r\n\r\n // #endregion\r\n }\r\n\r\n //#region save success label common code\r\n initilizeSuccessLabel() {\r\n this.inProgressMessage = true;\r\n this.infoMessage.genericSuccess = \"\";\r\n this.infoMessage.genericError = \"\";\r\n this.infoMessage.genericInProgress = this.infoMessage.inProgressMessage;\r\n }\r\n\r\n //#endregion\r\n //#region kendo upload \r\n sampleRequestImageSelected(evt: SelectEvent) {\r\n }\r\n sampleRequestUploadSuccess(evt: SuccessEvent) {\r\n this.subCategoryFileUpload = evt.response.body.paths[0];\r\n }\r\n //#endregion\r\n //#region Sample Request Grid Section\r\n //#region label and variable declaration\r\n\r\n finishSampleLbl = {\r\n categoryName: \"Category\",\r\n subCategoryDescription: \"Product Description\",\r\n colorCode: \"Color Code\",\r\n maxQtyCanBeOrdered: \"Max Qty\",\r\n maxQtyCanBeOrderedAddText: \"Max Quantity\",\r\n stockNum: \"Stock #\",\r\n stockNumAddText: \"Stock Number\",\r\n currentCostId: \"Cost\",\r\n currentInventory: \"Inventory\",\r\n currentInventoryAddText: \"Current Inventory\",\r\n reorderPoint: \"Reorder Point\",\r\n stockingLevel: \"Stocking Level\",\r\n ec: \"EC\",\r\n onBackOrder: \"On Backorder\",\r\n isActive: \"IsActive\",\r\n resetTo: \"Reset To\",\r\n adjustment: \"Adjustment +/-\",\r\n isExternal: \"External\",\r\n isPDM: \"PDM Only\",\r\n action: \"Actions\",\r\n fileupload: \"File Upload\",\r\n urlLbl: \"Url\",\r\n skulbl: \"SKU\",\r\n updateAction: \"Update\",\r\n historyAction: \"History\",\r\n infoCategoryText: \"*Note: This will update the existing category including the associated products\",\r\n infoMaxQuantityText: \"Max Quantity is optional\",\r\n dimensions: \"Item Box Dimensions (inches)\",\r\n height: \"Height\",\r\n length: \"Length\",\r\n width: \"Width\",\r\n weight: \"Weight(oz)\",\r\n size: \"Size\",\r\n isEmptyCategoryDescription: false,\r\n isSubmitted: false,\r\n\r\n isEmptyCategory: false,\r\n isEmptySubCategory: false,\r\n isEmptyMaxqty: false,\r\n isEmptysku: false,\r\n isEmptyFinishCode: false,\r\n isEmptyFileUpload: false,\r\n isEmptyStockNum: false,\r\n isEmptyReorderPoint: false,\r\n isEmptyCurrentCostId: false,\r\n isEmptyStockingLevel: false,\r\n isEmptyCurrentInventory: false,\r\n\r\n }\r\n\r\n //#region Category(Finish Category) dialog operations\r\n\r\n finishCategoryDialog = {\r\n opened: false,\r\n\r\n }\r\n togglefinishCategoryDialog() {\r\n this.sampleCategoryTitleText = \"Add New Sample Category\";\r\n this.isEditCategoryColumns = false;\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n this.resetCategoryForm();\r\n }\r\n editSampleCategory(data: ISampleSubCategory) {\r\n this.sampleCategoryTitleText = \"Edit Sample Category\";\r\n this.isEditCategoryColumns = true;\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n if (this.finishCategoryDialog.opened == true) {\r\n this.finishCategoryForm.controls.category.setValue(data.categoryName);\r\n this.finishCategoryForm.controls.isCategoryActive.setValue(data.isActiveCategory);\r\n this.addEditCategoryId = data.categoryId;\r\n }\r\n else {\r\n\r\n this.resetCategoryForm();\r\n }\r\n }\r\n editfinishCategory(data: ISampleFinish) {\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n if (this.finishCategoryDialog.opened == true) {\r\n this.finishCategoryForm.controls.category.setValue(data.finishCategory);\r\n }\r\n else {\r\n //reset\r\n\r\n }\r\n }\r\n protected validateCategoryForm(): boolean {\r\n let isValid = true;\r\n const controls = this.finishCategoryForm.controls;\r\n if (this.finishSampleLbl.isSubmitted) {\r\n if (controls.category.value) {\r\n this.finishSampleLbl.isEmptyCategoryDescription = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCategoryDescription = true;\r\n isValid = false;\r\n }\r\n\r\n }\r\n return isValid;\r\n }\r\n\r\n saveSampleRequestCategory() {\r\n this.finishSampleLbl.isSubmitted = true;\r\n if (!this.validateCategoryForm()) {\r\n return;\r\n }\r\n this.initilizeSuccessLabel();\r\n this.categorySaveInProcess = true;\r\n\r\n var controls = this.finishCategoryForm.controls;\r\n const body: ISampleSubCategory = {\r\n subCategoryId: 0,\r\n categoryId: this.addEditCategoryId,\r\n categoryName: controls.category.value,\r\n sku: 0,\r\n subCategoryDescription: \"\",\r\n maxQtyCanBeOrdered: 0,\r\n ec: \"\",\r\n colorCode: \"\",\r\n stockNum: \"\",\r\n currentCostId: 0,\r\n stockingLevel: 0,\r\n currentInventory: 0,\r\n reorderPoint: 0,\r\n r_VALUE: \"\",\r\n b_VALUE: \"\",\r\n g_VALUE: \"\",\r\n imagePath: \"\",\r\n displayOrder: 0,\r\n isActive: controls.isCategoryActive.value ? controls.isCategoryActive.value : false,\r\n isVisibleToOnlyPDMTeam: false,\r\n isVisibleToExternalUser: false,\r\n onBackOrder: false,\r\n isActiveCategory: false,\r\n absoluteURL: \"\",\r\n width: 0,\r\n length: 0,\r\n height: 0,\r\n weight: 0,\r\n size: \"\"\r\n }\r\n if (this.addEditCategoryId == 0) {\r\n this.productSampleFulfillmentService.AddSampleCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.categorySaveInProcess = false;\r\n if (response) {\r\n this.resetCategoryForm();\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n })\r\n }\r\n else {\r\n this.productSampleFulfillmentService.UpdateSampleCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.categorySaveInProcess = false;\r\n if (response) {\r\n // this.resetCategoryForm();\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n })\r\n }\r\n\r\n }\r\n\r\n resetCategoryForm() {\r\n this.finishSampleLbl.isSubmitted = false;\r\n this.finishCategoryForm.reset();\r\n this.finishSampleLbl.isEmptyCategoryDescription = false;\r\n this.categorySaveInProcess = false;\r\n this.infoMessage = new Info();\r\n this.finishCategoryForm.controls.isCategoryActive.setValue(true);\r\n this.addEditCategoryId = 0;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Sub Category(Finish) dialog operations\r\n\r\n categoryChange(event) { //For now Harcoded value written for Clothing Category.\r\n let categoryId = event.categoryId;\r\n if (categoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n\r\n }\r\n\r\n finishSampleDialog = {\r\n opened: false,\r\n\r\n }\r\n toggleFinishSampleDialog() {\r\n this.isAddHideColumns = true;\r\n this.isEditHideColumns = false;\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = false;\r\n this.sampleSubCategoryTitleText = \"Add Sample Sub Category\";\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.resetSubCategoryForm();\r\n }\r\n editFinishSample(data: ISampleSubCategory) {\r\n this.sampleSubCategoryTitleText = \"Edit Sample Sub Category\";\r\n this.isAddHideColumns = false;\r\n this.isEditHideColumns = true;\r\n this.isEditedSampleSubCategory = true;\r\n this.isCopiedSampleSubCategory = false;\r\n this.isSampleSubCategoyCost = false;\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n if (this.finishSampleDialog.opened == true) {\r\n this.finishSampleForm.controls.subCategoryId.setValue(data.subCategoryId);\r\n this.selectedCategory = data.categoryName;\r\n this.selectedCategoryId = data.categoryId;\r\n this.finishSampleForm.controls.subCategory.setValue(data.subCategoryDescription);\r\n //this.finishSampleForm.controls.sku.setValue(data.sku);\r\n this.finishSampleForm.controls.ec.setValue(data.ec);\r\n if (data.maxQtyCanBeOrdered == 99999)\r\n this.finishSampleForm.controls.maxQty.setValue(null);\r\n else\r\n this.finishSampleForm.controls.maxQty.setValue(data.maxQtyCanBeOrdered);\r\n this.finishSampleForm.controls.colorCode.setValue(data.colorCode);\r\n this.finishSampleForm.controls.stockNum.setValue(data.stockNum);\r\n this.finishSampleForm.controls.currentCostId.setValue(data.currentCostId);\r\n this.finishSampleForm.controls.stockingLevel.setValue(data.stockingLevel);\r\n this.finishSampleForm.controls.currentInventory.setValue(data.currentInventory);\r\n this.finishSampleForm.controls.reorderPoint.setValue(data.reorderPoint);\r\n this.finishSampleForm.controls.isActive.setValue(data.isActive);\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n if (data.r_VALUE) {\r\n this.inputRGB = true;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n }\r\n else if (data.imagePath) {\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = true;\r\n }\r\n else if (data.absoluteURL) {\r\n this.inputURL = true;\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n }\r\n this.finishSampleForm.controls.inputR.setValue(data.r_VALUE);\r\n this.finishSampleForm.controls.inputG.setValue(data.g_VALUE);\r\n this.finishSampleForm.controls.inputB.setValue(data.b_VALUE);\r\n this.finishSampleForm.controls.inputURL.setValue(data.absoluteURL);\r\n\r\n this.finishSampleForm.controls.fileUrlPath.setValue(data.imagePath);\r\n this.filePath = data.imagePath;\r\n this.subCategoryFileUpload = data.imagePath; //assigning here the URL path\r\n if (this.selectedCategoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n this.finishSampleForm.controls.isPDM.setValue(data.isVisibleToOnlyPDMTeam);\r\n this.finishSampleForm.controls.isExternal.setValue(data.isVisibleToExternalUser);\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(data.onBackOrder);\r\n this.finishSampleForm.controls.width.setValue(data.width);\r\n this.finishSampleForm.controls.height.setValue(data.height);\r\n this.finishSampleForm.controls.length.setValue(data.length);\r\n this.finishSampleForm.controls.weight.setValue(data.weight);\r\n debugger;\r\n this.finishSampleForm.controls.size.setValue(data.size);\r\n this.getAllSampleSubCategoryCostHistory(data.subCategoryId);\r\n } else {\r\n //reset\r\n this.resetSubCategoryForm();\r\n }\r\n }\r\n isValidateCostSwitch() {\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.isCostHistory.value) {\r\n this.isSampleSubCategoyCost = true;\r\n }\r\n else {\r\n this.isSampleSubCategoyCost = false;\r\n }\r\n }\r\n\r\n getAllSampleSubCategoryCostHistory(id: number) {\r\n this.costLoading = true;\r\n const body: IGetSampleSubCategoryCostBySubcategoryId = {\r\n subCategoryId: id,\r\n }\r\n\r\n this.productSampleFulfillmentService.getAllSampleSubCategoryCostHistory(body).subscribe((response: Array) => {\r\n if (response) {\r\n console.log(response);\r\n this.costGridData = response;\r\n this.productSampleFulfillmentService.setCostHeaderGridData(this.costGridData);\r\n this.loadCostHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while loading the page.');\r\n })\r\n this.costLoading = false;\r\n }\r\n\r\n private loadCostHeaderGridData(): void {\r\n if (this.costGridSettings.state)\r\n this.costHeaderGridData = process(this.costGridData, this.costGridSettings.state);\r\n else\r\n this.costHeaderGridData = process(this.costGridData, this.costGridstate);\r\n this.costGridSettings.gridData = this.costHeaderGridData;\r\n }\r\n protected costHeaderGridSortChange(sort): void {\r\n this.costGridstate.sort = sort;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n protected costHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.costGridstate.skip = skip;\r\n this.costGridstate.take;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n public costHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.costGridstate = state;\r\n this.costGridSettings.state = this.costGridstate;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n editFinishCopySample(data: ISampleSubCategory) {\r\n this.sampleSubCategoryTitleText = \"Copied from Sample Sub Category\";\r\n this.isAddHideColumns = true;\r\n this.isEditHideColumns = false;\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = true;\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n if (this.finishSampleDialog.opened == true) {\r\n this.finishSampleForm.controls.subCategoryId.setValue(null);\r\n this.selectedCategory = data.categoryName;\r\n this.selectedCategoryId = data.categoryId;\r\n this.finishSampleForm.controls.subCategory.setValue('Copied from ' + data.subCategoryDescription);\r\n //this.finishSampleForm.controls.sku.setValue(data.sku);\r\n this.finishSampleForm.controls.ec.setValue(data.ec);\r\n if (data.maxQtyCanBeOrdered == 99999)\r\n this.finishSampleForm.controls.maxQty.setValue(null);\r\n else\r\n this.finishSampleForm.controls.maxQty.setValue(data.maxQtyCanBeOrdered);\r\n this.finishSampleForm.controls.colorCode.setValue(data.colorCode);\r\n this.finishSampleForm.controls.stockNum.setValue(null);\r\n this.finishSampleForm.controls.currentCostId.setValue(data.currentCostId);\r\n this.finishSampleForm.controls.stockingLevel.setValue(data.stockingLevel);\r\n this.finishSampleForm.controls.currentInventory.setValue(data.currentInventory);\r\n this.finishSampleForm.controls.reorderPoint.setValue(data.reorderPoint);\r\n this.finishSampleForm.controls.isActive.setValue(data.isActive);\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n if (data.r_VALUE) {\r\n this.inputRGB = true;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n }\r\n else if (data.imagePath) {\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = true;\r\n }\r\n else if (data.absoluteURL) {\r\n this.inputURL = true;\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n }\r\n this.finishSampleForm.controls.inputR.setValue(data.r_VALUE);\r\n this.finishSampleForm.controls.inputG.setValue(data.g_VALUE);\r\n this.finishSampleForm.controls.inputB.setValue(data.b_VALUE);\r\n this.finishSampleForm.controls.inputURL.setValue(data.absoluteURL);\r\n\r\n this.finishSampleForm.controls.fileUrlPath.setValue(data.imagePath);\r\n this.filePath = data.imagePath;\r\n this.subCategoryFileUpload = data.imagePath; //assigning here the URL path\r\n if (this.selectedCategoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n this.finishSampleForm.controls.isPDM.setValue(data.isVisibleToOnlyPDMTeam);\r\n this.finishSampleForm.controls.isExternal.setValue(data.isVisibleToExternalUser);\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(data.onBackOrder);\r\n this.finishSampleForm.controls.width.setValue(data.width);\r\n this.finishSampleForm.controls.height.setValue(data.height);\r\n this.finishSampleForm.controls.length.setValue(data.length);\r\n this.finishSampleForm.controls.weight.setValue(data.weight);\r\n } else {\r\n //reset\r\n this.resetSubCategoryForm();\r\n }\r\n }\r\n\r\n protected validateSubCategoryForm(): boolean {\r\n let isValid = true;\r\n const controls = this.finishSampleForm.controls;\r\n if (this.finishSampleLbl.isSubmitted) {\r\n const t = controls.category.value ? controls.category.value.categoryName : \"\";\r\n if (t) {\r\n this.finishSampleLbl.isEmptyCategory = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCategory = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.subCategory.value) {\r\n this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n\r\n //if (controls.maxQty.value) {\r\n // this.finishSampleLbl.isEmptyMaxqty = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptyMaxqty = true;\r\n // isValid = false;\r\n //}\r\n\r\n if (controls.stockNum.value) {\r\n this.finishSampleLbl.isEmptyStockNum = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyStockNum = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.currentCostId.value) {\r\n this.finishSampleLbl.isEmptyCurrentCostId = false;\r\n } else if (controls.currentCostId.value == 0) {\r\n this.finishSampleLbl.isEmptyCurrentCostId = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCurrentCostId = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.stockingLevel.value) {\r\n this.finishSampleLbl.isEmptyStockingLevel = false;\r\n }\r\n else if (controls.stockingLevel.value == 0) {\r\n this.finishSampleLbl.isEmptyStockingLevel = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyStockingLevel = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.currentInventory.value) {\r\n this.finishSampleLbl.isEmptyCurrentInventory = false;\r\n }\r\n else if (controls.currentInventory.value == 0) {\r\n this.finishSampleLbl.isEmptyCurrentInventory = false;\r\n }\r\n else {\r\n this.finishSampleLbl.isEmptyCurrentInventory = true;\r\n isValid = false;\r\n }\r\n if (controls.reorderPoint.value) {\r\n this.finishSampleLbl.isEmptyReorderPoint = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyReorderPoint = true;\r\n isValid = false;\r\n }\r\n\r\n // if (controls.sku.value) {\r\n // this.finishSampleLbl.isEmptysku = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptysku = true;\r\n // isValid = false;\r\n //}\r\n\r\n //if (controls.fileUpload.value) {\r\n // this.finishSampleLbl.isEmptyFileUpload = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptyFileUpload = true;\r\n // isValid = false;\r\n //}\r\n\r\n //if (this.isClothCategory) {\r\n // if (controls.gender.value.name != \"\") {\r\n // this.finishSampleLbl.isEmptyGender = false;\r\n // } else {\r\n // this.finishSampleLbl.isEmptyGender = true;\r\n // isValid = false;\r\n // }\r\n\r\n // if (controls.size.value.name != \"\") {\r\n // this.finishSampleLbl.isEmptySize = false;\r\n // } else {\r\n // this.finishSampleLbl.isEmptySize = true;\r\n // isValid = false;\r\n // }\r\n //}\r\n\r\n }\r\n return isValid;\r\n }\r\n\r\n updateInventorySampleSubCategory() {\r\n //Validate\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.resetTo.value == null && controls.adjustment.value == null) {\r\n return true;\r\n }\r\n this.subCategorySaveInProcess = true;\r\n //Update Inventory value\r\n let updatedInventory = 0;\r\n let resetVal = controls.resetTo.value;\r\n if (resetVal != null) {\r\n if (resetVal >= 0) {\r\n updatedInventory = Number(controls.resetTo.value);\r\n }\r\n }\r\n else if (controls.adjustment.value) {\r\n updatedInventory = Number(controls.currentInventory.value) + Number(controls.adjustment.value);\r\n }\r\n else {\r\n updatedInventory = Number(controls.currentInventory.value);\r\n }\r\n //set on Back Order\r\n if (updatedInventory <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n } else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n const body: ISampleSubCategory = {\r\n subCategoryId: controls.subCategoryId.value ? controls.subCategoryId.value : 0,\r\n categoryId: controls.category.value.categoryId,\r\n categoryName: controls.category.value.categoryName,\r\n sku: 0,\r\n subCategoryDescription: controls.subCategory.value,\r\n maxQtyCanBeOrdered: Number(controls.maxQty.value),\r\n ec: controls.ec.value,\r\n colorCode: controls.colorCode.value,\r\n stockNum: controls.stockNum.value,\r\n currentCostId: controls.currentCostId.value,\r\n stockingLevel: controls.stockingLevel.value,\r\n currentInventory: updatedInventory,\r\n reorderPoint: controls.reorderPoint.value,\r\n //absoluteURL: controls.inputURL.value,\r\n r_VALUE: controls.inputR.value,\r\n b_VALUE: controls.inputB.value,\r\n g_VALUE: controls.inputG.value,\r\n imagePath: this.subCategoryFileUpload, //passing selected file URL here \r\n displayOrder: 0,\r\n isActive: controls.isActive.value ? controls.isActive.value : false,\r\n isVisibleToOnlyPDMTeam: controls.isPDM.value ? controls.isPDM.value : false,\r\n isVisibleToExternalUser: controls.isExternal.value ? controls.isExternal.value : false,\r\n onBackOrder: controls.isOnBackOrder.value ? controls.isOnBackOrder.value : false,\r\n isActiveCategory: false,\r\n absoluteURL: controls.inputURL.value,\r\n width: controls.width.value ? controls.width.value : 0,\r\n length: controls.length.value ? controls.length.value : 0,\r\n height: controls.height.value ? controls.height.value : 0,\r\n weight: controls.weight.value ? controls.weight.value : 0,\r\n size: controls.size.value\r\n }\r\n\r\n this.productSampleFulfillmentService.UpdateInventorySampleSubCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.subCategorySaveInProcess = false;\r\n if (response) {\r\n if (response.subCategoryId > 0 && this.isEditedSampleSubCategory) {\r\n this.finishSampleForm.controls.resetTo.setValue(null);\r\n this.finishSampleForm.controls.adjustment.setValue(null);\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.editFinishSample(response);\r\n } else {\r\n this.resetSubCategoryForm();\r\n }\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n async saveSampleRequestSubCategory() {\r\n this.finishSampleLbl.isSubmitted = true;\r\n if (!this.validateSubCategoryForm()) {\r\n return;\r\n }\r\n\r\n this.initilizeSuccessLabel();\r\n this.subCategorySaveInProcess = true;\r\n debugger;\r\n var controls = this.finishSampleForm.controls;\r\n let inventory = Number(controls.currentInventory.value);\r\n //set on Back Order\r\n if (inventory <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n } else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n const body: ISampleSubCategory = {\r\n subCategoryId: controls.subCategoryId.value ? controls.subCategoryId.value : 0,\r\n categoryId: controls.category.value.categoryId,\r\n categoryName: controls.category.value.categoryName,\r\n sku: 0,\r\n subCategoryDescription: controls.subCategory.value,\r\n maxQtyCanBeOrdered: Number(controls.maxQty.value),\r\n ec: controls.ec.value,\r\n colorCode: controls.colorCode.value,\r\n stockNum: controls.stockNum.value,\r\n currentCostId: controls.currentCostId.value,\r\n stockingLevel: controls.stockingLevel.value,\r\n currentInventory: controls.currentInventory.value,\r\n reorderPoint: controls.reorderPoint.value,\r\n //absoluteURL: controls.inputURL.value,\r\n r_VALUE: controls.inputR.value,\r\n b_VALUE: controls.inputB.value,\r\n g_VALUE: controls.inputG.value,\r\n imagePath: this.subCategoryFileUpload, //passing selected file URL here \r\n displayOrder: 0,\r\n isActive: controls.isActive.value ? controls.isActive.value : false,\r\n isVisibleToOnlyPDMTeam: controls.isPDM.value ? controls.isPDM.value : false,\r\n isVisibleToExternalUser: controls.isExternal.value ? controls.isExternal.value : false,\r\n onBackOrder: controls.isOnBackOrder.value ? controls.isOnBackOrder.value : false,\r\n isActiveCategory: false,\r\n absoluteURL: controls.inputURL.value,\r\n width: controls.width.value ? controls.width.value : 0,\r\n length: controls.length.value ? controls.length.value : 0,\r\n height: controls.height.value ? controls.height.value : 0,\r\n weight: controls.weight.value ? controls.weight.value : 0,\r\n size: controls.size.value\r\n }\r\n\r\n //Valdiate Sample sub category with stock\r\n const stockBody: ISampleSubCategoryExist = {\r\n stockNumber: controls.stockNum.value,\r\n subCategoryId: controls.subCategoryId.value ? controls.subCategoryId.value : 0,\r\n }\r\n try {\r\n let resp = await this.productSampleFulfillmentService.GetSampleSubCatgeoryExist(stockBody).toPromise();\r\n console.log(resp);\r\n if (resp && resp.length > 0) {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.infoMessage.genericError = \"Sample Sub Category already exist with the stock number\";\r\n this.subCategorySaveInProcess = false;\r\n return;\r\n }\r\n }\r\n catch (e) { }\r\n\r\n this.productSampleFulfillmentService.AddUpdateSampleSubCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.subCategorySaveInProcess = false;\r\n if (response) {\r\n if (response.subCategoryId > 0 && this.isEditedSampleSubCategory) {\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.editFinishSample(response);\r\n } else {\r\n this.resetSubCategoryForm();\r\n }\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n validateSubCategoryOnBackOrder() {\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.currentInventory.value <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n }\r\n else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n }\r\n resetSubCategoryForm() {\r\n this.finishSampleLbl.isSubmitted = false;\r\n this.finishSampleForm.reset();\r\n this.finishSampleLbl.isEmptyCategory = false;\r\n this.finishSampleLbl.isEmptySubCategory = false;\r\n this.finishSampleLbl.isEmptyMaxqty = false;\r\n this.finishSampleLbl.isEmptyFinishCode = false;\r\n this.selectedCategory = \"\";\r\n this.selectedCategoryId = 0;\r\n this.selectedGender = \"\";\r\n this.selectedSize = \"\";\r\n this.subCategorySaveInProcess = false;\r\n this.infoMessage = new Info();\r\n this.isClothCategory = false;\r\n this.finishSampleForm.controls.isActive.setValue(true);\r\n\r\n this.finishSampleLbl.isEmptyFileUpload = false;\r\n this.filePath = \"\";\r\n this.subCategoryFileUpload = \"\";\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = false;\r\n this.uploadImage = false;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n //this.sampleSubCategoryTitleText = \"\";\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Grid data binding\r\n private loadFinishSampleGrid(): void {\r\n this.finishSampleLoading = true;\r\n this.productSampleFulfillmentService.getSampleSubCategories().subscribe((response) => {\r\n this.bindFinishSampleGrid();\r\n this.finishSampleLoading = false;\r\n\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region pagination, sorting,filtering for grid\r\n\r\n public finishSampleGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'categoryId',\r\n dir: 'desc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n private bindFinishSampleGrid(): void {\r\n const data = this.productSampleFulfillmentService.sampleSubCategory;\r\n\r\n this.finishSampleGridView = process(data, this.finishSampleGridstate);\r\n let filterArray = this.productSampleFulfillmentService.sampleSubCategory;\r\n let tempArray = filterArray.filter((v, i, a) => a.findIndex(t => (t.categoryId === v.categoryId)) === i);\r\n tempArray = tempArray.sort((a, b) => a.categoryName > b.categoryName ? 1 : -1);\r\n this.categoryData = tempArray as ISampleCategory[];\r\n }\r\n\r\n protected finishSampleGridSortChange(sort: SortDescriptor[]): void {\r\n this.finishSampleGridstate.sort = sort;\r\n this.bindFinishSampleGrid();\r\n }\r\n protected finishSampleGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.finishSampleGridstate.skip = skip;\r\n this.finishSampleGridstate.take = take;\r\n this.bindFinishSampleGrid();\r\n }\r\n\r\n public finishSampleDataStateChange(state: DataStateChangeEvent): void {\r\n this.finishSampleGridstate = state;\r\n this.bindFinishSampleGrid();\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region delete item\r\n public gridItemToRemove: any;\r\n public removeConfirmationSubject: Subject = new Subject();\r\n\r\n gridDelete = {\r\n label: {\r\n deleteConfirmLbl: 'Are you sure you want to delete finish sample subcategory ',\r\n deleteYesLbl: 'Yes',\r\n deleteNoLbl: 'No',\r\n confirmLbl: 'Please confirm',\r\n }\r\n }\r\n\r\n\r\n public removeConfirmation(dataItem): Subject {\r\n this.gridItemToRemove = dataItem; // show delete item confirmation box\r\n return this.removeConfirmationSubject;\r\n }\r\n\r\n protected confirmRemove(shouldRemove: boolean): void {\r\n if (shouldRemove) {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.RemoveHandler();\r\n }\r\n else {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.gridItemToRemove = null;\r\n }\r\n }\r\n protected RemoveHandler() {\r\n this.productSampleFulfillmentService.DeleteSampleSubCategory(this.gridItemToRemove).subscribe((isRemoved: boolean) => {\r\n const subCategoryId = this.gridItemToRemove.subCategoryId;\r\n //const sku = this.gridItemToRemove.sku;\r\n this.gridItemToRemove = null;\r\n this.appNotifyService.notify(NotifyType.SUCCESS, \"Selected finish sample subcategory has been removed.\");\r\n\r\n if (this.productSampleFulfillmentService.sampleSubCategory) {\r\n //This is a Local Remove\r\n const index = (this.productSampleFulfillmentService.sampleSubCategory).findIndex(r => r.subCategoryId === subCategoryId);\r\n (this.productSampleFulfillmentService.sampleSubCategory).splice(index, 1);\r\n this.bindFinishSampleGrid();\r\n\r\n }\r\n\r\n }, error => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'An Error Occured');\r\n });\r\n }\r\n async redirectToBudgetAllocationPage() {\r\n this.router.navigate(['sample-request-admin/admin-budget-report']);\r\n }\r\n async redirectToInventoryUsagePage() {\r\n this.router.navigate(['sample-request-admin/sample-request-inventory-usage-report']);\r\n }\r\n async redirectToOrderHistoryPage() {\r\n this.router.navigate(['sample-request-admin/sample-request-order-history']);\r\n }\r\n async changepasswordredirect() {\r\n this.router.navigate(['change-password']);\r\n }\r\n //#endregion\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ILoginRequest } from '../../../core/models';\r\nimport { UserService } from '../../../core/services/user.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent {\r\n\r\n title = 'SnapPayLoginUI';\r\n loginemail: any = \"\";\r\n loginpwd: any = \"\";\r\n loginRequest: ILoginRequest = {\r\n username: '',\r\n password: ''\r\n }\r\n constructor(private userService: UserService, private router: Router) {\r\n\r\n }\r\n async login() {\r\n this.loginRequest.username = this.loginemail;\r\n this.loginRequest.password = this.loginpwd;\r\n const loginResponse = await this.userService.login(this.loginRequest);\r\n\r\n if (!loginResponse) { alert(\"Error occured\"); return; }\r\n if (loginResponse.isValid) {\r\n if (!loginResponse.token) {\r\n alert(\"Error occured\"); return;\r\n }\r\n this.userService.saveToken(loginResponse.token);\r\n //setTimeout(function () { /* snip */ }, 1000);\r\n const userDetails = await this.userService.getUserDetails();\r\n\r\n this.userService.saveUserObject(userDetails);\r\n this.router.navigate(['sample-request-admin/home']);\r\n } else {\r\n alert(loginResponse.error);\r\n return;\r\n }\r\n }\r\n async forgetpassword() {\r\n if (this.loginemail) {\r\n if (confirm('Are you sure you want to forget password?')) {\r\n const loginBody = { userName: this.loginemail };\r\n await (await this.userService.ForgotPassword(loginBody)).subscribe((r: any) => {\r\n if (r.errorMessage == \"Success\") {\r\n alert(r.errorMessage);\r\n } else {\r\n alert(r.errorMessage);\r\n }\r\n });\r\n }\r\n } else {\r\n alert(\"please enter the username\");\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWFkbWluL2FkbWluLWJ1ZGdldC1yZXBvcnQvYWRtaW4tYnVkZ2V0LXJlcG9ydC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-admin-budget-report',\r\n templateUrl: './admin-budget-report.component.html',\r\n styleUrls: ['./admin-budget-report.component.scss']\r\n})\r\nexport class AdminBudgetReportComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n redirectToSampleRequestAdminPage() {\r\n this.router.navigate(['sample-request-admin/home']);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWFkbWluL2FkbWluLWJ1ZGdldC1yZXBvcnQvYWxsb2NhdGlvbi1yZXBvcnQvYWxsb2NhdGlvbi1yZXBvcnQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../../../core/common';\r\nimport { ProductSampleFulfillmentService } from '../../../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyType } from '../../../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../../../core/services/app-notify.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\nimport { ISampleAdminBudgetAllocation } from '../../../../../core/models';\r\nimport { Subject } from 'rxjs';\r\n@Component({\r\n selector: 'app-allocation-report',\r\n templateUrl: './allocation-report.component.html',\r\n styleUrls: ['./allocation-report.component.scss']\r\n})\r\nexport class AllocationReportComponent implements OnInit {\r\n AllocationReportHeaderGridData: GridDataResult;\r\n totalAllocationReportGridData: any[] = [];\r\n AllocationReportGridData: any[] = [];\r\n AllocationReportLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n isonlyAllocationReport: boolean;\r\n isInActiveAllocationReport: boolean;\r\n filterSaveInProcess: boolean;\r\n IsAddNewAllocation: boolean;\r\n AddNewAllocationInProgress: false;\r\n isNewLocationComplete: boolean;\r\n isNewLocationSuccess: boolean;\r\n protected AllocationReportLblText = {\r\n regcodelbl: 'Reg Code',\r\n regdesclbl: 'Reg Description',\r\n budgetcodelbl: 'Budget Code',\r\n exportToExcelLbl: 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Request Allocation Report',\r\n addnewallocationlbl: 'Add New Allocation',\r\n regcodewarnlbl: 'Invalid RegCode',\r\n regdescwarnlbl: 'Invalid Reg Desc',\r\n budgetcodewarnlbl: 'Invalid Budget Code',\r\n saveLbl: 'Save',\r\n addNewLocationResponse: 'New location created successfully'\r\n };\r\n\r\n addNewAllocationV: ISampleAdminBudgetAllocation = {\r\n regionCode: '',\r\n regionDescription: '',\r\n budgetCode: ''\r\n };\r\n constructor(private formBuilder: FormBuilder, private router: Router,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService, private fb: FormBuilder\r\n ) { }\r\n AllocationForm = this.fb.group({\r\n regCode: ['', [Validators.required]],\r\n regDesc: ['', [Validators.required]],\r\n budgetCode: ['', [Validators.required]]\r\n });\r\n ngOnInit() {\r\n this.getAllAllocationReportReport();\r\n }\r\n public AllocationReportGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'regionCode',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n public AllocationReportGridSettings: GridSettings = {\r\n state: this.AllocationReportGridstate,\r\n gridData: process(this.AllocationReportGridData, this.AllocationReportGridstate),\r\n columnsConfig: [{\r\n field: 'regionCode',\r\n title: 'Reg Code',\r\n filterable: true,\r\n widthForPDF: 40,\r\n _width: 110,\r\n },\r\n {\r\n field: 'regionDescription',\r\n title: 'Reg Desc',\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 130,\r\n },\r\n {\r\n field: 'budgetCode',\r\n title: 'Budget Code',\r\n filterable: true,\r\n widthForPDF: 40,\r\n _width: 110,\r\n }\r\n ]\r\n };\r\n filterOnlyAllocationReportItems(event) {\r\n if (event.target.checked)\r\n this.isonlyAllocationReport = true;\r\n else\r\n this.isonlyAllocationReport = false;\r\n this.getFilterAllocationReportItems();\r\n }\r\n filterInActiveAllocationReportItems(event) {\r\n if (event.target.checked)\r\n this.isInActiveAllocationReport = true;\r\n else\r\n this.isInActiveAllocationReport = false;\r\n this.getFilterAllocationReportItems();\r\n }\r\n getFilterAllocationReportItems() {\r\n let totalAllocationReportItems: any[] = [];\r\n if (this.isonlyAllocationReport && this.isInActiveAllocationReport) {\r\n for (const [key, value] of Object.entries(this.totalAllocationReportGridData)) {\r\n if (value.currentInventory < value.AllocationReportPoint)\r\n totalAllocationReportItems.push(value);\r\n if (value.isActive === false)\r\n totalAllocationReportItems.push(value);\r\n }\r\n this.AllocationReportGridData = totalAllocationReportItems;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n else if (this.isonlyAllocationReport) {\r\n let onlyAllocationReportItems: any[] = [];\r\n for (const [key, value] of Object.entries(this.totalAllocationReportGridData)) {\r\n if (value.currentInventory < value.AllocationReportPoint)\r\n onlyAllocationReportItems.push(value);\r\n }\r\n this.AllocationReportGridData = onlyAllocationReportItems;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n else if (this.isInActiveAllocationReport) {\r\n const dataList = this.totalAllocationReportGridData.filter(r => r.isActive === false);\r\n this.AllocationReportGridData = dataList;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n else {\r\n this.AllocationReportGridData = this.totalAllocationReportGridData;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n }\r\n\r\n getAllAllocationReportReport() {\r\n this.AllocationReportLoading = true;\r\n\r\n this.productSampleFulfillmentService.getSampleAdminBudgetAllocationReport().subscribe((response: Array) => {\r\n if (response) {\r\n this.totalAllocationReportGridData = response;\r\n this.AllocationReportGridData = response;\r\n //this.productSampleFulfillmentService.setAllocationReportHeaderGridData(this.AllocationReportGridData);\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while loading the page.');\r\n })\r\n this.AllocationReportLoading = false;\r\n }\r\n\r\n private loadAllocationReportHeaderGridData(): void {\r\n if (this.AllocationReportGridSettings.state)\r\n this.AllocationReportHeaderGridData = process(this.AllocationReportGridData, this.AllocationReportGridSettings.state);\r\n else\r\n this.AllocationReportHeaderGridData = process(this.AllocationReportGridData, this.AllocationReportGridstate);\r\n this.AllocationReportGridSettings.gridData = this.AllocationReportHeaderGridData;\r\n }\r\n protected AllocationReportHeaderGridSortChange(sort): void {\r\n this.AllocationReportGridstate.sort = sort;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n\r\n protected AllocationReportHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.AllocationReportGridstate.skip = skip;\r\n this.AllocationReportGridstate.take;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n\r\n public AllocationReportHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.AllocationReportGridstate = state;\r\n this.AllocationReportGridSettings.state = this.AllocationReportGridstate;\r\n this.loadAllocationReportHeaderGridData();\r\n }\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var currFilter = this.AllocationReportGridSettings.state.filter;\r\n var filterData = process(this.AllocationReportGridData, {\r\n filter: currFilter\r\n });\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.AllocationReportGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [this.AllocationReportLblText.regcodelbl,\r\n this.AllocationReportLblText.regdesclbl,\r\n this.AllocationReportLblText.budgetcodelbl];\r\n\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n\r\n let orderDetailsRow = worksheet.addRow([this.AllocationReportLblText.sampleProductLbl]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n dataArray.map(p =>\r\n ([\r\n p.regionCode ? p.regionCode : '',\r\n p.regionDescription ? p.regionDescription : '',\r\n p.budgetCode ? p.budgetCode : '',\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleRequestAllocationReport.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var currFilter = this.AllocationReportGridSettings.state.filter;\r\n var filterData = process(this.AllocationReportGridData, {\r\n filter: currFilter\r\n });\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.AllocationReportGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.AllocationReportLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n },\r\n {\r\n text: \"Sample Request Budget List\",\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput,\r\n body: [\r\n [\r\n this.AllocationReportLblText.regcodelbl,\r\n this.AllocationReportLblText.regdesclbl,\r\n this.AllocationReportLblText.budgetcodelbl\r\n ],\r\n ...filterData.data.map(p =>\r\n ([\r\n p.regionCode,\r\n p.regionDescription,\r\n p.budgetCode\r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleRequestAllocationReport.pdf');\r\n this.loadingPDF = false;\r\n }\r\n\r\n async AddNewAllocationPopUp() {\r\n this.IsAddNewAllocation = true;\r\n this.isEditOn = false; \r\n }\r\n async validateAllocationForm() {\r\n debugger;\r\n this.addNewAllocationV.regionCode = this.AllocationForm.controls.regCode.value;\r\n this.addNewAllocationV.regionDescription = this.AllocationForm.controls.regDesc.value;\r\n this.addNewAllocationV.budgetCode = this.AllocationForm.controls.budgetCode.value;\r\n if (this.addNewAllocationV.regionDescription == '' || this.addNewAllocationV.regionCode == '' || this.addNewAllocationV.budgetCode == '') {\r\n return false;\r\n }\r\n }\r\n\r\n async AddNewAllocation() {\r\n this.isNewLocationComplete = false;\r\n this.addNewAllocationV.regionCode = this.AllocationForm.controls.regCode.value;\r\n this.addNewAllocationV.regionDescription = this.AllocationForm.controls.regDesc.value;\r\n this.addNewAllocationV.budgetCode = this.AllocationForm.controls.budgetCode.value;\r\n if (this.addNewAllocationV.regionDescription == '' || this.addNewAllocationV.regionCode == '' || this.addNewAllocationV.budgetCode == '') {\r\n return false;\r\n } else {\r\n this.productSampleFulfillmentService.AddSampleBudgetAssociation(this.addNewAllocationV).subscribe((response: Array) => {\r\n if (response) {\r\n this.isNewLocationComplete = true;\r\n this.isNewLocationSuccess = true;\r\n if (!this.isEditOn) {\r\n this.AllocationReportLblText.addNewLocationResponse = 'New allocation created successfully';\r\n } else {\r\n this.AllocationReportLblText.addNewLocationResponse = 'Allocation updated successfully';\r\n }\r\n this.AllocationForm.reset();\r\n // new Promise(f => setTimeout(f, 2000));\r\n this.getAllAllocationReportReport();\r\n }\r\n }, err => {\r\n this.isNewLocationComplete = true;\r\n this.isNewLocationSuccess = false;\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while new allocation creation.');\r\n this.AllocationForm.reset();\r\n if (!this.isEditOn) {\r\n this.AllocationReportLblText.addNewLocationResponse = 'Sorry an error occured while new allocation creation.';\r\n } else {\r\n this.AllocationReportLblText.addNewLocationResponse = 'Sorry an error occured while allocation updation.';\r\n }\r\n })\r\n }\r\n }\r\n public close(): void {\r\n this.IsAddNewAllocation = !this.IsAddNewAllocation;\r\n this.AllocationReportLblText.addNewLocationResponse = '';\r\n this.AllocationForm.reset();\r\n }\r\n public editAllocation(dataItem: ISampleAdminBudgetAllocation) {\r\n this.IsAddNewAllocation = true;\r\n this.isEditOn = true;\r\n this.addNewAllocationV.regionCode = dataItem.regionCode;\r\n this.addNewAllocationV.regionDescription = dataItem.regionDescription;\r\n this.addNewAllocationV.budgetCode = dataItem.budgetCode;\r\n this.AllocationForm.controls.regCode.setValue(dataItem.regionCode);\r\n this.AllocationForm.controls.regDesc.setValue(dataItem.regionDescription);\r\n this.AllocationForm.controls.budgetCode.setValue(dataItem.budgetCode);\r\n }\r\n //#region delete item\r\n public gridItemToRemove: any;\r\n public removeConfirmationSubject: Subject = new Subject();\r\n public isEditOn: boolean = false;\r\n gridDelete = {\r\n label: {\r\n deleteConfirmLbl: 'Are you sure you want to delete allocation ',\r\n deleteYesLbl: 'Yes',\r\n deleteNoLbl: 'No',\r\n confirmLbl: 'Please confirm',\r\n }\r\n }\r\n\r\n\r\n public removeConfirmation(dataItem): Subject {\r\n this.gridItemToRemove = dataItem; // show delete item confirmation box\r\n return this.removeConfirmationSubject;\r\n }\r\n\r\n protected confirmRemove(shouldRemove: boolean): void {\r\n if (shouldRemove) {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.RemoveHandler();\r\n }\r\n else {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.gridItemToRemove = null;\r\n }\r\n }\r\n protected RemoveHandler() {\r\n this.productSampleFulfillmentService.DeleteSampleBudgetAssociation(this.gridItemToRemove).subscribe((isRemoved: boolean) => {\r\n const subCategoryId = this.gridItemToRemove.subCategoryId;\r\n //const sku = this.gridItemToRemove.sku;\r\n this.gridItemToRemove = null;\r\n this.appNotifyService.notify(NotifyType.SUCCESS, \"Selected allocation has been removed.\");\r\n\r\n if (this.productSampleFulfillmentService.sampleSubCategory) {\r\n //This is a Local Remove\r\n // const index = (this.productSampleFulfillmentService.sampleSubCategory).findIndex(r => r.subCategoryId === subCategoryId);\r\n //(this.productSampleFulfillmentService.sampleSubCategory).splice(index, 1);\r\n // this.bindFinishSampleGrid();\r\n\r\n }\r\n\r\n }, error => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'An Error Occured');\r\n });\r\n }\r\n async redirectToBudgetAllocationPage() {\r\n this.router.navigate(['sample-request-admin/admin-budget-report']);\r\n }\r\n async redirectToInventoryUsagePage() {\r\n this.router.navigate(['sample-request-admin/sample-request-inventory-usage-report']);\r\n }\r\n async redirectToOrderHistoryPage() {\r\n this.router.navigate(['sample-request-admin/sample-request-order-history']);\r\n }\r\n async changepasswordredirect() {\r\n this.router.navigate(['change-password']);\r\n }\r\n //#endregion\r\n}\r\n\r\n","export default \".budget-report-header-div {\\n margin-left: 0px !important;\\n}\\n\\n.budgetReport-header-start-date {\\n margin-right: 25px !important;\\n display: grid;\\n}\\n\\n.lbl {\\n margin-bottom: 2px !important;\\n float: left !important;\\n}\\n\\n.filter-validate-message {\\n color: red;\\n text-align: center;\\n padding-bottom: 15px;\\n display: grid;\\n}\\n\\n.filter-date-btn {\\n margin-top: 22px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtYWRtaW4vYWRtaW4tYnVkZ2V0LXJlcG9ydC9idWRnZXQtcmVwb3J0L0M6XFxTdWRpcHRhXFxQcm9qZWN0c1xcdGNzLXNhbXBsZS1yZXF1ZXN0LWFhcFxcQWFwUFNGVUkvc3JjXFxhcHBcXGZlYXR1cmVzXFxhZG1pblxcc2FtcGxlLXJlcXVlc3QtYWRtaW5cXGFkbWluLWJ1ZGdldC1yZXBvcnRcXGJ1ZGdldC1yZXBvcnRcXGJ1ZGdldC1yZXBvcnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWFkbWluL2FkbWluLWJ1ZGdldC1yZXBvcnQvYnVkZ2V0LXJlcG9ydC9idWRnZXQtcmVwb3J0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsMkJBQUE7QUNDRjs7QURFQTtFQUNFLDZCQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsNkJBQUE7RUFDQSxzQkFBQTtBQ0NGOztBREVBO0VBQ0UsVUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtYWRtaW4vYWRtaW4tYnVkZ2V0LXJlcG9ydC9idWRnZXQtcmVwb3J0L2J1ZGdldC1yZXBvcnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnVkZ2V0LXJlcG9ydC1oZWFkZXItZGl2IHtcclxuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idWRnZXRSZXBvcnQtaGVhZGVyLXN0YXJ0LWRhdGUge1xyXG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbn1cclxuXHJcbi5sYmwge1xyXG4gIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maWx0ZXItdmFsaWRhdGUtbWVzc2FnZSB7XHJcbiAgY29sb3I6IHJlZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWJ0biB7XHJcbiAgbWFyZ2luLXRvcDogMjJweDtcclxufVxyXG4iLCIuYnVkZ2V0LXJlcG9ydC1oZWFkZXItZGl2IHtcbiAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uYnVkZ2V0UmVwb3J0LWhlYWRlci1zdGFydC1kYXRlIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5sYmwge1xuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZpbHRlci12YWxpZGF0ZS1tZXNzYWdlIHtcbiAgY29sb3I6IHJlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmZpbHRlci1kYXRlLWJ0biB7XG4gIG1hcmdpbi10b3A6IDIycHg7XG59Il19 */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../../../core/common';\r\nimport { ProductSampleFulfillmentService } from '../../../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyType } from '../../../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../../../core/services/app-notify.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\nimport { IGetFilterSampleBudgetReport } from '../../../../../core/models';\r\n@Component({\r\n selector: 'app-budget-report',\r\n templateUrl: './budget-report.component.html',\r\n styleUrls: ['./budget-report.component.scss']\r\n})\r\nexport class BudgetReportComponent implements OnInit {\r\n budgetReportHeaderForm: FormGroup;\r\n budgetReportHeaderGridData: GridDataResult;\r\n totalbudgetReportGridData: any[] = [];\r\n budgetReportGridData: any[] = [];\r\n budgetReportLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n isonlybudgetReport: boolean;\r\n isInActivebudgetReport: boolean;\r\n filterValidateMessage: boolean;\r\n protected budgetReportLblText = {\r\n budgetlbl: 'Budget',\r\n costlbl: 'Cost',\r\n exportToExcelLbl: 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Request Budget Report',\r\n startDateLbl: 'Start Date',\r\n endDateLbl: 'End Date',\r\n filterlbl: 'Filter',\r\n infoMessageLbl: 'Please Select Start Date and End Date',\r\n };\r\n constructor(private formBuilder: FormBuilder, private router: Router,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initializeFormControls();\r\n this.getFilterbudgetReportHeader();\r\n }\r\n initializeFormControls() {\r\n this.budgetReportHeaderForm = this.formBuilder.group({\r\n startDate: new FormControl(),\r\n endDate: new FormControl(),\r\n });\r\n let todaysDate = new Date();\r\n let priorDate = new Date(new Date().setDate(todaysDate.getDate() - 30));\r\n this.budgetReportHeaderForm.controls.startDate.setValue(priorDate);\r\n this.budgetReportHeaderForm.controls.endDate.setValue(todaysDate);\r\n }\r\n\r\n getFilterbudgetReportHeader() {\r\n this.filterValidateMessage = false;\r\n this.budgetReportLoading = true;\r\n if (!this.validatebudgetReportHeaderForm()) {\r\n this.filterValidateMessage = true;\r\n return;\r\n }\r\n\r\n var controls = this.budgetReportHeaderForm.controls;\r\n const body: IGetFilterSampleBudgetReport = {\r\n startDate: controls.startDate.value,\r\n endDate: controls.endDate.value\r\n }\r\n\r\n this.productSampleFulfillmentService.getSampleAdminBudgetReport(body).subscribe((response: Array) => {\r\n if (response) {\r\n\r\n this.totalbudgetReportGridData = response;\r\n this.budgetReportGridData = response;\r\n //this.productSampleFulfillmentService.setbudgetReportHeaderGridData(this.budgetReportGridData);\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while loading the page.');\r\n })\r\n this.budgetReportLoading = false;\r\n }\r\n\r\n validatebudgetReportHeaderForm() {\r\n let isValid = true;\r\n const controls = this.budgetReportHeaderForm.controls;\r\n if (controls.startDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n if (controls.endDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n return isValid;\r\n }\r\n public budgetReportGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'budget',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n public budgetReportGridSettings: GridSettings = {\r\n state: this.budgetReportGridstate,\r\n gridData: process(this.budgetReportGridData, this.budgetReportGridstate),\r\n columnsConfig: [{\r\n field: 'budget',\r\n title: 'Budget',\r\n filterable: true,\r\n widthForPDF: 40,\r\n _width: 110,\r\n },\r\n {\r\n field: 'cost',\r\n title: 'Cost',\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 130,\r\n }\r\n ]\r\n };\r\n filterOnlybudgetReportItems(event) {\r\n if (event.target.checked)\r\n this.isonlybudgetReport = true;\r\n else\r\n this.isonlybudgetReport = false;\r\n this.getFilterbudgetReportItems();\r\n }\r\n filterInActivebudgetReportItems(event) {\r\n if (event.target.checked)\r\n this.isInActivebudgetReport = true;\r\n else\r\n this.isInActivebudgetReport = false;\r\n this.getFilterbudgetReportItems();\r\n }\r\n getFilterbudgetReportItems() {\r\n let totalbudgetReportItems: any[] = [];\r\n if (this.isonlybudgetReport && this.isInActivebudgetReport) {\r\n for (const [key, value] of Object.entries(this.totalbudgetReportGridData)) {\r\n if (value.currentInventory < value.budgetReportPoint)\r\n totalbudgetReportItems.push(value);\r\n if (value.isActive === false)\r\n totalbudgetReportItems.push(value);\r\n }\r\n this.budgetReportGridData = totalbudgetReportItems;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n else if (this.isonlybudgetReport) {\r\n let onlybudgetReportItems: any[] = [];\r\n for (const [key, value] of Object.entries(this.totalbudgetReportGridData)) {\r\n if (value.currentInventory < value.budgetReportPoint)\r\n onlybudgetReportItems.push(value);\r\n }\r\n this.budgetReportGridData = onlybudgetReportItems;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n else if (this.isInActivebudgetReport) {\r\n const dataList = this.totalbudgetReportGridData.filter(r => r.isActive === false);\r\n this.budgetReportGridData = dataList;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n else {\r\n this.budgetReportGridData = this.totalbudgetReportGridData;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n }\r\n\r\n\r\n\r\n private loadbudgetReportHeaderGridData(): void {\r\n if (this.budgetReportGridSettings.state)\r\n this.budgetReportHeaderGridData = process(this.budgetReportGridData, this.budgetReportGridSettings.state);\r\n else\r\n this.budgetReportHeaderGridData = process(this.budgetReportGridData, this.budgetReportGridstate);\r\n this.budgetReportGridSettings.gridData = this.budgetReportHeaderGridData;\r\n }\r\n protected budgetReportHeaderGridSortChange(sort): void {\r\n this.budgetReportGridstate.sort = sort;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n\r\n protected budgetReportHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.budgetReportGridstate.skip = skip;\r\n this.budgetReportGridstate.take;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n\r\n public budgetReportHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.budgetReportGridstate = state;\r\n this.budgetReportGridSettings.state = this.budgetReportGridstate;\r\n this.loadbudgetReportHeaderGridData();\r\n }\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var currFilter = this.budgetReportGridSettings.state.filter;\r\n var filterData = process(this.budgetReportGridData, {\r\n filter: currFilter\r\n });\r\n var controls = this.budgetReportHeaderForm.controls;\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.budgetReportGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [this.budgetReportLblText.budgetlbl,\r\n this.budgetReportLblText.costlbl];\r\n\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n worksheet.addRow(['', '', this.budgetReportLblText.startDateLbl + \": \" + toDate]);\r\n worksheet.addRow(['', '', this.budgetReportLblText.endDateLbl + \": \" + fromDate]);\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n let orderDetailsRow = worksheet.addRow([this.budgetReportLblText.sampleProductLbl]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n dataArray.map(p =>\r\n ([\r\n p.budget ? p.budget : '',\r\n p.cost ? p.cost : '',\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleRequestBudgetReport.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var currFilter = this.budgetReportGridSettings.state.filter;\r\n var filterData = process(this.budgetReportGridData, {\r\n filter: currFilter\r\n });\r\n var controls = this.budgetReportHeaderForm.controls;\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.budgetReportGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.budgetReportLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n },\r\n {\r\n columns: [\r\n [{\r\n text: this.budgetReportLblText.startDateLbl + \": \" + toDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n },\r\n {\r\n text: this.budgetReportLblText.endDateLbl + \": \" + fromDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }]\r\n ]\r\n },\r\n {\r\n text: \"Sample Request Budget List\",\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput,\r\n body: [\r\n [\r\n this.budgetReportLblText.budgetlbl,\r\n this.budgetReportLblText.costlbl\r\n ],\r\n ...filterData.data.map(p =>\r\n ([\r\n p.budget,\r\n p.cost\r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleRequestBudgetReport.pdf');\r\n this.loadingPDF = false;\r\n }\r\n}\r\n","export default \".center {\\n text-align: center;\\n}\\n\\n.lblCls {\\n margin-bottom: 3px !important;\\n}\\n\\n.kendoInput {\\n width: 95%;\\n}\\n\\n.borderRed {\\n border: 1px solid red;\\n}\\n\\n.form-group {\\n margin-bottom: 0.5rem !important;\\n}\\n\\n.activeSwitchCls {\\n margin-left: 10px;\\n}\\n\\n.grid-inventory-container {\\n display: grid;\\n grid-template-columns: auto auto auto auto;\\n}\\n\\n.grid-dimension-container {\\n display: grid;\\n grid-template-columns: auto auto auto;\\n width: 96.5%;\\n}\\n\\n.btn-inventory-update {\\n margin-right: 24px !important;\\n}\\n\\n.sample-grid-category-div {\\n display: flex;\\n}\\n\\n.btn-edit-category-noborder {\\n border: none !important;\\n background: none !important;\\n padding: 5px 10px !important;\\n margin: 0px 5px 0px 0px;\\n}\\n\\n.btn-sample-admin-grid-edit {\\n padding: 5px 10px !important;\\n}\\n\\n.update-category-note-text {\\n text-align: center;\\n font-weight: 500;\\n padding-bottom: 10px;\\n}\\n\\n.div-sample-cost-history {\\n display: flex;\\n}\\n\\n.div-sample-cost-history-textbox {\\n width: 65%;\\n}\\n\\n.txt-current-inventory-readonly {\\n border: 1px solid !important;\\n}\\n\\n.wrapheader-sample-admin-grid .k-column-title {\\n white-space: normal !important;\\n}\\n\\n.sample-subcategory-cost-switch {\\n width: 200%;\\n}\\n\\n.costSelectionGridCls {\\n width: 95%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtYWRtaW4vQzpcXFN1ZGlwdGFcXFByb2plY3RzXFx0Y3Mtc2FtcGxlLXJlcXVlc3QtYWFwXFxBYXBQU0ZVSS9zcmNcXGFwcFxcZmVhdHVyZXNcXGFkbWluXFxzYW1wbGUtcmVxdWVzdC1hZG1pblxcc2FtcGxlLXJlcXVlc3QtYWRtaW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWFkbWluL3NhbXBsZS1yZXF1ZXN0LWFkbWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUksa0JBQUE7QUNBSjs7QURFQTtFQUNFLDZCQUFBO0FDQ0Y7O0FEQ0E7RUFDSSxVQUFBO0FDRUo7O0FEQUE7RUFDRSxxQkFBQTtBQ0dGOztBRERBO0VBQ0UsZ0NBQUE7QUNJRjs7QUREQTtFQUNFLGlCQUFBO0FDSUY7O0FERkE7RUFDRSxhQUFBO0VBQ0EsMENBQUE7QUNLRjs7QURIQTtFQUNFLGFBQUE7RUFDQSxxQ0FBQTtFQUNBLFlBQUE7QUNNRjs7QURIQTtFQUNFLDZCQUFBO0FDTUY7O0FESkE7RUFDRSxhQUFBO0FDT0Y7O0FETEE7RUFDRSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7RUFDQSx1QkFBQTtBQ1FGOztBRE5BO0VBQ0UsNEJBQUE7QUNTRjs7QURQQTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtBQ1VGOztBRFJBO0VBQ0UsYUFBQTtBQ1dGOztBRFRBO0VBQ0UsVUFBQTtBQ1lGOztBRFZBO0VBQ0ksNEJBQUE7QUNhSjs7QURYQTtFQUNFLDhCQUFBO0FDY0Y7O0FEWkE7RUFDSSxXQUFBO0FDZUo7O0FEYkE7RUFDSSxVQUFBO0FDZ0JKIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtYWRtaW4vc2FtcGxlLXJlcXVlc3QtYWRtaW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudGVyXHJcbntcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcbi5sYmxDbHMge1xyXG4gIG1hcmdpbi1ib3R0b206IDNweCAhaW1wb3J0YW50O1xyXG59XHJcbi5rZW5kb0lucHV0e1xyXG4gICAgd2lkdGg6OTUlO1xyXG59XHJcbi5ib3JkZXJSZWQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxufVxyXG4uZm9ybS1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hY3RpdmVTd2l0Y2hDbHMge1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbi5ncmlkLWludmVudG9yeS1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xyXG59XHJcbi5ncmlkLWRpbWVuc2lvbi1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcclxuICB3aWR0aDogOTYuNSU7XHJcbn1cclxuXHJcbi5idG4taW52ZW50b3J5LXVwZGF0ZSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNhbXBsZS1ncmlkLWNhdGVnb3J5LWRpdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG4uYnRuLWVkaXQtY2F0ZWdvcnktbm9ib3JkZXIge1xyXG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMHB4IDVweCAwcHggMHB4O1xyXG59XHJcbi5idG4tc2FtcGxlLWFkbWluLWdyaWQtZWRpdCB7XHJcbiAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDtcclxufVxyXG4udXBkYXRlLWNhdGVnb3J5LW5vdGUtdGV4dCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuLmRpdi1zYW1wbGUtY29zdC1oaXN0b3J5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5kaXYtc2FtcGxlLWNvc3QtaGlzdG9yeS10ZXh0Ym94IHtcclxuICB3aWR0aDogNjUlO1xyXG59XHJcbi50eHQtY3VycmVudC1pbnZlbnRvcnktcmVhZG9ubHl7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICFpbXBvcnRhbnQ7XHJcbn1cclxuLndyYXBoZWFkZXItc2FtcGxlLWFkbWluLWdyaWQgLmstY29sdW1uLXRpdGxlIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNhbXBsZS1zdWJjYXRlZ29yeS1jb3N0LXN3aXRjaHtcclxuICAgIHdpZHRoOjIwMCU7XHJcbn1cclxuLmNvc3RTZWxlY3Rpb25HcmlkQ2xze1xyXG4gICAgd2lkdGg6OTUlO1xyXG59XHJcblxyXG4iLCIuY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubGJsQ2xzIHtcbiAgbWFyZ2luLWJvdHRvbTogM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5rZW5kb0lucHV0IHtcbiAgd2lkdGg6IDk1JTtcbn1cblxuLmJvcmRlclJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmFjdGl2ZVN3aXRjaENscyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uZ3JpZC1pbnZlbnRvcnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xufVxuXG4uZ3JpZC1kaW1lbnNpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgd2lkdGg6IDk2LjUlO1xufVxuXG4uYnRuLWludmVudG9yeS11cGRhdGUge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNhbXBsZS1ncmlkLWNhdGVnb3J5LWRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5idG4tZWRpdC1jYXRlZ29yeS1ub2JvcmRlciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMHB4IDVweCAwcHggMHB4O1xufVxuXG4uYnRuLXNhbXBsZS1hZG1pbi1ncmlkLWVkaXQge1xuICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4udXBkYXRlLWNhdGVnb3J5LW5vdGUtdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5kaXYtc2FtcGxlLWNvc3QtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5kaXYtc2FtcGxlLWNvc3QtaGlzdG9yeS10ZXh0Ym94IHtcbiAgd2lkdGg6IDY1JTtcbn1cblxuLnR4dC1jdXJyZW50LWludmVudG9yeS1yZWFkb25seSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG59XG5cbi53cmFwaGVhZGVyLXNhbXBsZS1hZG1pbi1ncmlkIC5rLWNvbHVtbi10aXRsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnNhbXBsZS1zdWJjYXRlZ29yeS1jb3N0LXN3aXRjaCB7XG4gIHdpZHRoOiAyMDAlO1xufVxuXG4uY29zdFNlbGVjdGlvbkdyaWRDbHMge1xuICB3aWR0aDogOTUlO1xufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, IsEmptyFilterOperatorComponent } from '@progress/kendo-angular-grid';\r\nimport { orderBy, process, State, SortDescriptor } from '@progress/kendo-data-query';\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { ISampleFinish, ISampleSubCategory, ISampleCategory, IGetSampleProductOrderDetailsByHeader, IGetSampleSubCategoryCostBySubcategoryId } from '../../../core/models';\r\nimport { AdminService } from '../../../core/services/admin.service';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { SuccessEvent, SelectEvent, FileRestrictions } from '@progress/kendo-angular-upload';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { NotifyType } from 'src/app/core/enums/NotifyType';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-sample-request-admin',\r\n templateUrl: './sample-request-admin.component.html',\r\n styleUrls: ['./sample-request-admin.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SampleRequestAdminComponent implements OnInit {\r\n\r\n //#region member variables\r\n isClothCategory: boolean = false;\r\n finishSampleLoading: boolean;\r\n finishSampleGridView: GridDataResult;\r\n finishCategoryForm: FormGroup;\r\n finishSampleForm: FormGroup;\r\n categorySaveInProcess: boolean;\r\n subCategorySaveInProcess: boolean;\r\n\r\n categoryData: ISampleCategory[];\r\n selectedCategory: string = \"\"\r\n selectedCategoryId: number;\r\n selectedGender: string = \"\";\r\n selectedSize: string = \"\";\r\n filePath: string;\r\n public infoMessage: Info = new Info();\r\n public inProgressMessage: boolean;\r\n public successMessage: boolean;\r\n public errorMessage: boolean;\r\n subCategoryFileUpload: string = \"\";\r\n addEditCategoryId: number = 0;\r\n fileRestrictions: FileRestrictions = {\r\n allowedExtensions: [\".jpg\", \".png\", \".jfif\"],\r\n };\r\n isAddHideColumns: boolean = false;\r\n isEditHideColumns: boolean = false;\r\n isEditCategoryColumns: boolean = false;\r\n isEditedSampleSubCategory: boolean = false;\r\n isCopiedSampleSubCategory: boolean = false;\r\n sampleSubCategoryTitleText: string = '';\r\n sampleCategoryTitleText: string = '';\r\n costHeaderGridData: GridDataResult;\r\n costGridData: any[] = [];\r\n costLoading: boolean;\r\n isSampleSubCategoyCost: boolean;\r\n\r\n constructor(private adminService: AdminService, private formBuilder: FormBuilder,\r\n private appNotifyService: AppNotifyService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private router: Router ) { }\r\n\r\n ngOnInit() {\r\n this.loadFinishSampleGrid();\r\n this.initializeFormControls();\r\n this.isSampleSubCategoyCost = false;\r\n }\r\n public uploadImage = false;\r\n public inputURL = false;\r\n public inputRGB = false;\r\n toggleUploadImage() {\r\n this.inputURL = false;\r\n this.inputRGB = false;\r\n this.uploadImage = true;\r\n //this.finishSampleForm.controls.fileUpload.setValue(null);\r\n this.finishSampleForm.controls.inputURL.setValue(null);\r\n this.finishSampleForm.controls.inputR.setValue(null);\r\n this.finishSampleForm.controls.inputG.setValue(null);\r\n this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n }\r\n toggleInputURL() {\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n this.inputURL = true;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n //this.finishSampleForm.controls.inputURL.setValue(null);\r\n this.finishSampleForm.controls.inputR.setValue(null);\r\n this.finishSampleForm.controls.inputG.setValue(null);\r\n this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n }\r\n toggleInputRGB() {\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n this.inputRGB = true;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n this.finishSampleForm.controls.inputURL.setValue(null);\r\n //this.finishSampleForm.controls.inputR.setValue(null);\r\n //this.finishSampleForm.controls.inputG.setValue(null);\r\n //this.finishSampleForm.controls.inputB.setValue(null);\r\n this.subCategoryFileUpload = \"\";\r\n }\r\n\r\n protected costLblText = {\r\n subCategoryDescriptionLbl: 'Product Description',\r\n costLbl: 'Cost',\r\n effectiveFromLbl: 'Effective From',\r\n effectiveToLbl: 'Effective To',\r\n isCurrentCostLbl: 'Is Current Cost',\r\n };\r\n public costGridstate: State = {\r\n skip: 0,\r\n take: 5,\r\n group: null,\r\n sort: [{\r\n field: 'subCategoryId',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public costGridSettings: GridSettings = {\r\n state: this.costGridstate,\r\n gridData: process(this.costGridData, this.costGridstate),\r\n columnsConfig: [\r\n // {\r\n // field: 'subCategoryDescription',\r\n // title: this.costLblText.subCategoryDescriptionLbl,\r\n // filterable: true,\r\n // _width: 50,\r\n //},\r\n {\r\n field: 'cost',\r\n title: this.costLblText.costLbl,\r\n filterable: true,\r\n _width: 80,\r\n },\r\n {\r\n field: 'effectiveFrom',\r\n title: this.costLblText.effectiveFromLbl,\r\n filter: 'date',\r\n format: '{0:d}',//not able to get from and to\r\n _width: 100,\r\n filterable: true,\r\n },\r\n {\r\n field: 'effectiveTo',\r\n title: this.costLblText.effectiveToLbl,\r\n filter: 'date',\r\n format: '{0:d}',//not able to get from and to\r\n _width: 100,\r\n filterable: true,\r\n },\r\n // {\r\n // field: 'isCurrentCost',\r\n // title: this.costLblText.isCurrentCostLbl,\r\n // //_width: 200,\r\n // filterable: false,\r\n // _width: 80,\r\n //}\r\n ]\r\n };\r\n //#endregion\r\n\r\n\r\n initializeFormControls() {\r\n\r\n // #region Finish Category Controls\r\n\r\n\r\n this.finishCategoryForm = this.formBuilder.group({\r\n\r\n category: new FormControl(\"\"),\r\n isCategoryActive: new FormControl(),\r\n\r\n });\r\n\r\n\r\n // #endregion\r\n\r\n // #region Finish Product Controls\r\n this.finishSampleForm = this.formBuilder.group({\r\n subCategoryId: new FormControl(\"\"),\r\n category: new FormControl(\"\"),\r\n subCategory: new FormControl(\"\"),\r\n maxQty: new FormControl(),\r\n ec: new FormControl(\"\"),\r\n colorCode: new FormControl(\"\"),\r\n stockNum: new FormControl(),\r\n currentCostId: new FormControl(),\r\n stockingLevel: new FormControl(),\r\n currentInventory: new FormControl(),\r\n resetTo: new FormControl(),\r\n adjustment: new FormControl(),\r\n reorderPoint: new FormControl(),\r\n \r\n //sku: new FormControl(),\r\n fileUpload: new FormControl(\"\"),\r\n fileUrlPath: new FormControl(\"\"),\r\n inputR: new FormControl(\"\"),\r\n inputG: new FormControl(\"\"),\r\n inputB: new FormControl(\"\"),\r\n inputURL: new FormControl(\"\"),\r\n isActive: new FormControl(),\r\n isOnBackOrder: new FormControl(),\r\n isExternal: new FormControl(),\r\n isPDM: new FormControl(),\r\n width: new FormControl(),\r\n height: new FormControl(),\r\n length: new FormControl(),\r\n weight: new FormControl(),\r\n isCostHistory: new FormControl(),\r\n });\r\n\r\n\r\n\r\n // #endregion\r\n }\r\n\r\n //#region save success label common code\r\n initilizeSuccessLabel() {\r\n this.inProgressMessage = true;\r\n this.infoMessage.genericSuccess = \"\";\r\n this.infoMessage.genericError = \"\";\r\n this.infoMessage.genericInProgress = this.infoMessage.inProgressMessage;\r\n }\r\n\r\n //#endregion\r\n //#region kendo upload \r\n sampleRequestImageSelected(evt: SelectEvent) {\r\n }\r\n sampleRequestUploadSuccess(evt: SuccessEvent) {\r\n this.subCategoryFileUpload = evt.response.body.paths[0];\r\n }\r\n //#endregion\r\n //#region Sample Request Grid Section\r\n //#region label and variable declaration\r\n \r\n finishSampleLbl = {\r\n categoryName: \"Category\",\r\n subCategoryDescription: \"Product Description\",\r\n colorCode: \"Color Code\",\r\n maxQtyCanBeOrdered: \"Max Qty\",\r\n maxQtyCanBeOrderedAddText: \"Max Quantity\",\r\n stockNum: \"Stock #\",\r\n stockNumAddText: \"Stock Number\",\r\n currentCostId: \"Cost\",\r\n currentInventory: \"Inventory\",\r\n currentInventoryAddText: \"Current Inventory\",\r\n reorderPoint: \"Reorder Point\",\r\n stockingLevel: \"Stocking Level\",\r\n ec: \"EC\",\r\n onBackOrder: \"On Backorder\",\r\n isActive: \"IsActive\", \r\n resetTo: \"Reset To\",\r\n adjustment: \"Adjustment +/-\",\r\n isExternal: \"External\",\r\n isPDM: \"PDM Only\",\r\n action: \"Actions\",\r\n fileupload: \"File Upload\",\r\n urlLbl: \"Url\",\r\n skulbl: \"SKU\",\r\n updateAction: \"Update\",\r\n historyAction: \"History\",\r\n infoCategoryText: \"*Note: This will update the existing category including the associated products\",\r\n infoMaxQuantityText: \"Max Quantity is optional\",\r\n dimensions: \"Item Box Dimensions (inches)\",\r\n height: \"Height\",\r\n length: \"Length\",\r\n width: \"Width\",\r\n weight: \"Weight(oz)\",\r\n size: \"Size\",\r\n isEmptyCategoryDescription: false,\r\n isSubmitted: false,\r\n\r\n isEmptyCategory: false,\r\n isEmptySubCategory: false,\r\n isEmptyMaxqty: false,\r\n isEmptysku: false,\r\n isEmptyFinishCode: false, \r\n isEmptyFileUpload: false,\r\n isEmptyStockNum: false,\r\n isEmptyReorderPoint: false,\r\n isEmptyCurrentCostId: false,\r\n isEmptyStockingLevel: false,\r\n isEmptyCurrentInventory: false,\r\n\r\n }\r\n\r\n //#region Category(Finish Category) dialog operations\r\n\r\n finishCategoryDialog = {\r\n opened: false,\r\n\r\n }\r\n togglefinishCategoryDialog() {\r\n this.sampleCategoryTitleText = \"Add New Sample Category\";\r\n this.isEditCategoryColumns = false;\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n this.resetCategoryForm();\r\n }\r\n editSampleCategory(data: ISampleSubCategory) {\r\n this.sampleCategoryTitleText = \"Edit Sample Category\";\r\n this.isEditCategoryColumns = true;\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n if (this.finishCategoryDialog.opened == true) {\r\n this.finishCategoryForm.controls.category.setValue(data.categoryName);\r\n this.finishCategoryForm.controls.isCategoryActive.setValue(data.isActiveCategory);\r\n this.addEditCategoryId = data.categoryId;\r\n }\r\n else {\r\n\r\n this.resetCategoryForm();\r\n }\r\n }\r\n editfinishCategory(data: ISampleFinish) {\r\n this.finishCategoryDialog.opened = !this.finishCategoryDialog.opened;\r\n if (this.finishCategoryDialog.opened == true) {\r\n this.finishCategoryForm.controls.category.setValue(data.finishCategory);\r\n }\r\n else {\r\n //reset\r\n\r\n }\r\n }\r\n protected validateCategoryForm(): boolean {\r\n let isValid = true;\r\n const controls = this.finishCategoryForm.controls;\r\n if (this.finishSampleLbl.isSubmitted) {\r\n if (controls.category.value) {\r\n this.finishSampleLbl.isEmptyCategoryDescription = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCategoryDescription = true;\r\n isValid = false;\r\n }\r\n\r\n }\r\n return isValid;\r\n }\r\n\r\n saveSampleRequestCategory() {\r\n this.finishSampleLbl.isSubmitted = true;\r\n if (!this.validateCategoryForm()) {\r\n return;\r\n }\r\n this.initilizeSuccessLabel();\r\n this.categorySaveInProcess = true;\r\n\r\n var controls = this.finishCategoryForm.controls;\r\n const body: ISampleSubCategory = { \r\n subCategoryId: 0,\r\n categoryId: this.addEditCategoryId,\r\n categoryName: controls.category.value,\r\n sku: 0,\r\n subCategoryDescription: \"\",\r\n maxQtyCanBeOrdered: 0,\r\n ec: \"\",\r\n colorCode: \"\",\r\n stockNum: \"\",\r\n currentCostId: 0,\r\n stockingLevel: 0,\r\n currentInventory: 0,\r\n reorderPoint: 0,\r\n r_VALUE: \"\",\r\n b_VALUE: \"\",\r\n g_VALUE: \"\",\r\n imagePath: \"\",\r\n size: \"\",\r\n displayOrder: 0,\r\n isActive: controls.isCategoryActive.value ? controls.isCategoryActive.value : false,\r\n isVisibleToOnlyPDMTeam: false,\r\n isVisibleToExternalUser: false,\r\n onBackOrder: false,\r\n isActiveCategory: false,\r\n absoluteURL: \"\",\r\n width: 0,\r\n length: 0,\r\n height: 0,\r\n weight: 0\r\n }\r\n if (this.addEditCategoryId == 0) {\r\n this.productSampleFulfillmentService.AddSampleCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.categorySaveInProcess = false;\r\n if (response) {\r\n this.resetCategoryForm();\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n })\r\n }\r\n else {\r\n this.productSampleFulfillmentService.UpdateSampleCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.categorySaveInProcess = false;\r\n if (response) {\r\n // this.resetCategoryForm();\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n })\r\n }\r\n \r\n }\r\n\r\n resetCategoryForm() {\r\n this.finishSampleLbl.isSubmitted = false;\r\n this.finishCategoryForm.reset();\r\n this.finishSampleLbl.isEmptyCategoryDescription = false;\r\n this.categorySaveInProcess = false;\r\n this.infoMessage = new Info();\r\n this.finishCategoryForm.controls.isCategoryActive.setValue(true);\r\n this.addEditCategoryId = 0;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Sub Category(Finish) dialog operations\r\n\r\n categoryChange(event) { //For now Harcoded value written for Clothing Category.\r\n let categoryId = event.categoryId;\r\n if (categoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n\r\n }\r\n\r\n finishSampleDialog = {\r\n opened: false,\r\n\r\n }\r\n toggleFinishSampleDialog() {\r\n this.isAddHideColumns = true;\r\n this.isEditHideColumns = false;\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = false;\r\n this.sampleSubCategoryTitleText = \"Add Sample Sub Category\";\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.resetSubCategoryForm();\r\n }\r\n editFinishSample(data: ISampleSubCategory) {\r\n this.sampleSubCategoryTitleText = \"Edit Sample Sub Category\";\r\n this.isAddHideColumns = false;\r\n this.isEditHideColumns = true;\r\n this.isEditedSampleSubCategory = true;\r\n this.isCopiedSampleSubCategory = false;\r\n this.isSampleSubCategoyCost = false;\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n if (this.finishSampleDialog.opened == true) {\r\n this.finishSampleForm.controls.subCategoryId.setValue(data.subCategoryId);\r\n this.selectedCategory = data.categoryName;\r\n this.selectedCategoryId = data.categoryId;\r\n this.finishSampleForm.controls.subCategory.setValue(data.subCategoryDescription);\r\n //this.finishSampleForm.controls.sku.setValue(data.sku);\r\n this.finishSampleForm.controls.ec.setValue(data.ec);\r\n if (data.maxQtyCanBeOrdered == 99999)\r\n this.finishSampleForm.controls.maxQty.setValue(null);\r\n else\r\n this.finishSampleForm.controls.maxQty.setValue(data.maxQtyCanBeOrdered);\r\n this.finishSampleForm.controls.colorCode.setValue(data.colorCode);\r\n this.finishSampleForm.controls.stockNum.setValue(data.stockNum);\r\n this.finishSampleForm.controls.currentCostId.setValue(data.currentCostId);\r\n this.finishSampleForm.controls.stockingLevel.setValue(data.stockingLevel);\r\n this.finishSampleForm.controls.currentInventory.setValue(data.currentInventory);\r\n this.finishSampleForm.controls.reorderPoint.setValue(data.reorderPoint);\r\n this.finishSampleForm.controls.isActive.setValue(data.isActive);\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n if (data.r_VALUE) {\r\n this.inputRGB = true;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n }\r\n else if (data.imagePath) {\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = true;\r\n }\r\n else if (data.absoluteURL) {\r\n this.inputURL = true;\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n }\r\n this.finishSampleForm.controls.inputR.setValue(data.r_VALUE);\r\n this.finishSampleForm.controls.inputG.setValue(data.g_VALUE);\r\n this.finishSampleForm.controls.inputB.setValue(data.b_VALUE);\r\n this.finishSampleForm.controls.inputURL.setValue(data.absoluteURL);\r\n \r\n this.finishSampleForm.controls.fileUrlPath.setValue(data.imagePath);\r\n this.filePath = data.imagePath;\r\n this.subCategoryFileUpload = data.imagePath; //assigning here the URL path\r\n if (this.selectedCategoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n this.finishSampleForm.controls.isPDM.setValue(data.isVisibleToOnlyPDMTeam);\r\n this.finishSampleForm.controls.isExternal.setValue(data.isVisibleToExternalUser);\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(data.onBackOrder);\r\n this.finishSampleForm.controls.width.setValue(data.width);\r\n this.finishSampleForm.controls.height.setValue(data.height);\r\n this.finishSampleForm.controls.length.setValue(data.length);\r\n this.finishSampleForm.controls.weight.setValue(data.weight);\r\n this.getAllSampleSubCategoryCostHistory(data.subCategoryId);\r\n } else {\r\n //reset\r\n this.resetSubCategoryForm();\r\n }\r\n }\r\n isValidateCostSwitch() {\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.isCostHistory.value) {\r\n this.isSampleSubCategoyCost = true;\r\n }\r\n else {\r\n this.isSampleSubCategoyCost = false;\r\n }\r\n }\r\n\r\n getAllSampleSubCategoryCostHistory(id: number) {\r\n this.costLoading = true;\r\n const body: IGetSampleSubCategoryCostBySubcategoryId = {\r\n subCategoryId: id, \r\n }\r\n \r\n this.productSampleFulfillmentService.getAllSampleSubCategoryCostHistory(body).subscribe((response: Array) => {\r\n if (response) {\r\n console.log(response);\r\n this.costGridData = response;\r\n this.productSampleFulfillmentService.setCostHeaderGridData(this.costGridData);\r\n this.loadCostHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while loading the page.');\r\n })\r\n this.costLoading = false;\r\n }\r\n\r\n private loadCostHeaderGridData(): void {\r\n if (this.costGridSettings.state)\r\n this.costHeaderGridData = process(this.costGridData, this.costGridSettings.state);\r\n else\r\n this.costHeaderGridData = process(this.costGridData, this.costGridstate);\r\n this.costGridSettings.gridData = this.costHeaderGridData;\r\n }\r\n protected costHeaderGridSortChange(sort): void {\r\n this.costGridstate.sort = sort;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n protected costHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.costGridstate.skip = skip;\r\n this.costGridstate.take;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n public costHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.costGridstate = state;\r\n this.costGridSettings.state = this.costGridstate;\r\n this.loadCostHeaderGridData();\r\n }\r\n\r\n editFinishCopySample(data: ISampleSubCategory) {\r\n this.sampleSubCategoryTitleText = \"Copied from Sample Sub Category\";\r\n this.isAddHideColumns = true;\r\n this.isEditHideColumns = false;\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = true;\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n if (this.finishSampleDialog.opened == true) {\r\n this.finishSampleForm.controls.subCategoryId.setValue(null);\r\n this.selectedCategory = data.categoryName;\r\n this.selectedCategoryId = data.categoryId;\r\n this.finishSampleForm.controls.subCategory.setValue('Copied from '+data.subCategoryDescription);\r\n //this.finishSampleForm.controls.sku.setValue(data.sku);\r\n this.finishSampleForm.controls.ec.setValue(data.ec);\r\n if (data.maxQtyCanBeOrdered == 99999)\r\n this.finishSampleForm.controls.maxQty.setValue(null);\r\n else\r\n this.finishSampleForm.controls.maxQty.setValue(data.maxQtyCanBeOrdered);\r\n this.finishSampleForm.controls.colorCode.setValue(data.colorCode);\r\n this.finishSampleForm.controls.stockNum.setValue(null);\r\n this.finishSampleForm.controls.currentCostId.setValue(data.currentCostId);\r\n this.finishSampleForm.controls.stockingLevel.setValue(data.stockingLevel);\r\n this.finishSampleForm.controls.currentInventory.setValue(data.currentInventory);\r\n this.finishSampleForm.controls.reorderPoint.setValue(data.reorderPoint);\r\n this.finishSampleForm.controls.isActive.setValue(data.isActive);\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n if (data.r_VALUE) {\r\n this.inputRGB = true;\r\n this.inputURL = false;\r\n this.uploadImage = false;\r\n }\r\n else if (data.imagePath) {\r\n this.inputRGB = false;\r\n this.inputURL = false;\r\n this.uploadImage = true;\r\n }\r\n else if (data.absoluteURL) {\r\n this.inputURL = true;\r\n this.uploadImage = false;\r\n this.inputRGB = false;\r\n }\r\n this.finishSampleForm.controls.inputR.setValue(data.r_VALUE);\r\n this.finishSampleForm.controls.inputG.setValue(data.g_VALUE);\r\n this.finishSampleForm.controls.inputB.setValue(data.b_VALUE);\r\n this.finishSampleForm.controls.inputURL.setValue(data.absoluteURL);\r\n\r\n this.finishSampleForm.controls.fileUrlPath.setValue(data.imagePath);\r\n this.filePath = data.imagePath;\r\n this.subCategoryFileUpload = data.imagePath; //assigning here the URL path\r\n if (this.selectedCategoryId == 12000) {\r\n this.isClothCategory = true;\r\n }\r\n else {\r\n this.isClothCategory = false;\r\n }\r\n this.finishSampleForm.controls.isPDM.setValue(data.isVisibleToOnlyPDMTeam);\r\n this.finishSampleForm.controls.isExternal.setValue(data.isVisibleToExternalUser);\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(data.onBackOrder); \r\n this.finishSampleForm.controls.width.setValue(data.width);\r\n this.finishSampleForm.controls.height.setValue(data.height);\r\n this.finishSampleForm.controls.length.setValue(data.length);\r\n this.finishSampleForm.controls.weight.setValue(data.weight);\r\n } else {\r\n //reset\r\n this.resetSubCategoryForm();\r\n }\r\n } \r\n\r\n protected validateSubCategoryForm(): boolean {\r\n let isValid = true;\r\n const controls = this.finishSampleForm.controls;\r\n if (this.finishSampleLbl.isSubmitted) {\r\n const t = controls.category.value ? controls.category.value.categoryName : \"\";\r\n if (t) {\r\n this.finishSampleLbl.isEmptyCategory = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCategory = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.subCategory.value) {\r\n this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n\r\n //if (controls.maxQty.value) {\r\n // this.finishSampleLbl.isEmptyMaxqty = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptyMaxqty = true;\r\n // isValid = false;\r\n //}\r\n\r\n if (controls.stockNum.value) {\r\n this.finishSampleLbl.isEmptyStockNum = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyStockNum = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.currentCostId.value) {\r\n this.finishSampleLbl.isEmptyCurrentCostId = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyCurrentCostId = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.stockingLevel.value) {\r\n this.finishSampleLbl.isEmptyStockingLevel = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyStockingLevel = true;\r\n isValid = false;\r\n }\r\n\r\n if (controls.currentInventory.value ) {\r\n this.finishSampleLbl.isEmptyCurrentInventory = false;\r\n }\r\n else if (controls.currentInventory.value == 0) {\r\n this.finishSampleLbl.isEmptyCurrentInventory = false;\r\n }\r\n else {\r\n this.finishSampleLbl.isEmptyCurrentInventory = true;\r\n isValid = false;\r\n }\r\n if (controls.reorderPoint.value) {\r\n this.finishSampleLbl.isEmptyReorderPoint = false;\r\n } else {\r\n this.finishSampleLbl.isEmptyReorderPoint = true;\r\n isValid = false;\r\n }\r\n \r\n // if (controls.sku.value) {\r\n // this.finishSampleLbl.isEmptysku = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptysku = true;\r\n // isValid = false;\r\n //}\r\n\r\n //if (controls.fileUpload.value) {\r\n // this.finishSampleLbl.isEmptyFileUpload = false;\r\n //} else {\r\n // this.finishSampleLbl.isEmptyFileUpload = true;\r\n // isValid = false;\r\n //}\r\n\r\n //if (this.isClothCategory) {\r\n // if (controls.gender.value.name != \"\") {\r\n // this.finishSampleLbl.isEmptyGender = false;\r\n // } else {\r\n // this.finishSampleLbl.isEmptyGender = true;\r\n // isValid = false;\r\n // }\r\n\r\n // if (controls.size.value.name != \"\") {\r\n // this.finishSampleLbl.isEmptySize = false;\r\n // } else {\r\n // this.finishSampleLbl.isEmptySize = true;\r\n // isValid = false;\r\n // }\r\n //}\r\n\r\n }\r\n return isValid;\r\n }\r\n\r\n updateInventorySampleSubCategory() {\r\n //Validate\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.resetTo.value == null && controls.adjustment.value ==null) {\r\n return true;\r\n }\r\n this.subCategorySaveInProcess = true;\r\n //Update Inventory value\r\n let updatedInventory = 0;\r\n let resetVal = controls.resetTo.value;\r\n if (resetVal != null) {\r\n if (resetVal >= 0 ) {\r\n updatedInventory = Number(controls.resetTo.value);\r\n }\r\n }\r\n else if (controls.adjustment.value) {\r\n updatedInventory = Number(controls.currentInventory.value) + Number(controls.adjustment.value);\r\n }\r\n else {\r\n updatedInventory = Number(controls.currentInventory.value);\r\n }\r\n //set on Back Order\r\n if (updatedInventory <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n } else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n const body: ISampleSubCategory = {\r\n subCategoryId: controls.subCategoryId.value ? controls.subCategoryId.value : 0,\r\n categoryId: controls.category.value.categoryId,\r\n categoryName: controls.category.value.categoryName,\r\n sku: 0,\r\n subCategoryDescription: controls.subCategory.value,\r\n maxQtyCanBeOrdered: Number(controls.maxQty.value),\r\n ec: controls.ec.value,\r\n colorCode: controls.colorCode.value,\r\n stockNum: controls.stockNum.value,\r\n currentCostId: controls.currentCostId.value,\r\n stockingLevel: controls.stockingLevel.value,\r\n currentInventory: updatedInventory,\r\n reorderPoint: controls.reorderPoint.value,\r\n //absoluteURL: controls.inputURL.value,\r\n r_VALUE: controls.inputR.value,\r\n b_VALUE: controls.inputB.value,\r\n g_VALUE: controls.inputG.value,\r\n imagePath: this.subCategoryFileUpload, //passing selected file URL here \r\n displayOrder: 0,\r\n isActive: controls.isActive.value ? controls.isActive.value : false,\r\n isVisibleToOnlyPDMTeam: controls.isPDM.value ? controls.isPDM.value : false,\r\n isVisibleToExternalUser: controls.isExternal.value ? controls.isExternal.value : false,\r\n onBackOrder: controls.isOnBackOrder.value ? controls.isOnBackOrder.value : false,\r\n isActiveCategory: false,\r\n absoluteURL: controls.inputURL.value,\r\n width: controls.width.value ? controls.width.value : 0,\r\n length: controls.length.value ? controls.length.value : 0,\r\n height: controls.height.value ? controls.height.value : 0,\r\n weight: controls.weight.value ? controls.weight.value : 0,\r\n size: controls.size.value,\r\n }\r\n\r\n this.productSampleFulfillmentService.UpdateInventorySampleSubCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.subCategorySaveInProcess = false;\r\n if (response) {\r\n if (response.subCategoryId > 0 && this.isEditedSampleSubCategory) {\r\n this.finishSampleForm.controls.resetTo.setValue(null);\r\n this.finishSampleForm.controls.adjustment.setValue(null);\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.editFinishSample(response);\r\n } else {\r\n this.resetSubCategoryForm();\r\n }\r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n saveSampleRequestSubCategory() {\r\n this.finishSampleLbl.isSubmitted = true;\r\n if (!this.validateSubCategoryForm()) {\r\n return;\r\n }\r\n\r\n this.initilizeSuccessLabel();\r\n this.subCategorySaveInProcess = true;\r\n\r\n var controls = this.finishSampleForm.controls;\r\n let inventory = Number(controls.currentInventory.value);\r\n //set on Back Order\r\n if (inventory <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n } else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n const body: ISampleSubCategory = {\r\n subCategoryId: controls.subCategoryId.value ? controls.subCategoryId.value : 0,\r\n categoryId: controls.category.value.categoryId,\r\n categoryName: controls.category.value.categoryName,\r\n sku: 0,\r\n subCategoryDescription: controls.subCategory.value,\r\n maxQtyCanBeOrdered: Number(controls.maxQty.value),\r\n ec: controls.ec.value,\r\n colorCode: controls.colorCode.value,\r\n stockNum: controls.stockNum.value,\r\n currentCostId: controls.currentCostId.value,\r\n stockingLevel: controls.stockingLevel.value,\r\n currentInventory: controls.currentInventory.value,\r\n reorderPoint: controls.reorderPoint.value,\r\n //absoluteURL: controls.inputURL.value,\r\n r_VALUE: controls.inputR.value,\r\n b_VALUE: controls.inputB.value,\r\n g_VALUE: controls.inputG.value,\r\n imagePath: this.subCategoryFileUpload, //passing selected file URL here \r\n displayOrder: 0,\r\n isActive: controls.isActive.value ? controls.isActive.value : false,\r\n isVisibleToOnlyPDMTeam: controls.isPDM.value ? controls.isPDM.value : false,\r\n isVisibleToExternalUser: controls.isExternal.value ? controls.isExternal.value : false,\r\n onBackOrder: controls.isOnBackOrder.value ? controls.isOnBackOrder.value : false,\r\n isActiveCategory: false,\r\n absoluteURL: controls.inputURL.value,\r\n width: controls.width.value ? controls.width.value : 0,\r\n length: controls.length.value ? controls.length.value : 0,\r\n height: controls.height.value ? controls.height.value : 0,\r\n weight: controls.weight.value ? controls.weight.value : 0,\r\n size: controls.size.value\r\n }\r\n \r\n this.productSampleFulfillmentService.AddUpdateSampleSubCategory(body).subscribe((response: any) => {\r\n this.infoMessage.genericInProgress = \"\";\r\n this.subCategorySaveInProcess = false;\r\n if (response) {\r\n if (response.subCategoryId > 0 && this.isEditedSampleSubCategory) {\r\n this.finishSampleDialog.opened = !this.finishSampleDialog.opened;\r\n this.editFinishSample(response);\r\n } else {\r\n this.resetSubCategoryForm();\r\n } \r\n this.successMessage = true;\r\n this.infoMessage.genericSuccess = this.infoMessage.successMessage;\r\n this.loadFinishSampleGrid();\r\n\r\n } else {\r\n this.infoMessage.genericError = this.infoMessage.errorMessage;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n validateSubCategoryOnBackOrder() {\r\n var controls = this.finishSampleForm.controls;\r\n if (controls.currentInventory.value <= 0) {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(true);\r\n }\r\n else {\r\n this.finishSampleForm.controls.isOnBackOrder.setValue(false);\r\n }\r\n }\r\n resetSubCategoryForm() {\r\n this.finishSampleLbl.isSubmitted = false;\r\n this.finishSampleForm.reset();\r\n this.finishSampleLbl.isEmptyCategory = false;\r\n this.finishSampleLbl.isEmptySubCategory = false;\r\n this.finishSampleLbl.isEmptyMaxqty = false;\r\n this.finishSampleLbl.isEmptyFinishCode = false;\r\n this.selectedCategory = \"\";\r\n this.selectedCategoryId = 0;\r\n this.selectedGender = \"\";\r\n this.selectedSize = \"\";\r\n this.subCategorySaveInProcess = false;\r\n this.infoMessage = new Info();\r\n this.isClothCategory = false;\r\n this.finishSampleForm.controls.isActive.setValue(true); \r\n\r\n this.finishSampleLbl.isEmptyFileUpload = false;\r\n this.filePath = \"\";\r\n this.subCategoryFileUpload = \"\";\r\n this.isEditedSampleSubCategory = false;\r\n this.isCopiedSampleSubCategory = false;\r\n this.uploadImage = false;\r\n this.finishSampleForm.controls.fileUpload.setValue(null);\r\n //this.sampleSubCategoryTitleText = \"\";\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Grid data binding\r\n private loadFinishSampleGrid(): void {\r\n this.finishSampleLoading = true;\r\n this.productSampleFulfillmentService.getSampleSubCategories().subscribe((response) => {\r\n this.bindFinishSampleGrid();\r\n this.finishSampleLoading = false;\r\n\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region pagination, sorting,filtering for grid\r\n\r\n public finishSampleGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'categoryId',\r\n dir: 'desc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n private bindFinishSampleGrid(): void {\r\n const data = this.productSampleFulfillmentService.sampleSubCategory;\r\n\r\n this.finishSampleGridView = process(data, this.finishSampleGridstate);\r\n let filterArray = this.productSampleFulfillmentService.sampleSubCategory;\r\n let tempArray = filterArray.filter((v, i, a) => a.findIndex(t => (t.categoryId === v.categoryId)) === i);\r\n tempArray = tempArray.sort((a, b) => a.categoryName > b.categoryName ? 1 : -1);\r\n this.categoryData = tempArray as ISampleCategory[];\r\n }\r\n\r\n protected finishSampleGridSortChange(sort: SortDescriptor[]): void {\r\n this.finishSampleGridstate.sort = sort;\r\n this.bindFinishSampleGrid();\r\n }\r\n protected finishSampleGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.finishSampleGridstate.skip = skip;\r\n this.finishSampleGridstate.take = take;\r\n this.bindFinishSampleGrid();\r\n }\r\n\r\n public finishSampleDataStateChange(state: DataStateChangeEvent): void {\r\n this.finishSampleGridstate = state;\r\n this.bindFinishSampleGrid();\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region delete item\r\n public gridItemToRemove: any;\r\n public removeConfirmationSubject: Subject = new Subject();\r\n\r\n gridDelete = {\r\n label: {\r\n deleteConfirmLbl: 'Are you sure you want to delete finish sample subcategory ',\r\n deleteYesLbl: 'Yes',\r\n deleteNoLbl: 'No',\r\n confirmLbl: 'Please confirm',\r\n }\r\n }\r\n\r\n\r\n public removeConfirmation(dataItem): Subject {\r\n this.gridItemToRemove = dataItem; // show delete item confirmation box\r\n return this.removeConfirmationSubject;\r\n }\r\n\r\n protected confirmRemove(shouldRemove: boolean): void {\r\n if (shouldRemove) {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.RemoveHandler();\r\n }\r\n else {\r\n this.removeConfirmationSubject.next(shouldRemove);\r\n this.gridItemToRemove = null;\r\n }\r\n }\r\n protected RemoveHandler() {\r\n this.productSampleFulfillmentService.DeleteSampleSubCategory(this.gridItemToRemove).subscribe((isRemoved: boolean) => {\r\n const subCategoryId = this.gridItemToRemove.subCategoryId;\r\n //const sku = this.gridItemToRemove.sku;\r\n this.gridItemToRemove = null;\r\n this.appNotifyService.notify(NotifyType.SUCCESS, \"Selected finish sample subcategory has been removed.\");\r\n\r\n if (this.productSampleFulfillmentService.sampleSubCategory) {\r\n //This is a Local Remove\r\n const index = (this.productSampleFulfillmentService.sampleSubCategory).findIndex(r => r.subCategoryId === subCategoryId);\r\n (this.productSampleFulfillmentService.sampleSubCategory).splice(index, 1);\r\n this.bindFinishSampleGrid();\r\n\r\n }\r\n\r\n }, error => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'An Error Occured');\r\n });\r\n }\r\n async redirectToBudgetAllocationPage() {\r\n this.router.navigate(['sample-request-admin/admin-budget-report']);\r\n }\r\n async redirectToInventoryUsagePage() {\r\n this.router.navigate(['sample-request-admin/sample-request-inventory-usage-report']);\r\n }\r\n async redirectToOrderHistoryPage() {\r\n this.router.navigate(['sample-request-admin/sample-request-order-history']);\r\n }\r\n async changepasswordredirect() {\r\n this.router.navigate(['change-password']);\r\n }\r\n //#endregion\r\n}\r\n\r\n","export default \".tab-inventory-usage-report .k-tabstrip-items-wrapper .k-item.k-state-active, .tab-inventory-usage-report .k-tabstrip-items-wrapper .k-item.k-state-selected {\\n background: royalblue !important;\\n color: white !important;\\n border: none !important;\\n}\\n\\n.tab-inventory-usage-report .k-tabstrip-items .k-link {\\n border: 1px solid #ccc;\\n}\\n\\n.tab-inventory-usage-report .k-tabstrip-items-wrapper .k-item {\\n color: black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtaW52ZW50b3J5LXVzYWdlLXJlcG9ydC9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxmZWF0dXJlc1xcYWRtaW5cXHNhbXBsZS1yZXF1ZXN0LWludmVudG9yeS11c2FnZS1yZXBvcnRcXHNhbXBsZS1yZXF1ZXN0LWludmVudG9yeS11c2FnZS1yZXBvcnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWludmVudG9yeS11c2FnZS1yZXBvcnQvc2FtcGxlLXJlcXVlc3QtaW52ZW50b3J5LXVzYWdlLXJlcG9ydC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdDQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtBQ0NGOztBREVBO0VBQ0ksc0JBQUE7QUNDSjs7QURDQTtFQUNJLFlBQUE7QUNFSiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LWludmVudG9yeS11c2FnZS1yZXBvcnQvc2FtcGxlLXJlcXVlc3QtaW52ZW50b3J5LXVzYWdlLXJlcG9ydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWItaW52ZW50b3J5LXVzYWdlLXJlcG9ydCAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW0uay1zdGF0ZS1hY3RpdmUsIC50YWItaW52ZW50b3J5LXVzYWdlLXJlcG9ydCAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW0uay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgYmFja2dyb3VuZDogcm95YWxibHVlICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50YWItaW52ZW50b3J5LXVzYWdlLXJlcG9ydCAuay10YWJzdHJpcC1pdGVtcyAuay1saW5rIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuLnRhYi1pbnZlbnRvcnktdXNhZ2UtcmVwb3J0IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbSB7XHJcbiAgICBjb2xvcjpibGFjaztcclxufVxyXG4iLCIudGFiLWludmVudG9yeS11c2FnZS1yZXBvcnQgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtLmstc3RhdGUtYWN0aXZlLCAudGFiLWludmVudG9yeS11c2FnZS1yZXBvcnQgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtLmstc3RhdGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiByb3lhbGJsdWUgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGFiLWludmVudG9yeS11c2FnZS1yZXBvcnQgLmstdGFic3RyaXAtaXRlbXMgLmstbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbi50YWItaW52ZW50b3J5LXVzYWdlLXJlcG9ydCAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW0ge1xuICBjb2xvcjogYmxhY2s7XG59Il19 */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sample-request-inventory-usage-report',\r\n templateUrl: './sample-request-inventory-usage-report.component.html',\r\n styleUrls: ['./sample-request-inventory-usage-report.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SampleRequestInventoryUsageReportComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n redirectToSampleRequestAdminPage() {\r\n this.router.navigate(['sample-request-admin/home']);\r\n }\r\n\r\n}\r\n","export default \".sample-request-order-summary {\\n color: royalblue;\\n padding: 5px 0px 0px 0px;\\n margin: 1rem 0rem 0rem 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3Qtb3JkZXItZGV0YWlscy9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxmZWF0dXJlc1xcYWRtaW5cXHNhbXBsZS1yZXF1ZXN0LW9yZGVyLWRldGFpbHNcXHNhbXBsZS1yZXF1ZXN0LW9yZGVyLWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LW9yZGVyLWRldGFpbHMvc2FtcGxlLXJlcXVlc3Qtb3JkZXItZGV0YWlscy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUVJLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSwyQkFBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3Qtb3JkZXItZGV0YWlscy9zYW1wbGUtcmVxdWVzdC1vcmRlci1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNhbXBsZS1yZXF1ZXN0LW9yZGVyLXN1bW1hcnlcclxue1xyXG4gICAgY29sb3I6cm95YWxibHVlO1xyXG4gICAgcGFkZGluZzo1cHggMHB4IDBweCAwcHg7XHJcbiAgICBtYXJnaW46MXJlbSAwcmVtIDByZW0gMXJlbTtcclxufVxyXG4iLCIuc2FtcGxlLXJlcXVlc3Qtb3JkZXItc3VtbWFyeSB7XG4gIGNvbG9yOiByb3lhbGJsdWU7XG4gIHBhZGRpbmc6IDVweCAwcHggMHB4IDBweDtcbiAgbWFyZ2luOiAxcmVtIDByZW0gMHJlbSAxcmVtO1xufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { IGetSampleProductOrderHeader, ISampleProductOrderHeader, ISampleProductOrderDetails, IGetSampleProductOrderDetailsByHeader } from '../../../core/models';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { NotifyType } from '../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { CurrencyPipe, formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: 'app-sample-request-order-details',\r\n templateUrl: './sample-request-order-details.component.html',\r\n styleUrls: ['./sample-request-order-details.component.scss']\r\n})\r\nexport class SampleRequestOrderDetailsComponent implements OnInit {\r\n orderDetailsGridData: GridDataResult;\r\n orderGridData: any[] = [];\r\n orderLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n orderNum: number = 0;\r\n orderHeaderGridData: ISampleProductOrderHeader;\r\n userEmail: string = '';\r\n\r\n protected orderLblText = {\r\n orderNumberLbl: 'Order Number',\r\n contactLbl: 'Contact',\r\n customerLbl: 'Customer',\r\n ccEmailLbl: 'CC Email(s)',\r\n regionLbl: 'Region',\r\n createdDateLbl: 'Order Date',\r\n sampleProductOrderNumberLbl: 'Order Number',\r\n costLbl: 'Order Cost',\r\n trackingMethodLbl: 'Tracking Method',\r\n trackingNumberLbl: 'Tracking Number',\r\n contactEmailLbl: 'Contact Email',\r\n };\r\n protected orderDetailsLblText = {\r\n stockNumLbl: 'Stock #',\r\n productDescriptionLbl: 'Product Description',\r\n quantityLbl: 'Quantity',\r\n costLbl: 'Cost',\r\n exportToExcelLbl: 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Product',\r\n orderSummaryLbl: 'Order Summary'\r\n };\r\n constructor(private router: Router, private route: ActivatedRoute,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService, private cp: CurrencyPipe\r\n ) {\r\n this.route.params.subscribe((params: Params) => {\r\n this.orderNum = params['orderId'] || 'ttt';\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.orderHeaderGridData = this.productSampleFulfillmentService.getSingleOrderHeaderGridData();\r\n this.userEmail= this.userService.readUserObject.userEmail;\r\n if (this.orderHeaderGridData === undefined || this.orderHeaderGridData === null) {\r\n this.router.navigate(['/sample-request-order-history']);\r\n } else {\r\n this.getOrderDetails();\r\n }\r\n }\r\n public orderGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'subCategoryDescription',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public orderGridSettings: GridSettings = {\r\n state: this.orderGridstate,\r\n gridData: process(this.orderGridData, this.orderGridstate),\r\n columnsConfig: [{\r\n field: 'stockNum',\r\n title: this.orderDetailsLblText.stockNumLbl,\r\n filterable: true,\r\n widthForPDF: 120,\r\n _width: 150,\r\n },\r\n {\r\n field: 'subCategoryDescription',\r\n title: this.orderDetailsLblText.productDescriptionLbl,\r\n filterable: true,\r\n widthForPDF: 150,\r\n _width: 250,\r\n }, {\r\n field: 'quantity',\r\n title: this.orderDetailsLblText.quantityLbl,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 120,\r\n }\r\n , {\r\n field: 'cost',\r\n title: this.orderDetailsLblText.costLbl,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 150,\r\n }\r\n ]\r\n };\r\n\r\n getOrderDetails() {\r\n this.orderLoading = true;\r\n const body: IGetSampleProductOrderDetailsByHeader = {\r\n sampleProductUniqueId: Number(this.orderNum)\r\n }\r\n this.productSampleFulfillmentService.getSampleProductOrderDetailsByHeader(body).subscribe((response: Array) => {\r\n if (response) {\r\n this.orderGridData = response;\r\n this.productSampleFulfillmentService.setOrderDetailsGridData(this.orderGridData);\r\n this.loadOrderDetailsGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Soory an error occured while loading the page.');\r\n })\r\n this.orderLoading = false;\r\n }\r\n private loadOrderDetailsGridData(): void {\r\n if (this.orderGridSettings.state)\r\n this.orderDetailsGridData = process(this.orderGridData, this.orderGridSettings.state);\r\n else\r\n this.orderDetailsGridData = process(this.orderGridData, this.orderGridstate);\r\n this.orderGridSettings.gridData = this.orderDetailsGridData;\r\n }\r\n protected orderDetailsGridSortChange(sort): void {\r\n this.orderGridstate.sort = sort;\r\n this.loadOrderDetailsGridData();\r\n }\r\n\r\n protected orderDetailsGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.orderGridstate.skip = skip;\r\n this.orderGridstate.take;\r\n this.loadOrderDetailsGridData();\r\n }\r\n\r\n public orderDetailsGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.orderGridstate = state;\r\n this.orderGridSettings.state = this.orderGridstate;\r\n this.loadOrderDetailsGridData();\r\n }\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var currFilter = this.orderGridSettings.state.filter;\r\n var filterData = process(this.orderGridData, {\r\n filter: currFilter\r\n });\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.orderGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [\r\n this.orderDetailsLblText.stockNumLbl,\r\n this.orderDetailsLblText.productDescriptionLbl,\r\n this.orderDetailsLblText.quantityLbl,\r\n this.orderDetailsLblText.costLbl\r\n ];\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n worksheet.addRow([this.orderLblText.orderNumberLbl + \": \" + this.orderHeaderGridData.sampleProductOrderNumber + '', '', '', '', this.orderLblText.createdDateLbl + \": \" + this.orderHeaderGridData.createdDateUIString]);\r\n worksheet.addRow([this.orderLblText.customerLbl + \": \" + this.orderHeaderGridData.customer + '', '', '', '', this.orderLblText.costLbl + \": \" + (this.orderHeaderGridData.cost ? this.cp.transform(this.orderHeaderGridData.cost, 'USD', true, '1.2-2') : '')]);\r\n worksheet.addRow([this.orderLblText.contactLbl + \": \" + this.orderHeaderGridData.contact + '', '', '', '', this.orderLblText.regionLbl + \": \" + this.orderHeaderGridData.region]);\r\n worksheet.addRow([this.orderLblText.contactEmailLbl + \": \" + this.userEmail + '', '', '', '', this.orderLblText.trackingMethodLbl + \": \"]);\r\n worksheet.addRow([this.orderLblText.ccEmailLbl + \": \" + (this.orderHeaderGridData.ccEmail ? this.orderHeaderGridData.ccEmail : '') + '', '', '', '', this.orderLblText.trackingNumberLbl + \": \" ]);\r\n\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n worksheet.columns[0].width = 25;\r\n let orderDetailsRow = worksheet.addRow([\"Sample Product Order Details List\"]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n dataArray.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.quantity ? p.quantity : '',\r\n p.cost ? this.cp.transform(p.cost, 'USD', true, '1.2-2') : '',\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleProductOrderDetails.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var currFilter = this.orderGridSettings.state.filter;\r\n var filterData = process(this.orderGridData, {\r\n filter: currFilter\r\n });\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.orderGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.orderDetailsLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n }, \r\n {\r\n columns: [\r\n [{\r\n text: this.orderLblText.sampleProductOrderNumberLbl + \": \" + this.orderHeaderGridData.sampleProductOrderNumber,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.customerLbl + \": \" + this.orderHeaderGridData.customer,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.contactLbl + \": \" + this.orderHeaderGridData.contact,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.contactEmailLbl + \": \" + this.userEmail,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.ccEmailLbl + \": \" + (this.orderHeaderGridData.ccEmail ? this.orderHeaderGridData.ccEmail : ''),\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }\r\n ],\r\n [{\r\n text: this.orderLblText.createdDateLbl + \": \" + this.orderHeaderGridData.createdDateUIString,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.costLbl + \": \" + (this.orderHeaderGridData.cost ? this.cp.transform(this.orderHeaderGridData.cost, 'USD', true, '1.2-2') : ''),\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.regionLbl + \": \" + this.orderHeaderGridData.region,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }, {\r\n text: this.orderLblText.trackingMethodLbl + \": \" ,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n },\r\n {\r\n text: this.orderLblText.trackingNumberLbl + \": \",\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }\r\n ],\r\n ]\r\n },\r\n {\r\n text: \"Sample Product Order Details List\",\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput,\r\n body: [\r\n [\r\n this.orderDetailsLblText.stockNumLbl,\r\n this.orderDetailsLblText.productDescriptionLbl,\r\n this.orderDetailsLblText.quantityLbl,\r\n this.orderDetailsLblText.costLbl\r\n ],\r\n ...dataArray.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.quantity ? p.quantity : '',\r\n p.cost ? this.cp.transform(p.cost, 'USD', true, '1.2-2') : '',\r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleProductOrderDetails.pdf');\r\n this.loadingPDF = false;\r\n }\r\n\r\n redirectToOrderHistoryPage() {\r\n this.router.navigate(['sample-request-admin/sample-request-order-history']);\r\n }\r\n\r\n}\r\n","export default \".filter-order-header-div {\\n margin-left: 0px !important;\\n}\\n\\n.filter-order-header-start-date {\\n margin-right: 25px !important;\\n display: grid;\\n}\\n\\n.lbl {\\n margin-bottom: 2px !important;\\n float: left !important;\\n}\\n\\n.filter-validate-message {\\n color: red;\\n text-align: center;\\n padding-bottom: 15px;\\n display: grid;\\n}\\n\\n.filter-date-btn {\\n margin-top: 22px;\\n}\\n\\n.sample-product-order-number {\\n text-decoration: underline !important;\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3Qtb3JkZXItaGlzdG9yeS9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxmZWF0dXJlc1xcYWRtaW5cXHNhbXBsZS1yZXF1ZXN0LW9yZGVyLWhpc3RvcnlcXHNhbXBsZS1yZXF1ZXN0LW9yZGVyLWhpc3RvcnkuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LW9yZGVyLWhpc3Rvcnkvc2FtcGxlLXJlcXVlc3Qtb3JkZXItaGlzdG9yeS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUVJLDJCQUFBO0FDQUo7O0FERUE7RUFDRSw2QkFBQTtFQUNBLGFBQUE7QUNDRjs7QURDQTtFQUNFLDZCQUFBO0VBQ0Esc0JBQUE7QUNFRjs7QURBQTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtBQ0dGOztBRERBO0VBQ0ksZ0JBQUE7QUNJSjs7QURGQTtFQUNJLHFDQUFBO0VBQ0EsZUFBQTtBQ0tKIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3Qtb3JkZXItaGlzdG9yeS9zYW1wbGUtcmVxdWVzdC1vcmRlci1oaXN0b3J5LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbHRlci1vcmRlci1oZWFkZXItZGl2XHJcbntcclxuICAgIG1hcmdpbi1sZWZ0OjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5maWx0ZXItb3JkZXItaGVhZGVyLXN0YXJ0LWRhdGUge1xyXG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6Z3JpZDtcclxufVxyXG4ubGJsIHtcclxuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcclxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcbi5maWx0ZXItdmFsaWRhdGUtbWVzc2FnZSB7XHJcbiAgY29sb3I6IHJlZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG4uZmlsdGVyLWRhdGUtYnRue1xyXG4gICAgbWFyZ2luLXRvcDoyMnB4O1xyXG59XHJcbi5zYW1wbGUtcHJvZHVjdC1vcmRlci1udW1iZXJ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxufVxyXG4iLCIuZmlsdGVyLW9yZGVyLWhlYWRlci1kaXYge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5maWx0ZXItb3JkZXItaGVhZGVyLXN0YXJ0LWRhdGUge1xuICBtYXJnaW4tcmlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmxibCB7XG4gIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uZmlsdGVyLXZhbGlkYXRlLW1lc3NhZ2Uge1xuICBjb2xvcjogcmVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4uZmlsdGVyLWRhdGUtYnRuIHtcbiAgbWFyZ2luLXRvcDogMjJweDtcbn1cblxuLnNhbXBsZS1wcm9kdWN0LW9yZGVyLW51bWJlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn0iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { IGetSampleProductOrderHeader, ISampleProductOrderHeader, ISampleProductOrderDetails } from '../../../core/models';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyType } from '../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { CurrencyPipe, formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\n\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: 'app-sample-request-order-history',\r\n templateUrl: './sample-request-order-history.component.html',\r\n styleUrls: ['./sample-request-order-history.component.scss']\r\n})\r\nexport class SampleRequestOrderHistoryComponent implements OnInit {\r\n filterOrderHeaderForm: FormGroup;\r\n filterSaveInProcess: boolean;\r\n orderHeaderGridData: GridDataResult;\r\n orderGridData: any[] = [];\r\n orderLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n filterValidateMessage: boolean;\r\n //#region label declaration \r\n\r\n protected orderLblText = {\r\n contactLbl: 'Contact',\r\n customerLbl: 'Customer',\r\n ccEmailLbl: 'CC Email',\r\n regionLbl: 'Region',\r\n createdDateLbl: 'Order Date',\r\n sampleProductOrderNumberLbl: 'Order Number',\r\n costLbl: 'Cost',\r\n exportToExcelLbl : 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Product',\r\n startDateLbl: 'Start Date',\r\n endDateLbl: 'End Date',\r\n filterInfoMsgLbl: 'Please Select Start Date and End Date',\r\n filterButtonLbl: 'Filter'\r\n };\r\n //#endregion\r\n constructor(private formBuilder: FormBuilder, private router: Router,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService, private cp: CurrencyPipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initializeFormControls();\r\n }\r\n initializeFormControls() {\r\n this.filterOrderHeaderForm = this.formBuilder.group({\r\n startDate: new FormControl(),\r\n endDate: new FormControl(),\r\n });\r\n let todaysDate = new Date();\r\n let priorDate = new Date(new Date().setDate(todaysDate.getDate() - 30));\r\n this.filterOrderHeaderForm.controls.startDate.setValue(priorDate);\r\n this.filterOrderHeaderForm.controls.endDate.setValue(todaysDate);\r\n this.getFilterOrderHeader();\r\n }\r\n\r\n public orderGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'id',\r\n dir: 'desc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public orderGridSettings: GridSettings = {\r\n state: this.orderGridstate,\r\n gridData: process(this.orderGridData, this.orderGridstate),\r\n columnsConfig: [{\r\n field: 'sampleProductOrderNumber',\r\n title: this.orderLblText.sampleProductOrderNumberLbl,\r\n filterable: true,\r\n widthForPDF: 80,\r\n _width: 150,\r\n },\r\n {\r\n field: 'customer',\r\n title: this.orderLblText.customerLbl,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 220,\r\n },\r\n {\r\n field: 'createdDate',\r\n title: 'Order Date',//this.orderlblText.orderDatelbl ? this.orderlblText.orderDatelbl : this.orderSelectionGridLbl.orderDatelbl,\r\n filter: 'date',\r\n format: '{0:d}',//not able to get from and to\r\n _width: 220,\r\n filterable: true,\r\n widthForPDF: 80,\r\n }, {\r\n field: 'contact',\r\n title: this.orderLblText.contactLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 150,\r\n }\r\n , {\r\n field: 'cost',\r\n title: this.orderLblText.costLbl,\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 130,\r\n }\r\n ,\r\n {\r\n field: 'region',\r\n title: this.orderLblText.regionLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 130,\r\n }\r\n ]\r\n };\r\n\r\n\r\n getFilterOrderHeader() {\r\n this.filterValidateMessage = false;\r\n this.orderLoading = true;\r\n if (!this.validatefilterOrderHeaderForm()) {\r\n this.filterValidateMessage = true;\r\n return;\r\n }\r\n\r\n var controls = this.filterOrderHeaderForm.controls;\r\n const body: IGetSampleProductOrderHeader = {\r\n startDate: controls.startDate.value,\r\n endDate: controls.endDate.value\r\n }\r\n this.productSampleFulfillmentService.getSampleProductOrderHeader(body).subscribe((response: Array) => {\r\n if (response) {\r\n this.orderGridData = response;\r\n this.productSampleFulfillmentService.setOrderHeaderGridData(this.orderGridData);\r\n this.loadOrderHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Soory an error occured while loading the page.');\r\n })\r\n this.orderLoading = false;\r\n }\r\n\r\n private loadOrderHeaderGridData(): void {\r\n if (this.orderGridSettings.state)\r\n this.orderHeaderGridData = process(this.orderGridData, this.orderGridSettings.state);\r\n else\r\n this.orderHeaderGridData = process(this.orderGridData, this.orderGridstate);\r\n this.orderGridSettings.gridData = this.orderHeaderGridData;\r\n }\r\n protected orderHeaderGridSortChange(sort): void {\r\n this.orderGridstate.sort = sort;\r\n this.loadOrderHeaderGridData();\r\n }\r\n\r\n protected orderHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.orderGridstate.skip = skip;\r\n this.orderGridstate.take;\r\n this.loadOrderHeaderGridData();\r\n }\r\n\r\n public orderHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.orderGridstate = state;\r\n this.orderGridSettings.state = this.orderGridstate;\r\n this.loadOrderHeaderGridData();\r\n }\r\n proceedToSampleProductDetails(dataItem: ISampleProductOrderHeader) {\r\n this.productSampleFulfillmentService.setSingleOrderHeaderGridData(dataItem);\r\n this.router.navigate(['sample-request-admin/sample-request-order-history2/order-details/'+dataItem.id]);\r\n }\r\n \r\n validatefilterOrderHeaderForm() {\r\n let isValid = true;\r\n const controls = this.filterOrderHeaderForm.controls;\r\n if (controls.startDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n if (controls.endDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n return isValid;\r\n }\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var controls = this.filterOrderHeaderForm.controls;\r\n var currFilter = this.orderGridSettings.state.filter;\r\n var filterData = process(this.orderGridData, {\r\n filter: currFilter\r\n });\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.orderGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [\r\n this.orderLblText.sampleProductOrderNumberLbl,\r\n this.orderLblText.customerLbl,\r\n this.orderLblText.createdDateLbl,\r\n this.orderLblText.contactLbl,\r\n this.orderLblText.costLbl,\r\n this.orderLblText.regionLbl\r\n ];\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n worksheet.addRow(['', '', this.orderLblText.startDateLbl + \": \" + toDate]);\r\n worksheet.addRow(['', '', this.orderLblText.endDateLbl + \": \" + fromDate]);\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n\r\n let orderDetailsRow = worksheet.addRow([this.orderLblText.sampleProductLbl]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n \r\n dataArray.map(p =>\r\n ([\r\n p.sampleProductOrderNumber ? p.sampleProductOrderNumber : '',\r\n p.customer ? p.customer : '',\r\n p.createdDate ? p.createdDate : '',\r\n p.contact ? p.contact : '',\r\n p.cost ? this.cp.transform(p.cost, 'USD', true, '1.2-2') : '',\r\n p.region ? p.region : '',\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleProductOrderHeader.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var controls = this.filterOrderHeaderForm.controls;\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n var currFilter = this.orderGridSettings.state.filter;\r\n var filterData = process(this.orderGridData, {\r\n filter: currFilter\r\n });\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.orderGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n if (c.title === this.orderLblText.createdDateLbl)\r\n fieldOutput.push(\"createdDateUIString\");//temp fix. Need to remove. \r\n else\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n }); \r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.orderLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n },\r\n {\r\n columns: [\r\n [{\r\n text: this.orderLblText.startDateLbl + \": \" + toDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n },\r\n {\r\n text: this.orderLblText.endDateLbl + \": \" + fromDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }],\r\n ]\r\n },\r\n {\r\n text: \"Sample Product Order List\",\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput,\r\n body: [\r\n [\r\n this.orderLblText.sampleProductOrderNumberLbl,\r\n this.orderLblText.customerLbl,\r\n this.orderLblText.createdDateLbl,\r\n this.orderLblText.contactLbl,\r\n this.orderLblText.costLbl,\r\n this.orderLblText.regionLbl\r\n ],\r\n ...dataArray.map(p =>\r\n ([\r\n p.sampleProductOrderNumber ? p.sampleProductOrderNumber : '',\r\n p.customer ? p.customer : '',\r\n p.createdDateUIString ? p.createdDateUIString : '',\r\n p.contact ? p.contact : '',\r\n p.cost ? this.cp.transform(p.cost, 'USD', true, '1.2-2') : '',\r\n p.region ? p.region : '',\r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleProductOrderHeader.pdf');\r\n this.loadingPDF = false;\r\n }\r\n\r\n redirectToSampleRequestAdminPage() {\r\n this.router.navigate(['sample-request-admin/home']);\r\n }\r\n}\r\n","export default \".reorder-report-left-div {\\n float: left;\\n padding-right: 20px;\\n}\\n\\n.reorder-report-left-div .lbl-reorder, .reorder-report-right-div .lbl-reorder {\\n margin-left: 10px;\\n}\\n\\n.red {\\n color: red;\\n}\\n\\n.wrapheader-sample-admin-grid .k-column-title {\\n white-space: normal !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtcmVvcmRlci1yZXBvcnQvQzpcXFN1ZGlwdGFcXFByb2plY3RzXFx0Y3Mtc2FtcGxlLXJlcXVlc3QtYWFwXFxBYXBQU0ZVSS9zcmNcXGFwcFxcZmVhdHVyZXNcXGFkbWluXFxzYW1wbGUtcmVxdWVzdC1yZW9yZGVyLXJlcG9ydFxcc2FtcGxlLXJlcXVlc3QtcmVvcmRlci1yZXBvcnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LXJlb3JkZXItcmVwb3J0L3NhbXBsZS1yZXF1ZXN0LXJlb3JkZXItcmVwb3J0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FEQ0E7RUFDRSxpQkFBQTtBQ0VGOztBREFBO0VBQ0ksVUFBQTtBQ0dKOztBRERBO0VBQ0UsOEJBQUE7QUNJRiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LXJlb3JkZXItcmVwb3J0L3NhbXBsZS1yZXF1ZXN0LXJlb3JkZXItcmVwb3J0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJlb3JkZXItcmVwb3J0LWxlZnQtZGl2IHtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG59XHJcbi5yZW9yZGVyLXJlcG9ydC1sZWZ0LWRpdiAubGJsLXJlb3JkZXIsIC5yZW9yZGVyLXJlcG9ydC1yaWdodC1kaXYgLmxibC1yZW9yZGVyIHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4ucmVke1xyXG4gICAgY29sb3I6cmVkO1xyXG59XHJcbi53cmFwaGVhZGVyLXNhbXBsZS1hZG1pbi1ncmlkIC5rLWNvbHVtbi10aXRsZSB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5yZW9yZGVyLXJlcG9ydC1sZWZ0LWRpdiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4ucmVvcmRlci1yZXBvcnQtbGVmdC1kaXYgLmxibC1yZW9yZGVyLCAucmVvcmRlci1yZXBvcnQtcmlnaHQtZGl2IC5sYmwtcmVvcmRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4ucmVkIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLndyYXBoZWFkZXItc2FtcGxlLWFkbWluLWdyaWQgLmstY29sdW1uLXRpdGxlIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { IGetFilterSampleReorderReport, ISampleReorderReport } from '../../../core/models';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyType } from '../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { CurrencyPipe, formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: 'app-sample-request-reorder-report',\r\n templateUrl: './sample-request-reorder-report.component.html',\r\n styleUrls: ['./sample-request-reorder-report.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SampleRequestReorderReportComponent implements OnInit {\r\n reorderHeaderGridData: GridDataResult;\r\n totalReorderGridData: any[] = [];\r\n reorderGridData: any[] = [];\r\n reorderLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n isonlyReorder: boolean;\r\n isInActiveReorder: boolean;\r\n activeList =\r\n [\r\n { name: 'Yes', activeStatus: true },\r\n { name: 'No', activeStatus: false }];\r\n //#region label declaration \r\n\r\n protected reorderReportLblText = {\r\n stockLbl: 'Stock #',\r\n categoryLbl: 'Category',\r\n productDescriptionLbl: 'Product Description',\r\n costLbl: 'Item Cost',\r\n stockingLevelLbl: 'Stocking Level',\r\n currentInventoryLbl: 'Current Inventory',\r\n reorderPointLbl: 'Reorder Point',\r\n isReorderLbl: 'Reorder?',\r\n isActiveLbl: 'Active',\r\n exportToExcelLbl: 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Request Reorder Report',\r\n onlyReorderItems: 'Display Only Reorders?',\r\n inactiveReorderItems: 'Include Inactive Items?',\r\n avgUsagePerMonthLbl: 'Avg Usage/Mo',\r\n noOfMonthsLbl: 'Months Remaining'\r\n };\r\n //#endregion\r\n constructor(private formBuilder: FormBuilder, private router: Router,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService, private cp: CurrencyPipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isonlyReorder = false;\r\n this.isInActiveReorder = false;\r\n this.getAllReorderReport(); \r\n }\r\n public reorderGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'categoryName',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public reorderGridSettings: GridSettings = {\r\n state: this.reorderGridstate,\r\n gridData: process(this.reorderGridData, this.reorderGridstate),\r\n columnsConfig: [{\r\n field: 'stockNum',\r\n title: this.reorderReportLblText.stockLbl,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 95,\r\n },\r\n {\r\n field: 'categoryName',\r\n title: this.reorderReportLblText.categoryLbl,\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 130,\r\n }, {\r\n field: 'subCategoryDescription',\r\n title: this.reorderReportLblText.productDescriptionLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 250,\r\n }\r\n , {\r\n field: 'currentCostId',\r\n title: this.reorderReportLblText.costLbl,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 110,\r\n }\r\n ,\r\n {\r\n field: 'stockingLevel',\r\n title: this.reorderReportLblText.stockingLevelLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 105,\r\n }, {\r\n field: 'currentInventory',\r\n title: this.reorderReportLblText.currentInventoryLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 95,\r\n }, {\r\n field: 'reorderPoint',\r\n title: this.reorderReportLblText.reorderPointLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 95,\r\n }, {\r\n field: 'avgUsagePerMonth',\r\n title: this.reorderReportLblText.avgUsagePerMonthLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 90,\r\n }, {\r\n field: 'noOfMonths',\r\n title: this.reorderReportLblText.noOfMonthsLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 90,\r\n }, {\r\n field: 'isActive',\r\n title: this.reorderReportLblText.isActiveLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 100,\r\n }, {\r\n field: 'isReorder',\r\n title: this.reorderReportLblText.isReorderLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 30,\r\n _width: 90,\r\n },\r\n\r\n ]\r\n };\r\n filterOnlyReorderItems(event) {\r\n if (event.target.checked) \r\n this.isonlyReorder = true;\r\n else \r\n this.isonlyReorder = false;\r\n this.getFilterReorderItems();\r\n }\r\n filterInActiveReorderItems(event) {\r\n if (event.target.checked) \r\n this.isInActiveReorder = true;\r\n else \r\n this.isInActiveReorder = false;\r\n this.getFilterReorderItems();\r\n }\r\n getFilterReorderItems() {\r\n let totalReorderItems: any[] = [];\r\n if (this.isonlyReorder && this.isInActiveReorder) {\r\n let onlyReorderItems: any[] = [];\r\n for (const [key, value] of Object.entries(this.totalReorderGridData)) {\r\n if (value.currentInventory < value.reorderPoint)\r\n onlyReorderItems.push(value);\r\n }\r\n this.reorderGridData = onlyReorderItems;\r\n this.loadReorderHeaderGridData();\r\n }\r\n else if (this.isonlyReorder) {\r\n let onlyReorderItems: any[] = [];\r\n for (const [key, value] of Object.entries(this.totalReorderGridData)) {\r\n if (value.currentInventory < value.reorderPoint)\r\n onlyReorderItems.push(value);\r\n }\r\n this.reorderGridData = onlyReorderItems.filter(r => r.isActive == true);\r\n this.loadReorderHeaderGridData();\r\n }\r\n else if (this.isInActiveReorder) {\r\n this.reorderGridData = this.totalReorderGridData;;\r\n this.loadReorderHeaderGridData();\r\n }\r\n else {\r\n const dataList = this.totalReorderGridData.filter(r => r.isActive == true);\r\n this.reorderGridData = dataList;\r\n this.loadReorderHeaderGridData();\r\n } \r\n }\r\n\r\n getAllReorderReport() {\r\n this.reorderLoading = true;\r\n this.productSampleFulfillmentService.getAllReorderReport().subscribe((response: Array) => {\r\n if (response) {\r\n this.totalReorderGridData = response;\r\n this.reorderGridData = response.filter(r => r.isActive == true);\r\n this.productSampleFulfillmentService.setReorderHeaderGridData(this.reorderGridData);\r\n this.loadReorderHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Sorry an error occured while loading the page.');\r\n })\r\n this.reorderLoading = false;\r\n }\r\n\r\n private loadReorderHeaderGridData(): void {\r\n if (this.reorderGridSettings.state)\r\n this.reorderHeaderGridData = process(this.reorderGridData, this.reorderGridSettings.state);\r\n else\r\n this.reorderHeaderGridData = process(this.reorderGridData, this.reorderGridstate);\r\n this.reorderGridSettings.gridData = this.reorderHeaderGridData;\r\n }\r\n protected reorderHeaderGridSortChange(sort): void {\r\n this.reorderGridstate.sort = sort;\r\n this.loadReorderHeaderGridData();\r\n }\r\n\r\n protected reorderHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.reorderGridstate.skip = skip;\r\n this.reorderGridstate.take;\r\n this.loadReorderHeaderGridData();\r\n }\r\n\r\n public reorderHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.reorderGridstate = state;\r\n this.reorderGridSettings.state = this.reorderGridstate;\r\n this.loadReorderHeaderGridData();\r\n }\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var currFilter = this.reorderGridSettings.state.filter;\r\n var filterData = process(this.reorderGridData, {\r\n filter: currFilter\r\n });\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.reorderGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [this.reorderReportLblText.stockLbl,\r\n this.reorderReportLblText.categoryLbl,\r\n this.reorderReportLblText.productDescriptionLbl,\r\n this.reorderReportLblText.costLbl,\r\n this.reorderReportLblText.stockingLevelLbl,\r\n this.reorderReportLblText.currentInventoryLbl,\r\n this.reorderReportLblText.reorderPointLbl,\r\n this.reorderReportLblText.avgUsagePerMonthLbl,\r\n this.reorderReportLblText.noOfMonthsLbl,\r\n this.reorderReportLblText.isActiveLbl,\r\n this.reorderReportLblText.isReorderLbl];\r\n\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n\r\n let orderDetailsRow = worksheet.addRow([this.reorderReportLblText.sampleProductLbl]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n dataArray.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.categoryName ? p.categoryName : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.currentCostId ? this.cp.transform(p.currentCostId, 'USD', true, '1.2-2') : '',\r\n p.stockingLevel ? p.stockingLevel : '',\r\n p.currentInventory ? p.currentInventory : '',\r\n p.reorderPoint ? p.reorderPoint : '',\r\n p.avgUsagePerMonth ? p.avgUsagePerMonth : '',\r\n p.noOfMonths ? p.noOfMonths : '',\r\n p.isActive ? (p.isActive == true ? 'Yes ' : 'No') : 'No',\r\n p.isReorder ? p.isReorder : '',\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleRequestReorderReport.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var currFilter = this.reorderGridSettings.state.filter;\r\n var filterData = process(this.reorderGridData, {\r\n filter: currFilter\r\n });\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.reorderGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.reorderReportLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n },\r\n {\r\n text: \"Sample Request Reorder List\",\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput, \r\n body: [\r\n [\r\n this.reorderReportLblText.stockLbl,\r\n this.reorderReportLblText.categoryLbl,\r\n this.reorderReportLblText.productDescriptionLbl,\r\n this.reorderReportLblText.costLbl,\r\n this.reorderReportLblText.stockingLevelLbl,\r\n this.reorderReportLblText.currentInventoryLbl,\r\n this.reorderReportLblText.reorderPointLbl,\r\n this.reorderReportLblText.avgUsagePerMonthLbl,\r\n this.reorderReportLblText.noOfMonthsLbl,\r\n this.reorderReportLblText.isActiveLbl,\r\n this.reorderReportLblText.isReorderLbl,\r\n ],\r\n ...filterData.data.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.categoryName ? p.categoryName : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.currentCostId ? this.cp.transform(p.currentCostId, 'USD', true, '1.2-2') : '',\r\n p.stockingLevel ? p.stockingLevel : '',\r\n p.currentInventory ? p.currentInventory : '',\r\n p.reorderPoint ? p.reorderPoint : '',\r\n p.avgUsagePerMonth ? p.avgUsagePerMonth : '',\r\n p.noOfMonths ? p.noOfMonths : '',\r\n p.isActive ? (p.isActive ==true ? 'Yes ' : 'No') : 'No',\r\n p.isReorder ? p.isReorder : '',\r\n \r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleRequestReorderReport.pdf');\r\n this.loadingPDF = false;\r\n }\r\n}\r\n","export default \".filter-usage-header-div {\\n margin-left: 0px !important;\\n}\\n\\n.filter-usage-header-start-date {\\n margin-right: 25px !important;\\n display: grid;\\n}\\n\\n.lbl {\\n margin-bottom: 2px !important;\\n float: left !important;\\n}\\n\\n.filter-validate-message {\\n color: red;\\n text-align: center;\\n padding-bottom: 15px;\\n display: grid;\\n}\\n\\n.filter-date-btn {\\n margin-top: 22px;\\n}\\n\\n.usage-region-report-dropdown {\\n width: 12rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvYWRtaW4vc2FtcGxlLXJlcXVlc3QtdXNhZ2UtcmVwb3J0L0M6XFxTdWRpcHRhXFxQcm9qZWN0c1xcdGNzLXNhbXBsZS1yZXF1ZXN0LWFhcFxcQWFwUFNGVUkvc3JjXFxhcHBcXGZlYXR1cmVzXFxhZG1pblxcc2FtcGxlLXJlcXVlc3QtdXNhZ2UtcmVwb3J0XFxzYW1wbGUtcmVxdWVzdC11c2FnZS1yZXBvcnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL2FkbWluL3NhbXBsZS1yZXF1ZXN0LXVzYWdlLXJlcG9ydC9zYW1wbGUtcmVxdWVzdC11c2FnZS1yZXBvcnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyQkFBQTtBQ0NGOztBREVBO0VBQ0UsNkJBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSw2QkFBQTtFQUNBLHNCQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGFBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FEQ0E7RUFDRSxZQUFBO0FDRUYiLCJmaWxlIjoic3JjL2FwcC9mZWF0dXJlcy9hZG1pbi9zYW1wbGUtcmVxdWVzdC11c2FnZS1yZXBvcnQvc2FtcGxlLXJlcXVlc3QtdXNhZ2UtcmVwb3J0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbHRlci11c2FnZS1oZWFkZXItZGl2IHtcclxuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maWx0ZXItdXNhZ2UtaGVhZGVyLXN0YXJ0LWRhdGUge1xyXG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbn1cclxuXHJcbi5sYmwge1xyXG4gIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maWx0ZXItdmFsaWRhdGUtbWVzc2FnZSB7XHJcbiAgY29sb3I6IHJlZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWJ0biB7XHJcbiAgbWFyZ2luLXRvcDogMjJweDtcclxufVxyXG4udXNhZ2UtcmVnaW9uLXJlcG9ydC1kcm9wZG93biB7XHJcbiAgd2lkdGg6IDEycmVtO1xyXG59XHJcbiIsIi5maWx0ZXItdXNhZ2UtaGVhZGVyLWRpdiB7XG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmZpbHRlci11c2FnZS1oZWFkZXItc3RhcnQtZGF0ZSB7XG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4ubGJsIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5maWx0ZXItdmFsaWRhdGUtbWVzc2FnZSB7XG4gIGNvbG9yOiByZWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5maWx0ZXItZGF0ZS1idG4ge1xuICBtYXJnaW4tdG9wOiAyMnB4O1xufVxuXG4udXNhZ2UtcmVnaW9uLXJlcG9ydC1kcm9wZG93biB7XG4gIHdpZHRoOiAxMnJlbTtcbn0iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent, DataBindingDirective } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridSettings, Info } from '../../../core/common';\r\nimport { IGetFilterSampleUsageReport, ISampleRegion } from '../../../core/models';\r\nimport { ProductSampleFulfillmentService } from '../../../core/services/product-sample-fulfillment.service';\r\nimport { UserService } from '../../../core/services/user.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NotifyType } from '../../../core/enums/NotifyType';\r\nimport { AppNotifyService } from '../../../core/services/app-notify.service';\r\nimport { CurrencyPipe, formatDate } from '@angular/common';\r\nimport { CommonService } from '../../../core/services/common.service';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\nimport * as Excel from 'exceljs/dist/exceljs.min.js';\r\nimport * as ExcelProper from \"exceljs\";\r\nimport * as fs from 'file-saver';\r\n\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nimport * as _ from \"lodash\";\r\nimport { forEach } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-sample-request-usage-report',\r\n templateUrl: './sample-request-usage-report.component.html',\r\n styleUrls: ['./sample-request-usage-report.component.scss']\r\n})\r\nexport class SampleRequestUsageReportComponent implements OnInit {\r\n filterUsageHeaderForm: FormGroup;\r\n filterSaveInProcess: boolean;\r\n usageHeaderGridData: GridDataResult;\r\n totalUsageGridData: any[] = [];\r\n usageGridData: any[] = [];\r\n usageLoading: boolean;\r\n loadingPDF: boolean;\r\n loadingExcel: boolean;\r\n filterValidateMessage: boolean;\r\n public getSampleRegion: ISampleRegion[] = [];\r\n isInActiveUsage: boolean;\r\n selectedRegionDescription: string = '';\r\n selectedRegionCode: string = '';\r\n //#region label declaration \r\n\r\n protected usageLblText = {\r\n stockNumLbl: 'Stock #',\r\n categoryLbl: 'Category',\r\n productDescriptionLbl: 'Product Description',\r\n regionLbl: 'Region',\r\n createdDateLbl: 'Order Date', \r\n costLbl: 'Cost',\r\n ordersLbl: 'Order',\r\n usageLbl: 'Usage',\r\n isActiveLbl:'Active',\r\n exportToExcelLbl: 'Export To Excel',\r\n exportToPDFLbl: 'Export To PDF',\r\n sampleProductLbl: 'Sample Product',\r\n infoMessageLbl: 'Please Select Start Date and End Date',\r\n startDateLbl: 'Start Date',\r\n endDateLbl: 'End Date',\r\n filterlbl: 'Filter',\r\n displayInactiveLbl: 'Include Inactive Items',\r\n sampleProductUsageLbl: 'Sample Product Usage List'\r\n };\r\n //#endregion\r\n constructor(private formBuilder: FormBuilder, private router: Router,\r\n private userService: UserService, private productSampleFulfillmentService: ProductSampleFulfillmentService,\r\n private appNotifyService: AppNotifyService, private commonService: CommonService, private cp: CurrencyPipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isInActiveUsage = false;\r\n this.initializeFormControls();\r\n this.getAllSampleRegion();\r\n this.getFilterUsageHeader(); \r\n }\r\n \r\n initializeFormControls() {\r\n this.filterUsageHeaderForm = this.formBuilder.group({\r\n startDate: new FormControl(),\r\n endDate: new FormControl(),\r\n region: new FormControl(),\r\n });\r\n let todaysDate = new Date();\r\n let priorDate = new Date(new Date().setDate(todaysDate.getDate() - 30));\r\n this.filterUsageHeaderForm.controls.startDate.setValue(priorDate);\r\n this.filterUsageHeaderForm.controls.endDate.setValue(todaysDate); \r\n }\r\n\r\n public usageGridstate: State = {\r\n skip: 0,\r\n take: 10,\r\n group: null,\r\n sort: [{\r\n field: 'categoryName',\r\n dir: 'asc'\r\n }],\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n //#region All column settings for the Grid\r\n public usageGridSettings: GridSettings = {\r\n state: this.usageGridstate,\r\n gridData: process(this.usageGridData, this.usageGridstate),\r\n columnsConfig: [{\r\n field: 'stockNum',\r\n title: this.usageLblText.stockNumLbl,\r\n filterable: true,\r\n widthForPDF: 50,\r\n _width: 110,\r\n },\r\n {\r\n field: 'categoryName',\r\n title: this.usageLblText.categoryLbl,\r\n filterable: true,\r\n widthForPDF: 80,\r\n _width: 130,\r\n }, {\r\n field: 'subCategoryDescription',\r\n title: this.usageLblText.productDescriptionLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 100,\r\n _width: 250,\r\n }\r\n , {\r\n field: 'totalCost',\r\n title: this.usageLblText.costLbl,\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 110,\r\n }\r\n ,\r\n {\r\n field: 'totalQuantity',\r\n title: this.usageLblText.usageLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 40,\r\n _width: 110,\r\n }, {\r\n field: 'totalOrders',\r\n title: this.usageLblText.ordersLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 50,\r\n _width: 110,\r\n },{\r\n field: 'isActive',\r\n title: this.usageLblText.isActiveLbl,\r\n //_width: 200,\r\n filterable: true,\r\n widthForPDF: 60,\r\n _width: 100,\r\n },\r\n //{\r\n // field: 'region',\r\n // title: this.usageLblText.regionLbl,\r\n // //_width: 200,\r\n // filterable: true,\r\n // widthForPDF: 40,\r\n // _width: 100,\r\n //}\r\n ]\r\n };\r\n\r\n filterInActiveUsageItems(event) {\r\n if (event.target.checked)\r\n this.isInActiveUsage = true;\r\n else\r\n this.isInActiveUsage = false;\r\n //this.getFilterReorderItems();\r\n }\r\n getAllSampleRegion() {\r\n this.productSampleFulfillmentService.GetSampleRegions().subscribe(response => {\r\n this.getSampleRegion.push({ regionCode: \"ALL\", regionDescription: \"All Regions\" });\r\n response.forEach((region: ISampleRegion) => {\r\n this.getSampleRegion.push({ regionCode: region.regionCode, regionDescription: region.regionDescription });\r\n }) \r\n });\r\n this.selectedRegionCode = \"ALL\";\r\n this.selectedRegionDescription = \"All Regions\";\r\n }\r\n getFilterUsageHeader() {\r\n this.filterValidateMessage = false;\r\n this.usageLoading = true;\r\n if (!this.validateFilterUsageHeaderForm()) {\r\n this.filterValidateMessage = true;\r\n return;\r\n }\r\n\r\n var controls = this.filterUsageHeaderForm.controls;\r\n const body: IGetFilterSampleUsageReport = {\r\n startDate: controls.startDate.value,\r\n endDate: controls.endDate.value,\r\n region: controls.region.value ? controls.region.value.regionCode : \"\",\r\n isActive: this.isInActiveUsage\r\n }\r\n this.productSampleFulfillmentService.getAllSampleUsageReport(body).subscribe((response: Array) => {\r\n if (response) {\r\n this.totalUsageGridData = response;\r\n if (this.isInActiveUsage) {\r\n //const dataList = this.totalUsageGridData.filter(r => r.isActive === false);\r\n this.usageGridData = response;\r\n }\r\n else {\r\n const dataList = this.totalUsageGridData.filter(r => r.isActive === true);\r\n this.usageGridData = dataList;\r\n } \r\n this.productSampleFulfillmentService.setUsageHeaderGridData(this.usageGridData);\r\n this.loadUsageHeaderGridData();\r\n }\r\n }, err => {\r\n this.appNotifyService.notify(NotifyType.ERROR, 'Soory an error occured while loading the page.');\r\n })\r\n this.usageLoading = false;\r\n }\r\n\r\n private loadUsageHeaderGridData(): void {\r\n if (this.usageGridSettings.state)\r\n this.usageHeaderGridData = process(this.usageGridData, this.usageGridSettings.state);\r\n else\r\n this.usageHeaderGridData = process(this.usageGridData, this.usageGridstate);\r\n this.usageGridSettings.gridData = this.usageHeaderGridData;\r\n }\r\n protected usageHeaderGridSortChange(sort): void {\r\n this.usageGridstate.sort = sort;\r\n this.loadUsageHeaderGridData();\r\n }\r\n\r\n protected usageHeaderGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.usageGridstate.skip = skip;\r\n this.usageGridstate.take;\r\n this.loadUsageHeaderGridData();\r\n }\r\n\r\n public usageHeaderGridDataStateChange(state: DataStateChangeEvent): void {\r\n this.usageGridstate = state;\r\n this.usageGridSettings.state = this.usageGridstate;\r\n this.loadUsageHeaderGridData();\r\n }\r\n\r\n\r\n validateFilterUsageHeaderForm() {\r\n let isValid = true;\r\n const controls = this.filterUsageHeaderForm.controls;\r\n if (controls.startDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n if (controls.endDate.value) {\r\n //this.finishSampleLbl.isEmptySubCategory = false;\r\n } else {\r\n //this.finishSampleLbl.isEmptySubCategory = true;\r\n isValid = false;\r\n }\r\n return isValid;\r\n }\r\n\r\n generateExcel() {\r\n this.loadingExcel = true;\r\n var controls = this.filterUsageHeaderForm.controls;\r\n var currFilter = this.usageGridSettings.state.filter;\r\n var filterData = process(this.usageGridData, {\r\n filter: currFilter\r\n });\r\n let workbook: ExcelProper.Workbook = new Excel.Workbook();\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n this.usageGridSettings.columnsConfig.filter(c => c.hidden != true).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n }); \r\n //#endregion\r\n let worksheet = workbook.addWorksheet();\r\n const header = [\r\n this.usageLblText.stockNumLbl,\r\n this.usageLblText.categoryLbl,\r\n this.usageLblText.productDescriptionLbl,\r\n this.usageLblText.costLbl,\r\n this.usageLblText.usageLbl,\r\n this.usageLblText.ordersLbl,\r\n this.usageLblText.isActiveLbl\r\n ];\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n worksheet.addRow(['', '', this.usageLblText.startDateLbl + \": \" + toDate]);\r\n worksheet.addRow(['', '', this.usageLblText.endDateLbl + \": \" + fromDate]);\r\n worksheet.addRow(['', '', this.usageLblText.regionLbl + \": \" + controls.region.value ? controls.region.value.regionDescription : \"\",]);\r\n worksheet.addRow([]);\r\n worksheet.addRow([]);\r\n\r\n let orderDetailsRow = worksheet.addRow([this.usageLblText.sampleProductUsageLbl]);\r\n orderDetailsRow.font = { size: 10, underline: 'double', bold: true };\r\n //Add Header row\r\n let headerRow = worksheet.addRow(header);\r\n\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'FFFFFF00' },\r\n bgColor: { argb: 'FF0000FF' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n dataArray.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.categoryName ? p.categoryName : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.totalCost ? this.cp.transform(p.totalCost, 'USD', true, '1.2-2') : '',\r\n p.totalQuantity ? p.totalQuantity : '',\r\n p.totalOrders ? p.totalOrders : '',\r\n p.isActive ? (p.isActive == true ? 'Yes ' : 'No') : 'No'\r\n ])\r\n )\r\n .forEach(d => {\r\n let row = worksheet.addRow(d);\r\n });\r\n worksheet.addRow([]);\r\n workbook.xlsx.writeBuffer().then((data) => {\r\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, 'SampleRequestUsageReport.xlsx');\r\n })\r\n this.loadingExcel = false;\r\n }\r\n\r\n async generatePDF() {\r\n //debugger;\r\n this.loadingPDF = true;\r\n var controls = this.filterUsageHeaderForm.controls;\r\n var toDate = formatDate(controls.startDate.value, 'MM/dd/yyyy', 'en');\r\n var fromDate = formatDate(controls.endDate.value, 'MM/dd/yyyy', 'en');\r\n var currFilter = this.usageGridSettings.state.filter;\r\n var filterData = process(this.usageGridData, {\r\n filter: currFilter\r\n });\r\n //#region - format data based on column settings\r\n var titleOutput = [];\r\n var fieldOutput = [];\r\n var widthOutput = [];\r\n this.usageGridSettings.columnsConfig.filter(c => c.hidden != true && c.widthForPDF > 0).forEach(c => {\r\n titleOutput.push(c.title);\r\n fieldOutput.push(c.field);\r\n widthOutput.push(c.widthForPDF);\r\n });\r\n //debugger;\r\n var dataArray: any[] = [];\r\n filterData.data.forEach(d => {\r\n dataArray.push(_.pick(d, fieldOutput));\r\n });\r\n //#endregion\r\n var todaysDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\r\n let docDefinition = {\r\n header: {\r\n columns: [\r\n { text: todaysDate, margin: [10, 12, 10, 20] },\r\n { text: this.usageLblText.sampleProductLbl, alignment: 'center', margin: [10, 12, 0, 20] }\r\n ]\r\n },\r\n content: [\r\n {\r\n // under NodeJS (or in case you use virtual file system provided by pdfmake)\r\n // you can also pass file names here\r\n image: await this.commonService.getBase64ImageFromURL(\r\n location.origin.toString() + \"/assets/images/kawneer_logo.JPG\"\r\n ),\r\n alignment: 'center', fit: [150, 150]\r\n },\r\n {\r\n columns: [\r\n [{\r\n text: this.usageLblText.startDateLbl + \": \" + toDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n },\r\n {\r\n text: this.usageLblText.endDateLbl + \": \" + fromDate,\r\n bold: true,\r\n margin: [0, 2, 0, 2]\r\n }],\r\n {\r\n text: this.usageLblText.regionLbl + \": \" + controls.region.value ? controls.region.value.regionDescription : \"\",\r\n margin: [0, 2, 0, 2]\r\n }\r\n ]\r\n },\r\n {\r\n text: this.usageLblText.sampleProductUsageLbl,\r\n style: 'sectionHeader'\r\n },\r\n {\r\n style: 'tableStyle',\r\n table: {\r\n headerRows: 1,\r\n //widths: ['*'],\r\n widths: widthOutput,\r\n body: [\r\n [\r\n this.usageLblText.stockNumLbl,\r\n this.usageLblText.categoryLbl,\r\n this.usageLblText.productDescriptionLbl,\r\n this.usageLblText.costLbl,\r\n this.usageLblText.usageLbl,\r\n this.usageLblText.ordersLbl,\r\n this.usageLblText.isActiveLbl\r\n ],\r\n ...filterData.data.map(p =>\r\n ([\r\n p.stockNum ? p.stockNum : '',\r\n p.categoryName ? p.categoryName : '',\r\n p.subCategoryDescription ? p.subCategoryDescription : '',\r\n p.totalCost ? this.cp.transform(p.totalCost, 'USD', true, '1.2-2') : '',\r\n p.totalQuantity ? p.totalQuantity : '',\r\n p.totalOrders ? p.totalOrders : '',\r\n p.isActive ? (p.isActive == true ? 'Yes ' : 'No') : 'No'\r\n\r\n ])\r\n )\r\n ]\r\n }\r\n }\r\n ],\r\n footer: {\r\n columns: [\r\n { text: '©1991-2021 Arconic. All rights reserved.', alignment: 'center' }\r\n ]\r\n },\r\n styles: {\r\n headerLeft: {\r\n fontSize: 22,\r\n },\r\n headerRight: {\r\n fontSize: 22,\r\n alignment: 'center'\r\n },\r\n anotherStyle: {\r\n italics: true,\r\n alignment: 'right'\r\n },\r\n sectionHeader: {\r\n bold: true,\r\n decoration: 'underline',\r\n fontSize: 14,\r\n margin: [0, 15, 0, 15]\r\n },\r\n tableStyle: {\r\n fontSize: 8\r\n }\r\n }\r\n };\r\n\r\n pdfMake.createPdf(docDefinition).download('SampleRequestUsageReport.pdf');\r\n this.loadingPDF = false;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ILoginRequest } from '../../core/models';\r\nimport { UserService } from '../../core/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n title = 'SnapPayLoginUI';\r\n oldpwd: any = \"\";\r\n newpwd: any = \"\";\r\n \r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async ChangePassword() {\r\n if (!this.oldpwd) {\r\n alert(\"please enter the old password\");\r\n }\r\n else if (!this.newpwd) {\r\n alert(\"please enter the new password\");\r\n }\r\n else {\r\n if (confirm('Are you sure you want to change password?')) {\r\n const changePwdBody = {\r\n userName: this.userService.readUserObject.userName,\r\n oldPassword: this.oldpwd,\r\n newPassword: this.newpwd\r\n };\r\n await (await this.userService.ChangePassword(changePwdBody)).subscribe((r: any) => {\r\n if (r.errorMessage == \"Success\") {\r\n alert(r.errorMessage);\r\n } else {\r\n alert(r.errorMessage);\r\n }\r\n });\r\n }\r\n } \r\n }\r\n}\r\n","export default \".center {\\n text-align: center;\\n}\\n\\n.kendoInput {\\n width: 95%;\\n}\\n\\n.lbl {\\n margin-bottom: 2px !important;\\n float: left;\\n}\\n\\n.top {\\n margin-top: 10px;\\n}\\n\\n.left {\\n margin-left: 10px;\\n}\\n\\n.borderRed {\\n border: 1px solid red !important;\\n}\\n\\n.spanInfoIconCls {\\n display: inline-block;\\n color: red;\\n width: 5%;\\n}\\n\\n.leftStyle {\\n margin-left: 4.3rem;\\n}\\n\\n.margin-10 {\\n margin: 10px;\\n}\\n\\n#qty {\\n width: 80px !important;\\n}\\n\\n.gridControlsSize {\\n width: 100% !important;\\n}\\n\\n.addBtn {\\n width: 87%;\\n}\\n\\n.paddingZero {\\n padding-left: 0px !important;\\n padding-right: 0px !important;\\n}\\n\\n.paddingRightZero {\\n padding-right: 0px !important;\\n}\\n\\n@media only screen and (max-width: 1024px) {\\n .paddingZero {\\n padding-left: 0px !important;\\n padding-right: 0px !important;\\n }\\n\\n .txtSizePwa {\\n width: 105% !important;\\n left: -7px;\\n }\\n\\n .txt-bold {\\n font-weight: 500;\\n }\\n\\n .qtyPwa {\\n /*padding: 0px 3px;\\n left:-10px;*/\\n padding-top: 10px !important;\\n }\\n\\n .pwaSampleRequestSearch {\\n width: 100%;\\n }\\n\\n .img-size {\\n width: 100px;\\n height: 100px;\\n }\\n\\n .QuantityClsPwa {\\n max-width: 73px !important;\\n height: 45px;\\n margin-left: -3px !important;\\n padding: 4px !important;\\n top: 2px;\\n }\\n\\n .drop-size-pwa {\\n width: 41% !important;\\n padding: 4px 0px !important;\\n height: 1.8rem;\\n margin-left: 18px;\\n }\\n\\n .drop-gender-pwa {\\n width: 41% !important;\\n padding: 4px 0px !important;\\n height: 1.8rem;\\n }\\n\\n .heading {\\n font-weight: 500;\\n font-size: 13px;\\n padding-left: 0px !important;\\n padding-right: 0px !important;\\n }\\n\\n .k-grid-remove-command {\\n border: none !important;\\n background-color: transparent !important;\\n padding: 0px;\\n font-size: 14px;\\n color: red !important;\\n }\\n\\n .k-grid-remove-command > span {\\n font-size: 14px;\\n }\\n\\n .textRight {\\n text-align: right;\\n }\\n\\n .paddingInPwa {\\n padding: 0px;\\n }\\n\\n .addBtn {\\n border: #28a745 1px solid;\\n }\\n}\\n\\n@media only screen and (max-width: 365px) {\\n .paddingLeft-15 {\\n padding-left: 15px !important;\\n }\\n}\\n\\n@media only screen and (min-width: 1025px) and (max-width: 4000px) {\\n .sampleRequestGridCls {\\n height: 470px;\\n }\\n\\n .pwaSampleRequestSearch {\\n display: none;\\n }\\n}\\n\\n.red {\\n color: red;\\n}\\n\\n.infoBoxImg {\\n height: 200px;\\n width: 200px;\\n}\\n\\n.contentInfobox {\\n /*display: flex;\\n flex-direction: row;*/\\n}\\n\\n.grid-img-larger-item {\\n display: inline-block;\\n height: 400px;\\n width: 400px;\\n}\\n\\n.sample-grid-img-zoom img, .sample-grid-img-zoom div {\\n cursor: pointer;\\n}\\n\\n.sample-grid-img-zoom img {\\n margin-right: 10px;\\n}\\n\\n.wrapheader-sample-request-grid {\\n white-space: normal !important;\\n}\\n\\n.sample-user-phone-number {\\n border: 1px solid #c1c1c1;\\n}\\n\\n.sample-request-img-popup .k-widget {\\n width: 33% !important;\\n}\\n\\n.sample-request-popup-close {\\n margin-bottom: 1%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvc2FtcGxlLXJlcXVlc3QvQzpcXFN1ZGlwdGFcXFByb2plY3RzXFx0Y3Mtc2FtcGxlLXJlcXVlc3QtYWFwXFxBYXBQU0ZVSS9zcmNcXGFwcFxcZmVhdHVyZXNcXHNhbXBsZS1yZXF1ZXN0XFxzYW1wbGUtcmVxdWVzdC1uZXcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL3NhbXBsZS1yZXF1ZXN0L3NhbXBsZS1yZXF1ZXN0LW5ldy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0FDQ0Y7O0FERUE7RUFDRSw2QkFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsZ0NBQUE7QUNDRjs7QURFQTtFQUNFLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QUNDRjs7QURFQTtFQUNFLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSxZQUFBO0FDQ0Y7O0FERUE7RUFDRSxzQkFBQTtBQ0NGOztBREVBO0VBQ0Usc0JBQUE7QUNDRjs7QURFQTtFQUNFLFVBQUE7QUNDRjs7QURFQTtFQUNFLDRCQUFBO0VBQ0EsNkJBQUE7QUNDRjs7QURFQTtFQUNFLDZCQUFBO0FDQ0Y7O0FERUE7RUFFRTtJQUNFLDRCQUFBO0lBQ0EsNkJBQUE7RUNBRjs7RURFQTtJQUNFLHNCQUFBO0lBQ0EsVUFBQTtFQ0NGOztFRENBO0lBQ0UsZ0JBQUE7RUNFRjs7RURBQTtJQUNFO2dCQUFBO0lBRUEsNEJBQUE7RUNHRjs7RURBQTtJQUNFLFdBQUE7RUNHRjs7RUREQTtJQUNFLFlBQUE7SUFDQSxhQUFBO0VDSUY7O0VERkE7SUFDRSwwQkFBQTtJQUNBLFlBQUE7SUFDQSw0QkFBQTtJQUNBLHVCQUFBO0lBQ0EsUUFBQTtFQ0tGOztFREhBO0lBQ0UscUJBQUE7SUFDQSwyQkFBQTtJQUNBLGNBQUE7SUFDQSxpQkFBQTtFQ01GOztFREpBO0lBQ0MscUJBQUE7SUFDQywyQkFBQTtJQUNBLGNBQUE7RUNPRjs7RURMQTtJQUNFLGdCQUFBO0lBQ0EsZUFBQTtJQUNBLDRCQUFBO0lBQ0EsNkJBQUE7RUNRRjs7RUROQTtJQUNFLHVCQUFBO0lBQ0Esd0NBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtJQUNBLHFCQUFBO0VDU0Y7O0VETkE7SUFDRSxlQUFBO0VDU0Y7O0VEUEE7SUFDRSxpQkFBQTtFQ1VGOztFRFJBO0lBQ0ksWUFBQTtFQ1dKOztFRFRBO0lBQ0UseUJBQUE7RUNZRjtBQUNGOztBRFZBO0VBQ0U7SUFDRSw2QkFBQTtFQ1lGO0FBQ0Y7O0FEVkE7RUFDRTtJQUNFLGFBQUE7RUNZRjs7RURUQTtJQUNFLGFBQUE7RUNZRjtBQUNGOztBRFJBO0VBQ0ksVUFBQTtBQ1VKOztBRFJBO0VBQ0UsYUFBQTtFQUNBLFlBQUE7QUNXRjs7QURUQTtFQUNFO3VCQUFBO0FDYUY7O0FEVkE7RUFDRSxxQkFBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0FDYUY7O0FEWEE7RUFDSSxlQUFBO0FDY0o7O0FEWkE7RUFDSSxrQkFBQTtBQ2VKOztBRGJBO0VBQ0UsOEJBQUE7QUNnQkY7O0FEZEE7RUFDRSx5QkFBQTtBQ2lCRjs7QURmQTtFQUNFLHFCQUFBO0FDa0JGOztBRGhCQTtFQUNFLGlCQUFBO0FDbUJGIiwiZmlsZSI6InNyYy9hcHAvZmVhdHVyZXMvc2FtcGxlLXJlcXVlc3Qvc2FtcGxlLXJlcXVlc3QtbmV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ua2VuZG9JbnB1dCB7XHJcbiAgd2lkdGg6IDk1JTtcclxufVxyXG5cclxuLmxibCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi50b3Age1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5sZWZ0IHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmJvcmRlclJlZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zcGFuSW5mb0ljb25DbHMge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjb2xvcjogcmVkO1xyXG4gIHdpZHRoOiA1JTtcclxufVxyXG5cclxuLmxlZnRTdHlsZSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDQuM3JlbTtcclxufVxyXG5cclxuLm1hcmdpbi0xMCB7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4jcXR5IHtcclxuICB3aWR0aDogODBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JpZENvbnRyb2xzU2l6ZSB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFkZEJ0biB7XHJcbiAgd2lkdGg6IDg3JTtcclxufVxyXG5cclxuLnBhZGRpbmdaZXJvIHtcclxuICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucGFkZGluZ1JpZ2h0WmVybyB7XHJcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcblxyXG4gIC5wYWRkaW5nWmVybyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfSBcclxuICAudHh0U2l6ZVB3YSB7XHJcbiAgICB3aWR0aDogMTA1JSAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogLTdweDtcclxuICB9XHJcbiAgLnR4dC1ib2xkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG4gIC5xdHlQd2Ege1xyXG4gICAgLypwYWRkaW5nOiAwcHggM3B4O1xyXG4gICAgbGVmdDotMTBweDsqL1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHghaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAucHdhU2FtcGxlUmVxdWVzdFNlYXJjaCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmltZy1zaXplIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgfVxyXG4gIC5RdWFudGl0eUNsc1B3YSB7XHJcbiAgICBtYXgtd2lkdGg6IDczcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA0cHggIWltcG9ydGFudDtcclxuICAgIHRvcDoycHg7XHJcbiAgfVxyXG4gIC5kcm9wLXNpemUtcHdhIHtcclxuICAgIHdpZHRoOiA0MSUhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogNHB4IDBweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxLjhyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMThweDtcclxuICB9XHJcbiAgLmRyb3AtZ2VuZGVyLXB3YSB7XHJcbiAgIHdpZHRoOiA0MSUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDRweCAwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMS44cmVtO1xyXG4gIH1cclxuICAuaGVhZGluZyB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuay1ncmlkLXJlbW92ZS1jb21tYW5kIHtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5rLWdyaWQtcmVtb3ZlLWNvbW1hbmQgPiBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcbiAgLnRleHRSaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbiAgLnBhZGRpbmdJblB3YXtcclxuICAgICAgcGFkZGluZzowcHg7XHJcbiAgfVxyXG4gIC5hZGRCdG4ge1xyXG4gICAgYm9yZGVyOiAjMjhhNzQ1IDFweCBzb2xpZDtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNjVweCl7XHJcbiAgLnBhZGRpbmdMZWZ0LTE1IHtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDQwMDBweCkge1xyXG4gIC5zYW1wbGVSZXF1ZXN0R3JpZENscyB7XHJcbiAgICBoZWlnaHQ6IDQ3MHB4O1xyXG4gIH1cclxuXHJcbiAgLnB3YVNhbXBsZVJlcXVlc3RTZWFyY2gge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gXHJcbn1cclxuLnJlZHtcclxuICAgIGNvbG9yOnJlZDtcclxufVxyXG4uaW5mb0JveEltZyB7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICB3aWR0aDogMjAwcHg7XHJcbn1cclxuLmNvbnRlbnRJbmZvYm94IHtcclxuICAvKmRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsqL1xyXG59XHJcbi5ncmlkLWltZy1sYXJnZXItaXRlbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogNDAwcHg7XHJcbiAgd2lkdGg6IDQwMHB4O1xyXG59XHJcbi5zYW1wbGUtZ3JpZC1pbWctem9vbSBpbWcsIC5zYW1wbGUtZ3JpZC1pbWctem9vbSBkaXZ7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxufVxyXG4uc2FtcGxlLWdyaWQtaW1nLXpvb20gaW1ne1xyXG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XHJcbn1cclxuLndyYXBoZWFkZXItc2FtcGxlLXJlcXVlc3QtZ3JpZCB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcbi5zYW1wbGUtdXNlci1waG9uZS1udW1iZXIge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMWMxYzE7XHJcbn1cclxuLnNhbXBsZS1yZXF1ZXN0LWltZy1wb3B1cCAuay13aWRnZXQge1xyXG4gIHdpZHRoOiAzMyUgIWltcG9ydGFudDtcclxufVxyXG4uc2FtcGxlLXJlcXVlc3QtcG9wdXAtY2xvc2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDElO1xyXG59XHJcblxyXG5cclxuIiwiLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmtlbmRvSW5wdXQge1xuICB3aWR0aDogOTUlO1xufVxuXG4ubGJsIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udG9wIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmJvcmRlclJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZCAhaW1wb3J0YW50O1xufVxuXG4uc3BhbkluZm9JY29uQ2xzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogcmVkO1xuICB3aWR0aDogNSU7XG59XG5cbi5sZWZ0U3R5bGUge1xuICBtYXJnaW4tbGVmdDogNC4zcmVtO1xufVxuXG4ubWFyZ2luLTEwIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4jcXR5IHtcbiAgd2lkdGg6IDgwcHggIWltcG9ydGFudDtcbn1cblxuLmdyaWRDb250cm9sc1NpemUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uYWRkQnRuIHtcbiAgd2lkdGg6IDg3JTtcbn1cblxuLnBhZGRpbmdaZXJvIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nUmlnaHRaZXJvIHtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5wYWRkaW5nWmVybyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC50eHRTaXplUHdhIHtcbiAgICB3aWR0aDogMTA1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IC03cHg7XG4gIH1cblxuICAudHh0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAucXR5UHdhIHtcbiAgICAvKnBhZGRpbmc6IDBweCAzcHg7XG4gICAgbGVmdDotMTBweDsqL1xuICAgIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHdhU2FtcGxlUmVxdWVzdFNlYXJjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW1nLXNpemUge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG5cbiAgLlF1YW50aXR5Q2xzUHdhIHtcbiAgICBtYXgtd2lkdGg6IDczcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA0cHggIWltcG9ydGFudDtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gIC5kcm9wLXNpemUtcHdhIHtcbiAgICB3aWR0aDogNDElICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNHB4IDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMS44cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxOHB4O1xuICB9XG5cbiAgLmRyb3AtZ2VuZGVyLXB3YSB7XG4gICAgd2lkdGg6IDQxJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDRweCAwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEuOHJlbTtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmstZ3JpZC1yZW1vdmUtY29tbWFuZCB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5rLWdyaWQtcmVtb3ZlLWNvbW1hbmQgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAudGV4dFJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5wYWRkaW5nSW5Qd2Ege1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuXG4gIC5hZGRCdG4ge1xuICAgIGJvcmRlcjogIzI4YTc0NSAxcHggc29saWQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzY1cHgpIHtcbiAgLnBhZGRpbmdMZWZ0LTE1IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiA0MDAwcHgpIHtcbiAgLnNhbXBsZVJlcXVlc3RHcmlkQ2xzIHtcbiAgICBoZWlnaHQ6IDQ3MHB4O1xuICB9XG5cbiAgLnB3YVNhbXBsZVJlcXVlc3RTZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5yZWQge1xuICBjb2xvcjogcmVkO1xufVxuXG4uaW5mb0JveEltZyB7XG4gIGhlaWdodDogMjAwcHg7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmNvbnRlbnRJbmZvYm94IHtcbiAgLypkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyovXG59XG5cbi5ncmlkLWltZy1sYXJnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDQwMHB4O1xufVxuXG4uc2FtcGxlLWdyaWQtaW1nLXpvb20gaW1nLCAuc2FtcGxlLWdyaWQtaW1nLXpvb20gZGl2IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2FtcGxlLWdyaWQtaW1nLXpvb20gaW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ud3JhcGhlYWRlci1zYW1wbGUtcmVxdWVzdC1ncmlkIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2FtcGxlLXVzZXItcGhvbmUtbnVtYmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MxYzFjMTtcbn1cblxuLnNhbXBsZS1yZXF1ZXN0LWltZy1wb3B1cCAuay13aWRnZXQge1xuICB3aWR0aDogMzMlICFpbXBvcnRhbnQ7XG59XG5cbi5zYW1wbGUtcmVxdWVzdC1wb3B1cC1jbG9zZSB7XG4gIG1hcmdpbi1ib3R0b206IDElO1xufSJdfQ== */\"","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { GridDataResult, PageChangeEvent, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, orderBy } from \"@progress/kendo-data-query\";\r\nimport {\r\n ICustomer, ISampleCategory, ISamplePlaceOrderBody, ISampleFinish, ISampleSubCategoryRequestGrid1, ISampleRequestLabel,\r\n IState, ISampleSubCategory, SampleSubCategoryRequestGrid1, ISampleRegion, ISampleProductDetailItems, ICountry\r\n} from '../../core/models';\r\nimport { MasterDataService } from '../../core/services/master-data.service';\r\nimport { UserService } from '../../core/services/user.service';\r\nimport { PanelBarComponent, PanelBarExpandMode } from '@progress/kendo-angular-layout';\r\nimport { AppNotifyService } from '../../core/services/app-notify.service';\r\nimport { NotifyType } from '../../core/enums/NotifyType';\r\nimport { LanguageTranslationService } from '../../core/services/language-translation.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ProductSampleFulfillmentService } from '../../core/services/product-sample-fulfillment.service';\r\n\r\n@Component({\r\n selector: 'app-sample-request-new',\r\n templateUrl: './sample-request-new.component.html',\r\n styleUrls: ['./sample-request-new.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SampleRequestNewComponent implements OnInit {\r\n //#region Member Variables\r\n sampleRequestTxt: ISampleRequestLabel;\r\n @ViewChild('panelbar', { static: false }) panel;\r\n public expandMode: number = PanelBarExpandMode.Multiple;\r\n public kendoPanelBarExpandMode: any = PanelBarExpandMode;\r\n\r\n public sampleRequestForm: FormGroup;\r\n public shippingDetailsForm: FormGroup;\r\n public sampleRequestGridView: GridDataResult;\r\n public sampleRequestGridView1: GridDataResult;\r\n public sampleRequestGridData: ISampleProductDetailItems[] = [];\r\n public sampleRequestGridData1: ISampleSubCategoryRequestGrid1[] = [];\r\n public getSampleCategory: ISampleCategory[] = [];\r\n public getSampleCategoryFilterData: ISampleCategory[] = [];\r\n public getFinish: ISampleFinish[] = [];\r\n public getState: IState[] = [];\r\n public getCountry: ICountry[] = [];\r\n isCountryData: boolean = false;\r\n public getSampleRegion: ISampleRegion[] = [];\r\n public sampleRequestLoading: boolean;\r\n public maxQuantity: number;\r\n public confirmDialogOpened: boolean;\r\n public confirmImageDialogOpened: boolean = false;\r\n gridLargerImage: string = '';\r\n isGridLargerImage: boolean = false;\r\n public saveInProcess: boolean;\r\n imageUrl: string;\r\n billingAddress: ICustomer;\r\n sampleRequestOrderNum: string = '';\r\n isExternalUser: boolean = false;\r\n justTest = \" \";\r\n //#endregion\r\n\r\n //#region constructor ngOnInit\r\n constructor(private formBuilder: FormBuilder, \r\n private userService: UserService, private masterDataService: MasterDataService, private appNotifyService: AppNotifyService,\r\n private languageTranslationService: LanguageTranslationService, \r\n private productSampleFulfillmentService: ProductSampleFulfillmentService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadLanguageTranslationData();\r\n this.imageUrl = environment.imageUrl;\r\n this.isExternalUser = true;\r\n this.isCountryData = true;\r\n this.sampleRequestForm = this.formBuilder.group({\r\n finishCategory: new FormControl(),\r\n finish: new FormControl(),\r\n // quantity: new FormControl()\r\n })\r\n this.shippingDetailsForm = this.formBuilder.group({\r\n companyName: new FormControl(),\r\n jobName: new FormControl(),\r\n addressLine1: new FormControl(),\r\n addressLine2: new FormControl(),\r\n phoneNumber: new FormControl(),\r\n city: new FormControl(),\r\n state: new FormControl(),\r\n zipCode: new FormControl(),\r\n contactFirstName: new FormControl(),\r\n contactLastName: new FormControl(),\r\n country: new FormControl(),\r\n ccEmail: new FormControl(),\r\n region: new FormControl(),\r\n })\r\n //const body = {\r\n // role:\"\" //pass role here\r\n //}\r\n this.productSampleFulfillmentService.getActiveSampleCategories().subscribe((sampleCategories) => {\r\n this.getSampleCategory = sampleCategories as ISampleCategory[];\r\n this.getSampleCategoryFilterData = sampleCategories as ISampleCategory[];\r\n });\r\n this.loadAddressData(this.userService.readUserObject.customerNumber);\r\n \r\n }\r\n //#endregion\r\n //#region language translate\r\n loadLanguageTranslationData() {\r\n const controlNameList = [\r\n { controlName: \"categoryLbl\" },\r\n { controlName: \"imageLbl\" },\r\n { controlName: \"finishCategoryLbl\" },\r\n { controlName: \"productLbl\" },\r\n { controlName: \"genderLbl\" },\r\n { controlName: \"sizeLbl\" },\r\n { controlName: \"quantityLbl\" },\r\n { controlName: \"addSelectionBtnLbl\" },\r\n { controlName: \"companyNameLbl\" },\r\n { controlName: \"addressLine1Lbl\" },\r\n { controlName: \"jobNameLbl\" },\r\n { controlName: \"addressLine2Lbl\" },\r\n { controlName: \"phoneNumberLbl\" },\r\n { controlName: \"cityLbl\" },\r\n { controlName: \"stateLbl\" },\r\n { controlName: \"zipCodeLbl\" },\r\n { controlName: \"info1Lbl\" },\r\n { controlName: \"info2Lbl\" },\r\n { controlName: \"info3Lbl\" },\r\n { controlName: \"sampleSelectionLbl\" },\r\n { controlName: \"selectionLbl\" },\r\n { controlName: \"continueLbl\" },\r\n { controlName: \"reviewSelectionLbl\" },\r\n { controlName: \"shippingDetailsLbl\" },\r\n { controlName: \"phoneNumberValidationLbl\" },\r\n { controlName: \"cancelLbl\" },\r\n { controlName: \"placeOrderLbl\" },\r\n { controlName: \"submitResponseLbl\" },\r\n { controlName: \"contactFirstNameLbl\" },\r\n { controlName: \"contactLastNameLbl\" },\r\n { controlName: \"colorCodeLbl\" },\r\n { controlName: \"stockNumLbl\" },\r\n { controlName: \"onBackOrderLbl\" },\r\n { controlName: \"maxQtyLbl\" },\r\n { controlName: \"countryLbl\" },\r\n { controlName: \"ccEmailLbl\" },\r\n { controlName: \"regionLbl\" },\r\n { controlName: \"info3Lbl\" },\r\n { controlName: \"ccEmailValidationLbl\" },\r\n { controlName: \"toEmailLbl\" },\r\n { controlName: \"sizeLbl\" },\r\n ];\r\n const componentName = \"samplerequest\";\r\n //const response = this.languageTranslationService.getLanguageTranslationList(controlNameList, componentName);\r\n //if (response.length > 0) {\r\n // this.sampleRequestTxt = response[response.length - 1];\r\n //} \r\n }\r\n //#endregion\r\n //#region label/variable declaration\r\n sampleRequestGrid = {\r\n imageLbl: \"Image\",\r\n categoryLbl: \"Category\",\r\n finishCategoryLbl: \"Select Category\",\r\n productLbl: \"Product\",\r\n genderLbl: \"Gender\",\r\n sizeLbl: \"Size\",\r\n quantityLbl: \"Quantity\",\r\n addSelectionBtnLbl: \"Add Selection\",\r\n sampleSelectionLbl: 'SAMPLE SELECTION',\r\n selectionLbl: 'Action',\r\n continueLbl: 'Continue',\r\n reviewSelectionLbl: 'REVIEW SELECTION',\r\n shippingDetailsLbl: 'SHIPPING DETAILS',\r\n phoneNumberValidationLbl: 'Phone number length should be minimum 10',\r\n cancelLbl: 'Cancel',\r\n placeOrderLbl: 'Place Order',\r\n submitResponseLbl: 'Thank you for shopping with us, Your Sample request order has been placed successfully',\r\n addedSucccessfullyLbl: \"Added successfully!\",\r\n colorCodeLbl: \"Color Code\",\r\n stockNumLbl: \"Stock#\",\r\n onBackOrderLbl: \"On Backorder\",\r\n maxQtyLbl: \"Max Order\",\r\n ccEmailValidationLbl: 'Please enter email in correct format (ex: test@arconic.com)',\r\n }\r\n\r\n sampleItems = {\r\n isEmptyFinishCategory: false,\r\n isEmptyFinish: false,\r\n isEmptyQuantity: false,\r\n isSubmitted: false,\r\n isSampleSelectionPanelValid: false,\r\n isReviewSelectionPanelValid: false,\r\n isContinueClicked: false,\r\n isContinue: false\r\n }\r\n //#endregion\r\n //#region validation \r\n\r\n //#endregion\r\n //#region filter\r\n handleFinishCategoryFilter(event) {\r\n if (!event) {\r\n this.getSampleCategory = this.getSampleCategoryFilterData;\r\n return;\r\n }\r\n const filterArray = this.getSampleCategoryFilterData.filter(x => x.categoryName != null);\r\n this.getSampleCategory = filterArray.filter(\r\n (s) => s.categoryName.toLowerCase().indexOf(event.toLowerCase()) !== -1\r\n ); \r\n }\r\n //#endregion\r\n //#region sorting,filtering,pagination of grid\r\n loadSampleRequestGrid() {\r\n this.sampleRequestGridView = process(this.sampleRequestGridData, this.sampleRequestGridstate);\r\n }\r\n protected sampleRequestGridstate: State = {\r\n sort: [],\r\n skip: 0,\r\n take: 10,\r\n group: [],\r\n filter: null,\r\n };\r\n protected sampleRequestGridSortChange(sort): void {\r\n this.sampleRequestGridstate.sort = sort;\r\n this.loadSampleRequestGrid();\r\n }\r\n protected sampleRequestGridPageChange({ skip, take }: PageChangeEvent): void {\r\n this.sampleRequestGridstate.skip = skip;\r\n this.sampleRequestGridstate.take = take;\r\n this.loadSampleRequestGrid();\r\n\r\n }\r\n protected sampleRequestDataStateChange(state: DataStateChangeEvent): void {\r\n this.sampleRequestGridstate = state;\r\n this.loadSampleRequestGrid();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region delete sample request row\r\n deleteSample(rowIndex) {\r\n this.sampleRequestGridData.splice(rowIndex, 1);\r\n this.loadSampleRequestGrid();\r\n }\r\n //#endregion\r\n //#region sample request functionality\r\n\r\n finishCategoryLeave() {\r\n const controls = this.sampleRequestForm.controls;\r\n if (controls.finishCategory.value && controls.finishCategory.value.length > 0) {\r\n this.productSampleFulfillmentService.getActiveSampleSubCategoriesByCatgeory(controls.finishCategory.value as ISampleCategory[]).subscribe(response => {\r\n if (response) {\r\n this.sampleRequestGridData1 = response;\r\n this.loadSampleRequestGrid1();\r\n }\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.sampleRequestGridData1 = [];\r\n this.loadSampleRequestGrid1();\r\n }\r\n this.sampleRequestGridstate1.skip = 0;\r\n this.loadSampleRequestGrid1();\r\n }\r\n //#endregion\r\n //#region sample request grid 1 operations\r\n //#region Grid dropdown change \r\n handleGenderChange(event, dataItem) {\r\n const selectedGender = event.value;\r\n if (selectedGender) {\r\n dataItem.selectedGender = selectedGender;\r\n }\r\n }\r\n handleSizeChange(event, dataItem) {\r\n const selectedSize = event.value;\r\n if (selectedSize) {\r\n dataItem.selectedSize = selectedSize;\r\n }\r\n }\r\n handleItemQtyChanged(event, dataItem) {\r\n if (dataItem.maxQtyCanBeOrdered >= event) {\r\n dataItem.quantity = event;\r\n } else {\r\n dataItem.quantity = event;\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity of this item is ' + dataItem.maxQtyCanBeOrdered);\r\n }\r\n\r\n }\r\n //#endregion\r\n //#region sorting,filtering,pagination of grid\r\n loadSampleRequestGrid1() {\r\n this.sampleRequestGridView1 = process(this.sampleRequestGridData1, this.sampleRequestGridstate1);\r\n }\r\n protected sampleRequestGridstate1: State = {\r\n sort: [],\r\n skip: 0,\r\n take: 10,\r\n group: [],\r\n filter: null,\r\n };\r\n protected sampleRequestGridSortChange1(sort): void {\r\n this.sampleRequestGridstate1.sort = sort;\r\n this.loadSampleRequestGrid1();\r\n }\r\n protected sampleRequestGridPageChange1({ skip, take }: PageChangeEvent): void {\r\n this.sampleRequestGridstate1.skip = skip;\r\n this.sampleRequestGridstate1.take = take;\r\n this.loadSampleRequestGrid1();\r\n\r\n }\r\n protected sampleRequestDataStateChange1(state: DataStateChangeEvent): void {\r\n this.sampleRequestGridstate1 = state;\r\n this.loadSampleRequestGrid1();\r\n }\r\n\r\n //#endregion\r\n //#region Add sample selection button functionality\r\n rowItems: SampleSubCategoryRequestGrid1;\r\n\r\n addSelection(item: any) {\r\n const rowItems = new SampleSubCategoryRequestGrid1();\r\n item.isEmptyQuantity = false as boolean;\r\n var type = \"\"; \r\n if (item.categoryName === \"KNA Clothing\" && item.categoryId === 12000) { //checking validation only for KNA Clothing\r\n if (!item.selectedGender) {\r\n item.isEmptyGender = true as boolean;\r\n return;\r\n } else {\r\n //rowItems.gender = item.selectedGender;\r\n }\r\n if (!item.selectedSize) {\r\n item.isEmptySizes = true as boolean;\r\n return;\r\n } else {\r\n //rowItems.size = item.selectedSize;\r\n }\r\n type = \"KNA Clothing\";\r\n } else {\r\n type = \"Other\";\r\n }\r\n if (item.quantity < 1) {\r\n item.isEmptyQuantity = true as boolean;\r\n return;\r\n } else {\r\n rowItems.quantity = item.quantity;\r\n }\r\n rowItems.imagePath = item.imagePath;\r\n rowItems.r_VALUE = item.r_VALUE;\r\n rowItems.g_VALUE = item.g_VALUE;\r\n rowItems.b_VALUE = item.b_VALUE;\r\n rowItems.absoluteURL = item.absoluteURL;\r\n rowItems.categoryName = item.categoryName;\r\n rowItems.subCategoryDescription = item.subCategoryDescription;\r\n rowItems.categoryId = item.categoryId;\r\n rowItems.subCategoryId = item.subCategoryId;\r\n rowItems.sku = item.sku;\r\n rowItems.colorCode = item.colorCode;\r\n rowItems.stockNum = item.stockNum;\r\n rowItems.onBackOrder = item.onBackOrder;\r\n rowItems.maxQtyCanBeOrdered = item.maxQtyCanBeOrdered;\r\n rowItems.width = item.width;\r\n rowItems.length = item.length;\r\n rowItems.height = item.height;\r\n rowItems.weight = item.weight;\r\n rowItems.size = item.size;\r\n var isRowExists = false;\r\n if (this.sampleRequestGridData.length > 0) {\r\n //checking duplicate row is there in second grid\r\n for (var i = 0; i < this.sampleRequestGridData.length; i++) {\r\n if (type == 'KNA Clothing') {\r\n if (this.sampleRequestGridData[i].categoryId == item.categoryId &&\r\n this.sampleRequestGridData[i].categoryName == item.categoryName \r\n //&& this.sampleRequestGridData[i].gender == item.selectedGender && this.sampleRequestGridData[i].size == item.selectedSize\r\n ) {\r\n if (this.sampleRequestGridData[i].quantity + item.quantity <= item.maxQtyCanBeOrdered) {\r\n this.sampleRequestGridData[i].quantity += item.quantity; //Updating the quantity in second table existing row\r\n isRowExists = true;\r\n } else {\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity exceeded to add this item');\r\n return;\r\n }\r\n\r\n } else {\r\n if (item.maxQtyCanBeOrdered < item.quantity) {\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity of this item is ' + item.maxQtyCanBeOrdered);\r\n return;\r\n }\r\n }\r\n } else {\r\n if (this.sampleRequestGridData[i].categoryId == item.categoryId &&\r\n this.sampleRequestGridData[i].subCategoryDescription == item.subCategoryDescription\r\n && this.sampleRequestGridData[i].stockNum == item.stockNum) {\r\n if (this.sampleRequestGridData[i].quantity + item.quantity <= item.maxQtyCanBeOrdered) {\r\n this.sampleRequestGridData[i].quantity += item.quantity; //Updating the quantity in second table existing row\r\n isRowExists = true;\r\n } else {\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity exceeded to add this item');\r\n return;\r\n }\r\n } else {\r\n if (item.maxQtyCanBeOrdered < item.quantity) {\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity of this item is ' + item.maxQtyCanBeOrdered);\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (item.maxQtyCanBeOrdered < item.quantity) {\r\n this.appNotifyService.notify(NotifyType.INFO, 'Maximum quantity for this item is ' + item.maxQtyCanBeOrdered);\r\n return;\r\n }\r\n }\r\n if (isRowExists == true) {\r\n this.loadSampleRequestGrid(); //just refresh the second grid data\r\n } else {\r\n this.sampleRequestGridData.push(rowItems); //Push the rowItems data in next grid here\r\n this.loadSampleRequestGrid();\r\n }\r\n this.appNotifyService.notify(NotifyType.SUCCESS, 'Added successfully!');\r\n item.isEmptyQuantity = false as boolean;\r\n item.quantity = 1;\r\n }\r\n //#endregion\r\n //#endregion\r\n\r\n //#region shipping address panel operations\r\n continueToReviewPanel() {\r\n this.sampleItems.isContinueClicked = true;\r\n if (this.sampleRequestGridData1.length > 0) {\r\n this.sampleItems.isSampleSelectionPanelValid = true;\r\n this.panel.childrenItems.forEach(item => {\r\n if (item.expanded) {\r\n item.expanded = false;\r\n item.selected = false;\r\n }\r\n });\r\n this.panel.childrenItems[1].expanded = true;\r\n this.panel.childrenItems[1].selected = true;\r\n } else {\r\n this.sampleItems.isSampleSelectionPanelValid = false;\r\n }\r\n //this.sampleRequestForm.reset();\r\n //this.sampleItems.isEmptyFinishCategory = false;\r\n //this.sampleItems.isEmptyFinish = false;\r\n //this.sampleItems.isEmptyQuantity = false;\r\n this.sampleItems.isSubmitted = false;\r\n\r\n }\r\n continueToAddressPanel() {\r\n this.sampleItems.isContinue = true;\r\n if (this.sampleRequestGridData.length > 0) {\r\n this.sampleItems.isReviewSelectionPanelValid = true;\r\n this.panel.childrenItems.forEach(item => {\r\n if (item.expanded) {\r\n item.expanded = false;\r\n item.selected = false;\r\n }\r\n });\r\n this.panel.childrenItems[2].expanded = true;\r\n this.panel.childrenItems[2].selected = true;\r\n } else {\r\n this.sampleItems.isReviewSelectionPanelValid = false;\r\n }\r\n\r\n this.sampleItems.isSubmitted = false;\r\n }\r\n\r\n //#region label and variable declaration\r\n shippingDetails = {\r\n companyNameLbl: \"Company Name\",\r\n addressLine1Lbl: \"Address Line 1\",\r\n jobNameLbl: \"Job Name\",\r\n addressLine2Lbl: \"Address Line 2\",\r\n phoneNumberLbl: \"Contact Phone Number\",\r\n cityLbl: \"City\",\r\n stateLbl: \"State\",\r\n zipCodeLbl: \"Zip Code\",\r\n contactFirstNameLbl: \"Contact First Name\",\r\n contactLastNameLbl: \"Contact Last Name\",\r\n isEmptyCompanyName: false,\r\n isEmptyJobName: false,\r\n isEmptyAddress1: false,\r\n isEmptyAddress2: false,\r\n isEmptyPhoneNumber: false,\r\n isInvalidPhoneNumber: false,\r\n isEmptyCity: false,\r\n isEmptyState: false,\r\n isEmptyZipCode: false,\r\n isEmptycontactFirstName: false,\r\n isEmptycontactLastName: false,\r\n isSubmitted: false,\r\n isShippingDetailsPanelValid: false,\r\n isInvalidCCEmail: false,\r\n info1Lbl: \"Typically orders received before 2:00 EST will ship the same day.\",\r\n info2Lbl: \"To request an expedited shipment, please email samples.literature@arconic.com. Please include Order Number.\",\r\n //info3Lbl: \"To request an expedited shipment, please email expedite@shorewoodind.com. Please include Order Number.\",\r\n countryLbl: \"Country\",\r\n ccEmailLbl: \"CC Email\",\r\n toEmailLbl: \"To Email\",\r\n regionLbl: \"Region\",\r\n isEmptyCountry: false,\r\n isEmptyRegion: false,\r\n isEmptyUserEmail: false,\r\n }\r\n //#endregion\r\n \r\n public checkToEmail(email) {\r\n //const regExp = /^([\\w+-.%]+@[\\w-.]+\\.[A-Za-z]{2,4},?)+$/;\r\n //return regExp.test(String(email).toLowerCase());\r\n return email.match(\r\n /^(([^<>()[\\]\\\\.,;:\\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,}))$/\r\n );\r\n }\r\n //#region place order button operation\r\n protected validateShippingDetailsForm(): boolean {\r\n let isValid = true;\r\n const controls = this.shippingDetailsForm.controls;\r\n if (this.shippingDetails.isSubmitted) {\r\n if (controls.companyName.value) {\r\n this.shippingDetails.isEmptyCompanyName = false;\r\n } else {\r\n this.shippingDetails.isEmptyCompanyName = true;\r\n isValid = false;\r\n }\r\n if (controls.jobName.value) {\r\n this.shippingDetails.isEmptyJobName = false;\r\n } else {\r\n this.shippingDetails.isEmptyJobName = true;\r\n isValid = false;\r\n }\r\n if (controls.addressLine1.value) {\r\n this.shippingDetails.isEmptyAddress1 = false;\r\n } else {\r\n this.shippingDetails.isEmptyAddress1 = true;\r\n isValid = false;\r\n }\r\n //if (controls.addressLine2.value) {\r\n // this.shippingDetails.isEmptyAddress2 = false;\r\n //} else {\r\n // this.shippingDetails.isEmptyAddress2 = true;\r\n // isValid = false;\r\n //}\r\n if (controls.phoneNumber.value) {\r\n this.shippingDetails.isEmptyPhoneNumber = false;\r\n if ((controls.phoneNumber.value as string).toString().length !== 10) {\r\n this.shippingDetails.isInvalidPhoneNumber = true;\r\n isValid = false;\r\n } else {\r\n this.shippingDetails.isInvalidPhoneNumber = false;\r\n }\r\n } else {\r\n this.shippingDetails.isEmptyPhoneNumber = true;\r\n isValid = false;\r\n }\r\n if (controls.city.value) {\r\n this.shippingDetails.isEmptyCity = false;\r\n } else {\r\n this.shippingDetails.isEmptyCity = true;\r\n isValid = false;\r\n }\r\n if (controls.state.value && controls.state.value.stateCode) {\r\n this.shippingDetails.isEmptyState = false;\r\n } else {\r\n this.shippingDetails.isEmptyState = true;\r\n isValid = false;\r\n }\r\n if (controls.zipCode.value) {\r\n this.shippingDetails.isEmptyZipCode = false;\r\n } else {\r\n this.shippingDetails.isEmptyZipCode = true;\r\n isValid = false;\r\n }\r\n if (controls.contactFirstName.value) {\r\n this.shippingDetails.isEmptycontactFirstName = false;\r\n } else {\r\n this.shippingDetails.isEmptycontactFirstName = true;\r\n isValid = false;\r\n }\r\n if (controls.contactLastName.value) {\r\n this.shippingDetails.isEmptycontactLastName = false;\r\n } else {\r\n this.shippingDetails.isEmptycontactLastName = true;\r\n isValid = false;\r\n }\r\n if (this.isCountryData) {\r\n if (controls.country.value) {\r\n this.shippingDetails.isEmptyCountry = false;\r\n } else {\r\n this.shippingDetails.isEmptyCountry = true;\r\n isValid = false;\r\n }\r\n }\r\n //if (controls.region.value && controls.region.value.regionCode) {\r\n // this.shippingDetails.isEmptyRegion = false;\r\n //} else {\r\n // this.shippingDetails.isEmptyRegion = true;\r\n // isValid = false;\r\n //}\r\n if (controls.ccEmail.value) {\r\n this.shippingDetails.isEmptyUserEmail = false;\r\n } else {\r\n this.shippingDetails.isEmptyUserEmail = true;\r\n isValid = false;\r\n }\r\n if (controls.ccEmail.value) {\r\n this.shippingDetails.isInvalidCCEmail = false;\r\n if ((controls.ccEmail.value as string).toString().trim().length > 0) {\r\n const res = this.checkToEmail(controls.ccEmail.value.toString().trim());\r\n if (res) {\r\n this.shippingDetails.isInvalidCCEmail = false;\r\n } else {\r\n this.shippingDetails.isInvalidCCEmail = true;\r\n isValid = false;\r\n }\r\n }\r\n } else {\r\n this.shippingDetails.isInvalidCCEmail = false;\r\n }\r\n \r\n }\r\n return isValid;\r\n }\r\n placeOrder() {\r\n this.shippingDetails.isSubmitted = true;\r\n if (!this.validateShippingDetailsForm()) {\r\n this.shippingDetails.isShippingDetailsPanelValid = false;\r\n return;\r\n }\r\n if (this.sampleRequestGridData.length > 0) {\r\n this.sampleItems.isSampleSelectionPanelValid = true;\r\n this.shippingDetails.isShippingDetailsPanelValid = true;\r\n this.saveInProcess = true;\r\n const controls = this.shippingDetailsForm.controls;\r\n const body: ISamplePlaceOrderBody = {\r\n sampleRequestItems: this.sampleRequestGridData,\r\n companyName: controls.companyName.value,\r\n jobName: controls.jobName.value,\r\n addressLine1: controls.addressLine1.value,\r\n addressLine2: controls.addressLine2.value,\r\n phoneNumber: controls.phoneNumber.value.toString(),\r\n city: controls.city.value,\r\n state: controls.state.value ? controls.state.value.stateDescription : \"\",\r\n zipCode: controls.zipCode.value, \r\n customerNumber: this.userService.readUserObject.customerNumber,\r\n languageCode: 'eng',\r\n stateCode: controls.state.value ? controls.state.value.stateCode : \"\",\r\n contactFirstName: controls.contactFirstName.value,\r\n contactLastName: controls.contactLastName.value,\r\n country: controls.country.value ? controls.state.value.countryDescription : \"\",\r\n ccEmail: controls.ccEmail.value,\r\n region: controls.region.value ? controls.region.value.regionDescription : \"\", \r\n }\r\n this.productSampleFulfillmentService.placeOrderSampleRequest(body).subscribe(response => {\r\n this.sampleRequestGrid.submitResponseLbl = \"Thank you for shopping with us. Your Sample request order has been placed successfully\";\r\n this.sampleRequestOrderNum = response.orderNumber;\r\n this.confirmDialogOpened = true;\r\n this.sampleRequestForm.reset();\r\n this.shippingDetailsForm.reset();\r\n this.setValueInShippingForm();\r\n this.sampleRequestGridData1 = [];\r\n this.sampleRequestGridData = [];\r\n this.loadSampleRequestGrid1();\r\n this.loadSampleRequestGrid();\r\n this.shippingDetails.isSubmitted = false;\r\n this.sampleItems.isContinueClicked = false;\r\n this.sampleItems.isContinue = false;\r\n this.sampleItems.isReviewSelectionPanelValid = false;\r\n this.sampleItems.isSampleSelectionPanelValid = false;\r\n this.saveInProcess = false;\r\n this.isCountryData = true;\r\n this.loadAddressData(this.userService.readUserObject.customerNumber);\r\n this.panel.childrenItems.forEach(item => {\r\n if (item.expanded) {\r\n item.expanded = false;\r\n item.selected = false;\r\n }\r\n });\r\n this.panel.childrenItems[0].expanded = true;\r\n this.panel.childrenItems[1].expanded = true;\r\n this.panel.childrenItems[2].expanded = false;\r\n })\r\n }\r\n else {\r\n this.shippingDetails.isShippingDetailsPanelValid = true;\r\n this.sampleItems.isSampleSelectionPanelValid = false;\r\n this.sampleItems.isContinueClicked = true;\r\n }\r\n }\r\n //sets value in controls from localstorage\r\n setValueInShippingForm() {\r\n const data = this.userService.readUserObject;\r\n if (data) {\r\n this.shippingDetailsForm.controls.companyName.setValue(null);\r\n this.shippingDetailsForm.controls.jobName.setValue(\"\");\r\n if (this.billingAddress) {\r\n this.shippingDetailsForm.controls.addressLine1.setValue(null);\r\n this.shippingDetailsForm.controls.addressLine2.setValue(null);\r\n this.shippingDetailsForm.controls.phoneNumber.setValue(\"\");\r\n this.shippingDetailsForm.controls.city.setValue(null);\r\n //this.shippingDetailsForm.controls.state.setValue(data.state),\r\n this.shippingDetailsForm.controls.zipCode.setValue(null);\r\n //this.shippingDetailsForm.controls.country.setValue(this.billingAddress.country);\r\n //this.shippingDetailsForm.controls.region.setValue(this.billingAddress.regionCode);\r\n }\r\n this.shippingDetailsForm.controls.contactFirstName.setValue(null);\r\n this.shippingDetailsForm.controls.contactLastName.setValue(null);\r\n } \r\n }\r\n\r\n cancelPlaceOrder() {\r\n this.setValueInShippingForm();\r\n this.sampleRequestGridData1 = [];\r\n this.sampleRequestGridData = [];\r\n this.shippingDetails.isSubmitted = false;\r\n this.sampleItems.isContinueClicked = false;\r\n this.saveInProcess = false;\r\n this.panel.childrenItems.forEach(item => {\r\n if (item.expanded) {\r\n item.expanded = false;\r\n item.selected = false;\r\n }\r\n });\r\n this.sampleRequestOrderNum = '';\r\n this.isCountryData = true;\r\n }\r\n //#endregion\r\n //#endregion\r\n confirmDialogClose() {\r\n this.confirmDialogOpened = false;\r\n this.sampleRequestOrderNum = '';\r\n }\r\n confirmImageDialogClose() {\r\n this.confirmImageDialogOpened = false;\r\n }\r\n imageLarge(item: ISampleSubCategory, path: string) {\r\n this.confirmImageDialogOpened = true;\r\n if (path == \"absolute\") {\r\n this.isGridLargerImage = true;\r\n this.gridLargerImage = item.absoluteURL;\r\n }\r\n else if (path == 'path') {\r\n this.isGridLargerImage = true;\r\n this.gridLargerImage = this.imageUrl + '/' + item.imagePath;\r\n }\r\n else {\r\n this.isGridLargerImage = false;\r\n this.gridLargerImage = \"rgb(\" + item.r_VALUE + \", \" + item.g_VALUE + \", \" + item.b_VALUE + \")\"; \r\n }\r\n \r\n }\r\n public getColorString(r: number, g: number, b: number): string {\r\n var a = \"'rgb(\" + r + \",\" + g + \",\" + b + \")'\";\r\n return \"'rgb(\" + r + \",\" + g + \",\" + b + \")'\";\r\n }\r\n\r\n public onFilterSampleRequest(inputValue: string): void {\r\n\r\n this.sampleRequestGridView1 = process(this.sampleRequestGridData1, {\r\n filter: {\r\n logic: \"or\",\r\n filters: [\r\n\r\n {\r\n field: \"finishCategory\",\r\n operator: \"contains\",\r\n value: inputValue,\r\n },\r\n {\r\n field: \"finish\",\r\n operator: \"contains\",\r\n value: inputValue,\r\n },\r\n ],\r\n },\r\n });\r\n if (!inputValue) {\r\n this.sampleRequestGridstate1.skip = 0;\r\n this.sampleRequestGridstate1.take = 10;\r\n this.loadSampleRequestGrid1();\r\n }\r\n }\r\n\r\n public onFilterReviewSampleRequest(inputValue: string): void {\r\n this.sampleRequestGridView = process(this.sampleRequestGridData, {\r\n filter: {\r\n logic: \"or\",\r\n filters: [\r\n\r\n {\r\n field: \"finishCategory\",\r\n operator: \"contains\",\r\n value: inputValue,\r\n },\r\n {\r\n field: \"finish\",\r\n operator: \"contains\",\r\n value: inputValue,\r\n },\r\n ],\r\n },\r\n });\r\n if (!inputValue) {\r\n this.sampleRequestGridstate.skip = 0;\r\n this.sampleRequestGridstate.take = 10;\r\n this.loadSampleRequestGrid();\r\n }\r\n }\r\n setOtherCountry() {\r\n this.getCountry.push({ countryCode: \"CO\", countryName: \"Other Country1\", states: [] });\r\n this.getCountry.push({ countryCode: \"CO\", countryName: \"Other Country2\", states: [] });\r\n this.getCountry.push({ countryCode: \"CO\", countryName: \"Other Country3\", states: [] });\r\n this.getCountry.push({ countryCode: \"CO\", countryName: \"Other Country4\", states: [] });\r\n }\r\n loadAddressData(id) {\r\n this.masterDataService.GetStates().subscribe(response => {\r\n this.getState = response;\r\n //this.setValueInShippingForm(); \r\n });\r\n\r\n this.masterDataService.GetCountries().subscribe(response => {\r\n this.getCountry = response;\r\n //this.setOtherCountry();\r\n });\r\n }\r\n getCountryByState(event) {\r\n if (event) {\r\n const controls = this.shippingDetailsForm.controls;\r\n var stateCodeObj = controls.state.value ? controls.state.value.stateCode : \"\";\r\n if (stateCodeObj == \"OT\") {\r\n this.isCountryData = false;\r\n this.shippingDetailsForm.controls.country.setValue(null);\r\n return;\r\n }\r\n for (let [key, value] of Object.entries(this.getCountry)) {\r\n for (var stateVal of value.states) {\r\n if (stateVal.stateCode.trim() === stateCodeObj.trim()) {\r\n var tempCountryCode = value.countryCode;\r\n var countryVal = this.getCountry.filter(s => s.countryCode && s.countryCode.trim() === tempCountryCode.trim()).map(r => {\r\n return { countryDescription: r.countryName, countryCode: r.countryCode };\r\n });\r\n if (countryVal) {\r\n this.shippingDetailsForm.controls.country.setValue(countryVal[0]);\r\n this.isCountryData = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n numberOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","export default \".error-template {\\n padding: 40px 15px;\\n text-align: center;\\n}\\n\\n.error-actions {\\n margin-top: 15px;\\n margin-bottom: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvdW5hdXRob3JpemVkL0M6XFxTdWRpcHRhXFxQcm9qZWN0c1xcdGNzLXNhbXBsZS1yZXF1ZXN0LWFhcFxcQWFwUFNGVUkvc3JjXFxhcHBcXGZlYXR1cmVzXFx1bmF1dGhvcml6ZWRcXHVuYXV0aG9yaXplZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmVhdHVyZXMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURDQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7QUNFRiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3VuYXV0aG9yaXplZC91bmF1dGhvcml6ZWQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXJyb3ItdGVtcGxhdGUge1xyXG4gIHBhZGRpbmc6IDQwcHggMTVweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmVycm9yLWFjdGlvbnMge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG4iLCIuZXJyb3ItdGVtcGxhdGUge1xuICBwYWRkaW5nOiA0MHB4IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVycm9yLWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html',\r\n styleUrls: ['./unauthorized.component.scss']\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"/*ca-prop div styles*/\\n.caProp {\\n background: #aeb5ba;\\n color: #fff;\\n padding: 8px 10px;\\n}\\n.caProp span {\\n margin-right: 15px;\\n font-size: 18px;\\n position: relative;\\n top: 2px;\\n}\\n.caProp a {\\n color: #e0e0e0;\\n position: relative;\\n top: -1px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvY2EtcHJvcC9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxzaGFyZWRcXGNvbXBvbmVudHNcXGNhLXByb3BcXGNhLXByb3AuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NhLXByb3AvY2EtcHJvcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBQTtBQUVBO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QUNBRjtBREdBO0VBQ0Usa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0FDQUY7QURHQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7QUNBRiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NhLXByb3AvY2EtcHJvcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qY2EtcHJvcCBkaXYgc3R5bGVzKi9cclxuXHJcbi5jYVByb3Age1xyXG4gIGJhY2tncm91bmQ6ICNhZWI1YmE7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogOHB4IDEwcHg7XHJcbn1cclxuXHJcbi5jYVByb3Agc3BhbiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAycHg7XHJcbn1cclxuXHJcbi5jYVByb3AgYSB7XHJcbiAgY29sb3I6ICNlMGUwZTA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTFweDtcclxufVxyXG4iLCIvKmNhLXByb3AgZGl2IHN0eWxlcyovXG4uY2FQcm9wIHtcbiAgYmFja2dyb3VuZDogI2FlYjViYTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuXG4uY2FQcm9wIHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cblxuLmNhUHJvcCBhIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ca-prop',\r\n templateUrl: './ca-prop.component.html',\r\n styleUrls: ['./ca-prop.component.scss']\r\n})\r\nexport class CaPropComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".SuccessLbl {\\n color: green;\\n}\\n\\n.errorLbl {\\n color: red;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvaW5mby9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxzaGFyZWRcXGNvbXBvbmVudHNcXGluZm9cXGluZm8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQUE7QUNDRjs7QURFQTtFQUNFLFVBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5TdWNjZXNzTGJsIHtcclxuICBjb2xvcjogZ3JlZW47XHJcbn1cclxuXHJcbi5lcnJvckxibCB7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG4iLCIuU3VjY2Vzc0xibCB7XG4gIGNvbG9yOiBncmVlbjtcbn1cblxuLmVycm9yTGJsIHtcbiAgY29sb3I6IHJlZDtcbn0iXX0= */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Info, IInfo } from 'src/app/core/common/index';\r\n@Component({\r\n selector: 'app-info',\r\n templateUrl: './info.component.html',\r\n styleUrls: ['./info.component.scss']\r\n})\r\nexport class InfoComponent implements OnInit {\r\n constructor() { }\r\n @Input() infoMessage: IInfo;\r\n ngOnInit() {\r\n\r\n }\r\n \r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL25vdGlmeS9ub3RpZnkuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { AppNotifyService } from 'src/app/core/services/app-notify.service';\r\n\r\n@Component({\r\n selector: 'app-notify',\r\n templateUrl: './notify.component.html',\r\n styleUrls: ['./notify.component.scss'],\r\n})\r\nexport class NotifyComponent implements OnInit {\r\n public message = 'notification alert.';\r\n\r\n constructor(private appNotifyService: AppNotifyService) {\r\n this.message = this.appNotifyService.notifyMessage;\r\n }\r\n @Output() public ignore: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit(): void {}\r\n\r\n public ignoreNotification(event: Event): void {\r\n event.preventDefault();\r\n this.ignore.emit();\r\n }\r\n}\r\n","export default \"/*input {\\n text-align: center;\\n border: 1px solid #6C757D;\\n}\\n*/\\ninput[type=number] {\\n -webkit-appearance: textfield !important;\\n -moz-appearance: textfield !important;\\n}\\ninput[type=number]::-webkit-inner-spin-button,\\ninput[type=number]::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n}\\n.plusminus {\\n /*height: 25px;*/\\n width: 25px;\\n background: none;\\n border: none;\\n font-size: 16px !important;\\n color: #424242;\\n font-weight: 500;\\n text-align: center;\\n}\\n.wrapLayout {\\n padding-left: 0px !important;\\n padding-right: 0px !important;\\n padding-top: 0px !important;\\n}\\n.num {\\n /*height: 25px;*/\\n width: 40px;\\n padding: 2px;\\n background: none;\\n border: none;\\n border-bottom: 1px solid black;\\n font-size: 12px;\\n text-align: center;\\n color: #424242;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvbnVtZXJpYy10ZXh0LWJveC9DOlxcU3VkaXB0YVxcUHJvamVjdHNcXHRjcy1zYW1wbGUtcmVxdWVzdC1hYXBcXEFhcFBTRlVJL3NyY1xcYXBwXFxzaGFyZWRcXGNvbXBvbmVudHNcXG51bWVyaWMtdGV4dC1ib3hcXG51bWVyaWMtdGV4dC1ib3guY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL251bWVyaWMtdGV4dC1ib3gvbnVtZXJpYy10ZXh0LWJveC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7OztDQUFBO0FBS0E7RUFDRSx3Q0FBQTtFQUNBLHFDQUFBO0FDQUY7QURHQTs7RUFFRSx3QkFBQTtBQ0FGO0FER0E7RUFDRSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FDQUY7QURHQTtFQUNFLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSwyQkFBQTtBQ0FGO0FERUE7RUFDRSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tcG9uZW50cy9udW1lcmljLXRleHQtYm94L251bWVyaWMtdGV4dC1ib3guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyppbnB1dCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICM2Qzc1N0Q7XHJcbn1cclxuKi9cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQgIWltcG9ydGFudDtcclxuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4ucGx1c21pbnVzIHtcclxuICAvKmhlaWdodDogMjVweDsqL1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNDI0MjQyO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ud3JhcExheW91dCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm51bSB7XHJcbiAgLypoZWlnaHQ6IDI1cHg7Ki9cclxuICB3aWR0aDogNDBweDtcclxuICBwYWRkaW5nOiAycHg7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICM0MjQyNDI7XHJcbn1cclxuIiwiLyppbnB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZDNzU3RDtcbn1cbiovXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZCAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZCAhaW1wb3J0YW50O1xufVxuXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5wbHVzbWludXMge1xuICAvKmhlaWdodDogMjVweDsqL1xuICB3aWR0aDogMjVweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndyYXBMYXlvdXQge1xuICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ubnVtIHtcbiAgLypoZWlnaHQ6IDI1cHg7Ki9cbiAgd2lkdGg6IDQwcHg7XG4gIHBhZGRpbmc6IDJweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzQyNDI0Mjtcbn0iXX0= */\"","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-numeric-text-box',\r\n templateUrl: './numeric-text-box.component.html',\r\n styleUrls: ['./numeric-text-box.component.scss']\r\n})\r\nexport class NumericTextBoxComponent implements OnInit {\r\n\r\n @Input() public numericData: number;\r\n @Input() public maxQty: number;\r\n @Input() public isUpdateButton: boolean = false;\r\n @Output() public event: EventEmitter = new EventEmitter();\r\n /*@Output() public numericMinusEvent = new EventEmitter();*/\r\n currentValue: number;\r\n visibleUpdateButton: boolean = false;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.currentValue = this.numericData;\r\n }\r\n\r\n handleMinus() {\r\n if (this.numericData > 1) {\r\n this.numericData = this.numericData - 1;\r\n this.setUpdateButtonVisibility();\r\n //this.event.emit(this.numericData);\r\n }\r\n }\r\n\r\n handlePlus() {\r\n if (this.numericData < this.maxQty) {\r\n this.numericData = this.numericData + 1;\r\n this.setUpdateButtonVisibility();\r\n //this.event.emit(this.numericData);\r\n }\r\n }\r\n\r\n setValue() {\r\n if (!this.isUpdateButton) {\r\n this.event.emit(this.numericData);\r\n }\r\n this.setUpdateButtonVisibility();\r\n }\r\n setValueOnUpdateClick() {\r\n this.currentValue = this.numericData;\r\n this.visibleUpdateButton = false;\r\n this.event.emit(this.numericData);\r\n }\r\n setUpdateButtonVisibility() {\r\n if (this.currentValue == this.numericData) {\r\n this.visibleUpdateButton = false;\r\n }\r\n else {\r\n this.visibleUpdateButton = true;\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\n\r\n\r\nconst deploymentEnvironment = \"PROD\"; //chnage only enviroment name ,When you are going to deploy\r\nexport const environment: any = getEnvironment(deploymentEnvironment);\r\n\r\nfunction getEnvironment(deploymentEnvironment: string): any {\r\n if (deploymentEnvironment === \"UAT\") {\r\n return {\r\n production: false,\r\n //apiUrl: 'https://localhost:5001/api',\r\n apiUrl: 'http://noatdc-bcswb912:61102/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi/',\r\n imageFolder: 'ResourceCenter/assets/itemCatalog/',\r\n imageUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n else if (deploymentEnvironment === \"DEV\") {\r\n return {\r\n production: false, \r\n apiUrl: 'http://NOATDC-BCSWB912:4082/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'http://NOATDC-BCSWB912:8084/', //veified\r\n imageFolder: 'assets/itemCatalog/', //veified\r\n imageUrl: 'http://NOATDC-BCSWB912:5082',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n else if (deploymentEnvironment === \"QA\") {\r\n return {\r\n production: false,\r\n //apiUrl: 'https://localhost:5001/api',\r\n apiUrl: 'http://noatdc-bcswb912:51102/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi/',\r\n imageFolder: 'ResourceCenter/assets/itemCatalog/',\r\n imageUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n\r\n }\r\n else if (deploymentEnvironment === \"PROD\") {\r\n return {\r\n production: true,\r\n apiUrl: 'https://www.kawneer-ecommerce.com/aappsfapi/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://www.kawneer-ecommerce.com/',\r\n imageFolder: 'assets/itemCatalog/',\r\n imageUrl: 'https://www.kawneer-ecommerce.com/aappsfapi',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n else if (deploymentEnvironment === \"PWA_UAT\") {\r\n return {\r\n production: true,\r\n apiUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi/',\r\n imageFolder: 'ResourceCenter/assets/itemCatalog/',\r\n imageUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n else if (deploymentEnvironment === \"PWA_INTERNAL_UAT\") {\r\n return {\r\n production: false,\r\n //apiUrl: 'https://localhost:5001/api',\r\n apiUrl: 'https://noatdc-dweb915:1102/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://noatdc-dweb915:1104/', //veified\r\n imageFolder: 'assets/itemCatalog/', //veified\r\n imageUrl: 'https://noatdc-dweb915:1102',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n else { //local\r\n return {\r\n production: false,\r\n apiUrl: 'https://localhost:44356/api',\r\n //apiUrl: 'http://NOATDC-BCSWB912:4082/api',\r\n appId: 'KD',\r\n imageBaseUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi/',\r\n imageFolder: 'ResourceCenter/assets/itemCatalog/',\r\n imageUrl: 'https://www.kawneer-ecommerce-dev.com/aappsfapi',\r\n maxCartQuoteItemCount: 99,\r\n };\r\n }\r\n\r\n}\r\n\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\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 if (window) {\r\n window.console.log = function () { };\r\n }\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n //.then(() => {\r\n // if ('serviceWorker' in navigator && environment.production) {\r\n // navigator.serviceWorker.register('./ngsw-worker.js');\r\n // }\r\n //})\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}