tango-app-ui-shared 3.7.3-dev6-demo6 → 3.7.3-dev6-demo7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +37 -0
- package/ng-package.json +7 -0
- package/package.json +12 -25
- package/src/lib/guards/auth.guard.ts +20 -0
- package/src/lib/guards/lead.guard.ts +16 -0
- package/src/lib/guards/stores.guard.ts +16 -0
- package/src/lib/guards/tickets.guard.ts +16 -0
- package/{lib/i18n/index.d.ts → src/lib/i18n/index.ts} +2 -2
- package/src/lib/i18n/translation.module.ts +9 -0
- package/src/lib/i18n/translation.service.ts +61 -0
- package/src/lib/i18n/vocabs/ch.ts +105 -0
- package/src/lib/i18n/vocabs/de.ts +105 -0
- package/src/lib/i18n/vocabs/en.ts +105 -0
- package/src/lib/i18n/vocabs/es.ts +105 -0
- package/src/lib/i18n/vocabs/fr.ts +105 -0
- package/src/lib/i18n/vocabs/jp.ts +105 -0
- package/src/lib/interceptors/http-auth-interceptor.ts +225 -0
- package/src/lib/interfaces/global-state.ts +6 -0
- package/src/lib/modules/common/common-shared.module.ts +20 -0
- package/src/lib/modules/common/custom-select/custom-select.component.html +42 -0
- package/src/lib/modules/common/custom-select/custom-select.component.scss +131 -0
- package/src/lib/modules/common/custom-select/custom-select.component.spec.ts +23 -0
- package/src/lib/modules/common/custom-select/custom-select.component.ts +149 -0
- package/src/lib/modules/common/filters/filters.component.html +76 -0
- package/src/lib/modules/common/filters/filters.component.scss +131 -0
- package/src/lib/modules/common/filters/filters.component.spec.ts +23 -0
- package/src/lib/modules/common/filters/filters.component.ts +181 -0
- package/src/lib/modules/common/pagination/pagination.component.html +26 -0
- package/src/lib/modules/common/pagination/pagination.component.scss +63 -0
- package/src/lib/modules/common/pagination/pagination.component.spec.ts +23 -0
- package/src/lib/modules/common/pagination/pagination.component.ts +46 -0
- package/src/lib/modules/errors/error403/error403.component.html +25 -0
- package/src/lib/modules/errors/error403/error403.component.scss +0 -0
- package/src/lib/modules/errors/error403/error403.component.spec.ts +23 -0
- package/src/lib/modules/errors/error403/error403.component.ts +28 -0
- package/src/lib/modules/errors/error404/error404.component.html +24 -0
- package/src/lib/modules/errors/error404/error404.component.scss +0 -0
- package/src/lib/modules/errors/error404/error404.component.spec.ts +25 -0
- package/src/lib/modules/errors/error404/error404.component.ts +50 -0
- package/src/lib/modules/errors/error500/error500.component.html +24 -0
- package/src/lib/modules/errors/error500/error500.component.scss +0 -0
- package/src/lib/modules/errors/error500/error500.component.spec.ts +25 -0
- package/src/lib/modules/errors/error500/error500.component.ts +50 -0
- package/src/lib/modules/errors/errors-routing.module.ts +40 -0
- package/src/lib/modules/errors/errors.component.html +15 -0
- package/src/lib/modules/errors/errors.component.scss +4 -0
- package/src/lib/modules/errors/errors.component.spec.ts +25 -0
- package/src/lib/modules/errors/errors.component.ts +42 -0
- package/src/lib/modules/errors/errors.module.ts +25 -0
- package/src/lib/modules/errors/invalid-ip/invalid-ip.component.html +16 -0
- package/src/lib/modules/errors/invalid-ip/invalid-ip.component.scss +0 -0
- package/src/lib/modules/errors/invalid-ip/invalid-ip.component.spec.ts +23 -0
- package/src/lib/modules/errors/invalid-ip/invalid-ip.component.ts +43 -0
- package/src/lib/modules/intro/contact-support/contact-support.component.html +30 -0
- package/src/lib/modules/intro/contact-support/contact-support.component.scss +60 -0
- package/src/lib/modules/intro/contact-support/contact-support.component.spec.ts +23 -0
- package/src/lib/modules/intro/contact-support/contact-support.component.ts +17 -0
- package/src/lib/modules/intro/intro-routing.module.ts +16 -0
- package/src/lib/modules/intro/intro.module.ts +21 -0
- package/src/lib/modules/intro/lead-intro/lead-intro.component.html +325 -0
- package/src/lib/modules/intro/lead-intro/lead-intro.component.scss +185 -0
- package/src/lib/modules/intro/lead-intro/lead-intro.component.spec.ts +23 -0
- package/src/lib/modules/intro/lead-intro/lead-intro.component.ts +120 -0
- package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.html +44 -0
- package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.scss +28 -0
- package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.spec.ts +23 -0
- package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.ts +24 -0
- package/src/lib/modules/layout/content/content.component.html +12 -0
- package/src/lib/modules/layout/content/content.component.scss +0 -0
- package/src/lib/modules/layout/content/content.component.ts +102 -0
- package/src/lib/modules/layout/footer/footer.component.html +29 -0
- package/src/lib/modules/layout/footer/footer.component.scss +7 -0
- package/src/lib/modules/layout/footer/footer.component.spec.ts +25 -0
- package/src/lib/modules/layout/footer/footer.component.ts +13 -0
- package/src/lib/modules/layout/header/header-menu/header-menu.component.html +27 -0
- package/src/lib/modules/layout/header/header-menu/header-menu.component.scss +4 -0
- package/src/lib/modules/layout/header/header-menu/header-menu.component.spec.ts +25 -0
- package/src/lib/modules/layout/header/header-menu/header-menu.component.ts +38 -0
- package/src/lib/modules/layout/header/header.component.html +90 -0
- package/src/lib/modules/layout/header/header.component.scss +7 -0
- package/src/lib/modules/layout/header/header.component.spec.ts +25 -0
- package/src/lib/modules/layout/header/header.component.ts +139 -0
- package/src/lib/modules/layout/header/navbar/navbar.component.html +156 -0
- package/src/lib/modules/layout/header/navbar/navbar.component.scss +223 -0
- package/src/lib/modules/layout/header/navbar/navbar.component.spec.ts +23 -0
- package/src/lib/modules/layout/header/navbar/navbar.component.ts +255 -0
- package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.html +200 -0
- package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.scss +139 -0
- package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.ts +76 -0
- package/src/lib/modules/layout/header/page-title/page-title.component.html +32 -0
- package/src/lib/modules/layout/header/page-title/page-title.component.scss +11 -0
- package/src/lib/modules/layout/header/page-title/page-title.component.ts +47 -0
- package/src/lib/modules/layout/keenicon/icons.json +1 -0
- package/src/lib/modules/layout/keenicon/keenicon.component.html +4 -0
- package/src/lib/modules/layout/keenicon/keenicon.component.scss +0 -0
- package/src/lib/modules/layout/keenicon/keenicon.component.spec.ts +23 -0
- package/src/lib/modules/layout/keenicon/keenicon.component.ts +30 -0
- package/src/lib/modules/layout/layout/layout.component.html +71 -0
- package/src/lib/modules/layout/layout/layout.component.scss +23 -0
- package/src/lib/modules/layout/layout/layout.component.ts +425 -0
- package/src/lib/modules/layout/layout.module.ts +129 -0
- package/src/lib/modules/layout/scripts-init/scripts-init.component.html +0 -0
- package/src/lib/modules/layout/scripts-init/scripts-init.component.ts +81 -0
- package/src/lib/modules/layout/scroll-top/scroll-top.component.html +1 -0
- package/src/lib/modules/layout/scroll-top/scroll-top.component.ts +75 -0
- package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.html +70 -0
- package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.scss +57 -0
- package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.spec.ts +23 -0
- package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.ts +136 -0
- package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.html +26 -0
- package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.scss +0 -0
- package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.spec.ts +23 -0
- package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.ts +36 -0
- package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.html +761 -0
- package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.scss +38 -0
- package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.spec.ts +23 -0
- package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.ts +130 -0
- package/src/lib/modules/layout/sidebar/sidebar.component.html +16 -0
- package/src/lib/modules/layout/sidebar/sidebar.component.scss +3 -0
- package/src/lib/modules/layout/sidebar/sidebar.component.spec.ts +23 -0
- package/src/lib/modules/layout/sidebar/sidebar.component.ts +203 -0
- package/src/lib/modules/layout/toolbar/accounting/accounting.component.html +84 -0
- package/src/lib/modules/layout/toolbar/accounting/accounting.component.scss +0 -0
- package/src/lib/modules/layout/toolbar/accounting/accounting.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/accounting/accounting.component.ts +14 -0
- package/src/lib/modules/layout/toolbar/classic/classic.component.html +69 -0
- package/src/lib/modules/layout/toolbar/classic/classic.component.scss +238 -0
- package/src/lib/modules/layout/toolbar/classic/classic.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/classic/classic.component.ts +389 -0
- package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.html +4 -0
- package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.scss +3 -0
- package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.ts +91 -0
- package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.html +22 -0
- package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.scss +156 -0
- package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.ts +238 -0
- package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.html +14 -0
- package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.scss +149 -0
- package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.ts +183 -0
- package/src/lib/modules/layout/toolbar/extended/extended.component.html +100 -0
- package/src/lib/modules/layout/toolbar/extended/extended.component.scss +0 -0
- package/src/lib/modules/layout/toolbar/extended/extended.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/extended/extended.component.ts +12 -0
- package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.html +311 -0
- package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.scss +311 -0
- package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.ts +1555 -0
- package/src/lib/modules/layout/toolbar/reports/reports.component.html +62 -0
- package/src/lib/modules/layout/toolbar/reports/reports.component.scss +0 -0
- package/src/lib/modules/layout/toolbar/reports/reports.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/reports/reports.component.ts +14 -0
- package/src/lib/modules/layout/toolbar/saas/saas.component.html +77 -0
- package/src/lib/modules/layout/toolbar/saas/saas.component.scss +0 -0
- package/src/lib/modules/layout/toolbar/saas/saas.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/saas/saas.component.ts +14 -0
- package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.html +26 -0
- package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.scss +176 -0
- package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.ts +235 -0
- package/src/lib/modules/layout/toolbar/single-store/single-store.component.html +39 -0
- package/src/lib/modules/layout/toolbar/single-store/single-store.component.scss +176 -0
- package/src/lib/modules/layout/toolbar/single-store/single-store.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/single-store/single-store.component.ts +188 -0
- package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.html +17 -0
- package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.scss +172 -0
- package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.ts +179 -0
- package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.html +4 -0
- package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.scss +19 -0
- package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.ts +105 -0
- package/src/lib/modules/layout/toolbar/toolbar.component.html +64 -0
- package/src/lib/modules/layout/toolbar/toolbar.component.scss +0 -0
- package/src/lib/modules/layout/toolbar/toolbar.component.spec.ts +25 -0
- package/src/lib/modules/layout/toolbar/toolbar.component.ts +400 -0
- package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.html +259 -0
- package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.scss +305 -0
- package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.ts +1202 -0
- package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.html +199 -0
- package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.scss +311 -0
- package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.ts +899 -0
- package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.html +204 -0
- package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.scss +311 -0
- package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.ts +1045 -0
- package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.html +190 -0
- package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.scss +311 -0
- package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.ts +825 -0
- package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.html +259 -0
- package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.scss +305 -0
- package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.spec.ts +23 -0
- package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.ts +1242 -0
- package/src/lib/modules/notification/conformation/conformation.component.html +25 -0
- package/src/lib/modules/notification/conformation/conformation.component.scss +0 -0
- package/src/lib/modules/notification/conformation/conformation.component.spec.ts +23 -0
- package/src/lib/modules/notification/conformation/conformation.component.ts +23 -0
- package/src/lib/modules/notification/notification/notification.component.html +209 -0
- package/src/lib/modules/notification/notification/notification.component.scss +211 -0
- package/src/lib/modules/notification/notification/notification.component.spec.ts +23 -0
- package/src/lib/modules/notification/notification/notification.component.ts +310 -0
- package/src/lib/modules/notification/notification-routing.module.ts +20 -0
- package/src/lib/modules/notification/notification.module.ts +21 -0
- package/src/lib/pipes/customDate.pipe.ts +18 -0
- package/src/lib/routes/route-wraper-modules/analyse-wrapper.module.ts +12 -0
- package/src/lib/routes/route-wraper-modules/edge-wrapper.module.ts +11 -0
- package/src/lib/routes/route-wraper-modules/manage-wrapper.module.ts +11 -0
- package/src/lib/routes/route-wraper-modules/profile-wrapper.module.ts +12 -0
- package/src/lib/routes/route-wraper-modules/store-wrapper.module.ts +11 -0
- package/src/lib/routes/route-wraper-modules/ticket-wrapper.module.ts +10 -0
- package/src/lib/routes/routing.ts +56 -0
- package/src/lib/services/auth.service.ts +178 -0
- package/src/lib/services/notification.service.spec.ts +16 -0
- package/src/lib/services/notification.service.ts +73 -0
- package/src/lib/services/toast.service.ts +82 -0
- package/{public-api.d.ts → src/public-api.ts} +71 -44
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/guards/auth.guard.mjs +0 -26
- package/esm2022/lib/guards/lead.guard.mjs +0 -16
- package/esm2022/lib/guards/stores.guard.mjs +0 -16
- package/esm2022/lib/guards/tickets.guard.mjs +0 -16
- package/esm2022/lib/i18n/index.mjs +0 -3
- package/esm2022/lib/i18n/translation.module.mjs +0 -17
- package/esm2022/lib/i18n/translation.service.mjs +0 -53
- package/esm2022/lib/i18n/vocabs/ch.mjs +0 -106
- package/esm2022/lib/i18n/vocabs/de.mjs +0 -106
- package/esm2022/lib/i18n/vocabs/en.mjs +0 -106
- package/esm2022/lib/i18n/vocabs/es.mjs +0 -106
- package/esm2022/lib/i18n/vocabs/fr.mjs +0 -106
- package/esm2022/lib/i18n/vocabs/jp.mjs +0 -106
- package/esm2022/lib/interceptors/http-auth-interceptor.mjs +0 -124
- package/esm2022/lib/interfaces/global-state.mjs +0 -2
- package/esm2022/lib/modules/common/common-shared.module.mjs +0 -31
- package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +0 -155
- package/esm2022/lib/modules/common/filters/filters.component.mjs +0 -179
- package/esm2022/lib/modules/common/pagination/pagination.component.mjs +0 -49
- package/esm2022/lib/modules/errors/error403/error403.component.mjs +0 -33
- package/esm2022/lib/modules/errors/error404/error404.component.mjs +0 -44
- package/esm2022/lib/modules/errors/error500/error500.component.mjs +0 -45
- package/esm2022/lib/modules/errors/errors-routing.module.mjs +0 -48
- package/esm2022/lib/modules/errors/errors.component.mjs +0 -39
- package/esm2022/lib/modules/errors/errors.module.mjs +0 -37
- package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +0 -44
- package/esm2022/lib/modules/intro/contact-support/contact-support.component.mjs +0 -19
- package/esm2022/lib/modules/intro/intro-routing.module.mjs +0 -24
- package/esm2022/lib/modules/intro/intro.module.mjs +0 -32
- package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +0 -110
- package/esm2022/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.mjs +0 -31
- package/esm2022/lib/modules/layout/content/content.component.mjs +0 -107
- package/esm2022/lib/modules/layout/footer/footer.component.mjs +0 -17
- package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +0 -41
- package/esm2022/lib/modules/layout/header/header.component.mjs +0 -100
- package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +0 -256
- package/esm2022/lib/modules/layout/header/notifications-inner/notifications-inner.component.mjs +0 -79
- package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +0 -56
- package/esm2022/lib/modules/layout/keenicon/icons.json +0 -1
- package/esm2022/lib/modules/layout/keenicon/keenicon.component.mjs +0 -37
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +0 -314
- package/esm2022/lib/modules/layout/layout.module.mjs +0 -198
- package/esm2022/lib/modules/layout/scripts-init/scripts-init.component.mjs +0 -74
- package/esm2022/lib/modules/layout/scroll-top/scroll-top.component.mjs +0 -74
- package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -159
- package/esm2022/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.mjs +0 -45
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +0 -122
- package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +0 -134
- package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +0 -16
- package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +0 -331
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +0 -88
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +0 -207
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +0 -158
- package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +0 -15
- package/esm2022/lib/modules/layout/toolbar/metrics-header/metrics-header.component.mjs +0 -1321
- package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +0 -18
- package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +0 -18
- package/esm2022/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.mjs +0 -216
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +0 -178
- package/esm2022/lib/modules/layout/toolbar/single-storedate/single-storedate.component.mjs +0 -166
- package/esm2022/lib/modules/layout/toolbar/storesingle/storesingle.component.mjs +0 -105
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +0 -372
- package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +0 -1062
- package/esm2022/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.mjs +0 -795
- package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +0 -880
- package/esm2022/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.mjs +0 -729
- package/esm2022/lib/modules/layout/toolbar/zone-header/zone-header.component.mjs +0 -1088
- package/esm2022/lib/modules/notification/conformation/conformation.component.mjs +0 -22
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +0 -317
- package/esm2022/lib/modules/notification/notification-routing.module.mjs +0 -28
- package/esm2022/lib/modules/notification/notification.module.mjs +0 -32
- package/esm2022/lib/pipes/customDate.pipe.mjs +0 -22
- package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +0 -18
- package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +0 -18
- package/esm2022/lib/routes/route-wraper-modules/profile-wrapper.module.mjs +0 -18
- package/esm2022/lib/routes/route-wraper-modules/store-wrapper.module.mjs +0 -18
- package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +0 -18
- package/esm2022/lib/routes/routing.mjs +0 -53
- package/esm2022/lib/services/auth.service.mjs +0 -141
- package/esm2022/lib/services/notification.service.mjs +0 -74
- package/esm2022/lib/services/toast.service.mjs +0 -83
- package/esm2022/public-api.mjs +0 -56
- package/esm2022/tango-app-ui-shared.mjs +0 -5
- package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs +0 -21
- package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs +0 -188
- package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs +0 -21
- package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs +0 -400
- package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs +0 -21
- package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs +0 -21
- package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs +0 -21
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map +0 -1
- package/fesm2022/tango-app-ui-shared.mjs +0 -12438
- package/fesm2022/tango-app-ui-shared.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/guards/auth.guard.d.ts +0 -10
- package/lib/guards/lead.guard.d.ts +0 -2
- package/lib/guards/stores.guard.d.ts +0 -2
- package/lib/guards/tickets.guard.d.ts +0 -2
- package/lib/i18n/translation.module.d.ts +0 -8
- package/lib/i18n/translation.service.d.ts +0 -19
- package/lib/i18n/vocabs/ch.d.ts +0 -104
- package/lib/i18n/vocabs/de.d.ts +0 -104
- package/lib/i18n/vocabs/en.d.ts +0 -104
- package/lib/i18n/vocabs/es.d.ts +0 -104
- package/lib/i18n/vocabs/fr.d.ts +0 -104
- package/lib/i18n/vocabs/jp.d.ts +0 -104
- package/lib/interceptors/http-auth-interceptor.d.ts +0 -19
- package/lib/interfaces/global-state.d.ts +0 -5
- package/lib/modules/common/common-shared.module.d.ts +0 -13
- package/lib/modules/common/custom-select/custom-select.component.d.ts +0 -33
- package/lib/modules/common/filters/filters.component.d.ts +0 -38
- package/lib/modules/common/pagination/pagination.component.d.ts +0 -18
- package/lib/modules/errors/error403/error403.component.d.ts +0 -14
- package/lib/modules/errors/error404/error404.component.d.ts +0 -15
- package/lib/modules/errors/error500/error500.component.d.ts +0 -15
- package/lib/modules/errors/errors-routing.module.d.ts +0 -7
- package/lib/modules/errors/errors.component.d.ts +0 -13
- package/lib/modules/errors/errors.module.d.ts +0 -13
- package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +0 -17
- package/lib/modules/intro/contact-support/contact-support.component.d.ts +0 -9
- package/lib/modules/intro/intro-routing.module.d.ts +0 -7
- package/lib/modules/intro/intro.module.d.ts +0 -11
- package/lib/modules/intro/lead-intro/lead-intro.component.d.ts +0 -31
- package/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.d.ts +0 -13
- package/lib/modules/layout/content/content.component.d.ts +0 -25
- package/lib/modules/layout/footer/footer.component.d.ts +0 -8
- package/lib/modules/layout/header/header-menu/header-menu.component.d.ts +0 -18
- package/lib/modules/layout/header/header.component.d.ts +0 -30
- package/lib/modules/layout/header/navbar/navbar.component.d.ts +0 -45
- package/lib/modules/layout/header/notifications-inner/notifications-inner.component.d.ts +0 -25
- package/lib/modules/layout/header/page-title/page-title.component.d.ts +0 -23
- package/lib/modules/layout/keenicon/keenicon.component.d.ts +0 -13
- package/lib/modules/layout/layout/layout.component.d.ts +0 -82
- package/lib/modules/layout/layout.module.d.ts +0 -50
- package/lib/modules/layout/scripts-init/scripts-init.component.d.ts +0 -19
- package/lib/modules/layout/scroll-top/scroll-top.component.d.ts +0 -19
- package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +0 -45
- package/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.d.ts +0 -19
- package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +0 -26
- package/lib/modules/layout/sidebar/sidebar.component.d.ts +0 -36
- package/lib/modules/layout/toolbar/accounting/accounting.component.d.ts +0 -8
- package/lib/modules/layout/toolbar/classic/classic.component.d.ts +0 -48
- package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +0 -16
- package/lib/modules/layout/toolbar/date-single-select/date-single-select.component.d.ts +0 -28
- package/lib/modules/layout/toolbar/datepicker/datepicker.component.d.ts +0 -28
- package/lib/modules/layout/toolbar/extended/extended.component.d.ts +0 -8
- package/lib/modules/layout/toolbar/metrics-header/metrics-header.component.d.ts +0 -103
- package/lib/modules/layout/toolbar/reports/reports.component.d.ts +0 -9
- package/lib/modules/layout/toolbar/saas/saas.component.d.ts +0 -9
- package/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.d.ts +0 -32
- package/lib/modules/layout/toolbar/single-store/single-store.component.d.ts +0 -33
- package/lib/modules/layout/toolbar/single-storedate/single-storedate.component.d.ts +0 -34
- package/lib/modules/layout/toolbar/storesingle/storesingle.component.d.ts +0 -24
- package/lib/modules/layout/toolbar/toolbar.component.d.ts +0 -57
- package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +0 -93
- package/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.d.ts +0 -80
- package/lib/modules/layout/toolbar/trax-header/trax-header.component.d.ts +0 -83
- package/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.d.ts +0 -74
- package/lib/modules/layout/toolbar/zone-header/zone-header.component.d.ts +0 -97
- package/lib/modules/notification/conformation/conformation.component.d.ts +0 -10
- package/lib/modules/notification/notification/notification.component.d.ts +0 -63
- package/lib/modules/notification/notification-routing.module.d.ts +0 -7
- package/lib/modules/notification/notification.module.d.ts +0 -11
- package/lib/pipes/customDate.pipe.d.ts +0 -7
- package/lib/routes/route-wraper-modules/edge-wrapper.module.d.ts +0 -7
- package/lib/routes/route-wraper-modules/manage-wrapper.module.d.ts +0 -7
- package/lib/routes/route-wraper-modules/profile-wrapper.module.d.ts +0 -7
- package/lib/routes/route-wraper-modules/store-wrapper.module.d.ts +0 -7
- package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +0 -7
- package/lib/routes/routing.d.ts +0 -3
- package/lib/services/auth.service.d.ts +0 -49
- package/lib/services/notification.service.d.ts +0 -30
- package/lib/services/toast.service.d.ts +0 -10
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Component, OnInit, OnDestroy, HostBinding } from '@angular/core';
|
|
2
|
+
import { NavigationCancel, NavigationEnd, Router } from '@angular/router';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import {
|
|
5
|
+
StickyComponent,
|
|
6
|
+
ScrollTopComponent,
|
|
7
|
+
MenuComponent,
|
|
8
|
+
ToggleComponent,
|
|
9
|
+
DrawerComponent,
|
|
10
|
+
} from 'tango-app-ui-global';
|
|
11
|
+
|
|
12
|
+
@Component({
|
|
13
|
+
selector: 'lib-scroll-top',
|
|
14
|
+
templateUrl: './scroll-top.component.html',
|
|
15
|
+
})
|
|
16
|
+
export class LayoutScrollTopComponent implements OnInit, OnDestroy {
|
|
17
|
+
@HostBinding('class') class = 'kt_scrolltop';
|
|
18
|
+
@HostBinding('id') id = 'scrolltop';
|
|
19
|
+
@HostBinding('attr.data-kt-scrolltop') dataKtScrolltop = 'true';
|
|
20
|
+
|
|
21
|
+
private unsubscribe: Subscription[] = [];
|
|
22
|
+
constructor(private router: Router) {}
|
|
23
|
+
|
|
24
|
+
ngOnInit(): void {
|
|
25
|
+
this.routingChanges();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
routingChanges() {
|
|
29
|
+
const routerSubscription = this.router.events.subscribe((event) => {
|
|
30
|
+
if (event instanceof NavigationEnd || event instanceof NavigationCancel) {
|
|
31
|
+
this.pluginsReinitialization();
|
|
32
|
+
this.updateHeaderSticky();
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
this.scrollTop();
|
|
35
|
+
}, 0);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
this.unsubscribe.push(routerSubscription);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
updateHeaderSticky() {
|
|
42
|
+
const stickyHeader = document.body.querySelectorAll(
|
|
43
|
+
`[data-kt-sticky-name="header"]`
|
|
44
|
+
);
|
|
45
|
+
if (stickyHeader && stickyHeader.length > 0) {
|
|
46
|
+
const sticky = StickyComponent.getInstance(
|
|
47
|
+
stickyHeader[0] as HTMLElement
|
|
48
|
+
);
|
|
49
|
+
if (sticky) {
|
|
50
|
+
sticky.update();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
scrollTop() {
|
|
56
|
+
ScrollTopComponent.goTop();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
pluginsReinitialization() {
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
// ScrollTopComponent.reinitialization()
|
|
62
|
+
MenuComponent.reinitialization();
|
|
63
|
+
StickyComponent.reInitialization();
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
ToggleComponent.reinitialization();
|
|
66
|
+
DrawerComponent.reinitialization();
|
|
67
|
+
// ScrollComponent.reinitialization()
|
|
68
|
+
}, 70);
|
|
69
|
+
}, 140);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
ngOnDestroy() {
|
|
73
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<div class="container-with-overflow">
|
|
2
|
+
<div id="kt_app_sidebar_menu_scroll" class="" data-kt-scroll="false" data-kt-scroll-activate="false"
|
|
3
|
+
data-kt-scroll-height="auto" data-kt-scroll-dependencies="#kt_app_sidebar_logo, #kt_app_sidebar_footer"
|
|
4
|
+
data-kt-scroll-wrappers="#kt_app_sidebar_menu" data-kt-scroll-offset="5px" data-kt-scroll-save-state="true">
|
|
5
|
+
<div class="menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6" id="kt_app_sidebar_menu"
|
|
6
|
+
data-kt-menu="true" data-kt-menu-expand="false">
|
|
7
|
+
<div class="menu-item menu-accordion w-100 px-3" id="#kt_app_sidebar_menu" [ngClass]="{'active': isSubMenuActive}"
|
|
8
|
+
data-kt-menu-trigger="click" (mouseover)="setArrowDirection(true)"
|
|
9
|
+
(mouseleave)="setArrowDirection(false)" >
|
|
10
|
+
<span class="menu-link without-sub">
|
|
11
|
+
<span class="menu-icon">
|
|
12
|
+
<img class="img-src" *ngIf="userProfileData?.userProfile" (error)="userProfileData.userProfile = null" [src]="userProfileData?.userProfile ? userProfileData?.userProfile :'./assets/tango/Images/userProfile.svg'" alt="Profile Image">
|
|
13
|
+
<img class="img-src" *ngIf="!userProfileData?.userProfile" src="assets/tango/Images/userProfile.svg">
|
|
14
|
+
</span>
|
|
15
|
+
<span class="menu-title overflow-hidden ms-2" data-link="/crafted/account">{{ userValue.userName | titlecase}}<br>
|
|
16
|
+
{{ userValue.email | titlecase}}</span>
|
|
17
|
+
<span class="menu-arrow"></span>
|
|
18
|
+
</span>
|
|
19
|
+
<div class="menu-sub menu-sub-accordion w-100" #accordion [class.show]="isSubMenuActive" [ngClass]="{'menu-sub-top': isSubMenuActive}"
|
|
20
|
+
routerLinkActive="menu-active-bg" >
|
|
21
|
+
<!-- <div class="menu-item px-3 border-profile-first">
|
|
22
|
+
<a class="menu-link without-sub" (click)="profileUrl()" >
|
|
23
|
+
<span class="menu-bullet">
|
|
24
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
25
|
+
<path
|
|
26
|
+
d="M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z"
|
|
27
|
+
fill="#98A2B3" />
|
|
28
|
+
<path
|
|
29
|
+
d="M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z"
|
|
30
|
+
fill="#667085" />
|
|
31
|
+
</svg>
|
|
32
|
+
</span>
|
|
33
|
+
<span class="menu-title overflow-hidden">Profile</span>
|
|
34
|
+
</a>
|
|
35
|
+
</div> -->
|
|
36
|
+
<!-- <div class="menu-item px-3" style="border-radius: 0px;">
|
|
37
|
+
<a class="menu-link without-sub" routerLinkActive="active">
|
|
38
|
+
<span class="menu-bullet">
|
|
39
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
40
|
+
<path opacity="0.3"
|
|
41
|
+
d="M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z"
|
|
42
|
+
fill="#D0D5DD" />
|
|
43
|
+
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
44
|
+
d="M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z"
|
|
45
|
+
fill="#667085" />
|
|
46
|
+
</svg>
|
|
47
|
+
</span>
|
|
48
|
+
<span class="menu-title overflow-hidden">Support</span>
|
|
49
|
+
</a>
|
|
50
|
+
</div> -->
|
|
51
|
+
<div class="menu-item px-3" style="border-radius: 0px;">
|
|
52
|
+
<a class="menu-link without-sub" (click)="logout()" routerLinkActive="active">
|
|
53
|
+
<span class="menu-bullet">
|
|
54
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
|
|
55
|
+
<path
|
|
56
|
+
d="M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5"
|
|
57
|
+
stroke="#667085" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
|
58
|
+
<path d="M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5" stroke="#D0D5DD"
|
|
59
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
|
60
|
+
</svg>
|
|
61
|
+
</span>
|
|
62
|
+
<span class="menu-title overflow-hidden">Logout</span>
|
|
63
|
+
</a>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.menu{
|
|
2
|
+
background: var(--Gray-700, #344054);
|
|
3
|
+
|
|
4
|
+
.menu-item {
|
|
5
|
+
position: relative; /* Ensure relative positioning for submenu */
|
|
6
|
+
background: var(--Gray-700, #344054);
|
|
7
|
+
|
|
8
|
+
}
|
|
9
|
+
.border-profile-first{
|
|
10
|
+
border-top-left-radius: 8px; border-top-right-radius: 8px;
|
|
11
|
+
}
|
|
12
|
+
.menu-sub {
|
|
13
|
+
position: absolute;
|
|
14
|
+
top: 100;
|
|
15
|
+
bottom: calc(100% + 5px); /* Position the submenu above the parent menu item */
|
|
16
|
+
left: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.menu-sub-top {
|
|
20
|
+
bottom: auto;
|
|
21
|
+
top: calc(100% + 5px); /* Position the submenu above the parent menu item */
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
/* Add transition for smooth closing animation */
|
|
26
|
+
.menu-sub {
|
|
27
|
+
transition: max-height 0.3s ease-out;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Ensure submenu remains closed when not active */
|
|
31
|
+
.menu-sub:not(.show) {
|
|
32
|
+
max-height: 0;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
}
|
|
35
|
+
.menu-sub-indention .menu-sub {
|
|
36
|
+
margin-left: 0rem !important;
|
|
37
|
+
}
|
|
38
|
+
.custom-scroll {
|
|
39
|
+
max-height: 300px; /* Adjust the height as needed */
|
|
40
|
+
// overflow-y: auto;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// .menu-item {
|
|
44
|
+
// position: relative; /* Ensure the parent container is positioned relative */
|
|
45
|
+
// }
|
|
46
|
+
|
|
47
|
+
// .menu-sub {
|
|
48
|
+
// position: absolute;
|
|
49
|
+
// top: 0; /* Position the submenu at the top */
|
|
50
|
+
// left: 100%; /* Position the submenu relative to its parent */
|
|
51
|
+
// }
|
|
52
|
+
|
|
53
|
+
.img-src{
|
|
54
|
+
width:40px;
|
|
55
|
+
height:40px;
|
|
56
|
+
border-radius: 30px;
|
|
57
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { SidebarFooterComponent } from './sidebar-footer.component';
|
|
4
|
+
|
|
5
|
+
describe('SidebarFooterComponent', () => {
|
|
6
|
+
let component: SidebarFooterComponent;
|
|
7
|
+
let fixture: ComponentFixture<SidebarFooterComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ SidebarFooterComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(SidebarFooterComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Component, Input, NgZone, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { NavigationStart, Router } from '@angular/router';
|
|
3
|
+
import { AuthService } from '../../../../services/auth.service';
|
|
4
|
+
import { Subject, Subscription, takeUntil } from 'rxjs';
|
|
5
|
+
import { GlobalStateService, LayoutService, LayoutType, PageInfoService } from 'tango-app-ui-global';
|
|
6
|
+
import { ToastService } from '../../../../services/toast.service';
|
|
7
|
+
@Component({
|
|
8
|
+
selector: "lib-sidebar-footer",
|
|
9
|
+
templateUrl: "./sidebar-footer.component.html",
|
|
10
|
+
styleUrls: ["./sidebar-footer.component.scss"],
|
|
11
|
+
})
|
|
12
|
+
export class SidebarFooterComponent implements OnInit,OnDestroy {
|
|
13
|
+
isSubMenuActive: boolean = false;
|
|
14
|
+
userValue: any;
|
|
15
|
+
hovered = false;
|
|
16
|
+
private unsubscribe: Subscription[] = [];
|
|
17
|
+
@Input() toggleButtonClass: string = '';
|
|
18
|
+
@Input() toggleEnabled: boolean;
|
|
19
|
+
@Input() toggleType: string = '';
|
|
20
|
+
@Input() toggleState: string = '';
|
|
21
|
+
currentLayoutType: LayoutType | null;
|
|
22
|
+
@Input() userValuefooter: any='';
|
|
23
|
+
toggleAttr: string;
|
|
24
|
+
shouldShowMenuTop: boolean = true;
|
|
25
|
+
private readonly destroy$ = new Subject();
|
|
26
|
+
openshow: boolean =false;
|
|
27
|
+
userProfileData: any;
|
|
28
|
+
recaptchaSiteKey:any;
|
|
29
|
+
constructor(private auth: AuthService, private router: Router,private layout: LayoutService,private pageInfo:PageInfoService,
|
|
30
|
+
private ngZone: NgZone,private ts:ToastService,public gs:GlobalStateService) {
|
|
31
|
+
this.gs.environment.pipe(takeUntil(this.destroy$)).subscribe((env) => {
|
|
32
|
+
if (env) {
|
|
33
|
+
this.recaptchaSiteKey = env.recaptchaSiteKey
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
this.router.events.subscribe(event => {
|
|
37
|
+
if (event instanceof NavigationStart) {
|
|
38
|
+
// Close the submenu whenever a navigation starts
|
|
39
|
+
this.isSubMenuActive = false;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
// isSubMenuActive: boolean = false;
|
|
44
|
+
isArrowReversed: boolean = false;
|
|
45
|
+
|
|
46
|
+
setArrowDirection(isMouseOver: boolean) {
|
|
47
|
+
// console.log(isMouseOver)
|
|
48
|
+
this.isArrowReversed = isMouseOver;
|
|
49
|
+
}
|
|
50
|
+
ngOnInit(): void {
|
|
51
|
+
this.toggleAttr = `app-sidebar-${this.toggleType}`;
|
|
52
|
+
const layoutSubscr = this.layout.currentLayoutTypeSubject
|
|
53
|
+
.asObservable().pipe(takeUntil(this.destroy$))
|
|
54
|
+
.subscribe((layout) => {
|
|
55
|
+
this.currentLayoutType = layout;
|
|
56
|
+
});
|
|
57
|
+
this.unsubscribe.push(layoutSubscr);
|
|
58
|
+
if ('user-info' in localStorage) {
|
|
59
|
+
const userData: any = JSON.parse(
|
|
60
|
+
localStorage.getItem('user-info') || "{}"
|
|
61
|
+
);
|
|
62
|
+
this.userValue = userData;
|
|
63
|
+
}
|
|
64
|
+
this.getProfile();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
toggleMenu() {
|
|
68
|
+
this.isSubMenuActive =!this.isSubMenuActive;
|
|
69
|
+
}
|
|
70
|
+
profileUrl() {
|
|
71
|
+
this.isSubMenuActive = false;
|
|
72
|
+
this.router.navigate(['/profile'])
|
|
73
|
+
// setTimeout(() => {
|
|
74
|
+
// this.closeMenu();
|
|
75
|
+
// }, 10);
|
|
76
|
+
}
|
|
77
|
+
closeMenu(){
|
|
78
|
+
window.location.reload()
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
logout() {
|
|
82
|
+
this.auth.logout().pipe(takeUntil(this.destroy$)).subscribe({
|
|
83
|
+
next: (res: any) => {
|
|
84
|
+
if (res && res?.code === 200) {
|
|
85
|
+
this.cleanUpAndRedirect();
|
|
86
|
+
} else {
|
|
87
|
+
console.warn("Logout failed from server, forcing client logout.");
|
|
88
|
+
this.cleanUpAndRedirect();
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
error: (err) => {
|
|
92
|
+
console.error("Logout API error:", err);
|
|
93
|
+
// Still clear local data and redirect, but maybe also show a message
|
|
94
|
+
this.cleanUpAndRedirect();
|
|
95
|
+
this.ts.getErrorToast("Something went wrong while logging out. Please log in again.");
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
captchaToken: string | null = null;
|
|
100
|
+
public cleanUpAndRedirect() {
|
|
101
|
+
this.captchaToken = null;
|
|
102
|
+
localStorage.removeItem(this.recaptchaSiteKey);
|
|
103
|
+
sessionStorage.removeItem(this.recaptchaSiteKey);
|
|
104
|
+
localStorage.clear();
|
|
105
|
+
if ((window as any).grecaptcha) {
|
|
106
|
+
try {
|
|
107
|
+
(window as any).grecaptcha.reset();
|
|
108
|
+
} catch (err) {
|
|
109
|
+
console.warn('Captcha reset error:', err);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
this.pageInfo.setTitle('login');
|
|
113
|
+
this.router.navigate(["/auth/login"]);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
ngOnDestroy() {
|
|
117
|
+
// this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
118
|
+
this.destroy$.next(true);
|
|
119
|
+
this.destroy$.complete();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
getProfile(){
|
|
123
|
+
this.auth.getPersonalInfo().pipe(takeUntil(this.destroy$)).subscribe({
|
|
124
|
+
next: (res:any) => {
|
|
125
|
+
if (res && res.code == 200) {
|
|
126
|
+
this.userProfileData = res.data;
|
|
127
|
+
// this.twoFactorEnabled =
|
|
128
|
+
// this.userProfileData?.twoFactorAuthentication?.isEnable || false;
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
error: (err:any) => {
|
|
132
|
+
console.log(err);
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!--begin::Logo image-->
|
|
2
|
+
<a>
|
|
3
|
+
<ng-container *ngIf="currentLayoutType === 'dark-sidebar'">
|
|
4
|
+
<img alt="Logo" src="./assets/tango/sidemenu-icons/tango_logo_text.svg" class="h-40px app-sidebar-logo-default" />
|
|
5
|
+
</ng-container>
|
|
6
|
+
<ng-container *ngIf="currentLayoutType !== 'dark-sidebar'">
|
|
7
|
+
<img alt="Logo" src="./assets/tango/sidemenu-icons/tango_logo_text.svg" class="h-40px app-sidebar-logo-default theme-light-show" />
|
|
8
|
+
<img alt="Logo" src="./assets/tango/sidemenu-icons/tango_logo_text.svg"
|
|
9
|
+
class="h-40px app-sidebar-logo-default theme-dark-show" />
|
|
10
|
+
</ng-container>
|
|
11
|
+
|
|
12
|
+
<img alt="Logo" src="./assets/tango/sidemenu-icons/tango_logo.svg" class="h-38px app-sidebar-logo-minimize" />
|
|
13
|
+
</a>
|
|
14
|
+
<!--end::Logo image-->
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<ng-container *ngIf="toggleEnabled">
|
|
18
|
+
<!--begin::Sidebar toggle-->
|
|
19
|
+
<div id="kt_app_sidebar_toggle"
|
|
20
|
+
class="app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none"
|
|
21
|
+
[ngClass]="toggleButtonClass" data-kt-toggle="true" [attr.data-kt-toggle-state]="toggleState"
|
|
22
|
+
data-kt-toggle-target="body" [attr.data-kt-toggle-name]="toggleAttr">
|
|
23
|
+
<lib-keenicon name="double-left" class="fs-2 rotate-180"></lib-keenicon>
|
|
24
|
+
</div>
|
|
25
|
+
<!--end::Sidebar toggle-->
|
|
26
|
+
</ng-container>
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { SidebarLogoComponent } from './sidebar-logo.component';
|
|
4
|
+
|
|
5
|
+
describe('SidebarLogoComponent', () => {
|
|
6
|
+
let component: SidebarLogoComponent;
|
|
7
|
+
let fixture: ComponentFixture<SidebarLogoComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ SidebarLogoComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(SidebarLogoComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component, Input, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import { LayoutService } from 'tango-app-ui-global';
|
|
4
|
+
import { LayoutType } from 'tango-app-ui-global';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'lib-sidebar-logo',
|
|
8
|
+
templateUrl: './sidebar-logo.component.html',
|
|
9
|
+
styleUrls: ['./sidebar-logo.component.scss'],
|
|
10
|
+
})
|
|
11
|
+
export class SidebarLogoComponent implements OnInit, OnDestroy {
|
|
12
|
+
private unsubscribe: Subscription[] = [];
|
|
13
|
+
@Input() toggleButtonClass: string = '';
|
|
14
|
+
@Input() toggleEnabled: boolean;
|
|
15
|
+
@Input() toggleType: string = '';
|
|
16
|
+
@Input() toggleState: string = '';
|
|
17
|
+
currentLayoutType: LayoutType | null;
|
|
18
|
+
|
|
19
|
+
toggleAttr: string;
|
|
20
|
+
|
|
21
|
+
constructor(private layout: LayoutService) {}
|
|
22
|
+
|
|
23
|
+
ngOnInit(): void {
|
|
24
|
+
this.toggleAttr = `app-sidebar-${this.toggleType}`;
|
|
25
|
+
const layoutSubscr = this.layout.currentLayoutTypeSubject
|
|
26
|
+
.asObservable()
|
|
27
|
+
.subscribe((layout) => {
|
|
28
|
+
this.currentLayoutType = layout;
|
|
29
|
+
});
|
|
30
|
+
this.unsubscribe.push(layoutSubscr);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
35
|
+
}
|
|
36
|
+
}
|