{"version":3,"sources":["./src/app/app.component.html","./src/app/features/lui-legacy-components/accordion/standard-item.html","./src/app/features/lui-legacy-components/advanced-search/advanced-search.html","./src/app/features/lui-legacy-components/default-paginator/default-paginator.component.html","./src/app/features/lui-legacy-components/legacy-search-container/legacy-search-container.html","./src/app/features/lui-legacy-components/paginator/paginator.component.html","./src/app/features/lui-legacy-components/simple-search/simple-search.html","./src/app/features/lui-legacy-components/tab/tab-group.html","./src/app/features/lui-legacy-components/tab/tab-header.html","./src/app/features/lui-legacy-components/tab/tab.html","./src/app/features/lui-legacy-components/table-header/table-header.html","./src/app/features/lui-legacy-components/toolbar/toolbar.html","./src/app/features/lui-legacy-components/tree-app/tree.component.html","./src/app/features/lui-legacy-components/wizard-popup/wizard-popup.component.html","./src/app/features/public/login/login.component.html","./src/app/features/public/logout/logout.component.html","./src/app/features/public/recover-password/recover-password.component.html","./src/app/features/public/register/register.component.html","./src/app/features/public/reset-password/reset-password.component.html","./src/app/features/secure/demo/demo.component.html","./src/app/features/secure/error/error.component.html","./src/app/features/secure/exports/exports.component.html","./src/app/features/secure/home/dashboard/dashboard.component.html","./src/app/features/secure/home/home-view-container/home-view/home-view.component.html","./src/app/features/secure/home/home.component.html","./src/app/features/secure/home/select-kpi/kpi-selection-modal/kpi-selection-modal.component.html","./src/app/features/secure/main-footer/main-footer.component.html","./src/app/features/secure/main-header/main-header.component.html","./src/app/features/secure/main-navigation-container/main-module-selector/main-module-selector.component.html","./src/app/features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-mega-menu/lbmx-mega-menu.component.html","./src/app/features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-nav-bar.component.html","./src/app/features/secure/main-navigation-container/main-nav-bar/main-nav-bar.component.html","./src/app/features/secure/main-navigation-container/main-navigation-container.component.html","./src/app/features/secure/main-scroll-top/main-scroll-top.component.html","./src/app/features/secure/make-payments/make-payments.component.html","./src/app/features/secure/marketplace-analytics/dashboard-loader/dashboard-loader.component.html","./src/app/features/secure/marketplace-analytics/dashboard-template/dashboard-template.component.html","./src/app/features/secure/marketplace-analytics/purchases-by-supplier-report/purchases-by-supplier-report.component.html","./src/app/features/secure/marketplace-analytics/report-loader/report-loader.component.html","./src/app/features/secure/marketplace-analytics/reports/reports.component.html","./src/app/features/secure/marketplace-analytics/widget-selection/widget-selection.component.html","./src/app/features/secure/open-receivables/open-receivables.component.html","./src/app/features/secure/otp/otp.component.html","./src/app/features/secure/terms-services/terms-services.component.html","./src/app/features/secure/userprofile/userprofile.component.html","./src/app/layouts/public/public.component.html","./src/app/layouts/secure/secure.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/dtos/forgotPassword/forgotPassword.dto.ts","./src/app/dtos/registration/registration.dto.ts","./src/app/features/lui-legacy-components/accordion/accordion.module.ts","./src/app/features/lui-legacy-components/accordion/accordion.ts","./src/app/features/lui-legacy-components/accordion/animations.ts","./src/app/features/lui-legacy-components/accordion/item-control.ts","./src/app/features/lui-legacy-components/accordion/item-panel.ts","./src/app/features/lui-legacy-components/accordion/item.ts","./src/app/features/lui-legacy-components/accordion/roles.ts","./src/app/features/lui-legacy-components/accordion/standard-item.ts","./src/app/features/lui-legacy-components/accordion/unique-selection-dispatcher.ts","./src/app/features/lui-legacy-components/advanced-search/advanced-search.operators.ts","./src/app/features/lui-legacy-components/advanced-search/advanced-search.ts","./src/app/features/lui-legacy-components/advanced-search/advanced-search.ui.ts","./src/app/features/lui-legacy-components/advanced-search/module.ts","./src/app/features/lui-legacy-components/data-source/table-data-source.ts","./src/app/features/lui-legacy-components/default-paginator/default-paginator.component.ts","./src/app/features/lui-legacy-components/default-paginator/default-paginator.module.ts","./src/app/features/lui-legacy-components/legacy-search-container/leagacy-search-container.ui.ts","./src/app/features/lui-legacy-components/legacy-search-container/legacy-search-container.ts","./src/app/features/lui-legacy-components/legacy-search-container/module.ts","./src/app/features/lui-legacy-components/paginator/paginator.component.ts","./src/app/features/lui-legacy-components/paginator/paginator.module.ts","./src/app/features/lui-legacy-components/simple-search/module.ts","./src/app/features/lui-legacy-components/simple-search/simple-search.ts","./src/app/features/lui-legacy-components/simple-search/simple-search.ui.ts","./src/app/features/lui-legacy-components/tab/active-tab-service.ts","./src/app/features/lui-legacy-components/tab/module.ts","./src/app/features/lui-legacy-components/tab/roles.ts","./src/app/features/lui-legacy-components/tab/tab-group.ts","./src/app/features/lui-legacy-components/tab/tab-header.ts","./src/app/features/lui-legacy-components/tab/tab.ts","./src/app/features/lui-legacy-components/table-header/module.ts","./src/app/features/lui-legacy-components/table-header/resizable.directive.ts","./src/app/features/lui-legacy-components/table-header/table-header.scss","./src/app/features/lui-legacy-components/table-header/table-header.ts","./src/app/features/lui-legacy-components/table/cell.ts","./src/app/features/lui-legacy-components/table/module.ts","./src/app/features/lui-legacy-components/table/row.ts","./src/app/features/lui-legacy-components/table/table.ts","./src/app/features/lui-legacy-components/table/text-column.ts","./src/app/features/lui-legacy-components/toolbar/module.ts","./src/app/features/lui-legacy-components/toolbar/toolbar.ts","./src/app/features/lui-legacy-components/tree-app/tree-app.module.ts","./src/app/features/lui-legacy-components/tree-app/tree.component.scss","./src/app/features/lui-legacy-components/tree-app/tree.component.ts","./src/app/features/lui-legacy-components/tree-app/tree.ui.ts","./src/app/features/lui-legacy-components/tree/data-source/flat-data-source.ts","./src/app/features/lui-legacy-components/tree/node.ts","./src/app/features/lui-legacy-components/tree/outlet.ts","./src/app/features/lui-legacy-components/tree/padding.ts","./src/app/features/lui-legacy-components/tree/toggle.ts","./src/app/features/lui-legacy-components/tree/tree.module.ts","./src/app/features/lui-legacy-components/tree/tree.ts","./src/app/features/lui-legacy-components/wizard-popup/wizard-popup.component.scss","./src/app/features/lui-legacy-components/wizard-popup/wizard-popup.component.ts","./src/app/features/lui-legacy-components/wizard-popup/wizard-popup.module.ts","./src/app/features/public/login/login.component.scss","./src/app/features/public/login/login.component.ts","./src/app/features/public/logout/logout.component.scss","./src/app/features/public/logout/logout.component.ts","./src/app/features/public/recover-password/recover-password.component.scss","./src/app/features/public/recover-password/recover-password.component.ts","./src/app/features/public/register/register.component.scss","./src/app/features/public/register/register.component.ts","./src/app/features/public/reset-password/reset-password.component.scss","./src/app/features/public/reset-password/reset-password.component.ts","./src/app/features/secure/demo/demo.component.scss","./src/app/features/secure/demo/demo.component.ts","./src/app/features/secure/demo/demo.module.ts","./src/app/features/secure/demo/demo.ui.ts","./src/app/features/secure/error/error.component.scss","./src/app/features/secure/error/error.component.ts","./src/app/features/secure/exports/exports.component.ts","./src/app/features/secure/exports/exports.module.ts","./src/app/features/secure/home/dashboard/dashboard.component.ts","./src/app/features/secure/home/dashboard/dashboard.ui.ts","./src/app/features/secure/home/home-view-container/home-view-container.component.ts","./src/app/features/secure/home/home-view-container/home-view/home-view.component.ts","./src/app/features/secure/home/home.component.ts","./src/app/features/secure/home/select-kpi/kpi-selection-modal/kpi-selection-modal.component.ts","./src/app/features/secure/home/select-kpi/kpi-selection-modal/kpi-selection-modal.ui.ts","./src/app/features/secure/main-footer/main-footer.component.scss","./src/app/features/secure/main-footer/main-footer.component.ts","./src/app/features/secure/main-header/main-header.component.scss","./src/app/features/secure/main-header/main-header.component.ts","./src/app/features/secure/main-navigation-container/drop-down.ts","./src/app/features/secure/main-navigation-container/main-module-selector/main-module-selector.component.scss","./src/app/features/secure/main-navigation-container/main-module-selector/main-module-selector.component.ts","./src/app/features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-mega-menu/lbmx-mega-menu.component.ts","./src/app/features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-nav-bar.component.ts","./src/app/features/secure/main-navigation-container/main-nav-bar/main-nav-bar.component.ts","./src/app/features/secure/main-navigation-container/main-navigation-container.component.ts","./src/app/features/secure/main-navigation-container/permissions/index.ts","./src/app/features/secure/main-navigation-container/permissions/routes.ts","./src/app/features/secure/main-scroll-top/main-scroll-top.component.scss","./src/app/features/secure/main-scroll-top/main-scroll-top.component.ts","./src/app/features/secure/make-payments/make-payments.component.ts","./src/app/features/secure/make-payments/make-payments.module.ts","./src/app/features/secure/marketplace-analytics/dashboard-loader/dashboard-loader.component.scss","./src/app/features/secure/marketplace-analytics/dashboard-loader/dashboard-loader.component.ts","./src/app/features/secure/marketplace-analytics/dashboard-loader/dashboard-loader.ui.ts","./src/app/features/secure/marketplace-analytics/dashboard-template/dashboard-template.component.scss","./src/app/features/secure/marketplace-analytics/dashboard-template/dashboard-template.component.ts","./src/app/features/secure/marketplace-analytics/dashboard-template/dashboard-template.ui.ts","./src/app/features/secure/marketplace-analytics/filter.ts","./src/app/features/secure/marketplace-analytics/marketplace-analytics.module.ts","./src/app/features/secure/marketplace-analytics/params.ts","./src/app/features/secure/marketplace-analytics/purchases-by-supplier-report/purchases-by-supplier-report.component.scss","./src/app/features/secure/marketplace-analytics/purchases-by-supplier-report/purchases-by-supplier-report.component.ts","./src/app/features/secure/marketplace-analytics/report-loader/report-loader.component.scss","./src/app/features/secure/marketplace-analytics/report-loader/report-loader.component.ts","./src/app/features/secure/marketplace-analytics/report-loader/report-loader.ui.ts","./src/app/features/secure/marketplace-analytics/reports/reports.component.scss","./src/app/features/secure/marketplace-analytics/reports/reports.component.ts","./src/app/features/secure/marketplace-analytics/widget-selection/widget-selection.component.scss","./src/app/features/secure/marketplace-analytics/widget-selection/widget-selection.component.ts","./src/app/features/secure/marketplace-analytics/widget-selection/widget-selection.ui.ts","./src/app/features/secure/open-receivables/open-receivables.component.ts","./src/app/features/secure/open-receivables/open-receivables.module.ts","./src/app/features/secure/otp/otp.component.ts","./src/app/features/secure/terms-services/terms-services.component.ts","./src/app/features/secure/userprofile/user-profile-container.ts","./src/app/features/secure/userprofile/userprofile.component.scss","./src/app/features/secure/userprofile/userprofile.component.ts","./src/app/layouts/public/public.component.ts","./src/app/layouts/public/public.routes.ts","./src/app/layouts/secure/marketplace-modal.component.ts","./src/app/layouts/secure/on-mouse-move.directive.ts","./src/app/layouts/secure/secure.component.ts","./src/app/layouts/secure/secure.routes.ts","./src/app/layouts/secure/secure.service.ts","./src/app/layouts/secure/utils.ts","./src/app/models/user.model.ts","./src/app/provider/config-provider.ts","./src/app/services/EnvServiceProvider.ts","./src/app/services/account/account.service.ts","./src/app/services/analytics/analytics.service.ts","./src/app/services/authGuard/authGuard.service.ts","./src/app/services/authGuard/authorization.check.ts","./src/app/services/authGuard/terms.check.ts","./src/app/services/defaultRoute/default-route.service.ts","./src/app/services/env.service.ts","./src/app/services/error/app.error.helper.service.ts","./src/app/services/error/error.service.ts","./src/app/services/error/http.interceptor.ts","./src/app/services/navbar/nav-bar.service.ts","./src/app/services/otp/otp.service.ts","./src/app/services/registration/registration.service.ts","./src/app/services/resetPassword/passwordReset.service.ts","./src/app/services/siteType/site-type.service.ts","./src/app/services/user-profile/user-profile.service.ts","./src/env.js","./src/loaders/http.loader.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.7004e257265cac1f4456.js","sourcesContent":["export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n

\\r\\n

\\r\\n
{{header}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 ||\\r\\n form.values[fieldSet.value.fields.toString().split(',')[0]] ||\\r\\n form.values[fieldSet.value.fields.toString().split(',')[1]]}}\\\"\\r\\n filterIconPath=\\\"{{appliedIcon}}\\\"\\r\\n class=\\\"lui-item vertical-flow\\\"\\r\\n >\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ pageLink }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'SEARCH_CONTAINER.FILTER' | transloco }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
Items per page:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{ getRangeLabel(pageIndex, pageSize, length) }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n {{button}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
{{ 'SEARCH_CONTAINER.RESULTS' | transloco }}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ node.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ node.name }}\\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ 'COMMON.FAILURE_TOAST_MESSAGE' | transloco }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ 'ACTIONS.CANCEL' | transloco }}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'COMMON.PRODUCT_INFORMATION_MANAGEMENT' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.REAUTH_MESSAGE' | transloco }}\\r\\n
\\r\\n {{\\r\\n 'COMMON.REAUTH_SESSION_EXPIRED' | transloco\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ 'COMMON.INVALID_CREDENTIALS' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.LOGGED_OUT' | transloco }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.PRODUCT_INFORMATION_MANAGEMENT' | transloco }}\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ 'COMMON.FORGOT_PASSWORD' | transloco }}
\\r\\n
\\r\\n {{ 'COMMON.PASSWORD_RESET_INFO' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'COMMON.RECOVER_PASSWORD_SUCCESS_IFO' | transloco }}

\\r\\n

\\r\\n {{ 'COMMON.RECOVER_PASSWORD_CONTACT_IFO' | transloco\\r\\n }} support@lbmx.com.\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n {{ 'ADMINISTRATION.REGISTRATION' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'ADMINISTRATION.REGISTRATION_SUBTITLE' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'ADMINISTRATION.PASSWORD' | transloco }}\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.STRONG_PASSWORD_MESSAGE' | transloco }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'ADMINISTRATION.CONFIRM_PASSWORD' | transloco }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ 'ADMINISTRATION.PASSWORD_ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'ADMINISTRATION.REGISTRATION_FAILURE' | transloco }}\\r\\n

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

\\r\\n {{ 'ADMINISTRATION.REGISTRATION_SUCCESS' | transloco }}\\r\\n

\\r\\n

\\r\\n {{ 'ADMINISTRATION.LOGIN_HERE' | transloco }}\\r\\n \\r\\n {{ 'ADMINISTRATION.CLICK_HERE' | transloco }}\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.PRODUCT_INFORMATION_MANAGEMENT' | transloco }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ 'COMMON.PASSWORD_CHANGE' | transloco }}
\\r\\n
\\r\\n {{ 'COMMON.RESET_PASSWORD_TITLE' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'COMMON.STRONG_PASSWORD_MESSAGE' | transloco }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ 'ADMINISTRATION.PASSWORD_ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{ 'COMMON.RESET_PASSWORD_LINK_EXPIRED' | transloco }}\\r\\n

\\r\\n

\\r\\n {{ 'COMMON.REQUEST_NEW_PASSWORD' | transloco }}\\r\\n \\r\\n {{ 'ADMINISTRATION.CLICK_HERE' | transloco }}\\r\\n \\r\\n

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

\\r\\n {{ 'COMMON.RESET_PASSWORD_SUCCESS' | transloco }}\\r\\n

\\r\\n

\\r\\n {{ 'COMMON.LOGIN_MSG' | transloco }}\\r\\n \\r\\n {{ 'ADMINISTRATION.CLICK_HERE' | transloco }}\\r\\n \\r\\n

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

Legacy Search Container

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n searchService.columns$.value[column]?.label\\r\\n }}\\r\\n \\r\\n \\r\\n {{ rowData[column] }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n \\r\\n No records found\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n

{{ error.title }}

\\r\\n {{ error.message }}
\\r\\n {{ 'COMMON.CONTACT_MSG' | transloco }}\\r\\n support@lbmx.com\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"

{{ 'PIM.EXPORT' | transloco }}

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

\\r\\n {{ dashboardState.config[name].title }}\\r\\n

\\r\\n

\\r\\n {{ widgetState.value }}\\r\\n

\\r\\n

\\r\\n {{ dashboardState.config[name].subTitle }}\\r\\n

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

{{ 'ANALYTICS.SELECT_KPI' | transloco }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ANALYTICS.ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'HOME_VIEW.MARKETPLACE_NEWS' | transloco }}\\r\\n

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

\\r\\n {{ 'HOME_VIEW.LBMX_NEWS' | transloco }}\\r\\n

\\r\\n
{{ lbmxNews }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n
\\r\\n

{{ 'ANALYTICS.KPI_SELECTION' | transloco }}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n {{ companyName }}\\r\\n {{ userName }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ item.label | transloco }}\\r\\n \\r\\n \\r\\n {{ item.label | transloco }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n {{ this.getIconOrLabel(megaMenu, true) }}\\r\\n \\r\\n
\\r\\n 0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ columnItems[0].label }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ menuEntry.label }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n
\\r\\n\";","export default \"

{{ 'BREADCRUMB.MAKE_PAYMENTS' | transloco }}

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

{{ header }}

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

{{ 'ANALYTICS.SELECT_KPI' | transloco }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ANALYTICS.ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{ 'ANALYTICS.SELECT_KPI' | transloco }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ANALYTICS.ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'ANALYTICS.NO_DATA' | transloco }}

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

\\r\\n {{\\r\\n (dashboardState.types[i] === widgetTypes.KPI\\r\\n ? 'ANALYTICS.SELECT_KPI'\\r\\n : 'ANALYTICS.SELECT_CHART'\\r\\n ) | transloco\\r\\n }}\\r\\n

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

purchases-by-supplier-report works!

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

{{ title }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ANALYTICS.ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'ANALYTICS.SELECT_FILTERS' | transloco }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ANALYTICS.ERROR' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"

{{ 'NAV.REPORTS' | transloco }}

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

\\r\\n {{\\r\\n (type === widgetTypes.KPI\\r\\n ? 'ANALYTICS.KPI_SELECTION'\\r\\n : 'ANALYTICS.CHART_SELECTION'\\r\\n ) | transloco\\r\\n }}\\r\\n

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

{{ 'BREADCRUMB.OPEN_RECEIVABLES' | transloco }}

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

\\r\\n {{ 'OTP.TITLE' | transloco }}\\r\\n

\\r\\n \\r\\n
\\r\\n {{ 'OTP.INCORRECT' | transloco }}\\r\\n
\\r\\n
\\r\\n {{ 'OTP.NOT_FOUND' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'OTP.INSTRUCTIONS' | transloco }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

LBMX Authorized User License Agreement

\\r\\n

Version - January 2024

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

\\r\\n This LBMX Authorized User License Agreement (“AULA”) is a binding\\r\\n agreement between “you” and LBMX Inc. (“LBMX,” \\r\\n “we,” “our” or “us”). The terms “you” and\\r\\n “your”\\r\\n refer to, as applicable, the individual or organization accepting this\\r\\n AULA. If you are representing your organization, you are accepting this\\r\\n AULA for yourself and on behalf of your organization. If you are\\r\\n accepting this AULA on behalf of a third party, you are accepting this\\r\\n AULA on behalf of that third party. You represent that you have full\\r\\n authority to bind your organization or such third party, as applicable,\\r\\n to this AULA. The parties agree as follows:\\r\\n

\\r\\n

\\r\\n PLEASE READ THIS AULA CAREFULLY BEFORE ACCESSING OR USING OUR SERVICES.\\r\\n BY ACCESSING OR USING THE SERVICES, YOU AGREE TO THIS AULA. This AULA is\\r\\n effective when (a) executed by the parties, (b) agreed as a clickthrough\\r\\n or other electronically accepted agreement, (c) incorporated by\\r\\n reference into another agreement, or (d) you access or use our Services.\\r\\n This AULA may be presented to you multiple times in writing or\\r\\n electronically prior to and as you use our Services including as web\\r\\n page links.\\r\\n

\\r\\n

\\r\\n We provide a hosted B2B solution center and e-commerce marketplace,\\r\\n solutions available through the solution center and marketplace, APIs,\\r\\n integrations and other methods to connect to our services and solutions,\\r\\n and other services, as they may be updated by us from time to time\\r\\n (collectively, the “LBMX Solutions”) that allow Buying Groups to\\r\\n provide an electronic solution to their Members for transmitting Content\\r\\n and allows Buyers and Sellers to transact Content electronically. This\\r\\n AULA applies to your access and use of the portion of the LBMX Solutions\\r\\n to which (i) you purchase a license, (ii) you are given access or use\\r\\n via your Credentials, or (iii) if you are a Member for which your Buying\\r\\n Group has purchased a license, the Buying Group has purchased a license\\r\\n (“Services”). The Services may include access to deliver or receive\\r\\n Content and to input or receive User-Generated Correspondence. We may\\r\\n improve, augment, update, or modify the Services from time to time in\\r\\n our sole discretion.\\r\\n

\\r\\n

\\r\\n We offer the LBMX Solutions to three groups of customers:
\\r\\n \\r\\n

\\r\\n
    \\r\\n
  • \\r\\n Buying Groups. The LBMX Solutions allow each “Buying Group”\\r\\n (organizations that represent a group of Buyers and/or Sellers) to\\r\\n provide access or use via the Services to the members of the Buying\\r\\n Group (each a “Member”) to electronically send and/or receive\\r\\n Content, including Documents relating to the procurement to pay cycle\\r\\n (i.e. purchase orders, invoices, remittances etc.), to and from other\\r\\n Members, Buyers or Sellers, and to access the Members’\\r\\n purchasing/selling data to help calculate rebates accurately, to\\r\\n send/receive payments or payment data, to determine purchase patterns\\r\\n and for other permitted purposes;\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n Sellers. The LBMX Solutions allow each “Seller” (whether\\r\\n selling Members of a Buying Group or independent suppliers/vendors),\\r\\n via the Services, to electronically send and/or receive Content,\\r\\n including Documents, payments and payment data relating to the\\r\\n procurement to payment cycle, to Buyers; and\\r\\n
  • \\r\\n
  • \\r\\n Buyers. The LBMX Solutions allow each “Buyer” (whether\\r\\n buying Members of a Buying Group or independent buyers or\\r\\n distributors), via the Services, to electronically send and/or receive\\r\\n Content, including Documents, payments and payment data relating to\\r\\n the procurement to pay cycle, to Sellers.\\r\\n
  • \\r\\n
\\r\\n

\\r\\n Your access and use may differ depending on whether you are a Member,\\r\\n Seller or Buyer. Your access and use may be as a result of your employer\\r\\n or the party for which you are providing contracted services or, if you\\r\\n or your employer or the party for which you are providing contracted\\r\\n services are a Member of a Buying Group, your Buying Group entering into\\r\\n a services agreement (“Services Agreement”) with us. Or you may be\\r\\n accessing and using our Services as a Seller or Buyer without being a\\r\\n Member of a Buying Group or without a Services Agreement. This AULA does\\r\\n not modify any Services Agreement, but binds you with respect to your\\r\\n access and use of the Services. If you are an employee, contractor or\\r\\n other agent of an entity (the “Principal”) that has executed a Services\\r\\n Agreement, you are referred to herein as a “Customer.” Otherwise, you\\r\\n are referred to herein as an “Authorized User” because you are receiving\\r\\n a license (or your employer’s or the party for which you are providing\\r\\n contracted services your license) to use the Services as a result of a\\r\\n Services Agreement, due to being selected by an LBMX customer to source\\r\\n and/or receive Content or because you request access and are granted it\\r\\n by us.\\r\\n

\\r\\n

\\r\\n You acknowledge that our privacy notice, which describes our processing\\r\\n of personal data and your rights relating to personal data, is available\\r\\n at\\r\\n https://www.lbmx.com/privacy-policy/. By using the Services, you consent to the processing of personal data\\r\\n as described therein. If there is a conflict between this Agreement, and\\r\\n either a privacy notice or a Services Agreement, the privacy notice or\\r\\n Services Agreement controls.\\r\\n

\\r\\n

\\r\\n The Services are only authorized for use by individuals who have\\r\\n attained the age of majority in their jurisdiction or who otherwise have\\r\\n the capacity to enter into a legally binding contract on their own\\r\\n behalf. No other individuals may use the Services.\\r\\n

\\r\\n

\\r\\n LBMX may revise this AULA and our privacy notice from time to time. If\\r\\n we materially change this AULA we will provide you with notice of such\\r\\n changes by email or via our Services at\\r\\n https://www.lbmx.com/authorized-user-agreement/\\r\\n You agree to be bound by any changes to this AULA by continuing to use\\r\\n the Services after such changes are notified. To the extent any changes\\r\\n relate to data, such changes will apply to all data, including data\\r\\n stored in the Services prior to such changes. If you do not accept any\\r\\n part of this AULA, then you may not use the Services.\\r\\n

\\r\\n

\\r\\n \\r\\n 2. DEFINITIONS. The following capitalized terms have the meanings set\\r\\n forth next to them when used in this AULA.\\r\\n

\\r\\n
    \\r\\n
  1. \\r\\n \\\"API\\\" means an application programming interface made available\\r\\n by us for use in connecting to the Services. APIs are components of\\r\\n the Services.\\r\\n
  2. \\r\\n
  3. \\r\\n “Confidential Information” means confidential and proprietary\\r\\n information disclosed or made accessible by a disclosing party\\r\\n hereunder, including, for LBMX, the Services and, as between the\\r\\n parties, any Received Content. Confidential Information excludes\\r\\n information which: (i) is available to the public prior to disclosure\\r\\n to the receiving party or becomes available to the public by\\r\\n publication or otherwise without fault of the receiving party; (ii) is\\r\\n lawfully in the receiving party’s possession prior to the initial\\r\\n disclosure; (iii) is supplied to the receiving party by a third party\\r\\n having a legal right to so disclose; or (iv) is independently\\r\\n developed by receiving party without use of the disclosing party’s\\r\\n Confidential Information.\\r\\n
  4. \\r\\n
  5. \\\"Content\\\" means Input Content and Received Content.
  6. \\r\\n
  7. \\r\\n \\\"Content Source\\\" is the party which originates the relevant\\r\\n Content. LBMX and the Services are never the Content Source as the\\r\\n Services act as a network for the exchange for such information.\\r\\n
  8. \\r\\n
  9. \\\"Credentials\\\" is defined in Section 3.1
  10. \\r\\n
  11. \\r\\n \\\"Documents\\\" means Input Documents and Received Documents.\\r\\n
  12. \\r\\n
  13. \\r\\n \\\"Input Content\\\" means Input Documents and Input Product Data.\\r\\n
  14. \\r\\n
  15. \\r\\n \\\"Input Documents\\\" means commercial invoices, purchase order\\r\\n acknowledgements, advance ship notices, purchase orders, remittance\\r\\n advice, quotes, estimates, payment authorizations and other such\\r\\n documents and content, including any such documents provided before\\r\\n the date of this Agreement including under prior agreement(s) between\\r\\n the parties but excluding any Input Product Data, that are or have\\r\\n been input into the Services by you.\\r\\n
  16. \\r\\n
  17. \\r\\n \\\"Input Product Data” means information relating to commercial\\r\\n products or services, such as descriptions, specifications and digital\\r\\n identifiers of the products, including any such information provided\\r\\n before the date of this Agreement including under prior agreement(s)\\r\\n between the parties, that are or have been input into the Services by\\r\\n you.\\r\\n
  18. \\r\\n
  19. \\r\\n \\\"LBMX Documentation” means all written or electronic\\r\\n instructions, data request guide, manuals, functional specifications,\\r\\n user guides and other materials related to use of the Services, which\\r\\n may be provided by us to you hereunder, including any new versions or\\r\\n updates thereto.\\r\\n
  20. \\r\\n
  21. \\r\\n \\\"LBMX IP” means the LBMX Solutions, the Services, any other\\r\\n content or data originating with LBMX (excluding Content),\\r\\n De-Identified Content, Aggregated Content (each as defined below),\\r\\n Usage Data, LBMX Documentation, the software, hardware, systems,\\r\\n materials, processes, know-how and the like utilized by and developed\\r\\n in the provision of the Services, including APIs and interfaces,\\r\\n Marks, and all goodwill therein, and all error corrections, updates,\\r\\n enhancements, modifications, improvements, derivative works, changes,\\r\\n customizations and components in any of the foregoing, and all\\r\\n intellectual property rights therein.\\r\\n
  22. \\r\\n
  23. \\r\\n “Received Content” means Received Documents and Received\\r\\n Product Data.\\r\\n
  24. \\r\\n
  25. \\r\\n “Received Documents” means commercial invoices, purchase order\\r\\n acknowledgements, advance ship notices, purchase orders, remittance\\r\\n advice, quotes, estimates, payment authorizations and other such\\r\\n documents and content, including any such documents received before\\r\\n the date of this Agreement including under prior agreement(s) between\\r\\n the parties but excluding any Received Product Data, that are or have\\r\\n been received through the Services from a Content Source by you.\\r\\n
  26. \\r\\n
  27. \\r\\n “Received Product Data” means information relating to\\r\\n commercial products or services, such as descriptions, specifications\\r\\n and digital identifiers of the products, including any such\\r\\n information received before the date of this Agreement including under\\r\\n prior agreement(s) between the parties, that are or have been received\\r\\n through the Services from a Content Source by you.\\r\\n
  28. \\r\\n
  29. \\r\\n “Service Limits” means the applicable license parameters or\\r\\n other service limits for the Services, which may be set forth in a\\r\\n Services Agreement or may be what is limiting your access.\\r\\n
  30. \\r\\n
  31. \\r\\n “Subscription Term” means the term for access to the Services\\r\\n set forth in the Services Agreement, or, if not applicable, the term\\r\\n for which we grant you access to the Services.\\r\\n
  32. \\r\\n
  33. \\r\\n “Usage Data” means any statistical and usage data derived or\\r\\n generated from the performance, operation and use of the Services, and\\r\\n all analysis thereof, including the review and interpretation of how\\r\\n individuals engage with Content, User-Generated Correspondence or data\\r\\n published, posted, uploaded, transmitted, generated or otherwise\\r\\n provided through or via the Services.\\r\\n
  34. \\r\\n
  35. \\r\\n \\\"User-Generated Correspondence\\\" means any information in any\\r\\n medium including, without limitation, any text, photograph, graphic,\\r\\n video, audio or any other type of media, that is communicated or\\r\\n disclosed to us or the Services via a chat or messaging feature by\\r\\n you. User-Generated Correspondence will include the contents of any\\r\\n chat and direct message conversations between you and LBMX personnel.\\r\\n
  36. \\r\\n
\\r\\n

\\r\\n 3. CONNECTING TO THE SERVICES \\r\\n

\\r\\n

\\r\\n 3.1. Connections; Credentials. You may connect your system(s) to\\r\\n the Services via a variety of methods, including our web portals, direct\\r\\n connection, value added network (“VAN”), FTP/SFTP sites or an API\\r\\n connection agreed to by us or your Principal (each a\\r\\n “Connection”). Accessing these Connection methods may require the\\r\\n creation of account(s), and may require additional fees. In connection\\r\\n with such access, we will provide you with (or you may receive through\\r\\n your Principal), or you may create, credentials (“Credentials”),\\r\\n such as a username, password, security key, tokens, or other mechanism\\r\\n for ensuring the security of the Services. You agree to hold us harmless\\r\\n and indemnify us against any claim arising out of the use, access,\\r\\n disclosure, alteration, deletion, or loss of data in transit to and from\\r\\n LBMX or the Services. We may provide you with LBMX Documentation\\r\\n explaining how to use any such Connections to connect with your\\r\\n information systems. Such LBMX Documentation is our Confidential\\r\\n Information, and may only be used for such purposes. We may establish\\r\\n limits on the volume and frequency of your use of Connections and\\r\\n suspend your use of Connections if they exceed such limits; such limits,\\r\\n if established, will be delivered to you in writing.\\r\\n

\\r\\n

\\r\\n 3.2. Security of Credentials. It is your responsibility to\\r\\n protect the Credentials, including without limitation, by using\\r\\n effective, complex passwords. You will not sell, transfer, share, or\\r\\n disclose your Credentials. You must keep the Credentials confidential to\\r\\n protect the security of the Services. If you become aware that someone\\r\\n else has obtained your Credentials or that unauthorized use of your\\r\\n Credentials may be occurring, you must use the Services to change your\\r\\n Credentials. The activities, including any business transactions,\\r\\n undertaken with the use of your Credentials will be legally binding and\\r\\n you agree that you will be responsible for such activities to the same\\r\\n extent and effect as if your activities were accompanied by your signed,\\r\\n written authorization to us and the other users of the Services. You\\r\\n authorize us to accept such activities without any further verification.\\r\\n You will be responsible for all access to the Services under your\\r\\n Credentials.\\r\\n

\\r\\n

\\r\\n 4. LICENSE FROM LBMX \\r\\n

\\r\\n

\\r\\n 4.1. License. If you are a Customer, your license to use the\\r\\n Services and all Received Content is set forth in the Services\\r\\n Agreement. If you are an Authorized User, subject to the terms and\\r\\n conditions of this AULA, we hereby grant you a non-exclusive,\\r\\n non-transferable, non-sublicensable, revocable right during the\\r\\n Subscription Term (except as noted below) solely in compliance with this\\r\\n AULA, the LBMX Documentation, any Service Limits and all applicable laws\\r\\n to:\\r\\n

\\r\\n
    \\r\\n
  1. \\r\\n use any Connection permitted by us solely to develop, implement, and,\\r\\n as applicable, integrate interfaces in order to provide access to the\\r\\n Services from your permitted systems;\\r\\n
  2. \\r\\n
  3. \\r\\n copy the Connection(s) that are code only as necessary to exercise\\r\\n your rights hereunder, and subject to copying of all legal, copyright,\\r\\n trademark and other proprietary rights notices contained in or on the\\r\\n Connection\\r\\n
  4. \\r\\n
  5. \\r\\n access and use the components of the Services made accessible to you\\r\\n via your Credentials solely for the purpose of using the features and\\r\\n functionality of the Services, including to submit and receive Content\\r\\n and User-Generated Correspondence relevant to your use of the\\r\\n Services;\\r\\n
  6. \\r\\n
  7. \\r\\n use the LBMX Documentation, in connection with your use of the\\r\\n Services; and\\r\\n
  8. \\r\\n
  9. \\r\\n with respect to any and all Received Content received through or via\\r\\n the Services: (i) download and use the Received Content solely for\\r\\n your internal business purposes; (ii) share Received Content with\\r\\n banks and other financial institutions for the purpose of generating,\\r\\n administering, or facilitating payments responsive to Received\\r\\n Content; and (iii) capture, copy, and store the Received Content or\\r\\n any information expressed by the Received Content solely for the\\r\\n purposes of use in subsections (i) and (ii). The rights in this\\r\\n subsection (e) will continue during the Subscription Term and, with\\r\\n respect to Received Content downloaded during the Subscription Term,\\r\\n thereafter as necessary for recordkeeping and audit purposes.\\r\\n
  10. \\r\\n
\\r\\n

\\r\\n 4.2 Reservation of Rights. We, and our licensors, retain all\\r\\n right, title and interest in and to the Services and Received Content\\r\\n not granted, including without limitation, all hardware and software\\r\\n incorporated into or used by the Services, and this AULA does not grant\\r\\n you any intellectual property rights in the Services or Received\\r\\n Content. You agree to use the Services and Received Content only as\\r\\n permitted by your license. You may not: (a) use the Services and\\r\\n Received Content except as expressly permitted herein, or, if\\r\\n applicable, in the Services Agreement; (b) copy, translate, display,\\r\\n perform, modify and make derivative works of, reverse engineer, or\\r\\n reproduce the Services and Received Content or any component thereof in\\r\\n whole or in part including, without limitation, by posting them on your\\r\\n personal website, blog, social network, or any other online, electronic,\\r\\n or printed resource, except as expressly permitted in Section 4.1 or the\\r\\n license in the Services Agreement, as applicable; (c) sublicense,\\r\\n license, resell, distribute, share or otherwise transfer any portion of\\r\\n the Services and Received Content to any third party; (d) use the\\r\\n Services and Content in a manner that violates any applicable law; (e)\\r\\n interfere with or disrupt the integrity or performance of the Services;\\r\\n (f) attempt to gain unauthorized access to the Services or its related\\r\\n systems or networks; (g) remove or alter any proprietary notices or\\r\\n labels from the Services or Received Content; and (h) use the Services:\\r\\n (i) to transmit or store infringing, libelous, salacious, or otherwise\\r\\n unlawful, harmful, or tortious material, or to transmit or store\\r\\n material in violation of the legal rights of any third-party; (ii) to\\r\\n harass, abuse, insult, harm, defame, slander, disparage, intimidate, or\\r\\n discriminate based on gender, sexual orientation, religion, ethnicity,\\r\\n race, age, national origin, disability, or any other legally protected\\r\\n status or characteristic; (iii) to submit false or misleading\\r\\n information; (iv) to collect or track the personal information of\\r\\n others; (v) to spam, phish, pharm, pretext, spider, crawl, or scrape;\\r\\n (vi) for any obscene or immoral purpose; (vii) in any manner intended to\\r\\n interfere with or circumvent the security features of the Services,\\r\\n other websites, or other services or devices on the Internet; or (viii)\\r\\n to incorporate the Services or any component of them into other\\r\\n applications or websites.\\r\\n

\\r\\n

\\r\\n By using the Services or Received Content, you represent and warrant\\r\\n that you: (1) are not located in Cuba, Iran, North Korea, Russia, Syria,\\r\\n or the occupied regions of Ukraine (Crimea, Donetsk, and Luhansk) (2)\\r\\n are not listed on any U.S. Government list of prohibited or restricted\\r\\n parties, including, but not limited to, the Specially Designated\\r\\n Nationals List, the Entity List, or the Unverified List; (3) are not\\r\\n subject to sanctions imposed by the United States, Canada, the European\\r\\n Union, the United Nations, or the United Kingdom; and (4) will not\\r\\n divert or export, directly or indirectly, our Services or Received\\r\\n Content in ways that are inconsistent with applicable U.S. and non-U.S.\\r\\n export controls.\\r\\n

\\r\\n

\\r\\n 4.3 Use. We obtain the rights to make Received Content available\\r\\n to you. Using the Services you may elect to share Input Content with\\r\\n other LBMX customers you select, and access certain Received Content\\r\\n from LBMX customers that elect to share Received Content with you. You\\r\\n agree to use the Services, Content and User-Generated Correspondence in\\r\\n accordance with this AULA and all applicable laws. Without limiting the\\r\\n foregoing, you agree not to disturb the normal operation of the Services\\r\\n and to use the Services only in a responsible manner. If you access the\\r\\n Services as a Customer, you agree that your use of the Services and\\r\\n Content will be consistent with the conditions and directions of your\\r\\n employer or Principal that provided you with such access. If you access\\r\\n the Services as an Authorized User, you agree that your use of the\\r\\n Services and Content will be consistent with the conditions and\\r\\n directions of the LBMX customer that provided you with such access. Once\\r\\n Content is deposited into the Services, you are responsible for ensuring\\r\\n they are read and acted upon in a timely manner, as dictated by\\r\\n agreements with the applicable Content Source. If you are unable to\\r\\n access the Services on a regular basis or for an extended period of\\r\\n time, it is your responsibility to notify the applicable Content Source.\\r\\n

\\r\\n

\\r\\n 4.4 Capacity Limits for Storage and Transmission. You agree that\\r\\n we may establish Service Limits for your use of the Services. Such\\r\\n limits may, for example, constrain the volume of data stored and\\r\\n transmitted, and the size of attached files, the size of documents\\r\\n within Input Content.\\r\\n

\\r\\n

\\r\\n 5. CONTENT AND YOUR LICENSE TO LBMX \\r\\n

\\r\\n

\\r\\n 5.1 Conversion. You acknowledge and agree that as part of the\\r\\n Services, the Services may custom map and modify (including to convert\\r\\n for purposes of facilitating connections and electronic data interchange\\r\\n (“EDI”)), allow the transmission of, and temporarily store Input\\r\\n Content you provide to us and maintain information derived from Input\\r\\n Content as well as data about the use of the Services by you and your\\r\\n Principal. The existence of any of Input Content or User-Generated\\r\\n Correspondence on or in the Services does not create any express or\\r\\n implied approval by us of such material, nor does it indicate that such\\r\\n material complies with the terms of this Agreement.\\r\\n

\\r\\n

\\r\\n 5.2 Your license to Us. The right to use Content with respect to\\r\\n Customer is set forth in the Services Agreement. The following license\\r\\n applies to each Authorized User. Authorized User hereby grants to LBMX a\\r\\n non-exclusive, perpetual, irrevocable, royalty-free, paid up, worldwide,\\r\\n transferable and sublicensable license to access, use, host, reproduce,\\r\\n upload, analyze, manipulate, modify and create derivative works of,\\r\\n transmit, store, distribute, disclose, display, make available, and\\r\\n otherwise process:\\r\\n

\\r\\n
    \\r\\n
  1. \\r\\n Input content to:\\r\\n
      \\r\\n
    1. \\r\\n provide Input Content to you and LBMX’ other customers which have\\r\\n selected delivery or receipt of Input Content or for which you\\r\\n have selected such delivery or receipt;\\r\\n
    2. \\r\\n
    3. \\r\\n provide and improve the Services and our other products and\\r\\n services, including testing, improvement, and new product\\r\\n development, including through the use of artificial intelligence\\r\\n or machine learning; and\\r\\n
    4. \\r\\n
    5. \\r\\n remove information from and de-identify Input Documents so long as\\r\\n such resulting information, insofar as third parties are\\r\\n concerned, does not identify, and are not capable of identifying,\\r\\n you or your Principal (such de-identified data is “De-Identified\\r\\n Content”) and use such De-Identified Content or aggregate such\\r\\n De-Identified Content with other data or analysis to generate\\r\\n “Aggregated Content.” You further agree that LBMX (A) exclusively\\r\\n owns all such De-Identified Content and Aggregated Content, as\\r\\n well as any information derived therefrom (which are collectively,\\r\\n LBMX IP, but excluding Input Documents that are non-public\\r\\n provided hereunder), (B) may use the De-Identified Content and\\r\\n Aggregated Content for any purpose, either directly through LBMX\\r\\n or indirectly through or to third parties; and\\r\\n
    6. \\r\\n
    \\r\\n
  2. \\r\\n
  3. \\r\\n User-Generated Correspondence in any way we deem fit including,\\r\\n without limitation, the modification, reproduction, repurposing, or\\r\\n deletion of it; we reserve the right to alter, remove, re-post,\\r\\n re-purpose, distribute, market, or trade any such User-Generated\\r\\n Correspondence.\\r\\n
  4. \\r\\n
\\r\\n

\\r\\n 5.3 Warranties. Your Input Content becomes a different LBMX’\\r\\n customer’s Received Content. You warrant and represent that you have the\\r\\n legal right to grant the licenses described in this Section and that\\r\\n Input Content and your User-Generated Correspondence will not (a)\\r\\n infringe upon any third party’s rights; (b) misappropriate any trade\\r\\n secret; (c) be unlawful; (d) contain any viruses, worms or other\\r\\n malicious computer programming codes intended to damage our system or\\r\\n data; and (e) otherwise violate the rights of a third party. By\\r\\n communicating or disclosing any User-Generated Correspondence to us, you\\r\\n represent and warrant that the User-Generated Correspondence is your own\\r\\n original work or work that you are authorize to share with us, is not\\r\\n defamatory, and does not infringe upon any applicable laws.\\r\\n

\\r\\n

\\r\\n 5.4 Disclaimer.We are not responsible for Input Content and\\r\\n User-Generated Correspondence. Without limiting the foregoing, the\\r\\n Content Source is: (a) solely responsible for its Content; and (b)\\r\\n solely responsible not to transmit or publish any information in Content\\r\\n where such activity constitutes a crime or is otherwise unlawful.\\r\\n Notwithstanding the foregoing, we reserve the right (although we do not\\r\\n assume the obligation) to decline Services with respect to any Content\\r\\n and User-Generated Correspondence brought to our attention that we\\r\\n determine, in our sole discretion, to be in breach of this AULA, or to\\r\\n be otherwise objectionable and to remove from the Services any material\\r\\n we reasonably conclude to violate this Section. You acknowledge and\\r\\n agree that we are not responsible, and will bear no liability, for other\\r\\n LBMX customers’ access to and use of Input Content and your access to\\r\\n and use of other LBMX customers’ Received Content.\\r\\n

\\r\\n

\\r\\n 6. SUSPENSION. We may suspend your access to the\\r\\n Services if we reasonably believe that you are in breach of any of the\\r\\n terms of this AULA. If you are an Authorized User, you agree that we\\r\\n will not be liable to you for any modification, update, or\\r\\n discontinuance of the Services.\\r\\n

\\r\\n

\\r\\n 7. COMPENSATION. Any fees due in relation to this AULA\\r\\n are as quoted in the applicable Services Agreement or in a separate\\r\\n agreement with us.\\r\\n

\\r\\n

\\r\\n 8. CONFIDENTIAL INFORMATION. Each party will protect\\r\\n the other party’s Confidential Information from unauthorized use or\\r\\n disclosure using no less than reasonable measures. The receiving party\\r\\n will not disclose the Confidential Information to any third party except\\r\\n those who have a need to know such information for the uses contemplated\\r\\n herein, are informed of the confidential nature of such information, and\\r\\n agree to be bound by obligations of confidentiality substantially\\r\\n similar to those set forth in this AULA. The receiving party will use\\r\\n the Confidential Information solely and exclusively for the purpose of\\r\\n performing or receiving the benefits of this AULA. Notwithstanding\\r\\n anything to the contrary, if you or your personnel provide any ideas,\\r\\n suggestions or recommendations regarding the Services or other of our\\r\\n Confidential Information, (even if designated as your Confidential\\r\\n Information) (“Feedback”), we are free to retain, use, incorporate and\\r\\n disclose, on a perpetual and irrevocable basis, such Feedback in our\\r\\n products, technology and/or services, without payment of royalties or\\r\\n other consideration. Such right is fully transferable and sublicensable.\\r\\n If the receiving party is required by law or court order to disclose the\\r\\n Confidential Information, the receiving party will give the disclosing\\r\\n party prompt notice of such requirement so that an appropriate\\r\\n protective order or other relief may be sought. The breach, or\\r\\n threatened breach, of any provision of this Section 8, or the breach of\\r\\n license rights or restrictions or other misuse of Confidential\\r\\n Information may cause irreparable harm to the disclosing party without\\r\\n an adequate remedy at law. Upon any such breach, violation, or\\r\\n infringement, or threat thereof, the disclosing party will be entitled\\r\\n to seek injunctive relief to prevent the receiving party from commencing\\r\\n or continuing any action constituting such breach, violation, or\\r\\n infringement, without having to post a bond or other security, and\\r\\n without having to prove the inadequacy of other available remedies. This\\r\\n Section does not limit any other remedy available to either party. This\\r\\n Section does not modify the scope of any rights granted in this AULA.\\r\\n

\\r\\n

\\r\\n 9. INTELLECTUAL PROPERTY. The Services and their\\r\\n components are protected by copyright and other intellectual property\\r\\n laws. Any intellectual property and intellectual property rights\\r\\n associated with the Services is and will continue to be our property,\\r\\n the property of our licensors, or the property of the owner of the\\r\\n intellectual property. Certain names, graphics, logos, icons, designs,\\r\\n words, titles or phrases used in the Services may constitute trade\\r\\n names, trademarks, official marks or other intellectual property\\r\\n (collectively, “Marks”) of LBMX Inc., Content Sources or other\\r\\n entities. Marks may be registered in Canada and in other countries as\\r\\n applicable, and are otherwise protected according to all applicable\\r\\n laws. All use, reproduction, downloading, re-transmission or other\\r\\n copying or modification of Marks is strictly prohibited. As between the\\r\\n parties the applicable Content Source owns the Content they originally\\r\\n submit, you own the User-Generated Correspondence you submit, and LBMX\\r\\n owns all right, title and interest in and to the LBMX IP and Marks. You\\r\\n will not act in any way which may impair any rights in and to the LBMX\\r\\n IP and Marks.\\r\\n

\\r\\n

\\r\\n 9.1 Disclaimers. Customers receive any warranties and\\r\\n disclaimers under the Services Agreement. This Section will apply only\\r\\n to Authorized Users. ALTHOUGH CONSIDERABLE CARE HAS BEEN TAKEN IN\\r\\n PREPARING AND MAINTAINING THE SERVICES AND THE INFORMATION AND MATERIALS\\r\\n CONTAINED THEREIN, INCLUDING THE RECEIVED CONTENT, THEY ARE PROVIDED ON\\r\\n AN “AS IS” AND “AS AVAILABLE” BASIS. THE USE OF THE SERVICES IS AT YOUR\\r\\n SOLE RISK. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW,\\r\\n LBMX DISCLAIMS ALL WARRANTIES AND CONDITIONS, WHETHER EXPRESS, IMPLIED\\r\\n OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OR CONDITIONS OF\\r\\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND\\r\\n NON-INFRINGEMENT AND WARRANTIES ARISING FROM COURSE OF DEALING, COURSE\\r\\n OF PERFORMANCE AND USAGE OF TRADE. WE DO NOT WARRANT THAT ACCESS TO, OR\\r\\n OPERATION OF, THE SERVICES WILL BE UNINTERRUPTED, SECURE OR ERROR-FREE,\\r\\n THAT ALL ERRORS WILL BE CORRECTED, OR THAT THE SERVICES WILL SATISFY\\r\\n YOUR OR ANY THIRD PARTY’S REQUIREMENTS OR COMPLY WITH LAWS. WE UTILIZE\\r\\n THE INTERNET TO PROVIDE THE SERVICES. YOU ACKNOWLEDGE THAT THE FLOW OF\\r\\n TRAFFIC OVER THE INTERNET DEPENDS IN LARGE PART ON SERVICES PROVIDED OR\\r\\n CONTROLLED BY THIRD PARTIES, WHICH CAN ALSO IMPAIR OR DISRUPT YOUR\\r\\n CONNECTIONS TO THE INTERNET (OR PORTIONS THEREOF), AND CERTAIN\\r\\n PERFORMANCE QUALITIES OF THE SUSTAINABILITY TOOL. WE DISCLAIM ANY AND\\r\\n ALL LIABILITY RESULTING FROM OR RELATED TO INTERNET CONNECTIVITY. WE\\r\\n DISCLAIM ANY LIABILITY ARISING FROM A THIRD PARTY’S FAILURE TO PAY YOU,\\r\\n OR FROM FAILURES OF YOUR PAYMENT EFFORTS, INCLUDING AS A RESULT OF THE\\r\\n SERVICES NOT WORKING PROPERLY.\\r\\n

\\r\\n

\\r\\n 10. INDEMNIFICATION AND LIMITATION OF LIABILITY. \\r\\n

\\r\\n

\\r\\n 10.1 Your Indemnification. You will defend, indemnify and hold\\r\\n harmless LBMX and its affiliates, and their respective employees,\\r\\n officers, and directors, against all reasonable legal fees, expert fees,\\r\\n costs (including costs related to the provision of notices to customers\\r\\n and consumers), and expenses and all liability, losses and damages\\r\\n arising in connection with: (a) Input Content or User-Generated\\r\\n Correspondence, or use thereof (except for claims caused by our breach\\r\\n of this Agreement), including any claims of violation, infringement or\\r\\n misappropriation of any third party’s rights including intellectual\\r\\n property rights or privacy rights; (b) your negligence, willful\\r\\n misconduct, or breach of this AULA; (c) any claims brought by any third\\r\\n party alleging unauthorized use or disclosure of Input Content, or\\r\\n otherwise claiming that you failed to obtain proper consent to use or\\r\\n disclose Input Content for use and disclosure as contemplated herein;\\r\\n (d) your use or misuse of the Services or Content; or (e) your violation\\r\\n of any law or the rights of any third party.\\r\\n

\\r\\n

\\r\\n 10.2 Limitation. IN NO CASE WILL WE (INCLUDING OUR DIRECTORS,\\r\\n OFFICERS, EMPLOYEES, AFFILIATES, AGENTS, CONTRACTORS, CONTRIBUTORS,\\r\\n INTERNS, SUPPLIERS, SERVICE PROVIDERS, AND LICENSORS) BE LIABLE FOR ANY\\r\\n INJURY, LOSS, CLAIM, OR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE,\\r\\n SPECIAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING, WITHOUT\\r\\n LIMITATION LOST PROFITS, LOST REVENUE, LOST SAVINGS, LOSS OF DATA,\\r\\n REPLACEMENT COSTS, OR ANY SIMILAR DAMAGES, WHETHER BASED IN CONTRACT,\\r\\n TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING FROM\\r\\n YOUR USE OF ANY OF THE SERVICES, OR FOR ANY OTHER CLAIM RELATED IN ANY\\r\\n WAY TO YOUR USE OF THE SERVICES. THIS LIMIT WILL APPLY EVEN IF WE HAVE\\r\\n BEEN ADVISED OF THE POSSIBILITY OF SUCH INJURIES, LOSSES, OR CLAIMS. WE\\r\\n WILL HAVE NO LIABILITY FOR (1) ANY INJURY, LOSS, OR CLAIM FOR ANY\\r\\n INTERRUPTION, SUSPENSION, OR DISRUPTION OF THE SERVICE; (2) ANY ERRORS\\r\\n OR INACCURACIES IN THE CONTENT OR MATERIALS AVAILABLE IN THE SERVICE;\\r\\n (3) PERSONAL INJURY OR PROPERTY DAMAGES RESULTING FROM YOUR USE OF THE\\r\\n SERVICES OR THE CONTENT OR MATERIALS CONTAINED THEREIN; OR (4) MALWARE\\r\\n WHICH MAY BE TRANSMITTED USING THE SERVICES. IN ANY EVENT, YOU ALSO\\r\\n AGREE THAT YOU WILL NOT COLLECT DAMAGES EXCEEDING THE GREATER OF $500 OR\\r\\n THE FEES YOU HAVE PAID TO LBMX IN THE SIX MONTHS PRECEDING TO THE\\r\\n INCIDENT GIVING RISE TO A LIABILITY. You agree to commence any legal\\r\\n proceeding advancing a cause of action or claim arising out of or\\r\\n relating to this AULA within one year after the cause of action accrues;\\r\\n otherwise, you agree that such cause of action or claim will be\\r\\n permanently barred.\\r\\n

\\r\\n

\\r\\n 11. LINKS TO THIRD PARTY WEBSITES. The Services may\\r\\n contain links to third party websites. In addition, some third party\\r\\n websites may contain links to this Services. The linked third party\\r\\n websites are not under our control and we are not responsible for the\\r\\n availability or contents of any linked third party website site or any\\r\\n link contained in a linked website, or any changes or updates to such\\r\\n websites including the ongoing availability of any content or materials.\\r\\n These links are provided to you only as a convenience, and the inclusion\\r\\n of any link is not an endorsement or approval by us of the linked\\r\\n website or anything contained within it. It is up to you to take\\r\\n precautions to ensure your protection from malware and other risks\\r\\n associated with your use of the Services.\\r\\n

\\r\\n

\\r\\n 12. TERM AND TERMINATION. Your rights to use and access\\r\\n the Services may be suspended or terminated automatically, without\\r\\n notice or refund, if you fail to comply with this AULA or the Services\\r\\n Agreement. This AULA will continue until terminated as follows: (a)\\r\\n either party may terminate this AULA on thirty (30) days written notice\\r\\n to the other; or (b) we may terminate this AULA by removing your access\\r\\n to the Services, including when the Services Agreement ends if you\\r\\n receive your rights in connection therewith. Any written notice to LBMX\\r\\n under this Section must be sent to cancellations@lbmx.com or\\r\\n cancellations@gosupplycloud.com. Upon termination of this AULA: (i) or\\r\\n upon request, the receiving party will return or destroy all\\r\\n Confidential Information, and upon request, provide the disclosing party\\r\\n written certification attesting to its destruction, except that LBMX is\\r\\n not obligated to return or destroy any LBMX IP, Content, or\\r\\n User-Generated Correspondence. Notwithstanding the foregoing, the\\r\\n receiving party may retain one archival copy of Confidential Information\\r\\n that may be used solely to demonstrate compliance with this AULA, so\\r\\n long as the receiving party continues to treat such Confidential\\r\\n Information pursuant to the terms hereof; (ii) you will cease use of the\\r\\n Services; and (iii) your license to the Services will terminate. Any\\r\\n section of this AULA which, by its nature, is intended to survive the\\r\\n termination of the AULA will survive the termination of this AULA for\\r\\n any reason.\\r\\n

\\r\\n

\\r\\n 13. MISCELLANEOUS. \\r\\n

\\r\\n

\\r\\n 13.1 Governing Law and Dispute Resolution Venue. Except as\\r\\n otherwise expressly agreed between us in writing: (a) any dispute\\r\\n arising out of this AULA or the Services will be governed by the laws of\\r\\n the Province of Ontario, Canada and the federal laws of Canada\\r\\n applicable in the Province of Ontario, without regard to conflict of law\\r\\n principles and excluding the United Nations Convention on Contracts for\\r\\n the International Sale of Goods and (b) such disputes will be dealt with\\r\\n exclusively by a court of competent jurisdiction in London, Ontario,\\r\\n Canada or such other location as the parties may later agree, except\\r\\n that equitable relief may be sought by us in any court of competent\\r\\n jurisdiction.\\r\\n

\\r\\n

\\r\\n 13.2 Headings. The headings before each section in this AULA are\\r\\n for convenience only, and will not be used in the interpretation of this\\r\\n AULA.\\r\\n

\\r\\n

\\r\\n 13.3 Records Retention. You are solely responsible for\\r\\n maintaining your own records of activity using the Services and for\\r\\n retaining all copies of Content and materials sent or received using the\\r\\n Services. Any retention we retain on your behalf is solely for your\\r\\n convenience and solely at our discretion. In any event, any data we\\r\\n retain on your behalf will be for a maximum of seven years.\\r\\n

\\r\\n

\\r\\n 13.4 Services Offered Only Where Permitted by Law. The Services\\r\\n are only intended for use in jurisdictions (and to persons residing in\\r\\n those jurisdictions) where they may be legally offered for sale. If you\\r\\n (or the business or other entity you act on behalf of) cannot legally\\r\\n purchase or use the Services, you are prohibited from using the\\r\\n Services.\\r\\n

\\r\\n

\\r\\n 13.5 General. No waiver of any breach of this AULA and no course\\r\\n of dealing between the parties will be construed as a waiver of any\\r\\n subsequent breach of this AULA. The provisions of this AULA are\\r\\n severable. If any provision of this AULA is held to be invalid, illegal,\\r\\n or unenforceable, the validity, legality, or enforceability of the\\r\\n remaining provisions will in no way be affected or impaired thereby.\\r\\n When executed in writing, this AULA may be executed in multiple\\r\\n counterparts, each of which is deemed an original, but all of which\\r\\n taken together constitute the same instrument. For purposes of execution\\r\\n and delivery, each party may rely upon the electronic signature of the\\r\\n other party. LBMX has the right to (as to itself) effect an Assignment.\\r\\n “Assignment” means any purported assignment or transfer, directly or\\r\\n indirectly, of this AULA by a party whether a party assigns this AULA by\\r\\n way of merger, license or sale of assets to which this AULA relates, or\\r\\n otherwise. You do not have the right to effect an Assignment, except\\r\\n with the prior express written consent of LBMX which consent may be\\r\\n withheld in its sole and absolute discretion. This AULA will be binding\\r\\n upon and inure to the benefit of the parties and their respective\\r\\n successors and permitted assigns. Any Assignment or other purported\\r\\n assignment in contravention of terms of this Section will be void and\\r\\n unenforceable. Our failure to perform hereunder will be excused to the\\r\\n extent such performance is rendered impossible by strike, pandemic,\\r\\n fire, flood, or other act of nature, governmental acts, orders or\\r\\n restrictions, or any other reason where failure to perform is beyond the\\r\\n reasonable control and not caused by the negligence of LBMX. This AULA\\r\\n will not be construed as creating a relationship of employment, agency,\\r\\n partnership, joint venture, or any other form of legal association.\\r\\n Neither party has any power to bind the other party or to assume or to\\r\\n create any obligation or responsibility on behalf of the other party.\\r\\n This AULA will not confer any rights or remedies upon any person other\\r\\n than the parties and their respective successors and permitted assigns\\r\\n and the indemnified parties (with respect to indemnification). Any\\r\\n notices provided hereunder will be in writing and will be deemed to have\\r\\n been duly given when delivered, or three (3) days after mailing by\\r\\n certified mail, return receipt requested, postage prepaid, addressed to\\r\\n the following addresses: if to LBMX: 400-148 Fullarton Street, London\\r\\n Ontario, Canada, N6A 5P3 Canada; and, if to you: to the last address you\\r\\n gave us. This AULA constitutes the entire agreement between the parties\\r\\n with respect to its subject matter and supersedes all prior or\\r\\n contemporaneous agreements, negotiations, representations, and\\r\\n proposals, whether written or oral, relating to its subject matter.\\r\\n Except for modifications made by us to this AULA (or to any terms in\\r\\n URLs), no modification of this AULA and no waiver of any breach of this\\r\\n AULA will be effective unless in writing and signed by an authorized\\r\\n representative of the party against whom enforcement is sought. Where\\r\\n “including” is used herein it means “including but not limited to”. The\\r\\n parties have required that this Agreement and all related documents be\\r\\n drafted in English.\\r\\n

\\r\\n

\\r\\n 13.6 U.S. Copyright Infringement Policy. In compliance with the\\r\\n United States’ Digital Millennium Copyright Act of 1998, we have\\r\\n established a procedure you can follow if you believe that your\\r\\n copyrighted work is accessible via the Services in a manner that\\r\\n infringes any United States copyright. That procedure, including the\\r\\n contact information for our designated agent for receiving complaints\\r\\n under this section, is available at\\r\\n https://www.lbmx.com/US-copyright-procedure/\\r\\n \\r\\n

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

{{ 'COMMON.MY_PROFILE' | transloco }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ 'COMMON.STRONG_PASSWORD_MESSAGE' | transloco }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n 'ADMINISTRATION.CONFIRM_PASSWORD' | transloco\\r\\n }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'USER_NOTIFICATION.REMIND_ME' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'USER_NOTIFICATION.HOURS' | transloco }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\\" [autoGenerate]=\\\"false\\\">\\r\\n \\r\\n {{ breadcrumb | transloco }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TermsServicesComponent } from './features/secure/terms-services/terms-services.component';\r\n\r\n// Public\r\nimport { PublicComponent } from './layouts/public/public.component';\r\nimport { PUBLIC_ROUTES } from './layouts/public/public.routes';\r\n\r\n// Secure\r\nimport { SecureComponent } from './layouts/secure/secure.component';\r\nimport { SECURE_ROUTES } from './layouts/secure/secure.routes';\r\n\r\nimport { AuthGuardService } from './services/authGuard/authGuard.service';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'default',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: '',\r\n component: PublicComponent,\r\n data: { title: 'Public Views' },\r\n children: PUBLIC_ROUTES,\r\n },\r\n {\r\n path: '',\r\n component: SecureComponent,\r\n data: { title: 'Secure Views' },\r\n children: SECURE_ROUTES,\r\n canActivateChild: [AuthGuardService],\r\n },\r\n {\r\n path: 'terms',\r\n component: TermsServicesComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n { path: '**', redirectTo: 'home' },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(appRoutes, {\r\n enableTracing: false,\r\n useHash: false,\r\n onSameUrlNavigation: 'reload',\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n providers: [],\r\n})\r\nexport class AppRoutingModule {}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnDestroy } from '@angular/core';\r\nimport { NgxLoggerLevel } from 'ngx-logger';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { ConfigProvider } from './provider/config-provider';\r\n\r\nimport { AdminConfig, AdministrationService } from '@lbmx/administration';\r\nimport { MarketplaceService } from '@lbmx/marketplace';\r\nimport { MarketplacePartnersService } from '@lbmx/marketplace-partners';\r\nimport { MarketplacePartnersConfig } from '@lbmx/marketplace-partners/lib/marketplace-partners.config';\r\nimport { MarketplaceConfig } from '@lbmx/marketplace/lib/marketplace.config';\r\nimport { AuthConfig, AuthenticateService } from '@lbmx/phoenix-lib-auth';\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport { PimConfig, PimService } from '@lbmx/phoenix-pim';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { BreadcrumbService } from 'xng-breadcrumb';\r\n\r\nimport { SiteTypeService } from './services/siteType/site-type.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnDestroy {\r\n public subscriptions: Subscription[] = [];\r\n\r\n public siteNameClass: string;\r\n\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private authSrv: AuthenticateService,\r\n private adminSrv: AdministrationService,\r\n private loggerSrv: LoggerService,\r\n private pimSrv: PimService,\r\n private marketplacePartnersSrv: MarketplacePartnersService,\r\n private marketplaceSrv: MarketplaceService,\r\n // Required to initialize the breadcrumbs\r\n private breadcrumbService: BreadcrumbService,\r\n public siteTypeService: SiteTypeService\r\n ) {\r\n this.configAuth();\r\n this.configAdmin();\r\n this.configPim();\r\n this.configMarketplacePartners();\r\n this.configMarketplace();\r\n this.configLogger();\r\n\r\n this.subscriptions.push(\r\n this.siteTypeService.siteType$.subscribe(() => {\r\n this.siteNameClass = this.siteTypeService.siteName;\r\n })\r\n );\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n private configLogger() {\r\n this.loggerSrv.setLoggerConfig(this.getUriLoggerConfig());\r\n }\r\n\r\n private getUriLoggerConfig() {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n\r\n const loggerConfig = this.loggerSrv.getLoggerConfig();\r\n\r\n loggerConfig.level = NgxLoggerLevel.TRACE;\r\n loggerConfig.serverLoggingUrl = appSettings.uriLogging.logging;\r\n loggerConfig.serverLogLevel = NgxLoggerLevel.TRACE;\r\n\r\n return loggerConfig;\r\n }\r\n\r\n private configAuth() {\r\n this.authSrv.configure(this.getAuthConfig());\r\n\r\n this.subscriptions.push(\r\n this.authSrv.events\r\n .pipe(filter((e) => e.type === 'token_received'))\r\n .subscribe((e) => {\r\n this.loggerSrv.info(\r\n 'AppComponent.configAuth',\r\n 'User session has started: token_received'\r\n );\r\n })\r\n );\r\n\r\n this.configPim();\r\n }\r\n\r\n private getAuthConfig(): AuthConfig {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n\r\n const authConfig: AuthConfig = {\r\n // Url of the Identity Provider\r\n // issuer: 'https://steyer-identity-server.azurewebsites.net/identity',\r\n\r\n // URL of the SPA to redirect the user to after login\r\n // redirectUri: window.location.origin + '/index.html',\r\n\r\n // URL of the SPA to redirect the user after silent refresh\r\n // silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',\r\n\r\n tokenEndpoint: appSettings.uriSecurity.authenticate,\r\n\r\n userinfoEndpoint: appSettings.uriSecurity.getProfile,\r\n\r\n refreshTokenEndpoint: appSettings.uriSecurity.slidingSession,\r\n\r\n logOutEndPoint: appSettings.uriSecurity.logOut,\r\n\r\n rememberMeLoadEndPoint: appSettings.uriSecurity.rememberMeLoad,\r\n\r\n getCookieRememberMeEndPoint: appSettings.uriSecurity.getCookieRememberMe,\r\n\r\n // The SPA's id. The SPA is registerd with this id at the auth-server\r\n // clientId: 'spa-phonenix',\r\n\r\n // set the scope for the permissions the client should request\r\n // The first three are defined by OIDC. The 4th is a usecase-specific one\r\n // scope: 'openid profile email voucher',\r\n };\r\n return authConfig;\r\n }\r\n\r\n private configPim() {\r\n this.pimSrv.setConfig(this.getPimConfig());\r\n }\r\n\r\n private getPimConfig(): PimConfig {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n const pimConfig: PimConfig = {\r\n getAllProductFieldsEndpoint: appSettings.uriProduct.getAllProductFields,\r\n getFieldCategoriesEndpoint: appSettings.uriProduct.getFieldCategories,\r\n assetsEndPoint: appSettings.uriDocServer.assets,\r\n uploadAssetsEndPoint: appSettings.uriDocServer.uploadAssets,\r\n uploadSupplierAssetsEndPoint:\r\n appSettings.uriDocServer.uploadSupplierAssets,\r\n importFileEndPoint: appSettings.uriDocServer.imports,\r\n exportFileEndPoint: appSettings.uriDocServer.exports,\r\n getIncludedFieldsEndpoint: appSettings.uriProduct.getIncludedFields,\r\n getApprovedProductsEndpoint: appSettings.uriProduct.getApprovedProducts,\r\n searchApprovedProductsEndpoint:\r\n appSettings.uriProduct.searchApprovedProducts,\r\n getProductDetailsEndpoint: appSettings.uriProduct.productDetails,\r\n importLayoutsEndPoint: appSettings.uriImport.importLayouts,\r\n importEndPoint: appSettings.uriImport.import,\r\n getFileHeadersEndPoint: appSettings.uriImport.getFileHeaders,\r\n getFieldAllowedValuesEndpoint:\r\n appSettings.uriProduct.getFieldAllowedValues,\r\n getCountriesEndpoint: appSettings.uriProduct.getCountries,\r\n getCurrenciesEndpoint: appSettings.uriProduct.getCurrencies,\r\n getPartnersByType: appSettings.uriProduct.getPartnersByType,\r\n getPartnersByPermission: appSettings.uriProduct.getPartnersByPermission,\r\n account: appSettings.uriMarketplacePartners.account,\r\n exportProductsEndpoint: appSettings.uriProduct.exportProducts,\r\n updateProductsEndpoint: appSettings.uriProduct.updateProducts,\r\n searchExportsEndpoint: appSettings.uriDocServer.searchExports,\r\n upsertAssetsEndpoint: appSettings.uriProduct.upsertAssets,\r\n uriProduct: appSettings.uriProduct,\r\n searchPendingProductsEndpoint:\r\n appSettings.uriProduct.searchPendingProducts,\r\n approvePendingProductEndpoint: appSettings.uriProduct.approveProducts,\r\n rejectPendingProductEndpoint: appSettings.uriProduct.rejectProducts,\r\n getKpiEndPoint: appSettings.uriProduct.getKpi,\r\n getTermsAggregationEndPoint: appSettings.uriProduct.getTermsAggregation,\r\n getUsersFullNameEndPoint: appSettings.uriAdministration.getUserFullName,\r\n outboundProfileEndPoint: appSettings.uriProduct.outboundProfile,\r\n searchOutboundProfilesEndPoint:\r\n appSettings.uriProduct.searchOutboundProfiles,\r\n validateOutboundProfileNameEndPoint:\r\n appSettings.uriProduct.validateOutboundProfileName,\r\n getCategoryAggregationsEndPoint:\r\n appSettings.uriProduct.getCategoryAggregations,\r\n outboundProfileConfigurationsEndpoint:\r\n appSettings.uriProduct.outboundProfileConfigurations,\r\n auditProfileEndpoint: appSettings.uriProduct.auditProducts,\r\n getAutoApproveProducts: appSettings.uriProduct.getAutoApproveProducts,\r\n setAutoApproveProducts: appSettings.uriProduct.setAutoApproveProducts,\r\n };\r\n return pimConfig;\r\n }\r\n private configAdmin() {\r\n this.adminSrv.setConfig(this.getAdminConfig());\r\n }\r\n\r\n private getAdminConfig(): AdminConfig {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n const adminConfig: AdminConfig = {\r\n accountAssetsEndPoint:\r\n appSettings.uriAdministration.accountAssetsEndPoint,\r\n searchUserEndpoint: appSettings.uriAdministration.searchUser,\r\n addUserEndpoint: appSettings.uriAdministration.addUser,\r\n updateUserEndpoint: appSettings.uriAdministration.updateUser,\r\n listPermissionsEndpoint: appSettings.uriAdministration.listPermissions,\r\n deleteUserEndpoint: appSettings.uriAdministration.deleteUser,\r\n languageTypesEndpoint: appSettings.uriAdministration.languageTypes,\r\n timeZoneTypesEndpoint: appSettings.uriConfig.getTimeZoneTypes,\r\n dateFormatTypesEndpoint: appSettings.uriAdministration.dateFormatTypes,\r\n exportUsersEndpoint: appSettings.uriAdministration.exportUsers,\r\n getConfigEndpoint: appSettings.uriAdministration.getConfig,\r\n getAccountEndpoint: appSettings.uriAdministration.getAccount,\r\n getAccountRootURL: appSettings.uriMarketplacePartners.account,\r\n getConnectorEndpoint: appSettings.uriAdministration.getConnectorRootURL,\r\n getExportsEndpoint: appSettings.uriAdministration.getExportRootURL,\r\n };\r\n return adminConfig;\r\n }\r\n\r\n private configMarketplacePartners() {\r\n this.marketplacePartnersSrv.setConfig(this.getMarketplacePartnersConfig());\r\n }\r\n\r\n private getMarketplacePartnersConfig(): MarketplacePartnersConfig {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n const marketplacePartnersConfig: MarketplacePartnersConfig = {\r\n getAccountRelationshipEndpoint:\r\n appSettings.uriMarketplacePartners.getAccountRelationship,\r\n getAccountEndpoint: appSettings.uriMarketplacePartners.getAccount,\r\n getConfigEndpoint: appSettings.uriMarketplacePartners.getConfig,\r\n getLocationEndpoint: appSettings.uriMarketplacePartners.getLocation,\r\n getUserStateEndpoint: appSettings.uriUserState.getUserState,\r\n getFieldCategoriesEndpoint: appSettings.uriProduct.getFieldCategories,\r\n getAllProductFieldsEndpoint: appSettings.uriProduct.getAllProductFields,\r\n accountAssetsEndPoint: appSettings.uriDocServer.uploadAccountAssets,\r\n deleteAccountAssetsEndPoint: appSettings.uriDocServer.deleteAccountAssets,\r\n updateAccountEndpoint: appSettings.uriMarketplacePartners.updateAccount,\r\n deleteLogoAssetKeyEndpoint:\r\n appSettings.uriMarketplacePartners.deleteLogoAssetKey,\r\n getDocumentServerEndpoint: appSettings.uriDocServer.imports,\r\n account: appSettings.uriMarketplacePartners.account,\r\n };\r\n return marketplacePartnersConfig;\r\n }\r\n private configMarketplace() {\r\n this.marketplaceSrv.setConfig(this.getMarketplaceConfig());\r\n }\r\n\r\n private getMarketplaceConfig(): MarketplaceConfig {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n const marketplaceConfig: MarketplaceConfig = {\r\n getDocumentServerEndpoint: appSettings.uriMarketplace.getDocumentServer,\r\n getDocumentEndpoint: appSettings.uriMarketplace.getDocument,\r\n getConfigEndpoint: appSettings.uriMarketplace.getConfig,\r\n getUserEndpoint: appSettings.uriMarketplace.getUser,\r\n sentInvoice: appSettings.uriMarketplace.sentInvoiceRootURL,\r\n sentPo: appSettings.uriMarketplace.sentPoRootURL,\r\n sentPoa: appSettings.uriMarketplace.sentPoaRootURL,\r\n sentAsn: appSettings.uriMarketplace.sentAsnRootURL,\r\n sentRemittances: appSettings.uriMarketplace.sentRemittancesRootURL,\r\n receivedTM: appSettings.uriMarketplace.receivedTMRootURL,\r\n receivedAA: appSettings.uriMarketplace.receivedAARootURL,\r\n sentPad: appSettings.uriMarketplace.sentPadRootURL,\r\n sentOs: appSettings.uriMarketplace.sentOsRootURL,\r\n sentCda: appSettings.uriMarketplace.sentCdaRootURL,\r\n sentPoc: appSettings.uriMarketplace.sentPocRootURL,\r\n receivedInvoice: appSettings.uriMarketplace.receivedInvoiceRootURL,\r\n receivedCda: appSettings.uriMarketplace.receivedCDARootURL,\r\n receivedOs: appSettings.uriMarketplace.receivedOSRootURL,\r\n receivedPo: appSettings.uriMarketplace.receivedPoRootURL,\r\n receivedPad: appSettings.uriMarketplace.receivedPadRootURL,\r\n receivedStatement: appSettings.uriMarketplace.receivedStatementRootURL,\r\n receivedPoc: appSettings.uriMarketplace.receivedPOCRootURL,\r\n receivedRebateStatement:\r\n appSettings.uriMarketplace.receivedRebateStatementRootURL,\r\n receivedPoa: appSettings.uriMarketplace.receivedPoaRootURL,\r\n receivedAsn: appSettings.uriMarketplace.receivedAsnRootURL,\r\n receivedRemittances:\r\n appSettings.uriMarketplace.receivedRemittancesRootURL,\r\n connectors: appSettings.uriAdministration.getConnectorRootURL,\r\n uriUserState: appSettings.uriUserState,\r\n apiBaseUrl: appSettings.uriBase?.apiBaseUrl,\r\n export: appSettings.uriAdministration.getExportRootURL,\r\n };\r\n return marketplaceConfig;\r\n }\r\n\r\n //#endregion\r\n}\r\n","// Angular\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport {\r\n APP_INITIALIZER,\r\n Compiler,\r\n COMPILER_OPTIONS,\r\n CompilerFactory,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n LOCALE_ID,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { JitCompilerFactory } from '@angular/platform-browser-dynamic';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { OnMouseMoveDirective } from './layouts/secure/on-mouse-move.directive';\r\n// Services\r\nimport { AuthGuardService } from './services/authGuard/authGuard.service';\r\n\r\n// App\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\n// Kendo\r\nimport {\r\n CldrIntlService,\r\n IntlModule,\r\n IntlService,\r\n} from '@progress/kendo-angular-intl';\r\nimport '@progress/kendo-angular-intl/locales/en-AU/all';\r\nimport '@progress/kendo-angular-intl/locales/en-AU/calendar';\r\nimport '@progress/kendo-angular-intl/locales/en-CA/all';\r\nimport '@progress/kendo-angular-intl/locales/en-gb/all';\r\nimport '@progress/kendo-angular-intl/locales/en-gb/calendar';\r\nimport '@progress/kendo-angular-intl/locales/en-NZ/all';\r\nimport '@progress/kendo-angular-intl/locales/en/all';\r\nimport '@progress/kendo-angular-intl/locales/en/calendar';\r\n\r\nimport '@progress/kendo-angular-intl/locales/es/all';\r\nimport '@progress/kendo-angular-intl/locales/fr/all';\r\nimport '@progress/kendo-angular-intl/locales/ru/all';\r\n\r\n// Transloco\r\nimport {\r\n TRANSLOCO_CONFIG,\r\n TranslocoConfig,\r\n TranslocoModule,\r\n} from '@ngneat/transloco';\r\nimport { TranslocoMessageFormatModule } from '@ngneat/transloco-messageformat';\r\n\r\n// UI Modules - Prime\r\nimport {\r\n DynamicDialogModule,\r\n EditorModule,\r\n ProgressSpinnerModule,\r\n} from 'primeng';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MegaMenuModule } from 'primeng/megamenu';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\n\r\n// Public Component\r\nimport { LoginComponent } from './../app/features/public/login/login.component';\r\nimport { RecoverPasswordComponent } from './features/public/recover-password/recover-password.component';\r\nimport { ResetPasswordComponent } from './features/public/reset-password/reset-password.component';\r\n\r\n// Secure Component\r\nimport { BreadcrumbModule } from 'xng-breadcrumb';\r\nimport { HomeComponent } from './../app/features/secure/home/home.component';\r\nimport { MainFooterComponent } from './features/secure/main-footer/main-footer.component';\r\nimport { MainHeaderComponent } from './features/secure/main-header/main-header.component';\r\nimport { MainNavigationContainerComponent } from './features/secure/main-navigation-container/main-navigation-container.component';\r\nimport { ScrollTopComponent } from './features/secure/main-scroll-top/main-scroll-top.component';\r\nimport { OtpComponent } from './features/secure/otp/otp.component';\r\n\r\n// Packages\r\nimport { AppStateModule } from '@lbmx/app-state';\r\nimport { AuthModule } from '@lbmx/phoenix-lib-auth';\r\nimport { CoreModule } from '@lbmx/phoenix-lib-core';\r\nimport { UtilsModule } from '@lbmx/phoenix-lib-utils';\r\n\r\n// Environments and loaders\r\nimport { AnalyticsModule } from '@lbmx/analytics';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { httpLoader } from 'src/loaders/http.loader';\r\nimport { BreadcrumbService } from 'xng-breadcrumb';\r\nimport { LuiAccordionModule } from './features/lui-legacy-components/accordion/accordion.module';\r\nimport { LegacySearchContainerModule } from './features/lui-legacy-components/legacy-search-container/module';\r\nimport { TabModule } from './features/lui-legacy-components/tab/module';\r\nimport { LogoutComponent } from './features/public/logout/logout.component';\r\nimport { RegisterComponent } from './features/public/register/register.component';\r\nimport { DemoModule } from './features/secure/demo/demo.module';\r\nimport { ErrorComponent } from './features/secure/error/error.component';\r\nimport { ExportsModule } from './features/secure/exports/exports.module';\r\nimport { DashboardComponent } from './features/secure/home/dashboard/dashboard.component';\r\nimport { HomeViewContainerComponent } from './features/secure/home/home-view-container/home-view-container.component';\r\nimport { HomeViewComponent } from './features/secure/home/home-view-container/home-view/home-view.component';\r\nimport { KpiSelectionModalComponent } from './features/secure/home/select-kpi/kpi-selection-modal/kpi-selection-modal.component';\r\nimport { MainModuleSelectorComponent } from './features/secure/main-navigation-container/main-module-selector/main-module-selector.component';\r\nimport { LBMXMegaMenuComponent } from './features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-mega-menu/lbmx-mega-menu.component';\r\nimport { LBMXNavBarComponent } from './features/secure/main-navigation-container/main-nav-bar/lbmx-nav-bar/lbmx-nav-bar.component';\r\nimport { MainNavBarComponent } from './features/secure/main-navigation-container/main-nav-bar/main-nav-bar.component';\r\nimport { MarketplaceAnalyticsModule } from './features/secure/marketplace-analytics/marketplace-analytics.module';\r\nimport { TermsServicesComponent } from './features/secure/terms-services/terms-services.component';\r\nimport { UserProfileContainerComponent } from './features/secure/userprofile/user-profile-container';\r\nimport { UserprofileComponent } from './features/secure/userprofile/userprofile.component';\r\nimport { PublicComponent } from './layouts/public/public.component';\r\nimport { MarketplaceModalComponent } from './layouts/secure/marketplace-modal.component';\r\nimport { SecureComponent } from './layouts/secure/secure.component';\r\nimport { ConfigProvider } from './provider/config-provider';\r\nimport { EnvServiceProvider } from './services/EnvServiceProvider';\r\nimport { RequestInterceptor } from './services/error/http.interceptor';\r\n\r\nimport { WizardPopupModule } from './features/lui-legacy-components/wizard-popup/wizard-popup.module';\r\nimport { MakePaymentsModule } from './features/secure/make-payments/make-payments.module';\r\nimport { OpenReceivablesModule } from './features/secure/open-receivables/open-receivables.module';\r\n\r\nexport function createCompiler(compilerFactory: CompilerFactory) {\r\n return compilerFactory.createCompiler();\r\n}\r\n\r\nexport function configProviderFactory(provider: ConfigProvider) {\r\n return () => provider.load();\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n AnalyticsModule,\r\n AppStateModule,\r\n AppRoutingModule,\r\n BrowserModule,\r\n BreadcrumbModule,\r\n ButtonModule,\r\n BrowserAnimationsModule,\r\n CheckboxModule,\r\n CardModule,\r\n CoreModule,\r\n DropdownModule,\r\n DialogModule,\r\n DynamicDialogModule,\r\n EditorModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n InputTextModule,\r\n PasswordModule,\r\n ProgressSpinnerModule,\r\n PerFormPrimengModule,\r\n MegaMenuModule,\r\n MenubarModule,\r\n UtilsModule,\r\n AuthModule,\r\n TranslocoModule,\r\n TabViewModule,\r\n MarketplaceAnalyticsModule,\r\n IntlModule,\r\n ToastModule,\r\n TreeTableModule,\r\n TranslocoMessageFormatModule.init(),\r\n ExportsModule,\r\n TabModule,\r\n LegacySearchContainerModule,\r\n DemoModule,\r\n LuiAccordionModule,\r\n OpenReceivablesModule,\r\n MakePaymentsModule,\r\n WizardPopupModule,\r\n ],\r\n declarations: [\r\n OnMouseMoveDirective,\r\n AppComponent,\r\n UserProfileContainerComponent,\r\n PublicComponent,\r\n LoginComponent,\r\n RecoverPasswordComponent,\r\n ResetPasswordComponent,\r\n SecureComponent,\r\n HomeComponent,\r\n MainHeaderComponent,\r\n MainNavigationContainerComponent,\r\n MainFooterComponent,\r\n ScrollTopComponent,\r\n RegisterComponent,\r\n MainModuleSelectorComponent,\r\n UserprofileComponent,\r\n LogoutComponent,\r\n TermsServicesComponent,\r\n MarketplaceModalComponent,\r\n ErrorComponent,\r\n MainNavBarComponent,\r\n LBMXMegaMenuComponent,\r\n LBMXNavBarComponent,\r\n HomeViewContainerComponent,\r\n HomeViewComponent,\r\n OtpComponent,\r\n KpiSelectionModalComponent,\r\n DashboardComponent,\r\n ],\r\n entryComponents: [KpiSelectionModalComponent, OtpComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [\r\n httpLoader,\r\n {\r\n provide: TRANSLOCO_CONFIG,\r\n useValue: {\r\n listenToLangChange: true,\r\n reRenderOnLangChange: true,\r\n defaultLang: 'en-ca',\r\n fallbackLang: 'en-ca',\r\n useFallbackTranslation: true,\r\n scopeStrategy: 'shared',\r\n } as TranslocoConfig,\r\n },\r\n AuthGuardService,\r\n BreadcrumbService,\r\n EnvServiceProvider,\r\n ConfigProvider,\r\n {\r\n provide: COMPILER_OPTIONS,\r\n useValue: {},\r\n multi: true,\r\n },\r\n {\r\n provide: CompilerFactory,\r\n useClass: JitCompilerFactory,\r\n deps: [COMPILER_OPTIONS],\r\n },\r\n {\r\n provide: Compiler,\r\n useFactory: createCompiler,\r\n deps: [CompilerFactory],\r\n },\r\n CldrIntlService,\r\n {\r\n provide: IntlService,\r\n useExisting: CldrIntlService,\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useValue: 'en-ca',\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configProviderFactory,\r\n deps: [ConfigProvider],\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: RequestInterceptor,\r\n multi: true,\r\n },\r\n Title,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","export class PasswordRecoveryRequest {\r\n public username: string;\r\n}\r\n\r\nexport interface IResetLinkValidationResponse {\r\n userKey: number;\r\n}\r\n\r\nexport class ResetPasswordRequest {\r\n public userKey: number;\r\n public newPassword: string;\r\n public token: string;\r\n}\r\n\r\nexport class ResetToken {\r\n public token: string;\r\n}\r\n","export interface IRegistrationLinkValidationResponse {\r\n accountCountry?: string;\r\n userInfo: UserInfo;\r\n languageTypes: Languages[];\r\n dateTypes: DateFormat[];\r\n timezoneTypes: TimeZones[];\r\n}\r\n\r\nexport class UserInfo {\r\n public userKey: number;\r\n public userName: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public phone: string;\r\n public phoneCountry: string;\r\n public phoneExtension: string;\r\n public accountKey: string;\r\n}\r\nexport class Languages {\r\n public languageCode: string;\r\n public languageDescription: string;\r\n}\r\nexport class TimeZones {\r\n public timeZoneCode: string;\r\n public timeZoneDescription: string;\r\n}\r\nexport class DateFormat {\r\n public dateTypeKey: number;\r\n public description: string;\r\n}\r\nexport class RegistrationToken {\r\n public token: string;\r\n}\r\n\r\nexport class UpdateUserResponse {\r\n public status: string;\r\n}\r\nexport class UpdateUserRequest {\r\n public userName: string;\r\n public userKey: number;\r\n public languageCode: string;\r\n public password: string;\r\n public accountKey: number;\r\n public phoneCountry: string;\r\n public phone: string;\r\n public phoneExtension: string;\r\n public timeZoneCode: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public dateType: number;\r\n}\r\n\r\nexport interface IConfigCountry {\r\n countryCode: string;\r\n countryName: string;\r\n languageCode: string;\r\n isVisible: true;\r\n addedOn: string;\r\n addedBy: number;\r\n modifiedOn: string;\r\n modifiedBy: number;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuiAccordion } from './accordion';\r\nimport { LuiAccordionItem } from './item';\r\nimport { LuiAccordionItemControl } from './item-control';\r\nimport { LuiAccordionItemPanel } from './item-panel';\r\nimport { LuiAccordionStandardItem } from './standard-item';\r\n\r\n@NgModule({\r\n declarations: [\r\n LuiAccordion,\r\n LuiAccordionItem,\r\n LuiAccordionItemControl,\r\n LuiAccordionItemPanel,\r\n LuiAccordionStandardItem,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n LuiAccordion,\r\n LuiAccordionItem,\r\n LuiAccordionItemControl,\r\n LuiAccordionItemPanel,\r\n LuiAccordionStandardItem,\r\n ],\r\n})\r\nexport class LuiAccordionModule {}\r\n","import {\r\n Directive,\r\n HostBinding,\r\n InjectionToken,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { COMPONENT_NAMESPACE } from './roles';\r\n\r\n/** Used to generate unique ID for each accordion. */\r\nlet nextId = 0;\r\n\r\n/**\r\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\r\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\r\n * retention of the class and its directive metadata.\r\n */\r\nexport const LUI_ACCORDION = new InjectionToken('LuiAccordion');\r\n\r\n/**\r\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\r\n */\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-accordion, [luiAccordion]',\r\n exportAs: 'luiAccordion',\r\n providers: [{ provide: LUI_ACCORDION, useExisting: LuiAccordion }],\r\n})\r\n\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiAccordion implements OnDestroy, OnChanges {\r\n /** Emits when the state of the accordion changes */\r\n // Is this necessary?\r\n public readonly _stateChanges = new Subject();\r\n\r\n /** Stream that emits true/false when openAll/closeAll is triggered. */\r\n public readonly _openCloseAllActions: Subject =\r\n new Subject();\r\n\r\n private _index: number = nextId++;\r\n get index(): number {\r\n return this._index;\r\n }\r\n\r\n /** A readonly id value to use for unique selection coordination. */\r\n @HostBinding('attr.id')\r\n public readonly id: string = `lui-accordion-${this._index}`;\r\n\r\n @HostBinding('class')\r\n get nameSpace() {\r\n return COMPONENT_NAMESPACE;\r\n }\r\n\r\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\r\n @Input()\r\n get multi(): boolean {\r\n return this._multi;\r\n }\r\n set multi(multi: boolean) {\r\n this._multi = multi;\r\n }\r\n private _multi = false;\r\n\r\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\r\n public openAll(): void {\r\n if (this._multi) {\r\n this._openCloseAllActions.next(true);\r\n }\r\n }\r\n\r\n /** Closes all enabled accordion items. */\r\n public closeAll(): void {\r\n this._openCloseAllActions.next(false);\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n this._stateChanges.next(changes);\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._stateChanges.complete();\r\n this._openCloseAllActions.complete();\r\n }\r\n}\r\n","import {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from '@angular/animations';\r\n\r\nexport const openClose = [\r\n trigger('openClose', [\r\n state('open', style({ height: '*' })),\r\n state(\r\n 'closed',\r\n style({\r\n height: '0',\r\n overflow: 'hidden',\r\n })\r\n ),\r\n state('rotated', style({ transform: 'rotate(90deg)' })),\r\n state('default', style({ transform: 'rotate(0deg)' })),\r\n transition('open <=> closed', [\r\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'),\r\n ]),\r\n transition('rotated <=> default', [animate('0.25s')]),\r\n ]),\r\n];\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n} from '@angular/core';\r\nimport { LUI_ACCORDION_ITEM, LuiAccordionItem } from './item';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-accordion-item-control, [luiAccordionItemControl]',\r\n exportAs: 'luiAccordionItemControl',\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiAccordionItemControl {\r\n public clicked = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(LUI_ACCORDION_ITEM)\r\n public accordionItem: LuiAccordionItem\r\n ) {}\r\n\r\n @HostBinding('attr.aria-controls')\r\n public readonly controlId = `lui-item-panel-${this.accordionItem.index}`;\r\n\r\n @HostListener('click')\r\n public click() {\r\n this.accordionItem.toggle();\r\n }\r\n\r\n @HostBinding('class')\r\n get nameSpace() {\r\n return 'lui-accordion-item-control';\r\n }\r\n}\r\n","import { Directive, HostBinding, Inject } from '@angular/core';\r\nimport { LUI_ACCORDION_ITEM, LuiAccordionItem } from './item';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-accordion-item-panel, [luiAccordionItemPanel]',\r\n exportAs: 'luiAccordionItemPanel',\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiAccordionItemPanel {\r\n constructor(\r\n @Inject(LUI_ACCORDION_ITEM)\r\n public accordionItem: LuiAccordionItem\r\n ) {}\r\n\r\n @HostBinding('attr.id')\r\n public readonly panelId = `lui-item-panel-${this.accordionItem.index}`;\r\n\r\n @HostBinding('class.expanded')\r\n get expanded() {\r\n return this.accordionItem.expanded;\r\n }\r\n\r\n @HostBinding('class.collapsed')\r\n get collapsed() {\r\n return !this.accordionItem.expanded;\r\n }\r\n\r\n @HostBinding('class')\r\n get nameSpace() {\r\n return 'lui-accordion-item-panel';\r\n }\r\n // @HostBinding('style')\r\n // get style() {\r\n // return this.accordionItem.expanded\r\n // ? { 'max-height': '100%' }\r\n // : {\r\n // 'max-height': '0',\r\n // // 'overflow-y': 'hidden',\r\n // };\r\n // }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n InjectionToken,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { LUI_ACCORDION, LuiAccordion } from './accordion';\r\nimport { COMPONENT_NAMESPACE, ROLES } from './roles';\r\nimport { UniqueSelectionDispatcher } from './unique-selection-dispatcher';\r\n\r\nexport const LUI_ACCORDION_ITEM = new InjectionToken(\r\n 'LuiAccordionItem'\r\n);\r\n\r\n/** Used to generate unique ID for each accordion item. */\r\nlet nextId = 0;\r\n\r\n/**\r\n * An basic directive expected to be extended and decorated as a component. Sets up all\r\n * events and attributes needed to be managed by a CdkAccordion parent.\r\n */\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-accordion-item, [luiAccordionItem]',\r\n exportAs: 'luiAccordionItem',\r\n providers: [\r\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\r\n // registering to the same accordion.\r\n { provide: LUI_ACCORDION, useValue: undefined },\r\n { provide: LUI_ACCORDION_ITEM, useExisting: LuiAccordionItem },\r\n ],\r\n})\r\n\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiAccordionItem implements OnDestroy {\r\n /** Subscription to openAll/closeAll events. */\r\n private _openCloseAllSubscription = Subscription.EMPTY;\r\n\r\n private _expanded = false;\r\n\r\n /** Whether the AccordionItem is disabled. */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(disabled: boolean) {\r\n this._disabled = disabled;\r\n }\r\n private _disabled = false;\r\n\r\n public namespace = COMPONENT_NAMESPACE;\r\n\r\n public panel = ROLES.PANEL;\r\n\r\n /** Event emitted every time the AccordionItem is closed. */\r\n @Output() public readonly closed: EventEmitter =\r\n new EventEmitter();\r\n /** Event emitted every time the AccordionItem is opened. */\r\n @Output() public readonly opened: EventEmitter =\r\n new EventEmitter();\r\n /** Event emitted when the AccordionItem is destroyed. */\r\n @Output() public readonly destroyed: EventEmitter =\r\n new EventEmitter();\r\n\r\n /**\r\n * Emits whenever the expanded state of the accordion changes.\r\n * Primarily used to facilitate two-way binding.\r\n * @docs-private\r\n */\r\n @Output() public readonly expandedChange: EventEmitter =\r\n new EventEmitter();\r\n\r\n private _index: number = nextId++;\r\n get index(): number {\r\n return this._index;\r\n }\r\n\r\n /** The unique AccordionItem id. */\r\n @HostBinding('attr.id')\r\n public readonly id: string = `lui-accordion-child-${this._index}`;\r\n\r\n @HostBinding('class')\r\n get nameSpace() {\r\n return ROLES.ITEM;\r\n }\r\n\r\n /** Unregister function for _expansionDispatcher. */\r\n private _removeUniqueSelectionListener: () => void = () => {\r\n /* empty block */\r\n // tslint:disable-next-line: semicolon\r\n };\r\n\r\n // /** The unique section id. */\r\n // readonly sectionId: string = `accordion-body-${nextId}`;\r\n\r\n // /** The unique accordion id. */\r\n // readonly accordionId: string = `accordion${nextId}id`;\r\n\r\n /** Whether the AccordionItem is expanded. */\r\n @Input()\r\n @HostBinding('attr.aria-expanded')\r\n get expanded(): boolean {\r\n return this._expanded;\r\n }\r\n set expanded(expanded: boolean) {\r\n expanded = expanded;\r\n\r\n // Only emit events and update the internal value if the value changes.\r\n if (this._expanded !== expanded) {\r\n this._expanded = expanded;\r\n this.expandedChange.emit(expanded);\r\n\r\n if (expanded) {\r\n this.opened.emit();\r\n /**\r\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\r\n * the name value is the id of the accordion.\r\n */\r\n const accordionId = this.accordion ? this.accordion.id : this.id;\r\n this._expansionDispatcher.notify(this.id, accordionId);\r\n } else {\r\n this.closed.emit();\r\n }\r\n\r\n // Ensures that the animation will run when the value is set outside of an `@Input`.\r\n // This includes cases like the open, close and toggle methods.\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(LUI_ACCORDION)\r\n @SkipSelf()\r\n public accordion: LuiAccordion,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n protected _expansionDispatcher: UniqueSelectionDispatcher\r\n ) {\r\n this._removeUniqueSelectionListener = _expansionDispatcher.listen(\r\n (id: string, accordionId: string) => {\r\n if (\r\n this.accordion &&\r\n !this.accordion.multi &&\r\n this.accordion.id === accordionId &&\r\n this.id !== id\r\n ) {\r\n this.expanded = false;\r\n }\r\n }\r\n );\r\n\r\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\r\n if (this.accordion) {\r\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\r\n }\r\n }\r\n\r\n /** Emits an event for the accordion item being destroyed. */\r\n public ngOnDestroy() {\r\n this.opened.complete();\r\n this.closed.complete();\r\n this.destroyed.emit();\r\n this.destroyed.complete();\r\n this._removeUniqueSelectionListener();\r\n this._openCloseAllSubscription.unsubscribe();\r\n }\r\n\r\n /** Toggles the expanded state of the accordion item. */\r\n public toggle(): void {\r\n if (!this.disabled) {\r\n this.expanded = !this.expanded;\r\n }\r\n }\r\n\r\n /** Sets the expanded state of the accordion item to false. */\r\n public close(): void {\r\n if (!this.disabled) {\r\n this.expanded = false;\r\n }\r\n }\r\n\r\n /** Sets the expanded state of the accordion item to true. */\r\n public open(): void {\r\n if (!this.disabled) {\r\n this.expanded = true;\r\n }\r\n }\r\n\r\n private _subscribeToOpenCloseAllActions(): Subscription {\r\n return this.accordion._openCloseAllActions.subscribe(\r\n (expanded: string | boolean) => {\r\n // Only change expanded state if item is enabled\r\n if (!this.disabled) {\r\n this.expanded = !!expanded;\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","export enum ROLES {\r\n PANEL = 'lui-accordion-panel',\r\n ITEM = 'lui-accordion-item',\r\n}\r\nexport const COMPONENT_NAMESPACE = 'lui-accordion-group';\r\n","import { Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { openClose } from './animations';\r\nimport { LuiAccordionItem } from './item';\r\nimport { COMPONENT_NAMESPACE, ROLES } from './roles';\r\n\r\n@Component({\r\n selector: 'lui-accordion-standard-item',\r\n templateUrl: './standard-item.html',\r\n animations: [openClose],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiAccordionStandardItem {\r\n @Input() public header: string;\r\n\r\n @Input() public leftAlignIcon = false;\r\n\r\n @Input() public filtersSelected = false;\r\n\r\n @Input() public filterIconPath: string;\r\n\r\n @ViewChild(LuiAccordionItem) public accordionItem: LuiAccordionItem;\r\n\r\n public namespace = COMPONENT_NAMESPACE;\r\n\r\n public panel = ROLES.PANEL;\r\n}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n\r\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\r\nexport type UniqueSelectionDispatcherListener = (\r\n id: string,\r\n name: string\r\n) => void;\r\n\r\n/**\r\n * Class to coordinate unique selection based on name.\r\n * Intended to be consumed as an Angular service.\r\n * This service is needed because native radio change events are only fired on the item currently\r\n * being selected, and we still need to uncheck the previous selection.\r\n *\r\n * This service does not *store* any IDs and names because they may change at any time, so it is\r\n * less error-prone if they are simply passed through when the events occur.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class UniqueSelectionDispatcher implements OnDestroy {\r\n private _listeners: UniqueSelectionDispatcherListener[] = [];\r\n\r\n /**\r\n * Notify other items that selection for the given name has been set.\r\n * @param id ID of the item.\r\n * @param name Name of the item.\r\n */\r\n public notify(id: string, name: string) {\r\n for (const listener of this._listeners) {\r\n listener(id, name);\r\n }\r\n }\r\n\r\n /**\r\n * Listen for future changes to item selection.\r\n * @return Function used to deregister listener\r\n */\r\n public listen(listener: UniqueSelectionDispatcherListener): () => void {\r\n this._listeners.push(listener);\r\n return () => {\r\n this._listeners = this._listeners.filter(\r\n (registered: UniqueSelectionDispatcherListener) => {\r\n return listener !== registered;\r\n }\r\n );\r\n };\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._listeners = [];\r\n }\r\n}\r\n","import { Field, FieldsDefinition } from '@lbmx/per-form';\r\nimport { OperatorFunction } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport function mapQueryParams(): OperatorFunction<\r\n [{ [key: string]: any }, FieldsDefinition<{ [key: string]: Field }>],\r\n [{ [key: string]: any }, FieldsDefinition<{ [key: string]: Field }>]\r\n> {\r\n return (source) =>\r\n source.pipe(\r\n map(([queryParams, fieldDefinitions]) => {\r\n const params = Object.entries(queryParams).reduce(\r\n (_queryParams, [fieldKey, value]) => {\r\n return {\r\n ..._queryParams,\r\n [fieldKey]:\r\n fieldDefinitions[fieldKey]?.type === 'calendar'\r\n ? new Date(`${value}`)\r\n : value,\r\n };\r\n },\r\n {}\r\n );\r\n return [params, fieldDefinitions];\r\n })\r\n );\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { GenerateFormService, PerForm } from '@lbmx/per-form';\r\nimport { LoadingState, SearchService } from '@lbmx/root-services';\r\n\r\nimport { combineLatest, Subject } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { mapQueryParams } from './advanced-search.operators';\r\nimport { formDefinition } from './advanced-search.ui';\r\n\r\n@Component({\r\n selector: 'lui-advanced-search',\r\n templateUrl: './advanced-search.html',\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiAdvancedSearch implements OnInit, OnDestroy {\r\n public fieldDefinitions: { [key: string]: any } = {};\r\n public appliedIcon = 'assets/images/filter-on.png';\r\n public form: PerForm;\r\n public fieldSets = {};\r\n public LoadingState = LoadingState;\r\n\r\n private _onDestroy = new Subject();\r\n private queryParams = this.activatedRoute.queryParams.pipe(\r\n map((params) => JSON.parse(params?.filters || '{}'))\r\n );\r\n public fieldsDefinition = this.searchService.fieldsDefinition;\r\n\r\n constructor(\r\n public searchService: SearchService,\r\n private activatedRoute: ActivatedRoute,\r\n private formGenerator: GenerateFormService\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n combineLatest([this.queryParams, this.fieldsDefinition])\r\n .pipe(\r\n mapQueryParams(),\r\n tap(([queryParams, fieldDefinitions]) => {\r\n this.fieldDefinitions = fieldDefinitions;\r\n this.form = this.formGenerator.init(\r\n formDefinition(this.fieldDefinitions),\r\n queryParams\r\n );\r\n this.fieldSets = this.form.fieldSets;\r\n }),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public preserveOrder() {\r\n return 0;\r\n }\r\n\r\n public handleClear() {\r\n // TODO: have to set proper on clear values\r\n this.form.patch(this.form.defaultValues);\r\n }\r\n\r\n public handleAdvancedSearch() {\r\n // TODO: have to set proper on clear values\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._onDestroy.next(true);\r\n }\r\n}\r\n","import { FormDefinition } from '@lbmx/per-form';\r\n\r\nexport const formDefinition = (fields: any): FormDefinition => ({\r\n fields,\r\n});\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PerFormModule } from '@lbmx/per-form';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport {\r\n AccordionModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CheckboxModule,\r\n InputNumberModule,\r\n MultiSelectModule,\r\n RadioButtonModule,\r\n} from 'primeng-lts';\r\nimport { LuiAccordionModule } from '../accordion/accordion.module';\r\nimport { LuiAdvancedSearch } from './advanced-search';\r\n\r\n@NgModule({\r\n declarations: [LuiAdvancedSearch],\r\n imports: [\r\n CommonModule,\r\n AccordionModule,\r\n LuiAccordionModule,\r\n ButtonModule,\r\n CheckboxModule,\r\n FormsModule,\r\n MultiSelectModule,\r\n RadioButtonModule,\r\n ReactiveFormsModule,\r\n TranslocoModule,\r\n CalendarModule,\r\n InputNumberModule,\r\n PerFormPrimengModule,\r\n PerFormModule,\r\n ],\r\n exports: [LuiAdvancedSearch],\r\n})\r\nexport class AdvancedSearchModule {}\r\n","import { DataSource, SelectionModel } from '@angular/cdk/collections';\r\nimport { ColumnConfig, SearchService, Sort } from '@lbmx/root-services';\r\nimport {\r\n BehaviorSubject,\r\n combineLatest,\r\n merge,\r\n Observable,\r\n of,\r\n Subject,\r\n Subscription,\r\n} from 'rxjs';\r\n\r\nimport { distinctUntilChanged, takeUntil, tap } from 'rxjs/operators';\r\nimport { DefaultPaginatorComponent } from '../default-paginator/default-paginator.component';\r\n\r\nexport type StateStorage = 'session' | 'local';\r\nexport interface ColumnWidthState {\r\n [key: string]: number;\r\n}\r\n\r\nexport type ColumnToDisplayState = string[];\r\n\r\nexport interface LuiTableDataSourcePageEvent {\r\n pageIndex: number;\r\n pageSize: number;\r\n length: number;\r\n}\r\n\r\nexport interface SessionStorageState {\r\n offset: number;\r\n selected: string[];\r\n}\r\n\r\nexport interface LocalStorageState {\r\n columnWidths: ColumnWidthState;\r\n pageSize: number;\r\n sort: Sort;\r\n columnsToDisplay: string[];\r\n}\r\n\r\nexport class TableDataSource extends DataSource {\r\n public set data(data: T[]) {\r\n this._data$.next(data);\r\n }\r\n\r\n public get data(): T[] {\r\n return this._data$.value;\r\n }\r\n\r\n get columnWidth() {\r\n return this._columnWidth$.value;\r\n }\r\n\r\n get columnsToDisplay() {\r\n return this._columnToDisplay$.value;\r\n }\r\n\r\n get selection() {\r\n return this._selection;\r\n }\r\n\r\n set paginator(paginator: DefaultPaginatorComponent | null) {\r\n this._paginator = paginator;\r\n this._setupPaginator();\r\n }\r\n\r\n set sort(sort: Sort) {\r\n this._sort$.next(sort);\r\n }\r\n\r\n get sort(): Sort {\r\n return this._sort$.value;\r\n }\r\n\r\n get isLegacy(): boolean {\r\n return this._isLegacy;\r\n }\r\n\r\n set isLegacy(toggle: boolean) {\r\n this._isLegacy = toggle;\r\n }\r\n\r\n get totalRecords(): number {\r\n return this._totalRecords;\r\n }\r\n\r\n set totalRecords(tot: number) {\r\n this._totalRecords = tot;\r\n }\r\n public set searchService(searchService: SearchService) {\r\n this._searchService = searchService;\r\n this._setupService();\r\n }\r\n\r\n constructor() {\r\n super();\r\n if (this._localData) {\r\n this._columnWidth$.next(this._localData.columnWidths);\r\n this._updateStateStorage('local', {\r\n columnWidths: this._localData.columnWidths,\r\n });\r\n }\r\n this.searchService?.totalRecords$.pipe(\r\n tap((records) => {\r\n this._totalRecords = records;\r\n })\r\n ).subscribe();\r\n this._setupSelection();\r\n }\r\n\r\n private gridKey = this.routerGridStateKey();\r\n private _isLegacy = sessionStorage.getItem(`${this.gridKey}isLegacy`)\r\n ? (JSON.parse(sessionStorage.getItem(`${this.gridKey}isLegacy`)) as boolean)\r\n : true;\r\n private _sessionData = JSON.parse(\r\n sessionStorage.getItem(`${this.gridKey}session`)\r\n );\r\n private _localData = JSON.parse(localStorage.getItem(`${this.gridKey}local`));\r\n private readonly _data$ = new BehaviorSubject([]);\r\n private readonly _reset$ = new Subject();\r\n private _initialSelection = this._sessionData?.selected;\r\n private _selection = new SelectionModel(true, this._initialSelection);\r\n private _columnToDisplay$ = new BehaviorSubject([]);\r\n private _sort$ = new BehaviorSubject({});\r\n private _searchService: SearchService | null = null;\r\n private _searchSubscriptions: Subscription;\r\n private _paginatorSubscriptions: Subscription;\r\n private _totalRecords: number;\r\n private _columnWidth$ = new BehaviorSubject({});\r\n private _paginator: DefaultPaginatorComponent | null;\r\n private _sessionStorageConfigs: BehaviorSubject =\r\n new BehaviorSubject({\r\n offset: 0,\r\n selected: [],\r\n });\r\n\r\n private _localStorageConfigs = new BehaviorSubject({\r\n columnWidths: {},\r\n pageSize: 0,\r\n sort: {},\r\n columnsToDisplay: [],\r\n });\r\n\r\n private routerGridStateKey() {\r\n return `${window.location.pathname.replace(/[/]/g, '_')}_`;\r\n }\r\n\r\n public updateColumnWidth(width: number, field: string) {\r\n this._columnWidth$.next({ ...this._columnWidth$.value, [field]: width });\r\n this._updateStateStorage('local', {\r\n columnWidths: { ...this._columnWidth$.value, [field]: width },\r\n });\r\n }\r\n\r\n public updateSort(sort: any, field: string) {\r\n const direction: 1 | -1 = sort?.direction === 'desc' ? -1 : 1;\r\n const newSort = { field, order: direction };\r\n\r\n if (\r\n this._sort$.value?.field === field &&\r\n this._sort$.value?.order === direction\r\n ) {\r\n this._sort$.next({});\r\n } else {\r\n this._sort$.next(newSort);\r\n }\r\n\r\n this._updateStateStorage('local', { sort: this._sort$.value });\r\n }\r\n\r\n public updateColumnToDisplay(columns: string[]) {\r\n this._columnToDisplay$.next(columns);\r\n this._updateStateStorage('local', {\r\n columnsToDisplay: columns.filter((a) => a !== 'select' && a !== 'fill'),\r\n });\r\n }\r\n\r\n public connect(): Observable {\r\n return this._data$;\r\n }\r\n\r\n public disconnect(): void {\r\n this._reset$.next(true);\r\n }\r\n\r\n private _updateStateStorage(\r\n storageType: StateStorage,\r\n state: { [key: string]: any }\r\n ) {\r\n const storageConfigs: any =\r\n storageType === 'local'\r\n ? this._localStorageConfigs\r\n : this._sessionStorageConfigs;\r\n Object.keys(state).forEach((key) =>\r\n storageConfigs.next({ ...storageConfigs.value, [key]: state[key] })\r\n );\r\n }\r\n\r\n private _setStateStorage(\r\n storageType: StateStorage,\r\n state: LocalStorageState | SessionStorageState\r\n ) {\r\n const key = this.gridKey + storageType;\r\n const storage = storageType === 'local' ? localStorage : sessionStorage;\r\n storage.setItem(key, JSON.stringify(state));\r\n }\r\n\r\n private _setupSelection() {\r\n this.selection.changed.subscribe(() => {\r\n this._updateStateStorage('session', {\r\n selected: this._selection.selected,\r\n });\r\n });\r\n if (this._sessionData && this._sessionData.selected.length > 0) {\r\n this._updateStateStorage('session', {\r\n selected: this._sessionData.selected,\r\n });\r\n }\r\n }\r\n\r\n private _setupService() {\r\n this._searchSubscriptions?.unsubscribe();\r\n\r\n const data$ = this._searchService.data$.pipe(\r\n tap((data) => this._data$.next(data as T[]))\r\n );\r\n\r\n const columnOrder$ = this._searchService.columns$.pipe(\r\n tap((columns) => {\r\n this._columnToDisplay$.next(\r\n this._localData?.columnsToDisplay.length > 0\r\n ? this._localData.columnsToDisplay\r\n : Object.entries(columns).reduce(\r\n (\r\n columnsToDisplay: ColumnToDisplayState,\r\n [key, column]: [string, ColumnConfig]\r\n ) =>\r\n column.isDefault\r\n ? [...columnsToDisplay, key]\r\n : [...columnsToDisplay],\r\n []\r\n )\r\n );\r\n\r\n if (!this._columnToDisplay$.value.includes('select')) {\r\n this._columnToDisplay$.value.unshift('select');\r\n }\r\n if (!this._columnToDisplay$.value.includes('fill')) {\r\n this._columnToDisplay$.value.push('fill');\r\n }\r\n this._columnToDisplay$.next(this._columnToDisplay$.value);\r\n\r\n this._updateStateStorage('local', {\r\n columnsToDisplay: this._columnToDisplay$.value.filter(\r\n (column) => column !== 'select' && column !== 'fill'\r\n ),\r\n sort: this._sort$.value,\r\n });\r\n })\r\n );\r\n\r\n const getSort$ = combineLatest([\r\n this._searchService.sort$,\r\n this._searchService.defaultSort$,\r\n ]).pipe(\r\n tap(([sort, defaultSort]) => this._sort$.next(sort || defaultSort))\r\n );\r\n\r\n const setSort$ = this._sort$.pipe(\r\n distinctUntilChanged(),\r\n tap((sort) => {\r\n // tslint:disable-next-line:no-unused-expression\r\n sort && this._searchService.sort$.next(sort);\r\n })\r\n );\r\n\r\n const setLocal = this._localStorageConfigs.pipe(\r\n tap((a) => this._setStateStorage('local', a))\r\n );\r\n\r\n this._searchSubscriptions = merge(\r\n data$,\r\n columnOrder$,\r\n getSort$,\r\n setSort$,\r\n setLocal\r\n )\r\n .pipe(takeUntil(this._reset$))\r\n .subscribe();\r\n }\r\n\r\n private _setupPaginator() {\r\n this._paginatorSubscriptions?.unsubscribe();\r\n if (this._localData) {\r\n this._searchService.paging$.value.limit = this._localData.pageSize;\r\n this._searchService.sort$.next(this._localData.sort);\r\n }\r\n if (this._sessionData) {\r\n this._searchService.paging$.value.offset = this._sessionData.offset;\r\n }\r\n const pageChange = this._paginator\r\n ? merge(this._paginator.page, this._paginator.initialized)\r\n : of(null);\r\n\r\n const totalRecords = this._searchService.totalRecords$.pipe(\r\n tap((records) => {\r\n this.totalRecords = records;\r\n this._paginator.length = this._totalRecords;\r\n })\r\n );\r\n const getPaginator = this._searchService.paging$.pipe(\r\n tap((page) => {\r\n if (this._isLegacy) {\r\n this._selection.clear();\r\n }\r\n this._updateStateStorage('local', { pageSize: page.limit });\r\n this._updateStateStorage('session', { offset: page.offset });\r\n this._paginator.pageIndex = page.offset / page.limit;\r\n this._paginator.pageSize = page.limit;\r\n })\r\n );\r\n const setPaginator = pageChange.pipe(\r\n tap((page: LuiTableDataSourcePageEvent) => {\r\n if (page) {\r\n this._searchService.paging$.next({\r\n limit: page.pageSize,\r\n offset: page.pageIndex * page.pageSize,\r\n });\r\n }\r\n })\r\n );\r\n const setSession = this._sessionStorageConfigs.pipe(\r\n tap((a) => {\r\n this._setStateStorage('session', a);\r\n })\r\n );\r\n const setLocal = this._localStorageConfigs.pipe(\r\n tap((a) => {\r\n this._setStateStorage('local', a);\r\n })\r\n );\r\n this._paginatorSubscriptions = merge(\r\n getPaginator,\r\n setPaginator,\r\n totalRecords,\r\n setLocal,\r\n setSession\r\n )\r\n .pipe(takeUntil(this._reset$))\r\n .subscribe();\r\n }\r\n\r\n public isAllSelected() {\r\n return this._searchService.data$.value.every((row) =>\r\n this.selection.isSelected(row.poNumber) ? true : false\r\n );\r\n }\r\n\r\n public toggleAllRows() {\r\n this.isAllSelected()\r\n ? this._searchService.data$.value.forEach((row) =>\r\n this.selection.deselect(row.poNumber)\r\n )\r\n : this._searchService.data$.value.forEach((row) =>\r\n this.selection.select(row.poNumber)\r\n );\r\n }\r\n\r\n public toggleLegacy() {\r\n this._isLegacy = !this._isLegacy;\r\n sessionStorage.setItem(\r\n `${this.gridKey}` + 'isLegacy',\r\n JSON.stringify(this._isLegacy)\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PageEvent, PageSizeOptions } from './default-paginator.ui';\r\n\r\n@Component({\r\n selector: 'lui-default-paginator',\r\n exportAs: 'luiDefaultPaginator',\r\n templateUrl: './default-paginator.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DefaultPaginatorComponent implements OnInit {\r\n @Input()\r\n get pageIndex(): number {\r\n return this._pageIndex;\r\n }\r\n set pageIndex(value: number) {\r\n this._pageIndex = Math.max(value, 0);\r\n }\r\n @Input()\r\n get length() {\r\n return this._length;\r\n }\r\n set length(n: number) {\r\n this._length = n;\r\n this.updatePageLinks();\r\n }\r\n\r\n @Input()\r\n get pageSize() {\r\n return this._pageSize;\r\n }\r\n\r\n set pageSize(n: number) {\r\n this._pageSize = n;\r\n }\r\n\r\n @Input()\r\n get pageSizeOptions() {\r\n return this._pageSizeOptions;\r\n }\r\n\r\n set pageSizeOptions(options: PageSizeOptions[]) {\r\n this._pageSizeOptions = options;\r\n }\r\n\r\n public pageLinks: number[] | undefined;\r\n private _length: number;\r\n private _pageSize: number;\r\n private _pageSizeOptions: PageSizeOptions[] = [\r\n {\r\n label: '25',\r\n value: 25,\r\n },\r\n {\r\n label: '50',\r\n value: 50,\r\n },\r\n {\r\n label: '75',\r\n value: 75,\r\n },\r\n {\r\n label: '100',\r\n value: 100,\r\n },\r\n ];\r\n public initialized: Observable;\r\n private _pageIndex = 0;\r\n\r\n @Output() public readonly page: EventEmitter =\r\n new EventEmitter();\r\n\r\n public ngOnInit(): void {\r\n this.initialized = new Observable((s) => {\r\n s.next();\r\n s.complete();\r\n });\r\n }\r\n\r\n public nextPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex + 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public previousPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex - 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public firstPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = 0;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public lastPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.getNumberOfPages() - 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public hasPreviousPage(): boolean {\r\n return this.pageIndex >= 1 && this.pageSize !== 0;\r\n }\r\n\r\n public hasNextPage(): boolean {\r\n const maxPageIndex = this.getNumberOfPages() - 1;\r\n return this.pageIndex < maxPageIndex && this.pageSize !== 0;\r\n }\r\n\r\n public _changePageSize(event: any) {\r\n this._pageSize = event;\r\n this._pageIndex = 0;\r\n if (this.hasNextPage()) {\r\n this._emitPageEvent();\r\n }\r\n }\r\n\r\n private _emitPageEvent(previousPageIndex?: number) {\r\n this.page.emit({\r\n previousPageIndex,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n length: this.length,\r\n });\r\n }\r\n\r\n public getNumberOfPages(): number {\r\n if (!this._pageSize || !this.length) {\r\n return 0;\r\n }\r\n return Math.ceil(this.length / this.pageSize);\r\n }\r\n\r\n public calculatePageLinkBoundaries() {\r\n const numberOfPages = this.getNumberOfPages();\r\n const visiblePages = Math.min(5, numberOfPages);\r\n // calculate range, keep current in middle if necessary\r\n let start = Math.max(0, Math.ceil(this._pageIndex - visiblePages / 2));\r\n const end = Math.min(numberOfPages - 1, start + visiblePages - 1);\r\n // check when approaching to last page\r\n const delta = 5 - (end - start + 1);\r\n start = Math.max(0, start - delta);\r\n\r\n return [start, end];\r\n }\r\n\r\n public updatePageLinks() {\r\n this.pageLinks = [];\r\n const boundaries = this.calculatePageLinkBoundaries();\r\n const start = boundaries[0];\r\n const end = boundaries[1];\r\n if (end === -1) {\r\n this.pageLinks.push(1);\r\n } else {\r\n for (let i = start; i <= end; i++) {\r\n this.pageLinks.push(i + 1);\r\n }\r\n }\r\n }\r\n\r\n public onPageLinkClick(event: Event, page: number) {\r\n this.pageIndex = page;\r\n this._emitPageEvent();\r\n event.preventDefault();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ButtonModule } from 'primeng-lts';\r\nimport {\r\n DefaultPaginatorComponent,\r\n} from './default-paginator.component';\r\n\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n@NgModule({\r\n declarations: [ DefaultPaginatorComponent],\r\n imports: [CommonModule, FormsModule, DropdownModule, ButtonModule, BrowserModule, BrowserAnimationsModule],\r\n exports: [ DefaultPaginatorComponent],\r\n})\r\nexport class DefaultPaginatorModule {}\r\n","import { ActionCreator, DispatchSchema } from '@lbmx/action-ui';\r\nimport { LoadingState } from '@lbmx/root-services';\r\n\r\nexport interface LSCState {\r\n showFilterButton: boolean;\r\n filtersApplied: boolean;\r\n showSimpleSearch: boolean;\r\n showToolbar: boolean;\r\n showResults: boolean;\r\n showResultsArea: boolean;\r\n showAdvancedSearch: boolean;\r\n status: LoadingState;\r\n toolbarStyles: object;\r\n}\r\n\r\nexport interface LSCActions {\r\n toggleShowSimpleSearch: ActionCreator;\r\n toggleAdvancedSearch: ActionCreator;\r\n setFiltersApplied: ActionCreator;\r\n}\r\n\r\nexport const lscSchema: DispatchSchema = {\r\n toggleShowSimpleSearch: {\r\n command: (_, state: LSCState) => {\r\n return { showSimpleSearch: !state.showSimpleSearch };\r\n },\r\n },\r\n toggleAdvancedSearch: {\r\n command: (_, state: LSCState) => {\r\n const _showAdvancedSearch = !state.showAdvancedSearch;\r\n const toolbarStyles = _showAdvancedSearch\r\n ? {\r\n toolbarStyles: {\r\n ...defaultLSCState.toolbarStyles,\r\n 'padding-left': '1em',\r\n },\r\n }\r\n : { toolbarStyles: defaultLSCState.toolbarStyles };\r\n\r\n return { showAdvancedSearch: _showAdvancedSearch, ...toolbarStyles };\r\n },\r\n },\r\n setFiltersApplied: {\r\n command: (filtersApplied, _: LSCState) => {\r\n return { filtersApplied };\r\n },\r\n },\r\n};\r\n\r\nexport const defaultLSCState: LSCState = {\r\n showFilterButton: true,\r\n filtersApplied: false,\r\n showSimpleSearch: true,\r\n showResults: true,\r\n showResultsArea: true,\r\n showToolbar: true,\r\n showAdvancedSearch: false,\r\n status: LoadingState.READY,\r\n toolbarStyles: {\r\n width: '100%',\r\n },\r\n};\r\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Action, ActionDispatcher, ActionUiService } from '@lbmx/action-ui';\r\n\r\nimport { SearchService } from '@lbmx/root-services';\r\n\r\nimport urlJoin from 'proper-url-join';\r\nimport { forkJoin, Subject } from 'rxjs';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nimport {\r\n defaultLSCState,\r\n LSCActions,\r\n lscSchema,\r\n LSCState,\r\n} from './leagacy-search-container.ui';\r\n\r\n@Component({\r\n selector: 'lui-legacy-search-container',\r\n templateUrl: './legacy-search-container.html',\r\n providers: [ActionUiService],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiLegacySearchContainer implements OnInit, OnDestroy {\r\n private _onDestroy: Subject = new Subject();\r\n public actions: ActionDispatcher =\r\n Action.createDispatcher(lscSchema);\r\n public state: LSCState;\r\n constructor(\r\n public actionUi: ActionUiService,\r\n private activatedRoute: ActivatedRoute,\r\n private configProvider: ConfigProvider,\r\n private searchService: SearchService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.actionUi.initialize(defaultLSCState, this.actions);\r\n const configuration = this.activatedRoute.data.pipe(\r\n tap(\r\n (data: {\r\n appSettingKeys: string[];\r\n path: string;\r\n [key: string]: any;\r\n }) => {\r\n const [appSettingKey, appSettingSubKey]: string[] =\r\n data?.appSettingKeys;\r\n this.searchService.url = urlJoin(\r\n this.configProvider.AppSetting[appSettingKey][appSettingSubKey],\r\n data?.path\r\n );\r\n }\r\n )\r\n );\r\n\r\n const _state = this.actionUi.state.pipe(\r\n tap((state) => (this.state = { ...state })),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n );\r\n\r\n const searchFilters = this.searchService.searchFilters$.asObservable().pipe(\r\n tap((filters: { [key: string]: any }) => {\r\n Object.keys(filters?.filters || {}).length > 0\r\n ? this.actions.setFiltersApplied.dispatch(true)\r\n : this.actions.setFiltersApplied.dispatch(false);\r\n })\r\n );\r\n\r\n forkJoin([configuration, _state, searchFilters])\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe();\r\n }\r\n\r\n public onToolbarButtonClick(value: string) {\r\n // todo\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.searchService.reset();\r\n this._onDestroy.next(true);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule } from 'primeng-lts';\r\nimport { AdvancedSearchModule } from '../advanced-search/module';\r\nimport { SimpleSearchModule } from '../simple-search/module';\r\nimport { ToolbarModule } from '../toolbar/module';\r\nimport { LuiLegacySearchContainer } from './legacy-search-container';\r\n\r\n@NgModule({\r\n declarations: [LuiLegacySearchContainer],\r\n imports: [\r\n CommonModule,\r\n AdvancedSearchModule,\r\n SimpleSearchModule,\r\n ToolbarModule,\r\n ButtonModule,\r\n TranslocoModule,\r\n PerFormPrimengModule,\r\n ],\r\n exports: [LuiLegacySearchContainer],\r\n})\r\nexport class LegacySearchContainerModule {}\r\n","import {\r\n AfterContentChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { PageEvent, PageSizeOptions } from './paginator.ui';\r\nconst DEFAULT_PAGE_SIZE = 25;\r\n\r\n@Component({\r\n selector: 'lui-paginator',\r\n exportAs: 'luiPaginator',\r\n templateUrl: './paginator.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class LuiPaginatorComponent implements OnInit, AfterContentChecked {\r\n private _length: number;\r\n private _pageSize: number;\r\n private _pageSizeOptions: PageSizeOptions[] = [\r\n {\r\n label: 25,\r\n value: 25,\r\n },\r\n {\r\n label: 50,\r\n value: 50,\r\n },\r\n {\r\n label: 75,\r\n value: 75,\r\n },\r\n {\r\n label: 100,\r\n value: 100,\r\n },\r\n ];\r\n public initialized: Observable;\r\n @Input()\r\n get pageIndex(): number {\r\n return this._pageIndex;\r\n }\r\n set pageIndex(value: number) {\r\n this._pageIndex = Math.max(value, 0);\r\n }\r\n private _pageIndex = 0;\r\n @Input()\r\n get length() {\r\n return this._length;\r\n }\r\n set length(n: number) {\r\n this._length = n;\r\n }\r\n\r\n @Input()\r\n get pageSize() {\r\n return this._pageSize;\r\n }\r\n set pageSize(n: number) {\r\n this._pageSize = n;\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n\r\n @Input()\r\n get pageSizeOptions() {\r\n return this._pageSizeOptions;\r\n }\r\n set pageSizeOptions(options: PageSizeOptions[]) {\r\n this._pageSizeOptions = options;\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n\r\n @Output() public readonly page: EventEmitter =\r\n new EventEmitter();\r\n\r\n constructor(private changeDetector: ChangeDetectorRef) {}\r\n\r\n public ngOnInit(): void {\r\n this._updateDisplayedPageSizeOptions();\r\n this.initialized = new Observable((s) => {\r\n s.next();\r\n s.complete();\r\n });\r\n }\r\n public ngAfterContentChecked(): void {\r\n this.changeDetector.detectChanges();\r\n }\r\n public nextPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex + 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public previousPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex - 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public firstPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = 0;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public lastPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.getNumberOfPages() - 1;\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n public hasPreviousPage(): boolean {\r\n return this.pageIndex >= 1 && this.pageSize !== 0;\r\n }\r\n\r\n public hasNextPage(): boolean {\r\n const maxPageIndex = this.getNumberOfPages() - 1;\r\n return this.pageIndex < maxPageIndex && this.pageSize !== 0;\r\n }\r\n\r\n public _changePageSize(event: any) {\r\n this._pageSize = event;\r\n this._pageIndex = 0;\r\n if (this.hasNextPage()) {\r\n this._emitPageEvent();\r\n }\r\n }\r\n private _emitPageEvent(previousPageIndex?: number) {\r\n this.page.emit({\r\n previousPageIndex,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n length: this.length,\r\n });\r\n }\r\n\r\n private _updateDisplayedPageSizeOptions() {\r\n if (!this._pageSize) {\r\n this._pageSize = DEFAULT_PAGE_SIZE;\r\n }\r\n }\r\n public getNumberOfPages(): number {\r\n if (!this._pageSize || !this.length) {\r\n return 0;\r\n }\r\n return Math.ceil(this.length / this.pageSize);\r\n }\r\n public getRangeLabel: (\r\n page: number,\r\n pageSize: number,\r\n length: number\r\n ) => string = (page: number, pageSize: number, length: number) => {\r\n if (\r\n length === 0 ||\r\n pageSize === 0 ||\r\n length === undefined ||\r\n pageSize === undefined\r\n ) {\r\n return `0 of 0`;\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex =\r\n this.pageIndex * this.pageSize < length\r\n ? this.pageIndex * this.pageSize\r\n : length - this.pageSize;\r\n\r\n const endIndex =\r\n startIndex < length\r\n ? Math.min(startIndex + pageSize, length)\r\n : startIndex + pageSize;\r\n\r\n if (this.pageIndex > 0) {\r\n const lastPageIndex = Math.ceil(length / pageSize) - 1 || 0;\r\n const newPageIndex = Math.min(page, lastPageIndex);\r\n\r\n if (newPageIndex !== page) {\r\n this.pageIndex = newPageIndex;\r\n this._emitPageEvent();\r\n }\r\n }\r\n\r\n return `${startIndex + 1} - ${endIndex} of ${length}`;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ButtonModule } from 'primeng-lts';\r\nimport {\r\n LuiPaginatorComponent,\r\n} from './paginator.component';\r\n\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n@NgModule({\r\n declarations: [ LuiPaginatorComponent],\r\n imports: [CommonModule, FormsModule, DropdownModule, ButtonModule, BrowserModule, BrowserAnimationsModule],\r\n exports: [ LuiPaginatorComponent],\r\n})\r\nexport class LuiPaginatorModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PerFormModule } from '@lbmx/per-form';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule } from 'primeng-lts';\r\nimport { LuiSimpleSearch } from './simple-search';\r\n\r\n@NgModule({\r\n declarations: [LuiSimpleSearch],\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n TranslocoModule,\r\n PerFormPrimengModule,\r\n PerFormModule,\r\n ],\r\n exports: [LuiSimpleSearch],\r\n})\r\nexport class SimpleSearchModule {}\r\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport {\r\n FieldsDefinition,\r\n Form,\r\n GenerateFormService,\r\n PerForm,\r\n} from '@lbmx/per-form';\r\nimport { SearchService } from '@lbmx/root-services';\r\n\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { formDefinition } from './simple-search.ui';\r\n\r\n@Component({\r\n selector: 'lui-simple-search',\r\n templateUrl: './simple-search.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiSimpleSearch implements OnInit, OnDestroy {\r\n private _shouldDestroy = new Subject();\r\n private queryParams = this.activatedRoute.queryParams.pipe(\r\n map((params) => params?.term || '')\r\n );\r\n public fields: FieldsDefinition
= {\r\n term: {\r\n type: 'text',\r\n label: '',\r\n defaultValue: '',\r\n componentProperties: {\r\n placeholder: 'Search',\r\n },\r\n required: false,\r\n },\r\n };\r\n public form: PerForm;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private formGenerator: GenerateFormService,\r\n private searchService: SearchService\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.queryParams\r\n .pipe(\r\n tap((term) => {\r\n this.form = this.formGenerator.init(formDefinition(this.fields), {\r\n term,\r\n });\r\n }),\r\n takeUntil(this._shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public handleClear() {\r\n this.form.patch(this.form.defaultValues);\r\n }\r\n\r\n public handleSearch() {\r\n // todo\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._shouldDestroy.next(true);\r\n }\r\n}\r\n","import { FieldsDefinition, Form, FormDefinition } from '@lbmx/per-form';\r\n\r\nexport const formDefinition = (\r\n fields: FieldsDefinition\r\n): FormDefinition => ({\r\n fields,\r\n});\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ActiveTabService {\r\n public activeTab: string;\r\n public activeIndex: number;\r\n\r\n public setActiveTab(tab: string, index: number) {\r\n this.activeTab = tab;\r\n this.activeIndex = index;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuiTab } from './tab';\r\nimport { LuiTabGroup } from './tab-group';\r\nimport { LuiTabHeader } from './tab-header';\r\n\r\n@NgModule({\r\n declarations: [LuiTab, LuiTabGroup, LuiTabHeader],\r\n imports: [CommonModule],\r\n exports: [LuiTab, LuiTabGroup, LuiTabHeader],\r\n})\r\nexport class TabModule {}\r\n","export enum ROLES {\r\n HEADING = 'heading',\r\n TAB = 'tab',\r\n TABLIST = 'tab-list',\r\n TABPANEL = 'tab-panel',\r\n}\r\n\r\nexport enum STATES {\r\n ACTIVE = 'active',\r\n INACTIVE = 'inactive',\r\n}\r\n\r\nexport const COMPONENT_NAMESPACE = 'tab-group';\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n QueryList,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { ActiveTabService } from './active-tab-service';\r\nimport { COMPONENT_NAMESPACE, ROLES } from './roles';\r\nimport { LuiTab } from './tab';\r\n\r\n@Component({\r\n selector: 'lui-tab-group',\r\n templateUrl: './tab-group.html',\r\n providers: [ActiveTabService],\r\n})\r\n\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiTabGroup implements AfterContentInit {\r\n @Input() public activeIndex = 0;\r\n\r\n @ContentChildren(LuiTab, { descendants: true })\r\n public children: QueryList;\r\n\r\n public tabs: string[] = [];\r\n public activeTab: number;\r\n public tabContent: TemplateRef;\r\n\r\n public namespace = COMPONENT_NAMESPACE;\r\n public panel = ROLES.TABPANEL;\r\n\r\n constructor(public activeTabSrv: ActiveTabService) {}\r\n\r\n public ngAfterContentInit(): void {\r\n this.activeTab = this.activeIndex;\r\n\r\n this.children.toArray().map((x) => {\r\n this.tabs.push(x.label);\r\n });\r\n\r\n this.activeTabSrv.activeTab =\r\n this.children.toArray()[this.activeIndex].label;\r\n\r\n this.activeTabSrv.activeIndex = this.activeIndex;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ActiveTabService } from './active-tab-service';\r\nimport { ROLES } from './roles';\r\n\r\n@Component({\r\n selector: 'lui-tab-header',\r\n templateUrl: './tab-header.html',\r\n})\r\n\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiTabHeader {\r\n public roleList = ROLES.TABLIST;\r\n public roleButton = ROLES.TAB;\r\n @Input() public buttonsToDisplay: string[];\r\n constructor(public activeTabSrv: ActiveTabService) {}\r\n}\r\n","import {\r\n Component,\r\n HostBinding,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ActiveTabService } from './active-tab-service';\r\nimport { ROLES } from './roles';\r\n\r\n@Component({\r\n selector: 'lui-tab',\r\n templateUrl: './tab.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiTab {\r\n public panel = ROLES.TABPANEL;\r\n @Input() public label: string;\r\n\r\n @HostBinding('hidden') get hidden() {\r\n return this.label !== this.activeTabSrv.activeTab;\r\n }\r\n\r\n public isActive = false;\r\n\r\n constructor(public activeTabSrv: ActiveTabService) {}\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ResizableDirective } from './resizable.directive';\r\nimport { LuiTableHeader } from './table-header';\r\n\r\n@NgModule({\r\n declarations: [LuiTableHeader, ResizableDirective],\r\n imports: [CommonModule, DragDropModule],\r\n exports: [LuiTableHeader],\r\n})\r\nexport class TableHeaderModule {}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, Inject, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport {\r\n distinctUntilChanged,\r\n map,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[resizable]',\r\n})\r\nexport class ResizableDirective {\r\n @Output()\r\n public readonly resizable = fromEvent(\r\n this.elementRef.nativeElement,\r\n 'mousedown'\r\n ).pipe(\r\n tap((e) => {\r\n e.preventDefault();\r\n this.elementRef.nativeElement.parentElement.parentElement.parentElement.parentElement.classList.add(\r\n 'resizing'\r\n );\r\n }),\r\n switchMap(() => {\r\n const { right, width } = this.elementRef.nativeElement\r\n .closest('.cell')\r\n .getBoundingClientRect();\r\n return fromEvent(this.documentRef, 'mousemove').pipe(\r\n map(({ clientX }) => width + clientX - right\r\n ),\r\n distinctUntilChanged(),\r\n takeUntil(fromEvent(this.documentRef, 'mouseup'))\r\n );\r\n })\r\n );\r\n constructor(\r\n @Inject(DOCUMENT) private readonly documentRef: Document,\r\n @Inject(ElementRef)\r\n private readonly elementRef: ElementRef\r\n ) {\r\n fromEvent(this.documentRef, 'mouseup')\r\n .pipe(\r\n tap(() => {\r\n this.elementRef.nativeElement.parentElement.parentElement.parentElement.parentElement.classList.remove(\r\n 'resizing'\r\n );\r\n })\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","export default \".lui-header-controls {\\n display: flex;\\n}\\n.lui-header-controls .top-control {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n width: 100%;\\n height: 0.25em;\\n opacity: 0;\\n transition: opacity 0.3s;\\n}\\n.lui-header-controls .top-control:hover, .lui-header-controls .top-control:active {\\n background-color: #525252;\\n opacity: 1;\\n cursor: pointer;\\n}\\n.lui-header-controls .bottom-control {\\n position: absolute;\\n bottom: 0px;\\n right: 0px;\\n width: 100%;\\n height: 0.25em;\\n opacity: 0;\\n transition: opacity 0.3s;\\n}\\n.lui-header-controls .bottom-control:hover, .lui-header-controls .bottom-control:active {\\n background-color: #525252;\\n opacity: 1;\\n cursor: pointer;\\n}\\n.lui-header-controls .resize {\\n width: 0.5em;\\n height: 100%;\\n opacity: 0;\\n transition: opacity 0.3s;\\n position: absolute;\\n top: 0px;\\n bottom: 0px;\\n right: 0px;\\n}\\n.lui-header-controls .resize:hover, .lui-header-controls .resize:active {\\n opacity: 1;\\n cursor: col-resize;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvbHVpLWxlZ2FjeS1jb21wb25lbnRzL3RhYmxlLWhlYWRlci9DOlxcQWdlbnRcXF93b3JrXFw2MFxccy9zcmNcXGFwcFxcZmVhdHVyZXNcXGx1aS1sZWdhY3ktY29tcG9uZW50c1xcdGFibGUtaGVhZGVyXFx0YWJsZS1oZWFkZXIuc2NzcyIsInNyYy9hcHAvZmVhdHVyZXMvbHVpLWxlZ2FjeS1jb21wb25lbnRzL3RhYmxlLWhlYWRlci90YWJsZS1oZWFkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7QUNDRjtBRENFO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsVUFBQTtFQUNBLHdCQUFBO0FDQ0o7QURBSTtFQUVFLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7QUNDTjtBREVFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsVUFBQTtFQUNBLHdCQUFBO0FDQUo7QURDSTtFQUVFLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7QUNBTjtBREdFO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esd0JBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBQ0RKO0FERUk7RUFFRSxVQUFBO0VBQ0Esa0JBQUE7QUNETiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2x1aS1sZWdhY3ktY29tcG9uZW50cy90YWJsZS1oZWFkZXIvdGFibGUtaGVhZGVyLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubHVpLWhlYWRlci1jb250cm9scyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLnRvcC1jb250cm9sIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwLjI1ZW07XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUyNTI1MjtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYm90dG9tLWNvbnRyb2wge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDAuMjVlbTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgIzUyNTI1MjtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAucmVzaXplIHtcclxuICAgIHdpZHRoOiAwLjVlbTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmx1aS1oZWFkZXItY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmx1aS1oZWFkZXItY29udHJvbHMgLnRvcC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC4yNWVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG4ubHVpLWhlYWRlci1jb250cm9scyAudG9wLWNvbnRyb2w6aG92ZXIsIC5sdWktaGVhZGVyLWNvbnRyb2xzIC50b3AtY29udHJvbDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1MjUyO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubHVpLWhlYWRlci1jb250cm9scyAuYm90dG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICByaWdodDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cbi5sdWktaGVhZGVyLWNvbnRyb2xzIC5ib3R0b20tY29udHJvbDpob3ZlciwgLmx1aS1oZWFkZXItY29udHJvbHMgLmJvdHRvbS1jb250cm9sOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MjUyNTI7XG4gIG9wYWNpdHk6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sdWktaGVhZGVyLWNvbnRyb2xzIC5yZXNpemUge1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBib3R0b206IDBweDtcbiAgcmlnaHQ6IDBweDtcbn1cbi5sdWktaGVhZGVyLWNvbnRyb2xzIC5yZXNpemU6aG92ZXIsIC5sdWktaGVhZGVyLWNvbnRyb2xzIC5yZXNpemU6YWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xufSJdfQ== */\";","import { CdkDragDrop, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ColumnConfig } from '@lbmx/root-services';\r\nimport { fromEvent } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\ninterface SortEvent {\r\n direction: 'asc' | 'desc';\r\n ctrlKey: boolean;\r\n}\r\n\r\n@Component({\r\n selector: '[luiTableHeader]',\r\n templateUrl: './table-header.html',\r\n styleUrls: ['./table-header.scss'],\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiTableHeader {\r\n @HostBinding('class.selected') get isSortColumnSorted() {\r\n return this.isSorted;\r\n }\r\n\r\n @Input('luiTableHeader') set columnConfig({\r\n isResizable,\r\n isSortable,\r\n }: ColumnConfig) {\r\n this.isResizable = isResizable ?? true;\r\n this.isSortable = isSortable ?? true;\r\n }\r\n\r\n @Input() public columnKey: string;\r\n @Input() public columnsToDisplay: string[];\r\n @Input() set colWidth(width: number) {\r\n this.width = width;\r\n }\r\n constructor(\r\n @Inject(DOCUMENT) private readonly documentRef: Document,\r\n public ele: ElementRef\r\n ) {\r\n fromEvent(this.documentRef, 'mouseup')\r\n .pipe(filter(() => !!this.width))\r\n .subscribe(() => {\r\n this.isResizing = false;\r\n this.widthChange.emit(this.width);\r\n });\r\n }\r\n\r\n @HostBinding('style.min-width.px')\r\n public width: number | null = null;\r\n\r\n @Input() public isSorted = false;\r\n @Output() public widthChange: EventEmitter =\r\n new EventEmitter();\r\n\r\n @Output() public sortChange: EventEmitter =\r\n new EventEmitter();\r\n @Output() public columnChange: EventEmitter = new EventEmitter<\r\n string[]\r\n >();\r\n public resizeElement = document.body.getElementsByClassName('resize-control');\r\n public topElement = document.body.getElementsByClassName('sort-asc');\r\n public bottomElement = document.body.getElementsByClassName('sort-desc');\r\n public isResizing = false;\r\n public isSortable = false;\r\n public isResizable = true;\r\n public onResize(width: number) {\r\n this.isResizing = true;\r\n this.width = width;\r\n }\r\n public sortColumn(event: KeyboardEvent, dir: 'asc' | 'desc') {\r\n const config: SortEvent = {\r\n ctrlKey: event.ctrlKey,\r\n direction: dir,\r\n };\r\n // tslint:disable-next-line:no-unused-expression\r\n this.isSortable && this.sortChange.emit(config);\r\n }\r\n public dragStart(event: CdkDragStart) {\r\n Array.from(this.resizeElement).forEach((ele) => {\r\n ele.classList.remove('resize');\r\n });\r\n Array.from(this.topElement).forEach((ele) => {\r\n ele.classList.remove('top-control');\r\n });\r\n Array.from(this.bottomElement).forEach((ele) => {\r\n ele.classList.remove('bottom-control');\r\n });\r\n }\r\n public dropped(event: CdkDragDrop) {\r\n Array.from(this.resizeElement).forEach((ele) => {\r\n ele.classList.add('resize');\r\n });\r\n Array.from(this.topElement).forEach((ele) => {\r\n ele.classList.add('top-control');\r\n });\r\n Array.from(this.bottomElement).forEach((ele) => {\r\n ele.classList.add('bottom-control');\r\n });\r\n let columns: string[] = [];\r\n if (event) {\r\n columns = event.container.data.slice(1, -1);\r\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\r\n columns.unshift('select');\r\n columns.push('fill');\r\n this.columnChange.emit(columns);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\nimport {\r\n CdkCell,\r\n CdkCellDef,\r\n CdkColumnDef,\r\n CdkFooterCell,\r\n CdkFooterCellDef,\r\n CdkHeaderCell,\r\n CdkHeaderCellDef,\r\n} from '@angular/cdk/table';\r\nimport { Directive, Input } from '@angular/core';\r\n\r\n/**\r\n * Cell definition for the lui-table.\r\n * Captures the template of a column's data row cell as well as cell-specific properties.\r\n */\r\n@Directive({\r\n selector: '[luiCellDef]',\r\n providers: [{ provide: CdkCellDef, useExisting: LuiCellDef }],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiCellDef extends CdkCellDef {}\r\n\r\n/**\r\n * Header cell definition for the lui-table.\r\n * Captures the template of a column's header cell and as well as cell-specific properties.\r\n */\r\n@Directive({\r\n selector: '[luiHeaderCellDef]',\r\n providers: [{ provide: CdkHeaderCellDef, useExisting: LuiHeaderCellDef }],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiHeaderCellDef extends CdkHeaderCellDef {}\r\n\r\n/**\r\n * Footer cell definition for the lui-table.\r\n * Captures the template of a column's footer cell and as well as cell-specific properties.\r\n */\r\n@Directive({\r\n selector: '[luiFooterCellDef]',\r\n providers: [{ provide: CdkFooterCellDef, useExisting: LuiFooterCellDef }],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiFooterCellDef extends CdkFooterCellDef {}\r\n\r\n/**\r\n * Column definition for the lui-table.\r\n * Defines a set of cells available for a table column.\r\n */\r\n@Directive({\r\n selector: '[luiColumnDef]',\r\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\r\n // tslint:disable-next-line:no-inputs-metadata-property\r\n inputs: ['sticky'],\r\n providers: [\r\n { provide: CdkColumnDef, useExisting: LuiColumnDef },\r\n { provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: LuiColumnDef },\r\n ],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiColumnDef extends CdkColumnDef {\r\n public _columnCssClassName: string[];\r\n public cssClassFriendlyName;\r\n public _name: string;\r\n /** Unique name for this column. */\r\n @Input('luiColumnDef')\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(name: string) {\r\n this._setNameInput(name);\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Add \"lui-column-\" prefix in addition to \"cdk-column-\" prefix.\r\n * In the future, this will only add \"lui-column-\" and columnCssClassName\r\n * will change from type string[] to string.\r\n * @docs-private\r\n */\r\n protected _updateColumnCssClassName() {\r\n this._columnCssClassName = [`cdk-column-${this.cssClassFriendlyName}`];\r\n // tslint:disable-next-line:no-non-null-assertion\r\n this._columnCssClassName!.push(`lui-column-${this.cssClassFriendlyName}`);\r\n }\r\n\r\n protected _setNameInput(value: string) {\r\n // If the directive is set without a name (updated programmatically), then this setter will\r\n // trigger with an empty string and should not overwrite the programmatically set value.\r\n if (value) {\r\n this._name = value;\r\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');\r\n this._updateColumnCssClassName();\r\n }\r\n }\r\n}\r\n\r\n/** Header cell template container that adds the right classes and role. */\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-header-cell, th[luiHeaderCell]',\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-header-cell cell ldc-data-table__header-cell ',\r\n role: 'columnheader',\r\n },\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiHeaderCell extends CdkHeaderCell {}\r\n\r\n/** Footer cell template container that adds the right classes and role. */\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-footer-cell, td[luiFooterCell]',\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-footer-cell cell ldc-data-table__cell',\r\n },\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiFooterCell extends CdkFooterCell {}\r\n\r\n/** Cell template container that adds the right classes and role. */\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'lui-cell, td[luiCell]',\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-cell ldc-data-table__cell',\r\n },\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiCell extends CdkCell {}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\n// import {LuiCommonModule} from '@angular/material/core';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { NgModule } from '@angular/core';\r\nimport {\r\n LuiCell,\r\n LuiCellDef,\r\n LuiColumnDef,\r\n LuiFooterCell,\r\n LuiFooterCellDef,\r\n LuiHeaderCell,\r\n LuiHeaderCellDef,\r\n} from './cell';\r\nimport {\r\n LuiFooterRow,\r\n LuiFooterRowDef,\r\n LuiHeaderRow,\r\n LuiHeaderRowDef,\r\n LuiRow,\r\n LuiRowDef,\r\n} from './row';\r\nimport { LuiRecycleRows, LuiTable } from './table';\r\nimport { LuiTextColumn } from './text-column';\r\n\r\nconst EXPORTED_DECLARATIONS = [\r\n // Table\r\n LuiTable,\r\n LuiRecycleRows,\r\n\r\n // Template defs\r\n LuiHeaderCellDef,\r\n LuiHeaderRowDef,\r\n LuiColumnDef,\r\n LuiCellDef,\r\n LuiRowDef,\r\n LuiFooterCellDef,\r\n LuiFooterRowDef,\r\n\r\n // Cell directives\r\n LuiHeaderCell,\r\n LuiCell,\r\n LuiFooterCell,\r\n\r\n // Row directives\r\n LuiHeaderRow,\r\n LuiRow,\r\n LuiFooterRow,\r\n\r\n LuiTextColumn,\r\n];\r\n\r\n@NgModule({\r\n imports: [CdkTableModule],\r\n declarations: EXPORTED_DECLARATIONS,\r\n exports: [EXPORTED_DECLARATIONS],\r\n})\r\nexport class LuiTableModule {}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\nimport {\r\n CDK_ROW_TEMPLATE,\r\n CdkFooterRow,\r\n CdkFooterRowDef,\r\n CdkHeaderRow,\r\n CdkHeaderRowDef,\r\n CdkRow,\r\n CdkRowDef,\r\n} from '@angular/cdk/table';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n/**\r\n * Header row definition for the lui-table.\r\n * Captures the header row's template and other header properties such as the columns to display.\r\n */\r\n@Directive({\r\n selector: '[luiHeaderRowDef]',\r\n providers: [{ provide: CdkHeaderRowDef, useExisting: LuiHeaderRowDef }],\r\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\r\n // tslint:disable-next-line:no-inputs-metadata-property\r\n inputs: ['columns: luiHeaderRowDef', 'sticky: luiHeaderRowDefSticky'],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiHeaderRowDef extends CdkHeaderRowDef {}\r\n\r\n/**\r\n * Footer row definition for the lui-table.\r\n * Captures the footer row's template and other footer properties such as the columns to display.\r\n */\r\n@Directive({\r\n selector: '[luiFooterRowDef]',\r\n providers: [{ provide: CdkFooterRowDef, useExisting: LuiFooterRowDef }],\r\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\r\n // tslint:disable-next-line:no-inputs-metadata-property\r\n inputs: ['columns: luiFooterRowDef', 'sticky: luiFooterRowDefSticky'],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiFooterRowDef extends CdkFooterRowDef {}\r\n\r\n/**\r\n * Data row definition for the lui-table.\r\n * Captures the data row's template and other properties such as the columns to display and\r\n * a when predicate that describes when this row should be used.\r\n */\r\n@Directive({\r\n selector: '[luiRowDef]',\r\n providers: [{ provide: CdkRowDef, useExisting: LuiRowDef }],\r\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\r\n // tslint:disable-next-line:no-inputs-metadata-property\r\n inputs: ['columns: luiRowDefColumns', 'when: luiRowDefWhen'],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiRowDef extends CdkRowDef {}\r\n\r\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\r\n@Component({\r\n selector: 'lui-header-row, tr[luiHeaderRow]',\r\n template: CDK_ROW_TEMPLATE,\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-header-row lui-data-table__header-row',\r\n role: 'row',\r\n },\r\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'luiHeaderRow',\r\n providers: [{ provide: CdkHeaderRow, useExisting: LuiHeaderRow }],\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class LuiHeaderRow extends CdkHeaderRow {}\r\n\r\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\r\n@Component({\r\n selector: 'lui-footer-row, tr[luiFooterRow]',\r\n template: CDK_ROW_TEMPLATE,\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-footer-row lui-data-table__row',\r\n role: 'row',\r\n },\r\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'luiFooterRow',\r\n providers: [{ provide: CdkFooterRow, useExisting: LuiFooterRow }],\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class LuiFooterRow extends CdkFooterRow {}\r\n\r\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\r\n@Component({\r\n selector: 'lui-row, tr[luiRow]',\r\n template: CDK_ROW_TEMPLATE,\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class: 'lui-row lui-data-table__row',\r\n role: 'row',\r\n },\r\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'luiRow',\r\n providers: [{ provide: CdkRow, useExisting: LuiRow }],\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class LuiRow extends CdkRow {}\r\n\r\n// /** Row that can be used to display a message when no data is shown in the table. */\r\n// @Directive({\r\n// selector: 'ng-template[luiNoDataRow]',\r\n// providers: [{ provide: CdkNoDataRow, useExisting: LuiNoDataRow }],\r\n// })\r\n// export class LuiNoDataRow extends CdkNoDataRow {\r\n// // override _contentClassName = 'lui-mdc-no-data-row';\r\n// }\r\n","import { CDK_TABLE_TEMPLATE, CdkTable } from '@angular/cdk/table';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'lui-table[recycleRows], table[luiTable][recycleRows]',\r\n providers: [],\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class LuiRecycleRows {}\r\n\r\n@Component({\r\n selector: 'lui-table, table[luiTable]',\r\n exportAs: 'luiTable',\r\n template: CDK_TABLE_TEMPLATE,\r\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\r\n // tslint:disable-next-line:no-host-metadata-property\r\n host: {\r\n class:\r\n 'lui-table ldc-data-table__table | leading-normal border-separate border-spacing-0',\r\n '[class.min-w-full]': '!fixedLayout',\r\n '[class.ldc-table-fixed-layout]': 'fixedLayout',\r\n },\r\n providers: [\r\n { provide: CdkTable, useExisting: LuiTable },\r\n // { provide: CDK_TABLE, useExisting: LuiTable },\r\n\r\n // Prevent nested tables from seeing this table's StickyPositioningListener.\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class LuiTable extends CdkTable {\r\n /** Overrides the sticky CSS class set by the `CdkTable`. */\r\n // override stickyCssClass = 'lui-mdc-table-sticky';\r\n}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\nimport { CdkTextColumn } from '@angular/cdk/table';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n/**\r\n * Column that simply shows text content for the header and row cells. Assumes that the table\r\n * is using the native table implementation (``).\r\n *\r\n * By default, the name of this column will be the header text and data property accessor.\r\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\r\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\r\n * input.\r\n */\r\n@Component({\r\n selector: 'lui-text-column',\r\n template: `\r\n \r\n \r\n \r\n \r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n // Change detection is intentionally not set to OnPush. This component's template will be provided\r\n // to the table to be inserted into its view. This is problematic when change detection runs since\r\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\r\n // mean's the template in the table's view will not have the updated value (and in fact will cause\r\n // an ExpressionChangedAfterItHasBeenCheckedError).\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class LuiTextColumn extends CdkTextColumn {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule, DialogModule, MenuModule } from 'primeng-lts';\r\nimport { LuiToolbar } from './toolbar';\r\n\r\n@NgModule({\r\n declarations: [LuiToolbar],\r\n imports: [CommonModule, DialogModule, MenuModule, ButtonModule, TranslocoModule],\r\n exports: [LuiToolbar],\r\n})\r\nexport class ToolbarModule {}\r\n","// tslint-disable\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SearchService } from '@lbmx/root-services';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'lui-toolbar',\r\n templateUrl: './toolbar.html',\r\n})\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiToolbar implements OnInit {\r\n @Input() public toolbarLabel = '';\r\n @Input() public controlId = '';\r\n @Output() public buttonClick: EventEmitter = new EventEmitter();\r\n\r\n public buttons = [];\r\n\r\n constructor(private searchService: SearchService) {}\r\n\r\n public ngOnInit(): void {\r\n this.searchService.toolbarButtons$\r\n .asObservable()\r\n .pipe(\r\n tap((toolbarButtons: any) => {\r\n this.buttons = Object.values(toolbarButtons);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n public onButtonClick(value: string) {\r\n this.buttonClick.emit(value);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxModule } from 'primeng';\r\nimport { LuiTreeModule } from '../tree/tree.module';\r\nimport { TreeComponent } from './tree.component';\r\n\r\n@NgModule({\r\n declarations: [TreeComponent],\r\n imports: [CommonModule, FormsModule, LuiTreeModule, CheckboxModule],\r\n exports: [TreeComponent],\r\n})\r\nexport class TreeAppModule {}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2x1aS1sZWdhY3ktY29tcG9uZW50cy90cmVlLWFwcC90cmVlLmNvbXBvbmVudC5zY3NzIn0= */\";","// import {FlatTreeControl} from '@angular/cdk/tree';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { Component, ViewEncapsulation } from '@angular/core';\r\nimport { openClose } from '../accordion/animations';\r\nimport {\r\n LuiTreeFlatDataSource,\r\n LuiTreeFlattener,\r\n} from '../tree/data-source/flat-data-source';\r\nimport { FlatNode, NestedNode, TREE_DATA } from './tree.ui';\r\n\r\n/**\r\n * @title Tree with flat nodes\r\n */\r\n@Component({\r\n selector: 'app-tree',\r\n templateUrl: 'tree.component.html',\r\n styleUrls: ['tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [openClose],\r\n})\r\nexport class TreeComponent {\r\n public treeValue: string[] = [];\r\n\r\n public treeControl = new FlatTreeControl(\r\n (node) => node.level,\r\n (node) => node.expandable\r\n );\r\n public _transformer = (node: NestedNode, level: number): FlatNode => {\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n value: node.value,\r\n isExpanded: false,\r\n isSelected: false,\r\n };\r\n // tslint:disable-next-line: semicolon\r\n };\r\n\r\n // tslint:disable-next-line: member-ordering\r\n public treeFlattener = new LuiTreeFlattener(\r\n this._transformer,\r\n (node) => node.level,\r\n (node) => node.expandable,\r\n (node) => node.children\r\n );\r\n\r\n // tslint:disable-next-line: member-ordering\r\n public dataSource = new LuiTreeFlatDataSource(\r\n this.treeControl,\r\n this.treeFlattener\r\n );\r\n\r\n constructor() {\r\n this.dataSource.data = TREE_DATA;\r\n }\r\n\r\n public hasChild = (_: number, node: FlatNode) => node.expandable;\r\n\r\n public shouldRender(node: FlatNode) {\r\n let parent = this.getParentNode(node);\r\n while (parent) {\r\n if (!parent.isExpanded) {\r\n return false;\r\n }\r\n parent = this.getParentNode(parent);\r\n }\r\n return true;\r\n }\r\n\r\n public getParentNode(node: FlatNode) {\r\n const nodeIndex = this.dataSource.flattenedData.indexOf(node);\r\n for (let i = nodeIndex - 1; i >= 0; i--) {\r\n if (this.dataSource.flattenedData[i].level === node.level - 1) {\r\n return this.dataSource.flattenedData[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public unselectParents(node: FlatNode) {\r\n let parent = this.getParentNode(node);\r\n while (parent) {\r\n parent.isSelected = false;\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n public unselectDescendent(node: FlatNode) {\r\n const dependents = this.treeControl.getDescendants(node);\r\n dependents.forEach((dependent) => (dependent.isSelected = false));\r\n }\r\n\r\n public selectDescendent(node: FlatNode) {\r\n const dependents = this.treeControl.getDescendants(node);\r\n dependents.forEach((dependent) => (dependent.isSelected = true));\r\n }\r\n\r\n public shouldParentBeSelected(node: FlatNode) {\r\n const parent = this.getParentNode(node);\r\n if (parent) {\r\n const dependents = this.treeControl.getDescendants(parent);\r\n let should = true;\r\n dependents.forEach((dependent) => {\r\n if (!dependent.isSelected) {\r\n should = false;\r\n }\r\n });\r\n parent.isSelected = should;\r\n // tslint:disable-next-line:no-unused-expression\r\n should && this.shouldParentBeSelected(parent);\r\n }\r\n }\r\n\r\n public parentNode(node: FlatNode) {\r\n node.isSelected = !node.isSelected;\r\n // tslint:disable-next-line:no-unused-expression\r\n !node.isSelected && this.unselectParents(node);\r\n // tslint:disable-next-line:no-unused-expression\r\n !node.isSelected && this.unselectDescendent(node);\r\n // tslint:disable-next-line:no-unused-expression\r\n node.isSelected && this.selectDescendent(node);\r\n // tslint:disable-next-line:no-unused-expression\r\n node.isSelected && this.shouldParentBeSelected(node);\r\n this.updateValue();\r\n }\r\n\r\n public childNode(node: FlatNode) {\r\n node.isSelected = !node.isSelected;\r\n // tslint:disable-next-line:no-unused-expression\r\n !node.isSelected && this.unselectParents(node);\r\n // tslint:disable-next-line:no-unused-expression\r\n node.isSelected && this.shouldParentBeSelected(node);\r\n this.updateValue();\r\n }\r\n\r\n public updateValue() {\r\n this.treeValue = this.dataSource.flattenedData.reduce(\r\n (values: any[], node: FlatNode) =>\r\n node.isSelected ? [...values, node.value] : [...values],\r\n []\r\n );\r\n }\r\n}\r\n","export interface NestedNode {\r\n name: string;\r\n value: any;\r\n children?: NestedNode[];\r\n}\r\n\r\nexport interface FlatNode {\r\n name: string;\r\n value: any;\r\n expandable: boolean;\r\n level: number;\r\n isExpanded: boolean;\r\n isSelected: boolean;\r\n}\r\n\r\nexport const TREE_DATA: NestedNode[] = [\r\n {\r\n name: 'Fruit',\r\n value: 'fruit',\r\n children: [\r\n {\r\n name: 'Apple',\r\n value: 'apple',\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Vegetables',\r\n value: 'vegetables',\r\n children: [\r\n {\r\n name: 'Green',\r\n value: 'green',\r\n children: [\r\n {\r\n name: 'Broccoli',\r\n value: 'broccoli',\r\n },\r\n {\r\n name: 'Brussels Sprouts',\r\n value: 'brusselsSprouts',\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Yellow',\r\n value: 'yellow',\r\n children: [\r\n {\r\n name: 'Yellow Beans',\r\n value: 'yellowbeans',\r\n },\r\n {\r\n name: 'Squash',\r\n value: 'squash',\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport const transformFunction = (\r\n node: NestedNode,\r\n level: number\r\n): FlatNode => {\r\n const { children, ...rest } = node;\r\n return {\r\n ...rest,\r\n level,\r\n expandable: children && children.length > 0,\r\n isExpanded: false,\r\n isSelected: false,\r\n };\r\n};\r\n\r\nexport const getLevel = ({ level }: FlatNode): number => level;\r\n\r\nexport const isExpandable = ({ expandable }: FlatNode): boolean => expandable;\r\n\r\nexport const getChildren = ({ children }: NestedNode): NestedNode[] => children;\r\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\r\nimport { FlatTreeControl, TreeControl } from '@angular/cdk/tree';\r\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\n\r\nexport class LuiTreeFlattener {\r\n constructor(\r\n public transformFunction: (node: T, level: number) => F,\r\n public getLevel: (node: F) => number,\r\n public isExpandable: (node: F) => boolean,\r\n public getChildren: (node: T) => Observable | T[] | undefined | null\r\n ) {}\r\n\r\n public _flattenNode(\r\n node: T,\r\n level: number,\r\n resultNodes: F[],\r\n parentMap: boolean[]\r\n ): F[] {\r\n const flatNode = this.transformFunction(node, level);\r\n resultNodes.push(flatNode);\r\n\r\n if (this.isExpandable(flatNode)) {\r\n const childrenNodes = this.getChildren(node);\r\n if (childrenNodes) {\r\n if (Array.isArray(childrenNodes)) {\r\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\r\n } else {\r\n childrenNodes.pipe(take(1)).subscribe((children) => {\r\n this._flattenChildren(children, level, resultNodes, parentMap);\r\n });\r\n }\r\n }\r\n }\r\n return resultNodes;\r\n }\r\n\r\n public _flattenChildren(\r\n children: T[],\r\n level: number,\r\n resultNodes: F[],\r\n parentMap: boolean[]\r\n ): void {\r\n children.forEach((child, index) => {\r\n const childParentMap: boolean[] = parentMap.slice();\r\n childParentMap.push(index !== children.length - 1);\r\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\r\n });\r\n }\r\n\r\n /**\r\n * Flatten a list of node type T to flattened version of node F.\r\n * Please note that type T may be nested, and the length of `structuredData` may be different\r\n * from that of returned list `F[]`.\r\n */\r\n public flattenNodes(structuredData: T[]): F[] {\r\n const resultNodes: F[] = [];\r\n structuredData.forEach((node) =>\r\n this._flattenNode(node, 0, resultNodes, [])\r\n );\r\n return resultNodes;\r\n }\r\n\r\n /**\r\n * Expand flattened node with current expansion status.\r\n * The returned list may have different length.\r\n */\r\n public expandFlattenedNodes(nodes: F[], treeControl: TreeControl): F[] {\r\n const results: F[] = [];\r\n const currentExpand: boolean[] = [];\r\n currentExpand[0] = true;\r\n\r\n nodes.forEach((node) => {\r\n let expand = true;\r\n for (let i = 0; i <= this.getLevel(node); i++) {\r\n expand = expand && currentExpand[i];\r\n }\r\n if (expand) {\r\n results.push(node);\r\n }\r\n if (this.isExpandable(node)) {\r\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\r\n }\r\n });\r\n return results;\r\n }\r\n}\r\n\r\n/**\r\n * Data source for flat tree.\r\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\r\n * to `MatTree`.\r\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\r\n * to type `F` for `MatTree` to consume.\r\n */\r\nexport class LuiTreeFlatDataSource extends DataSource {\r\n public _flattenedData = new BehaviorSubject([]);\r\n\r\n public _expandedData = new BehaviorSubject([]);\r\n\r\n public _data: BehaviorSubject;\r\n get data() {\r\n return this._data.value;\r\n }\r\n set data(value: T[]) {\r\n this._data.next(value);\r\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\r\n this._treeControl.dataNodes = this._flattenedData.value;\r\n }\r\n get flattenedData() {\r\n return this._flattenedData.value;\r\n }\r\n\r\n constructor(\r\n private _treeControl: FlatTreeControl,\r\n private _treeFlattener: LuiTreeFlattener,\r\n initialData: T[] = []\r\n ) {\r\n super();\r\n this._data = new BehaviorSubject(initialData);\r\n }\r\n\r\n public connect(collectionViewer: CollectionViewer): Observable {\r\n const changes = [\r\n collectionViewer.viewChange,\r\n this._treeControl.expansionModel.changed,\r\n this._flattenedData,\r\n ];\r\n return merge(...changes).pipe(\r\n map(() => {\r\n this._expandedData.next(\r\n this._treeFlattener.expandFlattenedNodes(\r\n this._flattenedData.value,\r\n this._treeControl\r\n )\r\n );\r\n return this._expandedData.value;\r\n })\r\n );\r\n }\r\n\r\n public disconnect() {\r\n // no op\r\n }\r\n}\r\n","import {\r\n CDK_TREE_NODE_OUTLET_NODE,\r\n CdkNestedTreeNode,\r\n CdkTree,\r\n CdkTreeNode,\r\n CdkTreeNodeDef,\r\n} from '@angular/cdk/tree';\r\nimport {\r\n AfterContentInit,\r\n Attribute,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n IterableDiffers,\r\n OnDestroy,\r\n TemplateRef,\r\n} from '@angular/core';\r\n\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n/**\r\n * Wrapper for the CdkTree node with Material design styles.\r\n */\r\n@Directive({\r\n selector: 'lui-tree-node',\r\n exportAs: 'luiTreeNode',\r\n providers: [{ provide: CdkTreeNode, useExisting: LuiTreeNode }],\r\n})\r\n\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiTreeNode extends CdkTreeNode {\r\n public static ngAcceptInputTypeDisabled: BooleanInput;\r\n public tabIndex: number;\r\n\r\n @Input() public role: 'treeitem' | 'group' = 'treeitem';\r\n\r\n @HostBinding('attr.aria-expanded') get expanded() {\r\n return this.isExpanded;\r\n }\r\n @HostBinding('attr.aria-level') get leveled() {\r\n return this.role === 'treeitem' ? this.level : null;\r\n }\r\n @HostBinding('attr.role') get attributeRole() {\r\n return 'node';\r\n }\r\n @HostBinding('class') get class() {\r\n return 'lui-tree-node';\r\n }\r\n\r\n @Input() public index: number;\r\n @Input() public disabled: boolean;\r\n\r\n constructor(\r\n protected _elementRef: ElementRef,\r\n protected _tree: CdkTree,\r\n @Attribute('tabindex') tabIndex: string\r\n ) {\r\n super(_elementRef, _tree);\r\n this.tabIndex = Number(tabIndex) || 0;\r\n }\r\n}\r\n\r\n/**\r\n * Wrapper for the CdkTree node definition with Material design styles.\r\n */\r\n@Directive({\r\n selector: '[luiTreeNodeDef]',\r\n // tslint:disable-next-line: no-inputs-metadata-property\r\n inputs: ['when: luiTreeNodeDefWhen'],\r\n providers: [{ provide: CdkTreeNodeDef, useExisting: LuiTreeNodeDef }],\r\n})\r\n\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiTreeNodeDef extends CdkTreeNodeDef {\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('luiTreeNode') public data: T;\r\n constructor(templateRef: TemplateRef) {\r\n super(templateRef);\r\n }\r\n}\r\n\r\n/**\r\n * Wrapper for the CdkTree nested node with Material design styles.\r\n */\r\n@Directive({\r\n selector: 'lui-nested-tree-node',\r\n exportAs: 'luiNestedTreeNode',\r\n providers: [\r\n { provide: CdkNestedTreeNode, useExisting: LuiNestedTreeNode },\r\n { provide: CdkTreeNode, useExisting: LuiNestedTreeNode },\r\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: LuiNestedTreeNode },\r\n ],\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiNestedTreeNode\r\n extends CdkNestedTreeNode\r\n implements AfterContentInit, OnDestroy\r\n{\r\n public static ngAcceptInputTypDdisabled: BooleanInput;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('luiNestedTreeNode') public node: T;\r\n\r\n /** Whether the node is disabled. */\r\n @Input()\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n set disabled(value: any) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n /** Tabindex for the node. */\r\n @Input()\r\n get tabIndex(): number {\r\n return this.disabled ? -1 : this._tabIndex;\r\n }\r\n set tabIndex(value: number) {\r\n // If the specified tabIndex value is null or undefined, fall back to the default value.\r\n this._tabIndex = value != null ? value : 0;\r\n }\r\n private _tabIndex: number;\r\n\r\n @HostBinding('attr.aria-expanded') get expanded() {\r\n return this.isExpanded;\r\n }\r\n @HostBinding('attr.role') get attributeRole() {\r\n return 'nested-node';\r\n }\r\n @HostBinding('class') get class() {\r\n return 'lui-nested-tree-node';\r\n }\r\n\r\n constructor(\r\n protected _elementRef: ElementRef,\r\n protected _tree: CdkTree,\r\n protected _differs: IterableDiffers,\r\n @Attribute('tabindex') tabIndex: string\r\n ) {\r\n super(_elementRef, _tree, _differs);\r\n this.tabIndex = Number(tabIndex) || 0;\r\n }\r\n\r\n // This is a workaround for https://github.com/angular/angular/issues/23091\r\n // In aot mode, the lifecycle hooks from parent class are not called.\r\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\r\n public ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n }\r\n\r\n public ngOnDestroy() {\r\n super.ngOnDestroy();\r\n }\r\n}\r\n","import {\r\n CDK_TREE_NODE_OUTLET_NODE,\r\n CdkTreeNodeOutlet,\r\n} from '@angular/cdk/tree';\r\nimport { Directive, Inject, Optional, ViewContainerRef } from '@angular/core';\r\n\r\n/**\r\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\r\n * inside the outlet.\r\n */\r\n@Directive({\r\n selector: '[luiTreeNodeOutlet]',\r\n providers: [\r\n {\r\n provide: CdkTreeNodeOutlet,\r\n useExisting: LuiTreeNodeOutlet,\r\n },\r\n ],\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiTreeNodeOutlet implements CdkTreeNodeOutlet {\r\n constructor(\r\n public viewContainer: ViewContainerRef,\r\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any\r\n ) {}\r\n}\r\n","import { Directionality } from '@angular/cdk/bidi';\r\nimport { CdkTree, CdkTreeNode, CdkTreeNodePadding } from '@angular/cdk/tree';\r\nimport { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\n\r\n/**\r\n * Wrapper for the CdkTree padding with Material design styles.\r\n */\r\n@Directive({\r\n selector: '[luiTreeNodePadding]',\r\n providers: [{ provide: CdkTreeNodePadding, useExisting: LuiTreeNodePadding }],\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiTreeNodePadding extends CdkTreeNodePadding {\r\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\r\n @Input('luiTreeNodePadding')\r\n public set level(value: number) {\r\n super.level = value;\r\n }\r\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\r\n @Input('luiTreeNodePaddingIndent') public set indent(value: number) {\r\n super.indent = value;\r\n }\r\n constructor(\r\n treeNode: CdkTreeNode,\r\n tree: CdkTree,\r\n renderer: Renderer2,\r\n element: ElementRef,\r\n dir: Directionality\r\n ) {\r\n super(treeNode, tree, renderer, element, dir);\r\n }\r\n}\r\n","import { CdkTree, CdkTreeNode, CdkTreeNodeToggle } from '@angular/cdk/tree';\r\nimport { Directive, Input } from '@angular/core';\r\n\r\n/**\r\n * Wrapper for the CdkTree's toggle with Material design styles.\r\n */\r\n@Directive({\r\n selector: '[luiTreeNodeToggle]',\r\n providers: [{ provide: CdkTreeNodeToggle, useExisting: LuiTreeNodeToggle }],\r\n})\r\n// tslint:disable-next-line: directive-class-suffix\r\nexport class LuiTreeNodeToggle extends CdkTreeNodeToggle {\r\n @Input('matTreeNodeToggleRecursive') public set recursive(value: boolean) {\r\n super.recursive = value;\r\n }\r\n constructor(tree: CdkTree, node: CdkTreeNode) {\r\n super(tree, node);\r\n }\r\n}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuiNestedTreeNode, LuiTreeNode, LuiTreeNodeDef } from './node';\r\nimport { LuiTreeNodeOutlet } from './outlet';\r\nimport { LuiTreeNodePadding } from './padding';\r\nimport { LuiTreeNodeToggle } from './toggle';\r\nimport { LuiTree } from './tree';\r\n\r\nconst EXPORTED_DECLARATIONS = [\r\n LuiTreeNodeDef,\r\n LuiTreeNodePadding,\r\n LuiTreeNodeToggle,\r\n LuiTree,\r\n LuiTreeNode,\r\n LuiNestedTreeNode,\r\n LuiTreeNodeOutlet,\r\n];\r\n\r\n@NgModule({\r\n exports: EXPORTED_DECLARATIONS,\r\n declarations: EXPORTED_DECLARATIONS,\r\n providers: [FocusMonitor, LuiTreeNodeDef],\r\n})\r\nexport class LuiTreeModule {}\r\n","import { CdkTree } from '@angular/cdk/tree';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n IterableDiffers,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LuiTreeNodeOutlet } from './outlet';\r\n\r\n/**\r\n * Wrapper for the CdkTable with Material design styles.\r\n */\r\n@Component({\r\n selector: 'lui-tree',\r\n exportAs: 'luiTree',\r\n template: ``,\r\n encapsulation: ViewEncapsulation.None,\r\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n providers: [{ provide: CdkTree, useExisting: LuiTree }],\r\n})\r\n\r\n// tslint:disable-next-line: component-class-suffix\r\nexport class LuiTree extends CdkTree {\r\n @HostBinding('attr.role') public get attributeRole() {\r\n return 'tree';\r\n }\r\n @HostBinding('class') public get class() {\r\n return 'lui-tree';\r\n }\r\n // Outlets within the tree's template where the dataNodes will be inserted.\r\n @ViewChild(LuiTreeNodeOutlet, { static: true })\r\n public _nodeOutlet: LuiTreeNodeOutlet;\r\n constructor(iter: IterableDiffers, changeDetectorRef: ChangeDetectorRef) {\r\n super(iter, changeDetectorRef);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL2x1aS1sZWdhY3ktY29tcG9uZW50cy93aXphcmQtcG9wdXAvd2l6YXJkLXBvcHVwLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnDestroy } from '@angular/core';\r\nimport { TemplateTypes } from '@lbmx/per-form-primeng';\r\nimport { PopupService } from '@lbmx/root-services';\r\nimport { Request } from '@lbmx/web-core';\r\nimport { BehaviorSubject, merge, Subject } from 'rxjs';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-wizard-popup',\r\n templateUrl: './wizard-popup.component.html',\r\n styleUrls: ['./wizard-popup.component.scss'],\r\n})\r\nexport class WizardPopupComponent implements OnDestroy {\r\n public baseUrl = this.configProvider.AppSetting.uriBase.apiBaseUrl;\r\n public config$ = new BehaviorSubject(null);\r\n public templateTypes = TemplateTypes;\r\n\r\n private _onDestroy = new Subject();\r\n private _config = this.popupService.wizardConfig$.pipe(\r\n tap((request) => this.config$.next(request))\r\n );\r\n private _close = this.popupService.cancel$.pipe(tap(() => this.reset()));\r\n\r\n constructor(\r\n public popupService: PopupService,\r\n private configProvider: ConfigProvider\r\n ) {\r\n merge(this._config, this._close)\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._onDestroy.next();\r\n }\r\n\r\n public reset(): void {\r\n this.config$.next(null);\r\n this.popupService.reset();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport {\r\n LuiWidgetWrapperModule,\r\n LuiWizardV3Module,\r\n} from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule, DialogModule } from 'primeng-lts';\r\nimport { WizardPopupComponent } from './wizard-popup.component';\r\n\r\n@NgModule({\r\n declarations: [WizardPopupComponent],\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n LuiWizardV3Module,\r\n LuiWidgetWrapperModule,\r\n TranslocoModule,\r\n ButtonModule,\r\n ],\r\n exports: [WizardPopupComponent],\r\n})\r\nexport class WizardPopupModule {}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3B1YmxpYy9sb2dpbi9sb2dpbi5jb21wb25lbnQuc2NzcyJ9 */\";","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Subscription } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\nimport { selectors } from '@lbmx/app-state';\r\nimport {\r\n AuthenticateService,\r\n UserAuthRequest,\r\n VerifyAuthRequest,\r\n} from '@lbmx/phoenix-lib-auth';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport { BaseHttpService } from '@lbmx/root-services';\r\nimport { UserState } from '@lbmx/types';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-user-login-component',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy, AfterViewInit {\r\n //#region Properties\r\n private navigateToUrl: string;\r\n private showReAuthMessage: boolean;\r\n private initialRememberMeState: boolean;\r\n private rememberMe: boolean;\r\n private rememberDevice: boolean;\r\n private verifyCode: string;\r\n public authorizationMessage = {};\r\n public isDisplayingAuthorization = false;\r\n public isCredentialInvalid = false; // used in the html component\r\n public unknownError = false; // used in the html component\r\n public subscription: Subscription;\r\n public message = {\r\n badRequest: () =>\r\n this.translocoService.translate('GROUP.FAILURE_TOAST_MESSAGE'),\r\n };\r\n @ViewChild('username') public usernameRef: ElementRef;\r\n\r\n public marketingUrl: SafeResourceUrl;\r\n public showAdCampaign = false;\r\n\r\n public loginForm: FormGroup = this.formBuilder.group({\r\n username: [\r\n '',\r\n [Validators.required, Validators.email, Validators.maxLength(100)],\r\n ],\r\n password: ['', [Validators.required]],\r\n checked: [''],\r\n });\r\n public subscriptions: Subscription[] = [];\r\n\r\n //#endregion\r\n constructor(\r\n private authSrv: AuthenticateService,\r\n private spinnerSrv: SpinnerService,\r\n private translocoService: TranslocoService,\r\n private formBuilder: FormBuilder,\r\n private configProvider: ConfigProvider,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private store: Store,\r\n private toastrService: ToastrNotificationService,\r\n private http: BaseHttpService,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n public ngAfterViewInit(): void {\r\n if (this.usernameRef && this.usernameRef.nativeElement) {\r\n this.usernameRef.nativeElement.focus();\r\n }\r\n }\r\n\r\n public async ngOnInit() {\r\n this.http.baseUrl =\r\n this.configProvider.AppSetting.uriConfiguration.configurationRootURL;\r\n this.http\r\n .fetch<{ errorCode: number; record?: string }>({\r\n endpoint: '/marketing',\r\n httpMethod: 'GET',\r\n })\r\n .pipe(\r\n tap((res) => {\r\n const marketingUrl = res.record;\r\n\r\n if (typeof marketingUrl === 'string' && marketingUrl.length > 0) {\r\n this.showAdCampaign = true;\r\n this.marketingUrl =\r\n this.sanitizer.bypassSecurityTrustResourceUrl(marketingUrl);\r\n }\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.navigateToUrl =\r\n this.route.snapshot.queryParams['nextUrl'] || '/default';\r\n this.showReAuthMessage = this.route.snapshot.queryParams['reAuth'] || false;\r\n\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(\r\n select(selectors.userFeature),\r\n map((userState: UserState) => {\r\n if (\r\n new Date(userState.tokenExpires) > new Date() &&\r\n userState.profile.toolKeys.length > 0\r\n ) {\r\n this.router.navigate([this.navigateToUrl]);\r\n }\r\n })\r\n )\r\n .subscribe()\r\n );\r\n\r\n const cookieStatus = await this.authSrv.getCookieRememberMe().toPromise();\r\n\r\n this.rememberMe = cookieStatus.rememberMeStatus;\r\n\r\n if (this.rememberMe) {\r\n this.loginForm.controls['checked'].setValue(true);\r\n\r\n const cookieUser = await this.authSrv.getCookieUserName().toPromise();\r\n this.loginForm.controls['username'].setValue(cookieUser.userName);\r\n }\r\n\r\n if (this.rememberMe == null) {\r\n this.rememberMe =\r\n this.loginForm.value['checked'].value === null\r\n ? false\r\n : this.loginForm.value['checked'];\r\n }\r\n this.initialRememberMeState = this.rememberMe;\r\n this.spinnerSrv.off();\r\n this.subscription = this.loginForm\r\n .get('password')\r\n .valueChanges.subscribe((password) => {\r\n if (password !== this.loginForm.value.password) {\r\n this.isCredentialInvalid = false;\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.subscriptions.forEach((sub) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n //#region Methods\r\n public verify(data: any) {\r\n this.verifyCode = data.code;\r\n this.rememberDevice = data.rememberDevice;\r\n this.spinnerSrv.on();\r\n this.authSrv.verify(\r\n this.buildVerificationRequest(),\r\n this.configProvider.AppSetting,\r\n () => {\r\n this.router.navigate([this.navigateToUrl]);\r\n this.spinnerSrv.off();\r\n },\r\n (err) => {\r\n if (err.error && err.status === 401) {\r\n this.authorizationMessage = {\r\n status: false,\r\n message:\r\n this.translocoService.translate('COMMON.INVALID_OTP') || '',\r\n };\r\n } else {\r\n this.authorizationMessage = {\r\n status: false,\r\n message:\r\n this.translocoService.translate('COMMON.UNKNOWN_ERROR') || '',\r\n };\r\n }\r\n this.spinnerSrv.off();\r\n }\r\n );\r\n }\r\n\r\n public authenticate(): void {\r\n this.spinnerSrv.on();\r\n this.authSrv.authenticate(\r\n this.buildLoginRequest(),\r\n this.configProvider.AppSetting,\r\n () => {\r\n this.router.navigate([this.navigateToUrl]);\r\n this.spinnerSrv.off();\r\n },\r\n (err) => {\r\n if (err.status === 401) {\r\n this.isCredentialInvalid = true;\r\n this.spinnerSrv.off();\r\n } else {\r\n this.toastrService.errorNotify(this.message.badRequest());\r\n this.spinnerSrv.off();\r\n }\r\n },\r\n () => {\r\n this.spinnerSrv.off();\r\n this.isDisplayingAuthorization = true;\r\n }\r\n );\r\n }\r\n\r\n public toggleAuthorization(event: Event) {\r\n this.authorizationMessage = {};\r\n this.isDisplayingAuthorization = !this.isDisplayingAuthorization;\r\n }\r\n\r\n public checkBoxStatus(): void {\r\n this.rememberMe = this.loginForm.value['checked'];\r\n }\r\n\r\n //#region Helpers\r\n\r\n private buildLoginRequest(): UserAuthRequest {\r\n const request: UserAuthRequest = new UserAuthRequest();\r\n request.username = this.loginForm.value['username'].trim();\r\n request.password = this.loginForm.value['password'].trim();\r\n request.rememberMe = this.rememberMe;\r\n\r\n return request;\r\n }\r\n\r\n private buildVerificationRequest(): VerifyAuthRequest {\r\n const verifyRequest: VerifyAuthRequest = new VerifyAuthRequest();\r\n verifyRequest.username = this.loginForm.value['username'].trim();\r\n verifyRequest.password = this.loginForm.value['password'].trim();\r\n verifyRequest.OTP = this.verifyCode.trim();\r\n verifyRequest.rememberDevice = this.rememberDevice;\r\n return verifyRequest;\r\n }\r\n //#endregion\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3B1YmxpYy9sb2dvdXQvbG9nb3V0LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticateService } from '@lbmx/phoenix-lib-auth';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss'],\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n constructor(\r\n private configProvider: ConfigProvider,\r\n private authSrv: AuthenticateService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.authSrv.logOut(this.configProvider.AppSetting);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3B1YmxpYy9yZWNvdmVyLXBhc3N3b3JkL3JlY292ZXItcGFzc3dvcmQuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { PasswordResetService } from 'src/app/services/resetPassword/passwordReset.service';\r\n\r\n@Component({\r\n selector: 'app-recover-password-component',\r\n templateUrl: './recover-password.component.html',\r\n styleUrls: ['./recover-password.component.scss'],\r\n})\r\nexport class RecoverPasswordComponent implements OnInit {\r\n //#region Properties\r\n\r\n public recoverPasswordForm: FormGroup = this.formBuilder.group({\r\n username: [\r\n '',\r\n [Validators.required, Validators.email, Validators.maxLength(100)],\r\n ],\r\n });\r\n\r\n public displayInstructions = false;\r\n\r\n //#endregion\r\n\r\n constructor(\r\n private resetPswdSrv: PasswordResetService,\r\n private formBuilder: FormBuilder\r\n ) {}\r\n\r\n public ngOnInit() {\r\n /** empty block */\r\n }\r\n\r\n //#region Methods\r\n\r\n public sendEmail(): void {\r\n this.resetPswdSrv.getPasswordRecovery(\r\n this.recoverPasswordForm.value['username']\r\n );\r\n this.displayInstructions = true;\r\n }\r\n\r\n //#endregion\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3B1YmxpYy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQuc2NzcyJ9 */\";","import {\r\n AfterViewChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormGroup,\r\n ValidatorFn,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { map, take, tap } from 'rxjs/operators';\r\n\r\nimport {\r\n DateFormat,\r\n Languages,\r\n TimeZones,\r\n} from '@lbmx/administration/lib/dtos/updateuser.dto';\r\nimport { IAccount } from '@lbmx/marketplace-partners/lib/models/account.models';\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n ValidationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport * as i18nIsoCountries from 'i18n-iso-countries';\r\nimport { CountryCode, parsePhoneNumber } from 'libphonenumber-js';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n IConfigCountry,\r\n RegistrationToken,\r\n UpdateUserRequest,\r\n} from 'src/app/dtos/registration/registration.dto';\r\nimport { RegistrationService } from 'src/app/services/registration/registration.service';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss'],\r\n})\r\nexport class RegisterComponent implements OnInit, AfterViewChecked, OnDestroy {\r\n public validToken = false;\r\n public isRegistered = false;\r\n public passwordMatch = true;\r\n public isDefault = true;\r\n public userKey = 0;\r\n public FirstName;\r\n public LastName;\r\n public accountKey: number;\r\n public passwordEmpty = true;\r\n public defaultCountryCode = 'CAN';\r\n public countries = [];\r\n public phoneExtension = {\r\n phoneExtension: () => 'Extension must be digits (maximum of 10 digits)',\r\n };\r\n public languageTypes: Languages[] = [];\r\n public timeZoneTypes: TimeZones[];\r\n public dateFormatTypes: DateFormat[] = [];\r\n public subscriptions: Subscription[] = [];\r\n public message = {\r\n confirmPassword: () =>\r\n this.translocoService.translate('COMMON.PASSWORD_MUST_MATCH'),\r\n badRequest: () =>\r\n this.translocoService.translate('GROUP.FAILURE_TOAST_MESSAGE'),\r\n };\r\n\r\n public registrationForm: FormGroup = this.formBuilder.group(\r\n {\r\n FirstName: ['', [Validators.required]],\r\n LastName: ['', [Validators.required]],\r\n UserName: ['', [Validators.required]],\r\n Password: [\r\n '',\r\n Validators.compose([\r\n Validators.required,\r\n this.validationService.patternValidator('number'),\r\n this.validationService.patternValidator('upperCase'),\r\n this.validationService.patternValidator('lowerCase'),\r\n this.validationService.specialCharacterValidator(),\r\n this.validationService.minimumLength(8),\r\n ]),\r\n ],\r\n ConfirmPassword: ['', [Validators.required]],\r\n Language: ['', [Validators.required]],\r\n TimeZone: ['', [Validators.required]],\r\n DateFormat: ['', [Validators.required]],\r\n },\r\n {\r\n validators: this.validationService.MustMatch(\r\n 'Password',\r\n 'ConfirmPassword'\r\n ),\r\n }\r\n );\r\n\r\n public phoneForm = this.formBuilder.group(\r\n {\r\n PhoneCountry: [''],\r\n PhoneExtension: [\r\n '',\r\n Validators.compose([\r\n Validators.pattern('^[0-9]*$'),\r\n Validators.maxLength(10),\r\n ]),\r\n ],\r\n Phone: [\r\n '',\r\n Validators.compose([\r\n Validators.required,\r\n this.validatePhoneNumber(parsePhoneNumber),\r\n ]),\r\n ],\r\n },\r\n {\r\n validators: this.validatePhoneForm('Phone', 'PhoneExtension'),\r\n }\r\n );\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private spinnerSrv: SpinnerService,\r\n private registrationSrv: RegistrationService,\r\n private loggerSrv: LoggerService,\r\n private validationService: ValidationService,\r\n private changeDetector: ChangeDetectorRef,\r\n private translocoService: TranslocoService,\r\n private toastrService: ToastrNotificationService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.spinnerSrv.on();\r\n this.getCountries();\r\n this.validateToken();\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n public ngAfterViewChecked() {\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n public validateToken(): void {\r\n this.defaultCountryCode = 'CAN';\r\n this.phoneForm.controls.PhoneCountry.setValue(\r\n i18nIsoCountries.alpha3ToAlpha2(this.defaultCountryCode || 'CAN')\r\n );\r\n this.subscriptions.push(\r\n this.registrationSrv\r\n .validateRegistrationLink(this.buildValidateTokenRequest())\r\n .pipe(take(1))\r\n .subscribe(\r\n async (res) => {\r\n if (res !== null) {\r\n this.loggerSrv.info(\r\n 'registerTokenResponse',\r\n 'RegistrationService.validateRegistrationLink',\r\n JSON.stringify(res)\r\n );\r\n this.defaultCountryCode = res.accountCountry;\r\n this.phoneForm.controls.PhoneCountry.setValue(\r\n i18nIsoCountries.alpha3ToAlpha2(\r\n this.defaultCountryCode || 'CAN'\r\n )\r\n );\r\n this.userKey = res.userInfo.userKey;\r\n this.registrationForm.controls.UserName.setValue(\r\n res.userInfo.userName\r\n );\r\n this.registrationForm.controls.FirstName.setValue(\r\n res.userInfo.firstName\r\n );\r\n this.registrationForm.controls.LastName.setValue(\r\n res.userInfo.lastName\r\n );\r\n this.accountKey = Number(res.userInfo.accountKey);\r\n this.languageTypes = res.languageTypes;\r\n this.timeZoneTypes = res.timezoneTypes;\r\n this.dateFormatTypes = res.dateTypes;\r\n this.validToken = true;\r\n }\r\n },\r\n (err) => {\r\n this.loggerSrv.error(\r\n 'Error register token',\r\n 'RegistrationService.validateRegistrationLink',\r\n err\r\n );\r\n this.validToken = false;\r\n this.isDefault = false;\r\n }\r\n )\r\n .add(() => {\r\n this.spinnerSrv.off();\r\n })\r\n );\r\n }\r\n\r\n private getCountries() {\r\n this.subscriptions.push(\r\n this.registrationSrv\r\n .getCountries()\r\n .pipe(\r\n map((countries: IConfigCountry[]) =>\r\n countries?.map((country) => {\r\n return {\r\n label: `${\r\n country?.countryName\r\n } (${i18nIsoCountries.alpha3ToAlpha2(country?.countryCode)})`,\r\n value: i18nIsoCountries.alpha3ToAlpha2(country?.countryCode),\r\n };\r\n })\r\n ),\r\n tap((countries) => (this.countries = countries))\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public submit(): void {\r\n this.spinnerSrv.on();\r\n if (\r\n this.registrationForm.value['Password'] ===\r\n this.registrationForm.value['ConfirmPassword']\r\n ) {\r\n this.subscriptions.push(\r\n this.registrationSrv\r\n .registerUser(this.buildRegisterUserRequest())\r\n .subscribe(\r\n (res) => {\r\n this.isRegistered = true;\r\n this.loggerSrv.error(\r\n 'Registration Success',\r\n 'RegistrationService.registerUserProfile',\r\n res\r\n );\r\n },\r\n (err) => {\r\n this.toastrService.errorNotify(this.message.badRequest());\r\n this.loggerSrv.error(\r\n 'Failed to register user',\r\n 'RegistrationService.RegisterUser',\r\n err\r\n );\r\n }\r\n )\r\n .add(() => {\r\n this.spinnerSrv.off();\r\n })\r\n );\r\n } else {\r\n this.passwordMatch = false;\r\n }\r\n }\r\n\r\n public passwordFieldEmptyCheck(passwordStatus) {\r\n this.passwordEmpty = passwordStatus ? false : true;\r\n }\r\n\r\n //#region Helpers\r\n private buildValidateTokenRequest(): RegistrationToken {\r\n const request: RegistrationToken = new RegistrationToken();\r\n this.subscriptions.push(\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n request.token = params.token;\r\n })\r\n );\r\n\r\n return request;\r\n }\r\n\r\n private buildRegisterUserRequest(): UpdateUserRequest {\r\n const request: UpdateUserRequest = new UpdateUserRequest();\r\n try {\r\n request.phoneCountry = i18nIsoCountries.alpha2ToAlpha3(\r\n this.phoneForm?.controls?.PhoneCountry?.value\r\n );\r\n request.phoneExtension = this.phoneForm?.value?.PhoneExtension;\r\n request.phone = parsePhoneNumber(\r\n this.phoneForm?.controls?.Phone?.value,\r\n i18nIsoCountries.alpha3ToAlpha2(\r\n this.phoneForm?.controls?.PhoneCountry?.value\r\n ) as CountryCode\r\n ).format('E.164');\r\n } catch {\r\n request.phoneCountry = this.defaultCountryCode || 'CAN';\r\n request.phone = '';\r\n request.phoneExtension = '';\r\n }\r\n request.userName = this.registrationForm.value.UserName;\r\n request.accountKey = this.accountKey;\r\n request.firstName = this.registrationForm.value.FirstName;\r\n request.lastName = this.registrationForm.value.LastName;\r\n request.userKey = this.userKey;\r\n request.password = this.registrationForm.value.Password;\r\n request.timeZoneCode = this.registrationForm.value.TimeZone.timeZoneCode;\r\n request.languageCode = this.registrationForm.value.Language.languageCode;\r\n request.dateType = this.registrationForm.value.DateFormat.dateTypeKey;\r\n return request;\r\n }\r\n //#endregion\r\n\r\n // bound to Phone control's input event\r\n public formatPhoneNumber() {\r\n try {\r\n if (this.phoneForm?.controls?.Phone?.value?.length < 1) {\r\n this.phoneForm.controls.PhoneCountry.setValue(\r\n i18nIsoCountries.alpha3ToAlpha2(this.defaultCountryCode || 'CAN')\r\n );\r\n }\r\n this.phoneForm?.controls?.Phone?.setValue(\r\n parsePhoneNumber(\r\n this.phoneForm.controls.Phone.value,\r\n this.phoneForm.controls?.PhoneCountry?.value\r\n ).formatInternational()\r\n );\r\n } catch {\r\n /*empty*/\r\n }\r\n }\r\n\r\n public resetPhoneNumber() {\r\n this.phoneForm?.controls?.Phone?.setValue('');\r\n }\r\n\r\n public validatePhoneForm(\r\n phoneNumberControlName: string,\r\n ExtensionControlName: string\r\n ): ValidatorFn {\r\n return (formGroup: FormGroup) => {\r\n try {\r\n const phoneNumberControl = formGroup.controls[phoneNumberControlName];\r\n const extensionControl = formGroup.controls[ExtensionControlName];\r\n return extensionControl &&\r\n extensionControl.value &&\r\n extensionControl.value.length > 0 &&\r\n phoneNumberControl.value.length === 0\r\n ? { invalidPhoneNumber: true }\r\n : null;\r\n } catch (error) {\r\n return error;\r\n }\r\n };\r\n }\r\n\r\n public validatePhoneNumber(\r\n parser: (text: string) => { country?: any; isValid(): boolean }\r\n ): ValidatorFn {\r\n return (control: AbstractControl) => {\r\n try {\r\n const phoneNumber = parser(control.value.toString());\r\n return phoneNumber?.isValid() &&\r\n phoneNumber?.country ===\r\n `${this.phoneForm?.controls?.PhoneCountry?.value}`\r\n ? null\r\n : {\r\n invalidPhoneNumber: true,\r\n };\r\n } catch {\r\n return control?.value?.length < 1\r\n ? null\r\n : {\r\n invalidPhoneNumber: true,\r\n };\r\n }\r\n };\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3B1YmxpYy9yZXNldC1wYXNzd29yZC9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Location } from '@angular/common';\r\nimport {\r\n AfterViewChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\n\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport {\r\n ToastrNotificationService,\r\n ValidationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n ResetPasswordRequest,\r\n ResetToken,\r\n} from 'src/app/dtos/forgotPassword/forgotPassword.dto';\r\nimport { PasswordResetService } from 'src/app/services/resetPassword/passwordReset.service';\r\n\r\n@Component({\r\n selector: 'app-reset-password-component',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss'],\r\n})\r\nexport class ResetPasswordComponent\r\n implements OnInit, AfterViewChecked, OnDestroy {\r\n public passwordEmpty = true;\r\n public message = {\r\n confirmPassword: () =>\r\n this.translocoService.translate('COMMON.PASSWORD_MUST_MATCH'),\r\n badRequest: () =>\r\n this.translocoService.translate('GROUP.FAILURE_TOAST_MESSAGE'),\r\n };\r\n public resetPasswordForm: FormGroup = this.formBuilder.group(\r\n {\r\n newPassword: [\r\n '',\r\n Validators.compose([\r\n Validators.required,\r\n this.validationService.patternValidator('number'),\r\n this.validationService.patternValidator('upperCase'),\r\n this.validationService.patternValidator('lowerCase'),\r\n this.validationService.specialCharacterValidator(),\r\n this.validationService.minimumLength(8),\r\n ]),\r\n ],\r\n confirmPassword: ['', [Validators.required]],\r\n },\r\n {\r\n validator: this.validationService.MustMatch(\r\n 'newPassword',\r\n 'confirmPassword'\r\n ),\r\n }\r\n );\r\n\r\n public validToken = false;\r\n public passwordReset = false;\r\n public resetToken = '';\r\n // The only reason this variable exists is to the test passes\r\n public passwordMatch = true;\r\n public userKey = 0;\r\n public isDefault = true;\r\n public subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private location: Location,\r\n private resetPswdSrv: PasswordResetService,\r\n private formBuilder: FormBuilder,\r\n private loggerSrv: LoggerService,\r\n private validationService: ValidationService,\r\n private changeDetector: ChangeDetectorRef,\r\n private translocoService: TranslocoService,\r\n private toastrService: ToastrNotificationService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.subscriptions.push(\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.resetToken = params.token;\r\n })\r\n );\r\n this.validateToken();\r\n this.location.replaceState('resetPassword');\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n public ngAfterViewChecked() {\r\n this.changeDetector.detectChanges();\r\n }\r\n //#region Methods\r\n\r\n public validateToken(): void {\r\n this.subscriptions.push(\r\n this.resetPswdSrv\r\n .validatePasswordResetLink(this.buildValidateTokenRequest())\r\n .pipe(take(1))\r\n .subscribe(\r\n (res) => {\r\n this.loggerSrv.info(\r\n 'resetTokenResponse',\r\n 'PasswordResetService.validatePasswordResetLink',\r\n JSON.stringify(res)\r\n );\r\n this.userKey = res?.userKey;\r\n this.validToken = true;\r\n },\r\n (err) => {\r\n this.loggerSrv.error(\r\n 'Error validating password reset token',\r\n 'PasswordResetService.validatePasswordResetLink',\r\n err\r\n );\r\n this.validToken = false;\r\n this.isDefault = false;\r\n }\r\n )\r\n );\r\n }\r\n\r\n public resetPassword(): void {\r\n if (\r\n this.resetPasswordForm.value['newPassword'] ===\r\n this.resetPasswordForm.value['confirmPassword']\r\n ) {\r\n const resetPassword$ = this.resetPswdSrv.resetPassword(\r\n this.buildResetPasswordRequest()\r\n );\r\n resetPassword$.subscribe((isSuccess) => {\r\n if (isSuccess) {\r\n this.passwordReset = true;\r\n } else {\r\n this.toastrService.errorNotify(this.message.badRequest());\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Helpers\r\n\r\n private buildValidateTokenRequest(): ResetToken {\r\n const request: ResetToken = new ResetToken();\r\n\r\n request.token = this.resetToken;\r\n\r\n return request;\r\n }\r\n\r\n private buildResetPasswordRequest(): ResetPasswordRequest {\r\n const request: ResetPasswordRequest = new ResetPasswordRequest();\r\n\r\n request.userKey = this.userKey;\r\n request.newPassword = this.resetPasswordForm.value['newPassword'];\r\n request.token = this.resetToken;\r\n\r\n return request;\r\n }\r\n\r\n //#endregion\r\n\r\n public passwordFieldEmptyCheck(passwordStatus) {\r\n this.passwordEmpty = passwordStatus ? false : true;\r\n }\r\n}\r\n","export default \".lui-table {\\n width: auto;\\n border-collapse: separate;\\n}\\n\\nth.cdk-drag-preview {\\n background-color: #f9f9f9;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font: inherit;\\n font-size: 16px;\\n}\\n\\n.cdk-column-fill {\\n width: 100%;\\n}\\n\\n.cdk-drop-list-dragging .cdk-drag {\\n cursor: grabbing;\\n}\\n\\n.cdk-drop-list-dragging .cdk-drag .control {\\n cursor: grabbing;\\n}\\n\\n.control {\\n cursor: grab;\\n}\\n\\n.resizing {\\n cursor: col-resize;\\n}\\n\\n.resizing .control {\\n cursor: col-resize;\\n}\\n\\n.lui-no-data-column {\\n padding: 0.571em 0.857em;\\n}\\n\\n.legacy-paginator-wrapper {\\n display: flex;\\n justify-content: center;\\n margin: 0;\\n align-items: center;\\n}\\n\\n#legacy-sc-loading-overlay {\\n position: relative;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvc2VjdXJlL2RlbW8vQzpcXEFnZW50XFxfd29ya1xcNjBcXHMvc3JjXFxhcHBcXGZlYXR1cmVzXFxzZWN1cmVcXGRlbW9cXGRlbW8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9kZW1vL2RlbW8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EseUJBQUE7QUNDRjs7QURFQTtFQUNFLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtBQ0NGOztBRENBO0VBQ0UsV0FBQTtBQ0VGOztBREFBO0VBQ0UsZ0JBQUE7QUNHRjs7QURGRTtFQUNFLGdCQUFBO0FDSUo7O0FEREE7RUFDRSxZQUFBO0FDSUY7O0FERkE7RUFDRSxrQkFBQTtBQ0tGOztBREpFO0VBQ0Usa0JBQUE7QUNNSjs7QURIQTtFQUNFLHdCQUFBO0FDTUY7O0FESkE7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7QUNPRjs7QURKQTtFQUNFLGtCQUFBO0FDT0YiLCJmaWxlIjoic3JjL2FwcC9mZWF0dXJlcy9zZWN1cmUvZGVtby9kZW1vLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmx1aS10YWJsZSB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxufVxyXG5cclxudGguY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuLmNkay1jb2x1bW4tZmlsbCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmNkay1kcmFnIHtcclxuICBjdXJzb3I6IGdyYWJiaW5nO1xyXG4gIC5jb250cm9sIHtcclxuICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbiAgfVxyXG59XHJcbi5jb250cm9sIHtcclxuICBjdXJzb3I6IGdyYWI7XHJcbn1cclxuLnJlc2l6aW5nIHtcclxuICBjdXJzb3I6IGNvbC1yZXNpemU7XHJcbiAgLmNvbnRyb2wge1xyXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplO1xyXG4gIH1cclxufVxyXG4ubHVpLW5vLWRhdGEtY29sdW1uIHtcclxuICBwYWRkaW5nOiAwLjU3MWVtIDAuODU3ZW07XHJcbn1cclxuLmxlZ2FjeS1wYWdpbmF0b3Itd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuI2xlZ2FjeS1zYy1sb2FkaW5nLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4iLCIubHVpLXRhYmxlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG5cbnRoLmNkay1kcmFnLXByZXZpZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uY2RrLWNvbHVtbi1maWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5jZGstZHJhZyB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuY2RrLWRyYWcgLmNvbnRyb2wge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4uY29udHJvbCB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLnJlc2l6aW5nIHtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xufVxuLnJlc2l6aW5nIC5jb250cm9sIHtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xufVxuXG4ubHVpLW5vLWRhdGEtY29sdW1uIHtcbiAgcGFkZGluZzogMC41NzFlbSAwLjg1N2VtO1xufVxuXG4ubGVnYWN5LXBhZ2luYXRvci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuI2xlZ2FjeS1zYy1sb2FkaW5nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59Il19 */\";","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { queryChange } from '@lbmx/action-ui';\r\nimport { GenerateFormService, PerForm } from '@lbmx/per-form';\r\nimport { LoadingState, SearchService } from '@lbmx/root-services';\r\nimport { BehaviorSubject, merge } from 'rxjs';\r\nimport { delay, filter, map, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { TableDataSource } from '../../lui-legacy-components/data-source/table-data-source';\r\nimport { DefaultPaginatorComponent } from '../../lui-legacy-components/default-paginator/default-paginator.component';\r\nimport { LuiTableHeader } from '../../lui-legacy-components/table-header/table-header';\r\nimport { detailsForm } from './demo.ui';\r\n@Component({\r\n selector: 'app-demo',\r\n templateUrl: './demo.component.html',\r\n styleUrls: ['./demo.component.scss'],\r\n})\r\nexport class DemoComponent implements AfterViewInit {\r\n public dataSource = new TableDataSource<{ [key: string]: any }>();\r\n\r\n @ViewChild(DefaultPaginatorComponent)\r\n public paginator: DefaultPaginatorComponent;\r\n @ViewChild(LuiTableHeader) public tableHeader: LuiTableHeader;\r\n public idField = 'poNumber';\r\n public columns: string[] = this.dataSource.columnsToDisplay;\r\n public loadingState = LoadingState;\r\n public form$ = new BehaviorSubject(null);\r\n constructor(\r\n public searchService: SearchService,\r\n private formGeneratorService: GenerateFormService\r\n ) {\r\n this.dataSource.searchService = this.searchService;\r\n const add = this.dataSource.selection.changed.pipe(\r\n queryChange<\r\n {\r\n source: SelectionModel;\r\n added: string[];\r\n removed: string[];\r\n },\r\n string[]\r\n >('added'),\r\n filter((x) => x.length >= 1),\r\n map((x) => x[0]),\r\n map((x) => this.dataSource.data.find((y) => y[this.idField] === x)),\r\n tap(() => this.form$.next(null)),\r\n delay(0),\r\n tap((row) =>\r\n this.form$.next(this.formGeneratorService.init(detailsForm(row)))\r\n )\r\n );\r\n const remove = this.dataSource.selection.changed.pipe(\r\n queryChange<\r\n {\r\n source: SelectionModel;\r\n added: string[];\r\n removed: string[];\r\n },\r\n string[]\r\n >('removed'),\r\n filter((x) => x.length >= 1),\r\n map((x) => x[0]),\r\n withLatestFrom(add),\r\n filter(([x, y]) => y[this.idField] === x),\r\n tap(() => this.form$.next(null))\r\n );\r\n merge(add, remove).subscribe();\r\n }\r\n\r\n public loading = true;\r\n public loading$ = this.searchService.status$.pipe(\r\n map((status) => {\r\n return status === LoadingState.LOADING;\r\n })\r\n );\r\n public tableWidth = 0;\r\n public columnsTest = ['poNumber'];\r\n public ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n }\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ProgressSpinnerModule, TreeModule } from 'primeng';\r\nimport { CheckboxModule } from 'primeng-lts/checkbox';\r\nimport { DefaultPaginatorModule } from '../../lui-legacy-components/default-paginator/default-paginator.module';\r\nimport { LegacySearchContainerModule } from '../../lui-legacy-components/legacy-search-container/module';\r\nimport { LuiPaginatorModule } from '../../lui-legacy-components/paginator/paginator.module';\r\nimport { TableHeaderModule } from '../../lui-legacy-components/table-header/module';\r\nimport { LuiTableModule } from '../../lui-legacy-components/table/module';\r\nimport { TreeAppModule } from '../../lui-legacy-components/tree-app/tree-app.module';\r\nimport { DemoComponent } from './demo.component';\r\n\r\n@NgModule({\r\n declarations: [DemoComponent],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n CommonModule,\r\n CheckboxModule,\r\n DefaultPaginatorModule,\r\n DragDropModule,\r\n FormsModule,\r\n LegacySearchContainerModule,\r\n LuiPaginatorModule,\r\n LuiTableModule,\r\n ProgressSpinnerModule,\r\n TranslocoModule,\r\n TreeModule,\r\n TableHeaderModule,\r\n TreeAppModule,\r\n PerFormPrimengModule,\r\n ],\r\n})\r\nexport class DemoModule {}\r\n","import { Form, FormDefinition } from '@lbmx/per-form';\r\n\r\nexport const detailsForm = (row: {\r\n [key: string]: any;\r\n}): FormDefinition => ({\r\n fields: {\r\n info: {\r\n type: 'detail',\r\n options: Object.entries(row).map(\r\n ([key, value]: [string, any]): { label: string; value: string } => ({\r\n label: key,\r\n value: JSON.stringify(value),\r\n })\r\n ),\r\n },\r\n },\r\n});\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9lcnJvci9lcnJvci5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss'],\r\n})\r\nexport class ErrorComponent implements OnInit, OnDestroy {\r\n public data$: Observable;\r\n public subscription: Subscription;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {\r\n this.subscription = this.router.events.subscribe((e: any) => {\r\n // If it is a NavigationEnd event re-initialize the component(since routing data is not persistent on page refresh)\r\n if (e instanceof NavigationEnd) {\r\n this.initializeErrorInfo();\r\n }\r\n });\r\n }\r\n public ngOnInit(): void {\r\n /** empty block */\r\n }\r\n public ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n public initializeErrorInfo() {\r\n this.data$ = this.route.paramMap.pipe(map(() => window.history.state));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { selectors } from '@lbmx/app-state';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport {\r\n BaseHttpService,\r\n SearchContainerLoaderService,\r\n} from '@lbmx/search-container';\r\nimport { toolKeys } from '@lbmx/types';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { saveAs } from 'file-saver';\r\nimport { ConfirmationService } from 'primeng-lts';\r\nimport { of, Subscription } from 'rxjs';\r\nimport { catchError, finalize, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nenum DownloadType {\r\n Single = 1,\r\n Multiple,\r\n}\r\n@Component({\r\n selector: 'app-exports',\r\n templateUrl: './exports.component.html',\r\n providers: [SearchContainerLoaderService, ConfirmationService],\r\n})\r\nexport class ExportsComponent implements OnInit {\r\n // search container loader states\r\n public searchContainerName = 'export';\r\n public i18nSearchField = 'EXPORT.SEARCH_BAR';\r\n public toolbarActionsDispatcher = {\r\n delete: (selection: any[]) => {\r\n this.confirmationService.confirm({\r\n message: this.translocoService.translate(\r\n 'VALIDATION_MESSAGE.CONFIRMATION_MESSAGE'\r\n ),\r\n header: this.translocoService.translate(\r\n 'VALIDATION_MESSAGE.CONFIRMATION_HEADER'\r\n ),\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n this.spinner.on();\r\n this.http\r\n .fetch({\r\n endpoint: 'delete',\r\n httpMethod: 'POST',\r\n body: {\r\n keys: [...selection].map(({ exportKey, ..._ }) => exportKey),\r\n },\r\n })\r\n .pipe(\r\n tap(() => {\r\n this.toast.successNotify(\r\n this.translocoService.translate('GROUP.SUCCESS_TOAST_MESSAGE')\r\n );\r\n this.searchContainerLoaderService.refreshSearch();\r\n }),\r\n catchError(() =>\r\n of(\r\n this.toast.errorNotify(\r\n this.translocoService.translate('MESSAGES.GENERIC_ERROR')\r\n )\r\n )\r\n ),\r\n finalize(() => this.spinner.off())\r\n )\r\n .subscribe();\r\n },\r\n // tslint:disable-next-line: no-empty\r\n reject: () => {},\r\n });\r\n },\r\n download: (selection: any[]) => {\r\n this.downloadMultipleFile(\r\n [...selection].map(({ exportKey, ..._ }) => exportKey)\r\n );\r\n },\r\n };\r\n public baseUrl = `${this.configPrv.AppSetting?.uriAdministration?.getExportRootURL}`;\r\n public columnActions = {};\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n private translocoService: TranslocoService,\r\n private toast: ToastrNotificationService,\r\n private spinner: SpinnerService,\r\n private configPrv: ConfigProvider,\r\n private http: BaseHttpService,\r\n private searchContainerLoaderService: SearchContainerLoaderService,\r\n private store: Store\r\n ) {\r\n http.baseUrl =\r\n this.configPrv.AppSetting?.uriAdministration?.getExportRootURL;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(\r\n select(selectors.isAuthorized, {\r\n export: toolKeys.AUTHENTICATED,\r\n }),\r\n tap((authorizedButtons: { export: boolean }) => {\r\n this.columnActions = {\r\n fileName: authorizedButtons.export\r\n ? {\r\n link: () => ({ path: './' }),\r\n event: (exportRecord: { [key: string]: any }) =>\r\n exportRecord,\r\n }\r\n : {},\r\n };\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public downloadFile(data: any) {\r\n const fileName = data?.fileName;\r\n const exportKey = data?.exportKey;\r\n this._download([exportKey], DownloadType.Single, fileName);\r\n }\r\n public downloadMultipleFile(exportKeys: number[]) {\r\n this._download(exportKeys, DownloadType.Multiple);\r\n }\r\n\r\n private _download(\r\n exportKeys: number[],\r\n downloadType: DownloadType,\r\n fileName?: string\r\n ) {\r\n this.spinner.on();\r\n this.http\r\n .fetch({\r\n endpoint: 'download',\r\n httpMethod: 'POST',\r\n body: {\r\n keys: exportKeys,\r\n },\r\n options: { responseType: 'blob' },\r\n })\r\n .pipe(\r\n tap((response: Blob) => {\r\n saveAs(\r\n response,\r\n downloadType === 1 ? `${fileName}` : 'MergedDocuments.zip'\r\n );\r\n this.toast.successNotify(\r\n this.translocoService.translate('GROUP.SUCCESS_TOAST_MESSAGE')\r\n );\r\n this.searchContainerLoaderService.refreshSearch();\r\n }),\r\n catchError(() =>\r\n of(\r\n this.toast.errorNotify(\r\n this.translocoService.translate('MESSAGES.GENERIC_ERROR')\r\n )\r\n )\r\n ),\r\n finalize(() => this.spinner.off())\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { UtilsModule } from '@lbmx/phoenix-lib-utils';\r\nimport { SearchContainerLoaderModule } from '@lbmx/search-container';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule, DialogModule, ProgressSpinnerModule } from 'primeng-lts';\r\n\r\nimport { ExportsComponent } from './exports.component';\r\n\r\n@NgModule({\r\n declarations: [ExportsComponent],\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n SearchContainerLoaderModule,\r\n TranslocoModule,\r\n UtilsModule,\r\n PerFormPrimengModule,\r\n ButtonModule,\r\n ProgressSpinnerModule,\r\n ],\r\n})\r\nexport class ExportsModule {}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Action, ActionDispatcher, ActionUiService } from '@lbmx/action-ui';\r\nimport {\r\n AnalyticsStatus,\r\n DashboardState,\r\n TemplateTypes,\r\n} from '@lbmx/analytics';\r\nimport { actions, selectors } from '@lbmx/app-state';\r\nimport {\r\n AnalyticsKpi,\r\n AnalyticsState,\r\n KpiConfig,\r\n} from '@lbmx/app-state/lib/interfaces';\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { DialogService } from 'primeng';\r\nimport { BehaviorSubject, forkJoin, Observable, of, Subject } from 'rxjs';\r\nimport {\r\n catchError,\r\n exhaustMap,\r\n finalize,\r\n first,\r\n map,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { KpiSelectionModalComponent } from '../select-kpi/kpi-selection-modal/kpi-selection-modal.component';\r\nimport {\r\n DashboardActions,\r\n dashboardSchema,\r\n defaultDashboardState,\r\n HttpMethod,\r\n} from './dashboard.ui';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n providers: [ActionUiService, DialogService],\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n @Input() public defaultDashboardState: DashboardState;\r\n @Input() public stateKey: string;\r\n\r\n public appSettings: AppSetting = this.configProvider.AppSetting;\r\n\r\n public templateTypes = TemplateTypes;\r\n public state: DashboardState;\r\n public fetch = new Subject();\r\n private analyticsState = new BehaviorSubject({});\r\n private analyticsState$: Observable = this.store.pipe(\r\n select(selectors.analyticsFeature),\r\n first((analyticsFeature) => analyticsFeature !== null),\r\n tap((analyticsState) => this.analyticsState.next(analyticsState))\r\n );\r\n private dashboardSettings$: Observable;\r\n public actions: ActionDispatcher =\r\n Action.createDispatcher(dashboardSchema);\r\n\r\n constructor(\r\n public actionUi: ActionUiService,\r\n private configProvider: ConfigProvider,\r\n public dialogService: DialogService,\r\n private store: Store,\r\n private http: HttpClient,\r\n private router: Router\r\n ) {\r\n this.actionUi.initialize(defaultDashboardState, this.actions);\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.dashboardSettings$ = this.store.pipe(\r\n select(selectors.setting, { key: this.stateKey }),\r\n first((dashboardSettings) => dashboardSettings !== null)\r\n );\r\n\r\n this.actions.updateState.dispatch(this.defaultDashboardState);\r\n\r\n this.actionUi.state\r\n .pipe(\r\n tap((state) => (this.state = { ...state })),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n this.fetch\r\n .pipe(\r\n tap(() => this.actions.setStatus.dispatch(AnalyticsStatus.LOADING)),\r\n exhaustMap(() =>\r\n forkJoin([this.dashboardSettings$, this.analyticsState$]).pipe(\r\n map(([dashboardSettings, analyticsState]) => {\r\n if (Object.entries(dashboardSettings || {}).length > 0) {\r\n this.actions.setDashboard.dispatch(dashboardSettings.dashboard);\r\n this.actions.setGridArea.dispatch(dashboardSettings.gridArea);\r\n }\r\n\r\n return this.transformAnalyticsState(analyticsState.kpis);\r\n }),\r\n catchError((err) => {\r\n this.actions.setStatus.dispatch(AnalyticsStatus.ERROR);\r\n return of(err);\r\n }),\r\n finalize(() => this.actions.finalize.dispatch())\r\n )\r\n ),\r\n tap((value) => {\r\n this.actions.setConfig.dispatch(value);\r\n }),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n\r\n this.fetch.next();\r\n }\r\n\r\n public transformAnalyticsState(kpis: AnalyticsKpi) {\r\n return Object.entries(kpis).reduce(\r\n (kpiConfigs, [kpiName, config]: [string, KpiConfig]) => ({\r\n ...kpiConfigs,\r\n [kpiName]: this.transformConfig(config, kpiName),\r\n }),\r\n {}\r\n );\r\n }\r\n\r\n public transformConfig(config: KpiConfig, kpiName: string) {\r\n /**\r\n * splitting the kpi name won't be necessary when the pim and documents\r\n * kpi requests implement the same interface\r\n */\r\n const moduleName = kpiName.split('.')[0];\r\n\r\n return {\r\n ...config,\r\n request: this.buildRequest(\r\n this.buildEndpoint(moduleName, config),\r\n config.httpMethod,\r\n config.Filters\r\n ).pipe(map((res: { [key: string]: number }) => res?.count ?? res?.value)),\r\n };\r\n }\r\n\r\n public show(index: number) {\r\n const ref = this.dialogService.open(KpiSelectionModalComponent, {\r\n data: {\r\n analyticsState: this.analyticsState.value,\r\n },\r\n showHeader: false,\r\n styleClass: 'kpi-dialog',\r\n });\r\n ref.onClose\r\n .pipe(\r\n tap((name) => {\r\n if (name) {\r\n this.actions.setWidget.dispatch({ name, index });\r\n this.store.dispatch(\r\n actions.updateSettings({\r\n endPoints: this.appSettings.uriUserState,\r\n stateKey: this.stateKey,\r\n state: {\r\n dashboard: this.state.dashboard,\r\n gridArea: this.state.gridArea,\r\n },\r\n })\r\n );\r\n }\r\n }),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n private buildEndpoint(moduleName: string, config: any): string {\r\n return `${\r\n moduleName === 'pim'\r\n ? this.appSettings.uriProduct.baseUri\r\n : this.appSettings.uriMarketplace[`${config.service}RootURL`]\r\n }${config.endpoint}`;\r\n }\r\n\r\n private buildRequest(\r\n endpoint: string,\r\n httpMethod: string,\r\n body: any\r\n ): Observable {\r\n switch (httpMethod) {\r\n case HttpMethod.GET:\r\n return this.http.get(endpoint, {\r\n params: this.buildDocumentsBody(body),\r\n withCredentials: true,\r\n });\r\n case HttpMethod.POST:\r\n return this.http.post(endpoint, body, { withCredentials: true });\r\n case HttpMethod.PUT:\r\n return this.http.put(endpoint, body, { withCredentials: true });\r\n case HttpMethod.DELETE:\r\n return this.http.delete(endpoint, { withCredentials: true });\r\n }\r\n }\r\n\r\n private buildDocumentsBody(body: { [key: string]: any }) {\r\n const { Filters, ...documentsBody } = body;\r\n body = {\r\n ...documentsBody,\r\n ...Filters,\r\n };\r\n return body;\r\n }\r\n\r\n public navigate(config) {\r\n const filters = config.Filters?.Filters;\r\n this.router.navigate([config.redirectUrl], {\r\n queryParams: { filters: JSON.stringify(filters) },\r\n });\r\n }\r\n}\r\n","import { ActionCreator, DispatchSchema } from '@lbmx/action-ui';\r\nimport { AnalyticsStatus, DashboardState, Widgets } from '@lbmx/analytics';\r\n\r\nexport enum HttpMethod {\r\n DELETE = 'delete',\r\n GET = 'get',\r\n POST = 'post',\r\n PUT = 'put',\r\n}\r\n\r\nexport interface SetWidget {\r\n index: number;\r\n name: string;\r\n}\r\n\r\nexport interface DashboardActions {\r\n finalize: ActionCreator;\r\n setDashboard: ActionCreator;\r\n setConfig: ActionCreator;\r\n setStatus: ActionCreator;\r\n setWidget: ActionCreator;\r\n setGridArea: ActionCreator;\r\n updateState: ActionCreator;\r\n}\r\n\r\nexport const defaultDashboardState: DashboardState = {\r\n dashboard: [null, null, null, null, null, null],\r\n gridArea: [\r\n [0, 1],\r\n [2, 3],\r\n [4, 5],\r\n ],\r\n config: {},\r\n status: AnalyticsStatus.READY,\r\n settings: false,\r\n};\r\n\r\nexport const dashboardSchema: DispatchSchema =\r\n {\r\n finalize: {\r\n command: (_, state: DashboardState) => {\r\n const status = state.status < 0 ? state.status : AnalyticsStatus.DONE;\r\n return { status };\r\n },\r\n },\r\n setDashboard: { command: (dashboard: string[]) => ({ dashboard }) },\r\n setGridArea: { command: (gridArea: number[][]) => ({ gridArea }) },\r\n setConfig: { command: (config: Widgets) => ({ config }) },\r\n setStatus: { command: (status: AnalyticsStatus) => ({ status }) },\r\n setWidget: {\r\n command: ({ index, name }: SetWidget, { dashboard }: DashboardState) => {\r\n const kpiDashboard = [...dashboard];\r\n kpiDashboard[index] = name;\r\n return { dashboard: [...kpiDashboard] };\r\n },\r\n },\r\n updateState: {\r\n command: (state: DashboardState) => {\r\n return state;\r\n },\r\n },\r\n };\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { selectors } from '@lbmx/app-state';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { of, Subscription } from 'rxjs';\r\nimport { catchError, finalize, first, tap } from 'rxjs/operators';\r\nimport { AccountService } from 'src/app/services/account/account.service';\r\nimport { IHomeView } from './home-view/home-view.component';\r\n\r\n@Component({\r\n selector: 'app-home-view-container',\r\n template: ``,\r\n})\r\nexport class HomeViewContainerComponent implements OnInit {\r\n public homeFeed: IHomeView | void;\r\n public subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private spinner: SpinnerService,\r\n private store: Store,\r\n private transloco: TranslocoService,\r\n private toast: ToastrNotificationService\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.spinner.on();\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(\r\n select(selectors.userFeature),\r\n first((user) => user.marketplace !== ''),\r\n tap(() => {\r\n this.subscriptions.push(\r\n this.accountService\r\n .getHome()\r\n .pipe(\r\n tap((home: any) => {\r\n this.homeFeed = this.setFeed(home);\r\n }),\r\n catchError(() => {\r\n this.homeFeed = this.setFeed(null);\r\n return of(\r\n this.toast.errorNotify(\r\n this.transloco.translate(\r\n 'SUPPLIER.FAILURE_TOAST_MESSAGE'\r\n )\r\n )\r\n );\r\n }),\r\n finalize(() => this.spinner.off())\r\n )\r\n .subscribe()\r\n );\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public setFeed(home: any): IHomeView {\r\n return {\r\n lbmxNews:\r\n home?.details.lbmxNews ||\r\n `${this.transloco.translate('HOME_VIEW.DEFAULT_LBMX_NEWS')}`,\r\n marketplaceNews:\r\n home?.details.marketplaceNews ||\r\n `

${this.transloco.translate(\r\n 'HOME_VIEW.DEFAULT_MARKETPLACE_NEWS'\r\n )}

`,\r\n welcomeMessage:\r\n home?.details.welcomeMessage ||\r\n `

${this.transloco.translate(\r\n 'HOME_VIEW.WELCOME'\r\n )}

${this.transloco.translate(\r\n 'HOME_VIEW.LBMX_MARKETPLACE'\r\n )}

${this.transloco.translate(\r\n 'HOME_VIEW.YOUR_SECURE'\r\n )}

${this.transloco.translate(\r\n 'HOME_VIEW.BUSINESS_PLATFORM'\r\n )}


`,\r\n lbmxSupport:\r\n home?.details.supportNews ||\r\n `

${this.transloco.translate(\r\n 'HOME_VIEW.NEED_HELP'\r\n )}${this.transloco.translate(\r\n 'HOME_VIEW.SUPPORT_LBMX'\r\n )}

`,\r\n\r\n marketplaceImg:\r\n home?.details && home?.details.marketplaceImgKey\r\n ? this.accountService.getURL(\r\n home?.details.marketplaceImgKey,\r\n home?.details.accountKey\r\n )\r\n : './assets/images/Welcome-image02_2x.jpg',\r\n welcomeImg:\r\n home?.details &&\r\n home?.details.welcomeImgKey &&\r\n home?.details.welcomeImgKey !== 0\r\n ? this.accountService.getURL(\r\n home?.details.welcomeImgKey,\r\n home?.details.accountKey\r\n )\r\n : './assets/images/Welcome-image01_2x.jpg',\r\n };\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\nexport interface IHomeView {\r\n accountKey?: number;\r\n marketplaceImgKey?: number;\r\n marketplaceImg?: string;\r\n marketplaceLogoKey?: number;\r\n marketplaceLogo?: string;\r\n welcomeImgKey?: number;\r\n welcomeImg?: string;\r\n welcomeMessage?: string;\r\n marketplaceNews?: string;\r\n lbmxNews?: string;\r\n lbmxSupport?: string;\r\n}\r\n@Component({\r\n selector: 'app-home-view',\r\n templateUrl: './home-view.component.html',\r\n})\r\nexport class HomeViewComponent {\r\n @Input('view') set viewSetter(view: IHomeView) {\r\n this.set(view);\r\n }\r\n\r\n public defaultDashboardState = {\r\n dashboard: [null, null, null, null, null, null],\r\n gridArea: [\r\n [0, 1],\r\n [2, 3],\r\n [4, 5],\r\n ],\r\n };\r\n public lbmxNews = '';\r\n public marketplaceNews = '';\r\n public lbmxSupport = '';\r\n public welcomeMessage = '';\r\n public welcomeImage: SafeStyle = '';\r\n public marketplaceImg: SafeStyle = '';\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n /** empty */\r\n }\r\n\r\n public set(view: IHomeView) {\r\n this.welcomeImage = this.sanitizer.bypassSecurityTrustStyle(\r\n `url(${view?.welcomeImg})`\r\n );\r\n this.welcomeMessage = view?.welcomeMessage || '';\r\n\r\n this.marketplaceImg = this.sanitizer.bypassSecurityTrustStyle(\r\n `url(${view?.marketplaceImg})`\r\n );\r\n\r\n this.lbmxNews = view?.lbmxNews || '';\r\n this.marketplaceNews = view?.marketplaceNews || '';\r\n this.lbmxSupport = view?.lbmxSupport || '';\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor() {\r\n /** empty block */\r\n }\r\n\r\n public ngOnInit() {\r\n /** empty block */\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Action, ActionDispatcher, ActionUiService } from '@lbmx/action-ui';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport {\r\n defaultState,\r\n KpiSelectionModalUiActions,\r\n KpiSelectionModalUiState,\r\n schema,\r\n} from './kpi-selection-modal.ui';\r\n\r\n@Component({\r\n selector: 'app-kpi-selection-modal',\r\n templateUrl: './kpi-selection-modal.component.html',\r\n providers: [ActionUiService],\r\n})\r\nexport class KpiSelectionModalComponent {\r\n public state: KpiSelectionModalUiState;\r\n public actions: ActionDispatcher<\r\n KpiSelectionModalUiActions,\r\n KpiSelectionModalUiState\r\n > = Action.createDispatcher(schema);\r\n\r\n constructor(\r\n public actionUi: ActionUiService,\r\n public ref: DynamicDialogRef,\r\n public dialogConfig: DynamicDialogConfig\r\n ) {\r\n this.actionUi.initialize(defaultState, this.actions);\r\n\r\n this.actionUi.state\r\n .pipe(\r\n tap((state) => (this.state = { ...state })),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n\r\n this.actions.setShowCategories.dispatch(\r\n this.dialogConfig.data.showCategories\r\n );\r\n\r\n if (this.dialogConfig.data.categoryFilter) {\r\n this.actions.setCategoryFilter.dispatch(\r\n this.dialogConfig.data.categoryFilter\r\n );\r\n }\r\n\r\n this.actions.setAnalyticsState.dispatch(\r\n this.dialogConfig.data.analyticsState\r\n );\r\n\r\n if (!this.state.showCategories) {\r\n this.actions.setKpiDropdown.dispatch();\r\n }\r\n }\r\n\r\n public closeDialog(save = true) {\r\n const data = save ? this.state.selectedKpi : null;\r\n this.ref.close(data);\r\n }\r\n}\r\n","import { ActionCreator, DispatchSchema } from '@lbmx/action-ui';\r\nimport { AnalyticsState } from '@lbmx/app-state/lib/interfaces';\r\n\r\nexport interface KpiSelectionModalUiState {\r\n analytics: AnalyticsState;\r\n selectedCategory: string;\r\n selectedKpi: string;\r\n categoryDropdown: Array<{ label: string; value: string }>;\r\n kpiDropdown: Array<{ label: string; value: string }>;\r\n showCategories: boolean;\r\n categoryFilter: string[];\r\n}\r\n\r\nexport interface KpiSelectionModalUiActions {\r\n setAnalyticsState: ActionCreator;\r\n setSelectedCategory: ActionCreator;\r\n setSelectedKpi: ActionCreator;\r\n setCategoryFilter: ActionCreator;\r\n setShowCategories: ActionCreator;\r\n setKpiDropdown: ActionCreator;\r\n}\r\n\r\nexport const defaultState: KpiSelectionModalUiState = {\r\n analytics: {} as AnalyticsState,\r\n selectedCategory: '',\r\n selectedKpi: '',\r\n categoryDropdown: [],\r\n kpiDropdown: [],\r\n showCategories: true,\r\n categoryFilter: [],\r\n};\r\n\r\nexport const schema: DispatchSchema<\r\n KpiSelectionModalUiActions,\r\n KpiSelectionModalUiState\r\n> = {\r\n setAnalyticsState: {\r\n command: (\r\n analyticsState: AnalyticsState,\r\n { categoryFilter }: KpiSelectionModalUiState\r\n ) => {\r\n const allowedCategories =\r\n categoryFilter.length > 0\r\n ? categoryFilter\r\n : Object.keys(analyticsState.categories);\r\n\r\n return {\r\n analytics: analyticsState,\r\n categoryDropdown: Object.entries(analyticsState.categories).reduce(\r\n (dropdownOptions, [category, description]) => {\r\n return allowedCategories.includes(category)\r\n ? [\r\n ...dropdownOptions,\r\n {\r\n label: description,\r\n value: category,\r\n },\r\n ]\r\n : dropdownOptions;\r\n },\r\n []\r\n ),\r\n };\r\n },\r\n },\r\n setSelectedCategory: {\r\n command: (category: string, { analytics }: KpiSelectionModalUiState) => {\r\n const filteredKpis = Object.entries(analytics.kpis).filter(([kpi]) => {\r\n const [categoryName] = kpi.split('.');\r\n return category === categoryName;\r\n });\r\n return {\r\n selectedCategory: category,\r\n kpiDropdown: filteredKpis.map(([kpi, config]) => ({\r\n label: config.description,\r\n value: kpi,\r\n })),\r\n };\r\n },\r\n },\r\n setKpiDropdown: {\r\n command: (_, { analytics, categoryFilter }: KpiSelectionModalUiState) => {\r\n const filteredKpis = Object.entries(analytics.kpis).filter(([kpi]) => {\r\n const [categoryName] = kpi.split('.');\r\n return categoryFilter.includes(categoryName);\r\n });\r\n return {\r\n kpiDropdown: filteredKpis.map(([kpi, config]) => ({\r\n label: config.description,\r\n value: kpi,\r\n })),\r\n };\r\n },\r\n },\r\n setSelectedKpi: {\r\n command: (kpi: string) => ({\r\n selectedKpi: kpi,\r\n }),\r\n },\r\n setCategoryFilter: {\r\n command: (filters: string[]) => ({\r\n categoryFilter: filters,\r\n }),\r\n },\r\n setShowCategories: {\r\n command: (show: boolean, { showCategories }: KpiSelectionModalUiState) => {\r\n return {\r\n showCategories: show === undefined ? showCategories : show,\r\n };\r\n },\r\n },\r\n};\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYWluLWZvb3Rlci9tYWluLWZvb3Rlci5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from '../../../provider/config-provider';\r\nimport { SiteTypeService } from '../../../services/siteType/site-type.service';\r\n\r\n@Component({\r\n selector: 'app-main-footer',\r\n templateUrl: './main-footer.component.html',\r\n styleUrls: ['./main-footer.component.scss'],\r\n})\r\nexport class MainFooterComponent implements OnInit, OnDestroy {\r\n //region Properties\r\n\r\n public lbmxLogoImage = `${this.configProvider.AppSetting?.uriConfiguration?.configurationRootURL}/logo`;\r\n public lbmxUrl: string;\r\n public thisYear = new Date().getFullYear();\r\n public terms = '';\r\n\r\n private _shouldDestroy = new Subject();\r\n\r\n //#endregion\r\n\r\n constructor(\r\n private router: Router,\r\n private configProvider: ConfigProvider,\r\n private siteTypeService: SiteTypeService\r\n ) {\r\n this.siteTypeService.siteType$\r\n .pipe(\r\n tap(() => {\r\n this.lbmxUrl = this.siteTypeService.homeUrl;\r\n }),\r\n takeUntil(this._shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._shouldDestroy.next(true);\r\n }\r\n\r\n public ngOnInit() {\r\n /** empty block */\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYWluLWhlYWRlci9tYWluLWhlYWRlci5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { selectors } from '@lbmx/app-state';\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigProvider } from '../../../provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-main-header',\r\n templateUrl: './main-header.component.html',\r\n styleUrls: ['./main-header.component.scss'],\r\n})\r\nexport class MainHeaderComponent implements OnInit, OnDestroy {\r\n //#region Properties\r\n public appSettings: AppSetting = this.configProvider.AppSetting;\r\n public userName = '';\r\n public companyName = '';\r\n public subscriptions: Subscription[] = [];\r\n public alt = '';\r\n public imageSource = './assets/images/LBMX-logo-colour.png';\r\n\r\n //#endregion\r\n\r\n constructor(private configProvider: ConfigProvider, private store: Store) {}\r\n\r\n public ngOnInit() {\r\n this.subscriptions.push(\r\n this.store.pipe(select(selectors.userProfile)).subscribe((res) => {\r\n this.userName = res.userInfo.FullName;\r\n this.companyName = res.userInfo.CompanyName;\r\n })\r\n );\r\n this.imageSource = `${this.appSettings?.uriConfiguration?.configurationRootURL}/logo`;\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n}\r\n","export default [\r\n {\r\n label: 'NAV.PRODUCT_INFO_MANAGEMENT',\r\n value: '/PIMModule',\r\n disabled: true,\r\n },\r\n {\r\n label: 'NAV.MARKETPLACE',\r\n value: '/MarketplaceModule',\r\n disabled: true,\r\n },\r\n {\r\n label: 'NAV.MARKETPLACE_PARTNERS',\r\n value: '/MarketplacePartnersModule',\r\n disabled: true,\r\n },\r\n {\r\n label: 'NAV.PLAYGROUND_DROPDOWN',\r\n value: '/PlaygroundModule',\r\n disabled: true,\r\n },\r\n {\r\n label: 'NAV.ADMINISTRATION_DROPDOWN',\r\n value: '/AdministrationModule',\r\n disabled: true,\r\n },\r\n];\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYWluLW5hdmlnYXRpb24tY29udGFpbmVyL21haW4tbW9kdWxlLXNlbGVjdG9yL21haW4tbW9kdWxlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzIn0= */\";","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { SelectItem } from 'primeng/api';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport dropDownOptions from '../drop-down';\r\n\r\n@Component({\r\n selector: 'app-main-module-selector',\r\n templateUrl: './main-module-selector.component.html',\r\n styleUrls: ['./main-module-selector.component.scss'],\r\n})\r\nexport class MainModuleSelectorComponent implements OnInit, OnDestroy {\r\n @Input() public allowedModules: { [key: string]: boolean };\r\n @Output()\r\n public dropdownValueChanged: EventEmitter = new EventEmitter();\r\n public listItems: SelectItem[];\r\n public subscriptions: Subscription[] = [];\r\n public form: FormGroup;\r\n\r\n constructor(private forms: FormBuilder, private router: Router) {}\r\n\r\n public ngOnInit() {\r\n this.listItems = this.setListItemsPermissions(\r\n dropDownOptions,\r\n this.allowedModules\r\n );\r\n this.setFormValue();\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n private setListItemsPermissions(\r\n items: SelectItem[],\r\n allowedModules: { [key: string]: boolean }\r\n ): SelectItem[] {\r\n return items.reduce(\r\n (selectItemsList: SelectItem[], selectItem: SelectItem) => {\r\n return [\r\n ...selectItemsList,\r\n {\r\n ...selectItem,\r\n disabled: !allowedModules[selectItem.value],\r\n },\r\n ];\r\n },\r\n []\r\n );\r\n }\r\n\r\n private setFormValue(): void {\r\n this.form = this.forms.group({\r\n selectedModule: this.getCurrentModule(),\r\n });\r\n\r\n this.subscriptions.push(\r\n this.form.valueChanges.subscribe(({ selectedModule }) =>\r\n this.dropdownValueChanged.emit(selectedModule)\r\n )\r\n );\r\n }\r\n\r\n public valueChange(selectedModule: string): void {\r\n this.dropdownValueChanged.emit(selectedModule);\r\n }\r\n\r\n private getCurrentModule() {\r\n const [modulePath] = this.router.url.split('/').filter((x) => x !== '');\r\n return `/${modulePath}`;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NavBarService } from 'src/app/services/navbar/nav-bar.service';\r\nimport { ILBMXMegaMenu } from '../lbmx-mega-menu.interface';\r\n\r\n@Component({\r\n selector: 'lbmx-mega-menu',\r\n templateUrl: './lbmx-mega-menu.component.html',\r\n})\r\nexport class LBMXMegaMenuComponent {\r\n @Input() public model: ILBMXMegaMenu[];\r\n private isMobile = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private navbarService: NavBarService\r\n ) {}\r\n\r\n @Input('isMobile') set mobileBooleanSetter(isMobile: boolean) {\r\n if (isMobile) {\r\n this.isMobile = isMobile;\r\n }\r\n }\r\n\r\n public handleActiveLink(megaMenu: any): string {\r\n const navigate = megaMenu?.command?.navigate;\r\n if (navigate === undefined) {\r\n return '';\r\n }\r\n const routerLink = navigate[0];\r\n const routerLinkActiveOptions = !!megaMenu?.urlExact;\r\n const snapshot: any = this.route.snapshot;\r\n const currentRoute = snapshot._routerState.url;\r\n\r\n const regexPattern = routerLinkActiveOptions\r\n ? `^${routerLink}$`\r\n : `^${routerLink}`;\r\n const routeRegex = new RegExp(regexPattern);\r\n\r\n return routeRegex.test(currentRoute) ? 'selected' : '';\r\n }\r\n\r\n public handleItemClick(event: Event, command: any) {\r\n this.navbarService.runCommand(command);\r\n this.stop(event);\r\n }\r\n\r\n public stop(event: Event) {\r\n event.stopPropagation();\r\n }\r\n\r\n // UGLY FUNCTION\r\n public getIconOrLabel(element: any, gettingLabel: boolean) {\r\n if (gettingLabel) {\r\n if (this.isMobile) {\r\n return element.label;\r\n } else if (element.icon) {\r\n return '';\r\n } else {\r\n return element.label;\r\n }\r\n } else {\r\n if (this.isMobile) {\r\n return '';\r\n } else {\r\n if (element.icon) {\r\n return element.icon;\r\n } else {\r\n return '';\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ILBMXMegaMenu } from './lbmx-mega-menu.interface';\r\n\r\n@Component({\r\n selector: 'lbmx-nav-bar',\r\n templateUrl: './lbmx-nav-bar.component.html',\r\n})\r\nexport class LBMXNavBarComponent {\r\n public navItemsLeft: ILBMXMegaMenu[] = [];\r\n public navItemsRight: ILBMXMegaMenu[] = [];\r\n public navItems: ILBMXMegaMenu[] = [];\r\n\r\n @Input('navItems') set navItemsSetter(navItems: ILBMXMegaMenu[]) {\r\n let aNavItemsRight = [];\r\n let aNavItemsLeft = [];\r\n if (navItems) {\r\n for (const item of navItems) {\r\n if (item.alignment === 'right') {\r\n aNavItemsRight = [...aNavItemsRight, item];\r\n } else {\r\n aNavItemsLeft = [...aNavItemsLeft, item];\r\n }\r\n }\r\n }\r\n this.navItemsLeft = aNavItemsLeft;\r\n this.navItemsRight = aNavItemsRight;\r\n this.navItems = [...aNavItemsLeft, ...aNavItemsRight];\r\n }\r\n\r\n public handleClick(event: any): void {\r\n let element = event.target as Element;\r\n element = this.getValidElementTarget(element);\r\n\r\n // mega menu button header is clicked: collapse or expand that submenu\r\n if (element.classList.contains('button-header')) {\r\n this.handleButtonHeaderOnClick(element);\r\n element = element.parentElement;\r\n } else if (element.classList.contains('mega-menu')) {\r\n this.handleButtonHeaderOnClick(element.firstElementChild);\r\n }\r\n\r\n // Toggle the 'displaying' class\r\n if (element.classList.contains('displaying')) {\r\n element.classList.remove('displaying');\r\n } else {\r\n element.classList.add('displaying');\r\n }\r\n }\r\n\r\n public toggleDisplay(event: any) {\r\n const navBarElement = document.getElementById('nav-bar');\r\n\r\n let element = event.target as Element;\r\n element = this.getValidElementTarget(element);\r\n\r\n // Toggle the 'displaying' class\r\n if (navBarElement.classList.contains('displaying')) {\r\n navBarElement.classList.remove('displaying');\r\n } else {\r\n navBarElement.classList.add('displaying');\r\n }\r\n }\r\n\r\n // Narrows down what the user clicked into a category of elements\r\n // to make handling a click easier\r\n private getValidElementTarget(element: Element): Element {\r\n let validTarget = element;\r\n // Main mobile navbar hamburger button\r\n if (element.classList.contains('menu-toggle')) {\r\n this.switchButtonIcon(element, 'pi-times', 'pi-bars');\r\n validTarget = element.parentElement;\r\n } else if (\r\n // Any of the submenu's labels or icons\r\n element.classList.contains('button-label') ||\r\n element.classList.contains('button-icon')\r\n ) {\r\n validTarget = element.parentElement;\r\n }\r\n return validTarget;\r\n }\r\n\r\n private switchButtonIcon(element: Element, class1: string, class2: string) {\r\n if (element.classList.contains(class1)) {\r\n element.classList.remove(class1);\r\n element.classList.add(class2);\r\n } else if (element.classList.contains(class2)) {\r\n element.classList.remove(class2);\r\n element.classList.add(class1);\r\n }\r\n }\r\n\r\n private handleButtonHeaderOnClick(buttonHeader: Element) {\r\n if (buttonHeader) {\r\n this.switchButtonIcon(\r\n buttonHeader.lastElementChild,\r\n 'pi-angle-down',\r\n 'pi-angle-right'\r\n );\r\n }\r\n }\r\n}\r\n","import { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport { NavItem } from '@lbmx/types';\r\nimport { MegaMenuItem } from 'primeng';\r\nimport { BehaviorSubject } from 'rxjs';\r\ninterface INavItemWithId extends NavItem {\r\n id?: string;\r\n}\r\n@Component({\r\n selector: 'app-main-nav-bar',\r\n templateUrl: './main-nav-bar.component.html',\r\n})\r\nexport class MainNavBarComponent implements OnInit {\r\n @Input('navItems') public set navItemSetter(navigationItems: NavItem[]) {\r\n const navItems = this.transform(navigationItems);\r\n this.navItemsBehaviorSubject.next(navItems);\r\n }\r\n\r\n public navItemsBehaviorSubject = new BehaviorSubject([]);\r\n public navItemsObservable = this.navItemsBehaviorSubject.asObservable();\r\n public isSticky = false;\r\n public stickyThreshold: number;\r\n\r\n @HostListener('window:scroll', ['$event']) // for window scroll events\r\n public onScroll(event) {\r\n this.handleSticky();\r\n }\r\n\r\n public ngOnInit() {\r\n const navbar: any = document.getElementsByTagName('lbmx-nav-bar')[0];\r\n this.stickyThreshold = navbar.offsetTop;\r\n }\r\n\r\n private transform(navigationItems: INavItemWithId[]): MegaMenuItem[] {\r\n return navigationItems.map((item: INavItemWithId) => {\r\n const items = item.items || [];\r\n return {\r\n ...item,\r\n items: items.map((i) => [i]),\r\n };\r\n });\r\n }\r\n\r\n private handleSticky(): void {\r\n this.isSticky = window.scrollY > this.stickyThreshold;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport { ToastrNotificationService } from '@lbmx/phoenix-lib-utils';\r\n\r\nimport { selectors } from '@lbmx/app-state';\r\nimport { NavItem } from '@lbmx/types';\r\n\r\nimport { translate } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { routePermissions } from './permissions';\r\n\r\n@Component({\r\n selector: 'app-main-navigation-container',\r\n templateUrl: './main-navigation-container.component.html',\r\n})\r\nexport class MainNavigationContainerComponent implements OnInit {\r\n public allowedModules$: Observable<{ [key: string]: boolean }>;\r\n public navigationItems$: Observable;\r\n\r\n constructor(\r\n private logger: LoggerService,\r\n private router: Router,\r\n private store: Store,\r\n private toastrNotificationService: ToastrNotificationService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.navigationItems$ = this.store.pipe(select(selectors.navItems));\r\n }\r\n}\r\n","export { default as routePermissions } from './routes';\r\n","import { toolKeys } from '@lbmx/types';\r\nexport default {\r\n '/PIMModule': toolKeys.PIM,\r\n '/MarketplacePartnersModule': toolKeys.MPP,\r\n '/AdministrationModule': toolKeys.ADMINISTRATION,\r\n '/MarketplaceModule': toolKeys.MP,\r\n '/pay-module': toolKeys.MP_INVOICE_PAY,\r\n '/userProfile': toolKeys.AUTHENTICATED,\r\n};\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYWluLXNjcm9sbC10b3AvbWFpbi1zY3JvbGwtdG9wLmNvbXBvbmVudC5zY3NzIn0= */\";","import { DOCUMENT } from '@angular/common';\r\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\r\n\r\n@Component\r\n({\r\n selector: 'app-main-scroll-top',\r\n templateUrl: './main-scroll-top.component.html',\r\n styleUrls: ['./main-scroll-top.component.scss']\r\n})\r\n\r\nexport class ScrollTopComponent implements OnInit {\r\n //#region Properties\r\n\r\n // public\r\n public onWindowScrolled = false;\r\n\r\n // private\r\n private document: Document;\r\n\r\n //#endregion\r\n\r\n constructor(@Inject(DOCUMENT) document: Document) {\r\n this.document = document;\r\n }\r\n\r\n public ngOnInit() {\r\n /** empty block */\r\n }\r\n\r\n //#region Methods\r\n\r\n @HostListener('window:scroll', [])\r\n public onWindowScroll() {\r\n if (\r\n window.pageYOffset ||\r\n this.document.documentElement.scrollTop ||\r\n this.document.body.scrollTop > 100\r\n ) {\r\n this.onWindowScrolled = true;\r\n } else if (\r\n this.onWindowScrolled && window.pageYOffset ||\r\n this.document.documentElement.scrollTop ||\r\n this.document.body.scrollTop < 10\r\n ) {\r\n this.onWindowScrolled = false;\r\n }\r\n }\r\n\r\n public scrollToTop() {\r\n const self = this;\r\n\r\n (function smoothscroll() {\r\n const currentScroll = self.document.documentElement.scrollTop || self.document.body.scrollTop;\r\n\r\n if (currentScroll > 0) {\r\n window.requestAnimationFrame(smoothscroll);\r\n window.scrollTo(0, currentScroll - (currentScroll / 8));\r\n }\r\n })();\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport {\r\n BaseHttpService,\r\n SearchContainerLoaderService,\r\n} from '@lbmx/search-container';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Store } from '@ngrx/store';\r\nimport { ConfirmationService } from 'primeng-lts';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-make-payments',\r\n templateUrl: './make-payments.component.html',\r\n providers: [SearchContainerLoaderService, ConfirmationService],\r\n})\r\nexport class MakePaymentsComponent implements OnInit {\r\n // search container loader states\r\n public searchContainerName = 'makePayments';\r\n public i18nSearchField = 'MAKE_PAYMENT.SEARCH';\r\n public toolbarActionsDispatcher = {};\r\n public baseUrl = `${this.configPrv.AppSetting?.uriMarketplace?.receivedInvoiceRootURL}/payment`;\r\n public columnActions = {};\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n private translocoService: TranslocoService,\r\n private toast: ToastrNotificationService,\r\n private spinner: SpinnerService,\r\n private configPrv: ConfigProvider,\r\n private http: BaseHttpService,\r\n private searchContainerLoaderService: SearchContainerLoaderService,\r\n private store: Store\r\n ) {\r\n http.baseUrl =\r\n this.configPrv.AppSetting?.uriMarketplace?.receivedInvoiceRootURL;\r\n }\r\n\r\n public ngOnInit(): void {\r\n /** empty block */\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { UtilsModule } from '@lbmx/phoenix-lib-utils';\r\nimport { SearchContainerLoaderModule } from '@lbmx/search-container';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule, DialogModule, ProgressSpinnerModule } from 'primeng-lts';\r\nimport { MakePaymentsComponent } from './make-payments.component';\r\n\r\n@NgModule({\r\n declarations: [MakePaymentsComponent],\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n SearchContainerLoaderModule,\r\n TranslocoModule,\r\n UtilsModule,\r\n PerFormPrimengModule,\r\n ButtonModule,\r\n ProgressSpinnerModule,\r\n ],\r\n})\r\nexport class MakePaymentsModule {}\r\n","export default \":host ::ng-deep .dashboard > .body {\\n position: relative;\\n min-height: 40vh;\\n grid-auto-rows: unset;\\n gap: 1.5em;\\n}\\n:host ::ng-deep .widget {\\n display: flex;\\n flex-direction: column;\\n}\\n:host ::ng-deep .widget .body {\\n height: 100%;\\n width: 100%;\\n}\\n:host ::ng-deep .widget .body .center {\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n:host ::ng-deep .la-negative .widget {\\n background-color: #bd0024;\\n}\\n:host ::ng-deep .la-negative .widget i {\\n color: #ffffff;\\n}\\n:host ::ng-deep .la-negative .widget .la-widget-header {\\n color: #ffffff;\\n}\\n:host ::ng-deep .la-negative .widget .la-widget-value {\\n color: #ffffff;\\n}\\n:host ::ng-deep .la-negative .widget .la-widget-sub {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n}\\n:host ::ng-deep .la-negative .widget .la-widget-sub .la-widget-variance {\\n font-weight: bold;\\n color: #ffffff;\\n}\\n:host ::ng-deep .la-positive .widget .la-widget-sub {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n}\\n:host ::ng-deep .la-widget:has(.la-widget-fullscreen) {\\n position: absolute;\\n left: 0;\\n background-color: white;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n z-index: 50;\\n}\\n:host ::ng-deep .pointer {\\n cursor: pointer;\\n}\\n:host ::ng-deep .tab-widget {\\n height: 100%;\\n width: 100%;\\n}\\n:host ::ng-deep .tab-widget .tab-header {\\n display: flex;\\n}\\n:host ::ng-deep .tab-widget .tab-header .header {\\n flex-grow: 1;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n column-gap: 0.5em;\\n padding: 0.5em 0.5em 0.75em 0.5em;\\n}\\n:host ::ng-deep .tab-widget .tab-header .tabs {\\n padding: 0 1em;\\n display: flex;\\n column-gap: 0.5em;\\n}\\n:host ::ng-deep .tab-widget .tab-header .tabs .header.selected {\\n font-weight: normal;\\n}\\n:host ::ng-deep .tab-widget .body {\\n padding: 0 1em 0.5em 1em;\\n height: 100%;\\n}\\n:host ::ng-deep .tab-widget .center {\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvc2VjdXJlL21hcmtldHBsYWNlLWFuYWx5dGljcy9kYXNoYm9hcmQtbG9hZGVyL0M6XFxBZ2VudFxcX3dvcmtcXDYwXFxzL3NyY1xcYXBwXFxmZWF0dXJlc1xcc2VjdXJlXFxtYXJrZXRwbGFjZS1hbmFseXRpY3NcXGRhc2hib2FyZC1sb2FkZXJcXGRhc2hib2FyZC1sb2FkZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvZGFzaGJvYXJkLWxvYWRlci9kYXNoYm9hcmQtbG9hZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVJO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtBQ0ROO0FESUU7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7QUNGSjtBREdJO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUNETjtBREVNO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDQVI7QURLSTtFQUNFLHlCQUFBO0FDSE47QURJTTtFQUNFLGNBQUE7QUNGUjtBRElNO0VBQ0UsY0FBQTtBQ0ZSO0FESU07RUFDRSxjQUFBO0FDRlI7QURJTTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0FDRlI7QURHUTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtBQ0RWO0FEUU07RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBQ05SO0FEVUU7RUFDRSxrQkFBQTtFQUNBLE9BQUE7RUFDQSx1QkFBQTtFQUNBLFFBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7QUNSSjtBRFVFO0VBQ0UsZUFBQTtBQ1JKO0FEV0U7RUFDRSxZQUFBO0VBQ0EsV0FBQTtBQ1RKO0FEVUk7RUFDRSxhQUFBO0FDUk47QURVTTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUNBQUE7QUNSUjtBRFVNO0VBQ0UsY0FBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtBQ1JSO0FEVVE7RUFDRSxtQkFBQTtBQ1JWO0FEWUk7RUFDRSx3QkFBQTtFQUNBLFlBQUE7QUNWTjtBRGFJO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDWE4iLCJmaWxlIjoic3JjL2FwcC9mZWF0dXJlcy9zZWN1cmUvbWFya2V0cGxhY2UtYW5hbHl0aWNzL2Rhc2hib2FyZC1sb2FkZXIvZGFzaGJvYXJkLWxvYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCB7XHJcbiAgLmRhc2hib2FyZCB7XHJcbiAgICA+IC5ib2R5IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA0MHZoO1xyXG4gICAgICBncmlkLWF1dG8tcm93czogdW5zZXQ7XHJcbiAgICAgIGdhcDogMS41ZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIC53aWRnZXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAuYm9keSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC5jZW50ZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhLW5lZ2F0aXZlIHtcclxuICAgIC53aWRnZXQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQwMDI0O1xyXG4gICAgICBpIHtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgfVxyXG4gICAgICAubGEtd2lkZ2V0LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIH1cclxuICAgICAgLmxhLXdpZGdldC12YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIH1cclxuICAgICAgLmxhLXdpZGdldC1zdWIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAubGEtd2lkZ2V0LXZhcmlhbmNlIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYS1wb3NpdGl2ZSB7XHJcbiAgICAud2lkZ2V0IHtcclxuICAgICAgLmxhLXdpZGdldC1zdWIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGEtd2lkZ2V0OmhhcygubGEtd2lkZ2V0LWZ1bGxzY3JlZW4pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgei1pbmRleDogNTA7XHJcbiAgfVxyXG4gIC5wb2ludGVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC50YWItd2lkZ2V0IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLnRhYi1oZWFkZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgLmhlYWRlciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IDAuNWVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAuNzVlbSAwLjVlbTtcclxuICAgICAgfVxyXG4gICAgICAudGFicyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjb2x1bW4tZ2FwOiAwLjVlbTtcclxuXHJcbiAgICAgICAgLmhlYWRlci5zZWxlY3RlZCB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJvZHkge1xyXG4gICAgICBwYWRkaW5nOiAwIDFlbSAwLjVlbSAxZW07XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY2VudGVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiOmhvc3QgOjpuZy1kZWVwIC5kYXNoYm9hcmQgPiAuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNDB2aDtcbiAgZ3JpZC1hdXRvLXJvd3M6IHVuc2V0O1xuICBnYXA6IDEuNWVtO1xufVxuOmhvc3QgOjpuZy1kZWVwIC53aWRnZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuOmhvc3QgOjpuZy1kZWVwIC53aWRnZXQgLmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuOmhvc3QgOjpuZy1kZWVwIC53aWRnZXQgLmJvZHkgLmNlbnRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG46aG9zdCA6Om5nLWRlZXAgLmxhLW5lZ2F0aXZlIC53aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQwMDI0O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5sYS1uZWdhdGl2ZSAud2lkZ2V0IGkge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbjpob3N0IDo6bmctZGVlcCAubGEtbmVnYXRpdmUgLndpZGdldCAubGEtd2lkZ2V0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5sYS1uZWdhdGl2ZSAud2lkZ2V0IC5sYS13aWRnZXQtdmFsdWUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbjpob3N0IDo6bmctZGVlcCAubGEtbmVnYXRpdmUgLndpZGdldCAubGEtd2lkZ2V0LXN1YiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5sYS1uZWdhdGl2ZSAud2lkZ2V0IC5sYS13aWRnZXQtc3ViIC5sYS13aWRnZXQtdmFyaWFuY2Uge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG46aG9zdCA6Om5nLWRlZXAgLmxhLXBvc2l0aXZlIC53aWRnZXQgLmxhLXdpZGdldC1zdWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbjpob3N0IDo6bmctZGVlcCAubGEtd2lkZ2V0OmhhcygubGEtd2lkZ2V0LWZ1bGxzY3JlZW4pIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiA1MDtcbn1cbjpob3N0IDo6bmctZGVlcCAucG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbjpob3N0IDo6bmctZGVlcCAudGFiLXdpZGdldCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG46aG9zdCA6Om5nLWRlZXAgLnRhYi13aWRnZXQgLnRhYi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuOmhvc3QgOjpuZy1kZWVwIC50YWItd2lkZ2V0IC50YWItaGVhZGVyIC5oZWFkZXIge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDAuNWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjc1ZW0gMC41ZW07XG59XG46aG9zdCA6Om5nLWRlZXAgLnRhYi13aWRnZXQgLnRhYi1oZWFkZXIgLnRhYnMge1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sdW1uLWdhcDogMC41ZW07XG59XG46aG9zdCA6Om5nLWRlZXAgLnRhYi13aWRnZXQgLnRhYi1oZWFkZXIgLnRhYnMgLmhlYWRlci5zZWxlY3RlZCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG46aG9zdCA6Om5nLWRlZXAgLnRhYi13aWRnZXQgLmJvZHkge1xuICBwYWRkaW5nOiAwIDFlbSAwLjVlbSAxZW07XG4gIGhlaWdodDogMTAwJTtcbn1cbjpob3N0IDo6bmctZGVlcCAudGFiLXdpZGdldCAuY2VudGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iXX0= */\";","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Action, ActionDispatcher, ActionUiService } from '@lbmx/action-ui';\r\nimport {\r\n AnalyticsStatus,\r\n ChartResponse,\r\n ColorType,\r\n Filters,\r\n Icons,\r\n KpiResponse,\r\n TemplateTypes,\r\n} from '@lbmx/analytics';\r\nimport { GenerateFormService, PerForm } from '@lbmx/per-form';\r\nimport { DialogService } from 'primeng-lts';\r\nimport { forkJoin, of, Subject } from 'rxjs';\r\nimport {\r\n catchError,\r\n first,\r\n map,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { createFilters } from '../filter';\r\nimport { deconstructParams } from '../params';\r\nimport { WidgetSelectionComponent } from '../widget-selection/widget-selection.component';\r\nimport {\r\n AvailableWidget,\r\n ConfigResponse,\r\n DashboardActions,\r\n dashboardSchema,\r\n DashboardState,\r\n defaultDashboardState,\r\n WidgetTabConfig,\r\n WidgetTypes,\r\n} from './dashboard-loader.ui';\r\n\r\n@Component({\r\n selector: 'app-dashboard-loader',\r\n templateUrl: './dashboard-loader.component.html',\r\n styleUrls: ['./dashboard-loader.component.scss'],\r\n providers: [ActionUiService, DialogService],\r\n})\r\nexport class DashboardLoaderComponent implements OnInit {\r\n @Input() public configEndpoint = '';\r\n @Input() public chartAdaptor: (\r\n response: any,\r\n config?: any,\r\n type?: string\r\n ) => ChartResponse;\r\n @Input() public kpiAdaptor: (\r\n response: any,\r\n config?: any,\r\n type?: string\r\n ) => KpiResponse;\r\n @Input() public chartNoDataTest: (\r\n response: any,\r\n config?: any,\r\n type?: string\r\n ) => boolean;\r\n\r\n public header = '';\r\n public fetch = new Subject();\r\n public templateTypes = TemplateTypes;\r\n public widgetTypes = WidgetTypes;\r\n public actions: ActionDispatcher =\r\n Action.createDispatcher(dashboardSchema);\r\n public state: DashboardState;\r\n public form: PerForm;\r\n public dashboardFilters: Filters = {};\r\n public icons: Icons = [\r\n { icon: 'pi pi-refresh', callback: (controls) => controls.refresh() },\r\n {\r\n icon: 'pi pi-ellipsis-v',\r\n callback: (controls) => this.setChart(controls.index),\r\n },\r\n ];\r\n public dashConfig: WidgetTabConfig = {};\r\n\r\n constructor(\r\n public actionUi: ActionUiService,\r\n private formGenerator: GenerateFormService,\r\n public dialogService: DialogService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private http: HttpClient,\r\n private configPrv: ConfigProvider\r\n ) {\r\n this.actionUi.initialize(defaultDashboardState, this.actions);\r\n this.actionUi.state\r\n .pipe(\r\n tap((state) => (this.state = { ...state })),\r\n tap(\r\n ({ available }) =>\r\n (this.dashConfig = Object.entries(available).reduce(\r\n (\r\n widgets: WidgetTabConfig,\r\n [key, availableWidget]: [string, AvailableWidget]\r\n ): WidgetTabConfig => {\r\n const type =\r\n key.toLowerCase().includes(WidgetTypes.KPI) ||\r\n key.toLowerCase().includes(WidgetTypes.GAUGE)\r\n ? WidgetTypes.KPI\r\n : WidgetTypes.CHART;\r\n switch (type) {\r\n case WidgetTypes.KPI:\r\n return {\r\n ...widgets,\r\n [key]: {\r\n description: availableWidget?.label || '',\r\n type,\r\n widgets: {\r\n type: availableWidget.type,\r\n title: availableWidget?.label,\r\n subTitle: availableWidget?.subLabel || '',\r\n query: availableWidget.defaultQuery || {},\r\n endpoint:\r\n this.configPrv.AppSetting.uriAnalytics\r\n .queryEndpoint + availableWidget.endpoint,\r\n kpiConfig: { ...availableWidget },\r\n redirect: availableWidget?.redirect ?? null,\r\n },\r\n },\r\n };\r\n case WidgetTypes.CHART:\r\n return {\r\n ...widgets,\r\n [key]: {\r\n description: availableWidget?.label || '',\r\n type,\r\n widgets: {\r\n [key]: {\r\n label: availableWidget?.label || '',\r\n query: availableWidget?.defaultQuery || {},\r\n endpoint:\r\n this.configPrv.AppSetting.uriAnalytics\r\n .queryEndpoint + availableWidget.endpoint,\r\n type:\r\n availableWidget.type === 'line'\r\n ? 'projected'\r\n : availableWidget.type,\r\n colorType:\r\n availableWidget.colorType || ColorType.SERIES,\r\n options: availableWidget?.options || {},\r\n config: { ...availableWidget },\r\n columns: availableWidget?.columns,\r\n },\r\n },\r\n },\r\n };\r\n }\r\n },\r\n {}\r\n ))\r\n ),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n this.fetch\r\n .pipe(\r\n tap(() => this.actions.setStatus.dispatch(AnalyticsStatus.LOADING)),\r\n switchMap(() =>\r\n forkJoin([\r\n this.http\r\n .get(this.configEndpoint, {\r\n withCredentials: true,\r\n })\r\n .pipe(map(({ record }) => record)),\r\n this.route.queryParams.pipe(first()),\r\n ]).pipe(\r\n catchError((err) => {\r\n this.actions.setStatus.dispatch(AnalyticsStatus.ERROR);\r\n this.router.navigate(['/home']);\r\n return of(err);\r\n })\r\n )\r\n ),\r\n tap(([{ label, filters, widgets }, params]) => {\r\n this.header = label;\r\n this.form = this.formGenerator.init(\r\n {\r\n fields: filters,\r\n layout:\r\n window.innerWidth > 592\r\n ? {\r\n 'grid-template-columns': '1fr 1fr 1fr 1fr',\r\n 'column-gap': '1.5em',\r\n }\r\n : {},\r\n },\r\n deconstructParams(\r\n filters,\r\n params?.filters ? JSON.parse(params?.filters) : {}\r\n )\r\n );\r\n this.actions.updateState.dispatch({\r\n gridArea: widgets?.grid?.layout || [],\r\n types: widgets?.grid?.types || [],\r\n configured: widgets?.configured || [],\r\n available: widgets?.available || {},\r\n smallGridArea: {\r\n breakPoint: 592,\r\n gridArea: widgets?.configured.reduce(\r\n (grid: number[][], _: string, index: number): number[][] => [\r\n ...grid,\r\n [index],\r\n ],\r\n []\r\n ),\r\n },\r\n });\r\n this.form.values$\r\n .pipe(\r\n map(\r\n (dashboardFilters) =>\r\n (this.dashboardFilters = createFilters(\r\n this.form.schema,\r\n dashboardFilters\r\n ))\r\n ),\r\n tap((formFilters) =>\r\n this.router.navigate(['./'], {\r\n relativeTo: this.route,\r\n queryParams:\r\n Object.keys(formFilters).length !== 0\r\n ? { filters: JSON.stringify(formFilters) }\r\n : {},\r\n })\r\n ),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n }),\r\n tap(() => this.actions.finalize.dispatch()),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.fetch.next();\r\n }\r\n\r\n public setChart(index: number) {\r\n const type = this.state.types[index];\r\n const ref = this.dialogService.open(WidgetSelectionComponent, {\r\n data: {\r\n state: { ...this.dashConfig },\r\n type,\r\n },\r\n showHeader: false,\r\n styleClass: 'kpi-dialog',\r\n });\r\n ref.onClose\r\n .pipe(\r\n tap((name) => name && this.actions.setWidget.dispatch({ index, name })),\r\n tap(\r\n (name) =>\r\n name &&\r\n this.http\r\n .post(\r\n this.configEndpoint,\r\n {\r\n widgets: [...this.state.configured],\r\n },\r\n { withCredentials: true }\r\n )\r\n .pipe(takeUntil(this.actionUi.shouldDestroy))\r\n .subscribe()\r\n ),\r\n takeUntil(this.actionUi.shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","import { ActionCreator, DispatchSchema } from '@lbmx/action-ui';\r\nimport {\r\n AnalyticsStatus,\r\n ChartTabConfig,\r\n ColorType,\r\n GridArea,\r\n Icons,\r\n Kpi,\r\n RedirectConfig,\r\n SearchFilters,\r\n} from '@lbmx/analytics';\r\nimport { Form, FormDefinition } from '@lbmx/per-form';\r\nimport { ChartOptions } from 'chart.js';\r\nimport { ColumnsConfig } from '../report-loader/report-loader.ui';\r\n\r\nexport enum WidgetTypes {\r\n CHART = 'chart',\r\n KPI = 'kpi',\r\n GAUGE = 'gauge',\r\n}\r\n\r\nexport interface Kpis {\r\n [key: string]: DashboardKpi;\r\n}\r\n\r\nexport interface DashboardKpi extends Kpi {\r\n description: string;\r\n icons: Icons;\r\n}\r\n\r\nexport interface SetWidget {\r\n index: number;\r\n name: string;\r\n}\r\n\r\nexport interface WidgetTabConfig {\r\n [key: string]: {\r\n description: string;\r\n type: string;\r\n widgets: ChartTabConfig | Kpi;\r\n };\r\n}\r\n\r\nexport interface AvailableWidget {\r\n type: string;\r\n label: string;\r\n endpoint: string;\r\n defaultQuery: SearchFilters;\r\n colorType?: ColorType;\r\n legendField?: string;\r\n options?: ChartOptions;\r\n subLabel?: string;\r\n toolTips?: Array<{ value: any; label: string }>;\r\n valueField?: string;\r\n valueFormattedField?: string;\r\n varianceField?: string;\r\n varianceFormattedField?: string;\r\n xAxisField?: string;\r\n yAxisField?: string;\r\n redirect?: RedirectConfig;\r\n columns?: ColumnsConfig[];\r\n}\r\nexport interface DashboardState {\r\n configured: string[];\r\n types: string[];\r\n available: {\r\n [key: string]: AvailableWidget;\r\n };\r\n gridArea: number[][];\r\n smallGridArea?: GridArea;\r\n mediumGridArea?: GridArea;\r\n status: AnalyticsStatus;\r\n settings?: boolean;\r\n}\r\n\r\nexport interface DashboardActions {\r\n finalize: ActionCreator;\r\n setConfigured: ActionCreator;\r\n setWidget: ActionCreator;\r\n setStatus: ActionCreator;\r\n setGridArea: ActionCreator;\r\n updateState: ActionCreator;\r\n}\r\n\r\nexport const dashboardSchema: DispatchSchema =\r\n {\r\n finalize: {\r\n command: (_, state: DashboardState) => {\r\n const status = state.status < 0 ? state.status : AnalyticsStatus.DONE;\r\n return { status };\r\n },\r\n },\r\n setConfigured: { command: (configured: string[]) => ({ configured }) },\r\n setGridArea: { command: (gridArea: number[][]) => ({ gridArea }) },\r\n setStatus: { command: (status: AnalyticsStatus) => ({ status }) },\r\n setWidget: {\r\n command: ({ index, name }: SetWidget, { configured }: DashboardState) => {\r\n const newConfigured = [...configured];\r\n newConfigured[index] = name;\r\n return { configured: [...newConfigured] };\r\n },\r\n },\r\n updateState: {\r\n command: (state: Partial) => ({ ...state }),\r\n },\r\n };\r\n\r\nexport const defaultDashboardState: DashboardState = {\r\n configured: [],\r\n types: [],\r\n gridArea: [],\r\n available: {},\r\n status: AnalyticsStatus.READY,\r\n};\r\n\r\nexport interface ConfigResponse {\r\n record: {\r\n label: string;\r\n filters: FormDefinition;\r\n widgets: {\r\n configured: string[];\r\n grid: number[][];\r\n available: {\r\n [key: string]: {\r\n type: string;\r\n label: string;\r\n endpoint: string;\r\n defaultQuery: SearchFilters;\r\n legendField?: string;\r\n subLabel?: string;\r\n toolTips?: Array<{ value: any; label: string }>;\r\n valueField?: string;\r\n valueFormattedField?: string;\r\n varianceField?: string;\r\n varianceFormattedField?: string;\r\n xAxisField?: string;\r\n yAxisField?: string;\r\n };\r\n };\r\n };\r\n };\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvZGFzaGJvYXJkLXRlbXBsYXRlL2Rhc2hib2FyZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { delay, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport {\r\n chartNoDataTest,\r\n kpiAdaptor,\r\n transformResponse,\r\n} from './dashboard-template.ui';\r\n\r\n@Component({\r\n selector: 'app-dashboard-template',\r\n templateUrl: './dashboard-template.component.html',\r\n styleUrls: ['./dashboard-template.component.scss'],\r\n})\r\nexport class DashboardTemplateComponent implements OnInit {\r\n public endpoint = '';\r\n public adaptor = transformResponse;\r\n public kpiAdaptor = kpiAdaptor;\r\n public chartNoDataTest = chartNoDataTest;\r\n public load = false;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private configProvider: ConfigProvider\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.activatedRoute.params\r\n .pipe(\r\n tap(() => (this.load = false)),\r\n delay(0),\r\n tap(() => (this.load = true)),\r\n tap(\r\n (data: { dashboard: string; [key: string]: any }) =>\r\n (this.endpoint = `${this.configProvider.AppSetting.uriAnalytics.getPurchasesDashboardConfig}${data?.dashboard}`)\r\n )\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","import {\r\n ChartResponse,\r\n DataConfig,\r\n KpiResponse,\r\n SearchFilters,\r\n Tooltip,\r\n Tooltips,\r\n} from '@lbmx/analytics';\r\nimport { AvailableWidget } from '../dashboard-loader/dashboard-loader.ui';\r\nimport { ColumnsConfig } from '../report-loader/report-loader.ui';\r\n\r\nexport interface ChartConfiguration {\r\n type: string;\r\n label: string;\r\n xAxisField: string;\r\n yAxisField: string;\r\n legendField: string;\r\n toolTips: ToolTipConfig[];\r\n supportedFilters: string[];\r\n query: SearchFilters;\r\n columns?: ColumnsConfig[];\r\n}\r\n\r\nexport interface ToolTipConfig {\r\n label: string;\r\n field: string;\r\n format?: string;\r\n}\r\n\r\nexport interface DatasetConfig {\r\n label: string;\r\n data: any[];\r\n tooltips: Tooltip[];\r\n isProjected?: boolean;\r\n}\r\n\r\nexport type Response = DataPoint[];\r\nexport interface DataPoint {\r\n [key: string]: number | string;\r\n}\r\n\r\nexport const transformResponse = (\r\n response: { records: Response },\r\n {\r\n xAxisField,\r\n yAxisField,\r\n legendField,\r\n toolTips,\r\n type,\r\n columns,\r\n }: ChartConfiguration\r\n): ChartResponse => {\r\n if (type === 'table-grid') {\r\n return {\r\n columns,\r\n data: { labels: [], datasets: [], results: response.records },\r\n };\r\n }\r\n const newToolTip = toolTips ?? [];\r\n const ifHorizontal = type.toLowerCase().includes('horizontal');\r\n const dimField = ifHorizontal ? yAxisField : xAxisField;\r\n const valueField = ifHorizontal ? xAxisField : yAxisField;\r\n const ifLegendField = !!legendField;\r\n return ifLegendField\r\n ? {\r\n columns,\r\n data: response.records.reduce(\r\n (\r\n { labels, datasets, ...rest }: DataConfig,\r\n dataPoint: DataPoint\r\n ): DataConfig => {\r\n const newLabels = isNewLabel(dataPoint[dimField], labels);\r\n const ifDatasetExists = !!datasets.find(\r\n (dataset) => dataset.label === dataPoint[legendField].toString()\r\n );\r\n const newDataSets: DatasetConfig[] = ifDatasetExists\r\n ? [\r\n ...datasets.map((dataset) => {\r\n if (dataset.label === dataPoint[legendField].toString()) {\r\n const data = [...dataset.data];\r\n data[newLabels.indexOf(dataPoint[dimField].toString())] =\r\n dataPoint[valueField];\r\n const tooltips = [...dataset.tooltips];\r\n tooltips[\r\n newLabels.indexOf(dataPoint[dimField].toString())\r\n ] = newToolTip.reduce(\r\n (toolTip: Tooltip, config: ToolTipConfig): Tooltip => {\r\n return [\r\n ...toolTip,\r\n {\r\n label: config.label,\r\n value: dataPoint[config.field],\r\n },\r\n ];\r\n },\r\n []\r\n );\r\n return {\r\n ...dataset,\r\n data,\r\n tooltips,\r\n };\r\n }\r\n return { ...dataset };\r\n }),\r\n ]\r\n : [\r\n ...datasets,\r\n {\r\n label: dataPoint[legendField].toString(),\r\n data: addToData(\r\n newLabels.indexOf(dataPoint[dimField].toString()),\r\n dataPoint[valueField]\r\n ),\r\n tooltips: addToTooltip(\r\n newLabels.indexOf(dataPoint[dimField].toString()),\r\n newToolTip,\r\n dataPoint\r\n ),\r\n isProjected: dataPoint?.isProjected === 1,\r\n },\r\n ];\r\n return {\r\n labels: [...newLabels],\r\n datasets: [...newDataSets],\r\n ...rest,\r\n };\r\n },\r\n { labels: [], datasets: [], results: response.records }\r\n ),\r\n }\r\n : {\r\n columns,\r\n data: response.records.reduce(\r\n (\r\n { labels, datasets, ...rest }: DataConfig,\r\n dataPoint: DataPoint\r\n ): DataConfig => {\r\n const newDataSets: DatasetConfig = {\r\n label: datasets[0].label,\r\n data: [...datasets[0].data, dataPoint[valueField]],\r\n tooltips: [\r\n ...datasets[0].tooltips,\r\n newToolTip.reduce(\r\n (toolTip: Tooltip, config: ToolTipConfig): Tooltip => {\r\n return [\r\n ...toolTip,\r\n { label: config.label, value: dataPoint[config.field] },\r\n ];\r\n },\r\n []\r\n ),\r\n ],\r\n isProjected: dataPoint?.isProjected === 1,\r\n };\r\n const newLabels = [...labels, dataPoint[dimField].toString()];\r\n return {\r\n labels: [...newLabels],\r\n datasets: [{ ...newDataSets }],\r\n ...rest,\r\n };\r\n },\r\n {\r\n labels: [],\r\n datasets: [{ label: 'data', data: [], tooltips: [] }],\r\n results: response.records,\r\n }\r\n ),\r\n };\r\n};\r\n\r\nconst isNewLabel = (\r\n xAxisFieldPoint: string | number,\r\n labels: string[]\r\n): string[] => {\r\n if (xAxisFieldPoint && labels.indexOf(xAxisFieldPoint.toString()) === -1) {\r\n return [...labels, xAxisFieldPoint.toString()];\r\n }\r\n return labels;\r\n};\r\n\r\nconst addToData = (index: number, value: any): any[] => {\r\n const data = [];\r\n data[index] = value;\r\n return [...data];\r\n};\r\n\r\nconst addToTooltip = (\r\n index: number,\r\n toolTip: ToolTipConfig[],\r\n dataPoint: DataPoint\r\n): Tooltips => {\r\n const tooltip: Tooltips = [];\r\n tooltip[index] = toolTip.reduce(\r\n (toolTips: Tooltip, config: ToolTipConfig): Tooltip => {\r\n return [\r\n ...toolTips,\r\n { label: config.label, value: dataPoint[config.field] },\r\n ];\r\n },\r\n []\r\n );\r\n return [...tooltip];\r\n};\r\n\r\nexport const kpiAdaptor = (\r\n response: { records: Response },\r\n config: AvailableWidget,\r\n type: string\r\n): KpiResponse => {\r\n switch (type) {\r\n case 'variance-gauge':\r\n return {\r\n value: response.records[0] ? response.records[0][config.valueField] : 0,\r\n deltaValue: response.records[0][config.varianceField] as number,\r\n delta: (response.records[0]\r\n ? response.records[0][config.varianceFormattedField]\r\n : '0%'\r\n ).toString(),\r\n };\r\n case 'variance':\r\n return {\r\n value: (response.records[0]\r\n ? response.records[0][config.valueFormattedField]\r\n : '0'\r\n ).toString(),\r\n delta: (response.records[0]\r\n ? response.records[0][config.varianceFormattedField]\r\n : '0%'\r\n ).toString(),\r\n isNegative: response.records[0]\r\n ? (response.records[0][config.varianceField] as number) < 0\r\n : false,\r\n };\r\n default:\r\n return {\r\n value: (response.records[0]\r\n ? response.records[0][config.valueFormattedField]\r\n : 0\r\n ).toString(),\r\n };\r\n }\r\n};\r\n\r\nexport const chartNoDataTest = (\r\n records: { records: Response; totalRecords: number },\r\n config: AvailableWidget,\r\n type: string\r\n): boolean => {\r\n return records.totalRecords === 0 ? true : false;\r\n};\r\n","import { Filters, Sort } from '@lbmx/analytics';\r\nimport { FieldsSchema, Form, PerForm } from '@lbmx/per-form';\r\nimport { add, sub } from 'date-fns';\r\nimport { FilterType } from './report-loader/report-loader.ui';\r\n\r\nexport interface ReportFilters {\r\n variances: Filters[];\r\n filters: Filters;\r\n sort: Sort;\r\n}\r\n\r\nexport const createReportFilters = (form: PerForm): ReportFilters => {\r\n return Object.entries(form.values).reduce(\r\n (\r\n reportFilters: ReportFilters,\r\n [key, value]: [string, any]\r\n ): ReportFilters => {\r\n switch (form.schema[key].filterType) {\r\n case FilterType.VARIANCE:\r\n return {\r\n ...reportFilters,\r\n variances: [\r\n ...reportVariance(\r\n key,\r\n value ? value[0] : null,\r\n value ? value[1] : null,\r\n form.schema[key].varianceCount\r\n ),\r\n ],\r\n };\r\n case FilterType.FILTER:\r\n return {\r\n ...reportFilters,\r\n filters: {\r\n ...reportFilters.filters,\r\n ...doForType(form.schema, key, value),\r\n },\r\n };\r\n case FilterType.SORT_FIELD:\r\n return {\r\n ...reportFilters,\r\n sort:\r\n value === '' || value === null || value === undefined\r\n ? []\r\n : [\r\n {\r\n ...reportFilters.sort[0],\r\n field: value,\r\n },\r\n ],\r\n };\r\n case FilterType.SORT_ORDER:\r\n return {\r\n ...reportFilters,\r\n sort:\r\n value === '' || value === null || value === undefined\r\n ? []\r\n : [\r\n {\r\n ...reportFilters.sort[0],\r\n order: value,\r\n },\r\n ],\r\n };\r\n default:\r\n return { ...reportFilters };\r\n }\r\n },\r\n { variances: [], filters: {}, sort: [] }\r\n );\r\n};\r\n\r\nexport const reportVariance = (\r\n name: string,\r\n min: any,\r\n max: any,\r\n count: number = 1\r\n): Filters[] => {\r\n let variance: Filters[] = [];\r\n for (let i = 0; i < count; i++) {\r\n variance = [\r\n ...variance,\r\n dateRange(\r\n name,\r\n min ? sub(min, { years: i }) : null,\r\n max ? sub(max, { years: i }) : null\r\n ),\r\n ];\r\n }\r\n return variance;\r\n};\r\n\r\nexport const createSort = (\r\n values: Form,\r\n sortField: string,\r\n orderField: string\r\n): Sort => {\r\n return values[sortField]\r\n ? [\r\n {\r\n field: values[sortField],\r\n order: values[orderField] ? values[orderField] : 1,\r\n },\r\n ]\r\n : [];\r\n};\r\n\r\nexport const createFilters = (\r\n schema: FieldsSchema,\r\n values: Form\r\n): Filters => {\r\n return Object.entries(values).reduce(\r\n (filters: Filters, [key, value]: [string, any]) => ({\r\n ...filters,\r\n ...doForType(schema, key, value),\r\n }),\r\n {}\r\n );\r\n};\r\n\r\nexport const doForType = (\r\n schema: FieldsSchema,\r\n name: string,\r\n value: any\r\n) => {\r\n switch (schema[name].type) {\r\n case 'dateRange':\r\n case 'dateTimeRange':\r\n return dateRange(name, value ? value[0] : null, value ? value[1] : null);\r\n case 'checkboxSelection':\r\n case 'multiSelect':\r\n return eqArray(name, value);\r\n case 'text':\r\n return fz(name, value);\r\n default:\r\n return eq(name, value);\r\n }\r\n};\r\n\r\nconst fz = (name: string, value = '') => {\r\n return value === '' ? {} : { [name]: { fz: [value] } };\r\n};\r\n\r\nconst dateRange = (name: string, min: any, max: any) => {\r\n const body = Object.assign(\r\n {},\r\n min && { gte: [min.toISOString().split('T')[0]] },\r\n max && { lt: [add(max, { days: 1 }).toISOString().split('T')[0]] }\r\n );\r\n return min || max\r\n ? {\r\n [name]: body,\r\n }\r\n : {};\r\n};\r\n\r\n// const dateRange = ( name: string, min: any, max:)\r\n\r\nconst range = (name: string, min?: any, max?: any) => {\r\n const body = Object.assign(\r\n {},\r\n min && { gte: [`${min}`] },\r\n max && { lte: [`${max}`] }\r\n );\r\n return min || max\r\n ? {\r\n [name]: body,\r\n }\r\n : {};\r\n};\r\n\r\nconst eqArray = (name: string, values: any[] = []) => {\r\n return values.length === 0 ? {} : { [name]: { eq: values } };\r\n};\r\n\r\nconst eq = (name: string, value: any = null) => {\r\n return `${value}` && value !== null\r\n ? {\r\n [name]: {\r\n eq: [\r\n value.constructor === Date\r\n ? value.toISOString().split('T')[0]\r\n : `${value}`,\r\n ],\r\n },\r\n }\r\n : {};\r\n};\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { AnalyticsModule, CdTableModule } from '@lbmx/analytics';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { DynamicDialogModule, ProgressSpinnerModule } from 'primeng-lts';\r\nimport { DashboardLoaderComponent } from './dashboard-loader/dashboard-loader.component';\r\nimport { DashboardTemplateComponent } from './dashboard-template/dashboard-template.component';\r\nimport { PurchasesBySupplierReportComponent } from './purchases-by-supplier-report/purchases-by-supplier-report.component';\r\nimport { ReportLoaderComponent } from './report-loader/report-loader.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\nimport { WidgetSelectionComponent } from './widget-selection/widget-selection.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardLoaderComponent,\r\n DashboardTemplateComponent,\r\n PurchasesBySupplierReportComponent,\r\n ReportLoaderComponent,\r\n ReportsComponent,\r\n WidgetSelectionComponent,\r\n ],\r\n imports: [\r\n AnalyticsModule,\r\n CdTableModule,\r\n CommonModule,\r\n DynamicDialogModule,\r\n PerFormPrimengModule,\r\n ProgressSpinnerModule,\r\n TranslocoModule,\r\n ],\r\n entryComponents: [WidgetSelectionComponent],\r\n})\r\nexport class MarketplaceAnalyticsModule {}\r\n","import { Filter, Filters } from '@lbmx/analytics';\r\nimport { FieldsDefinition, FieldsSchema, Form } from '@lbmx/per-form';\r\nimport { add } from 'date-fns';\r\n\r\nexport const deconstructParams = (\r\n schema: FieldsDefinition,\r\n filters: Filters\r\n): Form => {\r\n return Object.entries(filters || {}).reduce(\r\n (initialValues: Form, [key, filter]: [string, Filter]): Form => {\r\n return {\r\n ...initialValues,\r\n ...deconstructFilter(schema, key, filter),\r\n };\r\n },\r\n {}\r\n );\r\n};\r\n\r\nconst deconstructFilter = (\r\n schema: FieldsDefinition,\r\n key: string,\r\n filter: Filter\r\n): Form => {\r\n switch (schema[key].type) {\r\n case 'text':\r\n return fz(key, filter);\r\n case 'dateRange':\r\n case 'dateTimeRange':\r\n return dateRange(key, filter);\r\n case 'checkboxSelection':\r\n case 'multiSelect':\r\n return eqArray(key, filter);\r\n case 'dropdown':\r\n return eq(key, filter);\r\n default:\r\n return {};\r\n }\r\n};\r\n\r\nconst fz = (key: string, filter: Filter): Form => {\r\n return filter?.fz ? (filter?.fz[0] ? { [key]: filter?.fz[0] } : {}) : {};\r\n};\r\n\r\nconst dateRange = (key: string, filter: Filter): Form => {\r\n return filter?.gte || filter?.lt\r\n ? {\r\n [key]: [\r\n filter?.gte\r\n ? filter?.gte[0]\r\n ? new Date(filter.gte[0])\r\n : null\r\n : null,\r\n filter?.lt\r\n ? filter?.lt[0]\r\n ? add(new Date(filter.lt[0]), { days: -1 })\r\n : null\r\n : null,\r\n ],\r\n }\r\n : {};\r\n};\r\n\r\nconst eqArray = (key: string, filter: Filter): Form => {\r\n return filter?.eq ? { [key]: filter.eq } : {};\r\n};\r\n\r\nconst eq = (key: string, filter: Filter): Form => {\r\n return filter?.eq ? (filter.eq[0] ? { [key]: filter.eq[0] } : {}) : {};\r\n};\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvcHVyY2hhc2VzLWJ5LXN1cHBsaWVyLXJlcG9ydC9wdXJjaGFzZXMtYnktc3VwcGxpZXItcmVwb3J0LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-purchases-by-supplier-report',\r\n templateUrl: './purchases-by-supplier-report.component.html',\r\n styleUrls: ['./purchases-by-supplier-report.component.scss'],\r\n})\r\nexport class PurchasesBySupplierReportComponent {}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvcmVwb3J0LWxvYWRlci9yZXBvcnQtbG9hZGVyLmNvbXBvbmVudC5zY3NzIn0= */\";","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnChanges, OnDestroy } from '@angular/core';\r\nimport {\r\n ColumnDefinition,\r\n ColumnDefinitions,\r\n TemplateTypes,\r\n} from '@lbmx/analytics';\r\nimport {\r\n Field,\r\n FieldsDefinition,\r\n Form,\r\n FormControlRole,\r\n GenerateFormService,\r\n PerForm,\r\n} from '@lbmx/per-form';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport csvDownload from 'json-to-csv-export';\r\nimport { forkJoin, Observable, Subject } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { createReportFilters } from '../filter';\r\nimport {\r\n ColumnsConfig,\r\n Footer,\r\n QueryResponse,\r\n ReportConfig,\r\n TableAlignment,\r\n} from './report-loader.ui';\r\n\r\n@Component({\r\n selector: 'app-report-loader',\r\n templateUrl: './report-loader.component.html',\r\n styleUrls: ['./report-loader.component.scss'],\r\n})\r\nexport class ReportLoaderComponent implements OnChanges, OnDestroy {\r\n @Input() public endpoint = '';\r\n\r\n public reportRequest: Observable;\r\n public tableRequest: Observable<{\r\n data: Array<{ [key: string]: any }>;\r\n footer: Footer;\r\n }>;\r\n public dataRequest: Observable>;\r\n public footerRequest: Observable
;\r\n public filterForm: PerForm;\r\n\r\n public data: Array<{ [key: string]: any }> = null;\r\n public footer: { [key: string]: any } = null;\r\n public columnsToDisplay: string[] = [];\r\n public columns: ColumnDefinitions = {};\r\n public title = '';\r\n public templateTypes = TemplateTypes;\r\n public dateRangeFields: string[] = [];\r\n\r\n private _onDestroy = new Subject();\r\n\r\n constructor(\r\n private formGenerator: GenerateFormService,\r\n private http: HttpClient,\r\n public configPrv: ConfigProvider,\r\n private translocoService: TranslocoService\r\n ) {}\r\n\r\n public ngOnChanges(): void {\r\n this.reportRequest = this.http\r\n .get(\r\n this.configPrv.AppSetting.uriAnalytics.queryEndpoint + this.endpoint,\r\n { withCredentials: true }\r\n )\r\n .pipe(\r\n tap((response: ReportConfig) => {\r\n this.dateRangeFields = [];\r\n const fields = Object.entries(response?.record?.filters).reduce(\r\n (\r\n form: FieldsDefinition,\r\n [key, value]: [string, Field]\r\n ): FieldsDefinition => {\r\n this.dateRangeFields =\r\n value.type !== 'dateRange'\r\n ? [...this.dateRangeFields]\r\n : [...this.dateRangeFields, key];\r\n return value.type !== 'dateRange'\r\n ? { ...form, [key]: { ...value } }\r\n : {\r\n ...form,\r\n [key]: {\r\n ...value,\r\n validations: [\r\n {\r\n test: (formValues) => {\r\n return (\r\n !!formValues[key] &&\r\n (formValues[key]\r\n ? !!formValues[key][0]\r\n : false) &&\r\n (formValues[key] ? !!formValues[key][1] : false)\r\n );\r\n },\r\n message: this.translocoService.translate(\r\n 'ANALYTICS.ENTER_DATE_RANGE'\r\n ),\r\n },\r\n ],\r\n defaultValue: null,\r\n },\r\n };\r\n },\r\n {}\r\n );\r\n this.filterForm = this.formGenerator.init({\r\n layout: {\r\n 'grid-template-columns': '1fr 1fr 1fr 1fr',\r\n 'column-gap': '1.5em',\r\n },\r\n controls: {\r\n export: {\r\n label: this.translocoService.translate('ACTIONS.EXPORT'),\r\n role: FormControlRole.SECONDARY,\r\n callback: (form) => {\r\n csvDownload({\r\n data: [\r\n ...this.data.map((value) =>\r\n Object.entries(this.columns).reduce(\r\n (\r\n newValue: { [key: string]: any },\r\n [key, _]: [string, ColumnDefinition]\r\n ): { [key: string]: any } => {\r\n return { ...newValue, [key]: value[key] ?? '' };\r\n },\r\n {}\r\n )\r\n ),\r\n Object.entries(this.columns).reduce(\r\n (\r\n newValue: { [key: string]: any },\r\n [key, _]: [string, ColumnDefinition]\r\n ): { [key: string]: any } => {\r\n return { ...newValue, [key]: this.footer[key] ?? '' };\r\n },\r\n {}\r\n ),\r\n ],\r\n filename: this.dateRangeFields[0]\r\n ? `${this.title.split(' ').join('_')}-${\r\n form.values[this.dateRangeFields[0]][0]\r\n .toISOString()\r\n .split('T')[0] ?? ''\r\n }_${\r\n form.values[this.dateRangeFields[0]][1]\r\n .toISOString()\r\n .split('T')[0] ?? ''\r\n }`\r\n : `${this.title.replace(/ /g, '_')}`,\r\n delimiter: ',',\r\n headers: [\r\n ...Object.entries(this.columns).map(\r\n ([_, { label }]: [string, ColumnDefinition]): string =>\r\n label || ''\r\n ),\r\n ],\r\n });\r\n },\r\n disabled: (form) => !form.valid || !this.data || !this.footer,\r\n },\r\n },\r\n fields,\r\n });\r\n this.dateRangeFields.forEach((value) =>\r\n this.filterForm.setStatus(value, 'dirty', true)\r\n );\r\n this.columns = this.buildColumns(response?.record?.columns);\r\n this.columnsToDisplay = this.buildColumnsToDisplay(\r\n response?.record?.columns\r\n );\r\n this.title = response?.record?.label || '';\r\n }),\r\n tap((response: ReportConfig) => {\r\n this.tableRequest = null;\r\n this.filterForm.values$\r\n .pipe(\r\n tap((value) => {\r\n const reportFilters = createReportFilters(this.filterForm);\r\n this.data = null;\r\n this.footer = null;\r\n this.dataRequest = this.http\r\n .post(\r\n this.configPrv.AppSetting.uriAnalytics.queryEndpoint +\r\n response?.record?.endpoint || '',\r\n {\r\n ...response?.record?.defaultQuery,\r\n variances: [\r\n ...reportFilters.variances,\r\n ...(response?.record?.defaultQuery.variances || []),\r\n ],\r\n sort: [\r\n ...reportFilters.sort,\r\n ...(response?.record?.defaultQuery.variances || []),\r\n ],\r\n filters: {\r\n ...reportFilters.filters,\r\n ...(response?.record?.defaultQuery.filters || {}),\r\n },\r\n },\r\n { withCredentials: true }\r\n )\r\n .pipe(\r\n map((res) => res?.records || []),\r\n tap((res) => (this.data = res))\r\n );\r\n this.footerRequest = this.http\r\n .post(\r\n this.configPrv.AppSetting.uriAnalytics.queryEndpoint +\r\n response?.record?.endpoint || '',\r\n {\r\n ...response?.record?.totalRowQuery,\r\n variances: [\r\n ...reportFilters.variances,\r\n ...(response?.record?.totalRowQuery.variances || []),\r\n ],\r\n filters: {\r\n ...reportFilters.filters,\r\n ...(response?.record?.totalRowQuery.filters || {}),\r\n },\r\n },\r\n { withCredentials: true }\r\n )\r\n .pipe(\r\n map((res) => res?.records[0] || {}),\r\n tap((res) => (this.footer = res))\r\n );\r\n if (this.filterForm.isValidForm(value)) {\r\n this.tableRequest = forkJoin({\r\n data: this.dataRequest,\r\n footer: this.footerRequest,\r\n });\r\n }\r\n }),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe();\r\n }),\r\n takeUntil(this._onDestroy)\r\n );\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._onDestroy.next(true);\r\n }\r\n\r\n public buildColumns(columnsConfig: ColumnsConfig[]): ColumnDefinitions {\r\n return columnsConfig.reduce(\r\n (\r\n columnsDef: ColumnDefinitions,\r\n { valueField, label, alignment }: ColumnsConfig\r\n ): ColumnDefinitions => {\r\n return {\r\n ...columnsDef,\r\n [valueField]: {\r\n label,\r\n styles: { ...this.getAlignment(alignment) },\r\n },\r\n };\r\n },\r\n {}\r\n );\r\n }\r\n\r\n public getAlignment(alignment: TableAlignment) {\r\n switch (alignment) {\r\n case TableAlignment.RIGHT:\r\n return { data: { 'content-end': true } };\r\n case TableAlignment.CENTER:\r\n return { data: { center: true } };\r\n case TableAlignment.LEFT:\r\n default:\r\n return {};\r\n }\r\n }\r\n\r\n public buildColumnsToDisplay(columnsConfig: ColumnsConfig[]): string[] {\r\n return columnsConfig.map(\r\n (columnConfig: ColumnsConfig) => columnConfig.valueField\r\n );\r\n }\r\n}\r\n","import { ColumnDefinitions, SearchFilters } from '@lbmx/analytics';\r\nimport { FieldsDefinition, Form } from '@lbmx/per-form';\r\n\r\nexport enum TableAlignment {\r\n LEFT = 'left',\r\n CENTER = 'center',\r\n RIGHT = 'right',\r\n}\r\n\r\nexport enum FilterType {\r\n FILTER = 'filter',\r\n SORT_FIELD = 'sortField',\r\n SORT_ORDER = 'sortOrder',\r\n VARIANCE = 'variance',\r\n}\r\n\r\nexport interface ColumnsConfig {\r\n valueField: string;\r\n label: string;\r\n alignment: TableAlignment;\r\n}\r\n\r\nexport interface ReportConfig {\r\n record: {\r\n endpoint: string;\r\n label: string;\r\n filters: FieldsDefinition;\r\n defaultQuery: SearchFilters;\r\n columns: ColumnsConfig[];\r\n totalRowQuery: SearchFilters;\r\n };\r\n}\r\n\r\nexport interface QueryResponse {\r\n records: Array<{ [key: string]: any }>;\r\n totalRecords: number;\r\n}\r\n\r\nexport interface Footer {\r\n [key: string]: any;\r\n}\r\n\r\n// export const buildFilters;\r\n","export default \":host ::ng-deep .header {\\n display: flex;\\n justify-content: left;\\n}\\n:host ::ng-deep .lui-controls {\\n align-items: center;\\n}\\n:host ::ng-deep .widget .body {\\n padding: 0 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvc2VjdXJlL21hcmtldHBsYWNlLWFuYWx5dGljcy9yZXBvcnRzL0M6XFxBZ2VudFxcX3dvcmtcXDYwXFxzL3NyY1xcYXBwXFxmZWF0dXJlc1xcc2VjdXJlXFxtYXJrZXRwbGFjZS1hbmFseXRpY3NcXHJlcG9ydHNcXHJlcG9ydHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsYUFBQTtFQUNBLHFCQUFBO0FDQUo7QURFRTtFQUNFLG1CQUFBO0FDQUo7QURHSTtFQUNFLFlBQUE7QUNETiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3MvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3QgOjpuZy1kZWVwIHtcclxuICAuaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgfVxyXG4gIC5sdWktY29udHJvbHMge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgLndpZGdldCB7XHJcbiAgICAuYm9keSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiOmhvc3QgOjpuZy1kZWVwIC5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG59XG46aG9zdCA6Om5nLWRlZXAgLmx1aS1jb250cm9scyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG46aG9zdCA6Om5nLWRlZXAgLndpZGdldCAuYm9keSB7XG4gIHBhZGRpbmc6IDAgMDtcbn0iXX0= */\";","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {\r\n FieldsDefinition,\r\n Form,\r\n GenerateFormService,\r\n PerForm,\r\n} from '@lbmx/per-form';\r\nimport urlJoin from 'proper-url-join';\r\nimport { combineLatest, Subject } from 'rxjs';\r\nimport { first, map, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.scss'],\r\n})\r\nexport class ReportsComponent implements OnInit, OnDestroy {\r\n public reportEndpoint = '';\r\n public form: PerForm;\r\n public params: Form;\r\n private _onDestroySubject = new Subject();\r\n\r\n constructor(\r\n private formGenerator: GenerateFormService,\r\n public http: HttpClient,\r\n public configPrv: ConfigProvider,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n const configuration = this.route.data.pipe(\r\n map(\r\n (data: {\r\n appSettingKeys: string[];\r\n path: string;\r\n [key: string]: any;\r\n }): string => {\r\n const [appSettingKey, appSettingSubKey]: string[] =\r\n data?.appSettingKeys;\r\n return urlJoin(\r\n this.configPrv.AppSetting[appSettingKey][appSettingSubKey],\r\n data?.path\r\n );\r\n }\r\n )\r\n );\r\n combineLatest([this.route.queryParams.pipe(first()), configuration])\r\n .pipe(\r\n tap(\r\n ([params, _]) =>\r\n (this.params = params?.filters ? JSON.parse(params.filters) : {})\r\n ),\r\n switchMap(([_, url]) =>\r\n this.http\r\n .get(url, {\r\n withCredentials: true,\r\n })\r\n .pipe(\r\n tap((response: { fields: FieldsDefinition }) => {\r\n this.form = this.formGenerator.init(\r\n {\r\n layout: {\r\n 'grid-template-columns': '1fr 1fr 1fr 1fr',\r\n 'column-gap': '1.5em',\r\n },\r\n fields: response.fields,\r\n },\r\n this.params\r\n );\r\n }),\r\n switchMap(() =>\r\n this.form.values$.pipe(\r\n tap(\r\n (values: Form) =>\r\n (this.reportEndpoint = values?.report || '')\r\n ),\r\n tap((filters) =>\r\n this.router.navigate(['./'], {\r\n relativeTo: this.route,\r\n queryParams:\r\n Object.keys(filters).length !== 0\r\n ? { filters: JSON.stringify(filters) }\r\n : {},\r\n })\r\n )\r\n )\r\n )\r\n )\r\n ),\r\n takeUntil(this._onDestroySubject)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._onDestroySubject.next(true);\r\n }\r\n}\r\n","export default \":host ::ng-deep .lui-per-form {\\n margin-bottom: 10em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmVhdHVyZXMvc2VjdXJlL21hcmtldHBsYWNlLWFuYWx5dGljcy93aWRnZXQtc2VsZWN0aW9uL0M6XFxBZ2VudFxcX3dvcmtcXDYwXFxzL3NyY1xcYXBwXFxmZWF0dXJlc1xcc2VjdXJlXFxtYXJrZXRwbGFjZS1hbmFseXRpY3NcXHdpZGdldC1zZWxlY3Rpb25cXHdpZGdldC1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3Mvd2lkZ2V0LXNlbGVjdGlvbi93aWRnZXQtc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsbUJBQUE7QUNBSiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS9tYXJrZXRwbGFjZS1hbmFseXRpY3Mvd2lkZ2V0LXNlbGVjdGlvbi93aWRnZXQtc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3QgOjpuZy1kZWVwIHtcclxuICAubHVpLXBlci1mb3JtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwZW07XHJcbiAgfVxyXG59XHJcbiIsIjpob3N0IDo6bmctZGVlcCAubHVpLXBlci1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBlbTtcbn0iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { GenerateFormService, PerForm } from '@lbmx/per-form';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng-lts';\r\nimport {\r\n WidgetTabConfig,\r\n WidgetTypes,\r\n} from '../dashboard-loader/dashboard-loader.ui';\r\nimport {\r\n DropdownOptions,\r\n formSchema,\r\n SelectionForm,\r\n} from './widget-selection.ui';\r\n\r\n@Component({\r\n selector: 'app-widget-selection',\r\n templateUrl: './widget-selection.component.html',\r\n styleUrls: ['./widget-selection.component.scss'],\r\n})\r\nexport class WidgetSelectionComponent implements OnInit {\r\n public dashState: WidgetTabConfig;\r\n public form: PerForm;\r\n public type: WidgetTypes;\r\n public widgetTypes = WidgetTypes;\r\n constructor(\r\n private formGenerator: GenerateFormService,\r\n public ref: DynamicDialogRef,\r\n public dialogConfig: DynamicDialogConfig,\r\n private translocoService: TranslocoService\r\n ) {\r\n this.dashState = this.dialogConfig.data.state;\r\n this.type = this.dialogConfig.data.type;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.form = this.formGenerator.init(\r\n formSchema(\r\n this.buildOptions(this.dashState),\r\n this.type,\r\n this.close,\r\n this.translocoService\r\n )\r\n );\r\n }\r\n\r\n public buildOptions(state: WidgetTabConfig): DropdownOptions[] {\r\n return Object.entries(state).reduce(\r\n (options, [key, value]): DropdownOptions[] => {\r\n return value.type === this.type\r\n ? [\r\n ...options,\r\n {\r\n label: value?.widgets?.subTitle\r\n ? `${value?.description || ''} | ${value?.widgets?.subTitle}`\r\n : value?.description || '',\r\n value: key,\r\n },\r\n ]\r\n : [...options];\r\n },\r\n []\r\n );\r\n }\r\n\r\n public submit(values: SelectionForm) {\r\n this.ref.close(values.selectWidget);\r\n }\r\n\r\n public close = () => this.ref.close();\r\n}\r\n","import { FormControlRole, FormDefinition } from '@lbmx/per-form';\r\nimport { TranslocoService } from '@ngneat/transloco/public-api';\r\nimport { WidgetTypes } from '../dashboard-loader/dashboard-loader.ui';\r\n\r\nexport interface DropdownOptions {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nexport interface SelectionForm {\r\n selectWidget: string;\r\n}\r\n\r\nexport const formSchema = (\r\n options: DropdownOptions[],\r\n type: WidgetTypes,\r\n close: () => void,\r\n transloco: TranslocoService\r\n): FormDefinition => ({\r\n layout: {\r\n 'row-gap': '1em',\r\n },\r\n controls: {\r\n cancel: {\r\n label: transloco.translate('ACTIONS.CANCEL'),\r\n callback: close,\r\n role: FormControlRole.SECONDARY,\r\n },\r\n save: {\r\n label: transloco.translate('ACTIONS.SAVE'),\r\n disabled: (form) => {\r\n return !form?.values?.selectWidget;\r\n },\r\n componentProperties: {\r\n style: {\r\n 'flex-grow': 1,\r\n },\r\n },\r\n },\r\n },\r\n fields: {\r\n selectWidget: {\r\n type: 'dropdown',\r\n label: '',\r\n defaultValue: null,\r\n options: [...options],\r\n componentProperties: {\r\n placeholder:\r\n type === WidgetTypes.KPI\r\n ? transloco.translate('ANALYTICS.SELECT_KPI')\r\n : transloco.translate('ANALYTICS.SELECT_CHART'),\r\n filter: true,\r\n },\r\n },\r\n },\r\n});\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport {\r\n BaseHttpService,\r\n SearchContainerLoaderService,\r\n} from '@lbmx/search-container';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Store } from '@ngrx/store';\r\nimport { ConfirmationService } from 'primeng-lts';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n selector: 'app-open-receivables',\r\n templateUrl: './open-receivables.component.html',\r\n providers: [SearchContainerLoaderService, ConfirmationService],\r\n})\r\nexport class OpenReceivablesComponent implements OnInit {\r\n // search container loader states\r\n public searchContainerName = 'openReceivables';\r\n public i18nSearchField = 'OPEN_RECEIVABLE.SEARCH';\r\n public toolbarActionsDispatcher = {};\r\n public baseUrl = `${this.configPrv.AppSetting?.uriMarketplace?.sentInvoiceRootURL}/collection`;\r\n public columnActions = {};\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n private translocoService: TranslocoService,\r\n private toast: ToastrNotificationService,\r\n private spinner: SpinnerService,\r\n private configPrv: ConfigProvider,\r\n private http: BaseHttpService,\r\n private searchContainerLoaderService: SearchContainerLoaderService,\r\n private store: Store\r\n ) {\r\n http.baseUrl =\r\n this.configPrv.AppSetting?.uriMarketplace?.sentInvoiceRootURL;\r\n }\r\n\r\n public ngOnInit(): void {\r\n /** empty block */\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PerFormPrimengModule } from '@lbmx/per-form-primeng';\r\nimport { UtilsModule } from '@lbmx/phoenix-lib-utils';\r\nimport { SearchContainerLoaderModule } from '@lbmx/search-container';\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\nimport { ButtonModule, DialogModule, ProgressSpinnerModule } from 'primeng-lts';\r\nimport { OpenReceivablesComponent } from './open-receivables.component';\r\n\r\n@NgModule({\r\n declarations: [OpenReceivablesComponent],\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n SearchContainerLoaderModule,\r\n TranslocoModule,\r\n UtilsModule,\r\n PerFormPrimengModule,\r\n ButtonModule,\r\n ProgressSpinnerModule,\r\n ],\r\n})\r\nexport class OpenReceivablesModule {}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { OtpService } from '../../../services/otp/otp.service';\r\n\r\n@Component({\r\n selector: 'lbmx-otp',\r\n templateUrl: './otp.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OtpComponent implements AfterViewInit {\r\n public fields = new Array(6);\r\n public inputs: HTMLInputElement[];\r\n private _pointer = 0;\r\n\r\n constructor(\r\n public ref: DynamicDialogRef,\r\n public dialogConfig: DynamicDialogConfig,\r\n public otpService: OtpService,\r\n private el: ElementRef\r\n ) {}\r\n\r\n public ngAfterViewInit(): void {\r\n this.inputs = Array.from(\r\n this.el.nativeElement.querySelectorAll('input')\r\n );\r\n this.inputs[0]?.focus();\r\n }\r\n\r\n public handlePaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n const pastedData = event.clipboardData.getData('text/plain');\r\n\r\n const pastedDigits = pastedData\r\n ?.split('')\r\n .filter((char) => char.charCodeAt(0) >= 48 && char.charCodeAt(0) <= 57)\r\n .slice(0, this.inputs?.length - this._pointer)\r\n .join('');\r\n\r\n pastedDigits?.split('').forEach((digit, index) => {\r\n this.inputs[this._pointer + index].value = digit;\r\n });\r\n\r\n this._pointer =\r\n Math.min(this._pointer + pastedDigits.length, this.inputs.length) - 1;\r\n\r\n if (pastedDigits?.length > 0) {\r\n this.focusAndSelect(this.inputs[this._pointer]);\r\n this.handleSave();\r\n }\r\n }\r\n\r\n public handleKeyUp(event) {\r\n const current = this.getElementAtIndex(`${this._pointer}`);\r\n const next = this.getElementAtIndex(`${this._pointer + 1}`);\r\n const previous = this.getElementAtIndex(`${this._pointer - 1}`);\r\n\r\n // Forward\r\n this.handleMoveForward(current, next);\r\n\r\n // Backward\r\n this.handleBackspace(event, previous);\r\n\r\n // Save\r\n this.handleSave();\r\n }\r\n\r\n public handleFocus(event) {\r\n if (this._pointer !== event.target.id) {\r\n this.getElementAtIndex(`${this._pointer}`)?.focus();\r\n }\r\n }\r\n\r\n public allowNumbers(event) {\r\n const charCode = event.keyCode;\r\n return charCode >= 48 && charCode <= 57;\r\n }\r\n\r\n private getElementAtIndex(index: string): HTMLInputElement {\r\n return this.inputs[parseInt(index, 10)] as HTMLInputElement;\r\n }\r\n\r\n private focusAndSelect(inputElement: HTMLInputElement) {\r\n inputElement.focus();\r\n inputElement.select();\r\n }\r\n\r\n private handleSave() {\r\n if (this.getOtp()?.length === this.inputs?.length) {\r\n this.save();\r\n }\r\n }\r\n\r\n private handleMoveForward(current: HTMLInputElement, next: HTMLInputElement) {\r\n if (current?.value?.length === 1 && next) {\r\n this._pointer++;\r\n this.focusAndSelect(next);\r\n }\r\n }\r\n\r\n private handleBackspace(event: any, previous: HTMLInputElement) {\r\n if (event.key === 'Backspace' && previous) {\r\n this._pointer--;\r\n this.focusAndSelect(previous);\r\n }\r\n }\r\n\r\n private save() {\r\n this.ref.close(this.getOtp());\r\n }\r\n\r\n private getOtp() {\r\n return this.inputs.reduce((otp, input) => {\r\n return (otp += input?.value);\r\n }, '');\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { actions, selectors } from '@lbmx/app-state';\r\nimport { AppSetting, UserProfile } from '@lbmx/types';\r\nimport { Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Component({\r\n templateUrl: './terms-services.component.html',\r\n styleUrls: [],\r\n})\r\nexport class TermsServicesComponent implements OnInit, OnDestroy {\r\n private navigateToUrl: string;\r\n public user: UserProfile;\r\n private appSettings: AppSetting = this.configPrv.AppSetting;\r\n public lbmxLogoImage = './assets/images/lbmx_logo.png';\r\n public subscriptions: Subscription[] = [];\r\n public shouldRedirect = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private configPrv: ConfigProvider\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.navigateToUrl =\r\n this.route.snapshot.queryParams['nextUrl'] || '/default';\r\n this.subscriptions.push(\r\n this.store\r\n .select(selectors.userProfile)\r\n .pipe(\r\n tap((profile) => {\r\n this.user = profile;\r\n if (this.shouldRedirect && this.user.userInfo.IsTermsSigned) {\r\n this.router.navigate([this.navigateToUrl]);\r\n }\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n public onAccept(isAccepted: boolean) {\r\n if (isAccepted) {\r\n this.shouldRedirect = true;\r\n this._updateUserProfile();\r\n this.router.navigate([this.navigateToUrl]);\r\n } else {\r\n this.router.navigate(['logout']);\r\n }\r\n }\r\n\r\n public onClose() {\r\n this.router.navigate([this.navigateToUrl]);\r\n }\r\n\r\n private _updateUserProfile() {\r\n this.store.dispatch(\r\n actions.agreeToTerms({\r\n endPoints: this.appSettings,\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { actions, actionTypes } from '@lbmx/app-state';\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport {\r\n SpinnerService,\r\n ToastrNotificationService,\r\n} from '@lbmx/phoenix-lib-utils';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport * as i18nIsoCountries from 'i18n-iso-countries';\r\nimport { Observable, of, Subscription } from 'rxjs';\r\nimport { catchError, finalize, map, tap } from 'rxjs/operators';\r\nimport { IConfigCountry } from 'src/app/dtos/registration/registration.dto';\r\nimport {\r\n IOTPResponse,\r\n IUserProfileForm,\r\n} from 'src/app/dtos/userProfile/userProfile.dto';\r\nimport {\r\n IUserNotification,\r\n NotificationTypes,\r\n} from 'src/app/models/user.model';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { UserProfileService } from '../../../services/user-profile/user-profile.service';\r\n@Component({\r\n selector: 'app-user-profile-container',\r\n template: ``,\r\n styleUrls: [],\r\n})\r\nexport class UserProfileContainerComponent implements OnInit, OnDestroy {\r\n public userProfileDetails$: Observable = of({\r\n userDetails: {\r\n firstName: '',\r\n lastName: '',\r\n userName: '',\r\n OTPRequired: null,\r\n phone: '',\r\n phoneExtension: '',\r\n phoneCountry: '',\r\n languageCode: '',\r\n timeZoneCode: '',\r\n dateTypeKey: 0,\r\n isTermsSigned: 0,\r\n },\r\n });\r\n public userNotifications$: Observable = of([]);\r\n public defaultCountryCode$: Observable;\r\n public countries$: Observable;\r\n public dateFormatTypes = [];\r\n public timeZoneCodes = [];\r\n public languageCodes = [];\r\n public timeZoneTypes$: Observable;\r\n public fetching = false;\r\n public subscriptions: Subscription[] = [];\r\n public otpToggleResponse: IOTPResponse;\r\n\r\n constructor(\r\n private loggerService: LoggerService,\r\n private toastSrv: ToastrNotificationService,\r\n private spinnerService: SpinnerService,\r\n private userProfileService: UserProfileService,\r\n private translocoService: TranslocoService,\r\n private store: Store,\r\n private configPrv: ConfigProvider,\r\n private actions$: Actions,\r\n private router: Router\r\n ) {}\r\n\r\n public async ngOnInit() {\r\n this.spinnerService.on();\r\n this.fetching = true;\r\n this.defaultCountryCode$ = this.userProfileService.getAccount().pipe(\r\n map((account) => account.details.country),\r\n catchError(() => of('CAN'))\r\n );\r\n this.countries$ = this.userProfileService.getCountries().pipe(\r\n map((countries: IConfigCountry[]) =>\r\n countries.filter(\r\n (country) =>\r\n i18nIsoCountries.alpha3ToAlpha2(country?.countryCode) !== undefined\r\n )\r\n ),\r\n map((countries: IConfigCountry[]) =>\r\n countries.map((country) => {\r\n return {\r\n label: `${country.countryName} (${i18nIsoCountries.alpha3ToAlpha2(\r\n country.countryCode\r\n )})`,\r\n value: i18nIsoCountries.alpha3ToAlpha2(country.countryCode),\r\n };\r\n })\r\n )\r\n );\r\n this.userProfileDetails$ = this.userProfileService.getUserProfile().pipe(\r\n tap((response) => {\r\n this.loggerService.info(\r\n 'getUserProfileResponse',\r\n 'UserProfileService.getUserProfile',\r\n JSON.stringify(response)\r\n );\r\n }),\r\n map((response) => {\r\n return {\r\n firstName: response.userDetails.firstName,\r\n lastName: response.userDetails.lastName,\r\n userName: response.userDetails.username,\r\n OTPRequired: response.userDetails.otpRequired,\r\n phoneCountry: response.userDetails.phoneCountry,\r\n phone: response.userDetails.phone,\r\n phoneExtension: response.userDetails.phoneExtension,\r\n languageCode: response.userDetails.languageCode,\r\n timeZoneCode: response.userDetails.timeZoneCode,\r\n dateTypeKey: response.userDetails.dateTypeKey,\r\n isTermsSigned: response.userDetails.isTermsSigned,\r\n };\r\n }),\r\n finalize(() => {\r\n this.fetching = false;\r\n this.spinnerService.off();\r\n })\r\n );\r\n // Get all user notifications configuration\r\n this.userNotifications$ = this.userProfileService\r\n .getUserNotifications()\r\n .pipe(\r\n map((response) => {\r\n const result = response.userNotificationList.map((notification) => {\r\n let label = '';\r\n let checkboxCtl = '';\r\n let intervalCtl = '';\r\n switch (notification.notificationTypeKey) {\r\n case NotificationTypes.POA:\r\n label = this.translocoService.translate(\r\n 'USER_NOTIFICATION.POA'\r\n );\r\n checkboxCtl = 'poaReceived';\r\n intervalCtl = 'poaInterval';\r\n break;\r\n case NotificationTypes.PO:\r\n label = this.translocoService.translate('USER_NOTIFICATION.PO');\r\n checkboxCtl = 'poReceived';\r\n intervalCtl = 'poInterval';\r\n break;\r\n case NotificationTypes.Invoice:\r\n label = this.translocoService.translate(\r\n 'USER_NOTIFICATION.INVOICE'\r\n );\r\n checkboxCtl = 'invoiceReceived';\r\n intervalCtl = 'invoiceInterval';\r\n break;\r\n case NotificationTypes.ASN:\r\n label = this.translocoService.translate(\r\n 'USER_NOTIFICATION.ASN'\r\n );\r\n checkboxCtl = 'asnReceived';\r\n intervalCtl = 'asnInterval';\r\n break;\r\n case NotificationTypes.CollectionBatch:\r\n label = this.translocoService.translate(\r\n 'USER_NOTIFICATION.COLLECTION_BATCH'\r\n );\r\n checkboxCtl = 'collectionBatch';\r\n intervalCtl = 'collectionBatchInterval';\r\n break;\r\n case NotificationTypes.InvoiceKeptOnHold:\r\n label = this.translocoService.translate(\r\n 'USER_NOTIFICATION.INVOICE_ON_HOLD'\r\n );\r\n checkboxCtl = 'invoiceKeptOnHold';\r\n intervalCtl = 'invoiceKeptOnHoldInterval';\r\n break;\r\n default:\r\n break;\r\n }\r\n return {\r\n ...notification,\r\n label,\r\n checkboxCtl,\r\n intervalCtl,\r\n };\r\n });\r\n\r\n return result;\r\n }),\r\n finalize(() => {\r\n this.spinnerService.off();\r\n })\r\n );\r\n\r\n /* Get list of DateFormat Types */\r\n this.dateFormatTypes = await this.userProfileService\r\n .getdateFormatTypes()\r\n .toPromise()\r\n .then((res) => {\r\n if (res.dateFormatTypeResponse != null) {\r\n return res.dateFormatTypeResponse.map((a) => {\r\n return { value: a.dateTypeKey, label: a.description };\r\n });\r\n }\r\n });\r\n\r\n /* Get list of Language Types */\r\n this.languageCodes = await this.userProfileService\r\n .getLanguageTypes()\r\n .toPromise()\r\n .then((res) => {\r\n if (res.languageTypes != null) {\r\n return res.languageTypes.map((a) => {\r\n return { value: a.languageCode, label: a.languageDescription };\r\n });\r\n }\r\n });\r\n /* Get list of Timezone Types */\r\n this.timeZoneCodes = await this.userProfileService\r\n .getTimezoneTypes()\r\n .toPromise()\r\n .then((res) => {\r\n if (res.timeZoneTypeResponse != null) {\r\n return res.timeZoneTypeResponse.map((a) => {\r\n return { value: a.timeZoneCode, label: a.timeZoneDescription };\r\n });\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n this.spinnerService.off();\r\n }\r\n\r\n public toggleOTP(data) {\r\n this.spinnerService.on();\r\n const req = data as IUserProfileForm;\r\n let otpToggleResponse: IOTPResponse;\r\n this.subscriptions.push(\r\n this.userProfileService.updateUserProfile(req).subscribe(\r\n (res) => {\r\n otpToggleResponse = {\r\n success: true,\r\n message: res.status,\r\n };\r\n },\r\n (err) => {\r\n otpToggleResponse = {\r\n success: false,\r\n message: err.errorMessage,\r\n };\r\n },\r\n () => {\r\n this.otpToggleResponse = otpToggleResponse;\r\n this.spinnerService.off();\r\n }\r\n )\r\n );\r\n }\r\n\r\n public handleSave(data) {\r\n this.spinnerService.on();\r\n /* Eliminate null values before updateProfile endpoint call */\r\n const request = this.filterEmptyFields(data) as IUserProfileForm;\r\n if (request.confirmPassword) {\r\n delete request.confirmPassword;\r\n }\r\n\r\n this.store.dispatch(\r\n actions.updateUserProfileFromForm({\r\n userProfile: { ...request, dateType: request.dateTypeKey },\r\n endPoints: this.configPrv.AppSetting,\r\n })\r\n );\r\n this.subscriptions.push(\r\n this.actions$\r\n .pipe(\r\n ofType(\r\n actions.updateUserProfileSuccess,\r\n actions.updateUserProfileFailure\r\n ),\r\n map((action) => {\r\n if (action.type === actionTypes.UPDATE_USER_PROFILE_SUCCESS) {\r\n this.loggerService.info(\r\n 'UpdateUserResponse',\r\n 'UserProfileService.updateUserProfile'\r\n );\r\n this.toastSrv.successNotify(\r\n this.translocoService.translate('COMMON.CHANGES_SAVED')\r\n );\r\n this.translocoService.setActiveLang(request.languageCode);\r\n if (request['password']) {\r\n this.router.navigate(['/logout']);\r\n }\r\n } else {\r\n this.loggerService.error(\r\n 'UpdateUserResponse',\r\n 'UserProfileService.updateUserProfile'\r\n );\r\n }\r\n this.spinnerService.off();\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public saveUserNotifications(data) {\r\n this.spinnerService.on();\r\n\r\n this.subscriptions.push(\r\n this.userProfileService\r\n .updateUserNotifications(data)\r\n .pipe(\r\n tap(() =>\r\n this.toastSrv.successNotify(\r\n this.translocoService.translate('COMMON.CHANGES_SAVED')\r\n )\r\n ),\r\n catchError(() =>\r\n of(\r\n this.toastSrv.errorNotify(\r\n this.translocoService.translate(\r\n 'SUPPLIER.FAILURE_TOAST_MESSAGE'\r\n )\r\n )\r\n )\r\n ),\r\n finalize(() => this.spinnerService.off())\r\n )\r\n .subscribe()\r\n );\r\n }\r\n /** Function to filter null values from userProfileForm */\r\n private filterEmptyFields(data) {\r\n return Object.entries(data).reduce((prev, [field, value]) => {\r\n if (value !== '' && value !== null) {\r\n return { ...prev, [field]: value };\r\n } else {\r\n return prev;\r\n }\r\n }, {});\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZlYXR1cmVzL3NlY3VyZS91c2VycHJvZmlsZS91c2VycHJvZmlsZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormGroup,\r\n ValidatorFn,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ValidationService } from '@lbmx/phoenix-lib-utils';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport * as i18nIsoCountries from 'i18n-iso-countries';\r\nimport { AsYouType, CountryCode, parsePhoneNumber } from 'libphonenumber-js';\r\nimport {\r\n IOTPResponse,\r\n IUserProfileForm,\r\n} from 'src/app/dtos/userProfile/userProfile.dto';\r\nimport {\r\n INotificationRequest,\r\n IUserNotification,\r\n NotificationTypes,\r\n} from 'src/app/models/user.model';\r\n@Component({\r\n selector: 'app-userprofile',\r\n templateUrl: './userprofile.component.html',\r\n styleUrls: ['./userprofile.component.scss'],\r\n})\r\nexport class UserprofileComponent {\r\n @Input('defaultCountryCode') set defaultCountryCodeSetter(\r\n defaultCountryCode: string\r\n ) {\r\n this.defaultCountryCode = defaultCountryCode;\r\n }\r\n @Input('countries') set countriesSetter(countries: any[]) {\r\n this.countries = countries;\r\n }\r\n @Input('userProfileDetails') set userProfileDetailsSetter(\r\n userProfileDetails: IUserProfileForm\r\n ) {\r\n this.userProfileDetails = userProfileDetails;\r\n this.initializeForm();\r\n this.formatPhoneToInternational();\r\n }\r\n @Input('userNotifications') set userNotificationsSetter(\r\n userNotifications: IUserNotification[]\r\n ) {\r\n this.userNotifications = userNotifications;\r\n this.initializeNotificationForm();\r\n }\r\n @Input('otpToggleResponse') set otpToggleResponseSetter(\r\n containerResponse: IOTPResponse\r\n ) {\r\n this.otpToggleResponse = containerResponse;\r\n }\r\n @Input() public DTFormat;\r\n @Input() public fetching = false;\r\n @Input() public languageTypes;\r\n @Input() public timeZoneTypes;\r\n @Output() public updatedProfileInfo = new EventEmitter();\r\n @Output() public updateUserNotifications = new EventEmitter();\r\n @Output() public otpToggleEmitter = new EventEmitter();\r\n @Output() public passwordConfirmationEmitter = new EventEmitter();\r\n private otpToggleResponse: IOTPResponse;\r\n public userProfileForm: FormGroup;\r\n public userNotificationsForm: FormGroup;\r\n public loading = false;\r\n public phoneForm: FormGroup;\r\n public showPasswordEdit = false;\r\n public passwordEmpty = true;\r\n public countries = [];\r\n public defaultCountryCode = 'CAN';\r\n public message = {\r\n confirmPassword: () =>\r\n this.translocoService.translate('COMMON.PASSWORD_MUST_MATCH'),\r\n };\r\n public extension = {\r\n extension: () => 'Extension must be digits (maximum of 10 digits)',\r\n };\r\n public userProfileDetails: IUserProfileForm;\r\n public userNotifications: IUserNotification[];\r\n public phoneNumber = new AsYouType();\r\n public activateUserInfoTab = true;\r\n public defaultInterval = 24;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private validationService: ValidationService,\r\n private translocoService: TranslocoService\r\n ) {}\r\n\r\n /*Handling Password Checkbox Click */\r\n public handleUpdatePassword(status) {\r\n this.showPasswordEdit =\r\n status.checked && status.checked === true ? true : false;\r\n }\r\n\r\n private initializeForm() {\r\n const userProfileDetails: IUserProfileForm =\r\n this.userProfileDetails ||\r\n ({\r\n firstName: '',\r\n lastName: '',\r\n userName: '',\r\n OTPRequired: null,\r\n phoneCountry: 'CA',\r\n phone: '',\r\n phoneExtension: '',\r\n languageCode: '',\r\n timeZoneCode: '',\r\n dateTypeKey: 1,\r\n } as IUserProfileForm);\r\n this.userProfileForm = this.formBuilder.group(\r\n {\r\n firstName: [userProfileDetails.firstName, [Validators.required]],\r\n lastName: [userProfileDetails.lastName, [Validators.required]],\r\n userName: [\r\n userProfileDetails.userName,\r\n [Validators.required, Validators.email],\r\n ],\r\n OTPRequired: userProfileDetails.OTPRequired || false,\r\n password: [\r\n '',\r\n Validators.compose([\r\n this.validationService.patternValidator('number'),\r\n this.validationService.patternValidator('upperCase'),\r\n this.validationService.patternValidator('lowerCase'),\r\n this.validationService.specialCharacterValidator(),\r\n this.validationService.minimumLength(8),\r\n ]),\r\n ],\r\n confirmPassword: [''],\r\n languageCode: [userProfileDetails.languageCode, [Validators.required]],\r\n timeZoneCode: [userProfileDetails.timeZoneCode, [Validators.required]],\r\n dateTypeKey: [userProfileDetails.dateTypeKey, [Validators.required]],\r\n },\r\n {\r\n validator: this.validationService.MustMatch(\r\n 'password',\r\n 'confirmPassword'\r\n ),\r\n }\r\n );\r\n this.phoneForm = this.formBuilder.group(\r\n {\r\n phoneCountry: [this.formatCountryCodeForDropdown()],\r\n phoneExtension: [\r\n `${userProfileDetails?.phoneExtension || ''}`,\r\n Validators.compose([\r\n Validators.pattern('^[0-9]*$'),\r\n Validators.maxLength(10),\r\n ]),\r\n ],\r\n phone: [\r\n `${userProfileDetails?.phone}`,\r\n Validators.compose([\r\n Validators.required,\r\n this.validatePhoneNumber(parsePhoneNumber),\r\n ]),\r\n ],\r\n },\r\n {\r\n validators: this.validatePhoneForm('phone', 'phoneExtension'),\r\n }\r\n );\r\n }\r\n\r\n public initializeNotificationForm() {\r\n if (this.userNotifications == null) {\r\n return;\r\n }\r\n this.userNotificationsForm = this.formBuilder.group({\r\n poaReceived: [\r\n this.getFieldValue('userNotificationKey', NotificationTypes.POA) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.POA)\r\n ? false\r\n : true,\r\n ],\r\n poaInterval: [\r\n {\r\n value:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.POA) ===\r\n null ||\r\n this.getFieldValue('interval', NotificationTypes.POA) === 0\r\n ? null\r\n : this.getFieldValue('interval', NotificationTypes.POA),\r\n disabled:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.POA) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.POA)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('poaReceived').value\r\n ),\r\n ],\r\n ],\r\n poReceived: [\r\n this.getFieldValue('userNotificationKey', NotificationTypes.PO) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.PO)\r\n ? false\r\n : true,\r\n ],\r\n poInterval: [\r\n {\r\n value:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.PO) ===\r\n null || this.getFieldValue('interval', NotificationTypes.PO) === 0\r\n ? null\r\n : this.getFieldValue('interval', NotificationTypes.PO),\r\n disabled:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.PO) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.PO)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('poReceived').value\r\n ),\r\n ],\r\n ],\r\n invoiceReceived: [\r\n this.getFieldValue('userNotificationKey', NotificationTypes.Invoice) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.Invoice)\r\n ? false\r\n : true,\r\n ],\r\n invoiceInterval: [\r\n {\r\n value:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.Invoice\r\n ) === null ||\r\n this.getFieldValue('interval', NotificationTypes.Invoice) === 0\r\n ? null\r\n : this.getFieldValue('interval', NotificationTypes.Invoice),\r\n disabled:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.Invoice\r\n ) === null ||\r\n !this.getFieldValue('isActive', NotificationTypes.Invoice)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('invoiceReceived').value\r\n ),\r\n ],\r\n ],\r\n asnReceived: [\r\n this.getFieldValue('userNotificationKey', NotificationTypes.ASN) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.ASN)\r\n ? false\r\n : true,\r\n ],\r\n asnInterval: [\r\n {\r\n value:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.ASN) ===\r\n null ||\r\n this.getFieldValue('interval', NotificationTypes.ASN) === 0\r\n ? null\r\n : this.getFieldValue('interval', NotificationTypes.ASN),\r\n disabled:\r\n this.getFieldValue('userNotificationKey', NotificationTypes.ASN) ===\r\n null || !this.getFieldValue('isActive', NotificationTypes.ASN)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('asnReceived').value\r\n ),\r\n ],\r\n ],\r\n collectionBatch: [\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.CollectionBatch\r\n ) === null ||\r\n !this.getFieldValue('isActive', NotificationTypes.CollectionBatch)\r\n ? false\r\n : true,\r\n ],\r\n collectionBatchInterval: [\r\n {\r\n value:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.CollectionBatch\r\n ) === null ||\r\n this.getFieldValue(\r\n 'interval',\r\n NotificationTypes.CollectionBatch\r\n ) === 0\r\n ? null\r\n : this.getFieldValue(\r\n 'interval',\r\n NotificationTypes.CollectionBatch\r\n ),\r\n disabled:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.CollectionBatch\r\n ) === null ||\r\n !this.getFieldValue('isActive', NotificationTypes.CollectionBatch)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('collectionBatch').value\r\n ),\r\n ],\r\n ],\r\n invoiceKeptOnHold: [\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.InvoiceKeptOnHold\r\n ) === null ||\r\n !this.getFieldValue('isActive', NotificationTypes.InvoiceKeptOnHold)\r\n ? false\r\n : true,\r\n ],\r\n invoiceKeptOnHoldInterval: [\r\n {\r\n value:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.InvoiceKeptOnHold\r\n ) === null ||\r\n this.getFieldValue(\r\n 'interval',\r\n NotificationTypes.InvoiceKeptOnHold\r\n ) === 0\r\n ? null\r\n : this.getFieldValue(\r\n 'interval',\r\n NotificationTypes.InvoiceKeptOnHold\r\n ),\r\n disabled:\r\n this.getFieldValue(\r\n 'userNotificationKey',\r\n NotificationTypes.InvoiceKeptOnHold\r\n ) === null ||\r\n !this.getFieldValue('isActive', NotificationTypes.InvoiceKeptOnHold)\r\n ? true\r\n : false,\r\n },\r\n [\r\n Validators.pattern('^[0-9]+(.[0-9]{0,9})?$'),\r\n this.requiredIfValidator(\r\n () => this.userNotificationsForm.get('invoiceKeptOnHold').value\r\n ),\r\n ],\r\n ],\r\n });\r\n\r\n this.loading = true;\r\n\r\n this.userNotifications?.map((notifn) => {\r\n const valueChanges = this.userNotificationsForm?.controls[\r\n `'${notifn.checkboxCtl}`\r\n ]\r\n ? this.userNotificationsForm\r\n .get(notifn.checkboxCtl)\r\n .valueChanges.subscribe((value) => {\r\n this.userNotificationsForm\r\n ?.get(notifn.intervalCtl)\r\n ?.updateValueAndValidity({ emitEvent: false });\r\n })\r\n : '';\r\n });\r\n }\r\n\r\n private getFieldValue(field, value) {\r\n let data;\r\n switch (field) {\r\n case 'notificationTypeKey':\r\n data =\r\n this.userNotifications.filter((e) => {\r\n return e.notificationTypeKey === value;\r\n }).length > 0;\r\n\r\n break;\r\n case 'userNotificationKey':\r\n const notifn = this.userNotifications.find(\r\n (n) => n.notificationTypeKey === value\r\n );\r\n data = notifn.userNotificationKey;\r\n\r\n break;\r\n case 'interval':\r\n const userNotifns = this.userNotifications.find(\r\n (n) => n.notificationTypeKey === value\r\n );\r\n data = userNotifns.interval;\r\n break;\r\n case 'isActive':\r\n const userNotifn = this.userNotifications.find(\r\n (n) => n.notificationTypeKey === value\r\n );\r\n data = userNotifn.isActive;\r\n break;\r\n default:\r\n break;\r\n }\r\n return data;\r\n }\r\n public checkBoxStatus(event) {\r\n switch (event) {\r\n case NotificationTypes.POA:\r\n if (!this.userNotificationsForm.value['poaReceived']) {\r\n this.userNotificationsForm.controls.poaInterval.setValue(null);\r\n this.userNotificationsForm.get('poaInterval').disable();\r\n } else {\r\n this.userNotificationsForm.get('poaInterval').enable();\r\n this.userNotificationsForm.controls.poaInterval.setValue(\r\n this.defaultInterval\r\n );\r\n }\r\n break;\r\n case NotificationTypes.PO:\r\n if (!this.userNotificationsForm.value['poReceived']) {\r\n this.userNotificationsForm.controls.poInterval.setValue(null);\r\n this.userNotificationsForm.get('poInterval').disable();\r\n } else {\r\n this.userNotificationsForm.controls.poInterval.setValue(\r\n this.defaultInterval\r\n );\r\n this.userNotificationsForm.get('poInterval').enable();\r\n }\r\n break;\r\n case NotificationTypes.Invoice:\r\n if (!this.userNotificationsForm.value['invoiceReceived']) {\r\n this.userNotificationsForm.controls.invoiceInterval.setValue(null);\r\n this.userNotificationsForm.get('invoiceInterval').disable();\r\n } else {\r\n this.userNotificationsForm.controls.invoiceInterval.setValue(\r\n this.defaultInterval\r\n );\r\n this.userNotificationsForm.get('invoiceInterval').enable();\r\n }\r\n break;\r\n case NotificationTypes.ASN:\r\n if (!this.userNotificationsForm.value['asnReceived']) {\r\n this.userNotificationsForm.controls.asnInterval.setValue(null);\r\n this.userNotificationsForm.get('asnInterval').disable();\r\n } else {\r\n this.userNotificationsForm.controls.asnInterval.setValue(\r\n this.defaultInterval\r\n );\r\n this.userNotificationsForm.get('asnInterval').enable();\r\n }\r\n break;\r\n case NotificationTypes.CollectionBatch:\r\n if (!this.userNotificationsForm.value['collectionBatch']) {\r\n this.userNotificationsForm.controls.collectionBatchInterval.setValue(\r\n null\r\n );\r\n this.userNotificationsForm.get('collectionBatchInterval').disable();\r\n } else {\r\n this.userNotificationsForm.controls.collectionBatchInterval.setValue(\r\n this.defaultInterval\r\n );\r\n this.userNotificationsForm.get('collectionBatchInterval').enable();\r\n }\r\n break;\r\n case NotificationTypes.InvoiceKeptOnHold:\r\n if (!this.userNotificationsForm.value['invoiceKeptOnHold']) {\r\n this.userNotificationsForm.controls.invoiceKeptOnHoldInterval.setValue(\r\n null\r\n );\r\n this.userNotificationsForm.get('invoiceKeptOnHoldInterval').disable();\r\n } else {\r\n this.userNotificationsForm.controls.invoiceKeptOnHoldInterval.setValue(\r\n this.defaultInterval\r\n );\r\n this.userNotificationsForm.get('invoiceKeptOnHoldInterval').enable();\r\n }\r\n break;\r\n }\r\n }\r\n public requiredIfValidator(predicate) {\r\n return (formControl) => {\r\n if (!formControl.parent) {\r\n return null;\r\n }\r\n if (predicate()) {\r\n return Validators.required(formControl);\r\n }\r\n return null;\r\n };\r\n }\r\n public passwordFieldEmptyCheck(passwordStatus) {\r\n this.passwordEmpty = passwordStatus ? false : true;\r\n }\r\n\r\n public handleVerification(event: any) {\r\n try {\r\n const reducedUserForm = {};\r\n reducedUserForm['OTPRequired'] = event.desiredState;\r\n this.otpToggleEmitter.emit({\r\n ...reducedUserForm,\r\n });\r\n } catch {\r\n this.otpToggleResponse = {\r\n success: false,\r\n message: this.translocoService.translate('COMMON.UNKNOWN_ERROR'),\r\n };\r\n }\r\n }\r\n public handleNotificationsUpdate() {\r\n const request: INotificationRequest[] = [];\r\n this.userNotifications.map((ctl) => {\r\n let interval;\r\n let isActive;\r\n switch (ctl.notificationTypeKey) {\r\n case NotificationTypes.POA:\r\n interval = this.userNotificationsForm.get('poaInterval').value\r\n ? Number(this.userNotificationsForm.get('poaInterval').value)\r\n : 0;\r\n isActive = this.userNotificationsForm.get('poaReceived').value;\r\n break;\r\n case NotificationTypes.PO:\r\n interval = this.userNotificationsForm.get('poInterval').value\r\n ? Number(this.userNotificationsForm.get('poInterval').value)\r\n : 0;\r\n isActive = this.userNotificationsForm.get('poReceived').value;\r\n break;\r\n case NotificationTypes.Invoice:\r\n interval = this.userNotificationsForm.get('invoiceInterval').value\r\n ? Number(this.userNotificationsForm.get('invoiceInterval').value)\r\n : 0;\r\n isActive = this.userNotificationsForm.get('invoiceReceived').value;\r\n break;\r\n case NotificationTypes.ASN:\r\n interval = this.userNotificationsForm.get('asnInterval').value\r\n ? Number(this.userNotificationsForm.get('asnInterval').value)\r\n : 0;\r\n isActive = this.userNotificationsForm.get('asnReceived').value;\r\n break;\r\n case NotificationTypes.CollectionBatch:\r\n interval = this.userNotificationsForm.get('collectionBatchInterval')\r\n .value\r\n ? Number(\r\n this.userNotificationsForm.get('collectionBatchInterval').value\r\n )\r\n : 0;\r\n isActive = this.userNotificationsForm.get('collectionBatch').value;\r\n break;\r\n case NotificationTypes.InvoiceKeptOnHold:\r\n interval = this.userNotificationsForm.get('invoiceKeptOnHoldInterval')\r\n .value\r\n ? Number(\r\n this.userNotificationsForm.get('invoiceKeptOnHoldInterval')\r\n .value\r\n )\r\n : 0;\r\n isActive = this.userNotificationsForm.get('invoiceKeptOnHold').value;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n request.push({\r\n Interval: interval,\r\n IsActive: isActive,\r\n UserNotificationKey: ctl.userNotificationKey,\r\n UserKey: ctl.userKey,\r\n NotificationTypeKey: ctl.notificationTypeKey,\r\n AddedOn: ctl.addedOn,\r\n AddedBy: ctl.addedBy,\r\n });\r\n });\r\n\r\n this.updateUserNotifications.emit(request);\r\n }\r\n /*Handling Save Button Click */\r\n public handleSubmit() {\r\n try {\r\n this.updatedProfileInfo.emit({\r\n ...this.userProfileForm.value,\r\n ...this.phoneForm.value,\r\n phoneCountry: i18nIsoCountries.alpha2ToAlpha3(\r\n this.phoneForm.controls.phoneCountry.value || 'CA'\r\n ),\r\n phone: parsePhoneNumber(\r\n this.phoneForm.controls.phone.value,\r\n this.phoneForm.controls.phoneCountry.value as CountryCode\r\n ).format('E.164'),\r\n });\r\n } catch {\r\n this.updatedProfileInfo.emit({\r\n ...this.userProfileForm.value,\r\n ...this.phoneForm.value,\r\n phoneCountry: this.defaultCountryCode || 'CAN',\r\n phone: '',\r\n phoneExtension: '',\r\n });\r\n }\r\n }\r\n\r\n // bound to Phone control's input event\r\n public formatPhoneNumber() {\r\n try {\r\n if (this.phoneForm.controls.phone.value.length < 1) {\r\n this.phoneForm.controls.phoneCountry.setValue(\r\n i18nIsoCountries.alpha3ToAlpha2(this.defaultCountryCode || 'CAN')\r\n );\r\n }\r\n this.phoneForm.controls.phone.setValue(\r\n parsePhoneNumber(\r\n this.phoneForm.controls.phone.value,\r\n this.phoneForm.controls.phoneCountry.value\r\n ).formatInternational()\r\n );\r\n } catch {\r\n /*empty*/\r\n }\r\n }\r\n\r\n // bound to Countries Dropdown control's onChange event\r\n public resetPhoneNumber() {\r\n this.phoneForm?.controls?.phone?.setValue('');\r\n }\r\n\r\n // sets country code from 3 to 2 numbers\r\n private formatCountryCodeForDropdown() {\r\n try {\r\n return i18nIsoCountries.alpha3ToAlpha2(\r\n this.userProfileDetails.phoneCountry.trim()\r\n );\r\n } catch {\r\n return i18nIsoCountries.alpha3ToAlpha2(this.defaultCountryCode || 'CAN');\r\n }\r\n }\r\n\r\n // helper function for userProfileDetailsSetter\r\n private formatPhoneToInternational() {\r\n try {\r\n this.phoneNumber.input(this.userProfileDetails.phone);\r\n\r\n this.phoneForm.controls.phone.setValue(\r\n this.phoneNumber.getNumber().formatInternational()\r\n );\r\n } catch {\r\n this.phoneForm.controls.phone.setValue(\r\n this.userProfileDetails ? this.userProfileDetails.phone : ''\r\n );\r\n }\r\n }\r\n\r\n public validatePhoneForm(\r\n phoneNumberControlName: string,\r\n ExtensionControlName: string\r\n ): ValidatorFn {\r\n return (formGroup: FormGroup) => {\r\n try {\r\n const phoneNumberControl = formGroup.controls[phoneNumberControlName];\r\n const extensionControl = formGroup.controls[ExtensionControlName];\r\n return extensionControl &&\r\n extensionControl.value &&\r\n extensionControl.value.length > 0 &&\r\n phoneNumberControl.value.length === 0\r\n ? { invalidPhoneNumber: true }\r\n : null;\r\n } catch (error) {\r\n return error;\r\n }\r\n };\r\n }\r\n\r\n public validatePhoneNumber(\r\n parser: (text: string) => { country?: any; isValid(): boolean }\r\n ): ValidatorFn {\r\n return (control: AbstractControl) => {\r\n try {\r\n const phoneNumber = parser(control.value.toString());\r\n return phoneNumber?.isValid() &&\r\n phoneNumber?.country ===\r\n `${this.phoneForm?.controls?.phoneCountry?.value}`\r\n ? null\r\n : {\r\n invalidPhoneNumber: true,\r\n };\r\n } catch {\r\n return control?.value?.length < 1\r\n ? null\r\n : {\r\n invalidPhoneNumber: true,\r\n };\r\n }\r\n };\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-public-layout-component',\r\n templateUrl: './public.component.html',\r\n})\r\nexport class PublicComponent implements OnInit, OnDestroy {\r\n //#region Properties\r\n\r\n public loggedUserFullName = '';\r\n public subscription: Subscription;\r\n\r\n //#endregion\r\n\r\n constructor(\r\n private titleService: Title,\r\n private translocoService: TranslocoService\r\n ) {\r\n /** empty block */\r\n }\r\n\r\n public ngOnInit() {\r\n this.setTitle();\r\n /** empty block */\r\n }\r\n public ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n public setTitle() {\r\n this.subscription = this.translocoService\r\n .selectTranslate('COMMON')\r\n .pipe(\r\n tap((translate) => {\r\n this.titleService.setTitle('My ' + translate.MARKETPLACE);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","import { RouterModule, Routes } from '@angular/router';\r\nimport { LogoutComponent } from 'src/app/features/public/logout/logout.component';\r\n\r\nimport { RegisterComponent } from 'src/app/features/public/register/register.component';\r\nimport { RecoverPasswordComponent } from '../../features/public/recover-password/recover-password.component';\r\nimport { ResetPasswordComponent } from '../../features/public/reset-password/reset-password.component';\r\nimport { LoginComponent } from './../../features/public/login/login.component';\r\n\r\nexport const PUBLIC_ROUTES: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'logout', component: LogoutComponent },\r\n { path: 'recoverPassword', component: RecoverPasswordComponent },\r\n { path: 'resetPassword', component: ResetPasswordComponent },\r\n { path: 'registration', component: RegisterComponent },\r\n];\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { actions, selectors } from '@lbmx/app-state';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\nimport { Marketplace } from '@lbmx/types';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { SecureService } from './secure.service';\r\n\r\n@Component({\r\n selector: 'app-marketplace-modal',\r\n template: `\r\n
\r\n

{{ 'COMMON.MY_MARKETPLACES' | transloco }}

\r\n
\r\n {{ 'COMMON.MARKETPLACE_SELECTION_INFO' | transloco }}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ 'COMPANY.LOGO_DEFAULT_MSG_1' | transloco }}
{{\r\n 'COMPANY.LOGO_DEFAULT_MSG_2' | transloco\r\n }}\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ marketplace.legalName }}\r\n
\r\n
{{ marketplace.dbaName }}
\r\n
{{ marketplace.address1 }}
\r\n
{{ marketplace.address2 }}
\r\n
\r\n {{ marketplace.city }}\r\n {{\r\n marketplace.provinceName\r\n }}\r\n
\r\n
\r\n {{ marketplace.postalCode }}\r\n
\r\n
\r\n {{ marketplace.countryName }}\r\n
\r\n
\r\n \r\n \r\n \r\n `,\r\n})\r\nexport class MarketplaceModalComponent implements OnInit, OnDestroy {\r\n public marketplaces: string | Marketplace[] = [];\r\n public showModal: boolean;\r\n public subscriptions: Subscription[] = [];\r\n private lastCall: number = Date.now();\r\n\r\n @Input('showMarketplaceModal') set showMarketplaceModalSetter(time: number) {\r\n if (time || 0 > this.lastCall) {\r\n this.setMarketplace('');\r\n }\r\n this.lastCall = time;\r\n }\r\n\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private router: Router,\r\n private store: Store,\r\n private translocoService: TranslocoService,\r\n private secureService: SecureService\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(select(selectors.marketplaces))\r\n .subscribe(({ marketplace, marketplaces }) => {\r\n const count = marketplaces.length;\r\n // More than one marketplace\r\n this.showModal = marketplace === '' && count > 1;\r\n this.secureService.setSelectedMarketplace(\r\n !this.showModal && marketplace !== ''\r\n );\r\n this.marketplaces = marketplaces;\r\n // No marketplace\r\n if (count === 0) {\r\n this.redirectToErrorPage();\r\n }\r\n // Only 1 marketplace\r\n if (\r\n marketplace === '' &&\r\n count === 1 &&\r\n marketplaces instanceof Array\r\n ) {\r\n this.setMarketplace(`${marketplaces[0].accountKey}`);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.secureService.setSelectedMarketplace(false);\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n\r\n private redirectToErrorPage() {\r\n this.subscriptions.push(\r\n this.translocoService\r\n .selectTranslate('COMMON')\r\n .pipe(\r\n tap((translate) => {\r\n this.router.navigate(['/error'], {\r\n state: {\r\n title: translate.MARKETPLACE_ERROR,\r\n message: translate.MARKETPLACE_CONFIG_INFO,\r\n },\r\n });\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public setMarketplace(marketplace: string) {\r\n this.store.dispatch(\r\n actions.updateUserProfileMarketplace({\r\n marketplace,\r\n endPoints: this.configPrv.AppSetting,\r\n })\r\n );\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[onMouseMove]',\r\n})\r\nexport class OnMouseMoveDirective implements OnDestroy {\r\n public self = fromEvent(this.el.nativeElement, 'mousemove')\r\n .pipe(debounceTime(500))\r\n .subscribe(() => {\r\n this.handler();\r\n });\r\n\r\n @Input() public handler: () => void;\r\n\r\n constructor(private el: ElementRef) {\r\n /** empty block */\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n if (this.self) {\r\n this.self.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { actions, selectors } from '@lbmx/app-state';\r\nimport { BaseHttpService, SearchService } from '@lbmx/root-services';\r\nimport { NavItem, UserProfile } from '@lbmx/types';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { DialogService, DynamicDialogRef } from 'primeng-lts';\r\nimport { combineLatest, interval, Subject, Subscription } from 'rxjs';\r\nimport { filter, map, takeUntil, tap } from 'rxjs/operators';\r\nimport { OtpComponent } from '../../features/secure/otp/otp.component';\r\n\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\r\nimport { NavBarService } from 'src/app/services/navbar/nav-bar.service';\r\nimport { OtpService } from '../../services/otp/otp.service';\r\nimport { SecureService } from './secure.service';\r\nimport { sessionExpired } from './utils';\r\n\r\n@Component({\r\n selector: 'app-secure-layout-component',\r\n templateUrl: './secure.component.html',\r\n providers: [DialogService, SearchService, NavBarService],\r\n})\r\nexport class SecureComponent implements OnInit, AfterContentChecked, OnDestroy {\r\n //#region Properties\r\n private shouldDestroy = new Subject();\r\n private sessionTimer = interval(1000);\r\n private sessionExpires: Date;\r\n private dynamicDialogRef: DynamicDialogRef = null;\r\n public loggedUserFullName = '';\r\n public ready = false;\r\n public showMarketplaceModal: number;\r\n public subscriptions: Subscription[] = [];\r\n public navItems: NavItem[] = [];\r\n private navItems$ = this.store.pipe(\r\n select(selectors.navItems),\r\n tap((navItems) => {\r\n this.navItems = navItems;\r\n this.secureService.setNavItems(true);\r\n }),\r\n takeUntil(this.shouldDestroy)\r\n );\r\n //#endregion\r\n\r\n constructor(\r\n private analyticsService: AnalyticsService,\r\n private baseHttpService: BaseHttpService,\r\n private configPrv: ConfigProvider,\r\n private store: Store,\r\n private translocoService: TranslocoService,\r\n private titleService: Title,\r\n private router: Router,\r\n public secureService: SecureService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private otpService: OtpService,\r\n private dialogService: DialogService,\r\n public navbarService: NavBarService\r\n ) {\r\n this.configStore();\r\n this.configureOtp();\r\n }\r\n\r\n private configureOtp() {\r\n this.subscriptions.push(\r\n this.otpService.showDialog$.subscribe((showOtp) => {\r\n if (showOtp) {\r\n this.openOtp();\r\n }\r\n })\r\n );\r\n }\r\n\r\n private openOtp() {\r\n this.dynamicDialogRef = this.dialogService.open(OtpComponent, {\r\n showHeader: false,\r\n closeOnEscape: true,\r\n });\r\n\r\n this.dynamicDialogRef.onClose\r\n .pipe(\r\n tap((values) => {\r\n this.otpService.submitWithOTP(values);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n public ngOnInit() {\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(\r\n select(selectors.userProfile),\r\n tap((user: UserProfile) => {\r\n this.translocoService.setActiveLang(\r\n user.userInfo.LanguageCode ? user.userInfo.LanguageCode : 'en-ca'\r\n ); // when logging out, it will change to en-ca automatically\r\n this.setTitle();\r\n })\r\n )\r\n .subscribe()\r\n );\r\n\r\n this.subscriptions.push(\r\n this.store\r\n .pipe(\r\n select(selectors.session),\r\n tap(\r\n (session) =>\r\n (this.sessionExpires = new Date(session.sessionExpires))\r\n )\r\n )\r\n .subscribe()\r\n );\r\n\r\n this.subscriptions.push(\r\n this.sessionTimer\r\n .pipe(map(() => sessionExpired(this.sessionExpires)))\r\n .subscribe((expired) => {\r\n if (expired) {\r\n this.router.navigate(['login'], { queryParams: { reAuth: true } });\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n combineLatest([this.store.pipe(select(selectors.marketplaces))])\r\n .pipe(\r\n filter(([marketplaces]) => marketplaces.marketplaces !== null),\r\n tap(() => (this.ready = true))\r\n )\r\n .subscribe()\r\n );\r\n\r\n this.navItems$.subscribe();\r\n }\r\n public ngAfterContentChecked() {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n public refreshUserProfile() {\r\n return () =>\r\n this.store.dispatch(\r\n actions.refreshUserProfile({\r\n endPoints: this.configPrv.AppSetting,\r\n })\r\n );\r\n }\r\n\r\n public setTitle() {\r\n this.subscriptions.push(\r\n this.translocoService\r\n .selectTranslate('COMMON')\r\n .pipe(\r\n tap((translate) => {\r\n this.titleService.setTitle('My ' + translate.MARKETPLACE);\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.dynamicDialogRef) {\r\n this.otpService.request = null;\r\n this.dynamicDialogRef.destroy();\r\n }\r\n\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n\r\n this.shouldDestroy.next(true);\r\n }\r\n\r\n private configStore() {\r\n const { uriProduct, uriAnalytics, uriUserState, uriAdministration } =\r\n this.configPrv.AppSetting;\r\n\r\n this.store.dispatch(\r\n actions.loadAnalyticsConfig({ endPoints: uriAnalytics })\r\n );\r\n this.store.dispatch(\r\n actions.loadUserProfile({ endPoints: this.configPrv.AppSetting })\r\n );\r\n this.store.dispatch(actions.loadSettings({ endPoints: uriUserState }));\r\n this.store.dispatch(\r\n actions.getMarketplaces({ endPoints: this.configPrv.AppSetting })\r\n );\r\n\r\n this.store.dispatch(\r\n actions.setNavItems({ endPoints: this.configPrv.AppSetting })\r\n );\r\n\r\n this.store.dispatch(actions.loadCategories({ endPoints: uriProduct }));\r\n this.store.dispatch(actions.loadProductFields({ endPoints: uriProduct }));\r\n this.store.dispatch(actions.loadUsers({ endPoints: uriAdministration }));\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { DemoComponent } from 'src/app/features/secure/demo/demo.component';\r\nimport { ErrorComponent } from 'src/app/features/secure/error/error.component';\r\nimport { ExportsComponent } from 'src/app/features/secure/exports/exports.component';\r\nimport { DashboardTemplateComponent } from 'src/app/features/secure/marketplace-analytics/dashboard-template/dashboard-template.component';\r\nimport { ReportsComponent } from 'src/app/features/secure/marketplace-analytics/reports/reports.component';\r\nimport { OpenReceivablesComponent } from 'src/app/features/secure/open-receivables/open-receivables.component';\r\nimport { AuthGuardService } from 'src/app/services/authGuard/authGuard.service';\r\nimport { DefaultRouteService } from 'src/app/services/defaultRoute/default-route.service';\r\nimport { HomeComponent } from './../../features/secure/home/home.component';\r\nimport { UserProfileContainerComponent } from './../../features/secure/userprofile/user-profile-container';\r\n\r\nexport const SECURE_ROUTES: Routes = [\r\n {\r\n path: 'default',\r\n canActivate: [DefaultRouteService],\r\n component: HomeComponent,\r\n },\r\n {\r\n path: 'home',\r\n data: { breadcrumb: 'BREADCRUMB.HOME' },\r\n component: HomeComponent,\r\n },\r\n {\r\n path: 'error',\r\n component: ErrorComponent,\r\n canActivate: [AuthGuardService],\r\n runGuardsAndResolvers: 'always',\r\n },\r\n {\r\n path: 'UserModule',\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'userProfile',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'userProfile',\r\n data: { breadcrumb: 'BREADCRUMB.USER_PROFILE' },\r\n component: UserProfileContainerComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: 'analyticsModule',\r\n data: { breadcrumb: { label: 'BREADCRUMB.ANALYTICS', disable: true } },\r\n children: [\r\n {\r\n path: 'dashboards',\r\n data: { breadcrumb: { label: 'BREADCRUMB.DASHBOARDS', disable: true } },\r\n children: [\r\n {\r\n path: 'reports',\r\n data: {\r\n breadcrumb: { label: 'BREADCRUMB.REPORTS', disable: true },\r\n appSettingKeys: ['uriAnalytics', 'getReportsDashboardConfig'],\r\n },\r\n component: ReportsComponent,\r\n },\r\n {\r\n path: ':dashboard',\r\n component: DashboardTemplateComponent,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: 'exportsModule',\r\n data: {\r\n breadcrumb: {\r\n label: 'NAV.EXPORT',\r\n disable: true,\r\n },\r\n },\r\n children: [\r\n {\r\n path: 'exports',\r\n data: {\r\n breadcrumb: {\r\n label: 'NAV.VIEW_EXPORTS',\r\n disable: true,\r\n },\r\n },\r\n component: ExportsComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: 'demo',\r\n data: {\r\n breadcrumb: {\r\n label: 'NAV.DEMO',\r\n disable: true,\r\n },\r\n appSettingKeys: ['uriMarketplace', 'sentPoRootURL'],\r\n path: 'po/search',\r\n },\r\n component: DemoComponent,\r\n },\r\n {\r\n path: 'PlaygroundModule',\r\n data: { breadcrumb: 'playgroundModule' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/playground-wrapper.module').then(\r\n (m) => m.PlaygroundWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'PIMModule',\r\n data: { breadcrumb: 'BREADCRUMB.CONTROL_CENTRE' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/pim-wrapper.module').then(\r\n (m) => m.PimWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'pdx-module',\r\n data: { breadcrumb: 'BREADCRUMB.PDX_CONTROL_CENTRE' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/pim-wrapper.module').then(\r\n (m) => m.PimWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'AdministrationModule',\r\n loadChildren: () =>\r\n import('../../wrapper-modules/administration-wrapper.module').then(\r\n (m) => m.AdministrationWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'MarketplacePartnersModule',\r\n data: { breadcrumb: 'BREADCRUMB.PARTNERS' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/marketplace-partners-wrapper.module').then(\r\n (m) => m.MarketplacePartnersWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'MarketplaceModule',\r\n data: { breadcrumb: 'BREADCRUMB.DOCUMENTS' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/marketplace-wrapper.module').then(\r\n (m) => m.MarketplaceWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'pay-module',\r\n data: { breadcrumb: 'BREADCRUMB.PAY' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/pay-wrapper.module').then(\r\n (m) => m.PayWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'RebatesModule',\r\n data: { breadcrumb: 'BREADCRUMB.REBATES' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/rebates-wrapper.module').then(\r\n (m) => m.RebatesWrapperModule\r\n ),\r\n },\r\n {\r\n path: 'AutomationsModule',\r\n data: { breadcrumb: 'BREADCRUMB.REBATES' },\r\n loadChildren: () =>\r\n import('../../wrapper-modules/automations-wrapper.module').then(\r\n (m) => m.AutomationsWrapperModule\r\n ),\r\n },\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SecureService {\r\n private marketplaceSelected: BehaviorSubject = new BehaviorSubject(\r\n false\r\n );\r\n\r\n public marketplaceSelected$: Observable =\r\n this.marketplaceSelected.asObservable();\r\n\r\n private navItems: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n public navItems$: Observable = this.navItems.asObservable();\r\n\r\n public isReady$: Observable = combineLatest([\r\n this.navItems$,\r\n this.marketplaceSelected$,\r\n ]).pipe(\r\n map((flags) => [...flags].reduce((isReady, flag) => isReady && flag, true))\r\n );\r\n\r\n public setSelectedMarketplace(isSet: boolean) {\r\n this.marketplaceSelected.next(isSet);\r\n }\r\n\r\n public setNavItems(isSet: boolean) {\r\n this.navItems.next(isSet);\r\n }\r\n}\r\n","/** The session is considered expired if twice the lifetime of the token has elapsed */\r\nexport const sessionExpired = (sessionExpires: Date): boolean => {\r\n return new Date() > sessionExpires;\r\n};\r\n","export class User {\r\n public username: string;\r\n\r\n public password: string;\r\n\r\n public fullname: string;\r\n\r\n public languageCode: string;\r\n\r\n public accountKey: number;\r\n\r\n public addedOn: Date;\r\n}\r\n\r\nexport enum NotificationTypes {\r\n POA = 1,\r\n PO = 2,\r\n Invoice = 3,\r\n ASN = 4,\r\n RemittancesReceived = 5,\r\n SentPO = 6,\r\n SentPOWarning = 7,\r\n BankingAlert = 8,\r\n CrossReferenceImport = 9,\r\n CollectionBatch = 10,\r\n PaymentBatchRejected = 11,\r\n Export = 12,\r\n SentTM = 13,\r\n SentPOC = 14,\r\n SentOS = 15,\r\n ReceivedPAD = 16,\r\n PaymentBatchAccepted = 17,\r\n InvoiceKeptOnHold = 18,\r\n}\r\nexport interface IUserNotificationResponse {\r\n userNotificationList: IUserNotification[];\r\n}\r\nexport interface IUserNotification {\r\n userNotificationKey?: number;\r\n userKey: number;\r\n notificationTypeKey: number;\r\n isActive: boolean;\r\n interval: number;\r\n addedOn: Date;\r\n addedBy: number;\r\n modifiedOn?: Date;\r\n modifiedBy?: number;\r\n label?: string;\r\n checkboxCtl?: string;\r\n intervalCtl?: string;\r\n}\r\n\r\nexport interface INotificationRequest {\r\n UserNotificationKey?: number;\r\n UserKey: number;\r\n NotificationTypeKey: number;\r\n IsActive: boolean;\r\n Interval: number;\r\n AddedOn: Date;\r\n AddedBy: number;\r\n ModifiedOn?: Date;\r\n ModifiedBy?: number;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { EnvService } from '../services/env.service';\r\n\r\n@Injectable()\r\nexport class ConfigProvider implements OnDestroy {\r\n //#region Properties\r\n\r\n private appSetting: AppSetting = null;\r\n public subscriptions: Subscription[] = [];\r\n\r\n //#endregion\r\n\r\n constructor(private http: HttpClient, private env: EnvService) {}\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n //#region Methods\r\n get AppSetting(): AppSetting {\r\n return this.appSetting;\r\n }\r\n\r\n public load() {\r\n return new Promise((resolve, reject) => {\r\n let jsonFile;\r\n\r\n if (this.env.Name === 'debug') {\r\n jsonFile = `assets/config/config.debug.json`;\r\n } else {\r\n jsonFile = `assets/config/config.json`;\r\n }\r\n\r\n this.subscriptions.push(\r\n this.http\r\n .get(jsonFile)\r\n .pipe(map((data) => data as AppSetting))\r\n .subscribe((data) => {\r\n this.appSetting = data;\r\n resolve(true);\r\n })\r\n );\r\n });\r\n }\r\n //#endregion\r\n}\r\n","import { EnvService } from './env.service';\r\n\r\nexport const EnvServiceFactory = () => {\r\n // Create env\r\n const env = new EnvService();\r\n\r\n // Read environment variables from browser window\r\n const browserWindow = window || {};\r\n // tslint:disable-next-line: no-string-literal\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n\r\n // Assign environment variables from browser window to env\r\n // In the current implementation, properties from env.js overwrite defaults from the EnvService.\r\n // If needed, a deep merge can be performed here to merge properties instead of overwriting them.\r\n if (browserWindowEnv.Name !== '#{name}') {\r\n for (const key in browserWindowEnv) {\r\n if (browserWindowEnv.hasOwnProperty(key)) {\r\n // tslint:disable-next-line: no-string-literal\r\n env[key] = window['__env'][key];\r\n }\r\n }\r\n }\r\n\r\n return env;\r\n};\r\n\r\nexport const EnvServiceProvider = {\r\n provide: EnvService,\r\n useFactory: EnvServiceFactory,\r\n deps: [],\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseAPIService } from '@lbmx/phoenix-lib-core';\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccountService {\r\n public appSettings: AppSetting = this.configProvider.AppSetting;\r\n constructor(\r\n private baseApiService: BaseAPIService,\r\n private configProvider: ConfigProvider\r\n ) {}\r\n\r\n public getHome() {\r\n this.baseApiService.set(\r\n `${this.appSettings.uriMarketplacePartners.getAccount}/home`\r\n );\r\n\r\n return this.baseApiService.get();\r\n }\r\n\r\n public getURL(imageKey: number, accountKey: number): string {\r\n try {\r\n return `${this.appSettings.uriAdministration.accountAssetsEndPoint}/${imageKey}?accountKey=${accountKey}`;\r\n } catch {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, exhaustMap, map } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nexport interface IAnalyticsAuth {\r\n loginURL: string;\r\n redirectURL: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AnalyticsService {\r\n public appSettings: AppSetting = this.configPrv.AppSetting;\r\n\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private httpClient: HttpClient\r\n ) {}\r\n\r\n public getLoginUrls(): Observable {\r\n return this.httpClient\r\n .get(this.appSettings.uriSecurity.analytics, { withCredentials: true })\r\n .pipe(\r\n exhaustMap((result: IAnalyticsAuth) => {\r\n return this.httpClient\r\n .get(result.loginURL, {\r\n withCredentials: true,\r\n responseType: 'text',\r\n headers: new HttpHeaders({\r\n 'Content-type': 'text/html; charset=utf-8',\r\n }),\r\n })\r\n .pipe(\r\n map(() => result.redirectURL),\r\n catchError((error) => of(error))\r\n );\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n CanActivateChild,\r\n Router,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n} from '@angular/router';\r\n\r\nimport { actions, actionTypes, selectors } from '@lbmx/app-state';\r\nimport { UserProfile, UserState } from '@lbmx/types';\r\n\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { from, Observable, of } from 'rxjs';\r\nimport {\r\n catchError,\r\n concatMap,\r\n exhaustMap,\r\n first,\r\n switchMap,\r\n} from 'rxjs/operators';\r\n\r\nimport { ConfigProvider } from '../../provider/config-provider';\r\nimport _checkAuthorization from './authorization.check';\r\nimport _checkTerms from './terms.check';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivateChild, CanActivate {\r\n private dispatcher: {\r\n [key: string]: (p: UserProfile, u: string) => Observable;\r\n } = {\r\n checkTerms: (p: UserProfile, u: string): Observable =>\r\n _checkTerms(p, { redirectUrl: '/terms', router: this.router }),\r\n checkAuthorization: (\r\n p: UserProfile,\r\n u: string\r\n ): Observable => _checkAuthorization(p, { url: u }),\r\n };\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private configPrv: ConfigProvider,\r\n private router: Router,\r\n private store: Store\r\n ) {}\r\n\r\n public canActivateChild(\r\n _: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n return this._isAuthorized(state.url, ['checkTerms', 'checkAuthorization']);\r\n }\r\n\r\n public canActivate(\r\n _: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n return this._isAuthorized(state.url, ['checkAuthorization']);\r\n }\r\n\r\n private _isAuthorized(\r\n url: string,\r\n checks: string[]\r\n ): Observable {\r\n return this.store.pipe(\r\n select(selectors.userFeature),\r\n switchMap((userState: UserState) => {\r\n return this.ensureProfile(userState, url, checks);\r\n }),\r\n catchError(() => of(this.router.parseUrl(`/home`)))\r\n );\r\n }\r\n\r\n public ensureProfile(\r\n userState: UserState,\r\n url: string,\r\n checks: string[]\r\n ): Observable {\r\n return userState.profile.userInfo.IsTermsSigned === null ||\r\n new Date(userState.tokenExpires) < new Date()\r\n ? this.fetchUserProfile(url, checks)\r\n : this.checker(checks, userState.profile, url);\r\n }\r\n\r\n private checker(\r\n checks: string[],\r\n profile: UserProfile,\r\n url: string\r\n ): Observable {\r\n return from(checks).pipe(\r\n concatMap((check) => this.dispatcher[check](profile, url)),\r\n first((result) => result === false || result instanceof UrlTree, true)\r\n );\r\n }\r\n\r\n private fetchUserProfile(\r\n url: string,\r\n checks: string[]\r\n ): Observable {\r\n this.refresh();\r\n return this.actions$.pipe(\r\n ofType(\r\n actions.refreshUserProfileSuccess,\r\n actions.refreshUserProfileFailure\r\n ),\r\n exhaustMap(\r\n (action): Observable => {\r\n return of(\r\n action.type === actionTypes.REFRESH_USER_PROFILE_FAILURE\r\n ? this.router.parseUrl(`/login?nextUrl=${url}`)\r\n : this.checker(checks, action.userState.profile, url) ||\r\n this.router.parseUrl(`/home`)\r\n );\r\n }\r\n )\r\n );\r\n }\r\n private refresh() {\r\n this.store.dispatch(\r\n actions.refreshUserProfile({\r\n endPoints: this.configPrv.AppSetting,\r\n })\r\n );\r\n }\r\n}\r\n","import { Router, UrlTree } from '@angular/router';\r\nimport { UserProfile } from '@lbmx/types';\r\nimport { Observable, of } from 'rxjs';\r\nimport { routePermissions } from '../../features/secure/main-navigation-container/permissions';\r\n\r\nexport default function checkAuthorization(\r\n profile: UserProfile,\r\n config: { [key: string]: any }\r\n): Observable {\r\n return of(isAuthorized(profile.toolKeys, routePermissions, config.url));\r\n}\r\n\r\nconst isAuthorized = (\r\n toolKeys: number[],\r\n permissionItems: { [key: string]: number },\r\n url: string\r\n): boolean => {\r\n return toolKeys.length > 0\r\n ? Object.entries(permissionItems).reduce(\r\n (permissions, [name, toolKey]: [string, number]) => {\r\n return { ...permissions, [name]: toolKeys.includes(toolKey) };\r\n },\r\n {\r\n '/PlaygroundModule': true,\r\n '/home': true,\r\n '/default': true,\r\n '/terms': true,\r\n }\r\n )[`/${url.split('/')[1]}`]\r\n : false;\r\n};\r\n","import { Router, UrlTree } from '@angular/router';\r\nimport { UserProfile } from '@lbmx/types';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nexport default function checkTerms(\r\n profile: UserProfile,\r\n config: { [key: string]: any }\r\n): Observable {\r\n const { userInfo } = profile;\r\n return userInfo.IsTermsSigned === 1\r\n ? of(true)\r\n : of(config.router.parseUrl(config.redirectUrl));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { selectors } from '@lbmx/app-state';\r\nimport { UserState } from '@lbmx/types';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DefaultRouteService implements CanActivate {\r\n constructor(private router: Router, private store: Store) {}\r\n\r\n public canActivate(_: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.store.pipe(\r\n select(selectors.userProfile),\r\n switchMap((profile) => {\r\n return of(\r\n !profile.defaultModule || this.router.parseUrl(profile.defaultModule)\r\n );\r\n }),\r\n catchError(() => of(this.router.parseUrl('/home')))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EnvService {\r\n public BaseUrl = 'http://localhost:4200';\r\n public Name = 'debug';\r\n public Prod = 'false';\r\n\r\n // tslint:disable-next-line: no-empty\r\n constructor() {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport { ToastrNotificationService } from '@lbmx/phoenix-lib-utils';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n/**\r\n * @todo\r\n * This implementation for the app error is just for demo\r\n * Next step is to decide how to best use this framework setup\r\n * Or maybe even use this implementaion and extend on this behaviour\r\n * @param loggerSrv: logger service (from lbmx/phoenix-lib-core)\r\n */\r\nexport class AppError {\r\n constructor(\r\n private loggerSrv?: LoggerService,\r\n private toastrSrv?: ToastrNotificationService\r\n ) {}\r\n\r\n /**\r\n *\r\n * @param error\r\n * accepts and error to log\r\n * @param errorMessage\r\n * takes in a message to log\r\n */\r\n public log(error: any, errorMessage: string) {\r\n this.loggerSrv.error(errorMessage, JSON.stringify(error));\r\n }\r\n\r\n /**\r\n *\r\n * @param errorMessage\r\n * accepts a message to display as a toast\r\n * notification\r\n */\r\n public showErrorMsg(errorMessage: string) {\r\n this.toastrSrv.errorNotify(errorMessage);\r\n }\r\n public showInfoMsg(errorMessage: string) {\r\n this.toastrSrv.infoNotify(errorMessage);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport { selectors } from '@lbmx/app-state';\r\n\r\nimport { SpinnerService } from '@lbmx/phoenix-lib-utils';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Actions } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { forkJoin, Subscription, throwError } from 'rxjs';\r\nimport { first, switchMap, take } from 'rxjs/operators';\r\nimport { AppError } from './app.error.helper.service';\r\n\r\nexport class HttpError {\r\n public message: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ErrorService implements OnDestroy {\r\n public subscriptions: Subscription[] = [];\r\n constructor(\r\n private translocoSrv?: TranslocoService,\r\n private appError?: AppError,\r\n private spinnerSrv?: SpinnerService,\r\n private store?: Store,\r\n private actions$?: Actions\r\n ) {}\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n //#region Methods\r\n /**\r\n * @remarks\r\n * Checks for different error codes and creates an Observable\r\n * and immediately emits an error notification.\r\n * The error is then passed directly to the AppError. The AppError\r\n * then calls the log function to log the error and show toast notification.\r\n *\r\n * At minimum every kind of error will be logged\r\n * @param error : actual error content (i.e. Promise Reject)\r\n * @returns\r\n * an Observable\r\n */\r\n public handleHttpErrorResponse(error: HttpErrorResponse) {\r\n this.spinnerSrv.off();\r\n this.subscriptions.push(\r\n forkJoin([\r\n this.store.pipe(\r\n select(selectors.userProfile),\r\n take(1),\r\n switchMap((user) => {\r\n this.translocoSrv.setActiveLang(\r\n user.userInfo.LanguageCode || 'en-ca'\r\n );\r\n return this.translocoSrv.selectTranslate('COMMON').pipe(take(1));\r\n })\r\n ),\r\n this.store.select(selectors.userFeature).pipe(first()),\r\n ])\r\n .pipe()\r\n .subscribe(([translation, userFeature]) => {\r\n this.appError.log(error, error.message);\r\n if (\r\n !error.error ||\r\n (error.error &&\r\n (error.error.errorCode === 2 || error.error.errorCode === 1))\r\n ) {\r\n if (error.status === 401 || error.status === 403) {\r\n if (\r\n userFeature.tokenExpires !== null &&\r\n new Date(userFeature.tokenExpires) < new Date()\r\n ) {\r\n this.appError.showInfoMsg(translation.SESSION_EXPIRED);\r\n }\r\n } else {\r\n this.appError.showErrorMsg(translation.UNKNOWN_ERROR);\r\n }\r\n }\r\n })\r\n );\r\n // Server side error\r\n\r\n return throwError(error);\r\n }\r\n //#endregion\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { OtpService } from '../otp/otp.service';\r\nimport { ErrorService } from './error.service';\r\n\r\n@Injectable()\r\nexport class RequestInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorHandler: ErrorService,\r\n private otpService: OtpService\r\n ) {}\r\n\r\n public intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable {\r\n return next.handle(request).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n const status = err?.status;\r\n if (err?.error?.errorCode === 6) {\r\n this.otpService.status = status;\r\n this.otpService.request =\r\n status !== 403 && status !== 410 ? request : null;\r\n return of({});\r\n }\r\n return this.errorHandler.handleHttpErrorResponse(err);\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, exhaustMap, map, takeUntil, tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\nimport { IAnalyticsAuth } from '../analytics/analytics.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavBarService implements OnDestroy {\r\n private _shouldDestroy = new Subject();\r\n private showMarketplaceModalBehaviorSubject = new BehaviorSubject(0);\r\n public showMarketplaceModal =\r\n this.showMarketplaceModalBehaviorSubject.asObservable();\r\n public appSettings: AppSetting = this.configPrv.AppSetting;\r\n\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private router: Router,\r\n private httpClient: HttpClient\r\n ) {}\r\n\r\n public getLoginUrls(): Observable {\r\n return this.httpClient\r\n .get(this.appSettings.uriSecurity.analytics, { withCredentials: true })\r\n .pipe(\r\n exhaustMap((result: IAnalyticsAuth) => {\r\n return this.httpClient\r\n .get(result.loginURL, {\r\n withCredentials: true,\r\n responseType: 'text',\r\n headers: new HttpHeaders({\r\n 'Content-type': 'text/html; charset=utf-8',\r\n }),\r\n })\r\n .pipe(\r\n map(() => result.redirectURL),\r\n catchError((error) => of(error))\r\n );\r\n })\r\n );\r\n }\r\n\r\n public runCommand(command: any) {\r\n if (command) {\r\n const key: string = Object.keys(command)[0];\r\n this.dispatcher(key, command[key]);\r\n }\r\n }\r\n\r\n public dispatcher(key: string, args: string[]) {\r\n switch (key) {\r\n case 'navigate':\r\n this.router.navigate(args);\r\n break;\r\n case 'switchMarketplace':\r\n this.switchMarketplace();\r\n break;\r\n case 'openAnalytics':\r\n this.openAnalytics();\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public switchMarketplace() {\r\n this.showMarketplaceModalBehaviorSubject.next(Date.now());\r\n }\r\n\r\n private openAnalytics() {\r\n this.getLoginUrls()\r\n .pipe(\r\n tap((result: string) => {\r\n if (result.match(/^http/)) {\r\n window.open(result);\r\n }\r\n }),\r\n takeUntil(this._shouldDestroy)\r\n )\r\n .subscribe();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._shouldDestroy.next(true);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ToastrNotificationService } from '@lbmx/phoenix-lib-utils';\r\nimport { InterceptorResponseService } from '@lbmx/root-services';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { filter, map, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OtpService {\r\n public set request(request: HttpRequest) {\r\n this._requestSubject.next(request);\r\n }\r\n public get request(): HttpRequest {\r\n return this._requestSubject.value;\r\n }\r\n\r\n public set status(status: number) {\r\n this._statusSubject.next(status);\r\n }\r\n public get status(): number {\r\n return this._statusSubject.value;\r\n }\r\n\r\n private _requestSubject = new BehaviorSubject>(null);\r\n private _statusSubject = new BehaviorSubject(null);\r\n\r\n public showDialog$: Observable = this._requestSubject\r\n .asObservable()\r\n .pipe(map((request) => request != null));\r\n\r\n private showStatus$: Observable = this._statusSubject\r\n .asObservable()\r\n .pipe(\r\n filter((status) => status != null),\r\n tap((status) => this.OTPStatus(status))\r\n );\r\n\r\n constructor(\r\n private client: HttpClient,\r\n private translocoService: TranslocoService,\r\n private toast: ToastrNotificationService,\r\n private interceptorResponseService: InterceptorResponseService\r\n ) {\r\n this.showStatus$.subscribe();\r\n }\r\n\r\n public submitWithOTP(otp: string) {\r\n if (typeof otp !== 'string') {\r\n this.request = null;\r\n return;\r\n }\r\n\r\n const withOTP = this.request.clone({\r\n headers: new HttpHeaders({\r\n 'x-otp': otp,\r\n }),\r\n });\r\n this.request = null;\r\n\r\n this.client\r\n .request(withOTP)\r\n .pipe(\r\n tap((response: any) => {\r\n if (response?.status === 200) {\r\n this.interceptorResponseService.success();\r\n this.status = response?.status;\r\n }\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n private OTPStatus(status: number) {\r\n switch (status) {\r\n case 200:\r\n this.toast.successNotify(\r\n this.translocoService.translate('GROUP.SUCCESS_TOAST_MESSAGE')\r\n );\r\n break;\r\n case 403:\r\n this.toast.errorNotify(this.translocoService.translate('OTP.EXPIRED'));\r\n break;\r\n case 410:\r\n this.toast.errorNotify(\r\n this.translocoService.translate(\r\n 'OTP.VERIFICATION_FAILED_TOO_MANY_TIMES'\r\n )\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nimport {\r\n Languages,\r\n TimeZones,\r\n} from '@lbmx/administration/lib/dtos/updateuser.dto';\r\nimport {\r\n IAccount,\r\n IAccountResponse,\r\n} from '@lbmx/marketplace-partners/lib/models/account.models';\r\nimport { BaseAPIService, LoggerService } from '@lbmx/phoenix-lib-core';\r\nimport {\r\n IConfigCountry,\r\n IRegistrationLinkValidationResponse,\r\n RegistrationToken,\r\n UpdateUserRequest,\r\n UpdateUserResponse,\r\n} from 'src/app/dtos/registration/registration.dto';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RegistrationService {\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private baseApiService: BaseAPIService,\r\n private loggerSrv: LoggerService\r\n ) {}\r\n public getLanguageTypes(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriAdministration.languageTypes);\r\n return this.baseApiService.get().pipe();\r\n }\r\n\r\n public getTimeZoneTypes(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriConfig.getTimeZoneTypes);\r\n return this.baseApiService.get().pipe();\r\n }\r\n public validateRegistrationLink(\r\n token: RegistrationToken\r\n ): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriAdministration.validateRegistration);\r\n return this.baseApiService.get({\r\n params: { fromObject: { token: token.token } },\r\n });\r\n }\r\n\r\n public registerUser(request: UpdateUserRequest): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriAdministration.registerUser);\r\n return this.baseApiService.post(request, { responseType: 'text' }).pipe();\r\n }\r\n\r\n public getCountries(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriConfig.getCountries);\r\n return this.baseApiService.get();\r\n }\r\n\r\n public getAccount(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriMarketplacePartners.getAccount);\r\n return this.baseApiService.get().pipe(\r\n map((accountResponse) => {\r\n return {\r\n ...accountResponse.account,\r\n details: accountResponse.account.details[0],\r\n };\r\n })\r\n );\r\n }\r\n}\r\n","import { Inject, Injectable, LOCALE_ID, OnDestroy } from '@angular/core';\r\n\r\nimport { Observable, of, Subject, Subscription } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\r\nimport { AppSetting } from '@lbmx/types';\r\nimport {\r\n IResetLinkValidationResponse,\r\n PasswordRecoveryRequest,\r\n ResetPasswordRequest,\r\n ResetToken,\r\n} from 'src/app/dtos/forgotPassword/forgotPassword.dto';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nimport { BaseAPIService, LoggerService } from '@lbmx/phoenix-lib-core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PasswordResetService implements OnDestroy {\r\n public subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private configPrv: ConfigProvider,\r\n private baseAPISrv: BaseAPIService,\r\n private loggerSrv: LoggerService\r\n ) {}\r\n\r\n public ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n\r\n //#region Methods\r\n public getPasswordRecovery(user: string) {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseAPISrv.set(appSettings.uriSecurity.recoverPassword);\r\n\r\n const request: PasswordRecoveryRequest = {\r\n username: user,\r\n };\r\n\r\n this.subscriptions.push(\r\n this.baseAPISrv\r\n .post(request)\r\n .pipe(take(1))\r\n .subscribe(\r\n (response: any) => {\r\n this.loggerSrv.info(\r\n 'Sent password reset link',\r\n 'PasswordResetService.getPasswordRecovery',\r\n response\r\n );\r\n },\r\n (err: any) => {\r\n this.loggerSrv.error(\r\n 'Error sending password reset link',\r\n 'PasswordResetService.getPasswordRecovery',\r\n err\r\n );\r\n }\r\n )\r\n );\r\n }\r\n\r\n public validatePasswordResetLink(\r\n token: ResetToken\r\n ): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseAPISrv.set(appSettings.uriSecurity.validateResetPasswordLink);\r\n return this.baseAPISrv.get({\r\n params: { fromObject: { token: token.token } },\r\n });\r\n }\r\n\r\n public resetPassword(\r\n resetRequest: ResetPasswordRequest\r\n ): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseAPISrv.set(appSettings.uriSecurity.resetPassword);\r\n const didSucceed = new Subject();\r\n this.subscriptions.push(\r\n this.baseAPISrv\r\n .post(resetRequest, { responseType: 'text' })\r\n .pipe(take(1))\r\n .subscribe(\r\n (response: any) => {\r\n this.loggerSrv.info(\r\n 'Updated password',\r\n 'PasswordResetService.resetPassword',\r\n response\r\n );\r\n didSucceed.next(true);\r\n },\r\n (err: any) => {\r\n this.loggerSrv.error(\r\n 'Failed to update password',\r\n 'PasswordResetService.resetPassword',\r\n err\r\n );\r\n didSucceed.next(false);\r\n }\r\n )\r\n );\r\n return didSucceed.asObservable();\r\n }\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseHttpService } from '@lbmx/root-services';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ConfigProvider } from '../../provider/config-provider';\r\n\r\nexport enum SiteType {\r\n MY_MARKETPLACE = 1,\r\n SUPPLY_CLOUD,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SiteTypeService {\r\n constructor(\r\n private configProvider: ConfigProvider,\r\n private http: BaseHttpService\r\n ) {\r\n this.http.baseUrl =\r\n this.configProvider.AppSetting?.uriConfiguration?.configurationRootURL;\r\n this.http\r\n .fetch<{ errorCode: number; record?: number }>({\r\n endpoint: '/site-type',\r\n httpMethod: 'GET',\r\n })\r\n .pipe(tap((res) => this.siteType$.next(res.record as SiteType)))\r\n .subscribe();\r\n }\r\n\r\n public get siteType(): SiteType {\r\n return this.siteType$.value;\r\n }\r\n public siteType$ = new BehaviorSubject(undefined);\r\n\r\n public get siteName(): string {\r\n switch (this.siteType) {\r\n case SiteType.SUPPLY_CLOUD:\r\n return 'supplycloud';\r\n default:\r\n return 'my-marketplace';\r\n }\r\n }\r\n public get homeUrl(): string {\r\n switch (this.siteType) {\r\n case SiteType.SUPPLY_CLOUD:\r\n return 'http://www.gosupplycloud.com';\r\n default:\r\n return 'http://www.lbmx.com';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport {\r\n IAccount,\r\n IAccountResponse,\r\n} from '@lbmx/marketplace-partners/lib/models/account.models';\r\nimport { BaseAPIService } from '@lbmx/phoenix-lib-core';\r\nimport { AppSetting } from '@lbmx/types';\r\nimport { map } from 'rxjs/operators';\r\nimport { IConfigCountry } from 'src/app/dtos/registration/registration.dto';\r\nimport {\r\n DateFormatTypes,\r\n ILanguages,\r\n ITimeZoneTypes,\r\n IUserProfileForm,\r\n} from 'src/app/dtos/userProfile/userProfile.dto';\r\nimport { ConfigProvider } from 'src/app/provider/config-provider';\r\n\r\nimport {\r\n INotificationRequest,\r\n IUserNotificationResponse,\r\n} from 'src/app/models/user.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserProfileService {\r\n public appSettings: AppSetting = this.configPrv.AppSetting;\r\n constructor(\r\n private baseApiService: BaseAPIService,\r\n private configPrv: ConfigProvider\r\n ) {}\r\n public getUserProfile(): Observable {\r\n this.baseApiService.set(this.appSettings.uriAdministration.getUserProfile);\r\n return this.baseApiService.get();\r\n }\r\n public updateUserProfile(request: IUserProfileForm): Observable {\r\n this.baseApiService.set(\r\n this.appSettings.uriAdministration.updateUserProfile\r\n );\r\n return this.baseApiService.post(request).pipe();\r\n }\r\n public getUserNotifications(): Observable {\r\n this.baseApiService.set(\r\n `${this.appSettings.uriMarketplace.getUser}/user/notification/getUserNotifications`\r\n );\r\n return this.baseApiService.get();\r\n }\r\n public updateUserNotifications(\r\n request: INotificationRequest[]\r\n ): Observable {\r\n this.baseApiService.set(\r\n `${this.appSettings.uriMarketplace.getUser}/user/notification/addOrUpdateUserNotifications`\r\n );\r\n return this.baseApiService.post(request).pipe();\r\n }\r\n public getLanguageTypes(): Observable {\r\n this.baseApiService.set(this.appSettings.uriAdministration.languageTypes);\r\n return this.baseApiService.get().pipe();\r\n }\r\n\r\n public getdateFormatTypes(): Observable {\r\n this.baseApiService.set(this.appSettings.uriAdministration.dateFormatTypes);\r\n return this.baseApiService.get();\r\n }\r\n public getTimezoneTypes(): Observable {\r\n this.baseApiService.set(this.appSettings.uriConfig.getTimeZoneTypes);\r\n return this.baseApiService.get().pipe();\r\n }\r\n\r\n public getCountries(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriConfig.getCountries);\r\n return this.baseApiService.get();\r\n }\r\n\r\n public getAccount(): Observable {\r\n const appSettings: AppSetting = this.configPrv.AppSetting;\r\n this.baseApiService.set(appSettings.uriMarketplacePartners.getAccount);\r\n return this.baseApiService.get().pipe(\r\n map((accountResponse) => {\r\n return {\r\n ...accountResponse.account,\r\n details: accountResponse.account.details[0],\r\n };\r\n })\r\n );\r\n }\r\n}\r\n","\r\n(function (window) {\r\n window.__env = window.__env || {};\r\n window.__env.Name = \"#{name}\";\r\n window.__env.Prod = \"#{isProduction}\";\r\n window.__env.BaseUrl = \"#{baseURL}\"; \r\n}(this));","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseAPIService } from '@lbmx/phoenix-lib-core';\r\nimport {\r\n Translation,\r\n TRANSLOCO_LOADER,\r\n TranslocoLoader,\r\n} from '@ngneat/transloco';\r\nimport { EnvService } from '../app/services/env.service';\r\n@Injectable()\r\nexport class HttpLoader implements TranslocoLoader {\r\n private urlOnStart: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private envSevice: EnvService,\r\n private baseApiService: BaseAPIService\r\n ) {}\r\n\r\n public getTranslation(langPath: string) {\r\n this.urlOnStart = window.location.href;\r\n // Supply Cloud condition -- unsure what the supply cloud test url is\r\n if (\r\n this.urlOnStart.includes(':4201') ||\r\n this.urlOnStart.includes('supplycloud')\r\n ) {\r\n this.baseApiService.set(`/assets/i18n/sc/${langPath}.json`);\r\n } else {\r\n this.baseApiService.set(`/assets/i18n/marketplace/${langPath}.json`);\r\n }\r\n\r\n return this.baseApiService.get({});\r\n }\r\n}\r\n\r\nexport const httpLoader = { provide: TRANSLOCO_LOADER, useClass: HttpLoader };\r\n","import { enableProdMode, Injector } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { EnvService } from './app/services/env.service';\r\nimport { EnvServiceProvider } from './app/services/EnvServiceProvider';\r\n\r\nrequire('./env.js');\r\n\r\nconst injector = Injector.create({ providers: [EnvServiceProvider] });\r\nconst service = injector.get(EnvService);\r\n\r\nif (service.Prod === 'true') {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}
\r\n {{ headerText }}\r\n \r\n {{ dataAccessor(data, name) }}\r\n