{"version":3,"file":"main.js","mappings":"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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;mEAAA;kEClBb,gBDkBa;0DClBb,oBDkBa;gEClBb,EDkBa;kEClBb,8DDkBa;0DClBb,GDkBa;8DClBb,kDDkBa;8DClBb,kDDkBa;gEClBb,EDkBa;8DClBb,0DDkBa;gEClBb,EDkBa;kEClBb,cDkBa;gEClBb,IDkBa;gEClBb,EDkBa;kEClBb,cDkBa;8DClBb,qDDkBa;8DClBb,qDDkBa;8DClBb,qDDkBa;kEClBb,eDkBa;8DClBb,4DDkBa;gEClBb,UDkBa;AAAA;;AAAA;8DClBb,gBDkBa;6DClBb,GDkBa;8DClBb,sGDkBa;+DClBb,iCDkBa;6DClBb,GDkBa;0EClBb,qDDkBa;6DClBb,GDkBa;sEClBb,2BDkBa;6DClBb,GDkBa;8DClBb,sEDkBa;6DClBb,GDkBa;8DClBb,sEDkBa;6DClBb,GDkBa;8DClBb,gCDkBa;6DClBb,GDkBa;8DClBb,4ODkBa;6DClBb,GDkBa;8DClBb,qCDkBa;6DClBb,GDkBa;8DClBb,8BDkBa;6DClBb,GDkBa;8DClBb,gCDkBa;6DClBb,GDkBa;8DClBb,8BDkBa;AAAA;AAAA;AAAA,eCuEb7L,oEDvEa,ECuEbC,oDDvEa,ECuEbA,iDDvEa,ECuEbwJ,4DDvEa,ECuEbA,oDDvEa,ECuEbxJ,oDDvEa;AAAA;AAAA;;;qHAAA4L,gBAAc;UAL1BxM,oDAK0B;;gBAJhB;AAAqBn3D;AAAAq3D;;AAIL;AAaD+N,cAAU;YAAlCzL,oDAAkC;aAAxB;AAAwB;AAEjC0L,kBAAc;YADd1L,oDACc;AADJ1C,+BAAkB;AAAEqO,cAAM,EAAE;AAAV,OAAlB;AACI;AAEF/rE,SAAK;YAAjBy+D,gDAAKA;AAAY;AAaRv3D,gBAAY;YAArBw3D,iDAAMA;AAAe;AAEZsM,UAAM;YAAftM,iDAAMA;AAAS;AACNuM,UAAM;YAAfvM,iDAAMA;AAAS;AACNyM,gBAAY;YAArBzM,iDAAMA;AAAe;AAEZ8M,kBAAc;YAAvB9M,iDAAMA;AAAiB;AAEdgN,mBAAe;YAAxBhN,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","sources":["./projects/kinetic-angular/src/lib/components/accordion/accordion.component.ts","./projects/kinetic-angular/src/lib/components/accordion/template/accordion.component.html","./projects/kinetic-angular/src/lib/components/accordion/accordion.factory.ts","./projects/kinetic-angular/src/lib/components/accordion/accordion.module.ts","./projects/kinetic-angular/src/lib/components/accordion/accordion.service.ts","./projects/kinetic-angular/src/lib/components/accordion/definitions/accordion.interface.ts","./projects/kinetic-angular/src/lib/components/accordion/definitions/index.ts","./projects/kinetic-angular/src/lib/components/accordion/index.ts","./projects/kinetic-angular/src/lib/components/banner/definitions/index.ts","./projects/kinetic-angular/src/lib/components/banner/definitions/kng-banner.interface.ts","./projects/kinetic-angular/src/lib/components/banner/index.ts","./projects/kinetic-angular/src/lib/components/banner/kng-banner.component.ts","./projects/kinetic-angular/src/lib/components/banner/template/kng-banner.component.html","./projects/kinetic-angular/src/lib/components/banner/kng-banner.factory.ts","./projects/kinetic-angular/src/lib/components/banner/kng-banner.module.ts","./projects/kinetic-angular/src/lib/components/banner/kng-banner.service.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/definitions/index.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/definitions/kng-breadcrumb.interface.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/index.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/kng-breadcrumb.component.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/template/kng-breadcrumb.component.html","./projects/kinetic-angular/src/lib/components/breadcrumb/kng-breadcrumb.factory.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/kng-breadcrumb.module.ts","./projects/kinetic-angular/src/lib/components/breadcrumb/kng-breadcrumb.service.ts","./projects/kinetic-angular/src/lib/components/button/definitions/index.ts","./projects/kinetic-angular/src/lib/components/button/definitions/kng-button.type.ts","./projects/kinetic-angular/src/lib/components/button/index.ts","./projects/kinetic-angular/src/lib/components/button/kng-button.component.ts","./projects/kinetic-angular/src/lib/components/button/template/kng-button.component.html","./projects/kinetic-angular/src/lib/components/button/kng-button.factory.ts","./projects/kinetic-angular/src/lib/components/button/kng-button.module.ts","./projects/kinetic-angular/src/lib/components/card-list/definitions/index.ts","./projects/kinetic-angular/src/lib/components/card-list/definitions/kng-card-list.interface.ts","./projects/kinetic-angular/src/lib/components/card-list/index.ts","./projects/kinetic-angular/src/lib/components/card-list/kng-card-list.component.ts","./projects/kinetic-angular/src/lib/components/card-list/template/kng-card-list.component.html","./projects/kinetic-angular/src/lib/components/card-list/kng-card-list.factory.ts","./projects/kinetic-angular/src/lib/components/card-list/kng-card-list.module.ts","./projects/kinetic-angular/src/lib/components/card-list/kng-card-list.service.ts","./projects/kinetic-angular/src/lib/components/charts/definitions/index.ts","./projects/kinetic-angular/src/lib/components/charts/definitions/kng-charts.interface.ts","./projects/kinetic-angular/src/lib/components/charts/index.ts","./projects/kinetic-angular/src/lib/components/charts/kng-charts.component.ts","./projects/kinetic-angular/src/lib/components/charts/template/kng-charts.component.html","./projects/kinetic-angular/src/lib/components/charts/kng-charts.factory.ts","./projects/kinetic-angular/src/lib/components/charts/kng-charts.module.ts","./projects/kinetic-angular/src/lib/components/charts/kng-charts.service.ts","./projects/kinetic-angular/src/lib/components/content/definitions/index.ts","./projects/kinetic-angular/src/lib/components/content/definitions/kng-content.interface.ts","./projects/kinetic-angular/src/lib/components/content/index.ts","./projects/kinetic-angular/src/lib/components/content/kng-content.component.ts","./projects/kinetic-angular/src/lib/components/content/template/kng-content.component.html","./projects/kinetic-angular/src/lib/components/content/kng-content.factory.ts","./projects/kinetic-angular/src/lib/components/content/kng-content.module.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/definitions/index.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/definitions/kng-count-of-item-card.interface.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/index.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/kng-count-of-item-card.component.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/template/kng-count-of-item-card.component.html","./projects/kinetic-angular/src/lib/components/count-of-item-card/kng-count-of-item-card.factory.ts","./projects/kinetic-angular/src/lib/components/count-of-item-card/kng-count-of-item-card.module.ts","./projects/kinetic-angular/src/lib/components/data-table/definitions/index.ts","./projects/kinetic-angular/src/lib/components/data-table/definitions/kng-data-table.enums.ts","./projects/kinetic-angular/src/lib/components/data-table/definitions/kng-data-table.interface.ts","./projects/kinetic-angular/src/lib/components/data-table/index.ts","./projects/kinetic-angular/src/lib/components/data-table/kng-data-table.component.ts","./projects/kinetic-angular/src/lib/components/data-table/template/kng-data-table.component.html","./projects/kinetic-angular/src/lib/components/data-table/kng-data-table.module.ts","./projects/kinetic-angular/src/lib/components/data-table/kng-data-table.service.ts","./projects/kinetic-angular/src/lib/components/dialog-tooltip/index.ts","./projects/kinetic-angular/src/lib/components/dialog-tooltip/kng-dialog-tooltip.component.ts","./projects/kinetic-angular/src/lib/components/dialog-tooltip/template/kng-dialog-tooltip.component.html","./projects/kinetic-angular/src/lib/components/dialog-tooltip/kng-dialog-tooltip.module.ts","./projects/kinetic-angular/src/lib/components/filter-panel/definitions/index.ts","./projects/kinetic-angular/src/lib/components/filter-panel/definitions/kng-filter-panel.interface.ts","./projects/kinetic-angular/src/lib/components/filter-panel/index.ts","./projects/kinetic-angular/src/lib/components/filter-panel/kng-filter-panel.component.ts","./projects/kinetic-angular/src/lib/components/filter-panel/template/kng-filter-panel.component.html","./projects/kinetic-angular/src/lib/components/filter-panel/kng-filter-panel.factory.ts","./projects/kinetic-angular/src/lib/components/filter-panel/kng-filter-panel.module.ts","./projects/kinetic-angular/src/lib/components/filter-panel/kng-filter-panel.service.ts","./projects/kinetic-angular/src/lib/components/footer/definitions/footer.interface.ts","./projects/kinetic-angular/src/lib/components/footer/definitions/index.ts","./projects/kinetic-angular/src/lib/components/footer/index.ts","./projects/kinetic-angular/src/lib/components/footer/kng-footer.component.ts","./projects/kinetic-angular/src/lib/components/footer/template/kng-footer.component.html","./projects/kinetic-angular/src/lib/components/footer/kng-footer.factory.ts","./projects/kinetic-angular/src/lib/components/footer/kng-footer.module.ts","./projects/kinetic-angular/src/lib/components/footer/kng-footer.service.ts","./projects/kinetic-angular/src/lib/components/grid/action-buttons.component.ts","./projects/kinetic-angular/src/lib/components/grid/template/action-buttons.component.html","./projects/kinetic-angular/src/lib/components/grid/definitions/index.ts","./projects/kinetic-angular/src/lib/components/grid/definitions/kng-grid.interface.ts","./projects/kinetic-angular/src/lib/components/grid/index.ts","./projects/kinetic-angular/src/lib/components/grid/kng-grid.component.ts","./projects/kinetic-angular/src/lib/components/grid/template/kng-grid.component.html","./projects/kinetic-angular/src/lib/components/grid/kng-grid.module.ts","./projects/kinetic-angular/src/lib/components/grid/kng-grid.service.ts","./projects/kinetic-angular/src/lib/components/index.ts","./projects/kinetic-angular/src/lib/components/kng-components.module.ts","./projects/kinetic-angular/src/lib/components/loader/definitions/index.ts","./projects/kinetic-angular/src/lib/components/loader/definitions/kng-loader.interface.ts","./projects/kinetic-angular/src/lib/components/loader/index.ts","./projects/kinetic-angular/src/lib/components/loader/kng-loader.component.ts","./projects/kinetic-angular/src/lib/components/loader/template/kng-loader.component.html","./projects/kinetic-angular/src/lib/components/loader/kng-loader.factory.ts","./projects/kinetic-angular/src/lib/components/loader/kng-loader.module.ts","./projects/kinetic-angular/src/lib/components/loader/kng-loader.service.ts","./projects/kinetic-angular/src/lib/components/modal/definitions/index.ts","./projects/kinetic-angular/src/lib/components/modal/definitions/modal.interface.ts","./projects/kinetic-angular/src/lib/components/modal/index.ts","./projects/kinetic-angular/src/lib/components/modal/modal.component.ts","./projects/kinetic-angular/src/lib/components/modal/template/modal.component.html","./projects/kinetic-angular/src/lib/components/modal/modal.factory.ts","./projects/kinetic-angular/src/lib/components/modal/modal.module.ts","./projects/kinetic-angular/src/lib/components/modal/modal.service.ts","./projects/kinetic-angular/src/lib/components/mydealer/definitions/index.ts","./projects/kinetic-angular/src/lib/components/mydealer/definitions/kng-mydealer.interface.ts","./projects/kinetic-angular/src/lib/components/mydealer/index.ts","./projects/kinetic-angular/src/lib/components/mydealer/kng-mydealer.component.ts","./projects/kinetic-angular/src/lib/components/mydealer/template/kng-mydealer.component.html","./projects/kinetic-angular/src/lib/components/mydealer/kng-mydealer.factory.ts","./projects/kinetic-angular/src/lib/components/mydealer/kng-mydealer.module.ts","./projects/kinetic-angular/src/lib/components/mydealer/kng-mydealer.service.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/definitions/index.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/definitions/kng-header-nav.interface.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/index.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/kng-header-nav.component.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/template/kng-header-nav.component.html","./projects/kinetic-angular/src/lib/components/nav/header-nav/kng-header-nav.factory.ts","./projects/kinetic-angular/src/lib/components/nav/header-nav/kng-header-nav.module.ts","./projects/kinetic-angular/src/lib/components/nav/index.ts","./projects/kinetic-angular/src/lib/components/shell/definitions/index.ts","./projects/kinetic-angular/src/lib/components/shell/definitions/kng-shell.interface.ts","./projects/kinetic-angular/src/lib/components/shell/index.ts","./projects/kinetic-angular/src/lib/components/shell/kng-shell.component.ts","./projects/kinetic-angular/src/lib/components/shell/template/kng-shell.component.html","./projects/kinetic-angular/src/lib/components/shell/kng-shell.factory.ts","./projects/kinetic-angular/src/lib/components/shell/kng-shell.module.ts","./projects/kinetic-angular/src/lib/components/shell/kng-shell.service.ts","./projects/kinetic-angular/src/lib/components/status-selector/definitions/index.ts","./projects/kinetic-angular/src/lib/components/status-selector/definitions/kng-status-selector.interface.ts","./projects/kinetic-angular/src/lib/components/status-selector/index.ts","./projects/kinetic-angular/src/lib/components/status-selector/kng-status-selector.component.ts","./projects/kinetic-angular/src/lib/components/status-selector/template/kng-status-selector.component.html","./projects/kinetic-angular/src/lib/components/status-selector/kng-status-selector.factory.ts","./projects/kinetic-angular/src/lib/components/status-selector/kng-status-selector.module.ts","./projects/kinetic-angular/src/lib/components/status-selector/kng-status-selector.service.ts","./projects/kinetic-angular/src/lib/components/swatch/definitions/index.ts","./projects/kinetic-angular/src/lib/components/swatch/definitions/kng-swatch.interface.ts","./projects/kinetic-angular/src/lib/components/swatch/index.ts","./projects/kinetic-angular/src/lib/components/swatch/kng-swatch.component.ts","./projects/kinetic-angular/src/lib/components/swatch/template/kng-swatch.component.html","./projects/kinetic-angular/src/lib/components/swatch/kng-swatch.factory.ts","./projects/kinetic-angular/src/lib/components/swatch/kng-swatch.module.ts","./projects/kinetic-angular/src/lib/components/table-loader/definitions/index.ts","./projects/kinetic-angular/src/lib/components/table-loader/definitions/kng-table-loader.interface.ts","./projects/kinetic-angular/src/lib/components/table-loader/index.ts","./projects/kinetic-angular/src/lib/components/table-loader/kng-table-loader.component.ts","./projects/kinetic-angular/src/lib/components/table-loader/template/kng-table-loader.component.html","./projects/kinetic-angular/src/lib/components/table-loader/kng-table-loader.factory.ts","./projects/kinetic-angular/src/lib/components/table-loader/kng-table-loader.module.ts","./projects/kinetic-angular/src/lib/components/table/definitions/index.ts","./projects/kinetic-angular/src/lib/components/table/definitions/kng-table.interface.ts","./projects/kinetic-angular/src/lib/components/table/index.ts","./projects/kinetic-angular/src/lib/components/table/kng-table.component.ts","./projects/kinetic-angular/src/lib/components/table/template/kng-table.component.html","./projects/kinetic-angular/src/lib/components/table/kng-table.factory.ts","./projects/kinetic-angular/src/lib/components/table/kng-table.module.ts","./projects/kinetic-angular/src/lib/components/table/kng-table.service.ts","./projects/kinetic-angular/src/lib/components/toaster/definitions/index.ts","./projects/kinetic-angular/src/lib/components/toaster/definitions/kng-toaster.interface.ts","./projects/kinetic-angular/src/lib/components/toaster/index.ts","./projects/kinetic-angular/src/lib/components/toaster/kng-toaster.component.ts","./projects/kinetic-angular/src/lib/components/toaster/template/kng-toaster.component.html","./projects/kinetic-angular/src/lib/components/toaster/kng-toaster.factory.ts","./projects/kinetic-angular/src/lib/components/toaster/kng-toaster.module.ts","./projects/kinetic-angular/src/lib/components/toaster/kng-toaster.service.ts","./projects/kinetic-angular/src/lib/components/upload-file/definitions/index.ts","./projects/kinetic-angular/src/lib/components/upload-file/definitions/kng-upload-file.interface.ts","./projects/kinetic-angular/src/lib/components/upload-file/index.ts","./projects/kinetic-angular/src/lib/components/upload-file/kng-upload-file.component.ts","./projects/kinetic-angular/src/lib/components/upload-file/template/kng-upload-file.component.html","./projects/kinetic-angular/src/lib/components/upload-file/kng-upload-file.factory.ts","./projects/kinetic-angular/src/lib/components/upload-file/kng-upload-file.module.ts","./projects/kinetic-angular/src/lib/components/upload-file/kng-upload-file.service.ts","./projects/kinetic-angular/src/lib/constants/global.constant.ts","./projects/kinetic-angular/src/lib/shared/directives/dn-ddirective.directive.ts","./projects/kinetic-angular/src/lib/shared/shared.interface.ts","./projects/kinetic-angular/src/lib/shared/shared.module.ts","./projects/kinetic-angular/src/lib/shared/shared.service.ts","./projects/tmhna-portal/src/app/app.component.ts","./projects/tmhna-portal/src/app/template/app.component.html","./projects/tmhna-portal/src/app/app.factory.ts","./projects/tmhna-portal/src/app/app.module.ts","./projects/tmhna-portal/src/app/components/auth/auth.component.ts","./projects/tmhna-portal/src/app/components/auth/template/auth.component.html","./projects/tmhna-portal/src/app/components/auth/auth.factory.ts","./projects/tmhna-portal/src/app/components/auth/auth.module.ts","./projects/tmhna-portal/src/app/components/auth/auth.service.ts","./projects/tmhna-portal/src/app/components/auth/definitions/auth.interface.ts","./projects/tmhna-portal/src/app/components/auth/definitions/index.ts","./projects/tmhna-portal/src/app/components/auth/index.ts","./projects/tmhna-portal/src/app/components/business-account-request/business-account-request-util.service.ts","./projects/tmhna-portal/src/app/components/business-account-request/business-account-request.component.ts","./projects/tmhna-portal/src/app/components/business-account-request/template/business-account-request.component.html","./projects/tmhna-portal/src/app/components/business-account-request/business-account-request.factory.ts","./projects/tmhna-portal/src/app/components/business-account-request/business-account-request.module.ts","./projects/tmhna-portal/src/app/components/business-account-request/business-account-request.service.ts","./projects/tmhna-portal/src/app/components/business-account-request/definitions/business-account-request.interface.ts","./projects/tmhna-portal/src/app/components/business-account-request/definitions/index.ts","./projects/tmhna-portal/src/app/components/business-account-request/index.ts","./projects/tmhna-portal/src/app/components/common-error/common-error.component.ts","./projects/tmhna-portal/src/app/components/common-error/template/common-error.component.html","./projects/tmhna-portal/src/app/components/common-error/common-error.factory.ts","./projects/tmhna-portal/src/app/components/common-error/common-error.module.ts","./projects/tmhna-portal/src/app/components/common-error/common-error.service.ts","./projects/tmhna-portal/src/app/components/common-error/definitions/common-error.interface.ts","./projects/tmhna-portal/src/app/components/common-error/definitions/index.ts","./projects/tmhna-portal/src/app/components/common-error/index.ts","./projects/tmhna-portal/src/app/components/contact-us/contact-us.component.ts","./projects/tmhna-portal/src/app/components/contact-us/template/contact-us.component.html","./projects/tmhna-portal/src/app/components/contact-us/contact-us.factory.ts","./projects/tmhna-portal/src/app/components/contact-us/contact-us.module.ts","./projects/tmhna-portal/src/app/components/contact-us/contact-us.service.ts","./projects/tmhna-portal/src/app/components/contact-us/definitions/contact-us.interface.ts","./projects/tmhna-portal/src/app/components/contact-us/definitions/index.ts","./projects/tmhna-portal/src/app/components/customer-portal/customer-portal.component.ts","./projects/tmhna-portal/src/app/components/customer-portal/customer-portal.component.html","./projects/tmhna-portal/src/app/components/customer-portal/customer-portal.module.ts","./projects/tmhna-portal/src/app/components/customer-portal/index.ts","./projects/tmhna-portal/src/app/components/customer-support/customer-support.component.ts","./projects/tmhna-portal/src/app/components/customer-support/template/customer-support.component.html","./projects/tmhna-portal/src/app/components/customer-support/customer-support.factory.ts","./projects/tmhna-portal/src/app/components/customer-support/customer-support.module.ts","./projects/tmhna-portal/src/app/components/customer-support/customer-support.service.ts","./projects/tmhna-portal/src/app/components/invite-users/index.ts","./projects/tmhna-portal/src/app/components/invite-users/invite-users.component.ts","./projects/tmhna-portal/src/app/components/invite-users/invite-users.component.html","./projects/tmhna-portal/src/app/components/invite-users/invite-users.config.ts","./projects/tmhna-portal/src/app/components/invite-users/invite-users.factory.ts","./projects/tmhna-portal/src/app/components/invite-users/invite-users.module.ts","./projects/tmhna-portal/src/app/components/invite-users/invite-users.service.ts","./projects/tmhna-portal/src/app/components/main-entry/definitions/index.ts","./projects/tmhna-portal/src/app/components/main-entry/definitions/main-entry.interface.ts","./projects/tmhna-portal/src/app/components/main-entry/index.ts","./projects/tmhna-portal/src/app/components/main-entry/main-entry.component.ts","./projects/tmhna-portal/src/app/components/main-entry/template/main-entry.component.html","./projects/tmhna-portal/src/app/components/main-entry/main-entry.factory.ts","./projects/tmhna-portal/src/app/components/main-entry/main-entry.module.ts","./projects/tmhna-portal/src/app/components/main-entry/main-entry.service.ts","./projects/tmhna-portal/src/app/components/my-quotes/definitions/index.ts","./projects/tmhna-portal/src/app/components/my-quotes/definitions/my-quotes.interface.ts","./projects/tmhna-portal/src/app/components/my-quotes/equipment-quotes/equipment-quotes.component.ts","./projects/tmhna-portal/src/app/components/my-quotes/equipment-quotes/equipment-quotes.component.html","./projects/tmhna-portal/src/app/components/my-quotes/index.ts","./projects/tmhna-portal/src/app/components/my-quotes/my-quotes.component.ts","./projects/tmhna-portal/src/app/components/my-quotes/template/my-quotes.component.html","./projects/tmhna-portal/src/app/components/my-quotes/my-quotes.factory.ts","./projects/tmhna-portal/src/app/components/my-quotes/my-quotes.module.ts","./projects/tmhna-portal/src/app/components/my-quotes/my-quotes.service.ts","./projects/tmhna-portal/src/app/components/my-quotes/my-quotes.util.service.ts","./projects/tmhna-portal/src/app/components/my-quotes/quote-promo-banners/quote-promo-banners.component.ts","./projects/tmhna-portal/src/app/components/my-quotes/quote-promo-banners/quote-promo-banners.component.html","./projects/tmhna-portal/src/app/components/myfleet/definitions/myfleet.interface.ts","./projects/tmhna-portal/src/app/components/myfleet/myfleet.endpoint.factory.ts","./projects/tmhna-portal/src/app/components/notifications/definitions/index.ts","./projects/tmhna-portal/src/app/components/notifications/definitions/notification.interface.ts","./projects/tmhna-portal/src/app/components/notifications/index.ts","./projects/tmhna-portal/src/app/components/notifications/notification-content/notification-content.component.ts","./projects/tmhna-portal/src/app/components/notifications/notification-content/notification-content.component.html","./projects/tmhna-portal/src/app/components/notifications/notification.component.ts","./projects/tmhna-portal/src/app/components/notifications/template/notifications.component.html","./projects/tmhna-portal/src/app/components/notifications/notification.factory.ts","./projects/tmhna-portal/src/app/components/notifications/notification.module.ts","./projects/tmhna-portal/src/app/components/notifications/notification.service.ts","./projects/tmhna-portal/src/app/components/order-management/definitions/order-management.interface.ts","./projects/tmhna-portal/src/app/components/registration/definitions/index.ts","./projects/tmhna-portal/src/app/components/registration/definitions/registration.interface.ts","./projects/tmhna-portal/src/app/components/registration/index.ts","./projects/tmhna-portal/src/app/components/registration/registration-mapping-factory.ts","./projects/tmhna-portal/src/app/components/registration/registration-util.service.ts","./projects/tmhna-portal/src/app/components/registration/registration.component.ts","./projects/tmhna-portal/src/app/components/registration/template/registration.component.html","./projects/tmhna-portal/src/app/components/registration/registration.factory.ts","./projects/tmhna-portal/src/app/components/registration/registration.module.ts","./projects/tmhna-portal/src/app/components/registration/registration.service.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/confirm-registration.component.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/template/confirm-registration.component.html","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/confirm-registration.factory.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/confirm-registration.module.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/confirm-registration.service.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/definitions/confirm-registration.interface.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/definitions/index.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/confirm-registration/index.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-account-type/registration-account-type.component.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-account-type/registration-account-type.component.html","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-additional-locations/registration-additional-locations.component.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-additional-locations/registration-additional-locations.component.html","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-profile-company-information/registration-profile-company-information.component.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-profile-company-information/registration-profile-company-information.component.html","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-terms-and-conditions/registration-terms-and-conditions.component.ts","./projects/tmhna-portal/src/app/components/registration/sub-modules/registration-terms-and-conditions/registration-terms-and-conditions.component.html","./projects/tmhna-portal/src/app/components/roles-permissions/definitions/index.ts","./projects/tmhna-portal/src/app/components/roles-permissions/definitions/roles-permissions.interface.ts","./projects/tmhna-portal/src/app/components/roles-permissions/index.ts","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions-details/roles-permissions-details.component.ts","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions-details/roles-permissions-details.component.html","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions-list/roles-permissions-list.component.ts","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions-list/roles-permissions-list.component.html","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions.component.ts","./projects/tmhna-portal/src/app/components/roles-permissions/template/roles-permissions.component.html","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions.factory.ts","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions.module.ts","./projects/tmhna-portal/src/app/components/roles-permissions/roles-permissions.service.ts","./projects/tmhna-portal/src/app/components/routing/app-routing.module.ts","./projects/tmhna-portal/src/app/components/shell/idle-user.service.ts","./projects/tmhna-portal/src/app/components/shell/shell.component.ts","./projects/tmhna-portal/src/app/components/shell/template/shell.component.html","./projects/tmhna-portal/src/app/components/shell/shell.endpoints.factory.ts","./projects/tmhna-portal/src/app/components/shell/shell.factory.ts","./projects/tmhna-portal/src/app/components/shell/shell.module.ts","./projects/tmhna-portal/src/app/components/shell/shell.service.ts","./projects/tmhna-portal/src/app/constants/business-account-request-data.ts","./projects/tmhna-portal/src/app/constants/business-account-request-upload-data.ts","./projects/tmhna-portal/src/app/constants/location-heirarchy-mock.ts","./projects/tmhna-portal/src/app/constants/main-entry-data.ts","./projects/tmhna-portal/src/app/constants/mock-auth-data.ts","./projects/tmhna-portal/src/app/constants/portal-constants.ts","./projects/tmhna-portal/src/app/constants/registration.ts","./projects/tmhna-portal/src/app/guards/access.guard.service.ts","./projects/tmhna-portal/src/app/guards/auth/auth.guard.ts","./projects/tmhna-portal/src/app/guards/landing-page.guard.service.ts","./projects/tmhna-portal/src/app/guards/location-access.guard.service.ts","./projects/tmhna-portal/src/app/guards/login.guard.service.ts","./projects/tmhna-portal/src/app/guards/pending-changes.guard.service.ts","./projects/tmhna-portal/src/app/guards/permission/permission.guard.service.ts","./projects/tmhna-portal/src/app/injection-tokens/auth-config.injection-token.ts","./projects/tmhna-portal/src/app/injection-tokens/environment.injection-token.ts","./projects/tmhna-portal/src/app/injection-tokens/window.injection-token.ts","./projects/tmhna-portal/src/app/interceptors/date-timezone.interceptor.ts","./projects/tmhna-portal/src/app/leave-page-confirm-popup/leave-page-confirm-popup-factory.ts","./projects/tmhna-portal/src/app/leave-page-confirm-popup/leave-page-confirm-popup.service.ts","./projects/tmhna-portal/src/app/pipes/safehtml/safehtml.pipe.module.ts","./projects/tmhna-portal/src/app/pipes/safehtml/safehtml.pipe.ts","./projects/tmhna-portal/src/app/pipes/truncate/truncate.module.ts","./projects/tmhna-portal/src/app/pipes/truncate/truncate.pipe.ts","./projects/tmhna-portal/src/app/services/analytics/analytics.factory.ts","./projects/tmhna-portal/src/app/services/analytics/analytics.module.ts","./projects/tmhna-portal/src/app/services/analytics/analytics.service.ts","./projects/tmhna-portal/src/app/services/api/api.aem.service.ts","./projects/tmhna-portal/src/app/services/api/api.module.ts","./projects/tmhna-portal/src/app/services/api/api.service.ts","./projects/tmhna-portal/src/app/services/api/api.url.ts","./projects/tmhna-portal/src/app/services/authentication/authentication-service.factory.ts","./projects/tmhna-portal/src/app/services/authentication/authentication.module.ts","./projects/tmhna-portal/src/app/services/authentication/authentication.service.ts","./projects/tmhna-portal/src/app/services/date-converter/date-converter.module.ts","./projects/tmhna-portal/src/app/services/date-converter/date-converter.service.ts","./projects/tmhna-portal/src/app/services/local-storage/local-storage.module.ts","./projects/tmhna-portal/src/app/services/local-storage/local-storage.service.ts","./projects/tmhna-portal/src/app/services/logger/logger.module.ts","./projects/tmhna-portal/src/app/services/logger/logger.service.ts","./projects/tmhna-portal/src/app/services/script-injector/script-injector.module.ts","./projects/tmhna-portal/src/app/services/script-injector/script-injector.service.ts","./projects/tmhna-portal/src/app/services/shared/directives/text-area-auto-size.directive.ts","./projects/tmhna-portal/src/app/services/shared/shared-api-call.service.ts","./projects/tmhna-portal/src/app/services/shared/shared-constants.ts","./projects/tmhna-portal/src/app/services/shared/shared-enums.ts","./projects/tmhna-portal/src/app/services/shared/shared-factory-data.service.ts","./projects/tmhna-portal/src/app/services/shared/shared-filter.factory.ts","./projects/tmhna-portal/src/app/services/shared/shared-filter.service.ts","./projects/tmhna-portal/src/app/services/shared/shared-mapping.ts","./projects/tmhna-portal/src/app/services/shared/shared-util.service.ts","./projects/tmhna-portal/src/app/services/shared/shared.module.ts","./projects/tmhna-portal/src/app/services/shared/shared.service.ts","./projects/tmhna-portal/src/environments/environment.dev.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/auth/auth.endpoint.factory.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/dashboard/dashboard.endpoint.factory.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/dashboard/dashboard.interface.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/dashboard/index.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/endpoint.interface.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/endpoints.interface.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/index.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/roles-permissions/index.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/roles-permissions/roles-permissions.endpoint.factory.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/roles-permissions/roles-permissions.interface.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/service-management/index.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/service-management/service-management.endpoint.factory.ts","./projects/tmhna-portal/src/environments/interfaces/endpoints/service-management/service-management.interface.ts","./projects/tmhna-portal/src/environments/interfaces/environment.interface.ts","./projects/tmhna-portal/src/environments/interfaces/index.ts","./projects/tmhna-portal/src/main.ts","./projects/kinetic-angular/src/lib/kinetic-angular.service.ts","./projects/kinetic-angular/src/lib/kinetic-angular.component.ts","./projects/kinetic-angular/src/lib/kinetic-angular.module.ts","./projects/kinetic-angular/src/kinetic-angular.ts"],"sourcesContent":["import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Accordion, AccordionState } from './definitions';\nimport { AccordionService } from './accordion.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n@Component({\n\tselector: 'kng-accordion-component',\n\ttemplateUrl: './template/accordion.component.html',\n\tstyleUrls: ['./template/accordion.component.scss'],\n\tproviders: [AccordionService]\n})\nexport class AccordionComponent implements Accordion, OnInit, OnDestroy \n{\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\t@Output() isAccordionClicked: EventEmitter = new EventEmitter();\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\t@Output() tooltipClicked: EventEmitter = new EventEmitter();\n\t@Output() searchDataChange: EventEmitter = new EventEmitter();\n\n\t@Input() set state(value: AccordionState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tisValidZipCode: boolean = true;\n\n\tget state(): AccordionState\n\t{\n\t\treturn this.service.state;\n\t}\n\tconstructor(private readonly service: AccordionService, private readonly formBuilder: FormBuilder) { }\n\n\tngOnInit(): void\n\t{\n\t\tthis.initSubscriptions();\n\t}\n\tngOnDestroy(): void\n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\t\n\tprivate initSubscriptions(): void\n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: AccordionState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\t\n\thandleHeaderClick(event: Event)\n\t{\n\t\tif (window.innerWidth < 768)\n\t\t{\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\tshowTooltip()\n\t{\n\t\tthis.tooltipClicked.emit();\n\t}\n\taccordionClicked(collapsed: boolean)\n\t{\n\t\tthis.isAccordionClicked.emit(collapsed);\n\t}\n\tclearSearchInput()\n\t{\n\t\tthis.isValidZipCode = true;\n\t\tthis.searchForm.patchValue({\n\t\t\tzipCode: ''\n\t\t});\n\t\tthis.searchDataChange.emit('');\n\t}\n\tapplysearch(event: KeyboardEvent): void\n\t{\n\t\tconst inputElement = event.target as HTMLInputElement;\n\t\tif (event.key === ' ' && inputElement.value.length < 7)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tconst cursorPosition = inputElement.selectionStart ?? 0;\n\t\t\tconst inputValue = inputElement.value;\n\t\t\tconst updatedValue = inputValue.slice(0, cursorPosition) + ' ' + inputValue.slice(cursorPosition);\n\t\t\tinputElement.value = updatedValue;\n\t\t\tthis.searchForm.patchValue({\n\t\t\t\tzipCode: updatedValue\n\t\t\t});\n\n\t\t\tconst newPosition = cursorPosition + 1;\n\t\t\tinputElement.setSelectionRange(newPosition, newPosition);\n\t\t}\n\n\t\tif(!inputElement.value.trim().length)\n\t\t{\n\t\t\tthis.isValidZipCode = true;\n\t\t}\n\n\t\tif (event.key === 'Enter')\n\t\t{\n\t\t\tthis.zipCodeValidator(inputElement.value);\n\t\t}\n\t}\n\tpublic searchForm: FormGroup = this.formBuilder.group({\n\t\tzipCode: [ '', [ Validators.required, Validators.maxLength(7) ] ]\n\t});\n\t\n\tzipCodeValidator(searchValue: string): void \n\t{\n\t\tconst pattern = /^[A-Za-z0-9\\s-]*$/;\n\t\tif(!pattern.test(searchValue))\n\t\t{\n\t\t\tthis.isValidZipCode = false;\n\t\t}\n\t\tthis.isValidZipCode = this.isValidUSPostalCode(searchValue) || this.isValidCanadianPostalCode(searchValue);\n\n\t\tif (searchValue.length >= 5 && this.isValidZipCode)\n\t\t{\n\t\t\tconst searchData = searchValue.trim();\t\t\n\t\t\tthis.searchDataChange.emit(searchData);\n\t\t}\n\t}\n\n\tisValidLength(searchValue: string, isUSCode: boolean = false): boolean\n\t{\n\t\tconst strippedValue = searchValue.replace(/\\s/g, '');\n\t\tconst length = strippedValue.length;\n\t\t\n\t\tif(isUSCode)\n\t\t{\n\t\t\treturn length === 5;\n\t\t} \n\t\telse\n\t\t{\n\t\t\treturn length === 6 || length === 7;\n\t\t}\n\t}\n\n\tisValidUSPostalCode(searchValue: string): boolean\n\t{\n\t\treturn this.isValidLength(searchValue, true) && /^\\d+$/.test(searchValue.trim());\n\t}\n\n\tisValidCanadianPostalCode(searchValue: string): boolean\n\t{\n\t\tconst strippedValue = searchValue.replace(/\\s/g, '');\n\t\tif(strippedValue.trim().length === 7 && searchValue.trim().length < 8)\n\t\t{\n\t\t\tif(/^[A-Za-z0-9\\s-]*$/.test(searchValue))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.isValidLength(searchValue, false) && /^[A-Za-z0-9]{3}[-\\s][A-Za-z0-9]{3}$/.test(searchValue.trim());\n\t\t}\n\t}\n}\n","
\n \n \n \n \n \n {{ state.title }}\n \n \"info\n \"info\n \n \n \n \n \n\n
\n
\n \n \n
\n {{state.searchFieldLabels?.invalidSearchText}}\n
\n \n
\n
\n \n \n
\n
\n
\n","import { AccordionState } from './definitions';\n\nexport class AccordionFactory \n{\n\tpublic static build(): AccordionState \n\t{\n\t\treturn {\n\t\t\ttitle: '',\n\t\t\tisCollapsed: false,\n\t\t\taccordion: true,\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t}\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AccordionComponent } from './accordion.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n\tdeclarations: [AccordionComponent],\n\timports: [ CommonModule, MatExpansionModule, MatIconModule, MatTooltipModule, FormsModule, ReactiveFormsModule ],\n\texports: [AccordionComponent]\n})\nexport class AccordionModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { AccordionFactory } from './accordion.factory';\nimport { AccordionState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AccordionService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(AccordionFactory.build());\n\tget state(): AccordionState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: AccordionState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","import { Image, TooltipContent } from '../../../shared/shared.interface';\n\nexport interface Accordion {\n state: AccordionState;\n}\nexport interface AccordionState {\n id?: string;\n title: string;\n isCollapsed: boolean;\n accordion: boolean;\n icon: Image;\n isTooltipPresent?: boolean;\n tooltip?: TooltipContent;\n tooltipClass?: string;\n isSearchFieldPresent?: boolean;\n searchFieldLabels?: SearchFieldLabels;\n}\n\nexport interface SearchFieldLabels {\n search: {\n placeholder: string;\n icon: Image;\n };\n invalidSearchText: string;\n}\n","export * from './accordion.interface';\n","export * from './definitions';\nexport * from './accordion.component';\nexport * from './accordion.factory';\nexport * from './accordion.module';\nexport * from './accordion.service';\n","export * from './kng-banner.interface';\n","import { Image, TokenDataList } from '../../../shared/shared.interface';\nexport interface KngBanner {\n state: KngBannerState;\n}\nexport interface KngBannerState {\n bannerIcon: Image;\n bannerMessage: string;\n tokenData: DataPair[];\n closeIcon: Image;\n open: boolean;\n isAddNewUserScreen?: boolean;\n alertBanner?: AlertBanner[];\n startDate: Date;\n endDate: Date;\n}\nexport interface DataPair {\n label: string;\n value: string;\n href?: string;\n icon?: string;\n altText?: string;\n cardCategory?: string;\n tokenDataList?: TokenDataList[];\n}\nexport interface AlertBanner {\n display: string;\n bannerIcon: Image;\n closeIcon: Image;\n hasTokenInMessage: string;\n bannerMessage: string;\n tokenDataList: TokenDataList[] ;\n startDate: Date;\n endDate: Date;\n}\n","export * from './definitions';\nexport * from './kng-banner.component';\nexport * from './kng-banner.factory';\nexport * from './kng-banner.module';\nexport * from './kng-banner.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngBanner, KngBannerState } from './definitions';\nimport { KngBannerService } from './kng-banner.service';\n\n@Component({\n\tselector: 'kng-banner',\n\ttemplateUrl: './template/kng-banner.component.html',\n\tstyleUrls: ['./template/kng-banner.component.scss']\n})\nexport class KngBannerComponent implements KngBanner, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\n @Input() set state(value: KngBannerState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngBannerState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter = new EventEmitter();\n @Output() bannerClickEvent: EventEmitter = new EventEmitter();\n @Output() bannerClosed: EventEmitter = new EventEmitter();\n @Output() alertBannerClosed: EventEmitter = new EventEmitter();\n constructor(private service: KngBannerService) {}\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngBannerState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n\n public hideBanner() \n {\n \tthis.state.open = false;\n }\n bannerClickHandler(event: MouseEvent | TouchEvent)\n {\n \tthis.bannerClickEvent.emit(event);\n }\n headerBannerCloseHandler(index: number)\n {\n \tthis.bannerClosed.emit(index);\n \tthis.alertBannerClosed.emit(true);\n }\n handleBannerStyle(index: number)\n {\n \tconst result= this.state.alertBanner?.findIndex(val => val.display.toLocaleLowerCase() === 'true');\n \tif (result !== -1)\n \t\treturn index === result;\n \telse\n \t\treturn false;\n }\n}\n","\n
\n
\n
\n \"{{\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n\n 0\">\n \n
\n
\n
\n \"action\"\n
\n
\n
\n \n
\n
\n
\n","import { KngBannerState } from './definitions';\nexport class KngBannerFactory \n{\n\tpublic static buildState(): KngBannerState \n\t{\n\t\treturn {\n\t\t\tbannerIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tbannerMessage: '',\n\t\t\ttokenData: [\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\thref: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tcloseIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\topen: false,\n\t\t\tstartDate: new Date('2005-12-31T23:59:59.999Z'),\n\t\t\tendDate: new Date('2050-12-31T23:59:59.999Z')\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngBannerComponent } from './kng-banner.component';\nimport { KngBannerService } from './kng-banner.service';\n\n@NgModule({\n\tdeclarations: [KngBannerComponent],\n\timports: [CommonModule],\n\texports: [KngBannerComponent],\n\tproviders: [KngBannerService]\n})\nexport class KngBannerModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngBannerFactory } from './kng-banner.factory';\nimport { KngBannerState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngBannerService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngBannerFactory.buildState());\n\tget state(): KngBannerState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngBannerState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export * from './kng-breadcrumb.interface';\n","export interface KngBreadcrumb {\n state: KngBreadcrumbState;\n}\n\nexport interface KngBreadcrumbState {\n breadcrumbData: KngBreadcrumbArr[];\n breadcrumbIcon: { url: string; alt: string };\n}\n\nexport interface KngBreadcrumbArr {\n id: string;\n label: string;\n url: string;\n}\n","export * from './definitions';\nexport * from './kng-breadcrumb.component';\nexport * from './kng-breadcrumb.factory';\nexport * from './kng-breadcrumb.module';\nexport * from './kng-breadcrumb.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngBreadcrumb, KngBreadcrumbState } from './definitions';\nimport { KngBreadcrumbService } from './kng-breadcrumb.service';\n\n@Component({\n\tselector: 'kng-breadcrumb',\n\ttemplateUrl: './template/kng-breadcrumb.component.html',\n\tstyleUrls: ['./template/kng-breadcrumb.component.scss']\n})\nexport class KngBreadcrumbComponent\nimplements KngBreadcrumb, OnInit, OnDestroy\n{\n\tprivate subscriptions: Subscription = new Subscription();\n\n @Input() set state(value: KngBreadcrumbState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngBreadcrumbState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n\n @Output() routeChanged: EventEmitter =\n \tnew EventEmitter();\n\n constructor(private service: KngBreadcrumbService) {}\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngBreadcrumbState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n\n public routeToUrl(index: number): void \n {\n \tthis.service.removeBreadcrumbs(index);\n \tconst eventEmitted = {\n \t\tstate: this.state\n \t};\n \tthis.routeChanged.emit(eventEmitted);\n }\n}\n","
\n
\n \n
\n
\n","import { KngBreadcrumbState } from './definitions';\n\nexport class KngBreadcrumbFactory \n{\n\tpublic static build(): KngBreadcrumbState \n\t{\n\t\treturn {\n\t\t\tbreadcrumbData: [\n\t\t\t\t{\n\t\t\t\t\tid: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\tlabel: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tbreadcrumbIcon: {\n\t\t\t\turl: '',\n\t\t\t\talt: ''\n\t\t\t}\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngBreadcrumbComponent } from './kng-breadcrumb.component';\nimport { KngBreadcrumbService } from './kng-breadcrumb.service';\n\n@NgModule({\n\tdeclarations: [KngBreadcrumbComponent],\n\timports: [CommonModule],\n\texports: [KngBreadcrumbComponent],\n\tproviders: [KngBreadcrumbService]\n})\nexport class KngBreadcrumbModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngBreadcrumbFactory } from './kng-breadcrumb.factory';\nimport { KngBreadcrumbState, KngBreadcrumbArr } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngBreadcrumbService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngBreadcrumbFactory.build());\n\tget state(): KngBreadcrumbState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngBreadcrumbState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic removeBreadcrumbs(index: number) \n\t{\n\t\tthis.state.breadcrumbData.length = index + 1;\n\t\tthis.updateState(this.state);\n\t}\n\n\tpublic addBreadcrumbs(breadcrumb: KngBreadcrumbArr) \n\t{\n\t\tthis.state.breadcrumbData.push(breadcrumb);\n\t}\n}\n","export * from './kng-button.type';\n","import { Image } from '../../../shared/shared.interface';\n\nexport interface KngButton {\n state: KngButtonState;\n}\n\nexport interface KngButtonState {\n size: KngButtonSize;\n style: KngButtonStyle;\n disabled: boolean;\n label: string;\n position: KngButtonPosition;\n icon: Image;\n}\n\nexport type KngButtonSize = 'small' | 'medium' | 'large';\nexport type KngButtonStyle =\n | 'primary'\n | 'secondary'\n | 'destructive'\n | 'secondary-destructive'\n | 'tertiary'\n | 'link'\n | 'link-primary';\nexport type KngButtonPosition = 'left' | 'right' | 'none';\n","export * from './definitions';\nexport * from './kng-button.component';\nexport * from './kng-button.module';\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOnDestroy\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { KngButton, KngButtonState } from './definitions';\nimport { KngButtonFactory } from './kng-button.factory';\n\nconst svgIconName: string = 'icon-input';\n\n@Component({\n\tselector: 'kng-button',\n\ttemplateUrl: './template/kng-button.component.html',\n\tstyleUrls: ['./template/kng-button.component.scss']\n})\nexport class KngButtonComponent implements KngButton, OnDestroy \n{\n\tprivate subscription$: Subscription = new Subscription();\n\n\tprivate readonly pSvgIconName: string = svgIconName;\n\tget svgIconName(): string \n\t{\n\t\treturn this.pSvgIconName;\n\t}\n\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngButtonFactory.build());\n\tget state(): KngButtonState \n\t{\n\t\treturn this.state$.value;\n\t}\n @Input() set state(value: KngButtonState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n @Output() clicked: EventEmitter =\n \tnew EventEmitter();\n\n ngOnDestroy(): void \n {\n \tthis.subscription$.unsubscribe();\n }\n public handleClick() \n {\n \tthis.clicked.emit(this.state);\n }\n}\n","\n \n \n
{{ state.label }}
\n \n
\n\n","import { KngButtonState } from './definitions';\n\nexport class KngButtonFactory \n{\n\tpublic static build(): KngButtonState \n\t{\n\t\treturn {\n\t\t\tsize: 'small',\n\t\t\tstyle: 'primary',\n\t\t\tdisabled: false,\n\t\t\tlabel: 'Button',\n\t\t\ticon: {\n\t\t\t\taltText: '',\n\t\t\t\ticonPath: ''\n\t\t\t},\n\t\t\tposition: 'left'\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngButtonComponent } from './kng-button.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { HttpClientModule } from '@angular/common/http';\n\n@NgModule({\n\tdeclarations: [KngButtonComponent],\n\timports: [ CommonModule, MatIconModule, HttpClientModule ],\n\texports: [KngButtonComponent],\n\tproviders: []\n})\nexport class KngButtonModule {}\n","export * from './kng-card-list.interface';\n","import { ScreenView } from '../../../constants/global.constant';\nimport { Address, Image, TooltipContent } from '../../../shared/shared.interface';\n\nexport interface KngCardList {\n state: KngCardListState;\n}\nexport interface KngCardListState {\n view:\n | ScreenView.accordionMobile\n | ScreenView.accordionDeskTop\n | ScreenView.tableDesktop\n | ScreenView.tableMobile;\n header: Array;\n list: Array;\n cardListGrayIcon?: { url: string; alt: string };\n cardListOrangeIcon?: { url: string; alt: string };\n cardListAccordionIcon?: { url: string; alt: string };\n actionOpsList?: Array;\n userStatusOption?: Array;\n pageInfo: PageInfo;\n error?: ErrorMessage;\n tooltipMessage?: string;\n serviceCampaignAltText?:string;\n moreIconAltText?:string;\n loading: boolean;\n activeIndex?: number;\n hideSort?: boolean;\n hidePagination?: boolean;\n activeFlag?:string|undefined;\n connectedIcon?: Image | undefined;\n errorIcon?: Image | undefined;\n}\nexport interface ErrorMessage {\n message: string | undefined;\n messageSubText: string | undefined;\n icon: string;\n}\n\nexport interface KngHeaderObjState {\n label: string;\n isSort: boolean;\n isTooltipPresent?: boolean;\n tooltip?: TooltipContent;\n tooltipClass?: string;\n sortOrder: SortOrder;\n hideSort?:boolean;\n category?: string;\n}\n\nexport interface KngValueObjState {\n collapsed: boolean;\n values: Array;\n id?:string;\n customerId?:string;\n locationObj?: Address;\n orderId?: string;\n locationId? : string;\n documentURL? : string | undefined;\n locationLabel?: string | undefined;\n isLabelEditable?: boolean;\n techinicalObjectType?: string;\n managedBy?: string;\n serialNumber?: string;\n checked?: boolean;\n changeRequest?: {\n display: string;\n tooltip: string;\n toastMessage: string;\n bannerMessage: string;\n };\n}\n\nexport interface KngValueListState {\n id?:string;\n label: string;\n labelValue: string | boolean | number;\n icon?: string;\n cssClass: string;\n href?: string;\n category?: string;\n serviceCampaign?: boolean;\n currency?: string;\n isTooltipPresent?: boolean;\n tooltip?: TooltipContent;\n tooltipClass?: string;\n isError?: boolean;\n errorIcon?: Image;\n isStatusUpdatePending?: boolean;\n statusUpdatePendingMessage?: string;\n displayType?: {\n separator: string;\n styleChange?: string;\n };\n}\nexport interface KngGridPager {\n totalItems: number;\n currentPage: number;\n pageSize: number;\n totalPages: number;\n startPage: number;\n endPage: number;\n startIndex: number;\n endIndex: number;\n}\n\nexport interface ActionOpsList {\n actionLabel?: string;\n disabled?: boolean;\n}\nexport interface StatusOptionList {\n id: number;\n label: string;\n}\nexport interface StatusChangeOptionList {\n id?: string;\n userStatus: string | number | boolean;\n}\n\n\nexport interface TableButtonAction {\n category?: KngValueObjState;\n action?: ActionOpsList;\n}\n\n\nexport enum FieldType {\n action = 'action',\n indicator = 'indicator',\n text = 'text',\n link = 'link',\n currency = 'currency',\n primaryText = 'primary-text',\n date = 'date',\n dateString = 'dateString',\n invoice = 'invoice',\n userStatus = 'userStatus',\n orderStatus='primaryStatus',\n restrictedLink = 'restricted-link',\n crStatus = 'status',\n image = 'image',\n address='address',\n myQuoteStatus='myQuoteStatus',\n dealershipInfo='dealershipInfo',\n pdf='pdf',\n serviceCampaign='serviceCampaign',\n telematicsStatus = 'telematicsStatus'\n}\n\nexport enum InvoiceStatus {\n pastDue = 'Past Due',\n open = 'Open',\n upcoming = 'Upcoming',\n paid = 'Paid'\n}\nexport enum ChangeRequestIndicator {\n awaitingApproval = 'Awaiting Approval',\n approved = 'Approved',\n cancelled = 'Cancelled'\n}\nexport enum EquipmentOrderStatus {\n orderInProcess = 'In Process',\n inProduction = 'In Production',\n shipped = 'Shipped',\n delivered = 'Delivered',\n cancelled='Cancelled'\n}\nexport enum MyQuoteStatus {\n quoteinProcess = 'In Process',\n quoteAccepted = 'Accepted',\n ordered = 'Ordered',\n expired = 'Expired',\n readyForReview = 'Ready for Review'\n}\nexport interface PageInfo {\n pageSize: number;\n totalCount: number;\n}\n\nexport enum SortOrder {\n desc = 'desc',\n asc = 'asc',\n}\n\nexport interface TelematicsResponse {\n connected: boolean;\n notConnected: boolean;\n error: boolean;\n}\n\nexport enum TelematicsStatus {\n connected = 'connected',\n notConnected = 'notConnected',\n error = 'error'\n}\nexport enum InvoiceCheck {\n invoice = 'Invoice'\n}\n\nexport interface CheckboxChangeEvent {\n item: KngValueObjState;\n isChecked: boolean;\n index: number;\n}\n","export * from './definitions';\nexport * from './kng-card-list.component';\nexport * from './kng-card-list.factory';\nexport * from './kng-card-list.module';\nexport * from './kng-card-list.service';\n","\n/* eslint-disable max-lines */\nimport { Component, Input, OnDestroy, OnInit, Output, EventEmitter, HostListener, SimpleChanges, OnChanges, ViewChild, ElementRef } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { TooltipPosition } from '@angular/material/tooltip';\nimport { Subscription } from 'rxjs';\nimport { ScreenView, UserStatus, KeyEvent, NullCheck } from '../../constants/global.constant';\nimport { AllDataType, FieldValueType, RedirectRoute, TooltipContent } from '../../shared/shared.interface';\nimport { KngCardList, KngCardListState, KngValueListState, KngHeaderObjState, KngGridPager, KngValueObjState, TableButtonAction, ActionOpsList, FieldType, InvoiceCheck, InvoiceStatus, StatusChangeOptionList, SortOrder, EquipmentOrderStatus, ChangeRequestIndicator, TelematicsResponse, TelematicsStatus, MyQuoteStatus, CheckboxChangeEvent } from './definitions';\nimport { KngCardListService, PagerService } from './kng-card-list.service';\n\n@Component({\n\tselector: 'kng-card-list',\n\ttemplateUrl: './template/kng-card-list.component.html',\n\tstyleUrls: ['./template/kng-card-list.component.scss']\n})\nexport class KngCardListComponent implements KngCardList, OnInit, OnDestroy, OnChanges\n{\n\tprivate subscriptions: Subscription = new Subscription();\n\topenCard: number[] = [];\n\tpageNumber: number = 1;\n\theaderList: KngHeaderObjState[] = [];\n\tdataList: KngValueObjState[] = [];\n\tpublic screenWidth: number;\n\tshowAccordionView: boolean = true;\n\taccordionIcon: string | undefined = '/arrowDown.svg';\n\tarrowIconGray: string | undefined = '/arrowLeft.svg';\n\tarrowIconOrange: string | undefined = '/arrowRightOrange.svg';\n\tindicatorFlag: boolean = false;\n\tisTelematicsResponse: TelematicsResponse = {\n\t\tconnected: false,\n\t\tnotConnected: false,\n\t\terror: false\n\t};\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tView = ScreenView;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tFieldType = FieldType;\n\tinvoiceCheck = InvoiceCheck;\n\tpositionOptions: TooltipPosition[] = [ 'after', 'before', 'above', 'below', 'left', 'right' ];\n\tposition = new FormControl(this.positionOptions[0]);\n\ttotalCount: number = 0;\n\tcurrentPage: number = 1;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tInvoiceStatus = InvoiceStatus;\n\tuserStatusIcon = UserStatus;\n\torderStatus = EquipmentOrderStatus;\n\tcrStatus = ChangeRequestIndicator;\n\n\tmyQuoteStatus = MyQuoteStatus;\n\tpager: KngGridPager = {\n\t\ttotalPages: 1,\n\t\tcurrentPage: this.currentPage,\n\t\tendIndex: 0,\n\t\tendPage: 1,\n\t\tpageSize: 50,\n\t\tstartIndex: 0,\n\t\tstartPage: 1,\n\t\ttotalItems: this.state?.pageInfo?.totalCount\n\t};\n\theaderValues: KngValueListState[] = [];\n\tnonheaderValues: KngValueListState[] = [];\n\tsortingtext: string = '';\n\t@Input() checkboxState: boolean = false;\n\t@Output() tooltipClicked: EventEmitter<{ id: string; tooltipContent: TooltipContent; columnIndex: number; rowIndex: number }> = new EventEmitter<{ id: string; tooltipContent: TooltipContent; columnIndex: number; rowIndex: number }>();\n\t@Input() set state(value: KngCardListState)\n\t{\n\t\tthis.service.updateState(value);\n\t\tthis.onResize();\n\t\tthis.pager = this.pagerService.getPager(\n\t\t\tthis.state?.pageInfo?.totalCount,\n\t\t\tthis.currentPage,\n\t\t\tthis.state?.pageInfo?.pageSize\n\t\t);\n\t}\n\n\tget state(): KngCardListState\n\t{\n\t\treturn this.service.state;\n\t}\n\n\t@Input() resetPage: number = 1;\n\t@Input() isCheckBoxRequired: boolean = false;\n \t@ViewChild('cardListTable', { read: ElementRef }) tableInput!: ElementRef;\n\t@Output() linkToRedirection: EventEmitter = new EventEmitter();\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Output() downloadInvoice: EventEmitter = new EventEmitter();\n\t@Output() linkToQuotesPDF: EventEmitter = new EventEmitter();\n\t@Output() pageIndex: EventEmitter = new EventEmitter();\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\t@Output() buttonAction: EventEmitter = new EventEmitter();\n\t@Output() sortColumnEvent: EventEmitter = new EventEmitter();\n\t@Output() userListStatus: EventEmitter = new EventEmitter();\n\t@Output() checkboxClickedEvent: EventEmitter = new EventEmitter();\n\t@Output() headerCheckboxClickedEvent: EventEmitter = new EventEmitter();\n\tconstructor(private service: KngCardListService, private pagerService: PagerService)\n\t{\n\t\tthis.screenWidth = window.innerWidth;\n\t}\n\n\tngOnInit(): void\n\t{\n\t\tthis.initSubscriptions();\n\t\tthis.accordionIcon = this.state.cardListAccordionIcon?.url;\n\t\tthis.arrowIconGray = this.state.cardListGrayIcon?.url;\n\t\tthis.arrowIconOrange = this.state.cardListOrangeIcon?.url;\n\t\tthis.totalCount = this.state?.pageInfo.totalCount;\n\t\tif (!this.state.activeIndex)\n\t\t\tthis.state.activeIndex = -1;\n\t\tif (this.state.header.length > 0 && this.state.header[0].label === 'Service Date')\n\t\t\tthis.state.activeIndex = 0;\n\t}\n\tngOnChanges(changes: SimpleChanges): void\n\t{\n\t\tif (changes['resetPage'] && changes['resetPage'].currentValue !== changes['resetPage'].previousValue)\n\t\t\tthis.setPage(1);\n\t}\n\tngOnDestroy(): void\n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\tpublic capitalize(value: string): string\n\t{\n\t\tconst capitalizeWord = value.split(/(?=[A-Z])/).map((p) =>\n\t\t{\n\n\t\t\treturn p[0]?.toUpperCase() + p.slice(1);\n\t\t}).filter(el => el.length > 1).join(' ');\n\t\treturn capitalizeWord || value;\n\t}\n\tprivate initSubscriptions(): void\n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe((next: KngCardListState) => this.stateChanged.emit(next));\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\tpublic openCollapseAccordion(listIndex: number)\n\t{\n\t\tthis.dataList[listIndex].collapsed = !this.dataList[listIndex].collapsed;\n\t}\n\tprivate sortNonHeaderValue(nonheaderValues: KngValueListState[]): KngValueListState[]\n\t{\n\t\tnonheaderValues.sort((x, y) =>\n\t\t{\n\t\t\tif (x.icon !== '')\n\t\t\t\treturn -1;\n\t\t\treturn y.icon !== '' ? 1 : 0;\n\t\t});\n\t\treturn nonheaderValues;\n\t}\n\thandleItemCheckBoxChange(item: KngValueObjState, isChecked: boolean, index: number)\n\t{\n\t\tthis.checkboxClickedEvent.emit({ item, isChecked, index });\n\t}\n\thandleHeaderCheckboxChange(isChecked: boolean)\n\t{\n\t\tthis.checkboxState = isChecked;\n\t\tthis.headerCheckboxClickedEvent.emit(isChecked);\n\t}\n\tprivate capitalizeNonHeaderValue(value: KngValueListState): void\n\t{\n\t\tconst labelMappings: Record = {\n\t\t\tequipmentVin: 'Equipment VIN',\n\t\t\tequipmentType: 'Equipment Classification',\n\t\t\ttelematicsStatus: 'telematicsStatus',\n\t\t\ttotalImpact: 'Total Impact Detection',\n\t\t\tbatteryStateOfCharge: 'Battery %'\n\t\t};\n\n\t\tif (this.state.view === ScreenView.tableDesktop || this.state.view === ScreenView.tableMobile)\n\t\t{\n\t\t\tvalue.label = labelMappings[value.label] || this.capitalize(value.label);\n\t\t}\n\t\tthis.nonheaderValues.push(value);\n\t}\n\tprivate diffHeaderNonHeaderLabel(value: KngValueListState): void\n\t{\n\t\tlet headerFlag = false;\n\t\tthis.headerList.forEach((header) =>\n\t\t{\n\t\t\tif (header && header.label === value.label)\n\t\t\t{\n\t\t\t\tthis.headerValues.push(value);\n\t\t\t\theaderFlag = true;\n\t\t\t}\n\t\t});\n\n\t\tif (!headerFlag)\n\t\t\tthis.capitalizeNonHeaderValue(value);\n\t}\n\n\tpublic createHeaderLabelMap(): void\n\t{\n\t\tif (this.headerList.length > 0 && this.dataList.length > 0)\n\t\t{\n\t\t\tfor (const dataValue of this.dataList)\n\t\t\t{\n\t\t\t\tconst listEntry = dataValue;\n\t\t\t\tthis.headerValues = [];\n\t\t\t\tthis.nonheaderValues = [];\n\t\t\t\tlistEntry.values.forEach((value) =>\n\t\t\t\t{\n\t\t\t\t\tthis.diffHeaderNonHeaderLabel(value);\n\t\t\t\t});\n\t\t\t\tif (this.state.view === ScreenView.tableMobile || this.state.view === ScreenView.accordionMobile)\n\t\t\t\t{\n\t\t\t\t\tthis.nonheaderValues = this.sortNonHeaderValue(this.nonheaderValues);\n\t\t\t\t}\n\t\t\t\tconst rearrangedValArr = this.headerValues.concat(this.nonheaderValues);\n\t\t\t\tdataValue.values = rearrangedValArr;\n\t\t\t}\n\t\t}\n\t}\n\tpublic removeActionBtn()\n\t{\n\t\tif (this.state.view === ScreenView.tableDesktop || this.state.view === ScreenView.tableMobile)\n\t\t{\n\t\t\tthis.dataList.forEach((data) =>\n\t\t\t{\n\t\t\t\tdata.values = data.values.filter((item) => item.category !== FieldType.action);\n\t\t\t});\n\t\t}\n\t}\n\tpublic getMobileHeaderCount(): number\n\t{\n\t\tlet headerCount = 2;\n\t\tif (this.state.view === ScreenView.tableDesktop || this.state.view === ScreenView.tableMobile)\n\t\t{\n\t\t\tthis.state.header?.forEach((data) =>\n\t\t\t{\n\t\t\t\tif (data.category?.includes(FieldType.indicator))\n\t\t\t\t\tthis.indicatorFlag = true;\n\t\t\t});\n\t\t\tif (this.indicatorFlag)\n\t\t\t\theaderCount = 3;\n\t\t}\n\t\treturn headerCount;\n\t}\n\tpublic updateHeaderStructure(deviceSupport: string): void\n\t{\n\t\tthis.headerList = [];\n\t\tthis.dataList = [];\n\t\tlet headerCount = 0;\n\t\tthis.dataList = JSON.parse(JSON.stringify(this.state.list));\n\t\tif (deviceSupport === ScreenView.desktop)\n\t\t{\n\t\t\tthis.headerList = this.state?.header;\n\t\t\tif (this.state.view === ScreenView.accordionDeskTop)\n\t\t\t\tthis.createHeaderLabelMap();\n\t\t}\n\t\telse if (deviceSupport === ScreenView.mobile)\n\t\t{\n\t\t\theaderCount = this.getMobileHeaderCount();\n\t\t\tfor (let index = 0; index < headerCount; index++)\n\t\t\t{\n\t\t\t\tconst element = this.state?.header[index];\n\t\t\t\tthis.headerList.push(element);\n\t\t\t}\n\t\t\tthis.createHeaderLabelMap();\n\t\t\tthis.removeActionBtn();\n\t\t}\n\t}\n\t@HostListener('window:resize', ['$event'])\n\tonResize()\n\t{\n\t\tthis.screenWidth = window.innerWidth;\n\t\tif (this.screenWidth >= 768)\n\t\t{\n\t\t\tif (this.state.view === ScreenView.tableMobile)\n\t\t\t\tthis.state.view = ScreenView.tableDesktop;\n\t\t\tthis.updateHeaderStructure(ScreenView.desktop);\n\t\t}\n\t\telse if (this.screenWidth < 768)\n\t\t{\n\t\t\tif (this.state.view === ScreenView.tableDesktop)\n\t\t\t\tthis.state.view = ScreenView.tableMobile;\n\t\t\tthis.updateHeaderStructure(ScreenView.mobile);\n\t\t}\n\t}\n\tsortColumn(value: KngHeaderObjState, index: number)\n\t{\n\t\tthis.state.activeIndex = index;\n\t\tif (this.state.list.length > 0)\n\t\t{\n\t\t\tthis.checkSortOrder(value);\n\t\t\tthis.sortColumnEvent.emit(value);\n\t\t}\n\t}\n\tsortColumnByKey(event: KeyboardEvent, value: KngHeaderObjState, index: number)\n\t{\n\t\tif (event.key === KeyEvent.tab)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tthis.checkSortOrder(value);\n\t\tif (event.key === KeyEvent.enter)\n\t\t\tthis.sortColumn(value, index);\n\t}\n\tcheckSortOrder(value: KngHeaderObjState)\n\t{\n\t\tif (value.sortOrder === SortOrder.asc)\n\t\t{\n\t\t\tvalue.sortOrder = SortOrder.desc;\n\t\t\tthis.sortingtext = 'descending';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tvalue.sortOrder = SortOrder.asc;\n\t\t\tthis.sortingtext = 'ascending';\n\t\t}\n\t}\n\tsetPage(e: number)\n\t{\n\t\tthis.pageNumber = e;\n\t\tif (e < 1 || e > this.pager.totalPages)\n\t\t\treturn;\n\t\telse\n\t\t\tthis.pager.currentPage = e;\n\t\tthis.pageIndex.emit(e - 1);\n\t\tthis.currentPage = e;\n\t\tthis.pager = this.pagerService.getPager(this.state?.pageInfo?.totalCount, e, this.state?.pageInfo?.pageSize);\n\t}\n\tpageClick()\n\t{\n\t\tsetTimeout(() => this.tableInput.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' }));\n\t}\n\tonActionClick(category: KngValueObjState, action: ActionOpsList): void\n\t{\n\t\tconst actionEve = { category: category, action: action };\n\t\tthis.buttonAction.emit(actionEve);\n\t}\n\tpublic convertStringToNumber(data: AllDataType): number | string\n\t{\n\t\treturn data !== '' ? Number(data) : '';\n\t}\n\tpublic convertStringToDate(data: AllDataType): Date | string\n\t{\n\t\treturn data && typeof (data) !== 'boolean' ? new Date(data) : '';\n\t}\n\tpublic useDisplayType(data: KngValueListState): string | number | boolean\n\t{\n\t\tlet displayValue = data.labelValue;\n\t\tif (data.displayType)\n\t\t{\n\t\t\tconst values = data.labelValue.toString().split(data.displayType.separator);\n\t\t\tif (data.displayType.styleChange && data.displayType.styleChange === 'beforeSeparatorBold')\n\t\t\t{\n\t\t\t\tdisplayValue = `${values[0]}
${values[1]}`;\n\t\t\t}\n\t\t}\n\t\treturn displayValue;\n\t}\n \tupdateStatus(statusItems: StatusChangeOptionList)\n\t{\n\t\tthis.userListStatus.emit(statusItems);\n\t}\n\tpublic linkToRedirectionEquipment(fieldValue: FieldValueType, fieldLabel: string, userId?: string, customerId?: string, orderId?: string, locationId?: string)\n\t{\n\t\tif (this.fieldValueCheck(fieldValue))\n\t\t{\n\t\t\tif (userId)\n\t\t\t\tthis.linkToRedirection.emit({ label: fieldLabel, value: fieldValue, userId: userId });\n\t\t\telse if (customerId)\n\t\t\t\tthis.linkToRedirection.emit({ label: fieldLabel, value: fieldValue, customerId: customerId });\n\t\t\telse if (orderId)\n\t\t\t\tthis.linkToRedirection.emit({ label: fieldLabel, value: fieldValue, orderId: orderId });\n\t\t\telse if (locationId)\n\t\t\t\tthis.linkToRedirection.emit({ label: fieldLabel, value: fieldValue, locationId: locationId });\n\t\t\telse\n\t\t\t\tthis.linkToRedirection.emit({ label: fieldLabel, value: fieldValue });\n\t\t}\n\t}\n\n\tfieldValueCheck(value: FieldValueType): FieldValueType\n\t{\n\t\treturn value && value !== NullCheck.nullValue;\n\t}\n\n\tpublic linktoDownloadPDF(fieldValue: FieldValueType, fieldLabel: string, documentURL?: string)\n\t{\n\t\tif (fieldValue && fieldValue !== NullCheck.nullValue)\n\t\t{\n\t\t\tif (documentURL)\n\t\t\t\tthis.linkToQuotesPDF.emit({ label: fieldLabel, value: fieldValue, documentURL: documentURL });\n\t\t}\n\t}\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tpublic downloadInvoicePDF(fieldValue:any)\n\t{\n\t\tif (fieldValue && fieldValue !== NullCheck.nullValue)\n\t\t{\n\t\t\tthis.downloadInvoice.emit(fieldValue);\n\t\t}\n\t}\n\tpublic isTelematicsStatus(value: AllDataType): boolean\n\t{\n\t\tif (value && value === TelematicsStatus.connected)\n\t\t{\n\t\t\tthis.isTelematicsResponse.connected = true;\n\t\t\tthis.isTelematicsResponse.notConnected = false;\n\t\t\tthis.isTelematicsResponse.error = false;\n\t\t\treturn this.isTelematicsResponse.connected;\n\t\t}\n\t\telse if (value && value === TelematicsStatus.notConnected)\n\t\t{\n\t\t\tthis.isTelematicsResponse.notConnected = true;\n\t\t\tthis.isTelematicsResponse.connected = false;\n\t\t\tthis.isTelematicsResponse.error = false;\n\t\t\treturn !this.isTelematicsResponse.notConnected;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.isTelematicsResponse.error = true;\n\t\t\tthis.isTelematicsResponse.connected = false;\n\t\t\tthis.isTelematicsResponse.notConnected = false;\n\t\t\treturn this.isTelematicsResponse.error;\n\t\t}\n\t}\n\tpublic getTelematicsTooltipValue(value : AllDataType): string\n\t{\n\t\tswitch (value)\n\t\t{\n\t\tcase TelematicsStatus.connected:\n\t\t\treturn 'Connected';\n\t\tcase TelematicsStatus.notConnected:\n\t\t\treturn 'No Device';\n\t\tdefault:\n\t\t\treturn '';\n\t\t}\n\t}\n\tshowTooltip(id: string | undefined, tooltipContent: TooltipContent | undefined, columnIndex: number, rowIndex: number)\n\t{\n\t\tthis.tooltipClicked.emit({ id: id ?? '', tooltipContent: tooltipContent ?? { closeIcon: { iconPath: '', altText: '' }, content: '' }, columnIndex: columnIndex, rowIndex: rowIndex });\n\t}\n\tupdatePendingOrErrorState(rowIndex: number, columnIndex: number, record: KngValueListState)\n\t{\n\t\tthis.dataList[rowIndex].values[columnIndex].isError = record.isError;\n\t\tthis.dataList[rowIndex].values[columnIndex].errorIcon = record.errorIcon;\n\t\tthis.dataList[rowIndex].values[columnIndex].tooltip = record.tooltip;\n\t\tthis.dataList[rowIndex].values[columnIndex].isStatusUpdatePending = record.isStatusUpdatePending;\n\t\tthis.dataList[rowIndex].values[columnIndex].statusUpdatePendingMessage = record.statusUpdatePendingMessage;\n\t\tthis.dataList[rowIndex].values[columnIndex].labelValue = record.labelValue;\n\t}\n\n\tremoveTooltipSeparator(value: string | number | boolean) \n\t{\n\t\treturn value.toString().replace('~', '');\n\t}\n}\n","
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n
\n {{ header?.label }}\n
\n
\n  \n
\n
\n
\n
\n \"info\n
\n
\n
\n
\n
\n
\n \"noresults\"\n
{{ state.error?.message }}
\n
{{ state.error?.messageSubText }}
\n
\n
0\">\n
\n
\n\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n
\n
\n\n\n
\n \n {{ (value?.labelValue !== \"\" && value?.labelValue !== null) ? value?.labelValue : \"—\" }}\n
\n
\n {{\n (value?.labelValue === \"0.00\") ? \"$0\" :\n value?.labelValue !== \"—\" && value?.labelValue !== \"\"\n ? (convertStringToNumber(value?.labelValue)\n | currency: value?.currency:\"symbol\":\"1.2-2\") : \"—\"\n }}\n
\n
\n {{\n value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value?.labelValue !== null\n ? (convertStringToNumber(value?.labelValue)\n | date: \"MM/dd/YYYY\") : \"—\"\n }}\n\n
\n
\n
\n
\n
{{ value?.labelValue !== \"\" ? value?.labelValue : \"—\" }}\n
\n
\n
\n {{\n value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value?.labelValue !== null\n ? (convertStringToDate(value?.labelValue)\n | date: \"MM/dd/yyyy\") : \"—\"\n }}\n\n
\n
\n \n \"Download\n
\n
\n
\n \n
\n
\n \n
\"Download\n
\n
\n
\n
\n
\n
\n
{{ value?.labelValue !== \"\" ? value?.labelValue : \"—\" }}\n
\n
\n\n
\n
\n \"{{\n
\n
\n
\n
\n
\n \"{{\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"{{\n
\n
\n
\n
\n
\n
\n \n
\n
{{ value?.label }}\n \n \"info\n \n
\n
\n
\n
\n
\n {{ value?.labelValue? value?.labelValue : \"—\" }}\n
\n
\n
\n
\n \n {{ value?.labelValue }}\n \"\"\n
\n
\n
{{ value?.labelValue ? value?.labelValue : \"—\" }}\n
\n
\n
\n
\n \n \n \n
\n
\n
\n {{ statusItems.label }}\n
\n
\n
\n
\n
\n \n
\n
{{ value.statusUpdatePendingMessage }}
\n
\n
\n \n \n \n
\n
\n
\n
{{ value?.labelValue ? value?.labelValue : \"—\" }}\n
\n \n
\n
\n
\n
{{ value?.labelValue !== \"\" ? value?.labelValue : \"—\" }}\n
\n
\n
\n {{ value?.labelValue? value?.labelValue : \"—\" }}\n \"Download\n
\n\n
\n {{\n (value?.labelValue === \"0.00\") ? \"$0\" :\n value?.labelValue !== \"—\" && value?.labelValue !== \"\"\n ? (convertStringToNumber(value?.labelValue)\n | currency: value?.currency:\"symbol\":\"1.2-2\")\n : \"—\"\n }}\n
\n
\n {{\n value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value.labelValue !== null\n ? (convertStringToNumber(value?.labelValue)\n | date: \"MM/dd/YYYY\") : \"—\"\n }}\n
\n
\n \"connected\"\n \"Unable\n
\n
\n {{value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value?.labelValue !== null ?\n (convertStringToDate(value?.labelValue) | date: \"MM/dd/yyyy\") : \"—\"}}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"noresults\"\n
{{ state.error?.message }}
\n
{{ state.error?.messageSubText }}
\n
\n
0\" aria-label=\"Card list content items\">\n
\n\n
\n \n \n
\n\n
\n
\n\n
\n
\n \n {{ value?.labelValue }}\n \"\"\n
\n\n
\n
\n
\n
\n \"Connected\"\n \"Unable\n
\n
\n
\n
\n
\n \n
Service Campaign
\n
\n
\n\n
\n
\n
\n {{ value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value.labelValue !== null\n ? (convertStringToNumber(value?.labelValue) | date: \"MM/dd/YYYY\") : \"—\"\n }}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n {{ statusItems.label }}\n
\n
\n
\n
\n
\n\n \n
\n
{{ value.statusUpdatePendingMessage }}
\n
\n
\n \n \n \n
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
{{ value?.labelValue !== \"\" ? value?.labelValue : \"—\" }}\n
\n
\n
\n
\n
\n \"{{\n
\n
\n
\n
\n
\n \"{{\n
\n
\n\n
\n
\n
\n {{value?.labelValue !== \"—\" && value?.labelValue !== \"\" && value?.labelValue !== null ?\n (convertStringToDate(value?.labelValue) | date: \"MM/dd/yyyy\") : \"—\"}}\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
1) }\" tabindex=\"0\">\n Showing {{ pager.startIndex + 1 | number }}-{{ pager.pageSize *\n (pager.currentPage - 1) + dataList.length | number }} of\n {{ state?.pageInfo?.totalCount | number }}\n\n
\n 1\" role=\"currentpage\" (pageChange)=\"setPage($event);pageClick()\"\n previousLabel=\"\" aria-controls=\"setPage($event)\" nextLabel=\"\" class=\"pagination-bar\" [maxSize]=\"7\"\n nextLabel=\"next\" [autoHide]=\"true\" screenReaderPaginationLabel=\"Pagination Navigation\" previousLabel=\"previous\"\n screenReaderCurrentLabel=\"You are on the current Page\">\n
\n
","import { ScreenView } from '../../constants/global.constant';\nimport { KngCardListState, SortOrder } from './definitions';\n\nexport class KngCardListFactory \n{\n\tpublic static build(): KngCardListState \n\t{\n\t\treturn {\n\t\t\tview: ScreenView.tableDesktop,\n\t\t\theader: [\n\t\t\t\t{\n\t\t\t\t\tlabel: ' ',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.asc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: ' ',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.asc\n\t\t\t\t}\n\t\t\t],\n\t\t\tcardListAccordionIcon: {\n\t\t\t\turl: '',\n\t\t\t\talt: ''\n\t\t\t},\n\t\t\tcardListGrayIcon: {\n\t\t\t\turl: '',\n\t\t\t\talt: ''\n\t\t\t},\n\t\t\tcardListOrangeIcon: {\n\t\t\t\turl: '',\n\t\t\t\talt: ''\n\t\t\t},\n\t\t\tpageInfo: {\n\t\t\t\tpageSize: 0,\n\t\t\t\ttotalCount: 0\n\t\t\t},\n\t\t\ttooltipMessage: '',\n\t\t\tserviceCampaignAltText: '',\n\t\t\tmoreIconAltText: '',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tcollapsed: false,\n\t\t\t\t\tvalues: [],\n\t\t\t\t\tid: '',\n\t\t\t\t\tchangeRequest: {\n\t\t\t\t\t\tdisplay: '',\n\t\t\t\t\t\ttooltip: '',\n\t\t\t\t\t\ttoastMessage: '',\n\t\t\t\t\t\tbannerMessage: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\tloading: true,\n\t\t\tactiveFlag: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngCardListComponent } from './kng-card-list.component';\nimport { KngCardListService } from './kng-card-list.service';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n@NgModule({\n\tdeclarations: [KngCardListComponent],\n\timports: [\n\t\tCommonModule,\n\t\tMatMenuModule,\n\t\tMatIconModule,\n\t\tMatButtonModule,\n\t\tMatTooltipModule,\n\t\tNgxPaginationModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tMatSelectModule,\n\t\tMatCheckboxModule\n\t],\n\texports: [KngCardListComponent],\n\tproviders: [KngCardListService]\n})\nexport class KngCardListModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngCardListFactory } from './kng-card-list.factory';\nimport { KngCardListState } from './definitions';\nimport * as _ from 'lodash';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngCardListService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngCardListFactory.build());\n\tget state(): KngCardListState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngCardListState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class PagerService \n{\n\tgetPager(totalItems: number, currentPage: number, pageSize: number) \n\t{\n\t\tconst totalPages = Math.ceil(totalItems / pageSize);\n\t\tlet startPage: number, endPage: number;\n\t\tif (totalPages <= 5) \n\t\t{\n\t\t\tstartPage = 1;\n\t\t\tendPage = totalPages > 0 ? totalPages : 1;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tconst startEndObj=this.getCurrentPage( currentPage, totalPages);\n\t\t\tstartPage=startEndObj.startPage;\n\t\t\tendPage=startEndObj.endPage;\n\t\t\t\n\t\t}\n\n\t\tconst startIndex = (currentPage - 1) * pageSize;\n\t\tconst endIndex = Math.min(\n\t\t\tstartIndex + pageSize - 1,\n\t\t\ttotalItems > 1 ? totalItems - 1 : 1\n\t\t);\n \n\t\t\n\t\tconst pages = _.range(startPage, endPage + 1);\n\t\treturn {\n\t\t\ttotalPages: totalPages,\n\t\t\tcurrentPage: currentPage,\n\t\t\tendIndex: endIndex,\n\t\t\tendPage: endPage,\n\t\t\tpages: pages,\n\t\t\tpageSize: pageSize,\n\t\t\tstartIndex: startIndex,\n\t\t\tstartPage: startPage,\n\t\t\ttotalItems: totalItems\n\t\t};\n\t}\n\n\tgetCurrentPage(currentPage:number, totalPages:number )\n\t{\n\t\tlet startPage: number, endPage: number;\n\t\tif (currentPage <= 3) \n\t\t{\n\t\t\tstartPage = 1;\n\t\t\tendPage = 5;\n\t\t}\n\t\telse if (currentPage + 1 >= totalPages) \n\t\t{\n\t\t\tstartPage = totalPages - 4;\n\t\t\tendPage = totalPages;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tstartPage = currentPage - 2;\n\t\t\tendPage = currentPage + 2;\n\t\t}\n\t\treturn { startPage: startPage, endPage: endPage };\n\t}\t\n\t\n}\n","export * from './kng-charts.interface';\n","import { ChartConfiguration } from 'chart.js';\nimport { LabelValue, TooltipContent } from '../../../shared/shared.interface';\n\nexport interface KngCharts {\n state: KngChartsState;\n}\n\nexport interface KngChartsDef {\n id: string;\n widgetType: string;\n cta: KngChartsCTA;\n title: string;\n summaryUnits?: KngChartsSummaryUnit[];\n chart: ChartConfiguration;\n infoPresent?:boolean;\n tooltip?: TooltipContent;\n tooltipClass?: string;\n ariaLabel?:string;\n showNoDataText?: boolean;\n noDataText?: string;\n customLegend?: KngChartsCustomLegend;\n}\n\nexport interface KngChartsCTA {\n label?: string | undefined;\n url?: string | undefined;\n}\n\nexport interface KngChartsSummaryUnit {\n label: string;\n description: string;\n \n}\n\nexport interface KngChartsState {\n chart: KngChartsDef;\n error?:string;\n loading?:boolean;\n comingSoon?:boolean;\n}\n\nexport interface ChartColors {\n backgroundColor?: string | string[];\n borderColor?: string | string[];\n pointBackgroundColor?: string | string[];\n pointHoverBorderColor?: string | string[];\n hoverBackgroundColor?: string | string[];\n hoverBorderColor?: string | string[];\n}\n\nexport interface TooltipConfig {\n backgroundColor?: string;\n borderColor?: string;\n titleColor?: string;\n bodyColor?: string;\n cornerRadius?: number;\n padding?: number;\n borderWidth?: number;\n caretSize?: number;\n displayColors?: boolean;\n}\n\nexport interface LegendConfig {\n position?: string;\n align?: string;\n maxWidth?: number;\n labels?: LegendLabelsConfig;\n}\n\nexport interface LegendLabelsConfig {\n boxHeight?: number;\n boxWidth?: number;\n font?: LegendFontConfig;\n}\n\nexport interface LegendFontConfig {\n size?: number;\n}\n\nexport interface ChartsEvent {\n event: Event;\n state: KngChartsState;\n}\n\nexport interface ChartTooltipContext {\n formattedValue?: string;\n label: string;\n dataset: ChartTooltipContextLabel;\n parsed: ChartTooltipContextParsed;\n}\n\nexport interface ChartTooltipContextLabel {\n label: string;\n}\n\nexport interface ChartTooltipContextParsed {\n x: number;\n y: number;\n}\n\nexport interface ChartDimension {\n canvasHeight: string;\n canvasWidth: string;\n \n}\nexport interface KngChartsCustomLegend{\n yAxis: LabelValue;\n xAxis: LabelValue;\n}\n\n","export * from './definitions';\nexport * from './kng-charts.component';\nexport * from './kng-charts.factory';\nexport * from './kng-charts.module';\nexport * from './kng-charts.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tEventEmitter,\n\tViewChild\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { ChartsEvent, KngCharts, KngChartsState } from './definitions';\nimport { BaseChartDirective } from 'ng2-charts';\nimport { KngChartsFactory } from './kng-charts.factory';\nimport { LibIcons } from '../../constants/global.constant';\nimport { KngLoaderState } from '../loader';\nimport { WidgetsComingSoon } from '../../shared/shared.interface';\n\n@Component({\n\tselector: 'kng-charts',\n\ttemplateUrl: './template/kng-charts.component.html',\n\tstyleUrls: ['./template/kng-charts.component.scss']\n})\nexport class KngChartsComponent implements KngCharts, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngChartsFactory.buildState());\n\n\t@Input() set state(value: KngChartsState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n\tloaderState: KngLoaderState = {\n\t\timagePath: LibIcons.widgetLoader\n\t};\n\tcomingSoon:WidgetsComingSoon = {\n\t\timagePath: '/assets/widgetsComingSoon.png',\n\t\timageText: 'Coming Soon'\n\t\t\n\t};\n \n\tget state(): KngChartsState \n\t{\n\t\treturn this.state$.value;\n\t}\n\t@Output() stateChanged: EventEmitter =\n\t\tnew EventEmitter();\n\n\t@Output() ctaLinkClicked: EventEmitter =\n\t\tnew EventEmitter();\n\n\t@Output() tooltipClicked: EventEmitter =\n\t\tnew EventEmitter();\n\t@ViewChild(BaseChartDirective) chart!: BaseChartDirective;\n\n\tngOnDestroy(): void \n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\n\tprivate destroySubscriptions(): void \n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\n\tctaLinkClick(event: Event) \n\t{\n\t\tconst eventEmitted: ChartsEvent = {\n\t\t\tevent: event,\n\t\t\tstate: this.state\n\t\t};\n\t\tthis.ctaLinkClicked.emit(eventEmitted);\n\t}\n\tshowTooltip()\n\t{\n\t\tthis.tooltipClicked.emit();\n\t}\n}\n","
\n \n \n

\n {{state?.error}}\n

\n

\n \"loader\"\n

\n \n
\n
\n
\n {{ state.chart.title }}\n \n \"info\n \"info\n \n
\n \n \n
\n \n \n

\n \"Coming\n

\n

\n {{comingSoon.imageText}}\n

\n
\n
\n\n
\n
\n
{{ unit.label ? unit.label: '-'}}
\n
\n {{ unit.description }}\n
\n
\n
\n\n
\n \n \n
\n {{ state.chart.noDataText}}\n
\n
\n\n
\n
{{state.chart.customLegend.yAxis.label}}\n {{state.chart.customLegend.yAxis.value}}
\n
{{state.chart.customLegend.xAxis.label}}\n {{state.chart.customLegend.xAxis.value}}
\n
\n
","import { KngChartsState } from './definitions';\nexport class KngChartsFactory \n{\n\tpublic static buildState(): KngChartsState \n\t{\n\t\treturn {\n\t\t\tchart: {\n\t\t\t\tid: '',\n\t\t\t\twidgetType: '',\n\t\t\t\tcta: { label: '' },\n\t\t\t\ttitle: '',\n\t\t\t\tsummaryUnits: [],\n\t\t\t\tchart: {\n\t\t\t\t\ttype: 'pie',\n\t\t\t\t\tdata: { labels: [], datasets: [] },\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tresponsive: true,\n\t\t\t\t\t\tmaintainAspectRatio: false,\n\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tbackgroundColor: '#FFFFFF',\n\t\t\t\t\t\t\t\tborderColor: '#C4C4C4',\n\t\t\t\t\t\t\t\ttitleColor: '#000000',\n\t\t\t\t\t\t\t\tbodyColor: '#000000',\n\t\t\t\t\t\t\t\tcornerRadius: 0,\n\t\t\t\t\t\t\t\tpadding: 10,\n\t\t\t\t\t\t\t\tborderWidth: 1,\n\t\t\t\t\t\t\t\tdisplayColors: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlegend: { display: true }\n\t\t\t\t\t\t},\n\t\t\t\t\t\telements: { line: { tension: 1 } },\n\t\t\t\t\t\tscales: {\n\t\t\t\t\t\t\tx: {\n\t\t\t\t\t\t\t\toffset: false,\n\t\t\t\t\t\t\t\tsuggestedMin: 0,\n\t\t\t\t\t\t\t\tsuggestedMax: 500,\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdisplay: true,\n\t\t\t\t\t\t\t\t\tdrawBorder: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tticks: {\n\t\t\t\t\t\t\t\t\tstepSize: 100,\n\t\t\t\t\t\t\t\t\tdisplay: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ty: {\n\t\t\t\t\t\t\t\toffset: false,\n\t\t\t\t\t\t\t\tsuggestedMin: 0,\n\t\t\t\t\t\t\t\tsuggestedMax: 500,\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdisplay: true,\n\t\t\t\t\t\t\t\t\tdrawBorder: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tticks: {\n\t\t\t\t\t\t\t\t\tstepSize: 100,\n\t\t\t\t\t\t\t\t\tdisplay: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildBarState(): KngChartsState \n\t{\n\t\treturn {\n\t\t\tchart: {\n\t\t\t\tid: '83e94091-9894-4a74-b995-6e76cbdd3ba4',\n\t\t\t\twidgetType: 'chart-card',\n\t\t\t\tcta: {\n\t\t\t\t\tlabel: 'View More'\n\t\t\t\t},\n\t\t\t\tsummaryUnits: [],\n\t\t\t\ttitle: 'Number of Units',\n\t\t\t\tchart: {\n\t\t\t\t\ttype: 'bar',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdatasets: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbackgroundColor: '#1887F2',\n\t\t\t\t\t\t\t\tbarThickness: 8,\n\t\t\t\t\t\t\t\tborderColor: '#1887F2',\n\t\t\t\t\t\t\t\tdata: [ 510, 530, 1134, 1400 ],\n\t\t\t\t\t\t\t\thoverBackgroundColor: '#1887F2',\n\t\t\t\t\t\t\t\tlabel: 'Units per Location',\n\t\t\t\t\t\t\t\tpointBackgroundColor: '#1887F2',\n\t\t\t\t\t\t\t\tpointHoverBorderColor: '#1887F2'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tlabels: [ 'Location A', 'Location B', 'Location C', 'Location D' ]\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\telements: { line: { tension: 1 } },\n\t\t\t\t\t\tmaintainAspectRatio: false,\n\t\t\t\t\t\tplugins: this.getPlugin(),\n\t\t\t\t\t\tresponsive: true,\n\t\t\t\t\t\tscales: {\n\t\t\t\t\t\t\tx: {\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdisplay: false,\n\t\t\t\t\t\t\t\t\tdrawBorder: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toffset: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ty: {\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdrawBorder: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsuggestedMax: 2000,\n\t\t\t\t\t\t\t\tsuggestedMin: 0,\n\t\t\t\t\t\t\t\tticks: { stepSize: 500 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildBarSummaryState(): KngChartsState \n\t{\n\t\treturn {\n\t\t\tchart: {\n\n\t\t\t\tid: '83e94091-9894-4a74-b995-6e76cbdd3ba4',\n\t\t\t\twidgetType: 'chart-card',\n\t\t\t\tcta: { label: 'View More' },\n\t\t\t\ttitle: 'Average Age of Equipment',\n\t\t\t\tsummaryUnits: [\n\t\t\t\t\t{ label: '3', description: 'years (Average age)' }\n\t\t\t\t],\n\t\t\t\tchart: {\n\t\t\t\t\ttype: 'bar',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdatasets: [{\n\t\t\t\t\t\t\tbackgroundColor: '#1887F2',\n\t\t\t\t\t\t\tbarThickness: 8,\n\t\t\t\t\t\t\tborderColor: '#1887F2',\n\t\t\t\t\t\t\tdata: [ 470, 1200, 700, 1400 ],\n\t\t\t\t\t\t\tlabel: 'Units',\n\t\t\t\t\t\t\thoverBackgroundColor: '#1887F2',\n\t\t\t\t\t\t\tpointBackgroundColor: '#1887F2',\n\t\t\t\t\t\t\tpointHoverBorderColor: '#1887F2'\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tlabels: [ '<2 years', '3-5 years', '6-10 years', '>10 years' ]\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaintainAspectRatio: false,\n\t\t\t\t\t\tplugins: this.getPlugin(),\n\t\t\t\t\t\tresponsive: true,\n\t\t\t\t\t\tscales: {\n\t\t\t\t\t\t\tx: {\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdisplay: false,\n\t\t\t\t\t\t\t\t\tdrawBorder: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toffset: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ty: {\n\t\t\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\t\t\t\t\tdrawBorder: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsuggestedMax: 2000,\n\t\t\t\t\t\t\t\tsuggestedMin: 0,\n\t\t\t\t\t\t\t\tticks: { stepSize: 500 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildPieState(): KngChartsState \n\t{\n\t\treturn {\n\t\t\tchart: {\n\n\t\t\t\tid: '83e94091-9894-4a74-b995-6e76cbdd3ba4',\n\t\t\t\twidgetType: 'chart-card',\n\t\t\t\tcta: { label: 'View More' },\n\t\t\t\tsummaryUnits: [\n\t\t\t\t\t{ label: '0', description: '' }\n\t\t\t\t],\n\t\t\t\ttitle: 'Leased Equipment',\n\t\t\t\tchart: {\n\t\t\t\t\ttype: 'pie',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdatasets: [{\n\t\t\t\t\t\t\tbackgroundColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\tborderColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\thoverBackgroundColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\thoverBorderColor: [ '#FFFFFF', '#FFFFFF' ],\n\t\t\t\t\t\t\tdata: [ 1567, 700 ],\n\t\t\t\t\t\t\tlabel: 'Units'\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tlabels: [ 'TICF Leased', 'Other' ]\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaintainAspectRatio: false,\n\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\tlegend: {\n\t\t\t\t\t\t\t\tposition: 'right',\n\t\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t\t\tmaxWidth: 200,\n\t\t\t\t\t\t\t\tlabels: {\n\t\t\t\t\t\t\t\t\tboxHeight: 8,\n\t\t\t\t\t\t\t\t\tboxWidth: 38,\n\t\t\t\t\t\t\t\t\tfont: { size: 12 }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltip: this.getTooltip()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresponsive: true,\n\t\t\t\t\t\tscales: this.getScales()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildPieSummaryState(): KngChartsState \n\t{\n\t\treturn {\n\t\t\tchart: {\n\n\t\t\t\tid: '83e94091-9894-4a74-b995-6e76cbdd3ba4',\n\t\t\t\twidgetType: 'chart-card',\n\t\t\t\tcta: { label: 'View More' },\n\t\t\t\ttitle: 'New Equipment Orders',\n\t\t\t\tsummaryUnits: [\n\t\t\t\t\t{ label: '3', description: 'open orders' }\n\t\t\t\t],\n\t\t\t\tchart: {\n\t\t\t\t\ttype: 'pie',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdatasets: [{\n\t\t\t\t\t\t\tdata: [ 1134, 554 ],\n\t\t\t\t\t\t\tlabel: 'Units',\n\t\t\t\t\t\t\tbackgroundColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\tborderColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\thoverBackgroundColor: [ '#CEE7FF', '#FFAB7A' ],\n\t\t\t\t\t\t\thoverBorderColor: [ '#FFFFFF', '#FFFFFF' ]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tlabels: []\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaintainAspectRatio: false,\n\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\tlegend: {\n\t\t\t\t\t\t\t\tposition: 'right',\n\t\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t\t\tmaxWidth: 200,\n\t\t\t\t\t\t\t\tlabels: {\n\t\t\t\t\t\t\t\t\tboxHeight: 8,\n\t\t\t\t\t\t\t\t\tboxWidth: 38,\n\t\t\t\t\t\t\t\t\tfont: { size: 12 }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltip: this.getTooltip()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresponsive: true,\n\t\t\t\t\t\tscales: this.getScales()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\tpublic static getPlugin() \n\t{\n\t\treturn {\n\t\t\tlegend: { display: false },\n\t\t\ttooltip: this.getTooltip()\n\t\t};\n\t}\n\tpublic static getTooltip()\n\t{\n\t\treturn {\n\t\t\tbackgroundColor: '#FFFFFF',\n\t\t\tborderColor: '#F26A21',\n\t\t\ttitleColor: '#616365',\n\t\t\tbodyColor: '#616365',\n\t\t\tcornerRadius: 0,\n\t\t\tpadding: 10,\n\t\t\tborderWidth: 1,\n\t\t\tcaretSize: 0,\n\t\t\tdisplayColors: false\n\t\t};\n\t}\n\tpublic static getScales() \n\t{\n\t\treturn {\n\t\t\tx: {\n\t\t\t\tgrid: {\n\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\tdisplay: false,\n\t\t\t\t\tdrawBorder: false\n\t\t\t\t},\n\t\t\t\toffset: true,\n\t\t\t\tticks: { display: false }\n\t\t\t},\n\t\t\ty: {\n\t\t\t\tgrid: {\n\t\t\t\t\tcolor: '#F7F7F8',\n\t\t\t\t\tdrawBorder: false\n\t\t\t\t},\n\t\t\t\tsuggestedMax: 2000,\n\t\t\t\tsuggestedMin: 0,\n\t\t\t\tticks: {\n\t\t\t\t\tdisplay: false,\n\t\t\t\t\tstepSize: 500\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngChartsComponent } from './kng-charts.component';\nimport { KngChartsService } from './kng-charts.service';\nimport { NgChartsModule } from 'ng2-charts';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { KngLoaderModule } from '../loader';\n\n@NgModule({\n\tdeclarations: [KngChartsComponent],\n\timports: [ CommonModule, NgChartsModule, MatTooltipModule, KngLoaderModule ],\n\texports: [KngChartsComponent],\n\tproviders: [KngChartsService]\n})\nexport class KngChartsModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngChartsService \n{\n\t\n}\n","export * from './kng-content.interface';\n","import { KngFooterState } from '../../footer/definitions/footer.interface';\n\nexport interface KngContent {\n state: KngContentState;\n}\nexport interface KngContentState {\n windowed: boolean;\n footer: KngFooterState;\n}\n","export * from './definitions';\nexport * from './kng-content.module';\nexport * from './kng-content.component';\nexport * from './kng-content.factory';\n","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n\tKngContent,\n\tKngContentState\n} from './definitions/kng-content.interface';\nimport { KngContentFactory } from './kng-content.factory';\n\n@Component({\n\tselector: 'kng-content',\n\ttemplateUrl: './template/kng-content.component.html',\n\tstyleUrls: ['./template/kng-content.component.scss']\n})\nexport class KngContentComponent implements KngContent \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngContentFactory.buildState());\n @Input() set state(value: KngContentState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n\n get state(): KngContentState \n {\n \treturn this.state$.value;\n }\n\n public hasFixedFooter(): boolean \n {\n \treturn (\n \t\tthis.state.footer['footercontent'].fixed &&\n !this.state.footer['footercontent'].hidden\n \t);\n }\n}\n","
\n \n
\n","import { KngFooterFactory } from '../footer/kng-footer.factory';\nimport { KngContentState } from './definitions';\n\nexport class KngContentFactory \n{\n\tpublic static buildState(): KngContentState \n\t{\n\t\treturn {\n\t\t\twindowed: false,\n\t\t\tfooter: KngFooterFactory.buildState()\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngContentComponent } from './kng-content.component';\nimport { KngBreadcrumbModule } from '../breadcrumb';\nimport { ModalModule } from '../modal';\n\n@NgModule({\n\tdeclarations: [KngContentComponent],\n\timports: [ CommonModule, KngBreadcrumbModule, ModalModule ],\n\texports: [KngContentComponent],\n\tproviders: []\n})\nexport class KngContentModule {}\n","export * from './kng-count-of-item-card.interface';\n","export interface KngCountOfItemCardData {\n state: KngCountOfItemCardDataState | undefined;\n}\nexport interface KngCountOfItemCardDataState {\n cssClass: string;\n cardType: CardTypes;\n title: {\n label: string;\n };\n image: {\n label: string;\n url: string;\n alt: string;\n };\n unit: Array;\n error?:string;\n loading?:boolean;\n comingSoon?:boolean;\n}\nexport interface UnitObj {\n label: string;\n description: {\n label: string;\n };\n amount: string;\n currency?: string;\n connectedCount?: ConnectedCount;\n tooltip?: string;\n}\nexport interface ConnectedCount {\n label: string;\n icon: {\n url: string;\n alt: string;\n };\n value: string;\n}\n\nexport type CardTypes = 'unitCard' | 'stackedCard' | 'amountCard' | 'connectedCountCard';\n\nexport enum CountOfItemsCardTypes {\n unitCard = 'unitCard',\n stackedCard = 'stackedCard',\n amountCard = 'amountCard',\n connectedCountCard = 'connectedCountCard'\n}\n","export * from './definitions';\nexport * from './kng-count-of-item-card.component';\nexport * from './kng-count-of-item-card.factory';\nexport * from './kng-count-of-item-card.module';\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n\nimport { BehaviorSubject } from 'rxjs';\nimport { LibIcons } from '../../constants/global.constant';\nimport { WidgetsComingSoon } from '../../shared/shared.interface';\nimport { KngLoaderState } from '../loader';\nimport {\n\tKngCountOfItemCardData,\n\tKngCountOfItemCardDataState\n} from './definitions';\nimport { KngCountOfItemCardFactory } from './kng-count-of-item-card.factory';\n\n@Component({\n\tselector: 'kng-count-of-item-card',\n\ttemplateUrl: './template/kng-count-of-item-card.component.html',\n\tstyleUrls: ['./template/kng-count-of-item-card.component.scss']\n})\nexport class KngCountOfItemCardComponent implements KngCountOfItemCardData\n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(\n\t\t\tKngCountOfItemCardFactory.buildState()\n\t\t);\n @Output() tooltipClicked: EventEmitter =\n \tnew EventEmitter();\n @Input() set state(value: KngCountOfItemCardDataState | undefined) \n {\n \tthis.state$.next(value);\n }\n get state(): KngCountOfItemCardDataState | undefined\n {\n \treturn this.state$.value;\n }\n loaderState: KngLoaderState = {\n \timagePath: LibIcons.widgetLoader\n };\n\n comingSoon:WidgetsComingSoon = {\n \timagePath: '/assets/widgetsComingSoon.png',\n \timageText: 'Coming Soon',\n \ttitle: 'Financed Equipment'\n };\n\n showTooltip()\n {\n\t this.tooltipClicked.emit();\n }\n \n}\n","
\n\n
\n

\n {{state?.error}}\n

\n

\n \"loader\"\n

\n \n

{{comingSoon.title}}

\n

\n \"comingSoon\"\n

\n

\n {{comingSoon.imageText}}\n

\n
\n \n \n {{ state?.title?.label }}\n
\n
\n
\n
\n
\n \n \"{{\n
\n \n \n {{ u.label }}\n
\n
\n {{ u?.description?.label }}\n \n \"info\n \"info\n \n
\n
\n \n \n
{{ u?.amount | currency: u?.currency :\"symbol\":\"1.2-2\" }}
\n \n \n \n
\n
\n
\n
\n
\n {{ u.description.label }}\n
\n
\n
\n
\n
\n {{ u.label | number }}\n
\n
\n {{ (u.amount !== '—') ? ( u.amount | currency: u?.currency :\"symbol\":\"1.2-2\") : '—' }}\n
\n
\n
\n
\n \n
\n \n
\n {{ state?.title?.label }}\n
\n
\n
\n \"{{\n
\n
\n
\n
{{ data.label }}
\n
{{ data.description.label }}
\n
\n
\n
\"{{
\n
{{ data.connectedCount?.value }}
\n
{{ data.connectedCount?.label }}
\n
\n
\n
\n
\n {{state?.error}}\n
\n\n","import { KngCountOfItemCardDataState } from './definitions';\n\nexport class KngCountOfItemCardFactory \n{\n\tpublic static buildState(): KngCountOfItemCardDataState \n\t{\n\t\treturn {\n\t\t\tcssClass: '',\n\t\t\tcardType: 'unitCard',\n\t\t\ttitle: {\n\t\t\t\tlabel: ''\n\t\t\t},\n\t\t\timage: {\n\t\t\t\tlabel: '',\n\t\t\t\turl: '',\n\t\t\t\talt: ''\n\t\t\t},\n\t\t\tunit: [\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tdescription: {\n\t\t\t\t\t\tlabel: ''\n\t\t\t\t\t},\n\t\t\t\t\tamount: ''\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngCountOfItemCardComponent } from './kng-count-of-item-card.component';\nimport { KngLoaderModule } from '../loader';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n\tdeclarations: [KngCountOfItemCardComponent],\n\timports: [ CommonModule, KngLoaderModule, MatTooltipModule ],\n\texports: [KngCountOfItemCardComponent],\n\tproviders: []\n})\nexport class KngCountOfItemCardModule {}\n","export * from './kng-data-table.interface';\n","export enum DataTableConst {\n location = 'location',\n noresult = 'No results found'\n}\n","export interface KngDataTable {\n headers: HeaderDataTable[];\n checkboxRequired: boolean;\n checkboxState: boolean;\n paginationRequired: boolean;\n headerCheckboxdisabled?: boolean;\n mobileSelectAllDisable: boolean;\n tableData: TableData[];\n}\nexport interface HeaderDataTable {\n key: string;\n label: string;\n sort: boolean;\n}\nexport interface TableData {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface CheckboxData {\n itemIndex: number; \n checked: boolean;\n itemData: TableData;\n}\n\nexport interface NoResultData {\n icon: Image;\n messageBold: string;\n message: string;\n}\n\nexport interface Image {\n iconPath: string;\n altText: string;\n}\n\nexport enum Icons {\n noResult = '/assets/noresults.svg'\n}\n","export * from './definitions';\nexport * from './kng-data-table.component';\nexport * from './kng-data-table.module';\nexport * from './kng-data-table.service';\n","/* eslint-disable no-console */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { KngDataTableService } from './kng-data-table.service';\nimport { CheckboxData, Icons, KngDataTable, NoResultData } from './definitions';\nimport { KngGridPager, SortOrder } from '../card-list/definitions';\nimport { PagerService } from '../card-list/kng-card-list.service';\nimport { DataTableConst } from './definitions/kng-data-table.enums';\n\n@Component({\n\tselector: 'kng-data-table',\n\ttemplateUrl: './template/kng-data-table.component.html',\n\tstyleUrls: ['./template/kng-data-table.component.scss']\n})\nexport class KngDataTableComponent \n{\t\n\t@Input() state :KngDataTable = {\n\t\theaders: [],\n\t\tcheckboxRequired: false,\n\t\tcheckboxState: false,\n\t\tpaginationRequired: false,\n\t\ttableData: [],\n\t\theaderCheckboxdisabled: false,\n\t\tmobileSelectAllDisable: true\n\t};\n\t\n\t@Output() checkboxClickedEvent: EventEmitter = new EventEmitter();\n\t@Output() headerCheckboxClickedEvent: EventEmitter = new EventEmitter();\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\n\theaderSortable: string = SortOrder.asc;\n\tactiveIndex: number = -1;\n\tcurrentPage: number = 1;\n\tpageLoad: boolean = false;\n\tpageNumber: number = 1;\n\tpager: KngGridPager = {\n\t\ttotalPages: 1,\n\t\tcurrentPage: this.currentPage,\n\t\tendIndex: 0,\n\t\tendPage: 1,\n\t\tpageSize: 50,\n\t\tstartIndex: 0,\n\t\tstartPage: 1,\n\t\ttotalItems: this.state.tableData.length\n\t};\n\tnoResult: NoResultData = {\n\t\ticon: {\n\t\t\ticonPath: Icons.noResult,\n \t\t\taltText: ''\n\t\t},\n\t\tmessageBold: DataTableConst.noresult,\n\t\tmessage: ''\n\t};\n\tdataTableConst = DataTableConst;\n\tconstructor(private readonly service: KngDataTableService, private readonly pagerService: PagerService) {}\n\t\n\thandleItemCheckBoxChange(item: CheckboxData)\n\t{\n\t\tconst computedIndex = item.itemIndex + ((this.currentPage-1) * this.pager.pageSize);\n\t\titem.itemIndex = computedIndex;\n\t\tthis.checkboxClickedEvent.emit(item);\n\t}\n\thandleHeaderCheckboxChange(isChecked: boolean)\n\t{\n\t\tthis.state.checkboxState = isChecked;\n\t\tthis.headerCheckboxClickedEvent.emit(isChecked);\n\t}\n\n\tsetPage(e: number)\n\t{\n\t\tthis.pager.totalPages = Math.ceil(this.state.tableData.length / this.pager.pageSize);\n\t\tthis.pageLoad = true;\n\t\tsetTimeout(() => \n\t\t{\n\t\t\tthis.pageLoad = false;\n\t\t\t\n\t\t}, 500);\n\t\tthis.pageNumber = e;\n\t\tif (e < 1 || e > this.pager.totalPages) \n\t\t{\n\t\t\treturn;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.pager.currentPage = e;\n\t\t}\n\t\tthis.currentPage = e;\n\t\tthis.pager = this.pagerService.getPager(this.state.tableData.length, e, this.pager.pageSize);\n\t}\n\n\tsortColumn(sortField: string, index: number, sortOrder: string)\n\t{\n\t\tif(sortOrder && this.state.tableData.length > 0)\n\t\t{\n\t\t\tthis.activeIndex = index;\n\t\t\tthis.headerSortable = (sortOrder === SortOrder.asc) ? SortOrder.desc : SortOrder.asc;\n\t\t\tthis.state.tableData = this.service.sortGridData(this.state.tableData, this.headerSortable, sortField);\n\t\t}\n\t}\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n Loading... \n
\n \n \n \n {{header.label}}\n
\n
\n
\n \n \n \n \n \n {{ item['locationLabel'] }}\n
{{ item[header.key] }}
\n
\n \n {{ item[header.key] }}\n \n
\n
\n
\n \"\"\n
{{noResult.messageBold}}
\n
\n
\n
\n Showing {{ pager.startIndex + 1 | number }}-{{ state.tableData.length >\n pager.pageSize *\n (pager.currentPage) ? pager.pageSize *\n (pager.currentPage): state.tableData.length | number }} of\n {{ state.tableData.length | number }}\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
{{header.label}}
\n
\n \n \n \n {{item[header.key] }}
\n
\n
\n
\n\n
\n \"\"/\n
{{noResult.messageBold}}
\n
\n
\n
\n Showing {{ pager.startIndex + 1 | number }}-{{ state.tableData.length > pager.pageSize *\n (pager.currentPage) ? pager.pageSize *\n (pager.currentPage): state.tableData.length | number }} of\n {{ state.tableData.length | number }}\n
\n \n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngDataTableComponent } from './kng-data-table.component';\nimport { KngDataTableService } from './kng-data-table.service';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { NgxPaginationModule } from 'ngx-pagination';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngDataTableComponent\n\t],\n\timports: [ CommonModule, MatCheckboxModule, FormsModule, NgxPaginationModule ],\n\texports: [\n\t\tKngDataTableComponent\n\t],\n\tproviders: [\n\t\tKngDataTableService\n\t]\n})\nexport class KngDataTableModule {}\n","import { Injectable } from '@angular/core';\nimport { TableData } from './definitions';\nimport { SortOrder } from '../card-list/definitions';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngDataTableService \n{\n\tsortGridData(array: TableData[], sortOrder: string, sortField: string): TableData[] \n\t{\n\t\tarray.sort((a: TableData, b: TableData) =>\n\t\t{\n\t\t\tconst sortedA = a[sortField as keyof TableData];\n\t\t\tconst sortedB = b[sortField as keyof TableData];\n\t\t\tif(sortedA && sortedB && typeof(sortedA) === 'string' && typeof(sortedB) === 'string')\n\t\t\t{\n\t\t\t\tif(sortOrder === SortOrder.asc)\n\t\t\t\t{\n\t\t\t\t\treturn this.sortGridDataAsc(sortedA, sortedB);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn this.sortGridDataDesc(sortedA, sortedB);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn 0;\n\t\t});\n\t\treturn array;\n\t}\n\tsortGridDataAsc(sortedA: string, sortedB: string)\n\t{\n\t\tif (sortedA.toLowerCase() < sortedB.toLowerCase()) \n\t\t\treturn -1;\n\t\telse if (sortedA.toLowerCase() > sortedB.toLowerCase())\n\t\t\treturn 1;\n\t\telse\n\t\t\treturn 0;\n\t}\n\tsortGridDataDesc(sortedA: string, sortedB: string)\n\t{\n\t\tif (sortedA.toLowerCase() > sortedB.toLowerCase()) \n\t\t\treturn -1;\n\t\telse if (sortedA.toLowerCase() < sortedB.toLowerCase())\n\t\t\treturn 1;\n\t\telse\n\t\t\treturn 0;\n\t}\n}\n","export * from './kng-dialog-tooltip.component';\nexport * from './kng-dialog-tooltip.module';\n","import { Component, OnInit, Inject, HostListener } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { TooltipContent } from '../../shared/shared.interface';\n\n\n@Component({\n\tselector: 'kng-dialog-tooltip',\n\ttemplateUrl: './template/kng-dialog-tooltip.component.html',\n\tstyleUrls: ['./template/kng-dialog-tooltip.component.scss']\n})\nexport class KngDialogTooltipComponent implements OnInit \n{\n\tconstructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA)\n public data: {\n state: TooltipContent;\n positionRelativeToElement: HTMLElement;\n }\n\t) { }\n\n\tmatDialogConfig = new MatDialogConfig();\n\tngOnInit(): void \n\t{\n \tthis.updateTooltipPosition();\n\t}\n\n @HostListener('window:scroll') onScroll(): void \n\t{\n \tthis.updateTooltipPosition();\n\t}\n\n updateTooltipPosition() \n {\n \tconst rect: DOMRect =\n this.data?.positionRelativeToElement?.getBoundingClientRect();\n \tif (rect) \n \t{\n \t\tthis.matDialogConfig.position = { top: `${rect.bottom + 2}px` };\n \t\tthis.dialogRef.updatePosition(this.matDialogConfig.position);\n \t}\n }\n\n closeTooltip() \n {\n \tthis.dialogRef.close();\n }\n}\n","
\n
\n
{{data.state.content}}
\n
\n \n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngDialogTooltipComponent } from './kng-dialog-tooltip.component';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngDialogTooltipComponent\n\t],\n\timports: [CommonModule],\n\texports: [\n\t\tKngDialogTooltipComponent\n\t]\n})\nexport class KngDialogTooltipModule {}\n","export * from './kng-filter-panel.interface';\n","import { FormControl } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { Image } from '../../../shared/shared.interface';\n\nexport interface KngFilter {\n state: KngFilterState;\n}\n\nexport interface FilterJSON {\n heading: Heading;\n sections: Section[];\n ctaList: Cta[];\n}\n\nexport interface KngFilterState {\n filterData: FilterJSON;\n hidden: boolean;\n}\n\nexport interface KngFilterOutputState {\n id: string;\n state: string;\n}\n\ninterface Heading {\n label: string;\n}\n\nexport interface Section {\n label: string;\n collapsed: boolean;\n controls: Control[];\n selectionStateControls?: Control[];\n isShowMorePresent?: boolean;\n showMoreShowLess?: {\n\tisShowMoreClicked: boolean;\n\tisDisabled: boolean;\n\tshowMoreText: string;\n\tshowLessText: string;\n };\n noResultsFoundText?: string;\n noAssociatedResultsFoundText?: string;\n accordionExpandedIcon: Image;\n accordionCollapsedIcon: Image;\n selectedValue?: string[];\n searchIcon: Image;\n crossIcon: Image;\n hidden?: boolean;\n errorMessage?: string;\n isAPIError?: boolean;\n}\n\nexport interface Option {\n label: string;\n description?: string;\n id?: string;\n value: string;\n checked?: boolean;\n}\n\nexport interface Cta {\n id: string;\n label: string;\n className: string;\n disabled: boolean;\n}\n\nexport interface CtaClickEvent {\n event: Event;\n buttonClicked: Cta;\n state: KngFilterState;\n}\n\nexport enum ControlType {\n radio = 'radio',\n input = 'input',\n checkbox = 'checkbox',\n none = 'none',\n notDate = 'Not Date'\n}\n\nexport enum DateRange {\n lastDay = 'Last Day',\n lastSevenDays = 'Last 7 Days',\n lastThirtyDays = 'Last 30 Days',\n lastSixtyDays = 'Last 60 Days (default)',\n lastQuarter = 'Last Quarter',\n lastYear = 'Last Year',\n lastYearDefault = 'Last Year (default)',\n last2YearsDefault = 'Last 2 Years (default)',\n custom = 'Custom Date Range',\n lastSixtyDaysWithoutDefault = 'Last 60 Days',\n}\n\nexport enum DateRangeId {\n\tlastDay = '846d0c4b-3882-4ab2-a508-e2401d1ee040',\n\tlastSevenDays = 'f0fc4edf-e966-4f7b-9f8b-8d30bb51d115',\n\tlastThirtyDays = '07e102cf-a4d9-4697-9fa4-81756fc08b61',\n\tlastSixtyDaysDefault = '481d774c-ddd7-404d-8011-3c3f6145bb96',\n\tlastQuarter = '44d4a1aa-d18d-4584-809e-065d9cab66c0',\n\tlastYear = 'db878879-283b-4066-9461-51e6c38d703c',\n\tcustom = '9efa7309-517a-4513-b9a2-01123e91c271',\n\tlastYearDefault = 'd2f53022-98ca-4944-91e7-8c4f11eae1c4',\n lastSixtyDaysWithoutDefault = '8488fbea-e030-4049-b2ed-20fe167634e5'\n}\n\nexport interface ControlOptions {\n id: string;\n label: string;\n type: ControlType;\n value: unknown;\n inputPlaceholderText: string;\n inputIcon: string;\n isLocation?:boolean;\n address?:Address;\n options: Option[];\n quoteKeys?: string[];\n isHidden?: boolean;\n}\nexport class Control extends FormControl \n{\n\tprivate controlOptions$: BehaviorSubject =\n\t\tnew BehaviorSubject({\n\t\t\tid: '',\n\t\t\tlabel: '',\n\t\t\ttype: ControlType.none,\n\t\t\tinputPlaceholderText: '',\n\t\t\tinputIcon: '',\n\t\t\toptions: [],\n\t\t\tvalue: '',\n\t\t\tisLocation: false,\n\t\t\tisHidden: false\n\t\t});\n\tget id(): string \n\t{\n\t\treturn this.controlOptions$.value.id;\n\t}\n\tget label(): string \n\t{\n\t\treturn this.controlOptions$.value.label;\n\t}\n\tget type(): ControlType \n\t{\n\t\treturn this.controlOptions$.value.type;\n\t}\n\tget inputPlaceholderText(): string \n\t{\n\t\treturn this.controlOptions$.value.inputPlaceholderText;\n\t}\n\tget inputIcon(): string \n\t{\n\t\treturn this.controlOptions$.value.inputIcon;\n\t}\n\tget options(): Option[] \n\t{\n\t\treturn this.controlOptions$.value.options;\n\t}\n\tget isLocation(): boolean|undefined \n\t{\n\t\treturn this.controlOptions$.value.isLocation;\n\t}\n\tget address(): Address|undefined \n\t{\n\t\treturn this.controlOptions$.value.address;\n\t}\n\tget quoteKeys(): string[]|undefined \n\t{\n\t\treturn this.controlOptions$.value.quoteKeys;\n\t}\n\tget isHidden(): boolean|undefined \n\t{\n\t\treturn this.controlOptions$.value.isHidden;\n\t}\n\tset type(value: ControlType) \n\t{\n\t\tthis.controlOptions$.value.type = value;\n\t}\n\tset options(value: Option[]) \n\t{\n\t\tthis.controlOptions$.value.options = value;\n\t}\n\tset inputPlaceholderText(value: string) \n\t{\n\t\tthis.controlOptions$.value.inputPlaceholderText = value;\n\t}\n\tset inputIcon(value: string) \n\t{\n\t\tthis.controlOptions$.value.inputIcon = value;\n\t}\n\tset isHidden(value: boolean | undefined) \n\t{\n\t\tthis.controlOptions$.value.isHidden = value;\n\t}\n\tconstructor(options: ControlOptions) \n\t{\n\t\tsuper();\n\t\tthis.setValue(options.value);\n\t\tthis.controlOptions$.next(options);\n\t}\n}\nexport interface Address{\n addressLine1: string;\n addressLine2?: string;\n city: string;\n state: string;\n country?:string;\n zipCode: string;\n zip?: string;\n}\n","\nexport * from './definitions';\nexport * from './kng-filter-panel.component';\nexport * from './kng-filter-panel.factory';\nexport * from './kng-filter-panel.module';\nexport * from './kng-filter-panel.service';\n","import { Component, Input, Output, EventEmitter, DoCheck } from '@angular/core';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { KngFilterPanelFactory } from './kng-filter-panel.factory';\nimport { Control, ControlType, Cta, CtaClickEvent, DateRange, KngFilter, KngFilterState, Section } from './definitions/kng-filter-panel.interface';\nimport { Address } from '../../shared/shared.interface';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n@Component({\n\tselector: 'kng-filter-panel',\n\ttemplateUrl: './template/kng-filter-panel.component.html',\n\tstyleUrls: ['./template/kng-filter-panel.component.scss']\n})\nexport class KngFilterPanelComponent implements KngFilter, DoCheck \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngFilterPanelFactory.buildState());\n\tshowToFromInput: boolean = false;\n\tcurrentDate: Date = new Date();\n\tfromDate!: Date;\n\ttoDate!: Date;\n\ttoDateError: boolean = false;\n\tfromDateError: boolean = false;\n\tselectedOptions: string = '';\n\tisFilterLoad: boolean = false;\n\n@Input() set state(value: KngFilterState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n\nget state(): KngFilterState \n{\n\treturn this.state$.value;\n}\n\n@Output() filterApplied: EventEmitter =\n\tnew EventEmitter();\n@Output() stateChanged: EventEmitter = new EventEmitter();\n@Output() getCountOfFilterPanel: EventEmitter
=\n\tnew EventEmitter
();\n@Output() checkboxClickEvent: EventEmitter
=\n\tnew EventEmitter
();\n\t\n@Output() closeFilterEvent: EventEmitter = new EventEmitter();\n\nconstructor() \n{\n\tthis.setDefaultToFromDate();\n}\n\nsetDefaultToFromDate(): void\n{\n\tthis.toDate = this.currentDate;\n\tthis.fromDate = new Date(\n\t\tnew Date().setDate(this.currentDate.getDate() - 60)\n\t);\n\tthis.toDateError = false;\n\tthis.fromDateError = false;\n}\n\nngDoCheck(): void \n{\n\tthis.stateChanged.emit();\n}\n\nbuttonClicked(event: CtaClickEvent) \n{\n\tconst btnIndex = event.state.filterData.ctaList.findIndex(\n\t\t(cta: Cta) => cta.label === event.buttonClicked.label\n\t);\n\tif (btnIndex === 0) \n\t{\n\t\tthis.showToFromInput = false;\n\t}\n\telse \n\t{\n\t\tthis.setToFromDate();\n\t}\n\tthis.filterApplied.emit(event);\n}\n\ncheckboxClicked(section: Section) \n{\n\tthis.getCountOfFilterPanel.emit(section);\n\tthis.checkboxClickEvent.emit(section);\n}\n\n\nsetToFromDate() \n{\n\tconst section = this.state.filterData.sections;\n\tsection.forEach((sec) =>\n\t{\n\t\tif(sec.controls[0]?.type === ControlType.radio)\n\t\t{\n\t\t\tconst options = sec.controls[0].options;\n\t\t\tconst index = options.findIndex((opt) => opt.label === DateRange.custom);\n\t\t\tif (index >= 0) \n\t\t\t{\n\t\t\t\toptions[index].value =\n this.fromDate.toString() + '@' + this.toDate.toString();\n\t\t\t}\n\t\t}\n\t});\n \n}\n\npublic updateState(value: KngFilterState) \n{\n\tthis.state$.next(value);\n}\n\npublic initializeFilterCount() \n{\n\tthis.isFilterLoad = true;\n}\n\ncloseFilter() \n{\n\tthis.state.hidden = true;\n\tthis.closeFilterEvent.emit();\n}\n\nclearSearch(control: Control) \n{\n\tcontrol.setValue('');\n}\n\ncheckSelectedValue(indexctrl: number, indexsec: number) \n{\n\tthis.selectedOptions = '';\n\tconst selectedFilterData =\n this.state.filterData.sections[indexsec].controls[0].options;\n\tselectedFilterData.forEach((opt) => (opt.checked = false));\n\tif (indexctrl >= 0) \n\t{\n\t\tselectedFilterData[indexctrl].checked = true;\n\t\tthis.state.filterData.sections[indexsec].selectedValue = [(selectedFilterData[indexctrl].label)];\n\t\tconst optionLabel = selectedFilterData[indexctrl].label;\n\t\tif (optionLabel === DateRange.custom) \n\t\t{\n\t\t\tthis.selectedOptions = DateRange.custom;\n\t\t\tthis.showToFromInput = true;\n\t\t\tif (this.fromDateError || this.toDateError) \n\t\t\t{\n\t\t\t\tthis.state.filterData.ctaList[1].disabled = true;\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\tthis.state.filterData.ctaList[1].disabled = false;\n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.showToFromInput = false;\n\t\t\tthis.state.filterData.ctaList[1].disabled = false;\n\t\t\tthis.state.filterData.ctaList[0].disabled = false;\n\t\t}\n\t\tthis.updateState(this.state);\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\t\nonKeyUp(event: any) \n{\n\tthis.setDefaultToFromDate();\n\tif(event.target.id === 'fromDateInput' ) \n\t{\n\t\t(document.getElementById('fromDateInput')).readOnly = true;\n\t}\n\telse if(event.target.id === 'toDateInput') \n\t{\n\t\tthis.toDate = new Date();\n\t\t(document.getElementById('toDateInput')).readOnly = true;\n\t}\n}\n\ncheckDateValidator(event: MatDatepickerInputEvent) \n{\n\tlet toDateUnix = this.toDate.getTime();\n\tlet fromDateUnix = this.fromDate.getTime();\n\tif (event.targetElement.id === 'fromDateInput' && event.value) \n\t{\n\t\tthis.fromDate = event.value;\n\t\tfromDateUnix = this.fromDate.getTime();\n\t}\n\telse if (event.targetElement.id === 'toDateInput' && event.value) \n\t{\n\t\tthis.toDate = event.value;\n\t\ttoDateUnix = this.toDate.getTime();\n\t}\n\tthis.showError(event.targetElement.id, fromDateUnix, toDateUnix);\n}\n\nshowError(id: string, fromDateUnix: number, toDateUnix: number) \n{\n\tif (toDateUnix < fromDateUnix) \n\t{\n\t\tif (id === 'toDateInput') \n\t\t{\n\t\t\tthis.toDateError = true;\n\t\t\tthis.fromDateError = false;\n\t\t\tthis.state.filterData.ctaList[1].disabled = true;\n\t\t}\n\t\telse if (id === 'fromDateInput') \n\t\t{\n\t\t\tthis.fromDateError = true;\n\t\t\tthis.toDateError = false;\n\t\t\tthis.state.filterData.ctaList[1].disabled = true;\n\t\t}\n\t}\n\telse \n\t{\n\t\tthis.toDateError = false;\n\t\tthis.fromDateError = false;\n\t\tthis.state.filterData.ctaList[1].disabled = false;\n\t}\n}\n\nformatAddress(address: Address) \n{\n\treturn [ address.addressLine1, address.addressLine2, address.city, address.state, address.zipCode ].filter(Boolean).join(', ');\n}\n\ndisplayRecordsHandler(section: Section, index:number)\n{\n\tif(section.isShowMorePresent)\n\t{\n\t\tif(section.showMoreShowLess?.isShowMoreClicked)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\telse if(!section.showMoreShowLess?.isShowMoreClicked && index > 4)\n\t\t{\n\t\t\treturn this.handleViewOnLoad(section, index);\n\t\t}\n\t\treturn true;\n\t}\n\treturn true;\n}\nisSearchFieldPresent(section: Section, index:number)\n{\n\treturn section.controls[0].type === ControlType.input && index < 6;\n}\nhandleViewOnLoad(section: Section, index:number)\n{\n\tif(this.isSearchFieldPresent(section, index))\n\t{\n\t\treturn true;\n\t}\n\treturn false;\n}\nhandleDynamicDisplayOfShowMoreShowLess(btnClicked: string, section: Section)\n{\n\tif(btnClicked === section.showMoreShowLess?.showMoreText)\n\t{\n\t\tsection.showMoreShowLess.isShowMoreClicked = true;\n\t}\n\telse if( btnClicked === section.showMoreShowLess?.showLessText)\n\t{\n\t\tsection.showMoreShowLess.isShowMoreClicked = false;\n\t}\n}\nisShowMorePresent(section: Section)\n{\n \treturn ((section.controls.length > 6 && section.controls[0].type === ControlType.input) || (section.controls.length > 5 && section.controls[0].type !== ControlType.input)) && section.isShowMorePresent;\n}\nnoResultsFound(sectioncontrol: Section)\n{\n\treturn sectioncontrol.controls.length > 0 && sectioncontrol.controls[0].type === ControlType.input && (typeof sectioncontrol.controls[0].value === 'string' && sectioncontrol.controls[0].value.trimLeft().length > 2) && sectioncontrol.controls.length === 1 && !this.isError(sectioncontrol);\n}\nisErrorMessage(sectioncontrol: Section)\n{\n\treturn sectioncontrol.controls.length > 0 && sectioncontrol.controls[0].type === ControlType.input && (typeof sectioncontrol.controls[0].value === 'string' && sectioncontrol.controls[0].value.trimLeft().length > 2) && sectioncontrol.controls.length === 1 && this.isError(sectioncontrol);\n}\nisError(sectioncontrol: Section)\n{\n\treturn sectioncontrol.noResultsFoundText && sectioncontrol.errorMessage && sectioncontrol.isAPIError;\n}\nisShowMoreDisabled(section: Section)\n{\n\treturn section.controls.every(control=>control.type === ControlType.checkbox && control.value === false && control.disabled);\n}\nisSectionWithSearchInput(expanded: boolean, section: Section)\n{\n\treturn (section.controls.some(control=>control.type === ControlType.input && control.isHidden !== true) && expanded)? 'sectionWithSearchControl' : '';\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nupdateCheckedStateForAccessibility($event: any, checkbox: MatCheckbox) \n{\n\tif($event) \n\t{ \n\t\tcheckbox.checked = true;\n\t}\n}\n}\n","\n
\n
\n {{\n state.filterData.heading.label\n }}\n \n \"Close\n \n
\n
\n
\n \n \n \n \n \n {{ sectioncontrol.label }}\n \n  ({{ sectioncontrol.selectedValue.length }})\n \n \n \n \n \n \n \n \n \n \n \n \n {{ options.label }}\n \n
\n
\n \n \n \n \n \n \n
\n From date must be before the To date\n
\n
\n
\n
\n \n \n \n \n \n \n
\n To date must be after the From date\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n
\n \n\n \n \n

{{ control.label }}

\n

{{ formatAddress(control.address) }}

\n \n \n \n \n\n \n {{ sectioncontrol.noResultsFoundText }}\n \n \n {{ sectioncontrol.errorMessage }}\n \n \n {{ sectioncontrol.noAssociatedResultsFoundText }}\n \n \n \n \n \n \n \n \n \n \n
\n \n {{ button.label }}\n \n
\n \n
\n\n","\nimport { Control, ControlType, KngFilterState } from './definitions/kng-filter-panel.interface';\nexport class KngFilterPanelFactory \n{\n\tpublic static buildState(): KngFilterState \n\t{\n\t\treturn {\n\t\t\tfilterData: {\n\t\t\t\theading: {\n\t\t\t\t\tlabel: 'Filters'\n\t\t\t\t},\n\t\t\t\tsections: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Date Range',\n\t\t\t\t\t\tcollapsed: true,\n\t\t\t\t\t\tcontrols: [\n\t\t\t\t\t\t\tnew Control({\n\t\t\t\t\t\t\t\tid: 'acf50332-d71e-4c8f-9c61-4d2349b042e9',\n\t\t\t\t\t\t\t\tlabel: 'uii',\n\t\t\t\t\t\t\t\ttype: ControlType.radio,\n\t\t\t\t\t\t\t\tvalue: '2022-06-14T00:00:00.000Z 2022-06-14T23:59:59.999Z',\n\t\t\t\t\t\t\t\tinputPlaceholderText: '',\n\t\t\t\t\t\t\t\tinputIcon: '',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: 'Last Day',\n\t\t\t\t\t\t\t\t\t\tvalue: '2022-06-14T00:00:00.000Z 2022-06-14T23:59:59.999Z',\n\t\t\t\t\t\t\t\t\t\tchecked: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\t\t\t\t\tvalue: '2022-06-07T00:00:00.000Z 2022-06-14T23:59:59.999Z',\n\t\t\t\t\t\t\t\t\t\tchecked: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\taccordionCollapsedIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\taccordionExpandedIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\tsearchIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\tcrossIcon: { iconPath: '', altText: '' }\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Location',\n\t\t\t\t\t\tcollapsed: false,\n\t\t\t\t\t\tcontrols: [\n\t\t\t\t\t\t\tnew Control({\n\t\t\t\t\t\t\t\tid: 'a2690769-0405-481d-a630-0ea92f1f73e1',\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ttype: ControlType.input,\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tinputPlaceholderText: 'Search by Location',\n\t\t\t\t\t\t\t\tinputIcon:\n 'https://cdn-icons-png.flaticon.com/512/751/751463.png',\n\t\t\t\t\t\t\t\toptions: []\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew Control({\n\t\t\t\t\t\t\t\tid: 'a333504b-301a-404d-a75c-3b77bb74b975',\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ttype: ControlType.checkbox,\n\t\t\t\t\t\t\t\tvalue: 'dcf246e3-f059-43c3-a91b-d9739ee695b4',\n\t\t\t\t\t\t\t\tinputPlaceholderText: '',\n\t\t\t\t\t\t\t\tinputIcon: '',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: 'Location A',\n\t\t\t\t\t\t\t\t\t\tdescription:\n 'Address Line1, Address Line 2, City, State, Postal Code',\n\t\t\t\t\t\t\t\t\t\tvalue: 'dcf246e3-f059-43c3-a91b-d9739ee695b4'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: 'Location B',\n\t\t\t\t\t\t\t\t\t\tdescription:\n 'Address Line1, Address Line 2, City, State, Postal Code',\n\t\t\t\t\t\t\t\t\t\tvalue: '98a488d5-dd0f-4bc4-87b8-d4f3ef82beac'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\taccordionCollapsedIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\taccordionExpandedIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\tsearchIcon: { iconPath: '', altText: '' },\n\t\t\t\t\t\tcrossIcon: { iconPath: '', altText: '' }\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tctaList: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '327147f4-c044-4799-8a5a-d075c619e41c',\n\t\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\t\tclassName: 'light',\n\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '7eeaa3f0-b4f6-4142-8086-361298d75686',\n\t\t\t\t\t\tlabel: 'Apply',\n\t\t\t\t\t\tclassName: 'dark',\n\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\thidden: true\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { KngFilterPanelComponent } from './kng-filter-panel.component';\nimport { KngFilterPanelService } from './kng-filter-panel.service';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngFilterPanelComponent\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tMatExpansionModule,\n\t\tMatFormFieldModule,\n\t\tMatIconModule,\n\t\tMatInputModule,\n\t\tMatSidenavModule,\n\t\tMatRadioModule,\n\t\tMatCheckboxModule,\n\t\tReactiveFormsModule,\n\t\tMatDatepickerModule,\n\t\tMatNativeDateModule,\n\t\tFormsModule\n\t],\n\texports: [\n\t\tKngFilterPanelComponent\n\t],\n\tproviders: [\n\t\tKngFilterPanelService\n\t]\n})\nexport class KngFilterPanelModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngFilterPanelFactory } from './kng-filter-panel.factory';\nimport { KngFilterState } from './definitions/kng-filter-panel.interface';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngFilterPanelService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tKngFilterPanelFactory.buildState()\n\t);\n\tget state(): KngFilterState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngFilterState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export interface KngFooter {\n state: KngFooterState;\n}\n\nexport interface KngFooterState {\n ribbonImage: string;\n altText: string;\n footercontent: KngFooterData;\n cssClass: string;\n}\nexport interface KngFooterData {\n fixed: boolean;\n hidden: boolean;\n logoImagePath: string;\n altText: string;\n footermenu: KngFooterMenu[];\n copyright: KngFooterCopyRight;\n}\nexport interface KngFooterMenu {\n id: string;\n label: string;\n iconPath: string;\n altText: string;\n labelValue: string[];\n url?: string;\n}\nexport interface KngFooterCopyRight {\n label: string;\n labelUrl: KngFooterCopyRightLabel[];\n}\nexport interface KngFooterCopyRightLabel {\n label: string;\n url: string;\n}\nexport interface KngFooterLogoUrl {\n label: string;\n url: string;\n}\nexport enum FooterLabel {\n phone = 'Phone',\n email = 'Email',\n support = 'Support',\n usa = '',\n country = 'Select a Country/Language',\n}\n","export * from './footer.interface';\n","export * from './kng-footer.component';\nexport * from './kng-footer.module';\nexport * from './definitions';\nexport * from './kng-footer.service';\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n\tKngFooter,\n\tKngFooterCopyRightLabel,\n\tKngFooterData,\n\tKngFooterState,\n\tFooterLabel\n} from './definitions/footer.interface';\nimport { KngFooterFactory } from './kng-footer.factory';\nimport { KngFooterService } from './kng-footer.service';\nimport { get as lodashGet } from 'lodash';\n@Component({\n\tselector: 'kng-footer',\n\ttemplateUrl: './template/kng-footer.component.html',\n\tstyleUrls: ['./template/kng-footer.component.scss']\n})\nexport class KngFooterComponent implements KngFooter, OnInit\n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngFooterFactory.buildState());\n @Input() set state(value: KngFooterState)\n\t{\n\t\tthis.state$.next(value);\n\t\tthis.footerdata = value;\n\t\tthis.footercontent = value.footercontent;\n\t}\n footerdata: KngFooterState = KngFooterFactory.buildState();\n footerLabel = FooterLabel;\n footercontent!: KngFooterData;\n @Output() ctaLinkClicked: EventEmitter =\n \tnew EventEmitter();\n @Output() languageSelectionChanged: EventEmitter = new EventEmitter();\n @ViewChild('dropdown', { read: ElementRef }) dropdown!: ElementRef;\n get state(): KngFooterState\n {\n \treturn this.state$.value;\n }\n\n get isActionFooterPresent(): boolean\n {\n \treturn this.footerService.isActionFooterPresent;\n }\n\n constructor(private footerService: KngFooterService, private renderer2: Renderer2) {}\n\n ngOnInit(): void\n {\n\t const ele: HTMLElement = this.renderer2.selectRootElement('html', true);\n\t let value = ele.getAttribute('lang');\n\t if(value)\n\t {\n\t\t setTimeout(() => \n\t\t {\n\t\t\t if(this.dropdown)\n\t\t\t {\n\t\t\t\t value = this.languageCheck(value);\n\t\t\t\t this.dropdown.nativeElement.value = value;\n\t\t\t }\n\t\t }, 1000);\n\t }\n }\n\n languageCheck(value: string | null): string\n {\n\t if(value && value === 'fr')\n\t {\n\t\t return 'French';\n\t }\n\t else\n\t {\n\t\t return 'United States- English';\n\t }\n }\n\n\n public ctaLinkClick(element: KngFooterCopyRightLabel): void\n {\n \tif (element.url)\n \t{\n \t\twindow.open(element.url, '_blank');\n \t}\n }\n public updateLanguageSelection(event: Event): void\n {\n \tthis.languageSelectionChanged.emit(lodashGet(event, 'target.value'));\n }\n public navigateTologo() \n {\n \twindow.open('https://www.toyotaforklift.com/', '_blank', 'noopener');\n }\n navigateto(url: string | undefined)\n {\n \tconst currentData = {\n \t\turlOfOrigin: window.location.href,\n \t\temail: ''\n \t};\n \tconst userProfile = localStorage.getItem('userDetails');\n \tif(userProfile)\n \t{\n \t\tconst user = JSON.parse(userProfile);\n \t\tcurrentData.email = user.email;\n \t}\n \tconst currentPath = btoa(JSON.stringify(currentData));\n \twindow.open(`${url}?metadata=${currentPath}`, '_blank', 'noopener');\n }\n}\n","\n
\n © {{ footercontent?.copyright?.label }}|\n \n {{ label.label }}|\n \n
\n \n \n\n","import { KngFooterCopyRightLabel, KngFooterMenu, KngFooterState } from './definitions/footer.interface';\n\nexport class KngFooterFactory \n{\n\tpublic static buildState(): KngFooterState \n\t{\n\t\treturn {\n\t\t\tribbonImage: '',\n\t\t\taltText: '',\n\t\t\tcssClass: '',\n\t\t\tfootercontent: {\n\t\t\t\tfixed: false,\n\t\t\t\thidden: false,\n\t\t\t\tlogoImagePath: '',\n\t\t\t\taltText: '',\n\t\t\t\tfootermenu: this.getFooterMenu(),\n\t\t\t\tcopyright: {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tlabelUrl: this.getLabelUrl()\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\tpublic static getLabelUrl(): KngFooterCopyRightLabel[]\n\t{\n\t\tconst obj: KngFooterCopyRightLabel[] = [];\n\t\tfor(let i = 0; i<4 ; i++) \n\t\t{\n\t\t\tobj.push({ label: '', url: '' });\n\t\t}\n\t\treturn obj;\n\t}\n\tpublic static getFooterMenu(): KngFooterMenu[] \n\t{\n\t\tconst footerObj: KngFooterMenu[] = [];\n\t\tfor(let i = 0; i<4 ; i++) \n\t\t{\n\t\t\tfooterObj.push({ id: '',\tlabel: '', iconPath: '', altText: '', labelValue: [], url: '' });\n\t\t}\n\t\treturn footerObj;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngFooterComponent } from './kng-footer.component';\nimport { KngFooterService } from './kng-footer.service';\n\n@NgModule({\n\tdeclarations: [KngFooterComponent],\n\timports: [CommonModule],\n\texports: [KngFooterComponent],\n\tproviders: [KngFooterService]\n})\nexport class KngFooterModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngFooterService \n{\n\tprivate isActionFooterPresent$: BehaviorSubject =\n\t\tnew BehaviorSubject(false);\n\n\tget isActionFooterPresent(): boolean \n\t{\n\t\treturn this.isActionFooterPresent$.value;\n\t}\n\n\tpublic updateActionFooterPresent(value: boolean): void \n\t{\n\t\tthis.isActionFooterPresent$.next(value);\n\t}\n}\n","/* eslint-disable @angular-eslint/component-selector */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n\texpActionButtons,\n\tTableActionButton\n} from './definitions/kng-grid.interface';\n\n@Component({\n\tselector: '[action-buttons]',\n\ttemplateUrl: './template/action-buttons.component.html'\n})\nexport class ActionButtonsComponent \n{\n @Input() value: string | undefined;\n @Output() buttonAction: EventEmitter =\n \tnew EventEmitter();\n\n onEditClick() \n {\n \tthis.buttonAction.emit({\n \t\tname: expActionButtons.actionButton.move,\n \t\tvalue: this.value\n \t});\n }\n onDeleteClick() \n {\n \tthis.buttonAction.emit({ name: expActionButtons.actionButton.remove });\n }\n onViewClick() \n {\n \tthis.buttonAction.emit({ name: expActionButtons.actionButton.move });\n }\n}\n","\n \"\"\n\n\n \n \n\n","export * from './kng-grid.interface';\n","export interface GridDefinition {\n [key: string]: string;\n}\nexport interface KngGrid {\n state: KngGridState;\n}\nexport interface KngGridState {\n grid: GridDefinition[];\n displayedColumns: string[];\n totalArrayLength: number;\n isSortable?: boolean;\n}\n\nexport interface KngGridPagerCard{\n totalItems: number;\n currentPage: number;\n pageSize: number;\n totalPages: number;\n startPage: number;\n endPage: number;\n startIndex: number;\n endIndex: number;\n}\nexport const actionButtons = {\n\tactionButton: {\n\t\tremove: 'remove',\n\t\tmove: 'move'\n\t}\n};\nexport const expActionButtons = {\n\tactionButton: {\n\t\tremove: 'remove',\n\t\tmove: 'move'\n\t}\n};\nexport interface TableActionButton {\n name: string;\n value?: string;\n}\n","export * from './definitions';\nexport * from './kng-grid.component';\nexport * from './kng-grid.module';\nexport * from './kng-grid.service';\n","import {\n\tComponent,\n\tInput,\n\tViewChild,\n\tViewEncapsulation,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport {\n\tKngGrid,\n\tKngGridState,\n\tGridDefinition,\n\tKngGridPagerCard\n} from './definitions/kng-grid.interface';\nimport { MatSort, Sort, SortDirection } from '@angular/material/sort';\n\n@Component({\n\tselector: 'kng-grid',\n\ttemplateUrl: './template/kng-grid.component.html',\n\tstyleUrls: ['./template/kng-grid.component.scss'],\n\tencapsulation: ViewEncapsulation.None\n})\nexport class KngGridComponent implements KngGrid \n{\n\ttotalArrayLength: number = 0;\n\tdisplayedColumns: string[] = [];\n\tvalue: string = '';\n @Output() action: EventEmitter = new EventEmitter();\n @Output() pageIndex: EventEmitter = new EventEmitter();\n @Output() sortColumn: EventEmitter =\n \tnew EventEmitter();\n dataSource: GridDefinition[] = [];\n\n columnsToDisplay: string[] = this.displayedColumns.slice();\n @Input() arrowIconGray: string = '/arrowLeft.svg';\n @Input() arrowIconOrange: string = '/arrowRightOrange.svg';\n @Input() isAccordion?: boolean;\n\n @Input() set state(value: KngGridState) \n {\n \tthis.dataSource = value.grid;\n \tthis.displayedColumns = value.displayedColumns;\n \tthis.columnsToDisplay = this.displayedColumns.slice();\n \tthis.totalArrayLength = value.totalArrayLength;\n \tthis.pagedItems = value.grid;\n \tthis.isSortable = value.isSortable? value.isSortable : false;\n }\n \n isSortable = false;\n\n @ViewChild(MatSort)\n \tsort!: MatSort;\n\n pager: KngGridPagerCard = {\n \ttotalPages: 1,\n \tcurrentPage: 0,\n \tendIndex: 0,\n \tendPage: 0,\n \tpageSize: 0,\n \tstartIndex: 0,\n \tstartPage: 0,\n \ttotalItems: 0\n };\n pageNumber: number = 1;\n pagedItems: GridDefinition[] = [];\n\n\n matsortColumn(value: Sort) \n {\n \tthis.sortColumn.emit(value.direction);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTableAction(e: any): void \n {\n \tthis.action.emit(e);\n }\n}\n","
\n \n \n \n {{ column }}\n \n \n \n {{ element[column] }}\n \n \n
\n
\n
\n \n\n \n \n \n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngGridComponent } from './kng-grid.component';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { GridPagerService } from './kng-grid.service';\nimport { ActionButtonsComponent } from './action-buttons.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { NgxPaginationModule } from 'ngx-pagination';\n@NgModule({\n\tdeclarations: [\n\t\tKngGridComponent, ActionButtonsComponent\n\t],\n\timports: [ CommonModule, MatTableModule, MatPaginatorModule, MatSortModule, MatMenuModule, MatIconModule, MatButtonModule, NgxPaginationModule ],\n\texports: [\n\t\tKngGridComponent\n\t],\n\tproviders: [GridPagerService]\n})\nexport class KngGridModule {}\n","import { Injectable } from '@angular/core';\n@Injectable({\n\tprovidedIn: 'root'\n})\n\nexport class GridPagerService \n{\n\tgetPager(totalItems: number, currentPage: number, pageSize: number = 10) \n\t{\n \n\t\tconst totalPages = Math.ceil(totalItems / pageSize);\n\n\t\tlet startPage: number, endPage: number;\n\t\tif (totalPages <= 5) \n\t\t{\n\t\t\tstartPage = 1;\n\t\t\tendPage = totalPages;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tconst startEndObj=this.getCurrentPage( currentPage, totalPages);\n\t\t\tstartPage=startEndObj.startPage;\n\t\t\tendPage=startEndObj.endPage;\n\t\t\t\n\t\t}\n\n\t\tconst startIndex = (currentPage - 1) * pageSize;\n\t\tconst endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\n\n\n\t\treturn {\n\t\t\ttotalItems: totalItems,\n\t\t\tcurrentPage: currentPage,\n\t\t\tpageSize: pageSize,\n\t\t\ttotalPages: totalPages,\n\t\t\tstartPage: startPage,\n\t\t\tendPage: endPage,\n\t\t\tstartIndex: startIndex,\n\t\t\tendIndex: endIndex\n \n\t\t};\n\t}\n\tgetCurrentPage(currentPage:number, totalPages:number )\n\t{\n\t\tlet startPage: number, endPage: number;\n\t\tif (currentPage <= 3) \n\t\t{\n\t\t\tstartPage = 1;\n\t\t\tendPage = 5;\n\t\t}\n\t\telse if (currentPage + 1 >= totalPages) \n\t\t{\n\t\t\tstartPage = totalPages - 4;\n\t\t\tendPage = totalPages;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tstartPage = currentPage - 2;\n\t\t\tendPage = currentPage + 2;\n\t\t}\n\t\treturn { startPage: startPage, endPage: endPage };\n\t}\n}\n","export * from './grid';\nexport * from './button';\nexport * from './nav';\nexport * from './content';\nexport * from './footer';\nexport * from './filter-panel';\nexport * from './shell';\nexport * from './modal';\nexport * from './charts';\nexport * from './swatch';\nexport * from './breadcrumb';\nexport * from './count-of-item-card';\nexport * from './card-list';\nexport * from './accordion';\nexport * from './grid';\nexport * from './loader';\nexport * from './toaster';\nexport * from './kng-components.module';\nexport * from './status-selector';\nexport * from './table';\nexport * from './mydealer';\nexport * from './table-loader';\nexport * from './dialog-tooltip';\nexport * from './upload-file';\nexport * from './data-table';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngGridModule } from './grid/kng-grid.module';\nimport { KngButtonModule } from './button';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [ CommonModule, KngGridModule, KngButtonModule ],\n\texports: [ KngGridModule, KngButtonModule ],\n\tproviders: []\n})\nexport class KngComponentsModule {}\n","export * from './kng-loader.interface';\n","export interface KngLoader {\n state: KngLoaderState;\n}\nexport interface KngLoaderState {\n imagePath: string;\n}\n","export * from './definitions';\nexport * from './kng-loader.component';\nexport * from './kng-loader.factory';\nexport * from './kng-loader.module';\nexport * from './kng-loader.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngLoader, KngLoaderState } from './definitions';\nimport { KngLoaderService } from './kng-loader.service';\n\n@Component({\n\tselector: 'kng-loader',\n\ttemplateUrl: './template/kng-loader.component.html',\n\tstyleUrls: ['./template/kng-loader.component.scss']\n})\nexport class KngLoaderComponent implements KngLoader, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\n @Input() set state(value: KngLoaderState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngLoaderState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n\n constructor(private service: KngLoaderService) {}\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngLoaderState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n}\n","
\n \"loader\"\n
\n","import { KngLoaderState } from './definitions';\n\nexport class KngLoaderFactory \n{\n\tpublic static build(): KngLoaderState \n\t{\n\t\treturn {\n\t\t\timagePath: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngLoaderComponent } from './kng-loader.component';\nimport { KngLoaderService } from './kng-loader.service';\n\n@NgModule({\n\tdeclarations: [KngLoaderComponent],\n\timports: [CommonModule],\n\texports: [KngLoaderComponent],\n\tproviders: [KngLoaderService]\n})\nexport class KngLoaderModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngLoaderFactory } from './kng-loader.factory';\nimport { KngLoaderState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngLoaderService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngLoaderFactory.build());\n\tget state(): KngLoaderState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngLoaderState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export * from './modal.interface';\n","import { Image } from '../../../shared/shared.interface';\n\nexport interface Modal {\n state: ModalState;\n}\nexport interface ModalState {\n hidden: boolean;\n label: string;\n isCheckBox?: boolean;\n buttons: ButtonState[];\n cssClass: string;\n checkboxText?: string;\n closeHidden?: boolean;\n tooltip?: {\n\t\tcloseIcon: Image;\n\t\tcontent: string;\n\t};\n}\n\nexport interface ButtonState {\n label: string;\n id?: string;\n iconPath?: string;\n cssClass: string;\n disabled: boolean;\n hidden?: boolean;\n}\n\nexport interface ModalEvent {\n state: ModalState;\n cta: ButtonState;\n}\n\nexport enum Icon {\n arrowLeft = 'assets/arrowleftOrange.svg'\n}\n\nexport enum ButtonLabel {\n editNewLocation = 'Edit New Location'\n}\n\nexport interface NavButtonState {\n btnRequired: boolean;\n btnLabel: string;\n}\n","export * from './definitions';\nexport * from './modal.component';\nexport * from './modal.factory';\nexport * from './modal.module';\nexport * from './modal.service';\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOnInit,\n\tOnDestroy,\n\tViewChild,\n\tElementRef\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { ButtonLabel, ButtonState, Icon, Modal, ModalEvent, ModalState, NavButtonState } from './definitions';\nimport { ModalFactory } from './modal.factory';\n@Component({\n\tselector: 'kng-modal-component',\n\ttemplateUrl: './template/modal.component.html',\n\tstyleUrls: ['./template/modal.component.scss']\n})\nexport class ModalComponent implements Modal, OnInit, OnDestroy\n{\n\tprivate subscriptions$: Subscription = new Subscription();\n\tshowTooltip:boolean = false;\n\tarrowLeft: string | undefined = Icon.arrowLeft;\n\teditBtnLabel = ButtonLabel.editNewLocation;\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tModalFactory.build()\n\t);\n\tget state(): ModalState\n\t{\n\t\treturn this.state$.value;\n\t}\n\t@ViewChild('toolTipRef') toolTipRef!: HTMLDivElement;\n @ViewChild('modalContainer', { static: true })\n \tmodalContainer!: ElementRef;\n\n @Input() set state(value: ModalState)\n {\n \tthis.state$.next(value);\n \tif (!value.hidden)\n \t{\n \t\tthis.openModal();\n \t}\n \telse\n \t{\n \t\tthis.closePopup();\n \t}\n }\n\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n @Output() closed: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Output() ctaClickedOn: EventEmitter =\n \tnew EventEmitter();\n @Output() tooltipClicked: EventEmitter =\n \tnew EventEmitter();\n @Output() checkBoxClicked : EventEmitter = new EventEmitter();\n @Output() navBtnClicked : EventEmitter = new EventEmitter();\n\n @Input() checkBoxText?: string;\n @Input() checkBoxTickedFlag: boolean = false;\n @Input() checBoxDisabledFlag: boolean = true;\n @Input() navBtnRequired: boolean = false;\n @Input() navBtnState: NavButtonState = {\n \t\tbtnRequired: false,\n \t\tbtnLabel: ''\n \t};\n private stateChangeHandler(modalState: ModalState)\n {\n \tthis.stateChanged.emit(modalState);\n }\n\n ngOnInit(): void\n {\n \tconst stateChangedSubscription: Subscription = this.state$.subscribe(\n \t\t(next: ModalState) => this.stateChangeHandler(next)\n \t);\n \tthis.subscriptions$.add(stateChangedSubscription);\n }\n\n ngOnDestroy(): void\n {\n \tthis.subscriptions$.unsubscribe();\n }\n closePopup()\n {\n \tdocument.getElementById('kng-modal-close')?.click();\n \tthis.state.hidden = true;\n \tthis.closed.emit();\n \tthis.hideModalBackdrop();\n }\n openModal()\n {\n \tdocument.getElementById('kng-open-modal')?.click();\n \tthis.state.hidden = false;\n \tthis.opened.emit();\n }\n\n emitCtaClickEvent(cta: ButtonState)\n {\n \tconst eventEmitted: ModalEvent = { state: this.state, cta: cta };\n \tthis.checBoxDisabledFlag = true;\n \tthis.ctaClickedOn.emit(eventEmitted);\n }\n openTooltip(eleRef: HTMLDivElement): void\n {\n \tif(this.state.tooltip?.content && eleRef)\n \t{\n \t\tthis.showTooltip = true;\n \t\tsetTimeout(() => eleRef.focus(), 100);\n \t}\n }\n\n closeTooTip(eleRef: HTMLDivElement): void\n {\n \tif(this.state.tooltip?.content && eleRef)\n \t{\n \t\tthis.showTooltip = false;\n \t\tsetTimeout(() => eleRef.focus(), 100);\n \t}\n }\n hideModalBackdrop()\n {\n \tdocument.body.classList.remove('modal-open');\n \tdocument.body.removeAttribute('style');\n \tconst backdrop = document.querySelector('.modal-backdrop');\n \tbackdrop?.remove();\n }\n showMobileTooltip()\n {\n\t this.tooltipClicked.emit();\n }\n\n checkBoxClickEvent()\n {\n \tif(this.checkBoxTickedFlag)\n \t{\n \t\tthis.checkBoxClicked.emit(true);\n \t}\n \telse\n \t{\n \t\tthis.checkBoxClicked.emit(false);\n \t}\n }\n\n navBtnclick() \n {\n \tthis.navBtnClicked.emit();\n }\n}\n","\n Open Modal\n\n\n\n \n
\n
\n
\n {{ state.label }}\n
\n Tooltip-indicator\n

{{state.tooltip?.content}}

\n
\n
\n Tooltip-indicator\n
\n
\n\n \n
\n\n
\n \n
\n
\n
\n \n \n
\n
\n {{checkBoxText}}\n
\n
\n {{state.checkboxText}}\n
\n
\n \n \n {{ cta.label }}\n \n
\n
\n
\n \n\n","import { ModalState } from './definitions';\n\nexport class ModalFactory \n{\n\tpublic static build(): ModalState \n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [],\n\t\t\tcssClass: '',\n\t\t\tcloseHidden: false,\n\t\t\ttooltip: {\n\t\t\t\tcloseIcon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tcontent: ''\n\t\t\t}\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalComponent } from './modal.component';\nimport { ModalService } from './modal.service';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\n@NgModule({\n\tdeclarations: [ModalComponent],\n\timports: [ CommonModule, MatTooltipModule, MatCheckboxModule, FormsModule, ReactiveFormsModule ],\n\texports: [ModalComponent],\n\tproviders: [ModalService]\n})\nexport class ModalModule {}\n","import { Injectable } from '@angular/core';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ModalService {}\n","export * from './kng-mydealer.interface';\n","import { Address, LabelValue, Image } from '../../../shared/shared.interface';\nimport { KngButtonState } from '../../button';\n\nexport interface KngMydealer {\n state: KngMydealerState;\n}\nexport interface KngMydealerState {\n myDealer: MyDealer;\n isButton: boolean;\n button?: KngButtonState;\n url: string;\n page? : string;\n isError?: boolean;\n loading?: boolean;\n noResult?: {\n label: string;\n text?: string;\n iconPath: string;\n altText?: string;\n };\n}\nexport interface MyDealer {\n firstName: string;\n lastName: string;\n phone: LabelValue;\n email: LabelValue;\n address: AddressState;\n }\nexport interface AddressState {\n label: string;\n value: Address;\n icon?: Image;\n }\n\n","export * from './definitions';\nexport * from './kng-mydealer.component';\nexport * from './kng-mydealer.factory';\nexport * from './kng-mydealer.module';\nexport * from './kng-mydealer.service';\n","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter, AfterContentChecked } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DealerPage } from '../../shared/shared.interface';\nimport { SharedService } from '../../shared/shared.service';\nimport { AddressState, KngMydealer, KngMydealerState } from './definitions';\nimport { KngMydealerService } from './kng-mydealer.service';\nimport { LibIcons, NullCheck } from '../../constants/global.constant';\nimport { KngLoaderState } from '../loader';\n\n\n@Component({\n\tselector: 'kng-mydealer',\n\ttemplateUrl: './template/kng-mydealer.component.html',\n\tstyleUrls: ['./template/kng-mydealer.component.scss']\n})\nexport class KngMydealerComponent implements KngMydealer, OnInit, OnDestroy, AfterContentChecked\n{\n\n\tprivate subscriptions: Subscription = new Subscription();\n\tparentPage!: typeof DealerPage;\n\taddressView: boolean = false;\n\tloaderState: KngLoaderState = { imagePath: LibIcons.widgetLoader };\n \n @Input() set state(value: KngMydealerState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngMydealerState\n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter = new EventEmitter();\n @Output() clicked: EventEmitter =\n \tnew EventEmitter();\n @Output() contactClickOn: EventEmitter<'email' | 'phone-number'> = new EventEmitter<'email' | 'phone-number'>();\n\n constructor(\n private service: KngMydealerService, private sharedservice: SharedService\n )\n { }\n\n ngOnInit(): void\n {\n \tthis.initSubscriptions();\n \tthis.parentPage = DealerPage;\n }\n ngOnDestroy(): void\n {\n \tthis.destroySubscriptions();\n }\n\n ngAfterContentChecked(): void\n {\n \tconst addressState = this.state.myDealer.address.value;\n \tif(addressState.addressLine1 === NullCheck.nullValue && addressState.city === NullCheck.nullValue && addressState.state === NullCheck.nullValue && addressState.zipCode === NullCheck.nullValue)\n \t{\n \t\tthis.addressView = false;\n \t}\n\t else\n \t{\n \t\tthis.addressView = true;\n \t}\n }\n\n private initSubscriptions(): void\n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngMydealerState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void\n {\n \tthis.subscriptions.unsubscribe();\n }\n\n public formatAddress(address:AddressState)\n {\n \treturn this.sharedservice.formatAddress(address.value, false);\n\n }\n public handleClick()\n {\n \tthis.clicked.emit(this.state);\n }\n}\n","
\n \n
\n
\n
\n {{ state.myDealer.firstName }} {{ state.myDealer.lastName }}\n
\n
\n
\n
\n \"{{\n {{ state.myDealer.phone.label }}\n
\n
\n \"{{\n {{ state.myDealer.phone.label }}\n
\n \n
\n {{ state.myDealer.phone.value }}\n
\n
\n \n
\n {{ state.myDealer.phone.value }}\n
\n
\n
\n \n
\n
\n \"{{\n
\n
{{ state.myDealer.address.label }}
\n
\n
{{ state.myDealer.address.value.addressLine1}},
\n
{{ state.myDealer.address.value.addressLine2}},
\n
{{ formatAddress(state.myDealer.address)}}
\n
\n
\n {{ state.myDealer.address.value.addressLine1}}\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \"{{state?.noResult?.altText}}\"\n
{{state.noResult?.label}}
\n
{{state.noResult?.text}}
\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n

\n \"loader\"\n

\n
","\nimport { LabelValue } from '../../shared/shared.interface';\nimport { KngMydealerState } from './definitions';\n\nexport class KngMydealerFactory \n{\n\tpublic static build(): KngMydealerState \n\t{\n\t\treturn {\n\t\t\tmyDealer: {\n\t\t\t\tfirstName: '',\n\t\t\t\tlastName: '',\n\t\t\t\tphone: this.getPhoneEmail('phone'),\n\t\t\t\temail: this.getPhoneEmail('email'),\n\t\t\t\taddress: {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\taddressLine1: '',\n\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\tcity: '',\n\t\t\t\t\t\tstate: '',\n\t\t\t\t\t\tzipCode: ''\n\t\t\t\t\t},\n\t\t\t\t\ticon: {\n\t\t\t\t\t\ticonPath: '/assets/location.svg',\n\t\t\t\t\t\taltText: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisButton: false,\n\t\t\tbutton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'secondary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: 'Open Contact Form',\n\t\t\t\tposition: 'right',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: 'assets/external_link.svg'\n\t\t\t\t}\n\t\t\t},\n\t\t\turl: '',\n\t\t\tisError: false,\n\t\t\tloading: false,\n\t\t\tnoResult: {\n\t\t\t\tlabel: '',\n\t\t\t\ttext: '',\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t}\n\t\t};\n\t}\n\tpublic static getPhoneEmail(type: string): LabelValue \n\t{\n\t\tlet iconValue = '';\n\t\tswitch (type) \n\t\t{\n\t\tcase 'email':\n\t\t\ticonValue = '/assets/email.svg';\n\t\t\tbreak;\n\n\t\tcase 'phone':\n\t\t\ticonValue = '/assets/phone.svg';\n\t\t\tbreak;\n\t\t}\n\n\t\tconst obj: LabelValue = { label: '', value: '', icon: { iconPath: iconValue, altText: '' } };\n\t\treturn obj;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngMydealerComponent } from './kng-mydealer.component';\nimport { KngMydealerService } from './kng-mydealer.service';\nimport { KngButtonModule } from '../button';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngMydealerComponent\n\t],\n\timports: [ CommonModule, KngButtonModule ],\n\texports: [\n\t\tKngMydealerComponent\n\t],\n\tproviders: [\n\t\tKngMydealerService\n\t]\n})\nexport class KngMydealerModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngMydealerFactory } from './kng-mydealer.factory';\nimport { KngMydealerState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngMydealerService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tKngMydealerFactory.build()\n\t);\n\tget state(): KngMydealerState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\t\n\n\tpublic updateState(value: KngMydealerState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export * from './kng-header-nav.interface';\n","import { Image } from 'projects/kinetic-angular/src/lib/shared/shared.interface';\n\nexport interface KngHeader {\n state: KngHeaderNav;\n}\nexport interface KngHeaderNav {\n state: Array;\n}\nexport interface KngHeaderNavStateItem {\n mobilePanelIsOpen: boolean;\n cssClass: string;\n menu: Array;\n minimumAccess?: boolean;\n}\nexport interface KngHeaderNavMenuOption {\n id: string;\n isSelected: boolean;\n url: string;\n label: string;\n iconPath: string;\n hideMenu : boolean;\n altText: string;\n cssClass: string;\n notClickable?: boolean;\n submenu: Array;\n dropdownArrow?: Image;\n locations?: Location[];\n}\nexport interface KngHeaderNavMenuOptionIcon {\n label: string;\n id: string;\n}\nexport interface Location {\n accountName: string;\n locationGRID: string;\n adminId?: boolean;\n}\n\nexport interface KngHeaderNavOptionSelectOn {\n event: Event;\n selection: KngHeaderNavMenuOption;\n}\n\nexport interface KngHeaderLogosClicked {\n event: Event;\n selection: Array;\n}\n\nexport enum CssClass {\n user = 'ui__nav__global__user',\n mobile = 'ui__nav__mobile',\n logos = 'ui__nav__global__icon',\n portal = 'ui__nav__portal',\n global = 'ui__nav__global',\n notification = 'ui__nav__global__notification',\n shop = 'ui__nav__global__shop',\n shopMobile = 'shopMenu',\n skipNav = 'Skip Navigation',\n locationListDropdown = 'ui__nav__location__list__dropdown'\n}\nexport interface KnHeaderCustomerState {\n hidden: boolean;\n warningNote: string;\n readOnly: string;\n endSession: string;\n username: string;\n}\n","export * from './kng-header-nav.component';\nexport * from './kng-header-nav.module';\nexport * from './definitions';\n","/* eslint-disable max-lines */\nimport { AfterContentChecked, Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { ViewportScroller } from '@angular/common';\nimport { BehaviorSubject } from 'rxjs';\nimport { CssClass, KngHeaderNav, KngHeaderNavMenuOption, KngHeaderNavOptionSelectOn, KngHeaderNavStateItem, Location, KnHeaderCustomerState } from './definitions/kng-header-nav.interface';\nimport { KngHeaderNavFactory } from './kng-header-nav.factory';\nimport { HeaderNav, HeaderUrl } from '../../../shared/shared.interface';\n@Component({\n\tselector: 'kng-header-nav',\n\ttemplateUrl: './template/kng-header-nav.component.html',\n\tstyleUrls: ['./template/kng-header-nav.component.scss']\n})\nexport class KngHeaderNavComponent implements KngHeaderNav, OnDestroy, OnInit, AfterContentChecked \n{\n\theaderTop!: KngHeaderNavStateItem;\n\tmobileHeaderMenu!: KngHeaderNavStateItem;\n\theaderBottom!: KngHeaderNavStateItem;\n\tshowSettingsMenu: boolean = false;\n\tsubMenuSelected: boolean = false;\n\tsubLocationMenuSelected: boolean = false;\n\tshowLocationDropdown: boolean = false;\n\tsettingsMenu!: KngHeaderNavMenuOption;\n\tsubOptionArray!: Array;\n\theaderlogos!: Array;\n\tusername: string = ' ';\n\tshowellipsis: boolean = false;\n\tcssClass = CssClass;\n\tunSelectNav: boolean = false;\n\tunSelectHeader: boolean = false;\n\tunSelectMobileHeader: boolean = false;\n\tcurrentRoute: string = '';\n\tuserSelected = false;\n\tnavTabIndex: number = 0;\n\tskipNavText: string = 'Skip Navigation';\n\tprivate state$: BehaviorSubject = new BehaviorSubject(KngHeaderNavFactory.buildState());\n\tprivate unlistener: () => void;\n\tlocationListArray: Location[] | undefined = [];\n\tselectedLocation!: Location | undefined;\n\taccountNameEllipsis: boolean = false;\n\tget state(): KngHeaderNavStateItem[] { return this.state$.value; }\n\t@Input() set state(value: KngHeaderNavStateItem[]) \n\t{\n\t\tthis.state$.next(value);\n\t\tthis.getHeaderData();\n\t}\n\t@Input() customerState: KnHeaderCustomerState = KngHeaderNavFactory.buildheaderCustomerState();\n\t@ViewChild('sidenav') sidenav!: MatSidenav;\n\t@Output() clickEventTop: EventEmitter = new EventEmitter();\n\t@Output() customerSessionEvent: EventEmitter = new EventEmitter();\n\t@Output() clickEventLocationTop: EventEmitter = new EventEmitter();\n\t@Output() clickEventBottom: EventEmitter = new EventEmitter();\n\t@Output() clickHeaderLogo: EventEmitter = new EventEmitter();\n\tconstructor(private renderer: Renderer2, public router: Router, private scroller: ViewportScroller)\n\t{\n\t\tthis.unlistener = this.renderer.listen('window', 'mousedown', () => \n\t\t{\n\t\t\tif (!this.subMenuSelected) this.showSettingsMenu = false;\n\t\t\tif (!this.subLocationMenuSelected) this.showLocationDropdown = false;\n\t\t});\n\t\tthis.renderer.listen('window', 'keydown', (e) => \n\t\t{\n\t\t\tif (e.key === 'Escape') \n\t\t\t{\n\t\t\t\tif (!this.subMenuSelected) this.showSettingsMenu = false;\n\t\t\t\tif (!this.subLocationMenuSelected) this.showLocationDropdown = false;\n\t\t\t}\n\t\t});\n\t}\n\t@HostListener('document:keydown', ['$event'])\n\tonKeyPress(event: KeyboardEvent): void \n\t{\n\t\tconst clickedElement = event.target as HTMLElement;\n\t\tif (event.key === 'Enter' && clickedElement.classList.contains(CssClass.locationListDropdown)) \n\t\t{\n\t\t\tthis.clickDropdownArrow();\n\t\t}\n\t}\n\tngOnInit() \n\t{\n\n\t\tthis.router.events.subscribe(event => \n\t\t{\n\t\t\tif ((event instanceof NavigationEnd)) \n\t\t\t{\n\t\t\t\tthis.currentRoute = event.url;\n\t\t\t}\n\t\t\tthis.checkCurrentRoute();\n\t\t});\n\t}\n\tngAfterContentChecked(): void \n\t{\n\t\tthis.state$.subscribe(value => \n\t\t{\n\t\t\tif(value)\n\t\t\t{\n\t\t\t\tthis.locationListArray = this.state?.filter((elem) => elem.cssClass === CssClass.global)[0].menu?.filter((item) => item.cssClass === CssClass.locationListDropdown)[0]?.locations;\n\t\t\t\tthis.selectedLocation = this.locationListArray? this.locationListArray.filter(item => item.adminId === true)[0] : undefined;\n\t\t\t\tthis.getUserName();\n\t\t\t\tthis.shouldShowAccountNameEllipsis();\n\t\t\t}\n\t\t});\n\n\t}\n\tshouldShowAccountNameEllipsis()\n \t{\n\t\tif(this.selectedLocation && this.selectedLocation?.accountName?.length>10)\n\t\t\tthis.accountNameEllipsis = true;\n\t\telse\n\t\t\tthis.accountNameEllipsis = false;\n \t}\n\tgetInitials(userName: string) : string\n \t{\n\t\tconst words = userName.split(' ');\n\t\tconst initials = words.map(word => word.charAt(0).toUpperCase()).join('');\n\t\treturn initials;\n \t}\n \tgetUserName()\n \t{\n\t\tif (this.locationListArray && this.locationListArray.length > 0) \n\t\t{\n\t\t\tthis.username = this.getInitials(this.headerTop?.menu?.filter((item) => item.cssClass === CssClass.user)[0]?.label);\n\t\t}\n\t\telse { this.username = this.headerTop?.menu?.filter((item) => item.cssClass === CssClass.user)[0]?.label; }\n\t}\n\tselectedAccordion: HTMLElement | null = null;\n\ttoggleHelper(event: Event, accordion: HTMLElement, panel: HTMLElement): void \n\t{\n\t\tevent.preventDefault();\n\t\tthis.selectedAccordion = accordion;\n\t\tthis.selectedAccordion.classList.toggle('active');\n\t\tpanel.style.display = panel.style.display === 'block' ? 'none' : 'block';\n\t}\n\tcheckCurrentRoute()\n\t{\n\t\tif (this.currentRoute.includes(HeaderUrl.userManagement) || this.router.url.includes(HeaderUrl.rolesPermissions) || this.currentRoute.includes(HeaderUrl.accountSetting) || this.currentRoute.includes(HeaderUrl.locationManagment)) \n\t\t{\n\t\t\tthis.userSelected = true;\n\t\t\tthis.unSelectNav = true;\n\t\t\tthis.subOptionArray?.forEach((item) => \n\t\t\t{\n\t\t\t\titem.isSelected = false;\n\t\t\t\titem.isSelected = this.currentRoute.includes(item.url) && (item.url !== '');\n\t\t\t});\n\t\t\tthis.updateSelectionState(false);\n\t\t}\n\t\telse if(this.isMainNavSelected())\n\t\t{\n\t\t\tthis.unSelectNav = false;\n\t\t\tthis.headerBottom?.menu?.forEach((item) => \n\t\t\t{\n\t\t\t\titem.isSelected = false;\n\t\t\t\titem.isSelected = this.currentRoute.includes(item.url);\n\t\t\t});\n\t\t\tthis.userSelected = false;\n\t\t\tthis.updateSubSelectionState(false);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.userSelected = false;\n\t\t}\n\t}\n\tisMainNavSelected()\n\t{\n\t\treturn this.currentRoute.includes(HeaderUrl.dashboard) || this.currentRoute.includes(HeaderUrl.orderMangement) || this.currentRoute.includes(HeaderUrl.myfleet) || this.currentRoute.includes(HeaderUrl.serviceManagement) || this.currentRoute.includes(HeaderUrl.myQuotes) || this.currentRoute.includes(HeaderUrl.myInsights);\n\t}\n\tupdateSelectionState(state: boolean)\n\t{\n\t\tthis.headerBottom.menu?.forEach((item) => { item.isSelected = state; });\n\t}\n\tupdateSubSelectionState(state: boolean)\n\t{\n\t\tthis.subOptionArray?.forEach((item) => { item.isSelected = state; });\n\t}\n\tgetHeaderData() \n\t{\n\t\tthis.headerTop = this.state?.filter((elem) => elem.cssClass === CssClass.global)[0];\n\t\tthis.headerBottom = this.state?.filter((elem) => elem.cssClass === CssClass.portal)[0];\n\t\tthis.mobileHeaderMenu = this.state?.filter((elem) => elem.cssClass === CssClass.mobile)[0];\n\t\tthis.getSubOptionAndHeaderArray();\n\t\tthis.locationListArray = this.headerTop?.menu?.filter((item) => item.cssClass === CssClass.locationListDropdown)[0]?.locations;\n\t\tthis.selectedLocation = this.locationListArray? this.locationListArray.filter(item => item.adminId === true)[0] : undefined;\n\t\tthis.getUserName();\n\t\tthis.shouldShowAccountNameEllipsis();\n\t\tif (this.username?.length > 21) \n\t\t\tthis.showellipsis = true;\n\t\tthis.setIsSelectedHeaderBottom();\n\t}\n\tsetIsSelectedHeaderBottom() \n\t{\n\t\tconst routUrl = this.router.url.split('/');\n\t\tif (routUrl) \n\t\t{\n\t\t\tthis.headerBottom?.menu?.forEach((item) => \n\t\t\t{\n\t\t\t\titem.isSelected = false;\n\t\t\t\tif (item.label === HeaderNav.orderMangement || item.label === HeaderNav.myfleet || item.label === HeaderNav.serviceManagement || this.isMyQuotesOrMyInsights(item.label)) \n\t\t\t\t{\n\t\t\t\t\tthis.userSelected = false;\n\t\t\t\t\titem.isSelected = this.router.url.includes(item.url);\n\t\t\t\t}\n\t\t\t\telse if (item.label !== HeaderNav.dashboard)\n\t\t\t\t\tthis.setIsSelectedSubOptionCategories(routUrl, item);\n\t\t\t\telse \n\t\t\t\t\tthis.setIsSelectedForDashboard(routUrl, item);\n\t\t\t});\n\t\t\tthis.unSelectMobileHeader = (!this.router.url.includes('notify'));\n\t\t\tthis.setIsSelectedHeader();\n\t\t\tthis.setIsSelectedSubOption();\n\t\t}\n\t}\n\tisMyQuotesOrMyInsights(title: string)\n\t{\n\t\treturn (title === HeaderNav.myQuotes || title === HeaderNav.myInsights);\n\t}\n\tsetIsSelectedForDashboard(routUrl: string[], item: KngHeaderNavMenuOption)\n\t{\n\t\tthis.userSelected = false;\n\t\tconst url = routUrl.pop();\n\t\tif (url)\n\t\t\titem.isSelected = (item.url.includes(url.toLowerCase()) || url === ('app'));\n\t}\n\tpublic selectHeaderMenu(option: KngHeaderNavMenuOption, event: Event): void \n\t{\n\t\tthis.resetNavIndex();\n\t\tif (option.cssClass === CssClass.user) \n\t\t\tthis.showSettingsMenu = true;\n\t\tthis.clickEventTop.emit({ event, selection: option });\n\t\tthis.router.events.subscribe(event => \n\t\t{\n\t\t\tif ((event instanceof NavigationEnd)) \n\t\t\t{\n\t\t\t\tif (!(/toyota/i.exec(option.altText)))\n\t\t\t\t\tthis.unSelectNav = true;\n\t\t\t\tthis.unSelectHeader = false;\n\t\t\t\tthis.checkCurrentRoute();\n\t\t\t}\n\t\t});\n\t}\n\tcloseMenu() { this.subMenuSelected = false; }\n\tdisplayMenu() { this.subMenuSelected = true; }\n\tcloseLocationMenu() { this.subLocationMenuSelected = false; }\n\tdisplayLocationMenu() { this.subLocationMenuSelected = true; }\n\tclickDropdownArrow() { this.showLocationDropdown = !this.showLocationDropdown; }\n\tpublic selectNavMenu(option: KngHeaderNavMenuOption, tag: string, event: Event): void \n\t{\n\t\tthis.resetNavIndex();\n\t\tif (tag === 'nav') \n\t\t{\n\t\t\tthis.clickEventBottom.emit({ event, selection: option });\n\t\t\tthis.router.events.subscribe(event => \n\t\t\t{\n\t\t\t\tif ((event instanceof NavigationEnd)) \n\t\t\t\t{\n\t\t\t\t\tthis.unSelectNav = false;\n\t\t\t\t\tthis.unSelectHeader = true;\n\t\t\t\t\tthis.headerBottom?.menu?.forEach((item) => \n\t\t\t\t\t{\n\t\t\t\t\t\titem.isSelected = false;\n\t\t\t\t\t\tif (item.label === HeaderNav.orderMangement || item.label === HeaderNav.myfleet || item.label === HeaderNav.serviceManagement || this.isMyQuotesOrMyInsights(item.label)) \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.userSelected = false;\n\t\t\t\t\t\t\titem.isSelected = this.currentRoute.includes(item.url);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\titem.isSelected = (item.url === this.currentRoute);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tpublic selectSubLocationOption(location: Location, tag: string): void \n\t{\n\t\tif (tag === 'header') \n\t\t{\n\t\t\tthis.subLocationMenuSelected = true;\n\t\t\tif(location !== this.selectedLocation) this.clickEventLocationTop.emit(location);\n\t\t\tthis.showLocationDropdown = false;\n\t\t}\n\t}\n\tpublic selectSubLocationOptionMobile(location: Location): void \n\t{\n\t\tif(location !== this.selectedLocation) this.clickEventLocationTop.emit(location);\n\t}\n\tpublic selectSubOption(subOption: KngHeaderNavMenuOption, tag: string, event: Event): void \n\t{\n\t\tif (tag === 'header') \n\t\t{\n\t\t\tsubOption.isSelected = true;\n\t\t\tthis.subMenuSelected = true;\n\t\t\tthis.clickEventTop.emit({ event, selection: subOption });\n\t\t\tthis.router.events.subscribe(event => \n\t\t\t{\n\t\t\t\tif ((event instanceof NavigationEnd)) \n\t\t\t\t{\n\t\t\t\t\tthis.unSelectNav = true;\n\t\t\t\t\tthis.unSelectHeader = true;\n\t\t\t\t\tthis.subOptionArray?.forEach((item) => \n\t\t\t\t\t{\n\t\t\t\t\t\titem.isSelected = false;\n\t\t\t\t\t\titem.isSelected = this.currentRoute.includes(item.url) && (item.url !== '');\n\t\t\t\t\t\tthis.userSelected = true;\n\t\t\t\t\t});\n\t\t\t\t\tthis.checkCurrentRoute();\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.showSettingsMenu = false;\n\t\t}\n\t}\n\tselectMobileMenu(option: KngHeaderNavMenuOption, event: Event) \n\t{\n\t\tthis.clickEventTop.emit({ event, selection: option });\n\t\tthis.router.events.subscribe(event => \n\t\t{\n\t\t\tif ((event instanceof NavigationEnd)) \n\t\t\t{\n\t\t\t\tthis.mobileHeaderMenu?.menu?.forEach((item) => \n\t\t\t\t{\n\t\t\t\t\tif (item.label === HeaderNav.orderMangement || item.label === HeaderNav.myfleet || item.label === HeaderNav.serviceManagement || this.isMyQuotesOrMyInsights(item.label))\n\t\t\t\t\t\titem.isSelected = this.currentRoute.includes(item.url);\n\t\t\t\t\telse\n\t\t\t\t\t\titem.isSelected = this.currentRoute.includes(item.url) && (item.url !== '');\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tthis.unSelectMobileHeader = true;\n\t\tthis.sidenav.close()?.catch(error => \n\t\t{\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(error, 'error');\n\t\t});\n\t}\n\tlogoClicked(event: Event, option: KngHeaderNavMenuOption) \n\t{\n\t\tthis.clickEventTop.emit({ event, selection: option });\n\t\tthis.unSelectNav = true;\n\t\tthis.unSelectMobileHeader = false;\n\t}\n\tngOnDestroy(): void { this.unlistener(); }\n\tresetNavIndex() { this.navTabIndex = 0; }\n\tskipNavigation(): void \n\t{\n\t\tif (this.navTabIndex === 0) \n\t\t{\n\t\t\tthis.navTabIndex = -1;\n\t\t\tthis.skipNavText = 'Go Through Navigation';\n\t\t\tthis.scroller.scrollToAnchor('mainContent');\n\t\t\tconst input: HTMLDivElement | null = document.querySelector('#mainContent') as HTMLDivElement;\n\t\t\tif (input !== null)\n\t\t\t\tinput.focus();\n\t\t}\n\t\telse if (this.navTabIndex === -1) \n\t\t{\n\t\t\tthis.resetNavIndex();\n\t\t\tthis.skipNavText = 'Skip Navigation';\n\t\t}\n\t}\n\tsetIsSelectedHeader() \n\t{\n\t\tconst routUrl = this.router.url.split('/');\n\t\tif (routUrl)\n\t\t\tthis.mobileHeaderMenu?.menu?.forEach((item) => \n\t\t\t{\n\t\t\t\titem.isSelected = false;\n\t\t\t\tif (item.label === HeaderNav.dashboard || item.label === HeaderNav.orderMangement || item.label === HeaderNav.myfleet || item.label === HeaderNav.serviceManagement || this.isMyQuotesOrMyInsights(item.label))\n\t\t\t\t\titem.isSelected = this.router.url.includes(item.url);\n\t\t\t\telse\n\t\t\t\t\tthis.setIsSelectedSubOptionCategories(routUrl, item);\n\t\t\t});\n\t}\n\tsetIsSelectedSubOption() \n\t{\n\t\tconst routUrl = this.router.url.split('/');\n\t\tif (routUrl) \n\t\t{\n\t\t\tthis.subOptionArray?.forEach((item) => { this.setIsSelectedSubOptionCategories(routUrl, item); });\n\t\t}\n\t}\n\tgetSubOptionAndHeaderArray() \n\t{\n\t\tthis.subOptionArray = this.headerTop?.menu?.filter((item) => item.cssClass === CssClass.user)[0]?.submenu;\n\t\tthis.headerlogos = this.headerTop?.menu?.filter((item) => item.cssClass === CssClass.logos || item.cssClass === CssClass.notification);\n\t}\n\tshowEllipsis(userName: string) \n\t{\n\t\treturn userName.length > 21;\n\t}\n\tsetIsSelectedSubOptionCategories(routUrl: string[], item: KngHeaderNavMenuOption) \n\t{\n\t\titem.isSelected = false;\n\t\tlet flag: number = 0;\n\t\troutUrl.forEach((url) => \n\t\t{\n\t\t\tif (item.url.includes(url.toLowerCase()) && url !== ('app') && url !== ('') && url !== ('dashboard'))\n\t\t\t\tflag++;\n\t\t});\n\t\tif (flag > 0) \n\t\t{\n\t\t\titem.isSelected = true;\n\t\t\tthis.userSelected = true;\n\t\t}\n\t\telse { item.isSelected = false; }\n\t}\n\tendCustomerSession()\n\t{\n\t\tthis.customerSessionEvent.emit('end');\n\t}\n}\n","
\n
\n
\n {{ customerState.readOnly }} \n {{ customerState.warningNote }} \n {{customerState.username | titlecase}} sees it.\n
\n
\n {{customerState.endSession}} \n
\n
\n
\n\n
\n
\n
\n
\n \n \n \"{{\n \n
\n
\n
\n
0\">\n
\n
\n \n
\n
\n {{ subOption.label }}\n
\n
\n
0)}\" class=\"skip-nav\" *ngIf=\"option.label === cssClass.skipNav\">\n \n
\n
\n
\n
\n\n
0 && !headerBottom.minimumAccess\">\n
\n \n
\n
\n
\n {{ option?.label }}\n
\n
\n
\n {{ subOption?.label }}\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n \n
\n Menu\n \n
\n \n
\n
0\">\n
\n
\n \n
\n
{{ location.accountName }}
\n
\n
\n
\n
\n
\n
\n
\n \n {{ option.label }}\n \n \"{{\n
\n
\n
\n
\n
\n
\n
","import { KngHeaderNavStateItem, KnHeaderCustomerState } from './definitions/kng-header-nav.interface';\n\nexport class KngHeaderNavFactory \n{\n\tpublic static buildState(): KngHeaderNavStateItem[] \n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tmobilePanelIsOpen: false,\n\t\t\t\tcssClass: 'ui__nav__global',\n\t\t\t\tmenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: '',\n\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: '',\n\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: '',\n\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: 'ui__nav__global__user',\n\t\t\t\t\t\tsubmenu: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: '',\n\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\turl: 'app/roles-permissions',\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\t\t\thideMenu: false,\n\t\t\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\t\t\tcssClass: 'ui__nav__global__user',\n\t\t\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tmobilePanelIsOpen: false,\n\t\t\t\tcssClass: 'ui__nav__portal',\n\t\t\t\tmenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: true,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: '',\n\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tmobilePanelIsOpen: false,\n\t\t\t\tcssClass: 'ui__nav__mobile',\n\t\t\t\tmenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\turl: '',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\thideMenu: true,\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tcssClass: '',\n\t\t\t\t\t\tsubmenu: []\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t}\n\tpublic static buildheaderCustomerState(): KnHeaderCustomerState \n\t{\n\t\treturn {\n\t\t\thidden: false,\n\t\t\twarningNote: '',\n\t\t\treadOnly: '',\n\t\t\tendSession: '',\n\t\t\tusername: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngHeaderNavComponent } from './kng-header-nav.component';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n\tdeclarations: [KngHeaderNavComponent],\n\timports: [\n\t\tCommonModule,\n\t\tMatSidenavModule,\n\t\tMatIconModule,\n\t\tMatButtonModule,\n\t\tBrowserAnimationsModule,\n\t\tRouterModule\n\t],\n\texports: [KngHeaderNavComponent],\n\tproviders: []\n})\nexport class KngHeaderNavModule {}\n","export * from './header-nav';\n","export * from './kng-shell.interface';\n","import { KngBannerState } from '../../banner';\nimport { KngContentState } from '../../content';\nimport { KngFooterState } from '../../footer/definitions';\nimport { KngHeaderNavStateItem } from '../../nav/header-nav/definitions';\n\nexport interface KngShell {\n state: KngShellState | null;\n}\nexport interface KngShellState {\n header: Array;\n banner: KngBannerState;\n content: KngContentState;\n footer: KngFooterState;\n isMyInSights?: boolean;\n}\n\nexport interface KngCustomerState {\n hidden: boolean;\n warningNote: string;\n readOnly: string;\n endSession: string;\n username: string;\n}\n","export * from './definitions';\nexport * from './kng-shell.module';\nexport * from './kng-shell.component';\nexport * from './kng-shell.factory';\nexport * from './kng-shell.service';\n","import {\n\tComponent,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tViewChild\n} from '@angular/core';\nimport { KngContentComponent } from '../content';\nimport { KngFooterComponent } from '../footer';\nimport { KngHeaderNavComponent, KngHeaderNavOptionSelectOn } from '../nav';\nimport { KngCustomerState, KngShell, KngShellState } from './definitions/kng-shell.interface';\nimport { KngBannerComponent } from '../banner';\nimport { KngShellService } from './kng-shell.service';\nimport { Location } from '../../components/nav/header-nav/definitions/kng-header-nav.interface';\nimport { KngShellFactory } from './kng-shell.factory';\n@Component({\n\tselector: 'kng-shell',\n\ttemplateUrl: './template/kng-shell.component.html',\n\tstyleUrls: ['./template/kng-shell.component.scss']\n})\nexport class KngShellComponent implements KngShell\n{\n @Input() set state(value: KngShellState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n @Input() customerState: KngCustomerState = KngShellFactory.buildCustomerState();\n @Output() labelRedirection: EventEmitter =\n \tnew EventEmitter();\n @Output() bannerClickEvent: EventEmitter =\n \tnew EventEmitter();\n @Output() languageSelectionChanged: EventEmitter = new EventEmitter();\n @Output() customerSessionEvent: EventEmitter = new EventEmitter();\n \n @Output() locationSelected: EventEmitter = new EventEmitter();\n get state(): KngShellState\n {\n \treturn this.service.state;\n }\n @ViewChild('header', { static: true })\n \theaderComponent!: KngHeaderNavComponent;\n @ViewChild('banner', { static: true }) bannerComponent!: KngBannerComponent;\n @ViewChild('content', { static: true })\n \tcontentComponent!: KngContentComponent;\n @ViewChild('footer', { static: true }) footerComponent!: KngFooterComponent;\n constructor(private service: KngShellService){}\n public emitPath(event: KngHeaderNavOptionSelectOn): void\n {\n \tthis.labelRedirection.emit({\n \t\tevent: event.event,\n \t\tselection: event.selection\n \t});\n }\n public emitLocation(location: Location): void\n {\n \tthis.locationSelected.emit(location);\n }\n public notifyAboutLanguageSelection(selection: string)\n {\n \tthis.languageSelectionChanged.emit(selection);\n }\n bannerClickHandler(event: MouseEvent | TouchEvent)\n {\n \tthis.bannerClickEvent.emit(event);\n }\n endCustomerSession()\n {\n \tthis.customerSessionEvent.emit('end'); \n }\n}\n","
\n \n \n \n \n \n {{ state.footer[\"footercontent\"].hidden }}\n \n \n
\n","import { KngBannerFactory } from '../banner';\nimport { KngContentFactory } from '../content/kng-content.factory';\nimport { KngFooterFactory } from '../footer/kng-footer.factory';\nimport { KngHeaderNavFactory } from '../nav/header-nav/kng-header-nav.factory';\nimport { KngCustomerState, KngShellState } from './definitions';\n\nexport class KngShellFactory \n{\n\tpublic static buildState(): KngShellState \n\t{\n\t\treturn {\n\t\t\theader: KngHeaderNavFactory.buildState(),\n\t\t\tbanner: KngBannerFactory.buildState(),\n\t\t\tcontent: KngContentFactory.buildState(),\n\t\t\tfooter: KngFooterFactory.buildState()\n\t\t};\n\t}\n\tpublic static buildCustomerState(): KngCustomerState \n\t{\n\t\treturn {\n\t\t\thidden: false,\n\t\t\twarningNote: '',\n\t\t\treadOnly: '',\n\t\t\tendSession: '',\n\t\t\tusername: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngShellComponent } from './kng-shell.component';\nimport { KngContentModule } from '../content';\nimport { KngFooterModule } from '../footer';\nimport { KngHeaderNavModule } from '../nav';\nimport { KngBreadcrumbService } from '../breadcrumb';\nimport { KngBannerModule } from '../banner';\n\n@NgModule({\n\tdeclarations: [KngShellComponent],\n\timports: [\n\t\tCommonModule,\n\t\tKngContentModule,\n\t\tKngFooterModule,\n\t\tKngHeaderNavModule,\n\t\tKngBannerModule\n\t],\n\texports: [KngShellComponent],\n\tproviders: [KngBreadcrumbService]\n})\nexport class KngShellModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { KngShellState } from './definitions';\nimport { KngShellFactory } from './kng-shell.factory';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngShellService\n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngShellFactory.buildState());\n\tget state(): KngShellState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tpublic updateState(state: KngShellState): void\n\t{\n\t\tthis.state$.next(state);\n\t}\n}\n","export * from './kng-status-selector.interface';\n","import { Image } from '../../../shared/shared.interface';\n\nexport interface KngStatusSelector {\n state: KngStatusSelectorState;\n}\nexport interface KngStatusSelectorState {\n header: string;\n selectedStatus: string;\n count: Count[];\n}\n\nexport interface Count {\n header: string;\n label: string;\n amount: number;\n icon?: Image;\n}\n\nexport interface KngSelectionData {\n selectedStatus : string;\n}\n\n\n","export * from './definitions';\nexport * from './kng-status-selector.component';\nexport * from './kng-status-selector.factory';\nexport * from './kng-status-selector.module';\nexport * from './kng-status-selector.service';\n","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ScreenView } from '../../constants/global.constant';\nimport { KngSelectionData, KngStatusSelector, KngStatusSelectorState } from './definitions';\nimport { KngStatusSelectorService } from './kng-status-selector.service';\n\n\n@Component({\n\tselector: 'kng-status-selector',\n\ttemplateUrl: './template/kng-status-selector.component.html',\n\tstyleUrls: ['./template/kng-status-selector.component.scss']\n})\nexport class KngStatusSelectorComponent implements KngStatusSelector, OnInit, OnDestroy \n{\n \n\tselectedStatusValue: string = 'all';\n\tscreenView = ScreenView;\n\tprivate subscriptions: Subscription = new Subscription();\n\n @Input() set state(value: KngStatusSelectorState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngStatusSelectorState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter = new EventEmitter();\n @Output() selectionChanged: EventEmitter = new EventEmitter();\n\n constructor(\n private service: KngStatusSelectorService\n ) { }\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngStatusSelectorState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSelectionChange(view: string, event: any): void \n {\n \tconst selectedData: KngSelectionData = {\n \t\tselectedStatus: ''\n \t};\n \tif(view === ScreenView.mobile) \n \t{\n \t selectedData.selectedStatus = event?.target?.value;\n \t}\n \telse \n \t{\n \t\tthis.selectedStatusValue = event;\n \t\tthis.state.selectedStatus = event;\n \t\tselectedData.selectedStatus = event;\n \t}\n \tthis.selectionChanged.emit(selectedData);\n }\n}\n","
\n
\n
\n {{state.header}}\n
\n \n
\n
\n \n
\n
\n","\nimport { KngStatusSelectorState } from './definitions';\n\nexport class KngStatusSelectorFactory \n{\n\tpublic static build(): KngStatusSelectorState \n\t{\n\t\treturn {\n\t\t\theader: '',\n\t\t\tselectedStatus: 'all',\n\t\t\tcount: [\n\t\t\t\t{\n\t\t\t\t\theader: '',\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tamount: 0\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngStatusSelectorComponent } from './kng-status-selector.component';\nimport { KngStatusSelectorService } from './kng-status-selector.service';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngStatusSelectorComponent\n\t],\n\timports: [ CommonModule, FormsModule ],\n\texports: [\n\t\tKngStatusSelectorComponent\n\t],\n\tproviders: [\n\t\tKngStatusSelectorService\n\t]\n})\nexport class KngStatusSelectorModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngStatusSelectorFactory } from './kng-status-selector.factory';\nimport { KngStatusSelectorState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngStatusSelectorService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tKngStatusSelectorFactory.build()\n\t);\n\tget state(): KngStatusSelectorState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngStatusSelectorState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export * from './kng-swatch.interface';\n","export interface KngSwatch {\n state: KngSwatchState;\n}\nexport interface KngSwatchState {\n code: KngSwatchCode;\n tone: KngSwatchTone;\n}\nexport type KngSwatchCode =\n | 'darkest'\n | 'darker'\n | 'primary'\n | 'lighter'\n | 'lightest'\n | 'utility-darker'\n | 'utility-lighter'\n | 'utility-lightest'\n | 'black'\n | 'white';\nexport type KngSwatchTone = 'main' | 'secondary' | 'tertiary' | null;\n","export * from './definitions';\nexport * from './kng-swatch.module';\nexport * from './kng-swatch.factory';\nexport * from './kng-swatch.component';\n","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { KngSwatch, KngSwatchState } from './definitions';\nimport { KngSwatchFactory } from './kng-swatch.factory';\n\n@Component({\n\tselector: 'kng-swatch',\n\ttemplateUrl: './template/kng-swatch.component.html',\n\tstyleUrls: ['./template/kng-swatch.component.scss']\n})\nexport class KngSwatchComponent implements KngSwatch \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngSwatchFactory.build());\n\tget state(): KngSwatchState \n\t{\n\t\treturn this.state$.value;\n\t}\n @Input() set state(value: KngSwatchState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","\n
\n {{ state.code }} - {{ state.tone }}\n
\n
\n\n
\n {{ state.code }} - {{ state.tone }}\n
\n
\n","import { KngSwatchState } from './definitions';\n\nexport class KngSwatchFactory \n{\n\tpublic static build(): KngSwatchState \n\t{\n\t\treturn {\n\t\t\tcode: 'black',\n\t\t\ttone: null\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngSwatchComponent } from './kng-swatch.component';\n\n@NgModule({\n\tdeclarations: [KngSwatchComponent],\n\timports: [CommonModule],\n\texports: [KngSwatchComponent],\n\tproviders: []\n})\nexport class KngSwatchModule {}\n","export * from './kng-table-loader.interface';\n","export interface KngTableLoader {\n state: KngTableLoaderState;\n}\nexport interface KngTableLoaderState {\n noOfColumns: number;\n noOfRows: number;\n headerArray?: string[];\n}\n","export * from './definitions';\nexport * from './kng-table-loader.component';\nexport * from './kng-table-loader.factory';\nexport * from './kng-table-loader.module';\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { KngTableLoader, KngTableLoaderState } from './definitions';\nimport { KngTableLoaderFactory } from './kng-table-loader.factory';\n\n\n@Component({\n\tselector: 'kng-table-loader',\n\ttemplateUrl: './template/kng-table-loader.component.html',\n\tstyleUrls: ['./template/kng-table-loader.component.scss']\n})\nexport class KngTableLoaderComponent implements KngTableLoader\n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngTableLoaderFactory.build());\n\tget state(): KngTableLoaderState \n\t{\n\t\treturn this.state$.value;\n\t}\n @Input() set state(value: KngTableLoaderState) \n\t{\n\t\tthis.state$.next(value);\n\t}\n\n @Output() stateChanged: EventEmitter = new EventEmitter();\n \n numSequence(n: number): Array \n {\n \treturn Array(n);\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n
\n 0\">{{state.headerArray[i]}}\n
\n
\n
\n
\n","\nimport { KngTableLoaderState } from './definitions';\n\nexport class KngTableLoaderFactory \n{\n\tpublic static build(): KngTableLoaderState \n\t{\n\t\treturn {\n\t\t\tnoOfColumns: 0,\n\t\t\tnoOfRows: 0\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngTableLoaderComponent } from './kng-table-loader.component';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngTableLoaderComponent\n\t],\n\timports: [CommonModule],\n\texports: [\n\t\tKngTableLoaderComponent\n\t]\n})\nexport class KngTableLoaderModule {}\n","export * from './kng-table.interface';\n","\nimport { Image, TooltipContent } from '../../../shared/shared.interface';\nimport { KngButtonState } from '../../button';\n\nexport interface KngTable {\n state: KngTableState;\n}\nexport interface KngTableState {\n gridHeaders: HeaderObj[];\n gridData: GridValue[];\n ribbon: { ctaList: CtaList[]; cancelButton: KngButtonState };\n itemsSelected: string;\n isCheckbox: boolean;\n isRibbon: boolean;\n selectAll?:string;\n loading?: boolean;\n noResult: {\n image:Image;\n text:string;\n };\n approveUserLimitIndicatorText?: string;\n cssClass?:string;\n isTooltipPresent?: boolean;\n tooltip?: TooltipContent;\n tooltipClass?: string;\n id?:string;\n permissionCheckBoxDisabled?: boolean;\n}\n\nexport interface GridValue {\n values: GridValueData[];\n id:string;\n checked?:boolean;\n email?: string;\n state?: string;\n portalUserId?: string;\n company: string;\n roles: string[];\n portalApprovedCustomerID: string[];\n tempIsPrefilled?: boolean;\n phoneNumber: string;\n roleName: string;\n disabled?:boolean | undefined;\n adminLocationID?: string | undefined;\n}\nexport interface BusinessAccountGridValue {\n values: GridValueData[];\n id:string;\n email?: string;\n phoneNumber: string;\n}\n\nexport interface CtaList {\n id: string;\n className: string | AprRejBtnType;\n state: KngButtonState;\n}\n\nexport interface HeaderObj {\n id?:string;\n label: string;\n category?: string;\n isTooltip?:boolean;\n}\n\nexport interface GridValueData {\n label: string;\n value: string | boolean | number;\n href?: string;\n category?: KngTableCategory;\n firstLineValue?: string;\n secondLineValue?: string;\n thirdLineValue?:string;\n icon?:Image;\n cssClass?:string;\n isTooltip?:boolean;\n count?: string | number;\n options?: {\n id: string;\n name: string;\n description: string;\n }[];\n ctaList: CtaList[];\n redirectionDisabled?: boolean;\n hideLink?: boolean;\n roleDisabled?: boolean;\n disabled?: boolean;\n}\n\nexport interface AprRejActionData {\n action: string | AprRejBtnType;\n selectedUserData: AprRejUserData[];\n selectedUserDataForApprove: ApproveUserData[];\n}\nexport interface AprRejUserData {\n id: string;\n email: string;\n state: string;\n}\nexport interface ApproveUserData {\n id: string;\n email: string;\n state: string;\n portalUserId: string;\n company: string;\n roles: string[];\n portalApprovedCustomerID?: string[];\n adminLocationID?: string;\n tempIsPrefilled: boolean;\n phoneNumber: string;\n roleName: string;\n}\n\nexport type KngTableCategory =\n | 'checkbox'\n | 'link'\n | 'multiline'\n | 'button'\n | 'primary'\n | 'select'\n | 'date'\n | 'editData'\n | 'uploadFile';\n\nexport enum TableCategory {\n link = 'link',\n multiline = 'multiline',\n button = 'button',\n select = 'select',\n checkbox = 'checkbox',\n date='date',\n primary='primary',\n editData='editData',\n uploadFile='uploadFile'\n}\n\nexport enum AprRejBtnType {\n singleApprove = 'singleApprove',\n singleReject = 'singleReject',\n bulkApprove = 'bulkApprove',\n bulkReject = 'bulkReject'\n}\n","export * from './definitions';\nexport * from './kng-table.component';\nexport * from './kng-table.factory';\nexport * from './kng-table.module';\nexport * from './kng-table.service';\n","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngTable, KngTableState, TableCategory, AprRejBtnType, AprRejUserData, AprRejActionData, GridValue, ApproveUserData } from './definitions';\nimport { KngTableService } from './kng-table.service';\nimport { AllDataType } from '../../shared/shared.interface';\n\n@Component({\n\tselector: 'kng-table',\n\ttemplateUrl: './template/kng-table.component.html',\n\tstyleUrls: ['./template/kng-table.component.scss']\n})\nexport class KngTableComponent implements KngTable, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\ttableCategory = TableCategory;\n\taprRejBtnType = AprRejBtnType;\n\tisLinkEnabled: boolean = false;\n\tallSelected: boolean = false;\n\n\t@Input() set state(value: KngTableState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): KngTableState \n\t{\n\t\treturn this.service.state;\n\t}\n\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\t@Output() btnClickEvent: EventEmitter = new EventEmitter();\n\t@Output() navigateToApproveNewUser: EventEmitter = new EventEmitter();\n\t@Output() tooltipClicked: EventEmitter = new EventEmitter();\n\t@Output() editButtonClicked: EventEmitter = new EventEmitter();\n\t@Output() locationListButton: EventEmitter = new EventEmitter();\n\t@Output() uploadFileLinkClicked: EventEmitter = new EventEmitter();\n\n\tconstructor(private service: KngTableService) { }\n\n\tngOnInit(): void \n\t{\n\t\tthis.initSubscriptions();\n\t\tthis.setAll(false);\n\t}\n\tngOnDestroy(): void \n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\tprivate initSubscriptions(): void \n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe((next: KngTableState) => this.stateChanged.emit(next));\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void \n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\tupdateAllSelected() \n\t{\n\t\tthis.allSelected = this.state.gridData.every(row => row.checked);\n\t\tif (this.state.gridData.length >= 10) \n\t\t{\n\t\t\tthis.allSelected = this.state.gridData.filter(row => row.checked)?.length >= 10;\n\t\t}\n\t}\n\tpartiallySelected(): boolean \n\t{\n\t\tif (this.state.gridData.every(row => !row.checked)) \n\t\t{\n\t\t\tthis.allSelected = false;\n\t\t}\n\t\tif (this.state.gridData.filter(t => t.checked).length >= 10 && this.state.ribbon.ctaList.length > 0) \n\t\t{\n\t\t\tthis.state.gridData.filter(t => !t.checked).forEach(checkbox => checkbox.disabled = true);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.state.gridData.forEach(checkbox => checkbox.disabled = false);\n\t\t}\n\t\treturn this.state.gridData.filter(t => t.checked).length > 0 && !this.allSelected;\n\t}\n\tselectedCount(): boolean \n\t{\n\t\treturn this.state.gridData.filter(t => t.checked).length > 0;\n\t}\n\tsetAll(completed: boolean) \n\t{\n\t\tthis.allSelected = completed;\n\t\tthis.state.gridData.slice(0, 10).forEach(t => t.checked = completed);\n\t\tthis.state.gridData.slice(10, this.state.gridData.length).forEach(t => { t.disabled = completed; t.checked = false; });\n\t}\n\tcountOfSelectedRequests() \n\t{\n\t\tconst countOfSelectedRequests = this.state.gridData.filter(t => t.checked).length;\n\t\treturn countOfSelectedRequests + ' ' + this.state.itemsSelected;\n\t}\n\tcancelSelection() \n\t{\n\t\tthis.state.gridData.forEach((row) => { row.checked = false; });\n\t\tthis.allSelected = false;\n\t}\n\tpublic convertStringToDate(data: AllDataType): Date | string \n\t{\n\t\treturn data && typeof (data) !== 'boolean' ? new Date(data) : '';\n\t}\n\trejectSingleUser(data: GridValue | undefined) \n\t{\n\t\tconst selectedRowDataArr: AprRejUserData[] = [];\n\t\tif (data) \n\t\t{\n\t\t\tconst selectedRowEntry: AprRejUserData = {\n\t\t\t\tid: data.id ? data.id : '',\n\t\t\t\temail: data.email ? data.email : '',\n\t\t\t\tstate: data.state ? data.state : ''\n\t\t\t};\n\t\t\tselectedRowDataArr.push(selectedRowEntry);\n\t\t}\n\t\treturn selectedRowDataArr;\n\t}\n\trejectMultipleUser(): AprRejUserData[] \n\t{\n\t\tconst selectedRowDataArr: AprRejUserData[] = [];\n\t\tthis.state.gridData.filter(t => t.checked).forEach((row) => \n\t\t{\n\t\t\tconst selectedRowEntry: AprRejUserData = {\n\t\t\t\tid: row.id ? row.id : '',\n\t\t\t\temail: row.email ? row.email : '',\n\t\t\t\tstate: row.state ? row.state : ''\n\t\t\t};\n\t\t\tselectedRowDataArr.push(selectedRowEntry);\n\t\t});\n\t\treturn selectedRowDataArr;\n\t}\n\tapproveSingleUser(data: GridValue | undefined) \n\t{\n\t\tconst selectedRowDataArr: ApproveUserData[] = [];\n\t\tif (data) \n\t\t{\n\t\t\tconst selectedRowEntry: ApproveUserData = {\n\t\t\t\tid: data.id,\n\t\t\t\temail: data.email ? data.email : '',\n\t\t\t\tstate: data.state ? data.state : '',\n\t\t\t\tportalUserId: data.portalUserId ? data.portalUserId : '',\n\t\t\t\tcompany: data.company,\n\t\t\t\troles: data.roles,\n\t\t\t\tportalApprovedCustomerID: data.portalApprovedCustomerID,\n\t\t\t\ttempIsPrefilled: data.tempIsPrefilled ? data.tempIsPrefilled : false,\n\t\t\t\tphoneNumber: data.phoneNumber,\n\t\t\t\troleName: data.roleName,\n\t\t\t\tadminLocationID: data.adminLocationID\n\t\t\t};\n\t\t\tselectedRowDataArr.push(selectedRowEntry);\n\t\t}\n\t\treturn selectedRowDataArr;\n\t}\n\tapproveMultipleUser(): ApproveUserData[] \n\t{\n\t\tconst selectedRowDataArr: ApproveUserData[] = [];\n\t\tthis.state.gridData.filter(t => t.checked).forEach((row) => \n\t\t{\n\t\t\tconst selectedRowEntry: ApproveUserData = {\n\t\t\t\tid: row.id,\n\t\t\t\temail: row.email ? row.email : '',\n\t\t\t\tstate: row.state ? row.state : '',\n\t\t\t\tportalUserId: row.portalUserId ? row.portalUserId : '',\n\t\t\t\tcompany: row.company,\n\t\t\t\troles: row.roles,\n\t\t\t\tportalApprovedCustomerID: row.portalApprovedCustomerID,\n\t\t\t\ttempIsPrefilled: row.tempIsPrefilled ? row.tempIsPrefilled : false,\n\t\t\t\tphoneNumber: row.phoneNumber,\n\t\t\t\troleName: row.roleName,\n\t\t\t\tadminLocationID: row.adminLocationID ? row.adminLocationID : ''\n\t\t\t};\n\t\t\tselectedRowDataArr.push(selectedRowEntry);\n\t\t});\n\t\treturn selectedRowDataArr;\n\t}\n\temitClickEvent(btnType: AprRejBtnType | string, data?: GridValue) \n\t{\n\t\tconst selectedActionData: AprRejActionData = {\n\t\t\taction: btnType,\n\t\t\tselectedUserData: [],\n\t\t\tselectedUserDataForApprove: []\n\t\t};\n\t\tif (btnType === this.aprRejBtnType.singleReject) \n\t\t{\n\t\t\tselectedActionData.selectedUserData = this.rejectSingleUser(data);\n\t\t\tthis.cancelSelection();\n\t\t}\n\t\telse if (btnType === this.aprRejBtnType.bulkReject) \n\t\t{\n\t\t\tselectedActionData.selectedUserData = this.rejectMultipleUser();\n\t\t}\n\t\telse if (btnType === this.aprRejBtnType.singleApprove) \n\t\t{\n\t\t\tselectedActionData.selectedUserDataForApprove = this.approveSingleUser(data);\n\t\t\tthis.cancelSelection();\n\t\t}\n\t\telse if (btnType === this.aprRejBtnType.bulkApprove) \n\t\t{\n\t\t\tselectedActionData.selectedUserDataForApprove = this.approveMultipleUser();\n\t\t}\n\t\tthis.btnClickEvent.emit(selectedActionData);\n\t}\n\tredirectToApproveNewUserPage(userId: string): void \n\t{\n\t\tif (userId) \n\t\t{\n\t\t\tthis.navigateToApproveNewUser.emit(userId);\n\t\t}\n\t}\n\tshowTooltip(id: string) \n\t{\n\t\tthis.tooltipClicked.emit(id);\n\t}\n\topenEditCompanyDetailsModal(id: string) \n\t{\n\t\tthis.editButtonClicked.emit(id);\n\t}\n\tgetLocationList(id: string) \n\t{\n\t\tthis.locationListButton.emit(id);\n\t}\n\topenUploadFileModal(row: GridValue, i: number)\n\t{\n\t\tif(row.values[i].icon?.iconPath !== 'assets/uploadDisabled.svg')\n\t\t\tthis.uploadFileLinkClicked.emit(row);\n\t}\n}\n","
\n
\n
\n \n
\n {{\n countOfSelectedRequests()\n }}\n {{state.approveUserLimitIndicatorText}}\n
\n
\n
\n \n \n
\n
\n
\n
\n\n \n \n \n \n \n \n\n \n 0\">\n \n \n \n\n \n\n \n
0\"\n class=\"kng-table--checkbox-desktop-header\">\n  \n \n \n \n {{ header.label }}\n \n \"info\n \n
\n  \n \n \n \n \n
\n \n \n
{{ col.firstLineValue }}
\n
\n {{ col.secondLineValue }}\n
\n
\n {{ col.thirdLineValue }}\n
\n
\n\n \n
\n {{ col.value }}\n
\n \n \n
\n\n \n
\n \n \n {{ role.name }}\n \n \n
\n
\n\n \n
\n \n \n
\n
\n \n
\n {{\n col.value !== \"—\" && col.value !== \"\" && col.value !== null\n ? (convertStringToDate(col.value)\n | date: \"MM/dd/yyyy\") : \"—\"\n }}\n
\n
\n \n
\n {{ col.value }}\n
\n
\n \n
\n
{{ col.firstLineValue }}\n
\n \n \n \n
\n
\n {{ col.secondLineValue }}\n
\n
\n {{ col.thirdLineValue }}\n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n\n
\n \"{{\n
{{ state.noResult.text }}
\n
\n
\n
\n\n
\n
0\">\n
\n 0\" [checked]=\"allSelected\"\n [indeterminate]=\"partiallySelected()\" (change)=\"setAll($event.checked)\" [disabled]=\"state.permissionCheckBoxDisabled === true\">\n \n\n {{state.selectAll}}\n
\n
\n
\n
\n
\n \n\n
\n \n \n
\n
\n {{ col.label }}\n \n \"info\n \n
\n
\n \n
{{ col.firstLineValue }}
\n
\n {{ col.secondLineValue }}\n
\n
\n {{ col.thirdLineValue }}\n
\n
\n\n \n
\n {{ col.value }}\n
\n \n \n
\n\n \n
\n \n
\n
\n\n \n
\n \n \n
\n
\n \n
\n {{\n col.value !== \"—\" && col.value !== \"\" && col.value !== null\n ? (convertStringToDate(col.value)\n | date: \"MM/dd/yyyy\") : \"—\"\n }}\n
\n
\n \n
\n {{ col.value }}\n
\n
\n \n
{{ col.firstLineValue }}\n \n
\n
\n {{ col.secondLineValue }}\n
\n
\n {{ col.thirdLineValue }}\n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \"{{\n
{{ state.noResult.text }}
\n
\n
\n
","\nimport { KngTableState } from './definitions';\n\nexport class KngTableFactory \n{\n\tpublic static build(): KngTableState \n\t{\n\t\treturn {\n\t\t\tgridData: [],\n\t\t\tgridHeaders: [],\n\t\t\tisCheckbox: false,\n\t\t\tisRibbon: false,\n\t\t\titemsSelected: '0',\n\t\t\tribbon: {\n\t\t\t\tcancelButton: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: ''\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'none'\n\t\t\t\t},\n\t\t\t\tctaList: []\n\t\t\t},\n\t\t\tloading: true,\n\t\t\tnoResult: {\n\t\t\t\timage: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t},\n\t\t\t\ttext: ''\n\t\t\t},\n\t\t\tapproveUserLimitIndicatorText: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngTableComponent } from './kng-table.component';\nimport { KngTableService } from './kng-table.service';\nimport { KngButtonModule } from '../button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n\tdeclarations: [\n\t\tKngTableComponent\n\t],\n\timports: [ CommonModule, KngButtonModule, MatCheckboxModule, MatSelectModule, FormsModule, MatTooltipModule ],\n\texports: [\n\t\tKngTableComponent\n\t],\n\tproviders: [\n\t\tKngTableService\n\t]\n})\nexport class KngTableModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngTableFactory } from './kng-table.factory';\nimport { KngTableState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngTableService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tKngTableFactory.build()\n\t);\n\tget state(): KngTableState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngTableState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export * from './kng-toaster.interface';\n","export interface KngToaster {\n state: KngToasterState;\n}\nexport interface KngToasterState {\n category: string;\n message: string;\n}\n","export * from './definitions';\nexport * from './kng-toaster.component';\nexport * from './kng-toaster.factory';\nexport * from './kng-toaster.module';\nexport * from './kng-toaster.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter,\n\tViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngToaster, KngToasterState } from './definitions';\nimport { KngToasterService } from './kng-toaster.service';\n\n@Component({\n\tselector: 'kng-toaster',\n\ttemplateUrl: './template/kng-toaster.component.html',\n\tstyleUrls: ['./template/kng-toaster.component.scss'],\n\tencapsulation: ViewEncapsulation.None\n})\nexport class KngToasterComponent implements KngToaster, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\n @Input() set state(value: KngToasterState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): KngToasterState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n\n constructor(private service: KngToasterService) {}\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n public showToaster(state: KngToasterState) \n {\n \tthis.service.showToaster(state);\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: KngToasterState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n}\n","\n Show Toaster\n\n","import { KngToasterState } from './definitions';\n\nexport class KngToasterFactory \n{\n\tpublic static build(): KngToasterState \n\t{\n\t\treturn {\n\t\t\tcategory: '',\n\t\t\tmessage: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngToasterComponent } from './kng-toaster.component';\nimport { KngToasterService } from './kng-toaster.service';\nimport { ToastrModule } from 'ngx-toastr';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\n@NgModule({\n\tdeclarations: [KngToasterComponent],\n\timports: [\n\t\tCommonModule,\n\t\tBrowserAnimationsModule,\n\t\tToastrModule.forRoot({\n\t\t\ttimeOut: 900000,\n\t\t\tpositionClass: 'toast-top-right',\n\t\t\ttoastClass: 'kng-toast toast-container ngx-toastr',\n\t\t\tenableHtml: true,\n\t\t\tcloseButton: true,\n\t\t\tpreventDuplicates: true,\n\t\t\ttapToDismiss: false\n\t\t})\n\t],\n\texports: [KngToasterComponent],\n\tproviders: [KngToasterService]\n})\nexport class KngToasterModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngToasterFactory } from './kng-toaster.factory';\nimport { KngToasterState } from './definitions';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngToasterService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(KngToasterFactory.build());\n\n\tget state(): KngToasterState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tconstructor(private toastr: ToastrService) {}\n\n\tpublic updateState(value: KngToasterState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic showToaster(state: KngToasterState) \n\t{\n\t\tif (state.category === 'success') \n\t\t{\n\t\t\tthis.toastr.success(state.message);\n\t\t}\n\t\tif (state.category === 'error') \n\t\t{\n\t\t\tthis.toastr.error(state.message);\n\t\t}\n\t}\n}\n","export * from './kng-upload-file.interface';\n","import { Image } from '../../../shared/shared.interface';\n\nexport interface KngUploadFile {\n state: KngUploadFileState;\n}\nexport interface KngUploadFileState {\n isLoading: boolean;\n dragDropSection: string;\n or: string;\n uploadButtons: UploadButtons;\n isError: boolean;\n isSuccessClient: boolean;\n isSuccessServer: boolean;\n errorHeading: string;\n errorSubHeading: string;\n successMessage: string;\n dragDropImage: Image;\n errorImage: Image;\n successImage: Image;\n fileUploadLoader: boolean;\n fileUploadProgressText: string;\n}\n\nexport interface UploadFileSection {\n onLoadIcon: Image;\n errorIcon: Image;\n successIcon: Image;\n dragDropLabel: string;\n orLabel: string;\n uploadButtons: UploadButtons;\n success: string;\n}\nexport interface UploadButtons {\n chooseFile: string;\n replaceFile: string;\n tryAgain: string;\n}\n\nexport enum ErrorMessageSubHeading {\n wrongFormat = 'Check to ensure file is in .XLSX format. Please check format and try again.',\n sizeExceed = 'File size must not exceed 100 MB. Please check the file and try again.',\n apiFailure = 'API failure, try again later.',\n wrongData = 'Please ensure the data in the file is in the correct format and try again, and at a minimum the Location GRID and TopLevel GRID must be entered.',\n apiError = 'Something went wrong, please try again.',\n templateMismatch = 'Your file does not match the template. Please replace the file and try again.',\n incorrectSize = 'File size must not exceed 100 MB. Please check the file and try again.',\n emptyFile = 'It looks like the file you uploaded is empty. Please check the file and try again.'\n}\n\nexport enum ErrorMessageHeading {\n uploadFailed = 'Upload Failed',\n sizeExceed = 'File Size Exceeded',\n emptyFile = 'Empty File Uploaded',\n wrongData = 'Uploaded with No Locations or Incorrect Data Format'\n}\n","export * from './definitions';\nexport * from './kng-upload-file.component';\nexport * from './kng-upload-file.factory';\nexport * from './kng-upload-file.module';\nexport * from './kng-upload-file.service';\n","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngUploadFile, KngUploadFileState } from './definitions';\nimport { KngUploadFileService } from './kng-upload-file.service';\nimport { KngLoaderState } from '../loader';\nimport { LibIcons } from '../../constants/global.constant';\n\n@Component({\n\tselector: 'kng-upload-file',\n\ttemplateUrl: './template/kng-upload-file.component.html',\n\tstyleUrls: ['./template/kng-upload-file.component.scss']\n})\nexport class KngUploadFileComponent implements KngUploadFile, OnInit, OnDestroy \n{\n\n\tprivate subscriptions: Subscription = new Subscription();\n\tfiles: File[] = [];\n\tloaderState: KngLoaderState = { imagePath: LibIcons.widgetLoader };\n\tfileUploadLoaderState : KngLoaderState = { imagePath: LibIcons.loaderWithOutText };\n\n\t@Input() set state(value: KngUploadFileState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): KngUploadFileState \n\t{\n\t\treturn this.service.state;\n\t}\n\t\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\t@Output() fileValidationCheck: EventEmitter = new EventEmitter();\n\t@Output() tryAgainEventEmitter: EventEmitter = new EventEmitter();\n\t@Output() replaceFileEventEmitter: EventEmitter = new EventEmitter();\n\n\tconstructor(private service: KngUploadFileService) { }\n\n\tngOnInit(): void \n\t{\n\t\tthis.initSubscriptions();\n\t}\n\tngOnDestroy(): void \n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\tprivate initSubscriptions(): void \n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe((next: KngUploadFileState) => this.stateChanged.emit(next));\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void \n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\tonFileDropped(filedropped: FileList) \n\t{\n\t\tthis.fileUpdateHandle(Array.from(filedropped));\n\t}\n\tfileBrowseHandler(event: Event) \n\t{\n\t\tthis.fileUpdateHandle(Array.from((event.target as HTMLInputElement).files as FileList));\n\t}\n\tfileUpdateHandle(files: Array) \n\t{\n\t\tthis.state.isError = false;\t\n\t\tthis.fileValidationCheck.emit(files[0]);\n\t}\n\tonReplaceFileBtnClick()\n\t{\n\t\tthis.state.isError = false;\n\t\tthis.state.isSuccessClient = true;\n\t\tthis.state.isSuccessServer = false;\n\t\tthis.replaceFileEventEmitter.emit();\n\t}\n\tonTryAgainBtnClick()\n\t{\n\t\tthis.tryAgainEventEmitter.emit(this.files[0]);\n\t}\n\t\n}\n","
\n
\n

\n \"loader\"\n

\n
\n
\n
\n
\n {{state.dragDropImage.altText}}\n

{{state.dragDropSection}}

\n

{{state.or}}

\n \n
\n
{{ file.name }}
\n
\n
\n
\n {{state.errorImage.altText}}\n

{{state.errorHeading}}

\n

{{state.errorSubHeading}}

\n \n \n
\n
\n
\n {{state.successImage.altText}}\n

{{state.successMessage}}

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

{{state.fileUploadProgressText}}

\n
\n
\n
\n
\n
","\nimport { KngUploadFileState, UploadButtons } from './definitions';\n\nexport class KngUploadFileFactory\n{\n\tpublic static build(): KngUploadFileState\n\t{\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tdragDropSection: '',\n\t\t\tor: '',\n\t\t\tuploadButtons: {\n\t\t\t\tchooseFile: 'Choose File',\n\t\t\t\treplaceFile: 'Replace File',\n\t\t\t\ttryAgain: 'Try Again'\n\t\t\t},\n\t\t\tisError: false,\n\t\t\tisSuccessClient: true,\n\t\t\tisSuccessServer: false,\n\t\t\terrorHeading: '',\n\t\t\terrorSubHeading: '',\n\t\t\tsuccessMessage: '',\n\t\t\tdragDropImage: { iconPath: '', altText: '' },\n\t\t\terrorImage: { iconPath: '', altText: '' },\n\t\t\tsuccessImage: { iconPath: '', altText: '' },\n\t\t\tfileUploadLoader: false,\n\t\t\tfileUploadProgressText: ''\n\t\t};\n\t}\n\tpublic static buildUploadButtons(): UploadButtons\n\t{\n\t\treturn {\n\t\t\tchooseFile: '',\n \t\treplaceFile: '',\n \t\ttryAgain: ''\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngUploadFileComponent } from './kng-upload-file.component';\nimport { KngUploadFileService } from './kng-upload-file.service';\nimport { SharedModuleLib } from '../../shared/shared.module';\nimport { KngLoaderModule } from '../loader';\n\n@NgModule({\n\tdeclarations: [KngUploadFileComponent],\n\timports: [ CommonModule, SharedModuleLib, KngLoaderModule ],\n\texports: [KngUploadFileComponent],\n\tproviders: [KngUploadFileService]\n})\nexport class KngUploadFileModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KngUploadFileFactory } from './kng-upload-file.factory';\nimport { KngUploadFileState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KngUploadFileService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tKngUploadFileFactory.build()\n\t);\n\tget state(): KngUploadFileState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: KngUploadFileState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n","export enum ScreenView {\n tableMobile = 'tableMobile',\n tableDesktop = 'tableDesktop',\n accordionDeskTop = 'accordionDesktop',\n accordionMobile = 'accordionMobile',\n desktop = 'desktop',\n mobile = 'mobile',\n}\nexport enum UserStatus {\n active = 'active',\n inactive = 'inactive',\n}\n\nexport enum KeyEvent {\n tab = 'Tab',\n enter = 'Enter',\n shift = 'Shift'\n}\n\nexport enum LibIcons {\n loaderWhite = 'assets/Loader2.gif',\n widgetLoader = 'assets/widgetloader.gif',\n loaderWithOutText = 'assets/loader-without-text.gif'\n}\n\nexport enum NullCheck{\n nullValue= '—'\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n\n@Directive({\n\tselector: '[kngDnDDirective]'\n})\nexport class DnDDirectiveDirective \n{\n\n @HostBinding('class.fileover') fileOver: boolean = false;\n\n @Output() fileDropped: EventEmitter = new EventEmitter();\n\n @HostListener('dragover', ['$event'])\n onDragOver(evt: DragEvent) \n {\n \tevt.stopPropagation();\n \tevt.preventDefault();\n \tthis.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(evt: DragEvent) \n {\n \tevt.stopPropagation();\n \tevt.preventDefault();\n }\n\n @HostListener('drop', ['$event'])\n onDrop(evt: DragEvent) \n {\n \tevt.preventDefault();\n \tconst files = evt?.dataTransfer?.files;\n \tif(evt?.dataTransfer?.files.length) \n \t{\n \t\tthis.fileDropped.emit(files);\n \t}\n }\n\n}\n","export interface Image {\n iconPath: string;\n altText: string;\n}\nexport interface Location {\n locationName: string;\n\taddressLine1: string;\n\taddressLine2: string;\n\taddressLine2Optional: string;\n\tcity: string;\n\tstate: string;\n\tzipCode: string;\n}\n\nexport interface IdLabel{\n\tid: string;\n\tlabel: string;\n}\n\nexport interface LabelValue{\n\tlabel: string; \n\tvalue: string;\n\ticon?: Image;\n}\nexport enum SortOrder {\n\tdesc = 'desc',\n\tasc = 'asc',\n}\n\nexport interface Address{\n\taddressLine1:string;\n\taddressLine2?:string;\n\tcity:string;\n\tstate:string;\n\tcountry?: string;\n\tzipCode:string;\n }\nexport interface RedirectRoute {\n\tlabel: string;\n\tvalue: string | boolean | number;\n\tuserId?:string;\n\tcustomerId ? : string;\n\tlocationObj ? : Address |undefined;\n\torderId?: string;\n\tlocationId?: string;\n\tdocumentURL?: string | undefined;\n }\nexport interface Address{\n\taddressLine1: string;\n\taddressLine2?: string;\n\tcity: string;\n\tstate: string;\n\tcountry?:string;\n\tzipCode: string;\n }\nexport interface WidgetsComingSoon{\nimagePath:string;\nimageText:string;\ntitle?:string;\n }\n\nexport enum DealerPage \n{\n dashboard = 'Dashboard',\n serviceManagement = 'Service Management',\n orderMangement= 'Order Management'\n}\n\nexport enum HeaderNav{\n\tdashboard = 'Home',\n\tmyfleet='MyFleet',\n\tmyQuotes= 'Quotes',\n\tmyInsights= 'Connected Solutions',\n\tfinancing='Financing',\n\torderMangement= 'Orders',\n\tserviceManagement = 'Service and Repairs'\n}\n\nexport enum HeaderUrl {\n\tdashboard = '/dashboard',\n\tmyfleet='/myfleet',\n\tfinancing='/financing',\n\torderMangement= 'order-management',\n\tserviceManagement = '/service-management',\n\taccountSetting = '/account-settings',\n\tlocationManagment = '/location-management',\n\trolesPermissions = '/roles-permissions',\n\tuserManagement = '/user-management',\n\tmyQuotes='/myquotes',\n\tmyInsights='/my-insights',\n\tnotification = '/notification'\n}\n\nexport interface TooltipContent{\n\tcontent:string;\n\tcloseIcon: Image;\n}\nexport interface TokenDataList {\n\tname: string;\n\ttext: string;\n\turl: string;\n\tisLink: string;\n }\n\nexport type AllDataType = string | number | boolean | undefined;\n\nexport type FieldValueType = string | boolean | number;\n","import { NgModule } from '@angular/core';\nimport { DnDDirectiveDirective } from './directives/dn-ddirective.directive';\nimport { CommonModule } from '@angular/common';\nimport { SharedService } from './shared.service';\n\n@NgModule({\n\tdeclarations: [DnDDirectiveDirective],\n\timports: [CommonModule],\n\texports: [DnDDirectiveDirective],\n\tproviders: [SharedService]\n})\n\nexport class SharedModuleLib {}\n","import { Injectable } from '@angular/core';\nimport { Address } from './shared.interface';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedService \n{\n\t\n\tpublic formatAddress(address: Address, formatCompleteAddress: boolean) \n\t{\n\t\tif (formatCompleteAddress) \n\t\t{\n\t\t\treturn [ address.addressLine1, address.addressLine2, address.city, address.state, address.zipCode ].filter(Boolean).join(', ');\n\t\t}\n\t\telse \n\t\t{\n\t\t\treturn [ address.city, address.state, address.zipCode ].filter(Boolean).join(', ');\n\t\t}\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Data, NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { BehaviorSubject, filter } from 'rxjs';\nimport { EnvironmentRef } from '../environments/interfaces';\nimport { AppFactory } from './app.factory';\nimport { App, AppState } from './definitions/app.interface';\nimport { expEnvironmentRef } from './injection-tokens/environment.injection-token';\nimport { LoggerService } from './services/logger/logger.service';\nimport { Icons, skipAuthUrls } from './services/shared/shared-enums';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { LocalStorageService } from './services/local-storage/local-storage.service';\nimport { ApiService } from './services/api/api.service';\nimport { SharedUtilService } from './services/shared/shared-util.service';\ndeclare global {\n\tinterface Window {\n\t\t_walkmeConfig: {smartLoad: boolean};\n\t}\n}\n\nexport interface ZendeskToken {\n\ttoken: string;\n }\n\nexport let browserRefresh = false;\n\n@Component({\n\tselector: 'tmhna-portal-root',\n\ttemplateUrl: './template/app.component.html',\n\tstyleUrls: ['./template/app.component.scss']\n})\nexport class AppComponent implements OnInit, App\n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tAppFactory.buildAppState()\n\t);\n\tisLandingPage!: boolean;\n\tget state(): AppState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tshowPageLoader: boolean = false;\n\tloaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderOrange\n\t};\n \tunreadMessageCount: number = 0;\n\tunreadEventInitiationTry: number = 0;\n\tconstructor(\n @Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef,\n private loggerService: LoggerService,\n public router: Router,\n public localStorageService: LocalStorageService,\n private titleService: Title,\n\tprivate readonly activatedRoute: ActivatedRoute,\n\tprivate readonly apiService: ApiService,\n\tprivate readonly sharedUtilService : SharedUtilService\n\t)\n\t{\n\t\tthis.zendeskChatBot();\n\t\trouter.canceledNavigationResolution = 'computed';\n\t\tthis.router.events.subscribe((event) =>\n\t\t{\n\t\t\tif (event instanceof NavigationStart)\n\t\t\t{\n\t\t\t\tthis.isCancelButtonError(event, '/auth#error=access_denied');\n\t\t\t\tbrowserRefresh = !this.router.navigated;\n\t\t\t}\n\t\t});\n\t}\n\tisCancelButtonError(event: NavigationStart, url: string)\n\t{\n\t\tif(event.url.includes(url))\n\t\t{\n\t\t\tthis.showPageLoader = true;\n\t\t\tsetTimeout(() => \n\t\t\t{\n\t\t\t\tthis.showPageLoader = false;\n\t\t\t}, 500);\n\t\t\tthis.localStorageService.clearStorage();\n\t\t\tthis.router.navigate(['/']);\n\t\t}\n\t}\n\tasync ngOnInit(): Promise\n\t{\n\t\tconst currentUrl = this.router['location']?._platformLocation?.location?.href;\n\t\tconst searchParams = new URLSearchParams(this.router['location']?._platformLocation?.location?.search);\n\t\tif (currentUrl !== `${this.router['location']?._platformLocation?.location?.origin}/`)\n\t\t{\n\t\t\tif(this.router['location']?._platformLocation?.location?.pathname.includes(skipAuthUrls) ) \n\t\t\t{\n\t\t\t\tconst originValue = searchParams.get('metadata'); \n\t\t\t\tif(originValue)\n\t\t\t\t{\n\t\t\t\t\tlocalStorage.setItem('queryData', originValue );\n\t\t\t\t}\n\t\t\t\tthis.router.navigate([this.router['location']?._platformLocation?.location?.pathname]);\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\tconst emailValue = searchParams.get('email');\n\t\t\t\tif(emailValue) \n\t\t\t\t{\n\t\t\t\t\tconst decodedEmail = decodeURIComponent(atob(emailValue));\n\t\t\t\t\tthis.checkNewimpersonation(decodedEmail);\n\t\t\t\t\tthis.localStorageService.setRedirectedUser(decodedEmail);\n\t\t\t\t}\n\n\t\t\t\tlocalStorage.setItem('inboudUrl', this.router['location']?._platformLocation?.location?.pathname);\n\t\t\t this.router.navigate(['auth']);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.isLandingPage = true;\n\t\t}\n\t\tthis.loadWalkMeScript();\n\t\tif(this.isLandingPage)\n\t\t{\n\t\t\tthis.loadZendeskChat();\n\t\t}\n\n\t\tthis.loggerService.log(\n\t\t\t`App initialized @ ${this.environmentRef.env.toUpperCase()}`\n\t\t);\n\n\t\tthis.router.events.pipe(\n\t\t\tfilter(event => event instanceof NavigationEnd)\n\t\t).subscribe(() =>\n\t\t{\n\t\t\tconst route = this.getChild(this.activatedRoute);\n\t\t\troute.data.subscribe(((data: Data) =>\n\t\t\t {\n\t\t\t\tthis.titleService.setTitle(data['title']);\n\t\t\t}));\n\t\t});\n\t\tthis.router.events.subscribe((event) => \n\t\t{\n\t\t\tif (!(event instanceof NavigationEnd)) \n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\twindow.scrollTo(0, 0);\n\t\t});\n\t\tthis.getUnreadMessages();\t\t\n\t}\n\tgetChild(activatedRoute: ActivatedRoute): ActivatedRoute\n\t{\n\t\tif (activatedRoute.firstChild)\n\t\t{\n\t\t\treturn this.getChild(activatedRoute.firstChild);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn activatedRoute;\n\t\t}\n\n\t}\n\n\tcheckNewimpersonation(email:string)\n\t{\n\t\tconst redirectedUser = this.localStorageService.getImpersonateUser();\n\t\tconst parsedData = JSON.parse(redirectedUser as string);\n\t\tif(parsedData?.email as string !== email)\n\t\t{\n\t\t\tthis.localStorageService.setCustomerToDashboard('false');\n\t\t\tthis.sharedUtilService.isCustomerSupportSession$.next(false);\n\t\t\tthis.localStorageService.removeImpersonateUser();\n\t\t\tthis.localStorageService.setUserName('');\n\t\t}\n\t}\n\tloadWalkMeScript() \n\t{\n\t\tconst requiredWalkMeScriptDetails = {\n\t\t\tid: 'walkme',\n\t\t\tsrc: this.environmentRef.appWalkmeUrl,\n\t\t\ttype: 'text/javascript'\n\t\t};\n\t\tthis.renderExternalScript(requiredWalkMeScriptDetails);\n\t}\n\n\tzendeskChatBot() \n\t{\n\t\tconst requiredZendeskScriptDetails = {\n\t\t\tid: 'ze-snippet',\n\t\t\tsrc: this.environmentRef.zendeskChatbotUrl\n\t\t};\n\t\tthis.renderExternalScript(requiredZendeskScriptDetails);\n\t}\n\n\trenderExternalScript(externalScript : any) \n\t{\n\t\tconst script = document.createElement('script');\n\t\tscript.src = externalScript.src;\n\t\tscript.id = externalScript.id;\n\t\tscript.type = 'text/javascript';\n\t\tscript.async = true;\n\t\tdocument.head.appendChild(script);\n\t}\n\n\tloadZendeskChat(): void \n\t{\n\t\ttry\n\t\t{\n\t\t\tthis.apiService.getZendeskToken().subscribe(response => \n\t\t\t{\n\t\t\t const zentoken = response.data;\n\t\t\t\t(window as any)['zE']('messenger', 'loginUser',\n\t\t\t\t\tfunction(callback: any) \n\t\t\t\t\t{\n\t\t\t\t\t\tcallback(zentoken.token);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.loggerService.log('error while logging in user', error);\n\t\t}\n\t }\n\n\topenChatBot() \n\t{\n\t\ttry \n\t\t{\n\t\t\t(window as any)['zE']('messenger', 'open');\n\t\t\tthis.unreadMessageCount = 0;\n\t\t} \n\t\tcatch (err) \n\t\t{\n\t\t\tthis.loggerService.log('error in opening the chatbot', err);\n\t\t}\n\t\tthis.getUnreadMessages();\n\t}\n\tgetUnreadMessages () \n\t{\n\t\tconst that = this;\n\t\ttry \n\t\t{\n\t\t \t(window as any)['zE']('messenger:on', 'unreadMessages', (count: number) =>\n\t\t\t{\n\t\t\t\tthat.unreadEventInitiationTry = 0;\n\t\t\t\tthis.updateCount(count);\n\t\t \t});\n\t\t}\n\t\tcatch (err) \n\t\t{\n\t\t \tthis.unreadEventInitiationTry = this.unreadEventInitiationTry + 1;\n\t\t \tif (this.unreadEventInitiationTry < 5) \n\t\t\t{\n\t\t\t\tsetTimeout(this.getUnreadMessages, 1000);\n\t\t \t}\n\t\t}\n\t}\n\n\tupdateCount(count: number) \n\t{\n\t\tthis.unreadMessageCount = count;\n\t}\n\n}\n\n\n","\n
\n
\n 0\" class=\"message\">\n New Message Arrived\n \n \n 0\" class=\"unreadCount\">{{ unreadMessageCount }}\n \n
\n
\n \n
\n
\n
\n \n
\n","import { ShellFactory } from './components/shell/shell.factory';\nimport { AppState } from './definitions/app.interface';\n\nexport class AppFactory \n{\n\tpublic static buildAppState(): AppState \n\t{\n\t\treturn {\n\t\t\tshell: ShellFactory.buildState()\n\t\t};\n\t}\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { BrowserModule, Title } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MsalRedirectComponent } from '@azure/msal-angular';\nimport { AppComponent } from './app.component';\nimport { LoggerServiceModule } from './services/logger/logger.module';\nimport { DateConverteServiceModule } from './services/date-converter/date-converter.module';\nimport { RolesPermissionsModule } from './components/roles-permissions';\nimport { AuthModule } from './components/auth/auth.module';\nimport { MainEntryModule } from './components/main-entry';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ToastrModule } from 'ngx-toastr';\nimport { SharedModule } from './services/shared/shared.module';\nimport { AppRoutingModule } from './components/routing/app-routing.module';\nimport { NotificationModule } from './components/notifications';\nimport { AnalyticsService } from './services/analytics/analytics.service';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { TimeZoneInterceptor } from './interceptors/date-timezone.interceptor';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { KngLoaderModule } from 'kinetic-angular';\n\nexport function analyticsInitializerFactory(analyticsService: AnalyticsService): () => Promise\n{\n\tconst serviceInjectionPromise: Promise = analyticsService.injectAdobeLaunchScript();\n\tserviceInjectionPromise\n\t\t.then(() => analyticsService.initDataLayer());\n\treturn () => serviceInjectionPromise;\n}\n\n@NgModule({\n\tdeclarations: [AppComponent],\n\timports: [\n\t\tBrowserModule,\n\t\tAppRoutingModule,\n\t\tAuthModule,\n\t\tHttpClientModule,\n\t\tRolesPermissionsModule,\n\t\tLoggerServiceModule,\n\t\tDateConverteServiceModule,\n\t\tKngLoaderModule,\n\t\tSharedModule,\n\t\tMainEntryModule,\n\t\tOverlayModule,\n\t\tMatMenuModule,\n\t\tMatTooltipModule,\n\t\tBrowserAnimationsModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tMatDialogModule,\n\t\tNotificationModule,\n\t\tMatInputModule,\n\t\tMatDatepickerModule,\n\t\tMatNativeDateModule,\n\t\tToastrModule.forRoot({\n\t\t\ttimeOut: 10000,\n\t\t\tpositionClass: 'toast-top-right',\n\t\t\ttoastClass: 'kng-toast toast-container ngx-toastr',\n\t\t\tenableHtml: true,\n\t\t\tcloseButton: true,\n\t\t\tpreventDuplicates: true\n\t\t}),\n\t\tNgCircleProgressModule.forRoot({\n\t\t\tlazy: false\n\t\t})\n\t],\n\tproviders: [\n\t\tTitle,\n\t\t{ provide: APP_INITIALIZER, useFactory: analyticsInitializerFactory, deps: [AnalyticsService], multi: true },\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: TimeZoneInterceptor, multi: true }\n\t],\n\tbootstrap: [ AppComponent, MsalRedirectComponent ],\n\texports: []\n})\nexport class AppModule {}\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Auth, AuthState } from './definitions';\nimport { AuthService } from './auth.service';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { Icons } from '../../services/shared/shared-enums';\n\n@Component({\n\tselector: 'tmhna-portal-auth',\n\ttemplateUrl: './template/auth.component.html'\n})\nexport class AuthComponent implements Auth, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\tloaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderOrange\n\t};\n @Input() set state(value: AuthState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): AuthState \n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n\n constructor(private service: AuthService, private loggerService: LoggerService) {}\n\n async ngOnInit(): Promise \n {\n \tthis.initSubscriptions();\n \ttry \n \t{\n \t\tawait this.service.redirectBasedOnUserRegistrationStatus();\n \t}\n \tcatch (error) \n \t{\n \t\tthis.loggerService.log('Error redirecting based on status', error);\n \t\tthrow error;\n \t}\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: AuthState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n}\n","
\n \n
\n","import { AuthState } from './definitions';\n\nexport class AuthFactory\n{\n\tpublic static buildState(): AuthState\n\t{\n\t\treturn {\n\t\t\ttncUpdated: false,\n\t\t\tprivacyPolicyUpdated: false,\n\t\t\tuserId: '',\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\tadminEmailId: '',\n\t\t\temail: '',\n\t\t\tcontactGRID: '',\n\t\t\tcontactID: '',\n\t\t\tphoneNumber: '',\n\t\t\troles: [\n\t\t\t\t''\n\t\t\t],\n\t\t\tcustomerIds: [\n\t\t\t\t'',\n\t\t\t\t''\n\t\t\t],\n\t\t\tlocations: [],\n\t\t\ttopLevelGrid: ''\n\t\t\t\n\t\t};\n\t};\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthComponent } from './auth.component';\nimport { AuthService } from './auth.service';\nimport { ApiServiceModule } from '../../services/api/api.module';\nimport { KngLoaderModule } from 'kinetic-angular';\nimport { LoggerServiceModule } from '../../services/logger/logger.module';\n\n@NgModule({\n\tdeclarations: [AuthComponent],\n\timports: [ CommonModule, ApiServiceModule, KngLoaderModule, LoggerServiceModule ],\n\texports: [AuthComponent],\n\tproviders: [AuthService]\n})\nexport class AuthModule {}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, catchError, forkJoin, map, of } from 'rxjs';\nimport {\n\tAppConstants,\n\texpAppConstants\n} from '../../constants/portal-constants';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../../services/api/api.service';\nimport {\n\tUserRegistrationStatus\n} from '../../services/api/definitions';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { ApplicationPath, ErrorMessage } from '../../services/shared/shared-enums';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AuthFactory } from './auth.factory';\nimport {\n\tAuthState, ProfileLocation, RoutingFunction, TMHCorporateAdminAuthState } from './definitions';\nimport { SharedApiService } from '../../services/shared/shared-api-call.service';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AuthService\n{\n\ttnc: boolean = false;\n\tprivate state$: BehaviorSubject = new BehaviorSubject(\n\t\tAuthFactory.buildState()\n\t);\n\tget state(): AuthState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tuserName = '';\n\tuser:AuthState= AuthFactory.buildState();\n\tconstructor(\n\t\tprivate apiService: ApiService,\n\t\tprivate router: Router,\n\t\tprivate sharedApiService: SharedApiService,\n\t\tprivate loggerService: LoggerService,\n\t\tprivate localStorageService: LocalStorageService,\n\t\tprivate sharedService: SharedService,\n\t\t\n\t\t@Inject(expAppConstants) readonly appConstantsRef: AppConstants,\n\t\tprivate sharedUtilService: SharedUtilService\n\t) \n\t{ }\n\n\tpublic updateState(value: AuthState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic async redirectBasedOnUserRegistrationStatus(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\tconst status: ApiResponse = await this.getUserRegistrationStatus();\n\n\t\t\tconst responseObject = status.data;\n\t\t\tresponseObject.registrationStatus = this.isPendingBusinessAccountApproval(responseObject) ? 'pending_business_approval' : responseObject.registrationStatus;\n\t\t\tconst routingFunction: RoutingFunction | undefined = this.sharedUtilService.getRoutingFunction(responseObject);\n\t\t\tthis.handleUserBasedOnStatus(responseObject, routingFunction);\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tcatch (error: any)\n\t\t{\n\t\t\tthis.redirectOnError(error);\n\t\t}\n\t}\n\n\tprivate handleUserBasedOnStatus(responseObject: UserRegistrationStatus, routingFunction: RoutingFunction | undefined): void \n\t{\n\t\tconst isTmhCustomerSupportRole = this.localStorageService.getCustomerToDashboard();\n\t\tthis.sharedUtilService.isCustomerSupportSession$.next(isTmhCustomerSupportRole);\n\t\tthis.handleCustomerNavigation(responseObject, isTmhCustomerSupportRole);\n\t\tif (this.sharedUtilService.isTmhCorporateAdminUser(responseObject, isTmhCustomerSupportRole)) \n\t\t{\n\t\t\tthis.handleTmhCorporateAdminUser(routingFunction);\n\t\t}\n\t\telse if (this.sharedUtilService.isCustomerSupportUser(responseObject, isTmhCustomerSupportRole) ) \n\t\t{\n\t\t\tthis.handleCustomerSupportUser(routingFunction);\n\t\t}\n\t\telse if (this.isNonTmhCorporateAdmin(responseObject) || isTmhCustomerSupportRole ) \n\t\t{\n\t\t\tthis.handleNonTmhCorporateAdminUser(routingFunction);\n\t\t}\n\t\telse if (routingFunction !== undefined) \n\t\t{\n\t\t\tthis.handleRoutingFunction(responseObject, routingFunction);\n\t\t}\n\t}\n\n\tprivate handleTmhCorporateAdminUser(routingFunction: RoutingFunction | undefined): void \n\t{\n\t\tthis.localStorageService.setItems('isTmhCorporateAdmin', 'true');\n\t\tthis.sharedUtilService.isTmhCorporateAdmin = true;\n\t\tthis.getLoggedInTmhCorporateAdminDetails(routingFunction);\n\t}\n\t\n\tprivate handleCustomerSupportUser(routingFunction: RoutingFunction | undefined): void \n\t{\n\t\tthis.localStorageService.setItems('isTmhCustomerSupportRole', 'true');\n\t\tthis.sharedUtilService.isTmhCustomerSupportRole = true;\n\t\tthis.getLoggedInTmhCustomerSupportDetails(routingFunction);\n\t}\n\t\n\tprivate handleNonTmhCorporateAdminUser(routingFunction: RoutingFunction | undefined): void \n\t{\n\t\tthis.localStorageService.setItems('isPortalUser', 'true');\n\t\tthis.getLoggedInUserDetails(routingFunction);\n\t\tthis.sharedUtilService.isLoggedInUserPresent();\n\t}\n\t\n\tprivate handleRoutingFunction(responseObject: UserRegistrationStatus, routingFunction: RoutingFunction): void \n\t{\n\t\tthis.sharedUtilService.handlePendingAndNotApprovedState(responseObject);\n\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t}\n\n\tisPendingBusinessAccountApproval(responseObject: UserRegistrationStatus)\n\t{\n\t\treturn (responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus === 'pending_approval' && responseObject.orgAdminPending);\n\t}\n\n\tisNonTmhCorporateAdmin(responseObject: UserRegistrationStatus)\n\t{\n\t\treturn (responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus === 'approved' && !this.sharedUtilService.isTmhCorporateAdminUser(responseObject));\n\t}\n\n\tprivate redirectOnError(error: HttpErrorResponse)\n\t{\n\t\tconst errorMessage =\n\t\t\terror?.error?.statusCode === 401\n\t\t\t\t? error.error.message\n\t\t\t\t: this.appConstantsRef.messages.filter(\n\t\t\t\t\t(x) => x.category === 'Error' && x.tags.includes('default')\n\t\t\t\t)[0]?.value;\n\t\tthis.sharedUtilService.triggerErrorService(errorMessage, error?.error?.statusCode, error?.error?.id);\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.unAuthError);\n\t}\n\n\tprivate async getUserRegistrationStatus(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn await this.apiService.getUserRegistrationStatus();\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.loggerService.log('Error redirecting to logout', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tgetLoggedInUserDetails(routingFunction : RoutingFunction | undefined)\n\t{\n\t\tforkJoin([ this.apiService.getLoggedInUserObs().pipe(this.handleRequest().bind(this)), this.apiService.getLoggedInUserLocations().pipe(this.handleRequest().bind(this)) ]).subscribe({ next: (res)=>\n\t\t{\n\t\t\tif(res[0] && res[1])\n\t\t\t{\n\t\t\t\tconst user = (res[0]?.data);\n\t\t\t\tthis.user = user;\n\t\t\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\n\t\t\t\tconst locations:ProfileLocation = (res[1]?.data);\n\t\t\t\tthis.localStorageService.setLoggedInUserLocation(this.localStorageService.striginifyJSON(locations));\n\n\t\t\t\tif(this.localStorageService.getLoggedInUser() && this.localStorageService.getLoggedInUserLocation())\n\t\t\t\t{\n\t\t\t\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\n\tgetLoggedInTmhCorporateAdminDetails(routingFunction : RoutingFunction | undefined)\n\t{\n\t\tthis.apiService.getLoggedInTmhCorporateAdminDetails().pipe(this.handleRequest().bind(this)).subscribe({ next: (res)=>\n\t\t{\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tconst user = (res.data);\n\t\t\t\tthis.sharedApiService.mapTmhCorporateAdminUserSession(user);\n\n\t\t\t\tif(this.localStorageService.getTmhCorporateAdminDetails())\n\t\t\t\t{\n\t\t\t\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\tgetLoggedInTmhCustomerSupportDetails(routingFunction : RoutingFunction | undefined)\n\t{\n\t\tthis.apiService.getLoggedInTmhCustomerSupportDetails().pipe(this.handleRequest().bind(this)).subscribe({ next: (res)=>\n\t\t{\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tconst user = (res.data);\n\t\t\t\tthis.sharedApiService.mapTmhCustomerSupportUserSession(user);\n\n\t\t\t\tif(this.localStorageService.getTmhCustomerSupportDetails())\n\t\t\t\t{\n\t\t\t\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\n\thandleRequest() \n\t{\n\t\treturn function (observable: Observable) \n\t\t{\n\t\t\treturn observable.pipe(\n\t\t\t map((result) => \n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t }),\n\t\t\t catchError(() => \n\t\t\t\t{\n\t\t\t\t\treturn of(null);\n\t\t\t\t})\n\t\t\t);\n\t\t };\n\t}\n\thandleCommonError(status: string, statusCode: number, id:string)\n\t{\n\t\tthis.sharedUtilService.triggerErrorService(status, statusCode, id);\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t}\n\n\thandleCustomerNavigation(responseObject: UserRegistrationStatus, isInSession: boolean)\n\t{\n\t\tif(this.sharedUtilService.isCustomerSupportUser(responseObject, false) && isInSession)\n\t\t{\n\t\t const impersonateUser = this.localStorageService.getImpersonateUser();\n\t\t\tif(impersonateUser === null || impersonateUser === undefined)\n\t\t\t{\n\t\t\t\tthis.localStorageService.setCustomerToDashboard('false');\n\t\t\t\tthis.localStorageService.removeImpersonateUser();\n\t\t\t\tthis.localStorageService.setUserName('');\n\t\t\t\tthis.sharedService.navigateMethod(this.router, 'app/customer-support');\n\t\t\t\tthis.sharedUtilService.isCustomerSupportSession$.next(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Router } from '@angular/router';\nimport { UserRegistrationStatusValue } from '../../../services/api/definitions';\nimport { Address } from '../../../services/shared/shared-interface';\n\nexport interface Auth {\n state: AuthState;\n}\n\nexport interface AuthState {\n userId: string;\n firstName: string;\n lastName: string;\n adminEmailId:string;\n email: string;\n phoneNumber: string;\n roles: string[];\n customerIds: string[];\n locations?: Location[];\n primaryLocationGRID?: string;\n adminLocationID? : string;\n company? : string;\n tncUpdated:boolean;\n privacyPolicyUpdated:boolean;\n contactGRID?:string;\n contactID?:string;\n topLevelGrid:string;\n}\nexport interface TMHCorporateAdminAuthState {\n firstName: string;\n lastName: string;\n email: string;\n}\nexport interface Location {\n isParentCompany: boolean;\n companyId: string;\n companyName: string;\n locationId: string;\n locationName: string;\n address: Address;\n\n}\n\nexport interface LocationServiceManagementList {\n billingAddress: BillingServiceFilterAddress[];\n serviceAddress: BillingServiceFilterAddress[];\n}\n\nexport interface LocationOrderManagementList {\n billingAddress: BillingServiceFilterAddress[];\n shippingAddress: BillingServiceFilterAddress[];\n}\n\nexport interface BillingServiceFilterAddress {\n address: ServiceManagementAddress;\n locationId: string;\n locationLabel: string;\n locationName: string;\n id? : string;\n}\nexport interface ServiceManagementAddress {\n addressLine1:string;\n city: string;\n country: string;\n state: string;\n zip: string;\n zipCode: '';\n}\nexport interface ProfileLocation{\n \n locations:Location[];\n divisionFilterList: Division[];\n groupsList: string[];\n divisionsList: string[];\n}\n\nexport interface ServiceManagementFilterList{\n \n locationList:LocationServiceManagementList;\n divisionFilterList: ServiceDivision[];\n groupsList: string[];\n divisionsList: string[];\n}\n\nexport interface OrderManagementFilterList{\n locationList:LocationOrderManagementList;\n divisionFilterList: OrderDivision[];\n groupsList: string[];\n divisionsList: string[];\n}\nexport interface ServiceDivision {\n divisionName: string;\n groups: ServiceGroup[];\n}\n\nexport interface OrderDivision {\n divisionName: string;\n groups: OrderGroup[];\n}\n\nexport interface ServiceGroup{\n groupName: string;\n billingAddress: BillingServiceFilterAddress[];\n serviceAddress: BillingServiceFilterAddress[];\n}\nexport interface OrderGroup{\n groupName: string;\n billingAddress: BillingServiceFilterAddress[];\n shippingAddress: BillingServiceFilterAddress[];\n}\nexport interface Division {\n divisionName: string;\n groups: Group[];\n}\nexport interface Group{\n groupName: string;\n locations: Location[];\n}\nexport type RoutingFunction = (router: Router) => Promise;\nexport type StatusValueToRedirectsMap = Map<\n UserRegistrationStatusValue,\n RoutingFunction\n>;\n\n","export * from './auth.interface';\n","export * from './definitions';\nexport * from './auth.component';\nexport * from './auth.factory';\nexport * from './auth.module';\nexport * from './auth.service';\n","import { Injectable } from '@angular/core';\nimport { nullCheckValue } from '../../services/shared/shared-constants';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AccountGrid, BusinessAccountRequestState, BusinessAccountsGridData, UploadFileLabels } from './definitions/business-account-request.interface';\nimport { Address } from '../../services/shared/shared-interface';\nimport { AprRejBtnType, CtaList, GridValueData, HeaderObj, KngUploadFileState, ModalState } from 'kinetic-angular';\nimport { AbstractControl, FormBuilder, Validators } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Icons, ErrorMessage, BusinessAccountCategory, AltText, CssClass, CountryCode } from '../../services/shared/shared-enums';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class BusinessAccountRequestUtilService \n{\n\tshowActionBtn!: boolean;\n\tconstructor(private sharedService: SharedService, private fb: FormBuilder, private loggerService: LoggerService, public toaster: ToastrService, private sharedUtilService: SharedUtilService) { }\n\n\ttruncateFileName(fileName: string): string \n\t{\n\t\tconst maxLength = window.innerWidth >= 768 ? 10 : 12;\n\t\tconst extensionIndex = fileName.lastIndexOf('.');\n\t\tif (extensionIndex > -1) \n\t\t{\n\t\t\tconst extension = fileName.substring(extensionIndex);\n\t\t\tconst fileNameWithoutExtension = fileName.substring(0, extensionIndex);\n\t\t\tconst truncatedName = fileNameWithoutExtension.length > maxLength ? `${fileNameWithoutExtension.substring(0, maxLength)}..` : fileNameWithoutExtension;\n\t\t\treturn `${truncatedName}${extension}`;\n\t\t}\n\t\treturn fileName;\n\t}\n\tcheckIfValuePresent(value1: string, value2: string, value3: string) \n\t{\n\t\tif ((value1 && value1.trim() !== '') || (value2 && value2.trim() !== '')) \n\t\t\treturn this.sharedService.emptyStringHandler(value1);\n\t\tthis.sharedService.nullValueHandler(value3);\n\t\treturn nullCheckValue;\n\t}\n\tsetDefaultValues(obj: BusinessAccountsGridData) \n\t{\n\t\treturn {\n\t\t\tvalues: [],\n\t\t\tchecked: false,\n\t\t\tid: obj.tempUserID,\n\t\t\temail: obj.profileInformation.email,\n\t\t\tstate: '',\n\t\t\tportalUserId: '',\n\t\t\tcompany: obj.companyDetails.companyName ? obj.companyDetails.companyName : '',\n\t\t\ttempIsPrefilled: false,\n\t\t\tportalApprovedCustomerID: [],\n\t\t\tadminLocationID: obj.tempUserID,\n\t\t\troles: [],\n\t\t\tphoneNumber: obj.profileInformation.phoneNumber,\n\t\t\troleName: ''\n\t\t};\n\t}\n\tpublic updateHeaderObj(id: string, label: string) \n\t{\n\t\tconst isTooltip = (id === AccountGrid.businessAccountApproval);\n\t\tconst headerObj: HeaderObj = { id: id, label: label, isTooltip: isTooltip };\n\t\treturn headerObj;\n\t}\n\tformatAddress(obj: BusinessAccountsGridData) \n\t{\n\t\tconst address: Address = {\n\t\t\taddressLine1: obj.companyDetails.addressLine1,\n\t\t\taddressLine2: obj.companyDetails.addressLine2,\n\t\t\tcity: obj.companyDetails.city,\n\t\t\tstate: obj.companyDetails.state,\n\t\t\tzipCode: obj.companyDetails.country === CountryCode.canada || obj.companyDetails.country === CountryCode.canadaCountry ? obj.companyDetails.zipCode :\n\t\t\t\tthis.formatZipcode(obj.companyDetails.zipCode)\n\t\t};\n\t\treturn this.sharedService.formatAddress(address, true);\n\t}\n\tformatZipcode(value: string): string\n\t{\n\t\tlet formattedZip = value;\n\t\tif(!(value.includes('-')))\n\t\t{\n\t\t\tconst zipCode = value.replace(/[^\\d]/g, '');\n\t\t\tconst zipCodeLength = zipCode.length;\n\t\t\tformattedZip = zipCodeLength < 6 ? zipCode : `${zipCode.slice(0, 5)}-${zipCode.slice(5, 9)}`;\n\t\t}\n\t\treturn formattedZip;\n\t}\n\tbuildForm() \n\t{\n\t\treturn this.fb.group({\n\t\t\taccountName: [{ value: '', disabled: false }, [ Validators.required, (c: AbstractControl) => this.sharedService.alphaSpecialCharValidation(c, 'accountName') ] ],\n\t\t\taddressLine1: [{ value: '', disabled: false }, [ Validators.required, this.sharedService.characterValidationWithNumerics, this.sharedService.noWhitespaceValidator ] ],\n\t\t\taddressLine2: [{ value: '', disabled: false }, [this.sharedService.characterValidationWithNumerics] ],\n\t\t\tcountry: [{ value: '', disabled: false }, Validators.required ],\n\t\t\tcity: [{ value: '', disabled: false }, [ Validators.required, (c: AbstractControl) => this.sharedService.alphaSpecialCharValidation(c, 'city') ] ],\n\t\t\tstate: [{ value: '', disabled: false }, Validators.required ],\n\t\t\tpostalCode: [{ value: '', disabled: false }, [ Validators.required, this.sharedService.zipCodeLengthCheck, this.sharedService.noWhitespaceValidator ] ]\n\t\t});\n\t}\n\tgetCtaList(showActionBtn: boolean, acceptLabel: string, rejectLabel: string): CtaList[] \n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.singleApprove,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'small',\n\t\t\t\t\tstyle: 'secondary',\n\t\t\t\t\tdisabled: !showActionBtn,\n\t\t\t\t\tlabel: acceptLabel,\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: !showActionBtn ? Icons.checkAcceptDisabled : Icons.approveIcon\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'left'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.singleReject,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'small',\n\t\t\t\t\tstyle: 'secondary',\n\t\t\t\t\tdisabled: !showActionBtn,\n\t\t\t\t\tlabel: rejectLabel,\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: !showActionBtn ? Icons.closeRejectDisabled : Icons.rejectIcon\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'left'\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\tasync handleError(error: HttpErrorResponse, selectedRowIndex: number, state: BusinessAccountRequestState)\n\t{\n\t\tconst message = JSON.parse(await error.error.text()).message;\n\t\tthis.toaster.error(message);\n\t\tthis.locationLinkStatusChecked(false, selectedRowIndex, state);\n\t}\n\tgetErrorResponse()\n\t{\n\t\treturn {\n\t\t\tmessages: [{ message: ErrorMessage.productionSupport, cssClass: CssClass.errorBusinessSection }],\n\t\t\tid: '',\n\t\t\tstatusCode: 401,\n\t\t\timage: this.sharedUtilService.setImageBasedOnStatusCode(401)\n\t\t};\n\t}\n\tmapRemainAccessGridData(id: string, obj: BusinessAccountsGridData, valueListState: GridValueData, state: BusinessAccountRequestState) \n\t{\n\t\tif (id === AccountGrid.locationList) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.uploadFile;\n\t\t\tvalueListState.firstLineValue = this.truncateFileName(obj.pendingLocationDetails.updatedFileName);\n\t\t\tvalueListState.icon = { iconPath: !obj.pendingLocationDetails.locationListReviewed ? Icons.uploadDisabled : Icons.uploadFile, altText: AltText.uploadFile };\n\t\t\tvalueListState.thirdLineValue = state.sectionMiddle.grid.uploadFile;\n\t\t}\n\t\tif (id === AccountGrid.businessAccountApproval) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.button;\n\t\t\tvalueListState.isTooltip = true;\n\t\t\tif(obj.pendingLocationDetails?.primaryGridOnly) \n\t\t\t{\n\t\t\t\tthis.showActionBtn = true;\n\t\t\t}\n\t\t\telse if(obj.pendingLocationDetails.locationListReviewed === true)\n\t\t\t{\n\t\t\t\tthis.showActionBtn = true;\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\tthis.showActionBtn = false;\n\t\t\t}\n\t\t\tvalueListState.ctaList = this.getCtaList(this.showActionBtn, state.sectionMiddle.grid.accept.label, state.sectionMiddle.grid.reject.label);\n\t\t}\n\t}\n\tgetHeaderLabel(id: string, state: BusinessAccountRequestState) \n\t{\n\t\tconst header = state.sectionMiddle.tableState.gridHeaders.find((header: HeaderObj) => header.id === id);\n\t\treturn header ? header.label : '';\n\t}\n\tpublic updateAccessGridData(id: string, obj: BusinessAccountsGridData, state: BusinessAccountRequestState): GridValueData \n\t{\n\t\tconst valueListState: GridValueData = {\n\t\t\tlabel: this.getHeaderLabel(id, state),\n\t\t\tvalue: '',\n\t\t\tcategory: BusinessAccountCategory.primary,\n\t\t\tctaList: []\n\t\t};\n\t\tvalueListState.label = this.getHeaderLabel(id, state);\n\t\tif (id === AccountGrid.requestedOn) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.date;\n\t\t\tvalueListState.value = obj.requestedOn;\n\t\t}\n\t\telse if (id === AccountGrid.topLevelGrid) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.primary;\n\t\t\tvalueListState.value = this.sharedService.nullValueHandler(obj.topLevelGrid);\n\t\t}\n\t\telse if (id === AccountGrid.adminCompanyDetails) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.editData;\n\t\t\tvalueListState.firstLineValue = obj.companyDetails.companyName;\n\t\t\tvalueListState.secondLineValue = this.formatAddress(obj);\n\t\t\tvalueListState.thirdLineValue = this.sharedService.formatUserName(state.sectionMiddle.grid.companyGridLabel, obj.companyDetails.primaryLocationGRID);\n\t\t\tvalueListState.icon = { iconPath: Icons.editCompanyDetail, altText: AltText.editAdmingCompanyDetail };\n\t\t\tvalueListState.firstLineValue = this.checkIfValuePresent(valueListState.firstLineValue, valueListState.secondLineValue, valueListState.thirdLineValue);\n\t\t}\n\t\telse if (id === AccountGrid.contact) \n\t\t{\n\t\t\tvalueListState.category = BusinessAccountCategory.multiline;\n\t\t\tvalueListState.firstLineValue = this.sharedService.formatUserName(obj.profileInformation.firstName, obj.profileInformation.lastName);\n\t\t\tvalueListState.secondLineValue = this.sharedService.emptyStringHandler(obj.profileInformation.email);\n\t\t\tvalueListState.thirdLineValue = this.sharedService.formatPhoneNumber(obj.profileInformation.phoneNumber);\n\t\t\tvalueListState.firstLineValue = this.checkIfValuePresent(valueListState.firstLineValue, valueListState.secondLineValue, valueListState.thirdLineValue);\n\t\t}\n\t\tthis.mapRemainAccessGridData(id, obj, valueListState, state);\n\t\treturn valueListState;\n\t}\n\tbuttonStatusChecked(disabled: boolean, selectedRowIndex: number, state: BusinessAccountRequestState)\n\t{\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[5].ctaList[0].state.icon.iconPath = Icons.approveIcon;\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[5].ctaList[0].state.disabled = disabled;\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[5].ctaList[1].state.icon.iconPath = Icons.rejectIcon;\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[5].ctaList[1].state.disabled = disabled;\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[4].icon = { iconPath: disabled ? Icons.uploadDisabled : Icons.uploadFile, altText: AltText.uploadFile };\n\t}\n\tlocationLinkStatusChecked(disabled: boolean, selectedRowIndex: number, state: BusinessAccountRequestState)\n\t{\n\t\tstate.sectionMiddle.tableState.gridData[selectedRowIndex].values[4].disabled = disabled;\n\t}\n\tmapUploadFilePopup(data: UploadFileLabels, uploadFileState: KngUploadFileState)\n\t{\n\t\tuploadFileState.isLoading = false;\n\t\tuploadFileState.dragDropSection = data.uploadFile.dragDropLabel;\n\t\tuploadFileState.or = data.uploadFile.orLabel;\n\t\tuploadFileState.successMessage = data.uploadFile.success;\n\t\tuploadFileState.uploadButtons = data.uploadFile.uploadButtons;\n\t\tuploadFileState.errorImage.altText = data.uploadFile.errorIcon.altText;\n\t\tuploadFileState.successImage.altText = data.uploadFile.successIcon.altText;\n\t\tuploadFileState.dragDropImage.altText = data.uploadFile.onLoadIcon.altText;\n\t\tuploadFileState.errorImage.iconPath = Icons.actionRed;\n\t\tuploadFileState.successImage.iconPath = Icons.checkGreen;\n\t\tuploadFileState.dragDropImage.iconPath = Icons.dragDropIcon;\n\t}\n\tmapUploadModelState(data: UploadFileLabels, uploadModelState: ModalState)\n\t{\n\t\tuploadModelState.label = data.heading;\n\t\tuploadModelState.buttons[0].disabled = false;\n\t\tuploadModelState.buttons[0].label = data.modelButtons.cancel;\n\t\tuploadModelState.buttons[1].disabled = true;\n\t\tuploadModelState.buttons[1].label = data.modelButtons.upload;\n\t}\n\tresetUploadFileModelFlags(uploadFileState: KngUploadFileState)\n\t{\n\t\tuploadFileState.isSuccessClient = true;\n\t\tuploadFileState.isSuccessServer = false;\n\t\tuploadFileState.isError = false;\n\t\tuploadFileState.errorHeading = '';\n\t\tuploadFileState.errorSubHeading = '';\n\t}\n}\n","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { AdminCompanyDetails, ApproveBusinessAdminPayload, BusinessAccountRequest, BusinessAccountRequestState, BusinessAccountsGridData, EditAdminCompanyDetailsAemLabels, ValidateAdminForm } from './definitions';\nimport { BusinessAccountRequestService } from './business-account-request.service';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { AprRejActionData, AprRejBtnType, ButtonState, ErrorMessageHeading, ErrorMessageSubHeading, GridValue, KngDialogTooltipComponent, KngLoaderState, KngUploadFileComponent, ModalComponent, ModalEvent, ModalState } from 'kinetic-angular';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { CssClass, Icons, ModalButtonId, countries, provinces, states } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { ControlName } from '../../services/shared/shared-mapping';\nimport { AnalyticsDataLayer } from '../../services/analytics/definitions';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\n\n\n@Component({\n\tselector: 'tmhna-portal-business-account-request',\n\ttemplateUrl: './template/business-account-request.component.html',\n\tstyleUrls: ['./template/business-account-request.component.scss']\n})\nexport class BusinessAccountRequestComponent implements BusinessAccountRequest, OnInit, OnDestroy \n{\n\n\tprivate subscriptions: Subscription = new Subscription();\n\tprivate statesOrProvinces$: BehaviorSubject<{ label: string; value: string }[]> = new BehaviorSubject<{ label: string; value: string }[]>(\n\t\t[]\n\t);\n\tcountries = countries;\n\tvalidateEditForm: ValidateAdminForm = {\n\t\taccountName: false,\n\t\taddressLine1: false,\n\t\tcountry: false,\n\t\tcity: false,\n\t\tstate: false,\n\t\tpostalCode: false\n\t};\n\ttempUserId: string = '';\n\tloaderState: KngLoaderState = { imagePath: Icons.loaderWhite };\n\tdialogRef!: MatDialogRef;\n\n\t@ViewChild('editAdminCompanyDetailsModal') editAdminCompanyDetailsModal!: ModalComponent;\n\t@ViewChild('uploadFile') uploadFile!: ModalComponent;\n\t@ViewChild(KngUploadFileComponent, { static: false }) fileUploadComponent: | KngUploadFileComponent | undefined;\n\n\t@Output() isDirty = new EventEmitter();\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\n\t@Input() set state(value: BusinessAccountRequestState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): BusinessAccountRequestState \n\t{\n\t\treturn this.service.state;\n\t}\n\tset statesValue(value: { label: string; value: string }[]) \n\t{\n\t\tthis.statesOrProvinces$.next(value);\n\t}\n\tget statesValue(): { label: string; value: string }[] \n\t{\n\t\treturn this.statesOrProvinces$.value;\n\t}\n\tget editAdminCompanyDetailsModalState(): ModalState \n\t{\n\t\treturn this.service.editAdminCompanyDetailsModalState;\n\t}\n\t@Input() set editAdminCompanyDetailsAemLabelsState(value: EditAdminCompanyDetailsAemLabels) \n\t{\n\t\tthis.service.updateEditAdminCompanyDetailsState(value);\n\t}\n\tget editAdminCompanyDetailsAemLabelsState(): EditAdminCompanyDetailsAemLabels \n\t{\n\t\treturn this.service.editAdminCompanyDetailsAemLabelsState;\n\t}\n\tget buildEditDetailsForm() \n\t{\n\t\treturn this.service.buildEditDetailsForm;\n\t}\n\n\tconstructor(public service: BusinessAccountRequestService, private sharedService: SharedService,\n\t\tpublic dialog: MatDialog, private overlay: Overlay, private sharedUtilService: SharedUtilService,\n\t\tprivate analyticsService: AnalyticsService) { }\n\n\tngOnInit(): void \n\t{\n\t\tthis.initSubscriptions();\n\t\tthis.service.getBusinessAccountRequestPageAemLabel();\n\t\tthis.service.getEditAdminCompanyDetailsAemLabels();\n\t\tthis.service.buildEditDetailsForm?.get('country')?.valueChanges.subscribe({\n\t\t\tnext: value => \n\t\t\t{\n\t\t\t\tthis.statesValue = [];\n\t\t\t\tif (value?.includes('US')) \n\t\t\t\t{\n\t\t\t\t\tsetTimeout(() => \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.statesValue = states;\n\t\t\t\t\t}, 0);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].removeValidators([this.sharedService.zipCodeCanadaValidCheck]);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].addValidators([this.sharedService.zipCodeLengthCheck]);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].updateValueAndValidity();\n\t\t\t\t}\n\t\t\t\telse if (value?.includes('CA')) \n\t\t\t\t{\n\t\t\t\t\tsetTimeout(() => \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.statesValue = provinces;\n\t\t\t\t\t}, 0);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].removeValidators([this.sharedService.zipCodeLengthCheck]);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].addValidators([this.sharedService.zipCodeCanadaValidCheck]);\n\t\t\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].updateValueAndValidity();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.service.isAdminDetailsUpdated$.subscribe(data => \n\t\t{\n\t\t\tif (data) \n\t\t\t{\n\t\t\t\tthis.closeModal();\n\t\t\t}\n\t\t});\n\t\tthis.trackAnalyticsOnLoad();\n\t}\n\ttrackAnalyticsOnLoad()\n\t{\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'pageView',\n\t\t\tpage: {\n\t\t\t\tname: 'Business Account Request Management'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackByEvent(analyticsData);\n\t}\n\tngOnDestroy(): void \n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\n\tprivate initSubscriptions(): void \n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: BusinessAccountRequestState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void \n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\tshowTooltip(id: string) \n\t{\n\t\tthis.dialogRef = this.dialog.open(KngDialogTooltipComponent, {\n\t\t\twidth: '320px',\n\t\t\tdata: { state: this.state.sectionMiddle.tableState.tooltip, positionRelativeToElement: document.getElementById('tooltip-' + id) },\n\t\t\trestoreFocus: true,\n\t\t\tscrollStrategy: this.overlay.scrollStrategies.noop(),\n\t\t\tpanelClass: 'kng-dialog-tooltip-container'\n\t\t});\n\t\tthis.dialogRef?.afterClosed().subscribe(\n\t\t\t() => \n\t\t\t{\n\t\t\t\tthis.dialogRef.close();\n\t\t\t});\n\t}\n\n\tapproveRejectUser(data: AprRejActionData) \n\t{\n\t\tif (data?.action === AprRejBtnType.singleReject) \n\t\t{\n\t\t\tthis.service.rejectUsers(data.selectedUserData);\n\t\t}\n\t\tif (data?.action === AprRejBtnType.singleApprove)\n\t\t{\n\t\t\tconst approveBusinessAdminPayload: ApproveBusinessAdminPayload = {\n\t\t\t\ttempUserId: data.selectedUserDataForApprove[0]?.id\n\t\t\t};\n\t\t\tthis.service.approveBusinessAdmin(approveBusinessAdminPayload);\n\t\t}\n\t}\n\topenEditAdminCompanyDetailsModal(id: string) \n\t{\n\t\tthis.service.updateAdminDetailsErrorMessage = '';\n\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\tthis.editAdminCompanyDetailsModalState.hidden = false;\n\t\tthis.editAdminCompanyDetailsModalState.label = this.editAdminCompanyDetailsAemLabelsState.heading;\n\t\tconst businessAccountData: BusinessAccountsGridData | undefined = this.state.sectionMiddle.businessAccountData.find((data) =>\n\t\t\tdata.tempUserID === id\n\t\t);\n\t\tif (businessAccountData) \n\t\t{\n\t\t\tthis.tempUserId = businessAccountData.tempUserID;\n\t\t\tthis.service.patchEditDetailsForm(businessAccountData);\n\t\t}\n\t}\n\n\n\teditAdminCompanyDetailsModalEvent(event: ModalEvent) \n\t{\n\t\tif (event.cta.id === ModalButtonId.cancel) \n\t\t{\n\t\t\tthis.closeModal();\n\t\t}\n\t\telse if (this.isEditAdminFormValid()) \n\t\t{\n\t\t\tthis.service.updateAdminCompanyDetails(this.getUpdateAdminCompanyDetailsPayload());\n\t\t}\n\t}\n\n\tgetUpdateAdminCompanyDetailsPayload(): AdminCompanyDetails \n\t{\n\t\tconst payload: AdminCompanyDetails = {\n\t\t\tcompanyName: this.service.buildEditDetailsForm.controls['accountName']['value'],\n\t\t\taddressLine1: this.service.buildEditDetailsForm.controls['addressLine1']['value'],\n\t\t\taddressLine2: this.service.buildEditDetailsForm.controls['addressLine2']['value'],\n\t\t\tcountry: this.service.buildEditDetailsForm.controls['country']['value'],\n\t\t\tcity: this.service.buildEditDetailsForm.controls['city']['value'],\n\t\t\tstate: this.service.buildEditDetailsForm.controls['state']['value'],\n\t\t\tzipCode: this.service.buildEditDetailsForm.controls['postalCode']['value'],\n\t\t\ttempUserID: this.tempUserId\n\t\t};\n\t\treturn payload;\n\t}\n\n\tisEditAdminFormValid(): boolean \n\t{\n\t\tthis.validateEditForm = {\n\t\t\taccountName: this.validateEditAdminCompanyDetailsForm('accountName'),\n\t\t\taddressLine1: this.validateEditAdminCompanyDetailsForm('addressLine1'),\n\t\t\tcountry: this.validateEditAdminCompanyDetailsForm('country'),\n\t\t\tcity: this.validateEditAdminCompanyDetailsForm('city'),\n\t\t\tstate: this.validateEditAdminCompanyDetailsForm('state'),\n\t\t\tpostalCode: this.validateEditAdminCompanyDetailsForm('postalCode')\n\t\t};\n\t\treturn !(this.isFormFieldCheck());\n\t}\n\n\tisFormFieldCheck(): boolean \n\t{\n\t\treturn (this.validateEditForm.accountName || this.validateEditForm.addressLine1 || this.validateEditForm.country || this.validateEditForm.city\n\t\t\t|| this.validateEditForm.state || this.validateEditForm.postalCode);\n\t}\n\n\tcloseModal() \n\t{\n\t\tthis.editAdminCompanyDetailsModalState.hidden = false;\n\t\tthis.editAdminCompanyDetailsModal?.closePopup();\n\t\tthis.editAdminCompanyDetailsModalState.hidden = true;\n\t}\n\n\tpublic validateEditAdminCompanyDetailsForm(field: string): boolean \n\t{\n\t\treturn (\n\t\t\tthis.buildEditDetailsForm.controls[field]?.invalid &&\n\t\t\t(this.buildEditDetailsForm.controls[field].dirty ||\n\t\t\t\tthis.buildEditDetailsForm.controls[field].touched)\n\t\t);\n\t}\n\n\tcountryChange(event: MatSelectChange) \n\t{\n\t\tthis.isDirty.emit(true);\n\t\tif (event) \n\t\t{\n\t\t\tthis.service.buildEditDetailsForm.controls['state'].reset();\n\t\t\tthis.service.buildEditDetailsForm.controls['state'].setValue('');\n\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].reset();\n\t\t\tthis.service.buildEditDetailsForm.controls['city'].reset();\n\t\t\tthis.service.buildEditDetailsForm.controls['state'].markAsDirty();\n\t\t\tthis.service.buildEditDetailsForm.controls['postalCode'].markAsDirty();\n\t\t\tthis.service.buildEditDetailsForm.controls['city'].markAsDirty();\n\t\t}\n\t}\n\tgetRequiredErrorMessage(fieldName: string) \n\t{\n\t\treturn this.sharedService.updateMessage(this.editAdminCompanyDetailsAemLabelsState.errorText.requiredErrorMessage, '$token', fieldName);\n\t}\n\n\tformatZipCode(value: string) \n\t{\n\t\tthis.isDirty.emit(true);\n\t\tthis.service.formatZipCode(value);\n\t}\n\tnonNumericSpaceRestriction(value: string, name: string) \n\t{\n\t\tconst newValue = value.replace(/\\u00A0/g, ' ');\n\t\tif (name === ControlName.city) \n\t\t{\n\t\t\tthis.service.buildEditDetailsForm.patchValue({\n\t\t\t\tcity: this.sharedService.nonNumericSpaceRestriction(newValue)\n\t\t\t});\n\t\t}\n\t\telse if (name === ControlName.accountName) \n\t\t{\n\t\t\tthis.service.buildEditDetailsForm.patchValue({\n\t\t\t\taccountName: this.sharedUtilService.formatValue(newValue, name)\n\t\t\t});\n\t\t}\n\t}\n\tdownloadLocationListData(id: string) \n\t{\n\t\tthis.service.downloadLocationList(id);\n\t}\n\tcloseModalUpload()\n\t{\n\t\tthis.service.resetUploadFileModelFlags();\n\t\tthis.service.uploadModelState.buttons[0].disabled = false;\n\t\tthis.service.uploadModelState.buttons[0].hidden = false;\n\t\tthis.service.uploadModelState.buttons[1].hidden = false;\n\t\tthis.service.uploadModelState.buttons[1].disabled = true;\n\t\tthis.service.uploadModelState.buttons[0].label = this.service.modelButtons.cancel;\n\t\tthis.service.uploadModelState.buttons[0].cssClass = CssClass.btnSecondary;\n\t\tthis.service.uploadModelState.hidden = true;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\tuploadFileModalBtnEvent(event: ModalEvent)\n\t{\n \tconst btnIndex = event.state.buttons.findIndex((cta: ButtonState) => cta.label === event.cta.label);\n\t\tif (btnIndex === 1)\n\t\t{\n\t\t\tif(this.fileUploadComponent)\n\t\t\t\tthis.uploadFileServerValidation(this.fileUploadComponent.files[0]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.uploadFile?.closePopup();\n\t\t\tthis.closeModalUpload();\n\t\t}\n\t}\n\tuploadFileServerValidation(item: File)\n\t{\n\t\tthis.service.checkServerValidationUploadFile(item);\n\t}\n\treplaceFileEventEmitter()\n\t{\n\t\tthis.service.uploadModelState.buttons[0].disabled = false;\n\t\tthis.service.uploadModelState.buttons[1].hidden = false;\n\t\tthis.service.uploadModelState.buttons[1].disabled = true;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\topenUploadSection(row: GridValue) \n\t{\n\t\tthis.service.tempUserId = row.adminLocationID ?? '';\n\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\tthis.service.uploadModelState.hidden = false;\n\t\tthis.service.uploadFileState.isLoading = false;\n\t}\n\tfileValidationCheck(item: File)\n\t{\n\t\tconst fileNameArr = item.name.split('.');\n \tfileNameArr.pop();\n \tconst fileName = fileNameArr.join('.');\n\t\tif(fileNameArr.length !== 1 || fileName.trim().length === 0 || fileName.includes('/') || /\\\\/.exec(fileName) || item.name.split('.').pop()!=='xlsx') \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.wrongFormat;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.checkOtherFileValidation(item);\n\t\t}\n\t}\n\tcheckOtherFileValidation(item: File)\n\t{\n\t\tconst fileSize = Math.round((item.size / 1024));\n\t\tif(fileSize > 102400) \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.sizeExceed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.sizeExceed;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif(this.fileUploadComponent)\n\t\t\t\tthis.fileUploadComponent.files[0] = item;\n\t\t\tthis.service.uploadModelState.buttons[1].disabled = false;\n\t\t\tthis.service.uploadModelState.buttons[1].hidden = false;\n\t\t\tthis.service.uploadFileState.isSuccessClient = true;\n\t\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\t}\n\t}\n\temptyUploadFilesArray()\n\t{\n\t\tthis.service.uploadModelState.buttons[1].hidden = true;\n\t\tthis.service.uploadFileState.isError = true;\n\t\tthis.service.uploadFileState.isSuccessClient = false;\n\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n}\n","\n\n\n
\n

{{service.updateAdminDetailsErrorMessage}}

\n
\n
\n
\n\n
\n
\n \n \n
\n
\n {{ getRequiredErrorMessage( editAdminCompanyDetailsAemLabelsState.pageLabels.companyName.label) }}\n
\n
\n {{ editAdminCompanyDetailsAemLabelsState.errorText.invalidCharacterWithNumericErrorMessage }}\n
\n
\n
\n\n
\n \n \n
\n {{ getRequiredErrorMessage( editAdminCompanyDetailsAemLabelsState.pageLabels.addressLine1.label) }}\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n
\n \n {{country.label}}\n \n
\n\n
\n \n
\n
\n {{getRequiredErrorMessage(editAdminCompanyDetailsAemLabelsState.pageLabels.country.label)}}\n
\n
\n\n
\n \n \n
\n
\n {{getRequiredErrorMessage(editAdminCompanyDetailsAemLabelsState.pageLabels.city.label)}}\n
\n
\n {{ editAdminCompanyDetailsAemLabelsState.errorText.invalidCharacterWithoutNumericErrorMessage }}\n
\n
\n
\n\n
\n \n
\n \n \n {{ state.label }}\n \n \n
\n
\n \n
\n
\n {{ getRequiredErrorMessage(editAdminCompanyDetailsAemLabelsState.pageLabels.state.label) }}\n
\n
\n\n
\n \n \n
\n \n {{getRequiredErrorMessage(editAdminCompanyDetailsAemLabelsState.pageLabels.zipCode.label)}}\n
\n
\n {{ editAdminCompanyDetailsAemLabelsState.errorText.minLengthZipCodeError }}\n
\n
\n {{ editAdminCompanyDetailsAemLabelsState.errorText.canadaPostalCodeFormatError }}\n
\n
\n\n
\n
\n\n \n \n
\n\n
\n

{{ service.uploadModelSubheading }}

\n
\n \n \n
\n","\nimport { ModalState } from 'kinetic-angular';\nimport { BusinessAccountRequestState, EditAdminCompanyDetailsAemLabels } from './definitions';\nimport { CssClass, ModalButtonId } from '../../services/shared/shared-enums';\nimport { mockedState } from '../../constants/business-account-request-data';\n\nexport class BusinessAccountRequestFactory \n{\n\tpublic static build(): BusinessAccountRequestState \n\t{\n\t\treturn { ...mockedState };\n\t}\n\tpublic static buildEditAdminCompanyDetails(): EditAdminCompanyDetailsAemLabels \n\t{\n\t\treturn {\n\t\t\theading: '',\n\t\t\tcloseIcon: { altText: '', iconPath: '' },\n\t\t\terrorText: {\n\t\t\t\tinvalidCharacterWithNumericErrorMessage: 'Please enter only letters, numbers, hyphens, apostrophe, commas or periods',\n\t\t\t\tinvalidCharacterWithoutNumericErrorMessage: 'Please enter a valid character',\n\t\t\t\trequiredErrorMessage: '$token is a required field',\n\t\t\t\tminLengthZipCodeError: 'Postal code should have 5 numeric characters',\n\t\t\t\tcanadaPostalCodeFormatError: 'Postal Code format is incorrect. Please enter the correct Postal Code'\n\t\t\t},\n\t\t\tpageLabels: {\n\t\t\t\tcompanyName: { id: '', label: '' },\n\t\t\t\taddressLine1: { id: '', label: '' },\n\t\t\t\taddressLine2: { id: '', label: '' },\n\t\t\t\tcountry: { id: '', label: '' },\n\t\t\t\tcity: { id: '', label: '' },\n\t\t\t\tstate: { id: '', label: '' },\n\t\t\t\tzipCode: { id: '', label: '' }\n\t\t\t},\n\t\t\tpageButtons: [{\n\t\t\t\tcancel: { id: '', label: '' },\n\t\t\t\tsave: { id: '', label: '' }\n\t\t\t}]\n\t\t};\n\t}\n\tpublic static buildEditAdminCompanyDetailsModalState(): ModalState \n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, id: ModalButtonId.cancel },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnBlack, id: ModalButtonId.save }\n\t\t\t],\n\t\t\tcssClass: CssClass.removeLocationTitle\n\t\t};\n\t}\n\tpublic static buildUploadModelState(): ModalState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnBlack }\n\t\t\t],\n\t\t\tcssClass: CssClass.uploadFileTitle\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BusinessAccountRequestComponent } from './business-account-request.component';\nimport { BusinessAccountRequestService } from './business-account-request.service';\nimport { CommonErrorModule } from '../common-error';\nimport { KngDialogTooltipModule, KngLoaderModule, KngTableModule, KngUploadFileModule, ModalModule } from 'kinetic-angular';\nimport { ToastrModule } from 'ngx-toastr';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BusinessAccountRequestUtilService } from './business-account-request-util.service';\n\n\n@NgModule({\n\tdeclarations: [\n\t\tBusinessAccountRequestComponent\n\t],\n\timports: [ CommonModule, KngTableModule, KngDialogTooltipModule, KngLoaderModule, CommonErrorModule, ReactiveFormsModule, ModalModule, MatSelectModule, FormsModule, KngUploadFileModule,\n\t\tToastrModule.forRoot({\n\t\t\tpreventDuplicates: true,\n\t\t\tcloseButton: true\n\t\t}) ],\n\texports: [\n\t\tBusinessAccountRequestComponent\n\t],\n\tproviders: [\n\t\tBusinessAccountRequestService, BusinessAccountRequestUtilService\n\t]\n})\nexport class BusinessAccountRequestModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { BusinessAccountRequestFactory } from './business-account-request.factory';\nimport { AccountGrid, AdminCompanyDetails, ApproveBusinessAdminPayload, BusinessAccountRequestLabel, BusinessAccountRequestState, BusinessAccountsGridData, EditAdminCompanyDetailsAemLabels, ModelButtons, RejectBusinessAccountPayload, UploadSuccessResponse } from './definitions';\nimport { ApiService } from '../../services/api/api.service';\nimport { GridValue, HeaderObj, AprRejUserData, ModalState, KngUploadFileState, KngUploadFileFactory, ErrorMessageSubHeading, ErrorMessageHeading } from 'kinetic-angular';\nimport { CssClass } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { FormGroup } from '@angular/forms';\nimport { BusinessAccountRequestUtilService } from './business-account-request-util.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class BusinessAccountRequestService \n{\n\tprivate state$: BehaviorSubject = new BehaviorSubject(BusinessAccountRequestFactory.build());\n\tprivate editAdminCompanyDetailsAemLabelsState$: BehaviorSubject = new BehaviorSubject(BusinessAccountRequestFactory.buildEditAdminCompanyDetails());\n\tget editAdminCompanyDetailsAemLabelsState(): EditAdminCompanyDetailsAemLabels \n\t{\n\t\treturn this.editAdminCompanyDetailsAemLabelsState$.value;\n\t}\n\tget state(): BusinessAccountRequestState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\teditAdminCompanyDetailsModalState: ModalState = BusinessAccountRequestFactory.buildEditAdminCompanyDetailsModalState();\n\tbusinessAccountData: BusinessAccountsGridData[] = [];\n\tupdateAdminDetailsErrorMessage: string = '';\n\tisAdminDetailsUpdated$: BehaviorSubject = new BehaviorSubject(false);\n\tuploadFileState: KngUploadFileState = KngUploadFileFactory.build();\n\tuploadModelState: ModalState = BusinessAccountRequestFactory.buildUploadModelState();\n\tuploadModelSubheading: string = '';\n\tmodifiedFileName: string = '';\n\ttempUserId: string = '';\n\tmodelButtons: ModelButtons = BusinessAccountRequestFactory.build().sectionMiddle.grid.uploadFileLabels.modelButtons;\n\tpublic buildEditDetailsForm: FormGroup = this.businessAccountUtilService.buildForm();\n\n\tconstructor(public apiService: ApiService, private sharedService: SharedService, private loggerService: LoggerService, private sharedUtilService: SharedUtilService, private toaster: ToastrService, public businessAccountUtilService: BusinessAccountRequestUtilService) { }\n\n\tpublic updateState(value: BusinessAccountRequestState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\tpublic updateEditAdminCompanyDetailsState(value: EditAdminCompanyDetailsAemLabels): void \n\t{\n\t\tthis.editAdminCompanyDetailsAemLabelsState$.next(value);\n\t}\n\tpublic getBusinessAccountRequestPageAemLabel() \n\t{\n\t\tthis.apiService.getBusinessAccountRequestAemLabel().subscribe({\n\t\t\tnext: (res: BusinessAccountRequestLabel) => \n\t\t\t{\n\t\t\t\tif (res) \n\t\t\t\t{\n\t\t\t\t\tthis.mapBusinessAccountRequestLabel(res);\n\t\t\t\t\tthis.getBusinessAccountRequestGridData();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tpublic mapBusinessAccountRequestLabel(data: BusinessAccountRequestLabel) \n\t{\n\t\tconst sectionTop = this.state.sectionTop;\n\t\tconst sectionMiddle = this.state.sectionMiddle;\n\t\tsectionTop.pageHeading = data.pageHeading;\n\t\tsectionMiddle.tableHeading = data.tableHeading;\n\t\tsectionMiddle.grid.companyGridLabel = data.grid.companyGridLabel;\n\t\tif (sectionMiddle.tableState.tooltip) \n\t\t\tsectionMiddle.tableState.tooltip.content = data.grid.tooltip;\n\t\tsectionMiddle.tableState.noResult.image.altText = data.grid.noResult.altText ? data.grid.noResult.altText : '';\n\t\tsectionMiddle.tableState.noResult.text = data.grid.noResult.label ? data.grid.noResult.label : '';\n\t\tconst headers: HeaderObj[] = [];\n\t\tdata.grid.headers.forEach((header) => \n\t\t{\n\t\t\theaders.push(this.businessAccountUtilService.updateHeaderObj(header.id, header.label));\n\t\t});\n\t\tthis.state.sectionMiddle.tableState.gridHeaders = headers;\n\t\tthis.modelButtons = data.grid.uploadFileLabels.modelButtons;\n\t\tthis.uploadModelSubheading = data.grid.uploadFileLabels.subHeading;\n\t\tthis.businessAccountUtilService.mapUploadFilePopup(data.grid.uploadFileLabels, this.uploadFileState);\n\t\tthis.businessAccountUtilService.mapUploadModelState(data.grid.uploadFileLabels, this.uploadModelState);\t\t\n\t\tthis.resetUploadFileModelFlags();\n\t}\n\tresetUploadFileModelFlags()\n\t{\n\t\tthis.businessAccountUtilService.resetUploadFileModelFlags(this.uploadFileState);\n\t}\n\tcheckServerValidationUploadFile(item: File)\n\t{\n\t\tthis.uploadFileState.isLoading = true;\n\t\tthis.uploadModelState.buttons[0].disabled = true;\n\t\tthis.uploadModelState.buttons[1].hidden = true;\n\t\tconst ele = document.getElementById('kng-modal-close');\n\t\tif(ele)\n\t\t\tele.setAttribute('disabled', 'true');\n\t\tthis.apiService.getServerValidationUploadFile(item, this.tempUserId).subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject: UploadSuccessResponse = (res.data);\n\t\t\t\t\tthis.modifiedFileName = responseObject.updatedFileName;\n\t\t\t\t\tthis.uploadModelState.buttons[0].hidden = false;\n\t\t\t\t\tthis.uploadModelState.buttons[1].hidden = true;\n\t\t\t\t\tthis.uploadModelState.buttons[0].disabled = false;\n\t\t\t\t\tthis.uploadModelState.buttons[0].label = this.modelButtons.close;\n\t\t\t\t\tthis.uploadModelState.buttons[0].cssClass = CssClass.btnBlack;\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t\tthis.uploadFileState.isError = false;\n\t\t\t\t\tthis.uploadFileState.isSuccessClient = true;\n\t\t\t\t\tthis.uploadFileState.isSuccessServer = true;\n\t\t\t\t\tif(ele)\n\t\t\t\t\t\tele.removeAttribute('disabled');\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void => \n\t\t\t{\n\t\t\t\tthis.uploadModelState.buttons[0].disabled = false;\n\t\t\t\tthis.uploadModelState.buttons[1].hidden = true;\n\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\tthis.uploadFileState.isError = true;\n\t\t\t\tthis.uploadFileState.isSuccessClient = true;\n\t\t\t\tthis.uploadFileState.isSuccessServer = false;\n\t\t\t\tif(ele)\n\t\t\t\t\tele.removeAttribute('disabled');\n\t\t\t\tif(error.error.statusCode === 400)\n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.isSuccessClient = false;\n\t\t\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.wrongData;\n\t\t\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.wrongData;\n\t\t\t\t}\n\t\t\t\telse if(error.error.statusCode === 403)\n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.apiFailure;\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomplete: () => \n\t\t\t{\n\t\t\t\tsetTimeout(() => \n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t}, 1000);\n\t\t\t\tthis.getBusinessAccountRequestGridData();\n\t\t\t}\n\t\t});\n\t}\n\tpublic getBusinessAccountRequestGridData() \n\t{\n\t\tthis.state.sectionMiddle.tableState.loading = true;\n\t\tthis.apiService.getBusinessAccountRequestData().subscribe({\n\t\t\tnext: (response) => \n\t\t\t{\n\t\t\t\tthis.state.sectionMiddle.isError = false;\n\t\t\t\tconst data = response.data as BusinessAccountsGridData[];\n\t\t\t\tthis.businessAccountData = data;\n\t\t\t\tif (data) \n\t\t\t\t\tthis.mapToTableState(data);\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void => \n\t\t\t{\n\t\t\t\tif (error) \n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.isError = true;\n\t\t\t\t\tthis.state.sectionMiddle.errorState= this.businessAccountUtilService.getErrorResponse();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomplete: () => \n\t\t\t{\n\t\t\t\tsetTimeout(() => \n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.tableState.loading = false;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\tmapToTableState(res: BusinessAccountsGridData[]) \n\t{\n\t\tsetTimeout(() => \n\t\t{\n\t\t\tconst rowValue: GridValue[] = [];\n\t\t\tconst resources: BusinessAccountsGridData[] = res;\n\t\t\tthis.state.sectionMiddle.businessAccountData = resources;\n\t\t\tresources.forEach((obj: BusinessAccountsGridData) => \n\t\t\t{\n\t\t\t\tconst valueObj: GridValue = this.businessAccountUtilService.setDefaultValues(obj);\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.requestedOn, obj, this.state));\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.topLevelGrid, obj, this.state));\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.adminCompanyDetails, obj, this.state));\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.contact, obj, this.state));\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.locationList, obj, this.state));\n\t\t\t\tvalueObj.values.push(this.businessAccountUtilService.updateAccessGridData(AccountGrid.businessAccountApproval, obj, this.state));\n\t\t\t\trowValue.push(valueObj);\n\t\t\t});\n\t\t\tthis.state.sectionMiddle.tableState.gridData = rowValue;\n\t\t});\n\t}\n\trejectUsers(usersList: AprRejUserData[]) \n\t{\n\t\tthis.state.sectionMiddle.loading = true;\n\t\tif (usersList?.length > 0) \n\t\t{\n\t\t\tconst rejectBusinessAccountPayload: RejectBusinessAccountPayload = { email: usersList[0].email };\n\t\t\tthis.apiService.rejectBusinessAccount(rejectBusinessAccountPayload).subscribe({\n\t\t\t\tnext: (res: ApiResponse) => \n\t\t\t\t{\n\t\t\t\t\tif (res) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t\t\tthis.getBusinessAccountRequestGridData();\n\t\t\t\t\t\tthis.toaster.success(res.message);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error: HttpErrorResponse): void => \n\t\t\t\t{\n\t\t\t\t\tif (error) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t\t\tthis.loggerService.error(error.error);\n\t\t\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tpublic getEditAdminCompanyDetailsAemLabels() \n\t{\n\t\tthis.apiService.getEditAdminCompanyDetailsAemLabels().subscribe({\n\t\t\tnext: (response: EditAdminCompanyDetailsAemLabels) => \n\t\t\t{\n\t\t\t\tif (response) \n\t\t\t\t\tthis.mapEditAdminCompanyDetailsLabels(response);\t\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\tmapEditAdminCompanyDetailsLabels(response: EditAdminCompanyDetailsAemLabels) \n\t{\n\t\tthis.editAdminCompanyDetailsAemLabelsState.heading = response.heading;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.companyName.label = response.pageLabels.companyName.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.addressLine1.label = response.pageLabels.addressLine1.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.addressLine2.label = response.pageLabels.addressLine2.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.country.label = response.pageLabels.country.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.state.label = response.pageLabels.state.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.city.label = response.pageLabels.city.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.pageLabels.zipCode.label = response.pageLabels.zipCode.label;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.errorText.requiredErrorMessage = response.errorText.requiredErrorMessage;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.errorText.minLengthZipCodeError = response.errorText.minLengthZipCodeError;\n\t\tthis.editAdminCompanyDetailsAemLabelsState.errorText.canadaPostalCodeFormatError = response.errorText.canadaPostalCodeFormatError;\n\t\tthis.editAdminCompanyDetailsModalState.buttons[0].label = response.pageButtons[0].cancel.label;\n\t\tthis.editAdminCompanyDetailsModalState.buttons[1].label = response.pageButtons[0].save.label;\n\t}\n\tpublic patchEditDetailsForm(data: BusinessAccountsGridData): void \n\t{\n\t\tthis.buildEditDetailsForm.patchValue({\n\t\t\taccountName: data.companyDetails.companyName,\n\t\t\taddressLine1: data.companyDetails.addressLine1,\n\t\t\taddressLine2: data.companyDetails.addressLine2,\n\t\t\tcountry: this.sharedService.checkCountryCode(data.companyDetails.country),\n\t\t\tcity: data.companyDetails.city,\n\t\t\tstate: data.companyDetails.state,\n\t\t\tpostalCode: this.sharedUtilService.formatZipCode(data.companyDetails.zipCode, data.companyDetails.country)\n\t\t});\n\t}\n\tformatZipCode(value: string) \n\t{\n\t\tconst countryValue = this.buildEditDetailsForm.controls['country'].value;\n\t\tthis.buildEditDetailsForm.patchValue({ postalCode: this.sharedUtilService.formatZipCode(value, countryValue) });\n\t}\n\tpublic downloadLocationList(tempUserID: string) \n\t{\n\t\tconst selectedRowIndex: number = this.state.sectionMiddle.tableState.gridData.findIndex(row => row.id === tempUserID);\n\t\tconst fileName: string = this.businessAccountData[selectedRowIndex].pendingLocationDetails.updatedFileName;\n\t\tthis.businessAccountUtilService.locationLinkStatusChecked(true, selectedRowIndex, this.state);\n\t\tthis.apiService.downloadLocationList(tempUserID).subscribe(\n\t\t\t{\n\t\t\t\tnext: (res) => \n\t\t\t\t{\n\t\t\t\t\tif (res) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sharedService.downloadExcel(fileName, res);\n\t\t\t\t\t\tthis.businessAccountUtilService.buttonStatusChecked(false, selectedRowIndex, this.state);\n\t\t\t\t\t\tthis.businessAccountUtilService.locationLinkStatusChecked(false, selectedRowIndex, this.state);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error): void => \n\t\t\t\t{\n\t\t\t\t\tif (error) \n\t\t\t\t\t\tthis.businessAccountUtilService.handleError(error, selectedRowIndex, this.state);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\tupdateAdminCompanyDetails(payload: AdminCompanyDetails) \n\t{\n\t\tthis.state.sectionMiddle.loading = true;\n\t\tthis.apiService.updateAdminCompanyDetails(payload).subscribe({\n\t\t\tnext: (response: ApiResponse) => \n\t\t\t{\n\t\t\t\tif (response?.success && response?.statusCode === 200) \n\t\t\t\t{\n\t\t\t\t\tthis.updateAdminDetailsErrorMessage = '';\n\t\t\t\t\tthis.isAdminDetailsUpdated$.next(true);\n\t\t\t\t\tthis.toaster.success(response.message);\n\t\t\t\t\tthis.getBusinessAccountRequestGridData();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) => \n\t\t\t{\n\t\t\t\tthis.updateAdminDetailsErrorMessage = error.error.message;\n\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t},\n\t\t\tcomplete: () => \n\t\t\t{\n\t\t\t\tsetTimeout(() => \n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\tpublic approveBusinessAdmin(payload: ApproveBusinessAdminPayload)\n\t{\n\t\tthis.state.sectionMiddle.loading = true;\n\t\tthis.apiService.approveBusinessAdminAccount(payload).subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (response?.success && (response?.statusCode === 201 || response?.statusCode === 202))\n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t\tthis.toaster.success(response.message);\n\t\t\t\t\tthis.getBusinessAccountRequestGridData();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void =>\n\t\t\t{\n\t\t\t\tif (error)\n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t\tif (error.error.statusCode === 400 || error.error.statusCode === 500)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\t\t}\n\t\t\t\t\tthis.loggerService.error(error.error);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomplete: () => \n\t\t\t{\n\t\t\t\tsetTimeout(() => \n\t\t\t\t{\n\t\t\t\t\tthis.state.sectionMiddle.loading = false;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { KngTableState, UploadFileSection } from 'kinetic-angular';\nimport { CommonErrorState } from '../../common-error';\nimport { IdLabelPair, Image } from '../../../services/shared/shared-interface';\n\nexport interface BusinessAccountRequest {\n state: BusinessAccountRequestState;\n}\nexport interface BusinessAccountRequestState {\n sectionTop: BusinessAccountRequestSectionTop;\n sectionMiddle: BusinessAccountRequestSectionMiddle;\n}\n\nexport interface BusinessAccountRequestSectionTop {\n pageHeading: string;\n}\n\nexport interface BusinessAccountRequestSectionMiddle {\n tableHeading: string;\n grid: Grid;\n tableState: KngTableState;\n errorState:CommonErrorState;\n isError?:boolean;\n loading?: boolean;\n businessAccountData: BusinessAccountsGridData[];\n}\n\nexport interface Grid {\n headers: IdLabelPair[];\n accept: AccountApproval;\n reject: AccountApproval;\n tooltip: string;\n uploadFile: string;\n companyGridLabel:string;\n noResult: AccountApproval;\n uploadFileLabels: UploadFileLabels;\n}\nexport interface AccountApproval {\n label: string;\n iconPath: string;\n altText: string;\n}\nexport interface BusinessAccountRequestLabel {\n pageHeading: string;\n tableHeading: string;\n grid: Grid;\n}\nexport interface HeaderObj {\n id?: string;\n label: string;\n category?: string;\n}\nexport enum AccountGrid {\n requestedOn = '001',\n topLevelGrid = '002',\n adminCompanyDetails = '003',\n contact = '004',\n locationList='005',\n businessAccountApproval = '006',\n}\nexport interface BusinessAccounttGridDefinition {\n gridData: BusinessAccountsGridData[];\n}\n\nexport interface BusinessAccountsGridData {\n profileInformation: Contact;\n companyDetails: AdminCompanyDetails;\n pendingLocationDetails: LocationList;\n tempUserID: string;\n requestedOn: number;\n topLevelGrid:string;\n\n}\nexport interface Contact {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n}\nexport interface AdminCompanyDetails {\n primaryLocationGRID?: string;\n companyName: string;\n addressLine1: string;\n addressLine2?: string;\n city: string;\n state: string;\n zipCode: string;\n country: string;\n adminGrid?:string;\n tempUserID?: string;\n}\nexport interface LocationList {\n erroredFileName: string;\n originalFileName: string;\n updatedFileName: string;\n locationListReviewed: boolean;\n primaryGridOnly: boolean;\n}\nexport interface RejectBusinessAccountPayload {\n email: string;\n}\nexport interface EditAdminCompanyDetailsAemLabels {\n heading: string;\n closeIcon: Image;\n errorText: {\n invalidCharacterWithoutNumericErrorMessage: string;\n invalidCharacterWithNumericErrorMessage: string;\n requiredErrorMessage: string;\n minLengthZipCodeError: string;\n canadaPostalCodeFormatError: string;\n };\n pageLabels: PageLabels;\n pageButtons: [{\n cancel: IdLabelPair;\n save: IdLabelPair;\n }];\n}\n\nexport interface PageLabels {\n companyName: IdLabelPair;\n addressLine1: IdLabelPair;\n addressLine2: IdLabelPair;\n country: IdLabelPair;\n city: IdLabelPair;\n state: IdLabelPair;\n zipCode: IdLabelPair;\n}\n\nexport interface ValidateAdminForm {\n accountName: boolean;\n addressLine1: boolean;\n country: boolean;\n city: boolean;\n state: boolean;\n postalCode: boolean;\n}\nexport interface UploadFileLabels {\n heading: string;\n subHeading: string;\n closeIcon: Image;\n modelButtons: ModelButtons;\n uploadFile: UploadFileSection;\n}\nexport interface ModelButtons {\n close: string;\n cancel: string;\n upload: string;\n}\nexport interface UploadSuccessResponse {\n fileStatus: string;\n updatedFileName: string;\n}\nexport interface ApproveBusinessAdminPayload {\n tempUserId: string;\n}\n","export * from './business-account-request.interface';\n","export * from './definitions';\nexport * from './business-account-request.component';\nexport * from './business-account-request.factory';\nexport * from './business-account-request.module';\nexport * from './business-account-request.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tEventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonError, CommonErrorState } from './definitions';\nimport { CommonErrorService } from './common-error.service';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { Router } from '@angular/router';\nimport { ApplicationPath } from '../../services/shared/shared-enums';\n\n@Component({\n\tselector: 'tmhna-portal-common-error',\n\ttemplateUrl: './template/common-error.component.html',\n\tstyleUrls: ['./template/common-error.component.scss']\n})\nexport class CommonErrorComponent implements CommonError, OnInit, OnDestroy \n{\n\tprivate subscriptions: Subscription = new Subscription();\n\terrorMessage: string = '';\n @Input() set state(value: CommonErrorState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): CommonErrorState \n {\n \treturn this.service.state;\n }\n get isTmhCorporateAdmin(): boolean\n {\n \treturn this.localStorageService.getTmhCorporateAdminDetails() !== null;\n }\n @Output() stateChanged: EventEmitter =\n \tnew EventEmitter();\n\n constructor(private service: CommonErrorService, private analyticsService: AnalyticsService, private localStorageService: LocalStorageService, private router: Router) \n {\n \tthis.isValidUser();\n }\n\n ngOnInit(): void \n {\n \tthis.initSubscriptions();\n \tthis.analyticsService.trackByEvent({\n \t\tevent: 'errorPage',\n \t\tpage: {\n \t\t\tname: 'error'\n \t\t},\n \t\terror: {\n \t\t\tmessage: this.state.messages.map(message => message.message).join('. ')\n \t\t}\n \t});\n }\n ngOnDestroy(): void \n {\n \tthis.destroySubscriptions();\n }\n\n private initSubscriptions(): void \n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: CommonErrorState) =>\n \t\t{\n \t\t\tthis.stateChanged.emit(next);\n \t\t} \n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void \n {\n \tthis.subscriptions.unsubscribe();\n }\n isValidUser()\n {\n \tif(this.router.url.includes(ApplicationPath.authError))\n \t{\n \t\tPromise.all([ this.localStorageService.getItems('isTmhCorporateAdmin'), this.localStorageService.getItems('isPortalUser') ]).then((values) => \n \t\t{\n \t\t\tif(values[0] !== 'true' && values[1] !== 'true')\n \t\t\t{\n \t\t\t\tthis.router.navigate([ApplicationPath.authentication]);\n \t\t\t}\n \t\t});\n \t}\n }\n}\n","
\n {{state?.image?.altText}}\n

\n {{ message.message }}\n

\n \n
\n","import { CommonErrorState } from './definitions';\n\nexport class CommonErrorFactory \n{\n\tpublic static build(): CommonErrorState \n\t{\n\t\treturn {\n\t\t\tmessages: [{ message: '401 Unauthorized' }],\n\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\tstatusCode: 401,\n\t\t\timage: {\n\t\t\t\ticonPath: '/assets/401_Unauthorized.png',\n\t\t\t\taltText: '401 Unauthorized'\n\t\t\t}\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CommonErrorComponent } from './common-error.component';\nimport { CommonErrorService } from './common-error.service';\n\n@NgModule({\n\tdeclarations: [CommonErrorComponent],\n\timports: [CommonModule],\n\texports: [CommonErrorComponent],\n\tproviders: [CommonErrorService]\n})\nexport class CommonErrorModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { CommonErrorFactory } from './common-error.factory';\nimport { CommonErrorState } from './definitions';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CommonErrorService \n{\n\tprivate state$: BehaviorSubject =\n\t\tnew BehaviorSubject(CommonErrorFactory.build());\n\tget state(): CommonErrorState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: CommonErrorState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n}\n\n\n","import { Image } from '../../../services/shared/shared-interface';\n\nexport interface CommonError {\n state: CommonErrorState;\n}\nexport interface CommonErrorState {\n id: string;\n messages: MessageState[]; \n \n statusCode: number;\n image?: Image; \n action?: string;\n}\n\nexport interface MessageState {\n message: string;\n cssClass?: string;\n}\n","export * from './common-error.interface';\n","export * from './definitions';\nexport * from './common-error.component';\nexport * from './common-error.factory';\nexport * from './common-error.module';\nexport * from './common-error.service';\n","\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ContactUsService } from './contact-us.service';\nimport { Location } from '@angular/common';\nimport { ContactUsState, FormState, SectionBottomSelect, SubMenu, SubReasonIndividualLabelData, SubReasonLabel, SubReasonLables, UserData } from './definitions';\nimport { ToastrService } from 'ngx-toastr';\nimport { countries, Icons, provinces, states } from '../../services/shared/shared-enums';\nimport { MainEntryService, MainEntryState } from '../main-entry';\nimport { Subscription } from 'rxjs';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { ContactUsFactory } from './contact-us.factory';\nimport { SharedService } from '../../services/shared/shared.service';\n\n@Component({\n\tselector: 'tmhna-portal-contact-us',\n\ttemplateUrl: './template/contact-us.component.html',\n\tstyleUrls: ['./template/contact-us.component.scss']\n})\nexport class ContactUsComponent implements OnInit\n{\n\tisOpen: boolean = false;\n\tuserForm: FormGroup;\n\tcountries= countries;\n\tarrowRight: string | undefined = Icons.arrowRight;\n\tarrowDownOrange: string | undefined = Icons.arrowDown;\n\tarrowLeft: string | undefined = Icons.leftArrow;\n\tstates: { [key: string]: {label: string; value: string}[] } = {\n\t\tUSA: states,\n\t\tCAN: provinces\n\t};\n\tselectedMainReason: string = '';\n\tselectedSubReason: string = '';\n\tselectedReason: string = '';\n\tsubReasonLables: SubReasonIndividualLabelData = SubReasonLables;\n\tloaderState: KngLoaderState = {\n \timagePath: Icons.loaderWhite\n\t};\n\tisMobileView = false;\n\tisScrollHappend: boolean = false;\n\tget state(): ContactUsState\n\t{\n\t\treturn this.service.state;\n\t}\n\tdeviceBasedDropDownData: SectionBottomSelect []=[];\n\tdisplayReasonInput: boolean = false;\n\tmetaData: UserData = ContactUsFactory.buildContactData();\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\t@Input() set mainState(value: MainEntryState)\n\t{\n\t\tthis.mainEntryservice.updateState(value);\n\t}\n\tget mainState(): MainEntryState\n\t{\n\t\treturn this.mainEntryservice.state;\n\t}\n\tfilteredStates: {label: string; value: string}[] = [];\n\n\tconstructor(private readonly mainEntryservice: MainEntryService, private readonly fb: FormBuilder, public service: ContactUsService, private readonly sharedUtilService: SharedUtilService, public location: Location, public toaster: ToastrService, public sharedService: SharedService)\n\t{\n \tthis.userForm = this.fb.group({\n \t\tfirstName: [ '', [Validators.required] ],\n \t\tlastName: [ '', [Validators.required] ],\n \t\temail: [ '', [ Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/) ] ],\n \t\tphone: [ '', [ Validators.required, this.sharedService.validateStringUnique, this.sharedService.validatePhoneSequence, this.sharedService.minLength ] ],\n \t\tcompanyName: [ '', [Validators.required] ],\n \t\taddress: [''],\n \t\tcity: [''],\n \t\tstate: [''],\n \t\tzipCode: [''],\n \t\tcountry: [ '', [Validators.required] ],\n \t\treason: [ '', [Validators.required] ],\n \t\treasonInput: [''],\n \t\tcomments: [ '', [Validators.required] ]\n \t});\n\t}\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tpublic numbersOnlyValidator(event: any)\n\t{\n\t\tthis.userForm.patchValue({\n\t\t\tphone: this.sharedService.formatPhoneNumber(event.target.value)\n\t\t});\n\t}\n\n\tngOnInit(): void\n\t{\n\t\tthis.service.getContactUsState();\n\t\tthis.userForm.get(FormState.country)?.valueChanges.subscribe(value =>\n\t\t{\n\t\t\tthis.updateStateOptions(value);\n\t\t});\n\n\t\tthis.userForm.valueChanges.subscribe(() =>\n\t\t{\n\t\t\tif (this.userForm.valid)\n\t\t\t{\n\t\t\t\tthis.state.buttons.submit.disabled = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.state.buttons.submit.disabled = true;\n\t\t\t}\n\t\t});\n\t\tthis.mainEntryservice.getLandingPageAemLabels();\n\t\tthis.subscriptions.add(this.service.stateChanged.subscribe(() =>\n\t\t{\n\t\t\tthis.deviceBasedDropDownData = this.state.sectionBottom.dropDownData;\n\t\t}));\n\t\tconst queryParams = localStorage.getItem('queryData');\n\t\tif( queryParams !== null && queryParams !== 'undefined' )\n\t\t{\n\t\t\tthis.state.loading = true;\n\t\t\tthis.metaData = JSON.parse(atob(queryParams));\n\t\t\tif(this.metaData.email)\n\t\t\t{\n\t\t\t\tthis.service.getContactFormData(this.metaData.email);\n\t\t\t\tthis.service.contactFormData$.subscribe((responseObj)=>\n\t\t\t\t{\n\t\t\t\t\tthis.userForm.patchValue({\n\t\t\t\t\t\tfirstName: this.checkNavValue(this.metaData.firstName, responseObj.firstName),\n\t\t\t\t\t\tlastName: this.checkNavValue(this.metaData.lastName, responseObj.lastName),\n\t\t\t\t\t\tcountry: this.checkNavValue(this.metaData.country, responseObj.country),\n\t\t\t\t\t\taddress: this.checkNavValue(this.metaData.addressLine1, responseObj.addressLine1),\n\t\t\t\t\t\tzipCode: this.checkNavValue(this.metaData.zipCode, responseObj.zipCode),\n\t\t\t\t\t\tcity: this.checkNavValue(this.metaData.city, responseObj.city),\n\t\t\t\t\t\tstate: this.checkNavValue(this.metaData.state, responseObj.state),\n\t\t\t\t\t\tcompanyName: this.checkNavValue(this.metaData.companyName, responseObj.companyName),\n\t\t\t\t\t\temail: this.metaData.email,\n\t\t\t\t\t\tphone: this.sharedService.formatPhoneNumber(this.checkNavValue(this.metaData.phoneNumber, responseObj.phoneNumber))\n\t\t\t\t\t });\n\t\t\t\t\t this.disableFormValue();\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t};\n\t\tthis.isMobileView = this.sharedUtilService.updateIsMobileView();\n\t}\n\tcheckNavValue(navValue: string = '', respValue: string = '')\n\t{\n\t\treturn navValue || respValue;\n\t}\n\tdisableFormValue()\n\t{\n\t const formFields = [ FormState.firstName, FormState.lastName, FormState.email ];\n\t formFields.forEach((field)=>\n\t\t{\n\t\t\tthis.userForm.get(field)?.value ? this.userForm.controls[field].disable() : this.userForm.controls[field].enable();\n\t\t});\n\t}\n\n\tupdateStateOptions(country: string): void\n\t{\n \tthis.filteredStates = this.states[country] || [];\n \tthis.userForm.get(FormState.state)?.enable();\n \tthis.userForm.get(FormState.state)?.setValue('');\n \tif (!country)\n \t{\n \t\tthis.userForm.get(FormState.state)?.disable();\n \t}\n\t}\n\ttoggleMenu()\n\t{\n \tthis.isOpen = !this.isOpen;\n \tthis.state.sectionBottom.dropDownData.forEach(dropDown =>\n \t{\n \t\tdropDown.isOpen = false;\n \t});\n \tthis.deviceBasedDropDownData = this.state.sectionBottom.dropDownData;\n\t}\n\n\ttoggleSubMenu(dropDownitem : SectionBottomSelect, clickFlag: boolean): void\n\t{\n \tthis.state.sectionBottom.dropDownData.forEach(dropDown =>\n \t{\n \t\tif (dropDown.label !== dropDownitem.label)\n \t\t{\n \t\t\tdropDown.isOpen = false;\n \t\t}\n \t});\n \tthis.selectedMainReason = dropDownitem.label;\n\n \tthis.selectedSubReason = '';\n \tthis.userForm.get(FormState.reason)?.setValue(this.selectedMainReason);\n \tif(dropDownitem.subMenu.length !== 0)\n \t{\n \t\tthis.setDeviceBasedFuntionality(dropDownitem);\n \t\tdropDownitem.isOpen = !dropDownitem.isOpen;\n \t}\n \telse\n \t{\n \t\tthis.displayReasonInput = false;\n \t\tthis.selectedReason = this.selectedMainReason;\n \t\tthis.subReasonLables = this.specificInputFunction('');\n \t\tthis.setDeviceBasedFuntionality(dropDownitem);\n \t\tif(clickFlag)\n \t\t{\n \t\t\tthis.isOpen = false;\n \t\t}\n \t}\n\t}\n\n\tsetDeviceBasedFuntionality(dropDownitem : SectionBottomSelect)\n\t{\n \tif(this.isMobileView && !dropDownitem.isOpen)\n \t{\n \t\tthis.deviceBasedDropDownData = this.state.sectionBottom.dropDownData.filter(dropDown => dropDown.label === dropDownitem.label);\n \t}\n \telse\n \t{\n \t\tthis.deviceBasedDropDownData = this.state.sectionBottom.dropDownData;\n \t}\n\t}\n\n\n\tselectSubmenu(sub : SubMenu)\n\t{\n \tthis.selectedSubReason = sub.label;\n\t this.selectedReason = this.selectedMainReason + ', ' + this.selectedSubReason ;\n \tthis.userForm.get(FormState.reason)?.setValue(this.selectedReason);\n \tthis.subReasonLables = this.specificInputFunction(sub.label);\n \tthis.isOpen = false;\n \tthis.deviceBasedDropDownData = this.state.sectionBottom.dropDownData;\n \tif (this.subReasonLables.label === '')\n \t{\n \t\tthis.displayReasonInput = false;\n \t}\n \telse\n \t{\n \t\tthis.displayReasonInput = true;\n \t}\n\t}\n\n\n\tonSubmit(): void\n\t{\n \tif (this.userForm.valid)\n \t{\n \t\tconst formData = {\n\t\t\t\tsubject: this.userForm.get(FormState.reason)?.value,\n\t\t\t\tdescription: this.userForm.get(FormState.comments)?.value,\n\t\t\t\trequestorFirstName: this.userForm.get(FormState.firstName)?.value,\n\t\t\t\trequestorLastName: this.userForm.get(FormState.lastName)?.value,\n\t\t\t\tcountry: this.userForm.get(FormState.country)?.value,\n\t\t\t\taddressLine1: this.userForm.get(FormState.address)?.value,\n\t\t\t\tzipCode: (this.userForm.get(FormState.zipCode)?.value),\n\t\t\t\tcity: this.userForm.get(FormState.city)?.value,\n\t\t\t\tstate: this.userForm.get(FormState.state)?.value,\n\t\t\t\tcompanyName: this.userForm.get(FormState.companyName)?.value,\n\t\t\t\temail: this.userForm.get(FormState.email)?.value,\n\t\t\t\tphone: Number(this.userForm.get(FormState.phone)?.value.replace(/[^\\d]/g, '')),\n\t\t\t\troleOfUser: this.checkNavValue(this.metaData.role, this.service.contactFormData.role),\n\t\t\t\tprimaryLocationGRID: this.checkNavValue(this.metaData.primaryLocationGRID, this.service.contactFormData.primaryLocationGRID),\n\t\t\t\tadminLocationGRID: this.checkNavValue(this.metaData.adminLocationID, this.service.contactFormData.adminLocationID),\n\t\t\t\tcrmRecordExists: (this.metaData.crmRecordExists || this.service.contactFormData.crmRecordExists || false).toString(),\t\n\t\t\t\tcustomerType: this.metaData.customerType ?? this.service.contactFormData.customerType,\n\t\t\t\turlOfOrigin: this.checkNavValue(this.metaData.urlOfOrigin, ''),\n\t\t\t\taccountType: this.checkNavValue(this.metaData.accountType, this.service.contactFormData.accountType)\n \t\t};\n\n\t\t\tthis.service.contactUsTicket(formData);\n\t\t\tif(this.metaData.urlOfOrigin)\n\t\t\t{\n\t\t\t\tthis.userForm.controls['comments'].reset();\n\t\t\t\tthis.userForm.controls['reason'].reset();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.userForm.reset();\n\t\t\t}\n \t\tthis.selectedReason = '';\n \t\tthis.displayReasonInput = false;\n \t}\n \telse\n \t{\n \t\tthis.toaster.error(this.state.toasterFailure.label);\n \t}\n\t}\n\n\tonScroll(): void\n\t{\n\n \tconst scrollPosition = document.getElementsByClassName('dropdown-options-container');\n \tif (scrollPosition[0].scrollTop > 0)\n \t{\n \t\tthis.isScrollHappend = true;\n \t}\n \telse\n \t{\n \t\tthis.isScrollHappend = false;\n \t}\n\t}\n\n\tonCancel(): void\n\t{\n \tthis.location.back();\n\t}\n\n\tspecificInputFunction(subReason : string): SubReasonIndividualLabelData\n\t{\n \t\tswitch (subReason)\n \t\t{\n \t\tcase SubReasonLabel.partsOrder:\n \t\t\treturn this.state.subreasonLabelData.partsOrder[0];\n \t\tcase SubReasonLabel.equipmentOrder:\n \t\t\treturn this.state.subreasonLabelData.equipmentOrder[0];\n \t\tcase SubReasonLabel.manualInformation:\n \t\t\treturn this.state.subreasonLabelData.manualInformation[0];\n \t\tcase SubReasonLabel.partInformation:\n \t\t\treturn this.state.subreasonLabelData.partInformation[0];\n \t\t}\n \t\treturn this.extraInputCheck(subReason);\n\t}\n\textraInputCheck(subReason: string): SubReasonIndividualLabelData\n\t{\n \tswitch (subReason)\n \t{\n \tcase SubReasonLabel.invoiceNumber:\n \t\treturn this.state.subreasonLabelData.invoiceNumber[0];\n \tcase SubReasonLabel.myToyotaStoreEquipmentOrder:\n \t\treturn this.state.subreasonLabelData.myToyotaStoreEquipmentOrder[0];\n \tcase SubReasonLabel.toyotaDealerEquipmentOrder:\n \t\treturn this.state.subreasonLabelData.toyotaDealerEquipmentOrder[0];\n \t}\n \treturn { label: '', placeholder: '' };\n\t}\n\n}\n","
\n
\n \"My\n
\n
\n\n
\n
\n

{{state?.pageHeading}}

\n
\n

\n {{state?.pageSubHeading}}\n

\n
\n
\n
\n

{{state?.sectionTopHeading}}

\n
\n
\n
\n \n \n \n \n \n \n \n
\n \n \n {{ country.label }}\n \n \n \n \n {{ state.label }}\n \n \n \n
\n
\n \n
\n {{ field.errorMsg }}\n
\n
\n \n \n {{field.errorMsg}}\n \n \n Enter a valid email address\n \n \n\n
\n
\n\n
\n
\n

{{state?.sectionBottomHeading}}

\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n 0 && isMobileView && item.isOpen\" class=\"arrow\">\n {{ item.label }}\n 0 && !item.isOpen\" class=\"arrow\">\n 0 && !isMobileView && item.isOpen\" class=\"arrow\">\n
\n
\n {{ sub.label }}\n
\n
\n
\n
\n
\n
\n
\n
\n {{state.sectionBottom.errorMsg}}
\n
\n\n
\n \n \n
\n
\n\n
\n \n \n
\n
\n {{ state.comments.errorMsg }}\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n\n
\n \n
\n\n\n","import { ContactUsState, UserData } from './definitions';\nexport class ContactUsFactory\n{\n\tpublic static build(): ContactUsState\n\t{\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tpageHeading: 'Contact Us',\n\t\t\tsectionTopHeading: 'Tell us about yourself',\n\t\t\tsectionTopData: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'First Name',\n\t\t\t\t\tplaceholder: 'First Name',\n\t\t\t\t\terrorMsg: 'First Name is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'firstName',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Last Name',\n\t\t\t\t\tplaceholder: 'Last Name',\n\t\t\t\t\terrorMsg: 'Last Name is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'lastName',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Email',\n\t\t\t\t\tplaceholder: 'abcd@email.com',\n\t\t\t\t\terrorMsg: 'Email is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'email',\n\t\t\t\t\ttype: 'email'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Phone',\n\t\t\t\t\tplaceholder: '(888) 888-8888',\n\t\t\t\t\terrorMsg: 'Phone is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'phone',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Company Name',\n\t\t\t\t\tplaceholder: 'Company Name',\n\t\t\t\t\terrorMsg: 'Company Name is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'companyName',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Address',\n\t\t\t\t\tplaceholder: 'Address',\n\t\t\t\t\terrorMsg: 'Address is required',\n\t\t\t\t\tisRequired: false,\n\t\t\t\t\tid: 'address',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Country',\n\t\t\t\t\tplaceholder: 'abcd@email.com',\n\t\t\t\t\terrorMsg: 'Country is required',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tid: 'country',\n\t\t\t\t\ttype: 'select'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'State',\n\t\t\t\t\tplaceholder: 'State',\n\t\t\t\t\terrorMsg: 'State is required',\n\t\t\t\t\tisRequired: false,\n\t\t\t\t\tid: 'state',\n\t\t\t\t\ttype: 'select'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'City',\n\t\t\t\t\tplaceholder: 'City',\n\t\t\t\t\terrorMsg: 'City is required',\n\t\t\t\t\tisRequired: false,\n\t\t\t\t\tid: 'city',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'ZipCode',\n\t\t\t\t\tplaceholder: 'ZipCode',\n\t\t\t\t\terrorMsg: 'ZipCode is required',\n\t\t\t\t\tisRequired: false,\n\t\t\t\t\tid: 'zipCode',\n\t\t\t\t\ttype: 'text'\n\t\t\t\t}\n\t\t\t],\n\t\t\tpageSubHeading: 'Please fill out the form below with your details and message. Our team will review your inquiry and get back to you within 3-4 business days.',\n\t\t\tsectionBottomHeading: 'What can we help you with?',\n\t\t\tsectionBottom: {\n\t\t\t\tdropdownLabel: 'Reason',\n\t\t\t\tisRequired: true,\n\t\t\t\terrorMsg: 'Reason is required',\n\t\t\t\tdropDownData: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Log In/ Registration',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'My Toyota Account',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'MyToyota Store',\n\t\t\t\t\t\tsubMenu: [\n\t\t\t\t\t\t\t{ label: 'Parts Order' },\n\t\t\t\t\t\t\t{ label: 'Equipment Order' },\n\t\t\t\t\t\t\t{ label: 'Checkout Issue' }\n\t\t\t\t\t\t],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Product/Equipment Information',\n\t\t\t\t\t\tsubMenu: [\n\t\t\t\t\t\t\t{ label: 'Manuals' },\n\t\t\t\t\t\t\t{ label: 'Part Information' },\n\t\t\t\t\t\t\t{ label: 'Other' }\n\t\t\t\t\t\t],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Billing Question',\n\t\t\t\t\t\tsubMenu: [{ label: 'Invoice' }],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'New Equipment Order',\n\t\t\t\t\t\tsubMenu: [\n\t\t\t\t\t\t\t{ label: 'MyToyota Store Equipment Order' },\n\t\t\t\t\t\t\t{ label: 'Toyota Dealer Equipment Order' }\n\t\t\t\t\t\t],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'MyInsights',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Feedback',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Other',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tisOpen: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tbuttons: {\n\t\t\t\tsubmit: {\n\t\t\t\t\tsize: 'small',\n\t\t\t\t\tstyle: 'primary',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\tlabel: 'Submit',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: ''\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'left'\n\t\t\t\t},\n\t\t\t\tcancel: {\n\t\t\t\t\tsize: 'small',\n\t\t\t\t\tstyle: 'secondary',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: ''\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'left'\n\t\t\t\t}\n\t\t\t},\n\t\t\tresponse: { data: {}, isInvalid: false, emailErrorMessage: '' },\n\t\t\tcomments: {\n\t\t\t\tlabel: 'Comments',\n\t\t\t\tplaceholder:\n 'Please describe your issue and any details that can help us assist you better',\n\t\t\t\terrorMsg: 'Comments is required',\n\t\t\t\ttype: 'textarea',\n\t\t\t\tid: 'comments',\n\t\t\t\tisRequired: true\n\t\t\t},\n\t\t\ttoasterSuccess: { label: 'Form Submitted Successfully' },\n\t\t\ttoasterFailure: { label: 'Form Submission Failed' },\n\t\t\tsubreasonLabelData: {\n\t\t\t\tpartInformation: [{\n\t\t\t\t\tlabel: 'Model-Serial (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Model-Serial'\n\t\t\t\t}],\n\t\t\t\tinvoiceNumber: [{\n\t\t\t\t\tlabel: 'Invoice Number (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Invoice Number'\n\t\t\t\t}],\n\t\t\t\tpartsOrder: [{\n\t\t\t\t\tlabel: 'Order Number (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Order Number'\n\t\t\t\t}],\n\t\t\t\tequipmentOrder: [{\n\t\t\t\t\tlabel: 'Order Number (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Order Number'\n\t\t\t\t}],\n\t\t\t\tmanualInformation: [{\n\t\t\t\t\tlabel: 'Model-Serial (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Model-Serial'\n\t\t\t\t}],\n\t\t\t\tmyToyotaStoreEquipmentOrder: [{\n\t\t\t\t\tlabel: 'Order Number (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Order Number'\n\t\t\t\t}],\n\t\t\t\ttoyotaDealerEquipmentOrder: [{\n\t\t\t\t\tlabel: 'Order Number (Optional)',\n\t\t\t\t\tplaceholder: 'Enter Order Number'\n\t\t\t\t}]\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildContactData(): UserData\n\t{\n\t\treturn {\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\temail: '',\n\t\t\tphoneNumber: '',\n\t\t\tcompanyName: '',\n\t\t\taddressLine1: '',\n\t\t\tcity: '',\n\t\t\tstate: '',\n\t\t\tzipCode: '',\n\t\t\tcountry: '',\n\t\t\taccountType: '',\n\t\t\trole: '',\n\t\t\tprimaryLocationGRID: '',\n\t\t\tadminLocationID: '',\n\t\t\tcrmRecordExists: false,\n\t\t\tcustomerType: ''\n\t\t };\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KngButtonModule, KngFooterModule, KngLoaderModule } from 'kinetic-angular';\nimport { AnalyticsModule } from '../../services/analytics/analytics.module';\nimport { ContactUsComponent } from './contact-us.component';\nimport { ContactUsService } from './contact-us.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { MatSelectModule } from '@angular/material/select';\n\n@NgModule({\n\tdeclarations: [ContactUsComponent],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tKngLoaderModule,\n\t\tAnalyticsModule,\n\t\tBrowserModule,\n\t\tReactiveFormsModule,\n\t\tKngButtonModule,\n\t\tKngFooterModule,\n\t\tMatSelectModule\n\t],\n\texports: [ContactUsComponent],\n\tproviders: [ContactUsService]\n})\nexport class ContactUsModule {}\n","import { Injectable } from '@angular/core';\nimport { AemContactUsLabelData, ContactUsPayload, ContactUsState, FormState, UserData } from './definitions';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ContactUsFactory } from './contact-us.factory';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../../services/api/api.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ContactUsService\n{\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(ContactUsFactory.build());\n\tconstructor(private readonly apiService: ApiService, private readonly toaster: ToastrService) { }\n\tcontactFormData$: BehaviorSubject = new BehaviorSubject(ContactUsFactory.buildContactData());\n\tget state(): ContactUsState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tpublic updateState(value: ContactUsState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\tset updateContactForm(value: UserData)\n\t{\n\t\tthis.contactFormData$.next(value);\n\t} \n\tget contactFormData(): UserData\n\t{\n\t\treturn this.contactFormData$.value;\n\t}\n\tcontactUsTicket(payload : ContactUsPayload): void\n\t{\n\t\tthis.state.loading = true;\n\t\tthis.apiService.contactUsTicket(payload).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tconst responseObj = res.data;\n\t\t\t\tthis.state.response.data = responseObj;\n\t\t\t\tthis.state.response.isInvalid = false;\n\t\t\t\tthis.toaster.success(this.state.toasterSuccess.label);\n\t\t\t\tthis.state.loading = false;\n\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.state.response.isInvalid = true;\n\t\t\t\tthis.state.response.emailErrorMessage = error.message;\n\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\tthis.state.loading = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic getContactUsState(): void\n\t{\n\t\tthis.state.loading = true;\n\t\tthis.apiService.getContactUsLabels().subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (response)\n\t\t\t\t{\n\t\t\t\t\tconst responseObj = response.data;\n\t\t\t\t\tthis.mapContactUsState(responseObj);\n\t\t\t\t\tthis.state.loading = false;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () =>\n\t\t\t{\n\t\t\t\tthis.state.loading = false;\n\t\t\t}\n\t\t});\n\n\t}\n\n\tpublic mapContactUsState(res: AemContactUsLabelData): void\n\t{\n\t\tthis.state.pageHeading= res.pageHeading;\n\t\tthis.state.sectionTopHeading = res.sectionTopHeading;\n\n\t\tfor (let i = 0; i < this.state.sectionTopData.length; i++)\n\t\t{\n\t\t\tthis.state.sectionTopData[i].label= res.sectionTopData[i].label;\n\t\t\tthis.state.sectionTopData[i].placeholder= res.sectionTopData[i].placeholder;\n\t\t\tthis.state.sectionTopData[i].errorMsg= res.sectionTopData[i].errorMsg;\n\t\t\tthis.state.sectionTopData[i].isRequired= res.sectionTopData[i].isRequired;\n\t\t}\n\n\t\tthis.state.sectionBottomHeading= res.sectionBottomHeading;\n\n\t\tthis.state.sectionBottom= res.sectionBottom;\n\t\tfor (const indx in this.state.sectionBottom.dropDownData)\n\t\t{\n\t\t\tthis.state.sectionBottom.dropDownData[indx].isOpen = false;\n\t\t}\n\t\tthis.state.buttons.submit.label= res.buttons.submit;\n\t\tthis.state.buttons.cancel.label= res.buttons.cancel;\n\t\tthis.state.comments.label= res.comments.label;\n\t\tthis.state.comments.placeholder= res.comments.placeholder;\n\t\tthis.state.comments.errorMsg= res.comments.errorMsg;\n\t\tthis.state.comments.isRequired= res.comments.isRequired;\n\t\tthis.state.toasterSuccess= res.toasterSuccess;\n\t\tthis.state.toasterFailure = res.toasterFailure;\n\t\tthis.state.subreasonLabelData = res.subreasonLabelData;\n\t\tthis.state.pageSubHeading = res.pageSubHeading;\n\t}\n\tgetContactFormData(userEmail:string)\n\t{\n\t\tconst payload = {\n\t\t\temail: userEmail\n\t\t};\n\t\tthis.apiService.getContactForm(payload).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tconst responseObj = res.data;\n\t\t\t\tthis.updateContactForm = responseObj;\n\t\t\t\tthis.state.loading = false;\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\tthis.state.loading = false;\n\t\t\t},\n\t\t\tcomplete: () => \n\t\t\t{\n\t\t\t\tthis.handleValidation();\n\t\t\t}\n\t\t});\n\t}\n\n\thandleValidation(): void\n\t{\n\t\tconst requiredFields = [\n\t\t\tFormState.firstName, FormState.lastName, FormState.email, FormState.phoneNumber, FormState.companyName, FormState.country, FormState.city, FormState.state \n\t\t];\n\n\t\tfor (const field of requiredFields) \n\t\t{\n\t\t\tif (!this.contactFormData[field as keyof UserData]) \n\t\t\t{\n\t\t\t\tthis.toaster.error( 'Unable to fetch your details, please enter manually?' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { KngButtonPosition, KngButtonSize, KngButtonState, KngButtonStyle } from 'kinetic-angular';\n\nexport interface ContactUs {\n state: ContactUsState;\n}\nexport interface ContactUsState {\n loading: boolean;\n pageHeading: string;\n sectionTopHeading: string;\n pageSubHeading: string;\n sectionTopData: Array;\n sectionBottomHeading: string;\n sectionBottom: SectionBottom;\n buttons: Buttons;\n response: Response;\n comments: SectionTopInput;\n\ttoasterSuccess: ToastrMsg;\n\ttoasterFailure: ToastrMsg;\n subreasonLabelData: SubReasonLabelData;\n}\n\nexport interface AemContactUsLabelData {\n pageHeading: string;\n pageSubHeading: string;\n sectionTopHeading: string;\n sectionTopData: Array;\n sectionBottomHeading: string;\n sectionBottom: SectionBottom;\n buttons: AemButtons;\n comments: AemSectionTopInput;\n\ttoasterSuccess: ToastrMsg;\n\ttoasterFailure: ToastrMsg;\n subreasonLabelData: SubReasonLabelData;\n}\n\ninterface ToastrMsg {\n label: string;\n}\n\ninterface AemButtons {\n submit: string;\n cancel: string;\n}\ninterface Response {\n data: object;\n isInvalid: boolean;\n emailErrorMessage: string;\n}\n\nexport interface ContactUsPayload {\n subject: string;\n description: string;\n requestorFirstName: string;\n requestorLastName: string;\n country: string;\n addressLine1: string;\n zipCode: string;\n city: string;\n state: string;\n companyName: string;\n email: string;\n accountType?:string;\n roleOfUser?:string;\n primaryLocationGRID?:string;\n adminLocationGRID?:string;\n crmRecordExists?:string;\n customerType?:string;\n urlOfOrigin ?:string;\n}\n\n\ninterface SectionBottom {\n dropdownLabel: string;\n isRequired: boolean;\n errorMsg?: string;\n dropDownData: Array;\n}\ninterface Buttons {\n submit: KngButtonState;\n cancel: KngButtonState;\n}\n\nexport interface ButtonType {\n size?: KngButtonSize;\n style?: KngButtonStyle;\n disabled?: boolean;\n label: string;\n position?: KngButtonPosition;\n}\n\nexport interface SectionTopInput {\n label: string;\n placeholder: string;\n errorMsg: string ;\n isRequired: boolean ;\n id: string;\n type: string ;\n}\nexport interface AemSectionTopInput {\n label: string;\n placeholder: string;\n errorMsg: string ;\n isRequired: boolean ;\n}\n\n\nexport interface SubMenu {\n label: string;\n}\n\nexport interface SectionBottomSelect {\n label: string;\n subMenu: Array;\n isOpen?: boolean;\n}\n\nexport enum FieldType {\n text = 'text',\n email = 'email',\n phone = 'phone',\n textarea = 'textarea',\n select = 'select',\n}\n\nexport enum SubReasonLables {\n label= 'Specific Input (Optional)',\n placeholder= 'Please Enter Details Here'\n};\n\nexport enum FormState {\n firstName= 'firstName',\n lastName= 'lastName',\n email= 'email',\n phone= 'phone',\n companyName= 'companyName',\n address= 'address',\n city= 'city',\n state= 'state',\n zipCode= 'zipCode',\n country= 'country',\n reason= 'reason',\n reasonInput= 'reasonInput',\n comments= 'comments',\n phoneNumber = 'phoneNumber',\n}\n\nexport enum SubReasonLabel {\n partsOrder = 'Parts Order',\n equipmentOrder = 'Equipment Order',\n checkoutIssue = 'Checkout Issue',\n manualInformation = 'Manuals',\n partInformation = 'Part Information',\n otherInformation = 'Other',\n invoiceNumber = 'Invoice',\n myToyotaStoreEquipmentOrder = 'MyToyota Store Equipment Order',\n toyotaDealerEquipmentOrder = 'Toyota Dealer Equipment Order',\n}\n\nexport interface SubReasonLabelData {\n partInformation: [SubReasonIndividualLabelData];\n invoiceNumber: [SubReasonIndividualLabelData];\n partsOrder: [SubReasonIndividualLabelData];\n equipmentOrder: [SubReasonIndividualLabelData];\n manualInformation: [SubReasonIndividualLabelData];\n myToyotaStoreEquipmentOrder: [SubReasonIndividualLabelData];\n toyotaDealerEquipmentOrder: [SubReasonIndividualLabelData];\n}\nexport interface SubReasonIndividualLabelData {\n label: string;\n placeholder: string;\n}\n\nexport interface UserData {\n firstName:string;\n lastName:string;\n email:string;\n phoneNumber:string;\n companyName:string;\n addressLine1?:string;\n city?:string;\n state?:string;\n zipCode?:string;\n country?:string;\n accountType?:string;\n role?:string;\n primaryLocationGRID?:string;\n adminLocationID?:string;\n crmRecordExists?:boolean;\n customerType?:string;\n urlOfOrigin ?:string;\n}\n","export * from './contact-us.interface';\n","import { Component, OnInit } from '@angular/core';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\n\n@Component({\n\tselector: 'tmhna-portal-customer-portal',\n\ttemplateUrl: './customer-portal.component.html',\n\tstyleUrls: ['./customer-portal.component.scss']\n})\nexport class CustomerPortalComponent implements OnInit \n{\n\n\tbusinessAccount = 'Business Account Requests';\n\tinviteUsers = 'Invite Users';\n\tcustomerSupport = 'Impersonate User';\n\tpageTitle = 'User Management';\n\tpublic activeTab: string = '';\n\ttabIndex: number = 0;\n\tconstructor() { }\n\tngOnInit(): void \n\t{\n\t\tconst endCorpSession = localStorage.getItem('endCorpSession');\n\t\tif(endCorpSession && endCorpSession !== null )\n\t\t{\n\t\t\tthis.activeTab = this.customerSupport;\n\t\t\tthis.tabIndex = 2;\n\t\t\tlocalStorage.removeItem('endCorpSession');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.tabIndex = 0;\n\t\t\tthis.activeTab= this.businessAccount;\n\t\t}\n\t}\n\n\tupdateTabView(event: MatTabChangeEvent) \n\t{\n\t\tthis.activeTab = event.tab.textLabel;\n\t}\n}\n\n\n","","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomerPortalComponent } from './customer-portal.component';\nimport { BusinessAccountRequestModule } from './../business-account-request';\nimport { InviteUserModule } from './../invite-users';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { CustomerSupportModule } from '../customer-support/customer-support.module';\n\n@NgModule({\n\tdeclarations: [\n\t\tCustomerPortalComponent\n\t],\n\timports: [ CommonModule, BusinessAccountRequestModule, InviteUserModule, MatTabsModule, CustomerSupportModule ],\n\texports: [\n\t\tCustomerPortalComponent\n\t],\n\tproviders: [\n\n\t]\n})\nexport class CustomerPortalModule {}\n","\nexport * from './customer-portal.component';\nexport * from './customer-portal.module';\n\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, ViewChild } from '@angular/core';\nimport { CustomerSupportState } from './definition/customer-support.interface';\nimport { CustomerSupportService } from './customer-support.service';\nimport { ErrorMessage, Icons, ModalButtonId, RemovalSubmissionButton } from '../../services/shared/shared-enums';\nimport { KngLoaderState, ModalComponent, ModalEvent, ModalState } from 'kinetic-angular';\nimport { Subscription } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\n\n@Component({\n\tselector: 'tmhna-portal-app-customer-support',\n\ttemplateUrl: './template/customer-support.component.html',\n\tstyleUrls: ['./template/customer-support.component.scss']\n})\nexport class CustomerSupportComponent implements OnInit, OnDestroy\n{\n\n\tconstructor(public service: CustomerSupportService, public router: Router, public localStorageService: LocalStorageService) { }\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\t@Input() showHr: boolean = true;\n\t@ViewChild('confirmSessionState') confirmSessionState!: ModalComponent;\n\tloaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderWhite\n\t};\n\temail: string = '';\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\t@Input() set state(value: CustomerSupportState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): CustomerSupportState\n\t{\n\t\treturn this.service.state;\n\t}\n\tget confirmSession(): ModalState \n\t{\n\t\treturn this.service.confirmSession;\n\t}\n\n\tngOnInit(): void \n\t{\n\t\tthis.initSubscriptions();\n\t\tthis.service.getCustomerSupportState();\n\t\tthis.checkEmail();\n\t\tthis.confirmSession.buttons[0].label = RemovalSubmissionButton.cancel;\n\t\tthis.confirmSession.buttons[1].label = RemovalSubmissionButton.proceed;\n\t\tconst redirectedUser = this.localStorageService.getRedirectedUser();\n\t\tif(redirectedUser)\n\t\t{\n\t\t\tthis.service.startImpersonationSession(redirectedUser, true);\n\t\t\tthis.localStorageService.removeRedirectedUser();\n\t\t}\n\t}\n\n\tprivate initSubscriptions(): void\n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: CustomerSupportState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\n\tngOnDestroy(): void \n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\tasync startSession()\n\t{\n\t\tthis.handleValidation();\n\t\tif(this.state.isInvalid) return;\n\t\tthis.service.validateImpersonationSession(this.email);\n\t}\n\thandleValidation()\n\t{\n\t\tconst emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t\tif (this.email.trim() === '' || this.email.length < 5 || this.email.length > 50 || !emailRegex.test(this.email))\n\t\t{\n\t\t\tthis.state.isInvalid = true;\n\t\t\tthis.state.emailErrorMessage = ErrorMessage.invalidEmailFormat;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.state.isInvalid = false;\n\t\t\tthis.state.emailErrorMessage = '';\n\t\t}\n\t}\n\tconfirmModalEvent(event: ModalEvent) \n\t{\n\t\tif (event.cta.id === ModalButtonId.proceed) \n\t\t{\n\t\t\tthis.service.startImpersonationSession(this.email);\n\t\t}\n\t\tthis.confirmSession.hidden = false;\n\t\tthis.confirmSessionState.closePopup();\n\t}\n\tcheckEmail()\n\t{\n\t\tthis.state.isInvalid = false;\n\t\tif(this.email.trim() === '')\n\t\t{\n\t\t\tthis.state.startCTA.disabled = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.state.startCTA.disabled = false;\n\t\t}\n\t}\n}\n","
\n
\n
\n

{{ state.pageHeading }}

\n
\n
\n
\n
\n
{{state.title }}
\n
{{state.description }}
\n
\n
\n \n \n
\n {{state.emailErrorMessage}}\n
\n
\n
\n \n
\n
\n
\n
\n\n\n
\n {{state.startSession}}\n
\n
\n
\n
Email ID
\n
{{ service.userData.email }}
\n
\n
\n
Name
\n
{{ service.userData.name }}
\n
\n
\n
Role
\n
{{ service.userData.role }}
\n
\n
\n
\n \n
\n \n
\n \n \n ","import { ModalState } from 'kinetic-angular';\nimport { CustomerSupportState, CustomerData } from './definition/customer-support.interface';\nimport { CssClass, ModalButtonId } from '../../services/shared/shared-enums';\nexport class CustomerSupportFactory \n{\n\tpublic static build(): CustomerSupportState \n\t{ \n\t\treturn {\n\t\t\tpageHeading: '',\n\t\t\tstartCTA: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: '',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: { iconPath: '', altText: '' }\n\t\t\t},\n\t\t\ttitle: '',\n\t\t\temail: '',\n\t\t\tdescription: '',\n\t\t\tstartSession: '',\n\t\t\tmodalNote: '',\n\t\t\tloading: false,\n\t\t\temailErrorMessage: '',\n\t\t\tisInvalid: false\n\t\t};\n\t}\n\n\tpublic static buildconfirmSession(): ModalState \n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: 'Impersonate User',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, iconPath: '', id: ModalButtonId.cancel },\n\t\t\t\t{ label: '', iconPath: '', disabled: false, cssClass: CssClass.btnBlack, id: ModalButtonId.proceed }\n\t\t\t],\n\t\t\tcssClass: ''\n\t\t};\n\t}\n\tpublic static buildUserData(): CustomerData \n\t{\n\t\treturn {\n\t\t\temail: '',\n\t\t\tname: '',\n\t\t\trole: ''\n\t\t};\n\t}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AccordionModule, KngButtonModule, KngCardListModule, KngDialogTooltipModule, KngFilterPanelModule, KngLoaderModule, KngTableLoaderModule, ModalModule } from 'kinetic-angular';\nimport { AnalyticsModule } from '../../services/analytics/analytics.module';\nimport { CustomerSupportComponent } from './customer-support.component';\nimport { CustomerSupportService } from './customer-support.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n\tdeclarations: [CustomerSupportComponent],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tKngLoaderModule,\n\t\tKngButtonModule, \n\t\tAccordionModule, \n\t\tAnalyticsModule,\n\t\tKngFilterPanelModule,\n\t\tKngDialogTooltipModule, \n\t\tKngCardListModule,\n\t\tKngTableLoaderModule, \n\t\tModalModule\n\t],\n\texports: [CustomerSupportComponent],\n\tproviders: [CustomerSupportService]\n})\nexport class CustomerSupportModule { }\n","/* eslint-disable no-comments/disallowComments */\nimport { Injectable } from '@angular/core';\nimport { ApiService } from '../../services/api/api.service';\nimport { CustomerSupportState, CustomerSupportAemLabel, CustomerUserRawData } from './definition/customer-support.interface';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { CustomerSupportFactory } from './customer-support.factory';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { Router } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { AemApiService } from '../../services/api/api.aem.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CustomerSupportService \n{\n\tpublic state$: BehaviorSubject = new BehaviorSubject(CustomerSupportFactory.build());\n\tconstructor(private readonly apiService: ApiService, private readonly aemApiService:AemApiService, public localStorageService: LocalStorageService, private readonly router: Router, public sharedUtilService: SharedUtilService ) { }\n\tconfirmSession = CustomerSupportFactory.buildconfirmSession();\n\tuserData = CustomerSupportFactory.buildUserData();\n\tget state(): CustomerSupportState \n\t{\n\t\treturn this.state$.value;\n\t}\n\n\tpublic updateState(value: CustomerSupportState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tpublic getCustomerSupportState(): void \n\t{\n\t\tthis.state.loading= false;\n\t\tconst customerLabel = this.localStorageService.getCustomerAemLabels();\n\t\tif(customerLabel !== null && customerLabel !== undefined)\n\t\t{\n\t\t\tconst labels: CustomerSupportAemLabel = JSON.parse(customerLabel);\n\t\t\tthis.mapCustomerSupportState(labels);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.apiService.getCustomerSupportLabels().subscribe({\n\t\t\t\tnext: (response: ApiResponse) => \n\t\t\t\t{\n\t\t\t\t\tif (response) \n\t\t\t\t\t{\n\t\t\t\t\t\tconst responseObj = response.data;\n\t\t\t\t\t\tthis.localStorageService.setCustomerAemLabels(JSON.stringify(responseObj));\n\t\t\t\t\t\tthis.mapCustomerSupportState(responseObj);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: () => \n\t\t\t\t{\n\t\t\t\t\tthis.state.loading = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tmapCustomerSupportState(res: CustomerSupportAemLabel): void\n\t{\n\t\tthis.state.pageHeading= res.pageHeading;\n\t\tthis.state.startCTA.label = res.startCTA;\n\t\tthis.state.title= res.title;\n\t\tthis.state.email= res.email;\n\t\tthis.state.startSession= res.startSession;\n\t\tthis.state.description= res.description;\n\t\tthis.state.modalNote= res.modalNote;\n\t\tthis.state.loading= false;\n\t\tthis.confirmSession.label = res.pageHeading;\n\t}\n\n\tstartImpersonationSession(email: string, inboudUrl: boolean = false)\n\t{\n\t\tconst payload = { email: email };\n\t\tthis.apiService.startImpersonationSession(payload).subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tconst responseObj = res.data;\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.localStorageService.setImpersonateUser(JSON.stringify(responseObj));\n\t\t\t\tthis.localStorageService.setCustomerToDashboard('true');\n\t\t\t\tthis.sharedUtilService.isCustomerSupportSession$.next(true);\n\t\t\t\tif(inboudUrl)\n\t\t\t\t{\n\t\t\t\t\tconst url = localStorage.getItem('inboudUrl');\n\t\t\t\t\tthis.router.navigate([url]);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.router.navigate(['/app/dashboard']);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) => \n\t\t\t{\n\t\t\t\tthis.state.isInvalid = true;\n\t\t\t\tthis.state.emailErrorMessage = error.error.message;\n\t\t\t\tthis.state.loading = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tvalidateImpersonationSession(email: string)\n\t{\n\t\tconst payload = { email: email };\n\t\tthis.state.loading = true;\n\t\tthis.apiService.getValidImpersonateUserDetails(payload).subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tconst responseObj = res.data;\n\t\t\t\tthis.userData.email = responseObj.email;\n\t\t\t\tthis.userData.name = responseObj.name;\n\t\t\t\tthis.userData.role = responseObj.roleName;\n\t\t\t\tthis.confirmSession.hidden = false;\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.localStorageService.setUserName(responseObj.name);\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) => \n\t\t\t{\n\t\t\t\tthis.state.isInvalid = true;\n\t\t\t\tthis.state.emailErrorMessage = error.error.message;\n\t\t\t\tthis.confirmSession.hidden = true;\n\t\t\t\tthis.state.loading = false;\n\t\t\t}\n\t\t});\n\t}\n}\n","\nexport * from './invite-users.component';\nexport * from './invite-users.module';\n\n","import { Component, ViewChild, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { KngButtonState } from 'kinetic-angular';\nimport { KngUploadFileComponent, ErrorMessageHeading, ErrorMessageSubHeading } from 'projects/kinetic-angular/src/lib/components';\nimport { InviteUsersService } from './invite-users.service';\nimport { InviteUserState } from './definitions';\nimport { ApplicationPath } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { Router } from '@angular/router';\nimport { uploadLimitText, uploadLimit } from '../../services/shared/shared-constants';\nimport * as XLSX from 'xlsx';\n\n@Component({\n\tselector: 'tmhna-portal-invite-users',\n\ttemplateUrl: './invite-users.component.html',\n\tstyleUrls: ['./invite-users.component.scss']\n})\n\nexport class InviteUsersComponent implements OnInit\n{\t\n\t\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tfileToUpload: File | any = null;\n\t@Input() isBulkUsers: boolean = false;\n\t@ViewChild(KngUploadFileComponent, { static: false }) fileUploadComponent: | KngUploadFileComponent | undefined;\n\tfileUploadLoader!: boolean;\n\tuploadLimitText:string = uploadLimitText;\n\tuploadLimit:string = uploadLimit;\n\t@Output() setIsDirty: EventEmitter = new EventEmitter();\n\t@Input() set state(value: InviteUserState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): InviteUserState\n\t{\n\t\treturn this.service.state;\n\t}\n\tget downloadButtonState(): KngButtonState \n\t{\n\t\treturn this.service.downloadButtonState;\n\t}\n\tget sendInviteButtonState(): KngButtonState \n\t{\n\t\treturn this.service.sendInviteButtonState;\n\t}\n\tget linkButtonState():KngButtonState\n\t{\n\t\treturn this.service.linkButtonState;\n\t}\n\tget submitButtonState(): KngButtonState \n\t{\n\t\treturn this.service.submitButtonState;\n\t}\n\tget cancelButtonState(): KngButtonState \n\t{\n\t\treturn this.service.cancelButtonState;\n\t}\n\tconstructor(public service: InviteUsersService, private readonly sharedService:SharedService, private readonly router: Router) \n\t{}\n\t\n\tngOnInit(): void \n \t{\n\t\tthis.service.submitButtonState.disabled = true;\n\t\tthis.service.sendInviteButtonState.disabled = true;\n\t\t\n \tthis.service.getInviteUsersLabelState(this.isBulkUsers);\n\t\tthis.service.castFileUploadStatus.subscribe((fileUploadStatus : string) => \n\t\t{\n\t\t\tif(fileUploadStatus !== '' || fileUploadStatus !== undefined) \n\t\t\t{\n\t\t\t\tthis.replaceFileEventEmitter();\n\t\t\t\tthis.fileUploadLoader = false;\n\t\t\t}\n\t\t});\n\t\tthis.resetUploadForm();\n\t}\n\tresetUploadForm()\n\t{\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t\tthis.state.responseMessage = '';\n\t\tthis.service.submitButtonState.disabled = true;\n\t\tthis.state.messageTitle = '';\n\t\tthis.state.messageDescription = '';\n\t\tthis.state.link.downloadButton = '';\n\t}\n\n\tdownloadLocationTemplate()\n\t{\n\t\tthis.service.getInviteUserLocationDownload(this.isBulkUsers);\n\t}\n\tlinkDownloadTemplate()\n\t{\t\n\t\tthis.service.linkXLXSDownload(this.isBulkUsers);\n\t}\n\tsubmitLocationTemplate()\n\t{\n\t\tthis.fileUploadLoader = true;\n\t\tthis.service.getInviteUserSubmitButton(this.fileToUpload, this.isBulkUsers);\n\t}\n\tuploadFileServerValidation(item: File)\n\t{\t\n\t\tthis.service.checkServerValidationUploadFile(item, this.isBulkUsers);\n\t}\n\treplaceFileEventEmitter()\n\t{\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\tfileValidationCheck(item: File)\n\t{\n\t\tconst fileNameArr = item.name.split('.');\n \tconst extension = fileNameArr.pop();\n\t\tthis.setIsDirty.emit(true);\n \tconst fileName = fileNameArr.join('.');\n\t\tif(fileNameArr.length !== 1 || fileName.trim().length === 0 || fileName.includes('/') || /\\\\/.exec(fileName) || extension !=='xlsx') \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.wrongFormat;\n\t\t\tthis.service.sendInviteButtonState.disabled = true;\n\t\t\tthis.service.submitButtonState.disabled = true;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.checkOtherFileValidation(item);\n\t\t}\n\t}\n\tcheckOtherFileValidation(item: File)\n\t{\n\t\tconst fileSize = Math.round((item.size / 1024));\n\t\tvar file = item;\n\t\tvar reader = new FileReader();\n\t\treader.onload = (e) => \n\t\t{\n\t\t\tthis.service.uploadFileState.fileUploadLoader = true;\n\t\t\tconst target = e.target as FileReader;\n\t\t\tconst data = new Uint8Array(target.result as ArrayBuffer || []);\n\t\t\tconst workbook = XLSX.read(data, { type: 'array' });\n\t\t\tconst firstSheetName = workbook.SheetNames[0];\n\t\t\tconst worksheet = workbook.Sheets[firstSheetName];\n\t\t\tconst jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }) as unknown[][];\n\n\t\t\tif (jsonData.length === 0 || (jsonData.length === 1 && jsonData[0].length === 0)) \n\t\t\t{\n\t\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.emptyFile;\n\t\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.emptyFile;\n\t\t\t\tthis.emptyUploadFilesArray();\n\t\t\t\tthis.service.submitButtonState.disabled = true;\n\t\t\t\tthis.service.sendInviteButtonState.disabled = true;\n\t\t\t\tthis.service.uploadFileState.fileUploadLoader = false;\n\t\t\t\treturn;\n\t\t\t} \n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.service.uploadFileState.fileUploadLoader = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\t\treader.readAsArrayBuffer(file);\n\t\tif(fileSize > 102400) \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.sizeExceed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.incorrectSize;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t\tthis.service.submitButtonState.disabled = true;\n\t\t\tthis.service.sendInviteButtonState.disabled = true;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif(this.fileUploadComponent)\n\t\t\t\tthis.fileUploadComponent.files[0] = item;\n\t\t\tthis.service.submitButtonState.disabled = false;\n\t\t\tthis.service.sendInviteButtonState.disabled = false;\n\t\t\tthis.service.uploadFileState.isSuccessClient = true;\n\t\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\t\tthis.fileToUpload = this.fileUploadComponent?.files[0];\n\t\t}\n\t}\n\temptyUploadFilesArray()\n\t{\n\t\tthis.service.uploadFileState.isError = true;\n\t\tthis.service.uploadFileState.isSuccessClient = false;\n\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\tgoBackToUserManagement(): void \n\t{\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.userManagement);\n\t}\n}\n\n","
\n
\n
\n

\n {{ !isBulkUsers ? state.pageHeading : state.bulkInvite }}\n

\n
\n\n
\n
{{state.description}} {{state.externalLink.label}}
\n
\n \n \n
\n
\n
\n
{{state.messageTitle}}
\n
{{state.messageDescription}}
\n {{state.link.downloadButton}}\n
\n\n \n\n
\n
\n

{{uploadLimit}}\n {{uploadLimitText}}\n

\n
\n\n
\n \n
\n \n
\n \n \n
\n
\n\n
\n
","// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const InviteUserConfig = {\n\tmessages: {\n\t\tpartialSuccess: 'Your bulk invite is partially successful',\n\t\tcompleteSuccess: 'Invite sent successfully.',\n\t\tfailure: 'Invites could not be sent for review.',\n\t\tdownloadReport: 'Download Report',\n\t\tpartialSuccessDescription: (successCount: number, res: number, failedCount: number) => \n\t\t\t`${successCount} out of ${res} users have been invited, while ${failedCount} entries had issues. Please review and re-upload the updated file.`,\n\t\tcompleteSuccessDescription: (res: number) => \n\t\t\t`${res} out of ${res} users have been sent for review. Please download the report for details.`,\n\t\tcompleteSuccessDescriptionTMHCorp: (res: number) => \n\t\t\t`${res} out of ${res} users have been invited as per provided. Please download the report for details.`,\n\t\tfailureDescription: 'Invites were not sent due to some errors. Please review and re-upload the updated file.',\n\t\ttoasterSuccessMsg: 'Bulk user invite sent successfully.',\n\t\ttoasterPartialMsg: 'Some invitations failed',\n\t\ttoasterFailMsg: 'User Invite failed',\n\t\tTMHCorpFailure: 'Your bulk user invite has failed',\n\t\tTMHCorpNote: 'Invites failed due to some errors. Please review and re-upload the updated file.'\n\n\t}\n};\n","import { InviteUserState } from './definitions';\nexport class InviteUsersFactory \n{\n\tpublic static build(): InviteUserState \n\t{\n\t\treturn {\n\t\t\tpageHeading: '',\n\t\t\tbulkInvite: '',\n\t\t\tdescription: '',\n\t\t\tdownloadReport: '',\n\t\t\tdownload:\n\t\t\t{\n\t\t\t\tdownloadButton: '',\n\t\t\t\terrorMessage: ''\n\t\t\t},\n\t\t\tsendInvite:\n\t\t\t{\n\t\t\t\tdownloadButton: '',\n\t\t\t\terrorMessage: ''\n\t\t\t},\n\t\t\tcancel: '',\n\t\t\texternalLink: {\n\t\t\t\tlabel: '',\n\t\t\t\turl: ''\n\t\t\t},\n\t\t\tsubmit:\n\t\t\t{\n\t\t\t\tdownloadButton: '',\n\t\t\t\terrorMessage: ''\n\t\t\t},\n\t\t\tlink:\n\t\t\t{\n\t\t\t\tdownloadButton: '',\n\t\t\t\terrorMessage: ''\n\t\t\t},\n\t\t\tmessageDescription: '',\n\t\t\tmessageTitle: '',\n\t\t\tuploadFile: {\n\t\t\t\tonLoadIcon: { iconPath: '', altText: '' },\n\t\t\t\terrorIcon: { iconPath: '', altText: '' },\n\t\t\t\tsuccessIcon: { iconPath: '', altText: '' },\n\t\t\t\tdragDropLabel: '',\n\t\t\t\tprogressLabel: '',\n\t\t\t\torLabel: '',\n\t\t\t\tuploadButtons: {\n\t\t\t\t\tchooseFile: ''\n\t\t\t\t},\n\t\t\t\tsuccess: {\n\t\t\t\t\tinviteSuccess: '',\n\t\t\t\t\tbulkMessage: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tresponseMessage: ''\n\t\t};\n\t}\n}\n\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InviteUsersComponent } from './invite-users.component';\nimport { KngLoaderModule, ModalModule, KngButtonModule } from 'kinetic-angular';\nimport { KngUploadFileModule } from 'projects/kinetic-angular/src/lib/components/upload-file';\nimport { ToastrModule } from 'ngx-toastr';\nimport { InviteUsersService } from './invite-users.service';\nimport { CommonModule } from '@angular/common';\n@NgModule({\n\tdeclarations: [\n\t\tInviteUsersComponent\n\t],\n\timports: [ \n\t\tCommonModule,\n\t\tFormsModule,\n\t\tKngButtonModule,\n\t\tReactiveFormsModule,\n\t\tModalModule,\n\t\tKngLoaderModule,\n\t\tKngUploadFileModule,\n\t\tToastrModule.forRoot({\n\t\t\ttimeOut: 3000,\n\t\t\tpositionClass: 'toast-top-right',\n\t\t\ttoastClass: 'kng-toast toast-container ngx-toastr',\n\t\t\tenableHtml: true,\n\t\t\tcloseButton: true,\n\t\t\ttapToDismiss: true,\n\t\t\tpreventDuplicates: true\n\t\t})\n\t],\n\texports: [\n\t\tInviteUsersComponent\n\t],\n\tproviders: [\n\t\tInviteUsersService\n\t]\n})\nexport class InviteUserModule {}\n","/* eslint-disable quote-props */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ButtonPosition, ButtonSize, ButtonStyle, FileName, Icons } from '../../services/shared/shared-enums';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { ErrorMessageHeading, ErrorMessageSubHeading } from 'projects/kinetic-angular/src/lib/components';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { KngUploadFileFactory, KngUploadFileState } from 'projects/kinetic-angular/src/lib/components/upload-file';\nimport { ApiService } from '../../services/api/api.service';\nimport { InviteUserState, UploadFile, UserData } from './definitions';\nimport { InviteUserConfig } from '../invite-users/invite-users.config';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { InviteUsersFactory } from './invite-users.factory';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class InviteUsersService\n{\n\tstate$: BehaviorSubject = new BehaviorSubject(InviteUsersFactory.build());\n\tuploadFileState: KngUploadFileState = KngUploadFileFactory.build();\n\n\tgetFileUploadStatus = new BehaviorSubject('');\n\tcastFileUploadStatus = this.getFileUploadStatus.asObservable();\n\n\tisUploadSuccess: boolean = false;\n\tdownloadTemplateError: boolean = false;\n\n\tfailedCount = 0;\n\ttotalCount = 0;\n\tsubmitButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.primary, '', false, { altText: '', iconPath: '' }, ButtonPosition.right);\n\tsendInviteButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.primary, '', false, { altText: '', iconPath: '' }, ButtonPosition.right);\n\tcancelButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.secondary, '', false, { altText: '', iconPath: '' }, ButtonPosition.left);\n\tdownloadButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.secondary, '', false, { altText: '', iconPath: '' }, ButtonPosition.right);\n\tlinkButtonState= this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.link, '', false, { altText: '', iconPath: '' }, ButtonPosition.left);\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tsubmitResponse: any;\n\tconstructor(public apiService: ApiService, private readonly toaster: ToastrService, private readonly sharedUtilService: SharedUtilService, public sharedService: SharedService) { }\n\n\tget state(): InviteUserState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tpublic updateState(value: InviteUserState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\tpublic getInviteUsersLabelState(isBulkUser:boolean = false): void\n\t{\n\t\tthis.apiService.getInviteUsersAemLabels().subscribe((res) =>\n\t\t{\n\t\t\tif (res)\n\t\t\t{\n\t\t\t\tthis.state.pageHeading = res.pageHeading;\n\t\t\t\tthis.state.bulkInvite = res.bulkInvite;\n\t\t\t\tthis.state.description = res.description;\n\t\t\t\tthis.state.downloadReport = res.downloadReport;\n\t\t\t\tthis.submitButtonState.label =this.sharedService.nullValueHandler(res.submit.downloadButton);\n\t\t\t\tthis.sendInviteButtonState.label =this.sharedService.nullValueHandler(res.sendInvite.downloadButton);\n\t\t\t\tthis.cancelButtonState.label =this.sharedService.nullValueHandler(res.cancel);\n\t\t\t\tthis.downloadButtonState.label =this.sharedService.nullValueHandler(res.download.downloadButton);\n\t\t\t\tthis.mapUploadFilePopup(res.uploadFile, this.uploadFileState);\n\t\t\t\tthis.state.uploadFile.uploadButtons.chooseFile=res.uploadFile.uploadButtons.chooseFile;\n\t\t\t\tthis.state.uploadFile.success.bulkMessage=res.uploadFile.success.bulkMessage;\n\t\t\t\tthis.state.uploadFile.success.inviteSuccess=res.uploadFile.success.inviteSuccess;\n\t\t\t\tthis.state.externalLink.label = this.sharedService.nullValueHandler(res.externalLink.label);\n\t\t\t\tthis.state.externalLink.url = !isBulkUser ? this.sharedService.nullValueHandler(res.externalLink.url) : this.sharedService.nullValueHandler(res.externalLink.userUrl ?? '');\n\t\t\t}\n\t\t});\n\t}\n\tgetFileStatus(newUser: string)\n\t{\n\t\tthis.getFileUploadStatus.next(newUser);\n\t\tthis.uploadFileState.fileUploadLoader = false;\n\t}\n\tcheckServerValidationUploadFile(item: File, isBulkUsers: boolean)\n\t{\n\t\tthis.uploadFileState.isLoading = true;\n\t\tthis.downloadButtonState.disabled = true;\n\t\tconst ele = document.getElementById('kng-modal-close');\n\t\tif (ele)\n\t\t\tele.setAttribute('disabled', 'true');\n\t\tthis.apiService.getInviteUserSubmit(item, isBulkUsers).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t\tthis.isUploadSuccess = true;\n\t\t\t\t\tthis.uploadFileState.isError = false;\n\t\t\t\t\tthis.uploadFileState.isSuccessClient = true;\n\t\t\t\t\tthis.uploadFileState.isSuccessServer = true;\n\t\t\t\t\tif (ele)\n\t\t\t\t\t\tele.removeAttribute('disabled');\n\t\t\t\t\tthis.downloadButtonState.disabled = false;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void =>\n\t\t\t{\n\t\t\t\tthis.handleUploadLocationError(ele, error);\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t\tthis.isUploadSuccess = true;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\thandleUploadLocationError(ele: HTMLElement | null, error: HttpErrorResponse)\n\t{\n\t\tthis.uploadFileState.isLoading = false;\n\t\tthis.isUploadSuccess = false;\n\t\tthis.uploadFileState.isError = true;\n\t\tthis.uploadFileState.isSuccessClient = true;\n\t\tthis.uploadFileState.isSuccessServer = false;\n\t\tif (ele)\n\t\t\tele.removeAttribute('disabled');\n\t\tthis.downloadButtonState.disabled = false;\n\t\tif (error.error.statusCode === 400)\n\t\t{\n\t\t\tthis.uploadFileState.isSuccessClient = false;\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.templateMismatch;\n\t\t}\n\t\telse if (error.error.statusCode === 403 || 500)\n\t\t{\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.apiError;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = error.error.message;\n\t\t}\n\t}\n\tgetInviteUserLocationDownload(bulkUser: boolean)\n\t{\n\t\tthis.downloadButtonState.disabled = true;\n\t\tthis.apiService.getInviteUserLocationDownload(bulkUser).subscribe({\n\t\t\tnext: (res) =>\n\t\t\t{\n\t\t\t\tthis.sharedService.downloadExcel(FileName.inviteUserTemplate, res);\n\t\t\t\tthis.downloadButtonState.disabled = false;\n\t\t\t\tthis.downloadTemplateError = false;\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.downloadTemplateError = true;\n\t\t\t\treturn error;\n\t\t\t}\n\t\t});\n\t}\n\tgetInviteUserSubmitButton(item: File, isBulkUsers: boolean)\n\t{\n\t\tthis.submitButtonState.disabled = true;\n\t\tthis.sendInviteButtonState.disabled = true;\n\t\tthis.uploadFileState.fileUploadLoader = true;\n\t\tthis.state.responseMessage = '';\n\t\tthis.state.messageTitle = '';\n\t\tthis.state.messageDescription = '';\n\t\tthis.state.link.downloadButton = '';\n\t\tthis.apiService.getInviteUserSubmit(item, isBulkUsers).subscribe({\n\t\t\t// eslint-disable-next-line complexity\n\t\t\tnext: (res : ApiResponse) => \n\t\t\t{ \n\t\t\t\tthis.submitResponse= res.data; \n\t\t\t\tif(isBulkUsers){ this.submitResponse.data = res.data; }\n\t\t\t\tthis.state.responseMessage = res.message;\n\t\t\t\tthis.totalCount = this.submitResponse.data.length;\n\t\t\t\tthis.failedCount = 0;\n\t\t\t\tconst successCount:number = this.findCountDetails(this.submitResponse.data, isBulkUsers);\n\t\t\t\tif(this.totalCount > 0 && res.statusCode === 206)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.partialSuccessDescription(successCount, this.totalCount, this.failedCount);\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.partialSuccess;\n\t\t\t\t\tthis.toaster.warning(InviteUserConfig.messages.toasterPartialMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!isBulkUsers && this.totalCount > 0 && res.statusCode === 407)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.partialSuccessDescription(successCount, this.totalCount, this.failedCount);\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.partialSuccess;\n\t\t\t\t\tthis.toaster.warning(InviteUserConfig.messages.toasterPartialMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if(isBulkUsers && this.totalCount > 0 && res.statusCode === 200)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.completeSuccessDescription(successCount);\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.completeSuccess;\n\t\t\t\t\tthis.toaster.success(InviteUserConfig.messages.toasterSuccessMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if(!isBulkUsers && this.totalCount > 0 && res.statusCode === 200)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.completeSuccessDescriptionTMHCorp(successCount);\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.completeSuccess;\n\t\t\t\t\tthis.toaster.success(InviteUserConfig.messages.toasterSuccessMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if(!isBulkUsers)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.TMHCorpNote;\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.TMHCorpFailure;\n\t\t\t\t\tthis.toaster.error(InviteUserConfig.messages.toasterFailMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t}\n\t\t\t\telse if(res.statusCode === 207)\n\t\t\t\t{\n\t\t\t\t\tthis.state.link.downloadButton = InviteUserConfig.messages.downloadReport;\n\t\t\t\t\tthis.state.messageDescription = InviteUserConfig.messages.failureDescription;\n\t\t\t\t\tthis.state.messageTitle = InviteUserConfig.messages.failure;\n\t\t\t\t\tthis.toaster.error(InviteUserConfig.messages.toasterFailMsg, '', {\n\t\t\t\t\t\ttimeOut: 3000\n\t\t\t\t\t});\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t}\n\t\t\t\tthis.getFileStatus(this.state.responseMessage);\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.downloadTemplateError = true;\n\t\t\t\tthis.toaster.error(error.error.message, '', {\n\t\t\t\t\ttimeOut: 3000\n\t\t\t\t});\n\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\tthis.getFileStatus(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tfindCountDetails(response: any, isBulkUsers: boolean)\n\t{\n\t\tfor(let i = 0; i< response.length; i++)\n\t\t{\n\t\t\tif(!response[i].success && !isBulkUsers)\n\t\t\t{\n\t\t\t\tthis.failedCount += 1;\n\t\t\t}\n\t\t\telse if(!response[i].isValid && isBulkUsers)\n\t\t\t{\n\t\t\t\tthis.failedCount += 1;\n\t\t\t}\n\t\t}\n\t\treturn (response.length - this.failedCount);\n\t}\n\tmapUploadFilePopup(data: UploadFile, uploadFileState: KngUploadFileState)\n\t{\n\t\tuploadFileState.dragDropSection = data.dragDropLabel;\n\t\tuploadFileState.or = data.orLabel;\n\t\tuploadFileState.uploadButtons.chooseFile= data.uploadButtons.chooseFile;\n\t\tuploadFileState.errorImage.altText = data.errorIcon.altText;\n\t\tuploadFileState.successImage.altText = data.successIcon.altText;\n\t\tuploadFileState.dragDropImage.altText = data.onLoadIcon.altText;\n\t\tuploadFileState.errorImage.iconPath = Icons.actionRed;\n\t\tuploadFileState.successImage.iconPath = Icons.checkGreen;\n\t\tuploadFileState.dragDropImage.iconPath = Icons.dragDropIcon;\n\t\tuploadFileState.fileUploadProgressText = data.progressLabel;\n\t}\n\n\tlinkXLXSDownload(bulkUser: boolean)\n\t{\n\t\tlet processedData = this.submitResponse.data ;\n\t\tif(bulkUser)\n\t\t{\n\t\t\tprocessedData = this.submitResponse.data.map((item: UserData) => ({\n\t\t\t\t...item,\n\t\t\t\terrors: item.errors.join('; '),\n\t\t\t\tlocationID: item.locationID?.join('; ')\n\t\t\t }));\n\t\t}\n\t\telse\n\t\t{\n\t\t\t processedData = this.submitResponse.data.map((item: UserData) => ({\n\t\t\t\t...item,\n\t\t\t\terrors: item.errors.join('; '),\n\t\t\t\troles: item.roles.join('; '),\n\t\t\t\tportalApprovedCustomerID: item.portalApprovedCustomerID.join('; '),\n\t\t\t\tlastLogin: JSON.stringify(new Date(item.lastLogin).toLocaleString()),\n\t\t\t\tportalApproveUserDate: JSON.stringify(new Date(item.portalApproveUserDate).toLocaleString()),\n\t\t\t\ttcDate: JSON.stringify(new Date(item?.tcDate as number).toLocaleString()),\n\t\t\t\tprivacyDate: JSON.stringify(new Date(item?.privacyDate as number).toLocaleString())\n\t\t\t }));\n\t\t}\n\t\t\n\t\tthis.sharedService.downloadTableData(FileName.inviteUserTemplate, processedData, bulkUser ? 'bulk' : 'individual');\n\t }\n\n}\n","export * from './main-entry.interface';\n","import { KngButtonState, KngFooterState } from 'kinetic-angular';\nimport { Image } from 'projects/kinetic-angular/src/lib/shared/shared.interface';\n\nexport interface MainEntry {\n state: MainEntryState;\n}\n\nexport interface MainEntryState {\n isLoading: boolean;\n sectionTop: MainEntrySectionTop;\n sectionMiddle: MainEntrySectionMiddle;\n sectionBottom: MainEntrySectionBottom;\n}\n\nexport interface MainEntrySectionTop {\n globalHeader: GlobalHeader[];\n tags: Tag[];\n}\n\nexport interface MainEntrySectionMiddle {\n banner: BannerLabels;\n iconsDeskTopView: IconsDeskTopView[];\n iconsMobileView: IconsMobileView[];\n}\n\nexport interface MainEntrySectionBottom {\n footer: KngFooterState;\n}\n\nexport interface BannerLabels {\n bannerImageDesktopView: Image;\n bannerImageMobileView: Image;\n header: string;\n subText: string;\n bulletPoints: BulletPoint[];\n registerButton: KngButtonState;\n}\nexport interface MainEntryAemLabels {\n globalHeader: GlobalHeader[];\n banner: Banner;\n iconsDeskTopView: IconsDeskTopView[];\n iconsMobileView: IconsMobileView[];\n footer: Footer;\n tags: Tag[];\n}\n\nexport interface Footer {\n ribbonImage: string;\n altText: string;\n footercontent: Footercontent;\n cssClass: string;\n}\n\nexport interface Footercontent {\n fixed: boolean;\n hidden: boolean;\n logoImagePath: string;\n altText: string;\n footermenu: Footermenu[];\n countryLanguage: string;\n countryLanguageOptions: CountryLanguageOptions;\n copyright: Copyright;\n}\n\nexport interface CountryLanguageOptions {\n countryLanguageOptions: CountryLanguageOption[];\n}\n\nexport interface CountryLanguageOption {\n label: string;\n value: string;\n}\n\nexport interface Copyright {\n label: string;\n labelUrl: LabelUrl[];\n}\n\nexport interface LabelUrl {\n label: string;\n url: string;\n}\n\nexport interface Footermenu {\n id: string;\n label: string;\n iconPath: string;\n altText: string;\n labelValue: string[];\n url: string;\n}\n\nexport interface GlobalHeader {\n isSelected: boolean;\n iconPath: string;\n altText: string;\n url: string;\n label: string;\n cssClass: string;\n id: string;\n submenu: string[];\n}\n\nexport interface Banner {\n bannerImageDesktopView: Image;\n bannerImageMobileView: Image;\n header: string;\n subText: string;\n bulletPoints: BulletPoint[];\n registerButton: string;\n}\n\nexport interface BulletPoint {\n id: string;\n label: string;\n}\n\nexport interface IconsDeskTopView {\n icon: Image;\n label: string;\n id: string;\n link: Link;\n}\nexport interface IconsMobileView {\n icon: Image;\n label: string;\n id: string;\n link: Link;\n}\n\nexport interface Link {\n text?: string;\n url?: string;\n icon?: Image;\n}\nexport interface Tag {\n id: string;\n label: string;\n description: string;\n type: string;\n}\n","export * from './definitions';\nexport * from './main-entry.component';\nexport * from './main-entry.factory';\nexport * from './main-entry.module';\nexport * from './main-entry.service';\n","import {\n\tComponent,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tEventEmitter,\n\tOnInit,\n\tHostListener\n} from '@angular/core';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { Subscription } from 'rxjs';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { Icons } from '../../services/shared/shared-enums';\nimport { MainEntry, MainEntryState } from './definitions';\nimport { MainEntryService } from './main-entry.service';\nimport { Router } from '@angular/router';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\n\n@Component({\n\tselector: 'tmhna-portal-main-entry',\n\ttemplateUrl: './template/main-entry.component.html',\n\tstyleUrls: ['./template/main-entry.component.scss']\n})\nexport class MainEntryComponent\nimplements OnDestroy, OnInit, MainEntry\n{\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\tpublic innerWidth: number = window.innerWidth ;\n\n\t@Input() set state(value: MainEntryState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): MainEntryState\n\t{\n\t\treturn this.service.state;\n\t}\n\t\n\t\n\tpublic loaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderOrange\n\t};\n\t@Output() stateChanged: EventEmitter =\n\t\tnew EventEmitter();\n\n\t\n\t@HostListener('window:resize', ['$event'])\n\tonResize() \n\t{\n\t\tthis.innerWidth = window.innerWidth;\n\t}\n\n\tconstructor(private readonly service: MainEntryService, public loggerService: LoggerService, public router: Router, private readonly analyticsService: AnalyticsService) { }\n\n\tngOnInit(): void \n\t{\n\t\tthis.analyticsService.trackRegistrationByEvent({\n \t\tevent: 'pageView',\n \t\tpage: {\n \t\t\tname: 'Landing page'\n \t\t}\n \t}, '');\n\t\tthis.service.getLandingPageAemLabels();\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: MainEntryState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\n\tngOnDestroy(): void\n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\t\n\tpublic loginRegisterEvent() \n\t{\n\t\tthis.analyticsService.trackRegistrationByEvent({\n \t\tevent: 'Register /Login',\n \t\tlink: {\n \t\t\tname: 'Register Button'\n \t\t}\n \t}, '');\n\t\tthis.router.navigate(['auth']);\n\t}\n\n\tpublic navigateToShop() \n\t{\n\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\tevent: 'Shop Now',\n\t\t\tlink: {\n\t\t\t\tname: 'Shop Now'\n\t\t\t}\n\t\t}, '');\n\t}\n}\n","\n\n
\n
\n
\n \"My\n
\n
\n
\n
=767\n ? 'linear-gradient(90deg, rgba(17, 18, 18, 0.80) 46.08%, rgba(17, 18, 18, 0.00) 100.18%),url('+state.sectionMiddle.banner.bannerImageDesktopView.iconPath+')'\n :'url('+state.sectionMiddle.banner.bannerImageMobileView.iconPath+')'\n }\"\n >\n
\n
\n
\n
\n

{{ state.sectionMiddle.banner.header }}

\n
\n
\n

\n
    \n \n
  • {{ bullet.label }}
  • \n
    \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \"My\n
{{state.sectionMiddle.iconsDeskTopView[0].label}}
\n
\n
\n \"Order\n
{{state.sectionMiddle.iconsDeskTopView[1].label}}
\n
\n
\n \"Financing\n
{{state.sectionMiddle.iconsDeskTopView[2].label}}
\n
\n
\n \"My\n
{{state.sectionMiddle.iconsDeskTopView[3].label}}
\n
\n
\n \"My\n
\n
{{state.sectionMiddle.iconsDeskTopView[4].label}}
\n \n
\n
\n
\n
\n \n
\n","import { MainEntryState } from './definitions';\n\nimport { mockLandingPageLabels } from '../../constants/main-entry-data';\n\nexport class MainEntryFactory\n{\n\tpublic static build(): MainEntryState \n\t{\n\t\treturn { ...mockLandingPageLabels };\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MainEntryComponent } from './main-entry.component';\nimport { KngButtonModule, KngFooterModule, KngLoaderModule } from 'kinetic-angular';\nimport { AuthenticationServiceModule } from '../../services/authentication/authentication.module';\nimport { LoggerServiceModule } from '../../services/logger/logger.module';\nimport{ SafeHtmlPipeModule } from '../../../app/pipes/safehtml/safehtml.pipe.module';\n@NgModule({\n\tdeclarations: [MainEntryComponent],\n\timports: [\n\t\tCommonModule,\n\t\tKngButtonModule,\n\t\tKngFooterModule,\n\t\tAuthenticationServiceModule,\n\t\tLoggerServiceModule,\n\t\tKngLoaderModule,\n\t\tSafeHtmlPipeModule\n\t],\n\texports: [MainEntryComponent]\n})\nexport class MainEntryModule {}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MainEntryAemLabels, MainEntryState } from './definitions';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { AemApiService } from '../../services/api/api.aem.service';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { MainEntryFactory } from './main-entry.factory';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { Meta, Title } from '@angular/platform-browser';\n\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class MainEntryService\n{\n\tprivate readonly state$: BehaviorSubject =\n\t\tnew BehaviorSubject(MainEntryFactory.build());\n\n\tconstructor(\n\tprivate readonly aemApiService: AemApiService,\n\tpublic loggerService: LoggerService,\n\tprivate readonly metaService: Meta,\n\tprivate readonly titleService: Title,\n\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t) {}\n\n\taemBaseUrl: string = this.environmentRef.aemBaseUrl;\n\n\tget state(): MainEntryState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tpublic updateState(value: MainEntryState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic getLandingPageAemLabels() \n\t{\n\t\tthis.state.isLoading = true;\n\t\tthis.aemApiService.getLandingPageLabels().subscribe(\n\t\t\t{\n\t\t\t\tnext: (res: ApiResponse) => \n\t\t\t\t{\n\t\t\t\t\tthis.state.isLoading = false;\n\t\t\t\t\tconst landingPageLabels = res.data as MainEntryAemLabels;\n\t\t\t\t\tthis.setSectionTopLabels(landingPageLabels);\n\t\t\t\t\tthis.setSectionMiddleLabels(landingPageLabels);\n\t\t\t\t\tthis.setSectionBottomLabels(landingPageLabels);\n\t\t\t\t\tthis.updateState(this.state);\n\t\t\t\t},\n\t\t\t\terror: () =>\n\t\t\t\t{\n\t\t\t\t\tthis.state.isLoading = false;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic setSectionTopLabels(landingPageLabels: MainEntryAemLabels): void \n\t{\n\t\tthis.state.sectionTop.globalHeader = landingPageLabels.globalHeader;\n\t\tthis.state.sectionTop.tags = landingPageLabels.tags;\n\t\tthis.state.sectionTop.globalHeader[0].iconPath = this.aemBaseUrl + this.state.sectionTop.globalHeader[0].iconPath;\n\t\tthis.state.sectionTop.tags.forEach(el => \n\t\t{\n\t\t\tif(el.type.toLowerCase() === 'title') \n\t\t\t{\n\t\t\t\tthis.titleService.setTitle(el.description);\n\t\t\t}\n\t\t\tif(el.type.toLowerCase() === 'meta') \n\t\t\t{\n\t\t\t\tthis.metaService.addTag({ name: 'description', content: el.description });\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic setSectionMiddleLabels(landingPageLabels: MainEntryAemLabels): void \n\t{\n\t\tthis.state.sectionMiddle.banner.bannerImageDesktopView = landingPageLabels.banner.bannerImageDesktopView;\n\t\tthis.state.sectionMiddle.banner.bannerImageDesktopView.iconPath = this.aemBaseUrl + landingPageLabels.banner.bannerImageDesktopView.iconPath;\n\t\tthis.state.sectionMiddle.banner.bannerImageMobileView = landingPageLabels.banner.bannerImageMobileView;\n\t\tthis.state.sectionMiddle.banner.bannerImageMobileView.iconPath = this.aemBaseUrl + landingPageLabels.banner.bannerImageMobileView.iconPath;\n\t\tthis.state.sectionMiddle.banner.bulletPoints = landingPageLabels.banner.bulletPoints;\n\t\tthis.state.sectionMiddle.banner.header = landingPageLabels.banner.header;\n\t\tthis.state.sectionMiddle.banner.registerButton.label = landingPageLabels.banner.registerButton;\n\t\tthis.state.sectionMiddle.banner.subText = landingPageLabels.banner.subText;\n\t\tthis.state.sectionMiddle.iconsDeskTopView = landingPageLabels.iconsDeskTopView;\n\t\tthis.state.sectionMiddle.iconsMobileView = landingPageLabels.iconsMobileView;\n\t\tthis.state.sectionMiddle.iconsDeskTopView[0].icon.iconPath = this.aemBaseUrl + this.state.sectionMiddle.iconsDeskTopView[0].icon.iconPath;\n\t\tthis.state.sectionMiddle.iconsDeskTopView[1].icon.iconPath = this.aemBaseUrl + this.state.sectionMiddle.iconsDeskTopView[1].icon.iconPath;\n\t\tthis.state.sectionMiddle.iconsDeskTopView[2].icon.iconPath = this.aemBaseUrl + this.state.sectionMiddle.iconsDeskTopView[2].icon.iconPath;\n\t\tthis.state.sectionMiddle.iconsDeskTopView[3].icon.iconPath = this.aemBaseUrl + this.state.sectionMiddle.iconsDeskTopView[3].icon.iconPath;\n\t\tthis.state.sectionMiddle.iconsDeskTopView[4].icon.iconPath = this.aemBaseUrl + this.state.sectionMiddle.iconsDeskTopView[4].icon.iconPath;\n\t}\n\n\tpublic setSectionBottomLabels(landingPageLabels: MainEntryAemLabels): void \n\t{\n\t\tconst footerMenuObj: {\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\ticonPath: string;\n\t\t\taltText: string;\n\t\t\tlabelValue: string[];\n\t\t} = {\n\t\t\tid: '',\n\t\t\tlabel: landingPageLabels.footer.footercontent.countryLanguage,\n\t\t\ticonPath: '',\n\t\t\taltText: '',\n\t\t\tlabelValue: []\n\t\t};\n\t\tlandingPageLabels.footer.ribbonImage = this.aemBaseUrl + landingPageLabels.footer.ribbonImage;\n\t\tlandingPageLabels.footer.footercontent.countryLanguageOptions.countryLanguageOptions.forEach(el=>\n\t\t{\n\t\t\tfooterMenuObj.labelValue.push(el.value);\n\t\t});\n\t\tthis.state.sectionBottom.footer.altText = landingPageLabels.footer.altText;\n\t\tthis.state.sectionBottom.footer.cssClass = landingPageLabels.footer.cssClass;\n\t\tthis.state.sectionBottom.footer.ribbonImage = landingPageLabels.footer.ribbonImage;\n\t\tthis.state.sectionBottom.footer.footercontent.altText = landingPageLabels.footer.footercontent.altText;\n\t\tthis.state.sectionBottom.footer.footercontent.copyright = landingPageLabels.footer.footercontent.copyright;\n\t\tthis.state.sectionBottom.footer.footercontent.fixed = landingPageLabels.footer.footercontent.fixed;\n\t\tthis.state.sectionBottom.footer.footercontent.hidden = landingPageLabels.footer.footercontent.hidden;\n\t\tthis.state.sectionBottom.footer.footercontent.logoImagePath = landingPageLabels.footer.footercontent.logoImagePath;\n\t\tthis.state.sectionBottom.footer.footercontent.footermenu = landingPageLabels.footer.footercontent.footermenu;\n\t\tconst currentUrl = window?.location.href;\n\t\tif(currentUrl.includes('contact-us') )\n\t\t{\n\t\t\tthis.state.sectionBottom.footer.footercontent.footermenu = landingPageLabels.footer.footercontent.footermenu.filter((item) => item.label !== 'Support'); \n\t\t}\n\t\tthis.state.sectionBottom.footer.footercontent.footermenu.push(footerMenuObj);\n\t\tthis.state.sectionBottom.footer.footercontent.logoImagePath = this.aemBaseUrl + this.state.sectionBottom.footer.footercontent.logoImagePath;\n\t\tthis.state.sectionBottom.footer.footercontent.footermenu[0].iconPath = this.aemBaseUrl + this.state.sectionBottom.footer.footercontent.footermenu[0].iconPath;\n\t\tthis.state.sectionBottom.footer.footercontent.footermenu[1].iconPath = this.aemBaseUrl + this.state.sectionBottom.footer.footercontent.footermenu[1].iconPath;\n\t\tthis.state.sectionBottom.footer.footercontent.footermenu[2].iconPath = this.aemBaseUrl + this.state.sectionBottom.footer.footercontent.footermenu[2].iconPath;\n\t}\n}\n","export * from './my-quotes.interface';\n","import { Address, KngButtonState, PageInfo, SortOrder } from 'kinetic-angular';\nimport { FilterData, FilterPanelSection, Image, LocationAddress, NoResultModel, PromoBannerApiResponse } from '../../../services/shared/shared-interface';\n\nexport interface MyQuotes {\n state: MyQuotesState;\n}\nexport interface MyQuotesState {\n sectionTop: MyQuotesSectionTop;\n sectionMiddle: MyQuotesSectionMiddle;\n sectionBottom: MyQuotesSectionBottom;\n}\nexport interface MyQuotesSectionTop {\n heading: string;\n}\nexport interface MyQuotesSectionMiddle {\n heading: string;\n search: {\n placeholder: string;\n icon: Image;\n invalidSearchText:string;\n };\n filter: FilterData;\n filteringPanelSection: FilterPanelSection;\n download: KngButtonState;\n downloadPdfPayload : DownloadPDFPayload;\n invoiceStatusUpdated: boolean;\n gridData:MyQuotesGridListLabel;\n noResult: NoResultModel;\n}\nexport interface DownloadPDFPayload {\n documentURL : string | undefined;\n}\nexport interface MyQuotesSectionBottom {\n sectionPromoBanner : PromoBannerApiResponse;\n}\n\nexport interface MyQuotesLabelState {\n sectionTop: MyQuotesSectionTop;\n sectionMiddle: MyQuotesSectionMiddleLabel;\n sectionBottom: MyQuotesSectionBottomLabel;\n}\nexport interface MyQuotesSectionMiddleLabel {\n heading: string;\n search: {\n placeholder: string;\n icon: Image;\n invalidSearchText: string;\n };\n filter: FilterData;\n filterForm: FilterFormData;\n download: string;\n invalidSearchText: string;\n gridData:MyQuotesGridListLabel;\n noResult: NoResultModel;\n}\nexport interface FilterFormData {\n formLabel: string;\n dateRange: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n values: string[];\n };\n billingAddress: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string;\n };\n clearAllButtonLabel: string;\n applyButtonLabel: string;\n}\nexport interface MyQuotesSectionBottomLabel {\n}\n\nexport interface MyQuotesPayload {\n skip: number;\n limit: number;\n locations: string[];\n sort: QuotesSort;\n searchValue?: string;\n endDate?: number | string;\n startDate?: number | string;\n status?: string[];\n salesProspectAddress?: LocationAddress[];\n}\nexport interface QuotesSort {\n field: string;\n order: SortOrder;\n}\n\nexport enum InvoiceStatusLabel {\n all = 'All',\n quoteinProcess = 'In Process',\n quoteAccepted = 'Accepted',\n readyForReview = 'Ready for Review',\n ordered = 'Ordered',\n expired = 'Expired'\n}\nexport enum InvoiceStatusHeader {\n all = 'all',\n quoteinProcess = 'quoteinProcess',\n quoteAccepted = 'quoteAccepted',\n readyForReview = 'readyForReview',\n ordered = 'ordered',\n expired = 'expired'\n}\nexport interface EquipmentQuoteListResponse {\n records: MyQuotesGridListObj[];\n pageInfo: PageInfo;\n inProcessCount: number;\n acceptedCount: number;\n orderedCount: number;\n expiredCount:number;\n readyForReviewCount:number;\n}\nexport interface MyQuotesGridListObj {\n quoteId: string;\n creationDate: string;\n model: string;\n quantity: string;\n billingAddress: Address;\n status: string;\n dealerContact: string;\n dealership: Dealership;\n orderID?: string;\n accordionIconExpanded?: Image;\n accordionIconCollapsed?: Image;\n documentURL?: string | undefined;\n}\nexport interface Dealership{\n dealerName:string;\n addressLine1: string;\n addressLine2?: string;\n city: string;\n zipCode: string;\n state: string;\n}\nexport enum EquipmentQuoteHeader {\n quoteId = 'Quote #',\n creationDate = 'Date Created',\n model = 'Model',\n quantity = 'Quantity',\n billingAddress = 'Billing Address',\n status = 'Status'\n}\nexport interface MyQuotesGridListLabel {\n quoteId: string;\n creationDate: string;\n model: string;\n quantity: string;\n billingAddress: string;\n status: string;\n dealerContact: string;\n dealership: string;\n orderID: string;\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n}\nexport enum StatusPayload {\n quoteinProcess = 'Quote in Process',\n quoteAccepted = 'Quote Accepted',\n ordered = 'Ordered',\n expired = 'Expired',\n readyForReview = 'Ready for Review'\n}\nexport interface BillingAddressPayload {\n locations: string[];\n searchValue?: string;\n}\nexport interface BillingAddressResponse {\n records: LocationAddress[];\n}\n","/* eslint-disable max-lines */\nimport { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MyQuotesService } from '../my-quotes.service';\nimport { EquipmentQuoteHeader, MyQuotesState, StatusPayload } from '../definitions';\nimport { BehaviorSubject, Subscription, debounceTime, distinctUntilChanged, filter, switchMap } from 'rxjs';\nimport { SharedService } from '../../../services/shared/shared.service';\nimport { Control, ControlType, Cta, CtaClickEvent, DateRange, KngCardListState, KngFilterPanelComponent, KngFilterState, KngHeaderObjState, KngSelectionData, Section, Option } from 'kinetic-angular';\nimport { Address, KeyValuePair, LocationAddress } from '../../../services/shared/shared-interface';\nimport { FilterOptions, Icons, SortOrder, DownloadNote } from '../../../services/shared/shared-enums';\nimport { SharedFilterService } from '../../../services/shared/shared-filter.service';\nimport { DateConverterService } from '../../../services/date-converter/date-converter.service';\nimport { MyQuotesFactory } from '../my-quotes.factory';\nimport { defaultPage } from '../../../services/shared/shared-constants';\nimport { SharedUtilService } from '../../../services/shared/shared-util.service';\nimport { AnalyticsService } from '../../../services/analytics/analytics.service';\nimport { RedirectRoute } from 'projects/kinetic-angular/src/lib/shared/shared.interface';\nimport { MyQuotesUtilService } from '../my-quotes.util.service';\n\n@Component({\n\tselector: 'tmhna-portal-equipment-quotes',\n\ttemplateUrl: './equipment-quotes.component.html',\n\tstyleUrls: ['./equipment-quotes.component.scss']\n})\nexport class EquipmentQuotesComponent implements OnInit, AfterViewInit\n{\n\tcardState!: KngCardListState;\n\tprivate readonly searchText$ = new BehaviorSubject('');\n\tsearched: boolean = false;\n\tcurrentPage = 0;\n\tresetPage: number = 0;\n\toriginalDataLoaded: boolean = false;\n\tpaginated:boolean=false;\n\t@ViewChild(KngFilterPanelComponent, { static: true }) myQuotesFilterComponent: | KngFilterPanelComponent | undefined;\n\tselectedFilterObj: KeyValuePair[] = [{ key: FilterOptions.dateRange, value: DateRange.lastSixtyDays, id: '',\tdisabled: true }];\n\tdefaultFilter: boolean = true;\n\ttoDate: number = 0;\n\tfromDate: number = 0;\n\tselectedStatusFilter: string = '';\n\taddressSelected: LocationAddress[] = [];\n\tprivate readonly subscriptions$: Subscription = new Subscription();\n\tbillingAddressKey = FilterOptions.billingAddress;\n\tappliedAddressIds: string[] = [];\n\ticons = Icons;\n\tdownloadNote = DownloadNote;\n\tconstructor(public service: MyQuotesService, public sharedService: SharedService, public filterService: SharedFilterService, public dateService: DateConverterService, public sharedUtilService: SharedUtilService,\n\t\tpublic analyticsService:AnalyticsService, private readonly myQuotesUtilService: MyQuotesUtilService) { }\n\n\t@Input() set state(value: MyQuotesState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): MyQuotesState \n\t{\n\t\treturn this.service.state;\n\t}\n\tget isInvalidLength() \n\t{\n\t\treturn this.sharedService.isInvalidLength(this.service.searchData);\n\t}\n\tget filterState(): KngFilterState \n\t{\n\t\treturn this.state.sectionMiddle.filteringPanelSection.filterState;\n\t}\n\tngOnInit(): void \n\t{\n\t\tthis.service.initializePayload();\n\t\tthis.filterState.hidden = true;\n\t\tthis.service.searchData='';\n\t\tthis.service.sortingEvent = this.sharedUtilService.getHeaderObjectState(true, EquipmentQuoteHeader.creationDate, SortOrder.desc);\n\t\tthis.service.myQuotesPayload.sort = this.sharedService.checkTableSort(this.service.sortingEvent, EquipmentQuoteHeader);\n\t\tthis.initializeStructure(0);\n\t}\n\tngAfterViewInit(): void\n\t{\n\t\tif (this.myQuotesFilterComponent)\n\t\t\tthis.getBillingAddress();\n\t\tthis.subscribeSearchText();\n\t}\n\tpublic initializeStructure(page: number): void\n\t{\n\t\tthis.originalDataLoaded = true;\n\t\tthis.service.myQuotesTableStateObject.next(MyQuotesFactory.buildMyQuotetList());\n\t\tthis.sharedUtilService.checkCardState(this.cardState);\n\t\tthis.service.getQuotesTable(page);\n\t\tthis.myQuotesUtilService.getBillingAddress();\n\t}\n\tapplySearch()\n\t{\n\t\tthis.sharedUtilService.checkCardState(this.cardState);\n\t\tthis.searchText$.next(this.service.searchData.trimLeft());\n\t\tthis.searched= true;\n\t}\n\tgetOriginalData() \n\t{\n\t\tthis.resetPage--;\n\t\tthis.searchText$.next('');\n\t\tthis.service.searchData = '';\n\t\tthis.applySearch();\n\t}\n\tpageChanged(page: number)\n\t{\n \tthis.currentPage = page;\n\t\tif(page !== 0)\n\t\t{\n\t\t\tthis.paginated = true;\n\t\t\tthis.initializeStructure(page);\n\t\t}\n\t\telse if(page === 0 && this.paginated)\n\t\t\tthis.initializeStructure(0);\n\t}\n\topenFilter() \n\t{\n\t\tif (this.myQuotesFilterComponent !== undefined)\n\t\t\tthis.state.sectionMiddle.filteringPanelSection.filterState.hidden = false;\n\t}\n\tcloseFilter() \n\t{\n\t\tthis.myQuotesUtilService.updateBillingAddressSection(this.myQuotesUtilService.billingAddressFilterControls, this.appliedAddressIds);\n\t\tthis.getCountOfFilterPanel(this.filterState.filterData.sections[1]);\n\t\tthis.filterState.filterData.sections[0] = this.filterService.setDateFilterCloseFilter(this.selectedFilterObj, this.filterState.filterData.sections[0], this.myQuotesFilterComponent);\n\t}\n\tfilterStateChanged() \n\t{\n\t\tthis.filterState.filterData.ctaList[0].disabled = !this.filterService.filterHasAtLeastOneSelectedControl(this.filterState);\n\t}\n\tfilterApplied(event: CtaClickEvent) \n\t{\n\t\tconst btnIndex = event.state.filterData.ctaList.findIndex((cta: Cta) => cta.label === event.buttonClicked.label);\n\t\tif (btnIndex === 1) \n\t\t{\n\t\t\tthis.resetPage++;\n\t\t\tthis.selectedFilterObj = [];\n\t\t\tthis.updateAddressPayload();\n\t\t\tthis.updateDatePayload(event.state.filterData.sections[0].controls);\n\t\t\tthis.getTableDataAndUpdateState();\n\t\t\tthis.state.sectionMiddle.filteringPanelSection.filterState.hidden = true;\n\t\t\tthis.trackAnalyticsOnApplyFilter();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.resetPage--;\n\t\t\tthis.clearAllFilterPanel();\n\t\t}\n\t}\n\tclearAllFilterPanel()\n\t{\n\t\tlet sections = this.filterState.filterData.sections;\n\t\tsections = this.filterService.clearAllFilterPanel(sections);\n\t\tsections[0] = this.filterService.setDateFilterLabelCheck(sections[0], DateRange.lastSixtyDays);\n\t\tif(this.myQuotesFilterComponent)\n\t\t\tthis.myQuotesFilterComponent.setDefaultToFromDate();\n\t\tthis.service.myQuotesPayload.locations = [];\n\t\tthis.service.myQuotesPayload.salesProspectAddress = [];\n\t\tthis.service.initializeDatePayload();\n\t\tthis.analyticsService.trackByEvent({\n\t\t\tevent: 'Filter Cleared',\n\t\t\tlink: {\n\t\t\t\tname: 'Filter Cleared'\n\t\t\t}\n\t\t});\n\t}\n\tupdateDatePayload(controls: Control[]) \n\t{\n\t\tcontrols.forEach((control: Control) => \n\t\t{\n\t\t\tif (control.type === ControlType.radio && control.options.length > 0) \n\t\t\t{\n\t\t\t\tcontrol.options.forEach((opt) => \n\t\t\t\t{\n\t\t\t\t\tif (opt.checked && opt.checked === true) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.setDefaultCustomDate(opt);\n\t\t\t\t\t\tthis.defaultFilter = false;\n\t\t\t\t\t\tthis.selectedFilterObj = this.filterService.addSelectedFilter(opt.label, FilterOptions.dateRange, this.selectedFilterObj, opt.value);\n\t\t\t\t\t\tconst fromToDate = this.dateService.dateCalculation(this.filterState.filterData.sections[0].controls[0].options, opt.label);\n\t\t\t\t\t\tthis.fromDate = fromToDate[0];\n\t\t\t\t\t\tthis.toDate = fromToDate[1];\n\t\t\t\t\t\tif (opt.label === DateRange.lastSixtyDays && this.selectedFilterObj.length === 1)\n\t\t\t\t\t\t\tthis.defaultFilter = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tif (this.fromDate !== 0) \n\t\t{\n\t\t\tthis.service.myQuotesPayload.endDate = this.toDate;\n\t\t\tthis.service.myQuotesPayload.startDate = this.dateService.getUnixTimeStamp(new Date(this.fromDate));\n\t\t}\n\t}\n\tpublic getCountOfFilterPanel(section: Section): void\n\t{\n\t\tlet control: Control[] = [];\n\t\tif (section.label === FilterOptions.billingAddress)\n\t\t\tcontrol = this.myQuotesUtilService.billingAddressFilterControls;\n\t\tthis.filterState.filterData.sections = this.filterService.getCountOfFilterPanel(control, section.label, this.filterState.filterData.sections, this.myQuotesFilterComponent);\n\t}\n\tremoveFilter(filter: KeyValuePair): void \n\t{\n\t\tthis.removeFilterForDateRange(filter);\n\t\tthis.resetFilterPanel(filter);\n\t\tthis.removeFilterForBillingAddress(filter);\n\t\tthis.getTableDataAndUpdateState();\n\t}\n\tremoveFilterForDateRange(filter: KeyValuePair): void\n\t{\n\t\tif (filter.key === FilterOptions.dateRange) \n\t\t{\n\t\t\tthis.selectedFilterObj.forEach((obj) => \n\t\t\t{\n\t\t\t\tif (obj.key === filter.key) \n\t\t\t\t{\n\t\t\t\t\tobj.value = DateRange.lastSixtyDays;\n\t\t\t\t\tif (this.selectedFilterObj.length === 1)\n\t\t\t\t\t\tthis.defaultFilter = true;\n\t\t\t\t\tthis.filterService.mapSelectedFilter(this.selectedFilterObj);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.service.initializeDatePayload();\n\t\t}\n\t}\n\tremoveFilterForBillingAddress(filter: KeyValuePair): void\n\t{\n\t\tif (filter.key === FilterOptions.billingAddress) \n\t\t{\n\t\t\tthis.selectedFilterObj.forEach((obj) => \n\t\t\t{\n\t\t\t\tif (obj.id === filter.id && filter.id !== undefined)\n\t\t\t\t\tthis.resetBillingAddressFilter(filter.id, filter.key);\n\t\t\t});\n\t\t}\n\t}\n\tresetBillingAddressFilter(id: string, key: string): void \n\t{\n\t\tconst salesProspectAddress = this.addressSelected;\n\t\tlet index = -1;\n\t\tif (salesProspectAddress) \n\t\t{\n\t\t\tthis.defaultFilter = false;\n\t\t\tthis.selectedFilterObj = this.filterService.removeFromSelectedFilter(id, salesProspectAddress, this.selectedFilterObj);\n\t\t\tif (this.selectedFilterObj.length === 1 && this.selectedFilterObj[0].value === DateRange.lastSixtyDays) \n\t\t\t{\n\t\t\t\tthis.defaultFilter = true;\n\t\t\t\tthis.selectedFilterObj[0].disabled = true;\n\t\t\t}\n\t\t\tindex = salesProspectAddress.findIndex(loc => loc.id === id);\n\t\t\tsalesProspectAddress.splice(index, 1);\n\t\t\tthis.state.sectionMiddle.filteringPanelSection.filterState.filterData.sections = this.filterService.removeSearchtextfromInputAfterClear(salesProspectAddress, key, this.state.sectionMiddle.filteringPanelSection.filterState.filterData.sections);\n\t\t\tthis.service.myQuotesPayload.salesProspectAddress = salesProspectAddress;\n\t\t\tthis.service.myQuotesPayload.salesProspectAddress.forEach(loc => delete loc.id);\t\n\n\t\t}\n\t}\n\tresetFilterPanel(filter: KeyValuePair)\n\t{\n\t\tif (filter.key === FilterOptions.dateRange) \n\t\t\tthis.filterState.filterData.sections[0] = this.filterService.setDateFilterLabelCheck(this.filterState.filterData.sections[0], DateRange.lastSixtyDays);\n\t\telse if (filter.key === FilterOptions.billingAddress)\n\t\t\tthis.resetFilterPanelForBillingAddress(filter);\n\t}\n\tresetFilterPanelForBillingAddress(filter: KeyValuePair): void\n\t{\t\t\n\t\tconst control = this.myQuotesUtilService.billingAddressFilterControls;\n\t\tcontrol.forEach((ctl) => \n\t\t{\n\t\t\tif (ctl.id === filter.id && ctl.id) \n\t\t\t{\n\t\t\t\tctl.setValue(false);\n\t\t\t\tthis.getCountOfFilterPanel(this.filterState.filterData.sections[1]);\n\t\t\t}\n\t\t});\n\t\tthis.myQuotesUtilService.billingAddressFilterControls = control;\n\t}\n\tsetDefaultCustomDate(opt: Option)\n\t{\n\t\tif(opt.label !== FilterOptions.customDateRange && this.myQuotesFilterComponent)\n\t\t\tthis.myQuotesFilterComponent.setDefaultToFromDate();\n\t}\n\tremoveAllFilter() \n\t{\n\t\tthis.clearAllFilterPanel();\n\t\tthis.selectedFilterObj = [{ key: FilterOptions.dateRange, value: DateRange.lastSixtyDays, id: '',\tdisabled: true }];\n\t\tthis.defaultFilter = true;\n\t\tthis.getTableDataAndUpdateState();\n\t\tthis.dateService.showHideFromToDate(this.myQuotesFilterComponent);\n\t}\n\tsubscribeSearchText()\n\t{\n\t\tthis.searchText$\n\t\t\t.pipe(debounceTime(500), filter(searchTerm => (searchTerm.replace(/\\s/g, '').trim().length === 0 || searchTerm.replace(/\\s/g, '').trim().length > 3)), distinctUntilChanged(),\n\t\t\t\tswitchMap((val) => \n\t\t\t\t{\n\t\t\t\t\tthis.resetPage++;\n\t\t\t\t\tthis.originalDataLoaded = false;\n\t\t\t\t\tthis.service.myQuotesTableStateObject.next(MyQuotesFactory.buildMyQuotetList());\n\t\t\t\t\tthis.service.myQuotesPayload.searchValue = val.trimLeft();\n\t\t\t\t\tif (this.searched) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.service.getQuotesTable(defaultPage);\n\t\t\t\t\t}\n\t\t\t\t\treturn this.service.myQuotesTableStateObject;\n\t\t\t\t})).subscribe((res) => \n\t\t\t{\n\t\t\t\tthis.cardState = res;\n\t\t\t });\n\t}\n\tcheckSortEvent(event: KngHeaderObjState) \n\t{\n\t\tthis.service.sortingEvent = event;\n\t\tthis.service.myQuotesPayload.sort = this.sharedService.checkTableSort(event, EquipmentQuoteHeader);\n\t\tthis.service.getQuotesTable(this.currentPage);\n\t}\n\tresetPageProperties() \n\t{\n\t\tthis.currentPage = 0;\n\t\tthis.resetPage--;\n\t}\n\tapplyStatusFilterToCount(data: KngSelectionData): void\n\t{\n\t\tthis.resetPageProperties();\n\t\tthis.selectedStatusFilter = this.sharedUtilService.getMyQuotesStatus(data.selectedStatus);\n\t\tthis.service.myQuotesPayload.status = [];\n\t\tif (this.selectedStatusFilter === '')\n\t\t{\n\t\t\tthis.service.myQuotesPayload.status = [ StatusPayload.ordered, StatusPayload.expired, StatusPayload.quoteAccepted, StatusPayload.quoteinProcess, StatusPayload.readyForReview ];\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.service.myQuotesPayload.status?.push(this.selectedStatusFilter);\n\t\t}\n\t\tthis.getTableDataAndUpdateState();\n\t}\n\n\tgetTableDataAndUpdateState()\n\t{\n\t\tthis.service.myQuotesTableStateObject.next(MyQuotesFactory.buildMyQuotetList());\n\t\tthis.service.getQuotesTable(this.currentPage);\n\t\tthis.service.myQuotesTableStateObject.subscribe((res) => \n\t\t{\n\t\t\tthis.cardState = res;\n\t\t});\n\t}\n\tgetBillingAddress(): void\n\t{\n\t\tconst billingAddressFilterControls: Control[] = this.state.sectionMiddle.filteringPanelSection.filterState.filterData.sections[1].controls;\n\t\tconst billingAddressSearchControl: Control = billingAddressFilterControls[0];\n\t\tconst billingAddressSearchSubscription: Subscription =\n\t\t\tbillingAddressSearchControl.valueChanges\n\t\t\t\t.pipe(filter((value: string) => value.length > 2 || billingAddressFilterControls.length > 1),\n\t\t\t\t\tdebounceTime(500),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tswitchMap(async (value: string) => this.myQuotesUtilService.findAssignedBillingAddress(value)))\n\t\t\t\t.subscribe((result: Control[]) => this.filterService.updateFilterPanelOptions(result, billingAddressFilterControls, this.myQuotesFilterComponent, this.filterState));\n\t\tthis.subscriptions$.add(billingAddressSearchSubscription);\n\t}\n\tupdateAddressPayload(): void\n\t{\n\t\tconst selectedBillingAddress: LocationAddress[] = [];\n\t\tthis.addressSelected = [];\n\t\tthis.myQuotesUtilService.billingAddressFilterControls.forEach((control: Control) => \n\t\t{\n\t\t\tif (control.type === ControlType.checkbox && control.value && control.address) \n\t\t\t{\n\t\t\t\tthis.defaultFilter = false;\n\t\t\t\tconst updatedBillingAddress: LocationAddress = {\n\t\t\t\t\taddressLine1: control.address.addressLine1,\n\t\t\t\t\taddressLine2: control.address.addressLine2,\n\t\t\t\t\tcity: control.address.city,\n\t\t\t\t\tstate: control.address.state,\n\t\t\t\t\tcountry: control.address.country ?? '',\n\t\t\t\t\tpostalCode: control.address.zipCode\n\t\t\t\t};\n\t\t\t\tthis.addressSelected.push({\n\t\t\t\t\t...updatedBillingAddress,\n\t\t\t\t\tid: control.id });\n\t\t\t\tselectedBillingAddress.push(updatedBillingAddress);\n\t\t\t\tconst label = this.myQuotesUtilService.formatAddress(control.address as Address);\n\t\t\t\tthis.selectedFilterObj = this.filterService.addSelectedFilter(label, FilterOptions.billingAddress, this.selectedFilterObj, undefined, control.id);\n\t\t\t}\n\t\t});\n\t\tthis.processSelectedAddress(selectedBillingAddress);\n\t}\n\tprocessSelectedAddress(selectedBillingAddress: LocationAddress[]): void\n\t{\n\t\tif (!selectedBillingAddress.length) \t\t\n\t\t\tthis.service.myQuotesPayload.salesProspectAddress = [];\n\t\telse \n\t\t{\n\t\t\tthis.service.myQuotesPayload.salesProspectAddress = selectedBillingAddress;\n\t\t}\n\t}\n\tdownloadQuotePdf(redirectRoute: RedirectRoute)\n\t{\n\t\tif (redirectRoute?.value || redirectRoute?.documentURL) \n\t\t\tthis.service.getdownloadQuotePdf(redirectRoute.documentURL);\n\t}\n\ttrackAnalyticsOnApplyFilter()\n\t{\n\t\tthis.analyticsService.trackByEvent({\n\t\t\tevent: 'MyQuotes Filter Applied',\n\t\t\tlink: { name: 'MyQuotes Filter' },\n\t\t\tfilter: this.selectedFilterObj.map(item => ({\n\t\t\t\tlabel: item.key,\n\t\t\t\tvalue: item.value,\n\t\t\t\ttype: 'MyQuotes Table'\n\t\t\t}))\n\t\t});\n\t}\n\tdownloadMyQuotesTableData()\n\t{\n \tthis.service.downloadMyQuotesData(0);\n\t}\n}\n","
\n
\n
\n
\n \n \n
\n
\n {{ state.sectionMiddle.search.invalidSearchText }}\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \"download   {{state.sectionMiddle.download.label}}\n
\n \n {{ downloadNote.en }}\n \n
\n
\n
\n
\n {{ state.sectionMiddle.filteringPanelSection.selectedFilterLabel}}:\n \n \n \n \n {{ filter.key !== billingAddressKey ? filter.value : filter.value | truncate: 21 }}\n \n \n \n \n
\n
\n
0 && state.sectionMiddle.invoiceStatusUpdated\">\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n Loading... \n
\n
\n","export * from './definitions';\nexport * from './my-quotes.component';\nexport * from './my-quotes.factory';\nexport * from './my-quotes.module';\nexport * from './my-quotes.service';\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { MyQuotes, MyQuotesState } from './definitions';\nimport { MyQuotesService } from './my-quotes.service';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { MyQuotesUtilService } from './my-quotes.util.service';\n\n@Component({\n\tselector: 'tmhna-portal-my-quotes',\n\ttemplateUrl: './template/my-quotes.component.html',\n\tstyleUrls: ['./template/my-quotes.component.scss']\n})\nexport class MyQuotesComponent implements MyQuotes, OnInit \n{\n @Input() set state(value: MyQuotesState) \n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): MyQuotesState \n {\n \treturn this.service.state;\n }\n \n @Output() stateChanged: EventEmitter = new EventEmitter();\n\n constructor( public service: MyQuotesService, private readonly analyticsService: AnalyticsService, public utilService: MyQuotesUtilService) { }\n\n ngOnInit(): void \n {\n \tthis.service.getMyQuotesLabelState();\n \tthis.analyticsService.trackByEvent({\n \t\tevent: 'pageView',\n \t\tpage: {\n \t\t\tname: 'My Quotes'\n \t\t}\n \t});\n }\n \n}\n","
\n
\n
\n

{{ state.sectionTop.heading }}

\n
\n
\n
\n
\n

\n {{ state.sectionMiddle.heading }}\n

\n \n
\n
\n \n
\n
\n \n \n \n
\n
\n","import { FormControl } from '@angular/forms';\nimport { Icons } from '../../services/shared/shared-enums';\nimport { InvoiceStatusHeader, InvoiceStatusLabel, MyQuotesGridListLabel, MyQuotesGridListObj, MyQuotesState } from './definitions';\nimport { Count, KngButtonState, KngCardListState, KngFilterState, KngStatusSelectorState } from 'kinetic-angular';\nimport { SharedFactoryDataService } from '../../services/shared/shared-factory-data.service';\nimport { LocationAddress, PromoBannerData } from '../../services/shared/shared-interface';\nconst subscriptionDesktop : PromoBannerData[] = [];\nconst subscriptionMobile : PromoBannerData[] = [];\nexport class MyQuotesFactory \n{\n\tpublic static build(): MyQuotesState \n\t{\n\t\treturn {\n\t\t\tsectionTop: {\n\t\t\t\theading: ''\n\t\t\t},\n\t\t\tsectionMiddle: {\n\t\t\t\theading: '',\n\t\t\t\tsearch: {\n\t\t\t\t\tplaceholder: '',\n\t\t\t\t\ticon: { iconPath: '', altText: '' },\n\t\t\t\t\tinvalidSearchText: ''\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\tfilterIcon: { iconPath: '', altText: '' },\n\t\t\t\t\tfilterText: '',\n\t\t\t\t\tclearAll: '',\n\t\t\t\t\tselectedFilters: ''\n\t\t\t\t},\n\t\t\t\tfilteringPanelSection: {\n\t\t\t\t\tfilterIcon: Icons.filter,\n\t\t\t\t\tfilterIconAltText: '',\n\t\t\t\t\tfilterLabel: '',\n\t\t\t\t\tselectedFilterLabel: '',\n\t\t\t\t\tfilterState: this.buildSectionMiddleFilter(),\n\t\t\t\t\tsearchController: {\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\ticon: '',\n\t\t\t\t\t\tformControl: new FormControl()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdownload: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'tertiary',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\ticonPath: ''\n\t\t\t\t\t},\n\t\t\t\t\tposition: 'none'\n\t\t\t\t} as KngButtonState,\n\t\t\t\tdownloadPdfPayload: {\n\t\t\t\t\tdocumentURL: ''\n\t\t\t\t},\n\t\t\t\tinvoiceStatusUpdated: true,\n\n\t\t\t\tgridData: {\n\t\t\t\t\tquoteId: '',\n\t\t\t\t\tcreationDate: '',\n\t\t\t\t\tmodel: '',\n\t\t\t\t\tquantity: '',\n\t\t\t\t\tbillingAddress: '',\n\t\t\t\t\tstatus: '',\n\t\t\t\t\tdealerContact: '',\n\t\t\t\t\tdealership: '',\n\t\t\t\t\torderID: '',\n\t\t\t\t\taccordionIconExpanded: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: 'invoice $token details'\n\t\t\t\t\t},\n\t\t\t\t\taccordionIconCollapsed: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: 'invoice $token details'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tnoResult: {\n\t\t\t\t\tnoResultFoundText: '',\n\t\t\t\t\tnoResultFoundSubText: '',\n\t\t\t\t\tnoResultFoundTableIcon: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tsectionBottom: {\n\t\t\t\tsectionPromoBanner: {\n\t\t\t\t\tdisplaySubscription: true,\n\t\t\t\t\tsubscriptionBanner:\n\t\t\t\t\t{\n\t\t\t\t\t\t subscriptionsDesktop: subscriptionDesktop, subscriptionsMobile: subscriptionMobile \n\t\t\t\t\t}\n\t\t\t }\n\t\t\t}\t\t\n\t\t};\n\t}\n\tprivate static buildSectionMiddleFilter(): KngFilterState \n\t{\n\t\treturn SharedFactoryDataService.getKngFilterState('input');\n\t}\n\tpublic static buildInvoiceStatusCount(): KngStatusSelectorState\n\t{\n\t\treturn {\n\t\t\theader: 'Status',\n\t\t\tselectedStatus: 'all',\n\t\t\tcount: this.buildCount()\n\t\t};\n\t}\n\tpublic static buildCount(): Count[] \n\t{\n\t\treturn [{\n\t\t\theader: InvoiceStatusHeader.all,\n\t\t\tlabel: InvoiceStatusLabel.all,\n\t\t\tamount: 0\n\t\t},\n\t\t{\n\t\t\theader: InvoiceStatusHeader.readyForReview,\n\t\t\tlabel: InvoiceStatusLabel.readyForReview,\n\t\t\tamount: 0\n\t\t},\n\t\t{\n\t\t\theader: InvoiceStatusHeader.quoteinProcess,\n\t\t\tlabel: InvoiceStatusLabel.quoteinProcess,\n\t\t\tamount: 0\n\t\t},\n\t\t{\n\t\t\theader: InvoiceStatusHeader.quoteAccepted,\n\t\t\tlabel: InvoiceStatusLabel.quoteAccepted,\n\t\t\tamount: 0\n\t\t},\n\t\t{\n\t\t\theader: InvoiceStatusHeader.ordered,\n\t\t\tlabel: InvoiceStatusLabel.ordered,\n\t\t\tamount: 0\n\t\t},\n\t\t{\n\t\t\theader: InvoiceStatusHeader.expired,\n\t\t\tlabel: InvoiceStatusLabel.expired,\n\t\t\tamount: 0\n\t\t}];\n\t}\n\tpublic static myQuoteTabelData():MyQuotesGridListObj\n\t{\n\t\treturn {\n\t\t\tquoteId: '', \n\t\t\tcreationDate: '',\n\t\t\tmodel: '', \n\t\t\tquantity: '', \n\t\t\tbillingAddress: { \n\t\t\t addressLine1: '',\n\t\t\t addressLine2: '',\n\t\t\t city: '',\n\t\t\t zipCode: '',\n\t\t\t state: ''\n\t\t\t},\n\t\t\tstatus: '', \n\t\t\tdealerContact: '',\n\t\t\tdealership: { \n\t\t\t dealerName: '',\n\t\t\t addressLine1: '',\n\t\t\t city: '',\n\t\t\t zipCode: '',\n\t\t\t state: ''\n\t\t\t},\n\t\t\torderID: '' \n\t\t }; \n\t}\n\tpublic static buildTableData(): KngCardListState \n\t{\n\t\treturn SharedFactoryDataService.buildTableDataAccordion();\n\t}\n\tpublic static buildMyQuotesTableLabels(): MyQuotesGridListLabel\n\t{\n\t\treturn {\n\t\t\tquoteId: '', \n\t\t\tcreationDate: '',\n\t\t\tmodel: '', \n\t\t\tquantity: '', \n\t\t\tbillingAddress: '',\n\t\t\tstatus: '', \n\t\t\tdealerContact: '',\n\t\t\tdealership: '',\n\t\t\torderID: '',\n\t\t\taccordionIconExpanded: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n \t\taccordionIconCollapsed: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t}\n\t\t};\n\t}\n\tpublic static buildMyQuotetList() : KngCardListState\n\t{\n\t\treturn SharedFactoryDataService.buildTableList('MyQuotes');\n\t\t\n\t}\n\tpublic static billingAddressData(): LocationAddress[]\n\t{\n\t\treturn [{\n\t\t\taddressLine1: '',\n\t\t\taddressLine2: '',\n\t\t\tcity: '',\n\t\t\tstate: '',\n\t\t\tcountry: '',\n\t\t\tpostalCode: ''\n\t\t}];\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MyQuotesComponent } from './my-quotes.component';\nimport { MyQuotesService } from './my-quotes.service';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { EquipmentQuotesComponent } from './equipment-quotes/equipment-quotes.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { KngButtonModule, KngFilterPanelModule, KngCardListModule, KngStatusSelectorModule, AccordionModule } from 'kinetic-angular';\nimport { TruncateModule } from '../../pipes/truncate/truncate.module';\nimport { QuotePromoBannersComponent } from './quote-promo-banners/quote-promo-banners.component';\nconst route: Routes = [\n\t{ path: '', component: MyQuotesComponent, data: { title: 'MyQuotes' } }\n];\n@NgModule({\n\timports: [RouterModule.forChild(route)],\n\texports: [RouterModule]\n})\n\nexport class MyQuotesRoutingModule {}\n\n@NgModule({\n\tdeclarations: [ MyQuotesComponent, EquipmentQuotesComponent, QuotePromoBannersComponent ],\n\timports: [ CommonModule, MyQuotesRoutingModule, KngButtonModule, KngFilterPanelModule, MatChipsModule,\n\t\tMatIconModule, MatFormFieldModule, KngCardListModule, KngStatusSelectorModule, FormsModule, AccordionModule, TruncateModule ],\n\texports: [MyQuotesComponent],\n\tproviders: [MyQuotesService]\n})\nexport class MyQuotesModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, concatMap, tap } from 'rxjs';\nimport { MyQuotesFactory } from './my-quotes.factory';\nimport { DownloadPDFPayload, EquipmentQuoteHeader, EquipmentQuoteListResponse, MyQuotesGridListLabel, MyQuotesGridListObj, MyQuotesLabelState, MyQuotesPayload, MyQuotesSectionMiddleLabel, MyQuotesState, StatusPayload } from './definitions';\nimport { ApiService } from '../../services/api/api.service';\nimport { DateRange, KngCardListState, KngHeaderObjState, KngStatusSelectorState, KngValueListState, KngValueObjState, Option, ScreenView, SortOrder } from 'kinetic-angular';\nimport { ErrorMessage, FieldName, FileName, Icons } from '../../services/shared/shared-enums';\nimport { DateConverterService } from '../../services/date-converter/date-converter.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { MyQuotesUtilService } from './my-quotes.util.service';\nimport { TrackFileDownload } from '../../services/analytics/definitions';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class MyQuotesService \n{\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(MyQuotesFactory.build());\n\tinvoiceStatusCount: KngStatusSelectorState = MyQuotesFactory.buildInvoiceStatusCount();\n\tmyQuotesTableLabels: MyQuotesGridListLabel = MyQuotesFactory.buildMyQuotesTableLabels();\n\tmyQuotesCardListObject: KngCardListState = MyQuotesFactory.buildMyQuotetList();\n\tmyQuotesTableStateObject: BehaviorSubject = new BehaviorSubject(MyQuotesFactory.buildMyQuotetList());\n\ttotalCount: number = 0;\n\tsearchData: string = '';\n\tshowStatusFilters: boolean = false;\n\tmyQuotesPayload: MyQuotesPayload = this.myQuotesUtilService.getDefaultPayload();\n\tsortingEvent = this.sharedUtilService.getHeaderObjectState(true, EquipmentQuoteHeader.creationDate, SortOrder.desc);\n\tcurrentDate = new Date();\n\tget state(): MyQuotesState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tset updateCardState(value: KngCardListState)\n\t{\n\t\tthis.myQuotesTableStateObject.next(value);\n\t}\n\tconstructor(public apiService: ApiService, public dateService: DateConverterService, public sharedUtilService: SharedUtilService, public sharedService: SharedService, private readonly loggerService: LoggerService,\n\t\tprivate readonly toaster: ToastrService, private readonly myQuotesUtilService: MyQuotesUtilService){}\n\n\tpublic updateState(value: MyQuotesState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\tpublic getMyQuotesLabelState(): void \n\t{\n\t\tthis.apiService.getMyQuotesAemLabels().subscribe((res: MyQuotesLabelState) => \n\t\t{\n\t\t\tif (res) \n\t\t\t{\n\t\t\t\tthis.state.sectionTop.heading = res.sectionTop.heading;\n\t\t\t\tthis.getMyQuotesMiddleLabelState(res.sectionMiddle);\n\t\t\t}\n\t\t});\n\t}\n\tpublic getMyQuotesMiddleLabelState(resSectionMiddle: MyQuotesSectionMiddleLabel)\n\t{\n\t\tconst sectionMiddle = this.state.sectionMiddle;\n\t\tsectionMiddle.heading = resSectionMiddle.heading;\n\t\tsectionMiddle.search = resSectionMiddle.search;\n\t\tsectionMiddle.search.invalidSearchText= resSectionMiddle.search.invalidSearchText;\n\t\tsectionMiddle.download.label = resSectionMiddle.download;\n\t\tthis.myQuotesTableLabels = resSectionMiddle.gridData;\n\t\tsectionMiddle.noResult.noResultFoundText=resSectionMiddle.noResult.noResultFoundText;\n\t\tthis.state.sectionMiddle.noResult.noQuotesAvailble=resSectionMiddle.noResult.noQuotesAvailble;\n\t\tsectionMiddle.noResult.noResultFoundSubText=resSectionMiddle.noResult.noResultFoundSubText;\n\t\tthis.mapMyQuotesFilterLabels(resSectionMiddle);\n\t}\n\tpublic mapMyQuotesFilterLabels(resSectionMiddle: MyQuotesSectionMiddleLabel): void \n\t{\n\t\tconst sectionMiddleFilter = this.state.sectionMiddle.filteringPanelSection;\n\t\tsectionMiddleFilter.filterLabel = resSectionMiddle.filter.filterText;\n\t\tsectionMiddleFilter.filterIconAltText = resSectionMiddle.filter.filterIcon.altText;\n\t\tsectionMiddleFilter.selectedFilterLabel = resSectionMiddle.filter.selectedFilters;\n\t\tsectionMiddleFilter.clearAll = resSectionMiddle.filter.clearAll;\n\t\tsectionMiddleFilter.invalidSearchText = resSectionMiddle.invalidSearchText;\n\t\tsectionMiddleFilter.filterState.filterData.heading.label = resSectionMiddle.filterForm.formLabel;\n\t\tsectionMiddleFilter.filterState.filterData.sections[0].label = resSectionMiddle.filterForm.dateRange.label;\n\t\tsectionMiddleFilter.filterState.filterData.sections[1].label = resSectionMiddle.filterForm.billingAddress.label;\n\t\tsectionMiddleFilter.filterState.filterData.sections[1].noResultsFoundText =\tresSectionMiddle.filterForm.billingAddress.noResultsFoundLabel;\n\t\tsectionMiddleFilter.filterState.filterData.sections[1].controls[0].inputPlaceholderText = resSectionMiddle.filterForm.billingAddress.searchPlaceholder;\n\t\tsectionMiddleFilter.filterState.filterData.ctaList[0].label = resSectionMiddle.filterForm.clearAllButtonLabel;\n\t\tsectionMiddleFilter.filterState.filterData.ctaList[1].label = resSectionMiddle.filterForm.applyButtonLabel;\n\t\tthis.mapDateRangeValues(resSectionMiddle.filterForm.dateRange.values);\n\t}\n\tpublic mapDateRangeValues(data: string[]): void \n\t{\n\t\tconst dateRange: Option[] = [];\n\t\tconst dateResponse = data;\n\t\tdateResponse.forEach((type) => \n\t\t{\n\t\t\tdateRange.push({ label: type, value: type, checked: false });\n\t\t});\n\t\tconst sectionMiddle = this.state.sectionMiddle;\n\t\tconst filterData = sectionMiddle.filteringPanelSection.filterState.filterData;\n\t\tif (filterData) \n\t\t{\n\t\t\tfilterData.sections[0].controls[0].options = dateRange;\n\t\t\tfilterData.sections[0].selectedValue = [DateRange.lastSixtyDays];\n\t\t}\n\t\tconst control = filterData.sections[0].controls;\n\t\tconst index = control[0].options.findIndex(opt => opt.label === DateRange.lastSixtyDays);\n\t\tif (index !== 0) \n\t\t\tcontrol[0].options[index].checked = true;\n\t}\n\tinitializePayload() \n\t{\n\t\tthis.initializeDatePayload();\n\t\tthis.myQuotesPayload.status = [ StatusPayload.ordered, StatusPayload.expired, StatusPayload.quoteAccepted, StatusPayload.quoteinProcess, StatusPayload.readyForReview ];\n\t\tthis.myQuotesPayload.searchValue = '';\n\t\tthis.myQuotesPayload.locations = [];\n\t}\n\tinitializeDatePayload()\n\t{\n\t\tthis.myQuotesPayload.endDate = this.dateService.getUnixTimeStamp(this.currentDate);\n\t\tthis.myQuotesPayload.startDate = this.dateService.getFromDate(new Date(), 60);\n\t}\n\tgetQuotesTable(page: number): void\n\t{\n\t\tthis.myQuotesCardListObject.loading = true;\n\t\tif (this.myQuotesTableStateObject)\n\t\t{\n\t\t\tthis.myQuotesCardListObject = MyQuotesFactory.buildMyQuotetList();\n\t\t\tthis.myQuotesCardListObject.list = [];\n\t\t\tthis.myQuotesPayload.skip = page;\n\t\t\tif(this.myQuotesPayload.endDate)\n\t\t\t{\n\t\t\t\tthis.myQuotesPayload.endDate = new Date(this.myQuotesPayload.endDate).toISOString().substring(0, 10);\n\t\t\t}\n\t\t\tif(this.myQuotesPayload.startDate)\n\t\t\t{\n\t\t\t\tthis.myQuotesPayload.startDate = new Date(this.myQuotesPayload.startDate).toISOString().substring(0, 10);\n\t\t\t}\n\t\t\tthis.getEquipmentQuotesTableData(this.myQuotesPayload);\n\t\t}\n\t}\n\tgetEquipmentQuotesTableData(payload: MyQuotesPayload): void\n\t{\n\t\tthis.sharedService\n\t\t\t.getLoggedInUseLocationsIdsObs()\n\t\t\t.pipe(\n\t\t\t\ttap((locationIds: string[]) =>\n\t\t\t\t{\n\t\t\t\t\tpayload.locations = this.myQuotesPayload.locations.length > 0 ? this.myQuotesPayload.locations:locationIds;\n\t\t\t\t}),\n\t\t\t\tconcatMap(() => this.apiService.getEquipmentQuoteTableData(payload))\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (res: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (res?.data)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst data = res.data;\n\t\t\t\t\t\tthis.mapEquipmentQuotesData(data);\n\t\t\t\t\t\tif(payload.searchValue && payload.searchValue.length >= 4 && data.records)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.myQuotesUtilService.trackAnalytics(data.records, this.searchData, this.myQuotesCardListObject.pageInfo?.totalCount);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.getHeader();\n\t\t\t\t\tthis.handleError(error);\n\t\t\t\t},\n\t\t\t\tcomplete: () =>\n\t\t\t\t{\n\t\t\t\t\tsetTimeout(() =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.myQuotesCardListObject.loading = false;\n\t\t\t\t\t\tthis.myQuotesTableStateObject.next(this.myQuotesCardListObject);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t});\n\t}\n\thandleError(error: HttpErrorResponse): void\n\t{\n\t\tif(error.error.statusCode === 500)\n\t\t{\n\t\t\tconst quoteApiError = error.error.message?.split('.');\n\t\t\tthis.state.sectionMiddle.noResult.noResultFoundText=quoteApiError[0];\n\t\t\tthis.state.sectionMiddle.noResult.noResultFoundSubText=quoteApiError[1];\n\t\t\tthis.myQuotesCardListObject.loading = false;\n\t\t\tthis.myQuotesCardListObject.error = {\n\t\t\t\tmessage: this.state.sectionMiddle.noResult.noResultFoundText,\n\t\t\t\tmessageSubText: this.state.sectionMiddle.noResult.noResultFoundSubText,\n\t\t\t\ticon: Icons.noResult\n\t\t\t};\n\t\t\tthis.myQuotesUtilService.trackErrorByEvent('MyQuote List API Error', error.error.message);\n\t\t}\n\t}\n\tgetHeader()\n\t{\n\t\tthis.myQuotesCardListObject.header = [];\n\t\tconst headerList = Object.values(this.myQuotesTableLabels);\n\t\theaderList.slice(0, 6).forEach((val) => \n\t\t{\n\t\t\tconst header: KngHeaderObjState = {\n\t\t\t\tlabel: val,\n\t\t\t\tisSort: true,\n\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t};\n\t\t\tif (header.label === this.sortingEvent.label) \n\t\t\t{\n\t\t\t\theader.sortOrder = this.sortingEvent.sortOrder;\n\t\t\t}\n\t\t\tthis.myQuotesCardListObject.header.push(header);\n\t\t});\n\t}\n\tmapEquipmentQuotesData(data: EquipmentQuoteListResponse)\n\t{\n\t\tthis.updateCardState = MyQuotesFactory.buildMyQuotetList();\n\t\tthis.myQuotesCardListObject = MyQuotesFactory.buildTableData();\n\t\tthis.myQuotesCardListObject.view = window.innerWidth >= 768 ? ScreenView.accordionDeskTop : ScreenView.accordionMobile;\n\t\tthis.myQuotesCardListObject.cardListOrangeIcon = this.sharedUtilService.getCardListOrangeIcon();\n\t\tthis.myQuotesCardListObject.cardListGrayIcon = this.sharedUtilService.getCardListGreyIcon();\n\t\tthis.myQuotesCardListObject.cardListAccordionIcon = this.sharedUtilService.getCardListAccordionIcon();\n\t\tthis.myQuotesCardListObject.pageInfo = data?.pageInfo;\n\t\tthis.getHeader();\t \n\t\tthis.totalCount = data?.pageInfo?.totalCount;\n\t\tconst isFilterApplied = this.myQuotesUtilService.checkForFilterApplied(this.myQuotesPayload);\n\t\tif (data?.records?.length > 0)\n\t\t{\n\t\t\tthis.getGridData(data);\n\t\t\tthis.getMyQuotesStatusCount(data);\n\t\t\tthis.checkForActiveIndex();\n\t\t}\n\t\telse if (data?.records?.length === 0 && isFilterApplied) \n\t\t{\n\t\t\tthis.myQuotesCardListObject.error = {\n\t\t\t\tmessage: this.state.sectionMiddle.noResult.noResultFoundText,\n\t\t\t\tmessageSubText: this.state.sectionMiddle.noResult.noResultFoundSubText,\n\t\t\t\ticon: Icons.noResult\n\t\t\t};\n\t\t\tthis.getMyQuotesStatusCount(data);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.myQuotesCardListObject.error = {\n\t\t\t\tmessage: this.state.sectionMiddle.noResult.noQuotesAvailble,\n\t\t\t\tmessageSubText: this.state.sectionMiddle.noResult.noResultFoundSubText,\n\t\t\t\ticon: Icons.noResult\n\t\t\t};\n\t\t\tthis.getMyQuotesStatusCount(data);\n\t\t}\n\t}\n\tcheckForActiveIndex()\n\t{\n\t\tif (this.sortingEvent.label)\n\t\t{\n\t\t\tconst headers = this.myQuotesCardListObject.header;\n\t\t\tfor (const index in headers)\n\t\t\t{\n\t\t\t\tif (this.sortingEvent.label === headers[index].label)\n\t\t\t\t\tthis.myQuotesCardListObject.activeIndex = parseInt(index);\n\t\t\t}\n\t\t}\n\t}\n\tpublic getGridData(data: EquipmentQuoteListResponse)\n\t{\n\t\tdata.records.forEach((obj) =>\n\t\t{\n\t\t\tconst quoteDataOrderObj=MyQuotesFactory.myQuoteTabelData();\n\t\t\tobj = Object.assign(quoteDataOrderObj, obj);\n\t\t\tthis.deleteObjectProperties(obj);\n\t\t\tconst gridObj: KngValueObjState = {\n\t\t\t\tcollapsed: false,\n\t\t\t\tvalues: []\n\t\t\t};\n\t\t\tthis.getGridDataMap(obj, gridObj);\n\t\t});\n\t\tthis.updateCardState = this.myQuotesCardListObject;\n\t}\n\tgetGridDataMap(obj: MyQuotesGridListObj, gridObj:KngValueObjState)\n\t{\n\t\tObject.entries(obj).forEach(([ key, value ]) =>\n\t\t{\n\t\t\tconst label = this.sharedService.getLabel(key, this.myQuotesTableLabels);\n\t\t\tif (label !== '')\n\t\t\t{\n\t\t\t\tconst valueState: KngValueListState = {\n\t\t\t\t\tlabel: label,\n\t\t\t\t\tlabelValue: value,\n\t\t\t\t\ticon: '',\n\t\t\t\t\tcssClass: '',\n\t\t\t\t\tcategory: this.myQuotesUtilService.checkCategory(key)\n\t\t\t\t};\n\t\t\t\tif (key === FieldName.billingAddress) \n\t\t\t\t{\n\t\t\t\t\tvalueState.labelValue = this.myQuotesUtilService.formatAddress(value);\n\t\t\t\t}\n\t\t\t\tif (key === FieldName.dealership) \n\t\t\t\t{\n\t\t\t\t\tvalueState.labelValue = this.myQuotesUtilService.getDealerShipDetail(value);\n\t\t\t\t}\n\t\t\t\tif(key === FieldName.status)\n\t\t\t\t{\n\t\t\t\t\tvalueState.labelValue = this.myQuotesUtilService.checkStatus(value);\n\t\t\t\t}\n\t\t\t\tgridObj.documentURL = obj.documentURL;\n\t\t\t\tgridObj.values.push(valueState);\n\t\t\t}\n\t\t});\n\t\tthis.myQuotesCardListObject.list.push(gridObj);\n\t}\n\tdeleteObjectProperties(obj: MyQuotesGridListObj) \n\t{\n\t\tif (obj.status !== StatusPayload.ordered && obj.status !== StatusPayload.quoteAccepted) \n\t\t\tdelete obj.orderID;\n\t}\n\tgetMyQuotesStatusCount(data: EquipmentQuoteListResponse): void\n\t{\n\t\tthis.state.sectionMiddle.invoiceStatusUpdated = false;\n\t\tif (this.invoiceStatusCount)\n\t\t{\n\t\t\tthis.invoiceStatusCount.count.forEach((status) => \n\t\t\t{\n\t\t\t\tstatus.amount = data.inProcessCount + data.acceptedCount + data.orderedCount + data.expiredCount + data.readyForReviewCount;\n\t\t\t\tstatus.amount = this.myQuotesUtilService.getMyQuotesStatusAmount(status, data);\n\t\t\t});\n\t\t}\n\t\tsetTimeout(() =>\n\t\t{\n\t\t\tthis.state.sectionMiddle.invoiceStatusUpdated = true;\n\t\t});\n\t}\n\tdownloadMyQuotesData(page: number): void\n\t{\n\t\tthis.myQuotesPayload.skip = page;\n\t\tconst payload = this.myQuotesPayload;\n\t\tpayload.limit = this.totalCount;\n\t\tthis.state.sectionMiddle.download.disabled= true;\n\t\tthis.apiService.downloadMyQuotesTableList(payload).subscribe({ next: (res) =>\n\t\t{\n\t\t\tconst date = new Date().toString();\n\t\t\tconst fileName = FileName.myQuotesList + '_' + this.dateService.tranformDate(date, 'MMddyyyyhhmmss');\n\t\t\tthis.sharedService.downloadExcel(fileName, res);\n\t\t\tconst download: TrackFileDownload = { fileName, fileType: 'My Quotes' };\n\t\t\tthis.myQuotesUtilService.trackSuccessByEvent('Download Success', 'MyQuotes - Download Button', undefined, download);\n\t\t\tthis.state.sectionMiddle.download.disabled= false;\n\t\t},\n\t\terror: (error: HttpErrorResponse): void =>\n\t\t{\n\t\t\tif(error)\n\t\t\t{\n\t\t\t\tthis.handleDownloadError(error);\n\t\t\t}\n\t\t},\n\t\tcomplete: () =>\n\t\t{\n\t\t\tsetTimeout(() =>\n\t\t\t{\n\t\t\t\tthis.myQuotesCardListObject.loading = false;\n\t\t\t\tthis.state.sectionMiddle.download.disabled= false;\n\t\t\t}, 1000);\n\t\t}\n\t\t});\n\t}\n\tasync handleDownloadError(error: HttpErrorResponse): Promise\n\t{\n\t\tconst errormessage = JSON.parse(await error.error.text()).message;\n\t\tthis.loggerService.error( 'error in My Quotes Table Data download', error );\n\t\tthis.state.sectionMiddle.download.disabled= false;\n\t\tthis.toaster.error(ErrorMessage.downloadError);\n\t\tthis.myQuotesUtilService.trackErrorByEvent('Download Failed', errormessage, 'MyQuotes - Download Button');\n\t\tthrow error;\n\t}\n\tgetdownloadQuotePdf( documentURL: string | undefined)\n\t{\n\t\tconst downloadPdfpayload : DownloadPDFPayload = {\n\t\t\tdocumentURL: documentURL\n\t\t};\n\t\tconst pdfFileName = (documentURL?.split('=') ?? [])[1];\n\t\tthis.apiService.downloadQuotePDF(downloadPdfpayload).subscribe({ next: (res) =>\n\t\t{\n\t\t\tthis.sharedService.downloadPDF(pdfFileName, res);\n\t\t\tconst download: TrackFileDownload = { pdfFileName, fileType: 'My Quotes' };\n\t\t\tthis.myQuotesUtilService.trackSuccessByEvent('Download Success', 'MyQuotes - Download Button', undefined, download);\n\t\t},\n\t\terror: (error: HttpErrorResponse): void =>\n\t\t{\n\t\t\tif(error)\n\t\t\t{\n\t\t\t\tthis.handlePDFDownloadError(error);\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\tasync handlePDFDownloadError(error: HttpErrorResponse)\n\t{\n\t\tconst errormessage = JSON.parse(await error.error.text()).message;\n\t\tthis.loggerService.error( 'error in My Quotes PDF Download', error );\n\t\tthis.toaster.error(errormessage);\n\t\tthis.myQuotesUtilService.trackErrorByEvent('Download Failed', errormessage, 'MyQuotes Download Button');\n\t\tthrow error;\n\t}\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DefaultValue, FieldName, MyQuotesStatusHeader, SortOrder } from '../../services/shared/shared-enums';\nimport { BillingAddressPayload, BillingAddressResponse, Dealership, EquipmentQuoteListResponse, MyQuotesGridListObj, MyQuotesPayload, MyQuotesState, StatusPayload, InvoiceStatusLabel } from './definitions';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { AnalyticsDataLayer, TrackFileDownload, TrackSearch } from '../../services/analytics/definitions';\nimport { Address, LocationAddress, PromoBannerApiResponse, PromoBannerData } from '../../services/shared/shared-interface';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { Control, ControlType, Count, FieldType } from 'kinetic-angular';\nimport { nullCheckValue } from '../../services/shared/shared-constants';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { DateConverterService } from '../../services/date-converter/date-converter.service';\nimport { BehaviorSubject, concatMap, tap } from 'rxjs';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { MyQuotesFactory } from './my-quotes.factory';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { ApiService } from '../../services/api/api.service';\nimport { SharedFilterService } from '../../services/shared/shared-filter.service';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { HttpErrorResponse } from '@angular/common/http';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class MyQuotesUtilService \n{\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(MyQuotesFactory.build());\n\tbillingAddressListState: BehaviorSubject = new BehaviorSubject(MyQuotesFactory.billingAddressData());\n\tbillingAddressFilterControls: Control[] = [];\n\taemBaseUrl: string = this.environmentRef.aemBaseUrl;\n\tbannerFlag: boolean = false;\n\tget state(): MyQuotesState \n\t{\n\t\treturn this.state$.value;\n\t}\n\tpublic updateState(value: MyQuotesState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\tconstructor(public analyticsService: AnalyticsService, public sharedService: SharedService, public sharedUtilService: SharedUtilService, public dateService: DateConverterService,\n\t\tpublic apiService: ApiService, private readonly loggerService: LoggerService, public sharedFilterService: SharedFilterService, @Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef) { }\n\n\tgetDefaultPayload(): MyQuotesPayload \n\t{\n\t\treturn {\n\t\t\tskip: DefaultValue.skip,\n\t\t\tlimit: DefaultValue.limit,\n\t\t\tlocations: [],\n\t\t\tsearchValue: '',\n\t\t\tstatus: [],\n\t\t\tsalesProspectAddress: [],\n\t\t\tsort: { field: 'creationDate', order: SortOrder.desc }\n\t\t};\n\t}\n\ttrackSuccessByEvent(event: AnalyticsDataLayer['event'], link: string, search?: TrackSearch, download?: TrackFileDownload): void\n\t{\n\t\tconst eventData: AnalyticsDataLayer = {\n\t\t\tevent,\n\t\t\tlink: {\n\t\t\t\tname: link\n\t\t\t}\n\t\t};\n\t\tif(download)\n\t\t{\n\t\t\teventData['download'] = download;\n\t\t}\n\t\tif(search)\n\t\t{\n\t\t\teventData['search'] = search;\n\t\t}\n\t\tthis.analyticsService.trackByEvent(eventData);\n\t}\n\ttrackErrorByEvent(event: AnalyticsDataLayer['event'], errorMessage: string, link?: string, search?: string): void\n\t{\n\t\tconst eventData: AnalyticsDataLayer = {\n\t\t\tevent,\n\t\t\terror: {\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t};\n\t\tif(link)\n\t\t{\n\t\t\teventData['link'] = { name: link };\n\t\t}\n\t\tif(search)\n\t\t{\n\t\t\teventData['search'] = { keyword: search };\n\t\t}\n\t\tthis.analyticsService.trackByEvent(eventData);\n\t}\n\tformatAddress(address: Address): string\n\t{\n\t\taddress = this.sharedService.nullAddressHandler(address);\n\t\treturn this.sharedService.formatAddress(address, true);\n\t}\n\tgetMyQuotesStatusAmount(status: Count, data: EquipmentQuoteListResponse): number\n\t{\n\t\tswitch (status.header)\n\t\t{\n\t\tcase MyQuotesStatusHeader.readyForReview:\n\t\t\tstatus.amount = data.readyForReviewCount;\n\t\t\tbreak;\n\t\tcase MyQuotesStatusHeader.quoteinProcess:\n\t\t\tstatus.amount = data.inProcessCount;\n\t\t\tbreak;\n\t\tcase MyQuotesStatusHeader.quoteAccepted:\n\t\t\tstatus.amount = data.acceptedCount;\n\t\t\tbreak;\n\t\tcase MyQuotesStatusHeader.ordered:\n\t\t\tstatus.amount = data.orderedCount;\n\t\t\tbreak;\n\t\tcase MyQuotesStatusHeader.expired:\n\t\t\tstatus.amount = data.expiredCount;\n\t\t\tbreak;\n\t\t}\n\t\treturn status.amount;\n\t}\n\tgetBillingAddressFilterControls(controls: Control[], billingAddresses: LocationAddress[]): Control[] \n\t{\n\t\tconst selectedBillingAddress: Control[] = [];\n\t\tcontrols.forEach(address => \n\t\t{\n\t\t\tif (address.value)\n\t\t\t\tselectedBillingAddress.push(address);\n\t\t});\n\t\tcontrols = this.getBillingAddressValues(billingAddresses);\n\t\tcontrols.forEach(address => \n\t\t{\n\t\t\tselectedBillingAddress.forEach(element => \n\t\t\t{\n\t\t\t\tif (element.id === address.id)\n\t\t\t\t\taddress.setValue(true);\n\t\t\t});\n\t\t});\n\t\treturn controls;\n\t}\n\tgetBillingAddressValues(billingAddresses: LocationAddress[]): Control[]\n\t{\n\t\tconst assignedBillingAddress: Control[] = [];\n\t\tbillingAddresses?.forEach((element, index) =>\n\t\t{\n\t\t\tconst address = {\n\t\t\t\taddressLine1: element.addressLine1,\n\t\t\t\taddressLine2: element.addressLine2,\n\t\t\t\tcity: element.city,\n\t\t\t\tstate: element.state,\n\t\t\t\tcountry: element.country,\n\t\t\t\tzipCode: element.postalCode\n\t\t\t};\n\t\t\tconst data = { name: element.label || '', id: index.toString(), address };\n\t\t\tassignedBillingAddress.push(this.sharedService.initialiseFilterControl(data.id, data.name, ControlType.checkbox, data.address));\n\t\t});\n\t\treturn assignedBillingAddress;\n\t}\n\tgetDealerShipDetail(dealerDetails: Dealership): string \n\t{\n\t\tif(dealerDetails && !Object.values(dealerDetails).every(value => value === null))\n\t\t{\n\t\t\tconst dealerName = this.sharedService.nullValueHandler(dealerDetails.dealerName);\n\t\t\tconst formattedAddress = this.sharedService.formatAddress(dealerDetails, true);\n\t\t\tif(!dealerDetails.dealerName && formattedAddress)\n\t\t\t{\n\t\t\t\treturn this.sharedService.nullValueHandler(formattedAddress);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst dealerShipDetails = formattedAddress ? dealerName + ',' + '\\n' + formattedAddress : dealerName;\n\t\t\t\treturn this.sharedService.nullValueHandler(dealerShipDetails);\n\n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\treturn nullCheckValue;\n\t\t}\n\t}\n\tcheckCategory(key: string): string\n\t{\n\t\tlet selectedCat: string = FieldType.text;\n\t\tselectedCat = (key === FieldName.status) ? FieldType.myQuoteStatus : this.sharedUtilService.getFieldType(key);\n\t\treturn selectedCat;\n\t}\n\tcheckStatus(value: string): string\n\t{\n\t\tif(value === StatusPayload.quoteinProcess)\n\t\t{\n\t\t\tvalue = InvoiceStatusLabel.quoteinProcess;\n\t\t}\n\t\tif(value === StatusPayload.quoteAccepted)\n\t\t{\n\t\t\tvalue = InvoiceStatusLabel.quoteAccepted;\n\t\t}\n\t\treturn value;\n\t}\n\ttrackAnalytics(data: MyQuotesGridListObj[], searchData: string, totalCount: number)\n\t{\n\t\tif(data.length > 0)\n\t\t{\n\t\t\tconst search: TrackSearch = {\n\t\t\t\tkeyword: searchData,\n\t\t\t\tnumberOfResults: totalCount,\n\t\t\t\ttype: 'Equipment Quotes'\n\t\t\t};\n\t\t\tthis.trackSuccessByEvent('search results', 'search results', search);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.trackErrorByEvent('search results', 'No Results Found.', 'search results', searchData);\n\t\t}\n\t}\n\tcheckForFilterApplied(myQuotesPayload: MyQuotesPayload): boolean\n\t{\n\t\tconst totalStatusLength = Object.keys(StatusPayload).length;\n\t\tconst hasValidSearchValue = myQuotesPayload.searchValue && myQuotesPayload.searchValue.length >= 4;\n\t\tconst hasBillingAddress = myQuotesPayload.salesProspectAddress?.length;\n\t\tconst hasMismatchedStatusLength = myQuotesPayload.status?.length !== totalStatusLength;\n\t\tconst hasDateRangeFilterApplied = this.checkForDateRageFilterApplied(myQuotesPayload);\n\t\tif(hasValidSearchValue || hasBillingAddress || hasMismatchedStatusLength || hasDateRangeFilterApplied)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tcheckForDateRageFilterApplied(myQuotesPayload: MyQuotesPayload): boolean\n\t{\n\t\tlet hasDateRangeFilterApplied = false;\n\t\tconst currentDate = new Date();\n\t\tconst defaultStartDate = new Date(this.dateService.getFromDate(new Date(), 60)).toISOString().substring(0, 10);\n\t\tconst defaultEndDate = new Date(this.dateService.getUnixTimeStamp(currentDate)).toISOString().substring(0, 10);\n\t\tif(myQuotesPayload.startDate !== defaultStartDate || myQuotesPayload.endDate !== defaultEndDate)\n\t\t{\n\t\t\thasDateRangeFilterApplied = true;\n\t\t}\n\t\treturn hasDateRangeFilterApplied;\n\t}\n\tgetBillingAddress(): void\n\t{\n\t\tconst payload: BillingAddressPayload = {\n\t\t\tlocations: []\n\t\t};\n\t\tthis.sharedService\n\t\t\t.getLoggedInUseLocationsIdsObs()\n\t\t\t.pipe(\n\t\t\t\ttap((locationIds: string[]) =>\n\t\t\t\t{\n\t\t\t\t\tpayload.locations = locationIds;\n\t\t\t\t}),\n\t\t\t\tconcatMap(() => this.apiService.getBillingAddress(payload))\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (res: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (res?.data)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst data = res.data;\n\t\t\t\t\t\tthis.billingAddressListState.next(data.records);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error('error in my quotes search billing address call', error);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t});\n\t}\n\tpublic async findAssignedBillingAddress(searchKey: string): Promise \n\t{\n\t\tthis.billingAddressFilterControls = this.getBillingAddressFilterControls(this.billingAddressFilterControls, this.billingAddressListState.value);\n\n\t\treturn this.sharedFilterService.findSearchedAddress(searchKey, this.billingAddressFilterControls);\n\t}\n\tupdateBillingAddressSection(sectionControls: Control[], appliedAddressIds: string[]): void\n\t{\n\t\tif (appliedAddressIds && appliedAddressIds.length > 0) \n\t\t{\t\t\t\n\t\t\tsectionControls.forEach((control) => \n\t\t\t{\n\t\t\t\tif (control.type === ControlType.checkbox)\n\t\t\t\t{\n\t\t\t\t\tif(!appliedAddressIds.includes(control.id))\n\t\t\t\t\t\tcontrol.setValue(false);\n\t\t\t\t\telse\n\t\t\t\t\t\tcontrol.setValue(true);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse \n\t\t{\n\t\t\tsectionControls.forEach((control: Control) => \n\t\t\t{\n\t\t\t\tif (control.type === ControlType.checkbox)\n\t\t\t\t\tcontrol.setValue(false);\n\t\t\t});\n\t\t}\n\n\t}\n\tgetquotePromoBanner()\n\t{\n\t\tthis.apiService.quoteContentBlock().subscribe({ next: (res) =>\n\t\t{\n\t\t\tif (res?.data)\n\t\t\t{\n\t\t\t\tconst responseObj: PromoBannerApiResponse = (res.data);\n\t\t\t\tthis.handleSubscriptions(responseObj);\n\t\t\t\tthis.bannerFlag = true;\n\t\t\t}\n\t\t},\n\t\terror: (error: HttpErrorResponse): void =>\n\t\t{\n\t\t\tif(error)\n\t\t\t{\n\t\t\t\tthis.state.sectionBottom.sectionPromoBanner.subscriptionBanner.subscriptionsDesktop = [];\n\t\t\t\tthis.state.sectionBottom.sectionPromoBanner.subscriptionBanner.subscriptionsMobile = [];\n\t\t\t\tthis.bannerFlag = false;\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\thandleSubscriptions(res: PromoBannerApiResponse)\n\t{\n\t\tif(res.subscriptionBanner)\n\t\t{\n\t\t\tif(res.subscriptionBanner.subscriptionsDesktop.length > 0)\n\t\t\t{\n\t\t\t\t\t res.subscriptionBanner.subscriptionsDesktop.forEach((item) =>\n\t\t\t\t{\n\t\t\t\t\tthis.assignSubscriptionItems(item);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.state.sectionBottom.sectionPromoBanner.subscriptionBanner.subscriptionsDesktop = res.subscriptionBanner.subscriptionsDesktop? res.subscriptionBanner.subscriptionsDesktop: [];\n\t\t\tif(res.subscriptionBanner.subscriptionsMobile.length > 0)\n\t\t\t{\n\t\t\t\tres.subscriptionBanner.subscriptionsMobile.forEach( (item) =>\n\t\t\t\t{\n\t\t\t\t\tthis.assignSubscriptionItems(item);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.state.sectionBottom.sectionPromoBanner.subscriptionBanner.subscriptionsMobile = res.subscriptionBanner.subscriptionsMobile? res.subscriptionBanner.subscriptionsMobile : [];\n\t\t}\n\t}\n\t\n\tassignSubscriptionItems(item : PromoBannerData)\n\t{\n\t\tif(item)\n\t\t{\n\t\t\titem.heading= item?.heading ? item?.heading : '';\n\t\t\titem.link.url= this.sharedService.nullValueHandler(item.link?.url);\n\t\t\titem.link.label= this.sharedService.nullValueHandler(item.link?.label);\n\t\t\titem.link.icon.iconPath= this.sharedService.nullValueHandler(item.link?.icon?.iconPath);\n\t\t\titem.link.icon.altText= this.sharedService.nullValueHandler(item.link?.icon?.altText);\n\t\t\titem.bannerImage= {\n\t\t\t\ticonPath: this.sharedService.nullValueHandler(this.aemBaseUrl + item.bannerImage?.iconPath),\n\t\t\t\taltText: this.sharedService.nullValueHandler(item.bannerImage?.altText)\n\t\t\t};\n\t\t}\n\t}\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AnalyticsService } from '../../../services/analytics/analytics.service';\nimport { MyQuotesState } from '../definitions/my-quotes.interface';\nimport { MyQuotesService } from '../my-quotes.service';\nimport { PromoBannerData } from '../../../services/shared/shared-interface';\nimport { MyQuotesUtilService } from '../my-quotes.util.service';\nimport { SharedUtilService } from '../../../services/shared/shared-util.service';\nimport { LocalStorageService } from '../../../services/local-storage/local-storage.service';\nimport { ByParts } from '../../../services/shared/shared-enums';\n@Component({\n\tselector: 'tmhna-portal-quote-promo-banners',\n\ttemplateUrl: './quote-promo-banners.component.html',\n\tstyleUrls: ['./quote-promo-banners.component.scss']\n})\nexport class QuotePromoBannersComponent implements OnInit\n{\n\t@Input() set state(value: MyQuotesState) \n\t{\n\t\tthis.utilservice.updateState(value);\n\t}\n\tget state(): MyQuotesState \n\t{\n \treturn this.utilservice.state;\n\t}\n\tconstructor(private readonly analyticsService: AnalyticsService, public utilservice : MyQuotesUtilService, public service : MyQuotesService, public sharedUtilService: SharedUtilService, public localStorageService: LocalStorageService) { }\n\tngOnInit(): void \n\t{\n\t\tthis.utilservice.getquotePromoBanner();\n\t}\n\topenLink(subscription: PromoBannerData)\n\t{\n\t\tthis.analyticsService.trackByEvent({\n\t\t\tevent: 'Promotional Content',\n\t\t\tlink: {\n\t\t\t\tname: 'Learn More'\n\t\t\t}\n\t\t});\n\t\tif(this.sharedUtilService.isCustomerSupportSession)\n\t\t{\n\t\t\tif(subscription.link.label===ByParts.buyParts) \n\t\t\t{\n\t\t\t\tthis.sharedUtilService.navigateWithCustomerSupport(subscription.link.url);\n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\twindow.open(subscription.link.url, '_blank');\n\t\t}\n\t}\n}\n","
\n 0\" >\n
\n
\n \"{{subscriptions.bannerImage.altText}}\"\n
{{subscriptions.heading}}
\n \n
\n
\n
\n 0\">\n
\n \"{{subscriptionsMobile.bannerImage.altText}}\"\n
{{subscriptionsMobile.heading}}
\n \n
\n
\n
","/* eslint-disable max-lines */\nimport { FormControl } from '@angular/forms';\nimport { KngButtonState, KngCardListState, KngFilterState, ModalState, PageInfo, CardTypes, KngCountOfItemCardDataState, ConnectedCount, Address } from 'kinetic-angular';\nimport { Endpoint, EndpointRoutes } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { AssignedLocation, BtnListLabel, SucessErrorModel, LinkData, IdLabelPair, Image, SearchLabels, TokenData, SortObj } from '../../../services/shared/shared-interface';\nimport { SortOrder } from '../../../services/shared/shared-enums';\nimport { UpdateLocationLabelInterface } from '../../account-settings/definitions/remove-locations.interface';\nexport interface Myfleet {\n state: MyfleetState;\n}\nexport interface MyfleetState {\n sectionTop: MyFleetSectionTop;\n sectionMiddle: MyFleetSectionMiddle;\n sectionBottom: MyFleetSectionBottom;\n}\nexport interface MyFleetSectionTop {\n heading: string;\n addNewEquipButton: KngButtonState;\n addNewEquipModel: AddEquipmentState;\n addNewLocationModel: AddNewLocationstate;\n}\nexport interface AddEquipmentState {\n state: ModalState;\n successModal: SucessErrorModel;\n failureModal: SucessErrorModel;\n successModalState: ModalState;\n failureModalState: ModalState;\n equipmentDetails: string;\n model: TextBoxLabel;\n serial: TextBoxLabel;\n make: TextBoxLabel;\n equipmentType: TextBoxLabel;\n manufacturerYear: TextBoxLabel;\n location: {\n label: string;\n value: string;\n placeholder: string;\n noLocationFound: string;\n };\n addNewLoaction: AddNewLocationLabel;\n viewEquipment: string;\n comments: TextBoxLabel;\n verify: KngButtonState;\n cancel: KngButtonState;\n submit: KngButtonState;\n modalFields : ModalFields[];\n description: string;\n currentLocation: string;\n newLocationLabel: string;\n noMatchFoundLabel: string;\n noMatch: {\n title : string;\n subheading: {\n toyota : {\n note : string;\n linkText: string;\n link: string;\n };\n nonToyota: {\n note : string;\n };\n };\n };\n}\nexport interface AddNewLocationstate {\n state: ModalState;\n}\nexport interface AddNewLocationModalLabel {\n heading: string;\n tokenData: TokenData[];\n\n cancel: string;\n confirm: string;\n}\nexport interface MyFleetFilteringPanelSection {\n filterIcon: string;\n filterIconAltText: string;\n filterLabel: string;\n selectedFilterLabel?: string;\n clearAll?: string;\n filterState: KngFilterState;\n searchController: {\n placeholder: string;\n icon: string;\n formControl: FormControl;\n } | null;\n invalidSearchText?: string;\n}\nexport interface MyFleetSectionMiddle {\n heading: string | null;\n filteringPanelSection: MyFleetFilteringPanelSection;\n unitWidgets: KngCountOfItemCardDataState;\n ticfWidgets: KngCountOfItemCardDataState;\n equipmentWidgets: KngCountOfItemCardDataState;\n\n}\nexport interface MyFleetSectionBottom {\n heading: string;\n downloadButton: KngButtonState;\n fleetList: KngCardListState;\n changeRequestList: KngCardListState;\n filteringPanelSection: MyFleetFilteringPanelSection;\n moveEquipment: MoveEquipment;\n moveBulkEquipment: BulkEquipmentLabel;\n removeBulkEquipment: BulkEquipmentLabel;\n loader?: boolean;\n fleetListTabHeader: string;\n changeRequestTabHeader: string;\n changeRequestAemLabels: ChangeRequest;\n errorText?: string;\n errorSubText?: string;\n bulkEquipmentDetails: BulkEquipmentDetails;\n filterDropdownState: FilterDropdown;\n}\n\nexport interface FilterDropdown {\n filterOptions: FilterOption[];\n selectedOption: string;\n}\nexport interface BulkEquipmentDetails {\n downloadReportLabel: string;\n toggleSwitchLabel: string;\n cancelbtnLabel: string;\n selectedCountLabel: string;\n searchPlaceholder: string;\n partialSuccess: BannerReport;\n failed: BannerReport;\n}\n\nexport interface BannerReport {\n heading: string;\n removeNote?: string;\n moveNote?: string;\n note: string;\n}\nexport interface ChangeRequest {\n search: SearchLabels;\n filter: FilterLabel;\n filterForm: FilterFormMiddle;\n changeRequestGrid: ChangeRequestHeaderLabel;\n noResult: NoResultModel;\n}\n\nexport interface FilterLabel {\n filterIcon: Image;\n filterText: string;\n selectedFilters: string;\n filterState: KngFilterState;\n clearAll: string;\n selectedFilterCloseIcon: Image;\n}\nexport interface FilterFormMiddle {\n formLabel: string;\n status: {\n accordionIconExpanded: Image;\n accordionIconCollapsed:Image;\n label: string;\n statusValues: IdLabelPair[];\n };\n dateRange: {\n label: string;\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n values: string[];\n customDateFromLabel: string;\n customDateToLabel: string;\n errorMessage?:string;\n };\n changeRequestType: CheckBoxFilter;\n resetButtonLabel: string;\n applyButtonLabel: string;\n}\nexport interface CheckBoxFilter {\n label: string;\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n changeRequestValues: IdLabelPair[];\n}\nexport interface ChangeRequestHeaderLabel {\n date: string;\n changeRequestID: string;\n vin: string;\n changeType: string;\n status: string;\n customerTo: string;\n customerFrom: string;\n reason: string;\n comments: string;\n userEmail:string;\n}\nexport interface NoResultModel {\n noResultFoundText: string;\n noResultFoundSubText:string;\n noResultFoundTableIcon: Image;\n}\nexport interface MyFleetCardDataState {\n cssClass: string;\n cardType: CardTypes;\n title: { label: string };\n image: { label: string; url: string; alt: string };\n unit: MyFleetCardUnitObject[];\n error?: string;\n loading?: boolean;\n}\nexport interface MyFleetCardUnitObject {\n label: string;\n description: { label: string };\n amount: string;\n connectedCount?: ConnectedCount;\n}\nexport interface MyFleetCardDataState {\n cssClass: string;\n cardType: CardTypes;\n title: { label: string };\n image: {\n label: string;\n url: string;\n alt: string;\n };\n unit: Array;\n}\nexport interface MyFleetCardObj {\n label: string;\n description: { label: string };\n amount: string;\n connectedCount?: ConnectedCount;\n}\nexport interface MyFleet {\n key: string;\n value: string;\n}\nexport interface MyFleetResponse {\n fleetData: MyFleet[];\n pageInfo: PageInfo;\n}\nexport interface MyFleetListRequest {\n skip: number;\n limit: number;\n customerIDs: string[];\n}\nexport interface MyFleetListHeader {\n exclamationIcon: string;\n vin: string;\n modelID: string;\n assetNumber: string;\n equipmentType: string;\n manufacturer: string;\n dateOfFirstUse: string;\n assignedLocation: string;\n moreIcon: string;\n}\nexport interface MyFleetTableSearchFilterPayload {\n skip: number;\n limit: number;\n equipmentVIN?: string;\n search?: string;\n customerIDs?: string[];\n assignedLocation?: string[];\n equipmentType?: string[];\n manufacturer?: string[];\n startDate?: number;\n endDate?: number;\n telematicStatus?: string;\n nodes?: string[];\n sort?: MyFleetSortObjectDTO;\n locations?: string[];\n locationLabelUpdate?: UpdateLocationLabelInterface;\n filterType?: string;\n}\nexport interface MyFleetWidgetFilterPayload {\n locations: string[];\n telematicsStatus?: string;\n equipmentType?: string[];\n startDate?: number;\n endDate?: number;\n}\n\nexport interface MyFleetWidgetApiPayload {\n locations: string[];\n telematicsStatus?: string;\n equipmentType?: string[];\n startDate? : string;\n endDate? : string;\n}\nexport interface MyFleetSortObjectDTO {\n field: string;\n order: SortOrder;\n}\n\nexport interface SearchFilterResponse {\n fleetData: MyFleet[];\n filterState: KngFilterState;\n pageInfo: PageInfo;\n}\n\nexport interface FleetFilterResponse {\n fleetData: FleetData[];\n filterState: KngFilterState;\n pageInfo: PageInfo;\n}\n\nexport interface FleetData {\n changeRequest?: {\n display: string;\n };\n}\nexport interface MyFleetAEMLabels {\n pageHeading: string;\n addNewEquipmentButton: string;\n overviewHeading: string;\n widget: MyFleetWidgetLabels;\n fleetListHeading: string;\n fleetList: MyFleetListLabels;\n}\nexport interface MyFleetWidgetLabels {\n filterIcon: Image;\n filterLabel: string;\n selectedFilterText: string;\n selectedFilterClearAll: string;\n selectedFilterCloseIcon: Image;\n filterForm: {\n formLabel: string;\n searchLocation: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string;\n showMore: string;\n showLess: string;\n };\n division: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n showMore: string;\n showLess: string;\n };\n group: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n showMore: string;\n showLess: string;\n noAssociatedGroupsText: string;\n };\n resetButtonLabel: string;\n applyButtonLabel: string;\n };\n}\nexport interface MyFleetListLabels {\n searchIcon: Image;\n filterIcon: Image;\n searchPlaceholder: string;\n invalidSearchText: string;\n filterLabel: string;\n selectedFilterLabel: string;\n clearAll: string;\n selectedFilterCloseIcon: Image;\n clearAllLabel: string;\n filterForm: {\n formLabel: string;\n searchLocation: SearchLocation;\n equipmentType: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string;\n };\n dateRange: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n values: string[];\n customDateFromLabel: string;\n customDateToLabel: string;\n };\n connected: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n values: IdLabelPair[];\n };\n division: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n showMore: string;\n showLess: string;\n };\n group: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n showMore: string;\n showLess: string;\n noAssociatedGroupsText: string;\n };\n clearallButtonLabel: string;\n applyButtonLabel: string;\n };\n downloadLabel: string;\n gridData: MyFleetGridLabels;\n errorText: string;\n errorSubText: string;\n noResultFoundTableLabel?: string;\n noResultFoundTableIcon?: Image;\n}\nexport interface GridDataObj {\n date: number;\n changeRequestId: string;\n status: string;\n customerTo: string;\n customerFrom: string;\n changeType: string;\n vin: string;\n reason?: string;\n comments?: string;\n userEmail:string;\n}\nexport interface MyFleetGridLabels {\n vinNumber: string;\n assetNumber: string;\n modelID: string;\n dateOfFirstUse: string;\n assignedLocation: string;\n equipmentType: string;\n manufacturer: string;\n serviceCampaignAltText: string;\n serviceCampaignToolTip: string;\n elipse: {\n altText: string;\n options: {\n move: string;\n remove: string;\n editLocation: string;\n };\n };\n connectedIcon: Image;\n notConnectedIcon: Image;\n errorIcon: Image;\n}\nexport interface SearchLocationObject {\n searchLocation: SearchLocation;\n}\nexport interface SearchLocation {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string;\n showMore: string;\n showLess: string;\n}\nexport interface MyFleetAemEndPoint extends Endpoint {\n baseUrl: string;\n routes: MyFleetLabelsEndpointRoutes;\n}\nexport interface MyFleetLabelsEndpointRoutes extends EndpointRoutes {\n myfleet: {\n toString: () => string;\n myfleetlabels: {\n toString: () => string;\n };\n };\n}\nexport interface MoveEquipment {\n state: ModalState;\n successModal: SucessErrorModel;\n failureModal: SucessErrorModel;\n successModalState: ModalState;\n failureModalState: ModalState;\n currentLocation: {\n label: string;\n value: AssignedLocation;\n };\n description: string;\n comments: {\n label: string;\n value: string;\n placeholder: string;\n };\n newLocation: {\n label: string;\n value: string;\n placeholder: string;\n noLocationFound: string;\n };\n addNewLocation: AddNewLocationLabel;\n}\nexport interface MoveTruckPayload {\n vin: string | boolean | number | undefined;\n targetCustomerId: string;\n comment: string;\n technicalObjectType?: string | null;\n manufacturer: string;\n model?: string;\n serialNumber?: string;\n flow?: 'ADD' | 'MOVE';\n}\n\nexport interface ReportTruckIssue {\n comments: string;\n manufacturer: string;\n model?: string;\n serialNumber?: string;\n issueType: string;\n location: string;\n reason: string;\n customerId: string;\n}\nexport interface AddTruckPayload {\n model: string;\n serial: string;\n locationId: string;\n manufacturer: string;\n manufactureYear?: string;\n equipmentClassification?: string;\n}\nexport interface VerifyTruckPayload {\n model: string;\n serialNumber: string;\n locationId: string;\n manufacturer: string;\n}\nexport enum MyFleetHeadrNames {\n equipmentVin='VIN',\n modelID = 'Model Number',\n assetNumber = 'Asset',\n equipmentType = 'Equipment Classification',\n manufacturer = 'Make',\n dateOfFirstUse = 'Date of First Use',\n assignedLocation='Assigned Location',\n telematicsStatus = 'Connected',\n fleetType = 'Fleet Type',\n moreIcon = '',\n exclamationIcon = ''\n}\n\nexport interface ImgModel {\n imgPath: string;\n altText: string;\n}\nexport interface ToolTipContentLabel {\n topText: string;\n middleText: {\n boxText: string;\n img: ImgModel;\n };\n bottomText: {\n topContent: string;\n modelHeading: string;\n modelDescription: string;\n serialHeading: string;\n serialDescription: string;\n endContent: string;\n link: LinkData;\n };\n closeBtn: string;\n}\nexport interface ValidationLabel {\n clientSide: {\n invalid: string;\n requestExists: string;\n };\n serverSide: {\n equipmentFound: string;\n };\n}\nexport interface TextBoxLabel {\n label: string;\n placeholder: string;\n tooltipIcon?: Image;\n tooltipContent?: ToolTipContentLabel;\n validation?: ValidationLabel;\n}\nexport interface AddEquipmentLabel {\n heading: string;\n equipmentDetails: string;\n model: TextBoxLabel;\n serial: TextBoxLabel;\n newLocation: TextBoxLabel;\n viewEquipment: string;\n btnList: BtnListLabel;\n successModal: SucessErrorModel;\n errorModal: SucessErrorModel;\n make: TextBoxLabel;\n manufacturerYear: TextBoxLabel;\n equipmentType: TextBoxLabel;\n addNewLocationConfirmationModal: AddNewLocationModalLabel;\n comments: TextBoxLabel;\n verify: string;\n cancel: string;\n submit: string;\n currentLocation: string;\n modalFields : ModalFields[];\n description: string;\n newLocationLabel: string;\n noMatchFoundLabel: string;\n noMatch: {\n title : string;\n subheading: {\n toyota : {\n note : string;\n linkText: string;\n link: string;\n };\n nonToyota: {\n note : string;\n };\n };\n };\n\n}\nexport interface MoveEquipmentLabel {\n heading: string;\n currentLocation: string;\n description: string;\n newLocation: TextBoxLabel;\n comments: TextBoxLabel;\n btnList: BtnListLabel;\n successModal: SucessErrorModel;\n errorModal: SucessErrorModel;\n}\nexport interface LocationLabel {\n label: string;\n address: AssignedLocation;\n locationValidationServerSideBold: string;\n locationValidationServerSide: string;\n useVerifiedAddress: string;\n editAddress: string;\n}\nexport interface SearchLabel {\n icon: Image;\n nolocationFound: string;\n searchResultclose: Image;\n}\nexport interface AddNewLocationLabel {\n addNewlabel: string;\n selectExistingLabel: string;\n addNewicon: Image;\n}\nexport interface SuccessErrorLabel {\n label: string;\n message: string[];\n btnList: {\n close: string;\n add?: string;\n };\n}\nexport interface ModalLabel {\n success: SuccessErrorLabel;\n error: SuccessErrorLabel;\n close: Image;\n}\nexport interface AddMoveEquipmentLabel {\n addNewEquipment: AddEquipmentLabel;\n moveEquipment: MoveEquipmentLabel;\n moveBulkEquipment: BulkEquipmentLabel;\n removeBulkEquipment: BulkEquipmentLabel;\n close: Image;\n location: LocationLabel;\n search: SearchLabel;\n addNewLocation: AddNewLocationLabel;\n bulkEquipmentDetails: BulkEquipmentDetails;\n filterDropdownState: FilterDropdown;\n}\n\ninterface SelectMake {\n sectionHeading: string;\n options: string[];\n}\n\nexport interface AddBulkEquipmentLabel {\n heading: string;\n selectMake: SelectMake;\n uploadInfoText: string;\n downloadBtnText: string;\n uploadLimitText: string;\n uploadFileLimitTextHead: string;\n cancelBtnText: string;\n submitBtnText: string;\n uploadFile : UploadFile;\n responseBanner: UploadResponseBanner;\n externalLink: ExternalLink;\n}\n\nexport interface ExternalLink {\n label: string;\n url: string;\n}\n\nexport interface UploadFile {\n onLoadIcon: IconType;\n errorIcon: IconType;\n successIcon: IconType;\n dragDropLabel: string;\n progressLabel: string;\n orLabel: string;\n uploadButtons: ButtonType;\n success: SuccessType;\n}\n\nexport interface UploadResponseBanner {\n downloadButtonLink: string;\n messageDescription: string;\n messageTitle: string;\n}\nexport interface EquipmentData {\n Model:string;\n Serial: string;\t\n Make?: string;\t\n MakeYear?: string; \n EquipmentClassification?: string;\n LocationID: string;\n errors?: string;\n}\nexport interface SuccessType {\n inviteSuccess: string;\n bulkMessage: string;\n}\nexport interface IconType {\n iconPath: string;\n altText: string;\n}\nexport interface ButtonType {\n chooseFile: string;\n}\n\nexport interface UploadButtons {\n chooseFile: string;\n replaceFile: string;\n tryAgain: string;\n}\nexport interface AddEquipmentModelPayload {\n model: string;\n serial: string;\n location: AssignedLocation;\n}\nexport interface LocationResponse {\n location: AssignedLocation;\n}\nexport interface RemoveEquipmentPayload {\n comment: string;\n customerId: string;\n reason: string;\n vin: string | boolean | number | undefined;\n technicalObjectType?: string | null;\n model: string;\n serialNumber: string;\n manufacturer: string;\n}\n\nexport interface ChangeRequestListTablePayload {\n skip: number;\n limit: number;\n locations: string[];\n search:string;\n sort?: SortObj;\n startDate: number;\n endDate: number;\n status?: string[];\n changeType?: string[];\n}\n\nexport interface ChangeRequestListTableEILData {\n records: Array;\n pageInfo: PageInfo;\n awaitingApprovalCount: number;\n cancelledCount: number;\n approvedCount: number;\n}\n\nexport enum ChangeRequestHeader {\n date = 'Date',\n changeRequestID = 'Change Request ID',\n vin = 'VIN',\n changeType = 'Change Type',\n status = 'Status',\n customerTo = 'Location To',\n customerFrom = 'Location From',\n}\nexport interface MyFleetRecord{\n exclamationIcon: boolean;\n equipmentVin: string;\n modelID: string;\n assetNumber: string;\n equipmentType: string;\n manufacturer: string;\n dateOfFirstUse: string;\n assignedLocation: string;\n telematicsStatus: string;\n moreIcon: string;\n customerId: string;\n location: {\n addressLine1: string;\n addressLine2: string;\n city: string;\n state: string;\n zipcode: string;\n };\n locationId: string;\n locationLabel?: string;\n isLabelEditable?: boolean;\n serialNumber: string;\n techinicalObjectType: string;\n checked?: boolean;\n managedBy: string;\n changeRequest: {\n display: string;\n tooltip: string;\n toastMessage: string;\n bannerMessage: string;\n };\n}\n\nexport enum FleetStatusHeader {\n all = 'all',\n awaitingApproval = 'awaiting approval',\n cancelled = 'cancelled',\n approved = 'approved'\n}\n\nexport enum FleetStatusLabel {\n all = 'All',\n awaitingApproval = 'Awaiting Approval',\n cancelled = 'Cancelled',\n approved = 'Approved'\n}\n\nexport enum FleetStatusPayload {\n awaitingApproval = 'awaiting approval',\n cancelled = 'cancelled',\n approved = 'approved'\n}\n\nexport interface ManufacturersList {\n label: string;\n id: string;\n}\n\nexport interface EquipmentTypeList {\n title: string;\n note: string;\n}\n\nexport interface ModalFields {\n key: string;\n label: string;\n value: string;\n}\n\n\nexport interface EquipmentOption{\n manufacturers: ManufacturersList[];\n equipmentClassifications: ManufacturersList[];\n}\n\nexport interface CurrentLocation { \n address: Address;\n label: string;\n id: string;\n}\n\nexport interface BulkEquipmentLabel {\n navBtnLabel: string;\n heading: string;\n description: string;\n newLocation: string;\n comment: string;\n reviewDescription: string;\n reason: string;\n downloadReportLabel?: string;\n reasonValues: ManufacturersList[];\n reasonDefault: string;\n}\n\nexport enum EquipmentLabels {\n toyota = 'TOYOTA',\n other = 'OTHER',\n modelNumber = 'modelNumber',\n serialNumber = 'serialNumber',\n make = 'make',\n makeYear = 'makeYear',\n location = 'location',\n locationLabel = 'Location',\n equipmentClassification = 'equipmentClassification'\n}\n\nexport interface BulkEquipmentPayload {\n equipment: BulkEquipment[];\n targetCustomerId: string;\n comment: string;\n}\nexport interface RemoveBulkEquipmentPayload {\n equipment: BulkEquipment[];\n comment: string;\n reason: string;\n}\nexport interface BulkEquipment {\n make: string;\n vin: string;\n}\n\n\nexport interface DownloadReportTemp {\n make: string;\n serial: string;\n model: string;\n status: string;\n message: string;\n currentlocation?: string;\n targetlocation?: string;\n reason?: string;\n}\n\nexport interface BulkEquipmentDownloadReportTemplate {\n model: string;\n serial: string;\n location: string;\n status: string;\n additionalInformation: string; \n}\n\nexport interface BulkEquipmentNonToyotaDownloadReportTemplate {\n model: string;\n serial: string;\n location: string;\n make: string;\n makeYear: string;\n equipmentClassification: string;\n status: string;\n additionalInformation: string; \n}\n\nexport interface FilterOption {\n key: string;\n value: string;\n}\n","import { MyFleetAemEndPoint, MyFleetLabelsEndpointRoutes } from './definitions/myfleet.interface';\n\n\nexport class MyFleetEndpointFactory \n{\n\tpublic static build(baseUrl: string): MyFleetAemEndPoint \n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): MyFleetLabelsEndpointRoutes \n\t{\n\t\treturn {\n\t\t\tmyfleet: {\n\t\t\t\ttoString: () => `${baseUrl}v0/api/`,\n\t\t\t\tmyfleetlabels: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/aemfleetpage/my-fleet-labels`\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t} as MyFleetLabelsEndpointRoutes;\n\t}\n}\n","export * from './notification.interface';\n","import { PageInfo, Image } from '../../../services/shared/shared-interface';\n\nexport interface Notification {\n state: NotificationState;\n}\nexport interface NotificationState {\n pageHeading: string;\n tabs: NotificationTab[];\n markAsRead: string;\n loading: boolean;\n noNotification: string;\n unreadCount: number;\n}\nexport interface NotificationTab {\n id: string;\n label: string;\n data: Content[];\n pageInfo: PageInfo;\n unreadCountData: number;\n}\n\nexport interface Content {\n id: string;\n isNewIcon: Image;\n notificationIcon: Image;\n notificationTitle: string;\n notificationDescription: string;\n closeIcon: Image;\n dateCreated: string;\n portalUserID: string;\n status: string;\n systemNotificationID: string;\n notificationType: string;\n notificationLink: string;\n}\nexport interface KngGridPager {\n totalItems: number;\n currentPage: number;\n pageSize: number;\n totalPages: number;\n startPage: number;\n endPage: number;\n startIndex: number;\n endIndex: number;\n}\n\nexport interface NotificationList {\n portalUserID: string;\n notificationType: string;\n contactGRID?: string;\n roles: string[];\n locations: string[];\n}\n\nexport interface UpdateNotificationList {\n bulkReadInput: BulkreadInput[];\n}\nexport interface BulkreadInput {\n id: string;\n notificationType: string;\n}\nexport interface KngLoaderState {\n imagePath: string;\n}\nexport interface ResponseNotification {\n customerGRID?: string;\n id: string;\n domain: string;\n notificationTitle: string;\n notificationDescription: string;\n dateCreated: string;\n portalUserID: string;\n status: string;\n systemNotificationID: string;\n notificationType: string;\n notificationLink: string;\n isNewIcon: Image;\n closeIcon: Image;\n notificationIcon: Image;\n}\nexport interface ResponseData {\n notificationData: ResponseNotification[];\n unreadCountData: UnreadCountData;\n}\nexport interface DeletePayload {\n portalUserID: string;\n contactGRID?: string;\n status: string;\n notifications: SingleNotification[];\n}\nexport interface SingleNotification {\n messageID: string;\n customerGRID: string;\n notificationType: string;\n}\nexport interface UnreadCountData {\n all: number;\n offer: number;\n action: number;\n update: number;\n}\n","export * from './definitions';\nexport * from './notification.component';\nexport * from './notification.factory';\nexport * from './notification.module';\nexport * from './notification.service';\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PagerService } from 'kinetic-angular';\nimport { Icons } from '../../../services/shared/shared-enums';\nimport { Content } from '../definitions';\nimport { NotificationService } from '../notification.service';\nimport { SharedService } from '../../../services/shared/shared.service';\n\n\n@Component({\n\tselector: 'tmhna-portal-notification-content',\n\ttemplateUrl: './notification-content.component.html',\n\tstyleUrls: ['./notification-content.component.scss']\n})\nexport class NotificationContentComponent\n{\n\t@Input() state!: Array;\n\t@Input() currentPage: number = 1;\n\t@Input()\n\t\ttotalItems!: number;\n\t@Input() tabName: string = '';\n\t@Input() pageSize!: number;\n\n\t@Output() notificationId: EventEmitter =\n\n\t\tnew EventEmitter();\n\n\tcloseIcon = Icons.closePng;\n\tisNewIcon = Icons.greenDot;\n\tnotificationIcon = Icons.notificationoffer;\n\tactiveIcon = Icons.actionIcon;\n\tactionIcon = Icons.actionIcon;\n\t\n\tcomponent!: Content;\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tpublic notificationService: NotificationService,\n\t\tpublic pagerService: PagerService,\n\t\tprivate readonly sharedService: SharedService\n\t\t\n\t) { }\n\n\tpublic navigation(i:number)\n\n\t{\n\t\tthis.sharedService.navigateMethod(this.router, this.state[i].notificationLink);\n\n\t}\n\n\tdeleteNotification(id: string) \n\t{\n\t\tif(id) \n\t\t{\n\t\t\tthis.notificationId.emit(id);\n\t\t}\n\t\t\t\n\t}\n\n}\n\n\n","
\n
\n
\n
\"isNewIcon\"\n
\n
\"notificationIcon\"
\n
\"activeIcon\"
\n
\"mactionIcon\"
\n\n
\n
\n {{values.notificationType.charAt(0).toUpperCase() + values.notificationType.slice(1)}}: {{values.notificationTitle}}\n

{{values.notificationType.charAt(0).toUpperCase() + values.notificationType.slice(1)}}: {{values.notificationTitle}}

\n

{{values.notificationDescription}}

\n
\n
\n \n
{{values.dateCreated}}
\n
\n
\n
\n
\n
\n \n \n\n
","import { Component, Input, OnDestroy, OnInit, Output, EventEmitter, Inject } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KngGridPager, KngLoaderState, Notification, NotificationList, NotificationState, ResponseNotification } from './definitions';\nimport { NotificationService } from './notification.service';\nimport { Icons, Notifications } from '../../services/shared/shared-enums';\nimport { EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { PagerService } from 'kinetic-angular';\nimport { SharedApiService } from '../../services/shared/shared-api-call.service';\n\n\n@Component({\n\tselector: 'tmhna-portal-notifications',\n\ttemplateUrl: './template/notifications.component.html',\n\tstyleUrls: ['./template/notifications.component.scss']\n})\nexport class NotificationComponent implements Notification, OnInit, OnDestroy\n{\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\t@Input() set state(value: NotificationState)\n\t{\n\t\tthis.service.updateState(value);\n\t\tthis.pager = this.pagerService.getPager(this.state.tabs[0].pageInfo.totalCount, this.currentPage, this.state.tabs[0].pageInfo.pageSize);\n\t}\n\tget state(): NotificationState\n\t{\n\t\treturn this.service.state;\n\t}\n\tnoMessageIcon = Icons.noMessage;\n\tloaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderWhite\n\t};\n\ttabName: string = '';\n\tnotifications = Notifications;\n\tstartIndexBuffer: number = 0;\n\tendIndexBuffer: number = 0;\n\tpageNumber: number = 1;\n\ttotalCount: number = 0;\n\tcurrentPage: number = 1;\n\tunreadValue: string = Notifications.unread;\n\tall: string = Notifications.all;\n\tupdate: string = Notifications.update;\n\taction: string = Notifications.action;\n\toffer: string = Notifications.offer;\n\tpreviousTab: number = 0;\n\tpager: KngGridPager = {\n\t\ttotalPages: 1,\n\t\tcurrentPage: this.currentPage,\n\t\tendIndex: 0,\n\t\tendPage: 1,\n\t\tpageSize: 7,\n\t\tstartIndex: 0,\n\t\tstartPage: 1,\n\t\ttotalItems: this.state.tabs[0].data.length\n\t};\n\tnotificationList: NotificationList = {\n\t\tportalUserID: this.sharedService.getUserId(),\n\t\tnotificationType: 'all',\n\t\tcontactGRID: '',\n\t\troles: [],\n\t\tlocations: []\n\t};\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\tflag: boolean = false;\n\tselectedIndex: number = 0;\n\tconstructor( public service: NotificationService, private readonly pagerService: PagerService, public sharedService: SharedService, public sharedApiService: SharedApiService,\n\t\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t) { }\n\tngOnInit(): void\n\t{\n\t\tthis.initSubscriptions();\n\t\tthis.service.getNotificationLabels();\n\t\tthis.service.getNotificationData(this.notificationList);\n\t\tthis.service.pushAnalyticsEvent({\n\t\t\tevent: 'pageView',\n\t\t\tpage: {\n\t\t\t\tname: 'notifications',\n\t\t\t\ttype: 'notifications'\n\t\t\t}\n\t\t});\n\t\tthis.service.updateCurrentPageChanged.subscribe((isChanged: boolean) =>\n\t\t{\n\t\t\tif (isChanged)\n\t\t\t{\n\t\t\t\tthis.currentPage = this.currentPage > 1 ? this.currentPage - 1 : this.currentPage;\n\t\t\t\tthis.startIndexBuffer = this.pager.startIndex;\n\t\t\t\tthis.endIndexBuffer = this.pager.endIndex;\n\t\t\t\tthis.setPage(this.currentPage);\n\t\t\t\tthis.service.updateCurrentPageState(false);\n\t\t\t}\n\t\t});\n\t}\n\tngOnDestroy(): void\n\t{\n\t\tthis.destroySubscriptions();\n\t}\n\tprivate initSubscriptions(): void\n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: NotificationState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\tactivateTab(index: number, tab: string)\n\t{\n\t\tthis.previousTab = this.selectedIndex;\n\t\tthis.pageNumber = 1;\n\t\tthis.pager.currentPage = 1;\n\t\tthis.pager = this.pagerService.getPager(this.state.tabs[index].data.length, this.pager.currentPage, this.state.tabs[index].pageInfo.pageSize);\n\t\tthis.tabName = tab;\n\t\tswitch (this.tabName)\n\t\t{\n\t\t case Notifications.offer:\n\t\n\t\t this.state.tabs[3].data = this.service.notificationOrignalDataOffer;\n\t\t break;\n\n\t\t case Notifications.action:\n\t\n\t\t this.state.tabs[2].data = this.service.notificationOrignalDataAction;\n\t\t break;\n\n\t\t case Notifications.update:\n\t\t this.state.tabs[1].data = this.service.notificationOrignalDataUpdate;\n\t\t break;\n\n\t\t default:\n\t\t this.state.tabs[0].data = this.service.notificationOrignalData;\n\t\t}\n\t\tthis.flag = true;\n\t\tthis.service.selectedIndex = index;\n\t\tthis.selectedIndex = index;\n\t\tthis.setPage(this.pageNumber, true);\n\t}\n\tsetPage(e: number, firstTab?: boolean)\n\t{\n\t\tthis.pageNumber = e;\n\t\tthis.pager.currentPage = e;\n\t\tthis.currentPage = e;\n\t\tthis.service.currentPage = e;\n\t\tthis.pager = this.pagerService.getPager(this.state.tabs[this.selectedIndex].data.length, e, this.state.tabs[this.selectedIndex].pageInfo.pageSize);\n\t\tthis.service.totalPages = this.pager.totalPages;\n\t\tif (!firstTab)\n\t\t{\n\t\t\tthis.notificationCheck(this.tabName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tswitch (this.previousTab)\n\t\t\t{\n\n\t\t\tcase 3:\n\t\t\t\tthis.notificationCheck(Notifications.offer);\n\t\t\t\tthis.state.tabs[1].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataUpdate);\n\t\t\t\tthis.state.tabs[2].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataAction);\n\t\t this.state.tabs[0].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalData);\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.notificationCheck(Notifications.update);\n\t\t\t\tthis.state.tabs[0].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalData);\n\t\t\t\tthis.state.tabs[2].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataAction);\n\t\t this.state.tabs[3].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataOffer);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.notificationCheck(Notifications.action);\n\t\t\t\tthis.state.tabs[1].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataUpdate);\n\t\t\t\tthis.state.tabs[0].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalData);\n\t\t this.state.tabs[3].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataOffer);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.notificationCheck(Notifications.all);\n\t\t\t\tthis.state.tabs[1].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataUpdate);\n\t\t\t\tthis.state.tabs[2].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataAction);\n\t\t this.state.tabs[3].unreadCountData = this.checkUnreadNotifications(this.service.notificationOrignalDataOffer);\n\t\t\t}\n\t\t}\n\t}\n\tgetNotificationId(id: string)\n\t{\n\t\tif (id)\n\t\t{\n\t\t\tthis.service.deleteNotification(id);\n\t\t}\n\t}\n\tmarkAllRead() \n\t{\n\t\tconst unreadNotifications = this.service.notificationOrignalData.filter(data => data.status === Notifications.unread);\n\t\tthis.service.updateNotification(unreadNotifications, true);\n\t}\n\tpageNameCheck(notificationData: ResponseNotification[])\n\t{\n\t\tif ((this.currentPage > 1 || this.startIndexBuffer > 0 || this.flag) && notificationData.length > 0)\n\t\t{\n\t\t\tnotificationData = this.startIndexBufferFunction(notificationData);\t\n\t\t}\n\t\tconst count = this.countUpdate(notificationData);\n\t\tthis.startIndexBuffer = this.pager.startIndex;\n\t\tthis.endIndexBuffer = this.pager.endIndex;\n\t\tthis.readStatusUpdate(notificationData);\n\t\treturn {\n\t\t\tnotificationData: notificationData, count: count\n\t\t};\n\t}\n\treadStatusUpdate(notificationData: ResponseNotification[])\n\t{\n\t\tconst unreadNotification = [];\n\t\tfor (let i = this.startIndexBuffer; i < this.endIndexBuffer + 1; i++) \n\t\t{\n\t\t\tif (notificationData[i]?.status.toLocaleLowerCase() === this.unreadValue) \n\t\t\t{\n\t\t\t\tunreadNotification.push(notificationData[i]);\n\t\t\t}\n\t\t}\n\t\tif(unreadNotification.length > 0)\n\t\t{\n\t\t\tthis.service.updateNotification(unreadNotification);\n\t\t}\n\t}\n\tcountUpdate(notificationData: ResponseNotification[])\n\t{\n\t\tconst unreadCount = this.checkUnreadNotifications(this.service.notificationOrignalData);\n\t\tthis.sharedApiService.updatedUnreadNotificationState = unreadCount > 0;\n\t\treturn notificationData.filter(t => t.status !== 'read').length;\n\n\t}\n\tstartIndexBufferFunction(notificationData: ResponseNotification[])\n\t{\n\t\tfor (let i = this.startIndexBuffer; i < this.endIndexBuffer + 1 ; i++)\n\t\t{\n\t\t\tif (notificationData[i]?.status.toLocaleLowerCase() === this.unreadValue) \n\t\t\t{\n\t\t\t\tnotificationData[i].status = 'read';\n\t\t\t\tthis.state.tabs[0].unreadCountData = 0;\n\t\t\t\tthis.state.tabs[1].unreadCountData = 0;\n\t\t\t\tthis.state.tabs[2].unreadCountData = 0;\n\t\t\t\tthis.state.tabs[3].unreadCountData = 0;\n\t\t\t}\n\t\t} \n\t\treturn notificationData;\n\t}\n\tcheckUnreadNotifications(notificationData: ResponseNotification[])\n\t{\n\t\treturn notificationData.filter(t => t.status !== 'read').length;\n\t}\n\tnotificationCheck(tab: string) \n\t{\n\t\tlet notificationData: ResponseNotification[] = [];\n\t\tswitch (tab) \n\t\t{\n\t\tcase Notifications.offer:\n\t\t{\n\t\t\tnotificationData = this.service.notificationOrignalDataOffer;\n\t\t\tconst countOffer: { notificationData: ResponseNotification[]; count: number } = this.pageNameCheck(notificationData);\n\t\t\tthis.state.tabs[3].unreadCountData = countOffer.count;\n\t\t\tthis.state.tabs[3].data = countOffer.notificationData;\n\t\t\tbreak;\n\t\t}\n\t\tcase Notifications.action:\n\t\t{\n\t\t\tnotificationData = this.service.notificationOrignalDataAction;\n\t\t\tconst countAction: { notificationData: ResponseNotification[]; count: number } = this.pageNameCheck(notificationData);\n\t\t\tthis.state.tabs[2].unreadCountData = countAction.count;\n\t\t\tthis.state.tabs[2].data = countAction.notificationData;\n\t\t\tbreak;\n\t\t}\n\t\tcase Notifications.update:\n\t\t{\n\t\t\tnotificationData = this.service.notificationOrignalDataUpdate;\n\t\t\tconst countUpdate: { notificationData: ResponseNotification[]; count: number } = this.pageNameCheck(notificationData);\n\t\t\tthis.state.tabs[1].unreadCountData = countUpdate.count;\n\t\t\tthis.state.tabs[1].data = countUpdate.notificationData;\n\t\t\tbreak;\n\n\t\t}\n\t\tdefault:\n\t\t{\n\t\t\tnotificationData = this.service.notificationOrignalData;\n\t\t\tconst countAll: { notificationData: ResponseNotification[]; count: number } = this.pageNameCheck(notificationData);\n\t\t\tthis.state.tabs[0].unreadCountData = countAll.count;\n\t\t\tthis.state.tabs[0].data = countAll.notificationData;\n\t\t}\n\t\t}\n\t}\n}\n","
\n
\n \n
\n
\n

{{state.pageHeading}}

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n Showing {{ pager.startIndex + 1 }}-{{ (state.tabs[selectedIndex].data.length) > pager.pageSize *\n (pager.currentPage) ? pager.pageSize *\n (pager.currentPage): (state.tabs[selectedIndex].data.length) | number }} of\n {{ (state.tabs[selectedIndex].data.length) | number }}\n
\n \n
\n
\n \"state.noNotification\"\n

{{ state.noNotification }}

\n
\n
\n","import { PageInfo } from '../../services/shared/shared-interface';\nimport { NotificationState } from './definitions';\n\nexport class NotificationFactory\n{\n\tpublic static build(): NotificationState\n\t{\n\t\treturn {\n\n\t\t\tloading: true,\n\t\t\tpageHeading: 'Notifications',\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tid: '',\n\t\t\t\t\tlabel: 'All',\n\t\t\t\t\tpageInfo: this.getPageInfo(),\n\t\t\t\t\tdata: [{\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tisNewIcon: {\n\t\t\t\t\t\t\ticonPath: '/assets/green_dot.svg',\n\t\t\t\t\t\t\taltText: 'greenDot'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnotificationIcon: {\n\t\t\t\t\t\t\ticonPath: '/assets/active.svg',\n\t\t\t\t\t\t\taltText: 'active'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnotificationTitle: '',\n\t\t\t\t\t\tnotificationDescription: '',\n\t\t\t\t\t\tcloseIcon: {\n\t\t\t\t\t\t\ticonPath: '/assets/close.png',\n\t\t\t\t\t\t\taltText: 'delete'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdateCreated: '',\n\t\t\t\t\t\tportalUserID: '',\n\t\t\t\t\t\tstatus: 'read',\n\t\t\t\t\t\tsystemNotificationID: '',\n\t\t\t\t\t\tnotificationType: '',\n\t\t\t\t\t\tnotificationLink: ''\n\n\n\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tunreadCountData: 0\n\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '',\n\t\t\t\t\tlabel: 'Update',\n\t\t\t\t\tpageInfo: this.getPageInfo(),\n\t\t\t\t\tunreadCountData: 0,\n\n\t\t\t\t\tdata: this.getNotificationContentByType('active')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '',\n\t\t\t\t\tlabel: 'Action',\n\t\t\t\t\tpageInfo: this.getPageInfo(),\n\t\t\t\t\tunreadCountData: 0,\n\n\t\t\t\t\tdata: this.getNotificationContentByType('action')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '',\n\t\t\t\t\tlabel: 'Offer',\n\t\t\t\t\tpageInfo: this.getPageInfo(),\n\t\t\t\t\tunreadCountData: 0,\n\n\t\t\t\t\tdata: this.getNotificationContentByType('offer')\n\t\t\t\t}\n\t\t\t],\n\t\t\tmarkAsRead: 'Mark all as read',\n\t\t\tnoNotification: 'No New Notification',\n\t\t\tunreadCount: 0\n\t\t};\n\t}\n\tpublic static getPageInfo(): PageInfo\n\t{\n\t\treturn {\n\t\t\tpageSize: 7,\n\t\t\ttotalCount: 0\n\t\t};\n\t}\n\tpublic static getUnCountData()\n\t{\n\t\treturn {\n\t\t\tall: 0,\n\t\t\toffer: 0,\n\t\t\taction: 0,\n\t\t\tupdate: 0\n\t\t};\n\n\t}\n\tpublic static getNotificationContentByType(type: string)\n\t{\n\t\tlet iconPathValue = '';\n\t\tlet altTextValue = '';\n\t\tswitch (type)\n\t\t{\n\t\tcase 'offer':\n\t\t\ticonPathValue = '/assets/offer.svg';\n\t\t\taltTextValue = 'offer';\n\t\t\tbreak;\n\t\tcase 'action':\n\t\t\ticonPathValue = '/assets/action.svg';\n\t\t\taltTextValue = 'action';\n\t\t\tbreak;\n\t\tcase 'active':\n\t\t\ticonPathValue = '/assets/active.svg';\n\t\t\taltTextValue = 'active';\n\t\t\tbreak;\n\t\t}\n\t\treturn [{\n\t\t\tid: '',\n\t\t\tisNewIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tnotificationIcon: {\n\t\t\t\ticonPath: iconPathValue,\n\t\t\t\taltText: altTextValue\n\t\t\t},\n\t\t\tnotificationTitle: '',\n\t\t\tnotificationDescription: '',\n\t\t\tcloseIcon: {\n\t\t\t\ticonPath: '/assets/close.png',\n\t\t\t\taltText: 'delete'\n\t\t\t},\n\t\t\tdateCreated: '',\n\t\t\tportalUserID: '',\n\t\t\tstatus: 'read',\n\t\t\tsystemNotificationID: '',\n\t\t\tnotificationType: '',\n\t\t\tnotificationLink: ''\n\n\t\t}\n\t\t];\n\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { NotificationComponent } from './notification.component';\nimport { NotificationService } from './notification.service';\nimport { NotificationContentComponent } from './notification-content/notification-content.component';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { KngLoaderModule } from 'kinetic-angular';\nimport { AnalyticsModule } from '../../services/analytics/analytics.module';\nconst routes: Routes = [\n\t{ path: '', component: NotificationComponent, data: { title: 'Notification' } }\n];\n\n@NgModule({\n\timports: [RouterModule.forChild(routes)],\n\texports: [RouterModule]\n})\nexport class NotificationRoutingModule {}\n@NgModule({\n\tdeclarations: [\n\t\tNotificationComponent,\n\t\tNotificationContentComponent\n\t],\n\timports: [ CommonModule, NotificationRoutingModule, NgxPaginationModule, KngLoaderModule, AnalyticsModule ],\n\texports: [\n\t\tNotificationComponent\n\t],\n\tproviders: [\n\t\tNotificationService\n\t]\n})\nexport class NotificationModule { }\n","import { AnalyticsDataLayer } from './../../services/analytics/definitions/analytics.interface';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, concatMap, Observable, tap } from 'rxjs';\nimport { NotificationFactory } from './notification.factory';\nimport { BulkreadInput, DeletePayload, NotificationList, NotificationState, NotificationTab, ResponseData, ResponseNotification, SingleNotification, UnreadCountData, UpdateNotificationList } from './definitions';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../../services/api/api.service';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { SharedApiService } from '../../services/shared/shared-api-call.service';\nimport { LoggedInUser } from '../../services/shared/shared-interface';\nimport { LanguageCode, Notifications } from '../../services/shared/shared-enums';\nimport { indexOf } from 'lodash';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class NotificationService\n{\n\tconstructor( public apiService: ApiService, public loggerService: LoggerService, private readonly sharedService: SharedService, private readonly sharedApiService: SharedApiService, private readonly analyticsService: AnalyticsService) { }\n\tnotificationOrignalData : ResponseNotification[] = [];\n\tnotificationOrignalDataUpdate : ResponseNotification[] = [];\n\tnotificationOrignalDataAction : ResponseNotification[] = [];\n\tnotificationOrignalDataOffer :ResponseNotification[] = [];\n\tnotificationCount: UnreadCountData = { all: 0, offer: 0, action: 0, update: 0 };\n\tcurrentPage: number = 0;\n\ttotalPages: number = 1;\n\tselectedIndex: number = 0;\n\tdeletePayload: DeletePayload = {\n\t\tportalUserID: '',\n \tcontactGRID: '',\n \tstatus: 'archived',\n \tnotifications: [{\n\t\t\tmessageID: '',\n\t\t\tcustomerGRID: '',\n\t\t\tnotificationType: ''\n\t\t}]\n\t};\n\tupdatePayload: DeletePayload = {\n\t\tportalUserID: '',\n \tstatus: 'read',\n\t\tcontactGRID: '',\n \tnotifications: [{\n\t\t\tmessageID: '',\n\t\t\tcustomerGRID: '',\n\t\t\tnotificationType: ''\n\t\t}]\n\t};\n\tupdateNotificationList: BulkreadInput ={\n\t\tid: '',\n\t\tnotificationType: ''\n\t};\n\tbulkInput: UpdateNotificationList ={\n\t\tbulkReadInput: []\n\t};\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(\n\t\tNotificationFactory.build()\n\t);\n\tget state(): NotificationState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tprivate readonly updateCurrentPage$: BehaviorSubject = new BehaviorSubject(\n\t\tfalse\n\t);\n\tget updateCurrentPage(): boolean\n\t{\n\t\treturn this.updateCurrentPage$.value;\n\t}\n\tget updateCurrentPageChanged(): Observable\n\t{\n\t\treturn this.updateCurrentPage$.asObservable();\n\t}\n\tpublic updateCurrentPageState(value: boolean): void\n\t{\n\t\tthis.updateCurrentPage$.next(value);\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tpublic pushAnalyticsEvent(data: AnalyticsDataLayer): void\n\t{\n\t\tthis.analyticsService.trackByEvent(data);\n\t}\n\tpublic updateState(value: NotificationState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\tpublic getNotificationLabels()\n\t{\n\t\tthis.apiService.getNotificationsAemLabels().subscribe({\n\t\t\tnext: (res) =>\n\t\t\t{\n\t\t\t\tif (res)\n\t\t\t\t{\n\t\t\t\t\tthis.state.pageHeading = res.pageHeading;\n\t\t\t\t\tthis.state.tabs[0].label = res.tabs[0].label;\n\t\t\t\t\tthis.state.tabs[1].label = res.tabs[1].label;\n\t\t\t\t\tthis.state.tabs[2].label = res.tabs[2].label;\n\t\t\t\t\tthis.state.tabs[3].label = res.tabs[3].label;\n\t\t\t\t\tthis.state.markAsRead = res.markAsRead;\n\t\t\t\t\tthis.state.noNotification = res.noNotification;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tpublic getNotificationData(notification:NotificationList)\n\t{\n\t\tthis.state.loading = true;\n\t\tthis.sharedService.getLoggedInUserObs().pipe(tap((userData: LoggedInUser) =>\n\t\t{\n\t\t\tnotification.portalUserID = userData.userId;\n\t\t\tnotification.contactGRID = userData.contactGRID? userData.contactGRID : userData.contactID;\n\t\t\tnotification.roles = userData.roles;\t\t\t\n\t\t}),\n\t\tconcatMap(() => this.sharedService.getLoggedInUseLocationsIdsObs()),\n\t\ttap((locationIds: string[]) => \n\t\t{\n\t\t\tnotification.locations = locationIds;\n\t\t}),\n\t\tconcatMap(() => this.apiService.notificationList(notification))).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject: ResponseData = res.data;\n\t\t\t\t\tconst responseObjectData: ResponseNotification[] = responseObject.notificationData;\n\t\t\t\t\tthis.notificationCount = responseObject.unreadCountData? responseObject.unreadCountData : { all: 0, offer: 0, action: 0, update: 0 };\n\t\t\t\t this.notificationOrignalData = responseObjectData || [];\n\t\t\t\t\tthis.state.tabs.forEach((key:NotificationTab) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tkey.data = responseObjectData || [];\n\t\t\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t\tthis.state.tabs[0].data.forEach((value) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue.dateCreated = (new Intl.DateTimeFormat(LanguageCode.default, { month: 'long', day: 'numeric' }).format(new Date()));\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.notificationOrignalDataUpdate = this.filterArray(Notifications.update.toLocaleLowerCase());\n\t\t\t\t\tthis.notificationOrignalDataOffer= this.filterArray(Notifications.offer.toLocaleLowerCase());\n\t\t\t\t\tthis.notificationOrignalDataAction=this.filterArray(Notifications.action.toLocaleLowerCase());\n\n\t\t\t\t\tconst bulkInput:UpdateNotificationList= { bulkReadInput: [] };\n\t\t\t\t\tresponseObjectData?.forEach((el: ResponseNotification) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(el.status === 'unread')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst arrayInputs={\n\t\t\t\t\t\t\t\tid: el.id,\n\t\t\t\t\t\t\t\tnotificationType: el.notificationType\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tbulkInput.bulkReadInput.push(arrayInputs);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.unreadCountForfirstPage(bulkInput) ;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: ()=>\n\t\t\t{\n\t\t\t\tthis.state.tabs.forEach((key:NotificationTab) =>\n\t\t\t\t{\n\t\t\t\t\tkey.data = [];\n\t\t\t\t\tkey.pageInfo.totalCount= 0;\n\t\t\t\t\tkey.unreadCountData= 0;\n\t\t\t\t\tkey.id= '';\n\n\t\t\t\t});\n\t\t\t\tthis.state.loading = false;\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.state.loading = false;\n\t\t\t\t\tthis.updateCurrentPageState(true);\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\tcheckIfNotificationsPresent(responseObject: NotificationTab)\n\t{\n\t\tif( responseObject.data.length === 0)\n\t\t{\n\t\t\tthis.updateCurrentPage$.next(true);\n\t\t}\n\t}\n\tcheckForUnreadNotifications(bulkInput: UpdateNotificationList)\n\t{\n\t\tbulkInput.bulkReadInput.length > 0? this.updateNotificationData(bulkInput) : this.sharedApiService.getUnreadNotificationsCount();\n\t}\n\tunreadCountForfirstPage(bulkInput: UpdateNotificationList)\n\t{\n\t\tthis.state.unreadCount = bulkInput.bulkReadInput.length > 0 ? this.state.tabs[0].unreadCountData-bulkInput.bulkReadInput.length: this.state.tabs[0].unreadCountData;\n\t}\n\tpublic deleteNotification(id: string)\n\t{\n\t\tthis.state.loading = true;\n\t\tthis.deletePayload.notifications[0].messageID = id;\n\t\tthis.notificationOrignalData?.forEach((val: ResponseNotification) =>\n\t\t{\n\t\t\tif(val.id === id)\n\t\t\t{\n\t\t\t\tthis.deletePayload.notifications[0].notificationType = val.notificationType;\t\t\t\t\n\t\t\t}\n\t\t});\n\t\tthis.deletePayload.notifications[0].customerGRID= '';\n\t\tthis.deletePayload.status = Notifications.archived;\n\t\tthis.sharedService.getLoggedInUserObs().pipe(tap((userData: LoggedInUser) =>\n\t\t{\n\t\t\tthis.deletePayload.portalUserID = userData.userId;\n\t\t\tthis.deletePayload.contactGRID = userData.contactGRID? userData.contactGRID : '';\n\t\t}),\n\t\tconcatMap(() => this.apiService.removeNotification(this.deletePayload))).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tthis.loggerService.log(JSON.stringify(res));\n\t\t\t\tif(res?.success)\n\t\t\t\t{\n\t\t\t\t\tthis.getUpdatedNotificationData(id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.state.loading = false;\n\t\t\t\t}, 1000);\n\t\t\t} \n\t\t});\n\t}\n\tcheckUnreadNotifications(notificationData: ResponseNotification[]) \n\t{\n\t\treturn notificationData.filter(t => t.status !== 'read').length;\n\t}\n\tpublic updateNotification(notificationData: ResponseNotification[], markAllread: boolean = false)\n\t{\n\t\tif (markAllread === true)\n\t\t{\n\t\t\tthis.state.loading = true;\n\t\t}\n\t\tthis.updatePayload.status = Notifications.read;\n\t\tthis.updatePayload.notifications=[];\n\t\tnotificationData.forEach(ele => \n\t\t{\n\t\t\tconst readNotification:SingleNotification = { messageID: '', customerGRID: '', notificationType: '' };\n\t\t\treadNotification.messageID = ele.id;\n\t\t\treadNotification.customerGRID = ele.customerGRID? ele.customerGRID : '';\n\t\t\treadNotification.notificationType = ele.notificationType;\n\t\t\tthis.updatePayload.notifications.push(readNotification);\n\t\t});\n\t\tthis.sharedService.getLoggedInUserObs().pipe(tap((userData: LoggedInUser) => \n\t\t{\n\t\t\tthis.updatePayload.portalUserID = userData.userId;\n\t\t\tthis.updatePayload.contactGRID = userData.contactGRID? userData.contactGRID : '';\n\t\t}),\n\t\tconcatMap(() => this.apiService.removeNotification(this.updatePayload))).subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.loggerService.log(JSON.stringify(res));\n\t\t\t\tif (markAllread === true)\n\t\t\t\t{\n\t\t\t\t\tthis.sharedApiService.updatedUnreadNotificationState = false;\n\t\t\t\t\tthis.notificationOrignalData.forEach(data => data.status = Notifications.read);\n\t\t\t\t\tthis.state.tabs[1].unreadCountData = this.checkUnreadNotifications(this.notificationOrignalDataUpdate);\n\t\t\t\t\tthis.state.tabs[2].unreadCountData = this.checkUnreadNotifications(this.notificationOrignalDataAction);\n\t\t\t\t\tthis.state.tabs[3].unreadCountData = this.checkUnreadNotifications(this.notificationOrignalDataOffer);\n\t\t\t\t\tthis.state.tabs[0].unreadCountData = this.checkUnreadNotifications(this.notificationOrignalData);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tgetUpdatedNotificationData(id: string)\n\t{\n\t\tconst messageId = this.deletePayload.notifications[0].messageID;\n\t\tthis.notificationOrignalData?.forEach((val) =>\n\t\t{\n\t\t\tif(val.id === id)\n\t\t\t{\n\t\t\t\tthis.updateNotificationListAfterDelete(this.notificationOrignalData, val, 0);\n\t\t\t}\n\t\t});\n\t\tthis.notificationOrignalDataUpdate?.forEach((val) =>\n\t\t{\n\t\t\tif(val.id === messageId && val.notificationType === Notifications.update.toLocaleLowerCase())\n\t\t\t{\n\t\t\t\tthis.updateNotificationListAfterDelete(this.notificationOrignalDataUpdate, val, 1);\n\t\t\t}\n\t\t});\n\t\tthis.notificationOrignalDataAction?.forEach((val) =>\n\t\t{\n\t\t\tif(val.id === messageId && val.notificationType === Notifications.action.toLocaleLowerCase())\n\t\t\t{\n\t\t\t\tthis.updateNotificationListAfterDelete(this.notificationOrignalDataAction, val, 2);\n\t\t\t}\n\t\t});\n\t\tthis.notificationOrignalDataOffer?.forEach((val) =>\n\t\t{\n\t\t\tif(val.id === messageId && val.notificationType === Notifications.offer.toLocaleLowerCase())\n\t\t\t{\n\t\t\t\tthis.updateNotificationListAfterDelete(this.notificationOrignalDataOffer, val, 3);\n\t\t\t}\n\t\t});\n\t}\n\tpublic updateNotificationData(updateNotificationList:UpdateNotificationList)\n\t{\n\t\tthis.apiService.updateNotificationList(updateNotificationList).pipe(tap()).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tconst response = res;\n\t\t\t\tthis.loggerService.log('updated request' + response);\n\t\t\t\tthis.sharedApiService.getUnreadNotificationsCount();\n\t\t\t}\n\t\t});\n\t}\n\tfilterArray( tabName : string)\n\t{\n\t\tconst filteredArray = this.notificationOrignalData.filter(function(itm)\n\t\t{\n\t\t\treturn tabName.indexOf(itm.notificationType) > -1;\n\t\t});\n\t return filteredArray;\n\t}\n\tupdateNotificationListAfterDelete(notificationData: ResponseNotification[], val: ResponseNotification, tabIndex: number)\n\t{\n\t\tconst index = indexOf(notificationData, val);\n\t\tnotificationData.splice(index, 1);\n\t\tthis.state.tabs[this.selectedIndex].data = notificationData;\n\t\tif((Math.ceil(notificationData.length / 7)< this.totalPages && this.currentPage> 0 && this.currentPage === this.totalPages) && this.selectedIndex === tabIndex)\n\t\t{\n\t\t\tthis.updateCurrentPage$.next(true);\n\t\t}\n\t\tthis.state.tabs[this.selectedIndex].unreadCountData = notificationData.filter(t=>t.status !== 'read').length;\n\t}\n}\n","import { PageInfo } from 'kinetic-angular';\nimport { FilterData, FilterPanelSection, Image, LocationAddress, SearchLabels } from '../../../services/shared/shared-interface';\nimport { SortOrder } from '../../../services/shared/shared-enums';\nimport { ResponseDealerAddress } from '../sub-modules/equipment-order-details/definitions/equipment-order-details.interface';\n\nexport interface OrderManagement {\n state: OrderManagementState;\n}\nexport interface OrderManagementState {\n sectionHeader: OrderManagementTop;\n sectionEquipmentOrder: OrderManagementMiddle;\n sectionOrderList: OrderManagementBottom;\n}\n\nexport interface OrderManagementStateLabel {\n sectionTop: { heading: string };\n sectionMiddle: OrderManagementSectionMiddle;\n sectionBottom: OrderManagementBottom;\n}\nexport interface OrderManagementTop {\n sectionTop : { heading: string | undefined };\n}\nexport interface OrderManagementMiddle {\n heading: string | null;\n subHeading: string;\n search: SearchLabels;\n filteringPanelSection: FilterPanelSection;\n download: string;\n invoiceStatusUpdated: boolean;\n}\nexport interface OrderManagementSectionMiddle {\n heading: string;\n subHeading: string;\n search: SearchLabels;\n filter: FilterData;\n filterForm: FilterFormData;\n download: string;\n invalidSearchText: string;\n}\nexport interface OrderManagementBottom {\n orderStatus: OrderStatusData[];\n gridData: EquipmentOrderListHeaderData;\n}\nexport interface EquipmentOrderListHeaderData {\n crmOppNumber: string;\n truckNumber: string;\n orderDate: string;\n status: string;\n billingLocation: string;\n shippingLocation: string;\n billingLocationAddress?: ResponseDealerAddress;\n shippingLocationAddress?: ResponseDealerAddress;\n model: string;\n}\nexport interface OrderStatusData {\n label: string;\n altText: string;\n}\nexport interface FilterFormData {\n formLabel: string;\n searchLocation: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string;\n };\n shippingLocation: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n searchPlaceholder: string;\n searchIcon: Image;\n noResultsFoundLabel: string; \n errorMessage: string;\n };\n dateRange: {\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n label: string;\n values: string[];\n customDateFromLabel: string;\n customDateToLabel: string;\n };\n division: CheckBoxFilter;\n group: CheckBoxFilter;\n clearAllButtonLabel: string;\n applyButtonLabel: string;\n}\n\nexport interface CheckBoxFilter {\n label: string;\n accordionIconExpanded: Image;\n accordionIconCollapsed: Image;\n search: SearchLabels;\n noResultsFoundLabel: string;\n noAssociatedGroupsFoundLabel?: string;\n showMoreText?: string;\n showLessText?: string;\n}\nexport interface OrderManagementSelectedFilter {\n key: string;\n value: string;\n id?: string;\n \n }\nexport interface OrderListPayload {\n skip: number;\n limit: number;\n startDate?: number;\n endDate?: number;\n locations?: string[];\n search?:string;\n sort?: OrderListSort;\n status: string;\n shippingLocations?: LocationAddress[]; \n}\nexport interface OrderListSort {\n field: string;\n order: SortOrder;\n}\nexport interface EquipmentOrderList {\n key: string;\n value: string;\n}\nexport interface OrderListResponse {\n equipmentOrders: EquipmentOrderListHeaderData[];\n pageInfo: PageInfo;\n deliveredCount: number;\n inProductionCount: number;\n orderinProcessCount:number;\n shippedCount: number;\n}\nexport interface OrderListHeader {\n crmOppNumber?: string;\n truckNumber: string;\n orderDate: string;\n status: string;\n location: string;\n vin: string;\n equipmentType: string;\n ETA: string;\n}\nexport enum OrderHeaderName {\n crmOppNumber = 'Order #',\n orderNumber = 'Order #',\n orderDate = 'Order Date',\n status = 'Status',\n location = 'Location',\n equipmentVin = 'Equipment VIN',\n equipmentType = 'Equipment Classification',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ETA = 'ETA',\n}\nexport enum EquipmentOrderTablelHeaderName {\n crmOppNumber = 'Order#',\n truckNumber = 'Truck#',\n orderDate = 'Order Date',\n location = 'Billing Address',\n shippingLocation = 'Shipping Address',\n model = 'Model',\n status = 'Status'\n}\n\nexport enum InvoiceStatusLabel {\n all = 'All',\n orderinProcess = 'In Process',\n inProduction = 'In Production',\n shipped = 'Shipped',\n delivered = 'Delivered'\n}\nexport enum InvoiceStatusHeader {\n all = 'all',\n orderinProcess = 'orderinProcess',\n inProduction = 'inProduction',\n shipped = 'shipped',\n delivered = 'delivered'\n}\n\nexport interface OrderDetailsPayload {\n locations: string[];\n truckNumber: string;\n}\nexport interface ShippingLocationPayload {\n locations: string[];\n}\nexport interface ShippingLocationListResponse {\n records: LocationAddress[];\n}\n","export * from './registration.interface';\n","import { ErrorMessage, KngButtonState, KngFooterState, ModalState } from 'kinetic-angular';\nimport { UserProfile, VertexAPIValidationLabels, IdLabelPair, Role, Address, Image, TokenData, LocationAddress, VertexAPIAddressValidationFailedLabels } from '../../../services/shared/shared-interface';\nimport { UserRegistrationStatusValue } from '../../../services/api/definitions';\nimport { UploadFileSection } from 'projects/kinetic-angular/src/lib/components/upload-file';\nimport { CommonErrorState } from '../../common-error';\nexport interface Registration {\n state: RegistrationState;\n}\nexport interface RegistrationState {\n\ttempFlag: boolean;\n\ttempIsPrefilled: boolean;\n\tcrmPrefill: boolean;\n\tfirstName: string;\n\tlastName: string;\n\tphoneNumber: string;\n\tjobTitle: IdLabelPair[];\n\trequestedRole: Role[];\n\tcompanyDetails: CompanyDetailsSection;\n\taddressDetails: Address;\n\taccountName: string;\n\temail: string;\n\tsubmitButton: KngButtonState;\n\tverifyInformationButton: KngButtonState;\n\tmodifyDetailsButton: KngButtonState;\n\tcontinueButton: KngButtonState;\n\tcontactDealerButton: KngButtonState;\n\tdisagreeButton: KngButtonState;\n\ttermsAgreeButton: KngButtonState;\n\tpolicyAgreeButton: KngButtonState;\n\ttermsModal: ModalState;\n\tpolicyModal: ModalState;\n\tfooter: KngFooterState;\n\tregistrationPage: RegistrationPage;\n\tdealerInfo: DealerInfo | undefined;\n\tloading: boolean;\n\tprofileInformation: UserProfile;\n\tvertexAPIValidationLabels: VertexAPIValidationLabels;\n\tmapVertexAddressFailedLabels: VertexAPIAddressValidationFailedLabels;\n\terrorText: RegistrationFormError;\n\tadditionalLocationList: AdditionalLocationListResponse;\n\tadditionalLocationGridHeaderDesktop: string[];\n\tadditionalLocationGrid: GridData[];\n\tadditionalLocationError?: ErrorMessage;\n\tribbonClearButton: KngButtonState;\n\tadditionalLocationSubmitButton: KngButtonState;\n\tbusinessRegistrationFlowSubmitModalLabels: BusinessRegistrationFlowSubmitModalLabels;\n\tuploadFileSection: UploadFileLabels;\n}\n\nexport interface BusinessRegistrationFlowSubmitModalLabels {\n\theading: string;\n\tcloseIcon: Image;\n\tcancel: string;\n\tproceed: string;\n}\nexport interface UploadFileLabels {\n\theading: string;\n\tsubHeading: string;\n\tcloseIcon: Image;\n\tcancel: string;\n\tupload: string;\n\tclose: string;\n\tdownload: DownloadTemplate;\n\tuploadFile: UploadFileSection;\n\terrorState:CommonErrorState;\n\tcontent: [{\n\t\tlabel: string;\n\t\tdescription: string;\n\t}];\n }\nexport interface DownloadTemplate{\n\tdownloadButton:string;\n\terrorMessage:string;\n}\nexport interface AdditionalLocationListResponse {\n\tprimaryLocationInfo: {\n\t\tprimaryLocationGRID: string;\n\t\tadminLocationID: string;\n\t\ttopLevelGrid: string;\n\t\tcompanyName: string;\n\t\taddressLine1: string;\n\t\taddressLine2: string;\n\t\tcity: string;\n\t\tstate: string;\n\t\tzipCode: string;\n\t\tcountry: string;\n\t};\n\tlocationList: LocationList[];\n\tpendingLocationDetails: {\n\t\toriginalFileName: string;\n\t\tupdatedFileName: string;\n\t };\n}\nexport interface GridData {\n\tlocationGRID: string;\n\tcompanyName: string;\n\taddress: string;\n\tcountry: string;\n\tchecked:boolean;\n}\nexport interface LocationList {\n\tlocationGRID: string;\n\tcompanyName: string;\n\taddressLine1: string;\n\taddressLine2?: string;\n\tcity: string;\n\tstate: string;\n\tzipCode: string;\n\tcountry: string;\n}\nexport interface CompanyDetailsSection {\n\taddressLine1 : string;\n\taddressLine2: string;\n\tcompanyName : string;\n \tcountry: string;\n\tstate : string;\n\tzipCode: string;\n\tcity: string;\n}\n\nexport interface SubmitBusinessPayload\n{\n\tselectedLocationList:LocationList[];\n\tselectionMethod: LocationSelectionMethod;\n\tclaimDomain: boolean;\n}\n\nexport type LocationSelectionMethod = 'manual' | 'fileupload' | 'document';\n\nexport interface SaveUserPayload extends LocationAddress{\n\taccountName: string;\n\tcity: string;\n\temail: string;\n\tfirstName: string;\n\tjobTitle: string;\n\tlastName: string;\n\tphoneNumber: string;\n\trequestedRole: string;\n\tcrmPrefill: boolean;\n\tproceedWithInputtedAddress?: boolean;\n}\n\nexport interface DealerInfo {\n\taddress: string;\n\tdealerName: string;\n\temail: string;\n\tphoneNumber: string;\n}\n\nexport interface DealerData {\n\tsuccessMessage?: string;\n\terrorMessage?: string;\n\tdealerInfo?: DealerInfo;\n\tregistrationStatus?: string;\n\trequestType?: string;\n\torgAdminPending?: boolean;\n}\n\nexport interface RegistrationPage {\n\tcompanyDetails: CompanyDetails;\n\tcompanyError: CompanyError;\n\tlogo: Image;\n\tlogoutLabel: string;\n\tpageDescription: string;\n\tpageHeading: string;\n\tprofileInfo: ProfileInfo;\n\tstepLabel: string;\n\tsubmitButton: string;\n\ttermsConditions: TermConditions;\n\tprivacypolicy:PrivacyPolicy;\n\taccountType: AccountType;\n\tadditionalLocation: AdditionalLocations;\n\tdomainInfo: DomainLabels;\n}\n\nexport interface CompanyDetails {\n\taddressLine1: string;\n\taddressLine2: string;\n\taddress2OptionalLabel: string;\n\tcity: string;\n\tcompanyName: string;\n\tdescription: string;\n\theading: string;\n\tlogo: Image;\n country: string;\n\tstate: string;\n\tstateAltText: string;\n\tstepNumber: string;\n\tzipCode: string;\n\tcompanyNotFoundErrorModalDescription: string;\n\tcompanyNotFoundErrorModalHeader: string;\n}\n\nexport interface CompanyError {\n\tmessageMain: string;\n\tmessageSub: string;\n\tactionMessage: string;\n\tphoneNumber: {\n\t\tlabel: string;\n\t\tvalue: string;\n\t};\n\temail: {\n\t\tlabel: string;\n\t\tvalue: string;\n\t};\n\tcustomerServiceName: string;\n\taddress: string;\n\tcontactDealer: {\n\t\tlabel: string;\n\t\ticon: string;\n\t};\n}\n\n\nexport interface ProfileInfo {\n\tdescription: string;\n\temailAddress: string;\n\tfirstName: string;\n\theading: string;\n\tjobTitle: string;\n\tjobTitleAltText: string;\n\tlastName: string;\n\tlogo: Image;\n\tphoneNumber: string;\n\trequestedRole: RequestedRole;\n\trequestedRoleAltText: string;\n\tstepNumber: string;\n}\n\nexport interface TermConditions {\n\tdescription: string;\n\theading: string;\n\tlogo: Image;\n\tprivacy: ModalData;\n\tstepNumber: string;\n\tterms: ModalData;\n}\n\nexport interface AccountType {\n\tdescription?: string;\n\theading: string;\n\tlogo: Image;\n\tstepNumber: string;\n\tindividualAccount: AccountDetails;\n\tbusinessAccount: AccountDetails;\n}\n\nexport interface AccountDetails {\n\tlabel: string;\n\tdescription1: string;\n\tdescription2: string;\n\ttokenData: Array;\n}\n\nexport interface AdditionalLocations {\n\tlocationPageDescription: LocationPageDescription;\n\theading1: string;\n\theadingOr: string;\n\theading2: UploadLocationList;\n\tlogo: Image;\n\tstepNumber: string;\n\tprimaryLocationHeading: string;\n\tselectLocationTableHeader: {\n\t\tcompanyName: string;\n\t\taddress: string;\n\t\tcountry: string;\n\t\tselectAll: string;\n\t};\n\tuploadSuccessText: string;\n\tuploadSuccessSubtext: string;\n}\n\nexport interface UploadLocationList {\n\tlabel: string;\n\ticonPath: string;\n\taltText: string;\n }\nexport interface LocationPageDescription {\n\tdescription1: string;\n\tdescription2: string;\n\ttokenData: Array;\n}\nexport interface PrivacyPolicy {\n\tdescription: string;\n\theading: string;\n\tlogo: Image;\n\tprivacy: ModalData;\n\tstepNumber: string;\n\tterms: ModalData;\n}\n\nexport interface ModalData {\n\tinfoBanner?: string;\n\tlabel: string;\n\tmodal: ModalDetails;\n\ttokenData: Array;\n}\n\nexport interface ModalDetails {\n\tagreeButtonLabel: string;\n\tagreedButtonLabel: string;\n\tcloseIcon: Image;\n\tcontent: Array;\n\tdisagreeButtonLabel: string;\n\theading: string;\n\tcheckboxText: string;\n}\n\nexport interface RequestedRole {\n\tlabel: string;\n\tdescription: string;\n}\nexport interface RegistrationResponse {\n\t'registration-page': RegistrationPage;\n}\nexport interface RegistrationFormError {\n invalidCharacterWithNumericErrorMessage: string;\n requiredErrorMessage: string;\n requiredDropdownErrorMessage: string;\n minLengthZipCodeError: string;\n canadaPostalCodeFormatError: string;\n phoneLength: string;\n phoneSameNumber: string;\n phoneSequenceNumber: string;\n}\nexport interface SubmitRegistrationResponse{\n\tsuccessMessage: string;\n registrationStatus: UserRegistrationStatusValue;\n requestType:string;\n}\n\nexport interface SaveBusinessAccountResponse {\n registrationStatus: UserRegistrationStatusValue;\n\tuserStatus: string;\n}\n\nexport interface DomainLabels{\n\theading: string;\n\tdescription: string;\n\tstepNumber: string;\n\tsubHeading: string;\n\tlogo: Image;\n\tlabelPrefix: string;\n\tlabelSuffix: string;\n}\n","export * from './definitions';\nexport * from './registration.component';\nexport * from './registration.factory';\nexport * from './registration.module';\nexport * from './registration.service';\n","import { AltText, Icons } from '../../services/shared/shared-enums';\nimport { VertexAPIAddressValidationFailedLabels, VertexAPIValidationLabels } from '../../services/shared/shared-interface';\nimport { AccountType, AdditionalLocations, RegistrationFormError } from './definitions';\n\nexport class RegistrationMappingFactory\n{\n\tpublic static mapAdditionalLocationLabels(): AdditionalLocations\n\t{\n\t\treturn {\n\t\t\tlocationPageDescription: {\n\t\t\t\tdescription1: 'In order to request your ',\n\t\t\t\tdescription2: ', you may select additional locations below, upload a list, or submit with your primary location.',\n\t\t\t\ttokenData: [\n\t\t\t\t\t{\n\t\t\t\t\t\tisLink: 'false',\n\t\t\t\t\t\tname: '$token1',\n\t\t\t\t\t\ttext: 'Business Account',\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\theading1: 'Select Additional Locations',\n\t\t\theadingOr: 'or',\n\t\t\theading2: {\n\t\t\t\tlabel: 'Upload List of Locations',\n\t\t\t\ticonPath: Icons.uploadLocationList,\n\t\t\t\taltText: AltText.uploadFile\n\t\t\t},\n\t\t\tlogo: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: 'Step 6'\n\t\t\t},\n\t\t\tstepNumber: '6',\n\t\t\tprimaryLocationHeading: 'Primary Location',\n\t\t\tselectLocationTableHeader: {\n\t\t\t\tcompanyName: 'Company Name',\n\t\t\t\taddress: 'Address',\n\t\t\t\tcountry: 'Country',\n\t\t\t\tselectAll: 'Select All'\n\t\t\t},\n\t\t\tuploadSuccessText: 'Your file is successfully uploaded.',\n\t\t\tuploadSuccessSubtext: 'Please click submit to complete your registration.'\n\t\t};\n\t}\n\n\tpublic static mapAccountTypeLabels(): AccountType\n\t{\n\t\treturn {\n\t\t\tdescription: '',\n\t\t\theading: 'Account Type',\n\t\t\tlogo: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: 'Step 4'\n\t\t\t},\n\t\t\tstepNumber: '4',\n\t\t\tindividualAccount: {\n\t\t\t\tlabel: 'Submit as',\n\t\t\t\tdescription1: 'Manage your fleet and location(s) with the Individual Account.',\n\t\t\t\tdescription2: 'Please note, this type of Account cannot have multiple users.',\n\t\t\t\ttokenData: [\n\t\t\t\t\t{\n\t\t\t\t\t\tisLink: 'false',\n\t\t\t\t\t\tname: '$token1',\n\t\t\t\t\t\ttext: 'Individual Account',\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tbusinessAccount: {\n\t\t\t\tlabel: 'Request',\n\t\t\t\tdescription1: 'Manage multiple locations and users with the MyToyota Enterprise Account!',\n\t\t\t\tdescription2: '',\n\t\t\t\ttokenData: [\n\t\t\t\t\t{\n\t\t\t\t\t\tisLink: 'false',\n\t\t\t\t\t\tname: '$token1',\n\t\t\t\t\t\ttext: 'Enterprise Account',\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t};\n\t}\n\tpublic static mapFieldErrorText(): RegistrationFormError\n\t{\n\t\treturn {\n\t\t\trequiredErrorMessage: '$token is a required field.',\n\t\t\trequiredDropdownErrorMessage: '$token must have value.',\n\t\t\tphoneSameNumber: 'Every number cannot be the same.',\n\t\t\tphoneLength: 'Phone number should have 10 numeric characters.',\n\t\t\tphoneSequenceNumber: 'Number cannot be sequential.',\n\t\t\tinvalidCharacterWithNumericErrorMessage: 'Please enter a valid character.',\n\t\t\tminLengthZipCodeError: 'Postal Code should have 5 numeric characters.',\n\t\t\tcanadaPostalCodeFormatError: 'Postal Code format is incorrect. Please enter the correct Postal Code.'\n\t\t};\n\t}\n\tpublic static mapVertexLabels(): VertexAPIValidationLabels\n\t{\n\t\treturn {\n\t\t\theading: 'Verify your address',\n\t\t\tdescription: 'We are not able to verify your address but found a close match',\n\t\t\tuseVerifiedLabel: 'Use as Suggested',\n\t\t\teditAddressLabel: 'Use as Entered'\n\t\t};\n\t}\n\tpublic static mapVertexAddressFailedLabels(): VertexAPIAddressValidationFailedLabels\n\t{\n\t\treturn {\n\t\t\theading: 'Verify your address',\n\t\t\tdescription: 'We are not able to verify your address. Would you like to close and edit the details or proceed with what you have entered?',\n\t\t\teditAddressLabel: 'Entered Details'\n\t\t};\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { AdditionalLocationListResponse, CompanyDetailsSection, GridData, LocationList, RegistrationState, SubmitBusinessPayload, SubmitRegistrationResponse } from './definitions/registration.interface';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { CountryCode, Icons, RegistrationRequestType, countries, provinces, states, ErrorMessage } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AnalyticsDataLayer } from '../../services/analytics/definitions';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { Address } from '../../services/shared/shared-interface';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { KngButtonState } from 'kinetic-angular';\nimport { KngUploadFileState } from 'projects/kinetic-angular/src/lib/components/upload-file';\nimport { RegistrationFactory } from './registration.factory';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class RegistrationUtilService\n{\n\tconstructor(private readonly localStorageService: LocalStorageService, private readonly sharedService: SharedService, private readonly analyticsService: AnalyticsService, private readonly sharedUtilService: SharedUtilService)\n\t{}\n\n\tgetSelectedLocations(locations: LocationList[], selectedLocations: string[])\n\t{\n\t\treturn locations.filter(location=>selectedLocations.includes(location.locationGRID));\n\t}\n\tgetLocationsByGrids(locations: GridData[]) : string[]\n\t{\n\t\treturn locations.map(location=> location.locationGRID);\n\t}\n\tisBusinessAccountRegistration(response: SubmitRegistrationResponse)\n\t{ \n\t\tif(response.requestType === RegistrationRequestType.businessAdminUser)\n\t\t{\n\t\t\tthis.localStorageService.setItems('new_business_account', 'true');\n\t\t}\n\t}\n\tisPrimaryLocationAddressPresent(response: AdditionalLocationListResponse)\n\t{\n\t\treturn !!(response.primaryLocationInfo.addressLine1 && response.primaryLocationInfo.city && response.primaryLocationInfo.state && response.primaryLocationInfo.zipCode && response.primaryLocationInfo.country);\n\t}\n\tdisplayCountry(country: string)\n\t{\n\t\tif(country)\n\t\t{\n\t\t\tconst countryToDisplay = countries.filter(ele => ele.value === country);\n\t\t\treturn countryToDisplay[0].label;\n\t\t}\n\t\treturn '';\n\t}\n\tdisplayState(state: string, country: string) : string\n\t{\n\t\tconst countryCode = this.sharedService.checkCountryCode(country);\n\t\tif(state && this.isValidCountry(countryCode))\n\t\t{\n\t\t\tconst targetArray = countryCode === CountryCode.unitedStatesofAmerica? states : provinces;\n\t\t\tconst ele = targetArray.find(ele=>ele.value === state.toLocaleUpperCase());\n\t\t\treturn ele? ele.label : '';\n\t\t}\n\t\treturn '';\n\t}\n\tisValidCountry(countryCode: string)\n\t{\n\t\treturn countryCode === CountryCode.unitedStatesofAmerica || countryCode === CountryCode.canadaCountry;\n\t}\n\tisPrimaryLocationAvailable(response: AdditionalLocationListResponse)\n\t{\n\t\treturn !!(response.primaryLocationInfo.companyName && this.isPrimaryLocationAddressPresent(response));\n\t}\n\tshowContactDealer(element: HTMLDivElement, email: string) \n\t{\n\t\telement.classList.remove('hidden');\n\t\telement.focus();\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'error',\n\t\t\tlink: {\n\t\t\t\tname: 'error'\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tmessage: ErrorMessage.companyNotFoundError\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, email);\n\t}\n\tgetStateProvinceValues(country: string)\n\t{\n\t\treturn this.sharedService.getStateProvinceValues(country);\n\t}\n\tmapAdditionalLocationList(additionalLocationList: AdditionalLocationListResponse, response: AdditionalLocationListResponse)\n\t{\n\t\tadditionalLocationList.primaryLocationInfo.primaryLocationGRID = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.primaryLocationGRID);\n\t\tadditionalLocationList.primaryLocationInfo.adminLocationID = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.adminLocationID);\n\t\tadditionalLocationList.primaryLocationInfo.topLevelGrid = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.topLevelGrid);\n\t\tadditionalLocationList.primaryLocationInfo.companyName = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.companyName);\n\t\tadditionalLocationList.primaryLocationInfo.addressLine1 = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.addressLine1);\n\t\tadditionalLocationList.primaryLocationInfo.addressLine2 = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.addressLine2);\n\t\tadditionalLocationList.primaryLocationInfo.city = this.sharedService.emptyStringHandler(response?.primaryLocationInfo?.city);\n\t\tadditionalLocationList.primaryLocationInfo.state = this.sharedService.emptyStringHandler(this.displayState(response?.primaryLocationInfo?.state, response?.primaryLocationInfo?.country));\n\t\tadditionalLocationList.primaryLocationInfo.zipCode = this.sharedService.emptyStringHandler(this.sharedUtilService.formatZipCode(response?.primaryLocationInfo?.zipCode, this.sharedService.checkCountryCode(response?.primaryLocationInfo?.country)));\n\t\tadditionalLocationList.primaryLocationInfo.country = this.sharedService.emptyStringHandler(this.displayCountry(this.sharedService.checkCountryCode(response?.primaryLocationInfo?.country)));\n\t\treturn additionalLocationList;\n\t}\n\tformatLocationList(locationList: LocationList[])\n\t{\n\t\tconst locations: GridData[] = [];\n\t\tlocationList.forEach(location =>\n\t\t{\n\t\t\tif (location)\n\t\t\t{\n\t\t\t\tlocation.zipCode = location.zipCode?this.sharedUtilService.formatZipCode(location.zipCode, this.sharedService.checkCountryCode(location.country)):'';\n\t\t\t\tconst locationDetails = {\n\t\t\t\t\tlocationGRID: this.sharedService.nullValueHandler(location.locationGRID),\n\t\t\t\t\tcompanyName: this.sharedService.nullValueHandler(location.companyName),\n\t\t\t\t\taddress: this.sharedService.nullValueHandler([ location.addressLine1, location.addressLine2, location.city, location.state, location.zipCode ].filter(Boolean).join(', ')),\n\t\t\t\t\tcountry: this.sharedService.nullValueHandler(this.displayCountry(this.sharedService.checkCountryCode(location.country))),\n\t\t\t\t\tchecked: false\n\t\t\t\t};\n\t\t\t\tlocations.push(locationDetails);\n\t\t\t}\n\t\t});\n\t\treturn locations;\n\t}\n\ttrackAnalyticsForRegistrationError(errorMessage: string, email: string)\n\t{\n\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\tevent: 'error',\n\t\t\tlink: {\n\t\t\t\tname: 'error'\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t}, email);\n\t}\n\ttrackAnalyticsEvent(data: AnalyticsDataLayer, email: string): void\n\t{\n\t\tthis.analyticsService.trackRegistrationByEvent(data, email);\n\t}\n\tmapAddress(address: Address, companyDetails: CompanyDetailsSection): Address\n\t{\n\t\taddress.addressLine1 = companyDetails.addressLine1;\n\t\taddress.addressLine2 = companyDetails.addressLine2;\n\t\taddress.country = companyDetails.country;\n\t\taddress.city = companyDetails.city;\n\t\taddress.state = companyDetails.state;\n\t\taddress.zipCode = companyDetails.zipCode? this.sharedUtilService.formatZipCode(companyDetails.zipCode, companyDetails.country) : '';\n\t\treturn address;\t\n\t}\n\tgetUploadFileLabel(res:RegistrationState, uploadFileState:KngUploadFileState)\n\t{\n\t\tuploadFileState.isLoading = false;\n\t uploadFileState.dragDropSection = res.uploadFileSection.uploadFile.dragDropLabel;\n\t\tuploadFileState.or = res.uploadFileSection.uploadFile.orLabel;\n\t\tuploadFileState.successMessage = res.uploadFileSection.uploadFile.success;\n\t\tuploadFileState.uploadButtons = res.uploadFileSection.uploadFile.uploadButtons;\n\t\tuploadFileState.errorImage.altText = res.uploadFileSection.uploadFile.errorIcon.altText;\n\t\tuploadFileState.successImage.altText = res.uploadFileSection.uploadFile.successIcon.altText;\n\t\tuploadFileState.dragDropImage.altText = res.uploadFileSection.uploadFile.onLoadIcon.altText;\n\t\tuploadFileState.errorImage.iconPath = Icons.actionRed;\n\t\tuploadFileState.successImage.iconPath = Icons.checkGreen;\n\t\tuploadFileState.dragDropImage.iconPath = Icons.dragDropIcon;\n\t}\n\tasync handleDownloadCommonError(error: HttpErrorResponse, state:RegistrationState, downloadButtonState: KngButtonState, email: string )\n\t{\n\t\tif (error) \n\t\t{\n\t\t\tconst message = JSON.parse(await error.error.text()).message;\n\t\t\tstate.uploadFileSection.errorState= {\n\t\t\t\tmessages: [{ message: message, cssClass: '' }],\n\t\t\t\tid: '',\n\t\t\t\tstatusCode: 500,\n\t\t\t\timage: { iconPath: '', altText: '' }\n\t\t\t};\n\t\t state.uploadFileSection.download.errorMessage=state.uploadFileSection.errorState.messages[0].message;\n\t\t\tdownloadButtonState.disabled = false;\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Download Failed',\n\t\t\t\tlink: {\n\t\t\t\t\tname: 'Download Template Button'\n\t\t\t\t},\n\t\t\t\terror: {\n\t\t\t\t\tmessage: state.uploadFileSection.errorState.messages[0].message\n\t\t\t\t}\n\t\t\t}, email);\n\t\t}\n\t}\n\tsubmitLocationPayload(isUploadSuccess:boolean, additionalLocations: LocationList[], selectedLocationGrids: string[] )\n\t{\n\t\tlet submitPayload:SubmitBusinessPayload;\n\t\tif(isUploadSuccess)\n\t\t{\n\t\t\tsubmitPayload=RegistrationFactory.buildSubmitUploadFileLocationsPayload();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsubmitPayload=RegistrationFactory.buildSubmitLocationsPayload(this.getSelectedLocations(additionalLocations, selectedLocationGrids));\n\t\t}\n\t\treturn submitPayload;\n\t}\n}\n","import {\n\tComponent, Input, OnDestroy, OnInit, Output,\n\tEventEmitter, Renderer2, HostListener\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Registration, RegistrationState } from './definitions';\nimport { RegistrationService } from './registration.service';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { Icons, UserType } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AuthenticationService } from '../../services/authentication/authentication.service';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { Router } from '@angular/router';\nimport { RegistrationFactory } from './registration.factory';\nimport { get as lodashGet } from 'lodash';\nimport { RegistrationUtilService } from './registration-util.service';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { AnalyticsDataLayer } from '../../services/analytics/definitions';\n@Component({\n\tselector: 'tmhna-portal-registration',\n\ttemplateUrl: './template/registration.component.html',\n\tstyleUrls: ['./template/registration.component.scss']\n})\nexport class RegistrationComponent implements Registration, OnInit, OnDestroy\n{\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\t\n\tloading: boolean = false;\n\t\n\t@Input() set state(value: RegistrationState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): RegistrationState\n\t{\n\t\treturn this.service.state;\n\t}\n\n\tpublic loaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderWhite\n\t};\n\t@Output() stateChanged: EventEmitter = new EventEmitter();\n\n\tconstructor(public service: RegistrationService, private readonly loggerService: LoggerService, \n\t\tpublic sharedService: SharedService, private readonly authService: AuthenticationService, private readonly localStorageService: LocalStorageService, private readonly registrationUtilService: RegistrationUtilService, private readonly router: Router,\n\t\tprivate readonly renderer2: Renderer2, private readonly analyticsService: AnalyticsService)\n\t{}\n\n\tngOnInit()\n\t{\n\t\tthis.service.canActivatePortal()?.then(()=>\n\t\t{\n\t\t\tthis.service.validUserSuccess = true;\n\t\t\tthis.service.pageLoadHandler();\n\t\t}\n\t\t).catch(error => \n\t\t{\n\t\t\tthis.service.validUserSuccess = true;\n\t\t\tthis.service.pageLoadHandler();\n\t\t\tthis.loggerService.error(error);\n\t\t});\n\t\tconst ele: HTMLElement = this.renderer2.selectRootElement('html', true);\n\t\tconst value = ele.getAttribute('lang');\n\t\tif(value)\n\t\t{\n\t\t\tthis.localStorageService.setLanguage(value);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.localStorageService.setLanguage('en');\n\t\t}\n\t\tthis.service.getFooterData();\n\t\tthis.service.addLabelsToForm();\n\t\tthis.initSubscriptions();\n\t}\n\t\n\t@HostListener('window:beforeunload', ['$event'])\n\tonBackButtonClick() \n\t{\n\t\tthis.router.navigate(['/auth']);\n\t}\n\tngOnDestroy(): void\n\t{\n\t\tthis.destroySubscriptions();\n\t\tthis.service.state.loading = false;\n\t}\n\n\tprivate initSubscriptions(): void\n\t{\n\t\tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n\t\t\t(next: RegistrationState) => this.stateChanged.emit(next)\n\t\t);\n\t\tthis.subscriptions.add(stateChangeSubs);\n\t}\n\tprivate destroySubscriptions(): void\n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\n\tlogout()\n\t{\n\t\tthis.authService.logout()?.catch(error => \n\t\t{\n\t\t\tthis.loggerService.error(error);\n\t\t});\n\t\tthis.localStorageService.clearStorage();\n\t}\n\n\tnotifyLanguageChange(selection: string): void\n\t{\n\t\tconst translationValues: Map = RegistrationFactory.buildDefaultTranslationValuesMap();\n\t\tconst selectionId: string | undefined = translationValues.get(selection);\n\t\tif (selectionId === undefined)\n\t\t{\n\t\t\tthrow new Error(`Can't translate to \"${selection}\". Supported values are:\\n${JSON.stringify(translationValues)}`);\n\t\t}\n\t\tthis.loading = true;\n\t\tconst panelAfterFirstTranslation: HTMLIFrameElement | null = this.service.getGoogleTranslatePanel(this.renderer2);\n\t\tconst isValidSecondTimeTranslation: boolean = lodashGet(panelAfterFirstTranslation, 'contentWindow.document', undefined) !== undefined;\n\t\tisValidSecondTimeTranslation ?\n\t\t\tthis.service.performSubsequetTranslation(panelAfterFirstTranslation as HTMLIFrameElement, selectionId) :\n\t\t\tthis.service.performFirstTimeTranslation(selectionId, this.renderer2);\n\t\tthis.localStorageService.setLanguage(selectionId);\n\t\tsetTimeout(() =>\n\t\t{\n\t\t\tthis.loading = false;\n\t\t}, 500);\n\t}\n\n\tisTermsandPrivacyAgreed(event: boolean)\n\t{\n\t\tthis.service.termsandPrivacyAgreed = event;\n\t\tif(this.service.termsandPrivacyAgreed)\n\t\t{\n\t\t\tthis.state.submitButton.disabled = false;\n\t\t\tthis.state.continueButton.disabled = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.state.submitButton.disabled = true;\n\t\t\tthis.state.continueButton.disabled = true;\n\t\t}\n\t}\n\tdisplayContinueButton(event: boolean)\n\t{\n\t\tif(event === true)\n\t\t{\n\t\t\tthis.service.isContinueButton = true;\n\t\t\tthis.service.isSubmitRegistrationButton = false;\n\t\t\tif(this.service.termsandPrivacyAgreed)\n\t\t\t{\n\t\t\t\tthis.state.continueButton.disabled = false;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.service.isContinueButton = false;\n\t\t\tthis.service.isSubmitRegistrationButton = true;\n\t\t}\n\t}\n\n\tonSubmitRegistration()\n\t{\n\t\tthis.trackAnalyticsOnSubmit();\n\t\tthis.state.loading = true;\n\t\tif(this.service.userType === UserType.generalUser)\n\t\t{\n\t\t\tthis.service.saveGeneralUser();\n\t\t}\n\t\telse if(this.service.userType === UserType.individualUser)\n\t\t{\n\t\t\tthis.service.saveIndividualUser();\n\t\t}\n\t\telse if(this.service.userType === UserType.businessAdminUser && this.service.isSubmitRegistrationButton)\n\t\t{\n\t\t\tthis.service.saveIndividualUser();\n\t\t}\n\t}\n\n\tonContinue()\n\t{\n\t\tthis.trackAnalyticsOnContinue();\n\t\tthis.service.saveBusinessUser();\n\t}\n\n\ttrackAnalyticsOnSubmit()\n\t{\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'Submit Registration',\n\t\t\tlink: {\n\t\t\t\tname: 'Submit Registration button'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\ttrackAnalyticsOnContinue()\n\t{\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'Continue Registration',\n\t\t\tlink: {\n\t\t\t\tname: 'Continue Button'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n}\n","
\n
\n \n
\n

\n {{ state.registrationPage.stepLabel }}\n

\n

\n {{ state.registrationPage.pageHeading }}\n

\n

\n {{ state.registrationPage.pageDescription }}\n

\n

\n {{state.registrationPage.additionalLocation.locationPageDescription.description1}}{{state.registrationPage.additionalLocation.locationPageDescription.tokenData[0].text}}{{state.registrationPage.additionalLocation.locationPageDescription.description2}}\n

\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n","/* eslint-disable max-lines */\nimport { ModalState } from 'kinetic-angular';\nimport { registrationPageData } from '../../constants/registration';\nimport { CssClass, Icons, ModalButtonId } from '../../services/shared/shared-enums';\nimport { SharedFactoryDataService } from '../../services/shared/shared-factory-data.service';\nimport { LocationList, RegistrationState, SubmitBusinessPayload, UploadFileLabels } from './definitions';\n\nexport class RegistrationFactory\n{\n\tpublic static build(): RegistrationState\n\t{\n\t\treturn {\n\t\t\ttempFlag: false,\n\t\t\ttempIsPrefilled: false,\n\t\t\tcrmPrefill: false,\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\tcompanyDetails: {\n\t\t\t\taddressLine1: '',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcompanyName: '',\n\t\t\t\tstate: '',\n\t\t\t\tzipCode: '',\n\t\t\t\tcity: '',\n\t\t\t\tcountry: ''\n\t\t\t},\n\t\t\tphoneNumber: '',\n\t\t\tjobTitle: [{\n\t\t\t\tlabel: '',\n\t\t\t\tid: ''\n\t\t\t}],\n\t\t\trequestedRole: [{\n\t\t\t\tdescription: '',\n\t\t\t\tid: '',\n\t\t\t\tname: ''\n\t\t\t}],\n\t\t\taccountName: '',\n\t\t\taddressDetails: {\n\t\t\t\taddressLine1: '',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: '',\n\t\t\t\tstate: '',\n\t\t\t\tcountry: '',\n\t\t\t\tzipCode: ''\n\t\t\t},\n\t\t\temail: '',\n\t\t\tprofileInformation: {\n\t\t\t\tfirstName: '',\n\t\t\t\tlastName: '',\n\t\t\t\tphoneNumber: '',\n\t\t\t\tjobTitle: [{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tid: ''\n\t\t\t\t}],\n\t\t\t\trequestedRole: [{\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tid: '',\n\t\t\t\t\tname: ''\n\t\t\t\t}],\n\t\t\t\temail: ''\n\t\t\t},\n\t\t\tsubmitButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: 'Submit Registration',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tverifyInformationButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: '',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodifyDetailsButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'secondary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: '',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tcontinueButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: '',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\ttermsAgreeButton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: 'Agree',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tpolicyAgreeButton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: 'Agree',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\ttermsModal: { \n\t\t\t\thidden: true,\n\t\t\t\tlabel: 'Terms And Conditions',\n\t\t\t\tbuttons: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Agree',\n\t\t\t\t\t\tcssClass: CssClass.btnBlack,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tcssClass: CssClass.registerModal\n\t\t\t},\n\t\t\tpolicyModal: {\n\t\t\t\thidden: true,\n\t\t\t\tlabel: 'Privacy Policy',\n\t\t\t\tbuttons: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Agree',\n\t\t\t\t\t\tcssClass: CssClass.btnBlack,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tcssClass: CssClass.registerModal\n\t\t\t},\n\t\t\tdisagreeButton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'secondary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: 'Disagree',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tcontactDealerButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'secondary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: '',\n\t\t\t\tposition: 'right',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: Icons.externalLink\n\t\t\t\t}\n\t\t\t},\n\t\t\tfooter: {\n\t\t\t\tcssClass: '',\n\t\t\t\tribbonImage: '',\n\t\t\t\taltText: '',\n\t\t\t\tfootercontent: {\n\t\t\t\t\tfixed: false,\n\t\t\t\t\thidden: false,\n\t\t\t\t\tlogoImagePath: '',\n\t\t\t\t\taltText: '',\n\t\t\t\t\tfootermenu: SharedFactoryDataService.getFooterMenuDefault(),\n\t\t\t\t\tcopyright: {\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tlabelUrl: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tregistrationPage: registrationPageData,\n\t\t\tdealerInfo: {\n\t\t\t\taddress: '',\n\t\t\t\tdealerName: '',\n\t\t\t\temail: '',\n\t\t\t\tphoneNumber: ''\n\t\t\t},\n\t\t\tloading: true,\n\t\t\tvertexAPIValidationLabels: {\n\t\t\t\tdescription: '',\n\t\t\t\teditAddressLabel: '',\n\t\t\t\theading: '',\n\t\t\t\tuseVerifiedLabel: ''\n\t\t\t},\n\t\t\tmapVertexAddressFailedLabels: {\n\t\t\t\tdescription: '',\n\t\t\t\teditAddressLabel: '',\n\t\t\t\theading: ''\n\t\t\t},\n\t\t\terrorText: {\n\t\t\t\tinvalidCharacterWithNumericErrorMessage: '',\n\t\t\t\trequiredErrorMessage: '',\n\t\t\t\trequiredDropdownErrorMessage: '',\n\t\t\t\tminLengthZipCodeError: '',\n\t\t\t\tcanadaPostalCodeFormatError: '',\n\t\t\t\tphoneLength: '',\n\t\t\t\tphoneSameNumber: '',\n\t\t\t\tphoneSequenceNumber: ''\n\t\t\t},\n\t\t\tadditionalLocationList: {\n\t\t\t\tprimaryLocationInfo: {\n\t\t\t\t\tprimaryLocationGRID: '',\n\t\t\t\t\tadminLocationID: '',\n\t\t\t\t\ttopLevelGrid: '',\n\t\t\t\t\tcompanyName: '',\n\t\t\t\t\taddressLine1: '',\n\t\t\t\t\taddressLine2: '',\n\t\t\t\t\tcity: '',\n\t\t\t\t\tstate: '',\n\t\t\t\t\tzipCode: '',\n\t\t\t\t\tcountry: ''\n\t\t\t\t},\n\t\t\t\tlocationList: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlocationGRID: '',\n\t\t\t\t\t\tcompanyName: '',\n\t\t\t\t\t\taddressLine1: '',\n\t\t\t\t\t\tcity: '',\n\t\t\t\t\t\tstate: '',\n\t\t\t\t\t\tzipCode: '',\n\t\t\t\t\t\tcountry: ''\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tpendingLocationDetails: {\n\t\t\t\t\toriginalFileName: '',\n\t\t\t\t\tupdatedFileName: ''\n\t\t\t\t }\n\t\t\t},\n\t\t\tadditionalLocationGridHeaderDesktop: [],\n\t\t\tadditionalLocationGrid: [\n\t\t\t\t{\n\t\t\t\t\tlocationGRID: '',\n\t\t\t\t\tcompanyName: '',\n\t\t\t\t\taddress: '',\n\t\t\t\t\tcountry: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t],\n\t\t\tadditionalLocationError: {\n\t\t\t\tmessage: '',\n\t\t\t\tmessageSubText: '',\n\t\t\t\ticon: ''\n\t\t\t},\n\t\t\tribbonClearButton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'link',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: 'Clear All',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t},\n\t\t\t\tposition: 'none'\n\t\t\t},\n\t\t\tadditionalLocationSubmitButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: 'Submit',\n\t\t\t\tposition: 'none',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tbusinessRegistrationFlowSubmitModalLabels: {\n\t\t\t\theading: '',\n\t\t\t\tcloseIcon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tcancel: '',\n\t\t\t\tproceed: ''\n\t\t\t},\n\t\t\tuploadFileSection: this.businessRegistrationUploadListLabel()\n\t\t};\n\t}\n\tpublic static businessRegistrationUploadListLabel(): UploadFileLabels\n\t{\n\t\treturn {\n\t\t\theading: '',\n\t\t\tsubHeading: '',\n\t\t\tcontent: [\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tdescription: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tcloseIcon: { iconPath: '', altText: '' },\n\t\t\tdownload: {\n\t\t\t\tdownloadButton: '',\n\t\t\t\terrorMessage: ''\n\t\t\t},\n\t\t\tcancel: '',\n\t\t\tupload: '',\n\t\t\tclose: '',\n\t\t\tuploadFile: {\n\t\t\t\tonLoadIcon: { iconPath: '', altText: '' },\n\t\t\t\terrorIcon: { iconPath: '', altText: '' },\n\t\t\t\tsuccessIcon: { iconPath: '', altText: '' },\n\t\t\t\tdragDropLabel: '',\n\t\t\t\torLabel: '',\n\t\t\t\tuploadButtons: {\n\t\t\t\t\tchooseFile: '',\n\t\t\t\t\treplaceFile: '',\n\t\t\t\t\ttryAgain: ''\n\t\t\t\t},\n\t\t\t\tsuccess: ''\n\t\t\t},\n\t\t\terrorState:\n\t\t\t\t{\n\t\t\t\t\tmessages: [],\n\t\t\t\t\tid: '',\n\t\t\t\t\tstatusCode: 500,\n\t\t\t\t\timage: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t};\n\t}\n\tpublic static businessRegistrationUploadListModal(): ModalState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, id: ModalButtonId.cancel },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnBlack, id: '' },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, id: ModalButtonId.close }\n\t\t\t],\n\t\t\tcssClass: CssClass.businessRegistrationUploadModal\n\t\t};\n\t}\n\tpublic static buildDefaultTranslationValuesMap(): Map\n\t{\n\t\treturn new Map([\n\t\t\t[ 'United States- English', 'en' ],\n\t\t\t[ 'États-Unis - anglais', 'en' ],\n\t\t\t[ 'French', 'fr' ],\n\t\t\t[ 'Français', 'fr' ]\n\t\t]);\n\t}\n\tpublic static buildCompanyDetails(): { accountName: string; addressLine1: string; addressLine2: string; country: string; city: string; state: string; postalCode: string } \n\t{\n\t\treturn {\n\t\t\taccountName: '', \n\t\t\taddressLine1: '', \n\t\t\taddressLine2: '', \n\t\t\tcountry: '', \n\t\t\tcity: '', \n\t\t\tstate: '', \n\t\t\tpostalCode: ''\n\t\t};\n\t}\n\tpublic static buildSubmitLocationsPayload(selectedGrids: LocationList[]): SubmitBusinessPayload\n\t{\n\t\treturn {\n\t\t\tselectedLocationList: selectedGrids,\n\t\t\tselectionMethod: 'manual',\n\t\t\tclaimDomain: false\n\t\t};\n\t}\n\tpublic static buildSubmitUploadFileLocationsPayload(): SubmitBusinessPayload\n\t{\n\t\treturn {\n\t\t\tselectedLocationList: [],\n\t\t\tselectionMethod: 'document',\n\t\t\tclaimDomain: false\n\t\t};\n\t}\n\tpublic static businessRegistrationFlowSubmitModal(): ModalState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, id: ModalButtonId.cancel },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnBlack, id: ModalButtonId.proceed }\n\t\t\t],\n\t\t\tcssClass: CssClass.businessRegistrationSubmitModalTitle\n\t\t};\n\t}\n\tpublic static verifyAddressModal(): ModalState \n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary, id: ModalButtonId.close },\n\t\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnBlack, id: ModalButtonId.proceed }\n\t\t\t],\n\t\t\tcssClass: CssClass.vertexVerificationModal\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegistrationComponent } from './registration.component';\nimport { RegistrationService } from './registration.service';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { KngLoaderModule, ModalModule, KngButtonModule, KngFooterModule } from 'kinetic-angular';\nimport { AnalyticsModule } from '../../services/analytics/analytics.module';\nimport { MatRadioModule } from '@angular/material/radio';\nimport{ SafeHtmlPipeModule } from '../../../app/pipes/safehtml/safehtml.pipe.module';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { RegistrationProfileCompanyInformationComponent } from './sub-modules/registration-profile-company-information/registration-profile-company-information.component';\nimport { RegistrationAccountTypeComponent } from './sub-modules/registration-account-type/registration-account-type.component';\nimport { RegistrationTermsAndConditionsComponent } from './sub-modules/registration-terms-and-conditions/registration-terms-and-conditions.component';\nimport { RegistrationAdditionalLocationsComponent } from './sub-modules/registration-additional-locations/registration-additional-locations.component';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { KngUploadFileModule } from 'projects/kinetic-angular/src/lib/components/upload-file';\n\n@NgModule({\n\tdeclarations: [ RegistrationComponent, RegistrationProfileCompanyInformationComponent, RegistrationAccountTypeComponent, RegistrationTermsAndConditionsComponent, RegistrationAdditionalLocationsComponent ],\n\timports: [\n\t\tCommonModule,\n\t\tKngFooterModule,\n\t\tKngButtonModule,\n\t\tMatSelectModule,\n\t\tMatIconModule,\n\t\tReactiveFormsModule,\n\t\tModalModule,\n\t\tKngLoaderModule,\n\t\tAnalyticsModule,\n\t\tMatRadioModule,\n\t\tSafeHtmlPipeModule,\n\t\tMatCheckboxModule,\n\t\tFormsModule,\n\t\tNgxPaginationModule,\n\t\tKngUploadFileModule\n\t],\n\texports: [RegistrationComponent],\n\tproviders: [RegistrationService]\n})\nexport class RegistrationModule {}\n","/* eslint-disable max-lines */\nimport { Inject, Injectable, Renderer2 } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { RegistrationFactory } from './registration.factory';\nimport { AdditionalLocationListResponse, BusinessRegistrationFlowSubmitModalLabels, CompanyDetailsSection, DealerData, GridData, LocationList, RegistrationResponse, RegistrationState, SaveBusinessAccountResponse, SaveUserPayload, SubmitBusinessPayload, SubmitRegistrationResponse } from './definitions';\nimport { ApiService } from '../../services/api/api.service';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { KngFooterState, ModalState } from 'kinetic-angular';\nimport { EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { Router } from '@angular/router';\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { has as lodashHas, set as lodashSet, noop as lodashNoop, get as lodashGet } from 'lodash';\nimport { ApplicationPath, BooleanValues, ButtonPosition, ButtonSize, ButtonStyle, CountryCode, CssClass, ErrorMessage, FileName, Icons, IsRequestSubmittedForReview, RegistrationStatus, UserType, states, TermsAndConditionPrivacyPolicyInfoBannerText } from '../../services/shared/shared-enums';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AemApiService } from '../../services/api/api.aem.service';\nimport { UserRegistrationStatus, UserRegistrationStatusValue } from '../../services/api/definitions';\nimport { RoutingFunction } from '../auth';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { VerifiedAddressSuggestion, LocationAddress } from '../../services/shared/shared-interface';\nimport { RegistrationUtilService } from './registration-util.service';\nimport { RegistrationMappingFactory } from './registration-mapping-factory';\nimport { KngUploadFileFactory, KngUploadFileState } from 'projects/kinetic-angular/src/lib/components/upload-file';\nimport { ErrorMessageHeading, ErrorMessageSubHeading } from 'projects/kinetic-angular/src/lib/components';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { AnalyticsDataLayer } from '../../services/analytics/definitions';\nimport { companyAdminRoleId } from '../../services/shared/shared-constants';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class RegistrationService\n{\n\tpublic state$: BehaviorSubject = new BehaviorSubject(RegistrationFactory.build());\n\tcheckAll: boolean = false;\n\tisPrimaryLocationPresent: boolean = false;\n\tdownloadTemplateError: boolean = false;\n\tisIndividualUser: boolean = false;\n\tverifyAddressState: ModalState = RegistrationFactory.verifyAddressModal();\n\tpreFilledCompanyDetails!: CompanyDetailsSection;\n\tvertexFailedWithNoSuggestedAddress: boolean = false;\n\tget state(): RegistrationState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tset isSavingIndividualUser(val: boolean)\n\t{\n\t\tthis.isIndividualUser = val;\n\t}\n\tget isSavingIndividualUser()\n\t{\n\t\treturn this.isIndividualUser;\n\t}\n\tprivate readonly eventCallback = new Subject();\n\teventCallback$ = this.eventCallback.asObservable();\n\tpublic statesOrProvinces$: BehaviorSubject<{label: string; value: string}[]> = new BehaviorSubject<{label: string; value: string}[]>(states);\n\tpublic profileInformationForm: FormGroup = this.fb.group({});\n\tpublic companyDetailsForm: FormGroup = this.fb.group({});\n\tpublic companyInfoNotFound: boolean = false;\n\tpublic validUserSuccess: boolean = false;\n\tpublic prefillDetailsSuccess: boolean = false;\n\taddressState!: string;\n\tverifiedLocation!: LocationAddress;\n\tverifiedAddress!: VerifiedAddressSuggestion;\n\tformattedPostalCode: string = '';\n\tshowModifyButton: boolean = false;\n\tisModifyButtonClicked: boolean = false;\n\taddressSuggestion: boolean = false;\n\tuseVerifiedAddress: boolean = false;\n\tuserType: string = '';\n\tisTCSection: boolean = false;\n\tisAccountTypeSection: boolean = false;\n\tisSubmitRegistrationButton: boolean = false;\n\tisContinueButton: boolean = false;\n\tisContinueSuccess: boolean = false;\n\tisUploadSuccess: boolean = false;\n\tadditionalLocations: LocationList[] = [];\n\ttermsandPrivacyAgreed: boolean = false;\n\tdisableDomainClaim:boolean = false;\n\tbusinessRegistrationFlowSubmitModalState: ModalState = RegistrationFactory.businessRegistrationFlowSubmitModal();\n\tbusinessRegistrationUploadListModalState:ModalState= RegistrationFactory.businessRegistrationUploadListModal();\n\tuploadFileState: KngUploadFileState = KngUploadFileFactory.build();\n\tpublic stateValue = states;\n\tconstructor(\n\t\tpublic apiService: ApiService, private readonly aemApiService: AemApiService, private readonly loggerService: LoggerService, private readonly sharedUtilService: SharedUtilService, public router: Router, private readonly fb: FormBuilder,\n\t\t@Inject(expEnvironmentRef) private readonly environmentRef: EnvironmentRef, public sharedService: SharedService, private readonly toaster: ToastrService, private readonly registrationUtilService: RegistrationUtilService,\n\t\tprivate readonly analyticsService: AnalyticsService\n\t) { }\n\tpublic updateState(value: RegistrationState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\tdownloadButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.secondary, '', false, { altText: '', iconPath: '' }, ButtonPosition.left);\n\tpublic form(): void\n\t{\n\t\tthis.profileInformationForm = this.fb.group({\n\t\t\tfirstName: [\n\t\t\t\t{ value: this.state.firstName, disabled: false },\n\t\t\t\t[ Validators.required, this.sharedService.requiredLength ]\n\t\t\t],\n\t\t\tlastName: [\n\t\t\t\t{ value: this.state.lastName, disabled: false },\n\t\t\t\t[ Validators.required, this.sharedService.requiredLength ]\n\t\t\t],\n\t\t\temail: [{ value: this.state.email, disabled: true }, Validators.required ],\n\t\t\tphoneNumber: [\n\t\t\t\t{ value: this.state.phoneNumber, disabled: false },\n\t\t\t\t[ Validators.required, this.sharedService.validateStringUnique, this.sharedService.validatePhoneSequence, this.sharedService.minLength ]\n\t\t\t],\n\t\t\tjobTitle: [{ value: this.state.profileInformation.job, disabled: false }, Validators.required ],\n\t\t\trequestedRole: [{ value: this.state.profileInformation.role?this.state.profileInformation.role:companyAdminRoleId, disabled: false }, Validators.required ]\n\t\t});\n\t\tthis.companyDetailsForm = this.fb.group({\n\t\t\taccountName: [\n\t\t\t\t{ value: this.state.accountName, disabled: false },\n\t\t\t\t[ Validators.required,\n\t\t\t\t\t(c: AbstractControl) => this.sharedService.alphaSpecialCharValidation(c, 'accountName') ]\n\t\t\t],\n\t\t\taddressLine1: [{ value: this.state.addressDetails.addressLine1, disabled: false }, [ Validators.required, this.sharedService.requiredLength ] ],\n\t\t\taddressLine2: [{ value: this.state.addressDetails.addressLine2, disabled: false }],\n\t\t\tcountry: [{ value: this.state.addressDetails.country? this.state.addressDetails.country : CountryCode.unitedStatesofAmerica, disabled: false }, [ Validators.required, this.sharedService.requiredLength ] ],\n\t\t\tcity: [{ value: this.state.addressDetails.city, disabled: false }, [ Validators.required,\n\t\t\t\t(c: AbstractControl) => this.sharedService.alphaSpecialCharValidation(c, 'city') ] ],\n\t\t\tstate: [{ value: this.state.addressDetails.state, disabled: false }, [ Validators.required, this.sharedService.requiredLength ] ],\n\t\t\tpostalCode: [{ value: this.state.addressDetails.zipCode, disabled: false }, [ Validators.required, this.sharedService.requiredLength ] ]\n\t\t});\n\t\tif(this.companyDetailsForm.controls['accountName'].value !== '')\n\t\t{\n\t\t\tthis.companyDetailsForm.controls['accountName'].markAsDirty();\n\t\t}\n\t}\n\tpublic getFooterData(): void\n\t{\n\t\tthis.aemApiService.getFooterData().subscribe((res: ApiResponse) =>\n\t\t{\n\t\t\tthis.state.footer = res.data;\n\t\t\tthis.state.footer.footercontent.logoImagePath =\n\t\t\t\tthis.environmentRef.aemBaseUrl +\n\t\t\t\tthis.state.footer.footercontent.logoImagePath;\n\t\t\tthis.state.footer.ribbonImage =\n\t\t\t\tthis.environmentRef.aemBaseUrl + this.state.footer.ribbonImage;\n\t\t\tthis.state.footer.footercontent.footermenu.forEach((element: { iconPath: string }) =>\n\t\t\t{\n\t\t\t\tif (element.iconPath)\n\t\t\t\t{\n\t\t\t\t\telement.iconPath = this.environmentRef.aemBaseUrl + element.iconPath;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.updateState(this.state);\n\t\t});\n\t}\n\tpageLoadHandler()\n\t{\n\t\tsetTimeout(() => { this.state.loading = !(this.validUserSuccess && this.prefillDetailsSuccess); }, 1000);\n\t}\n\tpublic getUserData()\n\t{\n\t\tthis.apiService.getPrefilledUserData().subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tthis.state.jobTitle = [];\n\t\t\t\tconst responseObject: RegistrationState = res.data;\n\t\t\t\tresponseObject.companyDetails.country = this.sharedService.checkCountryCode(responseObject.companyDetails.country);\n\t\t\t\tthis.state.tempFlag = responseObject.tempIsPrefilled;\n\t\t\t\tthis.state.crmPrefill = responseObject.crmPrefill;\n\t\t\t\tthis.preFilledCompanyDetails = responseObject.companyDetails;\n\t\t\t\tthis.state.accountName = (responseObject.companyDetails.companyName.replace(/\\u00A0/g, ' '));\n\t\t\t\tthis.state.addressDetails = this.registrationUtilService.mapAddress(this.state.addressDetails, responseObject.companyDetails);\n\t\t\t\tthis.state.phoneNumber = this.sharedService.formatPhoneNumber(responseObject.profileInformation.phoneNumber);\n\t\t\t\tsetTimeout(()=>\n\t \t\t\t{\n\t\t\t\t\tthis.state.jobTitle = responseObject.profileInformation.jobTitle;\n\t\t\t\t}, 0);\n\t\t\t\tthis.state.requestedRole = responseObject.profileInformation.requestedRole;\n\t\t\t\tthis.state.requestedRole = this.sharedService.checkForIndividualUserRole(this.state.requestedRole);\n\t\t\t\tthis.state.profileInformation.role = responseObject.profileInformation.role;\n\t\t\t\tthis.state.profileInformation.job = responseObject.profileInformation.job;\n\n\t\t\t\tthis.form();\n\t\t\t\tif(this.state.addressDetails.country)\n\t\t\t\t{\n\t\t\t\t\tthis.statesOrProvinces$.next(this.registrationUtilService.getStateProvinceValues(this.state.addressDetails.country));\n\t\t\t\t}\n\t\t\t\tthis.updateState(this.state);\n\t\t\t\tthis.prefillDetailsSuccess = true;\n\t\t\t\tthis.pageLoadHandler();\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.prefillDetailsSuccess = true;\n\t\t\t\tthis.pageLoadHandler();\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t}\n\t\t});\n\t\tconst values = Object.values(localStorage);\n\t\tfor (const value of values)\n\t\t{\n\t\t\tif (value.includes('idTokenClaims'))\n\t\t\t{\n\t\t\t\tconst parsedVal = JSON.parse(value);\n\t\t\t\t!lodashHas(parsedVal, 'idTokenClaims.emails') ? lodashSet(parsedVal, 'idTokenClaims.emails', [lodashGet(parsedVal, 'idTokenClaims.email', '')]) : lodashNoop();\n\t\t\t\tthis.state.companyDetails.companyName = parsedVal.idTokenClaims.extension_CompanyName;\n\t\t\t\tthis.state.firstName = parsedVal.idTokenClaims.given_name;\n\t\t\t\tthis.state.lastName = parsedVal.idTokenClaims.family_name;\n\t\t\t\tthis.state.email = parsedVal.idTokenClaims.emails[0];\n\t\t\t\tthis.updateState(this.state);\n\t\t\t}\n\t\t}\n\t\tthis.registrationUtilService.trackAnalyticsEvent({\n\t\t\tevent: 'pageView',\n\t\t\tpage: {\n\t\t\t\tname: 'registration:complete your profile'\n\t\t\t}\n\t\t}, this.state.email);\n\t}\n\tpublic verifyInformation(payload: SaveUserPayload, element: HTMLDivElement)\n\t{\n\t\tif(!this.state.crmPrefill)\n\t\t{\n\t\t\tpayload.crmPrefill = false;\n\t\t}\n\t\tif(this.state.crmPrefill)\n\t\t{\n\t\t\tpayload = this.checkForCompanyDetailsChange(payload);\n\t\t}\n\t\tthis.apiService.saveUserData(payload).subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tthis.addressSuggestion = false;\n\t\t\t\tthis.companyInfoNotFound = false;\n\t\t\t\tthis.vertexFailedWithNoSuggestedAddress = false;\n\t\t\t\tif (response.data && (response.statusCode === 200 || response.statusCode === 201))\n\t\t\t\t{\n\t\t\t\t\tthis.successVerifyScenario(response, element);\n\t\t\t\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\t\t\t\tevent: 'VerifyInformation Success',\n\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\tname: 'Verify Information button'\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t\t\t\t}\n\t\t\t\tif (response.data && response.statusCode === 206)\n\t\t\t\t{\n\t\t\t\t\tthis.showModifyButton = false;\n\t\t\t\t\tthis.isModifyButtonClicked = false;\n\t\t\t\t\tthis.isTCSection = false;\n\t\t\t\t\tthis.isAccountTypeSection = false;\n\t\t\t\t\tthis.vertexApiValidation(response);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.eventCallback.next(error.error);\n\t\t\t\tthis.vertexFailedWithNoSuggestedAddress = false;\n\t\t\t\tthis.registrationUtilService.trackAnalyticsForRegistrationError(error.error.message, this.state.email);\n\t\t\t}\n\t\t});\n\t}\n\n\n\tsubmitRegistrationReviewOrCancel(payload:SaveUserPayload)\n\t{\n\t\tthis.apiService.submitRegistrationReviewOrCancel(payload).subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif(response)\n\t\t\t\t{\n\t\t\t\t\tlocalStorage.setItem(IsRequestSubmittedForReview.isRequestSubmittedForReview, BooleanValues.true);\n\t\t\t\t\tthis.router.navigate(['confirmation']);\n\t\t\t }\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.handleError(error);\n\t\t\t\tthis.registrationUtilService.trackAnalyticsForRegistrationError(error.error.message, this.state.email);\n\n\t\t\t}\n\t\t});\n\t}\n\tcheckForCompanyDetailsChange(payload: SaveUserPayload)\n\t{\n\t\tif(this.checkForCompanyDetailsMandatoryFields(payload) || (payload?.addressLine2!==null && payload?.addressLine2!==this.preFilledCompanyDetails?.addressLine2))\n\t\t{\n\t\t\tpayload.crmPrefill = false;\n\t\t\treturn payload;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpayload.crmPrefill = true;\n\t\t\treturn payload;\n\t\t}\n\t}\n\tcheckForCompanyDetailsMandatoryFields(payload: SaveUserPayload): boolean\n\t{\n\t\tconst isPostalCodeUpdated = this.checkForPostalCodeUpdate(payload?.postalCode, this.preFilledCompanyDetails?.zipCode);\n\t\tif(payload?.addressLine1!==this.preFilledCompanyDetails?.addressLine1 || payload?.city!==this.preFilledCompanyDetails?.city ||\n\t\t\tpayload?.country!==this.preFilledCompanyDetails?.country || payload?.state!==this.preFilledCompanyDetails?.state || isPostalCodeUpdated)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForPostalCodeUpdate(payloadPostalCode: string, preFilledPostalCode: string): boolean\n\t{\n\t\tpreFilledPostalCode = this.preFilledCompanyDetails?.country === CountryCode.unitedStatesofAmerica ?\n\t\t\tpreFilledPostalCode.replace(/[^\\d]/g, '') : preFilledPostalCode;\n\n\t\tif(payloadPostalCode.trim() !== preFilledPostalCode.trim())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\thandleError(error: HttpErrorResponse)\n\t{\n\t\tthis.useVerifiedAddress = false;\n\t\tthis.addressSuggestion = false;\n\t\tthis.companyInfoNotFound = false;\n\t\tif (Array.isArray(error.error.message))\n\t\t{\n\t\t\tthis.toaster.error(error.error.message[0]);\n\t\t\treturn;\n\t\t}\n\t\tthis.toaster.error(error.error.message ? error.error.message : 'Something went wrong, please try again');\n\t}\n\tsuccessVerifyScenario(response: ApiResponse, element: HTMLDivElement)\n\t{\n\t\tconst data: DealerData = response.data as DealerData;\n\t\tconst error: string | undefined = data.errorMessage;\n\n\t\tif (data.requestType)\n\t\t{\n\t\t\tthis.showModifyButton = true;\n\t\t\tthis.state.verifyInformationButton.disabled = true;\n\t\t\tthis.isModifyButtonClicked = false;\n\t\t\tthis.state.loading = false;\n\t\t\tthis.addressSuggestion = false;\n\t\t\tthis.companyInfoNotFound = false;\n\t\t\tthis.profileInformationForm.controls['jobTitle'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.profileInformationForm.controls['requestedRole'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.companyDetailsForm.controls['state'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.companyDetailsForm.controls['country'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tif(data.requestType === UserType.generalUser)\n\t\t\t{\n\t\t\t\tthis.userType = UserType.generalUser;\n\t\t\t\tthis.displayTCSectionWithSubmitButton();\n\t\t\t}\n\t\t\telse if(data.requestType === UserType.individualUser)\n\t\t\t{\n\t\t\t\tthis.userType = UserType.individualUser;\n\t\t\t\tthis.displayTCSectionWithSubmitButton();\n\t\t\t}\n\t\t\telse if(data.requestType === UserType.businessAdminUser)\n\t\t\t{\n\t\t\t\tthis.userType = UserType.businessAdminUser;\n\t\t\t\tthis.displayTCSectionWithSubmitButton();\n\t\t\t\tthis.isAccountTypeSection = true;\n \tthis.isContinueButton = true;\n \tthis.isSubmitRegistrationButton = false;\n\t\t\t}\n\t\t}\n\t\telse if (error)\n\t\t{\n\t\t\tthis.handleVerifyInfoError(data, element);\n\t\t}\n\t}\n\tdisplayTCSectionWithSubmitButton()\n\t{\n\t\tthis.isTCSection = true;\n\t\tthis.isAccountTypeSection = false;\n\t\tthis.isSubmitRegistrationButton = true;\n\t}\n\thandleVerifyInfoError(data: DealerData, element: HTMLDivElement)\n\t{\n\t\tthis.state.dealerInfo = data.dealerInfo;\n\t\tthis.companyInfoNotFound = true;\n\t\tthis.loggerService.log('Company Not Found Error');\n\t\tthis.state.loading = false;\n\t\tthis.addressSuggestion = false;\n\t\tthis.showModifyButton = false;\n\t\tthis.state.verifyInformationButton.disabled = false;\n\t\tthis.isModifyButtonClicked = false;\n\t\tif (this.companyInfoNotFound)\n\t\t{\n\t\t\tthis.state.loading = false;\n\t\t\tthis.registrationUtilService.showContactDealer(element, this.state.email);\n\t\t\tthis.useVerifiedAddress = false;\n\t\t\tthis.isTCSection = false;\n\t\t\tthis.isAccountTypeSection = false;\n\t\t\tthis.isSubmitRegistrationButton = false;\n\t\t\tthis.companyDetailsForm.controls['country'].enable();\n\t\t\tthis.companyDetailsForm.controls['state'].enable();\n\t\t}\n\t}\n\tvertexApiValidation(response: ApiResponse)\n\t{\n\t\tthis.verifiedAddress = response.data as VerifiedAddressSuggestion;\n\t\tthis.state.loading = false;\n\n\t\tif (this.verifiedAddress.verifiedLocation !== undefined)\n\t\t{\n\t\t\tthis.statesOrProvinces$.next(this.registrationUtilService.getStateProvinceValues(this.verifiedAddress.verifiedLocation.country ?? ''));\n\t\t\tthis.addressSuggestion = true;\n\t\t\tthis.vertexFailedWithNoSuggestedAddress = false;\n\t\t\tthis.useVerifiedAddress = true;\n\t\t\tthis.formattedPostalCode = this.formatZipCode(this.verifiedAddress.verifiedLocation.postalCode);\n\t\t\tthis.companyDetailsForm.patchValue({\n\t\t\t\taddressLine1: this.verifiedAddress.verifiedLocation.addressLine1,\n\t\t\t\taddressLine2: this.verifiedAddress.verifiedLocation.addressLine2 ? this.verifiedAddress.verifiedLocation.addressLine2 : '',\n\t\t\t\tcity: this.verifiedAddress.verifiedLocation.city,\n\t\t\t\tstate: this.verifiedAddress.verifiedLocation.state,\n\t\t\t\tcountry: this.verifiedAddress.verifiedLocation.country,\n\t\t\t\tpostalCode: this.formattedPostalCode\n\t\t\t});\n\t\t\tthis.companyDetailsForm.controls['addressLine2'].reset();\n\t\t\tthis.companyDetailsForm.controls['country'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.companyDetailsForm.controls['state'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.verifiedLocation = this.verifiedAddress.verifiedLocation;\n\t\t\tthis.statesOrProvinces$.value.forEach(element =>\n\t\t\t{\n\t\t\t\tif (this.verifiedAddress.verifiedLocation?.state === element.value)\n\t\t\t\t{\n\t\t\t\t\tthis.addressState = element.label;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.addressSuggestion = true;\n\t\t\tthis.vertexFailedWithNoSuggestedAddress = true;\n\t\t\tthis.useVerifiedAddress = false;\n\t\t\tthis.companyDetailsForm.controls['country'].enable();\n\t\t\tthis.companyDetailsForm.controls['state'].enable();\n\t\t\tthis.registrationUtilService.trackAnalyticsForRegistrationError(this.verifiedAddress.errorMessage, this.state.email);\n\t\t}\n\t}\n\tpublic formatZipCode(value: string): string\n\t{\n\t\treturn this.sharedUtilService.formatZipCode(value, this.companyDetailsForm.controls['country']['value']).trim();\n\t}\n\tpublic addLabelsToForm()\n\t{\n\t\tthis.apiService.getRegistrationFormLabels().subscribe({\n\t\t\tnext: (response) =>\n\t\t\t{\n\t\t\t\tconst data = response.data as RegistrationResponse;\n\t\t\t\tif(data)\n\t\t\t\t{\n\t\t\t\t\tthis.mapRegistrationPageCompanyDetails(data);\n\t\t\t\t\tthis.mapRegistrationPageCompanyError(data);\n\t\t\t\t\tthis.mapRegistrationPageProfileInfo(data);\n\t\t\t\t\tthis.mapRegistrationPageTermsAndConditions(data);\n\t\t\t\t\tthis.mapRegistrationPagePrivacyPolicy(data);\n\t\t\t\t\tthis.mapRegistrationPageAccountType(data);\n\t\t\t\t\tthis.mapRegistrationPageAdditionalLocation(data);\n\t\t\t\t\tthis.mapDomainAemLabels(data);\n\t\t\t\t\tthis.state.registrationPage.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].logo?.altText);\n\t\t\t\t\tthis.state.registrationPage.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].logo?.iconPath);\n\t\t\t\t\tthis.state.registrationPage.logoutLabel = this.sharedService.emptyStringHandler(data['registration-page'].logoutLabel);\n\t\t\t\t\tthis.state.registrationPage.pageDescription = this.sharedService.emptyStringHandler(data['registration-page'].pageDescription);\n\t\t\t\t\tthis.state.registrationPage.pageHeading = this.sharedService.emptyStringHandler(data['registration-page'].pageHeading);\n\t\t\t\t\tthis.state.registrationPage.stepLabel = this.sharedService.emptyStringHandler(data['registration-page'].stepLabel);\n\t\t\t\t\tthis.state.registrationPage.submitButton = this.sharedService.emptyStringHandler(data['registration-page'].submitButton);\n\t\t\t\t\tthis.state.termsModal.label = data['registration-page'].termsConditions?.terms?.modal?.heading;\n\t\t\t\t\tthis.state.additionalLocationGridHeaderDesktop = [];\n\t\t\t\t\tthis.state.additionalLocationGridHeaderDesktop.push( data['registration-page'].additionalLocation?.selectLocationTableHeader?.companyName);\n\t\t\t\t\tthis.state.additionalLocationGridHeaderDesktop.push( data['registration-page'].additionalLocation?.selectLocationTableHeader?.address);\n\t\t\t\t\tthis.state.additionalLocationGridHeaderDesktop.push( data['registration-page'].additionalLocation?.selectLocationTableHeader?.country);\n\t\t\t\t\tthis.mapAdditionalAemLabels();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (e: HttpErrorResponse) => this.loggerService.log(e.error.message),\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tthis.loggerService.log('Received Labels from AEM');\n\t\t\t}\n\t\t});\n\t}\n\tmapRegistrationPageCompanyDetails(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.companyDetails.addressLine1 = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.addressLine1);\n\t\tthis.state.registrationPage.companyDetails.addressLine2 = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.addressLine2);\n\t\tthis.state.registrationPage.companyDetails.address2OptionalLabel = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.address2OptionalLabel);\n\t\tthis.state.registrationPage.companyDetails.city = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.city);\n\t\tthis.state.registrationPage.companyDetails.companyName = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.companyName);\n\t\tthis.state.registrationPage.companyDetails.description = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.description);\n\t\tthis.state.registrationPage.companyDetails.heading = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.heading);\n\t\tthis.state.registrationPage.companyDetails.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.logo?.altText);\n\t\tthis.state.registrationPage.companyDetails.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.logo?.iconPath);\n\t\tthis.state.registrationPage.companyDetails.country = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.country);\n\t\tthis.state.registrationPage.companyDetails.state = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.state);\n\t\tthis.state.registrationPage.companyDetails.stateAltText = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.stateAltText);\n\t\tthis.state.registrationPage.companyDetails.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.stepNumber);\n\t\tthis.state.registrationPage.companyDetails.zipCode = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.zipCode);\n\t\tthis.state.registrationPage.companyDetails.companyNotFoundErrorModalDescription = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.companyNotFoundErrorModalDescription);\n\t\tthis.state.registrationPage.companyDetails.companyNotFoundErrorModalHeader = this.sharedService.emptyStringHandler(data['registration-page'].companyDetails?.companyNotFoundErrorModalHeader);\n\n\t}\n\tmapRegistrationPageCompanyError(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.companyError.messageMain = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.messageMain);\n\t\tthis.state.registrationPage.companyError.messageSub = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.messageSub);\n\t\tthis.state.registrationPage.companyError.actionMessage = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.actionMessage);\n\t\tthis.state.registrationPage.companyError.phoneNumber.label = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.phoneNumber?.label);\n\t\tthis.state.registrationPage.companyError.phoneNumber.value = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.phoneNumber?.value);\n\t\tthis.state.registrationPage.companyError.email.label = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.email.label);\n\t\tthis.state.registrationPage.companyError.email.value = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.email.value);\n\t\tthis.state.registrationPage.companyError.customerServiceName = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.customerServiceName);\n\t\tthis.state.registrationPage.companyError.address = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.address);\n\t\tthis.state.registrationPage.companyError.contactDealer.icon = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.contactDealer?.icon);\n\t\tthis.state.registrationPage.companyError.contactDealer.label = this.sharedService.emptyStringHandler(data['registration-page'].companyError?.contactDealer?.label);\n\t}\n\tmapRegistrationPageProfileInfo(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.profileInfo.description = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.description);\n\t\tthis.state.registrationPage.profileInfo.emailAddress = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.emailAddress);\n\t\tthis.state.registrationPage.profileInfo.firstName = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.firstName);\n\t\tthis.state.registrationPage.profileInfo.heading = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.heading);\n\t\tthis.state.registrationPage.profileInfo.jobTitle = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.jobTitle);\n\t\tthis.state.registrationPage.profileInfo.jobTitleAltText = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.jobTitleAltText);\n\t\tthis.state.registrationPage.profileInfo.lastName = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.lastName);\n\t\tthis.state.registrationPage.profileInfo.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.logo?.iconPath);\n\t\tthis.state.registrationPage.profileInfo.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.logo?.altText);\n\t\tthis.state.registrationPage.profileInfo.phoneNumber = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.phoneNumber);\n\t\tthis.state.registrationPage.profileInfo.requestedRole.description = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.requestedRole?.description);\n\t\tthis.state.registrationPage.profileInfo.requestedRole.label = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.requestedRole?.label);\n\t\tthis.state.registrationPage.profileInfo.requestedRoleAltText = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.requestedRoleAltText);\n\t\tthis.state.registrationPage.profileInfo.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].profileInfo?.stepNumber);\n\t}\n\t// eslint-disable-next-line complexity\n\tmapRegistrationPageTermsAndConditions(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.termsConditions.description = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.description);\n\t\tthis.state.registrationPage.termsConditions.heading = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.heading);\n\t\tthis.state.registrationPage.termsConditions.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.logo?.altText);\n\t\tthis.state.registrationPage.termsConditions.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.logo?.iconPath);\n\t\tthis.state.registrationPage.termsConditions.privacy.label = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.label);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.agreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.agreeButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.privacy.infoBanner = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.infoBanner ? this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.infoBanner): TermsAndConditionPrivacyPolicyInfoBannerText.privacyPolicyInfoBannerText);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.agreedButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.agreedButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.closeIcon.altText = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.closeIcon?.altText);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.closeIcon.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.closeIcon?.iconPath);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.content = data['registration-page'].termsConditions?.privacy?.modal?.content?data['registration-page'].termsConditions?.privacy?.modal?.content:[];\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.disagreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.disagreeButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.heading = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.heading);\n\t\tthis.state.registrationPage.termsConditions.privacy.modal.checkboxText = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.privacy?.modal?.checkboxText);\n\t\tthis.state.registrationPage.termsConditions.privacy.tokenData = data['registration-page'].termsConditions?.privacy?.tokenData?data['registration-page'].termsConditions?.privacy?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t\tthis.state.registrationPage.termsConditions.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.stepNumber);\n\t\tthis.state.registrationPage.termsConditions.terms.label = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.label);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.agreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.agreeButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.terms.infoBanner = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.infoBanner ? this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.infoBanner): TermsAndConditionPrivacyPolicyInfoBannerText.tandCInfoBannerText);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.agreedButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.agreedButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.closeIcon.altText = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.closeIcon?.altText);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.closeIcon.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.closeIcon?.iconPath);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.content = data['registration-page'].termsConditions?.terms?.modal?.content?data['registration-page'].termsConditions?.terms?.modal?.content:[];\n\t\tthis.state.registrationPage.termsConditions.terms.modal.disagreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.disagreeButtonLabel);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.heading = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.heading);\n\t\tthis.state.registrationPage.termsConditions.terms.modal.checkboxText = this.sharedService.emptyStringHandler(data['registration-page'].termsConditions?.terms?.modal?.checkboxText);\n\t\tthis.state.registrationPage.termsConditions.terms.tokenData = data['registration-page'].termsConditions?.terms?.tokenData?data['registration-page'].termsConditions?.terms?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t}\n\tmapRegistrationPagePrivacyPolicy(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.privacypolicy.description = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.description);\n\t\tthis.state.registrationPage.privacypolicy.heading = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.heading);\n\t\tthis.state.registrationPage.privacypolicy.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.logo?.altText);\n\t\tthis.state.registrationPage.privacypolicy.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.logo?.iconPath);\n\t\tthis.state.registrationPage.privacypolicy.privacy.label = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.label);\n\t\tthis.state.registrationPage.privacypolicy.privacy.infoBanner = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.infoBanner);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.agreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.agreeButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.agreedButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.agreedButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.closeIcon.altText = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.closeIcon?.altText);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.closeIcon.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.closeIcon?.iconPath);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.content = data['registration-page'].privacypolicy?.privacy?.modal?.content?data['registration-page'].privacypolicy?.privacy?.modal?.content:[];\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.disagreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.disagreeButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.heading = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.heading);\n\t\tthis.state.registrationPage.privacypolicy.privacy.modal.checkboxText = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.privacy?.modal?.checkboxText);\n\t\tthis.state.registrationPage.privacypolicy.privacy.tokenData = data['registration-page'].privacypolicy?.privacy?.tokenData?data['registration-page'].privacypolicy?.privacy?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t\tthis.state.registrationPage.privacypolicy.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.stepNumber);\n\t\tthis.state.registrationPage.privacypolicy.terms.label = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.label);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.agreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.agreeButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.agreedButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.agreedButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.closeIcon.altText = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.closeIcon?.altText);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.closeIcon.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.closeIcon?.iconPath);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.content = data['registration-page'].privacypolicy?.terms?.modal?.content?data['registration-page'].privacypolicy?.terms?.modal?.content:[];\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.disagreeButtonLabel = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.disagreeButtonLabel);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.heading = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.heading);\n\t\tthis.state.registrationPage.privacypolicy.terms.modal.checkboxText = this.sharedService.emptyStringHandler(data['registration-page'].privacypolicy?.terms?.modal?.checkboxText);\n\t\tthis.state.registrationPage.privacypolicy.terms.tokenData = data['registration-page'].privacypolicy?.terms?.tokenData?data['registration-page'].privacypolicy?.terms?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t}\n\tmapRegistrationPageAccountType(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.accountType.description = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.description);\n\t\tthis.state.registrationPage.accountType.heading = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.heading);\n\t\tthis.state.registrationPage.accountType.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.logo?.altText);\n\t\tthis.state.registrationPage.accountType.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.logo?.iconPath);\n\t\tthis.state.registrationPage.accountType.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.stepNumber);\n\t\tthis.state.registrationPage.accountType.individualAccount.label = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.individualAccount?.label);\n\t\tthis.state.registrationPage.accountType.individualAccount.description1 = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.individualAccount?.description1);\n\t\tthis.state.registrationPage.accountType.individualAccount.description2 = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.individualAccount?.description2);\n\t\tthis.state.registrationPage.accountType.individualAccount.tokenData = data['registration-page'].accountType?.individualAccount?.tokenData?data['registration-page'].accountType?.individualAccount?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t\tthis.state.registrationPage.accountType.businessAccount.label = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.businessAccount?.label);\n\t\tthis.state.registrationPage.accountType.businessAccount.description1 = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.businessAccount?.description1);\n\t\tthis.state.registrationPage.accountType.businessAccount.description2 = this.sharedService.emptyStringHandler(data['registration-page'].accountType?.businessAccount?.description2);\n\t\tthis.state.registrationPage.accountType.businessAccount.tokenData = data['registration-page'].accountType?.businessAccount?.tokenData?data['registration-page'].accountType?.businessAccount?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t}\n\tmapRegistrationPageAdditionalLocation(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.additionalLocation.locationPageDescription.description1 = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.locationPageDescription?.description1);\n\t\tthis.state.registrationPage.additionalLocation.locationPageDescription.description2 = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.locationPageDescription?.description2);\n\t\tthis.state.registrationPage.additionalLocation.locationPageDescription.tokenData = data['registration-page'].additionalLocation?.locationPageDescription?.tokenData?data['registration-page'].additionalLocation?.locationPageDescription?.tokenData:[{ name: '', text: '', url: '', isLink: '' }];\n\t\tthis.state.registrationPage.additionalLocation.heading1 = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.heading1);\n\t\tthis.state.registrationPage.additionalLocation.headingOr = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.headingOr);\n\t\tthis.state.registrationPage.additionalLocation.heading2.label = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.heading2?.label);\n\t\tthis.state.registrationPage.additionalLocation.heading2.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.heading2?.iconPath);\n\t\tthis.state.registrationPage.additionalLocation.heading2.altText = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.heading2?.altText);\n\t\tthis.state.registrationPage.additionalLocation.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.logo?.iconPath);\n\t\tthis.state.registrationPage.additionalLocation.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.logo?.altText);\n\t\tthis.state.registrationPage.additionalLocation.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.stepNumber);\n\t\tthis.state.registrationPage.additionalLocation.primaryLocationHeading = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.primaryLocationHeading);\n\t\tthis.state.registrationPage.additionalLocation.selectLocationTableHeader.companyName = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.selectLocationTableHeader?.companyName);\n\t\tthis.state.registrationPage.additionalLocation.selectLocationTableHeader.address = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.selectLocationTableHeader?.address);\n\t\tthis.state.registrationPage.additionalLocation.selectLocationTableHeader.country = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.selectLocationTableHeader?.country);\n\t\tthis.state.registrationPage.additionalLocation.selectLocationTableHeader.selectAll = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.selectLocationTableHeader?.selectAll);\n\t\tthis.state.registrationPage.additionalLocation.uploadSuccessText = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.uploadSuccessText);\n\t\tthis.state.registrationPage.additionalLocation.uploadSuccessSubtext = this.sharedService.emptyStringHandler(data['registration-page'].additionalLocation?.uploadSuccessSubtext);\n\t}\n\tmapDomainAemLabels(data:RegistrationResponse)\n\t{\n\t\tthis.state.registrationPage.domainInfo.heading = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.heading);\n\t\tthis.state.registrationPage.domainInfo.description = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.description);\n\t\tthis.state.registrationPage.domainInfo.subHeading = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.subHeading);\n\t\tthis.state.registrationPage.domainInfo.stepNumber = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.stepNumber);\n\t\tthis.state.registrationPage.domainInfo.logo.iconPath = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.logo?.iconPath);\n\t\tthis.state.registrationPage.domainInfo.logo.altText = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.logo?.altText);\n\t\tthis.state.registrationPage.domainInfo.labelPrefix = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.labelPrefix);\n\t\tthis.state.registrationPage.domainInfo.labelSuffix = this.sharedService.emptyStringHandler(data['registration-page'].domainInfo?.labelSuffix);\n\t}\n\tmapAdditionalAemLabels()\n\t{\n\t\tthis.state.verifyInformationButton.label = 'Verify Information';\n\t\tthis.state.modifyDetailsButton.label = 'Modify Details';\n\t\tthis.state.submitButton.label = 'Submit Registration';\n\t\tthis.state.continueButton.label = 'Continue';\n\t\tthis.state.vertexAPIValidationLabels = RegistrationMappingFactory.mapVertexLabels();\n\t\tthis.state.mapVertexAddressFailedLabels = RegistrationMappingFactory.mapVertexAddressFailedLabels();\n\t\tthis.state.registrationPage.companyError.actionMessage = 'Please update your information below or request access from MyToyota Customer Service.';\n\t\tthis.state.registrationPage.companyError.phoneNumber = { label: 'Call / Text', value: '1.844.965.0182' };\n\t\tthis.state.registrationPage.companyError.email = { label: 'Email', value: 'customerservice@toyotatmh.com' };\n\t\tthis.state.registrationPage.companyError.customerServiceName = 'MyToyota Customer Service';\n\t\tthis.state.contactDealerButton.label = 'Contact Us';\n\t\tthis.state.errorText = RegistrationMappingFactory.mapFieldErrorText();\n\t\tthis.state.ribbonClearButton.label = 'Clear All';\n\t\tthis.state.additionalLocationSubmitButton.label = 'Submit';\n\t}\n\tpublic getGoogleTranslatePanel(renderer: Renderer2): HTMLIFrameElement | null\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn renderer.selectRootElement('div.skiptranslate > iframe');\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.loggerService.log('trying to select google translate panel', error);\n\t\t\treturn null;\n\t\t}\n\t}\n\tpublic performFirstTimeTranslation(selection: string, renderer: Renderer2): void\n\t{\n\t\tconst googleTranslateMenuLink: HTMLAnchorElement = renderer.selectRootElement('#google_translate_element a');\n\t\trenderer.removeAttribute(googleTranslateMenuLink, 'href');\n\t\trenderer.selectRootElement(googleTranslateMenuLink).click();\n\t\tconst iframeElList: NodeListOf = document.querySelectorAll('iframe.skiptranslate');\n\t\tconst foundLink: unknown = Array.from(iframeElList).find((item: HTMLIFrameElement) =>\n\t\t{\n\t\t\tconst links: NodeListOf | undefined = item.contentWindow !== null ? item.contentWindow.document.querySelectorAll('a') : undefined;\n\t\t\tconst link: HTMLAnchorElement | undefined = links !== undefined ? Array.from(links).find(thisLink => lodashGet(thisLink, 'value') === selection) : undefined;\n\t\t\tlink !== undefined ? renderer.selectRootElement(link).click() : (() => {} )();\n\t\t\treturn link !== undefined;\n\t\t});\n\t\tthis.loggerService.log('found translation link and stopped', foundLink);\n\t}\n\tpublic performSubsequetTranslation(panelAfterFirstTranslation: HTMLIFrameElement, selection: string): void\n\t{\n\t\tconst buttonRestore: HTMLButtonElement | null = (panelAfterFirstTranslation.contentWindow as {document: Document}).document.getElementById(':2.restore') as HTMLButtonElement || null;\n\t\tconst buttonTranslate: HTMLButtonElement | null = (panelAfterFirstTranslation.contentWindow as {document: Document}).document.getElementById(':2.confirm') as HTMLButtonElement || null;\n\t\tselection === 'en' ? (buttonRestore).click() : (buttonTranslate).click();\n\t}\n\tasync canActivatePortal()\n\t{\n\t\tconst status: ApiResponse = await this.getUserRegistrationStatus();\n\t\tconst responseObject = status.data;\n\t\tif(responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus !== undefined)\n\t\t{\n\t\t\tresponseObject.registrationStatus = responseObject.registrationStatus === 'pending_approval' && responseObject.orgAdminPending? 'pending_business_approval' : responseObject.registrationStatus;\n\t\t\tthis.redirectBasedOnRegistrationStatus(responseObject.registrationStatus);\n\t\t}\n\t}\n\tsaveGeneralUser()\n\t{\n\t\tthis.apiService.saveGeneralUser().subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif(response.data && response.statusCode === 201)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject = response.data;\n\t\t\t\t\tthis.isRegistrationStatusPresent(responseObject);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.handleCommonError(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\tisRegistrationStatusPresent(responseObject: UserRegistrationStatus)\n\t{\n\t\tif(responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus !== undefined)\n\t\t{\n\t\t\tresponseObject.registrationStatus = responseObject.registrationStatus === 'pending_approval' && responseObject.orgAdminPending? 'pending_business_approval' : responseObject.registrationStatus;\n\t\t\tthis.redirectBasedOnRegistrationStatus(responseObject.registrationStatus);\n\t\t}\n\t}\n\tsaveIndividualUser()\n\t{\n\t\tthis.apiService.saveIndividualUser().subscribe({\n\t\t\tnext: (response: ApiResponse) =>\n\t\t\t{\n\t\t\t\tthis.isSavingIndividualUser = true;\n\t\t\t\tif(response.data && response.statusCode === 201)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject = response.data;\n\t\t\t\t\tif(responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus !== undefined)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.redirectBasedOnRegistrationStatus(responseObject.registrationStatus);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.handleCommonError(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\thandleCommonError(message: string)\n\t{\n\t\tthis.state.loading = false;\n\t\tthis.toaster.error(message);\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'Submit Registration Failed',\n\t\t\terror: { message: message }\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\tredirectBasedOnRegistrationStatus(registrationStatus: UserRegistrationStatusValue)\n\t{\n\t\tthis.isContinueSuccess = false;\n\t\tif(registrationStatus === 'in_progress')\n\t\t{\n\t\t\tthis.isContinueSuccess = true;\n\t\t}\n\t\tconst routingFunction: RoutingFunction | undefined = this.sharedUtilService.statusValueToRedirectsMap.get(registrationStatus);\n\t\tif (routingFunction !== undefined)\n\t\t{\n\t\t\troutingFunction(this.router)?.then(succeeded =>\n\t\t\t{\n\t\t\t\tif (succeeded)\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.log('navigation succeeded');\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});\n\t\t}\n\t}\n\tprivate async getUserRegistrationStatus(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn await this.apiService.getUserRegistrationStatus();\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.loggerService.log('Error redirecting to logout', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\tgetAdditionalLocationList()\n\t{\n\t\tthis.state.additionalLocationSubmitButton.disabled = false;\n\t\tthis.state.loading = true;\n\t\tthis.apiService.getAdditionalLocations().subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObj: AdditionalLocationListResponse = res.data;\n\t\t\t\t\tif(responseObj.pendingLocationDetails)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.isUploadSuccess = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis.state.additionalLocationList = this.registrationUtilService.mapAdditionalLocationList(this.state.additionalLocationList, responseObj);\n\t\t\t\t\tthis.additionalLocations = responseObj.locationList;\n\t\t\t\t\tconst locations: GridData[] = this.registrationUtilService.formatLocationList(responseObj.locationList);\n\t\t\t\t\tthis.state.additionalLocationGrid = [...locations];\n\t\t\t\t\tthis.checkForSelectAll();\n\t\t\t\t\tthis.isPrimaryLocationPresent = this.registrationUtilService.isPrimaryLocationAvailable(responseObj);\n\t\t\t\t\tif(this.state.additionalLocationGrid.length === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.state.additionalLocationError = {\n\t\t\t\t\t\t\tmessage: 'No additional locations were found with your Company Details.',\n\t\t\t\t\t\t\tmessageSubText: 'Please press \"Submit\" to complete your Enterprise Account registration for your Primary Location only or upload a list of additional locations by clicking the link above.',\n\t\t\t\t\t\t\ticon: Icons.noResult\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (err) =>\n\t\t\t{\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.state.additionalLocationGrid = [];\n\t\t\t\tthis.state.additionalLocationError = {\n\t\t\t\t\tmessage: 'Unable to load list of locations, please try again later.',\n\t\t\t\t\tmessageSubText: '',\n\t\t\t\t\ticon: Icons.apiIssue\n\t\t\t\t};\n\t\t\t\tthis.state.additionalLocationSubmitButton.disabled = true;\n\t\t\t\tthis.trackAnalyticsOnListFailure();\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.state.loading = false;\n\t\t\t\t\tthis.state.additionalLocationSubmitButton.disabled = false;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\ttrackAnalyticsOnListFailure()\n\t{\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'Additional Locations List Failed',\n\t\t\terror: {\n\t\t\t\tmessage: 'Unable to load list of locations, please try again later.'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\tcheckForSelectAll(): void\n\t{\n\t\tif(this.state.additionalLocationGrid.length === 0)\n\t\t{\n\t\t\tthis.checkAll = false;\n\t\t}\n\t}\n\ttrackAnalyticsDataOnSubmit()\n\t{\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'Submit Registration',\n\t\t\tlink: {\n\t\t\t\tname: 'Submit Registration button'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\tsubmitAdditionalLocation(selectedLocationGrids: string[], claimDomain: boolean = false)\n\t{\n\t\tlet payload: SubmitBusinessPayload = {\n\t\t\tselectedLocationList: [],\n\t\t\tselectionMethod: 'manual',\n\t\t\tclaimDomain: false\n\t\t};\n\t\tpayload = this.registrationUtilService.submitLocationPayload(this.isUploadSuccess, this.additionalLocations, selectedLocationGrids);\n\t\tpayload.claimDomain = claimDomain;\n\t\tthis.apiService.submitAdditionalLocation(payload)\n\t\t\t.subscribe({\n\t\t\t\tnext: (res: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tthis.handleSuccessForBusinessAccount(res);\n\t\t\t\t},\n\t\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif(error.status === 504)\n\t\t\t\t\t\tthis.handleCommonError(ErrorMessage.registration504Error);\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.handleCommonError(error.error.message);\n\t\t\t\t}\n\t\t\t});\n\t}\n\thandleSuccessForBusinessAccount(response: ApiResponse)\n\t{\n\t\tif (response.data)\n\t\t{\n\t\t\tthis.trackAnalyticsDataOnSubmit();\n\t\t\tthis.isSavingIndividualUser = true;\n\t\t\tconst responseObj: SubmitRegistrationResponse = response.data;\n\t\t\tthis.registrationUtilService.isBusinessAccountRegistration(responseObj);\n\t\t\tthis.router.navigate([ApplicationPath.dashboard]);\n\t\t}\n\t}\n\tsaveBusinessUser()\n\t{\n\t\tthis.state.loading = true;\n\t\tthis.apiService.saveBusinessUser().subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tthis.handleSuccessForSaveBusinessUser(res);\n\t\t\t},\n\t\t\terror: (err) =>\n\t\t\t{\n\t\t\t\tthis.state.loading = false;\n\t\t\t\tthis.toaster.error(err.error.message);\n\t\t\t}\n\t\t});\n\t}\n\thandleSuccessForSaveBusinessUser(response: ApiResponse)\n\t{\n\t\tif (response.data)\n\t\t{\n\t\t\tconst responseObj: SaveBusinessAccountResponse = response.data;\n\t\t\tthis.isStatusInProgress(responseObj.registrationStatus);\n\t\t\tthis.sharedService.scrollToTopOfPage();\n\t\t}\n\t}\n\tisStatusInProgress(registrationStatus: UserRegistrationStatusValue)\n\t{\n\t\tif(registrationStatus === RegistrationStatus.inProgress)\n\t\t{\n\t\t\tthis.redirectBasedOnRegistrationStatus(RegistrationStatus.inProgress);\n\t\t}\n\t}\n\tpublic getBusinessRegistrationFlowSubmitModalLabels()\n\t{\n\t\tthis.apiService.getBusinessRegistrationFlowSubmitModalLabels().subscribe((res: BusinessRegistrationFlowSubmitModalLabels) =>\n\t\t{\n\t\t\tif (res)\n\t\t\t{\n\t\t\t\tthis.state.businessRegistrationFlowSubmitModalLabels.heading = res.heading;\n\t\t\t\tthis.businessRegistrationFlowSubmitModalState.buttons[0].label = res.cancel;\n\t\t\t\tthis.businessRegistrationFlowSubmitModalState.buttons[1].label = res.proceed;\n\t\t\t}\n\t\t});\n\t}\n\tgetBusinessRegistrationLocationDownload()\n\t{\n\t\tthis.downloadButtonState.disabled = true;\n\t\tthis.apiService.getBusinessRegistrationLocationDownload().subscribe({\n\t\t\tnext: (res) =>\n\t\t\t{\n\t\t\t\tthis.sharedService.downloadExcel(FileName.userLocationListUploadTemplate, res);\n\t\t\t\tthis.downloadButtonState.disabled = false;\n\t\t\t\tthis.downloadTemplateError = false;\n\t\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\t\tevent: 'Download Success',\n\t\t\t\t\tlink: {\n\t\t\t\t\t\tname: 'Download Template Button'\n\t\t\t\t\t},\n\t\t\t\t\tdownload: {\n\t\t\t\t\t\tfileName: FileName.userLocationListUploadTemplate+'.xlsx',\n\t\t\t\t\t\tfileType: 'Download Template'\n\t\t\t\t\t}\n\t\t\t\t}, this.state.email);\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.downloadTemplateError = true;\n\t\t\t\tthis.registrationUtilService.handleDownloadCommonError(error, this.state, this.downloadButtonState, this.state.email);\n\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\tgetBusinessRegistrationUploadListModalLabels()\n\t{\n\t\tthis.apiService.getBusinessRegistrationUploadListModalLabels().subscribe((res:RegistrationState ) =>\n\t\t{\n\t\t\tif (res?.uploadFileSection)\n\t\t\t{\n\t\t\t\tthis.state.uploadFileSection.heading = this.sharedService.nullValueHandler(res.uploadFileSection.heading);\n\t\t\t\tthis.state.uploadFileSection.subHeading = this.sharedService.nullValueHandler(res.uploadFileSection.subHeading);\n\t\t\t\tthis.downloadButtonState.label =this.sharedService.nullValueHandler(res.uploadFileSection.download.downloadButton);\n\t\t\t\tthis.state.uploadFileSection.upload=this.sharedService.nullValueHandler(res.uploadFileSection.upload);\n\t\t\t\tthis.state.uploadFileSection.cancel=this.sharedService.nullValueHandler(res.uploadFileSection.cancel);\n\t\t\t\tthis.state.uploadFileSection.close=this.sharedService.nullValueHandler(res.uploadFileSection.close);\n\t\t\t\tthis.state.uploadFileSection.content = res.uploadFileSection.content;\n\t\t\t\tthis.registrationUtilService.getUploadFileLabel(res, this.uploadFileState);\n\t\t\t}\n\t\t});\n\t}\n\tresetFileStateModel()\n\t{\n\t\tthis.uploadFileState.isSuccessClient = true;\n\t\tthis.uploadFileState.isSuccessServer = false;\n\t\tthis.uploadFileState.isError = false;\n\t\tthis.uploadFileState.errorHeading = '';\n\t\tthis.uploadFileState.errorSubHeading = '';\n\t}\n\tcheckServerValidationUploadFile(item: File)\n\t{\n\t\tthis.uploadFileState.isLoading = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].hidden = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].label = this.state.uploadFileSection.close;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].cssClass = CssClass.btnBlack;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].disabled = true;\n\t\tthis.downloadButtonState.disabled = true;\n\t\tconst ele = document.getElementById('kng-modal-close');\n\t\tif(ele)\n\t\t\tele.setAttribute('disabled', 'true');\n\t\tthis.apiService.getBAUploadLocation(item).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[0].hidden = true;\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = true;\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[2].label = this.state.uploadFileSection.close;\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[2].hidden = false;\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[2].disabled = false;\n\t\t\t\t\tthis.businessRegistrationUploadListModalState.buttons[2].cssClass = CssClass.btnBlack;\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t\tthis.isUploadSuccess = true;\n\t\t\t\t\tthis.uploadFileState.isError = false;\n\t\t\t\t\tthis.uploadFileState.isSuccessClient = true;\n\t\t\t\t\tthis.uploadFileState.isSuccessServer = true;\n\t\t\t\t\tif(ele)\n\t\t\t\t\t\tele.removeAttribute('disabled');\n\t\t\t\t\tthis.downloadButtonState.disabled = false;\n\t\t\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\t\t\tevent: 'Upload Success',\n\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\tname: 'Upload File'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupload: {\n\t\t\t\t\t\t\tfileName: item.name,\n\t\t\t\t\t\t\tfileType: 'Locations List'\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this.state.email);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void =>\n\t\t\t{\n\t\t\t\tthis.handleUploadLocationError(ele, error);\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.uploadFileState.isLoading = false;\n\t\t\t\t\tthis.isUploadSuccess = true;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\thandleUploadLocationError(ele: HTMLElement| null, error: HttpErrorResponse)\n\t{\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].disabled = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].label = this.state.uploadFileSection.cancel;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].hidden = true;\n\t\tthis.uploadFileState.isLoading = false;\n\t\tthis.isUploadSuccess = false;\n\t\tthis.uploadFileState.isError = true;\n\t\tthis.uploadFileState.isSuccessClient = true;\n\t\tthis.uploadFileState.isSuccessServer = false;\n\t\tif(ele)\n\t\t\tele.removeAttribute('disabled');\n\t\tthis.downloadButtonState.disabled = false;\n\t\tif(error.error.statusCode === 400)\n\t\t{\n\t\t\tthis.uploadFileState.isSuccessClient = false;\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.templateMismatch;\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Error',\n\t\t\t\terror: {\n\t\t\t\t\tmessage: ErrorMessageSubHeading.templateMismatch\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t\telse if(error.error.statusCode === 403 || 500)\n\t\t{\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = ErrorMessageSubHeading.apiError;\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Error',\n\t\t\t\terror: {\n\t\t\t\t\tmessage: ErrorMessageSubHeading.apiError\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.uploadFileState.errorSubHeading = error.error.message;\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Error',\n\t\t\t\terror: {\n\t\t\t\t\tmessage: error.error.message\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t}\n\tverifyDomainClaimed(email: string)\n\t{\n\t\tconst payload = {\n\t\t\tname: email\n\t\t};\n\t\tthis.apiService.verifyDomain(payload).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tconst domainData = res.data;\n\t\t\t\tif (domainData && domainData?.length > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.disableDomainClaim = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n","import { AnalyticsDataLayer } from './../../../../services/analytics/definitions/analytics.interface';\nimport { Component, Input, OnDestroy, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ConfirmRegistration, ConfirmRegistrationState } from './definitions';\nimport { ConfirmRegistrationService } from './confirm-registration.service';\nimport { RegistrationService } from '../../registration.service';\nimport { KngLoaderState } from 'kinetic-angular';\nimport { Icons, IsRequestSubmittedForReview } from '../../../../services/shared/shared-enums';\nimport { SharedService } from 'projects/tmhna-portal/src/app/services/shared/shared.service';\n\n@Component({\n\tselector: 'tmhna-portal-confirm-registration',\n\ttemplateUrl: './template/confirm-registration.component.html',\n\tstyleUrls: ['./template/confirm-registration.component.scss']\n})\nexport class ConfirmRegistrationComponent implements ConfirmRegistration, OnInit, OnDestroy\n{\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\tpublic loaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderWhite\n\t};\n @Input() set state(value: ConfirmRegistrationState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n get state(): ConfirmRegistrationState\n {\n \treturn this.service.state;\n }\n\n @Output() stateChanged: EventEmitter = new EventEmitter();\n\n constructor(\n private readonly service: ConfirmRegistrationService, private readonly registrationService: RegistrationService, public sharedService: SharedService\n ) { }\n\n ngOnInit(): void\n {\n \tthis.state.loading = true;\n \tthis.registrationService.canActivatePortal()?.then(()=>\n \t{\n \t\tsetTimeout(() => \n \t\t{ \n \t\t\tthis.state.loading = false;\n \t\t\tconst confirmReg = document.getElementById('confirm-registration');\n \t\t\tif (confirmReg) \n \t\t\t{\n \t\t\t\tconfirmReg.focus();\n \t\t\t\tthis.sharedService.scrollToTopOfPage();\n \t\t\t}\n \t\t}, 1000);\n \t}).catch(() => \n \t{\n \t\tsetTimeout(() => { this.state.loading = false; }, 1000);\n \t}); \n \tthis.service.getPageLabels();\n \tthis.service.getFooterData();\n \tthis.initSubscriptions();\n \tconst analyticsData: AnalyticsDataLayer = {\n \t\tevent: 'pageView',\n \t\tpage: {\n \t\t\tname: 'registration:email sent',\n \t\t\ttype: 'login'\n \t\t}\n \t};\n \tthis.service.trackAnalyticsEvent(analyticsData);\n }\n ngOnDestroy(): void\n {\n \tthis.destroySubscriptions();\n }\n public refreshPage(): void\n {\t\n \tthis.service.navigateForUserRegistrationStatus();\n }\n\n private initSubscriptions(): void\n {\n \tconst stateChangeSubs: Subscription = this.service.stateChanged.subscribe(\n \t\t(next: ConfirmRegistrationState) => this.stateChanged.emit(next)\n \t);\n \tthis.subscriptions.add(stateChangeSubs);\n }\n private destroySubscriptions(): void\n { \n \tlocalStorage.removeItem(IsRequestSubmittedForReview.isRequestSubmittedForReview);\n \tthis.subscriptions.unsubscribe();\n }\n}\n","
\n
\n
\n
\n
\n \n

{{ state.pageHeading }}

\n

\n {{ state.pageDescription }}\n

\n
\n \n
\n
\n
\n \n
\n\n
\n \n
","\nimport { SharedFactoryDataService } from 'projects/tmhna-portal/src/app/services/shared/shared-factory-data.service';\nimport { ConfirmPageLabels, ConfirmRegistrationState } from './definitions';\n\nexport class ConfirmRegistrationFactory \n{\n\tpublic static build(): ConfirmRegistrationState \n\t{\n\t\treturn {\n\t\t\trefreshPageButton: {\n\t\t\t\tsize: 'medium',\n\t\t\t\tstyle: 'primary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: '',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t},\n\t\t\t\tposition: 'left'\n\t\t\t},\n\t\t\tlogo: {\n\t\t\t\taltText: '',\n\t\t\t\ticonPath: ''\n\t\t\t},\n\t\t\tpageDescription: '',\n\t\t\tpageHeading: '',\n\t\t\tfooter: {\n\t\t\t\tcssClass: '',\n\t\t\t\tribbonImage: '',\n\t\t\t\taltText: '',\n\t\t\t\tfootercontent: {\n\t\t\t\t\tfixed: false,\n\t\t\t\t\thidden: false,\n\t\t\t\t\tlogoImagePath: '',\n\t\t\t\t\taltText: '',\n\t\t\t\t\tfootermenu: SharedFactoryDataService.getFooterMenuDefault(),\n\t\t\t\t\tcopyright:\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tlabelUrl: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t},\n\t\t\tpageLabels: {\n\t\t\t\tpendingApproval: this.buildPageLabels(),\n\t\t\t\tpendingBusinessAccountApproval: this.buildPageLabels(),\n\t\t\t\tsubmittedRegistrationForReview: this.buildPageLabels()\n\t\t\t}, \n\t\t\tloading: false\n\t\t};\n\t}\n\tpublic static buildPageLabels(): ConfirmPageLabels \n\t{\n\t\treturn {\n\t\t\tlogo: SharedFactoryDataService.buildImage('', ''),\n\t\t\tmainText: '',\n\t\t\trefreshButton: { label: '', id: '' },\n\t\t\tsubText: ''\n\t\t};\n\t}\n}\n","import { AnalyticsModule } from './../../../../services/analytics/analytics.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmRegistrationComponent } from './confirm-registration.component';\nimport { ConfirmRegistrationService } from './confirm-registration.service';\nimport { KngButtonModule, KngFooterModule, KngLoaderModule } from 'kinetic-angular';\n\n@NgModule({\n\tdeclarations: [\n\t\tConfirmRegistrationComponent\n\t],\n\timports: [ CommonModule,\n\t\tKngButtonModule,\n\t\tKngFooterModule,\n\t\tAnalyticsModule,\n\t\tKngLoaderModule\n\t],\n\texports: [\n\t\tConfirmRegistrationComponent\n\t],\n\tproviders: [\n\t\tConfirmRegistrationService\n\t]\n})\nexport class ConfirmRegistrationModule {}\n","\nimport { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { KngFooterState } from 'kinetic-angular';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { AnalyticsDataLayer } from './../../../../services/analytics/definitions/analytics.interface';\nimport { AnalyticsService } from './../../../../services/analytics/analytics.service';\nimport { ApiResponse } from '../../../../definitions/api-response.interface';\nimport { ConfirmRegistrationFactory } from './confirm-registration.factory';\nimport { ConfirmPageLabels, ConfirmPageSections, ConfirmRegistrationState } from './definitions';\nimport { EnvironmentRef } from '../../../../../environments/interfaces';\nimport { expEnvironmentRef } from '../../../../injection-tokens/environment.injection-token';\nimport { AemApiService } from '../../../../services/api/api.aem.service';\nimport { ApplicationPath, IsRequestSubmittedForReview } from '../../../../services/shared/shared-enums';\nimport { SharedService } from '../../../../services/shared/shared.service';\nimport { has as lodashHas, set as lodashSet, noop as lodashNoop, get as lodashGet } from 'lodash';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ConfirmRegistrationService\n{\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(\n\t\tConfirmRegistrationFactory.build()\n\t);\n\tget state(): ConfirmRegistrationState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateChanged(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tconstructor(\n\t\tprivate readonly aemApiService: AemApiService,\n\t\tprivate readonly router: Router,\n\t\tprivate readonly sharedService: SharedService,\n private readonly analyticsService: AnalyticsService,\n\n @Inject(expEnvironmentRef) private readonly environmentRef: EnvironmentRef\n\t){}\n\n\tpublic updateState(value: ConfirmRegistrationState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic navigateForUserRegistrationStatus(): void\n\t{\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authentication);\n\t}\n\tpublic getFooterData():void\n\t{\n\t\tthis.aemApiService.getFooterData().subscribe((res:ApiResponse)=>\n\t\t{\n\t\t\tthis.state.footer= res.data;\n\t\t\tthis.state.footer.footercontent.logoImagePath=this.environmentRef.aemBaseUrl+this.state.footer.footercontent.logoImagePath;\n\t\t\tthis.state.footer.ribbonImage=this.environmentRef.aemBaseUrl+this.state.footer.ribbonImage;\n\t\t\tthis.state.footer.footercontent.footermenu.forEach(element =>\n\t\t\t{\n\t\t\t\tif(element.iconPath)\n\t\t\t\t{\n\t\t\t\t\telement.iconPath=this.environmentRef.aemBaseUrl+element.iconPath;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.updateState(this.state);\n\t\t});\n\t}\n\tpublic trackAnalyticsEvent(data: AnalyticsDataLayer)\n\t{\n\t\tconst values = Object.values(localStorage);\n\t\tfor (const value of values)\n\t\t{\n\t\t\tif (value.includes('idTokenClaims'))\n\t\t\t{\n\t\t\t\tconst parsedVal = JSON.parse(value);\n\t\t\t\t!lodashHas(parsedVal, 'idTokenClaims.emails') ? lodashSet(parsedVal, 'idTokenClaims.emails', [lodashGet(parsedVal, 'idTokenClaims.email', '')]) : lodashNoop();\n\t\t\t\tthis.analyticsService.trackRegistrationByEvent(data, parsedVal.idTokenClaims.emails[0]);\n\t\t\t}\n\t\t}\n\t}\n\tpublic getPageLabels()\n\t{\n\t\tthis.aemApiService.getPendingApprovalLabels().subscribe((response: ApiResponse) =>\n\t\t{\n\t\t\tconst responseObj: ConfirmPageSections = response.data;\n\t\t\tthis.state.pageLabels = responseObj;\n\t\t\tconst isRegistrationSubmittedForReview = localStorage.getItem(IsRequestSubmittedForReview.isRequestSubmittedForReview);\n\t\t\tif(isRegistrationSubmittedForReview) this.updatePageLabels(this.state.pageLabels.submittedRegistrationForReview);\n\t\t\telse this.router.url === ApplicationPath.pendingBusinessApproval? this.updatePageLabels(this.state.pageLabels.pendingBusinessAccountApproval) : this.updatePageLabels(this.state.pageLabels.pendingApproval);\n\t\t});\n\t}\n\tupdatePageLabels(labels: ConfirmPageLabels)\n\t{\n\t\tthis.state.pageHeading = labels.mainText;\n\t\tthis.state.pageDescription = this.sharedService.customerServiceMail(labels.subText);\n\t\tthis.state.refreshPageButton.label = labels.refreshButton.label;\n\t\tthis.state.logo.altText = labels.logo.altText;\n\t}\n}\n","import { KngButtonState, KngFooterState } from 'kinetic-angular';\nimport { IdLabelPair, Image } from '../../../../../services/shared/shared-interface';\n\nexport interface ConfirmRegistration {\n state: ConfirmRegistrationState;\n}\nexport interface ConfirmRegistrationState {\n pageHeading: string;\n pageDescription: string;\n logo: Image;\n refreshPageButton: KngButtonState;\n footer: KngFooterState;\n pageLabels: ConfirmPageSections;\n loading: boolean;\n}\n\nexport interface ConfirmPageSections {\n pendingApproval: ConfirmPageLabels;\n pendingBusinessAccountApproval: ConfirmPageLabels;\n submittedRegistrationForReview: ConfirmPageLabels;\n}\nexport interface ConfirmPageLabels {\n logo: Image;\n mainText: string;\n subText: string;\n refreshButton: IdLabelPair;\n}\n","export * from './confirm-registration.interface';\n","export * from './definitions';\nexport * from './confirm-registration.component';\nexport * from './confirm-registration.factory';\nexport * from './confirm-registration.module';\nexport * from './confirm-registration.service';\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { RegistrationState } from '../../definitions/registration.interface';\nimport { RegistrationService } from '../../registration.service';\nimport { UserType } from 'projects/tmhna-portal/src/app/services/shared/shared-enums';\n\n@Component({\n\tselector: 'tmhna-portal-registration-account-type',\n\ttemplateUrl: './registration-account-type.component.html',\n\tstyleUrls: ['./registration-account-type.component.scss']\n})\nexport class RegistrationAccountTypeComponent\n{\n\tselectedRadioOption: string = UserType.businessAdminUser;\n\t@Input() set state(value: RegistrationState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): RegistrationState\n\t{\n\t\treturn this.service.state;\n\t}\n\t@Output() showContinueButton: EventEmitter = new EventEmitter();\n\n\tconstructor(private readonly service: RegistrationService) {}\n\n\tonOptionChange(option: string)\n\t{\n\t\tif(option === UserType.individualUser)\n\t\t{\n\t\t\tthis.showContinueButton.emit(false);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.showContinueButton.emit(true);\n\t\t}\n\t}\n}\n","\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { GridData, RegistrationState } from '../../definitions';\nimport { RegistrationService } from '../../registration.service';\nimport { KngButtonState, KngGridPager, ModalComponent, ModalEvent, ModalState } from 'kinetic-angular';\nimport { ButtonState, ErrorMessageHeading, ErrorMessageSubHeading, KngUploadFileComponent, PagerService } from 'projects/kinetic-angular/src/lib/components';\nimport { RegistrationUtilService } from '../../registration-util.service';\nimport { CssClass, ModalButtonId } from '../../../../services/shared/shared-enums';\nimport { SharedUtilService } from '../../../../services/shared/shared-util.service';\nimport { AnalyticsService } from 'projects/tmhna-portal/src/app/services/analytics/analytics.service';\nimport { AnalyticsDataLayer } from 'projects/tmhna-portal/src/app/services/analytics/definitions';\n\n@Component({\n\tselector: 'tmhna-portal-registration-additional-locations',\n\ttemplateUrl: './registration-additional-locations.component.html',\n\tstyleUrls: ['./registration-additional-locations.component.scss']\n})\nexport class RegistrationAdditionalLocationsComponent implements OnInit\n{\n\tallSelected: boolean = false;\n\tselectedGridData: GridData[] = [];\n\tpageNumber: number = 1;\n\tcurrentPage: number = 1;\n\tpager: KngGridPager = {\n\t\ttotalPages: 1,\n\t\tcurrentPage: this.currentPage,\n\t\tendIndex: 0,\n\t\tendPage: 1,\n\t\tpageSize: 50,\n\t\tstartIndex: 0,\n\t\tstartPage: 1,\n\t\ttotalItems: this.state.additionalLocationGrid.length\n\t};\n\terrorMessage:string = 'This domain is already taken! Need assistance?';\n\tcontactUs = {\n\t\tlabel: 'Contact Us',\n\t\turl: '/contact-us'\n\t};\n\tclaimDomain: boolean = false;\n\t@ViewChild('confirmSubmit') confirmSubmit!: ModalComponent;\n\t@ViewChild('uploadModal') uploadModal!: ModalComponent;\n\t@ViewChild(KngUploadFileComponent, { static: false }) fileUploadComponent: | KngUploadFileComponent | undefined;\n\t@Input() set state(value: RegistrationState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): RegistrationState\n\t{\n\t\treturn this.service.state;\n\t}\n\tget businessRegistrationFlowSubmitModalState(): ModalState\n\t{\n\t\treturn this.service.businessRegistrationFlowSubmitModalState;\n\t}\n\tget businessRegistrationUploadListModalState(): ModalState\n\t{\n\t\treturn this.service.businessRegistrationUploadListModalState;\n\t}\n\tget downloadButtonState(): KngButtonState \n\t{\n\t\treturn this.service.downloadButtonState;\n\t}\n\n\tget userDomain(): string\n\t{\n\t\tif(this.state.email)\n\t\t{\n\t\t\treturn this.state.email.split('@')[1];\n\t\t}\n\t\treturn '';\n\t}\n\tconstructor(public service: RegistrationService, public pagerService: PagerService, private readonly registrationUtilService: RegistrationUtilService, private readonly sharedUtilService: SharedUtilService,\n\t\tprivate readonly analyticsService: AnalyticsService) {}\n\n\tngOnInit()\n\t{\n\t\tthis.service.verifyDomainClaimed(this.userDomain);\n\t\tthis.service.getAdditionalLocationList();\n\t\tthis.service.getBusinessRegistrationFlowSubmitModalLabels();\n\t\tthis.service.getBusinessRegistrationUploadListModalLabels();\n\t\tthis.setPage(1);\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'pageView',\n\t\t\tpage: {\n\t\t\t\tname: 'Complete your Profile'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\n\tsetAll(completed: boolean) \n\t{\n\t\tthis.service.checkAll = completed;\n\t\tthis.allSelected = completed;\n\t\tthis.state.additionalLocationGrid.forEach(t => (t.checked = completed));\n\t\tif(completed)\n\t\t\tthis.selectedGridData = [...this.state.additionalLocationGrid];\n\t\telse\n\t\t\tthis.selectedGridData = [];\n\t}\n\n\tcountOfSelectedRequests() \n\t{\n\t\tconst countOfSelectedRequests = this.selectedGridData.length;\n\t\treturn countOfSelectedRequests;\n\t}\n\tcancelSelection() \n\t{\n\t\tthis.state.additionalLocationGrid.forEach((row) => { row.checked = false; });\n\t\tthis.allSelected = false;\n\t\tthis.service.checkAll = false;\n\t\tthis.selectedGridData = [];\n\t}\n\tpartiallySelected(): boolean \n\t{\n\t\treturn this.state.additionalLocationGrid.filter(t => t.checked).length > 0 && !this.allSelected;\n\t}\n\tupdateAllSelected() \n\t{\n\t\tthis.selectedGridData = [];\n\t\tthis.allSelected = this.state.additionalLocationGrid.every(row => row.checked);\n\t\tif(this.allSelected)\n\t\t{\n\t\t\tthis.service.checkAll = true;\n\t\t}\n\t\tthis.state.additionalLocationGrid.forEach(ele =>\n\t\t{\n\t\t\tif(ele.checked)\n\t\t\t\tthis.selectedGridData.push(ele);\n\t\t});\n\t}\n\tsetPage(e: number) \n\t{\n\t\tthis.pager.totalPages = Math.ceil(this.state.additionalLocationGrid.length / 50);\n\t\tthis.pageNumber = e;\n\t\tif (e < 1 || e > this.pager.totalPages) \n\t\t{\n\t\t\treturn;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.pager.currentPage = e;\n\t\t}\n\n\t\tthis.currentPage = e;\n\t\tthis.pager = this.pagerService.getPager(this.state.additionalLocationGrid.length, e, 50);\n\t}\n\tsubmitAdditionalLocation(proceedWithoutLocation: boolean = false)\n\t{\n\t\tif(this.isLocationSelected(proceedWithoutLocation))\n\t\t{\n\t\t\tconst selectedLocationGrids:string[] = this.registrationUtilService.getLocationsByGrids(this.selectedGridData);\n\t\t\tthis.service.submitAdditionalLocation(selectedLocationGrids, this.claimDomain);\n\t\t\treturn;\n\t\t}\n\t\tif(this.service.isUploadSuccess)\n\t\t{\n\t\t\tthis.service.submitAdditionalLocation([], this.claimDomain);\n\t\t\treturn;\n\t\t}\n\t\tthis.openModalLocationNotSelected();\n\t}\n\tisLocationSelected(proceedWithoutLocation: boolean)\n\t{\n\t\treturn (this.state.additionalLocationGrid.length === 0 || (this.state.additionalLocationGrid.length > 0 && this.selectedGridData.length > 0)) || proceedWithoutLocation;\n\t}\n\topenModalLocationNotSelected()\n\t{\n\t\tthis.businessRegistrationFlowSubmitModalState.hidden = false;\n\t\tthis.businessRegistrationFlowSubmitModalState.label = this.state.businessRegistrationFlowSubmitModalLabels.heading;\n\t}\n\tconfirmRemovalModalEvent(event: ModalEvent)\n\t{\n\t\tif(event.cta.id === ModalButtonId.cancel)\n\t\t{\n\t\t\tthis.businessRegistrationFlowSubmitModalState.hidden = false;\n\t\t\tthis.confirmSubmit.closePopup();\n\t\t\tthis.businessRegistrationFlowSubmitModalState.hidden = true;\n\t\t}\n\t\tif (event.cta.id === ModalButtonId.proceed)\n\t\t{\n\t\t\tthis.confirmSubmit.closePopup();\n\t\t\tthis.businessRegistrationFlowSubmitModalState.hidden = true;\n\t\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\t\tthis.submitAdditionalLocation(true);\n\t\t}\n\t}\n\tuploadListLocation()\n\t{\n\t\tthis.openUploadModal();\n\t}\n\topenUploadModal()\n\t{\n\t\tthis.state.uploadFileSection.download.errorMessage='';\n\t\tthis.service.downloadTemplateError = false;\n\t\tthis.state.additionalLocationGrid.forEach(t => (t.checked = false));\n\t\tthis.allSelected = false;\n\t\tthis.service.checkAll = false;\n\t\tthis.selectedGridData = [];\n\t\tthis.businessRegistrationUploadListModalState.hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.label = this.state.uploadFileSection.heading;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].label=this.state.uploadFileSection.cancel;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].label=this.state.uploadFileSection.upload;\n\t\tthis.businessRegistrationUploadListModalState.buttons[2].hidden = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].disabled = true;\n\t\tthis.analyticsService.trackRegistrationByEvent({\n \t\tevent: 'Upload Locations',\n \t\tlink: {\n \t\t\tname: 'Upload Locations'\n \t\t}\n \t}, this.state.email);\n\t}\n\tcloseModalUpload(event? : ModalEvent)\n\t{\n\t\tthis.service.resetFileStateModel();\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].disabled = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].disabled = true;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].label = this.state.uploadFileSection.cancel;\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].cssClass = CssClass.btnSecondary;\n\t\tthis.businessRegistrationUploadListModalState.hidden = true;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t\tif(event?.cta.id !== ModalButtonId.close)\n\t\t{\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Cancel',\n\t\t\t\tlink: {\n\t\t\t\t\tname: 'Upload Cancel'\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t\tthis.sharedUtilService.hideModalBackdrop();\t\n\t}\n\tconfirmUserListModalEvent(event: ModalEvent)\n\t{\n\t\tconst btnIndex = event.state.buttons.findIndex((cta: ButtonState) => cta.label === event.cta.label);\n\t\tif (btnIndex === 1)\n\t\t{\n\t\t\tif(this.fileUploadComponent)\n\t\t\t\tthis.uploadFileServerValidation(this.fileUploadComponent.files[0]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.businessRegistrationUploadListModalState.hidden = false;\n\t\t\tthis.businessRegistrationUploadListModalState.hidden = true;\n\t\t\tthis.closeModalUpload(event);\n\t\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\t}\n\t}\n\tdownloadLocationTemplate()\n\t{\n\t\tthis.service.getBusinessRegistrationLocationDownload();\n\t}\n\tuploadFileServerValidation(item: File)\n\t{\n\t\tthis.service.checkServerValidationUploadFile(item);\n\t}\n\treplaceFileEventEmitter()\n\t{\n\t\tthis.businessRegistrationUploadListModalState.buttons[0].disabled = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = false;\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].disabled = true;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\tfileValidationCheck(item: File)\n\t{\n\t\tconst fileNameArr = item.name.split('.');\n \tfileNameArr.pop();\n \tconst fileName = fileNameArr.join('.');\n\t\tif(fileNameArr.length !== 1 || fileName.trim().length === 0 || fileName.includes('/') || /\\\\/.exec(fileName) || item.name.split('.').pop()!=='xlsx') \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.wrongFormat;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Error',\n\t\t\t\terror: {\n\t\t\t\t\tmessage: ErrorMessageSubHeading.wrongFormat\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.checkOtherFileValidation(item);\n\t\t}\n\t}\n\tcheckOtherFileValidation(item: File)\n\t{\n\t\tconst fileSize = Math.round((item.size / 1024));\n\t\tif(fileSize > 102400 || fileSize < 9.58) \n\t\t{\n\t\t\tthis.service.uploadFileState.errorHeading = ErrorMessageHeading.uploadFailed;\n\t\t\tthis.service.uploadFileState.errorSubHeading = ErrorMessageSubHeading.incorrectSize;\n\t\t\tthis.emptyUploadFilesArray();\n\t\t\tthis.analyticsService.trackRegistrationByEvent({\n\t\t\t\tevent: 'Upload Error',\n\t\t\t\terror: {\n\t\t\t\t\tmessage: ErrorMessageSubHeading.incorrectSize\n\t\t\t\t}\n\t\t\t}, this.state.email);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif(this.fileUploadComponent)\n\t\t\t\tthis.fileUploadComponent.files[0] = item;\n\t\t\tthis.businessRegistrationUploadListModalState.buttons[1].disabled = false;\n\t\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = false;\n\t\t\tthis.service.uploadFileState.isSuccessClient = true;\n\t\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\t}\n\t}\n\temptyUploadFilesArray()\n\t{\n\t\tthis.businessRegistrationUploadListModalState.buttons[1].hidden = true;\n\t\tthis.service.uploadFileState.isError = true;\n\t\tthis.service.uploadFileState.isSuccessClient = false;\n\t\tthis.service.uploadFileState.isSuccessServer = false;\n\t\tif(this.fileUploadComponent)\n\t\t\tthis.fileUploadComponent.files = [];\n\t}\n\t\n}\n","
\n
\n
\n
\n {{ state.registrationPage.domainInfo.stepNumber }}\n
\n
\n

{{ state.registrationPage.domainInfo.heading }}

\n
{{ state.registrationPage.domainInfo.description }}
\n
\n
\n
{{ state.registrationPage.domainInfo.description }}
\n
\n
\n {{ state.registrationPage.domainInfo.subHeading }}\n
\n
\n {{userDomain}} \n
\n
\n {{ state.registrationPage.domainInfo.labelPrefix }} \"{{ userDomain }}\" {{ state.registrationPage.domainInfo.labelSuffix }} \n \n
\n {{ errorMessage }} {{contactUs.label}} \n
\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n {{ state.registrationPage.additionalLocation.stepNumber }}\n
\n

{{ state.registrationPage.additionalLocation.heading1 }}

\n
\n
{{ state.registrationPage.additionalLocation.headingOr }}
\n
\n \n
\n
\n
\n
\n
\n {{ state.registrationPage.additionalLocation.stepNumber }}\n
\n

{{ state.registrationPage.additionalLocation.heading2?.label }}

\n
\n
\n
\n
{{state.registrationPage.additionalLocation.uploadSuccessText}}
\n
{{state.registrationPage.additionalLocation.uploadSuccessSubtext}}
\n
\n
\n

{{ state.registrationPage.additionalLocation.primaryLocationHeading }}

\n \n
{{ state.additionalLocationList.primaryLocationInfo.companyName }}\n
\n
\n
{{ state.additionalLocationList.primaryLocationInfo.addressLine1 }}
\n
{{ state.additionalLocationList.primaryLocationInfo.addressLine2 }}
\n
\n {{ state.additionalLocationList.primaryLocationInfo.city }}, {{ state.additionalLocationList.primaryLocationInfo.state }}, {{ state.additionalLocationList.primaryLocationInfo.zipCode }}\n
\n
{{ state.additionalLocationList.primaryLocationInfo.country }}
\n
\n
\n \n
_
\n
\n
\n\n
0\">\n
\n
\n
\n \n
\n
{{countOfSelectedRequests()}}  items selected
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
{{countOfSelectedRequests()}}  items selected
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n \n
\n  \n \n \n {{header}}\n
\n  \n \n \n
{{row.companyName}}
\n
\n
{{row.address}}
\n
\n
{{row.country}}
\n
\n
\n \"no\n
{{state?.additionalLocationError?.message}}
\n
{{state?.additionalLocationError?.messageSubText}}
\n
\n
\n\n
\n \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n
\n  \n \n \n {{state.registrationPage.additionalLocation.selectLocationTableHeader.selectAll}}\n
\n  \n \n \n
\n
{{state.registrationPage.additionalLocation.selectLocationTableHeader.companyName}}
\n
{{row.companyName}}
\n
\n
\n
{{state.registrationPage.additionalLocation.selectLocationTableHeader.address}}
\n
{{row.address}}
\n
\n
\n
{{state.registrationPage.additionalLocation.selectLocationTableHeader.country}}
\n
{{row.country}}
\n
\n
\n
\n \"no\n
{{state?.additionalLocationError?.message}}
\n
{{state?.additionalLocationError?.messageSubText}}
\n
\n
\n\n
\n
\n Showing {{ pager.startIndex + 1 | number\n }}-{{(state.additionalLocationGrid).length > pager.pageSize * (pager.currentPage) ?\n pager.pageSize * (pager.currentPage): (state.additionalLocationGrid).length | number }} of {{\n (state.additionalLocationGrid)?.length | number }}\n
\n \n
\n\n
\n \n
\n
\n\n\n\n\n
\n
\n
{{state.uploadFileSection.subHeading}}
\n
    \n
  1. \n {{content.label}}: \n {{content.description}} \n
  2. \n
\n
\n
\n \n \n
\n
\n
\n

{{this.state.uploadFileSection.download.errorMessage}}

\n
\n\n
\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { RegistrationService } from '../../registration.service';\nimport { RegistrationState, SaveUserPayload } from '../../definitions';\nimport { RegistrationFactory } from '../../registration.factory';\nimport { CountryCode, RemovalSubmissionButton, UseVerifiedOrEditAddress, WarningMessage, countries, provinces, states } from '../../../../services/shared/shared-enums';\nimport { canadaZipFormat } from '../../../../services/shared/shared-constants';\nimport { SharedService } from '../../../../services/shared/shared.service';\nimport { Role } from '../../../../services/shared/shared-interface';\nimport { SharedUtilService } from '../../../../services/shared/shared-util.service';\nimport { ControlName } from '../../../../services/shared/shared-mapping';\nimport { FormControl } from '@angular/forms';\nimport { RegistrationUtilService } from '../../registration-util.service';\nimport { AnalyticsService } from 'projects/tmhna-portal/src/app/services/analytics/analytics.service';\nimport { AnalyticsDataLayer } from 'projects/tmhna-portal/src/app/services/analytics/definitions';\nimport { ModalComponent, ModalEvent, ModalState } from 'kinetic-angular';\n\n@Component({\n\tselector: 'tmhna-portal-registration-profile-company-information',\n\ttemplateUrl: './registration-profile-company-information.component.html',\n\tstyleUrls: ['./registration-profile-company-information.component.scss']\n})\nexport class RegistrationProfileCompanyInformationComponent \n{\n\t@Input() state: RegistrationState = RegistrationFactory.build();\n\tinitialAddressInput = RegistrationFactory.buildCompanyDetails();\n\t@ViewChild(ModalComponent) modalComponent!: ModalComponent;\n\t@ViewChild('confirmVerifiedAddress') confirmVerifiedAddress!: ModalComponent;\n\treadonly countries = countries;\n\tverifyInformationButtonClicked: boolean = false;\n\tproceedInputedAddress: boolean = false;\n\tshowUserInfosNotFound: boolean = false;\n\tcompanyNotFoundErrorModalDescription: string = '';\n\tverifyInfopayload! : SaveUserPayload;\n\taccountNameMaxLengthMessage: string = '';\n\tget statesValue() \n\t{\n\t\treturn this.service.statesOrProvinces$.value;\n\t}\n\n\tget verifyAddressModal(): ModalState \n\t{\n\t\treturn this.service.verifyAddressState;\n\t}\n\tget companyNotFoundErrorModal(): ModalState\n\t{\n\t\treturn this.service.verifyAddressState;\n\t}\n\n\tconstructor(public service: RegistrationService, public sharedService: SharedService, \n\t\tprivate readonly sharedUtilService: SharedUtilService, private readonly registatrationUtilService: RegistrationUtilService,\n\t\tprivate readonly analyticsService: AnalyticsService) \n\t{\n\t\tthis.service.getUserData();\n\t\tthis.service.form();\n\t\tservice.eventCallback$.subscribe(errorResponse => \n\t\t{\n\t\t\tthis.noCompanyOrEmailDetailsInCRM(errorResponse);\n\t\t});\n\t}\n\n\tgetRoleDescription(roleId: string) \n\t{\n\t\tconst selectedRole: Role | undefined = this.state.requestedRole.find(role => role.id === roleId);\n\t\treturn selectedRole ? selectedRole.description : '';\n\t}\n\n\tnoCompanyOrEmailDetailsInCRM(errorResponse : {}) \n\t{\n\t\tif(errorResponse) \n\t\t{\n\t\t\tthis.state.loading = false;\n\t\t\tthis.showUserInfosNotFound = true;\n\t\t\tthis.companyNotFoundErrorModal.hidden = false;\n\t\t\tthis.companyNotFoundErrorModal.cssClass = '';\n\t\t\tthis.companyNotFoundErrorModal.label = this.state.registrationPage.companyDetails.companyNotFoundErrorModalHeader;\n\t\t\tthis.companyNotFoundErrorModal.buttons[0].hidden = false;\n\t\t\tthis.companyNotFoundErrorModal.buttons[0].label = RemovalSubmissionButton.cancel;\n\t\t\tthis.companyNotFoundErrorModal.buttons[1].hidden = false;\n\t\t\tthis.companyNotFoundErrorModal.buttons[1].label = RemovalSubmissionButton.submit;\n\t\t}\n\t}\n\n\tpublic validateProfileInformation(field: string): boolean \n\t{\n\t\treturn (this.service.profileInformationForm.controls[field].invalid && \n\t\t\t(this.service.profileInformationForm.controls[field].dirty || this.service.profileInformationForm.controls[field].touched || this.verifyInformationButtonClicked));\n\t}\n\n\tpublic validateCompanyDetails(field: string): boolean \n\t{\n\t\treturn (this.service.companyDetailsForm.controls[field].invalid &&\n\t\t\t(this.service.companyDetailsForm.controls[field].dirty || this.service.companyDetailsForm.controls[field].touched || this.verifyInformationButtonClicked));\n\t}\n\n\tpublic validateZipCodeLength(): boolean \n\t{\n\t\tconst value = this.service.companyDetailsForm.controls['postalCode']['value'];\n\t\tconst length = value?.length;\n\t\tconst isBetweenOneAndFiveCharacters: boolean = (length > 0 && length < 5);\n\t\treturn isBetweenOneAndFiveCharacters;\n\t}\n\n\tpublic validateCanadaZipCode(): boolean \n\t{\n\t\tconst value = this.service.companyDetailsForm.controls['postalCode']['value'];\n\t\tconst isCanadianPostalCode: boolean = (this.service.companyDetailsForm.controls['country']['value'] === CountryCode.canadaCountry);\n\t\treturn isCanadianPostalCode && value?.length > 0 && !canadaZipFormat.test(value);\n\t}\n\n\tpublic inputFormatterCompanyInfo(controlName: string): void \n\t{\n\t\tObject.keys(this.service.companyDetailsForm.controls).forEach((key: string) => \n\t\t{\n\t\t\tconst control = this.service.companyDetailsForm.get(key);\n\t\t\tif(key === controlName && control instanceof FormControl)\n\t\t\t{\n\t\t\t\tif([ ControlName.companyName.toString(), ControlName.addressLine1.toString(), ControlName.addressLine2.toString(), ControlName.city.toString() ].includes(key))\n\t\t\t\t{\n\t\t\t\t\tcontrol.setValue(this.sharedUtilService.formatValue(control.value, key));\n\t\t\t\t}\n\t\t\t\telse if(ControlName.postalCode === key)\n\t\t\t\t{\n\t\t\t\t\tcontrol.setValue(this.formatZipCode(control.value));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tphoneNumberHandler(event: Event, inputElement: HTMLInputElement)\n\t{\n\t\tlet cursorPosition = inputElement.selectionStart ?? 0;\n\t\tthis.formatPhoneNumber((event.target as HTMLInputElement).value);\n\t\n\t\tconst formattedNumberLength = this.service.profileInformationForm.get('phoneNumber')?.value.length;\n\t\tcursorPosition = this.sharedService.handlePhoneInputCursor(event, cursorPosition, formattedNumberLength);\n\t\tinputElement.setSelectionRange(cursorPosition, cursorPosition);\n\t}\n\tpublic formatPhoneNumber(value: string): void \n\t{\n\t\tthis.service.profileInformationForm.patchValue({\n\t\t\tphoneNumber: this.sharedService.formatPhoneNumber(value)\n\t\t});\n\t}\n\tpublic formatZipCode(value: string): string \n\t{\n\t\treturn this.sharedUtilService.formatZipCode(value, this.service.companyDetailsForm.controls['country']['value']).trim();\n\t}\n\n\tnonNumericSpaceRestriction(value: string, name: string) \n\t{\n\t\tconst newValue = value.replace(/\\u00A0/g, ' ');\n\t\tif (name === ControlName.city) \n\t\t{\n\t\t\tthis.service.companyDetailsForm.patchValue({\n\t\t\t\tcity: this.sharedService.nonNumericSpaceRestriction(newValue)\n\t\t\t});\n\t\t}\n\t\telse if (name === ControlName.accountName) \n\t\t{\n\t\t\tconst trimmedValue = newValue.trimLeft();\n\t\t\tthis.service.companyDetailsForm.patchValue({\n\t\t\t\taccountName: this.sharedUtilService.formatValue(newValue, name)\n\t\t\t});\n\t\t\tif (trimmedValue.length >= 40) this.accountNameMaxLengthMessage = WarningMessage.max40CharactersLimit;\n\t\t\telse this.accountNameMaxLengthMessage = '';\n\t\t}\n\t}\n\n\tupdateCountrySelection() \n\t{\n\t\tthis.service.companyDetailsForm.controls['postalCode'].reset();\n\t\tthis.service.companyDetailsForm.controls['state'].reset();\n\t\tthis.service.companyDetailsForm.controls['city'].reset();\n\t\tthis.service.companyDetailsForm.controls['state'].setValue('');\n\n\t\tconst country: string = this.service.companyDetailsForm.controls['country'].value;\n\t\tthis.service.statesOrProvinces$.next([]);\n\t\tcountry === CountryCode.unitedStatesofAmerica ? setTimeout(() => this.service.statesOrProvinces$.next(states), 0) : setTimeout(() => this.service.statesOrProvinces$.next(provinces), 0);\n\t}\n\n\tvalidateZipcode()\n\t{\n\t\tconst postalCodeValue = this.service.companyDetailsForm.controls['postalCode']['value'];\n\t\treturn this.service.companyDetailsForm.controls['country']['value'] === CountryCode.unitedStatesofAmerica ? postalCodeValue.length >= 5 : (postalCodeValue?.length > 0 && canadaZipFormat.test(postalCodeValue));\n\t}\n\n\tpublic verifyInformation(element: HTMLDivElement): void \n\t{\n\t\tthis.verifyInformationButtonClicked = true;\n\t\tif (this.service.companyDetailsForm.status === 'VALID' && this.service.profileInformationForm.status === 'VALID' && this.validateZipcode()) \n\t\t{\n\t\t\tthis.service.useVerifiedAddress = false;\n\t\t\tthis.service.isModifyButtonClicked = false;\n\t\t\tconst phoneNumber = this.service.profileInformationForm.controls['phoneNumber']['value'].replace(/[^\\d]/g, '');\n\t\t\tconst postalCode = this.service.companyDetailsForm.controls['country']['value'] === CountryCode.unitedStatesofAmerica ?\n\t\t\t\tthis.service.companyDetailsForm.controls['postalCode']['value'].replace(/[^\\d]/g, '') :\n\t\t\t\tthis.service.companyDetailsForm.controls['postalCode']['value'].trim();\n\t\t\tconst tempIsPrefilled = this.state.tempFlag;\n\t\t\tif(this.service.vertexFailedWithNoSuggestedAddress) \n\t\t\t{\n\t\t\t\tthis.proceedInputedAddress = true;\n\t\t\t}\n\t\t\tconst proceedWithInputtedAddress = this.proceedInputedAddress;\n\t\t\tconst profileInfo = {\n\t\t\t\t...this.service.profileInformationForm.value,\n\t\t\t\tphoneNumber: phoneNumber,\n\t\t\t\tlastName: this.service.profileInformationForm.controls['lastName']['value'],\n\t\t\t\tfirstName: this.service.profileInformationForm.controls['firstName']['value'],\n\t\t\t\temail: this.service.profileInformationForm.controls['email']['value'].toLocaleLowerCase(),\n\t\t\t\tjobTitle: this.service.profileInformationForm.controls['jobTitle']['value'],\n\t\t\t\trequestedRole: this.service.profileInformationForm.controls['requestedRole']['value']\n\t\t\t};\n\t\t\tconst companyInfo = {\n\t\t\t\t...this.service.companyDetailsForm.value,\n\t\t\t\tcountry: this.service.companyDetailsForm.controls['country']['value'],\n\t\t\t\tstate: this.service.companyDetailsForm.controls['state']['value'],\n\t\t\t\tpostalCode: postalCode\n\t\t\t};\n\t\t\tthis.initialAddressInput = companyInfo;\n\t\t\tthis.verifyInfopayload = { ...profileInfo, ...companyInfo, tempIsPrefilled, proceedWithInputtedAddress };\n\t\t\tthis.state.loading = true;\n\t\t\tthis.service.verifyInformation(this.verifyInfopayload, element);\n\t\t\tthis.verifyAddressModal.hidden = false;\n\t\t\tthis.verifyAddressModal.cssClass = UseVerifiedOrEditAddress.cssClass;\n\t\t\tthis.verifyAddressModal.label = UseVerifiedOrEditAddress.label;\n\t\t\tthis.verifyAddressModal.buttons[0].hidden = false;\n\t\t\tthis.verifyAddressModal.buttons[0].label = 'Close';\n\t\t\tthis.verifyAddressModal.buttons[1].hidden = false;\n\t\t\tthis.verifyAddressModal.buttons[1].label = 'Proceed';\n\t\t\tthis.proceedInputedAddress = false;\n\t\t}\n\t}\n\n\tgetRequiredErrorMessage(fieldName: string, isDropdown: boolean = false)\n\t{\n\t\treturn this.sharedService.capitalizeFirstLetter(this.sharedService.updateMessage(isDropdown? this.state.errorText.requiredDropdownErrorMessage:this.state.errorText.requiredErrorMessage, '$token', fieldName).toLowerCase());\n\t}\n\n\tonAddressOptionChange(option: string) \n\t{\n\t\tif (option.toLocaleLowerCase() === UseVerifiedOrEditAddress.useVerifiedAddress.toLocaleLowerCase()) \n\t\t{\n\t\t\t\n\t\t\tthis.service.statesOrProvinces$.next(this.registatrationUtilService.getStateProvinceValues(this.service.verifiedLocation.country ?? ''));\n\t\t\tthis.service.useVerifiedAddress = true;\n\t\t\tthis.service.companyDetailsForm.patchValue({\n\t\t\t\taccountName: this.initialAddressInput.accountName,\n\t\t\t\taddressLine1: this.service.verifiedLocation.addressLine1,\n\t\t\t\taddressLine2: this.service.verifiedLocation.addressLine2 ? this.service.verifiedLocation.addressLine2 : '',\n\t\t\t\tcountry: this.service.verifiedLocation.country,\n\t\t\t\tcity: this.service.verifiedLocation.city,\n\t\t\t\tstate: this.service.verifiedLocation.state,\n\t\t\t\tpostalCode: this.service.formattedPostalCode\n\t\t\t});\n\t\t\tthis.service.companyDetailsForm.controls['addressLine2'].reset();\n\t\t\tthis.service.companyDetailsForm.controls['state'].disable({ emitEvent: true, onlySelf: false });\n\t\t\tthis.service.companyDetailsForm.controls['country'].disable({ emitEvent: true, onlySelf: false });\n\t\t}\n\t\telse if (option.toLocaleLowerCase() === UseVerifiedOrEditAddress.editAddress.toLocaleLowerCase()) \n\t\t{\n\t\t\tthis.proceedInputedAddress = true;\n\t\t\tthis.cancelModalWithFormEnable();\n\t\t}\n\t}\n\tisCompanySectionDisabled()\n\t{\n\t\treturn (this.service.useVerifiedAddress || this.service.showModifyButton) ? true : null;\n\t}\n\n\tisProfileSectionDisabled()\n\t{\n\t\treturn (this.service.showModifyButton ? true : null);\n\t}\n\n\thandleModifyDetailsButtonClick()\n\t{\n\t\tthis.service.isModifyButtonClicked = true;\n\t\tthis.proceedInputedAddress = false;\n\t\tthis.service.showModifyButton = false;\n\t\tthis.service.isContinueButton = false;\n\t\tthis.service.isSubmitRegistrationButton = false;\n\t\tthis.service.state.verifyInformationButton.disabled = false;\n\t\tthis.service.state.submitButton.disabled = true;\n\t\tthis.service.state.continueButton.disabled = true;\n\t\tthis.service.termsandPrivacyAgreed = false;\n\t\tthis.service.profileInformationForm.controls['jobTitle'].enable();\n\t\tthis.service.profileInformationForm.controls['requestedRole'].enable();\n\t\tthis.service.companyDetailsForm.controls['state'].enable();\n\t\tthis.service.companyDetailsForm.controls['country'].enable();\n\t\tthis.service.isTCSection = false;\n\t\tthis.service.isAccountTypeSection = false;\n\t\tthis.service.state.termsModal.buttons[0].label = this.state.registrationPage.termsConditions.terms.modal.agreeButtonLabel;\n\t\tthis.service.state.policyModal.buttons[0].label = this.state.registrationPage.termsConditions.privacy.modal.agreeButtonLabel;\n\t\tconst analyticsData: AnalyticsDataLayer = {\n\t\t\tevent: 'ModifyDetails',\n\t\t\tlink: {\n\t\t\t\tname: 'Modify Details Button'\n\t\t\t}\n\t\t};\n\t\tthis.analyticsService.trackRegistrationByEvent(analyticsData, this.state.email);\n\t}\n\n\t\n\tproceedWithAddressOrCancel(event: ModalEvent, element: HTMLDivElement) \n\t{\n\t\tif(event.cta.label === 'Close') \n\t\t{\n\t\t\tthis.cancelModalWithFormEnable();\n\t\t\tthis.closeModalOnCancelandProceedActions();\n\t\t\tthis.service.vertexFailedWithNoSuggestedAddress = false;\n\t\t\tthis.proceedInputedAddress = false;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.closeModalOnCancelandProceedActions();\n\t\t\tthis.verifyInformation(element);\n\t\t}\n\t}\n\n\tsubmitRegistrationReviewOrCancel(event: ModalEvent) : void \n\t{\n\t\tif(event.cta.label === 'Cancel') \n\t\t{\n\t\t\tthis.cancelModalWithFormEnable();\n\t\t\tthis.closeSubmitReviewModal();\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.state.loading = true;\n\t\t\tthis.closeSubmitReviewModal();\n\t\t\tthis.service.submitRegistrationReviewOrCancel(this.verifyInfopayload);\n\t\t}\n\t}\n\n\tcloseSubmitReviewModal() \n\t{\n\t\tthis.companyNotFoundErrorModal.hidden = true;\n\t\tthis.showUserInfosNotFound = false;\n\t\tthis.hideModalBackdrop();\n\t}\n\t\n\tcancelModalWithFormEnable() \n\t{\n\t\tthis.service.useVerifiedAddress = false;\n\t\tthis.service.companyDetailsForm.controls['state'].enable();\n\t\tthis.service.companyDetailsForm.controls['country'].enable();\n\t\tthis.service.companyDetailsForm.patchValue({\n\t\t\taccountName: this.initialAddressInput.accountName,\n\t\t\taddressLine1: this.initialAddressInput.addressLine1,\n\t\t\taddressLine2: this.initialAddressInput.addressLine2,\n\t\t\tcountry: this.initialAddressInput.country,\n\t\t\tcity: this.initialAddressInput.city,\n\t\t\tstate: this.initialAddressInput.state,\n\t\t\tpostalCode: this.formatZipCode(this.initialAddressInput.postalCode)\n\t\t});\n\t}\n\n\t\n\tcloseModalOnCancelandProceedActions() \n\t{\n\t\tthis.verifyAddressModal.hidden = true;\n\t\tthis.service.addressSuggestion = false;\n\t\tthis.hideModalBackdrop();\n\t}\n\n\t\n\thideModalBackdrop() \n\t{\n\t\tdocument.body.classList.remove('modal-open');\n\t\tdocument.body.removeAttribute('style');\n\t\tconst backdrop = document.querySelector('.modal-backdrop');\n\t\tbackdrop?.remove();\n\t}\n\n\t\n\tverifyAddressModalClosed(): void \n\t{\n\t\tthis.hideModalBackdrop();\n\t\tthis.cancelModalWithFormEnable();\n\t\tthis.closeModalOnCancelandProceedActions();\n\t\tthis.service.vertexFailedWithNoSuggestedAddress = false;\n\t\tthis.proceedInputedAddress = false;\n\t}\n\tsubmitReviewModalClosed(): void \n\t{\n\t\tthis.cancelModalWithFormEnable();\n\t\tthis.closeSubmitReviewModal();\n\t}\n}\n","
\n
\n

\n {{ state.registrationPage.companyError.messageMain }}\n

\n
\n {{ state.registrationPage.companyError.actionMessage }}\n
\n
\n
{{ state.registrationPage.companyError.customerServiceName }}
\n
\n {{ state.registrationPage.companyError.phoneNumber.label }} : {{\n state.registrationPage.companyError.phoneNumber.value }}\n
\n
\n {{ state.registrationPage.companyError.email.label }} : {{ state.registrationPage.companyError.email.value }}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n {{ state.registrationPage.profileInfo.stepNumber }}\n
\n

{{ state.registrationPage.profileInfo.heading }}

\n
\n
\n {{ state.registrationPage.profileInfo.description }}\n
\n
\n
\n
\n
\n \n \n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.firstName) }}\n
\n
\n
\n
\n \n \n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.lastName) }}\n
\n
\n
\n
\n \n \n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.emailAddress) }}\n
\n
\n
\n
\n \n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.phoneNumber) }}\n
\n
\n {{ state.errorText.phoneLength }}\n
\n
\n {{state.errorText.phoneSameNumber}}\n
\n
\n {{state.errorText.phoneSequenceNumber}}\n
\n
\n
\n
\n
\n \n
\n \n \n {{ title.label }}\n \n \n
\n
\n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.jobTitle, true) }}\n
\n
\n
\n
\n \n
\n
\n \n \n {{ role.name}}\n \n \n
\n
\n \n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.profileInfo.requestedRole.label, true) }}\n
\n

\n {{\n state.registrationPage.profileInfo.requestedRole.description\n }}\n

\n

\n {{ getRoleDescription(service.profileInformationForm.controls['requestedRole'].value) }}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{ state.registrationPage.companyDetails.stepNumber }}\n
\n

{{ state.registrationPage.companyDetails.heading }}

\n
\n

\n {{ state.registrationPage.companyDetails.description }}\n

\n
\n
\n
\n
\n \n \n
\n
{{ accountNameMaxLengthMessage }}
\n \n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.companyName) }}\n
\n
\n {{ state.errorText.invalidCharacterWithNumericErrorMessage }}\n
\n
\n
\n
\n
\n \n \n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.addressLine1) }}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n \n \n {{ country.label }}\n \n \n
\n
\n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.country) }}\n
\n
\n
\n
\n \n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.city) }}\n
\n
\n {{ state.errorText.invalidCharacterWithNumericErrorMessage }}\n
\n
\n
\n
\n
\n \n
\n \n \n {{ state.label }}\n \n \n
\n
\n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.state) }}\n
\n
\n
\n
\n \n \n
\n
\n
\n {{ getRequiredErrorMessage(state.registrationPage.companyDetails.zipCode) }}\n
\n
\n
\n {{ state.errorText.minLengthZipCodeError }}\n
\n \n {{ state.errorText.canadaPostalCodeFormatError }}\n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n
\n
\n
{{ state.mapVertexAddressFailedLabels.description }}\n
\n
{{ state.vertexAPIValidationLabels.description }}\n
\n
\n
\n \n {{ state.mapVertexAddressFailedLabels.editAddressLabel }}\n \n
\n {{initialAddressInput?.addressLine1}},
\n {{initialAddressInput?.city}}, {{initialAddressInput?.state}}, {{initialAddressInput.postalCode}}\n
\n
\n
\n
\n \n
\n \n \n {{ state.vertexAPIValidationLabels.useVerifiedLabel }}\n \n \n \n
\n {{service.verifiedAddress.verifiedLocation?.addressLine1}},
\n {{service.verifiedAddress.verifiedLocation?.city}}, {{service.addressState}}, {{service.formattedPostalCode}}\n
\n
\n
\n \n \n {{ state.vertexAPIValidationLabels.editAddressLabel }}\n \n \n
\n {{initialAddressInput?.addressLine1}},
\n {{initialAddressInput?.city}}, {{initialAddressInput?.state}}, {{initialAddressInput.postalCode}}\n
\n
\n
\n
\n
\n
\n
\n \n
\n
{{state.registrationPage.companyDetails.companyNotFoundErrorModalDescription}}
\n
\n
\n \n ","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { RegistrationState } from '../../definitions/registration.interface';\nimport { RegistrationService } from '../../registration.service';\nimport { TermsAndPrivacy } from 'projects/tmhna-portal/src/app/services/shared/shared-enums';\nimport { ModalEvent } from 'kinetic-angular';\n\n@Component({\n\tselector: 'tmhna-portal-registration-terms-and-conditions',\n\ttemplateUrl: './registration-terms-and-conditions.component.html',\n\tstyleUrls: ['./registration-terms-and-conditions.component.scss']\n})\nexport class RegistrationTermsAndConditionsComponent implements OnInit\n{\n\ttermsChecked: boolean = false;\n\tprivacyChecked: boolean = false;\n\t@Input() set state(value: RegistrationState)\n\t{\n\t\tthis.service.updateState(value);\n\t}\n\tget state(): RegistrationState\n\t{\n\t\treturn this.service.state;\n\t}\n\n\tpublic termsAndConditions: boolean = false;\n\tpublic termsAndConditionsDisabled: boolean = true;\n\tcheckBoxTerms: string = '';\n\tcheckBoxPrivacy: string = '';\n\tcheckBoxTickedFlagTandC: boolean = false;\n\tcheckBoxTickedFlagPrivacy: boolean = false;\n\tisAtBottomTandC: boolean = false;\n\tisAtBottomPrivacy: boolean = false;\n\tcheckBoxDisabledFlagTandC: boolean = true;\n\tcheckBoxDisabledFlagPrivacy: boolean = true;\n\tpublic privacyPolicy: boolean = false;\n\tpublic privacyPolicyDisabled: boolean = true;\n\t@ViewChild('terms') terms: ElementRef | undefined;\n\t@ViewChild('policy') policy: ElementRef | undefined;\n\t@Output() termsAndPolicyConditionAgreed: EventEmitter = new EventEmitter();\n\n\tconstructor(public service: RegistrationService) {}\n\n\tngOnInit()\n\t{\n\t\tthis.state.termsModal.buttons[0].disabled = true;\n\t\tthis.state.policyModal.buttons[0].disabled = true;\n\t\tthis.state.termsModal.isCheckBox = true;\n\t\tthis.state.policyModal.isCheckBox = true;\n\t}\n\tonScrollTandC(event: Event)\n\t{\n\t\tconst target = event.target as HTMLElement;\n\t\tthis.isAtBottomTandC = target.scrollTop + target.clientHeight >= target.scrollHeight - 10;\n\t\tif(this.isAtBottomTandC && !this.termsAndConditions)\n\t\t{\n\t\t\tthis.checkBoxDisabledFlagTandC = false;\n\t\t}\n\t}\n\n\tonScrollPrivacy(event: Event)\n\t{\n\t\tconst target = event.target as HTMLElement;\n\t\tthis.isAtBottomPrivacy = target.scrollTop + target.clientHeight >= target.scrollHeight - 10;\n\t\tif(this.isAtBottomPrivacy && !this.privacyPolicy)\n\t\t{\n\t\t\tthis.checkBoxDisabledFlagPrivacy = false;\n\t\t}\n\t}\n\tcheckBoxTermsData() \n\t{\n\t\tthis.checkBoxTerms = this.state.registrationPage.termsConditions.terms.modal.checkboxText;\n\t\treturn this.checkBoxTerms;\n\t}\n\tcheckBoxPrivacyData()\n\t{\n\t\tthis.checkBoxPrivacy = this.state.registrationPage.termsConditions.privacy.modal.checkboxText;\n\t\treturn this.checkBoxPrivacy;\n\t}\n\tpublic agreeToConditionsOrPolicyAgreement(event: ModalEvent): void\n\t{\n\t\tlet privacyPolicyLinkElement: HTMLElement | null = null;\n\t\tif (event.state.label === TermsAndPrivacy.termsAndConditions)\n\t\t{\n\t\t\tthis.termsAndConditions = true;\n\t\t\tthis.service.state.termsModal.buttons[0].disabled = true;\n\t\t\tthis.service.state.termsModal.buttons[0].label = this.state.registrationPage.termsConditions.terms.modal.agreedButtonLabel;\n\t\t\tprivacyPolicyLinkElement = document.getElementById('privacyPolicy');\n\t\t\tthis.checkBoxTickedFlagTandC = true;\n\t\t\tthis.checkBoxDisabledFlagTandC = true;\n\t\t}\n\t\telse if (event.state.label === TermsAndPrivacy.privacyPolicy)\n\t\t{\n\t\t\tthis.privacyPolicy = true;\n\t\t\tthis.service.state.policyModal.buttons[0].disabled = true;\n\t\t\tthis.service.state.policyModal.buttons[0].label = this.state.registrationPage.termsConditions.privacy.modal.agreedButtonLabel;\n\t\t\tthis.checkBoxTickedFlagPrivacy = true;\n\t\t\tthis.checkBoxDisabledFlagPrivacy = true;\n\t\t}\n\t\tevent.state.hidden = true;\n\t\tconst ele = document.getElementById('kng-modal-close');\n\t\tif (ele)\n\t\t{\n\t\t\tele.click();\n\t\t}\n\t\tif (privacyPolicyLinkElement !== null)\n\t\t{\n\t\t\tprivacyPolicyLinkElement.focus();\n\t\t}\n\t\tthis.checkIfBothTnCAndPrivacyPolicyAgreed();\n\t}\n\n\tcheckIfBothTnCAndPrivacyPolicyAgreed()\n\t{\n\t\tif(this.termsAndConditions && this.privacyPolicy)\n\t\t{\n\t\t\tthis.termsAndPolicyConditionAgreed.emit(true);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.termsAndPolicyConditionAgreed.emit(false);\n\t\t}\n\t}\n\n\tcheckIfTermsAgreed(event : boolean)\n\t{\n\t\tthis.termsChecked = event;\n\n\t\tthis.service.state.termsModal.buttons[0].disabled = !(this.termsChecked && !this.termsAndConditions);\n\t}\n\tcheckIfPrivacyAgreed(event: boolean)\n\t{\n\t\tthis.privacyChecked = event;\n\t\tthis.service.state.policyModal.buttons[0].disabled = !(this.privacyChecked && !this.privacyPolicy);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tpublic handleCheckboxClick(event: any): void\n\t{\n\t\tthis.openModal(event.target.name);\n\t\tevent.preventDefault();\n\t}\n\n\tpublic openModal(id: string): void\n\t{\n\t\tif (id === 'terms')\n\t\t{\n\t\t\tthis.state.termsModal.hidden = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.state.policyModal.hidden = false;\n\t\t}\n\t\tthis.service.updateState(this.state);\n\t}\n\n\tpublic closeModal(): void\n\t{\n\t\tthis.state.policyModal.hidden = true;\n\t\tthis.state.termsModal.hidden = true;\n\t\tthis.privacyChecked = this.privacyPolicy;\n\t\tthis.termsChecked = this.termsAndConditions;\n\t\tthis.checkIfTermsAgreed(this.termsChecked);\n\t\tthis.checkIfPrivacyAgreed(this.privacyChecked);\n\t}\n}\n","
\n
\n
\n
\n {{ state.registrationPage.termsConditions.stepNumber }}\n
\n

{{ state.registrationPage.termsConditions.heading }}

\n
\n

\n {{ state.registrationPage.termsConditions.description }}\n

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

{{state.registrationPage.termsConditions.terms.infoBanner}}

\n
\n

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

{{state.registrationPage.termsConditions.privacy.infoBanner}}

\n
\n

\n
\n
\n
","export * from './roles-permissions.interface';\n","import { Image } from '../../../services/shared/shared-interface';\nexport interface RolesPermissions {\n state: RolesPermissionsState;\n}\nexport interface RolesPermissionsState {\n foo: 'bar';\n}\n\nexport interface RoleData {\n aemPageLabels: RolePermissionLabel;\n rolesData: Role[];\n}\n\nexport interface RolePermissionLabel {\n pageHeading: string;\n roleListLabel: string;\n permissionLabel: string;\n detailHeading: string;\n addRole: string;\n removeRole: string;\n copyRole: string;\n roleName: string;\n description: string;\n saveChangesBtnText: string;\n unselectAllText: string;\n duplicateRoleNameErrorText: string;\n customRoleDefaultDescription: string;\n customRoleDefaultName: string;\n unSelectAllLabel: string;\n\tduplicateRoleErrorText: string;\n\tdefaultRoleName: string;\n\tdefaultRoleDescription: string;\n\troleNameValidationError: string;\n\ttoggleOffAltText: string;\n\ttoggleOnAltText: string;\n\ttoggleOffDisabledAltText: string;\n\ttoggleOnDisabledAltText: string;\n deleteConfirmation:{\n headingMain: string;\n headingSub: string;\n manageLabel: string;\n cancel:string;\n removeRole: string;\n users: string;\n }[];\n ellipsesIcon: Image;\n addRoleIcon: Image;\n removeRoleIcon: Image;\n userIcon: Image;\n closeIcon: Image;\n permissionLabels: Permission[];\n}\n\nexport interface Role {\n id?: string;\n name: string;\n description: string;\n permissions: string[];\n company?: string;\n locked?: boolean;\n action?: string;\n isInvalidText?: boolean;\n}\n\nexport interface RoleAdd {\n id?: string;\n name: string;\n description: string;\n permissions: string[];\n company: string;\n locked: boolean;\n}\nexport interface Permission {\n categoryGroup: string | string[];\n sectionHeader: string;\n permissionArr: PermissionData[];\n}\nexport interface PermissionData {\n permissionKey: string;\n permissionDescription: string;\n permissionShortDescription: string;\n permissionId: string;\n}\n\nexport interface RemoveRoleModalState {\n description: string;\n popupHeading: string;\n manageUserText: string;\n cancelBtnText: string;\n users: string;\n removeBtnText: string;\n userCount: number;\n defaultUserRole?: string;\n}\n\nexport interface DeleteResponse {\n totalUsersAffected: number;\n message: string;\n status: string;\n}\n\nexport interface RolesPermissionsPayload {\n company: string;\n}\n","export * from './definitions';\nexport * from './roles-permissions.component';\nexport * from './roles-permissions.factory';\nexport * from './roles-permissions.module';\nexport * from './roles-permissions.service';\n","import { Component, DoCheck, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { KngButtonState } from 'kinetic-angular';\nimport { Role, Permission, RolePermissionLabel, PermissionData } from '..';\nimport { RoutePermissions } from '../../../guards/permission/definitions';\nimport { RolesPermissionsService } from '../roles-permissions.service';\n@Component({\n\tselector: 'tmhna-portal-roles-permissions-details',\n\ttemplateUrl: './roles-permissions-details.component.html',\n\tstyleUrls: ['./roles-permissions-details.component.scss']\n})\nexport class RolesPermissionsDetailsComponent implements DoCheck, OnInit\n{\n\n\t@Output() isDirty = new EventEmitter();\n\t@Input() editPermissions!: RoutePermissions | undefined;\n\tdescriptionArray: string[] = [];\n\n\tconstructor(\n\t\tpublic rolesService: RolesPermissionsService,\n\t\tpublic element: ElementRef\n\t) { }\n\tget selectedRole(): Role\n\t{\n\t\treturn this.rolesService.rolesList[this.rolesService.selectedRoleIndex];\n\t}\n\n\tget permissionsList(): Permission[]\n\t{\n\t\treturn this.rolesService.labels.permissionLabels;\n\t}\n\n\tget roleNames(): string[]\n\t{\n\t\treturn this.rolesService.roleNameList;\n\t}\n\n\tget labels(): RolePermissionLabel\n\t{\n\t\treturn this.rolesService.labels;\n\t}\n\n\tget saveButtonState(): KngButtonState\n\t{\n\t\treturn this.rolesService.saveButtonState;\n\t}\n\n\tngDoCheck(): void\n\t{\n\t\tif (this.selectedRole)\n\t\t\tthis.rolesService.saveButtonState.disabled = this.disableSave();\n\t}\n\n\tngOnInit(): void\n\t{\n\t\tthis.rolesService.contentUpdatedObservable$.subscribe((updated)=>\n\t\t{\n\t\t\tif(updated)\n\t\t\t{\n\t\t\t\tsetTimeout(() => \n\t\t\t\t{\n\t\t\t\t\tthis.textAreaAutoSize();\n\t\t\t\t}, 100);\n\t\t\t\tthis.rolesService.updatedContent = false;\n\t\t\t}\n\t\t});\n\t\tthis.rolesService.isSaveSucess$.subscribe((res: boolean) =>\n\t\t{\n\t\t\tthis.isDirty.emit(res);\n\t\t});\n\t}\n\n\tsetPermissonStatus(id: string)\n\t{\n\t\treturn this.selectedRole.permissions.includes(id);\n\t}\n\n\tupdatePermissonStatus(event: Event, id: string)\n\t{\n\t\tthis.isDirty.emit(true);\n\t\tconst index = this.selectedRole.permissions.findIndex((el) => el === id);\n\t\tif ((event.target as HTMLInputElement).checked)\n\t\t{\n\t\t\tif (index === -1)\n\t\t\t{\n\t\t\t\tthis.selectedRole.permissions.push(id);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.selectedRole.permissions.splice(index, 1);\n\t\t}\n\t}\n\n\tunSelectAll(section: Permission)\n\t{\n\t\tthis.isDirty.emit(true);\n\t\tsection.permissionArr.forEach((permission: PermissionData) =>\n\t\t{\n\t\t\tconst indexOfEl = this.selectedRole.permissions.findIndex(\n\t\t\t\t(el) => el === permission.permissionId\n\t\t\t);\n\t\t\tif (indexOfEl !== -1)\n\t\t\t{\n\t\t\t\tthis.selectedRole.permissions.splice(indexOfEl, 1);\n\t\t\t}\n\t\t});\n\t}\n\n\tonChangingDescription()\n\t{\n\t\tthis.isDirty.emit(true);\n\t}\n\tisAllPermissionFalse(section: Permission)\n\t{\n\t\tlet permissionArrLength = 0;\n\t\tsection.permissionArr.forEach((permission: PermissionData) =>\n\t\t{\n\t\t\tconst indexOfEl = this.selectedRole?.permissions.findIndex(\n\t\t\t\t(el) => el === permission.permissionId\n\t\t\t);\n\t\t\tif (indexOfEl === -1)\n\t\t\t{\n\t\t\t\tpermissionArrLength++;\n\t\t\t}\n\t\t});\n\n\t\treturn permissionArrLength === section.permissionArr.length;\n\t}\n\n\troleNameValidation(textData: string | null)\n\t{\n\t\tthis.isDirty.emit(true);\n\t\tthis.selectedRole.isInvalidText = false;\n\t\tif (textData)\n\t\t{\n\t\t\tconst regex = /^[a-zA-Z0-9 ]*$/;\n\t\t\tif (!regex.test(textData))\n\t\t\t{\n\t\t\t\tthis.selectedRole.isInvalidText = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectedRole.isInvalidText = false;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.selectedRole.isInvalidText = false;\n\t\t}\n\t}\n\n\tisDuplicateName(): boolean\n\t{\n\t\tconst indexOfMatch = this.roleNames.findIndex(\n\t\t\t(el) =>\n\t\t\t\tel.toLowerCase().trim() === this.selectedRole.name.toLowerCase().trim()\n\t\t);\n\t\tif (\n\t\t\tindexOfMatch !== -1 &&\n\t\t\tindexOfMatch !== this.rolesService.selectedRoleIndex\n\t\t)\n\t\t\treturn false;\n\t\treturn true;\n\t}\n\n\tisPermissionConfigured(): boolean\n\t{\n\t\treturn this.selectedRole.permissions.length > 0;\n\t}\n\n\tdisableSave()\n\t{\n\t\tconst regex = /^[a-zA-Z0-9 ]*$/;\n\t\treturn (\n\t\t\tthis.checkSelectedRole() ||\n\t\t\t!this.isDuplicateName() ||\n\t\t\t!this.isPermissionConfigured() ||\n\t\t\t!regex.test(this.selectedRole.name)\n\t\t);\n\t}\n\n\tcheckSelectedRole(): boolean\n\t{\n\t\treturn (\n\t\t\t(this.selectedRole.locked ?? false) ||\n\t\t\tthis.selectedRole.name?.trim() === '' ||\n\t\t\t!this.selectedRole.description\n\t\t);\n\t}\n\n\tsaveRole()\n\t{\n\t\tif (!this.selectedRole.id)\n\t\t{\n\t\t\tthis.rolesService.saveCustomRole(this.selectedRole);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.rolesService.updateCustomRole(this.selectedRole);\n\t\t}\n\t\tthis.rolesService.trackSaveRoleAnalyticsEvent();\n\t}\n\n\n\t@ViewChild('textDescription') textArea!: ElementRef;\n\ttextAreaAutoSize()\n\t{\t\t\n\t\tif(this.textArea)\n\t\t{\n\t\t\tthis.textArea.nativeElement.style.height = 0 + 'px';\n\t\t\tthis.textArea.nativeElement.style.height = (this.textArea.nativeElement.scrollHeight + 4) + 'px';\n\t\t}\n\t}\n}\n","
\n
\n
\n \n \n
\n {{ labels.roleNameValidationError}}\n
\n
\n {{ labels.duplicateRoleNameErrorText }}\n
\n
\n\n
\n \n \n
\n
\n\n
\n
{{ labels.permissionLabel }}
\n\n \n
\n
\n {{ permission.sectionHeader }}\n
\n
\n \n {{ labels.unselectAllText }}\n \n
\n
\n 0\">\n \n \n {{ value.permissionShortDescription }}\n
\n
\n
\n \n
\n \n
\n
\n \n \n \n \n\n\n
\n \n
\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport {\n\tRemoveRoleModalState,\n\tRole,\n\tRolePermissionLabel\n} from '../definitions';\nimport {\n\tKngButtonState,\n\tModalComponent,\n\tModalEvent,\n\tModalState\n} from 'kinetic-angular';\nimport { RolesPermissionsService } from '../roles-permissions.service';\nimport { RoutePermissions } from '../../../guards/permission/definitions';\nimport { Router } from '@angular/router';\nimport { ApplicationPath } from '../../../services/shared/shared-enums';\nimport { SharedService } from '../../../services/shared/shared.service';\nimport { SharedUtilService } from '../../../services/shared/shared-util.service';\n\n@Component({\n\tselector: 'tmhna-portal-roles-permissions-list',\n\ttemplateUrl: './roles-permissions-list.component.html',\n\tstyleUrls: ['./roles-permissions-list.component.scss']\n})\nexport class RolesPermissionsListComponent implements OnInit\n{\n\tget copyRoleActive(): boolean \n\t{\n\t\treturn this.roleService.copyRoleActive;\n\t}\n\tget addButtonState(): KngButtonState \n\t{\n\t\treturn this.roleService.addButtonState;\n\t}\n\n\tpublic screenWidth: number;\n\n @ViewChild(ModalComponent) modalComponent!: ModalComponent;\n @Input() editPermissions!: RoutePermissions | undefined;\n\n constructor(public roleService: RolesPermissionsService, private readonly router: Router, private readonly sharedService : SharedService, private readonly sharedUtilService: SharedUtilService) \n {\n \tthis.screenWidth = window.innerWidth;\n }\n\n ngOnInit(): void \n {\n\t this.addButtonState.disabled = !this.editPermissions?.actions?.includes('EDIT_DETAILS');\n\t \n }\n\n\n isActiveRole(index: number) \n {\n \treturn this.selectedRoleIndex === index;\n }\n\n set selectedRoleIndex(value: number) \n {\n \tthis.roleService.updateSelectedRoleIndex(value);\n }\n\n get currentUserRole(): string \n {\n \treturn this.roleService.currentUserRole;\n }\n\n get rolesList(): Role[] \n {\n \treturn this.roleService.rolesList;\n }\n get selectedRoleIndex(): number \n {\n \treturn this.roleService.selectedRoleIndex;\n }\n get roleToBeRemoved(): Role | null \n {\n \treturn this.roleService.roleToRemove;\n }\n get usersAssignedToRoleToBeRemoved(): number \n {\n \treturn this.roleService.countOfUserstoRemove;\n }\n\n get removeModalState(): ModalState \n {\n \treturn this.roleService.removeModalState;\n }\n\n roleClick(selectedIndex: number) \n {\n \tthis.selectedRoleIndex = selectedIndex;\n \tthis.roleService.updatedContent = true;\n }\n addRole() \n {\n \tthis.roleService.addCustomRole();\n \tthis.roleService.updateAddRowActiveStatus(true);\n \tthis.addButtonState.disabled = true;\n }\n get labels(): RolePermissionLabel \n {\n \treturn this.roleService.labels;\n }\n copyRole(roleIndex: number) \n {\n \tif (!this.copyRoleActive) \n \t{\n \t\tthis.roleService.copyCustomRole(roleIndex);\n \t\tthis.roleService.updateCopyRoleActiveStatus(true);\n \t}\n }\n\n isNameTooLong(name: string) \n {\n \tconst nameArray = name.split(' ');\n \tconst longWordIndex = nameArray.findIndex(\n \t\t(word: string) => word.length > 12\n \t);\n \treturn longWordIndex !== -1;\n }\n\n get removeRoleState(): RemoveRoleModalState | null \n {\n \tif (this.roleService.removeRoleModalState) \n \t{\n \t\tthis.removeModalState.hidden = false;\n \t}\n \treturn this.roleService.removeRoleModalState;\n }\n\n removeRole(index: number, id: string) \n {\n \tthis.roleService.getRemoveRoleState(id);\n \tthis.roleService.updateRoleToBeRemoved(this.rolesList[index]);\n }\n\n removeModalEvent(event: ModalEvent) \n {\n \tif (event.cta.label === 'Remove Role' && this.roleToBeRemoved?.id) \n \t{\n \t\tthis.roleService.removeRole(this.roleToBeRemoved.id);\n \t}\n \tthis.removeModalState.hidden = true;\n \tthis.modalComponent?.closePopup();\n \tthis.removeRoleModalClosed();\n }\n\n removeRoleModalClosed() \n {\n \tthis.roleService.updateRoleToBeRemoved(null);\n \tthis.roleService.removeRoleModalState = null;\n }\n\n highlightDefaultRoleName() \n {\n \tthis.screenWidth = window.innerWidth;\n \tif (!this.removeRoleState?.defaultUserRole) \n \t{\n \t\t\n\t return this.labels.deleteConfirmation[0].headingSub;\n \t}\n\n \tif (this.screenWidth >= 768) \n \t{\n \t\treturn this.removeRoleState?.description.replace(\n \t\t\tnew RegExp(this.removeRoleState?.defaultUserRole, 'gi'),\n \t\t\t(match) => \n \t\t\t{\n \t\t\t\treturn '' + match + '';\n \t\t\t}\n \t\t);\n \t}\n \telse \n \t{\n \t\treturn this.labels.deleteConfirmation[0].headingSub;\n \t}\n }\n\n redirectToUserManagement()\n {\n \tthis.sharedUtilService.hideModalBackdrop();\n\t this.sharedService.navigateMethod(this.router, ApplicationPath.userManagement);\n }\n}\n","
\n
    \n \n \n \"User\n {{ role.name }}\n
\n \n \n \n\n \n
    \n \n {{ labels.copyRole }}\n \n \n {{ labels.removeRole }}\n \n
\n \n \n \n\n
\n \n \n
\n\n\n\n
\n

\n
\n
{{ roleToBeRemoved.name }}
\n
\n \n {{ removeRoleState.userCount }} {{ removeRoleState.users }}\n
\n \n
\n
\n\n","import { KngFooterService, KngLoaderState } from 'kinetic-angular';\nimport { AfterViewInit, Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\nimport { RolePermissionLabel } from './definitions';\nimport { RolesPermissionsService } from './roles-permissions.service';\nimport { Observable } from 'rxjs';\nimport { ComponentCanDeactivate } from '../../guards/pending-changes.guard.service';\nimport { ShellService } from '../shell/shell.service';\nimport { ConfirmLeavePageService } from '../../leave-page-confirm-popup/leave-page-confirm-popup.service';\nimport { LeaveConfirmModalState } from '../../services/shared/shared-interface';\nimport { RoutePermissions } from '../../guards/permission/definitions';\nimport { Icons } from '../../services/shared/shared-enums';\n\n@Component({\n\tselector: 'tmhna-portal-roles-permissions',\n\ttemplateUrl: './template/roles-permissions.component.html',\n\tstyleUrls: ['./template/roles-permissions.component.scss']\n})\nexport class RolesPermissionsComponent implements OnInit, OnDestroy, ComponentCanDeactivate, AfterViewInit\n{\n\tloaderState: KngLoaderState = {\n \timagePath: Icons.loaderWhite\n\t};\n\n\t@Output() leavePagestateChanged: EventEmitter = new EventEmitter();\n\n\tconstructor(\n public service: RolesPermissionsService,\n\tprivate readonly leavePageService: ConfirmLeavePageService,\n private readonly footerService: KngFooterService,\n\tprivate readonly shellService: ShellService\n\t) {}\n\n\tngOnInit(): void\n\t{\n\t\tthis.service.isDirty = false;\n\t\tthis.service.updateCopyRoleActiveStatus(false);\n\t\tthis.service.getRolesPermissionsData();\n\t\tthis.footerService.updateActionFooterPresent(true);\n\t\tthis.service.initAnalyticsData();\n\t}\n\tngOnDestroy(): void\n\t{\n \tthis.service.updateShell(false);\n\t}\n\n\tngAfterViewInit(): void\n\t{\n \tthis.service.updateShell();\n\t}\n\tget labels(): RolePermissionLabel\n\t{\n\t\treturn this.service.labels;\n\t}\n\n\tcanDeactivate(): Observable | boolean\n\t{\n\t\tthis.shellService.isDirty$.next(this.service.isDirty);\n\t\tif(!this.service.isDirty)\n\t\t{\n\t\t\tthis.shellService.shouldLoadPage$.next(true);\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.shellService.shouldLoadPage$.next(false);\n\t\t\treturn this.leavePageService.getModalSelectionObservable();\n\t\t}\n\t}\n\n\tsaveChangesEvent(event: boolean)\n\t{\n\t\tthis.service.isDirty = event;\n\t}\n\n\tget editPermissions(): RoutePermissions | undefined\n\t{\n \treturn this.service.getPermissions();\n\t}\n\n}\n","
\n

{{ labels.pageHeading }}

\n
\n
\n
\n
\n

{{ labels.roleListLabel }}

\n \n
\n
\n
\n

{{ labels.detailHeading }}

\n \n
\n
\n
\n \n
\n","import {\n\tRole,\n\tRolesPermissionsState,\n\tRolePermissionLabel\n} from './definitions';\n\n\nexport class RolesPermissionsFactory \n{\n\tpublic static build(): RolesPermissionsState \n\t{\n\t\treturn {\n\t\t\tfoo: 'bar'\n\t\t};\n\t}\n\tpublic static buildRolelist(): Role \n\t{\n\t\treturn {\n\t\t\tid: '',\n\t\t\tname: '',\n\t\t\tdescription: '',\n\t\t\tlocked: false,\n\t\t\tpermissions: [],\n\t\t\tcompany: ''\n\t\t};\n\t}\n\n\tpublic static buildAddRolelist(): Role \n\t{\n\t\treturn {\n\t\t\tid: '',\n\t\t\tname: '',\n\t\t\tdescription: '',\n\t\t\tlocked: false,\n\t\t\tpermissions: [],\n\t\t\tcompany: '',\n\t\t\taction: 'Add'\n\t\t};\n\t}\n\n\tpublic static buildAEMLabels(): RolePermissionLabel \n\t{\n\t\treturn {\n\t\t\tpageHeading: '',\n\t\t\troleListLabel: '',\n\t\t\tpermissionLabel: '',\n\t\t\tdetailHeading: '',\n\t\t\taddRole: '',\n\t\t\tremoveRole: '',\n\t\t\tcopyRole: '',\n\t\t\troleName: '',\n\t\t\tdescription: '',\n\t\t\tsaveChangesBtnText: '',\n\t\t\tunselectAllText: '',\n\t\t\tduplicateRoleNameErrorText: '',\n\t\t\tcustomRoleDefaultDescription: '',\n\t\t\tcustomRoleDefaultName: '',\n\t\t\tunSelectAllLabel: '',\n\t\t\tduplicateRoleErrorText: '',\n\t\t\tdefaultRoleName: '',\n\t\t\tdefaultRoleDescription: '',\n\t\t\troleNameValidationError: '',\n\t\t\ttoggleOffAltText: '',\n\t\t\ttoggleOnAltText: '',\n\t\t\ttoggleOffDisabledAltText: '',\n\t\t\ttoggleOnDisabledAltText: '',\n\t\t\tdeleteConfirmation: [{\n\t\t\t\theadingMain: '',\n\t\t\t\theadingSub: '',\n\t\t\t\tmanageLabel: '',\n\t\t\t\tcancel: '',\n\t\t\t\tremoveRole: '',\n\t\t\t\tusers: ''\n\t\t\t}],\n\t\t\tellipsesIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\taddRoleIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tremoveRoleIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tuserIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tcloseIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tpermissionLabels: [{\n\t\t\t\tsectionHeader: '',\n\t\t\t\tcategoryGroup: '',\n\t\t\t\tpermissionArr: [{\n\t\t\t\t\tpermissionKey: '',\n\t\t\t\t\tpermissionDescription: '',\n\t\t\t\t\tpermissionShortDescription: '',\n\t\t\t\t\tpermissionId: ''\n\t\t\t\t}]\n\t\t\t}]\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RolesPermissionsComponent } from './roles-permissions.component';\nimport { RolesPermissionsListComponent } from './roles-permissions-list/roles-permissions-list.component';\nimport { RolesPermissionsDetailsComponent } from './roles-permissions-details/roles-permissions-details.component';\nimport { FormsModule } from '@angular/forms';\nimport {\n\tKngButtonModule,\n\tModalModule,\n\tKngFooterModule,\n\tKngFooterService,\n\tKngToasterModule,\n\tKngLoaderModule\n} from 'kinetic-angular';\nimport { RolesPermissionsService } from './roles-permissions.service';\nimport { ToastrModule } from 'ngx-toastr';\nimport { AnalyticsModule } from '../../services/analytics/analytics.module';\nimport { TextAreaAutoSizeDirectiveModule } from '../../services/shared/directives/text-area-auto-size.directive';\nimport { ShellService } from '../shell/shell.service';\n\n@NgModule({\n\tdeclarations: [\n\t\tRolesPermissionsComponent,\n\t\tRolesPermissionsListComponent,\n\t\tRolesPermissionsDetailsComponent\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tKngButtonModule,\n\t\tModalModule,\n\t\tKngToasterModule,\n\t\tKngFooterModule,\n\t\tAnalyticsModule,\n\t\tToastrModule.forRoot({\n\t\t\tpreventDuplicates: true,\n\t\t\tcloseButton: true\n\t\t}),\n\t\tTextAreaAutoSizeDirectiveModule,\n\t\tKngLoaderModule\n\t],\n\texports: [RolesPermissionsComponent],\n\tproviders: [ RolesPermissionsService, KngFooterService, ShellService ]\n})\nexport class RolesPermissionsModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject, concatMap, tap } from 'rxjs';\nimport { RolesPermissionsFactory } from './roles-permissions.factory';\nimport { Role, RoleData, RolePermissionLabel, Permission, RemoveRoleModalState, RolesPermissionsPayload, PermissionData } from './definitions';\nimport { ApiService } from '../../services/api/api.service';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ModalState } from 'kinetic-angular';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { ShellService } from '../shell/shell.service';\nimport { RoutePermissions } from '../../guards/permission/definitions';\nimport { AuthenticationService } from '../../services/authentication/authentication.service';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { ButtonPosition, ButtonSize, ButtonStyle, CssClass, Icons, PermissionCategory, PermissionDefault } from '../../services/shared/shared-enums';\nimport { individualUserRoleId, mandatoryPermissionIds, removePermissionIdsforCustomRole } from '../../services/shared/shared-constants';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class RolesPermissionsService\n{\n\tprivate readonly selectedRoleIndex$: BehaviorSubject = new BehaviorSubject(0);\n\tprivate readonly roleToBeRemoved: BehaviorSubject = new BehaviorSubject(null);\n\tprivate readonly addRowActive$: BehaviorSubject = new BehaviorSubject(false);\n\tprivate readonly copyRoleActive$: BehaviorSubject = new BehaviorSubject(false);\n\tprivate readonly contentUpdated$: BehaviorSubject = new BehaviorSubject(false);\n\tprivate selectedRoleId: string = '';\n\taddButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.linkPrimary, '', false, { altText: '', iconPath: '' }, ButtonPosition.left);\n\tsaveButtonState = this.sharedUtilService.getButtonState(ButtonSize.medium, ButtonStyle.primary, '', false, { altText: '', iconPath: '' }, ButtonPosition.left);\n\tisDirty: boolean = false;\n\tisSaveSucess$: Subject = new Subject();\n\trolesList: Role[] = [];\n\tpermissionsList: Permission[] = [];\n\tlabels: RolePermissionLabel = RolesPermissionsFactory.buildAEMLabels();\n\troleNameList: string[] = [];\n\tremoveRoleModalState: RemoveRoleModalState | null = null;\n\tcountOfUserstoRemove: number = 0;\n\troleDetailsLoader: boolean = false;\n\tremoveModalState: ModalState = {\n\t\thidden: true,\n\t\tlabel: this.labels.deleteConfirmation[0].headingMain,\n\t\tbuttons: [\n\t\t\t{ label: '', disabled: false, cssClass: CssClass.btnSecondary },\n\t\t\t{ label: this.labels.deleteConfirmation[0].removeRole, disabled: false, cssClass: CssClass.btnDanger, iconPath: Icons.trashIcon }\n\t\t],\n\t\tcssClass: ''\n\t};\n\n\tget selectedRoleIndex(): number\n\t{\n\t\treturn this.selectedRoleIndex$.value;\n\t}\n\tget roleToRemove(): Role | null\n\t{\n\t\treturn this.roleToBeRemoved.value;\n\t}\n\tget addRowActive(): boolean\n\t{\n\t\treturn this.addRowActive$.value;\n\t}\n\tget copyRoleActive(): boolean\n\t{\n\t\treturn this.copyRoleActive$.value;\n\t}\n\tget contentUpdated(): boolean\n\t{\n\t\treturn this.contentUpdated$.value;\n\t}\n\tget currentUserRole(): string\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\treturn userProfile ? this.localStorageService.parseJSON(userProfile).roles[0] : '';\n\t}\n\tget contentUpdatedObservable$(): Observable\n\t{\n\t\treturn this.contentUpdated$;\n\t}\n\tset updatedContent(value: boolean)\n\t{\n\t\tthis.contentUpdated$.next(value);\n\t}\n\n\tconstructor(public apiService: ApiService, private loggerService: LoggerService, private toastr: ToastrService, private analyticsService: AnalyticsService,\n\t\tprivate sharedService: SharedService, private shellService: ShellService, private authenticationService: AuthenticationService, private localStorageService: LocalStorageService, private sharedUtilService: SharedUtilService)\n\t{\n\t\tthis.rolesList = [];\n\t}\n\n\tpublic trackSaveRoleAnalyticsEvent()\n\t{\n\t\tthis.analyticsService.trackByEvent({ event: 'save changes', link: { name: 'changes:save changes' } });\n\t}\n\tpublic trackLeaveUnsavedChangesAnalyticsEvent()\n\t{\n\t\tthis.analyticsService.trackByEvent({ event: 'discard changes', link: { name: 'changes:leave page' } });\n\t}\n\tpublic trackStayOnPageAnalyticsEvent()\n\t{\n\t\tthis.analyticsService.trackByEvent({ event: 'unsaved changes warning', link: { name: 'changes:stay on page' } });\n\t}\n\tpublic initAnalyticsData(): void\n\t{\n\t\tthis.analyticsService.trackByEvent({ event: 'pageView', page: { name: 'roles and permissions' } });\n\t}\n\tpublic updateSelectedRoleIndex(value: number): void\n\t{\n\t\tthis.selectedRoleIndex$.next(value);\n\t}\n\tpublic updateRoleToBeRemoved(role: Role | null): void\n\t{\n\t\tthis.roleToBeRemoved.next(role);\n\t}\n\tpublic updateAddRowActiveStatus(value: boolean): void\n\t{\n\t\tthis.addRowActive$.next(value);\n\t}\n\tpublic updateCopyRoleActiveStatus(value: boolean): void\n\t{\n\t\tthis.copyRoleActive$.next(value);\n\t}\n\tupdateExistingRoleNameList()\n\t{\n\t\tthis.roleNameList = [];\n\t\tif (this.rolesList !== undefined)\n\t\t\tthis.rolesList.forEach((role) => this.roleNameList.push(role.name));\n\t}\n\tpublic getRolesPermissionsData(): void\n\t{\n\t\tconst payload: RolesPermissionsPayload = { company: '' };\n\t\tthis.roleDetailsLoader = false;\n\t\tthis.sharedService.getLoggedInUserCompanyObs().pipe(tap((companyId: string) =>\n\t\t{\n\t\t\tpayload.company = companyId;\n\t\t}), concatMap(() => this.apiService.getRolesPermissionsData(payload))).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject = res.data;\n\t\t\t\t\tthis.rolesList = responseObject.rolesData;\n\n\t\t\t\t\tconst indexOfIndividualRole = this.rolesList.findIndex(role => role.id === individualUserRoleId);\n\t\t\t\t\tif (indexOfIndividualRole !== -1)\n\t\t\t\t\t\tthis.rolesList.splice(indexOfIndividualRole, 1);\n\t\t\t\t\tthis.selectCurrentRole([this.currentUserRole]);\n\t\t\t\t\tthis.sharedService.getLoggedInUserRole().subscribe((roles: string[]) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.selectCurrentRole(roles);\n\t\t\t\t\t});\n\t\t\t\t\tthis.labels = responseObject.aemPageLabels;\n\t\t\t\t\tthis.labels.unselectAllText = this.labels.unSelectAllLabel;\n\t\t\t\t\tthis.labels.customRoleDefaultDescription = 'This is a custom role, view Roles and Permissions for details.';\n\t\t\t\t\tthis.labels.permissionLabels.forEach(label =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!label.permissionArr)\n\t\t\t\t\t\t\tlabel.permissionArr = [];\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel.permissionArr.forEach((permission: PermissionData) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst arr = permission.permissionDescription ? permission.permissionDescription.split('. ') : [];\n\t\t\t\t\t\t\t\tpermission.permissionDescription = arr.join('.
');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.labels.customRoleDefaultName = 'New Role Name';\n\t\t\t\t\tthis.labels.duplicateRoleNameErrorText = this.labels.duplicateRoleErrorText;\n\t\t\t\t\tthis.addButtonState.label = this.labels.addRole;\n\t\t\t\t\tthis.saveButtonState.label = this.labels.saveChangesBtnText;\n\t\t\t\t\tthis.shellService.stateObservable$.subscribe(res => \n\t\t\t\t\t{\n\t\t\t\t\t\tif (!res.isMyInSights && res.isMyInSights !== undefined) \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.filterPermissionsForMyInsights();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.permissionsList = this.labels.permissionLabels;\n\t\t\t\t\tthis.addButtonState.icon.iconPath = Icons.addLink;\n\t\t\t\t\tthis.updateExistingRoleNameList();\n\t\t\t\t\tthis.updatedContent = true;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.roleDetailsLoader = true;\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t\tthis.updatedContent = true;\n\t\t\t},\n\t\t\tcomplete: () =>\n\t\t\t{\n\t\t\t\tsetTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tthis.roleDetailsLoader = true;\n\t\t\t\t\tthis.updatedContent = true;\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t});\n\t}\n\tprivate filterPermissionsForMyInsights() \n\t{\n\t\tthis.labels.permissionLabels.forEach(permission => \n\t\t{\n\t\t\tif (permission.sectionHeader === 'MyInsights') \n\t\t\t{\n\t\t\t\tpermission.permissionArr = permission.permissionArr.filter(this.isViewMyInsightsMain);\n\t\t\t}\n\t\t});\n\t}\n\tprivate isViewMyInsightsMain(permission: PermissionData) \n\t{\n\t\treturn permission.permissionKey === 'VIEW_MYINSIGHTS_MAIN';\n\t}\n\tselectCurrentRole(roles: string[])\n\t{\n\t\tif (roles)\n\t\t\troles.forEach((role: string) => this.selectedRoleId = role);\n\t\tif (this.selectedRoleId)\n\t\t\tthis.updateSelectedRoleIndex(this.rolesList?.findIndex((role: Role) => role.id === this.selectedRoleId));\n\t}\n\tpublic addCustomRole(): void\n\t{\n\t\tconst newRole = RolesPermissionsFactory.buildAddRolelist();\n\t\tnewRole.name = this.labels.customRoleDefaultName;\n\t\tnewRole.description = this.labels.customRoleDefaultDescription;\n\t\tthis.rolesList.push(newRole);\n\t\tthis.updateSelectedRoleIndex(this.rolesList.length - 1);\n\t}\n\tpublic copyCustomRole(roleIndex: number): void\n\t{\n\t\tconst copiedRole: Role = JSON.parse(JSON.stringify(this.rolesList[roleIndex]));\n\t\tcopiedRole.id = '';\n\t\tcopiedRole.name = ('Copy of ' + copiedRole.name).slice(0, 50);\n\t\tcopiedRole.description = this.labels.customRoleDefaultDescription;\n\t\tcopiedRole.locked = false;\n\t\tcopiedRole.action = 'Copy';\n\t\tthis.rolesList.push(copiedRole);\n\t\tthis.updateSelectedRoleIndex(this.rolesList.length - 1);\n\t}\n\tpublic saveCustomRole(role: Role): void\n\t{\n\t\tconst roleToAdd: Role = role;\n\t\tdelete roleToAdd.id;\n\t\tdelete roleToAdd.isInvalidText;\n\t\tconst actionPerformed = roleToAdd.action;\n\t\tdelete roleToAdd.action;\n\t\trole.permissions = this.updateMandatoryPermissions(role.permissions);\n\t\tthis.sharedService.getLoggedInUserCompanyObs().pipe(tap((companyId: string) =>\n\t\t{\n\t\t\troleToAdd.company = companyId;\n\t\t}), concatMap(() => this.apiService.saveCustomRole(roleToAdd))).subscribe({\n\t\t\tnext: (data: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (data?.data)\n\t\t\t\t{\n\t\t\t\t\tthis.isSaveSucess$.next(false);\n\t\t\t\t\tconst responseObject: Role = data.data;\n\t\t\t\t\tthis.toastr.success(responseObject?.name + ' successfully saved.');\n\t\t\t\t\tthis.analyticsService.trackByEvent({ event: 'role added', link: { name: 'role:role added' }, role: { roleAdded: responseObject?.name } });\n\t\t\t\t\tconst indexOfRoleToAdd = this.rolesList.findIndex((el: Role) => el.name === role.name);\n\n\t\t\t\t\tif (actionPerformed === 'Add')\n\t\t\t\t\t\tthis.addButtonState.disabled = false;\n\t\t\t\t\telse if (actionPerformed === 'Copy')\n\t\t\t\t\t\tthis.updateCopyRoleActiveStatus(false);\n\n\t\t\t\t\tthis.rolesList[indexOfRoleToAdd].id = responseObject?.id;\n\t\t\t\t\tdelete this.rolesList[indexOfRoleToAdd].action;\n\t\t\t\t\tthis.updateExistingRoleNameList();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse): void =>\n\t\t\t{\n\t\t\t\tthis.isSaveSucess$.next(true);\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\tpublic updateCustomRole(role: Role)\n\t{\n\t\tconst roleToUpdate: Role = role;\n\t\tdelete roleToUpdate.company;\n\t\tdelete roleToUpdate.locked;\n\t\tdelete roleToUpdate.isInvalidText;\n\t\trole.permissions = this.updateMandatoryPermissions(role.permissions);\n\t\tthis.apiService.updateCustomRole(roleToUpdate).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tthis.isSaveSucess$.next(false);\n\t\t\t\t\tthis.loggerService.log('updated res' + res);\n\t\t\t\t\tthis.toastr.success(roleToUpdate.name + ' has been updated.');\n\t\t\t\t\tthis.updateExistingRoleNameList();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.isSaveSucess$.next(true);\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\tpublic removeRole(id: string)\n\t{\n\t\tconst indexOfRoleToBeRemoved = this.rolesList.findIndex((el) => el.id === id);\n\t\tthis.apiService.removeRole(id).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject: RemoveRoleModalState = (res.data);\n\t\t\t\t\tthis.loggerService.log(JSON.stringify(responseObject));\n\t\t\t\t\tthis.toastr.success(this.rolesList[indexOfRoleToBeRemoved].name + ' successfully removed.');\n\t\t\t\t\tthis.analyticsService.trackByEvent({\n\t\t\t\t\t\tevent: 'role removed',\n\t\t\t\t\t\tlink: { name: 'role:role removed' },\n\t\t\t\t\t\trole: { roleRemoved: this.rolesList[indexOfRoleToBeRemoved].name }\n\t\t\t\t\t});\n\t\t\t\t\tthis.rolesList.splice(indexOfRoleToBeRemoved, 1);\n\t\t\t\t\tif (this.selectedRoleIndex >= this.rolesList.length)\n\t\t\t\t\t\tthis.updateSelectedRoleIndex(this.rolesList.length - 1);\n\t\t\t\t\tthis.updateExistingRoleNameList();\n\t\t\t\t\tthis.removeRoleModalState = null;\n\t\t\t\t\tthis.updateRoleToBeRemoved(null);\n\t\t\t\t\tthis.removeModalState.hidden = true;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t\tthis.removeRoleModalState = null;\n\t\t\t\tthis.updateRoleToBeRemoved(null);\n\t\t\t\tthis.removeModalState.hidden = true;\n\t\t\t}\n\t\t});\n\t}\n\tpublic getRemoveRoleState(id: string): void\n\t{\n\t\tthis.apiService.getRemoveRoleState(id).subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst responseObject: RemoveRoleModalState = (res.data);\n\t\t\t\t\tif (responseObject.userCount > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.removeRoleModalState = responseObject;\n\t\t\t\t\t\tthis.removeModalState.label = this.labels.deleteConfirmation[0].headingMain;\n\t\t\t\t\t\tthis.removeRoleModalState.manageUserText = this.labels.deleteConfirmation[0].manageLabel;\n\t\t\t\t\t\tthis.removeModalState.buttons[0].label = this.labels.deleteConfirmation[0].cancel;\n\t\t\t\t\t\tthis.removeModalState.buttons[1].label = this.labels.deleteConfirmation[0].removeRole;\n\t\t\t\t\t\tresponseObject.users = this.labels.deleteConfirmation[0].users;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.removeRole(id);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t{\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\tpublic updateShell(value: boolean = true): void\n\t{\n\t\tthis.shellService.updateActionFooterPresent(value);\n\t}\n\tpublic getPermissions(): RoutePermissions | undefined\n\t{\n\t\treturn this.authenticationService.getFetchedPermission({ category: PermissionCategory.rolesPermissions, action: PermissionDefault.viewDetails });\n\t}\n\tupdateMandatoryPermissions(permissions: string[])\n\t{\n\t\tpermissions = permissions.filter(permission => !removePermissionIdsforCustomRole.includes(permission));\n\t\tmandatoryPermissionIds.forEach(permission =>\n\t\t{\n\t\t\tif (!permissions.includes(permission))\n\t\t\t\tpermissions.push(permission);\n\t\t});\n\t\treturn permissions;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport {\n\tRolesPermissionsComponent,\n\tRolesPermissionsModule\n} from '../roles-permissions';\nimport { AuthComponent } from '../auth';\nimport { AuthModule } from '../auth/auth.module';\nimport { CommonErrorComponent, CommonErrorModule } from '../common-error';\nimport { RegistrationComponent, RegistrationModule } from '../registration';\nimport { ShellComponent } from '../shell/shell.component';\nimport { ShellModule } from '../shell/shell.module';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { ConfirmRegistrationComponent } from '../registration/sub-modules/confirm-registration';\nimport { AccessGuard } from '../../guards/access.guard.service';\nimport { PendingChangesGuard } from '../../guards/pending-changes.guard.service';\nimport { PermissionGuard } from '../../guards/permission/permission.guard.service';\nimport { PermissionCategory, PermissionDefault } from '../../services/shared/shared-enums';\nimport { LocationAccessGuard } from '../../guards/location-access.guard.service';\nimport { AuthGuard } from '../../guards/auth/auth.guard';\nimport { MainEntryComponent } from '../main-entry';\nimport { LoginGuard } from '../../guards/login.guard.service';\nimport { LandingPageGuard } from '../../guards/landing-page.guard.service';\nimport { CustomerPortalComponent, CustomerPortalModule } from '../customer-portal';\nimport { CustomerSupportComponent } from '../customer-support/customer-support.component';\nimport { CustomerSupportModule } from '../customer-support/customer-support.module';\nimport { ContactUsComponent } from '../contact-us/contact-us.component';\nimport { ContactUsModule } from '../contact-us/contact-us.module';\n\nconst routes: Routes = [\n\t{\n\t\tpath: 'error',\n\t\tcomponent: CommonErrorComponent\n\t},\n\t{\n\t\tpath: 'auth',\n\t\tcomponent: AuthComponent,\n\t\tcanActivate: [MsalGuard]\n\t},\n\t{\n\t\tpath: 'registration',\n\t\tcanActivate: [AuthGuard],\n\t\tcomponent: RegistrationComponent,\n\t\tdata: {\n\t\t\ttitle: 'Registration'\n\t\t}\n\t},\n\t{\n\t\tpath: 'confirmation',\n\t\tcanActivate: [AuthGuard],\n\t\tcomponent: ConfirmRegistrationComponent\n\t},\n\t{\n\t\tpath: 'pending-approval',\n\t\tcanActivate: [AuthGuard],\n\t\tcomponent: ConfirmRegistrationComponent\n\t},\n\t{\n\t\tpath: '',\n\t\tcomponent: MainEntryComponent,\n\t\tcanActivate: [LoginGuard],\n\t\tdata: {\n\t\t\ttitle: 'MyToyota Customer Portal | Toyota Material Handling'\n\t\t}\n\t},\n\t{\n\t\tpath: 'contact-us',\n\t\tcomponent: ContactUsComponent,\n\t\tdata: {\n\t\t\ttitle: 'contact us'\n\t\t}\n\t},\n\t{\n\t\tpath: 'app',\n\t\tcomponent: ShellComponent,\n\t\tcanActivate: [LandingPageGuard],\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirectTo: 'dashboard',\n\t\t\t\tpathMatch: 'full'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'customer-support',\n\t\t\t\tcomponent: CustomerSupportComponent,\n\t\t\t\tcanActivate: [AccessGuard],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'Customer Support'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'customerportal',\n\t\t\t\tcanActivate: [AccessGuard],\n\t\t\t\tcomponent: CustomerPortalComponent,\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'CustomerPortal'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'dashboard',\n\t\t\t canActivate: [ AccessGuard, PermissionGuard, LocationAccessGuard ],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyDashboard',\n\t\t\t\t\tpermissions: { category: PermissionCategory.dashBoard, action: PermissionDefault.viewDashboard }\n\t\t\t\t},\n\t\t\t loadChildren: () =>\n\t\t\t\t\timport('../dashboard/dashboard.module').then((m) => m.DashboardModule)\n\t\t },\n\t\t\t{ path: 'error', component: CommonErrorComponent },\n\t\t\t{\n\t\t\t\tpath: 'roles-permissions',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard ],\n\t\t\t\tcanDeactivate: [PendingChangesGuard],\n\t\t\t\tcomponent: RolesPermissionsComponent,\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'Roles & Permissions',\n\t\t\t\t\tpermissions: { category: PermissionCategory.rolesPermissions, action: PermissionDefault.viewDetails }\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'myfleet',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard, LocationAccessGuard ],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyFleet',\n\t\t\t\t\tpermissions: { category: PermissionCategory.myFleet, action: PermissionDefault.viewMyFleetDetails },\n\t\t\t\t\tbreadcrumb: 'MyFleet'\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../myfleet/myfleet.module').then((module) => module.MyfleetModule)\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'myquotes',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard ],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyQuotes',\n\t\t\t\t\tpermissions: { category: PermissionCategory.myQuote, action: PermissionDefault.viewMyQuote }\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../my-quotes/my-quotes.module').then((module) => module.MyQuotesModule)\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'my-insights',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard ],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyInsights',\n\t\t\t\t\tpermissions: { category: PermissionCategory.myInsights, action: PermissionDefault.viewMyInsights }\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../my-insights/my-insights.module').then((module) => module.MyInsightsModule)\n\t\t\t},\n\t\t\t{ path: 'service-management',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard, LocationAccessGuard ],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyService',\n\t\t\t\t\tbreadcrumb: 'Service and Repairs',\n\t\t\t\t\tpermissions: { category: PermissionCategory.serviceManagement, action: PermissionDefault.viewServiceManagement }\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../service-management/components/service-management-page/service-management.module').then((module) => module.ServiceManagementModule) },\n\t\t\t{\n\t\t\t\tpath: 'user-management',\n\t\t\t\tcanActivate: [ AccessGuard, PermissionGuard, LocationAccessGuard ],\n\t\t\t\tdata: { title: 'User Management',\n\t\t\t\t\tbreadcrumb: 'User Management',\n\t\t\t\t\tpermissions: { category: PermissionCategory.userManagement, action: PermissionDefault.viewUserManagement }\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../user-management/user-management.module').then((module) => module.UserManagementModule) },\n\t\t\t{\n\t\t\t\tpath: 'notification',\n\t\t\t\tcanActivate: [ AccessGuard, LocationAccessGuard, PermissionGuard ],\n\t\t\t\tdata: { title: 'Notifications',\n\t\t\t\t\tpermissions: { category: PermissionCategory.notification, action: PermissionDefault.viewNotification }\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../notifications/notification.module').then((module) => module.NotificationModule)\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'order-management',\n\t\t\t\tcanActivate: [AccessGuard],\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: 'MyOrders',\n\t\t\t\t breadcrumb: 'Orders'\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../order-management/order-management.module').then((m) => m.OrderManagementModule)\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'account-settings',\n\t\t\t\tcanActivate: [AccessGuard],\n\t\t\t\tdata: { title: 'Account Settings', breadcrumb: 'Account Settings' },\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../account-settings/account-settings.module').then((m) => m.AccountSettingsModule)\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'location-management',\n\t\t\t\tcanActivate: [AccessGuard],\n\t\t\t\tdata: {\n\t\t\t\t\tpermissions: { category: PermissionCategory.locationManagement, action: PermissionDefault.viewLocationManagement },\n\t\t\t\t\ttitle: 'Location Management',\n\t\t\t\t\tbreadcrumb: 'Location Management'\n\t\t\t\t},\n\t\t\t\tloadChildren: () =>\n\t\t\t\t\timport('../location-management/location-management.module').then((m) => m.LocationManagementModule)\n\t\t\t},\n\t\t\t{ path: '**', redirectTo: 'error' }\n\t\t]\n\t},\n\t{ path: '**', redirectTo: 'error', pathMatch: 'full' }\n];\n@NgModule({\n\timports: [\n\t\tRouterModule.forRoot(routes, {\n\t\t\tanchorScrolling: 'enabled'\n\t\t}),\n\t\tRolesPermissionsModule,\n\t\tCommonErrorModule,\n\t\tRegistrationModule,\n\t\tCustomerPortalModule,\n\t\tAuthModule,\n\t\tCustomerSupportModule,\n\t\tContactUsModule,\n\t\tShellModule.forRoot()\n\t],\n\tproviders: [MsalGuard],\n\texports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { IdleUserTimes } from '../../services/shared/shared-enums';\n\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class IdleUserService \n{\n\tpublic timeoutId: any;\n\tpublic countdownId: any;\n\tpublic countdownValue: number = 0;\n\n\tuserInactive: BehaviorSubject = new BehaviorSubject(false);\n\n\tconstructor() \n\t{\n\t\tthis.reset();\n\t\tthis.initListener();\n\t}\n\n\tinitListener() \n\t{\n\t\twindow.addEventListener('mousemove', () => this.reset());\n\t\twindow.addEventListener('click', () => this.reset());\n\t\twindow.addEventListener('keypress', () => this.reset());\n\t\twindow.addEventListener('DOMMouseScroll', () => this.reset());\n\t\twindow.addEventListener('mousewheel', () => this.reset());\n\t\twindow.addEventListener('touchmove', () => this.reset());\n\t\twindow.addEventListener('MSPointerMove', () => this.reset());\n\t}\n\n\treset() \n\t{\n\t\tclearTimeout(this.timeoutId);\n\t\tclearTimeout(this.countdownId);\n\t\tthis.startIdleTimer();\n\t\tthis.userInactive.next(false);\n\n\t}\n\n\tstartIdleTimer() \n\t{\n\t\tthis.timeoutId = setTimeout(() => \n\t\t{\n\t\t\tthis.startCountdown();\n\t\t}, IdleUserTimes.idleTime);\n\t}\n\n\tstartCountdown() \n\t{\n\t\tthis.countdownValue = IdleUserTimes.countdownTime / 1000;\n\t\tthis.countdownId = setInterval(() => \n\t\t{\n\t\t\tthis.countdownValue--;\n\t\t\tif (this.countdownValue <= 0) \n\t\t\t{\n\t\t\t\tclearInterval(this.countdownId);\n\t\t\t\tthis.userInactive.next(true);\n\t\t\t}\n\t\t}, 1000);\n\t}\n}\n","/* eslint-disable no-comments/disallowComments */\n/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, AfterViewInit, ViewChild, OnDestroy, OnInit, Renderer2, Input, Output, EventEmitter, ElementRef, HostListener, AfterContentChecked } from '@angular/core';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, Event, ActivatedRoute } from '@angular/router';\nimport { CssClass, KngHeaderNavOptionSelectOn, KngShellComponent, ModalEvent, ModalState, KngLoaderState, KngShellState, ModalComponent } from 'kinetic-angular';\nimport { catchError, distinctUntilChanged, filter, forkJoin, map, Observable, of, Subscription } from 'rxjs';\nimport { browserRefresh } from '../../app.component';\nimport { AuthenticationService } from '../../services/authentication/authentication.service';\nimport { BreadCrumb, ConfirmLeavePageButtons, Icons, ModalButtonId, serviceCampaignClass } from '../../services/shared/shared-enums';\nimport { ShellService } from './shell.service';\nimport { CustomerState, IBreadCrumb, SwitchAccountPayload } from '../shell/shell.interface';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { SharedApiService } from '../../services/shared/shared-api-call.service';\nimport { ShellFactory } from './shell.factory';\nimport { get as lodashGet } from 'lodash';\nimport { AnalyticsService } from '../../services/analytics/analytics.service';\nimport { AuthState, ProfileLocation, TMHCorporateAdminAuthState } from '../auth';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { LeaveConfirmModalState } from '../../services/shared/shared-interface';\nimport { ConfirmLeavePageService } from '../../leave-page-confirm-popup/leave-page-confirm-popup.service';\nimport { Location } from 'projects/kinetic-angular/src/lib/components/nav/header-nav/definitions/kng-header-nav.interface';\nimport { KngBannerState } from 'projects/kinetic-angular/src/lib/components/banner/definitions';\nimport { accountManagerRoleId } from '../../services/shared/shared-constants';\nimport { IdleUserService } from './idle-user.service';\n@Component({\n\tselector: 'tmhna-portal-shell',\n\ttemplateUrl: './template/shell.component.html',\n\tstyleUrls: ['./template/shell.component.scss']\n})\nexport class ShellComponent implements AfterViewInit, AfterContentChecked, OnDestroy, OnInit \n{\n\tpublic breadcrumbs!: IBreadCrumb[];\n\tprivate readonly subscription$: Subscription = new Subscription();\n\tstate!: KngShellState;\n\ttnc: boolean = false;\n\tpolicyFlag: boolean = false;\n\tisSignOutClicked: boolean = false;\n\tprivate readonly subscriptions: Subscription = new Subscription();\n\tshellBannerAdded: boolean = false;\n\tportalHeaderHeight: number = 0;\n\tsessionHeaderHeight: number = 0;\n\theaderAlertHeight: number = 0;\n\tcheckBoxDisabledFlag: boolean = true;\n\tcheckBoxDisabledFlagForPrivacy: boolean = true;\n\tget customerState(): CustomerState\n\t{\n\t\treturn this.service.customerSupportData;\n\t}\n\tget stateObservable$(): Observable \n\t{\n\t\treturn this.service.stateObservable$;\n\t}\n\tloaderState: KngLoaderState = {\n\t\timagePath: Icons.loaderWhite\n\t};\n\tshowTermsAndConditionsTooltip = false;\n\tshowPrivacyPolicyTooltip = false;\n\tswitchAccountPayload: SwitchAccountPayload = { selectedLocation: '' };\n\t@Input() set confirmLeavePagestate(value: LeaveConfirmModalState) \n\t{\n\t\tthis.leavePageService.updateState(value);\n\t}\n\tget confirmLeavePagestate(): LeaveConfirmModalState \n\t{\n\t\treturn this.leavePageService.state;\n\t}\n\tget leaveConfirmModalState(): ModalState \n\t{\n\t\treturn this.leavePageService.leaveConfirmModalState;\n\t}\n\tget endSessionModalState(): ModalState\n\t{\n\t\treturn this.service.endSessionModalState;\n\t}\n\tget inactiveSessionModalState(): ModalState\n\t{\n\t\treturn this.service.inactiveSessionModalState;\n\t}\n\tget bannerState(): KngBannerState\n\t{\n\t\treturn this.service.bannerState;\n\t}\n\t@Output() leavePagestateChanged: EventEmitter = new EventEmitter();\n\t@ViewChild('confirmRemoval') confirmLeavePage!: ModalComponent;\n\t@ViewChild('confirmEndSession') confirmEndSession!: ModalComponent;\n\t@ViewChild('inactiveSession') inactiveSession!: ModalComponent;\n\ttermsChecked: boolean = false;\n\tprivacyChecked: boolean = false;\n\t@ViewChild('terms') terms!: HTMLDivElement;\n\t@ViewChild('kngShellComponent') shell!: KngShellComponent;\n\t@ViewChild('confirmTerms') confirmTerms!: ModalComponent;\n\t@ViewChild('confirmPolicy') confirmPolicy!: ModalComponent;\n\tmodalTerms: ModalState = ShellFactory.buildTnC();\n\tmodalPolicyState: ModalState = ShellFactory.buildPolicy();\n\tconstructor(private readonly authService: AuthenticationService, private readonly localStorageService: LocalStorageService, private readonly sharedService: SharedService, private readonly sharedApiService: SharedApiService, public service: ShellService, private readonly router: Router, private readonly activatedRoute: ActivatedRoute, private readonly analyticsService: AnalyticsService, private readonly loggerService: LoggerService, public sharedUtilService: SharedUtilService, private readonly leavePageService: ConfirmLeavePageService, public readonly renderer2: Renderer2, public elementRef: ElementRef, private readonly idleUserService: IdleUserService) \n\t{\n\t\tthis.breadcrumbs = this.buildBreadCrumb(this.activatedRoute.root);\n\t}\n\tasync ngOnInit() \n\t{\t\n\t\tif(this.sharedUtilService.isTmhCustomerSupportRole || this.sharedUtilService.isTmhCorporateAdmin)\n\t\t{\n\t\t\tthis.sharedUtilService.isCustomerSupportSession$.subscribe((res) =>\n\t\t\t{\n\t\t\t\tthis.handleRoleChange(res);\n\t\t\t\tthis.service.getCustomerAemLabels();\n\t\t\t\tif(res)\n\t\t\t\t{\n\t\t\t\t\tthis.idleUserService.userInactive.subscribe(isIdle => \n\t\t\t\t\t{\n\t\t\t\t\t\tif(isIdle && this.sharedUtilService.isCustomerSupportSession)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.inactiveSessionModalState.hidden = !isIdle ;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.handleRoleChange(false);\n\t\t}\n\t}\n\n\tasync handleRoleChange(isTmhSupportRole: boolean = false)\n\t{\n\t\tthis.service.loading = true;\n\t\tthis.checkIfNewBusinessAccount();\n\t\tthis.service.stateObservable$.subscribe((res) => { this.state = res; });\n\t\tawait this.sharedUtilService.isLoggedInUserPresent();\n\t\tconst hideServiceHistory: boolean = await this.service.getServiceCount();\n\t\tconst miniMumHeader = !isTmhSupportRole;\n\t\tthis.service.state.header = miniMumHeader ? ShellFactory.buildMinimumAccessHaeder() : ShellFactory.buildState().header;\n\t\tif(this.sharedUtilService.isAccountManagerCredential)\n\t\t{\n\t\t\tthis.service.getAdminLocationList();\n\t\t}\n\t\tthis.service.getHeaderAlertBanner();\n\t\tthis.service.getHeaderNavState(hideServiceHistory);\n\t\tthis.service.getFooterData();\n\t\tthis.leavePageService.getConfirmLeavePageAemData();\n\t\tthis.router.events.pipe(filter((event: Event) => event instanceof NavigationEnd), distinctUntilChanged()\n\t\t).subscribe(() => \n\t\t{\n\t\t\tthis.breadcrumbs = this.buildBreadCrumb(this.activatedRoute.root);\n\t\t});\n\t\tthis.service.shouldLoadPage$.subscribe((res: boolean) => \n\t\t{\n\t\t\tthis.service.loading = res;\n\t\t});\n\t\tthis.checkForUnsavedChanges();\n\t\tif (browserRefresh) \n\t\t\tthis.service.loading = true;\n\t\tthis.detectNavigationChange();\n\t\tconst isSupportFlag = ( this.sharedUtilService.isTmhCorporateAdmin ||this.sharedUtilService.isTmhCustomerSupportRole) && !isTmhSupportRole;\n\t\tisSupportFlag ? this.handleTmhCorporateAdminProfileDetails(isSupportFlag) : this.handleProfileDetails();\n\t\tthis.sharedApiService.isUnreadNotificationObservable$.subscribe(unread => { this.updateNotificationIcon(unread); });\n\t\tthis.service.adminLocationList$.subscribe(list => { this.updateLocationList(list); });\n\t\tthis.sharedService.userNameObservable$.subscribe(userName => \n\t\t{\n\t\t\tconst filteredHeader = this.state.header.filter((elem) => elem.cssClass === CssClass.global);\n\t\t\tif (filteredHeader.length > 0 && filteredHeader[0].menu[4]) \n\t\t\t\tfilteredHeader[0].menu[4].label = userName;\n\t\t\tthis.service.customerSupportData.username = userName;\n\t\t});\n\t\tconst ele: HTMLElement = this.renderer2.selectRootElement('html', true);\n\t\tconst value = ele.getAttribute('lang');\n\t\tif (value) \n\t\t\tthis.localStorageService.setLanguage(value);\n\t\telse \n\t\t\tthis.localStorageService.setLanguage('en');\n\t\tthis.initSubscriptions();\n\t\tthis.observeDomChanges();\n\t}\n\tngAfterContentChecked(): void \n\t{\n\t\tthis.adjustHeaderPosition();\n\t}\n\tobserveDomChanges()\n\t{\n\t\tconst targetNode = document.body;\n\t\tconst observer = new MutationObserver((mutations) => \n\t\t{\n\t\t\tmutations.forEach((mutation) => \n\t\t\t{\n\t\t\t\tif (mutation.type === 'childList') \n\t\t\t\t{\n\t\t\t\t\tmutation.addedNodes.forEach((addedNode) => \n\t\t\t\t\t{\n\t\t\t\t\t\tif (addedNode.nodeType === 1 && (addedNode as HTMLElement).classList.contains('kng-shell__banner')) \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.shellBannerAdded = true;\n\t\t\t\t\t\t\tthis.adjustHeaderPosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tmutation.removedNodes.forEach((removedNode) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif ( removedNode.nodeType === 1 && (removedNode as HTMLElement).classList.contains('kng-shell__banner')) \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.shellBannerAdded = false;\n\t\t\t\t\t\t \tthis.adjustHeaderPosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tconst config = { childList: true, subtree: true };\n\t\tobserver.observe(targetNode, config);\n\t}\n\t@HostListener('window:resize', ['$event'])\n\tonResize(event: Event): void \n\t{\n\t\tthis.checkIfAdjustPosition(event);\n\t}\n\talertBannerClosed(event:boolean)\n\t{\n\t\tthis.checkIfAdjustPosition(event);\n\t}\n\tcheckIfAdjustPosition(event: Event | boolean)\n\t{\n\t\tif(event)\n\t\t{\n\t\t\tthis.adjustHeaderPosition();\n\t\t}\n\t}\n\tadjustHeaderPosition()\n\t{\n\t\tconst headerAlert = this.elementRef.nativeElement.querySelector('#header-alert-banner');\n\t\tconst sessionBanner = this.elementRef.nativeElement.querySelector('#session-header');\n\t\tconst portalHeader = this.elementRef.nativeElement.querySelector('#portal-header');\n\t\tthis.headerAlertHeight = headerAlert?.clientHeight;\n\t\tthis.portalHeaderHeight = portalHeader?.clientHeight;\n\t\tthis.sessionHeaderHeight = this.customerState.hidden ? 0 : sessionBanner?.clientHeight;\n\t\n\t\tif(portalHeader) this.renderer2.setStyle(portalHeader, 'top', `${this.headerAlertHeight + this.sessionHeaderHeight}px`);\n\t\tif(sessionBanner) this.renderer2.setStyle(headerAlert, 'top', `${this.sessionHeaderHeight}px`);\n\t\tthis.adjustMainContentMargin();\n\t}\n\tadjustMainContentMargin()\n\t{\n\t\tconst mainContent = this.elementRef.nativeElement.querySelector('#mainContent');\n\t\tif(this.shellBannerAdded)\n\t\t{\n\t\t\tconst banner = this.elementRef.nativeElement.querySelector('#bannerNotAlert');\n\t\t\tif(banner)this.renderer2.setStyle(banner, 'margin-top', `${this.headerAlertHeight + this.portalHeaderHeight + this.sessionHeaderHeight}px`);\n\t\t\tif(mainContent) this.renderer2.setStyle(mainContent, 'margin-top', '0px');\n\t\t}\n\t\telse if(!this.shellBannerAdded && mainContent)\n\t\t{\n\t\t\tthis.renderer2.setStyle(mainContent, 'margin-top', `${this.headerAlertHeight + this.portalHeaderHeight + this.sessionHeaderHeight}px`);\n\t\t}\n\t}\n\tinitSubscriptions() \n\t{\n\t\tconst leavePageStateChangeSubs: Subscription = this.leavePageService.stateChanged.subscribe((next: LeaveConfirmModalState) => this.leavePagestateChanged.emit(next));\n\t\tthis.subscriptions.add(leavePageStateChangeSubs);\n\t}\n\tupdateNotificationIcon(unread: boolean) \n\t{\n\t\tthis.state.header.find(header => header.cssClass === CssClass.global)?.menu.forEach(item => \n\t\t{\n\t\t\tif (/notif/i.exec(item.iconPath)) \n\t\t\t{\n\t\t\t\titem.iconPath = unread ? this.service.unreadNotificationPath.iconPath : this.service.notificationPath.iconPath;\n\t\t\t\titem.altText = unread ? this.service.unreadNotificationPath.altText : this.service.notificationPath.altText;\n\t\t\t}\n\t\t});\n\t}\n\tupdateLocationList(list: Location[]) \n\t{\n\t\tthis.state.header.find(header => header.cssClass === CssClass.global)?.menu?.forEach(item => \n\t\t{\n\t\t\tif (/location/i.exec(item.iconPath)) \n\t\t\t{\n\t\t\t\titem.locations = list;\n\t\t\t}\n\t\t});\n\t\tthis.state.header.find(header => header.cssClass === CssClass.mobile)?.menu?.forEach(item => \n\t\t{\n\t\t\tif (/ACCOUNT MANAGER/i.exec(item.label)) \n\t\t\t{\n\t\t\t\titem.locations = list;\n\t\t\t}\n\t\t});\n\t}\n\tcheckForUnsavedChanges() \n\t{\n\t\tthis.service.isDirty$.subscribe((res: boolean) => \n\t\t{\n\t\t\tif (!res) \n\t\t\t\tthis.leaveConfirmModalState.hidden = true;\n\t\t\telse \n\t\t\t\tthis.leaveConfirmModalState.hidden = false;\n\t\t});\n\t}\n\thandleProfileDetails() \n\t{\n\t\tforkJoin([ this.sharedApiService.getLoggedInUserDetails().pipe(this.handleRequest().bind(this)), this.sharedApiService.getLoggedInUserLocations().pipe(this.handleRequest().bind(this)) ]).subscribe({\n\t\t\tnext: (res) => \n\t\t\t{\n\t\t\t\tif (res[0] && res[1]) \n\t\t\t\t{\n\t\t\t\t\tthis.service.loading = false;\n\t\t\t\t\tconst user: AuthState = (res[0]?.data);\n\t\t\t\t\tthis.sharedApiService.mapUserSession(user);\n\t\t\t\t\tconst locations: ProfileLocation = (res[1]?.data);\n\t\t\t\t\tthis.localStorageService.setLoggedInUserLocation(this.localStorageService.striginifyJSON(locations));\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t\tthis.service.loading = false;\n\t\t\t\tthis.handleBrowserRefresh();\n\t\t\t}\n\t\t});\n\t}\n\thandleTmhCorporateAdminProfileDetails(isCustomerSupport: boolean = false)\t \n\t{\n\t\tif(isCustomerSupport)\n\t\t{\n\t\t\tthis.sharedApiService.getTmhCustomerSupportDetails().pipe(this.handleRequest().bind(this)).subscribe({\n\t\t\t\tnext: (res) => \n\t\t\t\t{\n\t\t\t\t\tif (res) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.service.loading = false;\n\t\t\t\t\t\tconst user: TMHCorporateAdminAuthState = (res?.data);\n\t\t\t\t\t\tthis.sharedApiService.mapTmhCustomerSupportUserSession(user);\n\t\t\t\t\t}\n\t\t\t\t\telse \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.service.loading = false;\n\t\t\t\t\t}\n\t\t\t\t\tthis.handleBrowserRefresh();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.sharedApiService.getTmhCorporateAdminDetails().pipe(this.handleRequest().bind(this)).subscribe({\n\t\t\t\tnext: (res) => \n\t\t\t\t{\n\t\t\t\t\tif (res) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.service.loading = false;\n\t\t\t\t\t\tconst user: TMHCorporateAdminAuthState = (res?.data);\n\t\t\t\t\t\tthis.sharedApiService.mapTmhCorporateAdminUserSession(user);\n\t\t\t\t\t}\n\t\t\t\t\telse \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.service.loading = false;\n\t\t\t\t\t}\n\t\t\t\t\tthis.handleBrowserRefresh();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t}\n\thandleBrowserRefresh()\n\t{\n\t\tif (browserRefresh) \n\t\t{\n\t\t\tthis.service.loading = true;\n\t\t\tsetTimeout(() => { this.service.loading = false; }, 1000);\n\t\t}\n\t}\n\thandleRequest() \n\t{\n\t\treturn function (observable: Observable) \n\t\t{\n\t\t\treturn observable.pipe(map((result) => { return result; }), catchError(() => { return of(null); }));\n\t\t};\n\t}\n\tbuildBreadCrumb(route: ActivatedRoute, url: string = '', breadcrumbs: IBreadCrumb[] = []): IBreadCrumb[] \n\t{\n\t\tlet label = route.routeConfig?.data ? route.routeConfig.data['breadcrumb'] : '';\n\t\tconst path = route.routeConfig?.data ? route.routeConfig.path : '';\n\t\tconst nextUrl = path ? `${url}/${path}` : url;\n\t\tthis.activatedRoute.queryParams.subscribe((params) => { label = this.sharedService.checkRouteParams(label, params); });\n\t\tconst breadcrumb: IBreadCrumb = { label: label, url: nextUrl };\n\t\tconst newBreadcrumbs = breadcrumb.label ? [ ...breadcrumbs, breadcrumb ] : [...breadcrumbs];\n\t\tif (route.firstChild) \n\t\t\treturn this.buildBreadCrumb(route.firstChild, nextUrl, newBreadcrumbs);\n\t\treturn newBreadcrumbs;\n\t}\n\tngAfterViewInit(): void \n\t{\n\t\tconst bottomClickEventSubscription: Subscription = this.shell.headerComponent.clickEventBottom.subscribe((event: KngHeaderNavOptionSelectOn) => this.service.changeRoute(event.selection.url));\n\t\tthis.subscription$.add(bottomClickEventSubscription);\n\t}\n\tredirectToSection(event: KngHeaderNavOptionSelectOn) \n\t{\n\t\tconst isCustomerSupport = this.sharedUtilService.isCustomerSupportSession && (event.selection.url.includes('toyotaforklift.com') || event.selection.url.includes('/notification'));\n\t\tif (!(/settings/i.exec(event.selection.iconPath)) && !isCustomerSupport) \n\t\t{\n\t\t\tif (event.selection.url) \n\t\t\t{\n\t\t\t\tthis.sharedService.navigateMethod(this.router, event.selection.url);\n\t\t\t\tthis.detectNavigationChange();\n\t\t\t}\n\t\t}\n\t\tif (/shop/i.exec(event.selection.label)) \n\t\t{\n\t\t\tthis.router.navigate([]).then(() => \n\t\t\t{\n\t\t\t\tthis.sharedUtilService.navigateWithCustomerSupport(event.selection.url);\n\t\t\t}).catch(error => { this.loggerService.error(error); });\n\t\t}\n\t\tif (event.selection.label === 'Sign Out') \n\t\t{\n\t\t\tsetTimeout(() => \n\t\t\t{\n\t\t\t\tthis.isSignOutClicked = true;\n\t\t\t\tif (this.leaveConfirmModalState.hidden) \n\t\t\t\t{\n\t\t\t\t\tthis.roleBasedSignOut();\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}\n\t}\n\troleBasedSignOut()\n\t{\n\t\tlet adminId = '';\n\t\tthis.sharedService.getLoggedInUserAdminLocationIdObs().subscribe(adminLocID => adminId = adminLocID);\n\t\tif(this.sharedService.getRoleId() === accountManagerRoleId && adminId !== this.sharedService.getDefaultGrid())\n\t\t{\n\t\t\tthis.resetToDefaultAccount();\n\t\t}\n\t\telse if(this.sharedUtilService.isTmhCustomerSupportRole && this.sharedUtilService.isCustomerSupportSession)\n\t\t{\n\t\t\tthis.endCustomerSession();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.logOut();\n\t\t}\n\t}\n\taccountManagerSelectedCompany(location:Location)\n\t{\n\t\tif(location)\n\t\t{\n\t\t\tthis.service.loading = true;\n\t\t\tthis.switchAccountPayload.selectedLocation = location.locationGRID;\n\t\t\tthis.service.switchAccount(this.switchAccountPayload);\n\t\t}\n\t}\n\tdetectNavigationChange() \n\t{\n\t\tthis.router.events.pipe(filter((event: Event) =>\n\t\t\tevent instanceof NavigationStart || event instanceof NavigationEnd ||\n\t\t\tevent instanceof NavigationCancel || event instanceof NavigationError\n\t\t)).subscribe((event: Event) => \n\t\t{\n\t\t\tif (event instanceof NavigationStart) \n\t\t\t{\n\t\t\t\tthis.service.loading = true;\n\t\t\t\tthis.sharedService.scrollToTopOfPage();\n\t\t\t}\n\t\t\telse \n\t\t\t\tsetTimeout(() => { this.service.loading = false; }, 1000);\n\t\t});\n\t}\n\tngOnDestroy(): void \n\t{\n\t\tthis.subscription$.unsubscribe();\n\t\tthis.destroySubscriptions();\n\t}\n\tprivate destroySubscriptions(): void \n\t{\n\t\tthis.subscriptions.unsubscribe();\n\t}\n\trouterLink(id: string) \n\t{\n\t\tif ((id === '/account-settings' && (this.breadcrumbs[1].label === BreadCrumb.addNewDomain || this.breadcrumbs[1].label === BreadCrumb.editDomain))) \n\t\t\tid = '/account-settings/domain';\n\t\tconst newUrl = '/app' + id;\n\t\tthis.sharedService.navigateMethod(this.router, newUrl);\n\t}\n\tgetLocalstorageItems() \n\t{\n\t\tthis.sharedApiService.flagObservable$.subscribe((res) => \n\t\t{\n\t\t\tthis.tnc = res.tnc;\n\t\t\tthis.policyFlag = res.policyFlag;\n\t\t\tif (this.policyFlag && !this.tnc) \n\t\t\t{\n\t\t\t\tthis.service.policyState.hidden = false;\n\t\t\t\tthis.service.getAEMdetailsPolicy();\n\t\t\t\tthis.modalPolicyState.buttons[1].disabled = true;\n\t\t\t}\n\t\t\tif (this.tnc) \n\t\t\t{\n\t\t\t\tthis.service.termsAndCondition.hidden = false;\n\t\t\t\tthis.service.getAEMdetailsTerms();\n\t\t\t\tthis.modalTerms.buttons[1].disabled = true;\n\t\t\t}\n\t\t});\n\t}\n\tconfirmTcEvent(event: ModalEvent) \n\t{\n\t\tif (event.cta.id === ModalButtonId.agree) \n\t\t{\n\t\t\tthis.service.termsAndCondition.hidden = true;\n\t\t\tthis.checkBoxDisabledFlag = true;\n\t\t\tthis.service.submitTnC(this.service.payload);\n\t\t\tif (this.policyFlag === true) \n\t\t\t{\n\t\t\t\tthis.service.policyState.hidden = false;\n\t\t\t\tthis.service.getAEMdetailsPolicy();\n\t\t\t}\n\t\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\t}\n\t\tif (event.cta.id === ModalButtonId.cancel) \n\t\t{\n\t\t\tthis.localStorageService.clearStorage();\n\t\t\tthis.authService.logout()?.catch(error => { this.loggerService.error(error); });\n\t\t}\n\t}\n\tcheckIfTermsAgreed(event: boolean)\n\t{\n\t\tthis.service.termsAndCondition.buttons[1].disabled = !event;\n\t}\n\tcheckIfPrivacyAgreed(event: boolean) \n\t{\n\t\tthis.service.policyState.buttons[1].disabled = !event;\n\t}\n\tconfirmPolicyEvent(event: ModalEvent) \n\t{\n\t\tif (event.cta.id === ModalButtonId.agree) \n\t\t{\n\t\t\tthis.service.policyState.hidden = true;\n\t\t\tthis.service.submitPolicy(this.service.payload);\n\t\t\tthis.closeModal();\n\t\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\t}\n\t\tif (event.cta.id === ModalButtonId.cancel) \n\t\t{\n\t\t\tthis.service.policyState.hidden = true;\n\t\t\tthis.localStorageService.clearStorage();\n\t\t\tthis.authService.logout()?.catch(error => { this.loggerService.error(error); });\n\t\t}\n\t}\n\tpublic closeModal(): void \n\t{\n\t\tthis.service.policyState.hidden = true;\n\t\tthis.service.termsAndCondition.hidden = true;\n\t}\n\tpublic updateApplicationLanguage(selection: string): void \n\t{\n\t\tthis.service.loading = true;\n\t\tsetTimeout(() => { this.service.loading = false; }, 1000);\n\t\tconst translationValues: Map = ShellFactory.buildDefaultTranslationValuesMap();\n\t\tconst selectionId: string | undefined = translationValues.get(selection);\n\t\tif (selectionId === undefined) \n\t\t\tthrow new Error(`Can't translate to \"${selection}\". Supported values are:\\n${JSON.stringify(translationValues)}`);\n\t\tconst panelAfterFirstTranslation: HTMLIFrameElement | null = this.service.getGoogleTranslatePanel(this.renderer2);\n\t\tconst isValidSecondTimeTranslation: boolean = lodashGet(panelAfterFirstTranslation, 'contentWindow.document', undefined) !== undefined;\n\t\tisValidSecondTimeTranslation ? this.service.performSubsequetTranslation(panelAfterFirstTranslation as HTMLIFrameElement, selectionId) :\tthis.service.performFirstTimeTranslation(selectionId, this.renderer2);\n\t\tthis.localStorageService.setLanguage(selectionId);\n\t}\n\tbannerClickHandler(event: MouseEvent | TouchEvent) \n\t{\n\t\tif ((event.target as HTMLInputElement).className === serviceCampaignClass) \n\t\t\tthis.analyticsService.trackByEvent({ event: 'contact dealer', link: { name: 'service campaign banner click' } });\n\t}\n\tconfirmLeaveEvent(event: ModalEvent) \n\t{\n\t\tthis.leaveConfirmModalState.hidden = true;\n\t\tthis.confirmLeavePage?.closePopup();\n\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\tif (event.cta.label.toLocaleLowerCase() === ConfirmLeavePageButtons.stay.toLocaleLowerCase()) \n\t\t{\n\t\t\tthis.isSignOutClicked = false;\n\t\t\tthis.leavePageService.setModalSelectionObservable(false);\n\t\t\tthis.analyticsService.trackByEvent({ event: 'unsaved changes warning', link: { name: 'changes:stay on page' } });\n\t\t}\n\t\telse \n\t\t{\n\t\t\tthis.service.isDirty$.next(false);\n\t\t\tthis.service.shouldLoadPage$.next(true);\n\t\t\tthis.analyticsService.trackByEvent({ event: 'discard changes', link: { name: 'unsaved changes:leave' } });\n\t\t\tthis.leavePageService.setModalSelectionObservable(true);\n\t\t\tif (this.isSignOutClicked) \n\t\t\t{\n\t\t\t\tthis.authService.logout()?.catch(error => { this.loggerService.error(error); });\n\t\t\t\tthis.localStorageService.clearStorage();\n\t\t\t}\n\t\t}\n\t}\n\tcloseModalPopup() \n\t{\n\t\tthis.isSignOutClicked = false;\n\t}\n\tshowTooltip(label: string) \n\t{\n\t\tif (label.toLowerCase() === this.service.termsAndCondition.label.toLowerCase()) \n\t\t\tthis.showTermsAndConditionsTooltip = true;\n\t\tif (label.toLowerCase() === this.service.policyState.label.toLowerCase()) \n\t\t\tthis.showPrivacyPolicyTooltip = true;\n\t}\n\tcheckIfNewBusinessAccount() \n\t{\n\t\tthis.localStorageService.getItems('new_business_account').then((value) => \n\t\t{\n\t\t\tif (value === 'true') \n\t\t\t{\n\t\t\t\tthis.service.getBusinessAccountSuccessLabels();\n\t\t\t\tthis.service.businessAccountRegistrationSuccess.modal.hidden = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.getLocalstorageItems();\n\t\t});\n\t}\n\tcloseCongratulatoryModal() \n\t{\n\t\tthis.service.businessAccountRegistrationSuccess.modal.hidden = true;\n\t\tthis.localStorageService.removeItem('new_business_account');\n\t\tthis.sharedUtilService.hideModalBackdrop();\n\t\tthis.getLocalstorageItems();\n\t}\n\theaderBannerClosed(index: number)\n\t{\n\t\tconst alertBanner = this.service.bannerState.alertBanner;\n\t\tif (alertBanner?.[index])\n\t\t{\n\t\t alertBanner[index].display = 'false';\n\t\t \n\t\t}\n\t\tlocalStorage.setItem('headerAlertBanner', JSON.stringify(alertBanner));\n\t\tthis.analyticsService.trackByEvent({\n\t\t\tevent: 'Exit Banner',\n\t\t\tlink: {\n\t\t\t\tname: 'Close Icon'\n\t\t\t}\n\t\t});\n\t}\n\tlogOut()\n\t{\n\t\tthis.authService.logout()?.catch(error => { this.loggerService.error(error); });\n\t\tthis.localStorageService.clearStorage();\n\t}\n\tresetToDefaultAccount()\n\t{\n\t\tthis.service.resetToDefaultAccount().subscribe({\n\t\t\tnext: () => \n\t\t\t{\n\t\t\t\tthis.logOut();\n\t\t\t},\n\t\t\terror: () => \n\t\t\t{\n\t\t\t\tthis.logOut();\n\t\t\t}\n\t\t});\n\t}\n\n\tendCustomerSession()\n\t{\n\t\tthis.endSessionModalState.hidden = false;\n\t}\n\tconfirmEndSessionEvent(event: ModalEvent)\n\t{\n\t\tif(event.cta.id === ModalButtonId.proceed)\n\t\t{\n\t\t\tthis.service.endImpersonationSession();\n\t\t\tthis.customerState.hidden = true;\n\n\t\t}\n\t\tthis.endSessionModalState.hidden = true;\n\t\tthis.confirmEndSession?.closePopup();\n\t}\n\tconfirmInactiveSessionEvent(event: ModalEvent)\n\t{\n\t\tif(event.cta.id === ModalButtonId.proceed)\n\t\t{\n\t\t\tthis.service.endImpersonationSession();\n\t\t\tthis.customerState.hidden = true;\n\n\t\t}\n\t\tthis.inactiveSessionModalState.hidden = true;\n\t\tthis.inactiveSession?.closePopup();\n\t\tthis.idleUserService.reset();\n\t}\n\n\tonScrollTandC(event: any)\n\t{\n\t\tconst target = event.target as HTMLElement;\n\t\tconst isAtBottomTandC = target.scrollTop + target.clientHeight >= target.scrollHeight - 10;\n\t\tif(isAtBottomTandC)\n\t\t{\n\t\t\tthis.checkBoxDisabledFlag = false;\n\t\t}\n\t}\n}\n","\n\n\n
\n
    1\" tabindex=\"-1\">\n \n
  1. \n \n {{ breadcrumb.label }}\n \n \n {{ breadcrumb.label }}\n \n
  2. \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n \n
\n {{service.termsAndCondition.tooltip?.content}}
\n
\n
\n
\n

{{service.termsAndConditionAEMlabels.updatedTerms.alertNote}}

\n
\n

\n
\n
\n
\n
\n\n
\n\n
\n \n
\n {{service.policyState.tooltip?.content}}
\n
\n
\n
\n

{{service.policyAEMlabels.updatedPrivacy.alertNote}}

\n
\n

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

\n {{confirmLeavePagestate.headingSub}}\n

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

\n {{ service.businessAccountRegistrationSuccess.mainText }}\n

\n

\n {{ service.businessAccountRegistrationSuccess.subText }}

\n
\n
\n \n
\n

\n {{customerState.endSessionNote}}\n

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

\n {{customerState.inativityMessage}}\n

\n

\n {{customerState.inactivityConfirmation}}\n

\n
\n
\n
\n","import { HeaderNavEndpoint, HeaderNavEndpointRoutes } from './shell.interface';\n\nexport class ShellEndpointFactory \n{\n\tpublic static build(baseUrl: string): HeaderNavEndpoint \n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): HeaderNavEndpointRoutes \n\t{\n\t\treturn {\n\t\t\theaderendpoints: {\n\t\t\t\ttoString: () => `${baseUrl}v0/api`,\n\t\t\t\taemheaders: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/aem/headers`\n\t\t\t\t},\n\t\t\t\taembusinessaccountheader: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/v1/aem-business-account`\n\t\t\t\t}\n\t\t\t}\n\t\t} as HeaderNavEndpointRoutes;\n\t}\n}\n","import { KngShellFactory, KngShellState, ModalState, KngHeaderNavStateItem } from 'kinetic-angular';\nimport { AemLabelsPolicy, AemLabelsTnC, BusinessAccountRegistrationSuccess, CustomerState } from './shell.interface';\nimport { Icons, ModalButtonId } from '../../services/shared/shared-enums';\nimport { SharedFactoryDataService } from '../../services/shared/shared-factory-data.service';\nimport { KngBannerState } from 'projects/kinetic-angular/src/lib/components/banner/definitions';\n\nexport class ShellFactory\n{\n\tpublic static buildState(): KngShellState\n\t{\n\t\tconst state: KngShellState = KngShellFactory.buildState();\n\t\treturn state;\n\t}\n\tpublic static buildBannerState(): KngBannerState\n\t{\n\t\treturn {\n \n\t\t\tbannerIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tbannerMessage: '',\n\t\t\ttokenData: [\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\thref: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tcloseIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\topen: false,\n\t\t\talertBanner: [],\n\t\t\tstartDate: new Date(),\n\t\t\tendDate: new Date()\n\t\t};\n\t}\n\tpublic static buildTnC(): ModalState\n\t{\n\t\treturn {\n\t\t\tcloseHidden: true,\n\t\t\thidden: false,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: 'btn-secondary', iconPath: '' },\n\t\t\t\t{ label: '', iconPath: '', disabled: true, cssClass: 'btn-black' }\n\t\t\t],\n\t\t\ttooltip: {\n\t\t\t\tcloseIcon: {\n\t\t\t\t\ticonPath: Icons.toolTipCloseIcon,\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tcontent: ''\n\t\t\t},\n\t\t\tcssClass: 'register-modal'\n\t\t};\n\t}\n\tpublic static buildAEMlist(): AemLabelsTnC\n\t{\n\t\treturn {\n\t\t\tupdatedTerms: {\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\theading: '',\n\t\t\t\tcontent: [],\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcreationDate: 0,\n\t\t\t\tinfoIcon: [{\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\t altText: ''\n\t\t\t\t}],\n\t\t\t\tcheckboxText: '',\n\t\t\t\talertNote: ''\n\t\t\t}\n\n\n\t\t};\n\t};\n\tpublic static buildAEMlistPolicy(): AemLabelsPolicy\n\t{\n\t\treturn {\n\t\t\tupdatedPrivacy: {\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\theading: '',\n\t\t\t\tcontent: [],\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcreationDate: 0,\n\t\t\t\tinfoIcon: [{\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\t altText: ''\n\t\t\t\t}],\n\t\t\t\tcheckboxText: '',\n\t\t\t\talertNote: ''\n\t\t\t}\n\n\n\t\t};\n\t};\n\tpublic static buildPolicy(): ModalState\n\t{\n\t\treturn {\n\t\t\tcloseHidden: true,\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: 'btn-secondary', iconPath: '' },\n\t\t\t\t{ label: '', iconPath: '', disabled: true, cssClass: 'btn-black' }\n\t\t\t],\n\t\t\ttooltip: {\n\t\t\t\tcloseIcon: {\n\t\t\t\t\ticonPath: Icons.toolTipCloseIcon,\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tcontent: ''\n\t\t\t},\n\t\t\tcssClass: 'register-modal'\n\t\t};\n\t}\n\tpublic static buildDefaultTranslationValuesMap(): Map\n\t{\n\t\treturn new Map([\n\t\t\t[ 'United States- English', 'en' ],\n\t\t\t[ 'États-Unis - anglais', 'en' ],\n\t\t\t[ 'French', 'fr' ],\n\t\t\t[ 'Français', 'fr' ]\n\t\t]);\n\t}\n\tpublic static buildMinimumAccessHaeder(): KngHeaderNavStateItem[]\n\t{\n\t\tconst state: KngHeaderNavStateItem[] = KngShellFactory.buildState().header;\n\t\tstate.forEach(section => \n\t\t{\n\t\t\tsection.minimumAccess = true;\n\t\t});\n\t\treturn state;\n\t}\n\tpublic static buildBusinessAccountRegistrationSuccessModal(): BusinessAccountRegistrationSuccess\n\t{\n\t\treturn { \n\t\t\tcongratulationsImage: SharedFactoryDataService.buildImage(Icons.congratulations, ''),\n\t\t\tmainText: '',\n\t\t\tsubText: '',\n\t\t\tmodal: {\n\t\t\t\tcloseHidden: false,\n\t\t\t\thidden: true,\n\t\t\t\tlabel: '',\n\t\t\t\tbuttons: [\n\t\t\t\t\t{ label: '', disabled: false, cssClass: 'btn-black', iconPath: '' }\n\t\t\t\t],\n\t\t\t\tcssClass: 'congratulatory-modal'\n\t\t\t}\n\t\t};\n\t}\n\tpublic static buildCustomerState(): CustomerState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tusername: '',\n\t\t\twarningNote: '',\n\t\t\treadOnly: '',\n\t\t\tendSession: '',\n\t\t\tendSessionNote: '',\n\t\t\tinativityMessage: '',\n\t\t\tinactivityConfirmation: ''\n\t\t};\n\t}\n\tpublic static buildEndSessionModal(): ModalState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', id: ModalButtonId.cancel, disabled: false, cssClass: 'btn-secondary', iconPath: '' },\n\t\t\t\t{ label: '', id: ModalButtonId.proceed, iconPath: '', disabled: false, cssClass: 'btn-black' }\n\t\t\t],\n\t\t\tcssClass: ''\n\t\t};\n\t}\n\tpublic static buildInactiveSessionModal(): ModalState\n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: 'Inactivity Alert',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', id: ModalButtonId.proceed, disabled: false, cssClass: 'btn-secondary', iconPath: '' },\n\t\t\t\t{ label: '', id: ModalButtonId.cancel, iconPath: '', disabled: false, cssClass: 'btn-black' }\n\t\t\t],\n\t\t\tcssClass: ''\n\t\t};\n\t}\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShellComponent } from './shell.component';\nimport { KngShellModule, ModalModule, KngLoaderModule } from 'kinetic-angular';\nimport { ShellService } from './shell.service';\nimport { RouterModule } from '@angular/router';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LoggerServiceModule } from '../../services/logger/logger.module';\nimport{ SafeHtmlPipeModule } from '../../../app/pipes/safehtml/safehtml.pipe.module';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { ToastrModule } from 'ngx-toastr';\nimport { KngBannerModule } from 'projects/kinetic-angular/src/lib/components/banner';\n@NgModule({\n\tdeclarations: [ShellComponent],\n\timports: [ CommonModule, KngShellModule, RouterModule, KngLoaderModule, ModalModule, MatTooltipModule, LoggerServiceModule, SafeHtmlPipeModule, FormsModule, MatCheckboxModule, KngBannerModule,\n\t\tToastrModule.forRoot({\n\t\t\tpreventDuplicates: true,\n\t\t\tcloseButton: true\n\t\t}) ],\n\texports: [ShellComponent],\n\tproviders: [ShellService]\n})\nexport class ShellModule\n{\n\tstatic forRoot(): ModuleWithProviders\n\t{\n\t\treturn {\n\t\t\tngModule: ShellModule,\n\t\t\tproviders: [ShellService]\n\t\t};\n\t}\n}\n\n","/* eslint-disable max-lines */\nimport { Inject, Injectable, Renderer2 } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { CssClass, KngHeaderNavMenuOption, KngHeaderNavStateItem, ModalState, KngFooterState, KngShellState } from 'kinetic-angular';\nimport { EnvironmentRef } from '../../../../src/environments/interfaces';\nimport { BehaviorSubject, concatMap, Observable, Observer, Subject, tap, firstValueFrom } from 'rxjs';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { AemApiService } from '../../services/api/api.aem.service';\nimport { ApiService } from '../../services/api/api.service';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { Banner } from '../myfleet/sub-modules/equipment-detail';\nimport { ShellFactory } from './shell.factory';\nimport { AemLabelsPolicy, AemLabelsTnC, AlertBannerList, BusinessAccountRegistrationSuccess, BusinessAccountRegistrationSuccessLabels, CustomerState, HeaderAlertBanner, HeaderNavResponse, SubmitTnc, SwitchAccountPayload } from './shell.interface';\nimport { get as lodashGet } from 'lodash';\nimport { LoggedInUser, Image } from '../../services/shared/shared-interface';\nimport { Icons, ModalButtonId, TermsAndConditionPrivacyPolicyInfoBannerText } from '../../services/shared/shared-enums';\nimport { SharedApiService } from '../../services/shared/shared-api-call.service';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { Location } from 'projects/kinetic-angular/src/lib/components/nav/header-nav/definitions/kng-header-nav.interface';\nimport { ToastrService } from 'ngx-toastr';\nimport { AlertBanner, KngBannerState } from 'projects/kinetic-angular/src/lib/components/banner/definitions';\nimport { CustomerSupportAemLabel } from '../customer-support/definition/customer-support.interface';\nimport { urlPaths } from '../../services/api/api.url';\n@Injectable({ providedIn: 'root' })\nexport class ShellService\n{\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(ShellFactory.buildState());\n\tcustomerSupportData: CustomerState = ShellFactory.buildCustomerState();\n\tendSessionModalState: ModalState = ShellFactory.buildEndSessionModal();\n\tinactiveSessionModalState: ModalState = ShellFactory.buildInactiveSessionModal();\n\tbannerState: KngBannerState = ShellFactory.buildBannerState();\n\ttermsAndConditionAEMlabels: AemLabelsTnC = ShellFactory.buildAEMlist();\n\tpolicyAEMlabels: AemLabelsPolicy = ShellFactory.buildAEMlistPolicy();\n\ttermsAndCondition : ModalState = ShellFactory.buildTnC();\n\tpolicyState: ModalState = ShellFactory.buildPolicy();\n\tshouldLoadPage$ = new Subject();\n\tisDirty$ = new Subject();\n\taemBaseUrl: string = this.environmentRef.aemBaseUrl;\n\tshellStateHeaderNavMapperObject: Array = ShellFactory.buildState().header;\n\tnotificationPath: Image = { altText: '', iconPath: '' };\n\tunreadNotificationPath: Image = {\n\t\taltText: 'Unread Notifications',\n\t\ticonPath: Icons.unreadNotifications\n\t};\n\tuserName = '';\n\tpayload:SubmitTnc ={\n\t\tid: '',\n\t\tcreationDate: 0,\n\t\tcompany: ''\n\t};\n\tloading: boolean = false;\n\tbusinessAccountRegistrationSuccess : BusinessAccountRegistrationSuccess = ShellFactory.buildBusinessAccountRegistrationSuccessModal();\n\tadminLocations: Location[] = [];\n\tadminLocationList = new BehaviorSubject([]);\n\tadminLocationList$ = this.adminLocationList.asObservable();\n\trequestServiceUrl = new BehaviorSubject('');\n\trequestServiceUrl$ = this.requestServiceUrl.asObservable();\n\tget state(): KngShellState\n\t{\n\t\treturn this.state$.value;\n\t}\n\tget stateObservable$(): Observable\n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\tconstructor( private readonly routerservice: Router, public apiService: ApiService, private readonly aemApiService: AemApiService, public sharedService:SharedService, public sharedUtilService:SharedUtilService, public sharedApiService:SharedApiService, public localStorageService: LocalStorageService,\n\t\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef, private readonly logger: LoggerService, public toaster: ToastrService) { }\n\tpublic updateState(value: KngShellState): void\n\t{\n\t\tthis.state$.next(value);\n\t}\n\tpublic updateActionFooterPresent(isPresent: boolean): void\n\t{\n\t\tthis.state.footer.cssClass = isPresent ? 'shell--with-action-button' : '';\n\t\tthis.updateState(this.state);\n\t}\n\tpublic changeRoute(path: string)\n\t{\n\t\tthis.routerservice.navigate([path])?.catch(error =>\n\t\t{\n\t\t\tthis.logger.error(error);\n\t\t});\n\t}\n\tpublic updateBannerState(value: Banner)\n\t{\n\t\tthis.state.banner = value;\n\t}\n\tpublic getAdminLocationList()\n\t{\n\t\tlet adminId: string = '';\n\t\tthis.bannerState.alertBanner = [];\n\t\tthis.sharedService.getLoggedInUserAdminLocationIdObs().subscribe(adminLocID => adminId = adminLocID);\n\t\tthis.apiService.getAdminLocationList().subscribe(\n\t\t\t{\n\t\t\t\tnext: (res: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (res?.data)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst adminLocations = res.data;\n\t\t\t\t\t\tif(adminLocations?.locations)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tadminLocations.locations.sort((a: { accountName: string }, b: { accountName: string }) => a.accountName?.localeCompare(b.accountName));\n\t\t\t\t\t\t\tadminLocations.locations.forEach(location =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (location.locationGRID === adminId)\n\t\t\t\t\t\t\t\t\tlocation.adminId = true;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tlocation.adminId = false;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.adminLocations = [];\n\t\t\t\t\t\t\tadminLocations.locations.forEach(location =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (location.accountName)\n\t\t\t\t\t\t\t\t\tthis.adminLocations.push(location);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.adminLocationList.next(this.adminLocations);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\tpublic switchAccount(switchAccountPayload : SwitchAccountPayload)\n\t{\n\t\tthis.apiService.switchAccount(switchAccountPayload).subscribe(\n\t\t\t{\n\t\t\t\tnext: (res: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (res?.data)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.loading = false;\n\n\t\t\t\t\t\tthis.clearLocalStorageExceptAlertBanner();\n\t\t\t\t\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myfleetSearch;\n\t\t const key: string = btoa(JSON.stringify({ url: path }));\n\t\t \t\t\t\tthis.localStorageService.removeCached(key);\n\t\t\t\t\t\tthis.routerservice.navigate(['/auth']);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tthis.toaster.error(error.error.message);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\tclearLocalStorageExceptAlertBanner()\n\t{\n\t\tconst keys = Object.keys(localStorage);\n\t\tkeys.forEach((key) =>\n\t\t{\n\t\t\tif (key !== 'headerAlertBanner')\n\t\t\t{\n\t\t\t\tlocalStorage.removeItem(key);\n\t\t\t}\n\t\t});\n\t}\n\tpublic async getHeaderNavState(hideServiceHistory: boolean)\n\t{\n\t\tlet res: HeaderNavResponse;\n\t\tconst checkHeaderNav = (this.sharedUtilService.isTmhCustomerSupportRole || this.sharedUtilService.isTmhCorporateAdmin) && !this.localStorageService.getCustomerToDashboard() ;\n\t\tthis.aemApiService.getHeaderNavValues(checkHeaderNav).subscribe((response: ApiResponse) =>\n\t\t{\n\t\t\tif (response?.data)\n\t\t\t{\n\t\t\t\tres = response.data;\n\t\t\t\tthis.requestServiceUrl.next(res.requestServiceUrl);\n\t\t\t\tres?.globalHeader?.forEach((item: KngHeaderNavMenuOption) =>\n\t\t\t\t{\n\t\t\t\t\tif(item.iconPath)\n\t\t\t\t\t\titem.iconPath = this.aemBaseUrl + item.iconPath;\n\t\t\t\t\tthis.handleGlobalHeader(item);\n\t\t\t\t});\n\t\t\t\tres?.mobileHeader.items.forEach((item: KngHeaderNavMenuOption) =>\n\t\t\t\t{\n\t\t\t\t\tif(item.iconPath)\n\t\t\t\t\t\titem.iconPath = this.aemBaseUrl + item.iconPath;\n\t\t\t\t\tthis.handleMobileHeader(item, hideServiceHistory);\n\t\t\t\t});\n\t\t\t\tres?.portalHeader.forEach((item: KngHeaderNavMenuOption) =>\n\t\t\t\t{\n\t\t\t\t\tif(item.label === 'Service and Repairs')\n\t\t\t\t\t{\n\t\t\t\t\t\titem.hideMenu = hideServiceHistory;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.shellStateHeaderNavMapperObject.filter((elem) => elem.cssClass === CssClass.global)[0].menu = res?.globalHeader;\n\t\t\t\tthis.shellStateHeaderNavMapperObject.filter((elem) => elem.cssClass === CssClass.portal)[0].menu = res?.portalHeader;\n\t\t\t\tthis.shellStateHeaderNavMapperObject.filter((elem) => elem.cssClass === CssClass.mobile)[0].menu = res?.mobileHeader?.items;\n\t\t\t\tthis.checkIfMinimumAccessProvided();\n\t\t\t\tthis.state.header = this.shellStateHeaderNavMapperObject;\n\t\t\t\tthis.state.isMyInSights = res.isMyInSights;\n\t\t\t\tthis.updateState(this.state);\n\t\t\t\tif(!this.sharedUtilService.isTmhCorporateAdmin)\n\t\t\t\t{\n\t\t\t\t\tthis.sharedApiService.getUnreadNotificationsCount();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tprivate handleGlobalHeader(item: KngHeaderNavMenuOption)\n\t{\n\t\tif (/cart/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.shop;\n\t\t}\n\t\telse if (/notify/i.exec(item.iconPath))\n\t\t{\n\t\t\tthis.notificationPath = {\n\t\t\t\taltText: item.altText,\n\t\t\t\ticonPath: item.iconPath\n\t\t\t};\n\t\t\titem.cssClass = CssClass.notification;\n\t\t}\n\t\telse if (/mytoyota/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.logos;\n\t\t\titem.url = 'app/dashboard';\n\t\t\tthis.isBusinessAccountHeader(item);\n\t\t}\n\t\telse if (/settings/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.user;\n\t\t\tthis.sharedService.getuserNameObs().subscribe((res:string) =>\n\t\t\t{\n\t\t\t\tthis.sharedService.updatedUserNameState = res;\n\t\t\t\tthis.customerSupportData.username = res;\n\t\t\t\titem.label = res;\n\t\t\t});\n\t\t}\n\t\telse if (/location/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.locationListDropdown;\n\t\t\titem.dropdownArrow = { iconPath: Icons.chevronDownDesk, altText: '' };\n\t\t\titem.locations = this.adminLocations;\n\n\t\t}\n\t}\n\tprivate handleMobileHeader(item: KngHeaderNavMenuOption, hideMenu: boolean = false)\n\t{\n\t\tif (/shop-mobile/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.shopMobile;\n\t\t}\n\t\tif (/mytoyota/i.exec(item.iconPath))\n\t\t{\n\t\t\titem.cssClass = CssClass.shopMobile;\n\t\t\titem.url = 'app/dashboard';\n\t\t\tthis.isBusinessAccountHeader(item);\n\t\t}\n\t\tif (/ACCOUNT MANAGER/i.exec(item.label))\n\t\t{\n\t\t\titem.cssClass = CssClass.locationListDropdown;\n\t\t\titem.dropdownArrow = { iconPath: Icons.chevronDown, altText: '' };\n\t\t\titem.locations = this.adminLocations;\n\t\t}\n\t\tif (/Service/i.exec(item.label))\n\t\t{\n\t\t\titem.hideMenu = hideMenu;\n\t\t}\n\t}\n\tisBusinessAccountHeader(item: KngHeaderNavMenuOption)\n\t{\n\t\tif(this.sharedUtilService.isTmhCorporateAdmin)\n\t\t{\n\t\t\titem.url = '';\n\t\t\titem.notClickable = true;\n\t\t}\n\t}\n\tcheckIfMinimumAccessProvided()\n\t{\n\t\t\n\t\t{\n\t\t\tthis.shellStateHeaderNavMapperObject.forEach(section =>\n\t\t\t{\n\t\t\t\tif(this.sharedUtilService.isTmhCorporateAdmin && !this.localStorageService.getCustomerToDashboard())\n\t\t\t\t{\n\t\t\t\t\tsection.minimumAccess = true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tsection.minimumAccess = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tpublic getFooterData(): void\n\t{\n\t\tthis.aemApiService.getFooterData().subscribe((res: ApiResponse) =>\n\t\t{\n\t\t\tconst cssClass: string = this.state.footer.cssClass;\n\t\t\tthis.state.footer = res.data;\n\t\t\tthis.state.footer.footercontent.logoImagePath = this.environmentRef.aemBaseUrl + this.state.footer.footercontent.logoImagePath;\n\t\t\tthis.state.footer.ribbonImage = this.environmentRef.aemBaseUrl + this.state.footer.ribbonImage;\n\t\t\t\n\t\t\t\n\t\t\tthis.state.footer.footercontent.footermenu.forEach((element) =>\n\t\t\t{\n\t\t\t\tif (element.iconPath)\n\t\t\t\t{\n\t\t\t\t\telement.iconPath = this.environmentRef.aemBaseUrl + element.iconPath;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.state.footer.cssClass = cssClass;\n\t\t\tthis.updateState(this.state);\n\t\t});\n\t}\n\tpublic getAEMdetailsTerms(): void\n\t{\n\t\tthis.apiService.getAEMdetailsTerms().subscribe((res: ApiResponse) =>\n\t\t{\n\t\t\tif(res?.data)\n\t\t\t{\n\t\t\t\tconst data = res.data;\n\t\t\t\tthis.termsAndCondition.label= data.updatedTerms.heading;\n\t\t\t\tthis.termsAndCondition.checkboxText = data.updatedTerms.checkboxText;\n\t\t\t\tif(this.termsAndCondition.tooltip)\n\t\t\t\t{\n\t\t\t\t\tthis.termsAndCondition.tooltip.content = data.updatedTerms.infoIcon[0].altText;\n\t\t\t\t}\n\t\t\t\tthis.termsAndCondition.buttons[1].label = data.updatedTerms.agreeButtonLabel;\n\t\t\t\tthis.termsAndCondition.buttons[1].id = ModalButtonId.agree;\n\t\t\t\tthis.termsAndCondition.buttons[0].label = data.updatedTerms.disagreeButtonLabel;\n\t\t\t\tthis.termsAndCondition.buttons[0].id = ModalButtonId.cancel;\n\t\t\t\tthis.termsAndConditionAEMlabels.updatedTerms = data.updatedTerms;\n\t\t\t\tthis.termsAndConditionAEMlabels.updatedTerms.creationDate = data.updatedTerms.creationDate;\n\t\t\t\tthis.termsAndConditionAEMlabels.updatedTerms.checkboxText = data.updatedTerms.checkboxText? data.updatedTerms.checkboxText : '';\n\t\t\t\tthis.termsAndConditionAEMlabels.updatedTerms.alertNote = data.updatedTerms.alertNote ? data.updatedTerms.alertNote : TermsAndConditionPrivacyPolicyInfoBannerText.tandCInfoBannerText;\n\t\t\t}\n\t\t});\n\t}\n\tpublic submitTnC(payload:SubmitTnc): void\n\t{\n\t\tconst currentDate = new Date();\n\t\tconst unixTimestamp = Math.floor(currentDate.getTime());\n\t\tpayload.creationDate = this.termsAndConditionAEMlabels.updatedTerms.creationDate;\n\t payload.id = this.sharedService.getUserId();\n\t this.sharedService.getLoggedInUserCompanyObs().pipe(tap((companyId: string) =>\n\t\t{\n\t\t\tpayload.company = companyId;\n\t\t}),\n\t\tconcatMap(() =>this.apiService.submitTnC(payload))).subscribe((res) =>\n\t\t{\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tthis.termsAndCondition.hidden = true;\n\t\t\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\t\t\tif(userProfile)\n\t\t\t\t{\n\t\t\t\t\tconst user:LoggedInUser = this.localStorageService.parseJSON(userProfile);\n\t\t\t\t\tuser.tcDate = unixTimestamp;\n\t\t\t\t\tuser.tncUpdated = false;\n\t\t\t\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tpublic getAEMdetailsPolicy(): void\n\t{\n\t\tthis.apiService.getAEMdetailsPolicy().subscribe((res: ApiResponse) =>\n\t\t{\n\t\t\tif(res?.data)\n\t\t\t{\n\t\t\t\tconst data = res.data;\n\t\t\t\tthis.policyState.label= data.updatedPrivacy.heading;\n\t\t\t\tthis.policyState.checkboxText= data.updatedPrivacy.checkboxText;\n\t\t\t\tif(this.policyState.tooltip)\n\t\t\t\t{\n\t\t\t\t\tthis.policyState.tooltip.content = data.updatedPrivacy.infoIcon[0].altText;\n\t\t\t\t}\n\t\t\t\tthis.policyState.buttons[1].label = data.updatedPrivacy.agreeButtonLabel;\n\t\t\t\tthis.policyState.buttons[1].id = ModalButtonId.agree;\n\t\t\t\tthis.policyState.buttons[0].label = data.updatedPrivacy.disagreeButtonLabel;\n\t\t\t\tthis.policyState.buttons[0].id = ModalButtonId.cancel;\n\t\t\t\tthis.policyAEMlabels.updatedPrivacy = data.updatedPrivacy;\n\t\t\t\tthis.termsAndConditionAEMlabels.updatedTerms.creationDate = data.updatedPrivacy.creationDate;\n\t\t\t\tthis.policyAEMlabels.updatedPrivacy.checkboxText = data.updatedPrivacy.checkboxText? data.updatedPrivacy.checkboxText : '';\n\t\t\t\tthis.policyAEMlabels.updatedPrivacy.alertNote = data.updatedPrivacy.alertNote ? data.updatedPrivacy.alertNote : TermsAndConditionPrivacyPolicyInfoBannerText.privacyPolicyInfoBannerText;\n\t\t\t}\n\t\t});\n\t}\n\tpublic submitPolicy(payload:SubmitTnc): void\n\t{\n\t\tconst currentDate = new Date();\n\t\tconst unixTimestamp = Math.floor(currentDate.getTime());\n\t\tpayload.creationDate = this.policyAEMlabels.updatedPrivacy.creationDate;\n\t\tpayload.id = this.sharedService.getUserId();\n\t\tthis.sharedService.getLoggedInUserCompanyObs().pipe(tap((companyId: string) =>\n\t\t{\n\t\t\tpayload.company = companyId;\n\t\t}),\n\t\tconcatMap(() =>this.apiService.submitPolicy(payload))).subscribe((res) =>\n\t\t {\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tthis.policyState.hidden = true;\n\t\t\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\t\t\tif(userProfile)\n\t\t\t\t{\n\t\t\t\t\tconst user:LoggedInUser = this.localStorageService.parseJSON(userProfile);\n\t\t\t\t\tuser.privacyDate = unixTimestamp;\n\t\t\t\t\tuser.privacyPolicyUpdated = false;\n\t\t\t\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\t\t\t\t}\n\t\t\t}\n\t\t });\n\t }\n\tpublic getGoogleTranslatePanel(renderer: Renderer2): HTMLIFrameElement | null\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn renderer.selectRootElement('div.skiptranslate > iframe');\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.logger.log('trying to select google translate panel', error);\n\t\t\treturn null;\n\t\t}\n\t}\n\tpublic performFirstTimeTranslation(selection: string, renderer: Renderer2): void\n\t{\n\t\tconst googleTranslateMenuLink: HTMLAnchorElement = renderer.selectRootElement('#google_translate_element a');\n\t\trenderer.removeAttribute(googleTranslateMenuLink, 'href');\n\t\trenderer.selectRootElement(googleTranslateMenuLink).click();\n\t\tconst iframeElList: NodeListOf = document.querySelectorAll('iframe.skiptranslate');\n\t\tconst foundLink: unknown = Array.from(iframeElList).find((item: HTMLIFrameElement) =>\n\t\t{\n\t\t\tconst links: NodeListOf | undefined = item.contentWindow !== null ? item.contentWindow.document.querySelectorAll('a') : undefined;\n\t\t\tconst link: HTMLAnchorElement | undefined = links !== undefined ? Array.from(links).find(thisLink => lodashGet(thisLink, 'value') === selection) : undefined;\n\t\t\tlink !== undefined ? renderer.selectRootElement(link).click() : (() => {} )();\n\t\t\treturn link !== undefined;\n\t\t});\n\t\tthis.logger.log('found translation link and stopped', foundLink);\n\t}\n\tpublic performSubsequetTranslation(panelAfterFirstTranslation: HTMLIFrameElement, selection: string): void\n\t{\n\t\tconst buttonRestore: HTMLButtonElement | null = (panelAfterFirstTranslation.contentWindow as {document: Document}).document.getElementById(':2.restore') as HTMLButtonElement || null;\n\t\tconst buttonTranslate: HTMLButtonElement | null = (panelAfterFirstTranslation.contentWindow as {document: Document}).document.getElementById(':2.confirm') as HTMLButtonElement || null;\n\t\tselection === 'en' ? (buttonRestore).click() : (buttonTranslate).click();\n\t}\n\tpublic getBusinessAccountSuccessLabels()\n\t{\n\t\tthis.aemApiService.getBusinessAccountSuccessPopupLabels().subscribe((response: ApiResponse) =>\n\t\t{\n\t\t\tconst responseObj: BusinessAccountRegistrationSuccessLabels = response.data;\n\t\t\tthis.businessAccountRegistrationSuccess.congratulationsImage.altText = responseObj.congratulationsImage.altText;\n\t\t\tthis.businessAccountRegistrationSuccess.mainText = responseObj.mainText;\n\t\t\tthis.businessAccountRegistrationSuccess.subText = responseObj.subText;\n\t\t\tthis.businessAccountRegistrationSuccess.modal.buttons[0].label = responseObj.closeButtonLabel;\n\t\t});\n\t}\n\tpublic getHeaderAlertBanner()\n\t{\n\t\tconst storedBanner = localStorage.getItem('headerAlertBanner');\n\t\tif (!storedBanner)\n\t\t{\n\t\t\tthis.aemApiService.getHeaderAlertBanner().subscribe((res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tif (res?.data)\n\t\t\t\t{\n\t\t\t\t\tconst data: HeaderAlertBanner = res.data;\n\t\t\t\t\tlocalStorage.setItem('headerAlertBanner', JSON.stringify(data.alertBanner));\n\t\t\t\t\tthis.updateStateAlertBanner(data.alertBanner);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst data: AlertBannerList[] = JSON.parse(storedBanner);\n\t\t\tif (Array.isArray(data))\n\t\t\t{\n\t\t\t\tthis.bannerState.alertBanner = [];\n\t\t\t\tthis.updateStateAlertBanner(data);\n\t\t\t}\n\t\t}\n\t}\n\tprivate updateStateAlertBanner(alertBannerList: AlertBannerList[])\n\t{\n\t\tif (this.bannerState.alertBanner)\n\t\t{\n\t\t\talertBannerList.forEach((val) =>\n\t\t\t{\n\t\t\t\tconst currentDate = new Date().getTime();\n\t\t\t\tconst endDisplay = new Date(val.endDate).getTime();\n\t\t\t\tconst startDisplay = new Date(val.startDate).getTime();\n\n\t\t\t\tconst display = currentDate > startDisplay && currentDate < endDisplay ? val.display : 'false';\n\t\t\t\tconst banner: AlertBanner = {\n\t\t\t\t\tdisplay: display,\n\t\t\t\t\tbannerIcon: val.bannerIcon,\n\t\t\t\t\tcloseIcon: val.closeIcon,\n\t\t\t\t\tbannerMessage: this.updateHeaderAlertBanner(val),\n\t\t\t\t\thasTokenInMessage: val.hasTokenInMessage,\n\t\t\t\t\ttokenDataList: val.tokenData,\n\t\t\t\t\tstartDate: val.startDate,\n\t\t\t\t\tendDate: val.endDate\n\t\t\t\t};\n\t\t\t\tthis.bannerState.alertBanner?.push(banner);\n\t\t\t});\n\t\t}\n\t}\n\tpublic updateHeaderAlertBanner(res: AlertBannerList): string\n\t{\n\t\tconst bannerDataMessage = this.sharedService.updateServiceCampaignBannerDataValue\n\t\t(\n\t\t\tres.bannerMessage, res.tokenData\n\t\t);\n\t\treturn bannerDataMessage;\n\t}\n\tresetToDefaultAccount()\n\t{\n\t\tconst defaultGrid: string = this.sharedService.getDefaultGrid();\n\t\tconst switchAccountPayload : SwitchAccountPayload = { selectedLocation: defaultGrid };\n\t\tthis.loading = true;\n\t\treturn new Observable((observer: Observer) =>\n\t\t{\n\t\t\tthis.apiService.switchAccount(switchAccountPayload).subscribe({\n\t\t\t\tnext: (response) =>\n\t\t\t\t{\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tobserver.next(response);\n\t\t\t\t\tobserver.complete();\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tobserver.error(error);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\tgetCustomerAemLabels()\n\t{\n\t\tconst customerLabel = this.localStorageService.getCustomerAemLabels();\n\t\tif(customerLabel !== null && customerLabel !== undefined)\n\t\t{\n\t\t\tconst labels: CustomerSupportAemLabel = this.localStorageService.parseJSON(customerLabel);\n\t\t\tthis.mapCustomerlabels(labels);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.apiService.getCustomerSupportLabels().subscribe({\n\t\t\t\tnext: (response: ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (response)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst responseObj = response.data;\n\t\t\t\t\t\tthis.localStorageService.setCustomerAemLabels(JSON.stringify(responseObj));\n\t\t\t\t\t\tthis.mapCustomerlabels(responseObj);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: (error) =>\n\t\t\t\t{\n\t\t\t\t\tthis.toaster.error(error?.error?.message);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tmapCustomerlabels(res: CustomerSupportAemLabel): void\n\t{\n\t\tthis.customerSupportData.readOnly = this.sharedService.emptyStringHandler(res.readOnly);\n\t\tthis.customerSupportData.warningNote = this.sharedService.emptyStringHandler(res.warningNote);\n\t\tthis.customerSupportData.endSessionNote = this.sharedService.emptyStringHandler(res.endSessionNote);\n\t\tthis.customerSupportData.endSession = this.sharedService.emptyStringHandler(res.endSession);\n\t\tthis.endSessionModalState.label = this.sharedService.emptyStringHandler(res.endSession);\n\t\tthis.endSessionModalState.buttons[0].label = this.sharedService.emptyStringHandler(res.endSessionCta);\n\t\tthis.endSessionModalState.buttons[1].label = this.sharedService.emptyStringHandler(res.continueSessionCta);\n\t\tthis.inactiveSessionModalState.label = this.sharedService.emptyStringHandler(res.inActivityAlert);\n\t\tthis.inactiveSessionModalState.buttons[0].label = this.sharedService.emptyStringHandler(res.endSession);\n\t\tthis.inactiveSessionModalState.buttons[1].label = this.sharedService.emptyStringHandler(res.continueSession);\n\t\tthis.customerSupportData.inactivityConfirmation = this.sharedService.emptyStringHandler(res.inActivityConfirmation);\n\t\tthis.customerSupportData.inativityMessage = this.sharedService.emptyStringHandler(res.inActivityMessage);\n\t\tthis.customerSupportData.hidden = !((this.sharedUtilService.isTmhCustomerSupportRole || this.sharedUtilService.isTmhCorporateAdmin) && this.localStorageService.getCustomerToDashboard());\n\t\tthis.routerservice.events.subscribe((event) =>\n\t\t{\n\t\t\tif(event instanceof NavigationStart)\n\t\t\t{\n\t\t\t\tif(event.url.includes('customer-support'))\n\t\t\t\t{\n\t\t\t\t\tthis.customerSupportData.hidden = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tendImpersonationSession()\n\t{\n\t\tthis.customerSupportData.hidden = true;\n\t\tthis.localStorageService.setCustomerToDashboard('false');\n\t\tthis.sharedUtilService.isCustomerSupportSession$.next(false);\n\t\tthis.localStorageService.removeImpersonateUser();\n\t\tthis.localStorageService.setUserName('');\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myfleetSearch;\n\t\tconst key: string = btoa(JSON.stringify({ url: path }));\n\t\tthis.localStorageService.removeCached(key);\n\t\tif(this.sharedUtilService.isTmhCorporateAdmin)\n\t\t{\n\t\t\tlocalStorage.setItem('endCorpSession', 'true');\n\t\t\tthis.routerservice.navigate(['/app/customerportal']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.routerservice.navigate(['/app/customer-support']);\n\t\t}\n\t}\n\tasync getServiceCount(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\tconst response: ApiResponse = await firstValueFrom(this.apiService.getServiceHistoryCount());\n\t\t\tconst resp = <{ totalRecords: number }>response.data;\n\t\t\treturn resp.totalRecords > 0 ? false : true;\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t}\n}\n","import { of } from 'rxjs';\nimport { BusinessAccountRequestLabel, BusinessAccountRequestState, BusinessAccountsGridData, EditAdminCompanyDetailsAemLabels, Grid } from '../components/business-account-request';\nimport { mockData } from './mock-auth-data';\nimport { ApiResponse } from '../definitions/api-response.interface';\nimport { SharedFactoryDataService } from '../services/shared/shared-factory-data.service';\nimport { AprRejBtnType, AprRejUserData, GridValue } from 'kinetic-angular';\nimport { mockUploadFileAemResponse } from './business-account-request-upload-data';\nimport { locationHeirarchyObject } from './location-heirarchy-mock';\n\nexport const mockGridData: Grid = {\n\theaders: [\n\t\t{ id: '001', label: 'Requested On' },\n\t\t{ id: '002', label: 'Primary GRID' },\n\t\t{ id: '003', label: 'Primary Company Details' },\n\t\t{ id: '004', label: 'Contact' },\n\t\t{ id: '005', label: 'Locations List' },\n\t\t{ id: '006', label: 'Business Account Approval' }],\n\taccept: { label: 'Accept', iconPath: '', altText: 'Accept' },\n\treject: { label: 'Reject', iconPath: '', altText: 'Reject' },\n\ttooltip: 'Please review \\'Locations List\\' to activate Accept/Reject button',\n\tuploadFile: 'Upload New',\n\tcompanyGridLabel: 'GRID',\n\tnoResult: { label: 'No business account requests', iconPath: '', altText: '' },\n\tuploadFileLabels: mockUploadFileAemResponse\n};\nexport const mockBusinessAccountHeaders: BusinessAccountRequestLabel =\n{\n\tpageHeading: 'Business Account Request Management',\n\ttableHeading: 'Business Account Requests',\n\tgrid: mockGridData\n};\nexport const mockBusinessAccountData: BusinessAccountsGridData[] = [{\n\tprofileInformation: {\n\t\tfirstName: 'Test-BA',\n\t\tlastName: 'Test-BA',\n\t\temail: 'ba-test@yopmail.com',\n\t\tphoneNumber: '123456789'\n\t},\n\tcompanyDetails: {\n\t\tprimaryLocationGRID: '1234',\n\t\tcompanyName: 'TRACTOR',\n\t\taddressLine1: '5401 Virginia Way',\n\t\taddressLine2: '',\n\t\tcity: 'Brentwood',\n\t\tstate: 'TN',\n\t\tzipCode: '37027-7536',\n\t\tcountry: 'US',\n\t\tadminGrid: '456720'\n\t},\n\tpendingLocationDetails: {\n\t\terroredFileName: 'TMH Approval File Name',\n\t\toriginalFileName: 'TMH Approval File Name',\n\t\tupdatedFileName: 'TMH Approval File Name',\n\t\tlocationListReviewed: false,\n\t\tprimaryGridOnly: false\n\t},\n\ttempUserID: 'dfa1c3a1-777f-4f93-8e12-d013b5bc3eae111',\n\trequestedOn: 1688110318300,\n\ttopLevelGrid: '1234'\n}];\nexport const mockEditAdminCompanyDetailsAemLabels: EditAdminCompanyDetailsAemLabels =\n{\n\theading: '',\n\tcloseIcon: { iconPath: '', altText: '' },\n\terrorText: {\n\t\tinvalidCharacterWithNumericErrorMessage: 'Please enter only letters, numbers, hyphens, apostrophe, commas or periods',\n\t\tinvalidCharacterWithoutNumericErrorMessage: 'Please enter a valid character',\n\t\trequiredErrorMessage: '$token is a required field',\n\t\tminLengthZipCodeError: 'Postal code should have 5 numeric characters',\n\t\tcanadaPostalCodeFormatError: 'Postal Code format is incorrect. Please enter the correct Postal Code'\n\t},\n\tpageLabels: {\n\t\tcompanyName: { id: '', label: 'Company Name' },\n\t\taddressLine1: { id: '', label: 'Address Line 1' },\n\t\taddressLine2: { id: '', label: 'Address Line 2 (Optional)' },\n\t\tcountry: { id: '', label: 'Country' },\n\t\tcity: { id: '', label: 'City' },\n\t\tstate: { id: '', label: 'State/Province' },\n\t\tzipCode: { id: '', label: 'Postal Code' }\n\t},\n\tpageButtons: [{ cancel: { id: '', label: 'Cancel' }, save: { id: '', label: 'Save' } }]\n};\n\nexport const mockedState: BusinessAccountRequestState = {\n\tsectionTop: { pageHeading: '' },\n\tsectionMiddle: {\n\t\ttableHeading: '',\n\t\tgrid: mockGridData,\n\t\ttableState: {\n\t\t\tgridHeaders: [{ label: '' }, { label: '' }, { label: '' }, { label: '' }, { label: '' }, { label: '' }],\n\t\t\tgridData: [\n\t\t\t\t{\n\t\t\t\t\tvalues: [{\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tctaList: [{\n\t\t\t\t\t\t\tid: '',\n\t\t\t\t\t\t\tclassName: AprRejBtnType.singleApprove,\n\t\t\t\t\t\t\tstate: {\n\t\t\t\t\t\t\t\tsize: 'medium',\n\t\t\t\t\t\t\t\tstyle: 'link',\n\t\t\t\t\t\t\t\tdisabled: false,\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\t\t\t\tposition: 'none'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: '',\n\t\t\t\t\t\t\tclassName: AprRejBtnType.singleReject,\n\t\t\t\t\t\t\tstate: {\n\t\t\t\t\t\t\t\tsize: 'medium',\n\t\t\t\t\t\t\t\tstyle: 'link',\n\t\t\t\t\t\t\t\tdisabled: false,\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\t\t\t\tposition: 'none'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, \n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] }],\n\t\t\t\t\tid: '1234',\n\t\t\t\t\temail: '',\n\t\t\t\t\tstate: '',\n\t\t\t\t\tcompany: '',\n\t\t\t\t\troles: [],\n\t\t\t\t\tportalApprovedCustomerID: [],\n\t\t\t\t\tphoneNumber: '',\n\t\t\t\t\troleName: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tloading: false,\n\t\t\tisTooltipPresent: true,\n\t\t\ttooltip: { content: '', closeIcon: SharedFactoryDataService.buildImage('/assets/tooltip-close-icon.svg', '') },\n\t\t\tid: 'business-account',\n\t\t\tribbon: {\n\t\t\t\tctaList: [],\n\t\t\t\tcancelButton: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\tposition: 'none'\n\t\t\t\t}\n\t\t\t},\n\t\t\tisCheckbox: false,\n\t\t\tisRibbon: false,\n\t\t\titemsSelected: '',\n\t\t\tnoResult: {\n\t\t\t\timage: { iconPath: '/assets/access-requests-not-found.svg', altText: '' },\n\t\t\t\ttext: ''\n\t\t\t}\n\t\t},\n\t\terrorState: { messages: [], id: '', statusCode: 401, image: { iconPath: '', altText: '' } },\n\t\tbusinessAccountData: []\n\t}\n};\nexport const mockCompanyDetailsResponse: BusinessAccountsGridData = {\n\tprofileInformation: {\n\t\tfirstName: 'Test-BA',\n\t\tlastName: 'Test-BA',\n\t\temail: 'ba-test@yopmail.com',\n\t\tphoneNumber: '123456789'\n\t},\n\tcompanyDetails: {\n\t\tprimaryLocationGRID: '1234',\n\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\taddressLine1: '5401 Virginia Way',\n\t\taddressLine2: '',\n\t\tcity: 'Brentwood',\n\t\tstate: 'TN',\n\t\tzipCode: '37027-7536',\n\t\tcountry: 'US',\n\t\tadminGrid: '106727'\n\t},\n\tpendingLocationDetails: {\n\t\terroredFileName: '',\n\t\toriginalFileName: '',\n\t\tupdatedFileName: '',\n\t\tlocationListReviewed: false,\n\t\tprimaryGridOnly: false\n\t},\n\ttempUserID: 'dfa1c3a1-777f-4f93-8e12-d013b5bc3eae111',\n\trequestedOn: 1688110318300,\n\ttopLevelGrid: '106727'\n};\n\nexport const mockPendingBaList: BusinessAccountsGridData[] = [{\n\tprofileInformation: {\n\t\tfirstName: 'Test-BA',\n\t\tlastName: 'Test-BA',\n\t\temail: 'vivek.mayya@accenture.com',\n\t\tphoneNumber: '123456789'\n\t},\n\tcompanyDetails: {\n\t\tprimaryLocationGRID: '104802',\n\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\taddressLine1: '4035 Piedmont Pkwy',\n\t\taddressLine2: '',\n\t\tcity: 'Brentwood',\n\t\tstate: 'TN',\n\t\tzipCode: '37027-7536',\n\t\tcountry: 'US',\n\t\tadminGrid: '106727'\n\t},\n\tpendingLocationDetails: {\n\t\toriginalFileName: '',\n\t\tupdatedFileName: '',\n\t\terroredFileName: '',\n\t\tlocationListReviewed: false,\n\t\tprimaryGridOnly: false\n\t},\n\ttempUserID: 'dfa1c3a1-777f-4f93-8e12-d013b5bc3eae111',\n\trequestedOn: 1688110318300,\n\ttopLevelGrid: '37503594'\n}];\nexport const mockSectionMiddleTableStateGrid = [{\n\tchecked: false,\n\temail: 'abc@gmail.com',\n\tid: '123',\n\tstate: 'WI',\n\tvalues: [],\n\tcompany: 'ACTIS MANUFACTURING LLC',\n\troles: ['d345b32d-642e-45d9-a5dd-f273b1e2203b'],\n\tportalApprovedCustomerID: ['2137935'],\n\tphoneNumber: '9876543210',\n\troleName: 'Default User'\n},\n{\n\tchecked: false,\n\temail: 'xyz@gmail.com',\n\tid: '789',\n\tstate: 'WI',\n\tvalues: [],\n\tcompany: 'ACTIS MANUFACTURING LLC',\n\troles: ['d345b32d-642e-45d9-a5dd-f273b1e2203c'],\n\tportalApprovedCustomerID: ['2137936'],\n\tphoneNumber: '9876543210',\n\troleName: 'Default User'\n}];\nexport const mockRejectedUser : AprRejUserData[] = [{ id: '', email: 'abc@gmail.com', state: '' }];\nexport const mockSectionMiddleTableStateGrid1: GridValue[] = [{\n\tvalues: [\n\t\t{ label: '', value: '', ctaList: [] },\n\t\t{ label: '', value: '', ctaList: [] },\n\t\t{ label: '', value: '', ctaList: [] },\n\t\t{ label: '', value: '', ctaList: [] },\n\t\t{ label: '', value: '', ctaList: [] },\n\t\t{\n\t\t\tlabel: '',\n\t\t\tvalue: '',\n\t\t\tctaList: [{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.bulkApprove,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\tposition: 'none'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.bulkReject,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\tposition: 'none'\n\t\t\t\t}\n\t\t\t}]\n\t\t}],\n\tid: 'dfa1c3a1-777f-4f93-8e12-d013b5bc3eae1113',\n\temail: '',\n\tstate: '',\n\tcompany: '',\n\troles: [],\n\tportalApprovedCustomerID: [],\n\tphoneNumber: '',\n\troleName: ''\n}];\nexport class FakeApiService \n{\n\tpublic getBusinessAccountRequestAemLabel() \n\t{\n\t\treturn of(mockBusinessAccountHeaders);\n\t}\n\tpublic getEditAdminCompanyDetailsAemLabels() \n\t{\n\t\treturn of(mockEditAdminCompanyDetailsAemLabels);\n\t}\n\tpublic getLoggedInUserObs() \n\t{\n\t\treturn of({ data: mockData });\n\t}\n\tpublic getLoggedInUserLocations() \n\t{\n\t\treturn of({ data: locationHeirarchyObject });\n\t}\n\tpublic getBusinessAccountRequestData() \n\t{\n\t\treturn of({ data: mockBusinessAccountData });\n\t}\n\tpublic rejectBusinessAccount() \n\t{\n\t\treturn of({\n\t\t\tsuccess: true,\n\t\t\tmessage: 'User updated successfully',\n\t\t\tstatusCode: 200,\n\t\t\tdata: {}\n\t\t} as unknown as ApiResponse);\n\t}\n\tpublic downloadLocationList() \n\t{\n\t\treturn of({});\n\t}\n\tpublic updateAdminCompanyDetails() \n\t{\n\t\treturn of({\n\t\t\tsuccess: true,\n\t\t\tmessage: 'Grid and Address Udpated',\n\t\t\tstatusCode: 200,\n\t\t\tdata: {}\n\t\t});\n\t}\n\tpublic approveBusinessAdminAccount()\n\t{\n\t\treturn of({\n\t\t\tstatusCode: 201,\n\t\t\tsuccess: true,\n\t\t\tmessage: 'Request successfully approved.',\n\t\t\tdata: {}\n\t\t} as unknown as ApiResponse);\n\t}\n\tpublic getServerValidationUploadFile()\n\t{\n\t\treturn of({\n\t\t\tsuccess: true,\n\t\t\tmessage: 'Success',\n\t\t\tstatusCode: 201,\n\t\t\tdata: {\n\t\t\t\tfileStatus: 'Upload Submitted',\n\t\t\t\tupdatedFileName: 'TMH Approve File_Corporate_Admin_New Locations_List1_success_data_paluser_1692702271812.xlsx'\n\t\t\t}\n\t\t});\n\t}\n}\n","import { ModalEvent } from 'kinetic-angular';\nimport { UploadFileLabels } from '../components/business-account-request';\nimport { ApiResponse } from '../definitions/api-response.interface';\n\nexport const mockUploadFileAemResponse: UploadFileLabels = {\n\theading: 'Upload Location List',\n\tsubHeading: 'Please be sure the AdminGRID location is included in the Excel upload and matches the AdminGRID listed on the Dashboard before you click \\\"Upload\\\".',\n\tmodelButtons: { close: 'Close', cancel: 'Cancel', upload: 'Upload' },\n\tcloseIcon: { iconPath: '', altText: '' },\n\tuploadFile: {\n\t\tonLoadIcon: { iconPath: '', altText: '' },\n\t\terrorIcon: { iconPath: '', altText: '' },\n\t\tsuccessIcon: { iconPath: '', altText: '' },\n\t\tdragDropLabel: 'Drag and Drop',\n\t\torLabel: 'or',\n\t\tuploadButtons: { chooseFile: 'Choose File', replaceFile: 'Replace File', tryAgain: 'Try Again' },\n\t\tsuccess: 'Uploaded Submitted'\n\t}\n};\n\nexport const mockFile1: File = {\n\tname: 'BusninessRequestAccount.csv',\n\tsize: 10423,\n\ttype: 'text/csv'\n} as unknown as File;\n\nexport const mockFile2: File = {\n\tname: 'Corporate_Admin_New Locations_List2.xlsx',\n\tsize: 1000023,\n\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml'\n} as unknown as File;\n\nexport const mockFile3: File = {\n\tname: 'Corporate_Admin_New Locations_List2.xlsx',\n\tsize: 10423,\n\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml'\n} as unknown as File;\n\nexport const mockEvent: ModalEvent = {\n\tstate: {\n\t\thidden: false,\n\t\tlabel: 'Upload New Locations List',\n\t\tbuttons: [\n\t\t\t{ label: 'Cancel', disabled: false, cssClass: 'btn-secondary' },\n\t\t\t{ label: 'Upload', disabled: false, cssClass: 'btn-black' }\n\t\t],\n\t\tcssClass: 'uploadFileTitle'\n\t},\n\tcta: { label: '', disabled: false, cssClass: 'btn-black' } \n};\n\nexport const mockApiFailure: ApiResponse = {\n\tsuccess: false,\n\tstatusCode: 403,\n\tmessage: 'File should be less than 100 MB and should be in xlsx/csv format',\n\tdata: {}\n};\n\nexport const mockWrongFormat: ApiResponse = {\n\tsuccess: false,\n\tstatusCode: 400,\n\tmessage: 'Please ensure the data in the file is in the correct format and try again, and at a minimum the Primary GRID must be entered',\n\tdata: {}\n};\n","import { Control, ControlType, KngFilterState, Section } from 'kinetic-angular';\nimport { ProfileLocation } from '../components/auth';\nimport { SharedFactoryDataService } from '../services/shared/shared-factory-data.service';\n\nexport const divisionControls: Control[] = [\n\tnew Control({\n\t\tid: 'Division 1',\n\t\tlabel: 'Division 1',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t}),\n\tnew Control({\n\t\tid: 'Division 2',\n\t\tlabel: 'Division 2',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t})\n];\nexport const groupControls: Control[] = [\n\tnew Control({\n\t\tid: 'Group 1',\n\t\tlabel: 'Group 1',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t}),\n\tnew Control({\n\t\tid: 'Group 2',\n\t\tlabel: 'Group 2',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t}),\n\tnew Control({\n\t\tid: 'Group 3',\n\t\tlabel: 'Group 3',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t})\n];\nexport const locationControls: Control[] = [\n\tnew Control({\n\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\tlabel: '',\n\t\ttype: ControlType.input,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: ''\n\t}),\n\tnew Control({\n\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\tlabel: 'Location ABC',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: true\n\t}),\n\tnew Control({\n\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\tlabel: 'Location DEF',\n\t\ttype: ControlType.checkbox,\n\t\tinputPlaceholderText: '',\n\t\tinputIcon: '',\n\t\toptions: [],\n\t\tvalue: false\n\t})\n];\n\nexport const locationSection: Section =\n {\n \tlabel: 'Location',\n \tnoResultsFoundText: '',\n \tcontrols: [...locationControls],\n \tcollapsed: true,\n \taccordionCollapsedIcon: { altText: '', iconPath: '' },\n \taccordionExpandedIcon: { altText: '', iconPath: '' },\n \tsearchIcon: { iconPath: '', altText: '' },\n \tcrossIcon: { iconPath: '', altText: '' }\n };\n\nexport const divisionSection: Section =\n {\n \tlabel: 'Division',\n \tnoResultsFoundText: '',\n \tcontrols: divisionControls,\n \tcollapsed: true,\n \taccordionCollapsedIcon: { altText: '', iconPath: '' },\n \taccordionExpandedIcon: { altText: '', iconPath: '' },\n \tsearchIcon: { iconPath: '', altText: '' },\n \tcrossIcon: { iconPath: '', altText: '' },\n \tisShowMorePresent: true,\n \tshowMoreShowLess: {\n \t\tisDisabled: false,\n \t\tisShowMoreClicked: false,\n \t\tshowLessText: '',\n \t\tshowMoreText: ''\n \t}\n };\nexport const groupSection: Section =\n {\n \tlabel: 'Group',\n \tnoResultsFoundText: '',\n \tcontrols: groupControls,\n \tcollapsed: true,\n \taccordionCollapsedIcon: { altText: '', iconPath: '' },\n \taccordionExpandedIcon: { altText: '', iconPath: '' },\n \tsearchIcon: { iconPath: '', altText: '' },\n \tcrossIcon: { iconPath: '', altText: '' },\n \tisShowMorePresent: true,\n \tshowMoreShowLess: {\n \t\tisDisabled: false,\n \t\tisShowMoreClicked: false,\n \t\tshowLessText: '',\n \t\tshowMoreText: ''\n \t}\n };\nexport const dateRangeSection: Section = {\n\tlabel: 'Date Range',\n\tcontrols: [\n\t\tnew Control({\n\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\tlabel: '',\n\t\t\ttype: ControlType.radio,\n\t\t\tinputPlaceholderText: '',\n\t\t\tinputIcon: '',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Custom Date Range',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Last 60 Days',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Last 60 Days (default)',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t],\n\t\t\tvalue: ''\n\t\t})\n\t],\n\taccordionCollapsedIcon: SharedFactoryDataService.getAccordionCollapsedIcon(),\n\taccordionExpandedIcon: SharedFactoryDataService.getAccordionExpandedIcon(),\n\tsearchIcon: SharedFactoryDataService.getSearchIcon(),\n\tcrossIcon: SharedFactoryDataService.getSearchCrossIcon(),\n\tcollapsed: true\n};\nexport const locationHeirarchyObject: ProfileLocation =\t{\n\tlocations: [\n\t\t{\n\t\t\tisParentCompany: false,\n\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\tlocationId: 'Location 1',\n\t\t\tlocationName: 'Location 1',\n\t\t\tcompanyId: '',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Brentwood',\n\t\t\t\tstate: 'TN',\n\t\t\t\tcountry: 'US',\n\t\t\t\tzipCode: '34242'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tisParentCompany: false,\n\t\t\tcompanyName: 'test',\n\t\t\tlocationId: 'Location 2',\n\t\t\tlocationName: 'Location 2',\n\t\t\tcompanyId: '',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Brentwood',\n\t\t\t\tstate: 'TN',\n\t\t\t\tcountry: 'US',\n\t\t\t\tzipCode: '34242'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tisParentCompany: false,\n\t\t\tcompanyName: 'test',\n\t\t\tlocationId: 'Location 3',\n\t\t\tlocationName: 'Location 3',\n\t\t\tcompanyId: '',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Brentwood',\n\t\t\t\tstate: 'TN',\n\t\t\t\tcountry: 'US',\n\t\t\t\tzipCode: '34242'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tisParentCompany: false,\n\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\tlocationId: '123456',\n\t\t\tlocationName: 'Philadelphia, GA',\n\t\t\tcompanyId: '',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Brentwood',\n\t\t\t\tstate: 'TN',\n\t\t\t\tcountry: 'US',\n\t\t\t\tzipCode: '34242'\n\t\t\t}\n\t\t}\n\t],\n\tdivisionFilterList: [\n\t\t{\n\t\t\tdivisionName: 'Division 1',\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'Group 1',\n\t\t\t\t\tlocations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisParentCompany: false,\n\t\t\t\t\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\t\t\t\t\tlocationId: 'Location 1',\n\t\t\t\t\t\t\tlocationName: 'Location 1',\n\t\t\t\t\t\t\tcompanyId: '',\n\t\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\t\t\tcity: 'Brentwood',\n\t\t\t\t\t\t\t\tstate: 'TN',\n\t\t\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\t\t\tzipCode: '37027-7536'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisParentCompany: false,\n\t\t\t\t\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\t\t\t\t\tlocationId: 'Location 2',\n\t\t\t\t\t\t\tlocationName: 'Location 2',\n\t\t\t\t\t\t\tcompanyId: '',\n\t\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\t\t\tcity: 'Brentwood',\n\t\t\t\t\t\t\t\tstate: 'TN',\n\t\t\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\t\t\tzipCode: '37027-7536'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: null as unknown as string,\n\t\t\t\t\tlocations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisParentCompany: false,\n\t\t\t\t\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\t\t\t\t\tlocationId: 'Location 3',\n\t\t\t\t\t\t\tlocationName: 'Location 3',\n\t\t\t\t\t\t\tcompanyId: '',\n\t\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\t\t\tcity: 'Brentwood',\n\t\t\t\t\t\t\t\tstate: 'TN',\n\t\t\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\t\t\tzipCode: '37027-7536'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tdivisionName: null as unknown as string,\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'Group 3',\n\t\t\t\t\tlocations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisParentCompany: false,\n\t\t\t\t\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\t\t\t\t\tlocationId: 'Location 4',\n\t\t\t\t\t\t\tlocationName: 'Location 4',\n\t\t\t\t\t\t\tcompanyId: '',\n\t\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\t\t\tcity: 'Brentwood',\n\t\t\t\t\t\t\t\tstate: 'TN',\n\t\t\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\t\t\tzipCode: '37027-7536'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: null as unknown as string,\n\t\t\t\t\tlocations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisParentCompany: false,\n\t\t\t\t\t\t\tcompanyName: 'TRACTOR SUPPLY COMPANY',\n\t\t\t\t\t\t\tlocationId: 'Location 5',\n\t\t\t\t\t\t\tlocationName: 'Location 5',\n\t\t\t\t\t\t\tcompanyId: '',\n\t\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\t\taddressLine1: '5401 Virginia Way',\n\t\t\t\t\t\t\t\taddressLine2: '',\n\t\t\t\t\t\t\t\tcity: 'Brentwood',\n\t\t\t\t\t\t\t\tstate: 'TN',\n\t\t\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\t\t\tzipCode: '37027-7536'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t],\n\tgroupsList: [\n\t\t'Group 1'\n\t],\n\tdivisionsList: [\n\t\t'Division 1'\n\t]\n};\n\nexport const filterStateMock: KngFilterState = {\n\tfilterData: {\n\t\theading: { label: '' },\n\t\tsections: [ divisionSection, groupSection, locationSection ],\n\t\tctaList: [\n\t\t\t{ id: '327147f4-c044-4799-8a5a-d075c619e41c', label: '', className: 'light', disabled: false },\n\t\t\t{ id: '7eeaa3f0-b4f6-4142-8086-361298d75686', label: '', className: 'dark', disabled: false }\n\t\t]\n\t},\n\thidden: true\n};\n","/* eslint-disable max-lines */\nimport { MainEntryAemLabels, MainEntryState } from '../components/main-entry';\n\nexport const mockLandingPageAemResponse: MainEntryAemLabels = {\n\tglobalHeader: [\n\t\t{\n\t\t\tisSelected: false,\n\t\t\ticonPath: '/content/dam/tmh/customer-portal/en/portal-images/MyToyota_White.png',\n\t\t\taltText: 'My Toyota logo',\n\t\t\turl: '',\n\t\t\tlabel: '',\n\t\t\tcssClass: '',\n\t\t\tid: '2708cc73-d48c-4301-afa3-ee0bb03002b6',\n\t\t\tsubmenu: []\n\t\t},\n\t\t{\n\t\t\tisSelected: false,\n\t\t\ticonPath: '',\n\t\t\taltText: '',\n\t\t\turl: '',\n\t\t\tlabel: 'Skip Navigation',\n\t\t\tcssClass: '',\n\t\t\tid: '990cdcf6-5612-4d14-9fca-468553692947',\n\t\t\tsubmenu: []\n\t\t}\n\t],\n\tbanner: {\n\t\tbannerImageDesktopView: {\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t},\n\t\tbannerImageMobileView: {\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t},\n\t\theader: 'MyToyota Customer Portal is Here!',\n\t\tsubText: 'Now you may register your company and manage locations, users, and permissions to gain 24/7 access.',\n\t\tbulletPoints: [\n\t\t\t{\n\t\t\t\tid: 'a605729f-5c32-42b6-8297-2f4b9302950b',\n\t\t\t\tlabel: 'MyFleet Equipment Management'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '56c885b2-cd84-49f0-9e76-1b9dadf487aa',\n\t\t\t\tlabel: 'Open Equipment Orders and Order Tracking'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '3f23de83-f375-44e4-9afc-87b7c7aba605',\n\t\t\t\tlabel: 'Lease and Financing Information from Toyota Industries Commercial Finance'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '70c1d53b-bd3c-4db1-93a8-72fae67acb00',\n\t\t\t\tlabel: 'MyToyota Store to buy forklift parts and accessories'\n\t\t\t}\n\t\t],\n\t\tregisterButton: 'Register/Login'\n\t},\n\ticonsDeskTopView: [\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'MyFleet',\n\t\t\tid: 'ceca2541-a1d3-44b5-bf98-75f987b4873d',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'Order Management',\n\t\t\tid: '04802d59-1d31-4176-aa1b-8de105617868',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'Financing',\n\t\t\tid: '00dd4c6c-1f05-4e42-beaf-b436d4d80bfc',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '', altText: ''\n\t\t\t},\n\t\t\tlabel: 'MyInsights',\n\t\t\tid: '5da9ab50-117f-45b1-a1ce-119056b3c47e',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '', altText: ''\n\t\t\t},\n\t\t\tlabel: 'MyToyota Store',\n\t\t\tid: '3a77b49a-4248-4ff1-ac8f-26eac5289ac0',\n\t\t\tlink: {\n\t\t\t\ttext: 'Learn more',\n\t\t\t\turl: '',\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '', altText: ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\ticonsMobileView: [\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'MyFleet',\n\t\t\tid: 'b7130623-1231-4a4b-87a5-dfbc3ab8a1d7',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'Order Management',\n\t\t\tid: 'a5a6cdf2-0650-4a05-9130-65b37f679b1c',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '', altText: ''\n\t\t\t},\n\t\t\tlabel: 'Financing',\n\t\t\tid: '767eb6e1-ccca-46f3-b6c5-dea5c84ebe74',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '', altText: ''\n\t\t\t},\n\t\t\tlabel: 'MyInsights',\n\t\t\tid: '79a1a192-3fd5-498b-91f8-642f304ab4b4',\n\t\t\tlink: {}\n\t\t},\n\t\t{\n\t\t\ticon: {\n\t\t\t\ticonPath: '', altText: ''\n\t\t\t},\n\t\t\tlabel: 'MyToyota Store',\n\t\t\tid: 'a5f13430-a671-4900-af9e-0f240cf2754e',\n\t\t\tlink: {\n\t\t\t\ttext: 'Learn more',\n\t\t\t\turl: '',\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '', altText: ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tfooter: {\n\t\tribbonImage: '',\n\t\taltText: '',\n\t\tcssClass: '',\n\t\tfootercontent: {\n\t\t\tfixed: false,\n\t\t\thidden: false,\n\t\t\tlogoImagePath: '',\n\t\t\taltText: 'My Toyota logo',\n\t\t\tfootermenu: [\n\t\t\t\t{\n\t\t\t\t\tid: 'd80d21de-9520-48dc-97f5-12125a582254', label: 'Phone', iconPath: '', altText: '', labelValue: ['1.844.965.0182'], url: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'cda2973b-f585-4545-bb17-15f4c4d3c597', label: 'Email', iconPath: '', altText: '', labelValue: ['customerservice@toyotatmh.com'], url: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '5b8ac2b4-995f-43cf-8cb6-7cd4b07febdb', label: '', iconPath: '', altText: '', labelValue: ['Assembled in the USA'], url: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tcountryLanguage: 'Select a Country/Language',\n\t\t\tcountryLanguageOptions: {\n\t\t\t\tcountryLanguageOptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'United States- English', value: 'United States- English'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'French', value: 'French'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcopyright: {\n\t\t\t\tlabel: 'Copyright 2023 Toyota Material Handling',\n\t\t\t\tlabelUrl: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Privacy Policy', url: ''\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Do Not Sell or Share My Personal Information', url: ''\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\ttags: [\n\t\t{\n\t\t\tid: '', label: '', description: '', type: ''\n\t\t},\n\t\t{\n\t\t\tid: '', label: '', description: '', type: ''\n\t\t}\n\t]\n};\n\nexport const mockLandingPageLabels: MainEntryState = {\n\tisLoading: false,\n\tsectionTop: {\n\t\tglobalHeader: [\n\t\t\t{\n\t\t\t\tisSelected: false,\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\turl: '',\n\t\t\t\tlabel: '',\n\t\t\t\tcssClass: '',\n\t\t\t\tid: '2708cc73-d48c-4301-afa3-ee0bb03002b6',\n\t\t\t\tsubmenu: []\n\t\t\t},\n\t\t\t{\n\t\t\t\tisSelected: false,\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\turl: '',\n\t\t\t\tlabel: '',\n\t\t\t\tcssClass: '',\n\t\t\t\tid: '990cdcf6-5612-4d14-9fca-468553692947',\n\t\t\t\tsubmenu: []\n\t\t\t}\n\t\t],\n\t\ttags: [\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\tdescription: '',\n\t\t\t\ttype: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\tdescription: '',\n\t\t\t\ttype: ''\n\t\t\t}\n\t\t]\n\t},\n\tsectionMiddle: {\n\t\tbanner: {\n\t\t\tbannerImageDesktopView: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tbannerImageMobileView: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\theader: '',\n\t\t\tsubText: '',\n\t\t\tbulletPoints: [\n\t\t\t\t{\n\t\t\t\t\tid: 'a605729f-5c32-42b6-8297-2f4b9302950b',\n\t\t\t\t\tlabel: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '56c885b2-cd84-49f0-9e76-1b9dadf487aa',\n\t\t\t\t\tlabel: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '3f23de83-f375-44e4-9afc-87b7c7aba605',\n\t\t\t\t\tlabel: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '70c1d53b-bd3c-4db1-93a8-72fae67acb00',\n\t\t\t\t\tlabel: ''\n\t\t\t\t}\n\t\t\t],\n\t\t\tregisterButton: {\n\t\t\t\tsize: 'large',\n\t\t\t\tstyle: 'secondary',\n\t\t\t\tdisabled: false,\n\t\t\t\tlabel: '',\n\t\t\t\ticon: {\n\t\t\t\t\taltText: '',\n\t\t\t\t\ticonPath: ''\n\t\t\t\t},\n\t\t\t\tposition: 'none'\n\t\t\t}\n\t\t},\n\t\ticonsDeskTopView: [\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: 'ceca2541-a1d3-44b5-bf98-75f987b4873d',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '04802d59-1d31-4176-aa1b-8de105617868',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '00dd4c6c-1f05-4e42-beaf-b436d4d80bfc',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '', altText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '5da9ab50-117f-45b1-a1ce-119056b3c47e',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '', altText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '3a77b49a-4248-4ff1-ac8f-26eac5289ac0',\n\t\t\t\tlink: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\ticonsMobileView: [\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: 'b7130623-1231-4a4b-87a5-dfbc3ab8a1d7',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: 'a5a6cdf2-0650-4a05-9130-65b37f679b1c',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '767eb6e1-ccca-46f3-b6c5-dea5c84ebe74',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: '79a1a192-3fd5-498b-91f8-642f304ab4b4',\n\t\t\t\tlink: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tlabel: '',\n\t\t\t\tid: 'a5f13430-a671-4900-af9e-0f240cf2754e',\n\t\t\t\tlink: {\n\t\t\t\t\ttext: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\ticon: {\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\tsectionBottom: {\n\t\tfooter: {\n\t\t\tribbonImage: '',\n\t\t\taltText: '',\n\t\t\tcssClass: '',\n\t\t\tfootercontent: {\n\t\t\t\tfixed: false,\n\t\t\t\thidden: false,\n\t\t\t\tlogoImagePath: '',\n\t\t\t\taltText: '',\n\t\t\t\tfootermenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'd80d21de-9520-48dc-97f5-12125a582254',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tlabelValue: [],\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'cda2973b-f585-4545-bb17-15f4c4d3c597',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tlabelValue: [],\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '5b8ac2b4-995f-43cf-8cb6-7cd4b07febdb',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\ticonPath: '',\n\t\t\t\t\t\taltText: '',\n\t\t\t\t\t\tlabelValue: [],\n\t\t\t\t\t\turl: ''\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tcopyright: {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tlabelUrl: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\turl: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { ModalState } from 'kinetic-angular';\nimport { AuthState } from '../components/auth';\n\nexport const mockData: AuthState = {\n\ttncUpdated: true,\n\tprivacyPolicyUpdated: true,\n\tuserId: '616f4abc-3caf-4ba0-8e79-5a8743f2d244',\n\tfirstName: 'Priya',\n\tlastName: 'Renjith',\n\temail: 'priya.renjith@accenture.com',\n\tadminEmailId: 'priya.renjith@accenture.com',\n\tphoneNumber: '(888)009-1111',\n\troles: [\n\t\t'd37a94b1-71bf-4d13-8f2e-fd1ff2ebdf76'\n\t],\n\tcustomerIds: [\n\t\t'1394564',\n\t\t'2137935'\n\t],\n\tlocations: [\n\t\t{\n\t\t\tisParentCompany: true,\n\t\t\tcompanyId: '0061457068',\n\t\t\tcompanyName: '',\n\t\t\tlocationId: '1394564',\n\t\t\tlocationName: 'A',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '202 Hamlin Dr',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Pilot Mountain',\n\t\t\t\tstate: 'NC',\n\t\t\t\tcountry: 'United States',\n\t\t\t\tzipCode: '27041-8707'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tisParentCompany: true,\n\t\t\tcompanyId: '263ACTIS00',\n\t\t\tcompanyName: 'Actis Manufacturing Ltd., LLC',\n\t\t\tlocationId: '2137935',\n\t\t\tlocationName: 'ACTIS MANUFACTURING LLC',\n\t\t\taddress: {\n\t\t\t\taddressLine1: '4051 Freeport Pkwy Ste 400',\n\t\t\t\taddressLine2: '',\n\t\t\t\tcity: 'Grapevine',\n\t\t\t\tstate: 'TX',\n\t\t\t\tcountry: 'United States',\n\t\t\t\tzipCode: '76051-2316'\n\t\t\t}\n\t\t}\n\t],\n\tadminLocationID: '',\n\tcompany: 'ACTIS MANUFACTURING LLC',\n\tcontactGRID: '450678',\n\tcontactID: '',\n\tprimaryLocationGRID: '102659',\n\ttopLevelGrid: ''\n};\n \nexport const mockUserData= {\n\tsuccess: true,\n\tmessage: 'Success',\n\tstatusCode: 200,\n\tdata: {\n\t\tuserId: '616f4abc-3caf-4ba0-8e79-5a8743f2d244',\n\t\tfirstName: 'Priya',\n\t\tlastName: 'Renjith',\n\t\tcontactID: '12456',\n\t\temail: 'priya.renjith@accenture.com',\n\t\tadminEmailId: 'priya.renjith@accenture.com',\n\t\tphoneNumber: '(888)009-1111',\n\t\troles: [\n\t\t\t'd37a94b1-71bf-4d13-8f2e-fd1ff2ebdf76'\n\t\t],\n\t\tcustomerIds: [\n\t\t\t'1394564',\n\t\t\t'2137935'\n\t\t],\n\t\tlocations: [\n\t\t\t{\n\t\t\t\tisParentCompany: false,\n\t\t\t\tcompanyId: '0061457068',\n\t\t\t\tcompanyName: '',\n\t\t\t\tlocationId: '1394564',\n\t\t\t\tlocationName: 'A',\n\t\t\t\taddress: {\n\t\t\t\t\taddressLine1: '202 Hamlin Dr',\n\t\t\t\t\taddressLine2: '',\n\t\t\t\t\tcity: 'Pilot Mountain',\n\t\t\t\t\tstate: 'NC',\n\t\t\t\t\tcountry: 'United States',\n\t\t\t\t\tzipCode: '27041-8707'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tisParentCompany: false,\n\t\t\t\tcompanyId: '263ACTIS00',\n\t\t\t\tcompanyName: 'Actis Manufacturing Ltd., LLC',\n\t\t\t\tlocationId: '2137935',\n\t\t\t\tlocationName: 'ACTIS MANUFACTURING LLC',\n\t\t\t\taddress: {\n\t\t\t\t\taddressLine1: '4051 Freeport Pkwy Ste 400',\n\t\t\t\t\taddressLine2: '',\n\t\t\t\t\tcity: 'Grapevine',\n\t\t\t\t\tstate: 'TX',\n\t\t\t\t\tcountry: 'United States',\n\t\t\t\t\tzipCode: '76051-2316'\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n};\nexport const mockTmhCorporateAdminData= {\n\tfirstName: 'Priya',\n\tlastName: 'Renjith',\n\temail: 'priya.renjith@accenture.com'\n};\nexport const mockCustomeSupportLabels= {\n\thidden: true,\n\tusername: 'Subhash V',\n\twarningNote: 'You are currently viewing the portal as John Doe sees it.',\n\treadOnly: 'Read Only',\n\tendSession: 'End Session',\n\tendSessionNote: 'Are you sure you want to end the session?'\n};\nexport const mockModalState: ModalState = {\n\t\n\tcloseHidden: true,\n\thidden: true,\n\tlabel: '',\n\tcssClass: '',\n\tbuttons: [\n\t\t{ label: '', disabled: false, cssClass: 'btn-secondary' },\n\t\t{ label: '', disabled: false, cssClass: 'btn-black' }\n\t],\n\ttooltip: {\n\t\tcloseIcon: {\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t},\n\t\tcontent: ''\n\t}\n};\n\nexport const mockPrivacy = {\n\tupdatedPrivacy: {\n\t\tagreeButtonLabel: '',\n\t\theading: '',\n\t\tcontent: [],\n\t\tdisagreeButtonLabel: '',\n\t\tcreationDate: 0,\n\t\tinfoIcon: [{\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t}]\n\n\t}\n};\nexport const mockTerms = {\n\tupdatedTerms: {\n\t\tagreeButtonLabel: '',\n\t\theading: '',\n\t\tcontent: [],\n\t\tdisagreeButtonLabel: '',\n\t\tcreationDate: 0,\n\t\tinfoIcon: [{\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t}]\n\n\t}\n};\n\n","import { InjectionToken } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nexport interface AppConstantsMessage {\n category: string;\n tags: string[];\n value: string;\n}\nexport interface AppConstantsRef {\n messages: AppConstantsMessage[];\n}\nexport class AppConstants implements AppConstantsRef \n{\n\tprivate messages$: BehaviorSubject =\n\t\tnew BehaviorSubject([]);\n\tget messages(): AppConstantsMessage[] \n\t{\n\t\treturn this.messages$.value;\n\t}\n\tconstructor(values: AppConstantsRef) \n\t{\n\t\tthis.messages$.next(values.messages);\n\t}\n}\nconst appConstantsRef: AppConstantsRef = {\n\tmessages: [\n\t\t{\n\t\t\tcategory: 'Error',\n\t\t\ttags: [ 'default', 'unexpected' ],\n\t\t\tvalue: 'Unexpected error. Please try again later.'\n\t\t}\n\t]\n};\n\nexport const expAppConstants = new InjectionToken(\n\t'AppConstantsRef',\n\t{\n\t\tprovidedIn: 'root',\n\t\tfactory: () => new AppConstants(appConstantsRef)\n\t}\n);\n","/* eslint-disable max-lines */\nimport { ModalEvent } from 'kinetic-angular';\nimport { AdditionalLocationListResponse, SubmitRegistrationResponse, UploadFileLabels } from '../components/registration';\nimport { RegistrationRequestType } from '../services/shared/shared-enums';\nexport const registrationPageData = {\n\tlogo: { iconPath: '', altText: '' },\n\tlogoutLabel: '',\n\tstepLabel: '',\n\tpageHeading: '',\n\tpageDescription: '',\n\tprofileInfo: {\n\t\tlogo: { iconPath: '', altText: '' },\n\t\tstepNumber: '',\n\t\theading: '',\n\t\tdescription: '',\n\t\tfirstName: '',\n\t\tlastName: '',\n\t\temailAddress: '',\n\t\tphoneNumber: '',\n\t\tjobTitle: '',\n\t\tjobTitleAltText: '',\n\t\trequestedRole: { label: '', description: '' },\n\t\trequestedRoleAltText: ''\n\t},\n\tcompanyDetails: {\n\t\tlogo: { iconPath: '', altText: '' },\n\t\theading: '',\n\t\tdescription: '',\n\t\tstepNumber: '',\n\t\tcompanyName: '',\n\t\taddressLine1: '',\n\t\taddressLine2: '',\n\t\taddress2OptionalLabel: '',\n\t\tcountry: '',\n\t\tcity: '',\n\t\tstate: '',\n\t\tstateAltText: '',\n\t\tzipCode: '',\n\t\tcompanyNotFoundErrorModalDescription: '',\n\t companyNotFoundErrorModalHeader: ''\n\t},\n\ttermsConditions: {\n\t\tlogo: { iconPath: '', altText: '' },\n\t\theading: '',\n\t\tdescription: '',\n\t\tstepNumber: '',\n\t\tterms: {\n\t\t\tlabel: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }],\n\t\t\tmodal: {\n\t\t\t\theading: '',\n\t\t\t\tcloseIcon: { iconPath: '', altText: '' },\n\t\t\t\tcontent: [''],\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\tagreedButtonLabel: '',\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcheckboxText: ''\n\t\t\t}\n\t\t},\n\t\tprivacy: {\n\t\t\tlabel: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }],\n\t\t\tmodal: {\n\t\t\t\theading: '',\n\t\t\t\tcloseIcon: { iconPath: '', altText: '' },\n\t\t\t\tcontent: [''],\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\tagreedButtonLabel: '',\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcheckboxText: ''\n\t\t\t}\n\t\t}\n\t},\n\tprivacypolicy: {\n\t\tlogo: { iconPath: '', altText: '' },\n\t\theading: '',\n\t\tdescription: '',\n\t\tstepNumber: '',\n\t\tterms: {\n\t\t\tlabel: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }],\n\t\t\tmodal: {\n\t\t\t\theading: '',\n\t\t\t\tcloseIcon: { iconPath: '', altText: '' },\n\t\t\t\tcontent: [''],\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\tagreedButtonLabel: '',\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcheckboxText: ''\n\t\t\t}\n\t\t},\n\t\tprivacy: {\n\t\t\tlabel: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }],\n\t\t\tmodal: {\n\t\t\t\theading: '',\n\t\t\t\tcloseIcon: { iconPath: '', altText: '' },\n\t\t\t\tcontent: [''],\n\t\t\t\tagreeButtonLabel: '',\n\t\t\t\tagreedButtonLabel: '',\n\t\t\t\tdisagreeButtonLabel: '',\n\t\t\t\tcheckboxText: ''\n\t\t\t}\n\t\t}\n\t},\n\taccountType: {\n\t\tdescription: '',\n\t\theading: '',\n\t\tlogo: { iconPath: '', altText: '' },\n\t\tstepNumber: '',\n\t\tindividualAccount: {\n\t\t\tlabel: '',\n\t\t\tdescription1: '',\n\t\t\tdescription2: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }]\n\t\t},\n\t\tbusinessAccount: {\n\t\t\tlabel: '',\n\t\t\tdescription1: '',\n\t\t\tdescription2: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }]\n\t\t}\n\t},\n\tadditionalLocation: {\n\t\tlocationPageDescription: {\n\t\t\tdescription1: '',\n\t\t\tdescription2: '',\n\t\t\ttokenData: [{ name: '', text: '', url: '', isLink: '' }]\n\t\t},\n\t\theading1: '',\n\t\theadingOr: '',\n\t\theading2: {\n\t\t\tlabel: '',\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t},\n\t\tlogo: { iconPath: '', altText: '' },\n\t\tstepNumber: '',\n\t\tprimaryLocationHeading: '',\n\t\tselectLocationTableHeader: {\n\t\t\tcompanyName: '',\n\t\t\taddress: '',\n\t\t\tcountry: '',\n\t\t\tselectAll: ''\n\t\t},\n\t\tuploadSuccessText: '',\n\t\tuploadSuccessSubtext: ''\n\t},\n\tsubmitButton: '',\n\tcompanyError: {\n\t\tmessageMain: '',\n\t\tmessageSub: '',\n\t\tactionMessage: '',\n\t\tphoneNumber: {\n\t\t\tlabel: '',\n\t\t\tvalue: ''\n\t\t},\n\t\temail: {\n\t\t\tlabel: '',\n\t\t\tvalue: ''\n\t\t},\n\t\tcustomerServiceName: '',\n\t\taddress: '',\n\t\tcontactDealer: {\n\t\t\tlabel: '',\n\t\t\ticon: ''\n\t\t}\n\t},\n\tdomainInfo: {\n\t\theading: '',\n\t\tdescription: '',\n\t\tstepNumber: '',\n\t\tsubHeading: '',\n\t\tlogo: { iconPath: '', altText: '' },\n\t\tlabelPrefix: '',\n\t\tlabelSuffix: ''\n\t}\n};\nexport const errorCompanyInfo = {\n\tsuccess: true,\n\tmessage: 'Success',\n\tstatusCode: 200,\n\tdata: {\n\t\terrorMessage: 'Company\\'s information was not found in EIL system.',\n\t\tdealerInfo: {\n\t\t\tdealerName: 'Dealer1',\n\t\t\tphoneNumber: '000.000.0000',\n\t\t\temail: 'service@email.com',\n\t\t\taddress: '123 Equipment Ave, Durham, North Carolina 12345'\n\t\t}\n\t}\n};\n\nexport const successCompanyInfo = {\n\tsuccess: true,\n\tmessage: 'Success',\n\tstatusCode: 201,\n\tdata: { successMessage: 'Registration form submitted, Account is pending for approval from Administrator.' }\n};\nexport const registrationFormPayload = {\n\temail: 'user101@accenture.com',\n\tfirstName: 'User',\n\tlastName: 'Test',\n\tjobTitle: 'Purchasing',\n\tphoneNumber: '987654321',\n\taccountName: 'Accenture',\n\taddressLine1: '34A',\n\taddressLine2: 'Egdewater',\n\tcity: 'NewJersey',\n\tstate: 'NY',\n\tpostalCode: '07015',\n\trequestedRole: 'Default User',\n\tcrmPrefill: false,\n\tcountry: 'USA'\n};\nexport const registrationFormPayload1 = {\n\temail: 'user101@accenture.com',\n\tfirstName: 'User',\n\tlastName: 'Test',\n\tjobTitle: 'Purchasing',\n\tphoneNumber: '987654321',\n\taccountName: 'Accenture',\n\taddressLine1: '36A',\n\taddressLine2: 'Egdewater',\n\tcity: 'NewJersey',\n\tstate: 'NY',\n\tpostalCode: '07015',\n\trequestedRole: 'Default User',\n\tcrmPrefill: false,\n\tcountry: 'USA'\n};\nexport const registrationFormPayload2 = {\n\temail: 'user101@accenture.com',\n\tfirstName: 'User',\n\tlastName: 'Test',\n\tjobTitle: 'Purchasing',\n\tphoneNumber: '987654321',\n\taccountName: 'Accenture',\n\taddressLine1: '34A',\n\taddressLine2: 'EgdeWater',\n\tcity: 'NewJersey',\n\tstate: 'NY',\n\tpostalCode: '07015',\n\trequestedRole: 'Default User',\n\tcrmPrefill: false,\n\tcountry: 'USA'\n};\nexport const mockPrefillCompanyDetails = {\n\taddressLine1: '34A',\n\taddressLine2: 'Egdewater',\n\tcompanyName: 'Accenture',\n \tcountry: 'USA',\n\tcity: 'NewJersey',\n\tstate: 'NY',\n\tzipCode: '07015'\n};\nexport const prefillUserDetails = {\n\tcompanyDetails: {\n\t\taddressLine1: '',\n\t\taddressLine2: '',\n\t\tcountry: '',\n\t\tcompanyName: '',\n\t\tstate: '',\n\t\tzipCode: '',\n\t\tcity: ''\n\t},\n\tprofileInformation: {\n\t\tfirstName: '',\n\t\tlastName: '',\n\t\tphoneNumber: '',\n\t\tjobTitle: [{ label: '', id: '' }],\n\t\trequestedRole: [{\n\t\t\tdescription: '',\n\t\t\tid: '',\n\t\t\tname: ''\n\t\t}],\n\t\temail: ''\n\t},\n\ttempIsPrefilled: false,\n\tcrmPrefill: true\n};\nexport const prefillUserDetailsUsa = {\n\tcompanyDetails: {\n\t\taddressLine1: '',\n\t\taddressLine2: '',\n\t\tcountry: 'USA',\n\t\tcompanyName: '',\n\t\tstate: '',\n\t\tzipCode: '',\n\t\tcity: ''\n\t},\n\tprofileInformation: {\n\t\tfirstName: '',\n\t\tlastName: '',\n\t\tphoneNumber: '',\n\t\tjobTitle: [{ label: '', id: '' }],\n\t\trequestedRole: [{\n\t\t\tdescription: '',\n\t\t\tid: '',\n\t\t\tname: ''\n\t\t}],\n\t\temail: ''\n\t},\n\ttempIsPrefilled: false,\n\tcrmPrefill: true\n};\nexport const prefillUserDetailsCan = {\n\tcompanyDetails: {\n\t\taddressLine1: '',\n\t\taddressLine2: '',\n\t\tcountry: 'CA',\n\t\tcompanyName: '',\n\t\tstate: '',\n\t\tzipCode: '',\n\t\tcity: ''\n\t},\n\tprofileInformation: {\n\t\tfirstName: '',\n\t\tlastName: '',\n\t\tphoneNumber: '',\n\t\tjobTitle: [{ label: '', id: '' }],\n\t\trequestedRole: [{\n\t\t\tdescription: '',\n\t\t\tid: '',\n\t\t\tname: ''\n\t\t}],\n\t\temail: ''\n\t},\n\ttempIsPrefilled: false,\n\tcrmPrefill: true\n};\nexport const mockAdditionalLocationResponse: AdditionalLocationListResponse = {\n\tprimaryLocationInfo: {\n\t\tprimaryLocationGRID: '1234',\n\t\tadminLocationID: '16742',\n\t\ttopLevelGrid: '1234',\n\t\tcompanyName: 'TRACTOR SUPPLY',\n\t\taddressLine1: '123 Equipment Ave, Suite 444',\n\t\taddressLine2: '',\n\t\tcity: 'Durham',\n\t\tstate: 'TX',\n\t\tzipCode: '12345',\n\t\tcountry: 'US'\n\t},\n\tlocationList: [\n\t\t{ locationGRID: '1234', companyName: 'Company ABC', addressLine1: '123 Equipment Ave, Suite 000', city: 'Durham', state: 'TX', zipCode: '52633', country: 'US' },\n\t\t{ locationGRID: '1234', companyName: 'Company DEF', addressLine1: '123 Equipment Ave, Suite 111', city: 'Durham', state: 'NY', zipCode: '23432', country: 'USA' },\n\t\t{ locationGRID: '1234', companyName: 'Company XYZ', addressLine1: '123 Equipment Ave, Suite 333', city: 'Durham', state: 'TN', zipCode: '45645', country: 'CA' },\n\t\t{ locationGRID: '1234', companyName: 'Company XYZ', addressLine1: '123 Equipment Ave, Suite 222', city: 'Durham', state: 'NC', zipCode: '66645', country: 'CAN' }],\n\tpendingLocationDetails: {\n\t\toriginalFileName: 'abc.xlsx',\n\t\tupdatedFileName: 'xyz.xlsx'\n\t\t\t }\n};\nexport const mockAdditionalLocationEmptyResponse: AdditionalLocationListResponse = {\n\tprimaryLocationInfo: {\n\t\tprimaryLocationGRID: '',\n\t\tadminLocationID: '',\n\t\ttopLevelGrid: '',\n\t\tcompanyName: '',\n\t\taddressLine1: '',\n\t\taddressLine2: '',\n\t\tcity: '',\n\t\tstate: '',\n\t\tzipCode: '',\n\t\tcountry: ''\n\t},\n\tlocationList: [],\n\tpendingLocationDetails: {\n\t\toriginalFileName: '',\n\t\tupdatedFileName: ''\n\t\t }\n};\nexport const mockBusinessAccountSuccessResponse: SubmitRegistrationResponse = {\n\tregistrationStatus: 'approved',\n\trequestType: RegistrationRequestType.businessAdminUser,\n\tsuccessMessage: 'Submitted'\n};\nexport const mockBusinessUploadListLabel: UploadFileLabels =\n{\n\theading: 'Upload New Locations List',\n\tsubHeading: 'Location List Template',\n\tcontent: [\n\t\t{\n\t\t\tlabel: '',\n\t\t\tdescription: ''\n\t\t}\n\t],\n\tcloseIcon: { iconPath: '', altText: '' },\n\tdownload: {\n\t\tdownloadButton: 'Download Template',\n\t\terrorMessage: ''\n\t},\n\tcancel: 'Cancel',\n\tupload: 'Upload',\n\tclose: 'Close',\n\tuploadFile: {\n\t\tonLoadIcon: { iconPath: '', altText: '' },\n\t\terrorIcon: { iconPath: '', altText: '' },\n\t\tsuccessIcon: { iconPath: '', altText: '' },\n\t\tdragDropLabel: 'Drag & Drop file here',\n\t\torLabel: 'or',\n\t\tuploadButtons: {\n\t\t\tchooseFile: 'Choose File',\n\t\t\treplaceFile: 'Replace File',\n\t\t\ttryAgain: 'Try Again'\n\t\t},\n\t\tsuccess: 'Upload Submitted'\n\t},\n\terrorState:\n\t{\n\t\tmessages: [],\n\t\tid: '',\n\t\tstatusCode: 500,\n\t\timage: {\n\t\t\ticonPath: '',\n\t\t\taltText: ''\n\t\t}\n\t}\n};\nexport const mockFile1: File = {\n\tname: 'BusninessRequestAccount.csv',\n\tsize: 10423,\n\ttype: 'text/csv'\n} as unknown as File;\nexport const mockFile2: File = {\n\tname: 'Corporate_Admin_New Locations_List2.xlsx',\n\tsize: 10,\n\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml'\n} as unknown as File;\nexport const mockFile3: File = {\n\tname: 'Corporate_Admin_New Locations_List2.xlsx',\n\tsize: 100000,\n\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml'\n} as unknown as File;\nexport const mockFile4: File = {\n\tname: 'BusninessRequestAccount.csv',\n\tsize: 102500,\n\ttype: 'text/csv'\n} as unknown as File;\nexport const mockEvent: ModalEvent = {\n\tstate: {\n\t\thidden: false,\n\t\tlabel: 'Upload New Locations List',\n\t\tbuttons: [\n\t\t\t{ label: 'Cancel', disabled: false, cssClass: 'btn-secondary' },\n\t\t\t{ label: 'Upload', disabled: false, cssClass: 'btn-black' }\n\t\t],\n\t\tcssClass: 'businessRegistrationUploadModal'\n\t},\n\tcta: { label: '', disabled: false, cssClass: 'btn-black' }\n};\n\nexport const customerSupportLabels = {\n\tpageheading: 'Impersonate User',\n\tstartCTA: 'Start Session',\n\ttitle: 'User Details',\n\temail: 'Email Address',\n\tdescription: 'Enter the email id of the user you want to impersonate, which allows you to access and view the user’s account. You won’t be able to make any changes to their permissions, or data.',\n\tstartSession: 'Are you sure you want to start an impersonating session for the following user?',\n\twarningNote: 'You are currently viewing the portal as',\n\treadOnly: 'Read only view.',\n\tendSession: 'End Session',\n\tendSessionNote: 'Are you sure you want to end this impersonating session?',\n\tendSessionCTA: 'No, Continue Session',\n\tcontinueSessionCTA: 'Yes, End Session'\n};\n","/* eslint-disable complexity */\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Route, Router, UrlTree } from '@angular/router';\nimport { AuthState, ProfileLocation, RoutingFunction, TMHCorporateAdminAuthState } from '../components/auth/definitions';\nimport { CommonErrorService } from '../components/common-error/common-error.service';\nimport { AppConstants, expAppConstants } from '../constants/portal-constants';\nimport { ApiResponse } from '../definitions/api-response.interface';\nimport { ApiService } from '../services/api/api.service';\nimport { UserRegistrationStatus } from '../services/api/definitions';\nimport { LocalStorageService } from '../services/local-storage/local-storage.service';\nimport { LoggerService } from '../services/logger/logger.service';\nimport { SharedService } from '../services/shared/shared.service';\nimport { SharedUtilService } from '../services/shared/shared-util.service';\nimport { AuthFactory } from '../components/auth';\nimport { ApplicationPath, ErrorMessage } from '../services/shared/shared-enums';\nimport { SharedApiService } from '../services/shared/shared-api-call.service';\n\n@Injectable({ providedIn: 'root' })\nexport class AccessGuard implements CanActivate \n{\n\tuser:AuthState= AuthFactory.buildState();\n\tconstructor(private router: Router,\n private errorService: CommonErrorService,\n private apiService: ApiService,\n private loggerService: LoggerService,\n\t\tprivate localStorageService: LocalStorageService,\n\t\tprivate sharedService: SharedService,\n\t\tprivate sharedUtilService: SharedUtilService,\n\t\tprivate sharedApiService: SharedApiService,\n @Inject(expAppConstants) readonly appConstantsRef: AppConstants)\n\t{ \n\t}\n\n\tasync canActivate(route:ActivatedRouteSnapshot): Promise\n\t{\n\t\ttry \n\t\t{\t\t\t\n\t\t\tconst status: ApiResponse = await this.getUserRegistrationStatus();\n\t\t\tconst responseObject = status.data;\n\t\t\tresponseObject.registrationStatus = responseObject.registrationStatus === 'pending_approval' && responseObject.orgAdminPending? 'pending_business_approval' : responseObject.registrationStatus;\n\t\t\tconst routingFunction: RoutingFunction | undefined = this.sharedUtilService.getRoutingFunction(responseObject);\n\t\t\tconst isTmhCustomerSupportRole = this.localStorageService.getCustomerToDashboard();\n\t\t\treturn new Promise((resolve) => \n\t\t\t{\n\t\t\t\tif (routingFunction !== undefined) \n\t\t\t\t{\n\t\t\t\t\tif(this.sharedUtilService.isCustomerSupportUser(responseObject, isTmhCustomerSupportRole))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sharedUtilService.isTmhCustomerSupportRole = true;\n\t\t\t\t\t\tthis.localStorageService.setItems('isTmhCustomerSupportRole', 'true');\n\t\t\t\t\t\treturn resolve(this.handleTmhCustomerSupportRouting(routingFunction, route));\n\t\t\t\t\t}\n\t\t\t\t\tif(this.sharedUtilService.isTmhCorporateAdminUser(responseObject, isTmhCustomerSupportRole))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sharedUtilService.isTmhCorporateAdmin = true;\n\t\t\t\t\t\tthis.localStorageService.setItems('isTmhCorporateAdmin', 'true');\n\t\t\t\t\t\treturn resolve(this.handleTmhCorporateAdminRouting(routingFunction, route));\n\t\t\t\t\t}\n\t\t\t\t\telse if (responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus === 'approved' || isTmhCustomerSupportRole) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.localStorageService.setItems('isPortalUser', 'true');\n\t\t\t\t\t\tthis.handleTmhNonCorporateAdminRouting(route, isTmhCustomerSupportRole);\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t}\n\t\t\t\t\telse \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.handlePendingAndNotApproved(responseObject, routingFunction);\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\t\n\t\tcatch (error: any) \n\t\t{\n\t\t\treturn new Promise((resolve) => \n\t\t\t{\n\t\t\t\tthis.redirectOnError(error);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t\t\t\t\n\t\t}\n\t\t\t\n\t}\n\n\tprivate handlePendingAndNotApproved(response : UserRegistrationStatus, routingFunction: RoutingFunction | undefined)\n\t{\n\t\tthis.sharedUtilService.handlePendingAndNotApprovedState(response);\n\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t}\n\n\tprivate redirectOnError(error: HttpErrorResponse) \n\t{\n\t\tconst errorMessage =\n error?.error?.statusCode === 401\n \t? error.error.message\n \t: this.appConstantsRef.messages.filter(\n \t\t(x) => x.category === 'Error' && x.tags.includes('default')\n \t)[0]?.value;\n\t\tthis.sharedUtilService.triggerErrorService(errorMessage, error?.error?.statusCode, error?.error?.id);\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.unAuthError);\n\t}\n\n\tprivate async getUserRegistrationStatus(): Promise \n\t{\n\t\ttry \n\t\t{\n\t\t\treturn await this.apiService.getUserRegistrationStatus();\n\t\t}\n\t\tcatch (error) \n\t\t{\n\t\t\tthis.loggerService.log('Error redirecting to logout', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tgetLoggedInUserDetails() \n\t{\n\t\tthis.apiService.getLoggedInUserObs().subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\n\t\t\t\tconst user = (res.data);\n\t\t\t\tif (user)\n\t\t\t\t{\n\t\t\t\t\tthis.user = user;\n\t\t\t\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () =>\n\t\t\t{\n\t\t\t\tthis.sharedUtilService.triggerErrorService(ErrorMessage.commonError, 100, '401');\n\t\t\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t\t\t}\n\t\t});\n\t\tthis.apiService.getLoggedInUserLocations().subscribe({\n\t\t\tnext: (res: ApiResponse) =>\n\t\t\t{\n\t\t\t\tconst locations:ProfileLocation = (res.data);\n\t\t\t\tif (locations)\n\t\t\t\t{\n\t\t\t\t\tthis.localStorageService.setLoggedInUserLocation(this.localStorageService.striginifyJSON(locations));\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () =>\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t});\n\t}\n\tisRouteMatchingPath(route: Route | null, applicationPath: string)\n\t{\n\t\treturn !!(route?.path?.includes(applicationPath.slice(1)));\n\t}\n\thandleTmhCorporateAdminRouting(routingFunction: RoutingFunction, route: ActivatedRouteSnapshot)\n\t{\n\t\tthis.getCorporateAdminDetails(routingFunction);\n\t\tif(this.isRouteMatchingPath(route.routeConfig, ApplicationPath.customerportal))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\telse if(!this.isRouteMatchingPath(route.routeConfig, ApplicationPath.authError))\n\t\t{\n\t\t\tthis.handleCommonError(ErrorMessage.unauthorizedError, 401, '');\n\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\thandleTmhCustomerSupportRouting(routingFunction: RoutingFunction, route: ActivatedRouteSnapshot)\n\t{\n\t\tthis.getCustomerSupportDetails(routingFunction);\n\t\tif(this.isRouteMatchingPath(route.routeConfig, ApplicationPath.customerSupport))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\telse if(!this.isRouteMatchingPath(route.routeConfig, ApplicationPath.authError))\n\t\t{\n\t\t\tthis.handleCommonError(ErrorMessage.unauthorizedError, 401, '');\n\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\tprivate getCorporateAdminDetails(routingFunction: RoutingFunction | undefined)\n\t{\n\t\tif(!this.localStorageService.getTmhCorporateAdminDetails())\n\t\t\tthis.getLoggedInTmhCorporateAdminDetails(routingFunction);\n\t}\n\tgetCustomerSupportDetails(routingFunction: RoutingFunction | undefined)\n\t{\n\t\tif(!this.localStorageService.getTmhCustomerSupportDetails())\n\t\t\tthis.getLoggedInTmhCustomerSupportDetails(routingFunction);\n\t}\n\thandleTmhNonCorporateAdminRouting(route: ActivatedRouteSnapshot, isTmhCustomerSupportRole: boolean = false)\n\t{\n\t\tif(!this.localStorageService.getLoggedInUser())\n\t\t\tthis.getLoggedInUserDetails();\n\t\tif(this.isRouteMatchingPath(route.routeConfig, ApplicationPath.customerportal) && !isTmhCustomerSupportRole)\n\t\t{\t\n\t\t\tthis.handleCommonError(ErrorMessage.unauthorizedError, 401, '');\n\t\t}\n\t}\n\tgetLoggedInTmhCorporateAdminDetails(routingFunction : RoutingFunction | undefined)\n\t{\n\t\tthis.apiService.getLoggedInTmhCorporateAdminDetails().subscribe({ next: (res)=>\n\t\t{\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tconst user = (res.data);\n\t\t\t\tthis.sharedApiService.mapTmhCorporateAdminUserSession(user);\n\t\t\t\tif(this.localStorageService.getTmhCorporateAdminDetails())\n\t\t\t\t{\n\t\t\t\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\tgetLoggedInTmhCustomerSupportDetails(routingFunction : RoutingFunction | undefined)\n\t{\n\t\tthis.apiService.getLoggedInTmhCustomerSupportDetails().subscribe({ next: (res)=>\n\t\t{\n\t\t\tif(res)\n\t\t\t{\n\t\t\t\tconst user = (res.data);\n\t\t\t\tthis.sharedApiService.mapTmhCustomerSupportUserSession(user);\n\t\t\t\tif(this.localStorageService.getTmhCustomerSupportDetails())\n\t\t\t\t{\n\t\t\t\t\tthis.sharedUtilService.handleRoutingFunction(routingFunction, this.router);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.handleCommonError(ErrorMessage.commonError, 100, '401');\n\t\t\t}\n\t\t}\n\t\t});\n\t}\n\thandleCommonError(status: string, statusCode: number, id:string)\n\t{\n\t\tthis.sharedUtilService.triggerErrorService(status, statusCode, id);\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t}\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { CanActivate, Router, UrlTree } from '@angular/router';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../../services/api/api.service';\nimport { LoggerService } from '../../services/logger/logger.service';\nimport { UserRegistrationStatus } from '../../services/api/definitions';\nimport { RoutingFunction } from '../../components/auth';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { ApplicationPath } from '../../services/shared/shared-enums';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { AppConstants, expAppConstants } from '../../constants/portal-constants';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AuthGuard implements CanActivate \n{\n\tconstructor(private apiService: ApiService, private loggerService: LoggerService, private sharedUtilService: SharedUtilService, private router: Router, private localStorageService: LocalStorageService,\n\t\tprivate sharedService: SharedService, @Inject(expAppConstants) readonly appConstantsRef: AppConstants)\n\t{}\n\tasync canActivate(): Promise\n\t{\n\t\ttry \n\t\t{\n\t\t\tconst status: ApiResponse = await this.getUserRegistrationStatus();\n\t\t\tconst responseObject = status.data;\n\t\t\tresponseObject.registrationStatus = responseObject.registrationStatus === 'pending_approval' && responseObject.orgAdminPending? 'pending_business_approval' : responseObject.registrationStatus;\n\t\t\tconst routingFunction: RoutingFunction | undefined = this.sharedUtilService.getRoutingFunction(responseObject);\n\t\t\tthis.setUserStatusInStorage(responseObject);\n\t\t\treturn new Promise((resolve) => \n\t\t\t{\n\t\t\t\tif (routingFunction !== undefined) \n\t\t\t\t{\n\t\t\t\t\tif (this.sharedUtilService.isTmhCorporateAdminUser(responseObject) || !this.checkRegistrationStatus(responseObject)) \n\t\t\t\t\t{\n\t\t\t\t\t\tthis.router.navigate([ApplicationPath.authentication]);\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.checkRegistrationStatus(responseObject) && !this.sharedUtilService.isTmhCorporateAdminUser(responseObject)) \n\t\t\t\t\t{\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\t\n\t\tcatch (error: any) \n\t\t{\n\t\t\treturn new Promise((resolve) => \n\t\t\t{\n\t\t\t\tthis.redirectOnError(error);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t\t}\n\t}\n\tcheckRegistrationStatus(responseObject: UserRegistrationStatus)\n\t{\n\t\treturn !!(responseObject.hasOwnProperty('registrationStatus') && responseObject.registrationStatus !== undefined && [ null, 'pending_approval', 'pending_business_approval', 'in_progress' ].includes(responseObject.registrationStatus));\n\t}\n\tprivate async getUserRegistrationStatus(): Promise \n\t{\n\t\ttry \n\t\t{\n\t\t\treturn await this.apiService.getUserRegistrationStatus();\n\t\t}\n\t\tcatch (error) \n\t\t{\n\t\t\tthis.loggerService.log('Error redirecting to logout', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate redirectOnError(error: HttpErrorResponse) \n\t{\n\t\tconst errorMessage =\n error?.error?.statusCode === 401\n \t? error.error.message\n \t: this.appConstantsRef.messages.filter(\n \t\t(x) => x.category === 'Error' && x.tags.includes('default')\n \t)[0]?.value;\n\t\tthis.sharedUtilService.triggerErrorService(errorMessage, error?.error?.statusCode, error?.error?.id);\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.unAuthError);\n\t}\n\tsetUserStatusInStorage(responseObject: UserRegistrationStatus)\n\t{\n\t\tif(responseObject.hasOwnProperty('registrationStatus') && (responseObject.registrationStatus === undefined || [ null, 'approved', 'pending_approval', 'pending_business_approval', 'in_progress' ].includes(responseObject.registrationStatus)))\n\t\t\tthis.localStorageService.setRegistrationStatus(responseObject.registrationStatus ?? 'loggedIn');\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate } from '@angular/router';\nimport { RegistrationService } from '../components/registration';\n\n@Injectable({ providedIn: 'root' })\nexport class LandingPageGuard implements CanActivate \n{\n\n\tconstructor(private router: Router, private registrationService: RegistrationService) { }\n\n\tcanActivate(): boolean \n\t{\n\t\tif (localStorage.getItem('userDetails') || this.registrationService.isSavingIndividualUser || localStorage.getItem('tmhCorporateAdminDetails') || localStorage.getItem('tmhCustomerSupportDetails')) \n\t\t{\n\t\t\tthis.registrationService.isSavingIndividualUser = false;\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.router.navigate(['/']);\n\t\treturn false;\n\t}\n}\n","\nimport { Inject, Injectable } from '@angular/core';\nimport { CanActivate, Router, UrlTree } from '@angular/router';\nimport { Image } from '../services/shared/shared-interface';\nimport { CommonErrorService } from '../components/common-error';\nimport { expAppConstants, AppConstants } from '../constants/portal-constants';\nimport { ApplicationPath, ErrorMessage } from '../services/shared/shared-enums';\nimport { SharedUtilService } from '../services/shared/shared-util.service';\nimport { SharedService } from '../services/shared/shared.service';\nimport { LocalStorageService } from '../services/local-storage/local-storage.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class LocationAccessGuard implements CanActivate \n{\n\tconstructor(private sharedService: SharedService,\n\t\tprivate router: Router,\n private errorService: CommonErrorService,\n\t\tprivate sharedUtilService: SharedUtilService,\n\t\tprivate localStorageService: LocalStorageService,\n\t\t@Inject(expAppConstants) readonly appConstantsRef: AppConstants) \n\t{\n\t\t\n\t}\n\t\n\tasync canActivate(): Promise\n\t{\n\t\tconst isTmhCustomerSupportRole = this.localStorageService.getCustomerToDashboard();\n\t\tif(this.localStorageService.getTmhCorporateAdminDetails() === null || isTmhCustomerSupportRole)\n\t\t{\n\t\t\treturn new Promise((resolve) =>\n\t\t\t{\n\t\t\t\tthis.sharedService.getLoggedInUseLocationsIdsObs().subscribe((locationId: string[]) => \n\t\t\t\t{\n\t\t\t\t\tif (locationId && locationId.length > 0) \n\t\t\t\t\t{\n\t\t\t\t\t\tresolve(true);\n\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.triggerErrorService(ErrorMessage.noLocations, 100, '');\n\t\t\t\t\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tprivate triggerErrorService(status: string, statusCode: number, id:string) \n\t{\n\t\tconst image: Image = this.sharedUtilService.setImageBasedOnStatusCode(statusCode);\n\t\tthis.errorService.updateState({ messages: [{ message: status }, { message: this.sharedService.updateGetAdminEmail(this.sharedUtilService.getMessage()), cssClass: 'error-contact-section' }], statusCode: statusCode, id: id, image: image });\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class LoginGuard implements CanActivate \n{\n\n\tconstructor(private router: Router) { }\n\n\tcanActivate(): boolean \n\t{\n\t\tif (localStorage.getItem('userDetails')) \n\t\t{\n\t\t\tthis.router.navigateByUrl('/app/dashboard');\n\t\t\treturn false;\n\t\t}\n\t\telse if(localStorage.getItem('userStatus'))\n\t\t{\n\t\t\tthis.router.navigateByUrl('/registration');\n\t\t}\n\t\treturn true;\n\t}\n}\n","import { CanDeactivate } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface ComponentCanDeactivate {\n canDeactivate: () => boolean | Observable;\n}\n\n@Injectable( { providedIn: 'root' } )\nexport class PendingChangesGuard implements CanDeactivate \n{\n\tcanDeactivate(component: ComponentCanDeactivate): boolean | Observable \n\t{\n\t\treturn component.canDeactivate();\n\t}\n}\n","import { AuthenticationService } from './../../services/authentication/authentication.service';\nimport { Inject, Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { RoutePermissionAction, RoutePermissionCategory, RoutePermissionGroup, RoutePermissions } from './definitions';\nimport { get as lodashGet, noop as lodashNoop } from 'lodash';\nimport { AppConstants, expAppConstants } from '../../constants/portal-constants';\nimport { Image } from '../../services/shared/shared-interface';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { SharedService } from '../../services/shared/shared.service';\nimport { CommonErrorService } from '../../components/common-error';\nimport { SharedUtilService } from '../../services/shared/shared-util.service';\nimport { accountManagerRoleId, individualUserPermissionMessage, individualUserRoleId } from '../../services/shared/shared-constants';\nimport { ApplicationPath } from '../../services/shared/shared-enums';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class PermissionGuard implements CanActivate\n{\n\tconstructor(\n private authenticationService: AuthenticationService,\n private router:Router,\n\tprivate sharedService: SharedService,\n\tprivate localStorageService: LocalStorageService,\n\tprivate errorService: CommonErrorService,\n\tprivate sharedUtilService: SharedUtilService,\n\t@Inject(expAppConstants) readonly appConstantsRef: AppConstants) \n\t{}\n\n\tcanActivate(route: ActivatedRouteSnapshot): Observable\n\t{\n\t\tconst isTmhCustomerSupportRole = this.localStorageService.getCustomerToDashboard();\n\t\tif(this.localStorageService.getTmhCorporateAdminDetails() === null || isTmhCustomerSupportRole)\n\t\t{\n\t\t\treturn new Observable(subscriber =>\n\t\t\t{\n\t\t\t\tconst routePermissionsPath: string = 'data.permissions';\n\t\t\t\tconst defaultPermissions: RoutePermissionGroup = { category: 'NONE' as RoutePermissionCategory, action: 'NONE' as RoutePermissionAction };\n\t\t\t\tconst group: RoutePermissionGroup = lodashGet(route, routePermissionsPath, defaultPermissions);\n\t\t\t\tthis.authenticationService.getRoutePermissions(route).subscribe({\n\t\t\t\t\tnext: (response: RoutePermissions) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tconst actions: RoutePermissionAction[] = response.actions;\n\t\t\t\t\t\tconst hasAccess: boolean = actions.includes(group.action) || false;\n\t\t\t\t\t\thasAccess ? this.authenticationService.setRoutePermissions(group, { category: group.category, actions }) : lodashNoop();\n\t\t\t\t\t\tif(this.isAccountManagerRole(route.url[0]?.path))\n\t\t\t\t\t\t\tthis.triggerErrorService('Permission Required', 401, '000026');\n\t\t\t\t\t\tsubscriber.next(hasAccess);\n\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t},\n\t\t\t\t\terror: (error: HttpErrorResponse) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.redirectOnError(error);\n\t\t\t\t\t\tsubscriber.next(false);\n\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\treturn of(false);\n\t}\n\n\tisAccountManagerRole(url: string): boolean\n\t{\n\t\tif(this.sharedService.getRoleId() === accountManagerRoleId)\n\t\t{\n\t\t\tif(url?.includes('adduser'))\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate redirectOnError(error: HttpErrorResponse) \n\t{\n\t\tthis.triggerErrorService('Permission Required', 401, error?.error?.id);\n\t}\n\tprivate triggerErrorService(status: string, statusCode: number, id:string) \n\t{ \n\t\tconst image: Image = this.sharedUtilService.setImageBasedOnStatusCode(statusCode);\n\t\tconst roleId = this.sharedService.getRoleId();\n\t\tconst contactMessage: string = (roleId === individualUserRoleId) ? individualUserPermissionMessage :\n\t\t\t(roleId === accountManagerRoleId) ? '' : this.sharedService.updateGetAdminEmail(this.sharedUtilService.getMessage()) + '.';\n\t\tthis.errorService.updateState({ messages: [{ message: status }, { message: contactMessage, cssClass: 'error-contact-section' }], statusCode: statusCode, id: id, image: image });\n\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t}\n}\n","/* eslint-disable no-console */\n/* eslint-disable no-comments/disallowComments */\n/**\n * This file contains authentication parameters. Contents of this file\n * is roughly the same across other MSAL.js libraries. These parameters\n * are used to initialize Angular and MSAL Angular configurations in\n * in app.module.ts file.\n */\n\nimport { InjectionToken } from '@angular/core';\nimport {\n\tLogLevel,\n\tConfiguration,\n\tBrowserCacheLocation\n} from '@azure/msal-browser';\nimport { environment } from '../../environments/environment';\nimport { B2CPolicies } from '../../environments/interfaces/environment.interface';\n\nconst isIE =\n\twindow.navigator.userAgent.indexOf('MSIE ') > -1 ||\n\twindow.navigator.userAgent.indexOf('Trident/') > -1;\n\nconst loggerLevel: number = environment.production ? LogLevel.Error : LogLevel.Info;\n/**\n * Enter here the user flows and custom policies for your B2C application,\n * To learn more about user flows, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\n * To learn more about custom policies, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\n */\nexport const b2cPolicies: B2CPolicies = environment.b2cPolicies;\n\n/**\n * Configuration object to be passed to MSAL instance on creation.\n * For a full list of MSAL.js configuration parameters, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md\n */\nexport const msalConfig: Configuration = {\n\tauth: {\n\t\tclientId: environment.clientId, // This is the ONLY mandatory field that you need to supply.\n\t\tauthority: b2cPolicies.authorities.signUpSignIn.authority, // Defaults to \"https://login.microsoftonline.com/common\"\n\t\tknownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\n\t\tredirectUri: '/auth', // Points to window.location.origin. You must register this URI on Azure portal/App Registration.\n\t\tpostLogoutRedirectUri: '/', // Indicates the page to navigate after logout.\n\t\tnavigateToLoginRequestUrl: false // If \"true\", will navigate back to the original request location before processing the auth code response.\n\t},\n\tcache: {\n\t\tcacheLocation: BrowserCacheLocation.LocalStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\n\t\tstoreAuthStateInCookie: isIE // Set this to \"true\" if you are having issues on IE11 or Edge\n\t},\n\tsystem: {\n\t\tloggerOptions: {\n\t\t\tloggerCallback() {},\n\t\t\tlogLevel: loggerLevel,\n\t\t\tpiiLoggingEnabled: false\n\t\t}\n\t}\n};\n\n/**\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\n */\nexport interface ProtectedResources {\n\tendpoint: string;\n\tscopes: Array;\n\n}\nexport const protectedResources: ProtectedResources[] = [\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/user/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/user/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/role/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/equipment/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/myfleet/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/notification/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/auth`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/getEilTruck/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/getServiceHistory`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/getFinancials`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/aem/headers`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/aemfleetpage/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/aem-user-management/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/aem-user-management`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/service-history/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/order/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/dashboard/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/service-management/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/account/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/tips/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/business-account/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/aem-business-account`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/equipment/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v2/myquotes/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/account-management/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/aem-alert-banner`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/aemquotes/quote-content-block`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/aeminsights/insight-content-block`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/myinsights/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/domain/*`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/v1/aem-location-access-management`,\n\t\tscopes: [environment.scope.read]\n\t},\n\t{\n\t\tendpoint: `${environment.baseUrl}v0/aem/get-service-history-count`,\n\t\tscopes: [environment.scope.read]\n\t}\n];\n\n/**\n * Scopes you add here will be prompted for user consent during sign-in.\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\n * For more information about OIDC scopes, visit:\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\n */\nexport interface LoginRequest {\n\tscopes: Array;\n}\nexport const loginRequest: LoginRequest = {\n\tscopes: []\n};\n\nexport interface AuthConfigRef {\n\treadonly b2cPolicies: B2CPolicies;\n\treadonly msalConfig: Configuration;\n\treadonly protectedResources: ProtectedResources[];\n\treadonly loginRequest: LoginRequest;\n}\nexport class AuthConfig implements AuthConfigRef\n{\n\tprivate pB2cPolicies: B2CPolicies;\n\tget b2cPolicies(): B2CPolicies\n\t{\n\t\treturn this.pB2cPolicies;\n\t}\n\tprivate pMsalConfig: Configuration;\n\tget msalConfig(): Configuration\n\t{\n\t\treturn this.pMsalConfig;\n\t}\n\tprivate pProtectedResources: ProtectedResources[];\n\tget protectedResources(): ProtectedResources[]\n\t{\n\t\treturn this.pProtectedResources;\n\t}\n\tprivate pLoginRequest: LoginRequest;\n\tget loginRequest(): LoginRequest\n\t{\n\t\treturn this.pLoginRequest;\n\t}\n\n\tconstructor(configRef: AuthConfigRef)\n\t{\n\t\tthis.pB2cPolicies = configRef.b2cPolicies;\n\t\tthis.pMsalConfig = configRef.msalConfig;\n\t\tthis.pProtectedResources = configRef.protectedResources;\n\t\tthis.pLoginRequest = configRef.loginRequest;\n\t}\n}\n\nexport const expAuthConfig = new InjectionToken('AuthConfigRef', {\n\tprovidedIn: 'root',\n\tfactory: () =>\n\t\tnew AuthConfig({\n\t\t\tb2cPolicies,\n\t\t\tmsalConfig,\n\t\t\tprotectedResources,\n\t\t\tloginRequest\n\t\t})\n});\n","import {\n\tAnalyticsEnvironmentConfig,\n\tB2CPolicies,\n\tEnvironmentName,\n\tEnvironmentRef,\n\tScopes\n} from '../../environments/interfaces/environment.interface';\nimport { environment } from '../../environments/environment';\nimport { InjectionToken } from '@angular/core';\nimport { Endpoints } from '../../environments/interfaces/endpoints/endpoints.interface';\n\nexport class Environment implements EnvironmentRef\n{\n\tget production(): boolean\n\t{\n\t\treturn this.envRef.production;\n\t}\n\tget baseUrl(): string\n\t{\n\t\treturn this.envRef.baseUrl;\n\t}\n\tget env(): EnvironmentName\n\t{\n\t\treturn this.envRef.env;\n\t}\n\tget azureMapsApiKey(): string \n\t{\n\t\treturn this.envRef.azureMapsApiKey;\n\t}\n\tget endpoints(): Endpoints\n\t{\n\t\treturn this.envRef.endpoints;\n\t}\n\tget b2cPolicies(): B2CPolicies\n\t{\n\t\treturn this.envRef.b2cPolicies;\n\t}\n\tget clientId(): string\n\t{\n\t\treturn this.envRef.clientId;\n\t}\n\tget scope(): Scopes\n\t{\n\t\treturn this.envRef.scope;\n\t}\n\tget aemBaseUrl(): string\n\t{\n\t\treturn this.envRef.aemBaseUrl;\n\t}\n\tget appWalkmeUrl(): string\n\t{\n\t\treturn this.envRef.appWalkmeUrl;\n\t}\n\tget buyPartsUrl(): string\n\t{\n\t\treturn this.envRef.buyPartsUrl;\n\t}\n\tget requestServiceUrl(): string\n\t{\n\t\treturn this.envRef.requestServiceUrl;\n\t}\n\tget manageFinancingUrl(): string\n\t{\n\t\treturn this.envRef.manageFinancingUrl;\n\t}\n\n\tget analytics(): AnalyticsEnvironmentConfig\n\t{\n\t\treturn this.envRef.analytics;\n\t}\n\n\tget openContactFormUrl(): string\n\t{\n\t\treturn this.envRef.openContactFormUrl;\n\t}\n\n\tget requestServiceEquipmentDetails(): string\n\t{\n\t\treturn this.envRef.requestServiceEquipmentDetails;\n\t}\n\n\tget warrantyPromoBannerUrl(): string\n\t{\n\t\treturn this.envRef.warrantyPromoBannerUrl;\n\t}\n\n\tget buyPartsPromoBannerUrl(): string\n\t{\n\t\treturn this.envRef.buyPartsPromoBannerUrl;\n\t}\n\tget shopDeliveryAddressUrl(): string\n\t{\n\t\treturn this.envRef.shopDeliveryAddressUrl;\n\t}\n\tget zendeskChatbotUrl(): string\n\t{\n\t\treturn this.envRef.zendeskChatbotUrl;\n\t}\n\tconstructor(readonly envRef: EnvironmentRef) {}\n}\n\nexport const expEnvironmentRef = new InjectionToken(\n\t'EnvironmentRef',\n\t{\n\t\tprovidedIn: 'root',\n\t\tfactory: () => new Environment(environment)\n\t}\n);\n","import { DOCUMENT } from '@angular/common';\nimport { inject, InjectionToken } from '@angular/core';\n\nexport const windowInjectionToken = new InjectionToken(\n\t'An abstraction over global window object',\n\t{\n\t\tfactory: () =>\n\t\t{\n\t\t\tconst { defaultView } = inject(DOCUMENT);\n\n\t\t\tif (!defaultView)\n\t\t\t{\n\t\t\t\tthrow new Error('Window is not available');\n\t\t\t}\n\n\t\t\treturn defaultView;\n\t\t}\n\t}\n);\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { LocalStorageService } from '../services/local-storage/local-storage.service';\n\n@Injectable()\nexport class TimeZoneInterceptor implements HttpInterceptor \n{\n\n\tconstructor(private readonly localStorageService: LocalStorageService) {}\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, complexity\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> \n\t{\n\t\tconst timeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\tif (timeZone !== '' && timeZone !== null) \n\t\t{\n\t\t\trequest = request.clone({\n\t\t\t\tsetHeaders: { ClientTimeZone: timeZone }\n\t\t\t});\n\t\t}\n\t\tconst lang: string | null = this.localStorageService.getLanguage();\n\t\tif(lang !== '' && lang !== null)\n\t\t{\n\t\t\trequest = request.clone({\n\t\t\t\tsetHeaders: { language: lang }\n\t\t\t});\n\t\t}\n\t\tconst isImpersonatedUser: string | null = this.localStorageService.getImpersonateUser();\n\t\tif(isImpersonatedUser !== '' && isImpersonatedUser !== null)\n\t\t{\n\t\t\tconst parsedData = JSON.parse(isImpersonatedUser);\n\t\t\trequest = request.clone({\n\t\t\t\tsetHeaders: { impersonateuser: parsedData.email }\n\t\t\t});\n\t\t}\n\n\t\treturn next.handle(request);\n\t}\n}\n","import { ModalState } from 'kinetic-angular';\nimport { LeaveConfirmModalState } from '../services/shared/shared-interface';\n\nexport class ConfirmLeavePageFactory\n{\n\tpublic static buildconfirmLeavePageModalState(): ModalState \n\t{\n\t\treturn {\n\t\t\thidden: true,\n\t\t\tlabel: '',\n\t\t\tbuttons: [\n\t\t\t\t{ label: '', disabled: false, cssClass: 'btn-secondary', iconPath: '' },\n\t\t\t\t{ label: '', disabled: false, cssClass: 'btn-black' }\n\t\t\t],\n\t\t\tcssClass: 'confirmLeavePageModal'\n\t\t};\n\t}\n\n\tpublic static buildConfirmLeavePageAEMLabels(): LeaveConfirmModalState \n\t{\n\t\treturn {\n\t\t\theading: '',\n\t\t\theadingSub: '',\n\t\t\tstay: '',\n\t\t\tleave: '',\n\t\t\tcloseIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t}\n\t\t};\n\t}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ModalState } from 'kinetic-angular';\nimport { ToastrService } from 'ngx-toastr';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { ApiService } from '../services/api/api.service';\nimport { LoggerService } from '../services/logger/logger.service';\nimport { LeaveConfirmModalState } from '../services/shared/shared-interface';\nimport { ConfirmLeavePageFactory } from './leave-page-confirm-popup-factory';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ConfirmLeavePageService\n{\n\tprivate readonly modalConfirmation$ = new Subject();\n\tprivate readonly state$: BehaviorSubject = new BehaviorSubject(ConfirmLeavePageFactory.buildConfirmLeavePageAEMLabels());\n\tleaveConfirmModalState: ModalState = ConfirmLeavePageFactory.buildconfirmLeavePageModalState();\n\n\tget state(): LeaveConfirmModalState\n\t{\n\t\treturn this.state$.value;\n\t}\n\n\tget stateChanged(): Observable \n\t{\n\t\treturn this.state$.asObservable();\n\t}\n\n\tconstructor(\n public apiService: ApiService,\n private readonly loggerService: LoggerService,\n private readonly toastr: ToastrService\n\t){}\n\n\tpublic updateState(value: LeaveConfirmModalState): void \n\t{\n\t\tthis.state$.next(value);\n\t}\n\n\tpublic setModalSelectionObservable(confirmLeave: boolean) \n\t{\n\t\tthis.modalConfirmation$.next(confirmLeave);\n\t}\n\n\tpublic getModalSelectionObservable(): Observable \n\t{\n\t\treturn this.modalConfirmation$.asObservable();\n\t}\n\n\tpublic getConfirmLeavePageAemData(): void \n\t{\n\t\tthis.apiService.getConfirmLeavePageLabels().subscribe({\n\t\t\tnext: (res: LeaveConfirmModalState) => \n\t\t\t{\n\t\t\t\tif(res) \n\t\t\t\t{\n\t\t\t\t\tthis.state.heading = res.heading;\n\t\t\t\t\tthis.state.headingSub = res.headingSub;\n\t\t\t\t\tthis.state.leave = res.leave;\n\t\t\t\t\tthis.state.stay = res.stay;\n\t\t\t\t\tthis.state.closeIcon = res.closeIcon;\n\t\t\t\t\tthis.leaveConfirmModalState.label = this.state.heading;\n\t\t\t\t\tthis.leaveConfirmModalState.buttons[0].label = this.state.stay; \n\t\t\t\t\tthis.leaveConfirmModalState.buttons[1].label = this.state.leave;\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: (error: HttpErrorResponse) => \n\t\t\t{\n\t\t\t\tthis.loggerService.log(error.error.message);\n\t\t\t\tthis.toastr.error(error.error.message);\n\t\t\t}\n\t\t});\n\t}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport{ SafeHtmlPipe } from './safehtml.pipe';\n@NgModule({\n\tdeclarations: [SafeHtmlPipe],\n\timports: [CommonModule],\n\texports: [SafeHtmlPipe]\n})\nexport class SafeHtmlPipeModule\n{\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n\tname: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform \n{\n\tconstructor(private readonly sanitized: DomSanitizer) { }\n\ttransform(value: string) \n\t{\n\t\treturn this.sanitized.bypassSecurityTrustHtml(value);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TruncatePipe } from './truncate.pipe';\n\n@NgModule({\n\tdeclarations: [\n\t\tTruncatePipe\n\t],\n\timports: [\n\t\tCommonModule\n\t],\n\texports: [TruncatePipe]\n})\nexport class TruncateModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform\n{\n\n\ttransform(value: string, maxLength: number = 21): string\n\t{\n\t\tif (value.length <= maxLength)\n\t\t{\n\t\t\treturn value;\n\t\t}\n\t\treturn value.slice(0, maxLength) + '...';\n\t}\n}\n","import { AnalyticsDataLayer } from './definitions';\n\nexport class AnalyticsFactory\n{\n\tpublic static buildDataLayerInstance(): AnalyticsDataLayer\n\t{\n\t\treturn {\n\t\t\tevent: null\n\t\t};\n\t}\n}\n","import { LocalStorageServiceModule } from './../local-storage/local-storage.module';\nimport { ScriptInjectorModule } from './../script-injector/script-injector.module';\nimport { NgModule } from '@angular/core';\nimport { AnalyticsService } from './analytics.service';\nimport { LoggerServiceModule } from '../logger/logger.module';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tScriptInjectorModule,\n\t\tLoggerServiceModule,\n\t\tLocalStorageServiceModule\n\t],\n\texports: [ ],\n\tproviders: [\n\t\tAnalyticsService\n\t]\n})\nexport class AnalyticsModule {}\n","import { EnvironmentRef } from './../../../environments/interfaces/environment.interface';\nimport { expEnvironmentRef } from './../../injection-tokens/environment.injection-token';\nimport { LoggerService } from './../logger/logger.service';\nimport { ScriptInjectorService } from './../script-injector/script-injector.service';\nimport { Inject, Injectable } from '@angular/core';\nimport { windowInjectionToken } from '../../injection-tokens/window.injection-token';\nimport { get as lodashGet, hasIn as lodashHasIn } from 'lodash';\nimport { AnalyticsDataLayer } from './definitions';\nimport { AnalyticsFactory } from './analytics.factory';\nimport { SharedService } from '../shared/shared.service';\nimport { SharedUtilService } from '../shared/shared-util.service';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AnalyticsService\n{\n\n\tprivate readonly adobeDataLayerName = 'dl';\n\n\tconstructor(\n\t\t@Inject(windowInjectionToken) private readonly windowRef: Window,\n\t\t@Inject(expEnvironmentRef) private readonly environmentRef: EnvironmentRef,\n\t\tprivate readonly logger: LoggerService,\n\t\tprivate readonly scriptInjectorService: ScriptInjectorService,\n\t\tprivate readonly sharedService: SharedService,\n\t\tprivate readonly sharedUtilService: SharedUtilService\n\t){}\n\n\tpublic initDataLayer(dl: AnalyticsDataLayer = AnalyticsFactory.buildDataLayerInstance()): void\n\t{\n\t\tthis.pushData(dl);\n\t\tthis.logger.log('Initializing Analytics Data Layer', dl);\n\t}\n\tpublic async injectAdobeLaunchScript(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\tawait this.scriptInjectorService.load(\n\t\t\t\t'launch',\n\t\t\t\tthis.environmentRef.analytics.scripts.launch.src\n\t\t\t);\n\n\t\t\t(lodashGet(this.windowRef, '_satellite') as unknown as {pageBottom: () => void})\n\t\t\t\t.pageBottom();\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.logger.error('Error loading Adobe launch script', error);\n\t\t}\n\t}\n\tasync trackByEvent(data: AnalyticsDataLayer)\n\t{\n\t\tawait this.sharedUtilService.isLoggedInUserPresent();\n\t\tthis.pushData({\n\t\t\t...data,\n\t\t\tuser: {\n\t\t\t\temail: this.sharedService.getEmailAddress()\n\t\t\t},\n\t\t\tsite: {\n\t\t\t\tviewport: (lodashGet(this.windowRef, 'visualViewport.width', 0)) > 768 ? 'desktop' : 'mobile',\n\t\t\t\tlanguage: (this.windowRef.document.documentElement.getAttribute('lang') || '').includes('fr') ? 'fr' : 'en'\n\t\t\t}\n\t\t});\n\t}\n\tpublic trackErrorByEvent(errorMessage: string): void\n\t{\n\t\tthis.trackByEvent({\n\t\t\tevent: 'error',\n\t\t\tlink: {\n\t\t\t\tname: 'error'\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n\tpublic trackRegistrationByEvent(data: AnalyticsDataLayer, email: string)\n\t{\n\t\tthis.pushData({\n\t\t\t...data,\n\t\t\tuser: {\n\t\t\t\temail: email\n\t\t\t},\n\t\t\tsite: {\n\t\t\t\tviewport: lodashGet(this.windowRef, 'visualViewport.width', 0) > 768 ? 'desktop' : 'mobile',\n\t\t\t\tlanguage: (this.windowRef.document.documentElement.getAttribute('lang') || '').includes('fr') ? 'fr' : 'en'\n\t\t\t}\n\t\t});\n\t}\n\tprivate pushData(data: AnalyticsDataLayer): void\n\t{\n\t\ttry\n\t\t{\n\t\t\tconst dataLayerIsInit: boolean = lodashHasIn(this.windowRef, `${this.adobeDataLayerName}`);\n\t\t\tif (!dataLayerIsInit)\n\t\t\t{\n\t\t\t\tthrow new Error('Data layer not initiated');\n\t\t\t}\n\t\t\tif (data.event === null)\n\t\t\t{\n\t\t\t\tthis.logger.warn('No event provided in data layer. It wont be registered against adobe launch', data);\n\t\t\t}\n\t\t\tif(data.event !== null)\n\t\t\t{\n\t\t\t\tconst adobeAnalyticsDataLayer: {\n [key: string]: string | ((value: { [key: string]: string }) => void);\n push: (value: { [key: string]: string }) => void;\n } = lodashGet(this.windowRef, this.adobeDataLayerName);\n\t\t\t\tadobeAnalyticsDataLayer.push(data as { [key: string]: string } );\n\t\t\t\tthis.logger.log('Analytics object pushed', data);\n\t\t\t}\n\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.logger.error('Unable to push analytics data', error);\n\t\t}\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Endpoints, EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { jsonPaths, urlPaths } from './api.url';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AemApiService\n{\n\tpublic endpoints: Endpoints = this.environmentRef.endpoints;\n\n\tconstructor(\n\t\tprivate readonly httpClient: HttpClient,\t\t\n\t\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t) { }\n \n\tpublic getHeaderNavValues(isTmhCorporateAdmin: boolean): Observable\n\t{\n\t\tconst path: string = isTmhCorporateAdmin? `${this.endpoints.header.routes.headerendpoints.aembusinessaccountheader}` : `${this.endpoints.header.routes.headerendpoints.aemheaders}`;\n\t\treturn this.httpClient.get(path);\n\t} \n\tpublic getFooterData()\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.aemFooterData;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getEquipmentLables()\n\t{\n\t\tconst url: string =\n\t\tthis.environmentRef.baseUrl + urlPaths.equipmentLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getPendingApprovalLabels()\n\t{\n\t\tconst url: string = jsonPaths.pendingApprovalPageLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getBusinessAccountSuccessPopupLabels()\n\t{\n\t\tconst url: string = jsonPaths.businessAccountSuccessRegistrationLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getLandingPageLabels(): Observable \n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.landingPageLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getHeaderAlertBanner(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.headerAlertBanner;\n\t\treturn this.httpClient.get(url);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ApiService } from './api.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { LoggerServiceModule } from '../logger/logger.module';\nimport { LocalStorageServiceModule } from '../local-storage/local-storage.module';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [ CommonModule, HttpClientModule, LoggerServiceModule, LocalStorageServiceModule ],\n\texports: [],\n\tproviders: [ApiService]\n})\nexport class ApiServiceModule {}\n","/* eslint-disable max-lines */\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, lastValueFrom, map, Observable, Subscriber } from 'rxjs';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { Endpoints, EnvironmentRef } from '../../../environments/interfaces/';\nimport { LoggerService } from '../logger/logger.service';\nimport { Role, RolesPermissionsPayload } from '../../components/roles-permissions';\nimport { AdminCompanyDetails, ApproveBusinessAdminPayload, BusinessAccountRequestLabel, EditAdminCompanyDetailsAemLabels, RejectBusinessAccountPayload } from '../../components/business-account-request';\nimport {\n\tMyFleet,\n\tAddMoveEquipmentLabel,\n\tMyFleetTableSearchFilterPayload,\n\tSearchFilterResponse,\n\tRemoveEquipmentPayload,\n\tMoveTruckPayload,\n\tAddTruckPayload,\n\tChangeRequestListTablePayload,\n\tChangeRequest,\n\tMyFleetWidgetApiPayload,\n\tVerifyTruckPayload,\n\tReportTruckIssue,\n\tAddBulkEquipmentLabel,\n\tBulkEquipmentPayload,\n\tRemoveBulkEquipmentPayload,\n\tFleetFilterResponse\n} from '../../components/myfleet';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport {\n\tConnectedDevicePayload,\n\tEquipmentDetailsPayload,\n\tEquipmentImagePayload,\n\tFinanceTabDataPayload,\n\tGtsAddressConversionPayload,\n\tImpactDetectionPayload,\n\tKeyHoursPayload,\n\tMyInsightsTab,\n\tServiceHistoryPayload,\n\tVehicleUtilizationPayload\n} from '../../components/myfleet/sub-modules/equipment-detail';\nimport { KngCardListState, KngCardListFactory } from 'kinetic-angular';\nimport { BusinessRegistrationFlowSubmitModalLabels, RegistrationState, SaveUserPayload, SubmitBusinessPayload } from '../../components/registration';\n\nimport { ApproveUserResponse, ApproveUsersPayload, LatestUserIdPayload, RejectUserResponse, RejectUsersPayload, UserListPayload, UserListStatusPayload } from '../../components/user-management/definitions/user-management.interface';\nimport { AssignUnassignLocationPayload, UpdatePayload, UserDetailState, UserSaveChangesPayload } from '../../components/user-management/sub-modules/user-details/definitions/user-detail.interface';\nimport { OrderDetailsPayload, OrderListPayload, OrderManagementStateLabel, ShippingLocationPayload } from '../../components/order-management/definitions/order-management.interface';\nimport { DashboardLabelState, DashboardPayload, DashboardResponse, DealerSearchPayload } from '../../components/dashboard/definitions/dashboard.interface';\nimport { AccountSettingsStateAemLabel, CompanyLocationPayload, CompanyDetailsPayload, LocationDetailsPayload, ProfileDetailsSavePayload, ValidateRemoveLocPayload, UpdatePrimaryLocationPayload, DomainPayload, UpdateDomainPayload, VerifyDomain } from '../../components/account-settings/definitions/account-settings.interface';\nimport { LocalStorageService } from '../local-storage/local-storage.service';\nimport * as _ from 'lodash';\nimport { EquipmentOrderDetailState } from '../../components/order-management/sub-modules/equipment-order-details/definitions/equipment-order-details.interface';\nimport { DeletePayload, NotificationList, NotificationState, UpdateNotificationList } from '../../components/notifications';\nimport { RemoveEquipmentDetails } from '../../components/myfleet/sub-modules/equipment-detail/definitions/remove-equipment.interface';\nimport { AddBulkLocationLabel, AddbulkLocationListPayload, AddbulkLocationTablePayload, AddNewLocationState, AssignedUserDataPayLoad, AssignUserSearchPayload, AssignUsersPayload, UnAssignUsersPayload } from '../../components/location-management/sub-modules/add-new-location/definitions/add-new-location.interface';\nimport { AddLocationPayload, AssignedLocation, KeyValuePair, LeaveConfirmModalState, LoggedInLocation, UnreadNotificationPayload } from '../shared/shared-interface';\nimport { WidgetPayload } from '../../components/service-management/components/service-management-page/sub-modules/service-management-widgets';\nimport { ServiceOrderDetailsPayload, ServiceOrderDetailState } from '../../components/service-management/components/service-management-page/sub-modules/service-order-detail/definitions/service-order-detail.interface';\nimport { ServiceManagementAEMLabel } from '../../components/service-management/components/service-management-page';\nimport { Locations, ServiceManagementServiceHistoryPayload } from '../../components/service-management/components/service-management-page/sub-modules/service-management-list-table';\nimport { RoutePermissionGroup, RoutePermissions } from '../../guards/permission/definitions';\nimport { urlPaths, jsonPaths } from './api.url';\nimport { DefaultValue, DropDownOption, SortOrder } from '../shared/shared-enums';\nimport { RemoveLocationPayload, RemoveLocationModalsAemLabel, UpdateLocationLabelInterface } from '../../components/account-settings/definitions/remove-locations.interface';\nimport { SubmitTnc, SwitchAccountPayload } from '../../components/shell/shell.interface';\nimport { AddNewUserPayload, AddUserResponse, AddUserState } from '../../components/user-management/sub-modules/add-new-user/add-user/definitions/add-user.interface';\nimport { BillingAddressPayload, DownloadPDFPayload, MyQuotesLabelState, MyQuotesPayload } from '../../components/my-quotes';\nimport { MyInsightsLabelState, MyInsightsListPayload } from '../../components/my-insights';\nimport { InviteUserState } from '../../components/invite-users/definitions/invite-users.interface';\nimport { ImpersonationPayload } from '../../components/customer-support/definition/customer-support.interface';\nimport { LocationAccessPayload } from '../../components/location-management/definitions/location-management.interface';\nimport { ContactUsPayload } from '../../components/contact-us';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ApiService\n{\n\tpublic endpoints: Endpoints = this.environmentRef.endpoints;\n\tcardStateMapperObject: KngCardListState = KngCardListFactory.build();\n\tlocation: KeyValuePair = { id: '', key: '', value: '' };\n\tcached: boolean = false;\n\tmyFleetDownloadData: MyFleet[] = [];\n\tisTelematicsStatus: boolean = false;\n\thasFleetData$: BehaviorSubject = new BehaviorSubject(false);\n\tconstructor(\n\t\tprivate readonly httpClient: HttpClient,\n\t\tprivate readonly loggerService: LoggerService,\n\t\tprivate readonly storage: LocalStorageService,\n\t\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t) { }\n\n\tpublic getUserRegistrationStatus(): Promise\n\t{\n\t\tconst path: string = `${this.endpoints.auth.routes.auth.validUser}`;\n\t\tconst requestObservable: Observable =\n\t\t\tthis.httpClient.get(path);\n\t\treturn lastValueFrom(requestObservable);\n\t}\n\tpublic getRolesPermissionsData(payload: RolesPermissionsPayload): Observable\n\t{\n\t\tconst path: string = `${this.endpoints.roles.routes.roles.getRoles}`;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic saveCustomRole(role: Role): Observable\n\t{\n\t\tconst path: string = `${this.endpoints.roles.routes.roles.getRoles.addRoles}`;\n\t\treturn this.httpClient.post(path, role);\n\t}\n\tpublic updateCustomRole(role: Role): Observable\n\t{\n\t\tconst path: string = `${this.endpoints.roles.routes.roles.getRoles.update}`;\n\t\treturn this.httpClient.patch(path, role);\n\t}\n\n\tpublic getRemoveRoleState(id: string): Observable\n\t{\n\t\tconst path: string =\n\t\t\t`${this.endpoints.roles.routes.roles.getRoles.getRemoveRoleState}/` + id;\n\t\treturn this.httpClient.get(path);\n\t}\n\n\tpublic removeRole(id: string): Observable\n\t{\n\t\tconst path: string =\n\t\t\t`${this.endpoints.roles.routes.roles.getRoles.delete}` + id;\n\t\treturn this.httpClient.delete(path);\n\t}\n\n\tpublic removeNotification( payload: DeletePayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.deleteNotification}`;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic downloadInvoicePdf(payload:unknown)\n\t{\n\t\tpayload = {\n\t\t\tinvoiceNumber: payload,\n\t\t\tformat: 'pdf'\n\t\t};\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.downloadInvoicePdf}`;\n\t\treturn this.httpClient.post(path, payload );\n\t}\n\n\tpublic getAverageAgeCardData(payload: MyFleetWidgetApiPayload): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.averageAgeOfEquipment;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\tpublic getCountFinancedCardData(payload: MyFleetWidgetApiPayload): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.countFinancedData;\n\t\tconst headers = { 'content-type': 'application/json' };\n\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\tpublic getNumberOfUnitsData(payload: unknown): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.numberOfUnits;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\tapplySearchOrFilter(\n\t\tpayload: MyFleetTableSearchFilterPayload\n\t): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myfleetSearch;\n\t\tconst key: string = btoa(JSON.stringify({ url: path }));\n\t\treturn new Observable((subscriber: Subscriber) =>\n\t\t{\n\t\t\tthis.storage.getCachedItem(key).then(cachedItem =>\n\t\t\t{\n\t\t\t\tif (cachedItem !== null)\n\t\t\t\t{\n\t\t\t\t\tthis.applySearchOrFilterFromCachedData(cachedItem, payload, subscriber);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.applySearchOrFilterOnLoad(payload, path, key, subscriber);\n\t\t\t\t}\n\t\t\t})\n\t\t\t .catch(error =>\n\t\t\t {\n\t\t\t\t this.loggerService.error(error);\n\t\t\t });\n\t\t});\n\t}\n\tapplySearchOrFilterFromCachedData(cachedItem: ApiResponse | null, payload: MyFleetTableSearchFilterPayload, subscriber: Subscriber)\n\t{\n\t\tif(cachedItem)\n\t\t{\n\t\t\tthis.cached = true;\n\t\t\tlet updateCache = false;\n\t\t\tconst itemClone: ApiResponse = _.cloneDeep(cachedItem);\n\t\t\tconst responseData: SearchFilterResponse = itemClone.data as SearchFilterResponse;\n\t\t\tresponseData.pageInfo.pageSize = payload.limit;\n\t\t\tresponseData.fleetData.forEach((data: MyFleet) =>\n\t\t\t{\n\t\t\t\tObject.keys(data).forEach(key =>\n\t\t\t\t{\n\t\t\t\t\tif(key === 'telematicsStatus')\n\t\t\t\t\t{\n\t\t\t\t\t\tif(data[key as keyof typeof data] !== null || data[key as keyof typeof data] === '')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.isTelematicsStatus = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (payload.locationLabelUpdate?.label)\n\t\t\t\t{\n\t\t\t\t\tif (data['locationId' as keyof typeof data] === payload.locationLabelUpdate.locationId)\n\t\t\t\t\t{\n\t\t\t\t\t\tdata['locationLabel' as keyof typeof data] = payload.locationLabelUpdate.label;\n\t\t\t\t\t\tupdateCache = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.checkForFleetData(responseData.fleetData);\n\t\t\tresponseData.fleetData = this.filterDropdown(payload.filterType, responseData);\n\t\t\tresponseData.fleetData = responseData.fleetData\n\t\t\t\t.filter(item => this.myFleetApplySearchOrFilterPredicate(item, payload));\n\t\t\tresponseData.pageInfo.totalCount = responseData.fleetData.length;\n\t\t\tresponseData.fleetData = this.myFleetApplySorting(responseData.fleetData, payload);\n\t\t\tthis.myFleetDownloadData = responseData.fleetData;\n\t\t\tresponseData.fleetData = responseData.fleetData\n\t\t\t\t.slice((payload.skip * payload.limit), ((payload.skip * payload.limit) + payload.limit));\n\t\t\titemClone.data = responseData;\n\t\t\tif (updateCache)\n\t\t\t{\n\t\t\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myfleetSearch;\n\t\t\t\tconst key: string = btoa(JSON.stringify({ url: path }));\n\t\t\t\tthis.storage.setCached(key, _.cloneDeep(itemClone)).catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});\n\t\t\t}\n\t\t\tsubscriber.next(itemClone);\n\t\t\tsubscriber.complete();\n\t\t}\n\t}\n\n\tcheckForFleetData(data: MyFleet[])\n\t{\n\t\tconst hasFleetEquipment = data.some(item=>_.get(item, 'managedBy', '') === DropDownOption.fleet);\n\t\tif(hasFleetEquipment) \n\t\t{\n\t\t\tthis.hasFleetData$.next(true);\n\t\t}\t\n\t}\n\tfilterDropdown(selectedFilter: string | undefined, responseData: SearchFilterResponse)\n\t{\t\n\t\tlet filteredresponse: MyFleet[] = [];\n\t\tif(!selectedFilter || selectedFilter === DropDownOption.all)\n\t\t{\n\t\t\tfilteredresponse = responseData.fleetData;\n\t\t}\n\t\telse if(selectedFilter===DropDownOption.fleet)\n\t\t{\n\t\t\tfilteredresponse = responseData.fleetData.filter((item) => \n\t\t\t{\n\t\t\t\treturn _.get(item, 'managedBy', '') === DropDownOption.fleet;\n\t\t\t});\n\t\t}\n\t\telse if(selectedFilter=== DropDownOption.self)\n\t\t{\n\t\t\tfilteredresponse = responseData.fleetData.filter((item) => \n\t\t\t{\n\t\t\t\treturn _.get(item, 'managedBy', '') === DropDownOption.customer;\n\t\t\t});\n\t\t}\n\t\treturn filteredresponse;\n\t}\n\tapplySearchOrFilterOnLoad(payload: MyFleetTableSearchFilterPayload, path: string, key: string, subscriber: Subscriber)\n\t{\n\t\tthis.cardStateMapperObject.loading = true;\n\t\tconst updatedPayload: MyFleetTableSearchFilterPayload = _.cloneDeep(payload);\n\t\tupdatedPayload.limit = 999999999;\n\t\tupdatedPayload.skip = DefaultValue.skip;\n\t\tconst initialSortpayload: MyFleetTableSearchFilterPayload = _.cloneDeep(payload);\n\t\tinitialSortpayload.sort = {\n\t\t\tfield: 'dateOfFirstUse',\n\t\t\torder: SortOrder.desc\n\t\t};\n\t\tdelete updatedPayload.sort;\n\t\tdelete updatedPayload.assignedLocation;\n\t\tdelete updatedPayload.equipmentType;\n\t\tdelete updatedPayload.startDate;\n\t\tdelete updatedPayload.endDate;\n\t\tdelete updatedPayload.filterType;\n\t\tupdatedPayload.search = '';\n\t\tthis.httpClient.post(path, updatedPayload)\n\t\t\t.subscribe({\n\t\t\t\tnext: value =>\n\t\t\t\t{\n\t\t\t\t\tconst responseData: SearchFilterResponse = value.data as SearchFilterResponse;\n\t\t\t\t\tresponseData.pageInfo.pageSize = payload.limit;\n\t\t\t\t\tresponseData.fleetData.forEach((data: MyFleet) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tObject.keys(data).forEach(key =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(key === 'telematicsStatus')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(data[key as keyof typeof data] !== null || data[key as keyof typeof data] === '')\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.isTelematicsStatus = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdata[key as keyof typeof data] = data[key as keyof typeof data] === null ? '' : data[key as keyof typeof data];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tresponseData.fleetData = this.myFleetApplySorting(responseData.fleetData, initialSortpayload);\n\t\t\t\t\tthis.myFleetDownloadData = responseData.fleetData;\n\t\t\t\t\tthis.checkForFleetData(responseData.fleetData);\n\t\t\t\t\tresponseData.fleetData = this.filterDropdown(payload.filterType, responseData);\n\t\t\t\t\tconst responseUploadData: FleetFilterResponse = responseData as FleetFilterResponse;\n\t\t\t\t\tresponseUploadData.fleetData = responseUploadData.fleetData.filter((el) => (el['changeRequest'])?.display !== 'hide');\n\t\t\t\t\tvalue.data = responseUploadData;\n\t\t\t\t\tthis.storage.setCached(key, _.cloneDeep(value)).catch(error =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t\t\tthis.cached = false;\n\t\t\t\t\t});\n\t\t\t\t\tthis.cached = true;\n\t\t\t\t\tresponseData.fleetData = responseData.fleetData.filter(item => this.myFleetApplySearchOrFilterPredicate(item, payload));\n\t\t\t\t\tresponseData.pageInfo.totalCount = responseData.fleetData.length;\n\t\t\t\t\tresponseData.fleetData = this.myFleetApplySorting(responseData.fleetData, payload);\n\t\t\t\t\tresponseData.fleetData = responseData.fleetData\n\t\t\t\t\t\t.slice((payload.skip * payload.limit), ((payload.skip * payload.limit) + payload.limit));\n\t\t\t\t\tvalue.data = responseData;\n\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\tsubscriber.complete();\n\t\t\t\t},\n\t\t\t\terror: value => subscriber.error(value)\n\t\t\t});\n\n\t}\n\n\tpublic updateMyFleetLocationData(payload: UpdateLocationLabelInterface)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myfleetSearch;\n\t\tconst key: string = btoa(JSON.stringify({ url: path }));\n\t\tthis.storage.getCachedItem(key).then(cachedItem =>\n\t\t{\n\t\t\tif (cachedItem)\n\t\t\t{\n\t\t\t\tconst itemClone: ApiResponse = _.cloneDeep(cachedItem);\n\t\t\t\tconst responseData: SearchFilterResponse = itemClone.data as SearchFilterResponse;\n\t\t\t\tresponseData.fleetData.forEach((data: MyFleet) =>\n\t\t\t\t{\n\t\t\t\t\tif (data['locationId' as keyof typeof data] === payload.locationId)\n\t\t\t\t\t{\n\t\t\t\t\t\tdata['locationLabel' as keyof typeof data] = payload.label;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\titemClone.data = responseData;\n\t\t\t\tthis.storage.setCached(key, _.cloneDeep(itemClone)).catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic updateLocationLabelInStorage(payload: UpdateLocationLabelInterface)\n\t{\n\t\tconst locations = this.storage.getLoggedInUserLocation();\n\t\tif (locations)\n\t\t{\n\t\t\tconst parsedLocations = JSON.parse(locations);\n\t\t\tparsedLocations.locations.forEach(\n\t\t\t\t(location: LoggedInLocation) =>\n\t\t\t\t{\n\t\t\t\t\tif(location.locationId === payload.locationId)\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation.locationLabel = payload.label;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tthis.storage.setLoggedInUserLocation(this.storage.striginifyJSON(parsedLocations));\n\t\t}\n\t}\n\n\tprivate myFleetApplySorting(items: MyFleet[], payload: MyFleetTableSearchFilterPayload): MyFleet[]\n\t{\n\t\tconst field: string = payload.sort?.field ? payload.sort?.field : '';\n\t\tconst sortOrder: string = payload.sort?.order ? payload.sort?.order : '';\n\t\tconst sortField: string = this.checkForSortFieldNames(field);\n\n\t\tlet sortedArray: MyFleet[] = [];\n\t\tsortedArray = sortOrder === 'asc' ? _.orderBy(items, [sortField], ['asc']) : _.orderBy(items, [sortField], ['desc']);\n\t\treturn sortedArray;\n\t}\n\n\tprivate checkForSortFieldNames(field: string): string\n\t{\n\t\tconst sortField: string = field === 'equipmentVIN' ? 'equipmentVin' : this.assignedLocationFieldCheck(field);\n\t\treturn sortField;\n\t}\n\n\tprivate assignedLocationFieldCheck(field: string): string\n\t{\n\t\treturn (field === 'assignedLocation' ? 'assignedLocation' : field);\n\t}\n\n\tpublic myFleetApplySearchOrFilterPredicate(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqp(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch2(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch2(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkAssignedLocFilter(item, payload) && !this.checkEqpTypeFilter(item, payload) && !this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithLoc(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch3(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch3(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkDateFilter(item, payload) && !this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithDate(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch4(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch4(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkTelematicsStatusFilter(item, payload) && !this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithTelematics(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch5(item, payload);\n\t\t}\n\t}\n\n\tpublic checkForSearch5(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpLoc(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch6(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch6(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpDate(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch7(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch7(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch8(item, payload);\n\t\t}\n\t}\n\n\tpublic checkForSearch8(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpLocDate(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch9(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch9(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpDateTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch10(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch10(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpLocTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch11(item, payload);\n\t\t}\n\t}\n\n\tpublic checkForSearch11(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (!this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && !this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithLocDate(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch12(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch12(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (!this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithLocDateTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch13(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch13(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (!this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && !this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithLocTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch14(item, payload);\n\t\t}\n\t}\n\tpublic checkForSearch14(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (!this.checkEqpTypeFilter(item, payload) && !this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithDateTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkForSearch15(item, payload);\n\t\t}\n\t}\n\n\tpublic checkForSearch15(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tif (this.checkEqpTypeFilter(item, payload) && this.checkAssignedLocFilter(item, payload) && this.checkDateFilter(item, payload) && this.checkTelematicsStatusFilter(item, payload))\n\t\t{\n\t\t\treturn this.checkForSearchWithEqpLocDateTel(item, payload);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkAllSearchParameters(item, payload);\n\t\t}\n\t}\n\n\tpublic checkEqpTypeFilter(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\treturn (_.has(item, 'equipmentType') && _.get(payload, 'equipmentType', []).length > 0);\n\t}\n\tpublic checkTelematicsStatusFilter(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\treturn (_.has(item, 'telematicsStatus') && _.has(payload, 'telematicStatus'));\n\t}\n\tpublic checkAssignedLocFilter(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\treturn (_.has(item, 'locationId') && _.get(payload, 'assignedLocation', []).length > 0);\n\t}\n\tpublic checkDateFilter(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\treturn (_.has(item, 'dateOfFirstUse') && (_.has(payload, 'startDate') || _.has(payload, 'endDate')));\n\t}\n\n\tpublic checkAllSearchParameters(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\treturn (_.get(item, 'equipmentVin') || '').toLowerCase().includes(_.get(payload, 'search', '').toLowerCase()) || (_.get(item, 'modelID') || '').toLowerCase().includes(_.get(payload, 'search', '').toLowerCase()) || (_.get(item, 'assetNumber') || '').toLowerCase().includes(_.get(payload, 'search', '').toLowerCase());\n\t}\n\n\tpublic getpayloadEquipment(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\treturn _.get(payload, 'equipmentType', ['']).map(elem=>elem.toLowerCase());\n\t}\n\tpublic getdataEquipment(item: MyFleet)\n\t{\n\t\treturn (_.get(item, 'equipmentType') || '').toLowerCase();\n\t}\n\tpublic getpayloadTelematics(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\treturn _.get(payload, 'telematicStatus') ?? '';\n\t}\n\tpublic getdataTelematics(item: MyFleet)\n\t{\n\t\treturn (_.get(item, 'telematicsStatus') || '').toLowerCase();\n\t}\n\tpublic getpayloadAssignedLocation(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\treturn _.get(payload, 'assignedLocation', ['']);\n\t}\n\tpublic getdataAssignedLocation(item: MyFleet)\n\t{\n\t\treturn (_.get(item, 'locationId') || '');\n\t}\n\n\tpublic getpayloadStartDate(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\treturn new Date(_.get(payload, 'startDate', ''));\n\t}\n\tpublic getpayloadEndDate(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\treturn new Date(_.get(payload, 'endDate', ''));\n\t}\n\tpublic getdataDateFirstUse(item: MyFleet)\n\t{\n\t\treturn new Date((_.get(item, 'dateOfFirstUse') || ''));\n\t}\n\n\tpublic checkForSearchWithEqp(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq);\n\t}\n\tpublic checkForSearchWithLoc(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayLoc.includes(datArrayLoc);\n\t}\n\tpublic checkForSearchWithTelematics(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && (payloadArrayTel === datArrayTel);\n\t}\n\tpublic checkForSearchWithDate(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\n\tpublic checkForSearchWithEqpLoc(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && payloadArrayLoc.includes(datArrayLoc);\n\t}\n\tpublic checkForSearchWithEqpDate(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\n\t}\n\tpublic checkForSearchWithEqpTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && (payloadArrayTel === datArrayTel);\n\n\t}\n\tpublic checkForSearchWithLocDate(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayLoc.includes(datArrayLoc) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\tpublic checkForSearchWithLocDateTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && (payloadArrayTel === datArrayTel) && payloadArrayLoc.includes(datArrayLoc) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\tpublic checkForSearchWithDateTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && (payloadArrayTel === datArrayTel) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\tpublic checkForSearchWithLocTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && (payloadArrayTel === datArrayTel) && payloadArrayLoc.includes(datArrayLoc);\n\t}\n\n\tpublic checkForSearchWithEqpLocDate(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && payloadArrayLoc.includes(datArrayLoc) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\tpublic checkForSearchWithEqpLocTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && payloadArrayLoc.includes(datArrayLoc) && (payloadArrayTel === datArrayTel);\n\t}\n\tpublic checkForSearchWithEqpDateTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && (payloadArrayTel === datArrayTel) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\n\tpublic checkForSearchWithEqpLocDateTel(item: MyFleet, payload: MyFleetTableSearchFilterPayload): boolean\n\t{\n\t\tconst payloadArrayEq = this.getpayloadEquipment(payload);\n\t\tconst datArrayEq = this.getdataEquipment(item);\n\t\tconst payloadArrayTel = this.getpayloadTelematics(payload);\n\t\tconst datArrayTel = this.getdataTelematics(item);\n\t\tconst payloadArrayLoc = this.getpayloadAssignedLocation(payload);\n\t\tconst datArrayLoc = this.getdataAssignedLocation(item);\n\t\tconst payloadStartDate = this.getpayloadStartDate(payload);\n\t\tconst payloadEndDate = this.getpayloadEndDate(payload);\n\t\tconst datArray = this.getdataDateFirstUse(item);\n\t\treturn this.checkAllSearchParameters(item, payload) && payloadArrayEq.includes(datArrayEq) && (payloadArrayTel === datArrayTel) && payloadArrayLoc.includes(datArrayLoc) && (datArray.getTime() <= payloadEndDate.getTime() && datArray.getTime() >= payloadStartDate.getTime());\n\t}\n\n\tdownloadSearchOrFilter(payload: MyFleetTableSearchFilterPayload)\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.myfleetDownload;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\n\tpublic getEquipmentTypeFilterValues(locationIds: string[]): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.equipmentTypes;\n\t\tconst payload = { locationIDs: locationIds };\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getRepairTypeFilterValues()\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.repairTypeData;\n\t\tconst payload = { equipmentID: '' };\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getMyFleetAemLabels(): Observable\n\t{\n\t\tconst url = `${this.endpoints.myfleetlabels.routes.myfleet.myfleetlabels}`;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getRemoveEquipmentAemLabels(): Observable\n\t{\n\t\tconst path: string = jsonPaths.removeEquipmentAemLabels;\n\t\treturn this.httpClient.get(path);\n\t}\n\n\tpublic removeEquipment(payload: RemoveEquipmentPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.removeEquipment;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getConfirmLeavePageLabels(): Observable\n\t{\n\t\tconst path: string = jsonPaths.confirmLeavePageLabels;\n\t\treturn this.httpClient.get(path);\n\t}\n\n\tpublic getEquipmentData(\n\t\tpayload: EquipmentDetailsPayload, equipmentVIN: string\n\t): Observable\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.equipmentData + equipmentVIN;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getEquipmentImage(payload: EquipmentImagePayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.equipmentImage ;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getEquipmentFinanceData(payload: FinanceTabDataPayload, equipmentVIN: string): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.equipmentFinanceData + equipmentVIN;;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getEquipmentServiceHistoryData(\n\t\tpayload: ServiceHistoryPayload\n\t): Observable\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.serviceHistoryTable;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getUserManagementRolesStatus()\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.userManagementRolesStatus;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getAddUserHeaders()\n\t{\n\t\tconst url = jsonPaths.addUserAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getUserDetailsHeaders()\n\t{\n\t\tconst url = jsonPaths.userDetailsAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getUserDetails(id: string, isApproveUserScreen: boolean): Observable\n\t{\n\t\tlet url: string;\n\t\tif (isApproveUserScreen)\n\t\t{\n\t\t\turl = this.endpoints.auth.baseUrl + urlPaths.getApproveScreenUserDetails;\n\t\t}\n\t\telse\n\t\t{\n\t\t\turl = this.endpoints.auth.baseUrl + urlPaths.getUserDetails;\n\t\t}\n\n\n\t\tconst params = new HttpParams()\n\t\t\t.set('id', id);\n\n\t\treturn this.httpClient.get(url, { params });\n\t}\n\n\tpublic saveUserData(payload: SaveUserPayload): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.verifyInformation;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\n\tpublic submitRegistrationReviewOrCancel(payload: SaveUserPayload): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.triggerEmailToTmhCustomerSupport;\n\t const headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\tpublic saveGeneralUser(): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.saveGeneralUser;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\tpublic saveIndividualUser(): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.saveIndividualUser;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\n\tpublic getRegistrationFormLabels(): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.registrationFormLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getPendingUserRequests(company: string): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.pendingUserRequest;\n\t\treturn this.httpClient.get(url, { params: { company: company } });\n\t}\n\n\tpublic userMangementListTable(\n\t\tpayload: UserListPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.UserMangementTableData;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getOrderManagementHeaders()\n\t{\n\t\tconst url = jsonPaths.orderManagementHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getEquipmentOrderDetailHeaders()\n\t{\n\t\tconst url = jsonPaths.equipmentOrderDetailHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getDashboardHeaders()\n\t{\n\t\tconst url = jsonPaths.dashboardHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getMyQuotesAemLabels()\n\t{\n\t\tconst url = jsonPaths.myQuotesAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getMyInsightsTabAemLabels()\n\t{\n\t\tconst url = jsonPaths.myInsightsTabAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getInviteUsersAemLabels()\n\t{\n\t\tconst url = jsonPaths.inviteUsersAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getDashboardDetails(payload: DashboardPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.dashboardDetails;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getAccountSettingsHeaders()\n\t{\n\t\tconst url = jsonPaths.accountSettingsHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getCompanyDetails(payload: CompanyDetailsPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.companyDetails;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic updatePrimaryLocation(payload: UpdatePrimaryLocationPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.updatePrimaryLocation;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getCompanyLocation(payload: CompanyLocationPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.getCompanyLocation;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getAddBulkLocationList(payload: AddbulkLocationListPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.getAddBulkLocationList;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic addBulkLocationFromTable(payload: AddbulkLocationTablePayload)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.addBulkLocationUpload;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\t\n\tpublic getAddNewLocationHeaders()\n\t{\n\t\tconst url = jsonPaths.addNewLocationHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic userMangementListStatusChange(\n\t\tpayload: UserListStatusPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.userManagementListStatus;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tpublic getLatestUserStatus(\n\t\tpayload: LatestUserIdPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.getLatestUserStatus;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getUserManagementAEMHeaders()\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.userManagementAEMHeaders;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic notificationList(\n\t\tpayload: NotificationList\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.notificationsList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic updateNotificationList(\n\t\tpayload: UpdateNotificationList\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.updateNotificationList;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tpublic getCurrentLocation(locationId: string)\n\t{\n\t\tconst url = jsonPaths.currentLocation;\n\t\tthis.loggerService.log(locationId);\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getEquipmentOrderDetails(payload: OrderDetailsPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.orderDetails;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getAddMoveEquipmentLabel()\n\t{\n\t\tconst url = jsonPaths.addMoveEquipmentLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getAddBulkEquipmentLabel()\n\t{\n\t\tconst url = jsonPaths.addBulkEquipmentLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getAddBulkLocationLabel()\n\t{\n\t\tconst url = jsonPaths.addBulkLocationLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic equipmentMoveTruck(payload: MoveTruckPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.moveTruck;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic equipmentNotFound(payload: ReportTruckIssue): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.reportTruckIssue;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic equipmentMyfleetAddTruck(payload: AddTruckPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.addMyFleetEquipmentTruck;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tdownloadUserManagement(payload: UserListPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.downloadUserList;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\tdownloadEquipmentOrderList(payload: OrderListPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.downloadEquipmentOrderList;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\tdownloadServiceManagementServiceHistoryTableList(payload: ServiceManagementServiceHistoryPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.downloadServiceManagementServiceHistoryTableList;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\tdownloadManualsInfo(name: string)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.downloadManualsInfo + name;\n\t\treturn this.httpClient.get(url, { responseType: 'blob' });\n\t}\n\tpublic rejectUsersAccess(\n\t\tpayload: RejectUsersPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.rejectUsers;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tpublic approveUsersAccess(payload: ApproveUsersPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.approveUsers;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tgetRepairCodeWidgetData(widgetPayload: WidgetPayload)\n\t{\n\t\tconst url = `${this.endpoints.serviceManagement.routes.serviceManagement.getRepairCodeData}`;\n\t\treturn this.httpClient.post(url, widgetPayload);\n\t}\n\tgetSpendBreakdownWidgetData(widgetPayload: WidgetPayload)\n\t{\n\t\tconst url = `${this.endpoints.serviceManagement.routes.serviceManagement.getSpendBreakdownData}`;\n\t\treturn this.httpClient.post(url, widgetPayload);\n\t}\n\tgetPaymentStatusWidgetData(widgetPayload: WidgetPayload)\n\t{\n\t\tconst url = `${this.endpoints.serviceManagement.routes.serviceManagement.getPaymentStatusData}`;\n\t\treturn this.httpClient.post(url, widgetPayload);\n\t}\n\n\tgetLoggedInUserObs(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.loggedUser;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tgetLoggedInUserLocations(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.loggedUserLocations;\n\t\treturn this.httpClient.get(url);\n\t}\n\tgetLoggedInTmhCorporateAdminDetails(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.tmhCorporateAdminDetails;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getNumberOfUnitsWidgetData(payload:DashboardPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl+ `${this.endpoints.dashboard.routes.dashboard.getNumberOfUnitsData}`;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getFinancedEquipmentData(payload:DashboardPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl+ `${this.endpoints.dashboard.routes.dashboard.getFinancedEquipmentData}`;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getAverageAgeEquipment(payload:DashboardPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl+ `${this.endpoints.dashboard.routes.dashboard.getAverageAgeEquipmentData}`;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getNewEquipmentOrders(payload:DashboardPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl+ `${this.endpoints.dashboard.routes.dashboard.getNewEquipmentOrders}`;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetServiceManagementAemLabel()\n\t{\n\t\tconst url = jsonPaths.serviceMangementAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic updateUserLocation(\n\t\tpayload: AssignUnassignLocationPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.updateUserLocation;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tpublic getServiceOrderDetailHeader()\n\t{\n\t\tconst url = jsonPaths.serviceOrderDetails;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getOrderManagementTableData(\n\t\tpayload: OrderListPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.OrderManagementTableData;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getServiceManagementServiceHistoryData(\n\t\tpayload: ServiceManagementServiceHistoryPayload\n\t): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.serviceHistoryTable;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getAssignedUsersData(\n\t\tpayload: AssignedUserDataPayLoad\n\t): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.assignedUsersData;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic saveUserDetailsData(payload: UserSaveChangesPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.saveUserDetailsData}`;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\tpublic saveUserDetails(payload: UpdatePayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.saveUserDetailsData}`;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\n\tpublic validateRemoveCompanyLocation(payload: ValidateRemoveLocPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.validateRemoveCompanyLocation}`;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getServiceOrderDetailData(payload: ServiceOrderDetailsPayload\n\t): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.serviceOrderData;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getPrefilledUserData()\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.getPrefilledUserDetails;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getRoutePermissions(group: RoutePermissionGroup): Observable\n\t{\n\t\tconst url: string = this.environmentRef.endpoints.auth.routes.auth.permissions.category.id(group.category);\n\t\tconst headers: HttpHeaders = new HttpHeaders({\n\t\t\t'action-id': group.action\n\t\t});\n\t\treturn this.httpClient.get(url, { headers }).pipe(\n\t\t\tmap(response => (response.statusCode === 200) ? response.data as RoutePermissions : response)\n\t\t);\n\t}\n\n\tpublic getServiceManagementEquipmentType(payload: Locations): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.serviceManagementEquipmentTypes;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getRemoveLocationModalsAEMLabels()\n\t{\n\t\tconst url = jsonPaths.removeLocationModalsAEMLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic removeCompanyLocation(payload: RemoveLocationPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.removeCompanyLocation;\n\t\treturn this.httpClient.delete(path, { body: payload });\n\t}\n\n\tpublic updateLocationLabel(payload: UpdateLocationLabelInterface): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.updateLocationLabel;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\n\tpublic getLocationInformation(payload: LocationDetailsPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.locationDetails;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic getAssignedUsersList(payload: AssignUserSearchPayload): Observable\n\t{\n\t\tconst url = this.endpoints.auth.baseUrl + urlPaths.companyAssignedUsers;\n\t\tconst headers = { 'content-type': 'application/json' };\n\t\treturn this.httpClient.post(url, payload, {\n\t\t\theaders: headers\n\t\t});\n\t}\n\tpublic getAEMdetailsTerms()\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.aemTnCdata;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic submitTnC(payload: SubmitTnc)\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.submitTnC;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getAEMdetailsPolicy()\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.aemPolicyData;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic submitPolicy(payload: SubmitTnc)\n\t{\n\t\tconst url: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.submitPolicy;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getAdminLocationList()\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.adminLocationList;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic switchAccount(payload: SwitchAccountPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.switchAccount;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic saveUserProfileDetails(payload: ProfileDetailsSavePayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.saveUserProfileDetails}`;\n\t\treturn this.httpClient.patch(path, payload);\n\t}\n\n\tpublic addCompanyLocation(payload: AddLocationPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.addCompanyLocation;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic updateUnassignUsersData(payload: UnAssignUsersPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.unassignUsersData;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetCorporateConvert(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.corporateConvert;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getChangeRequestList(\n\t\tpayload: ChangeRequestListTablePayload\n\t): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.changeRequestList;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic updateAssignUsersData(\n\t\tpayload: AssignUsersPayload\n\t): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.assignUsersData;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetUnreadNotificationCount(payload: UnreadNotificationPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.unreadNotificationsCount;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\taddNewUser(payload: AddNewUserPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.getAddNewUser;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetChangeRequestAemLabels()\n\t{\n\t\tconst url = jsonPaths.changeRequestTableAemlabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getNotificationsAemLabels()\n\t{\n\t\tconst url = jsonPaths.notificationsPageLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getBusinessAccountRequestAemLabel()\n\t{\n\t\tconst url = jsonPaths.businessAccountRequestAemLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getServerValidationUploadFile (item: File, userId: string):Observable\n\t{\n\t\tconst form = new FormData;\n\t\tform.append('file', item);\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.uploadNewLocationFile}` + userId;\n\t\treturn this.httpClient.post(path, form);\n\t}\n\tpublic getBusinessAccountRequestData ():Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.businessAccountRequestData;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic rejectBusinessAccount(payload: RejectBusinessAccountPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.rejectBaUser;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getEditAdminCompanyDetailsAemLabels()\n\t{\n\t\tconst url = jsonPaths.editAdminCompanyDetailsAemLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getAdditionalLocations()\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.getAdditionalLocations;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getBAUploadLocation (item: File):Observable\n\t{\n\t\tconst form = new FormData;\n\t\tform.append('file', item);\n\t\tconst path: string = this.environmentRef.baseUrl + `${urlPaths.uploadNewLocationFileReg}`;\n\t\treturn this.httpClient.post(path, form);\n\t}\n\tpublic submitAdditionalLocation(payload: SubmitBusinessPayload)\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.submitAdditionalLocations;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getBusinessRegistrationFlowSubmitModalLabels()\n\t{\n\t\tconst url: string = jsonPaths.businessRegistrationFlowSubmitModalLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic saveBusinessUser(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.saveBusinessUser;\n\t\treturn this.httpClient.post(url, null);\n\t}\n\tpublic getConnectedDeviceData(payload: ConnectedDevicePayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.connectedDeviceData ;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic downloadLocationList(tempUserID: string)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.downloadLocationList + tempUserID;\n\t\treturn this.httpClient.patch(url, null, { responseType: 'blob' });\n\t}\n\tpublic updateAdminCompanyDetails(payload: AdminCompanyDetails)\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.updateAdminDetails;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getBusinessRegistrationLocationDownload()\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.businessRegistrationLocationDownload;\n\t\treturn this.httpClient.get(url, {\n\t\t\tresponseType: 'blob'\n\t\t}\n\t\t);\n\t}\n\n\tpublic getBusinessRegistrationUploadListModalLabels()\n\t{\n\t\tconst url: string = jsonPaths.businessRegistrationDownloadModalLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getInviteUserLocationDownload(bulkUser: boolean)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + (bulkUser ? urlPaths.bulkUserTemplate : urlPaths.inviteUserLocationDownload);\n\t\treturn this.httpClient.get(url, {\n\t\t\tresponseType: 'blob'\n\t\t}\n\t\t);\n\t}\n\t\n\tpublic getAddBulkEquipmentDownload(equipmentType: string)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.addBulkEquipmentDownload + equipmentType;\n\t\treturn this.httpClient.get(url, {\n\t\t\tresponseType: 'blob'\n\t\t}\n\t\t);\n\t}\n\n\tpublic getAddBulkLocationDownload()\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.addBulkLocationDownload;\n\t\treturn this.httpClient.get(url, {\n\t\t\tresponseType: 'blob'\n\t\t}\n\t\t);\n\t}\n\n\tpublic getInviteUserSubmit (item: File, isBulkUsers:boolean):Observable\n\t{\n\t\tconst form = new FormData;\n\t\tform.append('file', item);\n\t\tconst path: string = this.environmentRef.baseUrl + ( isBulkUsers ? urlPaths.bulkUserInvite : urlPaths.inviteUserSubmit);\n\t\treturn this.httpClient.post(path, form);\n\t}\n\tpublic getAddBulkEquipmentSubmit (item: File):Observable\n\t{\n\t\tconst form = new FormData;\n\t\tform.append('file', item);\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.addBulkEquipmentUpload;\n\t\treturn this.httpClient.post(path, form);\n\t}\n\n\tpublic addBulkLocationUpload(item: File):Observable\n\t{\n\t\tconst form = new FormData;\n\t\tform.append('file', item);\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.addBulkLocationUpload;\n\t\treturn this.httpClient.post(path, form);\n\t}\n\t\n\tpublic getmyInsightsAEMLabels()\n\t{\n\t\tconst url: string = jsonPaths.myInsightsAEMLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\n\tpublic getVehicleUtilization(payload: VehicleUtilizationPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.vehicleUtilization ;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getLatestKeyHours(payload: KeyHoursPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.latestKeyHours ;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\n\tpublic approveBusinessAdminAccount(payload: ApproveBusinessAdminPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.approveBusinessAdmin;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getImpactDetectionWidgetData(payload: ImpactDetectionPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.weeklyImpactDetectionWidget;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getCoordinatesOfAssignedLoc(payload: GtsAddressConversionPayload)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.gtsAddressConversionToCoordinates;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getEquipTelematicsVehicleData(payload: ConnectedDevicePayload)\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.equipTelematicsVehicleData;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getEquipmentQuoteTableData(\n\t\tpayload: MyQuotesPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.equipmentQuotesTableEILData;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getLastTenErrorCodesDataList(\n\t\tpayload: ImpactDetectionPayload\n\t): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.lastTenErrorCodesDataList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getDealerByZipCode(payload: DealerSearchPayload): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.dealerDetails;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tpublic getBillingAddress(payload: BillingAddressPayload): Observable\n\t{\n\t\tconst path: string =\n\t\t\tthis.environmentRef.baseUrl + urlPaths.billingAddressList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tdownloadMyQuotesTableList(payload: MyQuotesPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myQuotesListDownload;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\tdownloadQuotePDF(payload: DownloadPDFPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myQuotesPdfDownload;\n\t\treturn this.httpClient.post(path, payload, {\n\t\t\tresponseType: 'blob'\n\t\t});\n\t}\n\tquoteContentBlock()\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.quotepromoBanner;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getMyInsightsPromoBanners(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.myinsightsPromobanner;\n\t\treturn this.httpClient.get(url);\n\t}\n\tgetMyInsightsListData(payload: MyInsightsListPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myinsightsTable;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tdownloadMyInsightsTableList(payload: MyInsightsListPayload)\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.myinsightsTableListDownload;\n\t\treturn this.httpClient.post(path, payload, { responseType: 'blob' });\n\t}\n\n\tpublic getShippingLocationList(payload: ShippingLocationPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.shippingLocationList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\n\tpublic getServiceManagementFilterList(payload: ShippingLocationPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.serviceManagementFilterList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getEquipmentOrderFilterList(payload: ShippingLocationPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.equipmentOrderFilterList;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic domainListData(payload: DomainPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.domainListData;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic updateDomainDetails(payload: UpdateDomainPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.updateDomainDetails;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic assignDomainDetails(payload: UpdateDomainPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.assignDomainDetails;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic getCustomerSupportLabels(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.customerSupportLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic getContactUsLabels(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.contactUsLabel;\n\t\treturn this.httpClient.get(url);\n\t}\n\tpublic startImpersonationSession(payload: ImpersonationPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.startImpersonation;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tpublic contactUsTicket(payload: ContactUsPayload): Observable\n\t{\n\t\tconst path: string = this.environmentRef.baseUrl + urlPaths.contactUsTicket;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tgetLoggedInTmhCustomerSupportDetails(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.tmhCustomerSupportDetails;\n\t\treturn this.httpClient.get(url);\n\t}\n\tgetValidImpersonateUserDetails(payload: ImpersonationPayload): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.validateImpersonation;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetLocationLabels(): Observable\n\t{\n\t\tconst url: string = this.environmentRef.baseUrl + urlPaths.locationLabels;\n\t\treturn this.httpClient.get(url);\n\t}\n\tgetUnassignedLocations(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.unassignedLocations;\n\t\treturn this.httpClient.get(url);\n\t}\n\tsetLocationAccessManagement(payload: LocationAccessPayload): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.accessLocationManagement;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetServiceHistoryCount(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.serviceHistoryCount;\n\t\treturn this.httpClient.get(url);\n\t}\n\tverifyDomain(payload: VerifyDomain): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.verifyDomain;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tgetZendeskToken(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.zendeskToken;\n\t\treturn this.httpClient.get(url);\n\t}\n\tgetContactForm(payload: ImpersonationPayload ): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.contactForm;\n\t\treturn this.httpClient.post(url, payload);\n\t}\n\tgetEquipmentOptions(): Observable\n\t{\n\t\tconst url = this.environmentRef.baseUrl + urlPaths.equipmentOptions;\n\t\treturn this.httpClient.get(url);\n\t}\n\tverifyEquipment(payload: VerifyTruckPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.verifyEquipment;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tsubmitUser(payload: AssignUsersPayload): Observable\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.submituser;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tmoveBulkEquipment(payload: BulkEquipmentPayload)\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.moveBulkEquipment;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n\tremoveBulkEquipment(payload: RemoveBulkEquipmentPayload)\n\t{\n\t\tconst path = this.environmentRef.baseUrl + urlPaths.removeBulkEquipment;\n\t\treturn this.httpClient.post(path, payload);\n\t}\n}\n\n","export const urlPaths = {\n\tnumberOfUnits: 'v0/myfleet/widget/unit',\n\taverageAgeOfEquipment: 'v0/myfleet/widget/equipment',\n\tcountFinancedData: 'v0/myfleet/widget/ticf',\n\tmyFleetList: 'v0/myfleet/fleetList',\n\tfleetListAEMHeaders: 'v0/myfleet/fleetListAEMHeaders',\n\tmyfleetSearch: 'v0/myfleet/list',\n\taemFooterData: 'v0/aemfooter',\n\tequipmentData: 'v0/getEilTruck/',\n\tequipmentImage: 'v0/equipment/getEquipmentImage',\n\tmyfleetDownload: 'v0/myfleet/download',\n\tequipmentTypes: 'v0/myfleet/filter/equipmentTypes',\n\tequipmentFinanceData: 'v0/getFinancials/',\n\trepairTypeData: 'v0/equipment/filter/repairTypes',\n\tsaveUser: 'v0/user/saveUserData',\n\tregistrationFormLabels: 'v0/aem-registration/complete-your-profile',\n\tstartPageLabels: 'v0/aem-registration/registration-startpage',\n\tpendingUserRequest: 'v0/user/pending-user-list',\n\tUserMangementTableData: 'v0/user/users-list',\n\tuserManagementListStatus: 'v0/user/status',\n\tgetLatestUserStatus: 'v0/user/get-latest-user-status',\n\tgetUserDetails: 'v0/user/user-info',\n\tgetCompanyLocation: 'v0/user/company-location-list',\n\tequipmentLabels: 'v0/aemfleetpage/equipment-labels',\n\tmoveTruck: 'v0/equipment/moveTruck',\n\taddMyFleetEquipmentTruck: 'v0/equipment/addTruck',\n\tuserManagementAEMHeaders: 'v0/aem-user-management',\n\tdashboardDetails: 'v0/dashboard/equipment',\n\tnotificationsList: 'v0/notification/list',\n\tdeleteNotification: 'v0/notification/update-notification',\n\tupdateNotificationList: 'v0/notification/mark-read',\n\tdownloadUserList: 'v0/user/download-user-list',\n\trejectUsers: 'v0/user/reject-users',\n\tapproveUsers: 'v0/user/approve-bulk-user',\n\tloggedUser: 'v0/user/profile-details',\n\tloggedUserLocations: 'v0/user/profile-location-details',\n\tupdateUserLocation: 'v0/user/update-locations',\n\tremoveEquipment: 'v0/equipment/removeTruck',\n\tOrderManagementTableData: 'v0/order/list',\n\tserviceHistoryTable: 'v0/service-management/service-history/list',\n\tsaveUserDetailsData: 'v0/user/update-user-details',\n\tgetApproveScreenUserDetails: 'v0/user/approve-new-user/user-info',\n\tgetPrefilledUserDetails: 'v0/v1/user/prefillUserDetails',\n\tuserManagementRolesStatus: 'v0/user/role-list',\n\tdownloadEquipmentOrderList: 'v0/order/download-order-list',\n\torderDetails: 'v0/order/details',\n\tdownloadServiceManagementServiceHistoryTableList: 'v0/service-management/download-service-history-table',\n\tserviceManagementEquipmentTypes: 'v0/service-management/service-history/filter',\n\tserviceOrderData: 'v0/service-management/service-order-details',\n\tassignedUsersData: 'v0/account/assigned-users-list',\n\tcompanyDetails: 'v0/user/company-details',\n\tremoveCompanyLocation: 'v0/account/removeCompanyLocation',\n\tupdatePrimaryLocation: 'v0/account/updatePrimaryLocation',\n\tdownloadManualsInfo: 'v0/tips/download/blob/',\n\tlocationDetails: 'v0/account/getLocationDetails',\n\tcompanyAssignedUsers: 'v0/account/company-profile-assigned-users-list',\n\tchangeRequestList: 'v0/myfleet/change-request',\n\taemTnCdata: 'v0/aem-registration/terms-and-conditions',\n\tsubmitTnC: 'v0/user/terms-and-conditions-submit',\n\tsubmitPolicy: 'v0/user/privacy-policy-submit',\n\taemPolicyData: 'v0/aem-registration/privacy-policy',\n\tsaveUserProfileDetails: 'v0/user/update-user-profile',\n\taddCompanyLocation: 'v0/account/add-new-company-location',\n\tunassignUsersData: 'v0/user/location-details/unassign-user',\n\tassignUsersData: 'v0/account/assign-user',\n\tcorporateConvert: 'v0/dashboard/convert-to-corporate-account',\n\tadminLocationList: 'v0/v1/account-management/admin-location-list',\n\tswitchAccount: 'v0/v1/account-management/switch-account',\n\tunreadNotificationsCount: 'v0/notification/list/allUnreadCount',\n\tgetAddNewUser: 'v0/user/add-new-user',\n\tvalidateRemoveCompanyLocation: 'v0/account/validateRemoveCompanyLocation',\n\tverifyInformation: 'v0/v1/user/verify-information',\n\tsaveGeneralUser: 'v0/v1/user/save-general-user',\n\tsaveIndividualUser: 'v0/v1/user/save-individual-user',\n\tbusinessAccountRequestData: 'v0/v1/business-account/pending-ba-list',\n\tuploadNewLocationFile: 'v0/v1/user/upload-new-location?userId=',\n\trejectBaUser: 'v0/v1/business-account/reject-ba-user',\n\tgetAdditionalLocations: 'v0/v1/user/additional-locations',\n\tsaveBusinessUser: 'v0/v1/user/save-business-user',\n\tsubmitAdditionalLocations: 'v0/v1/user/submit-business-user-req',\n\tconnectedDeviceData: 'v0/equipment/getEquipTelematicsData',\n\tvehicleUtilization: 'v0/equipment/telematics-utilization',\n\tlatestKeyHours: 'v0/myfleet/widget/key-hours',\n\tdownloadLocationList: 'v0/v1/business-account/download-location-list/',\n\tuploadNewLocationFileReg: 'v0/v1/user/upload-ba-location-list',\n\tupdateAdminDetails: 'v0/v1/business-account/update-user-admin-details',\n\ttmhCorporateAdminDetails: 'v0/v1/business-account/tmh-corp-admin-profile-details',\n\tbusinessRegistrationLocationDownload: 'v0/v1/user/business-admin-template/download',\n\tinviteUserLocationDownload: 'v0/v1/account-management/invite-users-template/download',\n\tinviteUserSubmit: 'v0/v1/account-management/upload-users',\n\ttmhCustomerSupportDetails: 'v0/v1/business-account/support-role-profile-details',\n\tapproveBusinessAdmin: 'v0/v1/business-account/approve-business-admin',\n\tlandingPageLabels: 'v0/v1/aem-landing-page',\n\tequipTelematicsVehicleData: 'v0/equipment/equipTelematicsVehicleData',\n\tgtsAddressConversionToCoordinates: 'v0/equipment/gtsAddressConversionToCoordinates',\n\tweeklyImpactDetectionWidget: 'v0/equipment/telematics-impact-data',\n\tlastTenErrorCodesDataList: 'v0/v1/equipment/equipTelematicsErrorDetailedData',\n\tequipmentQuotesTableEILData: 'v0/v2/myquotes/list',\n\tdealerDetails: 'v0/dashboard/search-dealer-by-zip',\n\tbillingAddressList: 'v0/v2/myquotes/getBillingAddressForQuote',\n\theaderAlertBanner: 'v0/v1/aem-alert-banner',\n\tmyQuotesListDownload: 'v0/v2/myquotes/download-quotes-list',\n\tmyQuotesPdfDownload: 'v0/v2/myquotes/getQuoteDoc',\n\tquotepromoBanner: 'v0/v1/aemquotes/quote-content-block',\n\tmyinsightsPromobanner: 'v0/v1/aeminsights/insight-content-block',\n\tmyinsightsTable: 'v0/myinsights/list',\n\tmyinsightsTableListDownload: 'v0/myinsights/download',\n\tshippingLocationList: 'v0/order/shipping-location-list',\n\tserviceManagementFilterList: 'v0/service-management/filters',\n\tequipmentOrderFilterList: 'v0/order/filters',\n\ttriggerEmailToTmhCustomerSupport: 'v0/v1/user/registration-failure-email',\n\tupdateLocationLabel: 'v0/account/update-location-info',\n\tdomainListData: 'v0/domain/list',\n\tupdateDomainDetails: 'v0/domain/update',\n\tassignDomainDetails: 'v0/domain/assign',\n\tdownloadInvoicePdf: 'v0/service-management/service-history/download-invoice',\n\tstartImpersonation: 'v0/user/start-impersonation',\n\tcontactUsTicket: 'v0/create-ticket',\n\tvalidateImpersonation: 'v0/user/impersonation-user-details',\n\tcustomerSupportLabel: 'v0/v1/aem-customer-support-page',\n\tunassignedLocations: 'v0/account/getUnassignedLocations',\n\taccessLocationManagement: 'v0/account/allowLocationManagement',\n\tlocationLabels: 'v0/v1/aem-location-access-management',\n\tserviceHistoryCount: 'v0/aem/get-service-history-count',\n\tcontactUsLabel: 'v0/v1/aem-contact-us-page',\n\tverifyDomain: 'v0/domain/verify',\n\tzendeskToken: 'v0/auth/zendesk-token',\n\tcontactForm: 'v0/contact-form-prefill',\n\tbulkUserInvite: 'v0/user/add-bulk-users',\n\tbulkUserTemplate: 'v0/user/add-users-template/download',\n\tequipmentOptions: 'v0/equipment/selectOptions',\n\taddBulkEquipment: 'v0/equipment/addBulkTruck',\n\tverifyEquipment: 'v0/equipment/verifyTruck',\n\treportTruckIssue: 'v0/equipment/report-truck-issue',\n\tsubmituser: 'v0/account/update-users-location',\n\taddBulkEquipmentDownload: 'v0/equipment/download-template/',\n\taddBulkEquipmentUpload: 'v0/equipment/bulkEquipmentAdd',\n\tmoveBulkEquipment: 'v0/equipment/bulkEquipmentMove',\n\tremoveBulkEquipment: 'v0/equipment/bulkEquipmentRemove',\n\tgetAddBulkLocationList: 'v0/account/available-location-to-add',\n\taddBulkLocationDownload: 'v0/v1/user/business-admin-template/download',\n\taddBulkLocationUpload: 'v0/account/add-new-locations'\n};\nexport const jsonPaths = {\n\tuserDetailsAemLabels: '/jsonData/userDetailsAemLabels.json',\n\torderManagementHeaders: '/jsonData/orderManagementAemLabels.json',\n\tdashboardHeaders: '/jsonData/dashboardAEMLabels.json',\n\tmyQuotesAemLabels: '/jsonData/myQuotesAemLabels.json',\n\tmyInsightsTabAemLabels: '/jsonData/myInsightsTabAemLabels.json',\n\tinviteUsersAemLabels: '/jsonData/inviteUsersAEMLabels.json',\n\tequipmentOrderDetailHeaders: '/jsonData/orderDetailAemLabel.json',\n\taccountSettingsHeaders: '/jsonData/accountSettingsAEMLabels.json',\n\tremoveEquipmentAemLabels: '/jsonData/removeEquipmentAEMLabels.json',\n\taddNewLocationHeaders: '/jsonData/addViewCompanyLocationsAEM.json',\n\taddMoveEquipmentLabel: '/jsonData/add-move-equipment-aem-label.json',\n\taddBulkEquipmentLabel: '/jsonData/add-bulk-equipment-aem-label.json',\n\tcurrentLocation: '/jsonData/currentLocation.json',\n\tconfirmLeavePageLabels: '/jsonData/confirmLeavePageAEMLabels.json',\n\taddEquipmentDuplicateVINNumber: 'jsonData/addEquipmentDuplicateVINNumber.json',\n\taddEquipmentExistingVINNumber: 'jsonData/addEquipmentExistingVINNumber.json',\n\taddEquipmentSuccess: 'jsonData/addEquipmentSuccess.json',\n\tserviceOrderDetails: '/jsonData/serviceManagementiInvoiceDetailsAEMLabels.json',\n\tremoveLocationModalsAEMLabels: '/jsonData/removeLocationModalsAEMLabels.json',\n\taddUserAemLabels: '/jsonData/addUserAemLabels.json',\n\tserviceMangementAemLabels: '/jsonData/serviceManagementAEMLabels.json',\n\tchangeRequestTableAemlabels: '/jsonData/changeRequestTableAemlabels.json',\n\tnotificationsPageLabel: '/jsonData/notificationsTabsAemLabel.json',\n\tpendingApprovalPageLabel: '/jsonData/confirmationPageLabels.json',\n\tbusinessAccountRequestAemLabel: '/jsonData/business-account-request-page-aem-labels.json',\n\teditAdminCompanyDetailsAemLabels: '/jsonData/editAdmin-Company-Details-AEMLabels.json',\n\tbusinessAccountSuccessRegistrationLabels: '/jsonData/businessAccountSuccessRegistrationLabels.json',\n\tbusinessRegistrationFlowSubmitModalLabels: '/jsonData/businessRegistrationFlowSubmitModalLabels.json',\n\tbusinessRegistrationDownloadModalLabels: '/jsonData/business_registration_upload_modal_labels.json',\n\tmyInsightsAEMLabels: '/jsonData/myInsightsAEMLabels.json',\n\taddBulkLocationLabels: '/jsonData/add-bulk-location-aem-label.json',\n\tbulkLocationMockData: '/jsonData/add-bulk-location-mock-data.json'\n};\n","import {\n\tMsalGuardConfiguration,\n\tMsalInterceptorConfiguration\n} from '@azure/msal-angular';\nimport {\n\tmsalConfig,\n\tprotectedResources\n} from '../../injection-tokens/auth-config.injection-token';\nimport {\n\tInteractionType,\n\tIPublicClientApplication,\n\tPublicClientApplication\n} from '@azure/msal-browser';\n\nexport class AuthenticationServiceFactory\n{\n\tpublic static msalInstanceFactory(): IPublicClientApplication\n\t{\n\t\treturn new PublicClientApplication(msalConfig);\n\t}\n\tpublic static msalGuardConfigFactory(): MsalGuardConfiguration\n\t{\n\t\treturn {\n\t\t\tinteractionType: InteractionType.Redirect\n\t\t};\n\t}\n\tpublic static msalInterceptorConfigFactory(): MsalInterceptorConfiguration\n\t{\n\t\tconst protectedResourceMap = new Map>();\n\t\tprotectedResources.forEach(item => protectedResourceMap.set(item.endpoint, item.scopes));\t\t\n\t\treturn {\n\t\t\tinteractionType: InteractionType.Redirect,\n\t\t\tprotectedResourceMap\n\t\t};\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthenticationService } from './authentication.service';\nimport { LoggerServiceModule } from '../logger/logger.module';\nimport {\n\tMsalBroadcastService,\n\tMsalGuard,\n\tMsalInterceptor,\n\tMsalModule,\n\tMsalService,\n\tMSAL_GUARD_CONFIG,\n\tMSAL_INSTANCE,\n\tMSAL_INTERCEPTOR_CONFIG\n} from '@azure/msal-angular';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthenticationServiceFactory } from './authentication-service.factory';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [ CommonModule, LoggerServiceModule, MsalModule ],\n\texports: [],\n\tproviders: [\n\t\tAuthenticationService,\n\t\tMsalService,\n\t\tMsalGuard,\n\t\tMsalBroadcastService,\n\t\t{\n\t\t\tprovide: MSAL_INSTANCE,\n\t\t\tuseFactory: AuthenticationServiceFactory.msalInstanceFactory\n\t\t},\n\t\t{\n\t\t\tprovide: MSAL_GUARD_CONFIG,\n\t\t\tuseFactory: AuthenticationServiceFactory.msalGuardConfigFactory\n\t\t},\n\t\t{\n\t\t\tprovide: HTTP_INTERCEPTORS,\n\t\t\tuseClass: MsalInterceptor,\n\t\t\tmulti: true\n\t\t},\n\t\t{\n\t\t\tprovide: MSAL_INTERCEPTOR_CONFIG,\n\t\t\tuseFactory: AuthenticationServiceFactory.msalInterceptorConfigFactory\n\t\t}\n\t]\n})\nexport class AuthenticationServiceModule {}\n","import { LoggerService } from '../logger/logger.service';\nimport { Injectable } from '@angular/core';\nimport { MsalService, MsalBroadcastService } from '@azure/msal-angular';\nimport {\n\tEventMessage,\n\tEventType,\n\tInteractionStatus,\n\tAuthenticationResult\n} from '@azure/msal-browser';\nimport { TokenClaims } from '@azure/msal-common';\nimport {\n\tBehaviorSubject,\n\tfilter,\n\tlastValueFrom,\n\tObservable,\n\tSubject,\n\tSubscriber,\n\ttakeUntil\n} from 'rxjs';\nimport { b2cPolicies } from '../../injection-tokens/auth-config.injection-token';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { RoutePermissionAction, RoutePermissionCategory, RoutePermissionGroup, RoutePermissions } from '../../guards/permission/definitions';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../api/api.service';\nimport { hasIn as lodashHasIn, cloneDeep as lodashCloneDep, get as lodashGet } from 'lodash';\nimport { LocalStorageService } from '../local-storage/local-storage.service';\nimport { ShellService } from '../../components/shell/shell.service';\n\ntype PermissionsMap = Map;\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AuthenticationService\n{\n\tdataSource!: { id: number; claim: string; value: unknown }[];\n\tprivate readonly pDestroying = new Subject();\n\tisLoggedIn: BehaviorSubject = new BehaviorSubject(false);\n\tpublic fetchedPermissions$: BehaviorSubject = new BehaviorSubject(new Map());\n\n\tconstructor(\n private readonly msalService: MsalService,\n private readonly msalBroadcastService: MsalBroadcastService,\n private readonly loggerService: LoggerService,\n private readonly localStorageService: LocalStorageService,\n private readonly apiService: ApiService,\n\tprivate readonly shellService: ShellService\n\t)\n\t{\n\t\tthis.msalBroadcastService.inProgress$\n\t\t\t.pipe(\n\t\t\t\tfilter(\n\t\t\t\t\t(status: InteractionStatus) => status === InteractionStatus.None\n\t\t\t\t),\n\t\t\t\ttakeUntil(this.pDestroying)\n\t\t\t)\n\t\t\t.subscribe(() =>\n\t\t\t{\n\t\t\t\tthis.setLoginDisplay();\n\t\t\t});\n\n\t\tthis.msalBroadcastService.msalSubject$\n\t\t\t.pipe(\n\t\t\t\tfilter(\n\t\t\t\t\t(msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS\n\t\t\t\t),\n\t\t\t\ttakeUntil(this.pDestroying)\n\t\t\t)\n\t\t\t.subscribe((result: EventMessage) =>\n\t\t\t{\n\t\t\t\tconst payload = result.payload as AuthenticationResult;\n\t\t\t\tthis.msalService.instance.setActiveAccount(payload.account);\n\t\t\t});\n\n\t\tthis.msalBroadcastService.inProgress$\n\t\t\t.pipe(\n\t\t\t\tfilter((status: InteractionStatus) => status === InteractionStatus.None)\n\t\t\t)\n\t\t\t.subscribe(() =>\n\t\t\t{\n\t\t\t\tthis.checkAndSetActiveAccount();\n\t\t\t\tthis.getClaims(\n\t\t\t\t\tthis.msalService.instance.getActiveAccount()?.idTokenClaims\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tprivate setLoginDisplay()\n\t{\n\t\tthis.isLoggedIn.next(this.msalService.instance.getAllAccounts().length > 0);\n\t}\n\n\tpublic getFetchedPermission(group: RoutePermissionGroup): RoutePermissions | undefined\n\t{\n\t\tconst key: string = this.getKeyFromPermissionGroup(group);\n\t\tconst permissionsMap: PermissionsMap = this.fetchedPermissions$.value;\n\t\treturn permissionsMap.get(key);\n\t}\n\tpublic setRoutePermissions(group: RoutePermissionGroup, permissions: RoutePermissions): void\n\t{\n\t\tconst key: string = this.getKeyFromPermissionGroup(group);\n\t\tconst permissionsMap: PermissionsMap = this.fetchedPermissions$.value;\n\t\tpermissionsMap.set(key, permissions);\n\t\tthis.fetchedPermissions$.next(permissionsMap);\n\t}\n\tprivate getKeyFromPermissionGroup(group: RoutePermissionGroup): string\n\t{\n\t\treturn btoa(`${group.category}${group.action}`);\n\t}\n\n\tpublic async login(): Promise\n\t{\n\t\treturn lastValueFrom(new Observable((subscriber: Subscriber) =>\n\t\t{\n\t\t\tthis.msalBroadcastService.inProgress$\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(\n\t\t\t\t\t\t(status: InteractionStatus) => status === InteractionStatus.None\n\t\t\t\t\t),\n\t\t\t\t\ttakeUntil(this.pDestroying)\n\t\t\t\t)\n\t\t\t\t.subscribe( () =>\n\t\t\t\t{\n\t\t\t\t\tthis.fetchedPermissions$.next(new Map());\n\t\t\t\t\tthis.msalService.loginRedirect().subscribe({\n\t\t\t\t\t\tnext: () =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsubscriber.next();\n\t\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror: (error) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.loggerService.log('Error redirecting to login', error);\n\t\t\t\t\t\t\tthis.localStorageService.clearStorage();\n\t\t\t\t\t\t\tsubscriber.error(error);\n\t\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}));\n\t}\n\n\tpublic async logout(attempts: number = 3): Promise\n\t{\n\t\tif(attempts < 1)\n\t\t{\n\t\t\tthis.loggerService.log('Ran out of attempts');\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\tattempts--;\n\t\ttry\n\t\t{\n\t\t\tthis.fetchedPermissions$.next(new Map());\n\t\t\tthis.shellService.shouldLoadPage$.next(true);\n\t\t\tawait lastValueFrom(this.msalService.logout());\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.shellService.shouldLoadPage$.next(false);\n\t\t\tthis.loggerService.log('Error redirecting to logout', error);\n\t\t\tthis.localStorageService.clearStorage();\n\t\t\treturn this.logout(attempts);\n\t\t}\n\t}\n\n\tpublic async register(): Promise\n\t{\n\t\ttry\n\t\t{\n\t\t\tconst request = {\n\t\t\t\tscopes: [''],\n\t\t\t\tauthority: b2cPolicies.authorities.signUpSignIn.authority\n\t\t\t};\n\t\t\tawait lastValueFrom(this.msalService.loginRedirect(request));\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tthis.loggerService.log('Error redirecting to login', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate checkAndSetActiveAccount()\n\t{\n\t\tconst activeAccount = this.msalService.instance.getActiveAccount();\n\t\tif (\n\t\t\t!activeAccount &&\n this.msalService.instance.getAllAccounts().length > 0\n\t\t)\n\t\t{\n\t\t\tconst accounts = this.msalService.instance.getAllAccounts();\n\t\t\tthis.msalService.instance.setActiveAccount(accounts[0]);\n\t\t}\n\t}\n\n\tprivate getClaims(\n\t\tclaims: (TokenClaims & { [key: string]: unknown }) | undefined\n\t)\n\t{\n\t\tthis.dataSource = [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\tclaim: 'Given Name',\n\t\t\t\tvalue: claims ? claims['given_name'] : null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\tclaim: 'Family Name',\n\t\t\t\tvalue: claims ? claims['family_name'] : null\n\t\t\t},\n\t\t\t{ id: 2, claim: 'Object ID', value: claims ? claims['oid'] : null },\n\t\t\t{ id: 3, claim: 'Job Title', value: claims ? claims['jobTitle'] : null },\n\t\t\t{ id: 4, claim: 'City', value: claims ? claims['city'] : null }\n\t\t];\n\t}\n\tpublic static extractPermissionsFromRoute(router: ActivatedRouteSnapshot): RoutePermissionGroup\n\t{\n\t\tconst routePermissionsPath: string = 'data.permissions';\n\t\tconst defaultPermissions: RoutePermissionGroup = { category: 'NONE' as RoutePermissionCategory, action: 'NONE' as RoutePermissionAction };\n\t\treturn lodashGet(router, routePermissionsPath, defaultPermissions);\n\t}\n\tpublic getRoutePermissions(route: ActivatedRouteSnapshot): Observable\n\t{\n\t\tconst group: RoutePermissionGroup = AuthenticationService.extractPermissionsFromRoute(route);\n\t\treturn new Observable( subscriber =>\n\t\t{\n\t\t\tthis.apiService.getRoutePermissions(group).subscribe({\n\t\t\t\tnext: (response: RoutePermissions | ApiResponse) =>\n\t\t\t\t{\n\t\t\t\t\tconst responseHasRoutePermissions: boolean = lodashHasIn(response, 'actions');\n\t\t\t\t\tif (responseHasRoutePermissions)\n\t\t\t\t\t{\n\t\t\t\t\t\tsubscriber.next(response as RoutePermissions);\n\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tsubscriber.error(response as ApiResponse);\n\t\t\t\t\t\tsubscriber.complete();\n\t\t\t\t\t\tthis.loggerService.log('no actions in response', lodashCloneDep(response));\n\t\t\t\t\t}\n\n\t\t\t\t},\n\t\t\t\terror: (err: unknown) =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.log('Error\\n', err);\n\t\t\t\t\tsubscriber.error(err);\n\t\t\t\t\tsubscriber.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { DateConverterService } from './date-converter.service';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [CommonModule],\n\texports: [],\n\tproviders: [ DateConverterService, DatePipe ]\n})\nexport class DateConverteServiceModule {}\n","import { DatePipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { DateRange, KngFilterPanelComponent, Option } from 'kinetic-angular';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class DateConverterService \n{\n\tcurrentDate = new Date();\n\tconstructor(public datepipe: DatePipe) { }\n\n\tgetUnixTimeStamp(date: Date) \n\t{\n\t\treturn date.getTime();\n\t}\n\n\tgetUnitTimeInAmPm(value: string) \n\t{\n\t\tconst date = new Date(value);\n\t\treturn date.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }).toLowerCase();\n\t}\n\tgetDateWithUnitTimeInAmPm(value: string) \n\t{\n\t\tconst date = new Date(value);\n\t\treturn this.formatUnixDate(value)+'; '+ date.toLocaleString('UTC', { hour: 'numeric', minute: 'numeric', hour12: true });\n\t}\n\tgetFromDate(date: Date, days: number) \n\t{\n\t\treturn date.setDate(date.getDate() - days);\n\t}\n\n\ttranformDate(date: string, format: string) \n\t{\n\t\treturn this.datepipe.transform(new Date(date), format);\n\t}\n\n\tformatUnixDate(value: string | number) \n\t{\n\t\tconst date = new Date(value);\n\t\tconst month = date.getMonth() + 1;\n\t\tconst dateRes = date.getDate();\n\t\treturn (month < 10 ? ('0' + month) : month) + '/' + (dateRes < 10 ? ('0' + dateRes) : dateRes) + '/' + date.getFullYear();\n\t}\n\tcalculateDate(label: string, currentDate: Date) \n\t{\n\t\tconst commonDate = new Date(currentDate);\n\t\tlet fromDate: number = 0;\n\t\tswitch (label) \n\t\t{\n\t\tcase DateRange.lastDay: {\n\t\t\tfromDate = this.getFromDate(commonDate, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastSevenDays: {\n\t\t\tfromDate = this.getFromDate(commonDate, 7);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastThirtyDays: {\n\t\t\tfromDate = this.getFromDate(commonDate, 30);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastSixtyDays: {\n\t\t\tfromDate = this.getFromDate(commonDate, 60);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastSixtyDaysWithoutDefault: {\n\t\t\tfromDate = this.getFromDate(commonDate, 60);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tfromDate = this.calculateDateOnQuaterly(commonDate, label);\n\t\t\tbreak;\n\t\t}\n\t\t}\n\t\treturn fromDate;\n\t}\n\tcalculateDateOnQuaterly(commonDate: Date, label: string) \n\t{\n\n\t\tlet fromDate: number = 0;\n\t\tswitch (label) \n\t\t{\n\t\tcase DateRange.lastQuarter: {\n\t\t\tfromDate = this.getFromDate(commonDate, 90);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastYear: {\n\t\t\tfromDate = this.getFromDate(commonDate, 365);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.lastYearDefault: {\n\t\t\tfromDate = this.getFromDate(commonDate, 365);\n\t\t\tbreak;\n\t\t}\n\t\tcase DateRange.last2YearsDefault: {\n\t\t\tfromDate = this.getFromDate(commonDate, (365*2));\n\t\t\tbreak;\n\t\t}\n\t\t}\n\t\treturn fromDate;\n\t}\n\tdateCalculation(options: Option[], label: string) \n\t{\n\t\tconst fromToDate : number[] = [];\n\t\tif(label === DateRange.custom)\n\t\t{\n\t\t\toptions.forEach((opt) =>\n\t\t\t{\n\t\t\t\tif (opt.label === label)\n\t\t\t\t{\n\t\t\t\t\tconst dateRange = opt.value.split('@');\n\t\t\t\t\tfromToDate[0] = this.getUnixTimeStamp(new Date(dateRange[0]));\n\t\t\t\t\tfromToDate[1] = this.getUnixTimeStamp(new Date(dateRange[1]));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse \n\t\t{\n\t\t\tfromToDate[0] = this.calculateDate(label, this.currentDate);\n\t\t\tfromToDate[1] = this.getUnixTimeStamp(this.currentDate);\n\t\t}\n\t\treturn fromToDate;\n\t}\n\n\tshowHideFromToDate(filterComponent: KngFilterPanelComponent | undefined)\n\t{\n\t\tif (filterComponent)\n\t\t{\n\t\t\tfilterComponent.showToFromInput = false;\n\t\t}\n\t}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LocalStorageService } from './local-storage.service';\nimport { DEFAULT_CONFIG, NgForageOptions, Driver } from 'ngforage';\nimport { LoggerServiceModule } from '../logger/logger.module';\n\nconst localStorageName: string = 'tmhna-portal';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tLoggerServiceModule\n\t],\n\texports: [],\n\tproviders: [\n\t\t{\n\t\t\tprovide: DEFAULT_CONFIG,\n\t\t\tuseValue: {\n\t\t\t\tname: localStorageName,\n\t\t\t\tdriver: [\n\t\t\t\t\tDriver.INDEXED_DB,\n\t\t\t\t\tDriver.LOCAL_STORAGE\n\t\t\t\t]\n\t\t\t} as NgForageOptions\n\t\t},\n\t\tLocalStorageService\n\t]\n})\nexport class LocalStorageServiceModule {}\n","import { Injectable } from '@angular/core';\nimport { NgForage, NgForageCache, CachedItem } from 'ngforage';\nimport { LoggerService } from '../logger/logger.service';\nimport { GridData } from '../../components/user-management/definitions/user-management.interface';\n\nconst defaultCacheTimeInMilliseconds: number = 1000 * 60 * 60;\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class LocalStorageService\n{\n\tconstructor(\n\t\tprivate readonly ngf: NgForage,\n\t\tprivate readonly cache: NgForageCache,\n\t\tprivate readonly loggerService: LoggerService\n\t) {}\n\n\tpublic striginifyJSON(value: unknown)\n\t{\n\t\treturn JSON.stringify(value);\n\t}\n\n\tpublic parseJSON(value: string)\n\t{\n\t\tif (value === undefined)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn JSON.parse(value);\n\t}\n\tpublic isTokenCreated(): boolean\n\t{\n\t\tconst items = { ...localStorage };\n\t\treturn JSON.stringify(items) !== '{}';\n\t}\n\n\tpublic getItems(key: string): Promise\n\t{\n\t\treturn this.ngf.getItem(key);\n\t}\n\n\tpublic getCachedItem(key: string): Promise\n\t{\n\t\treturn this.cache.getCached(key).then((r: CachedItem) =>\n\t\t{\n\t\t\tif (!r.hasData || r.expired)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn r.data;\n\t\t});\n\t}\n\tpublic setCached(key: string, data: T, cacheTime: number = defaultCacheTimeInMilliseconds): Promise\n\t{\n\t\treturn this.cache.setCached(key, data, cacheTime);\n\t}\n\n\tpublic removeCached(key: string)\n\t{\n\t\tthis.cache.removeCached(key);\n\t}\n\n\tpublic setItems(key: string, data: T): Promise\n\t{\n\t\treturn this.ngf.setItem(key, data);\n\t}\n\n\tpublic removeItem(key: string): Promise\n\t{\n\t\treturn this.ngf.removeItem(key);\n\t}\n\tpublic setLoggedInUser(value: string)\n\t{\n\t\tlocalStorage.setItem('userDetails', value);\n\t}\n\n\n\tpublic setLoggedInCorporateFlag(value: string)\n\t{\n\t\tlocalStorage.setItem('corporateAccountRequestFlag', value);\n\t}\n\tpublic getLoggedInUser()\n\t{\n\t\tif (localStorage.getItem('userDetails') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('userDetails');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tgetTmhCorporateAdminDetails()\n\t{\n\t\tif (localStorage.getItem('tmhCorporateAdminDetails') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('tmhCorporateAdminDetails');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tsetTmhCorporateAdminDetails(value: string)\n\t{\n\t\tlocalStorage.setItem('tmhCorporateAdminDetails', value);\n\t}\n\tgetTmhCustomerSupportDetails()\n\t{\n\t\tif (localStorage.getItem('tmhCustomerSupportDetails') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('tmhCustomerSupportDetails');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tsetTmhCustomerSupportDetails(value: string)\n\t{\n\t\tlocalStorage.setItem('tmhCustomerSupportDetails', value);\n\t}\n\tpublic setLoggedInUserLocation(value: string)\n\t{\n\t\tlocalStorage.setItem('userDetailsLocation', value);\n\t}\n\tpublic getLoggedInUserLocation()\n\t{\n\t\tif (localStorage.getItem('userDetailsLocation') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('userDetailsLocation');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tpublic setLanguage(value: string)\n\t{\n\t\tlocalStorage.setItem('language', value);\n\t}\n\tpublic getLanguage()\n\t{\n\t\tif (localStorage.getItem('language') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('language');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tpublic setImpersonateUser(value: string)\n\t{\n\t\tlocalStorage.setItem('impersonateUser', value);\n\t}\n\tpublic removeImpersonateUser()\n\t{\n\t\tlocalStorage.removeItem('impersonateUser');\n\t}\n\tpublic getImpersonateUser()\n\t{\n\t\tif (localStorage.getItem('impersonateUser') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('impersonateUser');\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tpublic setCustomerToDashboard(value: string)\n\t{\n\t\tlocalStorage.setItem('customerToDashboard', value);\n\t}\n\tpublic getCustomerToDashboard()\n\t{\n\t\tif (localStorage.getItem('customerToDashboard') !== null)\n\t\t{\n\t\t\treturn localStorage.getItem('customerToDashboard') === 'true' ? true : false;\n\t\t}\n\t\telse\n\t\t\treturn false;\n\t}\n\tpublic setRedirectedUser(value: string)\n\t{\n\t\tlocalStorage.setItem('redirectedEmail', value);\n\t}\n\tpublic getRedirectedUser()\n\t{\n\t\t\n\t\treturn localStorage.getItem('redirectedEmail');\n\t}\n\tpublic removeRedirectedUser()\n\t{\n\t\tlocalStorage.removeItem('redirectedEmail');\n\t}\n\tpublic setRegistrationStatus(value: string)\n\t{\n\t\tlocalStorage.setItem('userStatus', value);\n\t}\n\tpublic getRegistrationStatus()\n\t{\n\t\treturn localStorage.getItem('userStatus');\n\t}\n\tpublic setUserName(value: string)\n\t{\n\t\tlocalStorage.setItem('username', value);\n\t}\n\tpublic getUserName()\n\t{\n\t\tconst userName = localStorage.getItem('username');\n\t\tif (userName !== null && userName !== '' )\n\t\t{\n\t\t\treturn userName;\n\t\t}\n\t\telse\n\t\t\treturn null;\n\t}\n\tpublic clearStorage()\n\t{\n\t\tlocalStorage.clear();\n\t\tsessionStorage.clear();\n\t\tthis.ngf.clear()?.catch(error =>\n\t\t{\n\t\t\tthis.loggerService.error(error);\n\t\t});;\n\t\tlocalStorage.removeItem('userDetails');\n\t\tlocalStorage.removeItem('userDetailsLocation');\n\t\tlocalStorage.removeItem('language');\n\t\tlocalStorage.removeItem('tmhCorporateAdminDetails');\n\t\tlocalStorage.removeItem('userStatus');\n\t\tlocalStorage.removeItem('headerAlertBanner');\n\t\tthis.removeItem('new_business_account');\n\t\tthis.removeItem('isTmhCorporateAdmin');\n\t\tthis.removeItem('isPortalUser');\n\t}\n\tpublic setCustomerAemLabels(value: string)\n\t{\n\t\tlocalStorage.setItem('customerSupportLabels', value);\n\t}\n\tpublic getCustomerAemLabels()\n\t{\n\t\treturn localStorage.getItem('customerSupportLabels');\n\t}\n\tpublic setAssignedUserRedirect(value: string)\n\t{\n\t\tlocalStorage.setItem('assignedUserRedirect', value);\n\t}\n\tpublic getAssignedUserRedirect()\n\t{\n\t\treturn localStorage.getItem('assignedUserRedirect');\n\t}\n\tpublic removeAssignedUserRedirect() \n\t{\n\t\tlocalStorage.removeItem('assignedUserRedirect');\n\t}\n\tpublic setAssignedLocationFromRedirect(value: string)\n\t{\n\t\tlocalStorage.setItem('assignedLocationFromRedirect', value);\n\t}\n\tpublic getAssignedLocationFromRedirect()\n\t{\n\t\treturn localStorage.getItem('assignedLocationFromRedirect');\n\t}\n\tpublic removeAssignedLocationFromRedirect() \n\t{\n\t\tlocalStorage.removeItem('assignedLocationFromRedirect');\n\t}\n\tpublic getCompanyLocationList()\n\t{\n\t\treturn localStorage.getItem('companyLocationsList');\n\t}\n\tpublic setCompanyLocationList(value: GridData[])\n\t{\t\n\t\tlocalStorage.setItem('companyLocationsList', JSON.stringify(value));\n\t}\n\tpublic removeCompanyLocationList()\n\t{\n\t\treturn localStorage.removeItem('companyLocationsList');\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { LoggerService } from './logger.service';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tHttpClientModule,\n\t\tLoggerModule.forRoot({\n\t\t\tlevel: NgxLoggerLevel.DEBUG\n\t\t})\n\t],\n\tproviders: [LoggerService]\n})\nexport class LoggerServiceModule {}\n","import { Injectable, Inject } from '@angular/core';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { EnvironmentRef } from '../../../environments/interfaces/';\n\nimport { NGXLogger } from 'ngx-logger';\n\n/* eslint-disable */\nlet LoggerObject: any;\n/* eslint-enable */\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class LoggerService \n{\n\tconstructor(\n private readonly logger: NGXLogger,\n @Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t) {}\n\n\tprivate checkToDisplayLogs(): boolean \n\t{\n\t\treturn !this.environmentRef.production;\n\t}\n\n\tpublic trace(traceMsg: string, traceObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.trace(traceMsg, traceObj ?? '');\n\t\t}\n\t}\n\n\tpublic debug(debugMsg: string, debugObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.debug(debugMsg, debugObj ?? '');\n\t\t}\n\t}\n\n\tpublic info(infoMsg: string, infoObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.info(infoMsg, infoObj ?? '');\n\t\t}\n\t}\n\n\tpublic log(logMsg: string, logObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.log(`${logMsg} ${logObj ?? ''}`);\n\t\t}\n\t}\n\n\tpublic warn(warnMsg: string, warnObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.warn(warnMsg, warnObj ?? '');\n\t\t}\n\t}\n\n\tpublic error(errorMsg: string, errorObj?: typeof LoggerObject): void \n\t{\n\t\tif (this.checkToDisplayLogs()) \n\t\t{\n\t\t\tthis.logger.error(errorMsg, errorObj ?? '');\n\t\t}\n\t}\n}\n","import { ScriptInjectorService } from './script-injector.service';\nimport { NgModule } from '@angular/core';\nimport { LoggerServiceModule } from '../logger/logger.module';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [LoggerServiceModule],\n\texports: [],\n\tproviders: [\n\t\tScriptInjectorService\n\t]\n})\nexport class ScriptInjectorModule {}\n","import { LoggerService } from './../logger/logger.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, NgZone } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ScriptInjectorService\n{\n\n\tconstructor(\n @Inject(DOCUMENT) private readonly document: Document,\n private readonly zone: NgZone,\n private readonly loggerService: LoggerService\n\t){}\n\n\tpublic async load(id: string, src: string): Promise\n\t{\n\t\tconst scriptElement: HTMLScriptElement = this.buildScriptElement(id, src);\n\t\tconst responsePromise: Promise = this.addEventListenersToScriptElement(scriptElement);\n\t\tthis.addScriptElementToDocument(scriptElement);\n\t\treturn responsePromise;\n\t}\n\n\tprivate buildScriptElement(id: string, src: string): HTMLScriptElement\n\t{\n\t\tconst scriptElement: HTMLScriptElement = this.document.createElement(\n\t\t\t'script'\n\t\t);\n\t\tscriptElement.id = id;\n\t\tscriptElement.src = src;\n\t\tscriptElement.async = true;\n\t\treturn scriptElement;\n\t}\n\n\tprivate addEventListenersToScriptElement(scriptElement: HTMLScriptElement): Promise\n\t{\n\t\treturn new Promise((resolve, reject) =>\n\t\t{\n\t\t\tscriptElement.addEventListener('load', () =>\n\t\t\t{\n\t\t\t\tsetTimeout(resolve, 10);\n\t\t\t});\n\t\t\tscriptElement.addEventListener('error', (error) =>\n\t\t\t{\n\t\t\t\treject(error);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate addScriptElementToDocument(scriptElement: HTMLScriptElement): void\n\t{\n\t\tthis.zone.runOutsideAngular(() =>\n\t\t{\n\t\t\tconst appendedScriptElement: HTMLScriptElement = this.document.head.appendChild(scriptElement);\n\t\t\tthis.loggerService.log('ScriptInjectorService Appended Script:', appendedScriptElement);\n\t\t});\n\t}\n\n}\n","import {\n\tAfterContentChecked,\n\tAfterViewChecked,\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tNgModule,\n\tOnInit,\n\tRenderer2\n} from '@angular/core';\n\n@Directive({\n\tselector: '[tmhnaPortalTextAreaAutoSize]'\n})\nexport class TextAreaAutoSizeDirective\nimplements OnInit, AfterViewChecked, AfterContentChecked\n{\n\tconstructor(private readonly elementRef: ElementRef, private readonly renderer: Renderer2) {}\n\n @HostListener('ngModelChange', ['$event'])\n\tngModelChange() \n\t{\n\t\tthis.resizeTextArea();\n\t}\n\n @HostListener('window:resize', ['$event'])\n windowResize() \n {\n \tthis.resizeTextArea();\n }\n\n ngOnInit() \n {\n \tif (this.elementRef.nativeElement.scrollHeight) \n \t{\n \t\tsetTimeout(() => this.resizeTextArea());\n \t}\n }\n\n ngAfterViewChecked(): void \n {\n \tthis.resizeTextArea();\n }\n\n ngAfterContentChecked(): void \n {\n \tthis.resizeTextArea();\n }\n\n resizeTextArea() \n {\n \tthis.renderer.setStyle(this.elementRef.nativeElement, 'height', '0');\n \tthis.renderer.setStyle(\n \t\tthis.elementRef.nativeElement,\n \t\t'height',\n \t\tthis.elementRef.nativeElement.scrollHeight + 4 + 'px'\n \t);\n }\n}\n\n@NgModule({\n\tdeclarations: [TextAreaAutoSizeDirective],\n\texports: [TextAreaAutoSizeDirective]\n})\n \nexport class TextAreaAutoSizeDirectiveModule {}\n","\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, concatMap, Observable, tap } from 'rxjs';\nimport { AuthFactory, AuthState, ProfileLocation, TMHCorporateAdminAuthState } from '../../components/auth';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { ApiService } from '../api/api.service';\nimport { LocalStorageService } from '../local-storage/local-storage.service';\nimport { ApplicationPath, ErrorMessage } from './shared-enums';\nimport { LoggedInUser, UnreadNotification, UnreadNotificationPayload, UserDetails } from './shared-interface';\nimport { SharedUtilService } from './shared-util.service';\nimport { SharedService } from './shared.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedApiService \n{\n\tconstructor(private readonly apiService: ApiService,\n\t\tprivate readonly sharedService: SharedService,\n\t\tprivate readonly sharedUtilService : SharedUtilService,\n\t\tprivate readonly router: Router,\n\t\tprivate readonly localStorageService: LocalStorageService){}\n\tprivate readonly flagValue$: BehaviorSubject<{ tnc: boolean;policyFlag: boolean }> =\n\t\tnew BehaviorSubject<{ tnc: boolean;policyFlag: boolean }>({ tnc: false, policyFlag: false });\n\tget flagObservable$(): Observable<{ tnc: boolean;policyFlag: boolean }>\n\t{\n\t\treturn this.flagValue$;\n\t}\n\tget flagValue(): { tnc: boolean;policyFlag: boolean }\n\t{\n\t\treturn this.flagValue$.value;\n\t}\n\n\tprivate readonly isUnreadNotification$: BehaviorSubject =\n\t\tnew BehaviorSubject(false);\n\tget isUnreadNotificationObservable$(): Observable\n\t{\n\t\treturn this.isUnreadNotification$;\n\t}\n\tget isUnreadNotification(): boolean \n\t{\n\t\treturn this.isUnreadNotification$.value;\n\t}\n\tset updatedUnreadNotificationState(value: boolean)\n\t{\n\t\tthis.isUnreadNotification$.next(value);\n\t}\n\tuser: AuthState = AuthFactory.buildState();\n\t\n\tupdateLoggedInUserDetails() \n\t{\n\t\tthis.apiService.getLoggedInUserObs().subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tconst user: AuthState = (res.data);\n\t\t\t\tif (user) \n\t\t\t\t{\n\t\t\t\t\tthis.mapUserSession(user);\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () =>\n\t\t\t{\n\t\t\t\tthis.sharedUtilService.triggerErrorService(ErrorMessage.commonError, 100, '401');\n\t\t\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t\t\t}\n\t\t});\n\t\tthis.apiService.getLoggedInUserLocations().subscribe({\n\t\t\tnext: (res: ApiResponse) => \n\t\t\t{\n\t\t\t\tconst locations:ProfileLocation = (res.data);\n\t\t\t\tif (locations)\n\t\t\t\t{\n\t\t\t\t\tthis.localStorageService.setLoggedInUserLocation(this.localStorageService.striginifyJSON(locations));\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () =>\n\t\t\t{\n\t\t\t\tthis.sharedUtilService.triggerErrorService(ErrorMessage.commonError, 100, '401');\n\t\t\t\tthis.sharedService.navigateMethod(this.router, ApplicationPath.authError);\n\t\t\t}\n\t\t});\n\t}\n\t\n\tgetUnreadNotificationsCount() \n\t{\n\t\tconst payload: UnreadNotificationPayload = {\n\t\t\tcontactGRID: '',\n\t\t\tlocations: [],\n\t\t\tportalUserID: '',\n\t\t\troles: []\n\t\t};\n\t\tthis.sharedService\n\t\t\t.getLoggedInUseLocationsIdsObs()\n\t\t\t.pipe(\n\t\t\t\ttap((locationIds: string[]) => \n\t\t\t\t{\n\t\t\t\t\tpayload.locations = locationIds;\n\t\t\t\t}),\n\t\t\t\tconcatMap(() => this.sharedService.getLoggedInUserObs()),\n\t\t\t\ttap((loggedInUser: LoggedInUser) => \n\t\t\t\t{\n\t\t\t\t\tif (loggedInUser)\n\t\t\t\t\t{\n\t\t\t\t\t\tpayload.roles = loggedInUser.roles ?? [];\n\t\t\t\t\t\tpayload.portalUserID = this.sharedService.emptyStringHandler(loggedInUser.userId);\n\t\t\t\t\t\tpayload.contactGRID = this.sharedService.emptyStringHandler( loggedInUser.contactGRID);\n\t\t\t\t\t\tif (!payload.contactGRID)\n\t\t\t\t\t\t\tpayload.contactID = this.sharedService.emptyStringHandler(loggedInUser.contactID);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tconcatMap(() => this.apiService.getUnreadNotificationCount(payload))\n\t\t\t )\n\t\t\t.subscribe({\n\t\t\t\tnext: (res: ApiResponse) => \n\t\t\t\t{\n\t\t\t\t\tconst unreadNotifcation: UnreadNotification = (res.data);\n\t\t\t\t\tthis.updatedUnreadNotificationState = unreadNotifcation.count > 0;\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tgetLoggedInUserDetails() : Observable\n\t{\n\t\treturn this.apiService.getLoggedInUserObs();\n\t}\n\n\tgetLoggedInUserLocations() : Observable\n\t{\n\t\treturn this.apiService.getLoggedInUserLocations();\n\t}\n\tgetTmhCorporateAdminDetails() : Observable\n\t{\n\t\treturn this.apiService.getLoggedInTmhCorporateAdminDetails();\n\t}\n\tgetTmhCustomerSupportDetails() : Observable\n\t{\n\t\treturn this.apiService.getLoggedInTmhCustomerSupportDetails();\n\t}\n\n\tmapUserSession(user: AuthState)\n\t{\n\t\tthis.user = user;\n\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\t\tconst userProfileFlag:{ tnc: boolean ; policyFlag: boolean } = { tnc: false, policyFlag: false };\n\n\t\tuserProfileFlag.tnc = user.tncUpdated;\n\t\tuserProfileFlag.policyFlag = user.privacyPolicyUpdated;\n\t\tthis.flagValue$.next(userProfileFlag);\n\n\t\tthis.sharedService.getuserNameObs().subscribe((userName) => \n\t\t{\n\t\t\tthis.sharedService.updatedUserNameState = userName;\n\t\t});\n\t}\n\tmapTmhCorporateAdminUserSession(user: TMHCorporateAdminAuthState)\n\t{\n\t\tthis.localStorageService.setTmhCorporateAdminDetails(this.localStorageService.striginifyJSON(user));\n\t\tthis.sharedService.getuserNameObs().subscribe((userName) => \n\t\t{\n\t\t\tthis.sharedService.updatedUserNameState = userName;\n\t\t});\n\t}\n\tmapTmhCustomerSupportUserSession(user: TMHCorporateAdminAuthState)\n\t{\n\t\tthis.localStorageService.setTmhCustomerSupportDetails(this.localStorageService.striginifyJSON(user));\n\t\tthis.sharedService.getuserNameObs().subscribe((userName) => \n\t\t{\n\t\t\tthis.sharedService.updatedUserNameState = userName;\n\t\t});\n\t}\n\tmapUserLocations(locations: ProfileLocation)\n\t{\n\t\tthis.localStorageService.setLoggedInUserLocation(this.localStorageService.striginifyJSON(locations));\n\t}\n\t\n\tupdateUserSession(userDetails: UserDetails)\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile && !this.sharedService.isEmptyObject(userProfile))\n\t\t{\n\t\t\tconst user:LoggedInUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tuser.firstName = userDetails.firstName;\n\t\t\tuser.lastName = userDetails.lastName;\n\t\t\tuser.jobTitle = userDetails.jobTitle;\n\t\t\tuser.phoneNumber = userDetails.phoneNumber;\n\t\t\t\n\t\t\tthis.localStorageService.setLoggedInUser(this.localStorageService.striginifyJSON(user));\n\t\t\t\t\t\n\t\t\tthis.sharedService.getuserNameObs().subscribe((userName) => \n\t\t\t{\n\t\t\t\tthis.sharedService.updatedUserNameState = userName;\n\t\t\t});\n\t\t}\n\t}\n}\n","export const mandatoryPermissionIds: string[] = [ \n\t'9e046657-660c-40a1-ab94-05b328a7af33',\n\t'b8be198e-e35d-4d39-86c9-71e07c81a2ac',\n\t'd4d7f746-7927-4d2e-98e1-a406add41167',\n\t'dc6cfc39-ffb1-44c3-a265-4ba0287a9382',\n\t'32d8d37d-2303-4f57-bcd5-6985b733c567',\n\t'9d116329-3e28-4f56-b6be-5287db26e3f4',\n\t'66db5601-da52-4b85-a045-3aecbe395b33' ];\n\nexport const individualUserRoleId: string = 'da3efd60-cc1f-492e-b0eb-7c7b50a3b357';\nexport const customerServiceEmail: string = 'customerservice@toyotatmh.com';\nexport const individualUserPermissionMessage = 'To enable this feature, please contact MyToyota Customer Service at customerservice@toyotatmh.com to migrate to a MyToyota Business Account.';\nexport const nullCheckValue='—';\nexport const companyAdminRoleId: string = 'eeb8928f-3ca2-4388-9acb-411e043806e7';\nexport const tmhCorporateAdminRoleId: string = '9fbdd4da-6f7d-4dbf-a0c1-e7d0095f82fd';\nexport const tmhCustomerSupportRoleId: string = '3eee9190-4a0d-457a-90ba-6ab51af9e763';\nexport const accountManagerRoleId: string = '557d334a-9edc-42a5-9fa4-bb87065ec17d';\nexport const defaultPage = 0;\nexport const permissionRequired: string = 'Permission Required';\nexport const canadaZipFormat = /^[A-Za-z]\\d[A-Za-z][ -]?\\d[A-Za-z]\\d$/;\nexport const uploadLimitText: string = 'You can invite up to 200 contacts in a single upload.';\nexport const uploadLimit: string = 'Upload Limit: ';\nexport const batteryStateOfChargeNullValue: string = 'N/A';\n\nexport const removePermissionIdsforCustomRole: string[] = [\n\t'5f754220-ba91-495f-8065-3b32c363558f',\n\t'f3364b91-d2c5-4a92-b3fe-d19480484dd4',\n\t'b78feec0-e49d-434e-a682-8d8a856135ba',\n\t'9a6385de-6cd3-4509-b915-a509ecd62b1b',\n\t'd51a4d83-2d6c-4539-815f-91fb29137539',\n\t'd50fa867-32c8-4c3f-b2c1-c6cc17cd0f8a',\n\t'5e4630ca-e14f-4fa0-b191-16b52d289097',\n\t'154b9fde-97c4-4a40-82c4-afd0dd2a5206',\n\t'35022a56-49b9-46b0-b9c5-6f8d0fd720d3',\n\t'bb95f4cf-bd37-4f50-be9e-53dd0efa9869'\n];\n\nexport const idValuePairs = {\n\t'23b780e9-5289-4089-819f-dba91259eaa1': 'phoneNumber' \n};\n","/* eslint-disable max-lines */\n\nexport enum CommonIcons {\n exclamation = 'exclamationIcon',\n more = 'moreIcon',\n action = 'action',\n telematicsIcon = 'telematicsIcon',\n moreIconDisabled = '/assets/moreIconDisabled.svg'\n}\nexport enum UserStatus {\n active = 'active',\n inactive = 'inactive',\n pending = 'pending',\n failed = 'failed',\n ssoFailure = 'ssoFailure'\n}\n\nexport enum LanguageCode {\n default = 'en-US'\n}\n\nexport enum DateFormat {\n default = 'MM/dd/yyyy'\n}\nexport enum SortOrder {\n desc = 'desc',\n asc = 'asc',\n}\nexport enum Notifications {\n all = 'All',\n offer = 'Offer',\n update = 'Update',\n action = 'Action',\n unread = 'unread',\n archived = 'archived',\n read = 'read'\n\n}\n\nexport enum CountryCode {\n unitedStates ='US',\n canada = 'CA',\n unitedStatesofAmerica = 'USA',\n canadaCountry = 'CAN',\n unitedStatesFull = 'UNITED STATES',\n canadaFull = 'CANADA'\n}\n\nexport enum RemovalReasons {\n scrapped = 'Scrap',\n stolen = 'Stolen',\n sold = 'Sold / Off Lease',\n exported = 'Exported out of US/ Canada'\n}\n\nexport enum CancelEquipmentButtons {\n no = 'No',\n yes = 'Yes'\n}\n\nexport enum RemovalSubmissionButton {\n submit = 'Submit',\n cancel = 'Cancel',\n yesSubmit = 'Yes, Submit',\n proceed = 'Proceed'\n}\n\nexport enum CssClass {\n btnSecondary = 'btn-secondary',\n btnBlack = 'btn-black',\n btnDanger = 'btn-danger',\n removeEquipmentTitle = 'removeEquipmentTitle',\n cancelRemoveEquipment = 'cancelRemoveEquipment',\n confirmRemoveEquipment = 'confirmRemoveEquipment',\n successErrorRemoveEquipment = 'successErrorRemoveEquipment',\n addTruckSuccessFailure = 'addTruckSuccessFailure',\n registerModal = 'register-modal',\n confirmRemoveLocation = 'confirmRemoveLocation',\n removeLocationTitle = 'removeLocationTitle',\n successErrorRemoveCompanyLocation = 'successErrorRemoveCompanyLocation',\n termsAndCondition = 'termsAndCondition',\n addNewLocationMsg = 'addNewLocationMsg',\n addNewEquipment = 'addNewEquipment',\n moveTruckSuccessFailure = 'moveTruckSuccessFailure',\n errorBusinessSection='error-business-section',\n businessRegistrationSubmitModalTitle = 'businessRegistrationSubmitModalTitle',\n businessRegistrationUploadModal='businessRegistrationUploadModal',\n uploadFileTitle = 'uploadFileTitle',\n vertexVerificationModal = 'vertexVerificationModal',\n companyNotFoundModal = 'companyNotFoundModal'\n}\n\nexport enum ConfirmRemovalButton {\n removeEquipment = 'Remove Equipment',\n cancel = 'Cancel',\n}\n\nexport enum EquipmentButtons {\n removeEquipment = 'Remove Equipment',\n moveEquipment = 'Move Equipment'\n}\n\nexport enum FileName {\n myfleet = 'MyFleet',\n userManagement = 'UserManagement',\n orderManagement = 'EquipmentOrderList',\n serviceManagement = 'Servicehistory',\n companyLocations = 'CompanyLocations',\n assignUserList= 'UserList',\n userLocationListUploadTemplate='ToyotaMaterialHandelling',\n inviteUserTemplate='Invite_Users_Template',\n addBulkEquipmentTemplate='Add_Bulk_Equipment_Template',\n myQuotesList = 'QuoteManagement',\n connectedEquipmentList = 'ConnectedEquipmentList',\n bulkequipmentReport = 'bulk_equipment_report',\n addBulkEquipmentToyotaDownloadReportTemplate = 'Add_Bulk_Equipment_Toyota_Download_Report_Template',\n addBulkEquipmentNonToyotaDownloadReportTemplate = 'Add_Bulk_Equipment_NonToyota_Download_Report_Template',\n addBulkLocationTemplate = 'Location_Bulk_Upload'\n}\n\nexport enum ConfirmLeavePageButtons {\n stay = 'Stay on Page',\n leave = 'Leave Page'\n}\nexport enum FilterOptions {\n location = 'Location',\n division = 'Division',\n group = 'Group',\n dateRange = 'Date Range',\n repairType = 'Repair Type',\n equipmentType = 'Equipment Type',\n equipmentClassification = 'Equipment Classification',\n status = 'Status',\n changeRequestType = 'Change Request Type',\n assignedLoc = 'Assigned Location',\n dateRangeMyFleet = 'Date Of First Use',\n telematicStatus = 'Telematic Status',\n role = 'Role',\n billingAddress = 'Billing Address',\n billingLocation = 'Billing Location',\n shippingLocation = 'Shipping Location',\n customDateRange = 'Custom Date Range',\n serviceAddress = 'Service Address',\n shippingAddress = 'Shipping Address'\n}\nexport enum OrderStatus {\n production = 'Unit in production',\n quality = 'Quality inspection completed',\n awaitingDealer = 'Unit awaiting shipment to dealer',\n order = 'Order Confirmed',\n orderProcess = 'Order in Process',\n scheduledProd = 'Scheduled for Production',\n unit = 'Unit shipped to dealer',\n delivery = 'Unit at dealership, awaiting delivery',\n delivered = 'Unit delivered',\n cancelled = 'Cancelled',\n orderProduction = 'In Production',\n shipped = 'Shipped',\n deliverStatus = 'Delivered'\n}\nexport enum MobileAssignedUsers {\n name = 'Name',\n email = 'Email',\n role = 'Role',\n jobTitle = 'Job Title',\n status = 'Status'\n\n}\nexport enum ExpansionCondition {\n showMore = 'Show More',\n showLess = 'Show Less',\n viewMore = 'View More',\n}\n\nexport enum BulkEquipmentTabLabels {\n addEquipment = 'Add Equipment',\n bulkEquipment = 'Upload Equipment',\n uploadLimitText = 'Upload Limit :',\n\n}\n\nexport enum SuccessFailureBtn {\n close = 'Close',\n addEqp = 'Add Another Equipment',\n addNewEqp = 'Add',\n confirmLocation = 'Confirm'\n}\nexport const countries: {label: string; value: string}[] = [\n\t{ label: 'Canada', value: 'CAN' },\n\t{ label: 'United States', value: 'USA' }\n];\nexport const states: {label: string; value: string}[] = [\n\t{ label: 'Alabama', value: 'AL' },\n\t{ label: 'Alaska', value: 'AK' },\n\t{ label: 'American Samoa', value: 'AS' },\n\t{ label: 'Arizona', value: 'AZ' },\n\t{ label: 'Arkansas', value: 'AR' },\n\t{ label: 'California', value: 'CA' },\n\t{ label: 'Colorado', value: 'CO' },\n\t{ label: 'Connecticut', value: 'CT' },\n\t{ label: 'Delaware', value: 'DE' },\n\t{ label: 'District of Columbia', value: 'DC' },\n\t{ label: 'Florida', value: 'FL' },\n\t{ label: 'Georgia', value: 'GA' },\n\t{ label: 'Guam', value: 'GU' },\n\t{ label: 'Hawaii', value: 'HI' },\n\t{ label: 'Idaho', value: 'ID' },\n\t{ label: 'Illinois', value: 'IL' },\n\t{ label: 'Indiana', value: 'IN' },\n\t{ label: 'Iowa', value: 'IA' },\n\t{ label: 'Kansas', value: 'KS' },\n\t{ label: 'Kentucky', value: 'KY' },\n\t{ label: 'Louisiana', value: 'LA' },\n\t{ label: 'Maine', value: 'ME' },\n\t{ label: 'Maryland', value: 'MD' },\n\t{ label: 'Massachusetts', value: 'MA' },\n\t{ label: 'Michigan', value: 'MI' },\n\t{ label: 'Minnesota', value: 'MN' },\n\t{ label: 'Mississippi', value: 'MS' },\n\t{ label: 'Missouri', value: 'MO' },\n\t{ label: 'Montana', value: 'MT' },\n\t{ label: 'Nebraska', value: 'NE' },\n\t{ label: 'Nevada', value: 'NV' },\n\t{ label: 'New Hampshire', value: 'NH' },\n\t{ label: 'New Jersey', value: 'NJ' },\n\t{ label: 'New Mexico', value: 'NM' },\n\t{ label: 'New York', value: 'NY' },\n\t{ label: 'North Carolina', value: 'NC' },\n\t{ label: 'North Dakota', value: 'ND' },\n\t{ label: 'Ohio', value: 'OH' },\n\t{ label: 'Oklahoma', value: 'OK' },\n\t{ label: 'Oregon', value: 'OR' },\n\t{ label: 'Pennsylvania', value: 'PA' },\n\t{ label: 'Puerto Rico', value: 'PR' },\n\t{ label: 'Rhode Island', value: 'RI' },\n\t{ label: 'South Carolina', value: 'SC' },\n\t{ label: 'South Dakota', value: 'SD' },\n\t{ label: 'Tennessee', value: 'TN' },\n\t{ label: 'Texas', value: 'TX' },\n\t{ label: 'Utah', value: 'UT' },\n\t{ label: 'Vermont', value: 'VT' },\n\t{ label: 'Virginia', value: 'VA' },\n\t{ label: 'Virgin Islands', value: 'VI' },\n\t{ label: 'Washington', value: 'WA' },\n\t{ label: 'West Virginia', value: 'WV' },\n\t{ label: 'Wisconsin', value: 'WI' },\n\t{ label: 'Wyoming', value: 'WY' }\n];\nexport const provinces = [\n\t{ label: 'Alberta', value: 'AB' },\n\t{ label: 'British Columbia', value: 'BC' },\n\t{ label: 'Manitoba', value: 'MB' },\n\t{ label: 'New Brunswick', value: 'NB' },\n\t{ label: 'Newfoundland and Labrador', value: 'NL' },\n\t{ label: 'Northwest Territories', value: 'NT' },\n\t{ label: 'Nova Scotia', value: 'NS' },\n\t{ label: 'Nunavut', value: 'NU' },\n\t{ label: 'Ontario', value: 'ON' },\n\t{ label: 'Prince Edward Island', value: 'PE' },\n\t{ label: 'Quebec', value: 'QC' },\n\t{ label: 'Saskatchewan', value: 'SK' },\n\t{ label: 'Yukon', value: 'YT' }\n];\n\nexport const jobTitle = [\n\t{ label: 'Purchasing', value: '02' },\n\t{ label: 'Finance/Accounting', value: '09' },\n\t{ label: 'Maintenance Manager', value: 'MM' },\n\t{ label: 'Operations Manager', value: 'OM' },\n\t{ label: 'Safety Mgmt', value: 'XD' },\n\t{ label: 'Plant Manager', value: 'Z1' },\n\t{ label: 'President/CEO', value: 'Z4' },\n\t{ label: 'Engineering Mgmt', value: 'Z7' },\n\t{ label: 'Fleet & Maint. Mgmt', value: 'ZF' },\n\t{ label: 'General Manager', value: 'ZG' },\n\t{ label: 'Logistics/SupplyChain', value: 'ZL' },\n\t{ label: 'Manager', value: 'ZM' },\n\t{ label: 'Owner / Proprietor', value: 'ZO' },\n\t{ label: 'Engineer', value: 'ZR' },\n\t{ label: 'Vice President', value: 'ZV' },\n\t{ label: 'Warehouse Manager', value: 'ZW' },\n\t{ label: 'Facilities Mgmt', value: 'ZX' }\n];\n\nexport enum UserRoles {\n defaultUser = 'd345b32d-642e-45d9-a5dd-f273b1e2203b',\n admin = 'eeb8928f-3ca2-4388-9acb-411e043806e7',\n};\n\nexport enum Icons {\n loaderWhite = 'assets/Loader2.gif',\n loaderOrange = 'assets/loader.gif',\n loaderWithoutForklift = 'assets/loaderWithoutFork.gif',\n rightArrowOrange = 'assets/arrowRightOrange.svg',\n arrowRight = 'assets/arrowRight.svg',\n leftArrow = 'assets/arrowLeft.svg',\n noResult = '/assets/noresults.svg',\n filter = '/assets/filter.svg',\n email = 'assets/Email.png',\n phone = 'assets/phone.png',\n location = 'assets/location.png',\n storePartsPortalBanner = 'assets/Store_Parts_Portal_desktop.png',\n storePartsPortalBannerMobile = 'assets/Store_Parts_Portal_mobile.png',\n tayota360WarrantyPortal = 'assets/Warranty_Portal_Desktop.png',\n tayota360WarrantyPortalMobile = 'assets/Warranty_Portal_Mobile.png',\n unauthorized = '/assets/401_Unauthorized.png',\n pendingApproval = '/assets/Pending.png',\n userNotActivated = '/assets/User_not_activated.png',\n arrowDown = 'assets/arrowDown.svg',\n chevronDownDesk = 'assets/chevron-downDesk.svg',\n chevronDown = 'assets/chevron-down.svg',\n externalLink = 'assets/external_link.svg',\n trash = 'assets/trash.svg',\n deleteDisabled = 'assets/deleteDisabled.svg',\n noMessage = 'assets/NoMessage.svg',\n closePng = 'assets/close.png',\n greenDot = 'assets/green_dot.svg',\n notificationoffer = 'assets/offer.svg',\n activeIcon = 'assets/active.svg',\n actionIcon = 'assets/action.svg',\n moreIcon = '/assets/moreIcon.svg',\n moreIconDisabled = '/assets/moreIconDisabled.svg',\n desktopBanner = 'assets/desktopBanner.png',\n mobileBanner = 'assets/mobileBanner.png',\n userIcon = 'assets/userIcon.svg',\n equipmentIcon = 'assets/equipmentIcon.svg',\n noLocation = 'assets/unassignedLocation.svg',\n approveIcon = 'assets/approveIcon.svg',\n rejectIcon = '/assets/rejectIcon.svg',\n addLink = 'assets/addRole.svg',\n unreadNotifications = 'assets/unreadNotification.svg',\n trashIcon= 'assets/trashIcon.svg',\n trashDisabled = 'assets/trashDisabled.svg',\n accordionExpandedIcon = 'assets/accordion_expanded.svg',\n accordionCollapsedIcon = 'assets/accordion_collapsed.svg',\n toolTipCloseIcon = '/assets/tooltip-close-icon.svg',\n activeStatus = '/assets/status_active.svg',\n inActiveStatus = '/assets/status_inactive.svg',\n checkAcceptDisabled='/assets/check-accept-disabled.svg',\n closeRejectDisabled='/assets/close-reject-disabled.svg',\n editCompanyDetail='assets/edit.svg',\n editCompanyDetailDisabled='assets/editDisabled.svg',\n uploadFile='assets/uploadFile.svg',\n congratulations = 'assets/congratulations.svg',\n apiIssue='assets/apiIssue.svg',\n myInsightsLogo='assets/myInsightsLogo.svg',\n uploadLocationList='assets/uploadLocationList.svg',\n basicDevice='assets/basicDevice.svg',\n impactSensor = 'assets/impact_sensor.svg',\n uploadDisabled= 'assets/uploadDisabled.svg',\n dragDropIcon = 'assets/download.svg',\n checkGreen = 'assets/checkGreen.svg',\n actionRed = 'assets/actionRed.svg',\n keyHours = 'assets/key-hours.svg',\n vehicleIcon = 'assets/vehicleMarker.svg',\n assignedLocationPin = 'assets/orangeMarker.svg',\n recenter = 'assets/recenter.svg',\n mapError = 'assets/mapErrorIcon.svg',\n noErrorCodes = 'assets/No_errorcodes_icon.svg',\n currentStatusIcon = 'assets/checkbox_forklift.png',\n\tgreyLine= 'assets/grey_Rectangle.png',\n\tdeliveredStatusIcon = 'assets/line_forklift.png',\n\tblueLine = 'assets/blue_rectangle.png',\n\tnotDeliveredIcon = 'assets/forklift.png',\n noConnectedDevicesFound = '/assets/noConnectedDevicesFound.svg',\n chevronRightBlue = '/assets/chevron-right.svg',\n errorIcon = '/assets/errorIcon.svg',\n pdfIcon = '/assets/myservice_pdf.svg',\n wifiOrange = 'assets/Telematics.svg',\n wifigrey = 'assets/wifi_grey.svg',\n downloadData = '/assets/download-data.svg',\n downloadDataDisabled = '/assets/download-data-disabled.svg',\n uploadBulkLocationEnabled = '/assets/upload_list_locations.svg',\n uploadBulkLocationDisabled = '/assets/upload_list_locations_disabled.svg'\n}\nexport enum AltText{\n editAdmingCompanyDetail='Edit Company Details',\n uploadFile='Upload File'\n}\nexport enum BusinessAccountCategory{\n date='date',\n primary='primary',\n editData='editData',\n multiline='multiline',\n uploadFile='uploadFile',\n button='button'\n\n}\nexport enum SuccessMessage {\n locationAccessUpdate = 'Location access request permission changed successfully.',\n}\n\nexport enum ErrorMessage {\n newEquipmentNoDataTooltip = 'No equipment orders in specific status.',\n noLocations= 'You have not been assigned to any location.',\n approveUserErrorMsg = 'Server Error. Please try again.',\n fleetWidgetFailureError = 'Failed to load, please refresh the page.',\n unauthorizedError = '401 Unauthorized',\n saveUserError = 'Unfortunately we are having trouble connecting systems. Please try again.',\n commonError = 'Internal Server Error.',\n apiErrorMessage = 'Unfortunately, we are unable to process your request. Please try again or contact MyToyota Customer Service at customerservice@toyotatmh.com if the issue persists.',\n fleetMoveEquipmentFleetManagedLocation = 'Toyota Material Handling Fleet Services manages this location. Please contact Toyota Customer Service to request your equipment to be moved to a new location.',\n fleetMoveEquipmentAlreadyRequested = 'Equipment already has a pending request. Please check the VIN on the Change Requests table on the MyFleet page.',\n furtherActionsContactMessage='For further actions, please contact your admin at $token',\n productionSupport='API error, please contact production support team.',\n vinAlreadyExists='VIN/Equipment already exist.',\n vinExistsInAnotherLocation='VIN found at another location.',\n registration504Error = 'Sorry! We have encountered an issue on our side. Please try again. If the problem continues please contact Toyota Customer Service at customerservice@toyotatmh.com',\n lastTenErrorcodesEmptyData = 'There are currently no reported error codes on this equipment.',\n fleetaccountClassificationError='Sorry, an issue has occurred which requires your help. Please contact Toyota Customer Service to complete this action.',\n fleetToNonfleetError='Toyota Material Handling Fleet Services manages this location. Please contact Toyota Customer Service to request your equipment to be added to a new location.',\n noAssociatedResultsFoundText = 'No associated groups found',\n myinsightsDownloadError = 'Unable to download table due to connection error. Please try again later',\n userStatusUpdateError='We encountered an error. Please retry your action.',\n shippingListErrorMessage = 'Details not available at this time, Please return later',\n inviteUserBulkUploadApiFailure = 'An unexpected error occurred. Please try again later.',\n invalidEmailFormat = 'Invalid email format.',\n companyNotFoundError = 'Company not found',\n downloadError = 'Download failed. Reduce the file size by applying a filter.'\n};\n\nexport enum WarningMessage {\n max40CharactersLimit = 'Maximum 40 characters allowed.',\n}\n\nexport enum PermissionCategory {\n myFleet = 'FLEET_MAIN',\n equipmentDetails = 'EQUIPMENT_DETAILS',\n rolesPermissions = 'ROLES_PERMISSIONS',\n orderManagement = 'ORDER_MANAGEMENT',\n userManagement = 'USER_MANAGEMENT',\n serviceManagement = 'SERVICE_MANAGEMENT',\n dashBoard = 'DASHBOARD',\n finance = 'FINANCE',\n accountSettings = 'ACCOUNT_MANAGEMENT',\n locationManagement = 'LOCATION_MANAGEMENT',\n myQuote = 'MY_QUOTE',\n myInsights = 'MY_INSIGHTS_MAIN',\n notification = 'NOTIFICATION'\n}\nexport enum PermissionDefault {\n viewDetails = 'VIEW_DETAILS',\n viewMyFleetDetails = 'VIEW_MYFLEET_DETAIL',\n viewOrderManagementPage = 'VIEW_ORDER_MNGMENT_PAGE',\n viewOrderDetailPage = 'VIEW_ORDER_DETAIL',\n viewUserManagement = 'VIEW_USER_MANAGEMENT_PAGE',\n viewUserDetail = 'USER_DETAILS_PAGE',\n viewApproveUser = 'VIEW_APPROVE_NEW_USER',\n viewServiceManagement = 'VIEW_SERVICE_CONTENT',\n viewDashboard = 'VIEW_DASHBOARD',\n viewFinance = 'VIEW_FINANCE_PAGE',\n viewAccountManagement = 'VIEW_OPT_ACCOUNT_SETTING',\n viewLocationManagement = 'VIEW_OPT_LOCATION_MANAGEMENT',\n viewLocationDetails = 'VIEW_LOCATION_DETAILS_PAGE_COMPANY_PROFILE',\n viewAddLocation = 'VIEW_OPT_ADD_NEW_LOCATION_PAGE',\n viewMyQuote = 'VIEW_OPT_MY_QUOTE',\n viewMyInsights = 'VIEW_MYINSIGHTS_MAIN',\n viewAddUser = 'ADD_NEW_USERS_PAGE',\n viewNotification = 'VIEW_OPT_MY_NOTIFICATION',\n viewDomainManagement = 'VIEW_DOMAIN_TAB',\n}\n\nexport enum PermissionActions {\n buyParts = 'BUY_PARTS',\n serviceButton = 'REQUEST_SERVICE_BUTTON',\n viewOemTab = 'VIEW_OEM_TAB',\n viewMyInsights = 'VIEW_MYINSIGHTS_TAB',\n viewFinancing = 'VIEW_FINANCE_TAB',\n viewServicing = 'VIEW_SERVICE_TAB',\n orderDetailsLink = 'LINK_ORDER_DETAIL_ORDER',\n equipmentDetailsLink = 'LINK_EQUIP_DETAIL_ORDER',\n viewOrderManagementPage = 'VIEW_ORDER_MNGMENT_PAGE',\n moveRemoveEquipment = 'REMOVE_MOVE_EQUIPMENT',\n viewServiceManagement = 'VIEW_SERVICE_CONTENT',\n viewFilterServiceWidgets = 'VIEW_FILTER_WIDGET',\n viewServiceHistoryTable = 'VIEW_SERVICE_TABLE',\n viewServiceOrderDetails = 'VIEW_SERVICE_DETAIL',\n addMoveRemoveEquipment = 'ADD_REMOVE_MOVE_EQUIPMENT',\n linkToEquipmentDetails = 'LINK_TO_EQUIPMENT_DETAILS',\n userDetailLink = 'LINK_USER_DETAIL_PAGE',\n approveUserLink = 'LINK_APPROVE_USER_PAGE',\n serviceOrderLink = 'LINK_SERVICE_DETAILS_PAGE',\n viewFleetWidget = 'VIEW_FLEET_WIDGET',\n viewDealerWidget = 'VIEW_DEALER_WIDGET',\n viewEquipmentOrderWidget = 'VIEW_EQUIP_ORDER_WIDGET',\n serviceButtonDashboard = 'VIEW_SERVICE_BTN',\n viewOptDashbaord='VIEW_OPT_DASHBOARD',\n viewEquipmentOrderDetails='LINK_TO_EQUIP_ORDER_DETAILS',\n viewEquipmentDetailsDashboard='LINK_TO_EQUIP_DETAILS_DASHBOARD',\n viewProfileDetails='VIEW_PROFILE_ACCOUNT_SETTING',\n viewCompanyDetails='VIEW_COMPANY_PROFILE_ACCOUNT_SETTING',\n addRemoveButtonCompanyProfile = 'ADD_REMOVE_LOCATION_BTN_COMPANY_PROFILE',\n downloadBtnCompanyProfile = 'DOWNLOAD_BTN_COMPANY_PROFILE',\n linkToLocationDetails = 'LINK_TO_LOCATION_DETAILS_COMPANY_PROFILE',\n assignUsersLocationDetails = 'ASSIGN_USERS_BTN_LOCATION_DETAILS',\n downloadBtnLocationDetails = 'DOWNLOAD_BTN_LOCATION_DETAILS',\n removeLocationBtnLocationDetails = 'REMOVE_LOCATION_BTN_LOCATION_DETAILS',\n userProfileDisable = 'USER_PROFILE_DISABLE',\n addLocationDisable = 'ADD_LOCATION_DISABLE',\n disableAssignedLocationsEllipsis = 'ELLIPSES_DISABLE',\n disableRoleStatusDropdown = 'ROLE_STATUS_DROPDOWN_DISABLE',\n disableAssignUnassignLocation = 'ASSIGN_UNASSIGN_LOCATION_DISABLE',\n disableAssignLocationCheckbox = 'CHECKBOXES_DISABLE',\n disableSaveChangesBtn = 'SAVE_CHANGES_BUTTON_DISABLE',\n addUserButtonDisable = 'ADD_USER_BUTTON_DISABLE',\n serviceButtonDisable = 'SERVICE_BTN_DISABLE',\n addEquipmentEllipsisDisable = 'ADD_EQUIP_ELLIPSES_DISABLE',\n contactFormDisable = 'CONTACT_FORM_DISABLE',\n buyPartsReqServiceDisable = 'BUY_PARTS_REQ_SERVICE_DISABLE',\n moveRemoveEquipDisable = 'REMOVE_MOVE_EQUIP_DISABLE',\n requestServiceBtnDisable = 'REQUEST_SERVICE_BUTTON_DISABLE',\n approveRejectBtnDisable = 'APPROVAL_REJECTION_BUTTON_DISABLE',\n accessTableDropdownCheckboxDisable = 'DROPDOWN_CHECKBOXES_ACCESS_TABLE_DISABLE',\n userlistStatusDropdownDisable = 'STATUS_DROPDOWN_DISABLE',\n viewDomain = 'VIEW_DOMAIN_TAB',\n viewEditDomain = 'MODIFY_DOMAIN_INFO',\n viewAddDomain = 'ASSIGN_DOMAIN',\n viewToggleLocation = 'TOGGLE_LOCATION_PERMISSIONS_BTN',\n viewAddLocationModal = 'ASSIGN_LOCATION_PERMISSIONS_BTN',\n disableToggleLocation = 'TOGGLE_LOCATION_PERMISSIONS_BTN_DISABLE',\n}\n\nexport enum DefaultValue {\n skip = 0,\n limit = 50,\n notificationLimit = 7\n}\n\nexport enum FieldName {\n email = 'email',\n serviceDate = 'serviceDate',\n workOrderNumber = 'workOrderNumber',\n cost = 'cost',\n status = 'status',\n invoiceNumber = 'invoiceNumber',\n name = 'name',\n vin = 'vin',\n lastLogin = 'lastLogin',\n orderNumber = 'orderNumber',\n truckNumber = 'truckNumber',\n equipmentVin = 'equipmentVin',\n orderDate = 'orderDate',\n eta = 'ETA',\n dueDate = 'dueDate',\n locationAddress = 'locationAddress',\n assignedLocations = 'assignedLocations',\n id = 'id',\n userId= 'userId',\n customerId = 'customerId',\n location = 'location',\n crmOppNumber = 'crmOppNumber',\n assignedLocation = 'assignedLocation',\n equipmentType = 'equipmentType',\n manufacturer = 'manufacturer',\n locationId='locationID',\n modelID='modelID',\n assetNumber='assetNumber',\n dateOfFirstUse='dateOfFirstUse',\n changeRequestId='changeRequestID',\n date='date',\n telematicsStatus = 'telematicsStatus',\n lastTimestamp = 'lastTimestamp',\n billingAddress='billingAddress',\n dealership='dealership',\n quoteId='quoteId',\n billingLocationAddress = 'billingAddress',\n shippingLocationAddress = 'shippingAddress',\n dashboardBillingLocationAddress = 'billingLocationAddress',\n dashboardShippingLocationAddress = 'shippingLocationAddress',\n billingLocation = 'billingLocation',\n shippingLocation = 'shippingLocation',\n model = 'model',\n equipmentStatus = 'Status',\n creationDate='creationDate',\n keyHours = 'keyHours',\n averageUtilization = 'averageUtilization',\n totalImpact = 'totalImpact',\n batteryStateOfCharge = 'batteryStateOfCharge',\n role = 'role'\n}\nexport enum OrderStatusHeader {\n pastDue = 'pastDue',\n open = 'open',\n upcoming = 'upcoming',\n paid = 'paid',\n all = 'all'\n}\n\nexport enum ToolTipMessages {\n dashboardOpenQuotesTooltip = 'Includes both Ready for Review and In Process quotes.',\n dashboardActiveEquipmentOrdersTooltip = 'Includes both In Process and In Production orders.',\n \n}\nexport const assignedHeaders= [ 'Name', 'Email', 'Role', 'Job Title', 'Status' ];\nexport enum BreadCrumb {\n addNewLocation = 'Add New Location',\n locationDetails = 'Location Details',\n addNewDomain = 'Add New Domain',\n editDomain = 'Edit Domain'\n}\n\nexport enum FleetListTabHeader{\n fleetList = 'Fleet List',\n changeRequest = 'Change Request'\n}\n\nexport enum CompanyLocationsTableHeader {\n locationLabel = 'Location Label',\n\t\taddress = 'Address',\n country = 'Country',\n\t\tassignedUsers = 'Assigned Users',\n\t\tequipmentCount = 'Equipment'\n}\nexport enum AssignedUserTableHeader {\n name = 'Name',\n\t\temail = 'Email',\n\t\trole = 'Role',\n\t\tjobTitle = 'Job Title',\n\t\tstatus = 'Status'\n}\nexport enum BulkEquipmentHeader {\n model = 'Model',\n serial = 'Serial',\n make = 'Make',\n currentlocation = 'Current Location',\n targetLocation = 'Target Location',\n status = 'Status',\n message = 'Message'\n}\n\nexport enum AddBulkEquipmentDownloadReportTemplate {\n model = 'Model',\n serial = 'Serial',\n location = 'Location ID',\n status = 'Status',\n additionalInformation = 'Additional Information',\n}\nexport enum AddBulkEquipmentNonToyotaDownloadReportTemplate {\n model = 'Model',\n serial = 'Serial',\n location = 'Location ID',\n make = 'Make',\n makeYear = 'Make Year',\n equipmentClassification = 'Equipment Classification',\n status = 'Status',\n additionalInformation = 'Additional Information',\n}\nexport enum RemoveBulkEquipmentHeader {\n model = 'Model',\n serial = 'Serial',\n make = 'Make',\n reason = 'Reason',\n status = 'Status',\n message = 'Message'\n}\nexport enum UseVerifiedOrEditAddress {\n useVerifiedAddress = 'Use Verified Address',\n editAddress = 'Edit Address',\n cssClass = 'confirmVerifiedAddress',\n label = 'Verify Your Address'\n}\nexport enum PortalRole {\n companyAdmin = 'Company Admin'\n}\nexport enum ModalButtonId {\n agree = '3311f022-ae28-4fe6-a0ee-9163b05e2547',\n cancel = '74d837c6-b5c4-40e5-a91f-5aee33dbdafa',\n proceed = '6cb83409-79b9-480e-993a-ad792ca353bd',\n save = 'b2d709e2-56ef-48d0-9ba1-b8968de92c36',\n removeLocation = '82de5a0f-2963-4e89-9727-72596cabca2c',\n manageFleet = 'bd505b2d-0ceb-4492-b97b-849f1836d168',\n close = 'fb5f3cbe-5163-11ee-be56-0242ac120002'\n}\nexport enum MyFleetTableLabels {\n equipmentVin = 'equipmentVin',\n modelID = 'modelID',\n assetNumber = 'assetNumber',\n equipmentType = 'equipmentType',\n manufacturer = 'make',\n dateOfFirstUse = 'dateOfFirstUse',\n assignedLocation = 'assignedLocation',\n telematicsStatus = 'telematicsStatus',\n fleetType = 'fleetType'\n}\nexport enum TermsAndPrivacy {\n termsAndConditions = 'Terms & Conditions of Use',\n privacyPolicy = 'Privacy Policy'\n}\nexport enum RegistrationStatus {\n approved = 'approved',\n inProgress = 'in_progress'\n}\nexport enum RegistrationRequestType {\n businessAdminUser = 'BUSINESS_ADMIN_USER'\n}\nexport const serviceCampaignClass = 'service-campaign-link';\n\nexport enum ApplicationPath{\n authentication = '/auth',\n dashboard = '/app/dashboard',\n myFleet = '/app/myfleet',\n orderManagement = '/app/order-management',\n serviceManagement = '/app/service-management',\n userManagement = '/app/user-management',\n userManagementApprove = '/app/user-management/approve',\n userManagementAddUser = '/app/user-management/adduser',\n accountSettingsCompany = '/app/location-management',\n accountSettingsLocation = '/app/location-management/location',\n accountSettingsAddLocation = '/app/location-management/add-new-location',\n accountSettingsDomain = '/app/account-settings/domain',\n accountSettingsAddDomain = '/app/account-settings/add-domain',\n accountSettingsEditDomain = '/app/account-settings/edit-domain',\n authError = '/app/error',\n unAuthError = '/error',\n confirmation = '/confirmation',\n pendingBusinessApproval = '/pending-approval',\n customerportal='/customerportal',\n businessAccountRequest = '/businessaccountrequest',\n customerSupport = '/customer-support'\n}\n\nexport enum HeaderStateField {\n serviceDate = 'Service Date',\n dateOfFirstUse ='Date of First Use',\n orderDate = 'Order Date',\n name = 'Name',\n cost = 'Cost',\n paymentStatus = 'Payment Status',\n invoiceNumber = 'Invoice',\n date = 'Date',\n telematicsStatus = 'Connected',\n orderNumber = 'Order #'\n}\n\nexport enum ButtonSize {\n small = 'small',\n medium = 'medium',\n large = 'large'\n}\n\nexport enum ButtonStyle {\n primary= 'primary',\n secondary = 'secondary',\n destructive = 'destructive',\n secDestruct = 'secondary-destructive',\n tertiary = 'tertiary',\n link = 'link',\n linkPrimary = 'link-primary'\n}\n\nexport enum ButtonPosition {\n left = 'left',\n right = 'right',\n none = 'none'\n}\n\nexport enum FormattingName {\n companyName = 'companyName',\n addressOne = 'addressLine1',\n addressTwo = 'addressLine2',\n city = 'city',\n accountName = 'accountName'\n}\n\nexport enum ChangeRequestType {\n add = 'add',\n move = 'move',\n remove = 'remove'\n}\nexport enum UserType {\n generalUser = 'GENERAL_USER',\n individualUser = 'INDIVIDUAL_USER',\n businessAdminUser = 'BUSINESS_ADMIN_USER'\n}\n\nexport enum MyFleetTelematicsStatus {\n connected = 'connected',\n notConnected = 'Not Connected',\n notConnectedCamleCase = 'notConnected',\n notConnectedWithoutSpace = 'NotConnected',\n null = 'null',\n downloadNull = 'Unable to retrieve information'\n}\nexport enum MyQuotesStatusHeader {\n all = 'all',\n quoteinProcess = 'quoteinProcess',\n quoteAccepted = 'quoteAccepted',\n ordered = 'ordered',\n expired = 'expired',\n readyForReview = 'readyForReview'\n}\nexport enum MyFleetStatusHeader {\n all = 'all',\n awaitingApproval = 'awaiting approval',\n cancelled = 'cancelled',\n approved = 'approved'\n}\nexport enum EllipsisOptions {\n editLocationLabel = 'Edit Location Label',\n makePrimaryLocation = 'Make Primary Location',\n removeLocation = 'Remove Location'\n}\n\nexport enum ApiResponseStatus{\n success='success',\n error='error'\n}\nexport enum MyInsightsAccordionType {\n helpGuide = 'MyInsights Help Guide',\n telematicsDocumentation = 'MyInsights Telematics Legal Documentation'\n}\nexport enum SubscriptionType {\n desktop = 'subscriptionsDesktop',\n mobile = 'subscriptionsMobile'\n}\n\nexport enum IsRequestSubmittedForReview {\n isRequestSubmittedForReview = 'isRequestSubmittedForReview'\n}\n\nexport enum BooleanValues {\n true = 'true',\n false = 'false'\n}\n\nexport enum IdleUserTimes {\n idleTime = 600000,\n countdownTime = 5000\n}\n\nexport enum MaxDeviceWidth {\n mobile = 768,\n}\n\nexport const skipAuthUrls = ['/contact-us'];\n\nexport enum InviteUserheader {\n id = 'Id',\n email = 'Email',\n phoneNumber = 'PhoneNumber',\n firstName = 'FirstName',\n lastName = 'LastName',\n jobTitleDescription = 'JobTitleDescription',\n jobTitle = 'Job Title',\n roleName = 'RoleName',\n roles = 'Roles',\n company = 'Company',\n portalApprovedCustomerID = 'PortalApprovedCustomerID',\n contactID = 'ContactID',\n tcDate = 'TcDate',\n privacyDate = 'PrivacyDate',\n portalApproveUserDate = 'PortalApproveUserDate',\n userStatus = 'UserStatus',\n lastLogin = 'Last Login',\n portalApprovedCustomerIDCount = 'Portal Approved CustomerID Count',\n name = 'Name',\n rootLocationGRID = 'RootLocationGRID',\n primaryLocationGRID = 'PrimaryLocationGRID',\n adminLocationID = 'AdminLocationID',\n topLevelGrid = 'TopLevelGrid',\n isBusinessAccount = 'IsBusinessAccount',\n userStatusUpdateState = 'UserStatusUpdateState',\n active = 'Active',\n success = 'Success',\n errors = 'Errors',\n}\n\nexport enum InviteBulkUserheader {\n email = 'Email ID',\n firstName = 'FirstName',\n lastName = 'LastName',\n phoneNumber = 'PhoneNumber',\n roleName = 'Role Name',\n jobTitle = 'Job Title',\n locationId = 'Location ID',\n isValid = 'IsValid',\n sendEmailInvite = 'Send Email Invite',\n errors = 'Errors'\n}\n\nexport enum DashboardCardTooltip { \n openQuotes = 'Open Quotes',\n activeEquipmentOrders = 'Active Equipment Orders',\n}\nexport enum ByParts {\n buyParts = 'Buy Parts',\n}\n\nexport enum VerifyEquipmentCodes {\n equipmentNotFound = 'EQUIPMENT_NOT_FOUND',\n equipmentVerified = 'EQUIPMENT_VERIFIED',\n equipmentAlreadyExist = 'EQUIPMENT_ALREADY_EXISTS',\n equipmentAtAnotherLocation = 'EQUIPMENT_FOUND_AT_DIFFERENT_LOCATION',\n nonToyotoequipmentVerified = 'ADD_NON_TOYOTA_EQUIPMENT',\n issueType = 'TOYOTA_EQUIPMENT_NOT_FOUND',\n equipmentAtAnotherCompany = 'EQUIPMENT_FOUND_AT_DIFFERENT_COMPANY'\n}\n\nexport enum UserDetailsConstant {\n location = 'location',\n address = 'address',\n locationid = 'locationid',\n checked = 'checked',\n disable = 'disable',\n companyAdminRole = 'Company Admin',\n statusInactive = 'inactive',\n statusActive = 'active',\n updateValue = 'updateValue',\n assigned = 'Assigned',\n unassigned = 'Unassigned',\n name = 'Name',\n updatedRole = 'Updated Role',\n updatedStatus = 'Updated Status',\n submit = 'Submit',\n changed = 'changed'\n\n}\n\nexport enum UserFilterConstants {\n allLocation = 'all',\n assignedLocation = 'assigned',\n unassignedLocation = 'unassigned'\n}\n\nexport enum DropDownOption {\n all = 'all',\n fleet = 'Fleet',\n self = 'self',\n customer = 'Customer'\n}\n\nexport enum DownloadNote {\n en = 'Downloading ...',\n fr = 'Téléchargement...'\n}\n\nexport enum TermsAndConditionPrivacyPolicyInfoBannerText{\n tandCInfoBannerText = 'Please scroll through and read the Terms & Conditions of Use, then agree to them by checking the box to continue using the MyToyota Portal',\n privacyPolicyInfoBannerText = 'Please scroll through and read the Privacy Policy, then agree to them by checking the box to continue using the MyToyota Portal'\n}\n","/* eslint-disable max-lines */\nimport { Injectable } from '@angular/core';\nimport { Control, ControlType, KngCardListState, KngHeaderObjState, KngFilterState, KngHeaderNavMenuOption, ScreenView, SortOrder, GridValue, CtaList, AprRejBtnType, KngButtonState } from 'kinetic-angular';\nimport { Icons } from './shared-enums';\nimport { nullCheckValue } from './shared-constants';\nimport { Image } from './shared-interface';\nimport { GlobalHeader } from '../../components/main-entry/definitions';\nimport { UserDetailMiddle } from '../../components/user-management/sub-modules/user-details/definitions/user-detail.interface';\nimport { SharedFilterFactory } from './shared-filter.factory';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedFactoryDataService \n{\n\tpublic static getAccordionCollapsedIcon() \n\t{\n\t\treturn {\n\t\t\ticonPath: '/assets/accordion_collapsed.svg',\n\t\t\taltText: 'Collapsed'\n\t\t};\n\t}\n\tpublic static getAccordionExpandedIcon() \n\t{\n\t\treturn {\n\t\t\ticonPath: '/assets/accordion_expanded.svg',\n\t\t\taltText: 'Expanded'\n\t\t};\n\t}\n\tpublic static getSearchIcon() \n\t{\n\t\treturn { iconPath: '/assets/search.svg', altText: '' };\n\t}\n\tpublic static getSearchCrossIcon() \n\t{\n\t\treturn {\n\t\t\ticonPath: '/assets/search-cross-icon.svg',\n\t\t\taltText: 'Clear Search'\n\t\t};\n\t}\n\tpublic static getServiceManagementStatusCount() \n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\theader: 'all',\n\t\t\t\tlabel: 'All',\n\t\t\t\tamount: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: 'pastDue',\n\t\t\t\tlabel: 'Past Due',\n\t\t\t\tamount: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: 'upcoming',\n\t\t\t\tlabel: 'Upcoming',\n\t\t\t\tamount: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: 'open',\n\t\t\t\tlabel: 'Open',\n\t\t\t\tamount: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: 'paid',\n\t\t\t\tlabel: 'Paid',\n\t\t\t\tamount: 0\n\t\t\t}\n\t\t];\n\t}\n\tpublic static getInputControlTypeInputOne() \n\t{\n\t\treturn [\n\t\t\tnew Control({\n\t\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\t\tlabel: '',\n\t\t\t\ttype: ControlType.input,\n\t\t\t\tinputPlaceholderText: '',\n\t\t\t\tinputIcon: '',\n\t\t\t\toptions: [],\n\t\t\t\tvalue: ''\n\t\t\t})\n\t\t];\n\t}\n\tpublic static getInputControlTypeRadioOne() \n\t{\n\t\treturn [new Control({\n\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\tlabel: '',\n\t\t\ttype: ControlType.radio,\n\t\t\tinputPlaceholderText: '',\n\t\t\tinputIcon: '',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t],\n\t\t\tvalue: ''\n\t\t})];\n\t}\n\tpublic static getFooterMenuDefault() \n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\tlabelValue: [],\n\t\t\t\turl: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\tlabelValue: [],\n\t\t\t\turl: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\tlabelValue: [],\n\t\t\t\turl: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\tlabelValue: [],\n\t\t\t\turl: ''\n\t\t\t}\n\t\t];\n\t}\n\tpublic static getCtaListCancelApply() \n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tid: '327147f4-c044-4799-8a5a-d075c619e41c',\n\t\t\t\tlabel: 'Cancel',\n\t\t\t\tclassName: 'light',\n\t\t\t\tdisabled: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '7eeaa3f0-b4f6-4142-8086-361298d75686',\n\t\t\t\tlabel: 'Apply',\n\t\t\t\tclassName: 'dark',\n\t\t\t\tdisabled: false\n\t\t\t}\n\t\t];\n\t}\n\tpublic static buildTableData(): KngCardListState \n\t{\n\t\treturn {\n\t\t\tview:\n\t\t\t\twindow.innerWidth >= 768\n\t\t\t\t\t? ScreenView.tableDesktop\n\t\t\t\t\t: ScreenView.tableMobile,\n\t\t\theader: [],\n\t\t\tlist: [],\n\t\t\tcardListGrayIcon: { url: '', alt: '' },\n\t\t\tcardListOrangeIcon: { url: '', alt: '' },\n\t\t\tcardListAccordionIcon: { url: '', alt: '' },\n\t\t\tactionOpsList: [],\n\t\t\tpageInfo: {\n\t\t\t\tpageSize: 0,\n\t\t\t\ttotalCount: 0\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tmessage: '',\n\t\t\t\tmessageSubText: '',\n\t\t\t\ticon: Icons.noResult\n\t\t\t},\n\t\t\tloading: false,\n\t\t\thideSort: false\n\t\t};\n\t}\n\tpublic static buildGridData(): GridValue[] \n\t{\n\t\n\t\treturn [\n\t\t\t{\n\t\t\t\tvalues: [\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] },\n\t\t\t\t\t{ label: '', value: '', ctaList: [] }\n\t\t\t\t],\n\t\t\t\tid: '',\n\t\t\t\temail: '',\n\t\t\t\tstate: '',\n\t\t\t\tcompany: '',\n\t\t\t\troles: [],\n\t\t\t\tportalApprovedCustomerID: [],\n\t\t\t\tphoneNumber: '',\n\t\t\t\troleName: ''\n\t\t\t}\n\t\t];\n\t\t\n\t}\n\tpublic static buildTableDataAccordion(): KngCardListState \n\t{\n\t\treturn {\n\t\t\tview:\n window.innerWidth >= 768\n \t? ScreenView.accordionDeskTop\n \t: ScreenView.accordionMobile,\n\t\t\theader: [],\n\t\t\tlist: [],\n\t\t\tcardListGrayIcon: { url: '', alt: '' },\n\t\t\tcardListOrangeIcon: { url: '', alt: '' },\n\t\t\tcardListAccordionIcon: { url: '', alt: '' },\n\t\t\tactionOpsList: [],\n\t\t\tpageInfo: {\n\t\t\t\tpageSize: 0,\n\t\t\t\ttotalCount: 0\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tmessage: '',\n\t\t\t\tmessageSubText: '',\n\t\t\t\ticon: Icons.noResult\n\t\t\t},\n\t\t\tloading: true,\n\t\t\thideSort: false\n\t\t};\n\t}\n\tpublic static getDefaultSearchLocation() \n\t{\n\t\treturn {\n\t\t\taccordionIconExpanded: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\taccordionIconCollapsed: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: 'Location',\n\t\t\tsearchPlaceholder: 'Search',\n\t\t\tsearchIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tnoResultsFoundLabel: 'No matching locations found',\n\t\t\tshowMore: '',\n\t\t\tshowLess: '',\n\t\t\terrorMessage: ''\n\t\t};\n\t}\n\tpublic static getDefaultDateRange() \n\t{\n\t\treturn {\n\t\t\taccordionIconExpanded: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\taccordionIconCollapsed: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tlabel: '',\n\t\t\tvalues: [],\n\t\t\tcustomDateFromLabel: '',\n\t\t\tcustomDateToLabel: ''\n\t\t};\n\t}\n\tpublic static getDefaultKeyValueId() \n\t{\n\t\treturn {\n\t\t\tkey: '',\n\t\t\tvalue: '',\n\t\t\tid: ''\n\t\t};\n\t}\n\tpublic static getDivisionGroupFilter()\n\t{\n\t\treturn {\n\t\t\tlabel: '',\n\t\t\taccordionIconExpanded: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\taccordionIconCollapsed: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\tplaceholder: '',\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tnoResultsFoundLabel: '',\n\t\t\tshowMoreText: '',\n\t\t\tshowLessText: ''\n\t\t};\n\t}\n\tpublic static getKngFilterState(type: string): KngFilterState \n\t{\n\t\treturn {\n\t\t\tfilterData: {\n\t\t\t\theading: { label: '' },\n\t\t\t\tsections: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Date Range',\n\t\t\t\t\t\tcontrols: [\n\t\t\t\t\t\t\tnew Control({\n\t\t\t\t\t\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ttype: ControlType.radio,\n\t\t\t\t\t\t\t\tinputPlaceholderText: '',\n\t\t\t\t\t\t\t\tinputIcon: '',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\tchecked: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tvalue: ''\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\t\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\t\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\t\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\t\t\t\tcollapsed: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Location',\n\t\t\t\t\t\tcontrols: (type === 'input') ? this.getInputControlTypeInputOne() : this.getInputControlTypeRadioOne(),\n\t\t\t\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\t\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\t\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\t\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\t\t\t\tcollapsed: false\n\t\t\t\t\t}\n\n\t\t\t\t],\n\t\t\t\tctaList: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '327147f4-c044-4799-8a5a-d075c619e41c',\n\t\t\t\t\t\tlabel: 'Clear All',\n\t\t\t\t\t\tclassName: 'light',\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '7eeaa3f0-b4f6-4142-8086-361298d75686',\n\t\t\t\t\t\tlabel: 'Apply',\n\t\t\t\t\t\tclassName: 'dark',\n\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\thidden: true\n\t\t};\n\t}\n\tpublic static getKngFilterStateForEquipmentOrder(type: string): KngFilterState \n\t{\n\t\treturn {\n\t\t\tfilterData: {\n\t\t\t\theading: { label: '' },\n\t\t\t\tsections: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Date Range',\n\t\t\t\t\t\tcontrols: [\n\t\t\t\t\t\t\tnew Control({\n\t\t\t\t\t\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\ttype: ControlType.radio,\n\t\t\t\t\t\t\t\tinputPlaceholderText: '',\n\t\t\t\t\t\t\t\tinputIcon: '',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\tchecked: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tvalue: ''\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\t\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\t\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\t\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\t\t\t\tcollapsed: true\n\t\t\t\t\t},\n\t\t\t\t\tSharedFilterFactory.buildDivisionOrGroupSection(),\n\t\t\t\t\tSharedFilterFactory.buildDivisionOrGroupSection(),\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Location',\n\t\t\t\t\t\tcontrols: (type === 'input') ? this.getInputControlTypeInputOne() : this.getInputControlTypeRadioOne(),\n\t\t\t\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\t\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\t\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\t\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\t\t\t\tcollapsed: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Location',\n\t\t\t\t\t\tcontrols: (type === 'input') ? this.getInputControlTypeInputOne() : this.getInputControlTypeRadioOne(),\n\t\t\t\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\t\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\t\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\t\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\t\t\t\tcollapsed: false\n\t\t\t\t\t}\n\n\t\t\t\t],\n\t\t\t\tctaList: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '327147f4-c044-4799-8a5a-d075c619e41c',\n\t\t\t\t\t\tlabel: 'Clear All',\n\t\t\t\t\t\tclassName: 'light',\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '7eeaa3f0-b4f6-4142-8086-361298d75686',\n\t\t\t\t\t\tlabel: 'Apply',\n\t\t\t\t\t\tclassName: 'dark',\n\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\thidden: true\n\t\t};\n\t}\n\tpublic static getEquipmentOrderFilterState(type: string): KngFilterState \n\t{\n\t\tconst section = {\n\t\t\tlabel: 'Shipping Location',\n\t\t\tcontrols: (type === 'input') ? this.getInputControlTypeInputOne() : this.getInputControlTypeRadioOne(),\n\t\t\taccordionCollapsedIcon: this.getAccordionCollapsedIcon(),\n\t\t\taccordionExpandedIcon: this.getAccordionExpandedIcon(),\n\t\t\tsearchIcon: this.getSearchIcon(),\n\t\t\tcrossIcon: this.getSearchCrossIcon(),\n\t\t\tcollapsed: false\n\t\t};\n\t\tconst state = this.getKngFilterStateForEquipmentOrder('input');\n\t\tstate.filterData.sections[4] = section;\n\t\treturn state;\n\t}\n\tpublic static getMyDealerDefault() \n\t{\n\t\treturn {\n\t\t\tfirstName: nullCheckValue,\n\t\t\tlastName: '',\n\t\t\tphone: {\n\t\t\t\tlabel: '',\n\t\t\t\tvalue: nullCheckValue,\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\temail: {\n\t\t\t\tlabel: '',\n\t\t\t\tvalue: nullCheckValue,\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t}\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\tlabel: '',\n\t\t\t\tvalue: {\n\t\t\t\t\taddressLine1: nullCheckValue,\n\t\t\t\t\taddressLine2: '',\n\t\t\t\t\tcity: '',\n\t\t\t\t\tstate: '',\n\t\t\t\t\tzipCode: ''\n\t\t\t\t},\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t}\n\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic static buildImage(iconPath: string, altText: string): Image\n\t{\n\t\treturn {\n\t\t\ticonPath: iconPath,\n\t\t\taltText: altText\n\t\t};\n\t}\n\n\tpublic static buildHeaderItem(isSelected: boolean, image: Image, url: string, label: string, cssClass: string, id: string, submenu: Array, hideMenu:boolean=true)\n\t{\n\t\treturn {\n\t\t\tisSelected: isSelected,\n\t\t\ticonPath: image.iconPath,\n\t\t\taltText: image.altText,\n\t\t\turl: url,\n\t\t\tlabel: label,\n\t\t\tcssClass: cssClass,\n\t\t\tid: id,\n\t\t\tsubmenu: submenu,\n\t\t\thideMenu: hideMenu\n\t\t};\n\t}\n\tpublic static buildCTAButtonList(): CtaList[]\n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.bulkApprove,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\tposition: 'none'\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '',\n\t\t\t\tclassName: AprRejBtnType.bulkReject,\n\t\t\t\tstate: {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\tstyle: 'link',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\t\t\tposition: 'none'\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\tpublic static buildKngButton(): KngButtonState\n\t{\n\t\treturn {\n\t\t\tsize: 'medium',\n\t\t\tstyle: 'link',\n\t\t\tdisabled: false,\n\t\t\tlabel: '',\n\t\t\ticon: { altText: '', iconPath: '' },\n\t\t\tposition: 'none'\n\t\t};\n\t}\n\tpublic static buildGlobalHeader(): GlobalHeader[]\n\t{\n\t\treturn [\n\t\t\t{\n\t\t\t\tisSelected: false,\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\turl: '',\n\t\t\t\tlabel: '',\n\t\t\t\tcssClass: '',\n\t\t\t\tid: '2708cc73-d48c-4301-afa3-ee0bb03002b6',\n\t\t\t\tsubmenu: []\n\t\t\t},\n\t\t\t{\n\t\t\t\tisSelected: false,\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: '',\n\t\t\t\turl: '',\n\t\t\t\tlabel: '',\n\t\t\t\tcssClass: '',\n\t\t\t\tid: '990cdcf6-5612-4d14-9fca-468553692947',\n\t\t\t\tsubmenu: []\n\t\t\t}\n\t\t];\n\t}\n\tpublic static buildTableList(page:string) : KngCardListState\n\t{\n\t\treturn{\n\t\t\tview: ScreenView.accordionDeskTop,\n\t\t\theader: this.getTableHeader(page),\n\t\t\tcardListAccordionIcon: { url: '', alt: '' },\n\t\t\tcardListGrayIcon: { url: '', alt: '' },\n\t\t\tcardListOrangeIcon: { url: '', alt: '' },\n\t\t\tpageInfo: { pageSize: 0, totalCount: 0 },\n\t\t\ttooltipMessage: '',\n\t\t\tserviceCampaignAltText: '',\n\t\t\tmoreIconAltText: '',\n\t\t\tlist: [{ collapsed: false, values: [], id: '' }],\n\t\t\tloading: true,\n\t\t\tactiveFlag: ''\n\t\t};\n\t}\n\n\tpublic static getTableHeader(page:string): Array\n\t{\n\t\tif(page === 'MyQuotes')\n\t\t{\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Quote #', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Date Created', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Model', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Quantity', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Billing Address', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Status', isSort: true, sortOrder: SortOrder.desc\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t\telse if(page === 'ServiceManagement')\n\t\t{\n\t\t\treturn[\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Service Date',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Work Order #',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'PO',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Billing Address',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Service Address',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Cost',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc,\n\t\t\t\t\thideSort: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Payment Status',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc,\n\t\t\t\t\thideSort: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Invoice',\n\t\t\t\t\tisSort: true,\n\t\t\t\t\tsortOrder: SortOrder.desc,\n\t\t\t\t\thideSort: true\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t\telse if (page === 'User Management')\n\t\t{\n\t\t\treturn [\n\t\t\t\t{ label: 'Name', isSort: true, sortOrder: SortOrder.asc },\n\t\t\t\t{ label: 'Email', isSort: true, sortOrder: SortOrder.asc },\n\t\t\t\t{ label: 'Role', isSort: true, sortOrder: SortOrder.desc },\n\t\t\t\t{ label: 'Assigned Location', isSort: true, sortOrder: SortOrder.desc },\n\t\t\t\t{ label: 'Last Login', isSort: true, sortOrder: SortOrder.desc },\n\t\t\t\t{ label: 'Status', isSort: true, sortOrder: SortOrder.desc }\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\tpublic static getRoleList(): UserDetailMiddle\n\t{\n\t\treturn {\n\t\t\trolesList: [{ id: '', name: '', description: '' }],\n\t\t\tstatus: [],\n\t\t\troleDescription: '',\n\t\t\tisStatusUpdatePending: false,\n\t\t\tstatusUpdatePendingMessage: '',\n\t\t\tisStatusUpdateError: false,\n\t\t\tstatusUpdateErrorState: {\n\t\t\t\terrorIcon: this.buildImage('', ''),\n\t\t\t\tmessage: ''\n\t\t\t}\n\t\t};\t\t\n\t}\n\tpublic static getUserDetail() \n\t{\n\t\treturn{\n\t\t\theading: '',\n\t\t\tdescription: '',\n\t\t\tdescriptionBold: '',\n\t\t\tdescriptionCompanyAdmin: '',\n\t\t\tassignNewLocation: '',\n\t\t\thelpText: '',\n\t\t\tsearchPlaceholder: '',\n\t\t\tsearchIcon: {\n\t\t\t\ticonPath: '',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tgrid: [\n\t\t\t\t{\n\t\t\t\t\tlocationid: '',\n\t\t\t\t\tlocation: '',\n\t\t\t\t\taddress: '',\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t],\n\t\t\tcancel: '',\n\t\t\tunassignlocation: 'Unassign Locations',\n\t\t\tnoLocationFoundTableLabel: '',\n\t\t\tnoLocationFoundTableMsg: '',\n\t\t\tnoLocationFoundTableIcon: {\n\t\t\t\ticonPath: '/assets/unassignedLocation.svg',\n\t\t\t\taltText: ''\n\t\t\t},\n\t\t\tnoResult: {\n\t\t\t\ticon: {\n\t\t\t\t\ticonPath: '',\n\t\t\t\t\taltText: ''\n\t\t\t\t},\n\t\t\t\tmessageBold: ''\n\t\t\t},\n\t\t\tfilterDropdownState: {\n\t\t\t\tfilterOptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: '',\n\t\t\t\t\t\tvalue: ''\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tselectedOption: ''\n\t\t\t}\n\t\t};\n\t}\n}\n","import { Control, ControlType, KngFilterState, Option, Section } from 'kinetic-angular';\nimport { SharedFactoryDataService } from './shared-factory-data.service';\n\nexport class SharedFilterFactory \n{\n\tpublic static buildFilterState(sections: Section[]): KngFilterState \n\t{\n\t\treturn {\n\t\t\tfilterData: {\n\t\t\t\theading: { label: '' },\n\t\t\t\tsections: sections,\n\t\t\t\tctaList: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '327147f4-c044-4799-8a5a-d075c619e41c',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tclassName: 'light',\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: '7eeaa3f0-b4f6-4142-8086-361298d75686',\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tclassName: 'dark',\n\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\thidden: true\n\t\t};\n\t}\n\tpublic static buildDateRangeSection(options: Option[] = []): Section \n\t{\n\t\treturn {\n\t\t\tlabel: '',\n\t\t\tcontrols: [\n\t\t\t\tnew Control({\n\t\t\t\t\tid: '9e42775d-7ea0-4dc0-ab16-7fb9d013ac31',\n\t\t\t\t\tlabel: '',\n\t\t\t\t\ttype: ControlType.radio,\n\t\t\t\t\tinputPlaceholderText: '',\n\t\t\t\t\tinputIcon: '',\n\t\t\t\t\toptions: options,\n\t\t\t\t\tvalue: ''\n\t\t\t\t})\n\t\t\t],\n\t\t\taccordionCollapsedIcon: SharedFactoryDataService.getAccordionCollapsedIcon(),\n\t\t\taccordionExpandedIcon: SharedFactoryDataService.getAccordionExpandedIcon(),\n\t\t\tsearchIcon: SharedFactoryDataService.getSearchIcon(),\n\t\t\tcrossIcon: SharedFactoryDataService.getSearchCrossIcon(),\n\t\t\tcollapsed: true\n\t\t};\n\t}\n\tpublic static buildLocationSection(isCollapsed: boolean = false): Section \n\t{\n\t\treturn {\n\t\t\tlabel: '',\n\t\t\tcontrols: SharedFactoryDataService.getInputControlTypeInputOne(),\n\t\t\taccordionCollapsedIcon: SharedFactoryDataService.getAccordionCollapsedIcon(),\n\t\t\taccordionExpandedIcon: SharedFactoryDataService.getAccordionExpandedIcon(),\n\t\t\tsearchIcon: SharedFactoryDataService.getSearchIcon(),\n\t\t\tcrossIcon: SharedFactoryDataService.getSearchCrossIcon(),\n\t\t\tcollapsed: isCollapsed,\n\t\t\tisShowMorePresent: true,\n\t\t\tshowMoreShowLess: {\n\t\t\t\tisDisabled: false,\n\t\t\t\tshowLessText: '',\n\t\t\t\tshowMoreText: '',\n\t\t\t\tisShowMoreClicked: false\n\t\t\t}\n\t\t};\n\t}\n\tpublic static buildDivisionOrGroupSection(isCollapsed: boolean = false): Section \n\t{\n\t\treturn {\n\t\t\tlabel: '',\n\t\t\tcontrols: [],\n\t\t\taccordionCollapsedIcon: SharedFactoryDataService.getAccordionCollapsedIcon(),\n\t\t\taccordionExpandedIcon: SharedFactoryDataService.getAccordionExpandedIcon(),\n\t\t\tsearchIcon: SharedFactoryDataService.getSearchIcon(),\n\t\t\tcrossIcon: SharedFactoryDataService.getSearchCrossIcon(),\n\t\t\tcollapsed: isCollapsed,\n\t\t\tisShowMorePresent: true,\n\t\t\tshowMoreShowLess: {\n\t\t\t\tisDisabled: false,\n\t\t\t\tshowLessText: '',\n\t\t\t\tshowMoreText: '',\n\t\t\t\tisShowMoreClicked: false\n\t\t\t}\n\t\t};\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Control, ControlType, DateRange, KngFilterPanelComponent, KngFilterState, Section } from 'kinetic-angular';\nimport { DateConverterService } from '../date-converter/date-converter.service';\nimport { DateFormat, FilterOptions } from './shared-enums';\nimport { KeyValuePair, LocationAddress } from './shared-interface';\nimport { SharedService } from './shared.service';\nimport { BillingServiceFilterAddress } from '../../components/service-management/components/service-management-page/sub-modules/service-order-detail/definitions/service-order-detail.interface';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedFilterService \n{\n\tconstructor(public dateService: DateConverterService, public sharedService: SharedService) { }\n\n\tpublic checkIfControlIsMarkedAsSelected(control: Control): boolean \n\t{\n\t\tlet checkRes: boolean = false;\n\t\tif (control.options.length > 0) \n\t\t{\n\t\t\tcontrol.options.forEach((opt) => \n\t\t\t{\n\t\t\t\tif (opt.checked === true) \n\t\t\t\t{\n\t\t\t\t\tcheckRes = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn ((control.type === ControlType.checkbox && control.value === true) || checkRes);\n\t}\n\tpublic filterHasAtLeastOneSelectedControl(filterState: KngFilterState): boolean \n\t{\n\t\tconst sectionWithSelectedControl: Section | undefined = filterState.filterData.sections.find((section: Section) =>\n\t\t\tsection.controls.find((control: Control) => this.checkIfControlIsMarkedAsSelected(control)));\n\t\treturn sectionWithSelectedControl !== undefined;\n\t}\n\tpublic getCountOfFilterPanel(control: Control[], label: string, sections: Section[], filterComponent: KngFilterPanelComponent | undefined)\n \t{\n\t\tconst selectedOptions: string[] = [];\n\t\tcontrol.forEach((ctrl) => \n\t\t{\n\t\t\tif (ctrl?.type === ControlType.checkbox) \n\t\t\t{\n\t\t\t\tif (ctrl.value === true)\n\t\t\t\t\tselectedOptions.push(ctrl.id);\n\t\t\t\telse if (ctrl.value === false && selectedOptions.length > 0)\n\t\t\t\t\tthis.removeFromSelectedOption(selectedOptions, ctrl.id);\n\t\t\t}\n\t\t\telse if (ctrl?.type === ControlType.notDate) \n\t\t\t{\n\t\t\t\tconst option = control[0].options;\n\t\t\t\toption.forEach((opt) => \n\t\t\t\t{\n\t\t\t\t\tif (opt.checked === true)\n\t\t\t\t\t\tselectedOptions.push(opt.label);\n\t\t\t\t\telse if (opt.checked === false)\n\t\t\t\t\t\tthis.removeFromSelectedOption(selectedOptions, opt.label);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn this.setCountOfFilterPanel(selectedOptions, label, sections, filterComponent);\n\t}\n\tpublic removeFromSelectedOption(selectedOptions: string[], label: string) \n\t{\n\t\tconst index = selectedOptions.indexOf(label);\n\t\tif (index !== -1)\n\t\t\tselectedOptions.splice(index, 1);\n\t}\n\tpublic setCountOfFilterPanel(selectedOptions: string[], label: string, sections: Section[], filterComponent: KngFilterPanelComponent | undefined)\n\t{\n\t\tif (filterComponent) \n\t\t{\n\t\t\tsections.forEach((sec: Section) => \n\t\t\t{\n\t\t\t\tif (label === sec.label)\n\t\t\t\t\tsec.selectedValue = selectedOptions;\n\t\t\t});\n\t\t}\n\t\treturn sections;\n\t}\n\taddSelectedFilter(label: string, type: string, selectedFilterObj: KeyValuePair[], value?: string, id?: string) \n\t{\n\t\tif (label === DateRange.custom && value) \n\t\t{\n\t\t\tconst dateRange = value.split('@');\n\t\t\tconst from = this.dateService.tranformDate(dateRange[0], DateFormat.default);\n\t\t\tconst to = this.dateService.tranformDate(dateRange[1], DateFormat.default);\n\t\t\tconst contactToFrom = from + ' - ' + to;\n\t\t\tselectedFilterObj.push({ key: type, value: contactToFrom, id: '' });\n\t\t}\n\t\telse if (label === DateRange.lastSixtyDays)\n\t\t\tselectedFilterObj.push({ key: type, value: DateRange.lastSixtyDays, id: '' });\n\t\telse\n\t\t\tthis.checkForPreviousYears(label, type, selectedFilterObj, id);\n\t\tthis.mapSelectedFilter(selectedFilterObj);\n\t\treturn selectedFilterObj;\n\t}\n\tcheckForPreviousYears(label: string, type: string, selectedFilterObj: KeyValuePair[], id?: string)\n\t{\n\t\tif (label === DateRange.lastYear)\n\t\t\tselectedFilterObj.push({ key: type, value: DateRange.lastYear, id: '', disabled: true });\n\t\telse if(label === DateRange.last2YearsDefault)\n\t\t\tselectedFilterObj.push({ key: type, value: DateRange.last2YearsDefault, id: '', disabled: true });\n\t\telse\n\t\t\tselectedFilterObj.push({ key: type, value: label, id: id ?? '' });\n\t}\n\tmapSelectedFilter(selectedFilterObj: KeyValuePair[]) \n\t{\n\t\tselectedFilterObj.forEach(obj => \n\t\t{\n\t\t\tif (obj.key === FilterOptions.dateRange && (obj.value === DateRange.lastSixtyDays || obj.value === DateRange.lastYearDefault || obj.value === DateRange.last2YearsDefault))\n\t\t\t\tobj.disabled = true;\n\t\t\telse\n\t\t\t\tobj.disabled = false;\n\t\t});\n\t}\n\tpublic async findBillingServiceLocation(searchKey: string, existingControls: Control[], searchFullAddress?: boolean): Promise\n\t{\n\t\tconst locationControls = existingControls;\n\t\tif (searchKey) \n\t\t{\n\t\t\tlet filteredResult: Control[] = [];\n\t\t\tif (searchFullAddress)\n\t\t\t{\n\t\t\t\tfilteredResult = locationControls.filter((location: Control) =>\n\t\t\t\t\tlocation.type === ControlType.checkbox && location.address &&\n\t\t\t\t\tthis.sharedService.formatAddress(location.address, searchFullAddress)?.toLowerCase().includes(searchKey?.toLowerCase())\n\t\t\t\t\t|| location.label?.toLowerCase().includes(searchKey?.toLowerCase())\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilteredResult = locationControls.filter((location: Control) =>\n\t\t\t\t\tlocation.type === ControlType.checkbox &&\n\t\t\t\t\tlocation.label.toLowerCase().includes(searchKey?.toLowerCase()));\n\t\t\t}\t\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t\telse\n\t\t\treturn Promise.resolve([]);\n\t}\n\n\tpublic async findAssignedLocation(searchKey: string, existingControls: Control[], searchFullAddress?: boolean): Promise \n\t{\n\t\tconst locationControls = existingControls;\n\t\tif (searchKey) \n\t\t{\n\t\t\tlet filteredResult: Control[] = [];\n\t\t\tif (searchFullAddress)\n\t\t\t{\n\t\t\t\tfilteredResult = locationControls.filter((location: Control) =>\n\t\t\t\t\tlocation.type === ControlType.checkbox && location.address &&\n\t\t\t\t\tthis.sharedService.formatAddress(location.address, searchFullAddress)?.toLowerCase().includes(searchKey?.toLowerCase())\n\t\t\t\t\t|| location.label?.toLowerCase().includes(searchKey?.toLowerCase()) || location.id.includes(searchKey?.toLowerCase())\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilteredResult = locationControls.filter((location: Control) =>\n\t\t\t\t\tlocation.type === ControlType.checkbox &&\n\t\t\t\t\tlocation.label.toLowerCase().includes(searchKey?.toLowerCase()));\n\t\t\t}\t\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t\telse\n\t\t\treturn Promise.resolve([]);\n\t}\n\tremoveFromSelectedFilter(filterValue: string, filter: string[] | LocationAddress[], selectedFilterList: KeyValuePair[]) \n\t{\n\t\tselectedFilterList.forEach((obj, index) => \n\t\t{\n\t\t\tif (obj.id === filterValue && filter)\n\t\t\t\tselectedFilterList.splice(index, 1);\n\t\t});\n\t\treturn selectedFilterList;\n\t}\n\tremoveSearchtextfromInputAfterClear(payload: string[] | LocationAddress[], key: string, sections: Section[]) \n\t{\n\t\tif (payload.length === 0) \n\t\t{\n\t\t\tsections.forEach((section: Section) => \n\t\t\t{\n\t\t\t\tif (section.label === key) \n\t\t\t\t{\n\t\t\t\t\tsection.controls.forEach((control: Control) => \n\t\t\t\t\t{\n\t\t\t\t\t\tif (control.type === ControlType.input)\n\t\t\t\t\t\t\tcontrol.setValue('');\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn sections;\n\t}\n\tclearAllFilterPanel(sections: Section[]) \n\t{\n\t\tsections.forEach((section: Section) => \n\t\t{\n\t\t\tsection.selectedValue = [];\n\t\t\tsection.controls.forEach((control: Control) => \n\t\t\t{\n\t\t\t\tif (control.type === ControlType.input)\n\t\t\t\t\tcontrol.setValue('');\n\t\t\t\telse if (control.type === ControlType.checkbox)\n\t\t\t\t\tcontrol.setValue(false);\n\t\t\t\telse if (control.type === ControlType.radio || control.type === ControlType.notDate)\n\t\t\t\t\tcontrol.options.forEach((opt) => opt.checked && (opt.checked = false));\n\t\t\t});\n\t\t});\n\t\treturn sections;\n\t}\n\tupdateAllCheckboxValues(selectedFilters: Control[], value: boolean) \n\t{\n\t\tselectedFilters.forEach((control: Control) => \n\t\t{\n\t\t\tif (control.type === ControlType.checkbox)\n\t\t\t\tcontrol.setValue(value);\n\t\t});\n\t\treturn selectedFilters;\n\t}\n\tgetFilterControls(controls: Control[]): Control[] \n\t{\n\t\tconst selectedLocations: Control[] = [];\n\t\tcontrols?.forEach(location => \n\t\t{\n\t\t\tif (location.value)\n\t\t\t\tselectedLocations.push(location);\n\t\t});\n\t\tcontrols = this.sharedService.getLocationValues();\n\t\tcontrols?.forEach(location => \n\t\t{\n\t\t\tselectedLocations.forEach(selectedLocation => \n\t\t\t{\n\t\t\t\tif (selectedLocation.id === location.id)\n\t\t\t\t\tlocation.setValue(true);\n\t\t\t});\n\t\t});\n\t\treturn controls;\n\t}\n\n\tgetShippingBillingLocationFilterControls(controls: Control[], shippingLocations: BillingServiceFilterAddress[]): Control[] \n\t{\n\t\tconst selectedShippingLocation: Control[] = [];\n\t\tcontrols.forEach(address => \n\t\t{\n\t\t\tif (address.value)\n\t\t\t\tselectedShippingLocation.push(address);\n\t\t});\n\t\tcontrols = this.getShippingLocationValues(shippingLocations);\n\t\tcontrols.forEach(address => \n\t\t{\n\t\t\tselectedShippingLocation.forEach(element => \n\t\t\t{\n\t\t\t\tif (element.id === address.id)\n\t\t\t\t\taddress.setValue(true);\n\t\t\t});\n\t\t});\n\t\treturn controls;\n\t}\n\n\tgetShippingLocationValues(shippingLocations: BillingServiceFilterAddress[]): Control[]\n\t{\n\t\tconst assignedShippingLocation: Control[] = [];\n\t\tshippingLocations?.forEach((element) =>\n\t\t{\n\t\t\tconst address = {\n\t\t\t\taddressLine1: element.address.addressLine1,\n\t\t\t\tcity: element.address.city,\n\t\t\t\tstate: element.address.state,\n\t\t\t\tzipCode: element.address.zip\n\t\t\t};\n\t\t\tconst data = { name: element.locationLabel, id: element.locationId, address };\n\t\t\tassignedShippingLocation.push(this.sharedService.initialiseFilterControl(data.id, data.name, ControlType.checkbox, data.address));\n\t\t});\n\t\treturn assignedShippingLocation;\n\t}\n\tpublic async findEquipmentRepairType(searchKey: string, equipmentControls: Control[]): Promise \n\t{\n\t\tif (searchKey) \n\t\t{\n\t\t\tconst filteredResult: Control[] = equipmentControls.filter((item: Control) =>\n\t\t\t\titem.type === ControlType.checkbox && item.label.toLowerCase().includes(searchKey?.trimLeft()?.toLowerCase()));\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tconst filteredResult: Control[] = equipmentControls.filter((item: Control) => item.type === ControlType.checkbox);\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t}\n\tupdateFilterSection(sectionControls: Control[], selectedOptions: string[] | undefined) \n\t{\n\t\tif (selectedOptions && selectedOptions.length > 0) \n\t\t{\n\t\t\tsectionControls.forEach((control) => \n\t\t\t{\n\t\t\t\tif (control.type === ControlType.checkbox)\n\t\t\t\t\t(selectedOptions.includes(control.id) || selectedOptions.includes(control.label) || selectedOptions.includes(control.label.toLowerCase())) ? control.setValue(true) : control.setValue(false);\n\t\t\t});\n\t\t}\n\t\telse \n\t\t{\n\t\t\tsectionControls.forEach((control) => \n\t\t\t{\n\t\t\t\tif (control.type === ControlType.checkbox)\n\t\t\t\t\tcontrol.setValue(false);\n\t\t\t});\n\t\t}\n\t}\n\tpublic updateFilterPanelOptions(newOptions: Control[], oldOptions: Control[], filterComponent: KngFilterPanelComponent | undefined, filterState: KngFilterState): void \n\t{\n\t\toldOptions.splice(1, oldOptions.length - 1, ...newOptions);\n\t\tfilterComponent ? filterComponent.updateState(filterState) : (() => { })();\n\t}\n\tsetDateFilterIdCheck(section: Section, value: string, valueId: string) \n\t{\n\t\tsection.selectedValue = [value];\n\t\tsection.controls[0].options.forEach((opt) => opt.checked = false);\n\t\tconst index = section.controls[0].options.findIndex(opt => opt.id === valueId);\n\t\tif (index >= 0)\n\t\t\tsection.controls[0].options[index].checked = true;\n\t\treturn section;\n\t}\n\tsetDateFilterLabelCheck(section: Section, value: string) \n\t{\n\t\tsection.selectedValue = [value];\n\t\tsection.controls[0].options.forEach((opt) => opt.checked = false);\n\t\tconst index = section.controls[0].options.findIndex(opt => opt.label === value);\n\t\tif (index >= 0)\n\t\t\tsection.controls[0].options[index].checked = true;\n\t\treturn section;\n\t}\n\tsetDateFilterCloseFilter(selectedFilterObj: KeyValuePair[], section: Section, filterComponent: KngFilterPanelComponent | undefined)\n\t{\n\t\tselectedFilterObj.forEach(obj => \n\t\t{\n\t\t\tif (filterComponent)\n\t\t\t\tfilterComponent.showToFromInput = (obj.value.includes('-')) || false;\n\n\t\t\tif (obj.key === FilterOptions.dateRange) \n\t\t\t{\n\t\t\t\tif (obj.value.includes('-')) \n\t\t\t\t{\n\t\t\t\t\tsection.controls[0].options.forEach((opt) => opt.checked = false);\n\t\t\t\t\tconst index = section.controls[0].options.length - 1;\n\t\t\t\t\tsection.controls[0].options[index].checked = true;\n\t\t\t\t\tsection.selectedValue = [DateRange.custom];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tsection = this.setDateFilterLabelCheck(section, obj.value);\n\t\t\t}\n\t\t});\n\t\treturn section;\n\t}\n\tpublic async findSearchedAddress(searchKey: string, existingControls: Control[]): Promise\n\t{\n\t\tconst addressControls = existingControls;\n\t\tif (searchKey)\n\t\t{\n\t\t\tconst filteredResult: Control[] = addressControls.filter((item: Control) =>\n\t\t\t{\n\t\t\t\tconst valuesToCheck = [\n\t\t\t\t\titem.address?.addressLine1,\n\t\t\t\t\titem.address?.addressLine2,\n\t\t\t\t\titem.address?.city,\n\t\t\t\t\titem.address?.state,\n\t\t\t\t\titem.address?.zipCode\n\t\t\t\t];\n\t\t\t\t\n\t\t\t\tconst addressString = valuesToCheck.filter(value => value !== undefined && value !== null).join(', ').toLowerCase(); return addressString.includes(searchKey?.toLowerCase());\n\t\t\t});\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t\telse\n\t\t\treturn Promise.resolve([]);\n\t}\n\tgetSelectedCheckbox(controls: Control[])\n\t{\n\t\treturn controls.filter(control => control.type === ControlType.checkbox && control.value === true);\n\t}\n\tgetCheckboxIds(controls: Control[])\n\t{\n\t\treturn controls.map(control=>control.id);\n\t}\n\tgetSelectedCheckboxByIds(controls: Control[])\n\t{\n\t\treturn this.getCheckboxIds(this.getSelectedCheckbox(controls));\n\t}\n\tsetfilterCollapsedState(sections: Section[], collapsed: boolean)\n\t{\n\t\tsections.forEach((section)=>section.collapsed = collapsed);\n\t\treturn sections;\n\t}\n}\n","export enum ControlName {\n\taccountName = 'accountName',\n companyName = 'companyName',\n addressLine1 = 'addressLine1',\n addressLine2 = 'addressLine2',\n\tcity= 'city',\n state = 'state',\n postalCode = 'postalCode',\n zipCode = 'zipCode'\n};\n","/* eslint-disable max-lines */\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FieldType, KngButtonPosition, KngButtonSize, KngButtonState, KngButtonStyle, KngCardListState, KngHeaderObjState, KngValueObjState, SortOrder } from 'kinetic-angular';\nimport { RoutingFunction, StatusValueToRedirectsMap } from '../../components/auth';\nimport { CommonErrorService } from '../../components/common-error';\nimport { UserRegistrationStatus, UserRegistrationStatusValue } from '../api/definitions';\nimport { ApplicationPath, CountryCode, ErrorMessage, FieldName, FormattingName, Icons, IsRequestSubmittedForReview, MaxDeviceWidth, MyQuotesStatusHeader, OrderStatus, RemovalReasons } from './shared-enums';\nimport { Image } from './shared-interface';\nimport { InvoiceStatusHeader } from '../../components/order-management/definitions/order-management.interface';\nimport { LocalStorageService } from '../local-storage/local-storage.service';\nimport { LoggerService } from '../logger/logger.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { accountManagerRoleId, tmhCorporateAdminRoleId, tmhCustomerSupportRoleId } from './shared-constants';\nimport { StatusPayload } from '../../components/my-quotes';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedUtilService\n{\n\tisAccountManagerCredential: boolean = false;\n\tconstructor(private readonly errorService: CommonErrorService, private readonly localStorageService: LocalStorageService, private readonly loggerService: LoggerService,\n\t\tprivate readonly router: Router ) { }\n\tprivate readonly isTmhCorporateAdmin$: BehaviorSubject = new BehaviorSubject(false);\n\tprivate readonly isTmhCustomerSupportRole$: BehaviorSubject = new BehaviorSubject(false);\n\tpublic isCustomerSupportSession$: BehaviorSubject = new BehaviorSubject(false);\n\tget isTmhCorporateAdmin(): boolean\n\t{\n\t\treturn this.isTmhCorporateAdmin$.value;\n\t}\n\tset isTmhCorporateAdmin(value: boolean)\n\t{\n\t\tthis.isTmhCorporateAdmin$.next(value);\n\t}\n\tget isTmhCustomerSupportRole(): boolean\n\t{\n\t\treturn this.isTmhCustomerSupportRole$.value;\n\t}\n\tset isTmhCustomerSupportRole(value: boolean)\n\t{\n\t\tthis.isTmhCustomerSupportRole$.next(value);\n\t}\n\tget isCustomerSupportSession(): boolean\n\t{\n\t\treturn this.isCustomerSupportSession$.value;\n\t}\n\tprivate readonly isEquipmentDetailsRedirectedFromMyInsights$: BehaviorSubject = new BehaviorSubject(false);\n\tget isEquipmentDetailsRedirectedFromMyInsights(): boolean\n\t{\n\t\treturn this.isEquipmentDetailsRedirectedFromMyInsights$.value;\n\t}\n\tset isEquipmentDetailsRedirectedFromMyInsights(value: boolean)\n\t{\n\t\tthis.isEquipmentDetailsRedirectedFromMyInsights$.next(value);\n\t}\n\tremoveReasons: string[] = [ RemovalReasons.scrapped, RemovalReasons.stolen ];\n\tcommentRequiredRemoveReasons: string[] = [ RemovalReasons.sold, RemovalReasons.exported ];\n\tprivate readonly fieldMap = new Map([\n\t\t[ FieldName.truckNumber, FieldType.link ],\n\t\t[ FieldName.equipmentVin, FieldType.link ],\n\t\t[ FieldName.orderDate, FieldType.date ],\n\t\t[ FieldName.eta, FieldType.date ],\n\t\t[ FieldName.status, FieldType.orderStatus ],\n\t\t[ FieldName.equipmentStatus, FieldType.orderStatus ],\n\t\t[ FieldName.serviceDate, FieldType.date ],\n\t\t[ FieldName.workOrderNumber, FieldType.link ],\n\t\t[ FieldName.invoiceNumber, FieldType.link ],\n\t\t[ FieldName.cost, FieldType.currency ],\n\t\t[ FieldName.name, FieldType.link ],\n\t\t[ FieldName.lastLogin, FieldType.date ],\n\t\t[ FieldName.dueDate, FieldType.date ],\n\t\t[ FieldName.crmOppNumber, FieldType.text ],\n\t\t[ FieldName.billingAddress, FieldType.text || FieldType.address ],\n\t\t[ FieldName.quoteId, FieldType.pdf ],\n\t\t[ FieldName.creationDate, FieldType.dateString ],\n\t\t[ FieldName.dealership, FieldType.dealershipInfo ],\n\t\t[ FieldName.dateOfFirstUse, FieldType.dateString ],\n\t\t[ 'default', FieldType.text ]\n\t]);\n\tprivate readonly orderStatusMap = new Map([\n\t\t[ InvoiceStatusHeader.all, '' ],\n\t\t[ InvoiceStatusHeader.orderinProcess, OrderStatus.orderProcess ],\n\t\t[ InvoiceStatusHeader.inProduction, OrderStatus.orderProduction ],\n\t\t[ InvoiceStatusHeader.shipped, OrderStatus.shipped ],\n\t\t[ InvoiceStatusHeader.delivered, OrderStatus.deliverStatus ]\n\t]);\n\tprivate readonly myQuotesStatusMap = new Map([\n\t\t[ MyQuotesStatusHeader.all, '' ],\n\t\t[ MyQuotesStatusHeader.readyForReview, StatusPayload.readyForReview ],\n\t\t[ MyQuotesStatusHeader.quoteinProcess, StatusPayload.quoteinProcess ],\n\t\t[ MyQuotesStatusHeader.quoteAccepted, StatusPayload.quoteAccepted ],\n\t\t[ MyQuotesStatusHeader.ordered, StatusPayload.ordered ],\n\t\t[ MyQuotesStatusHeader.expired, StatusPayload.expired ]\n\t]);\n\tnavigateWithCustomerSupport(url:string) \n\t{\n\t\tif(this.isCustomerSupportSession)\n\t\t{\n\t\t\tconst userProfile = this.localStorageService.getImpersonateUser();\n\t\t\t\n\t\t\tif(userProfile)\n\t\t\t{\n\t\t\t\tconst user = JSON.parse(userProfile);\n\t\t\t\tconst currentPath = btoa(user.email);\n\t\t\t window.open(`${url}&email=${currentPath}`, '_blank', 'noopener');\n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\twindow.open(url, '_blank', 'noopener');\n\t\t}\n\t}\n\tgetFieldType(fieldName: string): string\n\t{\n\t\tlet result: string | undefined = FieldType.text;\n\t\tif (this.fieldMap.has(fieldName))\n\t\t{\n\t\t\tresult = this.fieldMap.get(fieldName);\n\t\t}\n\t\treturn result?? FieldType.text;\n\t}\n\tgetOrderStatus(fieldName: string): string\n\t{\n\t\tlet result: string | undefined = '';\n\t\tif (this.orderStatusMap.has(fieldName))\n\t\t{\n\t\t\tresult = this.orderStatusMap.get(fieldName);\n\t\t}\n\t\treturn result?? '';\n\t}\n\tgetMyQuotesStatus(fieldName: string): string\n\t{\n\t\tlet result: string | undefined = '';\n\t\tif (this.myQuotesStatusMap.has(fieldName))\n\t\t{\n\t\t\tresult = this.myQuotesStatusMap.get(fieldName);\n\t\t}\n\t\treturn result ?? '';\n\t}\n\tstatusValueToRedirectsMap: StatusValueToRedirectsMap = new Map([\n\t\t[ 'approved', () =>\n\t\t{\n\t\t\treturn this.routeToPortalFromOutside('Approved');\n\t\t} ],\n\t\t[ 'active', () =>\n\t\t{\n\t\t\treturn this.routeToPortalFromOutside('Active');\n\t\t} ],\n\t\t[ 'not_approved', (router: Router) =>\n\t\t{\n\t\t\treturn router.navigate(['confirmation']);\n\t\t} ],\n\t\t[ 'pending_approval', (router: Router) =>\n\t\t{\n\t\t\treturn router.navigate(['confirmation']);\n\t\t} ],\n\t\t[ 'pending_business_approval', (router: Router) =>\n\t\t{\n\t\t\treturn router.navigate(['pending-approval']);\n\t\t} ],\n\t\t[ 'in_progress', (router: Router) =>\n\t\t{\n\t\t\treturn router.navigate(['registration']);\n\t\t} ],\n\t\t[ null, (router: Router) =>\n\t\t{\n\t\t\tconst isRequestSubmittedForReviewTrue = localStorage.getItem(IsRequestSubmittedForReview.isRequestSubmittedForReview);\n\t\t\tif(isRequestSubmittedForReviewTrue) return router.navigate(['confirmation']);\n\t\t\telse return router.navigate(['registration']);\n\t\t} ]\n\t]);\n\n\trouteToPortalFromOutside(registrationStatus: string)\n\t{\n\t\tconst inboundUrlPathName = localStorage.getItem('inboudUrl');\n\t\tif (inboundUrlPathName !== null && inboundUrlPathName !== '/auth')\n\t\t{\n\t\t\treturn this.router.navigate([inboundUrlPathName]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.checkTheRegistrationStatusAndRoute(registrationStatus);\n\t }\n\t}\n\n\tcheckTheRegistrationStatusAndRoute(registrationStatus: string)\n\t{\n\t\tif(registrationStatus === 'Approved')\n\t\t{\n\t\t\treturn this.router.navigate(['app']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.router.navigate(['confirmation']);\n\t\t}\n\t}\n\n\tsetImageBasedOnStatusCode(statusCode: number): Image\n\t{\n\t\tlet image = { iconPath: '', altText: '' };\n\t\tif (statusCode === 401)\n\t\t{\n\t\t\timage = {\n\t\t\t\ticonPath: Icons.unauthorized,\n\t\t\t\taltText: '401 Unauthorized'\n\t\t\t};\n\t\t}\n\t\telse if (statusCode === 403)\n\t\t{\n\t\t\timage = {\n\t\t\t\ticonPath: Icons.userNotActivated,\n\t\t\t\taltText: 'not activated'\n\t\t\t};\n\t\t}\n\t\telse if (statusCode === 202)\n\t\t{\n\t\t\timage = {\n\t\t\t\ticonPath: Icons.pendingApproval,\n\t\t\t\taltText: 'pending approval'\n\t\t\t};\n\t\t}\n\t\telse if (statusCode === 500)\n\t\t{\n\t\t\timage = {\n\t\t\t\ticonPath: Icons.userNotActivated,\n\t\t\t\taltText: 'internal server error'\n\t\t\t};\n\t\t}\n\t\telse if (statusCode === 100)\n\t\t{\n\t\t\timage = {\n\t\t\t\ticonPath: Icons.noLocation,\n\t\t\t\taltText: 'no locations'\n\t\t\t};\n\t\t}\n\t\treturn image;\n\t}\n\thandlePendingAndNotApprovedState(responseObject: UserRegistrationStatus)\n\t{\n\t\tif ( responseObject.hasOwnProperty('registrationStatus') &&\n\t\t\t(responseObject.registrationStatus === 'not_approved' ||\n\t\t\tresponseObject.registrationStatus === 'pending_approval')\n\t\t)\n\t\t{\n\t\t\tconst message = responseObject.registrationStatus === 'pending_approval' ? 'Pending Approval' : '';\n\t\t\tconst statusCode = responseObject.registrationStatus === 'not_approved' ? 402 : 202;\n\t\t\tthis.triggerErrorService(message, statusCode, '');\n\t\t}\n\t}\n\ttriggerErrorService(status: string, statusCode: number, id:string)\n\t{\n\t\tconst image: Image = this.setImageBasedOnStatusCode(statusCode);\n\t\tthis.errorService.updateState({ messages: [{ message: status }], statusCode: statusCode, id: id, image: image });\n\t}\n\tgetHeaderObjectState(isSort: boolean, label: string, sortOrder: SortOrder.asc | SortOrder.desc, hideSort?: boolean, category?:string ):KngHeaderObjState\n\t{\n\t\tconst headerObjectState : KngHeaderObjState = { isSort: isSort, label: label, sortOrder: sortOrder };\n\t\tif(hideSort)\n\t\t{\n\t\t\theaderObjectState.hideSort = hideSort;\n\t\t}\n\t\tif(category)\n\t\t{\n\t\t\theaderObjectState.category = category;\n\t\t}\n\t\treturn headerObjectState;\n\t};\n\tgetMessage()\n\t{\n\t\treturn { text: ErrorMessage.furtherActionsContactMessage, tokens: [] };\n\t}\n\tgetButtonState(size: KngButtonSize, style: KngButtonStyle, label: string, disabled: boolean, icon: Image, position: KngButtonPosition ): KngButtonState\n\t{\n\t\tconst buttonState : KngButtonState = { size: size, style: style, label: label, disabled: disabled, icon: icon, position: position };\n\t\treturn buttonState;\n\t};\n\thideModalBackdrop()\n\t{\n\t\tdocument.body.classList.remove('modal-open');\n\t\tdocument.body.removeAttribute('style');\n\t\tconst backdrop = document.querySelector('.modal-backdrop');\n\t\tbackdrop?.remove();\n\t}\n\tcheckCardState(cardState: KngCardListState)\n\t{\n\t\tif (cardState !== undefined && cardState.list.length > 0)\n\t\t{\n\t\t\tcardState.header = [];\n\t\t\tcardState.list = [];\n\t\t}\n\t}\n\torderNumberMapping(key: string, value: KngValueObjState, label: string)\n\t{\n\t\tif (key === FieldName.truckNumber)\n\t\t{\n\t\t\tvalue.orderId = label;\n\t\t}\n\t}\n\tlocationIdMapping(key: string, value: KngValueObjState, label: string)\n\t{\n\t\tif (key === FieldName.locationId)\n\t\t{\n\t\t\tvalue.locationId = label;\n\t\t}\n\t}\n\tpublic formatValue(value: string, valueType: string): string\n\t{\n\t\tif (value.trim())\n\t\t{\n\t\t\tvalue = this.characterFormat(value, valueType);\n\t\t}\n\t\treturn value;\n\t}\n\tcharacterFormat(value: string, valueType: string)\n\t{\n\t\tif(valueType === FormattingName.companyName || valueType === FormattingName.accountName)\n\t\t{\n\t\t\tconst company = value.replace(/ /g, ' ');\n\t\t\treturn company.trimLeft();\n\t\t}\n\t\telse if(valueType === FormattingName.city)\n\t\t{\n\t\t\tconst address = value.replace(/[^a-zA-Z ]/g, '');\n\t\t\treturn address;\n\t\t}\n\t\telse if(valueType === FormattingName.addressOne || valueType === FormattingName.addressTwo)\n\t\t{\n\t\t\tconst address = value.replace(/ /g, ' ');\n\t\t\treturn address;\n\t\t}\n\t\treturn value.trim();\n\t}\n\tformatZipCode(value: string, country: string = CountryCode.unitedStatesofAmerica)\n\t{\n\t\tlet formattedZip = value;\n\t\tif(country === CountryCode.canada || country === CountryCode.canadaCountry)\n\t\t{\n\t\t\tvalue = value.trim();\n\t\t\tif (value.length >= 6)\n\t\t\t{\n\t\t\t\tvalue = value.replace(/ /g, '');\n\t\t\t\tvalue = value.replace(/-+/g, '');\n\t\t\t\tvalue = value.substring(0, 3) + ' ' + value.substring(3, 7);\n\t\t\t}\n\t\t\tformattedZip = value;\n\t\t}\n\t\telse if(country === CountryCode.unitedStatesofAmerica)\n\t\t{\n\t\t\tconst zipCode = value.replace(/[^\\d]/g, '');\n\t\t\tconst zipCodeLength = zipCode.length;\n\t\t\tformattedZip = zipCodeLength < 6 ? zipCode : `${zipCode.slice(0, 5)}-${zipCode.slice(5, 9)}`;\n\t\t}\n\t\treturn formattedZip;\n\t}\n\tgetCardListOrangeIcon()\n\t{\n\t\treturn { url: Icons.rightArrowOrange, alt: 'next' };\n\t}\n\tgetCardListAccordionIcon()\n\t{\n\t\treturn { url: '', alt: 'down' };\n\t}\n\tgetCardListGreyIcon()\n\t{\n\t\treturn { url: Icons.leftArrow, alt: 'previous' };\n\t}\n\tgetDefaultErrorObject()\n\t{\n\t\treturn {\n\t\t\tmessage: 'No results found',\n\t\t\tmessageSubText: '',\n\t\t\ticon: Icons.noResult\n\t\t};\n\t}\n\tgetLastTenErrorObject()\n\t{\n\t\treturn {\n\t\t\tmessage: ErrorMessage.lastTenErrorcodesEmptyData,\n\t\t\tmessageSubText: '',\n\t\t\ticon: Icons.noErrorCodes\n\t\t};\n\n\t}\n\tgetStateOnRemoveReason(selectedReason: string, commentAdded: string): boolean\n\t{\n\t\tif (selectedReason && (this.removeReasons.includes(selectedReason)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.soldExportSelected(selectedReason, commentAdded);\n\t\t}\n\t}\n\tsoldExportSelected(selectedReason: string, commentAdded: string): boolean\n\t{\n\t\tif (selectedReason && (this.commentRequiredRemoveReasons.includes(selectedReason)) && commentAdded)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\n\tgetRoutingFunction(userResponse: UserRegistrationStatus): RoutingFunction | undefined\n\t{\n\t\tconst isTmhCustomerSupportRole = this.localStorageService.getCustomerToDashboard();\n\n\t\tthis.checkAccountManager(userResponse);\n\n\t\tif (this.isCustomerSupportUser(userResponse, isTmhCustomerSupportRole))\n\t\t{\n\t\t return this.getCustomerSupportRoutingFunction();\n\t\t}\n\n\t\tif (this.isTmhCorporateAdminUser(userResponse, isTmhCustomerSupportRole))\n\t\t{\n\t\t return this.getCorporateAdminRoutingFunction();\n\t\t}\n\n\t\tif (isTmhCustomerSupportRole)\n\t\t{\n\t\t return this.getCustomerSupportRoleRoutingFunction();\n\t\t}\n\n\t\treturn this.getStatusBasedRoutingFunction(userResponse);\n\t}\n\n\tprivate checkAccountManager(userResponse: UserRegistrationStatus): void\n\t{\n\t\tif (this.isAccountManager(userResponse))\n\t\t{\n\t\t this.isAccountManagerCredential = true;\n\t\t}\n\t}\n\n\tprivate getCustomerSupportRoutingFunction(): RoutingFunction\n\t{\n\t\treturn (router: Router) => router.navigate(['/app' + ApplicationPath.customerSupport]);\n\t}\n\n\tprivate getCorporateAdminRoutingFunction(): RoutingFunction\n\t{\n\t\treturn (router: Router) => router.navigate(['/app' + ApplicationPath.customerportal]);\n\t}\n\tprivate getCustomerSupportRoleRoutingFunction(): RoutingFunction\n\t{\n\t\treturn () => this.routeToPortalFromOutside('Approved');\n\t}\n\tprivate getStatusBasedRoutingFunction(userResponse: UserRegistrationStatus): RoutingFunction | undefined\n\t{\n\t\tif (userResponse.hasOwnProperty('registrationStatus') && userResponse.registrationStatus !== undefined)\n\t\t{\n\t\t return this.statusValueToRedirectsMap.get(userResponse.registrationStatus);\n\t\t}\n\t\treturn undefined;\n\t }\n\tisTmhCorporateAdminRole(role: string[])\n\t{\n\t\treturn !!role.includes(tmhCorporateAdminRoleId);\n\t}\n\tisCustomerSupportRole(role: string[])\n\t{\n\t\treturn !!role.includes(tmhCustomerSupportRoleId);\n\t}\n\tisTmhCorporateAdminUser(responseObject: UserRegistrationStatus, isTmhCustomerSupportRole: boolean = false)\n\t{\n\t\treturn !!(responseObject.roles && this.isTmhCorporateAdminRole(responseObject.roles) && !isTmhCustomerSupportRole);\n\t}\n\tisCustomerSupportUser(responseObject: UserRegistrationStatus, isTmhCustomerSupportRole: boolean = false)\n\t{\n\t\treturn !!(responseObject.roles && this.isCustomerSupportRole(responseObject.roles) && !isTmhCustomerSupportRole );\n\t}\n\tisAccountManagerRole(role: string[])\n\t{\n\t\treturn !!role.includes(accountManagerRoleId);\n\t}\n\tisAccountManager(responseObject: UserRegistrationStatus)\n\t{\n\t\treturn !!(responseObject.roles && this.isAccountManagerRole(responseObject.roles));\n\t}\n\tasync isLoggedInUserPresent(): Promise\n\t{\n\t\treturn new Promise(resolve =>\n\t\t{\n\t\t\tconst checkLocalStorage = () =>\n\t\t\t{\n\t\t\t\tif (this.isAnyUserPresent())\n\t\t\t\t{\n\t\t\t\t\tthis.updateUserRoles();\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tsetTimeout(checkLocalStorage, 100);\n\t\t\t\t}\n\t\t\t};\n\t\t\tcheckLocalStorage();\n\t\t});\n\t}\n\n\tprivate isAnyUserPresent(): boolean\n\t{\n\t\treturn !!(this.localStorageService.getTmhCorporateAdminDetails() ||\n\t\t\t this.localStorageService.getLoggedInUser() ||\n\t\t\t this.localStorageService.getTmhCustomerSupportDetails());\n\t}\n\tprivate updateUserRoles(): void\n\t{\n\t\tif (this.localStorageService.getTmhCorporateAdminDetails())\n\t\t{\n\t\t\tthis.isTmhCorporateAdmin$.next(true);\n\t\t}\n\t\tif (this.localStorageService.getTmhCustomerSupportDetails())\n\t\t{\n\t\t\tthis.isTmhCustomerSupportRole$.next(true);\n\t\t}\n\t}\n\thandleRoutingFunction(routingFunction : RoutingFunction | undefined, router: Router)\n\t{\n\t\tif(routingFunction)\n\t\t{\n\t\t\troutingFunction(router)?.then(succeeded =>\n\t\t\t{\n\t\t\t\tif(succeeded)\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.log('navigation succeeded');\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tupdateIsMobileView(): boolean\n\t{\n \tconst isMobile = window.innerWidth <= MaxDeviceWidth.mobile;\n \treturn isMobile;\n\t}\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedService } from './shared.service';\nimport { SharedUtilService } from './shared-util.service';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [CommonModule],\n\tproviders: [ SharedService, SharedUtilService ]\n})\nexport class SharedModule {}\n","/* eslint-disable complexity */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable max-lines */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { Inject, Injectable } from '@angular/core';\nimport { ServiceHistoryLabels } from '../../components/myfleet/sub-modules/equipment-detail/definitions';\nimport { Address, AssignedLocation, DownloadMyFleetData, LocationPrimaryGrid, LoggedInLocation, LoggedInUser, Message, Role, StateProvince, Token, TokenData } from './shared-interface';\nimport { DateConverterService } from '../date-converter/date-converter.service';\nimport { forIn as lodashForIn } from 'lodash';\nimport { LocalStorageService } from '../local-storage/local-storage.service';\nimport { AuthState, ServiceManagementAddress } from '../../components/auth/definitions';\nimport { AbstractControl } from '@angular/forms';\nimport { EnvironmentRef } from 'projects/tmhna-portal/src/environments/interfaces';\nimport { expEnvironmentRef } from '../../injection-tokens/environment.injection-token';\nimport { Control, ControlType, FieldType, KngHeaderObjState, KngValueListState, KngValueObjState, SortOrder, TelematicsStatus } from 'kinetic-angular';\nimport { BreadCrumb, FieldName, LanguageCode, CompanyLocationsTableHeader, FileName, MyFleetTableLabels, CountryCode, states, provinces, AssignedUserTableHeader, MyFleetTelematicsStatus, InviteUserheader, InviteBulkUserheader, BulkEquipmentHeader, AddBulkEquipmentDownloadReportTemplate, AddBulkEquipmentNonToyotaDownloadReportTemplate, RemoveBulkEquipmentHeader } from './shared-enums';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { ApiService } from '../api/api.service';\nimport { ApiResponse } from '../../definitions/api-response.interface';\nimport { map } from 'rxjs/operators';\nimport { SharedUtilService } from './shared-util.service';\nimport { GridModel } from '../../components/service-management/components/service-management-page';\nimport { DownloadCompanyLocation, ValidateRemoveLocResponse } from '../../components/account-settings/definitions/account-settings.interface';\nimport { CommonErrorState } from '../../components/common-error';\nimport { BulkEquipmentDownloadReportTemplate, BulkEquipmentNonToyotaDownloadReportTemplate, ChangeRequestHeaderLabel, DownloadReportTemp, MyFleetHeadrNames } from '../../components/myfleet/definitions/myfleet.interface';\nimport { canadaZipFormat, individualUserRoleId, nullCheckValue, batteryStateOfChargeNullValue } from './shared-constants';\nimport { Router } from '@angular/router';\nimport { LoggerService } from '../logger/logger.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { DownloadUserListData } from '../../components/location-management/sub-modules/add-new-location/definitions/add-new-location.interface';\nimport { MyQuotesGridListLabel } from '../../components/my-quotes';\nimport { ResponseDealerAddress } from '../../components/order-management/sub-modules/equipment-order-details/definitions/equipment-order-details.interface';\nexport type PrimitiveType = number | string | boolean;\nexport type SomeKeyValType = { [key: string]: PrimitiveType };\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SharedService\n{\n\tdate: string = '';\n\tobjectUrl!: string;\n\tlocationNames: Control[] = [];\n\tlocationNamesArr: string[] = [];\n\tcompanyLocationsHeader: any = CompanyLocationsTableHeader;\n\tbulkEquipmentHeader: any = BulkEquipmentHeader;\n\taddBulkEquipmentDownloadReportTemplate: any = AddBulkEquipmentDownloadReportTemplate;\n\taddBulkEquipmentNonToyotaDownloadReportTemplate: any = AddBulkEquipmentNonToyotaDownloadReportTemplate;\n\tremoveBulkEquipmentHeader: any = RemoveBulkEquipmentHeader;\n\tassignedUserTableHeader: any = AssignedUserTableHeader;\n\tinviteUserheader: any = InviteUserheader;\n\tinviteBulkUserheader: any = InviteBulkUserheader;\n\tcoperateConvertFlag:boolean = true;\n\tvalidateRemoveLocResponse$: BehaviorSubject = new BehaviorSubject(false);\n\tvalidateRemoveLocResponse: ValidateRemoveLocResponse = {\n\t\tisLastLocation: false,\n\t\tidentifiedUsers: []\n\t};\n\tlocationId$: BehaviorSubject = new BehaviorSubject('');\n\tprivate readonly userName$: BehaviorSubject = new BehaviorSubject('');\n\tget userNameObservable$(): Observable\n\t{\n\t\treturn this.userName$;\n\t}\n\tget userName(): string\n\t{\n\t\treturn this.userName$.value;\n\t}\n\tset updatedUserNameState(value: string)\n\t{\n\t\tthis.userName$.next(value);\n\t}\n\n\tconstructor(\n\t\tpublic dateService: DateConverterService,\n\t\tpublic localStorageService: LocalStorageService,\n\t\tprivate readonly apiService: ApiService,\n\t\tprivate readonly sharedUtilService: SharedUtilService,\n\t\tpublic loggerService: LoggerService,\n\t\t@Inject(expEnvironmentRef) readonly environmentRef: EnvironmentRef\n\t)\n\t{\n\t\tthis.getLocationValues();\n\t}\n\n\ttruncate(input: string, charactersToTruncate: number)\n\t{\n\t\tif (input.length > charactersToTruncate)\n\t\t{\n\t\t\treturn input.substring(0, charactersToTruncate) + '...';\n\t\t}\n\t\treturn input;\n\t};\n\n\tpublic nullValueHandler(value: string): string\n\t{\n\t\treturn (value !== null && value !== undefined && value.toString().trim() !== '') ? value : nullCheckValue;\n\t}\n\tpublic nullLocationHandler(value: string): string\n\t{\n\t\treturn (value !== null && value !== undefined && value.toString().trim() !== '' && value !== 'null, null') ? value : nullCheckValue;\n\t}\n\tpublic nullDateHandler(value: string): string\n\t{\n\t\treturn (value !== null && value !== undefined && value.toString().trim() !== '' && value.toString() !== '0') ? value : nullCheckValue;\n\t}\n\tpublic myfleetDownloadNullValueHandler(value: string): string\n\t{\n\t\treturn value || '-';\n\t}\n\tpublic notApplicableValueHandler(value: string): string\n\t{\n\t\treturn value || 'N/A';\n\t}\n\tpublic emptyStringHandler(value: string | undefined | null): string\n\t{\n\t\treturn value ?? '';\n\t}\n\tpublic numericNullValueHandler(value: string): string\n\t{\n\t\treturn value || '0';\n\t}\n\tpublic updateServiceCampaignBannerDataValue(message: string, tokenArray: TokenData[]): string\n\t{\n\t\tif (tokenArray && tokenArray.length > 0)\n\t\t{\n\t\t\ttokenArray.forEach((element) =>\n\t\t\t{\n\t\t\t\tif (element.isLink === 'true' && element.url !== '' )\n\t\t\t\t{\n\t\t\t\t\telement.text = `` + element.text + '';\n\t\t\t\t\tmessage = message.replace(element.name, element.text);\n\t\t\t\t}\n\t\t\t\tif(element.isLink === 'true' && element.url === '')\n\t\t\t\t{\n\n\t\t\t\t\telement.text = '
' + element.text + '
';\n\t\t\t\t\tmessage = message.replace(element.name, element.text);\n\n\t\t\t\t}\n\t\t\t\tmessage = message.replace(element.name, element.text);\n\n\t\t\t});\n\t\t}\n\t\treturn message;\n\t}\n\tpublic updateBoldText(message: string, tokenArray: TokenData[]): string\n\t{\n\t\tif (tokenArray && tokenArray.length > 0)\n\t\t{\n\t\t\ttokenArray.forEach((element) =>\n\t\t\t{\n\n\t\t\t\telement.text = '' + element.text + '';\n\n\t\t\t\tmessage = message.replace(element.name, element.text);\n\t\t\t});\n\t\t}\n\t\treturn message;\n\t}\n\tpublic static hasOneValidPrimitiveType(obj: SomeKeyValType, validatorPredicate: (value: PrimitiveType) => boolean = this.validatePrimitiveValue): boolean\n\t{\n\t\tlet result: boolean = false;\n\t\tconst primitiveTypes: ['number', 'string', 'boolean'] = [ 'number', 'string', 'boolean' ];\n\t\tlodashForIn(obj, item =>\n\t\t{\n\t\t\tconst itemIsPrimitiveType: boolean = primitiveTypes.find(typeName => typeof item === typeName) !== undefined;\n\t\t\tresult = itemIsPrimitiveType ? validatorPredicate(item) : this.hasOneValidPrimitiveType(item as unknown as SomeKeyValType, validatorPredicate);\n\t\t\tif (result)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\tprivate static validatePrimitiveValue(item: PrimitiveType): boolean\n\t{\n\t\tconst isValidString: boolean = typeof item === 'string' ? item !== '' : false;\n\t\tconst isValidNumber: boolean = typeof item === 'number' && !Number.isNaN(item);\n\t\tconst isValidBoolean: boolean = typeof item === 'boolean';\n\t\treturn isValidString || isValidNumber || isValidBoolean;\n\t}\n\n\tpublic capitalizeFirstLetter(value: string)\n\t{\n\t\tlet name = '';\n\t\tif (value)\n\t\t{\n\t\t\tname = value[0].toUpperCase() + value.substring(1);\n\t\t}\n\t\treturn name;\n\t}\n\n\tpublic capitalizeFirstLetterOfEachWord(value: string )\n\t{\n\t\tif(value)\n\t\t{\n\t\t\tconst str = value.split(' ');\n\t\t\tfor(let i = 0; i < str.length; i++)\n\t\t\t{\n\t\t\t\tstr[i] = str[i][0].toUpperCase() + str[i].substring(1);\n\t\t\t}\n\t\t\treturn str.join(' ');\n\t\t}\n\t\treturn value;\n\t}\n\tpublic createDownloadLink(blob: Blob, filename: string): void\n\t{\n\t\tconst a = document.createElement('a');\n\t\tconst objectUrl = URL.createObjectURL(blob);\n\t\ta.href = objectUrl;\n\t\ta.download = filename;\n\t\ta.click();\n\t\tURL.revokeObjectURL(objectUrl);\n\t}\n\n\tpublic downloadTable(name: string, res: Blob): string\n\t{\n\t\tconst blob = new Blob([res], { type: 'text/csv;charset=utf8;' });\n\t\tthis.date = new Date().toString();\n\t\tconst filename = name + '_' + this.dateService.tranformDate(this.date, 'MMddyyyyhhmmss') + '.csv';\n\t\tthis.createDownloadLink(blob, filename);\n\t\treturn filename;\n\t}\n\tpublic downloadExcel(name: string, res: Blob): void\n\t{\n\t\tconst blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n\t\tconst filename = name;\n\t\tthis.createDownloadLink(blob, filename);\n\t}\n\n\tpublic downloadPDF(name: string, res: Blob): void\n\t{\n\t\tconst blob = new Blob([res], { type: 'application/pdf' });\n\t\tconst filename = name;\n\t\tthis.createDownloadLink(blob, filename);\n\t}\n\n\tpublic downloadTableData(name: string, res: any, locationName?: string): string\n\t{\n\t\tlet csvData = '';\n\t\tif(name === FileName.myfleet)\n\t\t{\n\t\t\tcsvData = this.convertToCSVFile(res);\n\t\t}\n\t\telse if(name === FileName.companyLocations)\n\t\t{\n\t\t\tconst objArray: DownloadCompanyLocation[] = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tconst tableHeader: string[]= Object.values(this.companyLocationsHeader);\n\t\t\tcsvData = this.convertToCSV(array, tableHeader);\n\t\t}\n\t\telse if(name === FileName.bulkequipmentReport)\n\t\t{\n\t\t\tconst objArray: DownloadReportTemp[] = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tlet tableHeader: string[] = [];\n\t\t\tif(locationName === 'bulk')\n\t\t\t{\n\t\t\t\ttableHeader = Object.values(this.bulkEquipmentHeader);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttableHeader = Object.values(this.removeBulkEquipmentHeader);\n\t\t\t}\n\t\t\tcsvData = this.convertToCSV(array, tableHeader);\n\t\t}\n\t\telse if(name === FileName.addBulkEquipmentToyotaDownloadReportTemplate)\n\t\t{\n\t\t\tconst objArray: BulkEquipmentDownloadReportTemplate[] = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tconst result = array.map(({ Log, ...rest }: { Log: any; [key: string]: any }) => ({ ...rest }));\n\t\t\tconst tableHeader: string[]= Object.values(this.addBulkEquipmentDownloadReportTemplate);\n\t\t\tcsvData = this.convertToCSV(result, tableHeader);\n\t\t}\n\t\telse if(name === FileName.addBulkEquipmentNonToyotaDownloadReportTemplate)\n\t\t{\n\t\t\tconst objArray: BulkEquipmentNonToyotaDownloadReportTemplate[] = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tconst result = array.map(({ Log, ...rest }: { Log: any; [key: string]: any }) => ({ ...rest }));\n\t\t\tconst tableHeader: string[]= Object.values(this.addBulkEquipmentNonToyotaDownloadReportTemplate);\n\t\t\tcsvData = this.convertToCSV(result, tableHeader);\n\t\t}\n\t\telse if(name === FileName.assignUserList)\n\t\t{\n\t\t\tconst objArray: DownloadUserListData[] = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tconst tableHeader: string[]= Object.values(this.assignedUserTableHeader);\n\t\t\tcsvData = this.convertToCSV(array, tableHeader);\n\t\t\tname = locationName + '_' + name;\n\t\t}\n\t\telse if(name === FileName.inviteUserTemplate)\n\t\t{\n\t\t\tconst objArray = res;\n\t\t\tconst array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\t\tlet tableHeader: string[] = [];\n\t\t\tif(locationName === 'bulk')\n\t\t\t{\n\t\t\t\ttableHeader = Object.values(this.inviteBulkUserheader);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttableHeader = Object.values(this.inviteUserheader);\n\t\t\t}\n\t\t\tcsvData = this.convertToCSV(array, tableHeader);\n\t\t}\n\t\tcsvData = '\\uFEFF' + csvData;\n\t\tconst blob = new Blob([csvData], { type: 'data:text/csv;charset=utf-8;' });\n\t\tthis.date = new Date().toString();\n\t\tconst filename = name + '_' + this.dateService.tranformDate(this.date, 'MMddyyyyhhmmss') + '.csv';\n\t\tthis.createDownloadLink(blob, filename);\n\t\treturn filename;\n\t}\n\n\n\tpublic convertToCSV(array: any[], tableHeader: string[])\n\t{\n\t\tlet str = '';\n\t\tlet row = '';\n\t\ttableHeader.forEach((element: string) =>\n\t\t{\n\t\t\trow += element.concat(',');\n\t\t});\n\t\trow = row.slice(0, -1);\n\t\tstr += row.concat('\\r\\n');\n\n\t\tfor (const i in array)\n\t\t{\n\t\t\tlet line = '';\n\t\t\tfor (const index in array[i])\n\t\t\t{\n\n\t\t\t\tif (line !== '') line += ',';\n\n\t\t\t\tline += array[i][index];\n\t\t\t}\n\t\t\tstr += line + '\\r\\n';\n\t\t}\n\t\treturn str;\n\t}\n\n\tpublic convertToCSVFile(objArray: Array): string\n\t{\n\t\tconst array: Array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;\n\t\tlet str = '';\n\t\tlet row = '';\n\n\t\tconst tableHeader = this.getMyFleetHeaderForDownload();\n\t\ttableHeader.forEach((element: string) =>\n\t\t{\n\t\t\trow += element.concat(',');\n\t\t});\n\t\trow = row.slice(0, -1);\n\t\tstr += row.concat('\\r\\n');\n\t\tlet tableValues: DownloadMyFleetData[] = [];\n\t\ttableValues = this.getMyFleetTableValues(array);\n\t\tfor (const j in tableValues)\n\t\t{\n\t\t\tlet line: string = '';\n\t\t\tfor (const index in tableValues[j])\n\t\t\t{\n\t\t\t\tif(line !== '')\n\t\t\t\t\tline += ',';\n\t\t\t\tline = this.getMyFleetTableDataString(line, index, j, tableValues);\n\t\t\t}\n\t\t\tstr += line + '\\r\\n';\n\t\t}\n\t\treturn str;\n\t}\n\tpublic getMyFleetHeaderForDownload()\n\t{\n\t\tconst tableHeader: string[]= Object.values(MyFleetHeadrNames);\n\t\tif(!this.apiService.isTelematicsStatus)\n\t\t{\n\t\t\tconst index = tableHeader.indexOf(MyFleetHeadrNames.telematicsStatus);\n\t\t\tif(index !== -1)\n\t\t\t\ttableHeader.splice(index, 1);\n\t\t}\n\t\treturn tableHeader;\n\t}\n\tpublic getMyFleetTableDataString(line: string, index: string, j: string, tableValues: DownloadMyFleetData[])\n\t{\n\t\tif(index === MyFleetTableLabels.telematicsStatus)\n\t\t{\n\t\t\tif((tableValues as any)[j][index] === TelematicsStatus.connected)\n\t\t\t\tline += MyFleetTelematicsStatus.connected;\n\t\t\telse if((tableValues as any)[j][index] === TelematicsStatus.notConnected)\n\t\t\t\tline += MyFleetTelematicsStatus.notConnected;\n\t\t\telse if(!(tableValues as any)[j][index])\n\t\t\t\tline += MyFleetTelematicsStatus.downloadNull;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tline += (tableValues as any)[j][index] ? (tableValues as any)[j][index] : ' ';\n\t\t}\n\t\treturn line;\n\t}\n\tprivate getMyFleetTableValues(array: Array)\n\t{\n\t\tconst fleetData: DownloadMyFleetData[] = [];\n\t\tif(array.length === 0)\n\t\t{\n\t\t\tconst emptyobj: DownloadMyFleetData = {\n\t\t\t\tequipmentVin: '-',\n\t\t\t\tmodelID: '-',\n \t\t\tassetNumber: '-',\n\t\t\t\tequipmentType: '-',\n\t\t\t\tmake: '-',\n\t\t\t\tdateOfFirstUse: '-',\n\t\t\t\tassignedLocation: '-',\n\t\t\t\ttelematicsStatus: '-',\n\t\t\t\tfleetType: '-'\n\t\t\t};\n\t\t\tfleetData.push(emptyobj);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor (const i in array)\n\t\t\t{\n\t\t\t\tlet obj: DownloadMyFleetData = {\n\t\t\t\t\tequipmentVin: '',\n\t\t\t\t\tmodelID: '',\n\t\t\t\t\tassetNumber: '',\n\t\t\t\t\tequipmentType: '',\n\t\t\t\t\tmake: '',\n\t\t\t\t\tdateOfFirstUse: '',\n\t\t\t\t\tassignedLocation: '',\n\t\t\t\t\ttelematicsStatus: '',\n\t\t\t\t\tfleetType: ''\n\t\t\t\t};\n\t\t\t\tfor (const index in array[i].values)\n\t\t\t\t{\n\t\t\t\t\tobj = this.checkForFleetLabels(array[i].values[index], obj);\n\t\t\t\t}\n\t\t\t\tfleetData.push(obj);\n\t\t\t}\n\t\t}\n\t\treturn fleetData;\n\t}\n\n\tprivate checkForFleetLabels(arrayValues: any, obj: DownloadMyFleetData)\n\t{\n\t\tif(arrayValues.label === MyFleetTableLabels.equipmentVin)\n\t\t{\n\t\t\tobj.equipmentVin = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.modelID)\n\t\t{\n\t\t\tobj.modelID = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.assetNumber)\n\t\t{\n\t\t\tobj.assetNumber = JSON.stringify(this.myfleetDownloadNullValueHandler(arrayValues.labelValue));\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.equipmentType)\n\t\t{\n\t\t\tobj.equipmentType = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.manufacturer)\n\t\t{\n\t\t\tobj.make = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.fleetType)\n\t\t{\n\t\t\tobj.fleetType = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tobj = this.checkForNewFleetLabels(arrayValues, obj);\n\t\t}\n\t\treturn obj;\n\t}\n\n\tprivate checkForNewFleetLabels(arrayValues: any, obj: DownloadMyFleetData)\n\t{\n\t\tif(arrayValues.label === MyFleetTableLabels.dateOfFirstUse)\n\t\t{\n\t\t\tobj.dateOfFirstUse = this.myfleetDownloadNullValueHandler(arrayValues.labelValue);\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.assignedLocation)\n\t\t{\n\t\t\tobj.assignedLocation =JSON.stringify(this.myfleetDownloadNullValueHandler(arrayValues.labelValue));\n\t\t}\n\t\telse if(arrayValues.label === MyFleetTableLabels.telematicsStatus)\n\t\t{\n\t\t\tobj.telematicsStatus = arrayValues.labelValue;\n\t\t}\n\t\treturn obj;\n\t}\n\n\tpublic formatAddress(address: Address| undefined, formatCompleteAddress: boolean)\n\t{\n\t\tif (formatCompleteAddress)\n\t\t{\n\t\t\treturn [ address?.addressLine1, address?.addressLine2, address?.city, address?.state, address?.zipCode ].filter(Boolean).join(', ');\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn [ address?.city, address?.state, address?.zipCode ].filter(Boolean).join(', ');\n\t\t}\n\t}\n\n\tpublic formatAddressWithPostalCode(address: ResponseDealerAddress | undefined)\n\t{\n\t\treturn [ address?.address1, address?.address2, address?.city, address?.stateCode, address?.postalCode ].filter(Boolean).join(', ');\n\t}\n\n\tpublic getAssignedLocationFormatted(): AssignedLocation[]\n\t{\n\n\t\tconst locations: LoggedInLocation[] = this.getLoggedInUserLocations();\n\t\tconst assignedLocations: AssignedLocation[] = [];\n\t\tlocations.forEach(element =>\n\t\t{\n\t\t\tconst location: AssignedLocation = { name: element.locationName, id: element.locationId, address: element.address, companyId: element.companyId };\n\t\t\tassignedLocations.push(location);\n\t\t});\n\t\treturn assignedLocations;\n\t}\n\n\tpublic async assignedLocationSearch(searchKey: string): Promise\n\t{\n\t\tconst locationData = this.getAssignedLocationFormatted();\n\t\tif (searchKey && searchKey.length > 2)\n\t\t{\n\t\t\tconst filteredResult: AssignedLocation[] = locationData.filter(\n\t\t\t\t(location: AssignedLocation) =>\n\t\t\t\t{\n\t\t\t\t\treturn location.name.toLowerCase().includes(searchKey.toLowerCase()) ||\n\t\t\t\t\t(location.address?.addressLine1?.toLowerCase().includes(searchKey.toLowerCase()) ||\n\t\t\t\t\tlocation.address?.addressLine2?.toLowerCase().includes(searchKey.toLowerCase()) ||\n\t\t\t\t\tlocation.address?.city?.toLowerCase().includes(searchKey.toLowerCase()) ||\n\t\t\t\t\tlocation.address?.state?.toLowerCase().includes(searchKey.toLowerCase()) ||\n\t\t\t\t\tlocation.address?.zipCode?.toLowerCase().includes(searchKey.toLowerCase())\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn Promise.resolve(filteredResult);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn Promise.resolve([]);\n\t\t}\n\t}\n\tpublic checkIfLocationExists(locationName: string): boolean\n\t{\n\t\tconst locationArray = this.getLoggedInUserLocations();\n\t\treturn locationArray.filter((location: LoggedInLocation) => location.locationName.toLowerCase() === locationName.toLowerCase()).length > 0;\n\t}\n\n\tpublic getCustomerId()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile).customerIds;\n\t\t}\n\t}\n\tpublic getUserId()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile).userId;\n\t\t}\n\t}\n\tgetDefaultGrid()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile).defaultGRID? this.localStorageService.parseJSON(userProfile).defaultGRID : '';\n\t\t}\n\t}\n\tgetLocalstorageItems()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tlet loggedinUser: LoggedInUser;\n\t\tif (userProfile)\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser)\n\t\t\t{\n\t\t\t\tthis.coperateConvertFlag = loggedinUser.corporateAccountRequestFlag;\n\t\t\t}\n\n\n\t\t} return this.coperateConvertFlag;\n\t}\n\tgetLocalstorageUserProfile()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile);\n\t\t}\n\t}\n\tpublic getUserEmail()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile).email;\n\t\t}\n\t}\n\tpublic getPhoneNumber()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.emptyStringHandler(this.localStorageService.parseJSON(userProfile).phoneNumber);\n\t\t}\n\t\telse\n\t\t\treturn '';\n\t}\n\tpublic \tgetRoleId()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(userProfile).roles[0];\n\t\t}\n\t}\n\tpublic getPrivacyDate()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.nullDateHandler(this.localStorageService.parseJSON(userProfile).privacyDate);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn nullCheckValue;\n\t\t}\n\t}\n\tpublic getTcDate()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile)\n\t\t{\n\t\t\treturn this.nullDateHandler(this.localStorageService.parseJSON(userProfile)?.tcDate);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn nullCheckValue;\n\t\t}\n\t}\n\n\tpublic requiredLength(control: AbstractControl)\n\t{\n\t\tconst val: string = control.value?.split(/\\W+/).join('');\n\t\tconst err: boolean = val?.trim().length < 1;\n\t\tif (err)\n\t\t{\n\t\t\treturn { requiredLen: { value: control.value } };\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n\n\talphaSpecialCharValidation(control: AbstractControl, name: string)\n\t{\n\t\tconst regex = name === 'city'? /^[a-zA-ZáéíóúýàèìòùêëîïûüñçœâôÿÀÂÆÇÉÈÊËÎÏÔŒÙÛÜŸ!#$%&'\"’–()*+,-./\\\\:;<=>?@[\\]^_`{|}~ ]+$/ : /^[a-zA-Z0-9áéíóúýàèìòùêëîïûüñçœâôÿÀÂÆÇÉÈÊËÎÏÔŒÙÛÜŸ!#$%&'\"’–()*+,-./\\\\:;<=>?@[\\]^_`{|}~ ]+$/;\n\t\tconst value = control.value;\n\n\t\treturn (value?.length>0 && !regex.test(value)) ? { alphaSpclCharValidationError: { value: control.value } } : null;\n\t}\n\n\tnonNumericSpaceRestriction(value: string)\n\t{\n\t\tif (value.trim())\n\t\t{\n\t\t\tconst regex = /\\d+/;\n\t\t\tconst address = value.replace(regex, '');\n\t\t\treturn address.trimLeft();\n\t\t}\n\t\treturn value.trim();\n\t}\n\n\tcharacterValidationWithNumerics(control: AbstractControl)\n\t{\n\t\tconst regex = /^[a-zA-Z0-9\\s,-.']+$/;\n\t\tconst value = control.value;\n\t\treturn (value?.length>0 && !regex.test(value)) ? { invalidCharacterError: { value: control.value } } : null;\n\t}\n\n\tcharacterValidationWithoutNumerics(control: AbstractControl)\n\t{\n\t\tconst regex = /^[a-zA-Z\\s,-.']+$/;\n\t\tconst value = control.value;\n\t\treturn (value?.length>0 && !regex.test(value)) ? { invalidCharacterError: { value: control.value } } : null;\n\t}\n\n\tzipCodeLengthCheck(control: AbstractControl)\n\t{\n\t\tconst value = control.value;\n\t\treturn (value?.length > 0 && value?.length < 5) ? { minLengthError: { value: control.value } } : null;\n\t}\n\n\tzipCodeCanadaValidCheck(control: AbstractControl)\n\t{\n\t\tconst regex = canadaZipFormat;\n\t\tconst value = control.value;\n\t\treturn (value?.length>0 && !regex.test(value)) ? { canadaPostalCodeFormatError: { value: control.value } } : null;\n\t}\n\n\tnoWhitespaceValidator(control: AbstractControl)\n\t{\n\t\tconst isWhitespace = (control.value || '').trim().length === 0;\n\t\tconst isValid = !isWhitespace;\n\t\treturn isValid ? null : { whitespace: true };\n\t}\n\n\tupdateMessage(message: string, token: string, replaceText: string)\n\t{\n\t\treturn message.replace(token, replaceText);\n\t}\n\n\tpublic validatePhoneSequence(control: AbstractControl): { sequence: boolean } | null\n\t{\n\t\tif(control.value)\n\t\t{\n\t\t\tconst value = control.value?.split(/\\W+/).join('');\n\t\t\tlet next = parseInt(value[0]) + 1;\n\t\t\tlet seq = true;\n\t\t\tfor (const letter of value.slice(1).split(''))\n\t\t\t{\n\t\t\t\tif (next !== parseInt(letter))\n\t\t\t\t{\n\t\t\t\t\tseq = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (next === 9)\n\t\t\t\t{\n\t\t\t\t\tnext = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tnext++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn seq ? { sequence: true } : null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n\tpublic minLength(control: AbstractControl)\n\t{\n\t\tif(control.value !== undefined && control.value !== '')\n\t\t{\n\t\t\tconst val: string = control.value?.split(/\\W+/).join('');\n\t\t\tconst err: boolean = val?.trim().length > 0 && val?.trim().length < 10;\n\t\t\tif (err)\n\t\t\t{\n\t\t\t\treturn { minLength: { value: control.value } };\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic formatString(value: string): string\n\t{\n\t\tif (value.trim())\n\t\t{\n\t\t\tconst userName = value.replace(/[^a-zA-Z0-9 ]/g, '');\n\t\t\treturn userName;\n\t\t}\n\t\treturn value.trim();\n\t}\n\tpublic getRequestServicePath()\n\t{\n\t\treturn this.environmentRef.openContactFormUrl;\n\t}\n\n\tpublic currencyFormatter(amount: number, currency: string)\n\t{\n\t\treturn new Intl.NumberFormat(LanguageCode.default, {\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: currency,\n\t\t\tmaximumFractionDigits: 0\n\t\t}).format(amount);\n\t}\n\tconcatenateLocation(location: Address): string\n\t{\n\t\tlet concateLocation = '';\n\t\tif (location)\n\t\t{\n\t\t\tconcateLocation = [ location.addressLine2, location.city, location.state, location.zipCode ]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(', ');\n\t\t}\n\t\treturn concateLocation;\n\t}\n\n\tpublic round(value: number, precision: number)\n\t{\n\t\treturn (Math.floor(value * Math.pow(10, precision)) / Math.pow(10, precision)).toFixed( precision);\n\t}\n\tisEmptyObject(obj: any): boolean\n\t{\n\t\treturn (obj && (Object.keys(obj).length === 0));\n\t}\n\tgetLoggedInUserCompanyObs()\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tlet company: string = '';\n\t\tif (userProfile)\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser))\n\t\t\t{\n\t\t\t\tcompany = loggedinUser.company;\n\t\t\t}\n\t\t\treturn of(company);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processCompanyId(response) : company)\n\t\t\t);\n\t\t}\n\t}\n\tprocessCompanyId(res: ApiResponse): string\n\t{\n\t\tconst user: AuthState = res.data;\n\t\tlet companyId: string = '';\n\t\tif (user.company)\n\t\t\tcompanyId = user.company;\n\t\treturn companyId;\n\t}\n\tgetLoggedInUserAdminLocationIdObs()\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tlet adminLocationId: string = '';\n\t\tif (userProfile)\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser))\n\t\t\t{\n\t\t\t\tadminLocationId = loggedinUser.adminLocationID ? loggedinUser.adminLocationID : '';\n\t\t\t}\n\t\t\treturn of(adminLocationId);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processAdminLocationId(response) : adminLocationId)\n\t\t\t);\n\t\t}\n\t}\n\tprocessAdminLocationId(res: ApiResponse): string\n\t{\n\t\tconst user: AuthState = res.data;\n\t\tlet adminLocationId: string = '';\n\t\tif (user.adminLocationID)\n\t\t\tadminLocationId = user.adminLocationID;\n\t\treturn adminLocationId;\n\t}\n\tprocessAdminEmailId(res: ApiResponse): string\n\t{\n\t\tconst user: AuthState = res.data;\n\t\tlet adminEmailId: string = '';\n\t\tif (user.adminEmailId)\n\t\t\tadminEmailId = user.adminEmailId;\n\t\treturn adminEmailId;\n\t}\n\tgetLoggedInUserLocations(): LoggedInLocation[]\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tlet loggedInLocations: LoggedInLocation[] = [];\n\t\tconst userProfile = this.localStorageService.getLoggedInUserLocation();\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser) && loggedinUser.locations?.length > 0)\n\t\t\t{\n\t\t\t\tloggedInLocations = loggedinUser.locations;\n\t\t\t}\n\t\t}\n\n\t\treturn loggedInLocations;\n\t}\n\tpublic getuserNameObs(): Observable\n\t{\n\t\tconst userProfile = this.getUserProfile();\n\t\tlet userName = '';\n\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tuserName = this.constructUserName(userProfile);\n\t\t\treturn of(userName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst userObs: Observable = this.getUserObservable();\n\t\t\treturn userObs.pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processUserName(response) : userName)\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate getUserProfile(): any\n\t{\n\t\treturn this.sharedUtilService.isTmhCorporateAdmin && !this.sharedUtilService.isCustomerSupportSession ?\n\t\t\tthis.localStorageService.getTmhCorporateAdminDetails() :\n\t\t\tthis.sharedUtilService.isTmhCustomerSupportRole && !this.sharedUtilService.isCustomerSupportSession ?\n\t\t\t\tthis.localStorageService.getTmhCustomerSupportDetails() :\n\t\t\t\tthis.localStorageService.getLoggedInUser();\n\t}\n\n\tprivate constructUserName(userProfile: any): string\n\t{\n\t\tconst parsedProfile = this.localStorageService.parseJSON(userProfile);\n\t\treturn `${parsedProfile?.firstName} ${parsedProfile?.lastName}`;\n\t}\n\n\tprivate getUserObservable(): Observable\n\t{\n\t\treturn this.sharedUtilService.isTmhCorporateAdmin ?\n\t\t\tthis.apiService.getLoggedInTmhCorporateAdminDetails() :\n\t\t\tthis.sharedUtilService.isTmhCustomerSupportRole ?\n\t\t\t\tthis.apiService.getLoggedInTmhCustomerSupportDetails() :\n\t\t\t\tthis.apiService.getLoggedInUserObs();\n\t}\n\tprocessUserName(res: ApiResponse): string\n\t{\n\t\tlet loggedInUser: string = '';\n\t\tconst user: AuthState = res.data;\n\t\tloggedInUser = this.capitalizeFirstLetter(user?.firstName)\n\t\t\t+ ' ' + this.capitalizeFirstLetter(user?.lastName);\n\t\treturn loggedInUser;\n\t}\n\tgetLoggedInUseLocationsIdsObs(): Observable\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tlet loggedInLocationIds: string[] = [];\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser) && loggedinUser.customerIds?.length > 0)\n\t\t\t{\n\t\t\t\tloggedInLocationIds = [...loggedinUser.customerIds].filter(val => val!== null);\n\n\t\t\t}\n\t\t\treturn of(loggedInLocationIds);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.process(response) : loggedInLocationIds)\n\t\t\t);\n\t\t}\n\n\t}\n\n\tprocess(res: ApiResponse): string[]\n\t{\n\t\tlet loggedInLocationIds: string[] = [];\n\t\tconst user: AuthState = res.data;\n\t\tloggedInLocationIds = [...user.customerIds].filter(val => val!== null);\n\t\treturn loggedInLocationIds;\n\t}\n\tgetLoggedInUserLocationWithPrimaryGridObs(): Observable\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tconst loggedInLocationPrimaryGrid: LocationPrimaryGrid = { locations: [], primaryGridId: '' };\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser) && loggedinUser.customerIds.length > 0)\n\t\t\t{\n\t\t\t\tloggedInLocationPrimaryGrid.primaryGridId = loggedinUser.primaryLocationGRID;\n\t\t\t\tloggedInLocationPrimaryGrid.locations = [...loggedinUser.customerIds].filter(val => val!== null);\n\t\t\t}\n\t\t\treturn of(loggedInLocationPrimaryGrid);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processPrimaryGridId(response) : loggedInLocationPrimaryGrid)\n\t\t\t);\n\t\t}\n\n\t}\n\tprocessPrimaryGridId(res: ApiResponse): LocationPrimaryGrid\n\t{\n\t\tconst loggedInPrimaryGrid: LocationPrimaryGrid = { locations: [], primaryGridId: '' };\n\t\tconst user: AuthState = res.data;\n\t\tif(user.customerIds)\n\t\t{\n\t\t\tloggedInPrimaryGrid.locations = [...user.customerIds].filter(val => val!== null);\n\t\t}\n\t\tloggedInPrimaryGrid.primaryGridId = user?.primaryLocationGRID ? user?.primaryLocationGRID : '';\n\t\treturn loggedInPrimaryGrid;\n\t}\n\n\tpublic getLocationValues(): Control[]\n\t{\n\t\tconst locations: LoggedInLocation[] = this.getLoggedInUserLocations();\n\t\tconst assignedLocations: Control[] = [];\n\t\tconst assignedLocationArr: string[] = [];\n\t\tlocations.forEach(element =>\n\t\t{\n\t\t\tconst location: AssignedLocation = {\n\t\t\t\tname: element?.locationLabel ? element.locationLabel : element.locationName,\n\t\t\t\tid: element.locationId,\n\t\t\t\taddress: element.address\n\t\t\t};\n\t\t\tassignedLocations.push(\n\t\t\t\tthis.initialiseFilterControl(\n\t\t\t\t\tlocation.id,\n\t\t\t\t\tlocation.name,\n\t\t\t\t\tControlType.checkbox,\n\t\t\t\t\tlocation.address\n\t\t\t\t)\n\t\t\t);\n\t\t\tassignedLocationArr.push(location.name);\n\t\t});\n\t\tthis.locationNames = [...assignedLocations];\n\t\tthis.locationNamesArr = [...assignedLocationArr];\n\t\treturn assignedLocations;\n\t}\n\n\tpublic getBillingLocationValues(): Control[]\n\t{\n\t\tconst locations: LoggedInLocation[] = this.getLoggedInUserLocations();\n\t\tconst assignedLocations: Control[] = [];\n\t\tconst assignedLocationArr: string[] = [];\n\t\tlocations.forEach(element =>\n\t\t{\n\t\t\tconst location: AssignedLocation = {\n\t\t\t\tname: element?.locationLabel ? element.locationLabel : element.locationName,\n\t\t\t\tid: element.locationId,\n\t\t\t\taddress: element.address\n\t\t\t};\n\t\t\tassignedLocations.push(\n\t\t\t\tthis.initialiseFilterControl(\n\t\t\t\t\tlocation.id,\n\t\t\t\t\tlocation.name,\n\t\t\t\t\tControlType.checkbox,\n\t\t\t\t\tlocation.address\n\t\t\t\t)\n\t\t\t);\n\t\t\tassignedLocationArr.push(location.name);\n\t\t});\n\t\tthis.locationNames = [...assignedLocations];\n\t\tthis.locationNamesArr = [...assignedLocationArr];\n\t\treturn assignedLocations;\n\t}\n\tinitialiseFilterControl(id: string, label: string, type: ControlType, address?: Address)\n\t{\n\t\treturn new Control({\n\t\t\tid: id,\n\t\t\tlabel: label,\n\t\t\ttype: type,\n\t\t\tvalue: false,\n\t\t\tisLocation: (address !== undefined),\n\t\t\taddress: address,\n\t\t\tinputPlaceholderText: '',\n\t\t\tinputIcon: '',\n\t\t\toptions: []\n\t\t});\n\t}\n\n\tinitialiseServiceFilterControl(id: string, label: string, type: ControlType, address?: ServiceManagementAddress)\n\t{\n\t\treturn new Control({\n\t\t\tid: id,\n\t\t\tlabel: label,\n\t\t\ttype: type,\n\t\t\tvalue: false,\n\t\t\tisLocation: (address !== undefined),\n\t\t\taddress: address,\n\t\t\tinputPlaceholderText: '',\n\t\t\tinputIcon: '',\n\t\t\toptions: []\n\t\t});\n\t}\n\n\trequestServiceEquipmentDetails()\n\t{\n\t\tif (this.environmentRef.requestServiceEquipmentDetails)\n\t\t{\n\t\t\twindow.open(this.environmentRef.requestServiceEquipmentDetails, '_blank', 'noopener');\n\t\t}\n\t}\n\n\tpublic displayRepairLines(key: string, value: [{ repairType: string; repairCode: string }], gridObj: KngValueObjState, labels: GridModel | ServiceHistoryLabels)\n\t{\n\t\tconst valueKeys = Object.keys(value[0]);\n\t\tconst repairtypeArr: string[] = [];\n\t\tconst repaircodeArr: string[] = [];\n\t\tvalue.forEach((repairLine: { repairType: string; repairCode: string }) =>\n\t\t{\n\t\t\trepairtypeArr.push(repairLine.repairType);\n\t\t\trepaircodeArr.push(repairLine.repairCode);\n\t\t});\n\t\tconst uniqueRepairtype = new Set(repairtypeArr);\n\t\tlet uniqueRepairtypeArr = [...uniqueRepairtype];\n\t\tconst uniqueRepaircode = new Set(repaircodeArr);\n\t\tlet uniqueRepaircodeArr = [...uniqueRepaircode];\n\t\tuniqueRepairtypeArr = uniqueRepairtypeArr.filter(item => item !== '');\n\t\tuniqueRepaircodeArr = uniqueRepaircodeArr.filter(item => item !== '');\n\t\tthis.setRepairtype(valueKeys, uniqueRepairtypeArr, key, gridObj, labels);\n\t\tthis.setRepaircode(valueKeys, uniqueRepaircodeArr, key, gridObj, labels);\n\t\treturn gridObj;\n\t}\n\n\tpublic getLabel(dataKey: string, labels: GridModel | ServiceHistoryLabels | ChangeRequestHeaderLabel | MyQuotesGridListLabel): string\n\t{\n\t\tlet label = '';\n\t\tObject.entries(labels).forEach(([ key, value ]) =>\n\t\t{\n\t\t\tif (key === dataKey) label = value;\n\t\t});\n\t\treturn label;\n\t}\n\n\tpublic setRepairtype(valueKeys: string[], uniqueRepairtypeArr: string[], key: string, gridObj: KngValueObjState, labels: GridModel | ServiceHistoryLabels)\n\t{\n\t\tconst repairtypelabel = this.getLabel(valueKeys[0], labels);\n\t\tif (uniqueRepairtypeArr.length <= 1 && repairtypelabel !== '')\n\t\t{\n\t\t\tgridObj.values.push(this.setRepairLine(repairtypelabel, uniqueRepairtypeArr, key));\n\t\t}\n\t\telse if (uniqueRepairtypeArr.length > 1 && repairtypelabel !== '')\n\t\t{\n\t\t\tgridObj.values.push(this.setRepairLineMultiple(repairtypelabel, uniqueRepairtypeArr, key));\n\t\t}\n\t\treturn gridObj;\n\t}\n\tpublic setRepaircode(valueKeys: string[], uniqueRepaircodeArr: string[], key: string, gridObj: KngValueObjState, labels: GridModel | ServiceHistoryLabels)\n\t{\n\t\tconst repaircodelabel = this.getLabel(valueKeys[1], labels);\n\t\tif (uniqueRepaircodeArr.length <= 1 && repaircodelabel !== '')\n\t\t{\n\t\t\tgridObj.values.push(this.setRepairLine(repaircodelabel, uniqueRepaircodeArr, key));\n\t\t}\n\t\telse if (uniqueRepaircodeArr.length > 1 && repaircodelabel !== '')\n\t\t{\n\t\t\tgridObj.values.push(this.setRepairLineMultiple(repaircodelabel, uniqueRepaircodeArr, key));\n\t\t}\n\t\treturn gridObj;\n\t}\n\tpublic setRepairLine(label: string, array: string | string[], key: string)\n\t{\n\t\tconst valueState: KngValueListState = {\n\t\t\tlabel: label,\n\t\t\tlabelValue: array[0],\n\t\t\ticon: '',\n\t\t\tcssClass: '',\n\t\t\tcategory: this.checkCategory(key)\n\t\t};\n\t\treturn valueState;\n\t}\n\tpublic setRepairLineMultiple(label: string, array: string | string[], key: string)\n\t{\n\t\tconst valueState: KngValueListState = {\n\t\t\tlabel: label,\n\t\t\tlabelValue: array.length.toString() + ' ' + label + 's',\n\t\t\ticon: '',\n\t\t\tcssClass: '',\n\t\t\tcategory: this.checkCategory(key)\n\t\t};\n\t\treturn valueState;\n\t}\n\tpublic checkCategory(key: string): string\n\t{\n\t\tlet selectedCat: string = FieldType.text;\n\t\tselectedCat = (key === FieldName.status) ? FieldType.invoice : this.sharedUtilService.getFieldType(key);\n\t\treturn selectedCat;\n\t}\n\tpublic getadminEmail()\n\t{\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tlet loggedinUser: LoggedInUser;\n\t\tlet adminEmailId: string = '';\n\t\tif (userProfile)\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser))\n\t\t\t{\n\t\t\t\tadminEmailId = loggedinUser.adminEmailId ? loggedinUser.adminEmailId : '';\n\t\t\t}\n\t\t\treturn of(adminEmailId);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processAdminEmailId(response) : adminEmailId)\n\t\t\t);\n\t\t}\n\n\t}\n\n\tpublic updateGetAdminEmail(message: Message): string\n\t{\n\t\tthis.getadminEmail().subscribe({\n\t\t\tnext: (res: string) =>\n\t\t\t{\n\t\t\t\tmessage.tokens = [];\n\t\t\t\tconst token: Token = { name: '$token', text: res, isLink: true };\n\t\t\t\tmessage.tokens.push(token);\n\n\t\t\t\tif (message.tokens && message.tokens.length > 0)\n\t\t\t\t{\n\t\t\t\t\tmessage.tokens.forEach((element) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage.text = message.text.replace(element.name, element.text);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t});\n\t\treturn message.text;\n\t}\n\n\tcheckRouteParams(label: string, querParams:{[key: string]: string })\n\t{\n\t\tif(label === BreadCrumb.addNewLocation && querParams?.['locationId'])\n\t\t{\n\t\t\tlabel = BreadCrumb.locationDetails;\n\t\t}\n\t\treturn label;\n\t}\n\n\tgetLoggedInUserRole(): Observable\n\t{\n\t\tconst loggedInRoleName: string[] = [];\n\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\tmap(response => (response.statusCode === 200) ? this.processRoleName(response) : loggedInRoleName)\n\t\t);\n\n\t}\n\n\tgetLoggedInUserRoleFromSession(): Observable\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tconst role: string[] = [];\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\n\t\t\tif (loggedinUser && !this.isEmptyObject(loggedinUser))\n\t\t\t{\n\t\t\t\tloggedinUser.roles?.forEach((item: string) =>\n\t\t\t\t{\n\t\t\t\t\trole.push(item);\n\t\t\t\t});\n\n\t\t\t}\n\t\t\treturn of(role);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processRole(response) : role)\n\t\t\t);\n\t\t}\n\n\t}\n\n\tprocessRole(res: ApiResponse): string[]\n\t{\n\t\tconst role: string[] = [];\n\t\tconst user: AuthState = res.data;\n\t\tuser.roles?.forEach((item: string) =>\n\t\t{\n\t\t\trole.push(item);\n\t\t});\n\t\treturn role;\n\t}\n\n\tprocessRoleName(res: ApiResponse): string[]\n\t{\n\t\tconst user: AuthState = res.data;\n\t\tconst loggedInRoleName: string[] = user.roles? user.roles : [];\n\n\t\treturn loggedInRoleName;\n\t}\n\n\tgetErrorState(message: string, contactMessage: Message)\n\t{\n\t\tconst errorState:CommonErrorState = {\n\t\t\tmessages: [{ message: message }, { message: this.updateGetAdminEmail(contactMessage), cssClass: 'error-contact-section' }],\n\t\t\tid: '',\n\t\t\tstatusCode: 401,\n\t\t\timage: this.sharedUtilService.setImageBasedOnStatusCode(401)\n\t\t};\n\n\t\treturn errorState;\n\t}\n\tcheckForIndividualUserRole(roleList: Role[])\n\t{\n\t\tconst indexOfIndividualRole = roleList.findIndex(role=> role.id === individualUserRoleId);\n\t\tif(indexOfIndividualRole !== -1)\n\t\t{\n\t\t\troleList.splice(indexOfIndividualRole, 1);\n\t\t}\n\t\treturn roleList;\n\t}\n\tformatPhoneNumber(value: string): string\n\t{\n\t\tif(value.trim())\n\t {\n\t\t\tlet phoneNumber = value.replace(/[^\\d]/g, '');\n\t\t\tconst phoneNumberLength = phoneNumber.length;\n\t\t\tphoneNumber = phoneNumberLength > 10 ? phoneNumber.slice(-10) : phoneNumber;\n\t\t\tif (phoneNumberLength < 4) return phoneNumber;\n\t\t\tif(phoneNumberLength < 7)\n\t\t return `(${phoneNumber.slice(0, 3)})${phoneNumber.slice(3)}`;\n\t\t\treturn `(${phoneNumber.slice(0, 3)})${phoneNumber.slice(\n\t\t\t\t3, 6\n\t\t\t)}-${phoneNumber.slice(6, 10)}`;\n\t }\n\t return value.trim();\n\t}\n\thandlePhoneInputCursor(event: Event, cursorPosition: number, formattedNumberLength: number)\n\t{\n\t\tconst inputEvent = event as InputEvent;\n\t\tif(this.isCursorAtFormattedValues(cursorPosition, formattedNumberLength, inputEvent) )\n\t\t{\n\t\t\tcursorPosition = cursorPosition+2;\n\t\t}\n\t\telse if([ 1, 4, 8 ].includes(cursorPosition) && inputEvent.inputType !== 'deleteContentBackward')\n\t\t{\n\t\t\tcursorPosition = cursorPosition + 1;\n\t\t}\n\t\treturn cursorPosition;\n\t}\n\tisCursorAtFormattedValues(cursorPosition: number, formattedNumberLength: number, inputEvent: InputEvent)\n\t{\n\t\treturn this.isSequentialInput(cursorPosition, formattedNumberLength, 1, 2) || this.isSequentialInput(cursorPosition, formattedNumberLength, 4, 7) || (this.isSequentialInput(cursorPosition, formattedNumberLength, 9, 11) && inputEvent.inputType !== 'deleteContentBackward');\n\t}\n\tisSequentialInput(cursorPosition: number, formattedNumberLength: number, index: number, length: number)\n\t{\n\t\treturn (cursorPosition === index && formattedNumberLength <= length);\n\t}\n\tgetRoleIdArrObs(): Observable\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tlet roleIDArr: string[] = [];\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\troleIDArr = (loggedinUser && !this.isEmptyObject(loggedinUser) && loggedinUser.roles) ? loggedinUser.roles : [];\n\t\t\treturn of(roleIDArr);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processRoleIDArr(response) : roleIDArr)\n\t\t\t);\n\t\t}\n\n\t}\n\tprocessRoleIDArr(res: ApiResponse): string[]\n\t{\n\t\tlet roleIDArr: string[] = [];\n\t\tconst user: AuthState = res.data;\n\t\troleIDArr = user.roles? user.roles : [];\n\t\treturn roleIDArr;\n\t}\n\n\tgetLoggedInUserObs(): Observable\n\t{\n\t\tlet loggedinUser: LoggedInUser;\n\t\tconst userProfile = this.localStorageService.getLoggedInUser();\n\t\tif (userProfile && !this.isEmptyObject(userProfile))\n\t\t{\n\t\t\tloggedinUser = this.localStorageService.parseJSON(userProfile);\n\t\t\treturn of(loggedinUser);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.apiService.getLoggedInUserObs().pipe(\n\t\t\t\tmap(response => (response.statusCode === 200) ? this.processLoggedInUser(response) : loggedinUser)\n\t\t\t);\n\t\t}\n\n\t}\n\n\tgetLoggedInUserLocationsObservable(): Observable\n\t{\n\t\treturn of(this.getLoggedInUserLocations());\n\t}\n\n\tprocessLoggedInUser(res: ApiResponse): LoggedInUser\n\t{\n\t\tconst user: LoggedInUser = res.data;\n\t\treturn user;\n\t}\n\tnullAddressHandler(location: Address, notApplicableValueHandler: boolean = false): Address\n\t{\n\t\tconst address: Address = {\n\t\t\taddressLine1: '',\n\t\t\taddressLine2: '',\n\t\t\tcity: '',\n\t\t\tstate: '',\n\t\t\tzipCode: ''\n\t\t};\n\t\tif(this.isEmptyAddress(location))\n\t\t{\n\t\t\taddress.addressLine1 = notApplicableValueHandler? this.notApplicableValueHandler('') : this.nullValueHandler('');\n\t\t}\n\t\telse\n\t\t{\n\t\t\taddress.addressLine1 = this.emptyStringHandler(location.addressLine1);\n\t\t\tif(location.addressLine2)\n\t\t\t\taddress.addressLine2 = this.emptyStringHandler(location.addressLine2);\n\t\t\taddress.city = this.emptyStringHandler(location.city);\n\t\t\taddress.state = this.emptyStringHandler(location.state);\n\t\t\taddress.zipCode = this.emptyStringHandler(location.zipCode);\n\t\t}\n\t\treturn address;\n\t}\n\n\tisEmptyAddress(location: Address)\n\t{\n\t\treturn (!location || (!location.addressLine1 && !location.addressLine2 && !location.city && !location.state && !location.zipCode));\n\t}\n\n\tisStateCityPresent(city: string, state: string)\n\t{\n\t\tif(city && state)\n\t\t{\n\t\t\treturn (city + ', ' + state);\n\t\t}\n\t\telse if(city)\n\t\t{\n\t\t\treturn city;\n\t\t}\n\t\treturn state || '' ;\n\t}\n\n\tcheckCountryCode(countryCode: string)\n\t{\n\t\tif(countryCode.toLocaleUpperCase() === CountryCode.unitedStates || countryCode.toLocaleUpperCase() === CountryCode.unitedStatesofAmerica || countryCode.toLocaleUpperCase() === CountryCode.unitedStatesFull )\n\t\t{\n\t\t\treturn CountryCode.unitedStatesofAmerica;\n\t\t}\n\t\telse if(countryCode.toLocaleUpperCase() === CountryCode.canada || countryCode.toLocaleUpperCase() === CountryCode.canadaCountry)\n\t\t{\n\t\t\treturn CountryCode.canadaCountry;\n\t\t}\n\t\treturn '';\n\t}\n\n\tformatUserName(firstName: string, lastName: string | undefined)\n\t{\n\t\tif(firstName && lastName)\n\t\t{\n\t\t\treturn (firstName + ' ' + lastName);\n\t\t}\n\t\telse if(firstName)\n\t\t{\n\t\t\treturn firstName;\n\t\t}\n\t\treturn lastName ?? '' ;\n\t}\n\n\tpublic navigateMethod(router : Router, path: string | undefined, params?: string | undefined | boolean | number)\n\t{\n\t\tif(params)\n\t\t{\n\t\t\trouter.navigate([path+'/'+params])?.then(succeeded =>\n\t\t\t{\n\t\t\t\tif(succeeded)\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.log('navigation succeeded');\n\t\t\t\t}\n\n\t\t\t})\n\t\t\t\t.catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});;\n\t\t}\n\t\telse\n\t\t{\n\t\t\trouter.navigate([path])?.then(succeeded =>\n\t\t\t{\n\t\t\t\tif(succeeded)\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.log('navigation succeeded');\n\t\t\t\t}\n\n\t\t\t})\n\t\t\t\t.catch(error =>\n\t\t\t\t{\n\t\t\t\t\tthis.loggerService.error(error);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tpublic validateStringUnique(control: AbstractControl)\n\t{\n\t\tif(control.value)\n\t\t{\n\t const value = control.value?.split(/\\W+/).join('');\n\t\t\tconst firstNum = value ? value[0] : '';\n\t\t\tlet uniq = true;\n\t\t\tfor (const letter of value.split(''))\n\t\t\t{\n\t\t\t\tif (letter !== firstNum)\n\t\t\t\t{\n\t\t\t\t\tuniq = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn uniq ? { unique: true } : null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n\tcheckTableSort(event: KngHeaderObjState, headerName:any)\n\t{\n \tlet field: string = '';\n\t\tconst labels=Object.keys(headerName);\n\t\tconst labelValues = Object.values(headerName);\n\t for (let i = 0; i < labels.length; i++)\n\t {\n\t\t if (event.label === labelValues[i])\n\t\t {\n\t\t\t field = labels[i];\n\t\t }\n\t }\n \tconst sortPayload = {\n \t\tfield: field,\n \t\torder: event.sortOrder === SortOrder.asc ? SortOrder.asc : SortOrder.desc\n \t};\n\t return sortPayload;\n\t}\n\n\n\tpublic getStateProvinceValues(country: string): StateProvince[]\n\t{\n\t\tif(country.includes(CountryCode.unitedStates))\n\t\t{\n\t\t\treturn states;\n\t\t}\n\t\telse if(country.includes(CountryCode.canada))\n\t\t{\n\t\t\treturn provinces;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic isInvalidLength(searchData: string)\n\t{\n\t\treturn searchData?.replace(/\\s/g, '').trim().length > 0 && searchData?.replace(/\\s/g, '').trim().length < 4;\n\t}\n\n\tpublic getValidateRemoveLocResponse(removeLocResponse: ApiResponse)\n\t{\n\t\tconst responseObj: ValidateRemoveLocResponse = (removeLocResponse.data);\n\t\tthis.validateRemoveLocResponse.isLastLocation = responseObj.isLastLocation;\n\t\tthis.validateRemoveLocResponse$.next(true);\n\t}\n\n\tpublic validateRemoveLocError(error: HttpErrorResponse)\n\t{\n\t\tthis.loggerService.log(error.error.message);\n\t\tthis.validateRemoveLocResponse$.next(false);\n\t}\n\n\n\tnullHandlerCheck(key: string, value: string)\n\t{\n\t\tlet updatedVal: string = '';\n\t\tif(key === FieldName.location || key === FieldName.assignedLocation )\n\t\t{\n\t\t\tupdatedVal = this.nullLocationHandler(value);\n\t\t}\n\t\telse if(key === FieldName.telematicsStatus)\n\t\t{\n\t\t\tupdatedVal = value;\n\t\t}\n\t\telse if(key === FieldName.batteryStateOfCharge && ((value === null) || (value === undefined) || (value === '')))\n\t\t{\n\t\t\tupdatedVal = batteryStateOfChargeNullValue;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tupdatedVal = this.nullValueHandler(value);\n\t\t}\n\t\treturn updatedVal;\n\t}\n\n\tpublic scrollToTopOfPage()\n\t{\n\t\twindow.scroll({\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\tbehavior: 'smooth'\n\t\t });\n\t}\n\tgetEmailAddress()\n\t{\n\t\tconst portalUser = this.localStorageService.getLoggedInUser();\n\t\tconst corporateAdmin = this.localStorageService.getTmhCorporateAdminDetails();\n\t\tif (portalUser)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(portalUser).email ?? '';\n\t\t}\n\t\telse if(corporateAdmin)\n\t\t{\n\t\t\treturn this.localStorageService.parseJSON(corporateAdmin)?.email ?? '';\n\t\t}\n\t\treturn '';\n\t}\n\tcustomerServiceMail(errorMessage:string)\n\t{\n\t\tconst mail='customerservice@toyotatmh.com';\n\t\tconst subMessage=/Toyota Customer Service/g;\n\t\tconst message=errorMessage.replace(subMessage, `Toyota Customer Service` );\n\t\treturn message;\n\t}\n}\n","import { MyFleetEndpointFactory } from '../app/components/myfleet/myfleet.endpoint.factory';\nimport { ShellEndpointFactory } from '../app/components/shell/shell.endpoints.factory';\nimport { DashboardEndpointFactory, ServiceManagementEndpointFactory } from './interfaces';\nimport { AuthEndpointFactory } from './interfaces/endpoints/auth/auth.endpoint.factory';\nimport { RolesEndpointFactory } from './interfaces/endpoints/roles-permissions';\nimport { EnvironmentRef } from './interfaces/environment.interface';\n\nconst apiBaseUrl: string ='https://dev-api.toyotaforklift.com/portal/api/';\nconst aemBaseUrl: string = 'https://publish-p70005-e618018.adobeaemcloud.com';\nconst requestServiceUrl: string =\n 'https://qa.toyotaforklift.com/parts-and-service/request-a-service-quote';\nconst buyPartsUrl: string =\n 'https://shop-qa.toyotaforklift.com/en/parts-group?autoLogin=1';\nconst manageFinancingUrl: string = 'https://www.toyotacf.com';\nconst openContactFormUrl: string = 'https://qa.toyotaforklift.com/contact-a-dealer';\nconst requestServiceEquipmentDetails: string = 'https://qa.toyotaforklift.com/parts-and-service/request-a-service-quote';\nconst warrantyPromoBannerUrl: string = 'https://qa.toyotaforklift.com/us/en/parts-and-service/360-support';\nconst buyPartsPromoBannerUrl: string = 'https://shop-qa.toyotaforklift.com/en/?autoLogin=1';\nconst azureKey: string = 'ACkF9_n4ZlxeLom-n0lOjQ6qACs74-evw9MXO1BhKLs';\nconst appWalkmeUrl = 'https://cdn.walkme.com/users/5624a3dccd1a4cdeaeaba0672fb40626/test/walkme_5624a3dccd1a4cdeaeaba0672fb40626_https.js';\nconst shopDeliveryAddressUrl: string = 'https://shop-qa.toyotaforklift.com/en/account-dashboard/delivery-addresses';\nconst zendeskChatbotUrl: string = 'https://static.zdassets.com/ekr/snippet.js?key=4c93daa6-ac63-424b-b653-cc398cee4bb1';\n\nexport const environment: EnvironmentRef = {\n\tproduction: false,\n\tenv: 'dev',\n\tbaseUrl: apiBaseUrl,\n\tendpoints: {\n\t\tauth: AuthEndpointFactory.build(`${apiBaseUrl}`),\n\t\troles: RolesEndpointFactory.build(`${apiBaseUrl}`),\n\t\theader: ShellEndpointFactory.build(`${apiBaseUrl}`),\n\t\tmyfleetlabels: MyFleetEndpointFactory.build(`${apiBaseUrl}`),\n\t\tserviceManagement: ServiceManagementEndpointFactory.build(`${apiBaseUrl}`),\n\t\tdashboard: DashboardEndpointFactory.build(`${apiBaseUrl}`)\n\t},\n\tb2cPolicies: {\n\t\tnames: {\n\t\t\tsignUpSignIn: 'B2C_1A_DXS_SSO_DEV_SIGNUPSIGNIN',\n\t\t\teditProfile: ''\n\t\t},\n\t\tauthorities: {\n\t\t\tsignUpSignIn: {\n\t\t\t\tauthority:\n 'https://login.tmhrnd.com/login.tmhrnd.com/B2C_1A_DXS_SSO_DEV_SIGNUPSIGNIN'\n\t\t\t},\n\t\t\teditProfile: {\n\t\t\t\tauthority: ''\n\t\t\t}\n\t\t},\n\t\tauthorityDomain: 'login.tmhrnd.com'\n\t},\n\tclientId: '7de8e17c-5379-4a52-b339-140908aac26c',\n\tscope: {\n\t\tread: 'https://login.tmhrnd.com/portal-api/portal.read'\n\t},\n\taemBaseUrl: aemBaseUrl,\n\tappWalkmeUrl: appWalkmeUrl,\n\tzendeskChatbotUrl: zendeskChatbotUrl,\n\tazureMapsApiKey: azureKey,\n\trequestServiceUrl: requestServiceUrl,\n\tbuyPartsUrl: buyPartsUrl,\n\tmanageFinancingUrl: manageFinancingUrl,\n\topenContactFormUrl: openContactFormUrl,\n\trequestServiceEquipmentDetails: requestServiceEquipmentDetails,\n\twarrantyPromoBannerUrl: warrantyPromoBannerUrl,\n\tbuyPartsPromoBannerUrl: buyPartsPromoBannerUrl,\n\tshopDeliveryAddressUrl: shopDeliveryAddressUrl,\n\tanalytics: {\n\t\tscripts: {\n\t\t\tlaunch: {\n\t\t\t\tsrc: 'https://assets.adobedtm.com/81c40e86aed0/bef7f0d1cfa1/launch-43f538417445-development.min.js'\n\t\t\t}\n\t\t}\n\t}\n};\n","import { AuthEndpoint, AuthEndpointRoutes } from './auth.interface';\n\nexport class AuthEndpointFactory\n{\n\tpublic static build(baseUrl: string): AuthEndpoint\n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): AuthEndpointRoutes\n\t{\n\t\treturn {\n\t\t\tauth: {\n\t\t\t\ttoString: () => `${baseUrl}v0/auth`,\n\t\t\t\tvalidUser: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/auth/validUser`\n\t\t\t\t},\n\t\t\t\tpermissions: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/auth/permissions`,\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttoString: () => `${baseUrl}v0/auth/permissions/category`,\n\t\t\t\t\t\tid: (id: string) => `${baseUrl}v0/auth/permissions/category/${id}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} as AuthEndpointRoutes;\n\t}\n}\n","import { DashboardEndpoint, DashboardEndpointRoutes } from './dashboard.interface';\n\n\nexport class DashboardEndpointFactory \n{\n\tpublic static build(baseUrl: string): DashboardEndpoint \n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): DashboardEndpointRoutes \n\t{\n\t\treturn {\n\t\t\tdashboard: {\n\t\t\t\ttoString: () => `${baseUrl}v0/api`,\n\t\t\t\t\n\t\t\t\tgetNumberOfUnitsData: {\n\t\t\t\t\ttoString: () => 'v0/dashboard/widget/number-units'\n\t\t\t\t},\n\t\t\t\tgetFinancedEquipmentData: {\n\t\t\t\t\ttoString: () => 'v0/dashboard/widget/financed-equipment-count'\n\t\t\t\t},\n\t\t\t\tgetAverageAgeEquipmentData: {\n\t\t\t\t\ttoString: () => 'v0/dashboard/widget/average-age-equipment'\n\t\t\t\t},\n\t\t\t\tgetNewEquipmentOrders: {\n\t\t\t\t\ttoString: () => 'v0/dashboard/widget/equipment-count-status'\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t} as DashboardEndpointRoutes;\n\t}\n}\n","\nimport { Endpoint, EndpointRoutes } from '../endpoint.interface';\n\nexport interface DashboardEndpointRoutes extends EndpointRoutes {\n dashboard: {\n toString: () => string;\n \n getNumberOfUnitsData: {\n toString: () => string;\n };\n getFinancedEquipmentData: {\n toString: () => string;\n };\n getAverageAgeEquipmentData: {\n toString: () => string;\n };\n getNewEquipmentOrders: {\n toString: () => string;\n };\n \n };\n}\nexport interface DashboardEndpoint extends Endpoint {\n baseUrl: string;\n routes: DashboardEndpointRoutes;\n}\n","export * from './dashboard.endpoint.factory';\nexport * from './dashboard.interface';\nexport * from './dashboard.endpoint.factory';\nexport * from './dashboard.interface';\n","export interface Endpoint {\n baseUrl: string;\n routes: EndpointRoutes;\n}\nexport interface EndpointRoute {\n toString: () => string;\n}\nexport type EndpointRoutes = EndpointRoute & { [key: string]: EndpointRoute };\n","\nimport { MyFleetAemEndPoint } from 'projects/tmhna-portal/src/app/components/myfleet';\nimport { HeaderNavEndpoint } from 'projects/tmhna-portal/src/app/components/shell/shell.interface';\nimport { AuthEndpoint } from './auth/auth.interface';\nimport { DashboardEndpoint } from './dashboard';\nimport { RolesEndpoint } from './roles-permissions';\nimport { ServiceManagementEndpoint } from './service-management';\n\n\nexport interface Endpoints {\n auth: AuthEndpoint;\n roles: RolesEndpoint;\n header: HeaderNavEndpoint;\n myfleetlabels: MyFleetAemEndPoint;\n serviceManagement: ServiceManagementEndpoint;\n dashboard: DashboardEndpoint;\n}\n","export * from './endpoint.interface';\nexport * from './endpoints.interface';\nexport * from './roles-permissions';\nexport * from './service-management';\nexport * from './dashboard';\n","export * from './roles-permissions.endpoint.factory';\nexport * from './roles-permissions.interface';\n","import {\n\tRolesEndpoint,\n\tRolesEndpointRoutes\n} from './roles-permissions.interface';\n\nexport class RolesEndpointFactory \n{\n\tpublic static build(baseUrl: string): RolesEndpoint \n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): RolesEndpointRoutes \n\t{\n\t\treturn {\n\t\t\troles: {\n\t\t\t\ttoString: () => `${baseUrl}v0/api`,\n\t\t\t\tgetRoles: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/role/details`,\n\t\t\t\t\taddRoles: {\n\t\t\t\t\t\ttoString: () => `${baseUrl}v0/role/create`\n\t\t\t\t\t},\n\t\t\t\t\tupdate: {\n\t\t\t\t\t\ttoString: () => `${baseUrl}v0/role/update`\n\t\t\t\t\t},\n\t\t\t\t\tgetRemoveRoleState: {\n\t\t\t\t\t\ttoString: () => `${baseUrl}v0/role/AEMremoveLabels`\n\t\t\t\t\t},\n\t\t\t\t\tdelete: {\n\t\t\t\t\t\ttoString: () => `${baseUrl}v0/role/`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} as RolesEndpointRoutes;\n\t}\n}\n","import { Endpoint, EndpointRoutes } from '../endpoint.interface';\n\nexport interface RolesEndpointRoutes extends EndpointRoutes {\n roles: {\n toString: () => string;\n getRoles: {\n toString: () => string;\n addRoles: {\n toString: () => string;\n };\n update: {\n toString: () => string;\n };\n getRemoveRoleState: {\n toString: () => string;\n };\n delete: {\n toString: () => string;\n };\n };\n };\n}\nexport interface RolesEndpoint extends Endpoint {\n baseUrl: string;\n routes: RolesEndpointRoutes;\n}\n","export * from './service-management.endpoint.factory';\nexport * from './service-management.interface';\n","import {\n\tServiceManagementEndpoint,\n\tServiceManagementEndpointRoutes\n} from './service-management.interface';\n\nexport class ServiceManagementEndpointFactory \n{\n\tpublic static build(baseUrl: string): ServiceManagementEndpoint \n\t{\n\t\treturn {\n\t\t\tbaseUrl: baseUrl,\n\t\t\troutes: this.buildRoutes(baseUrl)\n\t\t};\n\t}\n\tprivate static buildRoutes(baseUrl: string): ServiceManagementEndpointRoutes \n\t{\n\t\treturn {\n\t\t\tserviceManagement: {\n\t\t\t\ttoString: () => `${baseUrl}v0/api`,\n\t\t\t\tgetSpendBreakdownData: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/service-management/service-history/widget/spend-invoices`\n\t\t\t\t},\n\t\t\t\tgetRepairCodeData: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/service-management/service-history/widget/top-repair-codes`\n\t\t\t\t},\n\t\t\t\tgetPaymentStatusData: {\n\t\t\t\t\ttoString: () => `${baseUrl}v0/service-management/service-history/widget/payment-status`\n\t\t\t\t}\n\t\t\t}\n\t\t} as ServiceManagementEndpointRoutes;\n\t}\n}\n","import { Endpoint, EndpointRoutes } from '../endpoint.interface';\n\nexport interface ServiceManagementEndpointRoutes extends EndpointRoutes {\n serviceManagement: {\n toString: () => string;\n getServiceManagementAemLabel: {\n toString: () => string;\n };\n getSpendBreakdownData: {\n toString: () => string;\n };\n getRepairCodeData: {\n toString: () => string;\n };\n getPaymentStatusData: {\n toString: () => string;\n };\n };\n}\nexport interface ServiceManagementEndpoint extends Endpoint {\n baseUrl: string;\n routes: ServiceManagementEndpointRoutes;\n}\n","import { Endpoints } from './endpoints/endpoints.interface';\n\nexport type EnvironmentName = 'prod' | 'dev' | 'qa' | 'sandbox' | 'uat';\n\nexport interface B2CPolicies {\n names: {\n signUpSignIn: string;\n editProfile: string;\n };\n authorities: {\n signUpSignIn: {\n authority: string;\n };\n editProfile: {\n authority: string;\n };\n };\n authorityDomain: string;\n}\nexport interface Scopes {\n read: string;\n}\nexport interface AnalyticsEnvironmentConfig {\n scripts: {\n launch: {\n src: string;\n };\n };\n}\nexport interface EnvironmentRef {\n production: boolean;\n env: EnvironmentName;\n azureMapsApiKey: string;\n baseUrl: string;\n endpoints: Endpoints;\n b2cPolicies: B2CPolicies;\n clientId: string;\n scope: Scopes;\n aemBaseUrl: string;\n requestServiceUrl: string;\n buyPartsUrl: string;\n manageFinancingUrl: string;\n openContactFormUrl: string;\n requestServiceEquipmentDetails: string;\n warrantyPromoBannerUrl: string;\n buyPartsPromoBannerUrl: string;\n shopDeliveryAddressUrl: string;\n analytics: AnalyticsEnvironmentConfig;\n appWalkmeUrl: string;\n zendeskChatbotUrl: string;\n}\n","export * from './endpoints';\nexport * from './environment.interface';\n","/* eslint-disable no-console */\n\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) \n{\n\tenableProdMode();\n}\n\nplatformBrowserDynamic()\n\t.bootstrapModule(AppModule)\n\t.catch((err) => console.error(err));\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class KineticAngularService {}\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'kng-void',\n\ttemplate: '

kinetic-angular works!

',\n\tstyles: []\n})\nexport class KineticAngularComponent {}\n","import { NgModule } from '@angular/core';\nimport { KngComponentsModule } from './components/kng-components.module';\nimport { KineticAngularComponent } from './kinetic-angular.component';\n\n@NgModule({\n\tdeclarations: [KineticAngularComponent],\n\timports: [KngComponentsModule],\n\texports: [ KineticAngularComponent, KngComponentsModule ]\n})\nexport class KineticAngularModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NavigationEnd","NavigationStart","BehaviorSubject","filter","AppFactory","expEnvironmentRef","Icons","skipAuthUrls","i0","ctx_r5","browserRefresh","AppComponent","constructor","environmentRef","loggerService","router","localStorageService","titleService","activatedRoute","apiService","sharedUtilService","buildAppState","imagePath","loaderOrange","zendeskChatBot","canceledNavigationResolution","events","subscribe","event","isCancelButtonError","navigated","state","state$","value","url","includes","showPageLoader","setTimeout","clearStorage","navigate","ngOnInit","currentUrl","_a","_platformLocation","_b","location","_c","href","searchParams","URLSearchParams","_d","_e","_f","search","_g","_h","_j","origin","_k","_l","_m","pathname","originValue","get","localStorage","setItem","_o","_p","_q","emailValue","decodedEmail","decodeURIComponent","atob","checkNewimpersonation","setRedirectedUser","_r","_s","_t","isLandingPage","loadWalkMeScript","loadZendeskChat","log","env","toUpperCase","pipe","route","getChild","data","setTitle","window","scrollTo","getUnreadMessages","firstChild","email","redirectedUser","getImpersonateUser","parsedData","JSON","parse","setCustomerToDashboard","isCustomerSupportSession$","next","removeImpersonateUser","setUserName","requiredWalkMeScriptDetails","id","src","appWalkmeUrl","type","renderExternalScript","requiredZendeskScriptDetails","zendeskChatbotUrl","externalScript","script","document","createElement","async","head","appendChild","getZendeskToken","response","zentoken","callback","token","error","openChatBot","unreadMessageCount","err","that","count","unreadEventInitiationTry","updateCount","selectors","decls","vars","consts","template","EventEmitter","Subscription","AuthComponent","service","updateState","initSubscriptions","redirectBasedOnUserRegistrationStatus","stateChangeSubs","stateChanged","emit","subscriptions","add","destroySubscriptions","unsubscribe","ngOnDestroy","inputs","outputs","catchError","forkJoin","map","of","expAppConstants","ApplicationPath","ErrorMessage","AuthFactory","AuthService","sharedApiService","sharedService","appConstantsRef","buildState","asObservable","status","getUserRegistrationStatus","responseObject","registrationStatus","isPendingBusinessAccountApproval","routingFunction","getRoutingFunction","handleUserBasedOnStatus","redirectOnError","isTmhCustomerSupportRole","getCustomerToDashboard","handleCustomerNavigation","isTmhCorporateAdminUser","handleTmhCorporateAdminUser","isCustomerSupportUser","handleCustomerSupportUser","isNonTmhCorporateAdmin","handleNonTmhCorporateAdminUser","undefined","handleRoutingFunction","setItems","isTmhCorporateAdmin","getLoggedInTmhCorporateAdminDetails","getLoggedInTmhCustomerSupportDetails","getLoggedInUserDetails","isLoggedInUserPresent","handlePendingAndNotApprovedState","hasOwnProperty","orgAdminPending","errorMessage","statusCode","message","messages","x","category","tags","triggerErrorService","navigateMethod","unAuthError","getLoggedInUserObs","handleRequest","bind","getLoggedInUserLocations","res","user","setLoggedInUser","striginifyJSON","locations","setLoggedInUserLocation","getLoggedInUser","getLoggedInUserLocation","handleCommonError","commonError","mapTmhCorporateAdminUserSession","getTmhCorporateAdminDetails","mapTmhCustomerSupportUserSession","getTmhCustomerSupportDetails","observable","result","authError","isInSession","impersonateUser","factory","providedIn","nullCheckValue","AccountGrid","AprRejBtnType","Validators","BusinessAccountCategory","AltText","CssClass","CountryCode","BusinessAccountRequestUtilService","fb","toaster","truncateFileName","fileName","maxLength","innerWidth","extensionIndex","lastIndexOf","extension","substring","fileNameWithoutExtension","truncatedName","length","checkIfValuePresent","value1","value2","value3","trim","emptyStringHandler","nullValueHandler","setDefaultValues","obj","values","checked","tempUserID","profileInformation","portalUserId","company","companyDetails","companyName","tempIsPrefilled","portalApprovedCustomerID","adminLocationID","roles","phoneNumber","roleName","updateHeaderObj","label","isTooltip","businessAccountApproval","headerObj","formatAddress","address","addressLine1","addressLine2","city","zipCode","country","canada","canadaCountry","formatZipcode","formattedZip","replace","zipCodeLength","slice","buildForm","group","accountName","disabled","required","c","alphaSpecialCharValidation","characterValidationWithNumerics","noWhitespaceValidator","postalCode","zipCodeLengthCheck","getCtaList","showActionBtn","acceptLabel","rejectLabel","className","singleApprove","size","style","icon","altText","iconPath","checkAcceptDisabled","approveIcon","position","singleReject","closeRejectDisabled","rejectIcon","handleError","selectedRowIndex","text","locationLinkStatusChecked","getErrorResponse","productionSupport","cssClass","errorBusinessSection","image","setImageBasedOnStatusCode","mapRemainAccessGridData","valueListState","locationList","uploadFile","firstLineValue","pendingLocationDetails","updatedFileName","locationListReviewed","uploadDisabled","thirdLineValue","sectionMiddle","grid","button","primaryGridOnly","ctaList","accept","reject","getHeaderLabel","header","tableState","gridHeaders","find","updateAccessGridData","primary","requestedOn","date","topLevelGrid","adminCompanyDetails","editData","secondLineValue","formatUserName","companyGridLabel","primaryLocationGRID","editCompanyDetail","editAdmingCompanyDetail","contact","multiline","firstName","lastName","formatPhoneNumber","buttonStatusChecked","gridData","mapUploadFilePopup","uploadFileState","isLoading","dragDropSection","dragDropLabel","or","orLabel","successMessage","success","uploadButtons","errorImage","errorIcon","successImage","successIcon","dragDropImage","onLoadIcon","actionRed","checkGreen","dragDropIcon","mapUploadModelState","uploadModelState","heading","buttons","modelButtons","cancel","upload","resetUploadFileModelFlags","isSuccessClient","isSuccessServer","isError","errorHeading","errorSubHeading","ModalButtonId","RemovalSubmissionButton","CustomerSupportComponent","loaderWhite","confirmSession","getCustomerSupportState","checkEmail","proceed","getRedirectedUser","startImpersonationSession","removeRedirectedUser","startSession","handleValidation","isInvalid","validateImpersonationSession","emailRegex","test","emailErrorMessage","invalidEmailFormat","confirmModalEvent","cta","hidden","confirmSessionState","closePopup","startCTA","viewQuery","ctx","EquipmentQuoteHeader","StatusPayload","debounceTime","distinctUntilChanged","switchMap","ControlType","DateRange","KngFilterPanelComponent","FilterOptions","SortOrder","DownloadNote","MyQuotesFactory","defaultPage","ctx_r12","ctx_r15","ctx_r17","ctx_r19","ctx_r21","ctx_r22","ctx_r9","EquipmentQuotesComponent","filterService","dateService","analyticsService","myQuotesUtilService","key","dateRange","lastSixtyDays","billingAddress","isInvalidLength","searchData","filterState","filteringPanelSection","initializePayload","sortingEvent","getHeaderObjectState","creationDate","desc","myQuotesPayload","sort","checkTableSort","initializeStructure","ngAfterViewInit","myQuotesFilterComponent","getBillingAddress","subscribeSearchText","page","originalDataLoaded","myQuotesTableStateObject","buildMyQuotetList","checkCardState","cardState","getQuotesTable","applySearch","searchText$","trimLeft","searched","getOriginalData","resetPage","pageChanged","currentPage","paginated","openFilter","closeFilter","updateBillingAddressSection","billingAddressFilterControls","appliedAddressIds","getCountOfFilterPanel","filterData","sections","setDateFilterCloseFilter","selectedFilterObj","filterStateChanged","filterHasAtLeastOneSelectedControl","filterApplied","btnIndex","findIndex","buttonClicked","updateAddressPayload","updateDatePayload","controls","getTableDataAndUpdateState","trackAnalyticsOnApplyFilter","clearAllFilterPanel","setDateFilterLabelCheck","setDefaultToFromDate","salesProspectAddress","initializeDatePayload","trackByEvent","link","name","forEach","control","radio","options","opt","setDefaultCustomDate","defaultFilter","addSelectedFilter","fromToDate","dateCalculation","fromDate","toDate","endDate","startDate","getUnixTimeStamp","Date","section","removeFilter","removeFilterForDateRange","resetFilterPanel","removeFilterForBillingAddress","mapSelectedFilter","resetBillingAddressFilter","addressSelected","index","removeFromSelectedFilter","loc","splice","removeSearchtextfromInputAfterClear","resetFilterPanelForBillingAddress","ctl","setValue","customDateRange","removeAllFilter","showHideFromToDate","searchTerm","val","searchValue","checkSortEvent","resetPageProperties","applyStatusFilterToCount","selectedStatusFilter","getMyQuotesStatus","selectedStatus","ordered","expired","quoteAccepted","quoteinProcess","readyForReview","push","billingAddressSearchControl","billingAddressSearchSubscription","valueChanges","findAssignedBillingAddress","updateFilterPanelOptions","subscriptions$","selectedBillingAddress","checkbox","updatedBillingAddress","Object","processSelectedAddress","downloadQuotePdf","redirectRoute","documentURL","getdownloadQuotePdf","item","downloadMyQuotesTableData","downloadMyQuotesData","$event","_r4","_r10","concatMap","tap","ScreenView","FieldName","FileName","MyQuotesService","build","buildInvoiceStatusCount","buildMyQuotesTableLabels","getDefaultPayload","updateCardState","getMyQuotesLabelState","getMyQuotesAemLabels","sectionTop","getMyQuotesMiddleLabelState","resSectionMiddle","invalidSearchText","download","myQuotesTableLabels","noResult","noResultFoundText","noQuotesAvailble","noResultFoundSubText","mapMyQuotesFilterLabels","sectionMiddleFilter","filterLabel","filterText","filterIconAltText","filterIcon","selectedFilterLabel","selectedFilters","clearAll","filterForm","formLabel","noResultsFoundText","noResultsFoundLabel","inputPlaceholderText","searchPlaceholder","clearAllButtonLabel","applyButtonLabel","mapDateRangeValues","dateResponse","selectedValue","currentDate","getFromDate","myQuotesCardListObject","loading","list","skip","toISOString","getEquipmentQuotesTableData","payload","getLoggedInUseLocationsIdsObs","locationIds","getEquipmentQuoteTableData","mapEquipmentQuotesData","records","trackAnalytics","pageInfo","totalCount","getHeader","complete","quoteApiError","split","messageSubText","trackErrorByEvent","headerList","isSort","sortOrder","buildTableData","view","accordionDeskTop","accordionMobile","cardListOrangeIcon","getCardListOrangeIcon","cardListGrayIcon","getCardListGreyIcon","cardListAccordionIcon","getCardListAccordionIcon","isFilterApplied","checkForFilterApplied","getGridData","getMyQuotesStatusCount","checkForActiveIndex","headers","activeIndex","parseInt","quoteDataOrderObj","myQuoteTabelData","assign","deleteObjectProperties","gridObj","collapsed","getGridDataMap","entries","getLabel","valueState","labelValue","checkCategory","dealership","getDealerShipDetail","checkStatus","orderID","invoiceStatusUpdated","invoiceStatusCount","amount","inProcessCount","acceptedCount","orderedCount","expiredCount","readyForReviewCount","getMyQuotesStatusAmount","limit","downloadMyQuotesTableList","toString","myQuotesList","tranformDate","downloadExcel","fileType","trackSuccessByEvent","handleDownloadError","errormessage","downloadError","downloadPdfpayload","pdfFileName","downloadQuotePDF","downloadPDF","handlePDFDownloadError","DefaultValue","MyQuotesStatusHeader","InvoiceStatusLabel","FieldType","MyQuotesUtilService","sharedFilterService","billingAddressData","aemBaseUrl","field","order","eventData","keyword","nullAddressHandler","getBillingAddressFilterControls","billingAddresses","getBillingAddressValues","element","assignedBillingAddress","initialiseFilterControl","dealerDetails","every","dealerName","formattedAddress","dealerShipDetails","selectedCat","myQuoteStatus","getFieldType","numberOfResults","totalStatusLength","keys","hasValidSearchValue","hasBillingAddress","hasMismatchedStatusLength","hasDateRangeFilterApplied","checkForDateRageFilterApplied","defaultStartDate","defaultEndDate","billingAddressListState","searchKey","findSearchedAddress","sectionControls","getquotePromoBanner","quoteContentBlock","responseObj","handleSubscriptions","bannerFlag","sectionBottom","sectionPromoBanner","subscriptionBanner","subscriptionsDesktop","subscriptionsMobile","assignSubscriptionItems","bannerImage","RegistrationRequestType","countries","provinces","states","RegistrationFactory","RegistrationUtilService","getSelectedLocations","selectedLocations","locationGRID","getLocationsByGrids","isBusinessAccountRegistration","requestType","businessAdminUser","isPrimaryLocationAddressPresent","primaryLocationInfo","displayCountry","countryToDisplay","ele","displayState","countryCode","checkCountryCode","isValidCountry","targetArray","unitedStatesofAmerica","toLocaleUpperCase","isPrimaryLocationAvailable","showContactDealer","classList","remove","focus","analyticsData","companyNotFoundError","trackRegistrationByEvent","getStateProvinceValues","mapAdditionalLocationList","additionalLocationList","formatZipCode","formatLocationList","locationDetails","Boolean","join","trackAnalyticsForRegistrationError","trackAnalyticsEvent","mapAddress","getUploadFileLabel","uploadFileSection","handleDownloadCommonError","downloadButtonState","errorState","submitLocationPayload","isUploadSuccess","additionalLocations","selectedLocationGrids","submitPayload","buildSubmitUploadFileLocationsPayload","buildSubmitLocationsPayload","Subject","has","lodashHas","set","lodashSet","noop","lodashNoop","lodashGet","BooleanValues","ButtonPosition","ButtonSize","ButtonStyle","IsRequestSubmittedForReview","RegistrationStatus","UserType","TermsAndConditionPrivacyPolicyInfoBannerText","RegistrationMappingFactory","KngUploadFileFactory","ErrorMessageHeading","ErrorMessageSubHeading","companyAdminRoleId","RegistrationService","aemApiService","registrationUtilService","verifyAddressModal","eventCallback","businessRegistrationFlowSubmitModal","businessRegistrationUploadListModal","getButtonState","medium","secondary","left","isSavingIndividualUser","isIndividualUser","form","profileInformationForm","requiredLength","validateStringUnique","validatePhoneSequence","minLength","jobTitle","job","requestedRole","role","companyDetailsForm","addressDetails","markAsDirty","getFooterData","footer","footercontent","logoImagePath","ribbonImage","footermenu","pageLoadHandler","validUserSuccess","prefillDetailsSuccess","getUserData","getPrefilledUserData","tempFlag","crmPrefill","preFilledCompanyDetails","checkForIndividualUserRole","statesOrProvinces$","parsedVal","idTokenClaims","extension_CompanyName","given_name","family_name","emails","verifyInformation","checkForCompanyDetailsChange","saveUserData","addressSuggestion","companyInfoNotFound","vertexFailedWithNoSuggestedAddress","successVerifyScenario","showModifyButton","isModifyButtonClicked","isTCSection","isAccountTypeSection","vertexApiValidation","submitRegistrationReviewOrCancel","isRequestSubmittedForReview","true","checkForCompanyDetailsMandatoryFields","isPostalCodeUpdated","checkForPostalCodeUpdate","payloadPostalCode","preFilledPostalCode","useVerifiedAddress","Array","isArray","verifyInformationButton","disable","emitEvent","onlySelf","generalUser","userType","displayTCSectionWithSubmitButton","individualUser","isContinueButton","isSubmitRegistrationButton","handleVerifyInfoError","dealerInfo","enable","verifiedAddress","verifiedLocation","formattedPostalCode","patchValue","reset","addressState","addLabelsToForm","getRegistrationFormLabels","mapRegistrationPageCompanyDetails","mapRegistrationPageCompanyError","mapRegistrationPageProfileInfo","mapRegistrationPageTermsAndConditions","mapRegistrationPagePrivacyPolicy","mapRegistrationPageAccountType","mapRegistrationPageAdditionalLocation","mapDomainAemLabels","registrationPage","logo","logoutLabel","pageDescription","pageHeading","stepLabel","submitButton","termsModal","termsConditions","terms","modal","additionalLocationGridHeaderDesktop","additionalLocation","selectLocationTableHeader","mapAdditionalAemLabels","e","address2OptionalLabel","description","stateAltText","stepNumber","companyNotFoundErrorModalDescription","companyNotFoundErrorModalHeader","companyError","messageMain","messageSub","actionMessage","customerServiceName","contactDealer","profileInfo","emailAddress","jobTitleAltText","requestedRoleAltText","privacy","agreeButtonLabel","infoBanner","privacyPolicyInfoBannerText","agreedButtonLabel","closeIcon","_u","_v","_w","_x","_y","_z","_0","_1","content","_2","_3","_4","_5","_6","_7","disagreeButtonLabel","_8","_9","_10","_11","_12","_13","checkboxText","_14","_15","_16","tokenData","_17","_18","_19","_20","isLink","_21","_22","_23","_24","_25","_26","_27","_28","_29","_30","tandCInfoBannerText","_31","_32","_33","_34","_35","_36","_37","_38","_39","_40","_41","_42","_43","_44","_45","_46","_47","_48","_49","_50","_51","_52","_53","_54","_55","_56","_57","_58","_59","_60","privacypolicy","accountType","individualAccount","description1","description2","businessAccount","locationPageDescription","heading1","headingOr","heading2","primaryLocationHeading","selectAll","uploadSuccessText","uploadSuccessSubtext","domainInfo","subHeading","labelPrefix","labelSuffix","modifyDetailsButton","continueButton","vertexAPIValidationLabels","mapVertexLabels","mapVertexAddressFailedLabels","contactDealerButton","errorText","mapFieldErrorText","ribbonClearButton","additionalLocationSubmitButton","getGoogleTranslatePanel","renderer","selectRootElement","performFirstTimeTranslation","selection","googleTranslateMenuLink","removeAttribute","click","iframeElList","querySelectorAll","foundLink","from","links","contentWindow","thisLink","performSubsequetTranslation","panelAfterFirstTranslation","buttonRestore","getElementById","buttonTranslate","canActivatePortal","redirectBasedOnRegistrationStatus","saveGeneralUser","isRegistrationStatusPresent","saveIndividualUser","isContinueSuccess","statusValueToRedirectsMap","then","succeeded","catch","getAdditionalLocationList","getAdditionalLocations","additionalLocationGrid","checkForSelectAll","isPrimaryLocationPresent","additionalLocationError","apiIssue","trackAnalyticsOnListFailure","checkAll","trackAnalyticsDataOnSubmit","submitAdditionalLocation","claimDomain","selectedLocationList","selectionMethod","handleSuccessForBusinessAccount","registration504Error","dashboard","saveBusinessUser","handleSuccessForSaveBusinessUser","isStatusInProgress","scrollToTopOfPage","inProgress","getBusinessRegistrationFlowSubmitModalLabels","businessRegistrationFlowSubmitModalLabels","businessRegistrationFlowSubmitModalState","getBusinessRegistrationLocationDownload","userLocationListUploadTemplate","downloadTemplateError","getBusinessRegistrationUploadListModalLabels","downloadButton","close","resetFileStateModel","checkServerValidationUploadFile","businessRegistrationUploadListModalState","btnBlack","setAttribute","getBAUploadLocation","handleUploadLocationError","uploadFailed","templateMismatch","apiError","verifyDomainClaimed","verifyDomain","domainData","disableDomainClaim","NavigationCancel","NavigationError","BreadCrumb","ConfirmLeavePageButtons","serviceCampaignClass","ShellFactory","accountManagerRoleId","ctx_r18","ctx_r24","ctx_r25","ctx_r26","ctx_r27","ctx_r0","ctx_r34","ctx_r36","ctx_r37","ctx_r38","ctx_r40","ctx_r28","ctx_r47","ctx_r49","ctx_r50","ctx_r51","ctx_r53","ctx_r41","ctx_r55","ctx_r57","ctx_r58","ctx_r60","ctx_r62","ctx_r65","ShellComponent","authService","leavePageService","renderer2","elementRef","idleUserService","selectedLocation","buildTnC","buildPolicy","breadcrumbs","buildBreadCrumb","root","customerState","customerSupportData","stateObservable$","confirmLeavePagestate","leaveConfirmModalState","endSessionModalState","inactiveSessionModalState","bannerState","handleRoleChange","getCustomerAemLabels","userInactive","isIdle","isCustomerSupportSession","isTmhSupportRole","checkIfNewBusinessAccount","hideServiceHistory","getServiceCount","miniMumHeader","buildMinimumAccessHaeder","isAccountManagerCredential","getAdminLocationList","getHeaderAlertBanner","getHeaderNavState","getConfirmLeavePageAemData","shouldLoadPage$","checkForUnsavedChanges","detectNavigationChange","isSupportFlag","handleTmhCorporateAdminProfileDetails","handleProfileDetails","isUnreadNotificationObservable$","unread","updateNotificationIcon","adminLocationList$","updateLocationList","userNameObservable$","userName","filteredHeader","elem","global","menu","username","getAttribute","setLanguage","observeDomChanges","ngAfterContentChecked","adjustHeaderPosition","targetNode","body","observer","MutationObserver","mutations","mutation","addedNodes","addedNode","nodeType","contains","shellBannerAdded","removedNodes","removedNode","config","childList","subtree","observe","onResize","checkIfAdjustPosition","alertBannerClosed","headerAlert","nativeElement","querySelector","sessionBanner","portalHeader","headerAlertHeight","clientHeight","portalHeaderHeight","sessionHeaderHeight","setStyle","adjustMainContentMargin","mainContent","banner","leavePageStateChangeSubs","leavePagestateChanged","exec","unreadNotificationPath","notificationPath","mobile","isDirty$","mapUserSession","handleBrowserRefresh","isCustomerSupport","routeConfig","path","nextUrl","queryParams","params","checkRouteParams","breadcrumb","newBreadcrumbs","bottomClickEventSubscription","shell","headerComponent","clickEventBottom","changeRoute","subscription$","redirectToSection","navigateWithCustomerSupport","isSignOutClicked","roleBasedSignOut","adminId","getLoggedInUserAdminLocationIdObs","adminLocID","getRoleId","getDefaultGrid","resetToDefaultAccount","endCustomerSession","logOut","accountManagerSelectedCompany","switchAccountPayload","switchAccount","routerLink","addNewDomain","editDomain","newUrl","getLocalstorageItems","flagObservable$","tnc","policyFlag","policyState","getAEMdetailsPolicy","modalPolicyState","termsAndCondition","getAEMdetailsTerms","modalTerms","confirmTcEvent","agree","checkBoxDisabledFlag","submitTnC","hideModalBackdrop","logout","checkIfTermsAgreed","checkIfPrivacyAgreed","confirmPolicyEvent","submitPolicy","closeModal","updateApplicationLanguage","translationValues","buildDefaultTranslationValuesMap","selectionId","Error","stringify","isValidSecondTimeTranslation","bannerClickHandler","target","confirmLeaveEvent","confirmLeavePage","toLocaleLowerCase","stay","setModalSelectionObservable","closeModalPopup","showTooltip","toLowerCase","showTermsAndConditionsTooltip","showPrivacyPolicyTooltip","getItems","getBusinessAccountSuccessLabels","businessAccountRegistrationSuccess","closeCongratulatoryModal","removeItem","headerBannerClosed","alertBanner","display","confirmEndSessionEvent","endImpersonationSession","confirmEndSession","confirmInactiveSessionEvent","inactiveSession","onScrollTandC","isAtBottomTandC","scrollTop","scrollHeight","Observable","firstValueFrom","urlPaths","ShellService","routerservice","logger","buildCustomerState","buildEndSessionModal","buildInactiveSessionModal","buildBannerState","buildAEMlist","buildAEMlistPolicy","unreadNotifications","buildBusinessAccountRegistrationSuccessModal","adminLocationList","requestServiceUrl","updateActionFooterPresent","isPresent","updateBannerState","adminLocations","a","b","localeCompare","clearLocalStorageExceptAlertBanner","baseUrl","myfleetSearch","btoa","removeCached","checkHeaderNav","getHeaderNavValues","globalHeader","handleGlobalHeader","mobileHeader","items","handleMobileHeader","hideMenu","shellStateHeaderNavMapperObject","portal","checkIfMinimumAccessProvided","isMyInSights","getUnreadNotificationsCount","shop","notification","logos","isBusinessAccountHeader","getuserNameObs","updatedUserNameState","locationListDropdown","dropdownArrow","chevronDownDesk","shopMobile","chevronDown","notClickable","minimumAccess","updatedTerms","tooltip","infoIcon","termsAndConditionAEMlabels","alertNote","unixTimestamp","Math","floor","getTime","getUserId","getLoggedInUserCompanyObs","companyId","userProfile","parseJSON","tcDate","tncUpdated","updatedPrivacy","policyAEMlabels","privacyDate","privacyPolicyUpdated","getBusinessAccountSuccessPopupLabels","congratulationsImage","mainText","subText","closeButtonLabel","storedBanner","getItem","updateStateAlertBanner","alertBannerList","endDisplay","startDisplay","bannerIcon","bannerMessage","updateHeaderAlertBanner","hasTokenInMessage","tokenDataList","bannerDataMessage","updateServiceCampaignBannerDataValue","defaultGrid","customerLabel","labels","mapCustomerlabels","getCustomerSupportLabels","setCustomerAemLabels","readOnly","warningNote","endSessionNote","endSession","endSessionCta","continueSessionCta","inActivityAlert","continueSession","inactivityConfirmation","inActivityConfirmation","inativityMessage","inActivityMessage","getServiceHistoryCount","resp","totalRecords","AccessGuard","errorService","canActivate","Promise","resolve","handleTmhCustomerSupportRouting","handleTmhCorporateAdminRouting","handleTmhNonCorporateAdminRouting","handlePendingAndNotApproved","isRouteMatchingPath","applicationPath","getCorporateAdminDetails","customerportal","unauthorizedError","getCustomerSupportDetails","customerSupport","AuthGuard","setUserStatusInStorage","checkRegistrationStatus","authentication","setRegistrationStatus","LocationAccessGuard","locationId","noLocations","updateGetAdminEmail","getMessage","windowInjectionToken","hasIn","lodashHasIn","AnalyticsFactory","AnalyticsService","windowRef","scriptInjectorService","initDataLayer","dl","buildDataLayerInstance","pushData","injectAdobeLaunchScript","load","analytics","scripts","launch","pageBottom","getEmailAddress","site","viewport","language","documentElement","dataLayerIsInit","adobeDataLayerName","warn","adobeAnalyticsDataLayer","EventType","InteractionStatus","lastValueFrom","takeUntil","b2cPolicies","cloneDeep","lodashCloneDep","AuthenticationService","msalService","msalBroadcastService","shellService","Map","inProgress$","None","pDestroying","setLoginDisplay","msalSubject$","msg","eventType","LOGIN_SUCCESS","instance","setActiveAccount","account","checkAndSetActiveAccount","getClaims","getActiveAccount","isLoggedIn","getAllAccounts","getFetchedPermission","getKeyFromPermissionGroup","permissionsMap","fetchedPermissions$","setRoutePermissions","permissions","action","login","subscriber","loginRedirect","attempts","register","request","scopes","authority","authorities","signUpSignIn","activeAccount","accounts","claims","dataSource","claim","extractPermissionsFromRoute","routePermissionsPath","defaultPermissions","getRoutePermissions","responseHasRoutePermissions","DOCUMENT","ScriptInjectorService","zone","scriptElement","buildScriptElement","responsePromise","addEventListenersToScriptElement","addScriptElementToDocument","addEventListener","runOutsideAngular","appendedScriptElement","DateFormat","SharedFilterService","checkIfControlIsMarkedAsSelected","checkRes","sectionWithSelectedControl","filterComponent","selectedOptions","ctrl","removeFromSelectedOption","notDate","option","setCountOfFilterPanel","indexOf","sec","custom","default","to","contactToFrom","checkForPreviousYears","lastYear","last2YearsDefault","lastYearDefault","findBillingServiceLocation","existingControls","searchFullAddress","locationControls","filteredResult","findAssignedLocation","filterValue","selectedFilterList","input","updateAllCheckboxValues","getFilterControls","getLocationValues","getShippingBillingLocationFilterControls","shippingLocations","selectedShippingLocation","getShippingLocationValues","assignedShippingLocation","zip","locationLabel","findEquipmentRepairType","equipmentControls","updateFilterSection","newOptions","oldOptions","setDateFilterIdCheck","valueId","showToFromInput","addressControls","valuesToCheck","addressString","getSelectedCheckbox","getCheckboxIds","getSelectedCheckboxByIds","setfilterCollapsedState","FormattingName","MaxDeviceWidth","OrderStatus","RemovalReasons","InvoiceStatusHeader","tmhCorporateAdminRoleId","tmhCustomerSupportRoleId","SharedUtilService","scrapped","stolen","sold","exported","truckNumber","equipmentVin","orderDate","eta","orderStatus","equipmentStatus","serviceDate","workOrderNumber","invoiceNumber","cost","currency","lastLogin","dueDate","crmOppNumber","quoteId","pdf","dateString","dealershipInfo","dateOfFirstUse","all","orderinProcess","orderProcess","inProduction","orderProduction","shipped","delivered","deliverStatus","routeToPortalFromOutside","isRequestSubmittedForReviewTrue","isTmhCorporateAdmin$","isTmhCustomerSupportRole$","isEquipmentDetailsRedirectedFromMyInsights","isEquipmentDetailsRedirectedFromMyInsights$","currentPath","open","fieldName","fieldMap","getOrderStatus","orderStatusMap","myQuotesStatusMap","inboundUrlPathName","checkTheRegistrationStatusAndRoute","unauthorized","userNotActivated","pendingApproval","noLocation","hideSort","headerObjectState","furtherActionsContactMessage","tokens","buttonState","backdrop","orderNumberMapping","orderId","locationIdMapping","formatValue","valueType","characterFormat","addressOne","addressTwo","rightArrowOrange","alt","leftArrow","getDefaultErrorObject","getLastTenErrorObject","lastTenErrorcodesEmptyData","noErrorCodes","getStateOnRemoveReason","selectedReason","commentAdded","removeReasons","soldExportSelected","commentRequiredRemoveReasons","userResponse","checkAccountManager","getCustomerSupportRoutingFunction","getCorporateAdminRoutingFunction","getCustomerSupportRoleRoutingFunction","getStatusBasedRoutingFunction","isAccountManager","isTmhCorporateAdminRole","isCustomerSupportRole","isAccountManagerRole","checkLocalStorage","isAnyUserPresent","updateUserRoles","updateIsMobileView","isMobile","forIn","lodashForIn","Control","TelematicsStatus","LanguageCode","CompanyLocationsTableHeader","MyFleetTableLabels","AssignedUserTableHeader","MyFleetTelematicsStatus","InviteUserheader","InviteBulkUserheader","BulkEquipmentHeader","AddBulkEquipmentDownloadReportTemplate","AddBulkEquipmentNonToyotaDownloadReportTemplate","RemoveBulkEquipmentHeader","MyFleetHeadrNames","canadaZipFormat","individualUserRoleId","batteryStateOfChargeNullValue","SharedService","isLastLocation","identifiedUsers","userName$","truncate","charactersToTruncate","nullLocationHandler","nullDateHandler","myfleetDownloadNullValueHandler","notApplicableValueHandler","numericNullValueHandler","tokenArray","updateBoldText","hasOneValidPrimitiveType","validatorPredicate","validatePrimitiveValue","primitiveTypes","itemIsPrimitiveType","typeName","isValidString","isValidNumber","Number","isNaN","isValidBoolean","capitalizeFirstLetter","capitalizeFirstLetterOfEachWord","str","i","createDownloadLink","blob","filename","objectUrl","URL","createObjectURL","revokeObjectURL","downloadTable","Blob","downloadTableData","locationName","csvData","myfleet","convertToCSVFile","companyLocations","objArray","array","tableHeader","companyLocationsHeader","convertToCSV","bulkequipmentReport","bulkEquipmentHeader","removeBulkEquipmentHeader","addBulkEquipmentToyotaDownloadReportTemplate","Log","rest","addBulkEquipmentDownloadReportTemplate","addBulkEquipmentNonToyotaDownloadReportTemplate","assignUserList","assignedUserTableHeader","inviteUserTemplate","inviteBulkUserheader","inviteUserheader","row","concat","line","getMyFleetHeaderForDownload","tableValues","getMyFleetTableValues","j","getMyFleetTableDataString","isTelematicsStatus","telematicsStatus","connected","notConnected","downloadNull","fleetData","emptyobj","modelID","assetNumber","equipmentType","make","assignedLocation","fleetType","checkForFleetLabels","arrayValues","manufacturer","checkForNewFleetLabels","formatCompleteAddress","formatAddressWithPostalCode","address1","address2","stateCode","getAssignedLocationFormatted","assignedLocations","assignedLocationSearch","locationData","checkIfLocationExists","locationArray","getCustomerId","customerIds","userId","defaultGRID","loggedinUser","coperateConvertFlag","corporateAccountRequestFlag","getLocalstorageUserProfile","getUserEmail","getPhoneNumber","getPrivacyDate","getTcDate","requiredLen","regex","alphaSpclCharValidationError","nonNumericSpaceRestriction","invalidCharacterError","characterValidationWithoutNumerics","minLengthError","zipCodeCanadaValidCheck","canadaPostalCodeFormatError","isWhitespace","isValid","whitespace","updateMessage","replaceText","seq","letter","sequence","formatString","getRequestServicePath","openContactFormUrl","currencyFormatter","Intl","NumberFormat","maximumFractionDigits","format","concatenateLocation","concateLocation","round","precision","pow","toFixed","isEmptyObject","processCompanyId","adminLocationId","processAdminLocationId","processAdminEmailId","adminEmailId","loggedInLocations","getUserProfile","constructUserName","userObs","getUserObservable","processUserName","parsedProfile","loggedInUser","loggedInLocationIds","process","getLoggedInUserLocationWithPrimaryGridObs","loggedInLocationPrimaryGrid","primaryGridId","processPrimaryGridId","loggedInPrimaryGrid","assignedLocationArr","locationNames","locationNamesArr","getBillingLocationValues","isLocation","inputIcon","initialiseServiceFilterControl","requestServiceEquipmentDetails","displayRepairLines","valueKeys","repairtypeArr","repaircodeArr","repairLine","repairType","repairCode","uniqueRepairtype","Set","uniqueRepairtypeArr","uniqueRepaircode","uniqueRepaircodeArr","setRepairtype","setRepaircode","dataKey","repairtypelabel","setRepairLine","setRepairLineMultiple","repaircodelabel","invoice","getadminEmail","querParams","addNewLocation","getLoggedInUserRole","loggedInRoleName","processRoleName","getLoggedInUserRoleFromSession","processRole","getErrorState","contactMessage","roleList","indexOfIndividualRole","phoneNumberLength","handlePhoneInputCursor","cursorPosition","formattedNumberLength","inputEvent","isCursorAtFormattedValues","inputType","isSequentialInput","getRoleIdArrObs","roleIDArr","processRoleIDArr","processLoggedInUser","getLoggedInUserLocationsObservable","isEmptyAddress","isStateCityPresent","unitedStates","unitedStatesFull","firstNum","uniq","unique","headerName","labelValues","sortPayload","asc","getValidateRemoveLocResponse","removeLocResponse","validateRemoveLocResponse","validateRemoveLocResponse$","validateRemoveLocError","nullHandlerCheck","updatedVal","batteryStateOfCharge","scroll","top","behavior","portalUser","corporateAdmin","customerServiceMail","mail","subMessage","KineticAngularService","Injectable","args","KineticAngularComponent","Component","selector","styles","actionButton","move","ActionButtonsComponent","onEditClick","buttonAction","expActionButtons","onDeleteClick","onViewClick","i1","i2","Input","Output","KngGridComponent","totalArrayLength","displayedColumns","arrowIconGray","arrowIconOrange","isSortable","totalPages","endIndex","endPage","pageSize","startIndex","startPage","totalItems","pageNumber","pagedItems","columnsToDisplay","matsortColumn","sortColumn","direction","onTableAction","MatSort","encapsulation","ViewEncapsulation","pageIndex","isAccordion","ViewChild","GridPagerService","getPager","ceil","startEndObj","getCurrentPage","min","KngGridModule","CommonModule","MatTableModule","MatPaginatorModule","MatSortModule","MatMenuModule","MatIconModule","MatButtonModule","NgxPaginationModule","NgModule","declarations","imports","exports","providers","KngButtonFactory","svgIconName","KngButtonComponent","pSvgIconName","handleClick","clicked","KngButtonModule","HttpClientModule","KngComponentsModule","KineticAngularModule","KngHeaderNavFactory","mobilePanelIsOpen","isSelected","submenu","buildheaderCustomerState","DealerPage","HeaderNav","HeaderUrl","KngHeaderNavComponent","scroller","showSettingsMenu","subMenuSelected","subLocationMenuSelected","showLocationDropdown","showellipsis","unSelectNav","unSelectHeader","unSelectMobileHeader","currentRoute","userSelected","navTabIndex","skipNavText","locationListArray","accountNameEllipsis","selectedAccordion","unlistener","listen","getHeaderData","onKeyPress","clickedElement","clickDropdownArrow","checkCurrentRoute","getUserName","shouldShowAccountNameEllipsis","getInitials","words","initials","word","charAt","headerTop","toggleHelper","accordion","panel","preventDefault","toggle","userManagement","rolesPermissions","accountSetting","locationManagment","subOptionArray","updateSelectionState","isMainNavSelected","headerBottom","updateSubSelectionState","orderMangement","serviceManagement","myQuotes","myInsights","mobileHeaderMenu","getSubOptionAndHeaderArray","setIsSelectedHeaderBottom","routUrl","isMyQuotesOrMyInsights","setIsSelectedSubOptionCategories","setIsSelectedForDashboard","setIsSelectedHeader","setIsSelectedSubOption","title","pop","selectHeaderMenu","resetNavIndex","clickEventTop","closeMenu","displayMenu","closeLocationMenu","displayLocationMenu","selectNavMenu","tag","selectSubLocationOption","clickEventLocationTop","selectSubLocationOptionMobile","selectSubOption","subOption","selectMobileMenu","sidenav","console","logoClicked","skipNavigation","scrollToAnchor","headerlogos","showEllipsis","flag","customerSessionEvent","i3","i4","i5","clickHeaderLogo","HostListener","KngHeaderNavModule","MatSidenavModule","BrowserAnimationsModule","RouterModule","KngFooterFactory","fixed","getFooterMenu","copyright","labelUrl","getLabelUrl","footerObj","KngContentFactory","windowed","KngContentComponent","hasFixedFooter","KngBreadcrumbFactory","breadcrumbData","breadcrumbIcon","KngBreadcrumbService","removeBreadcrumbs","addBreadcrumbs","KngBreadcrumbComponent","routeToUrl","eventEmitted","routeChanged","i1.KngBreadcrumbService","KngBreadcrumbModule","Icon","ButtonLabel","ModalFactory","closeHidden","ModalComponent","arrowLeft","editNewLocation","checkBoxTickedFlag","checBoxDisabledFlag","navBtnRequired","btnRequired","btnLabel","openModal","stateChangeHandler","modalState","stateChangedSubscription","closed","opened","emitCtaClickEvent","ctaClickedOn","openTooltip","eleRef","closeTooTip","showMobileTooltip","tooltipClicked","checkBoxClickEvent","checkBoxClicked","navBtnclick","navBtnClicked","toolTipRef","modalContainer","static","checkBoxText","navBtnState","ModalService","ModalModule","MatTooltipModule","MatCheckboxModule","FormsModule","ReactiveFormsModule","KngContentModule","FooterLabel","KngFooterService","isActionFooterPresent","isActionFooterPresent$","KngFooterComponent","footerService","footerLabel","footerdata","dropdown","languageCheck","ctaLinkClick","updateLanguageSelection","languageSelectionChanged","navigateTologo","navigateto","currentData","urlOfOrigin","i1.KngFooterService","ElementRef","ctaLinkClicked","read","KngFooterModule","DateRangeId","FormControl","controlOptions$","none","isHidden","quoteKeys","KngFilterPanelFactory","accordionCollapsedIcon","accordionExpandedIcon","searchIcon","crossIcon","toDateError","fromDateError","isFilterLoad","setDate","getDate","ngDoCheck","setToFromDate","checkboxClicked","checkboxClickEvent","initializeFilterCount","closeFilterEvent","clearSearch","checkSelectedValue","indexctrl","indexsec","selectedFilterData","optionLabel","onKeyUp","checkDateValidator","toDateUnix","fromDateUnix","targetElement","showError","displayRecordsHandler","isShowMorePresent","showMoreShowLess","isShowMoreClicked","handleViewOnLoad","isSearchFieldPresent","handleDynamicDisplayOfShowMoreShowLess","btnClicked","showMoreText","showLessText","noResultsFound","sectioncontrol","isErrorMessage","isAPIError","isShowMoreDisabled","isSectionWithSearchInput","expanded","some","updateCheckedStateForAccessibility","i6","i7","i8","KngFilterPanelService","KngFilterPanelModule","MatExpansionModule","MatFormFieldModule","MatInputModule","MatRadioModule","MatDatepickerModule","MatNativeDateModule","KngBannerFactory","KngBannerService","KngBannerComponent","hideBanner","bannerClickEvent","headerBannerCloseHandler","bannerClosed","handleBannerStyle","i1.KngBannerService","KngBannerModule","KngShellFactory","KngShellService","KngShellComponent","emitPath","labelRedirection","emitLocation","locationSelected","notifyAboutLanguageSelection","i1.KngShellService","i2.KngHeaderNavComponent","i3.KngBannerComponent","i4.KngContentComponent","i5.KngFooterComponent","bannerComponent","contentComponent","footerComponent","KngShellModule","KngChartsFactory","chart","widgetType","summaryUnits","datasets","responsive","maintainAspectRatio","plugins","backgroundColor","borderColor","titleColor","bodyColor","cornerRadius","padding","borderWidth","displayColors","legend","elements","tension","scales","offset","suggestedMin","suggestedMax","color","drawBorder","ticks","stepSize","y","buildBarState","barThickness","hoverBackgroundColor","pointBackgroundColor","pointHoverBorderColor","getPlugin","buildBarSummaryState","buildPieState","hoverBorderColor","align","maxWidth","boxHeight","boxWidth","font","getTooltip","getScales","buildPieSummaryState","caretSize","UserStatus","KeyEvent","LibIcons","NullCheck","KngChartsComponent","widgetLoader","imageText","BaseChartDirective","KngChartsService","KngLoaderFactory","KngLoaderService","KngLoaderComponent","i1.KngLoaderService","KngLoaderModule","KngChartsModule","NgChartsModule","KngSwatchFactory","code","tone","KngSwatchComponent","KngSwatchModule","CountOfItemsCardTypes","KngCountOfItemCardFactory","cardType","unit","KngCountOfItemCardComponent","KngCountOfItemCardModule","InvoiceStatus","ChangeRequestIndicator","EquipmentOrderStatus","MyQuoteStatus","InvoiceCheck","KngCardListFactory","tableDesktop","tooltipMessage","serviceCampaignAltText","moreIconAltText","changeRequest","toastMessage","activeFlag","KngCardListService","PagerService","pages","_","range","KngCardListComponent","pagerService","openCard","dataList","showAccordionView","accordionIcon","indicatorFlag","View","invoiceCheck","positionOptions","userStatusIcon","crStatus","headerValues","nonheaderValues","sortingtext","checkboxState","isCheckBoxRequired","screenWidth","pager","ngOnChanges","changes","currentValue","previousValue","setPage","capitalize","capitalizeWord","p","el","openCollapseAccordion","listIndex","sortNonHeaderValue","handleItemCheckBoxChange","isChecked","checkboxClickedEvent","handleHeaderCheckboxChange","headerCheckboxClickedEvent","capitalizeNonHeaderValue","labelMappings","totalImpact","tableMobile","diffHeaderNonHeaderLabel","headerFlag","createHeaderLabelMap","dataValue","listEntry","rearrangedValArr","removeActionBtn","getMobileHeaderCount","headerCount","indicator","updateHeaderStructure","deviceSupport","desktop","checkSortOrder","sortColumnEvent","sortColumnByKey","tab","stopPropagation","enter","pageClick","tableInput","scrollIntoView","block","onActionClick","actionEve","convertStringToNumber","convertStringToDate","useDisplayType","displayValue","displayType","separator","styleChange","updateStatus","statusItems","userListStatus","linkToRedirectionEquipment","fieldValue","fieldLabel","customerId","fieldValueCheck","linkToRedirection","nullValue","linktoDownloadPDF","linkToQuotesPDF","downloadInvoicePDF","downloadInvoice","isTelematicsResponse","getTelematicsTooltipValue","tooltipContent","columnIndex","rowIndex","updatePendingOrErrorState","record","isStatusUpdatePending","statusUpdatePendingMessage","removeTooltipSeparator","i1.KngCardListService","KngCardListModule","MatSelectModule","AccordionFactory","isCollapsed","AccordionService","AccordionComponent","formBuilder","isValidZipCode","handleHeaderClick","accordionClicked","isAccordionClicked","clearSearchInput","searchForm","searchDataChange","applysearch","inputElement","selectionStart","inputValue","updatedValue","newPosition","setSelectionRange","zipCodeValidator","pattern","isValidUSPostalCode","isValidCanadianPostalCode","isValidLength","isUSCode","strippedValue","i1.AccordionService","AccordionModule","KngToasterFactory","KngToasterService","toastr","showToaster","KngToasterComponent","i1.KngToasterService","KngToasterModule","ToastrModule","forRoot","timeOut","positionClass","toastClass","enableHtml","closeButton","preventDuplicates","tapToDismiss","KngStatusSelectorFactory","KngStatusSelectorService","KngStatusSelectorComponent","selectedStatusValue","screenView","onSelectionChange","selectedData","selectionChanged","i1.KngStatusSelectorService","KngStatusSelectorModule","TableCategory","KngTableFactory","isCheckbox","isRibbon","itemsSelected","ribbon","cancelButton","approveUserLimitIndicatorText","KngTableService","KngTableComponent","tableCategory","aprRejBtnType","isLinkEnabled","allSelected","setAll","updateAllSelected","partiallySelected","t","selectedCount","completed","countOfSelectedRequests","cancelSelection","rejectSingleUser","selectedRowDataArr","selectedRowEntry","rejectMultipleUser","approveSingleUser","approveMultipleUser","emitClickEvent","btnType","selectedActionData","selectedUserData","selectedUserDataForApprove","bulkReject","bulkApprove","btnClickEvent","redirectToApproveNewUserPage","navigateToApproveNewUser","openEditCompanyDetailsModal","editButtonClicked","getLocationList","locationListButton","openUploadFileModal","uploadFileLinkClicked","i1.KngTableService","i2.KngButtonComponent","KngTableModule","KngMydealerFactory","myDealer","phone","getPhoneEmail","isButton","iconValue","KngMydealerService","KngMydealerComponent","sharedservice","addressView","loaderState","parentPage","i1.KngMydealerService","i3.KngButtonComponent","contactClickOn","KngMydealerModule","KngTableLoaderFactory","noOfColumns","noOfRows","KngTableLoaderComponent","numSequence","n","KngTableLoaderModule","KngDialogTooltipComponent","dialogRef","MatDialogConfig","updateTooltipPosition","onScroll","rect","positionRelativeToElement","getBoundingClientRect","matDialogConfig","bottom","updatePosition","closeTooltip","i1$5","MAT_DIALOG_DATA","Inject","KngDialogTooltipModule","chooseFile","replaceFile","tryAgain","fileUploadLoader","fileUploadProgressText","buildUploadButtons","KngUploadFileService","DnDDirectiveDirective","fileOver","onDragOver","evt","onDragLeave","onDrop","files","dataTransfer","fileDropped","Directive","HostBinding","KngUploadFileComponent","fileUploadLoaderState","loaderWithOutText","onFileDropped","filedropped","fileUpdateHandle","fileBrowseHandler","fileValidationCheck","onReplaceFileBtnClick","replaceFileEventEmitter","onTryAgainBtnClick","tryAgainEventEmitter","i1.KngUploadFileService","i3.DnDDirectiveDirective","SharedModuleLib","KngUploadFileModule","DataTableConst","KngDataTableService","sortGridData","sortField","sortedA","sortedB","sortGridDataAsc","sortGridDataDesc","KngDataTableComponent","checkboxRequired","paginationRequired","tableData","headerCheckboxdisabled","mobileSelectAllDisable","pageLoad","messageBold","noresult","dataTableConst","computedIndex","itemIndex","headerSortable","i1.KngDataTableService","KngDataTableModule"],"sourceRoot":"webpack:///"}