spiderly 0.0.8 → 19.0.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/eslint.config.js +32 -0
- package/ng-package.json +10 -0
- package/package.json +55 -65
- package/src/lib/components/auth/login/login.component.html +25 -0
- package/src/lib/components/auth/login/login.component.ts +77 -0
- package/src/lib/components/auth/partials/auth.component.html +29 -0
- package/src/lib/components/auth/partials/auth.component.ts +60 -0
- package/src/lib/components/auth/partials/login-verification.component.html +2 -0
- package/src/lib/components/auth/partials/login-verification.component.ts +41 -0
- package/src/lib/components/auth/partials/registration-verification.component.html +1 -0
- package/src/lib/components/auth/partials/registration-verification.component.ts +41 -0
- package/src/lib/components/auth/partials/verification-wrapper.component.html +39 -0
- package/src/lib/components/auth/partials/verification-wrapper.component.ts +68 -0
- package/src/lib/components/auth/registration/registration.component.html +31 -0
- package/src/lib/components/auth/registration/registration.component.ts +77 -0
- package/src/lib/components/base-details/role-base-details.component.html +33 -0
- package/src/lib/components/base-details/role-base-details.component.ts +194 -0
- package/src/lib/components/base-form/base-form copy.ts +356 -0
- package/src/lib/components/card-skeleton/card-skeleton.component.html +8 -0
- package/src/lib/components/card-skeleton/card-skeleton.component.ts +21 -0
- package/src/lib/components/footer/app.footer.component.ts +17 -0
- package/src/lib/components/footer/footer.component.html +3 -0
- package/src/lib/components/footer/footer.component.ts +17 -0
- package/src/lib/components/index-card/index-card.component.html +15 -0
- package/src/lib/components/index-card/index-card.component.ts +48 -0
- package/src/lib/components/info-card/info-card.component.html +18 -0
- package/src/lib/components/info-card/info-card.component.ts +29 -0
- package/src/lib/components/layout/layout-base.component.ts +140 -0
- package/src/lib/components/layout/sidebar/menuitem.component.html +40 -0
- package/src/lib/components/layout/sidebar/menuitem.component.ts +179 -0
- package/src/lib/components/layout/sidebar/sidebar-menu.component.html +6 -0
- package/src/lib/components/layout/sidebar/sidebar-menu.component.ts +44 -0
- package/src/lib/components/layout/sidebar/sidebar-menu.service.ts +22 -0
- package/src/lib/components/layout/sidebar/sidebar.component.html +1 -0
- package/src/lib/components/layout/sidebar/sidebar.component.ts +20 -0
- package/src/lib/components/layout/topbar/topbar.component.html +64 -0
- package/src/lib/components/layout/topbar/topbar.component.ts +137 -0
- package/src/lib/components/not-found/not-found.component.html +27 -0
- package/src/lib/components/not-found/not-found.component.ts +22 -0
- package/src/lib/components/required/required.component.html +1 -0
- package/src/lib/components/required/required.component.ts +13 -0
- package/src/lib/components/spiderly-buttons/google-button/google-button.component.html +5 -0
- package/src/lib/components/spiderly-buttons/google-button/google-button.component.ts +53 -0
- package/src/lib/components/spiderly-buttons/return-button/return-button.component.html +3 -0
- package/src/lib/components/spiderly-buttons/return-button/return-button.component.ts +35 -0
- package/src/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.html +14 -0
- package/src/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.ts +27 -0
- package/src/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.ts +61 -0
- package/src/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.html +15 -0
- package/src/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.ts +24 -0
- package/src/lib/components/spiderly-data-table/spiderly-data-table.component.html +93 -0
- package/{styles → src/lib}/components/spiderly-data-table/spiderly-data-table.component.scss +15 -0
- package/src/lib/components/spiderly-data-table/spiderly-data-table.component.ts +614 -0
- package/src/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.html +17 -0
- package/src/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.ts +39 -0
- package/src/lib/components/spiderly-form-control/spiderly-form-control.ts +60 -0
- package/src/lib/components/spiderly-panels/panel-body/panel-body.component.html +8 -0
- package/src/lib/components/spiderly-panels/panel-body/panel-body.component.ts +16 -0
- package/src/lib/components/spiderly-panels/panel-footer/panel-footer.component.html +8 -0
- package/{styles → src/lib}/components/spiderly-panels/panel-footer/panel-footer.component.scss +3 -3
- package/src/lib/components/spiderly-panels/panel-footer/panel-footer.component.ts +15 -0
- package/src/lib/components/spiderly-panels/panel-header/panel-header.component.html +25 -0
- package/src/lib/components/spiderly-panels/panel-header/panel-header.component.ts +69 -0
- package/src/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.html +7 -0
- package/src/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.ts +17 -0
- package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.html +40 -0
- package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.scss +11 -0
- package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.ts +42 -0
- package/src/lib/components/spiderly-panels/spiderly-panels.module.ts +32 -0
- package/src/lib/controls/base-autocomplete-control.ts +17 -0
- package/src/lib/controls/base-control.ts +60 -0
- package/src/lib/controls/base-dropdown-control.ts +37 -0
- package/src/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.html +36 -0
- package/src/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.ts +56 -0
- package/src/lib/controls/spiderly-calendar/spiderly-calendar.component.html +21 -0
- package/src/lib/controls/spiderly-calendar/spiderly-calendar.component.ts +37 -0
- package/src/lib/controls/spiderly-checkbox/spiderly-checkbox.component.html +16 -0
- package/src/lib/controls/spiderly-checkbox/spiderly-checkbox.component.ts +38 -0
- package/src/lib/controls/spiderly-colorpick/spiderly-colorpick.component.html +33 -0
- package/src/lib/controls/spiderly-colorpick/spiderly-colorpick.component.ts +40 -0
- package/src/lib/controls/spiderly-controls.module.ts +61 -0
- package/src/lib/controls/spiderly-dropdown/spiderly-dropdown.component.html +27 -0
- package/src/lib/controls/spiderly-dropdown/spiderly-dropdown.component.ts +39 -0
- package/src/lib/controls/spiderly-editor/spiderly-editor.component.html +22 -0
- package/src/lib/controls/spiderly-editor/spiderly-editor.component.ts +58 -0
- package/src/lib/controls/spiderly-file/spiderly-file.component.html +54 -0
- package/src/lib/controls/spiderly-file/spiderly-file.component.ts +123 -0
- package/src/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.html +30 -0
- package/src/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.ts +38 -0
- package/src/lib/controls/spiderly-multiselect/spiderly-multiselect.component.html +23 -0
- package/src/lib/controls/spiderly-multiselect/spiderly-multiselect.component.ts +32 -0
- package/src/lib/controls/spiderly-number/spiderly-number.component.html +19 -0
- package/src/lib/controls/spiderly-number/spiderly-number.component.ts +37 -0
- package/src/lib/controls/spiderly-password/spiderly-password.component.html +17 -0
- package/src/lib/controls/spiderly-password/spiderly-password.component.ts +34 -0
- package/src/lib/controls/spiderly-textarea/spiderly-textarea.component.html +18 -0
- package/src/lib/controls/spiderly-textarea/spiderly-textarea.component.ts +32 -0
- package/src/lib/controls/spiderly-textbox/spiderly-textbox.component.html +23 -0
- package/src/lib/controls/spiderly-textbox/spiderly-textbox.component.ts +41 -0
- package/src/lib/entities/base-entity.ts +25 -0
- package/src/lib/entities/codebook.ts +23 -0
- package/src/lib/entities/init-company-auth-dialog-details.ts +22 -0
- package/src/lib/entities/init-top-bar-data.ts +35 -0
- package/src/lib/entities/is-authorized-for-save-event.ts +22 -0
- package/src/lib/entities/last-menu-icon-index-clicked.ts +18 -0
- package/src/lib/entities/lazy-load-selected-ids-result.ts +22 -0
- package/{lib/entities/menuchangeevent.d.ts → src/lib/entities/menuchangeevent.ts} +4 -4
- package/src/lib/entities/mime-type.ts +15 -0
- package/src/lib/entities/namebook.ts +22 -0
- package/src/lib/entities/primeng-option.ts +23 -0
- package/src/lib/entities/readonly-object.ts +1 -0
- package/src/lib/entities/security-entities.ts +548 -0
- package/src/lib/entities/simple-save-result.ts +19 -0
- package/src/lib/entities/spiderly-button.ts +30 -0
- package/{lib/entities/table-filter-context.d.ts → src/lib/entities/table-filter-context.ts} +6 -5
- package/src/lib/entities/table-filter-sort-meta.ts +5 -0
- package/{lib/entities/table-filter.d.ts → src/lib/entities/table-filter.ts} +48 -23
- package/src/lib/entities/table-response.ts +5 -0
- package/src/lib/enums/security-enums.ts +28 -0
- package/src/lib/enums/verification-type-codes.ts +5 -0
- package/src/lib/guards/auth.guard.ts +39 -0
- package/src/lib/guards/not-auth.guard.ts +32 -0
- package/src/lib/handlers/spiderly-error-handler.ts +32 -0
- package/src/lib/handlers/spiderly-transloco-fallback-strategy.ts +25 -0
- package/src/lib/interceptors/http-loading.interceptor.ts +21 -0
- package/src/lib/interceptors/json-parser.interceptor.ts +44 -0
- package/src/lib/interceptors/jwt.interceptor.ts +18 -0
- package/src/lib/interceptors/unauthorized.interceptor.ts +77 -0
- package/src/lib/modules/core.module.ts +22 -0
- package/src/lib/modules/primeng.module.ts +122 -0
- package/src/lib/modules/spiderly-transloco.module.ts +50 -0
- package/src/lib/services/api.service.security.ts +120 -0
- package/src/lib/services/app-initializer.ts +9 -0
- package/src/lib/services/app-layout-base.service.ts +184 -0
- package/src/lib/services/auth-base.service.ts +271 -0
- package/src/lib/services/base-form.service.ts +178 -0
- package/src/lib/services/config-base.service.ts +36 -0
- package/src/lib/services/helper-functions.ts +288 -0
- package/src/lib/services/spiderly-message.service.ts +66 -0
- package/src/lib/services/spiderly-transloco-loader.ts +15 -0
- package/src/lib/services/translate-labels-abstract.service.ts +13 -0
- package/src/lib/services/validator-abstract.service.ts +63 -0
- package/{styles → src/lib}/styles/layout/_config.scss +2 -2
- package/{styles → src/lib}/styles/layout/_content.scss +2 -0
- package/{styles → src/lib}/styles/layout/_footer.scss +2 -0
- package/{styles → src/lib}/styles/layout/_main.scss +6 -3
- package/{styles → src/lib}/styles/layout/_menu.scss +10 -7
- package/{styles → src/lib}/styles/layout/_mixins.scss +2 -2
- package/{styles → src/lib}/styles/layout/_preloading.scss +1 -1
- package/{styles → src/lib}/styles/layout/_responsive.scss +2 -0
- package/{styles → src/lib}/styles/layout/_spiderly-controls.scss +2 -0
- package/{styles → src/lib}/styles/layout/_topbar.scss +16 -11
- package/{styles → src/lib}/styles/layout/_typography.scss +1 -1
- package/{styles → src/lib}/styles/layout/_utils.scss +1 -1
- package/{styles → src/lib}/styles/layout/_variables.scss +59 -53
- package/src/lib/styles/layout/layout.scss +13 -0
- package/{styles → src/lib}/styles/shared.scss +70 -42
- package/src/lib/styles/styles.scss +3 -0
- package/{public-api.d.ts → src/public-api.ts} +103 -90
- package/tsconfig.lib.json +17 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/auth/auth.module.mjs +0 -65
- package/esm2022/lib/components/auth/login/login.component.mjs +0 -60
- package/esm2022/lib/components/auth/partials/auth.component.mjs +0 -53
- package/esm2022/lib/components/auth/partials/login-verification.component.mjs +0 -39
- package/esm2022/lib/components/auth/partials/registration-verification.component.mjs +0 -37
- package/esm2022/lib/components/auth/partials/verification-wrapper.component.mjs +0 -74
- package/esm2022/lib/components/auth/registration/registration.component.mjs +0 -59
- package/esm2022/lib/components/base-details/role-base-details.component.mjs +0 -171
- package/esm2022/lib/components/base-form/base-form copy.mjs +0 -247
- package/esm2022/lib/components/card-skeleton/card-skeleton.component.mjs +0 -25
- package/esm2022/lib/components/footer/footer.component.mjs +0 -16
- package/esm2022/lib/components/index-card/index-card.component.mjs +0 -57
- package/esm2022/lib/components/info-card/info-card.component.mjs +0 -29
- package/esm2022/lib/components/layout/layout-base.component.mjs +0 -121
- package/esm2022/lib/components/layout/sidebar/menuitem.component.mjs +0 -161
- package/esm2022/lib/components/layout/sidebar/sidebar-menu.component.mjs +0 -34
- package/esm2022/lib/components/layout/sidebar/sidebar-menu.service.mjs +0 -26
- package/esm2022/lib/components/layout/sidebar/sidebar.component.mjs +0 -21
- package/esm2022/lib/components/layout/topbar/topbar.component.mjs +0 -115
- package/esm2022/lib/components/not-found/not-found.component.mjs +0 -20
- package/esm2022/lib/components/required/required.component.mjs +0 -12
- package/esm2022/lib/components/spiderly-buttons/google-button/google-button.component.mjs +0 -43
- package/esm2022/lib/components/spiderly-buttons/return-button/return-button.component.mjs +0 -37
- package/esm2022/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.mjs +0 -20
- package/esm2022/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.mjs +0 -68
- package/esm2022/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.mjs +0 -22
- package/esm2022/lib/components/spiderly-data-table/spiderly-data-table.component.mjs +0 -501
- package/esm2022/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.mjs +0 -42
- package/esm2022/lib/components/spiderly-form-control/spiderly-form-control.mjs +0 -36
- package/esm2022/lib/components/spiderly-panels/panel-body/panel-body.component.mjs +0 -19
- package/esm2022/lib/components/spiderly-panels/panel-footer/panel-footer.component.mjs +0 -14
- package/esm2022/lib/components/spiderly-panels/panel-header/panel-header.component.mjs +0 -49
- package/esm2022/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.mjs +0 -20
- package/esm2022/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.mjs +0 -63
- package/esm2022/lib/components/spiderly-panels/spiderly-panels.module.mjs +0 -49
- package/esm2022/lib/controls/base-autocomplete-control.mjs +0 -18
- package/esm2022/lib/controls/base-control.mjs +0 -62
- package/esm2022/lib/controls/base-dropdown-control.mjs +0 -37
- package/esm2022/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.mjs +0 -60
- package/esm2022/lib/controls/spiderly-calendar/spiderly-calendar.component.mjs +0 -39
- package/esm2022/lib/controls/spiderly-checkbox/spiderly-checkbox.component.mjs +0 -45
- package/esm2022/lib/controls/spiderly-colorpick/spiderly-colorpick.component.mjs +0 -40
- package/esm2022/lib/controls/spiderly-controls.module.mjs +0 -112
- package/esm2022/lib/controls/spiderly-dropdown/spiderly-dropdown.component.mjs +0 -40
- package/esm2022/lib/controls/spiderly-editor/spiderly-editor.component.mjs +0 -59
- package/esm2022/lib/controls/spiderly-file/spiderly-file.component.mjs +0 -106
- package/esm2022/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.mjs +0 -38
- package/esm2022/lib/controls/spiderly-multiselect/spiderly-multiselect.component.mjs +0 -34
- package/esm2022/lib/controls/spiderly-number/spiderly-number.component.mjs +0 -44
- package/esm2022/lib/controls/spiderly-password/spiderly-password.component.mjs +0 -37
- package/esm2022/lib/controls/spiderly-textarea/spiderly-textarea.component.mjs +0 -34
- package/esm2022/lib/controls/spiderly-textbox/spiderly-textbox.component.mjs +0 -45
- package/esm2022/lib/entities/base-entity.mjs +0 -18
- package/esm2022/lib/entities/codebook.mjs +0 -10
- package/esm2022/lib/entities/init-company-auth-dialog-details.mjs +0 -9
- package/esm2022/lib/entities/init-top-bar-data.mjs +0 -12
- package/esm2022/lib/entities/is-authorized-for-save-event.mjs +0 -9
- package/esm2022/lib/entities/last-menu-icon-index-clicked.mjs +0 -8
- package/esm2022/lib/entities/lazy-load-selected-ids-result.mjs +0 -11
- package/esm2022/lib/entities/menuchangeevent.mjs +0 -3
- package/esm2022/lib/entities/mime-type.mjs +0 -15
- package/esm2022/lib/entities/namebook.mjs +0 -9
- package/esm2022/lib/entities/primeng-option.mjs +0 -9
- package/esm2022/lib/entities/security-entities.mjs +0 -169
- package/esm2022/lib/entities/simple-save-result.mjs +0 -9
- package/esm2022/lib/entities/spiderly-button.mjs +0 -11
- package/esm2022/lib/entities/table-filter-context.mjs +0 -3
- package/esm2022/lib/entities/table-filter-sort-meta.mjs +0 -3
- package/esm2022/lib/entities/table-filter.mjs +0 -15
- package/esm2022/lib/entities/table-response.mjs +0 -3
- package/esm2022/lib/enums/security-enums.mjs +0 -26
- package/esm2022/lib/enums/verification-type-codes.mjs +0 -6
- package/esm2022/lib/guards/auth.guard.mjs +0 -40
- package/esm2022/lib/guards/not-auth.guard.mjs +0 -32
- package/esm2022/lib/handlers/spiderly-error-handler.mjs +0 -30
- package/esm2022/lib/handlers/spiderly-transloco-fallback-strategy.mjs +0 -24
- package/esm2022/lib/interceptors/http-loading.interceptor.mjs +0 -27
- package/esm2022/lib/interceptors/json-parser.interceptor.mjs +0 -47
- package/esm2022/lib/interceptors/jwt.interceptor.mjs +0 -27
- package/esm2022/lib/interceptors/unauthorized.interceptor.mjs +0 -64
- package/esm2022/lib/modules/core.module.mjs +0 -140
- package/esm2022/lib/modules/primeng.module.mjs +0 -278
- package/esm2022/lib/modules/spiderly-transloco.module.mjs +0 -44
- package/esm2022/lib/services/api.service.security.mjs +0 -86
- package/esm2022/lib/services/app-initializer.mjs +0 -6
- package/esm2022/lib/services/app-layout-base.service.mjs +0 -132
- package/esm2022/lib/services/auth-base.service.mjs +0 -220
- package/esm2022/lib/services/base-form.service.mjs +0 -124
- package/esm2022/lib/services/config-base.service.mjs +0 -33
- package/esm2022/lib/services/helper-functions.mjs +0 -229
- package/esm2022/lib/services/spiderly-message.service.mjs +0 -64
- package/esm2022/lib/services/spiderly-transloco-loader.mjs +0 -20
- package/esm2022/lib/services/translate-labels-abstract.service.mjs +0 -15
- package/esm2022/lib/services/validator-abstract.service.mjs +0 -51
- package/esm2022/public-api.mjs +0 -94
- package/esm2022/spiderly.mjs +0 -5
- package/fesm2022/spiderly.mjs +0 -4807
- package/fesm2022/spiderly.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/auth/auth.module.d.ts +0 -17
- package/lib/components/auth/login/login.component.d.ts +0 -35
- package/lib/components/auth/partials/auth.component.d.ts +0 -21
- package/lib/components/auth/partials/login-verification.component.d.ts +0 -18
- package/lib/components/auth/partials/registration-verification.component.d.ts +0 -17
- package/lib/components/auth/partials/verification-wrapper.component.d.ts +0 -31
- package/lib/components/auth/registration/registration.component.d.ts +0 -34
- package/lib/components/base-details/role-base-details.component.d.ts +0 -50
- package/lib/components/base-form/base-form copy.d.ts +0 -54
- package/lib/components/card-skeleton/card-skeleton.component.d.ts +0 -12
- package/lib/components/footer/footer.component.d.ts +0 -9
- package/lib/components/index-card/index-card.component.d.ts +0 -22
- package/lib/components/info-card/info-card.component.d.ts +0 -11
- package/lib/components/layout/layout-base.component.d.ts +0 -37
- package/lib/components/layout/sidebar/menuitem.component.d.ts +0 -43
- package/lib/components/layout/sidebar/sidebar-menu.component.d.ts +0 -23
- package/lib/components/layout/sidebar/sidebar-menu.service.d.ts +0 -12
- package/lib/components/layout/sidebar/sidebar.component.d.ts +0 -11
- package/lib/components/layout/topbar/topbar.component.d.ts +0 -45
- package/lib/components/not-found/not-found.component.d.ts +0 -9
- package/lib/components/required/required.component.d.ts +0 -6
- package/lib/components/spiderly-buttons/google-button/google-button.component.d.ts +0 -17
- package/lib/components/spiderly-buttons/return-button/return-button.component.d.ts +0 -10
- package/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.d.ts +0 -6
- package/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.d.ts +0 -27
- package/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.d.ts +0 -8
- package/lib/components/spiderly-data-table/spiderly-data-table.component.d.ts +0 -157
- package/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.d.ts +0 -11
- package/lib/components/spiderly-form-control/spiderly-form-control.d.ts +0 -37
- package/lib/components/spiderly-panels/panel-body/panel-body.component.d.ts +0 -9
- package/lib/components/spiderly-panels/panel-footer/panel-footer.component.d.ts +0 -8
- package/lib/components/spiderly-panels/panel-header/panel-header.component.d.ts +0 -29
- package/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.d.ts +0 -10
- package/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.d.ts +0 -25
- package/lib/components/spiderly-panels/spiderly-panels.module.d.ts +0 -13
- package/lib/controls/base-autocomplete-control.d.ts +0 -9
- package/lib/controls/base-control.d.ts +0 -23
- package/lib/controls/base-dropdown-control.d.ts +0 -18
- package/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.d.ts +0 -18
- package/lib/controls/spiderly-calendar/spiderly-calendar.component.d.ts +0 -13
- package/lib/controls/spiderly-checkbox/spiderly-checkbox.component.d.ts +0 -14
- package/lib/controls/spiderly-colorpick/spiderly-colorpick.component.d.ts +0 -11
- package/lib/controls/spiderly-controls.module.d.ts +0 -22
- package/lib/controls/spiderly-dropdown/spiderly-dropdown.component.d.ts +0 -14
- package/lib/controls/spiderly-editor/spiderly-editor.component.d.ts +0 -16
- package/lib/controls/spiderly-file/spiderly-file.component.d.ts +0 -36
- package/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.d.ts +0 -13
- package/lib/controls/spiderly-multiselect/spiderly-multiselect.component.d.ts +0 -11
- package/lib/controls/spiderly-number/spiderly-number.component.d.ts +0 -15
- package/lib/controls/spiderly-password/spiderly-password.component.d.ts +0 -12
- package/lib/controls/spiderly-textarea/spiderly-textarea.component.d.ts +0 -11
- package/lib/controls/spiderly-textbox/spiderly-textbox.component.d.ts +0 -15
- package/lib/entities/base-entity.d.ts +0 -14
- package/lib/entities/codebook.d.ts +0 -9
- package/lib/entities/init-company-auth-dialog-details.d.ts +0 -9
- package/lib/entities/init-top-bar-data.d.ts +0 -16
- package/lib/entities/is-authorized-for-save-event.d.ts +0 -9
- package/lib/entities/last-menu-icon-index-clicked.d.ts +0 -7
- package/lib/entities/lazy-load-selected-ids-result.d.ts +0 -9
- package/lib/entities/mime-type.d.ts +0 -11
- package/lib/entities/namebook.d.ts +0 -9
- package/lib/entities/primeng-option.d.ts +0 -9
- package/lib/entities/security-entities.d.ts +0 -211
- package/lib/entities/simple-save-result.d.ts +0 -7
- package/lib/entities/spiderly-button.d.ts +0 -13
- package/lib/entities/table-filter-sort-meta.d.ts +0 -4
- package/lib/entities/table-response.d.ts +0 -4
- package/lib/enums/security-enums.d.ts +0 -22
- package/lib/enums/verification-type-codes.d.ts +0 -4
- package/lib/guards/auth.guard.d.ts +0 -15
- package/lib/guards/not-auth.guard.d.ts +0 -12
- package/lib/handlers/spiderly-error-handler.d.ts +0 -14
- package/lib/handlers/spiderly-transloco-fallback-strategy.d.ts +0 -13
- package/lib/interceptors/http-loading.interceptor.d.ts +0 -11
- package/lib/interceptors/json-parser.interceptor.d.ts +0 -11
- package/lib/interceptors/jwt.interceptor.d.ts +0 -11
- package/lib/interceptors/unauthorized.interceptor.d.ts +0 -16
- package/lib/modules/core.module.d.ts +0 -13
- package/lib/modules/primeng.module.d.ts +0 -42
- package/lib/modules/spiderly-transloco.module.d.ts +0 -9
- package/lib/services/api.service.security.d.ts +0 -35
- package/lib/services/app-initializer.d.ts +0 -4
- package/lib/services/app-layout-base.service.d.ts +0 -60
- package/lib/services/auth-base.service.d.ts +0 -55
- package/lib/services/base-form.service.d.ts +0 -27
- package/lib/services/config-base.service.d.ts +0 -24
- package/lib/services/helper-functions.d.ts +0 -37
- package/lib/services/spiderly-message.service.d.ts +0 -17
- package/lib/services/spiderly-transloco-loader.d.ts +0 -10
- package/lib/services/translate-labels-abstract.service.d.ts +0 -7
- package/lib/services/validator-abstract.service.d.ts +0 -13
- package/styles/styles/layout/layout.scss +0 -13
- package/styles/styles/styles.scss +0 -6
- package/styles/styles/theme/base/_colors.scss +0 -18
- package/styles/styles/theme/base/_common.scss +0 -75
- package/styles/styles/theme/base/_components.scss +0 -106
- package/styles/styles/theme/base/_mixins.scss +0 -343
- package/styles/styles/theme/base/components/button/_button.scss +0 -564
- package/styles/styles/theme/base/components/button/_speeddial.scss +0 -96
- package/styles/styles/theme/base/components/button/_splitbutton.scss +0 -381
- package/styles/styles/theme/base/components/data/_carousel.scss +0 -37
- package/styles/styles/theme/base/components/data/_datatable.scss +0 -338
- package/styles/styles/theme/base/components/data/_dataview.scss +0 -55
- package/styles/styles/theme/base/components/data/_filter.scss +0 -138
- package/styles/styles/theme/base/components/data/_orderlist.scss +0 -103
- package/styles/styles/theme/base/components/data/_organizationchart.scss +0 -50
- package/styles/styles/theme/base/components/data/_paginator.scss +0 -92
- package/styles/styles/theme/base/components/data/_picklist.scss +0 -103
- package/styles/styles/theme/base/components/data/_timeline.scss +0 -81
- package/styles/styles/theme/base/components/data/_tree.scss +0 -149
- package/styles/styles/theme/base/components/data/_treetable.scss +0 -256
- package/styles/styles/theme/base/components/data/_virtualscroller.scss +0 -28
- package/styles/styles/theme/base/components/file/_fileupload.scss +0 -64
- package/styles/styles/theme/base/components/input/_autocomplete.scss +0 -118
- package/styles/styles/theme/base/components/input/_calendar.scss +0 -263
- package/styles/styles/theme/base/components/input/_cascadeselect.scss +0 -130
- package/styles/styles/theme/base/components/input/_checkbox.scss +0 -90
- package/styles/styles/theme/base/components/input/_chips.scss +0 -55
- package/styles/styles/theme/base/components/input/_colorpicker.scss +0 -26
- package/styles/styles/theme/base/components/input/_dropdown.scss +0 -152
- package/styles/styles/theme/base/components/input/_editor.scss +0 -122
- package/styles/styles/theme/base/components/input/_inputgroup.scss +0 -75
- package/styles/styles/theme/base/components/input/_inputmask.scss +0 -16
- package/styles/styles/theme/base/components/input/_inputnumber.scss +0 -28
- package/styles/styles/theme/base/components/input/_inputswitch.scss +0 -60
- package/styles/styles/theme/base/components/input/_inputtext.scss +0 -100
- package/styles/styles/theme/base/components/input/_listbox.scss +0 -82
- package/styles/styles/theme/base/components/input/_multiselect.scss +0 -173
- package/styles/styles/theme/base/components/input/_password.scss +0 -52
- package/styles/styles/theme/base/components/input/_radiobutton.scss +0 -78
- package/styles/styles/theme/base/components/input/_rating.scss +0 -55
- package/styles/styles/theme/base/components/input/_selectbutton.scss +0 -50
- package/styles/styles/theme/base/components/input/_slider.scss +0 -71
- package/styles/styles/theme/base/components/input/_togglebutton.scss +0 -48
- package/styles/styles/theme/base/components/input/_treeselect.scss +0 -139
- package/styles/styles/theme/base/components/menu/_breadcrumb.scss +0 -42
- package/styles/styles/theme/base/components/menu/_contextmenu.scss +0 -39
- package/styles/styles/theme/base/components/menu/_dock.scss +0 -95
- package/styles/styles/theme/base/components/menu/_megamenu.scss +0 -55
- package/styles/styles/theme/base/components/menu/_menu.scss +0 -37
- package/styles/styles/theme/base/components/menu/_menubar.scss +0 -141
- package/styles/styles/theme/base/components/menu/_panelmenu.scss +0 -153
- package/styles/styles/theme/base/components/menu/_slidemenu.scss +0 -59
- package/styles/styles/theme/base/components/menu/_steps.scss +0 -56
- package/styles/styles/theme/base/components/menu/_tabmenu.scss +0 -74
- package/styles/styles/theme/base/components/menu/_tieredmenu.scss +0 -43
- package/styles/styles/theme/base/components/messages/_inlinemessage.scss +0 -69
- package/styles/styles/theme/base/components/messages/_message.scss +0 -107
- package/styles/styles/theme/base/components/messages/_toast.scss +0 -103
- package/styles/styles/theme/base/components/misc/_avatar.scss +0 -30
- package/styles/styles/theme/base/components/misc/_badge.scss +0 -48
- package/styles/styles/theme/base/components/misc/_blockui.scss +0 -0
- package/styles/styles/theme/base/components/misc/_chip.scss +0 -42
- package/styles/styles/theme/base/components/misc/_inplace.scss +0 -17
- package/styles/styles/theme/base/components/misc/_progressbar.scss +0 -17
- package/styles/styles/theme/base/components/misc/_scrolltop.scss +0 -25
- package/styles/styles/theme/base/components/misc/_skeleton.scss +0 -8
- package/styles/styles/theme/base/components/misc/_tag.scss +0 -40
- package/styles/styles/theme/base/components/misc/_terminal.scss +0 -12
- package/styles/styles/theme/base/components/multimedia/_galleria.scss +0 -155
- package/styles/styles/theme/base/components/multimedia/_image.scss +0 -49
- package/styles/styles/theme/base/components/overlay/_confirmpopup.scss +0 -72
- package/styles/styles/theme/base/components/overlay/_dialog.scss +0 -73
- package/styles/styles/theme/base/components/overlay/_overlaypanel.scss +0 -64
- package/styles/styles/theme/base/components/overlay/_sidebar.scss +0 -27
- package/styles/styles/theme/base/components/overlay/_tooltip.scss +0 -33
- package/styles/styles/theme/base/components/panel/_accordion.scss +0 -119
- package/styles/styles/theme/base/components/panel/_card.scss +0 -30
- package/styles/styles/theme/base/components/panel/_divider.scss +0 -31
- package/styles/styles/theme/base/components/panel/_fieldset.scss +0 -47
- package/styles/styles/theme/base/components/panel/_panel.scss +0 -58
- package/styles/styles/theme/base/components/panel/_scrollpanel.scss +0 -6
- package/styles/styles/theme/base/components/panel/_splitter.scss +0 -19
- package/styles/styles/theme/base/components/panel/_tabview.scss +0 -82
- package/styles/styles/theme/base/components/panel/_toolbar.scss +0 -11
- package/styles/styles/theme/saga/_extensions.scss +0 -27
- package/styles/styles/theme/saga/_variables.scss +0 -1
- package/styles/styles/theme/saga/saga-blue/_extensions.scss +0 -2
- package/styles/styles/theme/saga/saga-blue/_fonts.scss +0 -1
- package/styles/styles/theme/saga/saga-blue/_variables.scss +0 -1
- package/styles/styles/theme/saga/saga-blue/theme.scss +0 -4
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { SpiderlyPanelsModule } from "../spiderly-panels/spiderly-panels.module";
|
|
4
|
-
import { PrimengModule } from '../../modules/primeng.module';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "../spiderly-panels/panel-header/panel-header.component";
|
|
9
|
-
import * as i4 from "../spiderly-panels/panel-body/panel-body.component";
|
|
10
|
-
import * as i5 from "../spiderly-panels/spiderly-panel/spiderly-panel.component";
|
|
11
|
-
export class IndexCardComponent {
|
|
12
|
-
constructor(formBuilder) {
|
|
13
|
-
this.formBuilder = formBuilder;
|
|
14
|
-
this.header = '';
|
|
15
|
-
this.showCrudMenu = true;
|
|
16
|
-
this.onMenuIconClick = new EventEmitter();
|
|
17
|
-
this.onRemoveIconClick = new EventEmitter();
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
// console.log(this.last);
|
|
21
|
-
}
|
|
22
|
-
menuIconClick(index) {
|
|
23
|
-
this.onMenuIconClick.next(index);
|
|
24
|
-
}
|
|
25
|
-
removeIconClick() {
|
|
26
|
-
this.onRemoveIconClick.next(null);
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IndexCardComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IndexCardComponent, isStandalone: true, selector: "index-card", inputs: { last: "last", index: "index", header: "header", description: "description", showRemoveIcon: "showRemoveIcon", showCrudMenu: "showCrudMenu", crudMenu: "crudMenu" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, ngImport: i0, template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: PrimengModule }, { kind: "ngmodule", type: SpiderlyPanelsModule }, { kind: "component", type: i3.PanelHeaderComponent, selector: "panel-header", inputs: ["title", "showBigTitle", "showIcon", "icon", "index", "tabs"] }, { kind: "component", type: i4.PanelBodyComponent, selector: "panel-body", inputs: ["normalBottomPadding"] }, { kind: "component", type: i5.SpiderlyPanelComponent, selector: "spiderly-panel", inputs: ["isFirstMultiplePanel", "isMiddleMultiplePanel", "isLastMultiplePanel", "toggleable", "collapsed", "crudMenu", "showCrudMenu", "showRemoveIcon", "index", "showPanelHeader"], outputs: ["onMenuIconClick", "onRemoveIconClick"] }] }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IndexCardComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'index-card', standalone: true, imports: [
|
|
34
|
-
CommonModule,
|
|
35
|
-
PrimengModule,
|
|
36
|
-
SpiderlyPanelsModule
|
|
37
|
-
], template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n" }]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { last: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], index: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], header: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], description: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], showRemoveIcon: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], showCrudMenu: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], crudMenu: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], onMenuIconClick: [{
|
|
53
|
-
type: Output
|
|
54
|
-
}], onRemoveIconClick: [{
|
|
55
|
-
type: Output
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgtY2FyZC9pbmRleC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC1jYXJkL2luZGV4LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBWTdELE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFDYyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVg3QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBR3BCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBSTVCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTXZELENBQUM7SUFFRCxRQUFRO1FBQ0osMEJBQTBCO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQzsrR0E3QlEsa0JBQWtCO21HQUFsQixrQkFBa0IsNlVDakIvQiw4bEJBZUEsMkNESEksWUFBWSw0SEFDWixhQUFhLDhCQUNiLG9CQUFvQjs7NEZBR1gsa0JBQWtCO2tCQVY5QixTQUFTOytCQUNJLFlBQVksY0FFVixJQUFJLFdBQ1A7d0JBQ1QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDdkI7Z0ZBR1ksSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgU3BpZGVybHlQYW5lbHNNb2R1bGUgfSBmcm9tIFwiLi4vc3BpZGVybHktcGFuZWxzL3NwaWRlcmx5LXBhbmVscy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUHJpbWVuZ01vZHVsZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZGV4LWNhcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luZGV4LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lbmdNb2R1bGUsXHJcbiAgICBTcGlkZXJseVBhbmVsc01vZHVsZVxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmRleENhcmRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgbGFzdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGluZGV4OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNob3dSZW1vdmVJY29uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2hvd0NydWRNZW51OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBjcnVkTWVudTogTWVudUl0ZW1bXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25NZW51SWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZW1vdmVJY29uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmxhc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIG1lbnVJY29uQ2xpY2soaW5kZXg6IG51bWJlcil7XHJcbiAgICAgICAgdGhpcy5vbk1lbnVJY29uQ2xpY2submV4dChpbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSWNvbkNsaWNrKCl7XHJcbiAgICAgICAgdGhpcy5vblJlbW92ZUljb25DbGljay5uZXh0KG51bGwpO1xyXG4gICAgfVxyXG5cclxufSIsIjxkaXYgW25nQ2xhc3NdPVwie1xyXG5cdCdsYXN0LWNoaWxkLXplcm8tbWFyZ2luJzogbGFzdCxcclxuICAgICdjYXJkLW1hcmdpbi1ib3R0b20nOiB0cnVlLFxyXG5cdH1cIj5cclxuXHQ8c3BpZGVybHktcGFuZWwgW2NydWRNZW51XT1cImNydWRNZW51XCIgW3Nob3dDcnVkTWVudV09XCJzaG93Q3J1ZE1lbnVcIiAob25NZW51SWNvbkNsaWNrKT1cIm1lbnVJY29uQ2xpY2soJGV2ZW50KVwiIFtzaG93UmVtb3ZlSWNvbl09XCJzaG93UmVtb3ZlSWNvblwiIChvblJlbW92ZUljb25DbGljayk9XCJyZW1vdmVJY29uQ2xpY2soKVwiIFtpbmRleF09XCJpbmRleFwiPlxyXG5cdFx0PHBhbmVsLWhlYWRlciBbdGl0bGVdPVwiaGVhZGVyXCIgW2luZGV4XT1cImluZGV4XCIgW3Nob3dJY29uXT1cImZhbHNlXCI+PC9wYW5lbC1oZWFkZXI+XHJcblx0XHRcclxuXHRcdDxwYW5lbC1ib2R5PlxyXG5cdFx0XHQ8bmctY29udGVudD5cclxuXHRcdFx0XHQ8IS0tIEN1c3RvbSB0aGluZ3MgYmVsb3cgZGVzY3JpcHRpb24gLS0+XHJcblx0XHRcdDwvbmctY29udGVudD5cclxuXHRcdDwvcGFuZWwtYm9keT5cclxuXHRcdFxyXG5cdDwvc3BpZGVybHktcGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { SpiderlyPanelsModule } from "../spiderly-panels/spiderly-panels.module";
|
|
4
|
-
import { PrimengModule } from '../../modules/primeng.module';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
export class InfoCardComponent {
|
|
8
|
-
constructor(formBuilder) {
|
|
9
|
-
this.formBuilder = formBuilder;
|
|
10
|
-
this.header = '';
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InfoCardComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InfoCardComponent, isStandalone: true, selector: "info-card", inputs: { header: "header", description: "description" }, ngImport: i0, template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--primary-lighter-color); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"color:var(--primary-color); text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PrimengModule }, { kind: "ngmodule", type: SpiderlyPanelsModule }] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InfoCardComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: 'info-card', standalone: true, imports: [
|
|
20
|
-
CommonModule,
|
|
21
|
-
PrimengModule,
|
|
22
|
-
SpiderlyPanelsModule
|
|
23
|
-
], template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--primary-lighter-color); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"color:var(--primary-color); text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>" }]
|
|
24
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { header: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], description: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWNhcmQvaW5mby1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWNhcmQvaW5mby1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVk3RCxNQUFNLE9BQU8saUJBQWlCO0lBSTFCLFlBQ2MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKdEIsV0FBTSxHQUFXLEVBQUUsQ0FBQztJQU9oQyxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7K0dBWFEsaUJBQWlCO21HQUFqQixpQkFBaUIsK0hDaEI5QixxOEJBaUJRLDJDRE5KLFlBQVksOEJBQ1osYUFBYSw4QkFDYixvQkFBb0I7OzRGQUdYLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDSSxXQUFXLGNBRVQsSUFBSSxXQUNQO3dCQUNULFlBQVk7d0JBQ1osYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3ZCO2dGQUdtQixNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTcGlkZXJseVBhbmVsc01vZHVsZSB9IGZyb20gXCIuLi9zcGlkZXJseS1wYW5lbHMvc3BpZGVybHktcGFuZWxzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBQcmltZW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lbmdNb2R1bGUsXHJcbiAgICBTcGlkZXJseVBhbmVsc01vZHVsZVxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvQ2FyZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICkge1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgIH1cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwiY2FyZCByZXNwb25zaXZlLWNhcmQtcGFkZGluZ1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1saWdodGVyLWNvbG9yKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1wiPlxyXG4gICAgPCEtLSBUT0RPIEZUOiBUcmFuc2xhdGUgLS0+XHJcbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMjZweDsgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1wiPjwvaT5cclxuICAgICAgPGRpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIiBzdHlsZT1cImNvbG9yOnZhcigtLXByaW1hcnktY29sb3IpOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LWFsaWduOiBsZWZ0O1wiPlxyXG4gICAgICAgICAgICAgIHt7aGVhZGVyfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOnZhcigtLXByaW1hcnktY29sb3IpOyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tdG9wOiA4cHg7XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLW92ZXJmbG93LWljb25cIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgcmlnaHQ6IDhweDsgdG9wOiAtMjVweDsgei1pbmRleDogMTtcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiIHN0eWxlPVwiZm9udC1zaXplOiAyNzBweDtcIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { NavigationEnd } from '@angular/router';
|
|
3
|
-
import { filter } from 'rxjs';
|
|
4
|
-
import { AppSidebarComponent } from './sidebar/sidebar.component';
|
|
5
|
-
import { AppTopBarComponent } from './topbar/topbar.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../services/app-layout-base.service";
|
|
8
|
-
import * as i2 from "@angular/router";
|
|
9
|
-
export class LayoutBaseComponent {
|
|
10
|
-
constructor(layoutService, renderer, router) {
|
|
11
|
-
this.layoutService = layoutService;
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
this.router = router;
|
|
14
|
-
this.onAfterNgDestroy = () => { };
|
|
15
|
-
this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
|
|
16
|
-
if (!this.menuOutsideClickListener) {
|
|
17
|
-
this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {
|
|
18
|
-
const isOutsideClicked = !(this.appSidebar.el.nativeElement.isSameNode(event.target) ||
|
|
19
|
-
this.appSidebar.el.nativeElement.contains(event.target) ||
|
|
20
|
-
this.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||
|
|
21
|
-
this.appTopbar.menuButton.nativeElement.contains(event.target) ||
|
|
22
|
-
(event.target.closest('.p-autocomplete-items')) ||
|
|
23
|
-
(event.target.closest('.p-autocomplete-clear-icon')));
|
|
24
|
-
if (isOutsideClicked) {
|
|
25
|
-
this.hideMenu();
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
if (!this.profileMenuOutsideClickListener) {
|
|
30
|
-
this.profileMenuOutsideClickListener = this.renderer.listen('document', 'click', event => {
|
|
31
|
-
const isOutsideClicked = !(this.appTopbar.menu.nativeElement.isSameNode(event.target) ||
|
|
32
|
-
this.appTopbar.menu.nativeElement.contains(event.target));
|
|
33
|
-
if (isOutsideClicked) {
|
|
34
|
-
this.hideProfileMenu();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
if (this.layoutService.state.staticMenuMobileActive) {
|
|
39
|
-
this.blockBodyScroll();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
this.router.events.pipe(filter(event => event instanceof NavigationEnd))
|
|
43
|
-
.subscribe(() => {
|
|
44
|
-
this.hideMenu();
|
|
45
|
-
this.hideProfileMenu();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
hideMenu() {
|
|
49
|
-
this.layoutService.state.overlayMenuActive = false;
|
|
50
|
-
this.layoutService.state.staticMenuMobileActive = false;
|
|
51
|
-
this.layoutService.state.menuHoverActive = false;
|
|
52
|
-
if (this.menuOutsideClickListener) {
|
|
53
|
-
this.menuOutsideClickListener();
|
|
54
|
-
this.menuOutsideClickListener = null;
|
|
55
|
-
}
|
|
56
|
-
this.unblockBodyScroll();
|
|
57
|
-
}
|
|
58
|
-
hideProfileMenu() {
|
|
59
|
-
this.layoutService.state.profileSidebarVisible = false;
|
|
60
|
-
if (this.profileMenuOutsideClickListener) {
|
|
61
|
-
this.profileMenuOutsideClickListener();
|
|
62
|
-
this.profileMenuOutsideClickListener = null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
blockBodyScroll() {
|
|
66
|
-
if (document.body.classList) {
|
|
67
|
-
document.body.classList.add('blocked-scroll');
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
document.body.className += ' blocked-scroll';
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
unblockBodyScroll() {
|
|
74
|
-
if (document.body.classList) {
|
|
75
|
-
document.body.classList.remove('blocked-scroll');
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
document.body.className = document.body.className.replace(new RegExp('(^|\\b)' +
|
|
79
|
-
'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
get containerClass() {
|
|
83
|
-
return {
|
|
84
|
-
'layout-theme-light': this.layoutService.layoutConfig.colorScheme === 'light',
|
|
85
|
-
'layout-theme-dark': this.layoutService.layoutConfig.colorScheme === 'dark',
|
|
86
|
-
'layout-overlay': this.layoutService.layoutConfig.menuMode === 'overlay',
|
|
87
|
-
'layout-static': this.layoutService.layoutConfig.menuMode === 'static',
|
|
88
|
-
'layout-static-inactive': this.layoutService.state.staticMenuDesktopInactive && this.layoutService.layoutConfig.menuMode === 'static',
|
|
89
|
-
'layout-overlay-active': this.layoutService.state.overlayMenuActive,
|
|
90
|
-
'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,
|
|
91
|
-
'p-input-filled': this.layoutService.layoutConfig.inputStyle === 'filled',
|
|
92
|
-
'p-ripple-disabled': !this.layoutService.layoutConfig.ripple
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
ngOnDestroy() {
|
|
96
|
-
if (this.overlayMenuOpenSubscription) {
|
|
97
|
-
this.overlayMenuOpenSubscription.unsubscribe();
|
|
98
|
-
}
|
|
99
|
-
if (this.menuOutsideClickListener) {
|
|
100
|
-
this.menuOutsideClickListener();
|
|
101
|
-
}
|
|
102
|
-
this.onAfterNgDestroy();
|
|
103
|
-
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutBaseComponent, deps: [{ token: i1.LayoutBaseService }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutBaseComponent, isStandalone: true, selector: "layout-base", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopBarComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutBaseComponent, decorators: [{
|
|
108
|
-
type: Component,
|
|
109
|
-
args: [{
|
|
110
|
-
selector: 'layout-base',
|
|
111
|
-
template: '',
|
|
112
|
-
standalone: true
|
|
113
|
-
}]
|
|
114
|
-
}], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i0.Renderer2 }, { type: i2.Router }], propDecorators: { appSidebar: [{
|
|
115
|
-
type: ViewChild,
|
|
116
|
-
args: [AppSidebarComponent]
|
|
117
|
-
}], appTopbar: [{
|
|
118
|
-
type: ViewChild,
|
|
119
|
-
args: [AppTopBarComponent]
|
|
120
|
-
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVEvRCxNQUFNLE9BQU8sbUJBQW1CO0lBWTVCLFlBQ2MsYUFBZ0MsRUFDaEMsUUFBbUIsRUFDbkIsTUFBYztRQUZkLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUE2RzVCLHFCQUFnQixHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtRQTNHdkIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzlFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtB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c0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCO1lBQ3ZFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxRQUFRO1lBQ3pFLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTTtTQUMvRCxDQUFBO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNsQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMvQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBMUhRLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1IQVFqQixtQkFBbUIsNEVBRW5CLGtCQUFrQixnREFibkIsRUFBRTs7NEZBR0gsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7bUlBU21DLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBUb3BCYXJDb21wb25lbnQgfSBmcm9tICcuL3RvcGJhci90b3BiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5b3V0QmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAtbGF5b3V0LWJhc2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGF5b3V0LWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgb3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XHJcblxyXG4gICAgcHJvZmlsZU1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQXBwU2lkZWJhckNvbXBvbmVudCkgYXBwU2lkZWJhciE6IEFwcFNpZGViYXJDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBcHBUb3BCYXJDb21wb25lbnQpIGFwcFRvcGJhciE6IEFwcFRvcEJhckNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgbGF5b3V0U2VydmljZTogTGF5b3V0QmFzZVNlcnZpY2UsIFxyXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLCBcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbiA9IHRoaXMubGF5b3V0U2VydmljZS5vdmVybGF5T3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5wLWF1dG9jb21wbGV0ZS1pdGVtcycpKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5wLWF1dG9jb21wbGV0ZS1jbGVhci1pY29uJykpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5wcm9maWxlTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9wYmFyLm1lbnUubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9wYmFyLm1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlUHJvZmlsZU1lbnUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZVByb2ZpbGVNZW51KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhpZGVNZW51KCkge1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudW5ibG9ja0JvZHlTY3JvbGwoKTtcclxuICAgIH1cclxuXHJcbiAgICBoaWRlUHJvZmlsZU1lbnUoKSB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnByb2ZpbGVTaWRlYmFyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLnByb2ZpbGVNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9maWxlTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZmlsZU1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibG9ja2VkLXNjcm9sbCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKz0gJyBibG9ja2VkLXNjcm9sbCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2Jsb2NrZWQtc2Nyb2xsJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArXHJcbiAgICAgICAgICAgICAgICAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29udGFpbmVyQ2xhc3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ2xheW91dC10aGVtZS1saWdodCc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcuY29sb3JTY2hlbWUgPT09ICdsaWdodCcsXHJcbiAgICAgICAgICAgICdsYXlvdXQtdGhlbWUtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcuY29sb3JTY2hlbWUgPT09ICdkYXJrJyxcclxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmxheW91dENvbmZpZy5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxyXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxyXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxyXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlLFxyXG4gICAgICAgICAgICAnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSxcclxuICAgICAgICAgICAgJ3AtaW5wdXQtZmlsbGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmxheW91dENvbmZpZy5pbnB1dFN0eWxlID09PSAnZmlsbGVkJyxcclxuICAgICAgICAgICAgJ3AtcmlwcGxlLWRpc2FibGVkJzogIXRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcucmlwcGxlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uQWZ0ZXJOZ0Rlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkFmdGVyTmdEZXN0cm95ID0gKCkgPT4ge31cclxuICAgIFxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { NavigationEnd } from '@angular/router';
|
|
3
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
4
|
-
import { filter } from 'rxjs/operators';
|
|
5
|
-
import { SpiderlyFormControl } from '../../spiderly-form-control/spiderly-form-control';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { PrimengModule } from '../../../modules/primeng.module';
|
|
8
|
-
import { SpiderlyControlsModule } from '../../../controls/spiderly-controls.module';
|
|
9
|
-
import { TranslocoDirective } from '@jsverse/transloco';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../../../services/app-layout-base.service";
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "./sidebar-menu.service";
|
|
14
|
-
import * as i4 from "../../../services/auth-base.service";
|
|
15
|
-
import * as i5 from "../../../services/api.service.security";
|
|
16
|
-
import * as i6 from "../../../services/config-base.service";
|
|
17
|
-
import * as i7 from "@angular/common";
|
|
18
|
-
import * as i8 from "primeng/ripple";
|
|
19
|
-
import * as i9 from "../../../controls/spiderly-autocomplete/spiderly-autocomplete.component";
|
|
20
|
-
export class MenuitemComponent {
|
|
21
|
-
constructor(layoutService, cd, router, menuService, authService, apiService, config) {
|
|
22
|
-
this.layoutService = layoutService;
|
|
23
|
-
this.cd = cd;
|
|
24
|
-
this.router = router;
|
|
25
|
-
this.menuService = menuService;
|
|
26
|
-
this.authService = authService;
|
|
27
|
-
this.apiService = apiService;
|
|
28
|
-
this.config = config;
|
|
29
|
-
this.active = false;
|
|
30
|
-
this.permissionSubscription = null;
|
|
31
|
-
this.key = "";
|
|
32
|
-
this.selectedPartner = new SpiderlyFormControl(null, { updateOn: 'change' });
|
|
33
|
-
this.partnersAutocompleteButtonClick = async () => {
|
|
34
|
-
this.layoutService.partnersAutocompleteButtonClick(this.selectedPartner);
|
|
35
|
-
};
|
|
36
|
-
this.menuSourceSubscription = this.menuService.menuSource$.subscribe(value => {
|
|
37
|
-
Promise.resolve(null).then(() => {
|
|
38
|
-
if (value.routeEvent) {
|
|
39
|
-
this.active = (value.key === this.key || value.key.startsWith(this.key + '-')) ? true : false;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
if (value.key !== this.key && !value.key.startsWith(this.key + '-')) {
|
|
43
|
-
this.active = false;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
this.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {
|
|
49
|
-
this.active = false;
|
|
50
|
-
});
|
|
51
|
-
this.router.events.pipe(filter(event => event instanceof NavigationEnd))
|
|
52
|
-
.subscribe(params => {
|
|
53
|
-
if (this.item.routerLink) {
|
|
54
|
-
this.updateActiveStateFromRoute();
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
ngOnInit() {
|
|
59
|
-
this.key = this.parentKey ? this.parentKey + '-' + this.index : String(this.index);
|
|
60
|
-
if (this.item.routerLink) {
|
|
61
|
-
this.updateActiveStateFromRoute();
|
|
62
|
-
}
|
|
63
|
-
this.permissionSubscription = this.authService.currentUserPermissionCodes$.subscribe((currentUserPermissionCodes) => {
|
|
64
|
-
if (this.item && typeof this.item.hasPermission === 'function') {
|
|
65
|
-
this.item.visible = this.item.hasPermission(currentUserPermissionCodes);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
updateActiveStateFromRoute() {
|
|
70
|
-
let activeRoute = this.router.isActive(this.item.routerLink[0], { paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' });
|
|
71
|
-
if (activeRoute) {
|
|
72
|
-
this.menuService.onMenuStateChange({ key: this.key, routeEvent: true });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
itemClick(event) {
|
|
76
|
-
// avoid processing disabled items
|
|
77
|
-
if (this.item.disabled || event === null) {
|
|
78
|
-
event.preventDefault();
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
// execute command
|
|
82
|
-
if (this.item.command) {
|
|
83
|
-
this.item.command({ originalEvent: event, item: this.item });
|
|
84
|
-
}
|
|
85
|
-
// toggle active state
|
|
86
|
-
if (this.item.items) {
|
|
87
|
-
this.active = !this.active;
|
|
88
|
-
}
|
|
89
|
-
this.menuService.onMenuStateChange({ key: this.key });
|
|
90
|
-
}
|
|
91
|
-
get submenuAnimation() {
|
|
92
|
-
return this.root ? 'expanded' : (this.active ? 'expanded' : 'collapsed');
|
|
93
|
-
}
|
|
94
|
-
get activeClass() {
|
|
95
|
-
return this.active && !this.root;
|
|
96
|
-
}
|
|
97
|
-
//#region FT HACK: Partner
|
|
98
|
-
searchPartners(event) {
|
|
99
|
-
this.layoutService.searchPartners(event).subscribe(po => {
|
|
100
|
-
this.partnerOptions = po;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
//#endregion
|
|
104
|
-
ngOnDestroy() {
|
|
105
|
-
if (this.menuSourceSubscription) {
|
|
106
|
-
this.menuSourceSubscription.unsubscribe();
|
|
107
|
-
}
|
|
108
|
-
if (this.menuResetSubscription) {
|
|
109
|
-
this.menuResetSubscription.unsubscribe();
|
|
110
|
-
}
|
|
111
|
-
if (this.permissionSubscription) {
|
|
112
|
-
this.permissionSubscription.unsubscribe();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuitemComponent, deps: [{ token: i1.LayoutBaseService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i3.SidebarMenuService }, { token: i4.AuthBaseService }, { token: i5.ApiSecurityService }, { token: i6.ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MenuitemComponent, isStandalone: true, selector: "[menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- FT: Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>", dependencies: [{ kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PrimengModule }, { kind: "directive", type: i8.Ripple, selector: "[pRipple]" }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: i9.SpiderlyAutocompleteComponent, selector: "spiderly-autocomplete", inputs: ["appendTo", "showClear", "emptyMessage", "displayName"] }], animations: [
|
|
117
|
-
trigger('children', [
|
|
118
|
-
state('collapsed', style({
|
|
119
|
-
height: '0'
|
|
120
|
-
})),
|
|
121
|
-
state('expanded', style({
|
|
122
|
-
height: '*'
|
|
123
|
-
})),
|
|
124
|
-
transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
125
|
-
])
|
|
126
|
-
] }); }
|
|
127
|
-
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuitemComponent, decorators: [{
|
|
129
|
-
type: Component,
|
|
130
|
-
args: [{ selector: '[menuitem]', animations: [
|
|
131
|
-
trigger('children', [
|
|
132
|
-
state('collapsed', style({
|
|
133
|
-
height: '0'
|
|
134
|
-
})),
|
|
135
|
-
state('expanded', style({
|
|
136
|
-
height: '*'
|
|
137
|
-
})),
|
|
138
|
-
transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
139
|
-
])
|
|
140
|
-
], standalone: true, imports: [
|
|
141
|
-
CommonModule,
|
|
142
|
-
PrimengModule,
|
|
143
|
-
TranslocoDirective,
|
|
144
|
-
SpiderlyControlsModule,
|
|
145
|
-
], template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- FT: Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>" }]
|
|
146
|
-
}], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i3.SidebarMenuService }, { type: i4.AuthBaseService }, { type: i5.ApiSecurityService }, { type: i6.ConfigBaseService }], propDecorators: { item: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], index: [{
|
|
149
|
-
type: Input
|
|
150
|
-
}], root: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}, {
|
|
153
|
-
type: HostBinding,
|
|
154
|
-
args: ['class.layout-root-menuitem']
|
|
155
|
-
}], parentKey: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], activeClass: [{
|
|
158
|
-
type: HostBinding,
|
|
159
|
-
args: ['class.active-menuitem']
|
|
160
|
-
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyL21lbnVpdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci9tZW51aXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFNeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7QUF5QnhELE1BQU0sT0FBTyxpQkFBaUI7SUF3QjFCLFlBQ1csYUFBZ0MsRUFDL0IsRUFBcUIsRUFDdEIsTUFBYyxFQUNiLFdBQStCLEVBQy9CLFdBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE1BQXlCO1FBTjFCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUMvQixP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SyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7b0JBQ3JCLE1BQU0sRUFBRSxHQUFHO2lCQUNkLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ2QsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzthQUN4RixDQUFDO1NBQ0w7OzRGQVNRLGlCQUFpQjtrQkF2QjdCLFNBQVM7K0JBRUksWUFBWSxjQUVWO3dCQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsR0FBRzs2QkFDZCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7eUJBQ3hGLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN6QjsyUUFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUU4QyxJQUFJO3NCQUF2RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDRCQUE0QjtnQkFFekMsU0FBUztzQkFBakIsS0FBSztnQkFpR0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51U2VydmljZSB9IGZyb20gJy4vc2lkZWJhci1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTcGlkZXJseU1lbnVJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlQ29tcGxldGVFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgU3BpZGVybHlGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL3NwaWRlcmx5LWZvcm0tY29udHJvbC9zcGlkZXJseS1mb3JtLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBQcmltZW5nT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvcHJpbWVuZy1vcHRpb24nO1xyXG5pbXBvcnQgeyBMYXlvdXRCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC1sYXlvdXQtYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC1iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZWN1cml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZS5zZWN1cml0eSc7XHJcbmltcG9ydCB7IENvbmZpZ0Jhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnLWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFByaW1lbmdNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuaW1wb3J0IHsgU3BpZGVybHlDb250cm9sc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbnRyb2xzL3NwaWRlcmx5LWNvbnRyb2xzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ1ttZW51aXRlbV0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnVpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdjaGlsZHJlbicsIFtcclxuICAgICAgICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzAnXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPD0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXHJcbiAgICAgICAgXSlcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQcmltZW5nTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcclxuICAgICAgICBTcGlkZXJseUNvbnRyb2xzTW9kdWxlLFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudWl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgaXRlbTogU3BpZGVybHlNZW51SXRlbTtcclxuXHJcbiAgICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtJykgcm9vdCE6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KCkgcGFyZW50S2V5ITogc3RyaW5nO1xyXG5cclxuICAgIGFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgbWVudVNvdXJjZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgbWVudVJlc2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBrZXk6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgc2VsZWN0ZWRQYXJ0bmVyOiBTcGlkZXJseUZvcm1Db250cm9sID0gbmV3IFNwaWRlcmx5Rm9ybUNvbnRyb2w8c3RyaW5nPihudWxsLCB7IHVwZGF0ZU9uOiAnY2hhbmdlJyB9KTtcclxuXHJcbiAgICBwYXJ0bmVyT3B0aW9uczogUHJpbWVuZ09wdGlvbltdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRCYXNlU2VydmljZSwgXHJcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgXHJcbiAgICAgICAgcHJpdmF0ZSBtZW51U2VydmljZTogU2lkZWJhck1lbnVTZXJ2aWNlLCBcclxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoQmFzZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZWN1cml0eVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ0Jhc2VTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLm1lbnVTb3VyY2VTdWJzY3JpcHRpb24gPSB0aGlzLm1lbnVTZXJ2aWNlLm1lbnVTb3VyY2UkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5yb3V0ZUV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAodmFsdWUua2V5ID09PSB0aGlzLmtleSB8fCB2YWx1ZS5rZXkuc3RhcnRzV2l0aCh0aGlzLmtleSArICctJykpID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmtleSAhPT0gdGhpcy5rZXkgJiYgIXZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5yZXNldFNvdXJjZSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0ucm91dGVyTGluaykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5rZXkgPSB0aGlzLnBhcmVudEtleSA/IHRoaXMucGFyZW50S2V5ICsgJy0nICsgdGhpcy5pbmRleCA6IFN0cmluZyh0aGlzLmluZGV4KTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5pdGVtLnJvdXRlckxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9uU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclBlcm1pc3Npb25Db2RlcyQuc3Vic2NyaWJlKChjdXJyZW50VXNlclBlcm1pc3Npb25Db2Rlczogc3RyaW5nW10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbSAmJiB0eXBlb2YgdGhpcy5pdGVtLmhhc1Blcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbS52aXNpYmxlID0gdGhpcy5pdGVtLmhhc1Blcm1pc3Npb24oY3VycmVudFVzZXJQZXJtaXNzaW9uQ29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XHJcbiAgICAgICAgbGV0IGFjdGl2ZVJvdXRlID0gdGhpcy5yb3V0ZXIuaXNBY3RpdmUodGhpcy5pdGVtLnJvdXRlckxpbmtbMF0sIHsgcGF0aHM6ICdleGFjdCcsIHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLCBmcmFnbWVudDogJ2lnbm9yZWQnIH0pO1xyXG5cclxuICAgICAgICBpZiAoYWN0aXZlUm91dGUpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5vbk1lbnVTdGF0ZUNoYW5nZSh7IGtleTogdGhpcy5rZXksIHJvdXRlRXZlbnQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQpIHtcclxuICAgICAgICAvLyBhdm9pZCBwcm9jZXNzaW5nIGRpc2FibGVkIGl0ZW1zXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCB8fCBldmVudCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBleGVjdXRlIGNvbW1hbmRcclxuICAgICAgICBpZiAodGhpcy5pdGVtLmNvbW1hbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtLmNvbW1hbmQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaXRlbTogdGhpcy5pdGVtIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxyXG4gICAgICAgIGlmICh0aGlzLml0ZW0uaXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhdGhpcy5hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2UoeyBrZXk6IHRoaXMua2V5IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdWJtZW51QW5pbWF0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvb3QgPyAnZXhwYW5kZWQnIDogKHRoaXMuYWN0aXZlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZS1tZW51aXRlbScpIFxyXG4gICAgZ2V0IGFjdGl2ZUNsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5yb290O1xyXG4gICAgfVxyXG5cclxuICAgIC8vI3JlZ2lvbiBGVCBIQUNLOiBQYXJ0bmVyXHJcblxyXG4gICAgc2VhcmNoUGFydG5lcnMoZXZlbnQ6IEF1dG9Db21wbGV0ZUNvbXBsZXRlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2VhcmNoUGFydG5lcnMoZXZlbnQpLnN1YnNjcmliZShwbyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFydG5lck9wdGlvbnMgPSBwbzsgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5wYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrKHRoaXMuc2VsZWN0ZWRQYXJ0bmVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9uU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cInJvb3QgJiYgaXRlbS52aXNpYmxlID09PSB0cnVlXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tcm9vdC10ZXh0XCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cclxuICAgIDxhICpuZ0lmPVwiKCFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5pdGVtcykgJiYgaXRlbS52aXNpYmxlID09PSB0cnVlXCIgW2F0dHIuaHJlZl09XCJpdGVtLnVybFwiIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICBbbmdDbGFzc109XCJpdGVtLnN0eWxlQ2xhc3NcIiBbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIiB0YWJpbmRleD1cIjBcIiBwUmlwcGxlPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCIgKm5nSWY9XCJpdGVtLml0ZW1zXCI+PC9pPlxyXG4gICAgPC9hPlxyXG4gICAgPGEgKm5nSWY9XCIoaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLml0ZW1zKSAmJiBpdGVtLnZpc2libGUgPT09IHRydWVcIiAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIiBbbmdDbGFzc109XCJpdGVtLnN0eWxlQ2xhc3NcIlxyXG4gICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS1yb3V0ZVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zfHx7IHBhdGhzOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJyB9XCJcclxuICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCIgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCJcclxuICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIiBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIiBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcclxuICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiIHRhYmluZGV4PVwiMFwiIHBSaXBwbGU+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXNcIj48L2k+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPHVsICpuZ0lmPVwiaXRlbS5pdGVtcyAmJiBpdGVtLnZpc2libGUgPT09IHRydWVcIiBbQGNoaWxkcmVuXT1cInN1Ym1lbnVBbmltYXRpb25cIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNoaWxkIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJpdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxsaSBtZW51aXRlbSBbaXRlbV09XCJjaGlsZFwiIFtpbmRleF09XCJpXCIgW3BhcmVudEtleV09XCJrZXlcIiBbY2xhc3NdPVwiY2hpbGQuYmFkZ2VTdHlsZUNsYXNzXCI+PC9saT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICA8IS0tIEZUOiBEZWxldGUgdGhpcyBpbiB0aGUgZnV0dXJlIGl0ZXJhdGlvbnMsIG1ha2UgbGluayB0byBwYXJ0bmVyIGluIC9wYXJ0bmVycyBwYWdlIC0tPlxyXG4gICAgPHNwaWRlcmx5LWF1dG9jb21wbGV0ZVxyXG4gICAgKm5nSWY9XCJpdGVtLnNob3dQYXJ0bmVyRGlhbG9nXCJcclxuICAgIFtjb250cm9sXT1cInNlbGVjdGVkUGFydG5lclwiXHJcbiAgICBbb3B0aW9uc109XCJwYXJ0bmVyT3B0aW9uc1wiXHJcbiAgICAob25UZXh0SW5wdXQpPVwic2VhcmNoUGFydG5lcnMoJGV2ZW50KVwiXHJcbiAgICBsYWJlbD1cIlwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwidCgnU2VsZWN0VGhlUGFydG5lcicpXCJcclxuICAgIFtzaG93QWRkb25dPVwidHJ1ZVwiXHJcbiAgICAob25CdXR0b25DbGljayk9XCJwYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrKClcIlxyXG4gICAgYWRkb25JY29uPVwicGkgcGktY2hlY2tcIlxyXG4gICAgW2VtcHR5TWVzc2FnZV09XCJ0KCdMZWZ0Q29ybmVyUGFydG5lcnNFbXB0eU1lc3NhZ2UnKVwiXHJcbiAgICBjbGFzcz1cIm1vYmlsZS1zdGF5LW9wZW5cIlxyXG4gICAgPjwvc3BpZGVybHktYXV0b2NvbXBsZXRlPlxyXG4gICAgIFxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Input } from '@angular/core';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { MenuitemComponent } from './menuitem.component';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../services/app-layout-base.service";
|
|
7
|
-
import * as i2 from "../../../services/auth-base.service";
|
|
8
|
-
import * as i3 from "@jsverse/transloco";
|
|
9
|
-
import * as i4 from "../../../services/config-base.service";
|
|
10
|
-
import * as i5 from "@angular/common";
|
|
11
|
-
export class SidebarMenuComponent {
|
|
12
|
-
constructor(layoutService, authService, translocoService, config) {
|
|
13
|
-
this.layoutService = layoutService;
|
|
14
|
-
this.authService = authService;
|
|
15
|
-
this.translocoService = translocoService;
|
|
16
|
-
this.config = config;
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
}
|
|
20
|
-
ngOnDestroy() {
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, deps: [{ token: i1.LayoutBaseService }, { token: i2.AuthBaseService }, { token: i3.TranslocoService }, { token: i4.ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, isStandalone: true, selector: "sidebar-menu", inputs: { menu: "menu" }, ngImport: i0, template: "<ul class=\"layout-menu\">\r\n <ng-container *ngFor=\"let item of menu; let i = index;\">\r\n <li menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\r\n <li *ngIf=\"item.separator\" class=\"gray-separator\" style=\"margin-top: 11px;\"></li>\r\n </ng-container>\r\n</ul>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'sidebar-menu', standalone: true, imports: [
|
|
28
|
-
CommonModule,
|
|
29
|
-
MenuitemComponent
|
|
30
|
-
], template: "<ul class=\"layout-menu\">\r\n <ng-container *ngFor=\"let item of menu; let i = index;\">\r\n <li menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\r\n <li *ngIf=\"item.separator\" class=\"gray-separator\" style=\"margin-top: 11px;\"></li>\r\n </ng-container>\r\n</ul>\r\n" }]
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i2.AuthBaseService }, { type: i3.TranslocoService }, { type: i4.ConfigBaseService }], propDecorators: { menu: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci9zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyL3NpZGViYXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBZ0IvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRzdCLFlBQ1csYUFBZ0MsRUFDL0IsV0FBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLE1BQXlCO1FBSDFCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUdyQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFHRCxXQUFXO0lBRVgsQ0FBQzsrR0FsQlEsb0JBQW9CO21HQUFwQixvQkFBb0Isa0dDeEJqQywyVUFNQSwyQ0RjUSxZQUFZLGdRQUNaLGlCQUFpQjs7NEZBR1osb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNJLGNBQWMsY0FFWixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ3BCO21MQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTGF5b3V0QmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAtbGF5b3V0LWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgtYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlnQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb25maWctYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnVpdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNwaWRlcmx5TWVudUl0ZW0gZXh0ZW5kcyBNZW51SXRlbXtcclxuICAgIGhhc1Blcm1pc3Npb24/OiAocGVybWlzc2lvbkNvZGVzOiBzdHJpbmdbXSkgPT4gYm9vbGVhbjtcclxuICAgIHNob3dQYXJ0bmVyRGlhbG9nPzogYm9vbGVhbjsgXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzaWRlYmFyLW1lbnUnLCAvLyBGVDogRG9uJ3QgY2hhbmUgc2VsZWN0b3IgdG8gJ21lbnUnLCBiZWNhdXNlIG90aGVyIHN0eWxlIHdpbGwgYXBwbHkgdG8gaXRcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgTWVudWl0ZW1Db21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG1lbnU6IFNwaWRlcmx5TWVudUl0ZW1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0QmFzZVNlcnZpY2UsIFxyXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhCYXNlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ0Jhc2VTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51OyBsZXQgaSA9IGluZGV4O1wiPlxyXG4gICAgICAgIDxsaSBtZW51aXRlbSAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvclwiIFtpdGVtXT1cIml0ZW1cIiBbaW5kZXhdPVwiaVwiIFtyb290XT1cInRydWVcIj48L2xpPlxyXG4gICAgICAgIDxsaSAqbmdJZj1cIml0ZW0uc2VwYXJhdG9yXCIgY2xhc3M9XCJncmF5LXNlcGFyYXRvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTFweDtcIj48L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvdWw+XHJcbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SidebarMenuService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.menuSource = new Subject();
|
|
7
|
-
this.resetSource = new Subject();
|
|
8
|
-
this.menuSource$ = this.menuSource.asObservable();
|
|
9
|
-
this.resetSource$ = this.resetSource.asObservable();
|
|
10
|
-
}
|
|
11
|
-
onMenuStateChange(event) {
|
|
12
|
-
this.menuSource.next(event);
|
|
13
|
-
}
|
|
14
|
-
reset() {
|
|
15
|
-
this.resetSource.next(true);
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, providedIn: 'root' }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, decorators: [{
|
|
21
|
-
type: Injectable,
|
|
22
|
-
args: [{
|
|
23
|
-
providedIn: 'root'
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0vQixNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVksZUFBVSxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQzVDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVwQyxnQkFBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsaUJBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBU2xEO0lBUEcsaUJBQWlCLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQWJRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZW51Q2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9tZW51Y2hhbmdlZXZlbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTWVudVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBtZW51U291cmNlID0gbmV3IFN1YmplY3Q8TWVudUNoYW5nZUV2ZW50PigpO1xyXG4gICAgcHJpdmF0ZSByZXNldFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgbWVudVNvdXJjZSQgPSB0aGlzLm1lbnVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICByZXNldFNvdXJjZSQgPSB0aGlzLnJlc2V0U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIG9uTWVudVN0YXRlQ2hhbmdlKGV2ZW50OiBNZW51Q2hhbmdlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLm1lbnVTb3VyY2UubmV4dChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldFNvdXJjZS5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { SidebarMenuComponent } from './sidebar-menu.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AppSidebarComponent {
|
|
5
|
-
constructor(el) {
|
|
6
|
-
this.el = el;
|
|
7
|
-
}
|
|
8
|
-
ngOnInit() {
|
|
9
|
-
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppSidebarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AppSidebarComponent, isStandalone: true, selector: "sidebar", inputs: { menu: "menu" }, ngImport: i0, template: " <sidebar-menu [menu]=\"menu\"></sidebar-menu>\r\n", dependencies: [{ kind: "component", type: SidebarMenuComponent, selector: "sidebar-menu", inputs: ["menu"] }] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppSidebarComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'sidebar', standalone: true, imports: [
|
|
16
|
-
SidebarMenuComponent
|
|
17
|
-
], template: " <sidebar-menu [menu]=\"menu\"></sidebar-menu>\r\n" }]
|
|
18
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { menu: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQW9CLE1BQU0sMEJBQTBCLENBQUM7O0FBVWxGLE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsWUFBbUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFDakMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOytHQVBRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZGQ1hoQyxvREFDQSw0Q0RPUSxvQkFBb0I7OzRGQUdmLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxTQUFTLGNBRVAsSUFBSSxXQUNQO3dCQUNMLG9CQUFvQjtxQkFDdkI7K0VBR1EsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTWVudUNvbXBvbmVudCwgU3BpZGVybHlNZW51SXRlbSB9IGZyb20gJy4vc2lkZWJhci1tZW51LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2lkZWJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFNpZGViYXJNZW51Q29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTaWRlYmFyQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIG1lbnU6IFNwaWRlcmx5TWVudUl0ZW1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgIH1cclxufVxyXG5cclxuIiwiIDxzaWRlYmFyLW1lbnUgW21lbnVdPVwibWVudVwiPjwvc2lkZWJhci1tZW51PlxyXG4iXX0=
|