@volo/ngx-lepton-x.core 2.2.1 → 2.3.0-rc.1
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/{esm2020 → esm2022}/index.mjs +13 -13
- package/{esm2020 → esm2022}/lib/abstracts/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/abstracts/perfect-scrollbar.mjs +7 -7
- package/esm2022/lib/components/avatar/avatar.component.mjs +16 -0
- package/esm2022/lib/components/avatar/avatar.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/avatar/index.mjs +2 -2
- package/esm2022/lib/components/brand-logo/brand-logo.component.mjs +12 -0
- package/esm2022/lib/components/brand-logo/brand-logo.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/brand-logo/index.mjs +2 -2
- package/esm2022/lib/components/breadcrumb/breadcrumb-route-listener.service.mjs +55 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +59 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.service.mjs +34 -0
- package/{esm2020 → esm2022}/lib/components/breadcrumb/index.mjs +4 -4
- package/esm2022/lib/components/footer/footer-links.service.mjs +22 -0
- package/esm2022/lib/components/footer/footer.component.mjs +21 -0
- package/esm2022/lib/components/footer/footer.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/footer/index.mjs +3 -3
- package/esm2022/lib/components/icon/icon.component.mjs +29 -0
- package/esm2022/lib/components/icon/icon.module.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/icon/icon.token.mjs +21 -21
- package/{esm2020 → esm2022}/lib/components/icon/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/components/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/navbar/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/navbar/models.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/navbar/navbar-routes/index.mjs +2 -2
- package/esm2022/lib/components/navbar/navbar-routes/navbar-routes.component.mjs +75 -0
- package/esm2022/lib/components/navbar/navbar-routes/navbar-routes.directive.mjs +15 -0
- package/esm2022/lib/components/navbar/navbar.component.mjs +43 -0
- package/esm2022/lib/components/navbar/navbar.module.mjs +102 -0
- package/esm2022/lib/components/navbar/navbar.service.mjs +157 -0
- package/{esm2020 → esm2022}/lib/components/navbar/navbar.token.mjs +4 -4
- package/esm2022/lib/components/navbar/sub-navbar/sub-navbar.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/consts/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/consts/others-group.mjs +1 -1
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +32 -0
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/directives/click-outside/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/directives/index.mjs +4 -4
- package/esm2022/lib/directives/perfect-scrollbar.directive.mjs +35 -0
- package/{esm2020 → esm2022}/lib/directives/responsive/defaults.mjs +6 -6
- package/{esm2020 → esm2022}/lib/directives/responsive/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/directives/responsive/responsive-breakpoints.token.mjs +2 -2
- package/esm2022/lib/directives/responsive/responsive.directive.mjs +52 -0
- package/esm2022/lib/directives/responsive/responsive.module.mjs +19 -0
- package/esm2022/lib/directives/responsive/responsive.service.mjs +78 -0
- package/esm2022/lib/directives/visible.directive.mjs +65 -0
- package/esm2022/lib/lepton-x-core.module.mjs +49 -0
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/user.mjs +1 -1
- package/esm2022/lib/panels/breadcrumb-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/content-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/current-user-image-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/current-user-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/footer-panel.directive.mjs +17 -0
- package/{esm2020 → esm2022}/lib/panels/index.mjs +14 -14
- package/esm2022/lib/panels/language-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/logo-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/mobile-navbar-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/navbar-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/navitem-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/panels.module.mjs +70 -0
- package/esm2022/lib/panels/settings-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/toolbar-panel.directive.mjs +17 -0
- package/esm2022/lib/panels/top-navbar-panel.directive.mjs +17 -0
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/pipes/safe-html/index.mjs +1 -1
- package/esm2022/lib/pipes/safe-html/safe-html.pipe.mjs +21 -0
- package/{esm2020 → esm2022}/lib/pipes/to-observable/index.mjs +2 -2
- package/esm2022/lib/pipes/to-observable/to-observable.module.mjs +19 -0
- package/esm2022/lib/pipes/to-observable/to-observable.pipe.mjs +19 -0
- package/{esm2020 → esm2022}/lib/pipes/translate/index.mjs +2 -2
- package/esm2022/lib/pipes/translate/translate.module.mjs +19 -0
- package/esm2022/lib/pipes/translate/translate.pipe.mjs +22 -0
- package/{esm2020 → esm2022}/lib/providers/direction.provider.mjs +30 -30
- package/{esm2020 → esm2022}/lib/providers/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/providers/responsive.provider.mjs +7 -7
- package/{esm2020 → esm2022}/lib/providers/styles.provider.mjs +22 -22
- package/{esm2020 → esm2022}/lib/providers/window.provider.mjs +4 -4
- package/esm2022/lib/services/auth/default-auth.service.mjs +21 -0
- package/{esm2020 → esm2022}/lib/services/auth/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/auth/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/auth/providers.mjs +6 -6
- package/{esm2020 → esm2022}/lib/services/auth/tokens.mjs +2 -2
- package/esm2022/lib/services/body/body.service.mjs +26 -0
- package/{esm2020 → esm2022}/lib/services/body/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/services/language/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/language/language-translate-keys.enum.mjs +7 -7
- package/esm2022/lib/services/language/language.module.mjs +38 -0
- package/esm2022/lib/services/language/language.service.mjs +69 -0
- package/{esm2020 → esm2022}/lib/services/language/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/language/tokens.mjs +2 -2
- package/{esm2020 → esm2022}/lib/services/layout/index.mjs +1 -1
- package/esm2022/lib/services/layout/layout.service.mjs +57 -0
- package/{esm2020 → esm2022}/lib/services/local-storage/index.mjs +1 -1
- package/esm2022/lib/services/local-storage/local-storage.service.mjs +33 -0
- package/esm2022/lib/services/perfect-scrollbar.service.mjs +48 -0
- package/esm2022/lib/services/translate/default-translate.service.mjs +18 -0
- package/{esm2020 → esm2022}/lib/services/translate/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/translate/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/translate/providers.mjs +9 -9
- package/{esm2020 → esm2022}/lib/services/translate/tokens.mjs +3 -3
- package/esm2022/lib/services/translate/translate.service.mjs +33 -0
- package/{esm2020 → esm2022}/lib/services/user-profile/index.mjs +1 -1
- package/esm2022/lib/services/user-profile/user-profile.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/style/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/style/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/style/style-load.factory.mjs +9 -9
- package/esm2022/lib/style/style.service.mjs +77 -0
- package/{esm2020 → esm2022}/lib/style/tokens.mjs +4 -4
- package/{esm2020 → esm2022}/lib/style/utils.mjs +3 -3
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/perfect-scrollbar.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/window.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/common.mjs +29 -29
- package/esm2022/lib/utils/data-store.mjs +30 -0
- package/{esm2020 → esm2022}/lib/utils/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/utils/tree-utils.mjs +20 -20
- package/{esm2020 → esm2022}/volo-ngx-lepton-x.core.mjs +4 -4
- package/{fesm2020 → fesm2022}/volo-ngx-lepton-x.core.mjs +1764 -1764
- package/fesm2022/volo-ngx-lepton-x.core.mjs.map +1 -0
- package/index.d.ts +13 -13
- package/lib/abstracts/index.d.ts +1 -1
- package/lib/abstracts/perfect-scrollbar.d.ts +15 -15
- package/lib/components/avatar/avatar.component.d.ts +10 -10
- package/lib/components/avatar/avatar.module.d.ts +9 -9
- package/lib/components/avatar/index.d.ts +2 -2
- package/lib/components/brand-logo/brand-logo.component.d.ts +5 -5
- package/lib/components/brand-logo/brand-logo.module.d.ts +8 -8
- package/lib/components/brand-logo/index.d.ts +2 -2
- package/lib/components/breadcrumb/breadcrumb-route-listener.service.d.ts +14 -14
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +28 -28
- package/lib/components/breadcrumb/breadcrumb.module.d.ts +17 -17
- package/lib/components/breadcrumb/breadcrumb.service.d.ts +19 -19
- package/lib/components/breadcrumb/index.d.ts +4 -4
- package/lib/components/footer/footer-links.service.d.ts +17 -17
- package/lib/components/footer/footer.component.d.ts +10 -10
- package/lib/components/footer/footer.module.d.ts +11 -11
- package/lib/components/footer/index.d.ts +3 -3
- package/lib/components/icon/icon.component.d.ts +10 -10
- package/lib/components/icon/icon.module.d.ts +14 -14
- package/lib/components/icon/icon.token.d.ts +40 -40
- package/lib/components/icon/index.d.ts +3 -3
- package/lib/components/index.d.ts +6 -6
- package/lib/components/navbar/index.d.ts +7 -7
- package/lib/components/navbar/models.d.ts +23 -24
- package/lib/components/navbar/navbar-routes/index.d.ts +2 -2
- package/lib/components/navbar/navbar-routes/navbar-routes.component.d.ts +21 -21
- package/lib/components/navbar/navbar-routes/navbar-routes.directive.d.ts +5 -5
- package/lib/components/navbar/navbar.component.d.ts +20 -20
- package/lib/components/navbar/navbar.module.d.ts +27 -27
- package/lib/components/navbar/navbar.service.d.ts +36 -36
- package/lib/components/navbar/navbar.token.d.ts +5 -5
- package/lib/components/navbar/sub-navbar/sub-navbar.component.d.ts +16 -16
- package/lib/consts/index.d.ts +1 -1
- package/lib/consts/others-group.d.ts +1 -1
- package/lib/directives/click-outside/click-outside.directive.d.ts +11 -11
- package/lib/directives/click-outside/click-outside.module.d.ts +8 -8
- package/lib/directives/click-outside/index.d.ts +2 -2
- package/lib/directives/index.d.ts +4 -4
- package/lib/directives/perfect-scrollbar.directive.d.ts +12 -12
- package/lib/directives/responsive/defaults.d.ts +2 -2
- package/lib/directives/responsive/index.d.ts +5 -5
- package/lib/directives/responsive/responsive-breakpoints.token.d.ts +5 -5
- package/lib/directives/responsive/responsive.directive.d.ts +19 -19
- package/lib/directives/responsive/responsive.module.d.ts +8 -8
- package/lib/directives/responsive/responsive.service.d.ts +47 -47
- package/lib/directives/visible.directive.d.ts +18 -18
- package/lib/lepton-x-core.module.d.ts +24 -24
- package/lib/models/common.d.ts +12 -12
- package/lib/models/index.d.ts +2 -2
- package/lib/models/user.d.ts +16 -16
- package/lib/panels/breadcrumb-panel.directive.d.ts +8 -8
- package/lib/panels/content-panel.directive.d.ts +8 -8
- package/lib/panels/current-user-image-panel.directive.d.ts +8 -8
- package/lib/panels/current-user-panel.directive.d.ts +8 -8
- package/lib/panels/footer-panel.directive.d.ts +8 -8
- package/lib/panels/index.d.ts +14 -14
- package/lib/panels/language-panel.directive.d.ts +8 -8
- package/lib/panels/logo-panel.directive.d.ts +8 -8
- package/lib/panels/mobile-navbar-panel.directive.d.ts +8 -8
- package/lib/panels/navbar-panel.directive.d.ts +8 -8
- package/lib/panels/navitem-panel.directive.d.ts +8 -8
- package/lib/panels/panels.module.d.ts +20 -20
- package/lib/panels/settings-panel.directive.d.ts +8 -8
- package/lib/panels/toolbar-panel.directive.d.ts +8 -8
- package/lib/panels/top-navbar-panel.directive.d.ts +8 -8
- package/lib/pipes/index.d.ts +3 -3
- package/lib/pipes/safe-html/index.d.ts +1 -1
- package/lib/pipes/safe-html/safe-html.pipe.d.ts +8 -8
- package/lib/pipes/to-observable/index.d.ts +2 -2
- package/lib/pipes/to-observable/to-observable.module.d.ts +8 -8
- package/lib/pipes/to-observable/to-observable.pipe.d.ts +9 -9
- package/lib/pipes/translate/index.d.ts +2 -2
- package/lib/pipes/translate/translate.module.d.ts +8 -8
- package/lib/pipes/translate/translate.pipe.d.ts +10 -10
- package/lib/providers/direction.provider.d.ts +5 -5
- package/lib/providers/index.d.ts +4 -4
- package/lib/providers/responsive.provider.d.ts +3 -3
- package/lib/providers/styles.provider.d.ts +6 -6
- package/lib/providers/window.provider.d.ts +2 -2
- package/lib/services/auth/default-auth.service.d.ts +11 -11
- package/lib/services/auth/index.d.ts +4 -4
- package/lib/services/auth/models.d.ts +5 -5
- package/lib/services/auth/providers.d.ts +2 -2
- package/lib/services/auth/tokens.d.ts +3 -3
- package/lib/services/body/body.service.d.ts +11 -11
- package/lib/services/body/index.d.ts +1 -1
- package/lib/services/index.d.ts +8 -8
- package/lib/services/language/index.d.ts +5 -5
- package/lib/services/language/language-translate-keys.enum.d.ts +7 -7
- package/lib/services/language/language.module.d.ts +10 -10
- package/lib/services/language/language.service.d.ts +28 -28
- package/lib/services/language/models.d.ts +14 -14
- package/lib/services/language/tokens.d.ts +3 -3
- package/lib/services/layout/index.d.ts +1 -1
- package/lib/services/layout/layout.service.d.ts +20 -20
- package/lib/services/local-storage/index.d.ts +1 -1
- package/lib/services/local-storage/local-storage.service.d.ts +13 -13
- package/lib/services/perfect-scrollbar.service.d.ts +15 -15
- package/lib/services/translate/default-translate.service.d.ts +9 -9
- package/lib/services/translate/index.d.ts +4 -4
- package/lib/services/translate/models.d.ts +9 -9
- package/lib/services/translate/providers.d.ts +3 -3
- package/lib/services/translate/tokens.d.ts +4 -4
- package/lib/services/translate/translate.service.d.ts +12 -12
- package/lib/services/user-profile/index.d.ts +1 -1
- package/lib/services/user-profile/user-profile.service.d.ts +10 -10
- package/lib/style/index.d.ts +5 -5
- package/lib/style/models.d.ts +8 -8
- package/lib/style/style-load.factory.d.ts +2 -2
- package/lib/style/style.service.d.ts +17 -17
- package/lib/style/tokens.d.ts +5 -5
- package/lib/style/utils.d.ts +2 -2
- package/lib/tokens/index.d.ts +2 -2
- package/lib/tokens/perfect-scrollbar.token.d.ts +3 -3
- package/lib/tokens/window.token.d.ts +2 -2
- package/lib/utils/common.d.ts +11 -11
- package/lib/utils/data-store.d.ts +12 -12
- package/lib/utils/index.d.ts +3 -3
- package/lib/utils/tree-utils.d.ts +8 -8
- package/package.json +12 -18
- package/esm2020/lib/components/avatar/avatar.component.mjs +0 -15
- package/esm2020/lib/components/avatar/avatar.module.mjs +0 -19
- package/esm2020/lib/components/brand-logo/brand-logo.component.mjs +0 -11
- package/esm2020/lib/components/brand-logo/brand-logo.module.mjs +0 -20
- package/esm2020/lib/components/breadcrumb/breadcrumb-route-listener.service.mjs +0 -54
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -28
- package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +0 -58
- package/esm2020/lib/components/breadcrumb/breadcrumb.service.mjs +0 -33
- package/esm2020/lib/components/footer/footer-links.service.mjs +0 -21
- package/esm2020/lib/components/footer/footer.component.mjs +0 -20
- package/esm2020/lib/components/footer/footer.module.mjs +0 -25
- package/esm2020/lib/components/icon/icon.component.mjs +0 -28
- package/esm2020/lib/components/icon/icon.module.mjs +0 -30
- package/esm2020/lib/components/navbar/navbar-routes/navbar-routes.component.mjs +0 -74
- package/esm2020/lib/components/navbar/navbar-routes/navbar-routes.directive.mjs +0 -14
- package/esm2020/lib/components/navbar/navbar.component.mjs +0 -42
- package/esm2020/lib/components/navbar/navbar.module.mjs +0 -101
- package/esm2020/lib/components/navbar/navbar.service.mjs +0 -156
- package/esm2020/lib/components/navbar/sub-navbar/sub-navbar.component.mjs +0 -65
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +0 -31
- package/esm2020/lib/directives/click-outside/click-outside.module.mjs +0 -18
- package/esm2020/lib/directives/perfect-scrollbar.directive.mjs +0 -34
- package/esm2020/lib/directives/responsive/responsive.directive.mjs +0 -51
- package/esm2020/lib/directives/responsive/responsive.module.mjs +0 -18
- package/esm2020/lib/directives/responsive/responsive.service.mjs +0 -77
- package/esm2020/lib/directives/visible.directive.mjs +0 -64
- package/esm2020/lib/lepton-x-core.module.mjs +0 -48
- package/esm2020/lib/panels/breadcrumb-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/content-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/current-user-image-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/current-user-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/footer-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/language-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/logo-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/mobile-navbar-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/navbar-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/navitem-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/panels.module.mjs +0 -69
- package/esm2020/lib/panels/settings-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/toolbar-panel.directive.mjs +0 -16
- package/esm2020/lib/panels/top-navbar-panel.directive.mjs +0 -16
- package/esm2020/lib/pipes/safe-html/safe-html.pipe.mjs +0 -20
- package/esm2020/lib/pipes/to-observable/to-observable.module.mjs +0 -18
- package/esm2020/lib/pipes/to-observable/to-observable.pipe.mjs +0 -18
- package/esm2020/lib/pipes/translate/translate.module.mjs +0 -18
- package/esm2020/lib/pipes/translate/translate.pipe.mjs +0 -21
- package/esm2020/lib/services/auth/default-auth.service.mjs +0 -20
- package/esm2020/lib/services/body/body.service.mjs +0 -25
- package/esm2020/lib/services/language/language.module.mjs +0 -37
- package/esm2020/lib/services/language/language.service.mjs +0 -68
- package/esm2020/lib/services/layout/layout.service.mjs +0 -56
- package/esm2020/lib/services/local-storage/local-storage.service.mjs +0 -32
- package/esm2020/lib/services/perfect-scrollbar.service.mjs +0 -47
- package/esm2020/lib/services/translate/default-translate.service.mjs +0 -17
- package/esm2020/lib/services/translate/translate.service.mjs +0 -32
- package/esm2020/lib/services/user-profile/user-profile.service.mjs +0 -24
- package/esm2020/lib/style/style.service.mjs +0 -76
- package/esm2020/lib/utils/data-store.mjs +0 -30
- package/fesm2015/volo-ngx-lepton-x.core.mjs +0 -1934
- package/fesm2015/volo-ngx-lepton-x.core.mjs.map +0 -1
- package/fesm2020/volo-ngx-lepton-x.core.mjs.map +0 -1
|
@@ -10,1918 +10,1918 @@ import { FormsModule } from '@angular/forms';
|
|
|
10
10
|
import PerfectScrollbar from 'perfect-scrollbar';
|
|
11
11
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
12
12
|
|
|
13
|
-
class LpxPerfectScrollbar {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.router = inject(Router);
|
|
16
|
-
}
|
|
13
|
+
class LpxPerfectScrollbar {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.router = inject(Router);
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const LPX_LANGUAGE = new InjectionToken('LPX_LANGUAGE');
|
|
20
20
|
|
|
21
|
-
class DataStore {
|
|
22
|
-
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
patch(state) {
|
|
33
|
-
let patchedState = state;
|
|
34
|
-
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
35
|
-
patchedState = { ...this.state, ...state };
|
|
36
|
-
}
|
|
37
|
-
this.state$.next(patchedState);
|
|
38
|
-
this.update$.next(patchedState);
|
|
39
|
-
}
|
|
40
|
-
set(state) {
|
|
41
|
-
this.state$.next(state);
|
|
42
|
-
this.update$.next(state);
|
|
43
|
-
}
|
|
44
|
-
reset() {
|
|
45
|
-
this.set(this.initialState);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
var LanguageTranslateKeys;
|
|
50
|
-
(function (LanguageTranslateKeys) {
|
|
51
|
-
LanguageTranslateKeys["SettingsTitle"] = "language.settings.title";
|
|
52
|
-
})(LanguageTranslateKeys || (LanguageTranslateKeys = {}));
|
|
53
|
-
const LanguageTranslateDefaults = {
|
|
54
|
-
[LanguageTranslateKeys.SettingsTitle]: 'Language Options',
|
|
21
|
+
class DataStore {
|
|
22
|
+
get state() {
|
|
23
|
+
return this.state$.value;
|
|
24
|
+
}
|
|
25
|
+
constructor(initialState) {
|
|
26
|
+
this.initialState = initialState;
|
|
27
|
+
this.state$ = new BehaviorSubject(this.initialState);
|
|
28
|
+
this.update$ = new Subject();
|
|
29
|
+
this.sliceState = (selector, compareFn = (s1, s2) => s1 === s2) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));
|
|
30
|
+
this.sliceUpdate = (selector, filterFn = (x) => x !== undefined) => this.update$.pipe(map(selector), filter(filterFn));
|
|
31
|
+
}
|
|
32
|
+
patch(state) {
|
|
33
|
+
let patchedState = state;
|
|
34
|
+
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
35
|
+
patchedState = { ...this.state, ...state };
|
|
36
|
+
}
|
|
37
|
+
this.state$.next(patchedState);
|
|
38
|
+
this.update$.next(patchedState);
|
|
39
|
+
}
|
|
40
|
+
set(state) {
|
|
41
|
+
this.state$.next(state);
|
|
42
|
+
this.update$.next(state);
|
|
43
|
+
}
|
|
44
|
+
reset() {
|
|
45
|
+
this.set(this.initialState);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
var LanguageTranslateKeys;
|
|
50
|
+
(function (LanguageTranslateKeys) {
|
|
51
|
+
LanguageTranslateKeys["SettingsTitle"] = "language.settings.title";
|
|
52
|
+
})(LanguageTranslateKeys || (LanguageTranslateKeys = {}));
|
|
53
|
+
const LanguageTranslateDefaults = {
|
|
54
|
+
[LanguageTranslateKeys.SettingsTitle]: 'Language Options',
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
class LanguageService {
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
setLanguages(languages) {
|
|
93
|
-
this.init(languages);
|
|
94
|
-
}
|
|
95
|
-
init(languages) {
|
|
96
|
-
this.store.patch({
|
|
97
|
-
languages,
|
|
98
|
-
selectedLanguage: languages.find((lang) => lang.selected),
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
setSelectedLanguage(lang) {
|
|
102
|
-
this.store.patch({
|
|
103
|
-
selectedLanguage: lang,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
110
|
-
type: Injectable,
|
|
111
|
-
args: [{
|
|
112
|
-
providedIn: 'root',
|
|
113
|
-
}]
|
|
114
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
115
|
-
type: Inject,
|
|
116
|
-
args: [LPX_LANGUAGE]
|
|
57
|
+
class LanguageService {
|
|
58
|
+
get selectedLanguage() {
|
|
59
|
+
return this.store.state.selectedLanguage;
|
|
60
|
+
}
|
|
61
|
+
constructor(languages) {
|
|
62
|
+
this.languages = languages;
|
|
63
|
+
this.store = new DataStore({ languages: [] });
|
|
64
|
+
this.id = 'languages';
|
|
65
|
+
this.convertLanguageToNavbarItem = (languages) => {
|
|
66
|
+
return languages.map((lang) => ({
|
|
67
|
+
icon: '',
|
|
68
|
+
text: lang.displayName,
|
|
69
|
+
selected: lang.selected,
|
|
70
|
+
action: () => {
|
|
71
|
+
this.setSelectedLanguage(lang);
|
|
72
|
+
return true;
|
|
73
|
+
},
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
this.selectedLanguage$ = this.store.sliceState(({ selectedLanguage }) => selectedLanguage);
|
|
77
|
+
this.languageChange$ = this.selectedLanguage$.pipe(
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
filter((lang) => lang !== undefined), distinctUntilChanged((a, b) => a?.cultureName === b?.cultureName));
|
|
81
|
+
this.languages$ = this.store.sliceState((state) => state.languages);
|
|
82
|
+
this.languagesAsNavbarItems$ = this.languages$.pipe(map(this.convertLanguageToNavbarItem));
|
|
83
|
+
//TODO: PROVIDE API
|
|
84
|
+
this.languagesAsSettingsGroup$ = this.languagesAsNavbarItems$.pipe(map((languages) => ({
|
|
85
|
+
text: LanguageTranslateKeys.SettingsTitle,
|
|
86
|
+
icon: 'bi bi-globe',
|
|
87
|
+
id: this.id,
|
|
88
|
+
children: languages,
|
|
89
|
+
})));
|
|
90
|
+
this.init(this.languages);
|
|
91
|
+
}
|
|
92
|
+
setLanguages(languages) {
|
|
93
|
+
this.init(languages);
|
|
94
|
+
}
|
|
95
|
+
init(languages) {
|
|
96
|
+
this.store.patch({
|
|
97
|
+
languages,
|
|
98
|
+
selectedLanguage: languages.find((lang) => lang.selected),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
setSelectedLanguage(lang) {
|
|
102
|
+
this.store.patch({
|
|
103
|
+
selectedLanguage: lang,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LanguageService, deps: [{ token: LPX_LANGUAGE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LanguageService, decorators: [{
|
|
110
|
+
type: Injectable,
|
|
111
|
+
args: [{
|
|
112
|
+
providedIn: 'root',
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
115
|
+
type: Inject,
|
|
116
|
+
args: [LPX_LANGUAGE]
|
|
117
117
|
}] }]; } });
|
|
118
118
|
|
|
119
|
-
const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken('LPX_TRANSLATE_SERVICE_TOKEN');
|
|
119
|
+
const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken('LPX_TRANSLATE_SERVICE_TOKEN');
|
|
120
120
|
const LPX_TRANSLATE_TOKEN = new InjectionToken('LPX_TRANSLATE_TOKEN');
|
|
121
121
|
|
|
122
|
-
class LpxLanguageModule {
|
|
123
|
-
static forRoot(options) {
|
|
124
|
-
return {
|
|
125
|
-
ngModule: LpxLanguageModule,
|
|
126
|
-
providers: [
|
|
127
|
-
{
|
|
128
|
-
provide: LPX_LANGUAGE,
|
|
129
|
-
useValue: options?.languages || [],
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
provide: LPX_TRANSLATE_TOKEN,
|
|
133
|
-
useValue: [LanguageTranslateDefaults],
|
|
134
|
-
multi: true,
|
|
135
|
-
},
|
|
136
|
-
LanguageService,
|
|
137
|
-
],
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
145
|
-
type: NgModule,
|
|
146
|
-
args: [{
|
|
147
|
-
declarations: [],
|
|
148
|
-
imports: [CommonModule],
|
|
149
|
-
}]
|
|
122
|
+
class LpxLanguageModule {
|
|
123
|
+
static forRoot(options) {
|
|
124
|
+
return {
|
|
125
|
+
ngModule: LpxLanguageModule,
|
|
126
|
+
providers: [
|
|
127
|
+
{
|
|
128
|
+
provide: LPX_LANGUAGE,
|
|
129
|
+
useValue: options?.languages || [],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
provide: LPX_TRANSLATE_TOKEN,
|
|
133
|
+
useValue: [LanguageTranslateDefaults],
|
|
134
|
+
multi: true,
|
|
135
|
+
},
|
|
136
|
+
LanguageService,
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
141
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxLanguageModule, imports: [CommonModule] }); }
|
|
142
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLanguageModule, imports: [CommonModule] }); }
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLanguageModule, decorators: [{
|
|
145
|
+
type: NgModule,
|
|
146
|
+
args: [{
|
|
147
|
+
declarations: [],
|
|
148
|
+
imports: [CommonModule],
|
|
149
|
+
}]
|
|
150
150
|
}] });
|
|
151
151
|
|
|
152
|
-
const ICON_MAP = {
|
|
153
|
-
bagFill: 'bi bi-bag-fill',
|
|
154
|
-
bellFill: 'bi bi-bell-fill',
|
|
155
|
-
calendarWeek: 'bi bi-calendar2-week',
|
|
156
|
-
chatDots: 'bi bi-chat-dots',
|
|
157
|
-
chevronDown: 'bi bi-chevron-down',
|
|
158
|
-
chevronUp: 'bi bi-chevron-up',
|
|
159
|
-
gearConnected: 'bi bi-gear-wide-connected',
|
|
160
|
-
filter: 'bi bi-filter',
|
|
161
|
-
filterFill: 'bi bi-filter-circle-fill',
|
|
162
|
-
layoutThreeColumns: 'bi bi-layout-three-columns',
|
|
163
|
-
moon: 'bi bi-moon',
|
|
164
|
-
square: 'bi bi-square',
|
|
165
|
-
sunset: 'bi bi-brightness-alt-high-fill',
|
|
166
|
-
sunup: 'bi bi-brightness-high-fill',
|
|
167
|
-
star: 'bi bi-star',
|
|
168
|
-
x: 'bi bi-x',
|
|
169
|
-
xCircleFill: 'bi bi-x-circle-fill',
|
|
170
|
-
};
|
|
152
|
+
const ICON_MAP = {
|
|
153
|
+
bagFill: 'bi bi-bag-fill',
|
|
154
|
+
bellFill: 'bi bi-bell-fill',
|
|
155
|
+
calendarWeek: 'bi bi-calendar2-week',
|
|
156
|
+
chatDots: 'bi bi-chat-dots',
|
|
157
|
+
chevronDown: 'bi bi-chevron-down',
|
|
158
|
+
chevronUp: 'bi bi-chevron-up',
|
|
159
|
+
gearConnected: 'bi bi-gear-wide-connected',
|
|
160
|
+
filter: 'bi bi-filter',
|
|
161
|
+
filterFill: 'bi bi-filter-circle-fill',
|
|
162
|
+
layoutThreeColumns: 'bi bi-layout-three-columns',
|
|
163
|
+
moon: 'bi bi-moon',
|
|
164
|
+
square: 'bi bi-square',
|
|
165
|
+
sunset: 'bi bi-brightness-alt-high-fill',
|
|
166
|
+
sunup: 'bi bi-brightness-high-fill',
|
|
167
|
+
star: 'bi bi-star',
|
|
168
|
+
x: 'bi bi-x',
|
|
169
|
+
xCircleFill: 'bi bi-x-circle-fill',
|
|
170
|
+
};
|
|
171
171
|
const LEPTON_X_ICON_SET = new InjectionToken('LEPTON_X_ICON_SET');
|
|
172
172
|
|
|
173
|
-
class IconComponent {
|
|
174
|
-
|
|
175
|
-
this.iconSet
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
184
|
-
type: Component,
|
|
185
|
-
args: [{
|
|
186
|
-
selector: 'lpx-icon',
|
|
187
|
-
template: ` <i class="lpx-icon" [ngClass]="styleClass" aria-hidden="true"></i> `,
|
|
188
|
-
encapsulation: ViewEncapsulation.None,
|
|
189
|
-
}]
|
|
190
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
191
|
-
type: Inject,
|
|
192
|
-
args: [LEPTON_X_ICON_SET]
|
|
193
|
-
}] }]; }, propDecorators: { iconClass: [{
|
|
194
|
-
type: Input
|
|
173
|
+
class IconComponent {
|
|
174
|
+
get styleClass() {
|
|
175
|
+
return this.iconSet[this.iconClass] || this.iconClass;
|
|
176
|
+
}
|
|
177
|
+
constructor(iconSet) {
|
|
178
|
+
this.iconSet = iconSet;
|
|
179
|
+
}
|
|
180
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: IconComponent, deps: [{ token: LEPTON_X_ICON_SET }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: IconComponent, selector: "lpx-icon", inputs: { iconClass: "iconClass" }, ngImport: i0, template: ` <i class="lpx-icon" [ngClass]="styleClass" aria-hidden="true"></i> `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
182
|
+
}
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: IconComponent, decorators: [{
|
|
184
|
+
type: Component,
|
|
185
|
+
args: [{
|
|
186
|
+
selector: 'lpx-icon',
|
|
187
|
+
template: ` <i class="lpx-icon" [ngClass]="styleClass" aria-hidden="true"></i> `,
|
|
188
|
+
encapsulation: ViewEncapsulation.None,
|
|
189
|
+
}]
|
|
190
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
191
|
+
type: Inject,
|
|
192
|
+
args: [LEPTON_X_ICON_SET]
|
|
193
|
+
}] }]; }, propDecorators: { iconClass: [{
|
|
194
|
+
type: Input
|
|
195
195
|
}] } });
|
|
196
196
|
|
|
197
|
-
class LpxIconModule {
|
|
198
|
-
static forRoot(options) {
|
|
199
|
-
return {
|
|
200
|
-
ngModule: LpxIconModule,
|
|
201
|
-
providers: [
|
|
202
|
-
{
|
|
203
|
-
provide: LEPTON_X_ICON_SET,
|
|
204
|
-
useValue: options?.iconSet || ICON_MAP,
|
|
205
|
-
},
|
|
206
|
-
],
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
214
|
-
type: NgModule,
|
|
215
|
-
args: [{
|
|
216
|
-
declarations: [IconComponent],
|
|
217
|
-
imports: [CommonModule],
|
|
218
|
-
exports: [IconComponent],
|
|
219
|
-
}]
|
|
197
|
+
class LpxIconModule {
|
|
198
|
+
static forRoot(options) {
|
|
199
|
+
return {
|
|
200
|
+
ngModule: LpxIconModule,
|
|
201
|
+
providers: [
|
|
202
|
+
{
|
|
203
|
+
provide: LEPTON_X_ICON_SET,
|
|
204
|
+
useValue: options?.iconSet || ICON_MAP,
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
210
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxIconModule, declarations: [IconComponent], imports: [CommonModule], exports: [IconComponent] }); }
|
|
211
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxIconModule, imports: [CommonModule] }); }
|
|
212
|
+
}
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxIconModule, decorators: [{
|
|
214
|
+
type: NgModule,
|
|
215
|
+
args: [{
|
|
216
|
+
declarations: [IconComponent],
|
|
217
|
+
imports: [CommonModule],
|
|
218
|
+
exports: [IconComponent],
|
|
219
|
+
}]
|
|
220
220
|
}] });
|
|
221
221
|
|
|
222
|
-
class BrandLogoComponent {
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
227
|
-
type: Component,
|
|
228
|
-
args: [{ selector: 'lpx-brand-logo', encapsulation: ViewEncapsulation.None, template: "<a href=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n" }]
|
|
222
|
+
class BrandLogoComponent {
|
|
223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BrandLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: BrandLogoComponent, selector: "lpx-brand-logo", ngImport: i0, template: "<a href=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n", encapsulation: i0.ViewEncapsulation.None }); }
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BrandLogoComponent, decorators: [{
|
|
227
|
+
type: Component,
|
|
228
|
+
args: [{ selector: 'lpx-brand-logo', encapsulation: ViewEncapsulation.None, template: "<a href=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n" }]
|
|
229
229
|
}] });
|
|
230
230
|
|
|
231
|
-
class LpxBrandLogoModule {
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
237
|
-
type: NgModule,
|
|
238
|
-
args: [{
|
|
239
|
-
declarations: [BrandLogoComponent],
|
|
240
|
-
imports: [
|
|
241
|
-
CommonModule
|
|
242
|
-
],
|
|
243
|
-
exports: [BrandLogoComponent]
|
|
244
|
-
}]
|
|
231
|
+
class LpxBrandLogoModule {
|
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBrandLogoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
233
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxBrandLogoModule, declarations: [BrandLogoComponent], imports: [CommonModule], exports: [BrandLogoComponent] }); }
|
|
234
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBrandLogoModule, imports: [CommonModule] }); }
|
|
235
|
+
}
|
|
236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBrandLogoModule, decorators: [{
|
|
237
|
+
type: NgModule,
|
|
238
|
+
args: [{
|
|
239
|
+
declarations: [BrandLogoComponent],
|
|
240
|
+
imports: [
|
|
241
|
+
CommonModule
|
|
242
|
+
],
|
|
243
|
+
exports: [BrandLogoComponent]
|
|
244
|
+
}]
|
|
245
245
|
}] });
|
|
246
246
|
|
|
247
|
-
class LayoutService {
|
|
248
|
-
constructor() {
|
|
249
|
-
this.store = new DataStore({
|
|
250
|
-
containerClass: [''],
|
|
251
|
-
});
|
|
252
|
-
this.containerClass$ = this.store.sliceState(({ containerClass }) => containerClass || []);
|
|
253
|
-
}
|
|
254
|
-
setClass(cssClass) {
|
|
255
|
-
const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];
|
|
256
|
-
this.patchStore(containerClass);
|
|
257
|
-
}
|
|
258
|
-
addClass(cssClass) {
|
|
259
|
-
const { containerClass } = this.store.state;
|
|
260
|
-
this.patchStore([...containerClass, cssClass]);
|
|
261
|
-
}
|
|
262
|
-
removeClass(cssClass) {
|
|
263
|
-
const { containerClass } = this.store.state;
|
|
264
|
-
const index = containerClass.findIndex(item => item === cssClass);
|
|
265
|
-
if (index === -1)
|
|
266
|
-
return;
|
|
267
|
-
const update = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];
|
|
268
|
-
this.patchStore(update);
|
|
269
|
-
}
|
|
270
|
-
removeClasses(classlist) {
|
|
271
|
-
const { containerClass } = this.store.state;
|
|
272
|
-
const filteredClasslist = containerClass.filter(clss => !classlist.includes(clss));
|
|
273
|
-
this.patchStore(filteredClasslist);
|
|
274
|
-
}
|
|
275
|
-
toggleClass(cssClass) {
|
|
276
|
-
const { containerClass } = this.store.state;
|
|
277
|
-
const index = containerClass.findIndex(item => item === cssClass);
|
|
278
|
-
if (index === -1) {
|
|
279
|
-
this.addClass(cssClass);
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
this.removeClass(cssClass);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
patchStore(containerClass) {
|
|
286
|
-
this.store.patch({
|
|
287
|
-
containerClass,
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
294
|
-
type: Injectable,
|
|
295
|
-
args: [{
|
|
296
|
-
providedIn: 'root',
|
|
297
|
-
}]
|
|
247
|
+
class LayoutService {
|
|
248
|
+
constructor() {
|
|
249
|
+
this.store = new DataStore({
|
|
250
|
+
containerClass: [''],
|
|
251
|
+
});
|
|
252
|
+
this.containerClass$ = this.store.sliceState(({ containerClass }) => containerClass || []);
|
|
253
|
+
}
|
|
254
|
+
setClass(cssClass) {
|
|
255
|
+
const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];
|
|
256
|
+
this.patchStore(containerClass);
|
|
257
|
+
}
|
|
258
|
+
addClass(cssClass) {
|
|
259
|
+
const { containerClass } = this.store.state;
|
|
260
|
+
this.patchStore([...containerClass, cssClass]);
|
|
261
|
+
}
|
|
262
|
+
removeClass(cssClass) {
|
|
263
|
+
const { containerClass } = this.store.state;
|
|
264
|
+
const index = containerClass.findIndex(item => item === cssClass);
|
|
265
|
+
if (index === -1)
|
|
266
|
+
return;
|
|
267
|
+
const update = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];
|
|
268
|
+
this.patchStore(update);
|
|
269
|
+
}
|
|
270
|
+
removeClasses(classlist) {
|
|
271
|
+
const { containerClass } = this.store.state;
|
|
272
|
+
const filteredClasslist = containerClass.filter(clss => !classlist.includes(clss));
|
|
273
|
+
this.patchStore(filteredClasslist);
|
|
274
|
+
}
|
|
275
|
+
toggleClass(cssClass) {
|
|
276
|
+
const { containerClass } = this.store.state;
|
|
277
|
+
const index = containerClass.findIndex(item => item === cssClass);
|
|
278
|
+
if (index === -1) {
|
|
279
|
+
this.addClass(cssClass);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
this.removeClass(cssClass);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
patchStore(containerClass) {
|
|
286
|
+
this.store.patch({
|
|
287
|
+
containerClass,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
291
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
|
|
292
|
+
}
|
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LayoutService, decorators: [{
|
|
294
|
+
type: Injectable,
|
|
295
|
+
args: [{
|
|
296
|
+
providedIn: 'root',
|
|
297
|
+
}]
|
|
298
298
|
}] });
|
|
299
299
|
|
|
300
|
-
const CONTENT_BEFORE_ROUTES = new InjectionToken('CONTENT_BEFORE_ROUTES');
|
|
301
|
-
const CONTENT_AFTER_ROUTES = new InjectionToken('CONTENT_AFTER_ROUTES');
|
|
300
|
+
const CONTENT_BEFORE_ROUTES = new InjectionToken('CONTENT_BEFORE_ROUTES');
|
|
301
|
+
const CONTENT_AFTER_ROUTES = new InjectionToken('CONTENT_AFTER_ROUTES');
|
|
302
302
|
const LPX_MENU_ITEMS = new InjectionToken('LPX_MENU_ITEMS');
|
|
303
303
|
|
|
304
|
-
function sortItems(a, b) {
|
|
305
|
-
if (!a.order) {
|
|
306
|
-
return 1;
|
|
307
|
-
}
|
|
308
|
-
if (!b.order) {
|
|
309
|
-
return -1;
|
|
310
|
-
}
|
|
311
|
-
return a.order - b.order;
|
|
312
|
-
}
|
|
313
|
-
function flatArrayDeepToObject(arr) {
|
|
314
|
-
return arr.reduce((acc, curr) => ({
|
|
315
|
-
...acc,
|
|
316
|
-
...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),
|
|
317
|
-
}), {});
|
|
318
|
-
}
|
|
319
|
-
function getStream$(source) {
|
|
320
|
-
return source instanceof Observable
|
|
321
|
-
? source
|
|
322
|
-
: source instanceof Promise
|
|
323
|
-
? from(source)
|
|
324
|
-
: of(source);
|
|
325
|
-
}
|
|
326
|
-
function isNullOrUndefined(obj) {
|
|
327
|
-
return obj === null || obj === undefined;
|
|
328
|
-
}
|
|
329
|
-
function isArray(obj) {
|
|
330
|
-
return Array.isArray(obj);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
function createGroupMap(list, othersGroupKey, skipGroupCheck = false) {
|
|
334
|
-
if (!skipGroupCheck &&
|
|
335
|
-
(!isArray(list) || !list.some((node) => Boolean(node.group))))
|
|
336
|
-
return undefined;
|
|
337
|
-
const mapGroup = new Map();
|
|
338
|
-
for (const node of list) {
|
|
339
|
-
const group = node?.group || othersGroupKey;
|
|
340
|
-
if (typeof group !== 'string') {
|
|
341
|
-
throw new Error(`Invalid group: ${group}`);
|
|
342
|
-
}
|
|
343
|
-
const items = mapGroup.get(group) || [];
|
|
344
|
-
items.push(node);
|
|
345
|
-
mapGroup.set(group, items);
|
|
346
|
-
}
|
|
347
|
-
return mapGroup;
|
|
348
|
-
}
|
|
349
|
-
function getItemsFromGroup(list, pred) {
|
|
350
|
-
return list?.reduce((acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)], []);
|
|
304
|
+
function sortItems(a, b) {
|
|
305
|
+
if (!a.order) {
|
|
306
|
+
return 1;
|
|
307
|
+
}
|
|
308
|
+
if (!b.order) {
|
|
309
|
+
return -1;
|
|
310
|
+
}
|
|
311
|
+
return a.order - b.order;
|
|
312
|
+
}
|
|
313
|
+
function flatArrayDeepToObject(arr) {
|
|
314
|
+
return arr.reduce((acc, curr) => ({
|
|
315
|
+
...acc,
|
|
316
|
+
...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),
|
|
317
|
+
}), {});
|
|
318
|
+
}
|
|
319
|
+
function getStream$(source) {
|
|
320
|
+
return source instanceof Observable
|
|
321
|
+
? source
|
|
322
|
+
: source instanceof Promise
|
|
323
|
+
? from(source)
|
|
324
|
+
: of(source);
|
|
325
|
+
}
|
|
326
|
+
function isNullOrUndefined(obj) {
|
|
327
|
+
return obj === null || obj === undefined;
|
|
328
|
+
}
|
|
329
|
+
function isArray(obj) {
|
|
330
|
+
return Array.isArray(obj);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
function createGroupMap(list, othersGroupKey, skipGroupCheck = false) {
|
|
334
|
+
if (!skipGroupCheck &&
|
|
335
|
+
(!isArray(list) || !list.some((node) => Boolean(node.group))))
|
|
336
|
+
return undefined;
|
|
337
|
+
const mapGroup = new Map();
|
|
338
|
+
for (const node of list) {
|
|
339
|
+
const group = node?.group || othersGroupKey;
|
|
340
|
+
if (typeof group !== 'string') {
|
|
341
|
+
throw new Error(`Invalid group: ${group}`);
|
|
342
|
+
}
|
|
343
|
+
const items = mapGroup.get(group) || [];
|
|
344
|
+
items.push(node);
|
|
345
|
+
mapGroup.set(group, items);
|
|
346
|
+
}
|
|
347
|
+
return mapGroup;
|
|
348
|
+
}
|
|
349
|
+
function getItemsFromGroup(list, pred) {
|
|
350
|
+
return list?.reduce((acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)], []);
|
|
351
351
|
}
|
|
352
352
|
|
|
353
353
|
const OTHERS_GROUP_KEY = 'AbpUi::OthersGroup';
|
|
354
354
|
|
|
355
|
-
class NavbarService {
|
|
356
|
-
constructor(menuItems, route, router) {
|
|
357
|
-
this.menuItems = menuItems;
|
|
358
|
-
this.route = route;
|
|
359
|
-
this.router = router;
|
|
360
|
-
this.store = new DataStore(this.addContainerLinks(this.menuItems));
|
|
361
|
-
this.navbarItems$ = this.store.sliceState((state) => state);
|
|
362
|
-
this.groupedNavbarItems$ = this.store
|
|
363
|
-
.sliceState((state) => state)
|
|
364
|
-
.pipe(filter((navItems) => navItems.some((f) => !!f.group)), map((items) => {
|
|
365
|
-
const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];
|
|
366
|
-
return Array.from(map, ([group, items]) => ({
|
|
367
|
-
group,
|
|
368
|
-
items,
|
|
369
|
-
}));
|
|
370
|
-
}));
|
|
371
|
-
this.expandItemByLink$().pipe(take(1)).subscribe();
|
|
372
|
-
}
|
|
373
|
-
addNavbarItems(...menuItems) {
|
|
374
|
-
this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);
|
|
375
|
-
}
|
|
376
|
-
setNavbarItems(...menuItems) {
|
|
377
|
-
this.store.set([...this.addContainerLinks(menuItems)]);
|
|
378
|
-
}
|
|
379
|
-
// TODO: muhammed: refactor this method to be readable
|
|
380
|
-
addChildren(id, ...menuItems) {
|
|
381
|
-
const parent = this.findById(id, this.store.state);
|
|
382
|
-
const update = (items, location, link = '') => {
|
|
383
|
-
const i = location.shift();
|
|
384
|
-
return items.reduce((acc, item, index) => {
|
|
385
|
-
return [
|
|
386
|
-
...acc,
|
|
387
|
-
...(index === i
|
|
388
|
-
? [
|
|
389
|
-
{
|
|
390
|
-
...item,
|
|
391
|
-
children: !location.length
|
|
392
|
-
? [
|
|
393
|
-
...(item.children || []),
|
|
394
|
-
...this.addContainerLinks(menuItems, `${link}/${item.containerLink}`),
|
|
395
|
-
]
|
|
396
|
-
: update(item.children || [], location, `${link}/${item.containerLink}`),
|
|
397
|
-
},
|
|
398
|
-
]
|
|
399
|
-
: [item]),
|
|
400
|
-
];
|
|
401
|
-
}, []);
|
|
402
|
-
};
|
|
403
|
-
const updated = update(this.store.state, parent.location);
|
|
404
|
-
this.store.patch(updated);
|
|
405
|
-
}
|
|
406
|
-
findByLink(link, items) {
|
|
407
|
-
return this.findByProp('link', link, items);
|
|
408
|
-
}
|
|
409
|
-
expandItemByLink$() {
|
|
410
|
-
return this.router.events.pipe(filter((e) => e instanceof NavigationEnd), tap(() => this.expandItems()));
|
|
411
|
-
}
|
|
412
|
-
expandItems() {
|
|
413
|
-
const route = this.getRouteItem();
|
|
414
|
-
if (route?.item) {
|
|
415
|
-
const expanded = this.calculateExpandState(this.store.state, route.location);
|
|
416
|
-
this.store.patch(expanded);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
getRouteItem() {
|
|
420
|
-
return this.findByLink(this.router.url);
|
|
421
|
-
}
|
|
422
|
-
calculateExpandState(items, indexes) {
|
|
423
|
-
const matchIndex = indexes.shift();
|
|
424
|
-
return items.reduce((acc, item, index) => {
|
|
425
|
-
if (index === matchIndex) {
|
|
426
|
-
return [
|
|
427
|
-
...acc,
|
|
428
|
-
{
|
|
429
|
-
...item,
|
|
430
|
-
expanded: true,
|
|
431
|
-
selected: true,
|
|
432
|
-
children: this.calculateExpandState(item.children || [], indexes),
|
|
433
|
-
},
|
|
434
|
-
];
|
|
435
|
-
}
|
|
436
|
-
const newItem = {
|
|
437
|
-
...item,
|
|
438
|
-
...(item.children
|
|
439
|
-
? { children: this.collapseChildren(item.children) }
|
|
440
|
-
: {}),
|
|
441
|
-
};
|
|
442
|
-
return [...acc, { ...newItem, expanded: false, selected: false }];
|
|
443
|
-
}, []);
|
|
444
|
-
}
|
|
445
|
-
collapseChildren(children) {
|
|
446
|
-
return [
|
|
447
|
-
...children.map((child) => ({
|
|
448
|
-
...child,
|
|
449
|
-
expanded: false,
|
|
450
|
-
selected: false,
|
|
451
|
-
children: child.children ? this.collapseChildren(child.children) : [],
|
|
452
|
-
})),
|
|
453
|
-
];
|
|
454
|
-
}
|
|
455
|
-
findById(id, items) {
|
|
456
|
-
return this.findByProp('id', id, items);
|
|
457
|
-
}
|
|
458
|
-
findByProp(prop, value, items, location = []) {
|
|
459
|
-
const navbarItems = items || this.store.state;
|
|
460
|
-
const itemIndex = navbarItems.findIndex((i) => i[prop] === value);
|
|
461
|
-
let item;
|
|
462
|
-
if (itemIndex === -1) {
|
|
463
|
-
navbarItems.forEach((i, index) => {
|
|
464
|
-
if (i.children) {
|
|
465
|
-
const child = this.findByProp(prop, value, i.children, [
|
|
466
|
-
...location,
|
|
467
|
-
index,
|
|
468
|
-
]);
|
|
469
|
-
if (child?.item) {
|
|
470
|
-
item = child.item;
|
|
471
|
-
location = child.location;
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
}
|
|
476
|
-
else {
|
|
477
|
-
item = navbarItems[itemIndex];
|
|
478
|
-
location.push(itemIndex);
|
|
479
|
-
}
|
|
480
|
-
return { item, location };
|
|
481
|
-
}
|
|
482
|
-
addContainerLinks(items, link = '') {
|
|
483
|
-
return items.map((item) => ({
|
|
484
|
-
...item,
|
|
485
|
-
...(item.link && link ? { link: `${link}/${item.link}` } : {}),
|
|
486
|
-
children: this.addContainerLinks(item.children || [], `${link ? link + '/' : ''}${item.containerLink || ''}`),
|
|
487
|
-
}));
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
493
|
-
type: Injectable,
|
|
494
|
-
args: [{
|
|
495
|
-
providedIn: 'root',
|
|
496
|
-
}]
|
|
497
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
498
|
-
type: Inject,
|
|
499
|
-
args: [LPX_MENU_ITEMS]
|
|
355
|
+
class NavbarService {
|
|
356
|
+
constructor(menuItems, route, router) {
|
|
357
|
+
this.menuItems = menuItems;
|
|
358
|
+
this.route = route;
|
|
359
|
+
this.router = router;
|
|
360
|
+
this.store = new DataStore(this.addContainerLinks(this.menuItems));
|
|
361
|
+
this.navbarItems$ = this.store.sliceState((state) => state);
|
|
362
|
+
this.groupedNavbarItems$ = this.store
|
|
363
|
+
.sliceState((state) => state)
|
|
364
|
+
.pipe(filter((navItems) => navItems.some((f) => !!f.group)), map((items) => {
|
|
365
|
+
const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];
|
|
366
|
+
return Array.from(map, ([group, items]) => ({
|
|
367
|
+
group,
|
|
368
|
+
items,
|
|
369
|
+
}));
|
|
370
|
+
}));
|
|
371
|
+
this.expandItemByLink$().pipe(take(1)).subscribe();
|
|
372
|
+
}
|
|
373
|
+
addNavbarItems(...menuItems) {
|
|
374
|
+
this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);
|
|
375
|
+
}
|
|
376
|
+
setNavbarItems(...menuItems) {
|
|
377
|
+
this.store.set([...this.addContainerLinks(menuItems)]);
|
|
378
|
+
}
|
|
379
|
+
// TODO: muhammed: refactor this method to be readable
|
|
380
|
+
addChildren(id, ...menuItems) {
|
|
381
|
+
const parent = this.findById(id, this.store.state);
|
|
382
|
+
const update = (items, location, link = '') => {
|
|
383
|
+
const i = location.shift();
|
|
384
|
+
return items.reduce((acc, item, index) => {
|
|
385
|
+
return [
|
|
386
|
+
...acc,
|
|
387
|
+
...(index === i
|
|
388
|
+
? [
|
|
389
|
+
{
|
|
390
|
+
...item,
|
|
391
|
+
children: !location.length
|
|
392
|
+
? [
|
|
393
|
+
...(item.children || []),
|
|
394
|
+
...this.addContainerLinks(menuItems, `${link}/${item.containerLink}`),
|
|
395
|
+
]
|
|
396
|
+
: update(item.children || [], location, `${link}/${item.containerLink}`),
|
|
397
|
+
},
|
|
398
|
+
]
|
|
399
|
+
: [item]),
|
|
400
|
+
];
|
|
401
|
+
}, []);
|
|
402
|
+
};
|
|
403
|
+
const updated = update(this.store.state, parent.location);
|
|
404
|
+
this.store.patch(updated);
|
|
405
|
+
}
|
|
406
|
+
findByLink(link, items) {
|
|
407
|
+
return this.findByProp('link', link, items);
|
|
408
|
+
}
|
|
409
|
+
expandItemByLink$() {
|
|
410
|
+
return this.router.events.pipe(filter((e) => e instanceof NavigationEnd), tap(() => this.expandItems()));
|
|
411
|
+
}
|
|
412
|
+
expandItems() {
|
|
413
|
+
const route = this.getRouteItem();
|
|
414
|
+
if (route?.item) {
|
|
415
|
+
const expanded = this.calculateExpandState(this.store.state, route.location);
|
|
416
|
+
this.store.patch(expanded);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
getRouteItem() {
|
|
420
|
+
return this.findByLink(this.router.url);
|
|
421
|
+
}
|
|
422
|
+
calculateExpandState(items, indexes) {
|
|
423
|
+
const matchIndex = indexes.shift();
|
|
424
|
+
return items.reduce((acc, item, index) => {
|
|
425
|
+
if (index === matchIndex) {
|
|
426
|
+
return [
|
|
427
|
+
...acc,
|
|
428
|
+
{
|
|
429
|
+
...item,
|
|
430
|
+
expanded: true,
|
|
431
|
+
selected: true,
|
|
432
|
+
children: this.calculateExpandState(item.children || [], indexes),
|
|
433
|
+
},
|
|
434
|
+
];
|
|
435
|
+
}
|
|
436
|
+
const newItem = {
|
|
437
|
+
...item,
|
|
438
|
+
...(item.children
|
|
439
|
+
? { children: this.collapseChildren(item.children) }
|
|
440
|
+
: {}),
|
|
441
|
+
};
|
|
442
|
+
return [...acc, { ...newItem, expanded: false, selected: false }];
|
|
443
|
+
}, []);
|
|
444
|
+
}
|
|
445
|
+
collapseChildren(children) {
|
|
446
|
+
return [
|
|
447
|
+
...children.map((child) => ({
|
|
448
|
+
...child,
|
|
449
|
+
expanded: false,
|
|
450
|
+
selected: false,
|
|
451
|
+
children: child.children ? this.collapseChildren(child.children) : [],
|
|
452
|
+
})),
|
|
453
|
+
];
|
|
454
|
+
}
|
|
455
|
+
findById(id, items) {
|
|
456
|
+
return this.findByProp('id', id, items);
|
|
457
|
+
}
|
|
458
|
+
findByProp(prop, value, items, location = []) {
|
|
459
|
+
const navbarItems = items || this.store.state;
|
|
460
|
+
const itemIndex = navbarItems.findIndex((i) => i[prop] === value);
|
|
461
|
+
let item;
|
|
462
|
+
if (itemIndex === -1) {
|
|
463
|
+
navbarItems.forEach((i, index) => {
|
|
464
|
+
if (i.children) {
|
|
465
|
+
const child = this.findByProp(prop, value, i.children, [
|
|
466
|
+
...location,
|
|
467
|
+
index,
|
|
468
|
+
]);
|
|
469
|
+
if (child?.item) {
|
|
470
|
+
item = child.item;
|
|
471
|
+
location = child.location;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
item = navbarItems[itemIndex];
|
|
478
|
+
location.push(itemIndex);
|
|
479
|
+
}
|
|
480
|
+
return { item, location };
|
|
481
|
+
}
|
|
482
|
+
addContainerLinks(items, link = '') {
|
|
483
|
+
return items.map((item) => ({
|
|
484
|
+
...item,
|
|
485
|
+
...(item.link && link ? { link: `${link}/${item.link}` } : {}),
|
|
486
|
+
children: this.addContainerLinks(item.children || [], `${link ? link + '/' : ''}${item.containerLink || ''}`),
|
|
487
|
+
}));
|
|
488
|
+
}
|
|
489
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarService, deps: [{ token: LPX_MENU_ITEMS }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
490
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarService, providedIn: 'root' }); }
|
|
491
|
+
}
|
|
492
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarService, decorators: [{
|
|
493
|
+
type: Injectable,
|
|
494
|
+
args: [{
|
|
495
|
+
providedIn: 'root',
|
|
496
|
+
}]
|
|
497
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
498
|
+
type: Inject,
|
|
499
|
+
args: [LPX_MENU_ITEMS]
|
|
500
500
|
}] }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }]; } });
|
|
501
501
|
|
|
502
|
-
class NavbarRoutesDirective {
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
507
|
-
type: Directive,
|
|
508
|
-
args: [{
|
|
509
|
-
selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',
|
|
510
|
-
exportAs: 'lpxNavbarRoutes',
|
|
511
|
-
}]
|
|
502
|
+
class NavbarRoutesDirective {
|
|
503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarRoutesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
504
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: NavbarRoutesDirective, selector: "[lpx-navbar-routes],[lpxNavbarRoutes]", exportAs: ["lpxNavbarRoutes"], ngImport: i0 }); }
|
|
505
|
+
}
|
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarRoutesDirective, decorators: [{
|
|
507
|
+
type: Directive,
|
|
508
|
+
args: [{
|
|
509
|
+
selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',
|
|
510
|
+
exportAs: 'lpxNavbarRoutes',
|
|
511
|
+
}]
|
|
512
512
|
}] });
|
|
513
513
|
|
|
514
|
-
class LogoPanelDirective {
|
|
515
|
-
constructor(template) {
|
|
516
|
-
this.template = template;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
522
|
-
type: Directive,
|
|
523
|
-
args: [{
|
|
524
|
-
selector: 'ng-template[lpx-logo-panel]',
|
|
525
|
-
}]
|
|
514
|
+
class LogoPanelDirective {
|
|
515
|
+
constructor(template) {
|
|
516
|
+
this.template = template;
|
|
517
|
+
}
|
|
518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LogoPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
519
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: LogoPanelDirective, selector: "ng-template[lpx-logo-panel]", ngImport: i0 }); }
|
|
520
|
+
}
|
|
521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LogoPanelDirective, decorators: [{
|
|
522
|
+
type: Directive,
|
|
523
|
+
args: [{
|
|
524
|
+
selector: 'ng-template[lpx-logo-panel]',
|
|
525
|
+
}]
|
|
526
526
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
527
527
|
|
|
528
|
-
class LpxVisibleDirective {
|
|
529
|
-
|
|
530
|
-
this.
|
|
531
|
-
this.
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
this.
|
|
536
|
-
this.
|
|
537
|
-
}
|
|
538
|
-
ngOnInit() {
|
|
539
|
-
this.updateVisibility();
|
|
540
|
-
}
|
|
541
|
-
ngOnDestroy() {
|
|
542
|
-
this.conditionSubscription?.unsubscribe();
|
|
543
|
-
}
|
|
544
|
-
subscribeToCondition() {
|
|
545
|
-
this.conditionSubscription = this.condition$.subscribe((value) => {
|
|
546
|
-
this.isVisible = value;
|
|
547
|
-
this.updateVisibility();
|
|
548
|
-
});
|
|
549
|
-
}
|
|
550
|
-
updateVisibility() {
|
|
551
|
-
this.viewContainerRef.clear();
|
|
552
|
-
// it should be false not falsy
|
|
553
|
-
if (this.isVisible === false) {
|
|
554
|
-
return;
|
|
555
|
-
}
|
|
556
|
-
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
562
|
-
type: Directive,
|
|
563
|
-
args: [{
|
|
564
|
-
selector: '[lpxVisible]',
|
|
565
|
-
standalone: true,
|
|
566
|
-
}]
|
|
567
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { lpxVisible: [{
|
|
568
|
-
type: Input,
|
|
569
|
-
args: ['lpxVisible']
|
|
570
|
-
}] } });
|
|
571
|
-
function checkType(value) {
|
|
572
|
-
if (value instanceof Promise) {
|
|
573
|
-
return from(value);
|
|
574
|
-
}
|
|
575
|
-
else if (value instanceof Observable) {
|
|
576
|
-
return value;
|
|
577
|
-
}
|
|
578
|
-
else if (typeof value === 'boolean') {
|
|
579
|
-
return of(value);
|
|
580
|
-
}
|
|
581
|
-
else if (value === undefined || value === null) {
|
|
582
|
-
return of(true);
|
|
583
|
-
}
|
|
584
|
-
else {
|
|
585
|
-
return EMPTY;
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
class UserProfileService {
|
|
590
|
-
constructor() {
|
|
591
|
-
this.store = new DataStore({});
|
|
592
|
-
this.user$ = this.store.sliceState((state) => state);
|
|
593
|
-
}
|
|
594
|
-
setUser(user) {
|
|
595
|
-
this.store.set(user);
|
|
596
|
-
}
|
|
597
|
-
patchUser(user) {
|
|
598
|
-
this.store.patch(user);
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
604
|
-
type: Injectable,
|
|
605
|
-
args: [{
|
|
606
|
-
providedIn: 'root',
|
|
607
|
-
}]
|
|
528
|
+
class LpxVisibleDirective {
|
|
529
|
+
set lpxVisible(value) {
|
|
530
|
+
this.condition$ = checkType(value);
|
|
531
|
+
this.subscribeToCondition();
|
|
532
|
+
}
|
|
533
|
+
constructor(viewContainerRef, templateRef) {
|
|
534
|
+
this.viewContainerRef = viewContainerRef;
|
|
535
|
+
this.templateRef = templateRef;
|
|
536
|
+
this.condition$ = of(false);
|
|
537
|
+
}
|
|
538
|
+
ngOnInit() {
|
|
539
|
+
this.updateVisibility();
|
|
540
|
+
}
|
|
541
|
+
ngOnDestroy() {
|
|
542
|
+
this.conditionSubscription?.unsubscribe();
|
|
543
|
+
}
|
|
544
|
+
subscribeToCondition() {
|
|
545
|
+
this.conditionSubscription = this.condition$.subscribe((value) => {
|
|
546
|
+
this.isVisible = value;
|
|
547
|
+
this.updateVisibility();
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
updateVisibility() {
|
|
551
|
+
this.viewContainerRef.clear();
|
|
552
|
+
// it should be false not falsy
|
|
553
|
+
if (this.isVisible === false) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
557
|
+
}
|
|
558
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxVisibleDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
559
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: LpxVisibleDirective, isStandalone: true, selector: "[lpxVisible]", inputs: { lpxVisible: "lpxVisible" }, ngImport: i0 }); }
|
|
560
|
+
}
|
|
561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxVisibleDirective, decorators: [{
|
|
562
|
+
type: Directive,
|
|
563
|
+
args: [{
|
|
564
|
+
selector: '[lpxVisible]',
|
|
565
|
+
standalone: true,
|
|
566
|
+
}]
|
|
567
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { lpxVisible: [{
|
|
568
|
+
type: Input,
|
|
569
|
+
args: ['lpxVisible']
|
|
570
|
+
}] } });
|
|
571
|
+
function checkType(value) {
|
|
572
|
+
if (value instanceof Promise) {
|
|
573
|
+
return from(value);
|
|
574
|
+
}
|
|
575
|
+
else if (value instanceof Observable) {
|
|
576
|
+
return value;
|
|
577
|
+
}
|
|
578
|
+
else if (typeof value === 'boolean') {
|
|
579
|
+
return of(value);
|
|
580
|
+
}
|
|
581
|
+
else if (value === undefined || value === null) {
|
|
582
|
+
return of(true);
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
return EMPTY;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
class UserProfileService {
|
|
590
|
+
constructor() {
|
|
591
|
+
this.store = new DataStore({});
|
|
592
|
+
this.user$ = this.store.sliceState((state) => state);
|
|
593
|
+
}
|
|
594
|
+
setUser(user) {
|
|
595
|
+
this.store.set(user);
|
|
596
|
+
}
|
|
597
|
+
patchUser(user) {
|
|
598
|
+
this.store.patch(user);
|
|
599
|
+
}
|
|
600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: UserProfileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
601
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: UserProfileService, providedIn: 'root' }); }
|
|
602
|
+
}
|
|
603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: UserProfileService, decorators: [{
|
|
604
|
+
type: Injectable,
|
|
605
|
+
args: [{
|
|
606
|
+
providedIn: 'root',
|
|
607
|
+
}]
|
|
608
608
|
}] });
|
|
609
609
|
|
|
610
|
-
class BodyService {
|
|
611
|
-
constructor() {
|
|
612
|
-
this.body = document.querySelector('body');
|
|
613
|
-
this.classes = {
|
|
614
|
-
overflowYHidden: 'overflow-y-hidden',
|
|
615
|
-
};
|
|
616
|
-
}
|
|
617
|
-
disableScrollY() {
|
|
618
|
-
this.body?.classList.add(this.classes.overflowYHidden);
|
|
619
|
-
}
|
|
620
|
-
enableScrollY() {
|
|
621
|
-
this.body?.classList.remove(this.classes.overflowYHidden);
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
627
|
-
type: Injectable,
|
|
628
|
-
args: [{
|
|
629
|
-
providedIn: 'root',
|
|
630
|
-
}]
|
|
610
|
+
class BodyService {
|
|
611
|
+
constructor() {
|
|
612
|
+
this.body = document.querySelector('body');
|
|
613
|
+
this.classes = {
|
|
614
|
+
overflowYHidden: 'overflow-y-hidden',
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
disableScrollY() {
|
|
618
|
+
this.body?.classList.add(this.classes.overflowYHidden);
|
|
619
|
+
}
|
|
620
|
+
enableScrollY() {
|
|
621
|
+
this.body?.classList.remove(this.classes.overflowYHidden);
|
|
622
|
+
}
|
|
623
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BodyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
624
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BodyService, providedIn: 'root' }); }
|
|
625
|
+
}
|
|
626
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BodyService, decorators: [{
|
|
627
|
+
type: Injectable,
|
|
628
|
+
args: [{
|
|
629
|
+
providedIn: 'root',
|
|
630
|
+
}]
|
|
631
631
|
}] });
|
|
632
632
|
|
|
633
|
-
class DefaultTranslateService {
|
|
634
|
-
get$(key, defaultValue) {
|
|
635
|
-
return of(defaultValue || key || '');
|
|
636
|
-
}
|
|
637
|
-
get(key, defaultValue) {
|
|
638
|
-
return defaultValue || key || '';
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
644
|
-
type: Injectable
|
|
633
|
+
class DefaultTranslateService {
|
|
634
|
+
get$(key, defaultValue) {
|
|
635
|
+
return of(defaultValue || key || '');
|
|
636
|
+
}
|
|
637
|
+
get(key, defaultValue) {
|
|
638
|
+
return defaultValue || key || '';
|
|
639
|
+
}
|
|
640
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
641
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultTranslateService }); }
|
|
642
|
+
}
|
|
643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultTranslateService, decorators: [{
|
|
644
|
+
type: Injectable
|
|
645
645
|
}] });
|
|
646
646
|
|
|
647
|
-
class LpxThemeTranslateService {
|
|
648
|
-
constructor(translateValues, translateService) {
|
|
649
|
-
this.translateValues = translateValues;
|
|
650
|
-
this.translateService = translateService;
|
|
651
|
-
this._content = flatArrayDeepToObject(this.translateValues);
|
|
652
|
-
}
|
|
653
|
-
// TODO: PROVIDE API : Implement args
|
|
654
|
-
translate$(key, ...args) {
|
|
655
|
-
return this.translateService.get$(key, this._content[key]);
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
661
|
-
type: Injectable,
|
|
662
|
-
args: [{
|
|
663
|
-
providedIn: 'root',
|
|
664
|
-
}]
|
|
665
|
-
}], ctorParameters: function () { return [{ type: Array, decorators: [{
|
|
666
|
-
type: Optional
|
|
667
|
-
}, {
|
|
668
|
-
type: Inject,
|
|
669
|
-
args: [LPX_TRANSLATE_TOKEN]
|
|
670
|
-
}] }, { type: undefined, decorators: [{
|
|
671
|
-
type: Inject,
|
|
672
|
-
args: [LPX_TRANSLATE_SERVICE_TOKEN]
|
|
647
|
+
class LpxThemeTranslateService {
|
|
648
|
+
constructor(translateValues, translateService) {
|
|
649
|
+
this.translateValues = translateValues;
|
|
650
|
+
this.translateService = translateService;
|
|
651
|
+
this._content = flatArrayDeepToObject(this.translateValues);
|
|
652
|
+
}
|
|
653
|
+
// TODO: PROVIDE API : Implement args
|
|
654
|
+
translate$(key, ...args) {
|
|
655
|
+
return this.translateService.get$(key, this._content[key]);
|
|
656
|
+
}
|
|
657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxThemeTranslateService, deps: [{ token: LPX_TRANSLATE_TOKEN, optional: true }, { token: LPX_TRANSLATE_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
658
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxThemeTranslateService, providedIn: 'root' }); }
|
|
659
|
+
}
|
|
660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxThemeTranslateService, decorators: [{
|
|
661
|
+
type: Injectable,
|
|
662
|
+
args: [{
|
|
663
|
+
providedIn: 'root',
|
|
664
|
+
}]
|
|
665
|
+
}], ctorParameters: function () { return [{ type: Array, decorators: [{
|
|
666
|
+
type: Optional
|
|
667
|
+
}, {
|
|
668
|
+
type: Inject,
|
|
669
|
+
args: [LPX_TRANSLATE_TOKEN]
|
|
670
|
+
}] }, { type: undefined, decorators: [{
|
|
671
|
+
type: Inject,
|
|
672
|
+
args: [LPX_TRANSLATE_SERVICE_TOKEN]
|
|
673
673
|
}] }]; } });
|
|
674
674
|
|
|
675
|
-
class DefaultAuthService {
|
|
676
|
-
constructor(userProfileService) {
|
|
677
|
-
this.userProfileService = userProfileService;
|
|
678
|
-
this.isUserExists$ = this.userProfileService.user$.pipe(map((user) => !!user && Object.keys(user).length > 0));
|
|
679
|
-
}
|
|
680
|
-
navigateToLogin() {
|
|
681
|
-
return;
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
687
|
-
type: Injectable
|
|
675
|
+
class DefaultAuthService {
|
|
676
|
+
constructor(userProfileService) {
|
|
677
|
+
this.userProfileService = userProfileService;
|
|
678
|
+
this.isUserExists$ = this.userProfileService.user$.pipe(map((user) => !!user && Object.keys(user).length > 0));
|
|
679
|
+
}
|
|
680
|
+
navigateToLogin() {
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultAuthService, deps: [{ token: UserProfileService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
684
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultAuthService }); }
|
|
685
|
+
}
|
|
686
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DefaultAuthService, decorators: [{
|
|
687
|
+
type: Injectable
|
|
688
688
|
}], ctorParameters: function () { return [{ type: UserProfileService }]; } });
|
|
689
689
|
|
|
690
690
|
const LPX_AUTH_SERVICE_TOKEN = new InjectionToken('LPX_AUTH_SERVICE_TOKEN');
|
|
691
691
|
|
|
692
|
-
const LPX_AUTH_SERVICE_PROVIDER = {
|
|
693
|
-
provide: LPX_AUTH_SERVICE_TOKEN,
|
|
694
|
-
useClass: DefaultAuthService,
|
|
692
|
+
const LPX_AUTH_SERVICE_PROVIDER = {
|
|
693
|
+
provide: LPX_AUTH_SERVICE_TOKEN,
|
|
694
|
+
useClass: DefaultAuthService,
|
|
695
695
|
};
|
|
696
696
|
|
|
697
|
-
class LpxLocalStorageService {
|
|
698
|
-
constructor() { }
|
|
699
|
-
get length() {
|
|
700
|
-
return localStorage.length;
|
|
701
|
-
}
|
|
702
|
-
clear() {
|
|
703
|
-
localStorage.clear();
|
|
704
|
-
}
|
|
705
|
-
getItem(key) {
|
|
706
|
-
return localStorage.getItem(key);
|
|
707
|
-
}
|
|
708
|
-
key(index) {
|
|
709
|
-
return localStorage.key(index);
|
|
710
|
-
}
|
|
711
|
-
removeItem(key) {
|
|
712
|
-
localStorage.removeItem(key);
|
|
713
|
-
}
|
|
714
|
-
setItem(key, value) {
|
|
715
|
-
localStorage.setItem(key, value);
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
721
|
-
type: Injectable,
|
|
722
|
-
args: [{
|
|
723
|
-
providedIn: 'root'
|
|
724
|
-
}]
|
|
697
|
+
class LpxLocalStorageService {
|
|
698
|
+
constructor() { }
|
|
699
|
+
get length() {
|
|
700
|
+
return localStorage.length;
|
|
701
|
+
}
|
|
702
|
+
clear() {
|
|
703
|
+
localStorage.clear();
|
|
704
|
+
}
|
|
705
|
+
getItem(key) {
|
|
706
|
+
return localStorage.getItem(key);
|
|
707
|
+
}
|
|
708
|
+
key(index) {
|
|
709
|
+
return localStorage.key(index);
|
|
710
|
+
}
|
|
711
|
+
removeItem(key) {
|
|
712
|
+
localStorage.removeItem(key);
|
|
713
|
+
}
|
|
714
|
+
setItem(key, value) {
|
|
715
|
+
localStorage.setItem(key, value);
|
|
716
|
+
}
|
|
717
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
718
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLocalStorageService, providedIn: 'root' }); }
|
|
719
|
+
}
|
|
720
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxLocalStorageService, decorators: [{
|
|
721
|
+
type: Injectable,
|
|
722
|
+
args: [{
|
|
723
|
+
providedIn: 'root'
|
|
724
|
+
}]
|
|
725
725
|
}], ctorParameters: function () { return []; } });
|
|
726
726
|
|
|
727
|
-
class LpxPerfectScrollbarService extends LpxPerfectScrollbar {
|
|
728
|
-
setElement(value) {
|
|
729
|
-
if (value) {
|
|
730
|
-
this.elementRef = value;
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
setOptions(value) {
|
|
734
|
-
if (value) {
|
|
735
|
-
this.options = value;
|
|
736
|
-
}
|
|
737
|
-
}
|
|
738
|
-
createScrollbar() {
|
|
739
|
-
this.perfectScrollbar = new PerfectScrollbar(this.elementRef.nativeElement, this.options);
|
|
740
|
-
}
|
|
741
|
-
onResize() {
|
|
742
|
-
this.perfectScrollbar.update();
|
|
743
|
-
}
|
|
744
|
-
afterViewInit() {
|
|
745
|
-
this.createScrollbar();
|
|
746
|
-
this.subscription?.unsubscribe();
|
|
747
|
-
this.subscription = this.router.events
|
|
748
|
-
.pipe(filter$1((event) => event instanceof NavigationEnd ||
|
|
749
|
-
event instanceof NavigationError ||
|
|
750
|
-
event instanceof NavigationCancel))
|
|
751
|
-
.subscribe(() => {
|
|
752
|
-
const { element } = this.perfectScrollbar;
|
|
753
|
-
const { topAfterNavigate, leftAfterNavigate } = this.options || {};
|
|
754
|
-
element.scrollTop = topAfterNavigate || 0;
|
|
755
|
-
element.scrollLeft = leftAfterNavigate || 0;
|
|
756
|
-
});
|
|
757
|
-
}
|
|
758
|
-
ngOnDestroy() {
|
|
759
|
-
this.subscription?.unsubscribe();
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
765
|
-
type: Injectable
|
|
727
|
+
class LpxPerfectScrollbarService extends LpxPerfectScrollbar {
|
|
728
|
+
setElement(value) {
|
|
729
|
+
if (value) {
|
|
730
|
+
this.elementRef = value;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
setOptions(value) {
|
|
734
|
+
if (value) {
|
|
735
|
+
this.options = value;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
createScrollbar() {
|
|
739
|
+
this.perfectScrollbar = new PerfectScrollbar(this.elementRef.nativeElement, this.options);
|
|
740
|
+
}
|
|
741
|
+
onResize() {
|
|
742
|
+
this.perfectScrollbar.update();
|
|
743
|
+
}
|
|
744
|
+
afterViewInit() {
|
|
745
|
+
this.createScrollbar();
|
|
746
|
+
this.subscription?.unsubscribe();
|
|
747
|
+
this.subscription = this.router.events
|
|
748
|
+
.pipe(filter$1((event) => event instanceof NavigationEnd ||
|
|
749
|
+
event instanceof NavigationError ||
|
|
750
|
+
event instanceof NavigationCancel))
|
|
751
|
+
.subscribe(() => {
|
|
752
|
+
const { element } = this.perfectScrollbar;
|
|
753
|
+
const { topAfterNavigate, leftAfterNavigate } = this.options || {};
|
|
754
|
+
element.scrollTop = topAfterNavigate || 0;
|
|
755
|
+
element.scrollLeft = leftAfterNavigate || 0;
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
ngOnDestroy() {
|
|
759
|
+
this.subscription?.unsubscribe();
|
|
760
|
+
}
|
|
761
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxPerfectScrollbarService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
762
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxPerfectScrollbarService }); }
|
|
763
|
+
}
|
|
764
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxPerfectScrollbarService, decorators: [{
|
|
765
|
+
type: Injectable
|
|
766
766
|
}] });
|
|
767
767
|
|
|
768
|
-
class TranslatePipe {
|
|
769
|
-
constructor(lpxThemeTranslateService) {
|
|
770
|
-
this.lpxThemeTranslateService = lpxThemeTranslateService;
|
|
771
|
-
}
|
|
772
|
-
transform(value, ...args) {
|
|
773
|
-
return this.lpxThemeTranslateService.translate$(value, args);
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
779
|
-
type: Pipe,
|
|
780
|
-
args: [{
|
|
781
|
-
name: 'lpxTranslate',
|
|
782
|
-
}]
|
|
768
|
+
class TranslatePipe {
|
|
769
|
+
constructor(lpxThemeTranslateService) {
|
|
770
|
+
this.lpxThemeTranslateService = lpxThemeTranslateService;
|
|
771
|
+
}
|
|
772
|
+
transform(value, ...args) {
|
|
773
|
+
return this.lpxThemeTranslateService.translate$(value, args);
|
|
774
|
+
}
|
|
775
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TranslatePipe, deps: [{ token: LpxThemeTranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
776
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: TranslatePipe, name: "lpxTranslate" }); }
|
|
777
|
+
}
|
|
778
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TranslatePipe, decorators: [{
|
|
779
|
+
type: Pipe,
|
|
780
|
+
args: [{
|
|
781
|
+
name: 'lpxTranslate',
|
|
782
|
+
}]
|
|
783
783
|
}], ctorParameters: function () { return [{ type: LpxThemeTranslateService }]; } });
|
|
784
784
|
|
|
785
|
-
class SubNavbarComponent {
|
|
786
|
-
constructor(injector) {
|
|
787
|
-
this.injector = injector;
|
|
788
|
-
this.routeClick = new EventEmitter();
|
|
789
|
-
this.expand = new EventEmitter();
|
|
790
|
-
}
|
|
791
|
-
onItemClick(menuItem) {
|
|
792
|
-
let action$ = of(true);
|
|
793
|
-
if (menuItem.action) {
|
|
794
|
-
const result = menuItem.action();
|
|
795
|
-
action$ = getStream$(result);
|
|
796
|
-
}
|
|
797
|
-
action$.pipe(take(1)).subscribe((result) => {
|
|
798
|
-
if (result) {
|
|
799
|
-
this.processItemClick(menuItem);
|
|
800
|
-
}
|
|
801
|
-
});
|
|
802
|
-
}
|
|
803
|
-
onChildExpand(child) {
|
|
804
|
-
if (child.expanded) {
|
|
805
|
-
this.item?.children
|
|
806
|
-
?.filter((otherChild) => otherChild !== child)
|
|
807
|
-
.forEach((otherChild) => {
|
|
808
|
-
otherChild.expanded = false;
|
|
809
|
-
otherChild.selected = false;
|
|
810
|
-
});
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
processItemClick(menuItem) {
|
|
814
|
-
if (menuItem.children?.length) {
|
|
815
|
-
menuItem.expanded = !menuItem.expanded;
|
|
816
|
-
this.expand.emit(menuItem);
|
|
817
|
-
return;
|
|
818
|
-
}
|
|
819
|
-
this.routeClick.emit(menuItem);
|
|
820
|
-
if (!this.routerItem) {
|
|
821
|
-
menuItem.selected = true;
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
828
|
-
type: Component,
|
|
829
|
-
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n" }]
|
|
830
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { item: [{
|
|
831
|
-
type: Input
|
|
832
|
-
}], routerItem: [{
|
|
833
|
-
type: Input
|
|
834
|
-
}], routeClick: [{
|
|
835
|
-
type: Output
|
|
836
|
-
}], expand: [{
|
|
837
|
-
type: Output
|
|
785
|
+
class SubNavbarComponent {
|
|
786
|
+
constructor(injector) {
|
|
787
|
+
this.injector = injector;
|
|
788
|
+
this.routeClick = new EventEmitter();
|
|
789
|
+
this.expand = new EventEmitter();
|
|
790
|
+
}
|
|
791
|
+
onItemClick(menuItem) {
|
|
792
|
+
let action$ = of(true);
|
|
793
|
+
if (menuItem.action) {
|
|
794
|
+
const result = menuItem.action();
|
|
795
|
+
action$ = getStream$(result);
|
|
796
|
+
}
|
|
797
|
+
action$.pipe(take(1)).subscribe((result) => {
|
|
798
|
+
if (result) {
|
|
799
|
+
this.processItemClick(menuItem);
|
|
800
|
+
}
|
|
801
|
+
});
|
|
802
|
+
}
|
|
803
|
+
onChildExpand(child) {
|
|
804
|
+
if (child.expanded) {
|
|
805
|
+
this.item?.children
|
|
806
|
+
?.filter((otherChild) => otherChild !== child)
|
|
807
|
+
.forEach((otherChild) => {
|
|
808
|
+
otherChild.expanded = false;
|
|
809
|
+
otherChild.selected = false;
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
processItemClick(menuItem) {
|
|
814
|
+
if (menuItem.children?.length) {
|
|
815
|
+
menuItem.expanded = !menuItem.expanded;
|
|
816
|
+
this.expand.emit(menuItem);
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
this.routeClick.emit(menuItem);
|
|
820
|
+
if (!this.routerItem) {
|
|
821
|
+
menuItem.selected = true;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SubNavbarComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
825
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: "item", routerItem: "routerItem" }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
826
|
+
}
|
|
827
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SubNavbarComponent, decorators: [{
|
|
828
|
+
type: Component,
|
|
829
|
+
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n" }]
|
|
830
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { item: [{
|
|
831
|
+
type: Input
|
|
832
|
+
}], routerItem: [{
|
|
833
|
+
type: Input
|
|
834
|
+
}], routeClick: [{
|
|
835
|
+
type: Output
|
|
836
|
+
}], expand: [{
|
|
837
|
+
type: Output
|
|
838
838
|
}] } });
|
|
839
839
|
|
|
840
|
-
class NavbarRoutesComponent {
|
|
841
|
-
|
|
842
|
-
this.
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
}
|
|
852
|
-
onSubnavbarExpand(menuItem, menuItems) {
|
|
853
|
-
if (menuItem.expanded) {
|
|
854
|
-
const items = this.itemsFromGroup || menuItems;
|
|
855
|
-
if (!items) {
|
|
856
|
-
return;
|
|
857
|
-
}
|
|
858
|
-
items
|
|
859
|
-
.filter((item) => item !== menuItem)
|
|
860
|
-
.forEach((item) => (item.expanded = false));
|
|
861
|
-
}
|
|
862
|
-
}
|
|
863
|
-
onRouteClick(menuItem, menuItems) {
|
|
864
|
-
const expandedItems = menuItems?.filter(this.isExpandedOrSelected);
|
|
865
|
-
const expandedGroupItems = this.itemsFromGroup?.filter(this.isExpandedOrSelected);
|
|
866
|
-
const items = expandedGroupItems || expandedItems;
|
|
867
|
-
if (items) {
|
|
868
|
-
items
|
|
869
|
-
.filter((item) => item !== menuItem)
|
|
870
|
-
.reduce((acc, item) => {
|
|
871
|
-
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
872
|
-
}, [])
|
|
873
|
-
?.filter((item) => !this.checkChildrenIncludesItem(item, menuItem) && item !== menuItem)
|
|
874
|
-
.forEach((item) => {
|
|
875
|
-
item.selected = false;
|
|
876
|
-
item.expanded = false;
|
|
877
|
-
});
|
|
878
|
-
}
|
|
879
|
-
this.routeClick.emit(menuItem);
|
|
880
|
-
}
|
|
881
|
-
checkChildrenIncludesItem(item, menuItem) {
|
|
882
|
-
return (item.children?.reduce((acc, child) => acc ||
|
|
883
|
-
child === menuItem ||
|
|
884
|
-
this.checkChildrenIncludesItem(child, menuItem), false) || false);
|
|
885
|
-
}
|
|
886
|
-
flatChildren(menuItems) {
|
|
887
|
-
return (menuItems?.reduce((acc, item) => {
|
|
888
|
-
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
889
|
-
}, []) || []);
|
|
890
|
-
}
|
|
891
|
-
}
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
895
|
-
type: Component,
|
|
896
|
-
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
|
|
897
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { groupedItems: [{
|
|
898
|
-
type: Input
|
|
899
|
-
}], navbarItems: [{
|
|
900
|
-
type: Input
|
|
901
|
-
}], routerItem: [{
|
|
902
|
-
type: Input
|
|
903
|
-
}], routeClick: [{
|
|
904
|
-
type: Output
|
|
840
|
+
class NavbarRoutesComponent {
|
|
841
|
+
get itemsFromGroup() {
|
|
842
|
+
if (!this.groupedItems) {
|
|
843
|
+
return undefined;
|
|
844
|
+
}
|
|
845
|
+
return getItemsFromGroup(this.groupedItems);
|
|
846
|
+
}
|
|
847
|
+
constructor(injector) {
|
|
848
|
+
this.injector = injector;
|
|
849
|
+
this.routeClick = new EventEmitter();
|
|
850
|
+
this.isExpandedOrSelected = (item) => !!(item.expanded || item.selected);
|
|
851
|
+
}
|
|
852
|
+
onSubnavbarExpand(menuItem, menuItems) {
|
|
853
|
+
if (menuItem.expanded) {
|
|
854
|
+
const items = this.itemsFromGroup || menuItems;
|
|
855
|
+
if (!items) {
|
|
856
|
+
return;
|
|
857
|
+
}
|
|
858
|
+
items
|
|
859
|
+
.filter((item) => item !== menuItem)
|
|
860
|
+
.forEach((item) => (item.expanded = false));
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
onRouteClick(menuItem, menuItems) {
|
|
864
|
+
const expandedItems = menuItems?.filter(this.isExpandedOrSelected);
|
|
865
|
+
const expandedGroupItems = this.itemsFromGroup?.filter(this.isExpandedOrSelected);
|
|
866
|
+
const items = expandedGroupItems || expandedItems;
|
|
867
|
+
if (items) {
|
|
868
|
+
items
|
|
869
|
+
.filter((item) => item !== menuItem)
|
|
870
|
+
.reduce((acc, item) => {
|
|
871
|
+
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
872
|
+
}, [])
|
|
873
|
+
?.filter((item) => !this.checkChildrenIncludesItem(item, menuItem) && item !== menuItem)
|
|
874
|
+
.forEach((item) => {
|
|
875
|
+
item.selected = false;
|
|
876
|
+
item.expanded = false;
|
|
877
|
+
});
|
|
878
|
+
}
|
|
879
|
+
this.routeClick.emit(menuItem);
|
|
880
|
+
}
|
|
881
|
+
checkChildrenIncludesItem(item, menuItem) {
|
|
882
|
+
return (item.children?.reduce((acc, child) => acc ||
|
|
883
|
+
child === menuItem ||
|
|
884
|
+
this.checkChildrenIncludesItem(child, menuItem), false) || false);
|
|
885
|
+
}
|
|
886
|
+
flatChildren(menuItems) {
|
|
887
|
+
return (menuItems?.reduce((acc, item) => {
|
|
888
|
+
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
889
|
+
}, []) || []);
|
|
890
|
+
}
|
|
891
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarRoutesComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
892
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: "groupedItems", navbarItems: "navbarItems", routerItem: "routerItem" }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
893
|
+
}
|
|
894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarRoutesComponent, decorators: [{
|
|
895
|
+
type: Component,
|
|
896
|
+
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
|
|
897
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { groupedItems: [{
|
|
898
|
+
type: Input
|
|
899
|
+
}], navbarItems: [{
|
|
900
|
+
type: Input
|
|
901
|
+
}], routerItem: [{
|
|
902
|
+
type: Input
|
|
903
|
+
}], routeClick: [{
|
|
904
|
+
type: Output
|
|
905
905
|
}] } });
|
|
906
906
|
|
|
907
|
-
class NavbarComponent {
|
|
908
|
-
constructor(service, injector, layoutService) {
|
|
909
|
-
this.service = service;
|
|
910
|
-
this.injector = injector;
|
|
911
|
-
this.layoutService = layoutService;
|
|
912
|
-
this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);
|
|
913
|
-
this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);
|
|
914
|
-
}
|
|
915
|
-
toggleSidebarHover() {
|
|
916
|
-
this.layoutService.toggleClass('hover-trigger');
|
|
917
|
-
}
|
|
918
|
-
flatContents(token) {
|
|
919
|
-
const contents = this.injector.get(token, []);
|
|
920
|
-
return contents.reduce((acc, val) => acc.concat(val), []);
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
926
|
-
type: Component,
|
|
927
|
-
args: [{ selector: 'lpx-navbar', encapsulation: ViewEncapsulation.None, template: "<nav class=\"lpx-nav\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n" }]
|
|
928
|
-
}], ctorParameters: function () { return [{ type: NavbarService }, { type: i0.Injector }, { type: LayoutService }]; }, propDecorators: { routesTemplate: [{
|
|
929
|
-
type: ContentChild,
|
|
930
|
-
args: [NavbarRoutesDirective, { read: TemplateRef }]
|
|
931
|
-
}], logoPanel: [{
|
|
932
|
-
type: ContentChild,
|
|
933
|
-
args: [LogoPanelDirective]
|
|
907
|
+
class NavbarComponent {
|
|
908
|
+
constructor(service, injector, layoutService) {
|
|
909
|
+
this.service = service;
|
|
910
|
+
this.injector = injector;
|
|
911
|
+
this.layoutService = layoutService;
|
|
912
|
+
this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);
|
|
913
|
+
this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);
|
|
914
|
+
}
|
|
915
|
+
toggleSidebarHover() {
|
|
916
|
+
this.layoutService.toggleClass('hover-trigger');
|
|
917
|
+
}
|
|
918
|
+
flatContents(token) {
|
|
919
|
+
const contents = this.injector.get(token, []);
|
|
920
|
+
return contents.reduce((acc, val) => acc.concat(val), []);
|
|
921
|
+
}
|
|
922
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarComponent, deps: [{ token: NavbarService }, { token: i0.Injector }, { token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
923
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: NavbarComponent, selector: "lpx-navbar", queries: [{ propertyName: "routesTemplate", first: true, predicate: NavbarRoutesDirective, descendants: true, read: TemplateRef }, { propertyName: "logoPanel", first: true, predicate: LogoPanelDirective, descendants: true }], ngImport: i0, template: "<nav class=\"lpx-nav\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BrandLogoComponent, selector: "lpx-brand-logo" }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "component", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: ["groupedItems", "navbarItems", "routerItem"], outputs: ["routeClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
924
|
+
}
|
|
925
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarComponent, decorators: [{
|
|
926
|
+
type: Component,
|
|
927
|
+
args: [{ selector: 'lpx-navbar', encapsulation: ViewEncapsulation.None, template: "<nav class=\"lpx-nav\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n" }]
|
|
928
|
+
}], ctorParameters: function () { return [{ type: NavbarService }, { type: i0.Injector }, { type: LayoutService }]; }, propDecorators: { routesTemplate: [{
|
|
929
|
+
type: ContentChild,
|
|
930
|
+
args: [NavbarRoutesDirective, { read: TemplateRef }]
|
|
931
|
+
}], logoPanel: [{
|
|
932
|
+
type: ContentChild,
|
|
933
|
+
args: [LogoPanelDirective]
|
|
934
934
|
}] } });
|
|
935
935
|
|
|
936
|
-
class ToObservablePipe {
|
|
937
|
-
transform(value) {
|
|
938
|
-
return value ? getStream$(value) : of('');
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
944
|
-
type: Pipe,
|
|
945
|
-
args: [{
|
|
946
|
-
name: 'toObservable',
|
|
947
|
-
}]
|
|
936
|
+
class ToObservablePipe {
|
|
937
|
+
transform(value) {
|
|
938
|
+
return value ? getStream$(value) : of('');
|
|
939
|
+
}
|
|
940
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
941
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: ToObservablePipe, name: "toObservable" }); }
|
|
942
|
+
}
|
|
943
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToObservablePipe, decorators: [{
|
|
944
|
+
type: Pipe,
|
|
945
|
+
args: [{
|
|
946
|
+
name: 'toObservable',
|
|
947
|
+
}]
|
|
948
948
|
}] });
|
|
949
949
|
|
|
950
|
-
class ToObservableModule {
|
|
951
|
-
}
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
956
|
-
type: NgModule,
|
|
957
|
-
args: [{
|
|
958
|
-
declarations: [ToObservablePipe],
|
|
959
|
-
imports: [CommonModule],
|
|
960
|
-
exports: [ToObservablePipe],
|
|
961
|
-
}]
|
|
950
|
+
class ToObservableModule {
|
|
951
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToObservableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
952
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: ToObservableModule, declarations: [ToObservablePipe], imports: [CommonModule], exports: [ToObservablePipe] }); }
|
|
953
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToObservableModule, imports: [CommonModule] }); }
|
|
954
|
+
}
|
|
955
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToObservableModule, decorators: [{
|
|
956
|
+
type: NgModule,
|
|
957
|
+
args: [{
|
|
958
|
+
declarations: [ToObservablePipe],
|
|
959
|
+
imports: [CommonModule],
|
|
960
|
+
exports: [ToObservablePipe],
|
|
961
|
+
}]
|
|
962
962
|
}] });
|
|
963
963
|
|
|
964
|
-
class SafeHtmlPipe {
|
|
965
|
-
constructor() {
|
|
966
|
-
this.sanitizer = inject(DomSanitizer);
|
|
967
|
-
}
|
|
968
|
-
transform(value) {
|
|
969
|
-
if (!value || typeof value !== 'string')
|
|
970
|
-
return '';
|
|
971
|
-
return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';
|
|
972
|
-
}
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
977
|
-
type: Pipe,
|
|
978
|
-
args: [{ name: 'lpxSafeHtml', standalone: true }]
|
|
964
|
+
class SafeHtmlPipe {
|
|
965
|
+
constructor() {
|
|
966
|
+
this.sanitizer = inject(DomSanitizer);
|
|
967
|
+
}
|
|
968
|
+
transform(value) {
|
|
969
|
+
if (!value || typeof value !== 'string')
|
|
970
|
+
return '';
|
|
971
|
+
return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';
|
|
972
|
+
}
|
|
973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
974
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "lpxSafeHtml" }); }
|
|
975
|
+
}
|
|
976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
977
|
+
type: Pipe,
|
|
978
|
+
args: [{ name: 'lpxSafeHtml', standalone: true }]
|
|
979
979
|
}] });
|
|
980
980
|
|
|
981
|
-
class LpxTranslateModule {
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
987
|
-
type: NgModule,
|
|
988
|
-
args: [{
|
|
989
|
-
declarations: [TranslatePipe],
|
|
990
|
-
imports: [CommonModule],
|
|
991
|
-
exports: [TranslatePipe],
|
|
992
|
-
}]
|
|
981
|
+
class LpxTranslateModule {
|
|
982
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
983
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxTranslateModule, declarations: [TranslatePipe], imports: [CommonModule], exports: [TranslatePipe] }); }
|
|
984
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxTranslateModule, imports: [CommonModule] }); }
|
|
985
|
+
}
|
|
986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxTranslateModule, decorators: [{
|
|
987
|
+
type: NgModule,
|
|
988
|
+
args: [{
|
|
989
|
+
declarations: [TranslatePipe],
|
|
990
|
+
imports: [CommonModule],
|
|
991
|
+
exports: [TranslatePipe],
|
|
992
|
+
}]
|
|
993
993
|
}] });
|
|
994
994
|
|
|
995
|
-
const exportedDeclarations$1 = [
|
|
996
|
-
NavbarComponent,
|
|
997
|
-
SubNavbarComponent,
|
|
998
|
-
NavbarRoutesComponent,
|
|
999
|
-
NavbarRoutesDirective,
|
|
1000
|
-
];
|
|
1001
|
-
class LpxNavbarModule {
|
|
1002
|
-
static forRoot(options = {}) {
|
|
1003
|
-
return {
|
|
1004
|
-
ngModule: LpxNavbarModule,
|
|
1005
|
-
providers: [
|
|
1006
|
-
{
|
|
1007
|
-
provide: LPX_MENU_ITEMS,
|
|
1008
|
-
useValue: options?.menuItems || [],
|
|
1009
|
-
},
|
|
1010
|
-
{
|
|
1011
|
-
provide: CONTENT_AFTER_ROUTES,
|
|
1012
|
-
useValue: options?.contentAfterRoutes || [],
|
|
1013
|
-
multi: true,
|
|
1014
|
-
},
|
|
1015
|
-
{
|
|
1016
|
-
provide: CONTENT_BEFORE_ROUTES,
|
|
1017
|
-
useValue: options?.contentBeforeRoutes || [],
|
|
1018
|
-
multi: true,
|
|
1019
|
-
},
|
|
1020
|
-
],
|
|
1021
|
-
};
|
|
1022
|
-
}
|
|
1023
|
-
static forChild(options = {}) {
|
|
1024
|
-
return {
|
|
1025
|
-
ngModule: LpxNavbarModule,
|
|
1026
|
-
providers: [
|
|
1027
|
-
{
|
|
1028
|
-
provide: CONTENT_AFTER_ROUTES,
|
|
1029
|
-
useValue: options?.contentAfterRoutes || [],
|
|
1030
|
-
multi: true,
|
|
1031
|
-
},
|
|
1032
|
-
{
|
|
1033
|
-
provide: CONTENT_BEFORE_ROUTES,
|
|
1034
|
-
useValue: options?.contentBeforeRoutes || [],
|
|
1035
|
-
multi: true,
|
|
1036
|
-
},
|
|
1037
|
-
],
|
|
1038
|
-
};
|
|
1039
|
-
}
|
|
1040
|
-
}
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1064
|
-
type: NgModule,
|
|
1065
|
-
args: [{
|
|
1066
|
-
declarations: [...exportedDeclarations$1],
|
|
1067
|
-
imports: [
|
|
1068
|
-
CommonModule,
|
|
1069
|
-
FormsModule,
|
|
1070
|
-
RouterModule,
|
|
1071
|
-
LpxBrandLogoModule,
|
|
1072
|
-
LpxIconModule,
|
|
1073
|
-
ToObservableModule,
|
|
1074
|
-
LpxTranslateModule,
|
|
1075
|
-
LpxVisibleDirective
|
|
1076
|
-
],
|
|
1077
|
-
exports: [...exportedDeclarations$1],
|
|
1078
|
-
}]
|
|
995
|
+
const exportedDeclarations$1 = [
|
|
996
|
+
NavbarComponent,
|
|
997
|
+
SubNavbarComponent,
|
|
998
|
+
NavbarRoutesComponent,
|
|
999
|
+
NavbarRoutesDirective,
|
|
1000
|
+
];
|
|
1001
|
+
class LpxNavbarModule {
|
|
1002
|
+
static forRoot(options = {}) {
|
|
1003
|
+
return {
|
|
1004
|
+
ngModule: LpxNavbarModule,
|
|
1005
|
+
providers: [
|
|
1006
|
+
{
|
|
1007
|
+
provide: LPX_MENU_ITEMS,
|
|
1008
|
+
useValue: options?.menuItems || [],
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
provide: CONTENT_AFTER_ROUTES,
|
|
1012
|
+
useValue: options?.contentAfterRoutes || [],
|
|
1013
|
+
multi: true,
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
provide: CONTENT_BEFORE_ROUTES,
|
|
1017
|
+
useValue: options?.contentBeforeRoutes || [],
|
|
1018
|
+
multi: true,
|
|
1019
|
+
},
|
|
1020
|
+
],
|
|
1021
|
+
};
|
|
1022
|
+
}
|
|
1023
|
+
static forChild(options = {}) {
|
|
1024
|
+
return {
|
|
1025
|
+
ngModule: LpxNavbarModule,
|
|
1026
|
+
providers: [
|
|
1027
|
+
{
|
|
1028
|
+
provide: CONTENT_AFTER_ROUTES,
|
|
1029
|
+
useValue: options?.contentAfterRoutes || [],
|
|
1030
|
+
multi: true,
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
provide: CONTENT_BEFORE_ROUTES,
|
|
1034
|
+
useValue: options?.contentBeforeRoutes || [],
|
|
1035
|
+
multi: true,
|
|
1036
|
+
},
|
|
1037
|
+
],
|
|
1038
|
+
};
|
|
1039
|
+
}
|
|
1040
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1041
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxNavbarModule, declarations: [NavbarComponent,
|
|
1042
|
+
SubNavbarComponent,
|
|
1043
|
+
NavbarRoutesComponent,
|
|
1044
|
+
NavbarRoutesDirective], imports: [CommonModule,
|
|
1045
|
+
FormsModule,
|
|
1046
|
+
RouterModule,
|
|
1047
|
+
LpxBrandLogoModule,
|
|
1048
|
+
LpxIconModule,
|
|
1049
|
+
ToObservableModule,
|
|
1050
|
+
LpxTranslateModule,
|
|
1051
|
+
LpxVisibleDirective], exports: [NavbarComponent,
|
|
1052
|
+
SubNavbarComponent,
|
|
1053
|
+
NavbarRoutesComponent,
|
|
1054
|
+
NavbarRoutesDirective] }); }
|
|
1055
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxNavbarModule, imports: [CommonModule,
|
|
1056
|
+
FormsModule,
|
|
1057
|
+
RouterModule,
|
|
1058
|
+
LpxBrandLogoModule,
|
|
1059
|
+
LpxIconModule,
|
|
1060
|
+
ToObservableModule,
|
|
1061
|
+
LpxTranslateModule] }); }
|
|
1062
|
+
}
|
|
1063
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxNavbarModule, decorators: [{
|
|
1064
|
+
type: NgModule,
|
|
1065
|
+
args: [{
|
|
1066
|
+
declarations: [...exportedDeclarations$1],
|
|
1067
|
+
imports: [
|
|
1068
|
+
CommonModule,
|
|
1069
|
+
FormsModule,
|
|
1070
|
+
RouterModule,
|
|
1071
|
+
LpxBrandLogoModule,
|
|
1072
|
+
LpxIconModule,
|
|
1073
|
+
ToObservableModule,
|
|
1074
|
+
LpxTranslateModule,
|
|
1075
|
+
LpxVisibleDirective
|
|
1076
|
+
],
|
|
1077
|
+
exports: [...exportedDeclarations$1],
|
|
1078
|
+
}]
|
|
1079
1079
|
}] });
|
|
1080
1080
|
|
|
1081
|
-
class BreadcrumbService {
|
|
1082
|
-
constructor() {
|
|
1083
|
-
this.store = new DataStore([]);
|
|
1084
|
-
this.items$ = this.store.sliceState((state) => state);
|
|
1085
|
-
}
|
|
1086
|
-
// TODO: generate id per item
|
|
1087
|
-
add(item) {
|
|
1088
|
-
const items = Array.isArray(item) ? item : [item];
|
|
1089
|
-
this.store.set([...this.store.state, ...items]);
|
|
1090
|
-
}
|
|
1091
|
-
// TODO: generate id per item
|
|
1092
|
-
insert(item, index) {
|
|
1093
|
-
const state = this.store.state;
|
|
1094
|
-
const items = Array.isArray(item) ? item : [item];
|
|
1095
|
-
this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);
|
|
1096
|
-
}
|
|
1097
|
-
// TODO: generate id per item
|
|
1098
|
-
setItems(items) {
|
|
1099
|
-
this.store.set(items);
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1105
|
-
type: Injectable,
|
|
1106
|
-
args: [{
|
|
1107
|
-
providedIn: 'root',
|
|
1108
|
-
}]
|
|
1081
|
+
class BreadcrumbService {
|
|
1082
|
+
constructor() {
|
|
1083
|
+
this.store = new DataStore([]);
|
|
1084
|
+
this.items$ = this.store.sliceState((state) => state);
|
|
1085
|
+
}
|
|
1086
|
+
// TODO: generate id per item
|
|
1087
|
+
add(item) {
|
|
1088
|
+
const items = Array.isArray(item) ? item : [item];
|
|
1089
|
+
this.store.set([...this.store.state, ...items]);
|
|
1090
|
+
}
|
|
1091
|
+
// TODO: generate id per item
|
|
1092
|
+
insert(item, index) {
|
|
1093
|
+
const state = this.store.state;
|
|
1094
|
+
const items = Array.isArray(item) ? item : [item];
|
|
1095
|
+
this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);
|
|
1096
|
+
}
|
|
1097
|
+
// TODO: generate id per item
|
|
1098
|
+
setItems(items) {
|
|
1099
|
+
this.store.set(items);
|
|
1100
|
+
}
|
|
1101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1102
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbService, providedIn: 'root' }); }
|
|
1103
|
+
}
|
|
1104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
1105
|
+
type: Injectable,
|
|
1106
|
+
args: [{
|
|
1107
|
+
providedIn: 'root',
|
|
1108
|
+
}]
|
|
1109
1109
|
}] });
|
|
1110
1110
|
|
|
1111
|
-
class ClickOutsideDirective {
|
|
1112
|
-
constructor(elementRef) {
|
|
1113
|
-
this.elementRef = elementRef;
|
|
1114
|
-
this.lpxClickOutside = new EventEmitter();
|
|
1115
|
-
this.exceptedRefs = [];
|
|
1116
|
-
}
|
|
1117
|
-
onDocumentClick(event) {
|
|
1118
|
-
if (!(this.elementRef.nativeElement.contains(event.target) ||
|
|
1119
|
-
this.exceptedRefs.some(ref => ref.nativeElement.contains(event.target)))) {
|
|
1120
|
-
this.lpxClickOutside.emit();
|
|
1121
|
-
}
|
|
1122
|
-
}
|
|
1123
|
-
}
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1127
|
-
type: Directive,
|
|
1128
|
-
args: [{
|
|
1129
|
-
selector: '[lpxClickOutside]',
|
|
1130
|
-
}]
|
|
1131
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { lpxClickOutside: [{
|
|
1132
|
-
type: Output
|
|
1133
|
-
}], exceptedRefs: [{
|
|
1134
|
-
type: Input
|
|
1135
|
-
}], onDocumentClick: [{
|
|
1136
|
-
type: HostListener,
|
|
1137
|
-
args: ['document:click', ['$event']]
|
|
1111
|
+
class ClickOutsideDirective {
|
|
1112
|
+
constructor(elementRef) {
|
|
1113
|
+
this.elementRef = elementRef;
|
|
1114
|
+
this.lpxClickOutside = new EventEmitter();
|
|
1115
|
+
this.exceptedRefs = [];
|
|
1116
|
+
}
|
|
1117
|
+
onDocumentClick(event) {
|
|
1118
|
+
if (!(this.elementRef.nativeElement.contains(event.target) ||
|
|
1119
|
+
this.exceptedRefs.some(ref => ref.nativeElement.contains(event.target)))) {
|
|
1120
|
+
this.lpxClickOutside.emit();
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1124
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ClickOutsideDirective, selector: "[lpxClickOutside]", inputs: { exceptedRefs: "exceptedRefs" }, outputs: { lpxClickOutside: "lpxClickOutside" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0 }); }
|
|
1125
|
+
}
|
|
1126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
1127
|
+
type: Directive,
|
|
1128
|
+
args: [{
|
|
1129
|
+
selector: '[lpxClickOutside]',
|
|
1130
|
+
}]
|
|
1131
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { lpxClickOutside: [{
|
|
1132
|
+
type: Output
|
|
1133
|
+
}], exceptedRefs: [{
|
|
1134
|
+
type: Input
|
|
1135
|
+
}], onDocumentClick: [{
|
|
1136
|
+
type: HostListener,
|
|
1137
|
+
args: ['document:click', ['$event']]
|
|
1138
1138
|
}] } });
|
|
1139
1139
|
|
|
1140
|
-
class BreadcrumbComponent {
|
|
1141
|
-
constructor(service) {
|
|
1142
|
-
this.service = service;
|
|
1143
|
-
this.icon = ICON_MAP;
|
|
1144
|
-
}
|
|
1145
|
-
onClick(item) {
|
|
1146
|
-
if (item.children) {
|
|
1147
|
-
item.expanded = !item.expanded;
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1154
|
-
type: Component,
|
|
1155
|
-
args: [{ selector: 'lpx-breadcrumb', encapsulation: ViewEncapsulation.None, template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n <ng-container *ngFor=\"let item of service.items$ | async; last as last\">\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n" }]
|
|
1140
|
+
class BreadcrumbComponent {
|
|
1141
|
+
constructor(service) {
|
|
1142
|
+
this.service = service;
|
|
1143
|
+
this.icon = ICON_MAP;
|
|
1144
|
+
}
|
|
1145
|
+
onClick(item) {
|
|
1146
|
+
if (item.children) {
|
|
1147
|
+
item.expanded = !item.expanded;
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1151
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: BreadcrumbComponent, selector: "lpx-breadcrumb", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n <ng-container *ngFor=\"let item of service.items$ | async; last as last\">\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[lpxClickOutside]", inputs: ["exceptedRefs"], outputs: ["lpxClickOutside"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: ToObservablePipe, name: "toObservable" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1152
|
+
}
|
|
1153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
1154
|
+
type: Component,
|
|
1155
|
+
args: [{ selector: 'lpx-breadcrumb', encapsulation: ViewEncapsulation.None, template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n <ng-container *ngFor=\"let item of service.items$ | async; last as last\">\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n" }]
|
|
1156
1156
|
}], ctorParameters: function () { return [{ type: BreadcrumbService }]; } });
|
|
1157
1157
|
|
|
1158
|
-
class LpxClickOutsideModule {
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1164
|
-
type: NgModule,
|
|
1165
|
-
args: [{
|
|
1166
|
-
declarations: [ClickOutsideDirective],
|
|
1167
|
-
imports: [CommonModule],
|
|
1168
|
-
exports: [ClickOutsideDirective],
|
|
1169
|
-
}]
|
|
1158
|
+
class LpxClickOutsideModule {
|
|
1159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxClickOutsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1160
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxClickOutsideModule, declarations: [ClickOutsideDirective], imports: [CommonModule], exports: [ClickOutsideDirective] }); }
|
|
1161
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxClickOutsideModule, imports: [CommonModule] }); }
|
|
1162
|
+
}
|
|
1163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxClickOutsideModule, decorators: [{
|
|
1164
|
+
type: NgModule,
|
|
1165
|
+
args: [{
|
|
1166
|
+
declarations: [ClickOutsideDirective],
|
|
1167
|
+
imports: [CommonModule],
|
|
1168
|
+
exports: [ClickOutsideDirective],
|
|
1169
|
+
}]
|
|
1170
1170
|
}] });
|
|
1171
1171
|
|
|
1172
|
-
class BreadcrumbRouteListenerService {
|
|
1173
|
-
constructor(navbarService, router, breadcrumbService) {
|
|
1174
|
-
this.navbarService = navbarService;
|
|
1175
|
-
this.router = router;
|
|
1176
|
-
this.breadcrumbService = breadcrumbService;
|
|
1177
|
-
}
|
|
1178
|
-
subscribeRoute() {
|
|
1179
|
-
combineLatest([
|
|
1180
|
-
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)),
|
|
1181
|
-
this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),
|
|
1182
|
-
]).subscribe(([event, items]) => {
|
|
1183
|
-
let activeItem = this.navbarService.findByLink(event.url);
|
|
1184
|
-
if (!activeItem.item) {
|
|
1185
|
-
activeItem = this.navbarService.findByLink('/');
|
|
1186
|
-
}
|
|
1187
|
-
const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {
|
|
1188
|
-
const parent = acc[acc.length - 1]?.children || items;
|
|
1189
|
-
const item = parent[itemIndex];
|
|
1190
|
-
return [
|
|
1191
|
-
...acc,
|
|
1192
|
-
{ ...item, siblings: parent },
|
|
1193
|
-
];
|
|
1194
|
-
}, []);
|
|
1195
|
-
this.breadcrumbService.setItems(this.mapNavbarItemToBreadcrumbItem(breadCrumbItems));
|
|
1196
|
-
});
|
|
1197
|
-
}
|
|
1198
|
-
mapNavbarItemToBreadcrumbItem(items) {
|
|
1199
|
-
return items.map(({ text, link, icon, siblings }) => ({
|
|
1200
|
-
text: text || '',
|
|
1201
|
-
link,
|
|
1202
|
-
icon,
|
|
1203
|
-
children: this.mapNavbarItemToBreadcrumbItem(siblings || []),
|
|
1204
|
-
}));
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1210
|
-
type: Injectable,
|
|
1211
|
-
args: [{
|
|
1212
|
-
providedIn: 'root',
|
|
1213
|
-
}]
|
|
1172
|
+
class BreadcrumbRouteListenerService {
|
|
1173
|
+
constructor(navbarService, router, breadcrumbService) {
|
|
1174
|
+
this.navbarService = navbarService;
|
|
1175
|
+
this.router = router;
|
|
1176
|
+
this.breadcrumbService = breadcrumbService;
|
|
1177
|
+
}
|
|
1178
|
+
subscribeRoute() {
|
|
1179
|
+
combineLatest([
|
|
1180
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)),
|
|
1181
|
+
this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),
|
|
1182
|
+
]).subscribe(([event, items]) => {
|
|
1183
|
+
let activeItem = this.navbarService.findByLink(event.url);
|
|
1184
|
+
if (!activeItem.item) {
|
|
1185
|
+
activeItem = this.navbarService.findByLink('/');
|
|
1186
|
+
}
|
|
1187
|
+
const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {
|
|
1188
|
+
const parent = acc[acc.length - 1]?.children || items;
|
|
1189
|
+
const item = parent[itemIndex];
|
|
1190
|
+
return [
|
|
1191
|
+
...acc,
|
|
1192
|
+
{ ...item, siblings: parent },
|
|
1193
|
+
];
|
|
1194
|
+
}, []);
|
|
1195
|
+
this.breadcrumbService.setItems(this.mapNavbarItemToBreadcrumbItem(breadCrumbItems));
|
|
1196
|
+
});
|
|
1197
|
+
}
|
|
1198
|
+
mapNavbarItemToBreadcrumbItem(items) {
|
|
1199
|
+
return items.map(({ text, link, icon, siblings }) => ({
|
|
1200
|
+
text: text || '',
|
|
1201
|
+
link,
|
|
1202
|
+
icon,
|
|
1203
|
+
children: this.mapNavbarItemToBreadcrumbItem(siblings || []),
|
|
1204
|
+
}));
|
|
1205
|
+
}
|
|
1206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbRouteListenerService, deps: [{ token: NavbarService }, { token: i1$1.Router }, { token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1207
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbRouteListenerService, providedIn: 'root' }); }
|
|
1208
|
+
}
|
|
1209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbRouteListenerService, decorators: [{
|
|
1210
|
+
type: Injectable,
|
|
1211
|
+
args: [{
|
|
1212
|
+
providedIn: 'root',
|
|
1213
|
+
}]
|
|
1214
1214
|
}], ctorParameters: function () { return [{ type: NavbarService }, { type: i1$1.Router }, { type: BreadcrumbService }]; } });
|
|
1215
1215
|
|
|
1216
|
-
const exportedDeclarations = [BreadcrumbComponent];
|
|
1217
|
-
class LpxBreadcrumbModule {
|
|
1218
|
-
static forRoot() {
|
|
1219
|
-
return {
|
|
1220
|
-
ngModule: LpxBreadcrumbModule,
|
|
1221
|
-
providers: [
|
|
1222
|
-
{
|
|
1223
|
-
provide: APP_INITIALIZER,
|
|
1224
|
-
useFactory: breadCrumbInit,
|
|
1225
|
-
multi: true,
|
|
1226
|
-
deps: [Injector],
|
|
1227
|
-
},
|
|
1228
|
-
],
|
|
1229
|
-
};
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1244
|
-
type: NgModule,
|
|
1245
|
-
args: [{
|
|
1246
|
-
declarations: [...exportedDeclarations],
|
|
1247
|
-
imports: [
|
|
1248
|
-
CommonModule,
|
|
1249
|
-
LpxIconModule,
|
|
1250
|
-
ToObservableModule,
|
|
1251
|
-
RouterModule,
|
|
1252
|
-
LpxClickOutsideModule,
|
|
1253
|
-
],
|
|
1254
|
-
exports: [...exportedDeclarations],
|
|
1255
|
-
}]
|
|
1256
|
-
}] });
|
|
1257
|
-
function breadCrumbInit(injector) {
|
|
1258
|
-
const subs = () => {
|
|
1259
|
-
const service = injector.get(BreadcrumbRouteListenerService);
|
|
1260
|
-
service.subscribeRoute();
|
|
1261
|
-
};
|
|
1262
|
-
return subs;
|
|
1263
|
-
}
|
|
1264
|
-
|
|
1265
|
-
const LPX_TRANSLATE_SERVICE_PROVIDER = {
|
|
1266
|
-
provide: LPX_TRANSLATE_SERVICE_TOKEN,
|
|
1267
|
-
useClass: DefaultTranslateService,
|
|
1268
|
-
};
|
|
1269
|
-
const LPX_TRANSLATE_PROVIDERS = [
|
|
1270
|
-
LPX_TRANSLATE_SERVICE_PROVIDER,
|
|
1216
|
+
const exportedDeclarations = [BreadcrumbComponent];
|
|
1217
|
+
class LpxBreadcrumbModule {
|
|
1218
|
+
static forRoot() {
|
|
1219
|
+
return {
|
|
1220
|
+
ngModule: LpxBreadcrumbModule,
|
|
1221
|
+
providers: [
|
|
1222
|
+
{
|
|
1223
|
+
provide: APP_INITIALIZER,
|
|
1224
|
+
useFactory: breadCrumbInit,
|
|
1225
|
+
multi: true,
|
|
1226
|
+
deps: [Injector],
|
|
1227
|
+
},
|
|
1228
|
+
],
|
|
1229
|
+
};
|
|
1230
|
+
}
|
|
1231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1232
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxBreadcrumbModule, declarations: [BreadcrumbComponent], imports: [CommonModule,
|
|
1233
|
+
LpxIconModule,
|
|
1234
|
+
ToObservableModule,
|
|
1235
|
+
RouterModule,
|
|
1236
|
+
LpxClickOutsideModule], exports: [BreadcrumbComponent] }); }
|
|
1237
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBreadcrumbModule, imports: [CommonModule,
|
|
1238
|
+
LpxIconModule,
|
|
1239
|
+
ToObservableModule,
|
|
1240
|
+
RouterModule,
|
|
1241
|
+
LpxClickOutsideModule] }); }
|
|
1242
|
+
}
|
|
1243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxBreadcrumbModule, decorators: [{
|
|
1244
|
+
type: NgModule,
|
|
1245
|
+
args: [{
|
|
1246
|
+
declarations: [...exportedDeclarations],
|
|
1247
|
+
imports: [
|
|
1248
|
+
CommonModule,
|
|
1249
|
+
LpxIconModule,
|
|
1250
|
+
ToObservableModule,
|
|
1251
|
+
RouterModule,
|
|
1252
|
+
LpxClickOutsideModule,
|
|
1253
|
+
],
|
|
1254
|
+
exports: [...exportedDeclarations],
|
|
1255
|
+
}]
|
|
1256
|
+
}] });
|
|
1257
|
+
function breadCrumbInit(injector) {
|
|
1258
|
+
const subs = () => {
|
|
1259
|
+
const service = injector.get(BreadcrumbRouteListenerService);
|
|
1260
|
+
service.subscribeRoute();
|
|
1261
|
+
};
|
|
1262
|
+
return subs;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
const LPX_TRANSLATE_SERVICE_PROVIDER = {
|
|
1266
|
+
provide: LPX_TRANSLATE_SERVICE_TOKEN,
|
|
1267
|
+
useClass: DefaultTranslateService,
|
|
1268
|
+
};
|
|
1269
|
+
const LPX_TRANSLATE_PROVIDERS = [
|
|
1270
|
+
LPX_TRANSLATE_SERVICE_PROVIDER,
|
|
1271
1271
|
];
|
|
1272
1272
|
|
|
1273
|
-
const LPX_INITIAL_STYLES = new InjectionToken('LPX_INITIAL_STYLES_TOKEN');
|
|
1274
|
-
const LPX_STYLE_FINAL = new InjectionToken('LPX_STYLE_FINAL_TOKEN');
|
|
1273
|
+
const LPX_INITIAL_STYLES = new InjectionToken('LPX_INITIAL_STYLES_TOKEN');
|
|
1274
|
+
const LPX_STYLE_FINAL = new InjectionToken('LPX_STYLE_FINAL_TOKEN');
|
|
1275
1275
|
const LPX_LAYOUT_STYLE_FINAL = new InjectionToken('LPX_LAYOUT_STYLE_FINALIZE_TOKEN');
|
|
1276
1276
|
|
|
1277
|
-
class StyleService {
|
|
1278
|
-
constructor(initialStyles, document) {
|
|
1279
|
-
this.initialStyles = initialStyles;
|
|
1280
|
-
this.document = document;
|
|
1281
|
-
this.lastInjectedStyle = null;
|
|
1282
|
-
this.initialized$ = new BehaviorSubject(false);
|
|
1283
|
-
}
|
|
1284
|
-
async initStyles(direction) {
|
|
1285
|
-
for (const style of this.initialStyles) {
|
|
1286
|
-
await this.loadStyle(style, direction);
|
|
1287
|
-
}
|
|
1288
|
-
this.initialized$.next(true);
|
|
1289
|
-
}
|
|
1290
|
-
async loadStyle(style, direction) {
|
|
1291
|
-
return new Promise((resolve, reject) => {
|
|
1292
|
-
const linkElem = this.createLinkElem(style, direction, resolve);
|
|
1293
|
-
//TODO: find a better way for understand style laaded by angular json
|
|
1294
|
-
const appStyles = document.querySelector('link[rel="stylesheet"][href*="styles"]');
|
|
1295
|
-
if (appStyles) {
|
|
1296
|
-
if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {
|
|
1297
|
-
this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);
|
|
1298
|
-
}
|
|
1299
|
-
else {
|
|
1300
|
-
appStyles.insertAdjacentElement('beforebegin', linkElem);
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
else {
|
|
1304
|
-
this.document.head.appendChild(linkElem);
|
|
1305
|
-
}
|
|
1306
|
-
this.lastInjectedStyle = linkElem;
|
|
1307
|
-
return Promise.resolve(linkElem);
|
|
1308
|
-
});
|
|
1309
|
-
}
|
|
1310
|
-
async replaceStyle(style, direction) {
|
|
1311
|
-
const loaded = this.document.querySelector(`link#${style.bundleName}`);
|
|
1312
|
-
if (loaded) {
|
|
1313
|
-
loaded.remove();
|
|
1314
|
-
}
|
|
1315
|
-
return this.loadStyle(style, direction);
|
|
1316
|
-
}
|
|
1317
|
-
async reloadInitialStyles(direction) {
|
|
1318
|
-
for (const style of this.initialStyles) {
|
|
1319
|
-
await this.replaceStyle(style, direction);
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
createLinkElem(style, direction, resolve) {
|
|
1323
|
-
const linkElem = document.createElement('link');
|
|
1324
|
-
linkElem.rel = 'stylesheet';
|
|
1325
|
-
linkElem.id = style.bundleName;
|
|
1326
|
-
linkElem.href = `${style.bundleName}${direction === 'rtl' ? '.rtl' : ''}.css`;
|
|
1327
|
-
linkElem.onload = () => {
|
|
1328
|
-
resolve(linkElem);
|
|
1329
|
-
};
|
|
1330
|
-
return linkElem;
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1336
|
-
type: Injectable,
|
|
1337
|
-
args: [{
|
|
1338
|
-
providedIn: 'root',
|
|
1339
|
-
}]
|
|
1340
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1341
|
-
type: Inject,
|
|
1342
|
-
args: [LPX_STYLE_FINAL]
|
|
1343
|
-
}] }, { type: Document, decorators: [{
|
|
1344
|
-
type: Inject,
|
|
1345
|
-
args: [DOCUMENT]
|
|
1277
|
+
class StyleService {
|
|
1278
|
+
constructor(initialStyles, document) {
|
|
1279
|
+
this.initialStyles = initialStyles;
|
|
1280
|
+
this.document = document;
|
|
1281
|
+
this.lastInjectedStyle = null;
|
|
1282
|
+
this.initialized$ = new BehaviorSubject(false);
|
|
1283
|
+
}
|
|
1284
|
+
async initStyles(direction) {
|
|
1285
|
+
for (const style of this.initialStyles) {
|
|
1286
|
+
await this.loadStyle(style, direction);
|
|
1287
|
+
}
|
|
1288
|
+
this.initialized$.next(true);
|
|
1289
|
+
}
|
|
1290
|
+
async loadStyle(style, direction) {
|
|
1291
|
+
return new Promise((resolve, reject) => {
|
|
1292
|
+
const linkElem = this.createLinkElem(style, direction, resolve);
|
|
1293
|
+
//TODO: find a better way for understand style laaded by angular json
|
|
1294
|
+
const appStyles = document.querySelector('link[rel="stylesheet"][href*="styles"]');
|
|
1295
|
+
if (appStyles) {
|
|
1296
|
+
if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {
|
|
1297
|
+
this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);
|
|
1298
|
+
}
|
|
1299
|
+
else {
|
|
1300
|
+
appStyles.insertAdjacentElement('beforebegin', linkElem);
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
else {
|
|
1304
|
+
this.document.head.appendChild(linkElem);
|
|
1305
|
+
}
|
|
1306
|
+
this.lastInjectedStyle = linkElem;
|
|
1307
|
+
return Promise.resolve(linkElem);
|
|
1308
|
+
});
|
|
1309
|
+
}
|
|
1310
|
+
async replaceStyle(style, direction) {
|
|
1311
|
+
const loaded = this.document.querySelector(`link#${style.bundleName}`);
|
|
1312
|
+
if (loaded) {
|
|
1313
|
+
loaded.remove();
|
|
1314
|
+
}
|
|
1315
|
+
return this.loadStyle(style, direction);
|
|
1316
|
+
}
|
|
1317
|
+
async reloadInitialStyles(direction) {
|
|
1318
|
+
for (const style of this.initialStyles) {
|
|
1319
|
+
await this.replaceStyle(style, direction);
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
createLinkElem(style, direction, resolve) {
|
|
1323
|
+
const linkElem = document.createElement('link');
|
|
1324
|
+
linkElem.rel = 'stylesheet';
|
|
1325
|
+
linkElem.id = style.bundleName;
|
|
1326
|
+
linkElem.href = `${style.bundleName}${direction === 'rtl' ? '.rtl' : ''}.css`;
|
|
1327
|
+
linkElem.onload = () => {
|
|
1328
|
+
resolve(linkElem);
|
|
1329
|
+
};
|
|
1330
|
+
return linkElem;
|
|
1331
|
+
}
|
|
1332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: StyleService, deps: [{ token: LPX_STYLE_FINAL }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1333
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: StyleService, providedIn: 'root' }); }
|
|
1334
|
+
}
|
|
1335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: StyleService, decorators: [{
|
|
1336
|
+
type: Injectable,
|
|
1337
|
+
args: [{
|
|
1338
|
+
providedIn: 'root',
|
|
1339
|
+
}]
|
|
1340
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1341
|
+
type: Inject,
|
|
1342
|
+
args: [LPX_STYLE_FINAL]
|
|
1343
|
+
}] }, { type: Document, decorators: [{
|
|
1344
|
+
type: Inject,
|
|
1345
|
+
args: [DOCUMENT]
|
|
1346
1346
|
}] }]; } });
|
|
1347
1347
|
|
|
1348
|
-
function createStyleFactory(handler) {
|
|
1349
|
-
return handler || ((defaultValue) => defaultValue);
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
function styleLoadFactory(styleList, layoutStyles) {
|
|
1353
|
-
styleList.push({
|
|
1354
|
-
bundleName: 'ng-bundle',
|
|
1355
|
-
});
|
|
1356
|
-
styleList.push({
|
|
1357
|
-
bundleName: 'font-bundle',
|
|
1358
|
-
});
|
|
1359
|
-
return [...styleList, ...layoutStyles];
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
|
-
const LPX_STYLE_PROVIDERS = [
|
|
1363
|
-
{
|
|
1364
|
-
provide: LPX_INITIAL_STYLES,
|
|
1365
|
-
useFactory: () => [],
|
|
1366
|
-
},
|
|
1367
|
-
{
|
|
1368
|
-
provide: APP_INITIALIZER,
|
|
1369
|
-
deps: [StyleService, LanguageService],
|
|
1370
|
-
useFactory: loadInitialStyles,
|
|
1371
|
-
multi: true,
|
|
1372
|
-
},
|
|
1373
|
-
];
|
|
1374
|
-
function loadInitialStyles(styleService, languageService) {
|
|
1375
|
-
return () => {
|
|
1376
|
-
return languageService.languageChange$.pipe(take(1), switchMap((lang) => from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr'))));
|
|
1377
|
-
};
|
|
1348
|
+
function createStyleFactory(handler) {
|
|
1349
|
+
return handler || ((defaultValue) => defaultValue);
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
function styleLoadFactory(styleList, layoutStyles) {
|
|
1353
|
+
styleList.push({
|
|
1354
|
+
bundleName: 'ng-bundle',
|
|
1355
|
+
});
|
|
1356
|
+
styleList.push({
|
|
1357
|
+
bundleName: 'font-bundle',
|
|
1358
|
+
});
|
|
1359
|
+
return [...styleList, ...layoutStyles];
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
const LPX_STYLE_PROVIDERS = [
|
|
1363
|
+
{
|
|
1364
|
+
provide: LPX_INITIAL_STYLES,
|
|
1365
|
+
useFactory: () => [],
|
|
1366
|
+
},
|
|
1367
|
+
{
|
|
1368
|
+
provide: APP_INITIALIZER,
|
|
1369
|
+
deps: [StyleService, LanguageService],
|
|
1370
|
+
useFactory: loadInitialStyles,
|
|
1371
|
+
multi: true,
|
|
1372
|
+
},
|
|
1373
|
+
];
|
|
1374
|
+
function loadInitialStyles(styleService, languageService) {
|
|
1375
|
+
return () => {
|
|
1376
|
+
return languageService.languageChange$.pipe(take(1), switchMap((lang) => from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr'))));
|
|
1377
|
+
};
|
|
1378
1378
|
}
|
|
1379
1379
|
|
|
1380
1380
|
const WINDOW = new InjectionToken('WINDOW');
|
|
1381
1381
|
|
|
1382
|
-
function createWindowProvider(windowObj) {
|
|
1383
|
-
return { provide: WINDOW, useValue: windowObj || window };
|
|
1382
|
+
function createWindowProvider(windowObj) {
|
|
1383
|
+
return { provide: WINDOW, useValue: windowObj || window };
|
|
1384
1384
|
}
|
|
1385
1385
|
|
|
1386
1386
|
const RESPONSIVE_BREAKPOINTS = new InjectionToken('RESPONSIVE_BREAKPOINTS');
|
|
1387
1387
|
|
|
1388
|
-
class ResponsiveService {
|
|
1389
|
-
constructor(providedBreakpoints, window) {
|
|
1390
|
-
this.providedBreakpoints = providedBreakpoints;
|
|
1391
|
-
this.window = window;
|
|
1392
|
-
this.defaultBreakpoint = {
|
|
1393
|
-
name: "all" /* ResponsiveTokens.all */,
|
|
1394
|
-
width: 0,
|
|
1395
|
-
};
|
|
1396
|
-
this.breakpoints = this.buildBreakpoints(this.providedBreakpoints);
|
|
1397
|
-
this.getCurrentSize = () => ({
|
|
1398
|
-
height: this.window.innerHeight,
|
|
1399
|
-
width: this.window.innerWidth,
|
|
1400
|
-
});
|
|
1401
|
-
this.mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {
|
|
1402
|
-
return this.breakpoints.find(s => width >= s.width);
|
|
1403
|
-
};
|
|
1404
|
-
this.currentSize$ = new BehaviorSubject(this.mapSizeToBreakpoint());
|
|
1405
|
-
this.shouldRenderWithCurrentSize = (query) => {
|
|
1406
|
-
return this.matchQuery(query);
|
|
1407
|
-
};
|
|
1408
|
-
this.setupListener();
|
|
1409
|
-
}
|
|
1410
|
-
setupListener() {
|
|
1411
|
-
this.currentResolution$ = fromEvent(this.window, 'resize')
|
|
1412
|
-
.pipe(map(this.getCurrentSize))
|
|
1413
|
-
.pipe(startWith(this.getCurrentSize()));
|
|
1414
|
-
this.currentResolution$
|
|
1415
|
-
.pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())
|
|
1416
|
-
.subscribe(current => {
|
|
1417
|
-
this.currentSize$.next(current);
|
|
1418
|
-
});
|
|
1419
|
-
}
|
|
1420
|
-
buildBreakpoints(breakpoints) {
|
|
1421
|
-
return [
|
|
1422
|
-
...Object.keys(breakpoints)
|
|
1423
|
-
.map(key => ({
|
|
1424
|
-
name: key,
|
|
1425
|
-
width: breakpoints[key],
|
|
1426
|
-
}))
|
|
1427
|
-
.sort((a, b) => b.width - a.width),
|
|
1428
|
-
this.defaultBreakpoint,
|
|
1429
|
-
];
|
|
1430
|
-
}
|
|
1431
|
-
matchQuery(query) {
|
|
1432
|
-
const { width } = this.getCurrentSize();
|
|
1433
|
-
const tokens = query.split(' ');
|
|
1434
|
-
const findInTokens = (size) => tokens.find(token => token.split("-" /* ResponsiveTokens.separator */)[0] === size);
|
|
1435
|
-
const matchedBreakpoint = this.breakpoints.find(breakpoint => width >= breakpoint.width && findInTokens(breakpoint.name));
|
|
1436
|
-
if (matchedBreakpoint) {
|
|
1437
|
-
const token = findInTokens(matchedBreakpoint.name);
|
|
1438
|
-
const shouldBeBigger = !token?.includes("none" /* ResponsiveTokens.none */);
|
|
1439
|
-
return shouldBeBigger === width >= matchedBreakpoint.width;
|
|
1440
|
-
}
|
|
1441
|
-
return false;
|
|
1442
|
-
}
|
|
1443
|
-
}
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1447
|
-
type: Injectable,
|
|
1448
|
-
args: [{
|
|
1449
|
-
providedIn: 'root',
|
|
1450
|
-
}]
|
|
1451
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1452
|
-
type: Inject,
|
|
1453
|
-
args: [RESPONSIVE_BREAKPOINTS]
|
|
1454
|
-
}] }, { type: undefined, decorators: [{
|
|
1455
|
-
type: Inject,
|
|
1456
|
-
args: [WINDOW]
|
|
1388
|
+
class ResponsiveService {
|
|
1389
|
+
constructor(providedBreakpoints, window) {
|
|
1390
|
+
this.providedBreakpoints = providedBreakpoints;
|
|
1391
|
+
this.window = window;
|
|
1392
|
+
this.defaultBreakpoint = {
|
|
1393
|
+
name: "all" /* ResponsiveTokens.all */,
|
|
1394
|
+
width: 0,
|
|
1395
|
+
};
|
|
1396
|
+
this.breakpoints = this.buildBreakpoints(this.providedBreakpoints);
|
|
1397
|
+
this.getCurrentSize = () => ({
|
|
1398
|
+
height: this.window.innerHeight,
|
|
1399
|
+
width: this.window.innerWidth,
|
|
1400
|
+
});
|
|
1401
|
+
this.mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {
|
|
1402
|
+
return this.breakpoints.find(s => width >= s.width);
|
|
1403
|
+
};
|
|
1404
|
+
this.currentSize$ = new BehaviorSubject(this.mapSizeToBreakpoint());
|
|
1405
|
+
this.shouldRenderWithCurrentSize = (query) => {
|
|
1406
|
+
return this.matchQuery(query);
|
|
1407
|
+
};
|
|
1408
|
+
this.setupListener();
|
|
1409
|
+
}
|
|
1410
|
+
setupListener() {
|
|
1411
|
+
this.currentResolution$ = fromEvent(this.window, 'resize')
|
|
1412
|
+
.pipe(map(this.getCurrentSize))
|
|
1413
|
+
.pipe(startWith(this.getCurrentSize()));
|
|
1414
|
+
this.currentResolution$
|
|
1415
|
+
.pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())
|
|
1416
|
+
.subscribe(current => {
|
|
1417
|
+
this.currentSize$.next(current);
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
buildBreakpoints(breakpoints) {
|
|
1421
|
+
return [
|
|
1422
|
+
...Object.keys(breakpoints)
|
|
1423
|
+
.map(key => ({
|
|
1424
|
+
name: key,
|
|
1425
|
+
width: breakpoints[key],
|
|
1426
|
+
}))
|
|
1427
|
+
.sort((a, b) => b.width - a.width),
|
|
1428
|
+
this.defaultBreakpoint,
|
|
1429
|
+
];
|
|
1430
|
+
}
|
|
1431
|
+
matchQuery(query) {
|
|
1432
|
+
const { width } = this.getCurrentSize();
|
|
1433
|
+
const tokens = query.split(' ');
|
|
1434
|
+
const findInTokens = (size) => tokens.find(token => token.split("-" /* ResponsiveTokens.separator */)[0] === size);
|
|
1435
|
+
const matchedBreakpoint = this.breakpoints.find(breakpoint => width >= breakpoint.width && findInTokens(breakpoint.name));
|
|
1436
|
+
if (matchedBreakpoint) {
|
|
1437
|
+
const token = findInTokens(matchedBreakpoint.name);
|
|
1438
|
+
const shouldBeBigger = !token?.includes("none" /* ResponsiveTokens.none */);
|
|
1439
|
+
return shouldBeBigger === width >= matchedBreakpoint.width;
|
|
1440
|
+
}
|
|
1441
|
+
return false;
|
|
1442
|
+
}
|
|
1443
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResponsiveService, deps: [{ token: RESPONSIVE_BREAKPOINTS }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1444
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResponsiveService, providedIn: 'root' }); }
|
|
1445
|
+
}
|
|
1446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResponsiveService, decorators: [{
|
|
1447
|
+
type: Injectable,
|
|
1448
|
+
args: [{
|
|
1449
|
+
providedIn: 'root',
|
|
1450
|
+
}]
|
|
1451
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1452
|
+
type: Inject,
|
|
1453
|
+
args: [RESPONSIVE_BREAKPOINTS]
|
|
1454
|
+
}] }, { type: undefined, decorators: [{
|
|
1455
|
+
type: Inject,
|
|
1456
|
+
args: [WINDOW]
|
|
1457
1457
|
}] }]; } });
|
|
1458
1458
|
|
|
1459
|
-
class ResponsiveDirective {
|
|
1460
|
-
constructor(templateRef, viewContainer, service, parentCdr) {
|
|
1461
|
-
this.templateRef = templateRef;
|
|
1462
|
-
this.viewContainer = viewContainer;
|
|
1463
|
-
this.service = service;
|
|
1464
|
-
this.parentCdr = parentCdr;
|
|
1465
|
-
this.hasRendered = false;
|
|
1466
|
-
this.sub = new Subscription();
|
|
1467
|
-
this.render = (shouldRender) => {
|
|
1468
|
-
if (shouldRender && !this.hasRendered) {
|
|
1469
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
1470
|
-
this.hasRendered = true;
|
|
1471
|
-
}
|
|
1472
|
-
else if (!shouldRender && this.hasRendered) {
|
|
1473
|
-
this.viewContainer.clear();
|
|
1474
|
-
this.hasRendered = false;
|
|
1475
|
-
}
|
|
1476
|
-
this.parentCdr.detectChanges();
|
|
1477
|
-
};
|
|
1478
|
-
}
|
|
1479
|
-
ngOnInit() {
|
|
1480
|
-
this.sub.add(this.service.currentSize$
|
|
1481
|
-
.pipe(map(_ => this.service.shouldRenderWithCurrentSize(this.query)))
|
|
1482
|
-
.subscribe(this.render));
|
|
1483
|
-
}
|
|
1484
|
-
ngOnDestroy() {
|
|
1485
|
-
this.sub.unsubscribe();
|
|
1486
|
-
}
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1491
|
-
type: Directive,
|
|
1492
|
-
args: [{
|
|
1493
|
-
selector: '[lpxResponsive]',
|
|
1494
|
-
}]
|
|
1495
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ResponsiveService }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
1496
|
-
type: Optional
|
|
1497
|
-
}, {
|
|
1498
|
-
type: SkipSelf
|
|
1499
|
-
}] }]; }, propDecorators: { query: [{
|
|
1500
|
-
type: Input,
|
|
1501
|
-
args: ['lpxResponsive']
|
|
1459
|
+
class ResponsiveDirective {
|
|
1460
|
+
constructor(templateRef, viewContainer, service, parentCdr) {
|
|
1461
|
+
this.templateRef = templateRef;
|
|
1462
|
+
this.viewContainer = viewContainer;
|
|
1463
|
+
this.service = service;
|
|
1464
|
+
this.parentCdr = parentCdr;
|
|
1465
|
+
this.hasRendered = false;
|
|
1466
|
+
this.sub = new Subscription();
|
|
1467
|
+
this.render = (shouldRender) => {
|
|
1468
|
+
if (shouldRender && !this.hasRendered) {
|
|
1469
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
1470
|
+
this.hasRendered = true;
|
|
1471
|
+
}
|
|
1472
|
+
else if (!shouldRender && this.hasRendered) {
|
|
1473
|
+
this.viewContainer.clear();
|
|
1474
|
+
this.hasRendered = false;
|
|
1475
|
+
}
|
|
1476
|
+
this.parentCdr.detectChanges();
|
|
1477
|
+
};
|
|
1478
|
+
}
|
|
1479
|
+
ngOnInit() {
|
|
1480
|
+
this.sub.add(this.service.currentSize$
|
|
1481
|
+
.pipe(map(_ => this.service.shouldRenderWithCurrentSize(this.query)))
|
|
1482
|
+
.subscribe(this.render));
|
|
1483
|
+
}
|
|
1484
|
+
ngOnDestroy() {
|
|
1485
|
+
this.sub.unsubscribe();
|
|
1486
|
+
}
|
|
1487
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResponsiveDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ResponsiveService }, { token: i0.ChangeDetectorRef, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1488
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ResponsiveDirective, selector: "[lpxResponsive]", inputs: { query: ["lpxResponsive", "query"] }, ngImport: i0 }); }
|
|
1489
|
+
}
|
|
1490
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResponsiveDirective, decorators: [{
|
|
1491
|
+
type: Directive,
|
|
1492
|
+
args: [{
|
|
1493
|
+
selector: '[lpxResponsive]',
|
|
1494
|
+
}]
|
|
1495
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ResponsiveService }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
1496
|
+
type: Optional
|
|
1497
|
+
}, {
|
|
1498
|
+
type: SkipSelf
|
|
1499
|
+
}] }]; }, propDecorators: { query: [{
|
|
1500
|
+
type: Input,
|
|
1501
|
+
args: ['lpxResponsive']
|
|
1502
1502
|
}] } });
|
|
1503
1503
|
|
|
1504
|
-
class LpxResponsiveModule {
|
|
1505
|
-
}
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1510
|
-
type: NgModule,
|
|
1511
|
-
args: [{
|
|
1512
|
-
declarations: [ResponsiveDirective],
|
|
1513
|
-
imports: [CommonModule],
|
|
1514
|
-
exports: [ResponsiveDirective],
|
|
1515
|
-
}]
|
|
1504
|
+
class LpxResponsiveModule {
|
|
1505
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxResponsiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1506
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxResponsiveModule, declarations: [ResponsiveDirective], imports: [CommonModule], exports: [ResponsiveDirective] }); }
|
|
1507
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxResponsiveModule, imports: [CommonModule] }); }
|
|
1508
|
+
}
|
|
1509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxResponsiveModule, decorators: [{
|
|
1510
|
+
type: NgModule,
|
|
1511
|
+
args: [{
|
|
1512
|
+
declarations: [ResponsiveDirective],
|
|
1513
|
+
imports: [CommonModule],
|
|
1514
|
+
exports: [ResponsiveDirective],
|
|
1515
|
+
}]
|
|
1516
1516
|
}] });
|
|
1517
1517
|
|
|
1518
|
-
const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS = {
|
|
1519
|
-
sm: 480,
|
|
1520
|
-
md: 768,
|
|
1521
|
-
lg: 992,
|
|
1522
|
-
xl: 1200,
|
|
1518
|
+
const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS = {
|
|
1519
|
+
sm: 480,
|
|
1520
|
+
md: 768,
|
|
1521
|
+
lg: 992,
|
|
1522
|
+
xl: 1200,
|
|
1523
1523
|
};
|
|
1524
1524
|
|
|
1525
|
-
function createResponsiveProvider(responsiveSettings) {
|
|
1526
|
-
return {
|
|
1527
|
-
provide: RESPONSIVE_BREAKPOINTS,
|
|
1528
|
-
useValue: responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,
|
|
1529
|
-
};
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
function createDirectionProvider(listenDirection) {
|
|
1533
|
-
return {
|
|
1534
|
-
provide: APP_INITIALIZER,
|
|
1535
|
-
multi: true,
|
|
1536
|
-
deps: [LanguageService, StyleService],
|
|
1537
|
-
useFactory: listenDirection ? listenDirectionChange : () => () => null,
|
|
1538
|
-
};
|
|
1539
|
-
}
|
|
1540
|
-
// subscribe to direction from documentElement and load direction stylesheet
|
|
1541
|
-
function listenDirectionChange(languageService, styleService) {
|
|
1542
|
-
return () => {
|
|
1543
|
-
return new Promise((resolve) => {
|
|
1544
|
-
styleService.initialized$
|
|
1545
|
-
.pipe(filter(Boolean), take(1), switchMap(() => languageService.languageChange$), distinctUntilKeyChanged('isRTL'))
|
|
1546
|
-
.subscribe(async (lang) => {
|
|
1547
|
-
const direction = lang?.isRTL ? 'rtl' : 'ltr';
|
|
1548
|
-
const documentElement = document.documentElement;
|
|
1549
|
-
if (documentElement.dir !== direction) {
|
|
1550
|
-
documentElement.dir = direction;
|
|
1551
|
-
}
|
|
1552
|
-
await styleService.reloadInitialStyles(direction);
|
|
1553
|
-
resolve(null);
|
|
1554
|
-
});
|
|
1555
|
-
});
|
|
1556
|
-
};
|
|
1525
|
+
function createResponsiveProvider(responsiveSettings) {
|
|
1526
|
+
return {
|
|
1527
|
+
provide: RESPONSIVE_BREAKPOINTS,
|
|
1528
|
+
useValue: responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,
|
|
1529
|
+
};
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
function createDirectionProvider(listenDirection) {
|
|
1533
|
+
return {
|
|
1534
|
+
provide: APP_INITIALIZER,
|
|
1535
|
+
multi: true,
|
|
1536
|
+
deps: [LanguageService, StyleService],
|
|
1537
|
+
useFactory: listenDirection ? listenDirectionChange : () => () => null,
|
|
1538
|
+
};
|
|
1539
|
+
}
|
|
1540
|
+
// subscribe to direction from documentElement and load direction stylesheet
|
|
1541
|
+
function listenDirectionChange(languageService, styleService) {
|
|
1542
|
+
return () => {
|
|
1543
|
+
return new Promise((resolve) => {
|
|
1544
|
+
styleService.initialized$
|
|
1545
|
+
.pipe(filter(Boolean), take(1), switchMap(() => languageService.languageChange$), distinctUntilKeyChanged('isRTL'))
|
|
1546
|
+
.subscribe(async (lang) => {
|
|
1547
|
+
const direction = lang?.isRTL ? 'rtl' : 'ltr';
|
|
1548
|
+
const documentElement = document.documentElement;
|
|
1549
|
+
if (documentElement.dir !== direction) {
|
|
1550
|
+
documentElement.dir = direction;
|
|
1551
|
+
}
|
|
1552
|
+
await styleService.reloadInitialStyles(direction);
|
|
1553
|
+
resolve(null);
|
|
1554
|
+
});
|
|
1555
|
+
});
|
|
1556
|
+
};
|
|
1557
1557
|
}
|
|
1558
1558
|
|
|
1559
1559
|
const LPX_PERFECT_SCROLLBAR = new InjectionToken('LPX_PERFECT_SCROLLBAR');
|
|
1560
1560
|
|
|
1561
|
-
class LpxCoreModule {
|
|
1562
|
-
static forRoot(options) {
|
|
1563
|
-
return {
|
|
1564
|
-
ngModule: LpxCoreModule,
|
|
1565
|
-
providers: [
|
|
1566
|
-
{
|
|
1567
|
-
provide: LPX_PERFECT_SCROLLBAR,
|
|
1568
|
-
useClass: LpxPerfectScrollbarService,
|
|
1569
|
-
},
|
|
1570
|
-
createResponsiveProvider(options?.responsiveSettings),
|
|
1571
|
-
createWindowProvider(options?.window),
|
|
1572
|
-
LpxIconModule.forRoot(options?.iconSettings).providers,
|
|
1573
|
-
LpxLanguageModule.forRoot(options?.languageSettings)
|
|
1574
|
-
.providers,
|
|
1575
|
-
LpxNavbarModule.forRoot(options?.navbarSettings).providers,
|
|
1576
|
-
LpxBreadcrumbModule.forRoot().providers,
|
|
1577
|
-
LPX_TRANSLATE_PROVIDERS,
|
|
1578
|
-
...LPX_STYLE_PROVIDERS,
|
|
1579
|
-
createDirectionProvider(options?.listenDirectionChanges || true),
|
|
1580
|
-
],
|
|
1581
|
-
};
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1588
|
-
type: NgModule,
|
|
1589
|
-
args: [{
|
|
1590
|
-
imports: [CommonModule, LpxVisibleDirective],
|
|
1591
|
-
}]
|
|
1561
|
+
class LpxCoreModule {
|
|
1562
|
+
static forRoot(options) {
|
|
1563
|
+
return {
|
|
1564
|
+
ngModule: LpxCoreModule,
|
|
1565
|
+
providers: [
|
|
1566
|
+
{
|
|
1567
|
+
provide: LPX_PERFECT_SCROLLBAR,
|
|
1568
|
+
useClass: LpxPerfectScrollbarService,
|
|
1569
|
+
},
|
|
1570
|
+
createResponsiveProvider(options?.responsiveSettings),
|
|
1571
|
+
createWindowProvider(options?.window),
|
|
1572
|
+
LpxIconModule.forRoot(options?.iconSettings).providers,
|
|
1573
|
+
LpxLanguageModule.forRoot(options?.languageSettings)
|
|
1574
|
+
.providers,
|
|
1575
|
+
LpxNavbarModule.forRoot(options?.navbarSettings).providers,
|
|
1576
|
+
LpxBreadcrumbModule.forRoot().providers,
|
|
1577
|
+
LPX_TRANSLATE_PROVIDERS,
|
|
1578
|
+
...LPX_STYLE_PROVIDERS,
|
|
1579
|
+
createDirectionProvider(options?.listenDirectionChanges || true),
|
|
1580
|
+
],
|
|
1581
|
+
};
|
|
1582
|
+
}
|
|
1583
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1584
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxCoreModule, imports: [CommonModule, LpxVisibleDirective] }); }
|
|
1585
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxCoreModule, imports: [CommonModule] }); }
|
|
1586
|
+
}
|
|
1587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxCoreModule, decorators: [{
|
|
1588
|
+
type: NgModule,
|
|
1589
|
+
args: [{
|
|
1590
|
+
imports: [CommonModule, LpxVisibleDirective],
|
|
1591
|
+
}]
|
|
1592
1592
|
}] });
|
|
1593
1593
|
|
|
1594
|
-
class AvatarComponent {
|
|
1595
|
-
}
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1599
|
-
type: Component,
|
|
1600
|
-
args: [{ selector: 'lpx-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n" }]
|
|
1601
|
-
}], propDecorators: { avatar: [{
|
|
1602
|
-
type: Input
|
|
1594
|
+
class AvatarComponent {
|
|
1595
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1596
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AvatarComponent, selector: "lpx-avatar", inputs: { avatar: "avatar" }, ngImport: i0, template: "<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1597
|
+
}
|
|
1598
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
1599
|
+
type: Component,
|
|
1600
|
+
args: [{ selector: 'lpx-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n" }]
|
|
1601
|
+
}], propDecorators: { avatar: [{
|
|
1602
|
+
type: Input
|
|
1603
1603
|
}] } });
|
|
1604
1604
|
|
|
1605
|
-
class LpxAvatarModule {
|
|
1606
|
-
}
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1611
|
-
type: NgModule,
|
|
1612
|
-
args: [{
|
|
1613
|
-
declarations: [AvatarComponent],
|
|
1614
|
-
imports: [CommonModule, LpxIconModule],
|
|
1615
|
-
exports: [AvatarComponent],
|
|
1616
|
-
}]
|
|
1605
|
+
class LpxAvatarModule {
|
|
1606
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1607
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxAvatarModule, declarations: [AvatarComponent], imports: [CommonModule, LpxIconModule], exports: [AvatarComponent] }); }
|
|
1608
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxAvatarModule, imports: [CommonModule, LpxIconModule] }); }
|
|
1609
|
+
}
|
|
1610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxAvatarModule, decorators: [{
|
|
1611
|
+
type: NgModule,
|
|
1612
|
+
args: [{
|
|
1613
|
+
declarations: [AvatarComponent],
|
|
1614
|
+
imports: [CommonModule, LpxIconModule],
|
|
1615
|
+
exports: [AvatarComponent],
|
|
1616
|
+
}]
|
|
1617
1617
|
}] });
|
|
1618
1618
|
|
|
1619
|
-
class FooterLinksService {
|
|
1620
|
-
constructor() {
|
|
1621
|
-
this.store = new DataStore({});
|
|
1622
|
-
this.footerInfo$ = this.store.sliceState((state) => state);
|
|
1623
|
-
}
|
|
1624
|
-
setFooterInfo(links) {
|
|
1625
|
-
this.store.set(links);
|
|
1626
|
-
}
|
|
1627
|
-
}
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1631
|
-
type: Injectable,
|
|
1632
|
-
args: [{
|
|
1633
|
-
providedIn: 'root',
|
|
1634
|
-
}]
|
|
1619
|
+
class FooterLinksService {
|
|
1620
|
+
constructor() {
|
|
1621
|
+
this.store = new DataStore({});
|
|
1622
|
+
this.footerInfo$ = this.store.sliceState((state) => state);
|
|
1623
|
+
}
|
|
1624
|
+
setFooterInfo(links) {
|
|
1625
|
+
this.store.set(links);
|
|
1626
|
+
}
|
|
1627
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterLinksService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1628
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterLinksService, providedIn: 'root' }); }
|
|
1629
|
+
}
|
|
1630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterLinksService, decorators: [{
|
|
1631
|
+
type: Injectable,
|
|
1632
|
+
args: [{
|
|
1633
|
+
providedIn: 'root',
|
|
1634
|
+
}]
|
|
1635
1635
|
}] });
|
|
1636
1636
|
|
|
1637
|
-
class FooterComponent {
|
|
1638
|
-
constructor(service) {
|
|
1639
|
-
this.service = service;
|
|
1640
|
-
this.footerValues$ = this.service.footerInfo$;
|
|
1641
|
-
this.currentYear = new Date().getFullYear();
|
|
1642
|
-
}
|
|
1643
|
-
}
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1647
|
-
type: Component,
|
|
1648
|
-
args: [{ selector: 'lpx-footer', template: "<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n <span>{{ currentYear }} \u00A9</span>\r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\r\n" }]
|
|
1637
|
+
class FooterComponent {
|
|
1638
|
+
constructor(service) {
|
|
1639
|
+
this.service = service;
|
|
1640
|
+
this.footerValues$ = this.service.footerInfo$;
|
|
1641
|
+
this.currentYear = new Date().getFullYear();
|
|
1642
|
+
}
|
|
1643
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterComponent, deps: [{ token: FooterLinksService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1644
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: FooterComponent, selector: "lpx-footer", ngImport: i0, template: "<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n <span>{{ currentYear }} \u00A9</span>\r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
1645
|
+
}
|
|
1646
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterComponent, decorators: [{
|
|
1647
|
+
type: Component,
|
|
1648
|
+
args: [{ selector: 'lpx-footer', template: "<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n <span>{{ currentYear }} \u00A9</span>\r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\r\n" }]
|
|
1649
1649
|
}], ctorParameters: function () { return [{ type: FooterLinksService }]; } });
|
|
1650
1650
|
|
|
1651
|
-
class LpxFooterModule {
|
|
1652
|
-
static forRoot() {
|
|
1653
|
-
return {
|
|
1654
|
-
ngModule: LpxFooterModule,
|
|
1655
|
-
providers: [],
|
|
1656
|
-
};
|
|
1657
|
-
}
|
|
1658
|
-
}
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1663
|
-
type: NgModule,
|
|
1664
|
-
args: [{
|
|
1665
|
-
declarations: [FooterComponent],
|
|
1666
|
-
exports: [FooterComponent],
|
|
1667
|
-
imports: [CommonModule, RouterModule],
|
|
1668
|
-
}]
|
|
1651
|
+
class LpxFooterModule {
|
|
1652
|
+
static forRoot() {
|
|
1653
|
+
return {
|
|
1654
|
+
ngModule: LpxFooterModule,
|
|
1655
|
+
providers: [],
|
|
1656
|
+
};
|
|
1657
|
+
}
|
|
1658
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1659
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: LpxFooterModule, declarations: [FooterComponent], imports: [CommonModule, RouterModule], exports: [FooterComponent] }); }
|
|
1660
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxFooterModule, imports: [CommonModule, RouterModule] }); }
|
|
1661
|
+
}
|
|
1662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LpxFooterModule, decorators: [{
|
|
1663
|
+
type: NgModule,
|
|
1664
|
+
args: [{
|
|
1665
|
+
declarations: [FooterComponent],
|
|
1666
|
+
exports: [FooterComponent],
|
|
1667
|
+
imports: [CommonModule, RouterModule],
|
|
1668
|
+
}]
|
|
1669
1669
|
}] });
|
|
1670
1670
|
|
|
1671
|
-
class PerfectScrollbarDirective {
|
|
1672
|
-
constructor() {
|
|
1673
|
-
this.elementRef = inject(ElementRef);
|
|
1674
|
-
this.lpxPerfectService = inject(LPX_PERFECT_SCROLLBAR);
|
|
1675
|
-
}
|
|
1676
|
-
set lpxPerfectScrollbarOptions(value) {
|
|
1677
|
-
this.lpxPerfectService.setOptions(value);
|
|
1678
|
-
}
|
|
1679
|
-
onResize() {
|
|
1680
|
-
this.lpxPerfectService.onResize();
|
|
1681
|
-
}
|
|
1682
|
-
ngAfterViewInit() {
|
|
1683
|
-
this.lpxPerfectService.setElement(this.elementRef);
|
|
1684
|
-
this.lpxPerfectService.afterViewInit();
|
|
1685
|
-
}
|
|
1686
|
-
}
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1690
|
-
type: Directive,
|
|
1691
|
-
args: [{
|
|
1692
|
-
selector: '[lpxPerfectScrollbar]',
|
|
1693
|
-
standalone: true,
|
|
1694
|
-
}]
|
|
1695
|
-
}], propDecorators: { lpxPerfectScrollbarOptions: [{
|
|
1696
|
-
type: Input
|
|
1697
|
-
}], onResize: [{
|
|
1698
|
-
type: HostListener,
|
|
1699
|
-
args: ['window:resize']
|
|
1671
|
+
class PerfectScrollbarDirective {
|
|
1672
|
+
constructor() {
|
|
1673
|
+
this.elementRef = inject(ElementRef);
|
|
1674
|
+
this.lpxPerfectService = inject(LPX_PERFECT_SCROLLBAR);
|
|
1675
|
+
}
|
|
1676
|
+
set lpxPerfectScrollbarOptions(value) {
|
|
1677
|
+
this.lpxPerfectService.setOptions(value);
|
|
1678
|
+
}
|
|
1679
|
+
onResize() {
|
|
1680
|
+
this.lpxPerfectService.onResize();
|
|
1681
|
+
}
|
|
1682
|
+
ngAfterViewInit() {
|
|
1683
|
+
this.lpxPerfectService.setElement(this.elementRef);
|
|
1684
|
+
this.lpxPerfectService.afterViewInit();
|
|
1685
|
+
}
|
|
1686
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: PerfectScrollbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1687
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: PerfectScrollbarDirective, isStandalone: true, selector: "[lpxPerfectScrollbar]", inputs: { lpxPerfectScrollbarOptions: "lpxPerfectScrollbarOptions" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0 }); }
|
|
1688
|
+
}
|
|
1689
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: PerfectScrollbarDirective, decorators: [{
|
|
1690
|
+
type: Directive,
|
|
1691
|
+
args: [{
|
|
1692
|
+
selector: '[lpxPerfectScrollbar]',
|
|
1693
|
+
standalone: true,
|
|
1694
|
+
}]
|
|
1695
|
+
}], propDecorators: { lpxPerfectScrollbarOptions: [{
|
|
1696
|
+
type: Input
|
|
1697
|
+
}], onResize: [{
|
|
1698
|
+
type: HostListener,
|
|
1699
|
+
args: ['window:resize']
|
|
1700
1700
|
}] } });
|
|
1701
1701
|
|
|
1702
|
-
class BreadcrumbPanelDirective {
|
|
1703
|
-
constructor(template) {
|
|
1704
|
-
this.template = template;
|
|
1705
|
-
}
|
|
1706
|
-
}
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1710
|
-
type: Directive,
|
|
1711
|
-
args: [{
|
|
1712
|
-
selector: 'ng-template[lpx-breadcrumb-panel]',
|
|
1713
|
-
}]
|
|
1702
|
+
class BreadcrumbPanelDirective {
|
|
1703
|
+
constructor(template) {
|
|
1704
|
+
this.template = template;
|
|
1705
|
+
}
|
|
1706
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1707
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]", ngImport: i0 }); }
|
|
1708
|
+
}
|
|
1709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: BreadcrumbPanelDirective, decorators: [{
|
|
1710
|
+
type: Directive,
|
|
1711
|
+
args: [{
|
|
1712
|
+
selector: 'ng-template[lpx-breadcrumb-panel]',
|
|
1713
|
+
}]
|
|
1714
1714
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1715
1715
|
|
|
1716
|
-
class ContentPanelDirective {
|
|
1717
|
-
constructor(template) {
|
|
1718
|
-
this.template = template;
|
|
1719
|
-
}
|
|
1720
|
-
}
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1724
|
-
type: Directive,
|
|
1725
|
-
args: [{
|
|
1726
|
-
selector: 'ng-template[lpx-content]',
|
|
1727
|
-
}]
|
|
1716
|
+
class ContentPanelDirective {
|
|
1717
|
+
constructor(template) {
|
|
1718
|
+
this.template = template;
|
|
1719
|
+
}
|
|
1720
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ContentPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1721
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ContentPanelDirective, selector: "ng-template[lpx-content]", ngImport: i0 }); }
|
|
1722
|
+
}
|
|
1723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ContentPanelDirective, decorators: [{
|
|
1724
|
+
type: Directive,
|
|
1725
|
+
args: [{
|
|
1726
|
+
selector: 'ng-template[lpx-content]',
|
|
1727
|
+
}]
|
|
1728
1728
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1729
1729
|
|
|
1730
|
-
class CurrentUserImagePanelDirective {
|
|
1731
|
-
constructor(template) {
|
|
1732
|
-
this.template = template;
|
|
1733
|
-
}
|
|
1734
|
-
}
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1738
|
-
type: Directive,
|
|
1739
|
-
args: [{
|
|
1740
|
-
selector: 'ng-template[lpx-current-user-image-panel]',
|
|
1741
|
-
}]
|
|
1730
|
+
class CurrentUserImagePanelDirective {
|
|
1731
|
+
constructor(template) {
|
|
1732
|
+
this.template = template;
|
|
1733
|
+
}
|
|
1734
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CurrentUserImagePanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1735
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: CurrentUserImagePanelDirective, selector: "ng-template[lpx-current-user-image-panel]", ngImport: i0 }); }
|
|
1736
|
+
}
|
|
1737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CurrentUserImagePanelDirective, decorators: [{
|
|
1738
|
+
type: Directive,
|
|
1739
|
+
args: [{
|
|
1740
|
+
selector: 'ng-template[lpx-current-user-image-panel]',
|
|
1741
|
+
}]
|
|
1742
1742
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1743
1743
|
|
|
1744
|
-
class CurrentUserPanelDirective {
|
|
1745
|
-
constructor(template) {
|
|
1746
|
-
this.template = template;
|
|
1747
|
-
}
|
|
1748
|
-
}
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1752
|
-
type: Directive,
|
|
1753
|
-
args: [{
|
|
1754
|
-
selector: 'ng-template[lpx-current-user-panel]',
|
|
1755
|
-
}]
|
|
1744
|
+
class CurrentUserPanelDirective {
|
|
1745
|
+
constructor(template) {
|
|
1746
|
+
this.template = template;
|
|
1747
|
+
}
|
|
1748
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CurrentUserPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1749
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: CurrentUserPanelDirective, selector: "ng-template[lpx-current-user-panel]", ngImport: i0 }); }
|
|
1750
|
+
}
|
|
1751
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CurrentUserPanelDirective, decorators: [{
|
|
1752
|
+
type: Directive,
|
|
1753
|
+
args: [{
|
|
1754
|
+
selector: 'ng-template[lpx-current-user-panel]',
|
|
1755
|
+
}]
|
|
1756
1756
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1757
1757
|
|
|
1758
|
-
class FooterPanelDirective {
|
|
1759
|
-
constructor(template) {
|
|
1760
|
-
this.template = template;
|
|
1761
|
-
}
|
|
1762
|
-
}
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1766
|
-
type: Directive,
|
|
1767
|
-
args: [{
|
|
1768
|
-
selector: 'ng-template[lpx-footer-panel]',
|
|
1769
|
-
}]
|
|
1758
|
+
class FooterPanelDirective {
|
|
1759
|
+
constructor(template) {
|
|
1760
|
+
this.template = template;
|
|
1761
|
+
}
|
|
1762
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1763
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: FooterPanelDirective, selector: "ng-template[lpx-footer-panel]", ngImport: i0 }); }
|
|
1764
|
+
}
|
|
1765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FooterPanelDirective, decorators: [{
|
|
1766
|
+
type: Directive,
|
|
1767
|
+
args: [{
|
|
1768
|
+
selector: 'ng-template[lpx-footer-panel]',
|
|
1769
|
+
}]
|
|
1770
1770
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1771
1771
|
|
|
1772
|
-
class LanguagePanelDirective {
|
|
1773
|
-
constructor(template) {
|
|
1774
|
-
this.template = template;
|
|
1775
|
-
}
|
|
1776
|
-
}
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1780
|
-
type: Directive,
|
|
1781
|
-
args: [{
|
|
1782
|
-
selector: 'ng-template[lpx-language-panel]',
|
|
1783
|
-
}]
|
|
1772
|
+
class LanguagePanelDirective {
|
|
1773
|
+
constructor(template) {
|
|
1774
|
+
this.template = template;
|
|
1775
|
+
}
|
|
1776
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LanguagePanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1777
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: LanguagePanelDirective, selector: "ng-template[lpx-language-panel]", ngImport: i0 }); }
|
|
1778
|
+
}
|
|
1779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LanguagePanelDirective, decorators: [{
|
|
1780
|
+
type: Directive,
|
|
1781
|
+
args: [{
|
|
1782
|
+
selector: 'ng-template[lpx-language-panel]',
|
|
1783
|
+
}]
|
|
1784
1784
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1785
1785
|
|
|
1786
|
-
class MobileNavbarPanelDirective {
|
|
1787
|
-
constructor(template) {
|
|
1788
|
-
this.template = template;
|
|
1789
|
-
}
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1794
|
-
type: Directive,
|
|
1795
|
-
args: [{
|
|
1796
|
-
selector: 'ng-template[lpx-mobile-navbar-panel]',
|
|
1797
|
-
}]
|
|
1786
|
+
class MobileNavbarPanelDirective {
|
|
1787
|
+
constructor(template) {
|
|
1788
|
+
this.template = template;
|
|
1789
|
+
}
|
|
1790
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: MobileNavbarPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1791
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]", ngImport: i0 }); }
|
|
1792
|
+
}
|
|
1793
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: MobileNavbarPanelDirective, decorators: [{
|
|
1794
|
+
type: Directive,
|
|
1795
|
+
args: [{
|
|
1796
|
+
selector: 'ng-template[lpx-mobile-navbar-panel]',
|
|
1797
|
+
}]
|
|
1798
1798
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1799
1799
|
|
|
1800
|
-
class NavbarPanelDirective {
|
|
1801
|
-
constructor(template) {
|
|
1802
|
-
this.template = template;
|
|
1803
|
-
}
|
|
1804
|
-
}
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1808
|
-
type: Directive,
|
|
1809
|
-
args: [{
|
|
1810
|
-
selector: 'ng-template[lpx-navbar-panel]',
|
|
1811
|
-
}]
|
|
1800
|
+
class NavbarPanelDirective {
|
|
1801
|
+
constructor(template) {
|
|
1802
|
+
this.template = template;
|
|
1803
|
+
}
|
|
1804
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1805
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]", ngImport: i0 }); }
|
|
1806
|
+
}
|
|
1807
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavbarPanelDirective, decorators: [{
|
|
1808
|
+
type: Directive,
|
|
1809
|
+
args: [{
|
|
1810
|
+
selector: 'ng-template[lpx-navbar-panel]',
|
|
1811
|
+
}]
|
|
1812
1812
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1813
1813
|
|
|
1814
|
-
class NavitemPanelDirective {
|
|
1815
|
-
constructor(template) {
|
|
1816
|
-
this.template = template;
|
|
1817
|
-
}
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1822
|
-
type: Directive,
|
|
1823
|
-
args: [{
|
|
1824
|
-
selector: 'ng-template[lpx-navitem-panel]',
|
|
1825
|
-
}]
|
|
1814
|
+
class NavitemPanelDirective {
|
|
1815
|
+
constructor(template) {
|
|
1816
|
+
this.template = template;
|
|
1817
|
+
}
|
|
1818
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavitemPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1819
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: NavitemPanelDirective, selector: "ng-template[lpx-navitem-panel]", ngImport: i0 }); }
|
|
1820
|
+
}
|
|
1821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NavitemPanelDirective, decorators: [{
|
|
1822
|
+
type: Directive,
|
|
1823
|
+
args: [{
|
|
1824
|
+
selector: 'ng-template[lpx-navitem-panel]',
|
|
1825
|
+
}]
|
|
1826
1826
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1827
1827
|
|
|
1828
|
-
class ToolbarPanelDirective {
|
|
1829
|
-
constructor(template) {
|
|
1830
|
-
this.template = template;
|
|
1831
|
-
}
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1836
|
-
type: Directive,
|
|
1837
|
-
args: [{
|
|
1838
|
-
selector: 'ng-template[lpx-toolbar-panel]',
|
|
1839
|
-
}]
|
|
1828
|
+
class ToolbarPanelDirective {
|
|
1829
|
+
constructor(template) {
|
|
1830
|
+
this.template = template;
|
|
1831
|
+
}
|
|
1832
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToolbarPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1833
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]", ngImport: i0 }); }
|
|
1834
|
+
}
|
|
1835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToolbarPanelDirective, decorators: [{
|
|
1836
|
+
type: Directive,
|
|
1837
|
+
args: [{
|
|
1838
|
+
selector: 'ng-template[lpx-toolbar-panel]',
|
|
1839
|
+
}]
|
|
1840
1840
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1841
1841
|
|
|
1842
|
-
class TopNavbarPanelDirective {
|
|
1843
|
-
constructor(template) {
|
|
1844
|
-
this.template = template;
|
|
1845
|
-
}
|
|
1846
|
-
}
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1850
|
-
type: Directive,
|
|
1851
|
-
args: [{
|
|
1852
|
-
selector: 'ng-template[lpx-top-navbar-panel]',
|
|
1853
|
-
}]
|
|
1842
|
+
class TopNavbarPanelDirective {
|
|
1843
|
+
constructor(template) {
|
|
1844
|
+
this.template = template;
|
|
1845
|
+
}
|
|
1846
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TopNavbarPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1847
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]", ngImport: i0 }); }
|
|
1848
|
+
}
|
|
1849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TopNavbarPanelDirective, decorators: [{
|
|
1850
|
+
type: Directive,
|
|
1851
|
+
args: [{
|
|
1852
|
+
selector: 'ng-template[lpx-top-navbar-panel]',
|
|
1853
|
+
}]
|
|
1854
1854
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1855
1855
|
|
|
1856
|
-
class SettingsPanelDirective {
|
|
1857
|
-
constructor(template) {
|
|
1858
|
-
this.template = template;
|
|
1859
|
-
}
|
|
1860
|
-
}
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1864
|
-
type: Directive,
|
|
1865
|
-
args: [{
|
|
1866
|
-
selector: 'ng-template[lpx-settings-panel]',
|
|
1867
|
-
}]
|
|
1856
|
+
class SettingsPanelDirective {
|
|
1857
|
+
constructor(template) {
|
|
1858
|
+
this.template = template;
|
|
1859
|
+
}
|
|
1860
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingsPanelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1861
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]", ngImport: i0 }); }
|
|
1862
|
+
}
|
|
1863
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingsPanelDirective, decorators: [{
|
|
1864
|
+
type: Directive,
|
|
1865
|
+
args: [{
|
|
1866
|
+
selector: 'ng-template[lpx-settings-panel]',
|
|
1867
|
+
}]
|
|
1868
1868
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1869
1869
|
|
|
1870
|
-
const declarationsAndExports = [
|
|
1871
|
-
BreadcrumbPanelDirective,
|
|
1872
|
-
ContentPanelDirective,
|
|
1873
|
-
CurrentUserImagePanelDirective,
|
|
1874
|
-
CurrentUserPanelDirective,
|
|
1875
|
-
FooterPanelDirective,
|
|
1876
|
-
LanguagePanelDirective,
|
|
1877
|
-
LogoPanelDirective,
|
|
1878
|
-
MobileNavbarPanelDirective,
|
|
1879
|
-
NavbarPanelDirective,
|
|
1880
|
-
NavitemPanelDirective,
|
|
1881
|
-
SettingsPanelDirective,
|
|
1882
|
-
TopNavbarPanelDirective,
|
|
1883
|
-
ToolbarPanelDirective,
|
|
1884
|
-
];
|
|
1885
|
-
class PanelsModule {
|
|
1886
|
-
}
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1915
|
-
type: NgModule,
|
|
1916
|
-
args: [{
|
|
1917
|
-
declarations: [...declarationsAndExports],
|
|
1918
|
-
imports: [CommonModule],
|
|
1919
|
-
exports: [...declarationsAndExports],
|
|
1920
|
-
}]
|
|
1870
|
+
const declarationsAndExports = [
|
|
1871
|
+
BreadcrumbPanelDirective,
|
|
1872
|
+
ContentPanelDirective,
|
|
1873
|
+
CurrentUserImagePanelDirective,
|
|
1874
|
+
CurrentUserPanelDirective,
|
|
1875
|
+
FooterPanelDirective,
|
|
1876
|
+
LanguagePanelDirective,
|
|
1877
|
+
LogoPanelDirective,
|
|
1878
|
+
MobileNavbarPanelDirective,
|
|
1879
|
+
NavbarPanelDirective,
|
|
1880
|
+
NavitemPanelDirective,
|
|
1881
|
+
SettingsPanelDirective,
|
|
1882
|
+
TopNavbarPanelDirective,
|
|
1883
|
+
ToolbarPanelDirective,
|
|
1884
|
+
];
|
|
1885
|
+
class PanelsModule {
|
|
1886
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: PanelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1887
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: PanelsModule, declarations: [BreadcrumbPanelDirective,
|
|
1888
|
+
ContentPanelDirective,
|
|
1889
|
+
CurrentUserImagePanelDirective,
|
|
1890
|
+
CurrentUserPanelDirective,
|
|
1891
|
+
FooterPanelDirective,
|
|
1892
|
+
LanguagePanelDirective,
|
|
1893
|
+
LogoPanelDirective,
|
|
1894
|
+
MobileNavbarPanelDirective,
|
|
1895
|
+
NavbarPanelDirective,
|
|
1896
|
+
NavitemPanelDirective,
|
|
1897
|
+
SettingsPanelDirective,
|
|
1898
|
+
TopNavbarPanelDirective,
|
|
1899
|
+
ToolbarPanelDirective], imports: [CommonModule], exports: [BreadcrumbPanelDirective,
|
|
1900
|
+
ContentPanelDirective,
|
|
1901
|
+
CurrentUserImagePanelDirective,
|
|
1902
|
+
CurrentUserPanelDirective,
|
|
1903
|
+
FooterPanelDirective,
|
|
1904
|
+
LanguagePanelDirective,
|
|
1905
|
+
LogoPanelDirective,
|
|
1906
|
+
MobileNavbarPanelDirective,
|
|
1907
|
+
NavbarPanelDirective,
|
|
1908
|
+
NavitemPanelDirective,
|
|
1909
|
+
SettingsPanelDirective,
|
|
1910
|
+
TopNavbarPanelDirective,
|
|
1911
|
+
ToolbarPanelDirective] }); }
|
|
1912
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: PanelsModule, imports: [CommonModule] }); }
|
|
1913
|
+
}
|
|
1914
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: PanelsModule, decorators: [{
|
|
1915
|
+
type: NgModule,
|
|
1916
|
+
args: [{
|
|
1917
|
+
declarations: [...declarationsAndExports],
|
|
1918
|
+
imports: [CommonModule],
|
|
1919
|
+
exports: [...declarationsAndExports],
|
|
1920
|
+
}]
|
|
1921
1921
|
}] });
|
|
1922
1922
|
|
|
1923
|
-
/**
|
|
1924
|
-
* Generated bundle index. Do not edit.
|
|
1923
|
+
/**
|
|
1924
|
+
* Generated bundle index. Do not edit.
|
|
1925
1925
|
*/
|
|
1926
1926
|
|
|
1927
1927
|
export { AvatarComponent, BodyService, BrandLogoComponent, BreadcrumbComponent, BreadcrumbPanelDirective, BreadcrumbRouteListenerService, BreadcrumbService, CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES, ClickOutsideDirective, ContentPanelDirective, CurrentUserImagePanelDirective, CurrentUserPanelDirective, DataStore, DefaultAuthService, DefaultTranslateService, FooterComponent, FooterLinksService, FooterPanelDirective, ICON_MAP, IconComponent, LEPTON_X_ICON_SET, LPX_AUTH_SERVICE_PROVIDER, LPX_AUTH_SERVICE_TOKEN, LPX_INITIAL_STYLES, LPX_LANGUAGE, LPX_LAYOUT_STYLE_FINAL, LPX_MENU_ITEMS, LPX_PERFECT_SCROLLBAR, LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS, LPX_STYLE_FINAL, LPX_STYLE_PROVIDERS, LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN, LanguagePanelDirective, LanguageService, LanguageTranslateDefaults, LanguageTranslateKeys, LayoutService, LogoPanelDirective, LpxAvatarModule, LpxBrandLogoModule, LpxBreadcrumbModule, LpxClickOutsideModule, LpxCoreModule, LpxFooterModule, LpxIconModule, LpxLanguageModule, LpxLocalStorageService, LpxNavbarModule, LpxPerfectScrollbar, LpxPerfectScrollbarService, LpxResponsiveModule, LpxThemeTranslateService, LpxTranslateModule, LpxVisibleDirective, MobileNavbarPanelDirective, NavbarComponent, NavbarPanelDirective, NavbarRoutesComponent, NavbarRoutesDirective, NavbarService, NavitemPanelDirective, OTHERS_GROUP_KEY, PanelsModule, PerfectScrollbarDirective, RESPONSIVE_BREAKPOINTS, ResponsiveDirective, ResponsiveService, SafeHtmlPipe, SettingsPanelDirective, StyleService, SubNavbarComponent, ToObservableModule, ToObservablePipe, ToolbarPanelDirective, TopNavbarPanelDirective, TranslatePipe, UserProfileService, WINDOW, breadCrumbInit, createDirectionProvider, createGroupMap, createResponsiveProvider, createStyleFactory, createWindowProvider, exportedDeclarations, flatArrayDeepToObject, getItemsFromGroup, getStream$, isArray, isNullOrUndefined, listenDirectionChange, loadInitialStyles, sortItems, styleLoadFactory };
|