aril 0.0.65 → 0.0.67
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/README.md +48 -48
- package/boot/config/apps/src/apps.service.d.ts +0 -1
- package/boot/config/apps/src/interfaces.d.ts +2 -1
- package/esm2022/boot/config/apps/src/apps.service.mjs +14 -8
- package/esm2022/boot/config/apps/src/interfaces.mjs +1 -2
- package/esm2022/boot/index.mjs +1 -1
- package/esm2022/boot/mfe/index.mjs +1 -1
- package/esm2022/boot/mfe/src/app.component.mjs +8 -1
- package/esm2022/boot/mfe/src/loadStyles.mjs +11 -2
- package/esm2022/http/lib/enums.mjs +2 -1
- package/esm2022/http/lib/interfaces.mjs +1 -1
- package/esm2022/http/src/httpClient.mjs +1 -1
- package/esm2022/http/src/serviceBase.mjs +7 -1
- package/esm2022/http/src/serviceStateMethods.mjs +22 -17
- package/esm2022/i18n/index.mjs +1 -1
- package/esm2022/i18n/src/folder-name-token.mjs +1 -1
- package/esm2022/i18n/src/i18n.module.mjs +1 -1
- package/esm2022/i18n/src/loader.mjs +1 -1
- package/esm2022/i18n/src/provideI18n.mjs +1 -1
- package/esm2022/i18n/src/provideScope.mjs +1 -1
- package/esm2022/keycloak/index.mjs +1 -1
- package/esm2022/keycloak/src/auth.guard.mjs +1 -1
- package/esm2022/keycloak/src/keycloak.manager.mjs +11 -8
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/theme/index.mjs +1 -1
- package/esm2022/theme/layout/app/config/app.config.component.mjs +3 -3
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +5 -4
- package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +9 -13
- package/esm2022/theme/layout/app/menu/app.menu.component.mjs +26 -13
- package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +1 -2
- package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +1 -1
- package/esm2022/theme/layout/service/app.layout.service.mjs +3 -2
- package/esm2022/theme/layout/service/app.menu.service.mjs +14 -3
- package/esm2022/theme/layout/service/menuchangeevent.mjs +1 -1
- package/esm2022/ui/badge/index.mjs +1 -1
- package/esm2022/ui/badge/src/badge.component.mjs +3 -3
- package/esm2022/ui/button/index.mjs +1 -1
- package/esm2022/ui/button/src/split-button.component.mjs +3 -3
- package/esm2022/ui/calendar/index.mjs +1 -1
- package/esm2022/ui/calendar/src/calendar.component.mjs +2 -2
- package/esm2022/ui/checkbox/index.mjs +1 -1
- package/esm2022/ui/checkbox/src/check-box.component.mjs +3 -3
- package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +3 -3
- package/esm2022/ui/dxField/index.mjs +1 -1
- package/esm2022/ui/field/index.mjs +1 -1
- package/esm2022/ui/fileUpload/index.mjs +1 -1
- package/esm2022/ui/fileUpload/src/file-upload.component.mjs +7 -3
- package/esm2022/ui/form/index.mjs +1 -1
- package/esm2022/ui/form/src/form-submit-button.component.mjs +3 -3
- package/esm2022/ui/form/src/form.component.mjs +1 -1
- package/esm2022/ui/index.mjs +1 -1
- package/esm2022/ui/lib/index.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-error-message.component.mjs +9 -9
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-field-builder.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-validation.mjs +1 -1
- package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/baseInput.mjs +1 -1
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +1 -1
- package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-transforms.mjs +1 -1
- package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +1 -1
- package/esm2022/ui/mask/index.mjs +1 -1
- package/esm2022/ui/mask/src/mask.component.mjs +3 -3
- package/esm2022/ui/number/index.mjs +1 -1
- package/esm2022/ui/number/src/number.component.mjs +3 -3
- package/esm2022/ui/overlayPanel/index.mjs +1 -1
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +3 -3
- package/esm2022/ui/panel/index.mjs +1 -1
- package/esm2022/ui/panel/src/panel.component.mjs +1 -1
- package/esm2022/ui/password/index.mjs +1 -1
- package/esm2022/ui/password/src/password.component.mjs +3 -3
- package/esm2022/ui/radioButton/index.mjs +1 -1
- package/esm2022/ui/radioButton/src/radio-button.component.mjs +3 -3
- package/esm2022/ui/selectBox/index.mjs +1 -1
- package/esm2022/ui/switch/index.mjs +1 -1
- package/esm2022/ui/switch/src/switch.component.mjs +3 -3
- package/esm2022/ui/table/src/i18n.mjs +1 -1
- package/esm2022/ui/tagBox/index.mjs +1 -1
- package/esm2022/ui/tagBox/src/tag-box.component.mjs +3 -3
- package/esm2022/ui/text/index.mjs +1 -1
- package/esm2022/ui/text/src/text.component.mjs +3 -3
- package/esm2022/ui/textArea/index.mjs +1 -1
- package/esm2022/ui/textArea/src/text-area.component.mjs +3 -3
- package/esm2022/ui/tree/index.mjs +1 -1
- package/esm2022/ui/tree/src/tree.component.mjs +3 -3
- package/esm2022/ui/treeTable/index.mjs +1 -1
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +3 -3
- package/esm2022/ui/value/index.mjs +1 -1
- package/esm2022/util/block/index.mjs +1 -1
- package/esm2022/util/custom_pages/index.mjs +1 -1
- package/esm2022/util/index.mjs +1 -1
- package/esm2022/util/init-event/index.mjs +1 -1
- package/esm2022/util/init-event/src/init-event.directive.mjs +1 -1
- package/esm2022/util/lib/index.mjs +1 -1
- package/esm2022/util/lib/src/interfaces.mjs +1 -1
- package/esm2022/util/lib/src/module-router.mjs +1 -1
- package/esm2022/util/lib/src/types.mjs +1 -1
- package/esm2022/util/loaders/index.mjs +1 -1
- package/esm2022/util/loaders/script/script.loader.service.mjs +1 -1
- package/esm2022/util/loaders/style/style.loader.service.mjs +1 -1
- package/esm2022/util/primitive-extensions/index.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/date.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/number.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/string.extensions.mjs +1 -1
- package/esm2022/util/pub-sub/index.mjs +1 -1
- package/esm2022/util/unwrap/aril-util-unwrap.mjs +5 -0
- package/esm2022/util/unwrap/index.mjs +2 -0
- package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +24 -0
- package/fesm2022/{aril-app.component-c363Er6g.mjs → aril-app.component-dmR7mr2v.mjs} +8 -1
- package/fesm2022/aril-app.component-dmR7mr2v.mjs.map +1 -0
- package/fesm2022/aril-boot-config-apps.mjs +13 -8
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-WWRmTfs5.mjs → aril-boot-mfe-app.component-56mRBcx9.mjs} +10 -2
- package/fesm2022/aril-boot-mfe-app.component-56mRBcx9.mjs.map +1 -0
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-PwAGdNZE.mjs → aril-boot-mfe-aril-boot-mfe-oBeQubOm.mjs} +12 -3
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-oBeQubOm.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +2 -1
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/aril-boot.mjs.map +1 -1
- package/fesm2022/aril-http.mjs +28 -16
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-i18n.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +10 -8
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +54 -33
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-theme.mjs.map +1 -1
- package/fesm2022/aril-ui-badge.mjs +2 -2
- package/fesm2022/aril-ui-badge.mjs.map +1 -1
- package/fesm2022/aril-ui-button.mjs +2 -2
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-calendar.mjs +1 -1
- package/fesm2022/aril-ui-calendar.mjs.map +1 -1
- package/fesm2022/aril-ui-checkbox.mjs +4 -4
- package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
- package/fesm2022/aril-ui-fileUpload.mjs +6 -2
- package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
- package/fesm2022/aril-ui-form.mjs +2 -2
- package/fesm2022/aril-ui-form.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs +8 -8
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-mask.mjs +2 -2
- package/fesm2022/aril-ui-mask.mjs.map +1 -1
- package/fesm2022/aril-ui-number.mjs +2 -2
- package/fesm2022/aril-ui-number.mjs.map +1 -1
- package/fesm2022/aril-ui-overlayPanel.mjs +2 -2
- package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
- package/fesm2022/aril-ui-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-password.mjs +2 -2
- package/fesm2022/aril-ui-password.mjs.map +1 -1
- package/fesm2022/aril-ui-radioButton.mjs +2 -2
- package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
- package/fesm2022/aril-ui-switch.mjs +2 -2
- package/fesm2022/aril-ui-switch.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-tagBox.mjs +2 -2
- package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
- package/fesm2022/aril-ui-text.mjs +2 -2
- package/fesm2022/aril-ui-text.mjs.map +1 -1
- package/fesm2022/aril-ui-textArea.mjs +2 -2
- package/fesm2022/aril-ui-textArea.mjs.map +1 -1
- package/fesm2022/aril-ui-tree.mjs +2 -2
- package/fesm2022/aril-ui-tree.mjs.map +1 -1
- package/fesm2022/aril-ui-treeTable.mjs +2 -2
- package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
- package/fesm2022/aril-ui.mjs.map +1 -1
- package/fesm2022/aril-util-init-event.mjs.map +1 -1
- package/fesm2022/aril-util-lib.mjs.map +1 -1
- package/fesm2022/aril-util-loaders.mjs.map +1 -1
- package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
- package/fesm2022/aril-util-unwrap.mjs +31 -0
- package/fesm2022/aril-util-unwrap.mjs.map +1 -0
- package/fesm2022/aril-util.mjs.map +1 -1
- package/fesm2022/aril.mjs +11 -3
- package/fesm2022/aril.mjs.map +1 -1
- package/http/lib/enums.d.ts +1 -0
- package/http/lib/interfaces.d.ts +5 -0
- package/keycloak/src/keycloak.manager.d.ts +3 -1
- package/package.json +125 -119
- package/styles/ui/ui.common.scss +24 -24
- package/theme/index.ts +1 -1
- package/theme/layout/app/config/app.config.component.html +142 -142
- package/theme/layout/app/config/app.config.component.ts +143 -143
- package/theme/layout/app/layout/app.layout.component.html +1 -1
- package/theme/layout/app/layout/app.layout.component.ts +172 -172
- package/theme/layout/app/layout/mfe.layout.component.d.ts +2 -3
- package/theme/layout/app/layout/mfe.layout.component.ts +8 -13
- package/theme/layout/app/menu/app.menu.component.d.ts +4 -3
- package/theme/layout/app/menu/app.menu.component.html +1 -1
- package/theme/layout/app/menu/app.menu.component.ts +19 -15
- package/theme/layout/app/menu/app.sub.menu.component.html +7 -13
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +1 -1
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +3 -3
- package/theme/layout/app/sidebar/app.sidebar.component.ts +44 -44
- package/theme/layout/ng-package.json +6 -6
- package/theme/layout/service/app.layout.service.d.ts +1 -0
- package/theme/layout/service/app.layout.service.ts +3 -1
- package/theme/layout/service/app.menu.service.d.ts +1 -0
- package/theme/layout/service/app.menu.service.ts +15 -2
- package/theme/layout/service/menuchangeevent.ts +4 -4
- package/theme/ng-package.json +6 -6
- package/theme/styles/layout/_animation.scss +53 -53
- package/theme/styles/layout/_breadcrumb.scss +21 -21
- package/theme/styles/layout/_config.scss +42 -42
- package/theme/styles/layout/_content.scss +3 -3
- package/theme/styles/layout/_fonts.scss +40 -40
- package/theme/styles/layout/_layout_dark.scss +5 -5
- package/theme/styles/layout/_layout_dim.scss +5 -5
- package/theme/styles/layout/_layout_light.scss +5 -5
- package/theme/styles/layout/_main.scss +28 -28
- package/theme/styles/layout/_profile.scss +10 -10
- package/theme/styles/layout/_responsive.scss +111 -111
- package/theme/styles/layout/_sidebar_drawer.scss +234 -234
- package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
- package/theme/styles/layout/_sidebar_reveal.scss +201 -201
- package/theme/styles/layout/_sidebar_slim.scss +144 -144
- package/theme/styles/layout/_sidebar_slim_plus.scss +2 -2
- package/theme/styles/layout/_sidebar_vertical.scss +153 -153
- package/theme/styles/layout/_typography.scss +68 -68
- package/theme/styles/layout/_utils.scss +24 -24
- package/theme/styles/layout/layout.scss +24 -24
- package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
- package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
- package/theme/styles/layout/menutheme/_transparent.scss +26 -26
- package/theme/styles/layout/preloading.scss +84 -84
- package/theme/styles/theme/base/_colors.scss +17 -17
- package/theme/styles/theme/base/_common.scss +76 -76
- package/theme/styles/theme/base/_components.scss +106 -106
- package/theme/styles/theme/base/_mixins.scss +337 -337
- package/theme/styles/theme/base/components/button/_button.scss +576 -576
- package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
- package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
- package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
- package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
- package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
- package/theme/styles/theme/base/components/data/_filter.scss +137 -137
- package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
- package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
- package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
- package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
- package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
- package/theme/styles/theme/base/components/data/_tree.scss +150 -150
- package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
- package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
- package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
- package/theme/styles/theme/base/components/input/_autocomplete.scss +136 -136
- package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
- package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
- package/theme/styles/theme/base/components/input/_checkbox.scss +94 -94
- package/theme/styles/theme/base/components/input/_chips.scss +65 -65
- package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
- package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
- package/theme/styles/theme/base/components/input/_editor.scss +122 -122
- package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
- package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
- package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
- package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
- package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
- package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
- package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
- package/theme/styles/theme/base/components/input/_password.scss +52 -52
- package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
- package/theme/styles/theme/base/components/input/_rating.scss +60 -60
- package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
- package/theme/styles/theme/base/components/input/_slider.scss +75 -75
- package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
- package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
- package/theme/styles/theme/base/components/menu/_breadcrumb.scss +42 -42
- package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
- package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
- package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
- package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
- package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
- package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
- package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
- package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
- package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
- package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
- package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
- package/theme/styles/theme/base/components/messages/_message.scss +107 -107
- package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
- package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
- package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
- package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
- package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
- package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
- package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
- package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
- package/theme/styles/theme/base/components/misc/_tag.scss +40 -40
- package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
- package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
- package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
- package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
- package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
- package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
- package/theme/styles/theme/base/components/overlay/_sidebar.scss +27 -27
- package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
- package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
- package/theme/styles/theme/base/components/panel/_card.scss +30 -30
- package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
- package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
- package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
- package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
- package/theme/styles/theme/base/components/panel/_tabview.scss +82 -82
- package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
- package/theme/styles/theme/dark/_extensions.scss +134 -134
- package/theme/styles/theme/dark/_variables.scss +918 -918
- package/theme/styles/theme/dark/blue/theme.scss +14 -14
- package/theme/styles/theme/dark/indigo/theme.scss +14 -14
- package/theme/styles/theme/dark/orange/theme.scss +14 -0
- package/theme/styles/theme/light/_extensions.scss +116 -116
- package/theme/styles/theme/light/blue/theme.scss +14 -14
- package/theme/styles/theme/light/indigo/theme.scss +14 -14
- package/theme/styles/theme/light/orange/theme.scss +14 -0
- package/ui/fileUpload/src/file-upload.component.d.ts +3 -1
- package/util/unwrap/index.d.ts +1 -0
- package/util/unwrap/src/unwrap-tag.directive.d.ts +9 -0
- package/fesm2022/aril-app.component-c363Er6g.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-app.component-WWRmTfs5.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-PwAGdNZE.mjs.map +0 -1
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
import { NgClass } from '@angular/common';
|
|
2
|
-
import { Component, OnDestroy, Renderer2, ViewChild } from '@angular/core';
|
|
3
|
-
import { NavigationEnd, Router, RouterOutlet } from '@angular/router';
|
|
4
|
-
|
|
5
|
-
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
6
|
-
import { ConfirmPopupModule } from 'primeng/confirmpopup';
|
|
7
|
-
import { DialogModule } from 'primeng/dialog';
|
|
8
|
-
import { MessagesModule } from 'primeng/messages';
|
|
9
|
-
import { ToastModule } from 'primeng/toast';
|
|
10
|
-
|
|
11
|
-
import { Subscription, filter } from 'rxjs';
|
|
12
|
-
|
|
13
|
-
import { LayoutService } from '../../service/app.layout.service';
|
|
14
|
-
import { AppMenuService } from '../../service/app.menu.service';
|
|
15
|
-
import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
|
|
16
|
-
import { AppConfigComponent } from '../config/app.config.component';
|
|
17
|
-
import { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';
|
|
18
|
-
import { AppSidebarComponent } from '../sidebar/app.sidebar.component';
|
|
19
|
-
import { AppTopbarComponent } from '../topbar/app.topbar.component';
|
|
20
|
-
|
|
21
|
-
@Component({
|
|
22
|
-
standalone: true,
|
|
23
|
-
selector: 'app-layout',
|
|
24
|
-
imports: [
|
|
25
|
-
NgClass,
|
|
26
|
-
RouterOutlet,
|
|
27
|
-
ConfirmDialogModule,
|
|
28
|
-
ConfirmPopupModule,
|
|
29
|
-
DialogModule,
|
|
30
|
-
MessagesModule,
|
|
31
|
-
ToastModule,
|
|
32
|
-
AppSidebarComponent,
|
|
33
|
-
AppTopbarComponent,
|
|
34
|
-
AppBreadcrumbComponent,
|
|
35
|
-
AppProfileSidebarComponent,
|
|
36
|
-
AppConfigComponent
|
|
37
|
-
],
|
|
38
|
-
templateUrl: './app.layout.component.html'
|
|
39
|
-
})
|
|
40
|
-
export class AppLayoutComponent implements OnDestroy {
|
|
41
|
-
overlayMenuOpenSubscription: Subscription;
|
|
42
|
-
|
|
43
|
-
menuOutsideClickListener: any;
|
|
44
|
-
|
|
45
|
-
menuScrollListener: any;
|
|
46
|
-
|
|
47
|
-
globalThis: any = globalThis;
|
|
48
|
-
|
|
49
|
-
@ViewChild(AppSidebarComponent) appSidebar!: AppSidebarComponent;
|
|
50
|
-
|
|
51
|
-
@ViewChild(AppTopbarComponent) appTopbar!: AppTopbarComponent;
|
|
52
|
-
|
|
53
|
-
constructor(
|
|
54
|
-
private menuService: AppMenuService,
|
|
55
|
-
public layoutService: LayoutService,
|
|
56
|
-
public renderer: Renderer2,
|
|
57
|
-
public router: Router
|
|
58
|
-
) {
|
|
59
|
-
this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
|
|
60
|
-
if (!this.menuOutsideClickListener) {
|
|
61
|
-
this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {
|
|
62
|
-
const isOutsideClicked = !(
|
|
63
|
-
this.appSidebar.el.nativeElement.isSameNode(event.target) ||
|
|
64
|
-
this.appSidebar.el.nativeElement.contains(event.target) ||
|
|
65
|
-
this.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||
|
|
66
|
-
this.appTopbar.menuButton.nativeElement.contains(event.target)
|
|
67
|
-
);
|
|
68
|
-
if (isOutsideClicked) {
|
|
69
|
-
this.hideMenu();
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus()) &&
|
|
76
|
-
!this.menuScrollListener
|
|
77
|
-
) {
|
|
78
|
-
this.menuScrollListener = this.renderer.listen(
|
|
79
|
-
this.appSidebar.menuContainer.nativeElement,
|
|
80
|
-
'scroll',
|
|
81
|
-
(event) => {
|
|
82
|
-
if (this.layoutService.isDesktop()) {
|
|
83
|
-
this.hideMenu();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (this.layoutService.state.staticMenuMobileActive) {
|
|
90
|
-
this.blockBodyScroll();
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
|
|
95
|
-
this.hideMenu();
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
blockBodyScroll(): void {
|
|
100
|
-
if (document.body.classList) {
|
|
101
|
-
document.body.classList.add('blocked-scroll');
|
|
102
|
-
} else {
|
|
103
|
-
document.body.className += ' blocked-scroll';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
unblockBodyScroll(): void {
|
|
108
|
-
if (document.body.classList) {
|
|
109
|
-
document.body.classList.remove('blocked-scroll');
|
|
110
|
-
} else {
|
|
111
|
-
document.body.className = document.body.className.replace(
|
|
112
|
-
new RegExp('(^|\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'),
|
|
113
|
-
' '
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
hideMenu() {
|
|
119
|
-
this.layoutService.state.overlayMenuActive = false;
|
|
120
|
-
this.layoutService.state.staticMenuMobileActive = false;
|
|
121
|
-
this.layoutService.state.menuHoverActive = false;
|
|
122
|
-
this.menuService.reset();
|
|
123
|
-
|
|
124
|
-
if (this.menuOutsideClickListener) {
|
|
125
|
-
this.menuOutsideClickListener();
|
|
126
|
-
this.menuOutsideClickListener = null;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
if (this.menuScrollListener) {
|
|
130
|
-
this.menuScrollListener();
|
|
131
|
-
this.menuScrollListener = null;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
this.unblockBodyScroll();
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
get containerClass() {
|
|
138
|
-
return {
|
|
139
|
-
'layout-light': this.layoutService.config().colorScheme === 'light',
|
|
140
|
-
'layout-dim': this.layoutService.config().colorScheme === 'dim',
|
|
141
|
-
'layout-dark': this.layoutService.config().colorScheme === 'dark',
|
|
142
|
-
'layout-colorscheme-menu': this.layoutService.config().menuTheme === 'colorScheme',
|
|
143
|
-
'layout-primarycolor-menu': this.layoutService.config().menuTheme === 'primaryColor',
|
|
144
|
-
'layout-transparent-menu': this.layoutService.config().menuTheme === 'transparent',
|
|
145
|
-
'layout-overlay': this.layoutService.config().menuMode === 'overlay',
|
|
146
|
-
'layout-static': this.layoutService.config().menuMode === 'static',
|
|
147
|
-
'layout-slim': this.layoutService.config().menuMode === 'slim',
|
|
148
|
-
'layout-slim-plus': this.layoutService.config().menuMode === 'slim-plus',
|
|
149
|
-
'layout-horizontal': this.layoutService.config().menuMode === 'horizontal',
|
|
150
|
-
'layout-reveal': this.layoutService.config().menuMode === 'reveal',
|
|
151
|
-
'layout-drawer': this.layoutService.config().menuMode === 'drawer',
|
|
152
|
-
'layout-static-inactive':
|
|
153
|
-
this.layoutService.state.staticMenuDesktopInactive && this.layoutService.config().menuMode === 'static',
|
|
154
|
-
'layout-overlay-active': this.layoutService.state.overlayMenuActive,
|
|
155
|
-
'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,
|
|
156
|
-
'p-input-filled': this.layoutService.config().inputStyle === 'filled',
|
|
157
|
-
'p-ripple-disabled': !this.layoutService.config().ripple,
|
|
158
|
-
'layout-sidebar-active': this.layoutService.state.sidebarActive,
|
|
159
|
-
'layout-sidebar-anchored': this.layoutService.state.anchored
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
ngOnDestroy() {
|
|
164
|
-
if (this.overlayMenuOpenSubscription) {
|
|
165
|
-
this.overlayMenuOpenSubscription.unsubscribe();
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
if (this.menuOutsideClickListener) {
|
|
169
|
-
this.menuOutsideClickListener();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
1
|
+
import { NgClass } from '@angular/common';
|
|
2
|
+
import { Component, OnDestroy, Renderer2, ViewChild } from '@angular/core';
|
|
3
|
+
import { NavigationEnd, Router, RouterOutlet } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
6
|
+
import { ConfirmPopupModule } from 'primeng/confirmpopup';
|
|
7
|
+
import { DialogModule } from 'primeng/dialog';
|
|
8
|
+
import { MessagesModule } from 'primeng/messages';
|
|
9
|
+
import { ToastModule } from 'primeng/toast';
|
|
10
|
+
|
|
11
|
+
import { Subscription, filter } from 'rxjs';
|
|
12
|
+
|
|
13
|
+
import { LayoutService } from '../../service/app.layout.service';
|
|
14
|
+
import { AppMenuService } from '../../service/app.menu.service';
|
|
15
|
+
import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
|
|
16
|
+
import { AppConfigComponent } from '../config/app.config.component';
|
|
17
|
+
import { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';
|
|
18
|
+
import { AppSidebarComponent } from '../sidebar/app.sidebar.component';
|
|
19
|
+
import { AppTopbarComponent } from '../topbar/app.topbar.component';
|
|
20
|
+
|
|
21
|
+
@Component({
|
|
22
|
+
standalone: true,
|
|
23
|
+
selector: 'app-layout',
|
|
24
|
+
imports: [
|
|
25
|
+
NgClass,
|
|
26
|
+
RouterOutlet,
|
|
27
|
+
ConfirmDialogModule,
|
|
28
|
+
ConfirmPopupModule,
|
|
29
|
+
DialogModule,
|
|
30
|
+
MessagesModule,
|
|
31
|
+
ToastModule,
|
|
32
|
+
AppSidebarComponent,
|
|
33
|
+
AppTopbarComponent,
|
|
34
|
+
AppBreadcrumbComponent,
|
|
35
|
+
AppProfileSidebarComponent,
|
|
36
|
+
AppConfigComponent
|
|
37
|
+
],
|
|
38
|
+
templateUrl: './app.layout.component.html'
|
|
39
|
+
})
|
|
40
|
+
export class AppLayoutComponent implements OnDestroy {
|
|
41
|
+
overlayMenuOpenSubscription: Subscription;
|
|
42
|
+
|
|
43
|
+
menuOutsideClickListener: any;
|
|
44
|
+
|
|
45
|
+
menuScrollListener: any;
|
|
46
|
+
|
|
47
|
+
globalThis: any = globalThis;
|
|
48
|
+
|
|
49
|
+
@ViewChild(AppSidebarComponent) appSidebar!: AppSidebarComponent;
|
|
50
|
+
|
|
51
|
+
@ViewChild(AppTopbarComponent) appTopbar!: AppTopbarComponent;
|
|
52
|
+
|
|
53
|
+
constructor(
|
|
54
|
+
private menuService: AppMenuService,
|
|
55
|
+
public layoutService: LayoutService,
|
|
56
|
+
public renderer: Renderer2,
|
|
57
|
+
public router: Router
|
|
58
|
+
) {
|
|
59
|
+
this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
|
|
60
|
+
if (!this.menuOutsideClickListener) {
|
|
61
|
+
this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {
|
|
62
|
+
const isOutsideClicked = !(
|
|
63
|
+
this.appSidebar.el.nativeElement.isSameNode(event.target) ||
|
|
64
|
+
this.appSidebar.el.nativeElement.contains(event.target) ||
|
|
65
|
+
this.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||
|
|
66
|
+
this.appTopbar.menuButton.nativeElement.contains(event.target)
|
|
67
|
+
);
|
|
68
|
+
if (isOutsideClicked) {
|
|
69
|
+
this.hideMenu();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (
|
|
75
|
+
(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus()) &&
|
|
76
|
+
!this.menuScrollListener
|
|
77
|
+
) {
|
|
78
|
+
this.menuScrollListener = this.renderer.listen(
|
|
79
|
+
this.appSidebar.menuContainer.nativeElement,
|
|
80
|
+
'scroll',
|
|
81
|
+
(event) => {
|
|
82
|
+
if (this.layoutService.isDesktop()) {
|
|
83
|
+
this.hideMenu();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (this.layoutService.state.staticMenuMobileActive) {
|
|
90
|
+
this.blockBodyScroll();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
|
|
95
|
+
if (!this.layoutService.mfeAppItemClicked()) this.hideMenu();
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
blockBodyScroll(): void {
|
|
100
|
+
if (document.body.classList) {
|
|
101
|
+
document.body.classList.add('blocked-scroll');
|
|
102
|
+
} else {
|
|
103
|
+
document.body.className += ' blocked-scroll';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
unblockBodyScroll(): void {
|
|
108
|
+
if (document.body.classList) {
|
|
109
|
+
document.body.classList.remove('blocked-scroll');
|
|
110
|
+
} else {
|
|
111
|
+
document.body.className = document.body.className.replace(
|
|
112
|
+
new RegExp('(^|\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'),
|
|
113
|
+
' '
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
hideMenu() {
|
|
119
|
+
this.layoutService.state.overlayMenuActive = false;
|
|
120
|
+
this.layoutService.state.staticMenuMobileActive = false;
|
|
121
|
+
this.layoutService.state.menuHoverActive = false;
|
|
122
|
+
this.menuService.reset();
|
|
123
|
+
|
|
124
|
+
if (this.menuOutsideClickListener) {
|
|
125
|
+
this.menuOutsideClickListener();
|
|
126
|
+
this.menuOutsideClickListener = null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (this.menuScrollListener) {
|
|
130
|
+
this.menuScrollListener();
|
|
131
|
+
this.menuScrollListener = null;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
this.unblockBodyScroll();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
get containerClass() {
|
|
138
|
+
return {
|
|
139
|
+
'layout-light': this.layoutService.config().colorScheme === 'light',
|
|
140
|
+
'layout-dim': this.layoutService.config().colorScheme === 'dim',
|
|
141
|
+
'layout-dark': this.layoutService.config().colorScheme === 'dark',
|
|
142
|
+
'layout-colorscheme-menu': this.layoutService.config().menuTheme === 'colorScheme',
|
|
143
|
+
'layout-primarycolor-menu': this.layoutService.config().menuTheme === 'primaryColor',
|
|
144
|
+
'layout-transparent-menu': this.layoutService.config().menuTheme === 'transparent',
|
|
145
|
+
'layout-overlay': this.layoutService.config().menuMode === 'overlay',
|
|
146
|
+
'layout-static': this.layoutService.config().menuMode === 'static',
|
|
147
|
+
'layout-slim': this.layoutService.config().menuMode === 'slim',
|
|
148
|
+
'layout-slim-plus': this.layoutService.config().menuMode === 'slim-plus',
|
|
149
|
+
'layout-horizontal': this.layoutService.config().menuMode === 'horizontal',
|
|
150
|
+
'layout-reveal': this.layoutService.config().menuMode === 'reveal',
|
|
151
|
+
'layout-drawer': this.layoutService.config().menuMode === 'drawer',
|
|
152
|
+
'layout-static-inactive':
|
|
153
|
+
this.layoutService.state.staticMenuDesktopInactive && this.layoutService.config().menuMode === 'static',
|
|
154
|
+
'layout-overlay-active': this.layoutService.state.overlayMenuActive,
|
|
155
|
+
'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,
|
|
156
|
+
'p-input-filled': this.layoutService.config().inputStyle === 'filled',
|
|
157
|
+
'p-ripple-disabled': !this.layoutService.config().ripple,
|
|
158
|
+
'layout-sidebar-active': this.layoutService.state.sidebarActive,
|
|
159
|
+
'layout-sidebar-anchored': this.layoutService.state.anchored
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
ngOnDestroy() {
|
|
164
|
+
if (this.overlayMenuOpenSubscription) {
|
|
165
|
+
this.overlayMenuOpenSubscription.unsubscribe();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (this.menuOutsideClickListener) {
|
|
169
|
+
this.menuOutsideClickListener();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { AfterViewInit
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class MFELayoutComponent implements AfterViewInit
|
|
3
|
+
export declare class MFELayoutComponent implements AfterViewInit {
|
|
4
4
|
ngAfterViewInit(): void;
|
|
5
|
-
ngOnDestroy(): void;
|
|
6
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<MFELayoutComponent, never>;
|
|
7
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<MFELayoutComponent, "mfe-layout", never, {}, {}, never, never, true, never>;
|
|
8
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, Component
|
|
1
|
+
import { AfterViewInit, Component } from '@angular/core';
|
|
2
2
|
import { RouterOutlet } from '@angular/router';
|
|
3
3
|
|
|
4
4
|
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
@@ -13,7 +13,7 @@ import { AppSubMenuComponent } from '../menu/app.menu.component';
|
|
|
13
13
|
standalone: true,
|
|
14
14
|
selector: 'mfe-layout',
|
|
15
15
|
template: `
|
|
16
|
-
<app-sub-menu hidden></app-sub-menu>
|
|
16
|
+
<!-- <app-sub-menu hidden></app-sub-menu> -->
|
|
17
17
|
|
|
18
18
|
<router-outlet />
|
|
19
19
|
|
|
@@ -33,17 +33,12 @@ import { AppSubMenuComponent } from '../menu/app.menu.component';
|
|
|
33
33
|
AppSubMenuComponent
|
|
34
34
|
]
|
|
35
35
|
})
|
|
36
|
-
export class MFELayoutComponent implements AfterViewInit
|
|
36
|
+
export class MFELayoutComponent implements AfterViewInit {
|
|
37
37
|
ngAfterViewInit(): void {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, 10);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
ngOnDestroy(): void {
|
|
47
|
-
document.getElementById('app-sub-menu-' + (<any>globalThis).activeMF)?.remove();
|
|
38
|
+
// const appMenu = document.querySelector('app-menu>ul>li>ul#' + (<any>globalThis).activeMF);
|
|
39
|
+
// const subMenuId = 'app-sub-menu-' + (<any>globalThis).activeMF;
|
|
40
|
+
// const subMenu = document.getElementById(subMenuId) as HTMLElement;
|
|
41
|
+
// appMenu?.replaceChildren(...Array.from(subMenu.children));
|
|
42
|
+
// document.querySelector(subMenuId)?.remove();
|
|
48
43
|
}
|
|
49
44
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnimationEvent } from '@angular/animations';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { MenuItem } from 'primeng/api';
|
|
5
5
|
import { Subscription } from 'rxjs';
|
|
@@ -8,7 +8,6 @@ import { AppMenuService } from '../../service/app.menu.service';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
10
10
|
layoutService: LayoutService;
|
|
11
|
-
private cd;
|
|
12
11
|
router: Router;
|
|
13
12
|
menuService: AppMenuService;
|
|
14
13
|
item: MenuItem;
|
|
@@ -20,7 +19,7 @@ export declare class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
20
19
|
menuSourceSubscription: Subscription;
|
|
21
20
|
menuResetSubscription: Subscription;
|
|
22
21
|
key: string;
|
|
23
|
-
constructor(layoutService: LayoutService,
|
|
22
|
+
constructor(layoutService: LayoutService, router: Router, menuService: AppMenuService);
|
|
24
23
|
ngOnInit(): void;
|
|
25
24
|
ngAfterViewChecked(): void;
|
|
26
25
|
updateActiveStateFromRoute(): void;
|
|
@@ -39,6 +38,8 @@ export declare class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
39
38
|
}
|
|
40
39
|
export declare class AppMenuComponent {
|
|
41
40
|
menuService: AppMenuService;
|
|
41
|
+
isHostMode: any;
|
|
42
|
+
hostMenuItems: any;
|
|
42
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppMenuComponent, never>;
|
|
43
44
|
static ɵcmp: i0.ɵɵComponentDeclaration<AppMenuComponent, "app-menu", never, {}, {}, never, never, true, never>;
|
|
44
45
|
}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
2
|
import { NgClass } from '@angular/common';
|
|
3
|
-
import {
|
|
4
|
-
ChangeDetectorRef,
|
|
5
|
-
Component,
|
|
6
|
-
ElementRef,
|
|
7
|
-
HostBinding,
|
|
8
|
-
Input,
|
|
9
|
-
OnDestroy,
|
|
10
|
-
OnInit,
|
|
11
|
-
ViewChild,
|
|
12
|
-
inject
|
|
13
|
-
} from '@angular/core';
|
|
3
|
+
import { Component, ElementRef, HostBinding, Input, OnDestroy, OnInit, ViewChild, inject } from '@angular/core';
|
|
14
4
|
import { NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router';
|
|
15
5
|
|
|
16
6
|
import { MenuItem } from 'primeng/api';
|
|
@@ -127,7 +117,7 @@ import { AppMenuService } from '../../service/app.menu.service';
|
|
|
127
117
|
transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
128
118
|
])
|
|
129
119
|
],
|
|
130
|
-
styles: ['.active-root-menu-item { background-color:
|
|
120
|
+
styles: ['.active-root-menu-item { background-color: var(--primary-color); & > i,span { color: white !important } }']
|
|
131
121
|
})
|
|
132
122
|
export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
133
123
|
@Input() item!: MenuItem;
|
|
@@ -150,7 +140,6 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
150
140
|
|
|
151
141
|
constructor(
|
|
152
142
|
public layoutService: LayoutService,
|
|
153
|
-
private cd: ChangeDetectorRef,
|
|
154
143
|
public router: Router,
|
|
155
144
|
public menuService: AppMenuService
|
|
156
145
|
) {
|
|
@@ -172,14 +161,19 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
172
161
|
|
|
173
162
|
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params: any) => {
|
|
174
163
|
if (this.isSlimPlus || this.isSlim || this.isHorizontal) {
|
|
175
|
-
this.active = false;
|
|
164
|
+
if (!this.layoutService.mfeAppItemClicked()) this.active = false;
|
|
176
165
|
} else {
|
|
177
166
|
if (this.item.routerLink) {
|
|
178
167
|
this.updateActiveStateFromRoute();
|
|
179
168
|
}
|
|
180
169
|
}
|
|
181
170
|
|
|
182
|
-
if (
|
|
171
|
+
if (
|
|
172
|
+
this.item['path'] === params.url ||
|
|
173
|
+
this.item.routerLink === params.url ||
|
|
174
|
+
this.item.routerLink === params.urlAfterRedirects ||
|
|
175
|
+
this.item['remoteName'] === params.url.substring(1)
|
|
176
|
+
) {
|
|
183
177
|
this.menuService.activeRootMenuItemKey.set(this.key.charAt(0));
|
|
184
178
|
}
|
|
185
179
|
});
|
|
@@ -271,6 +265,12 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
271
265
|
|
|
272
266
|
if (this.root && this.active && (this.isSlim || this.isHorizontal || this.isSlimPlus)) {
|
|
273
267
|
this.layoutService.onOverlaySubmenuOpen();
|
|
268
|
+
|
|
269
|
+
if (this.item['mfeApp']) {
|
|
270
|
+
this.layoutService.mfeAppItemClicked.set(true);
|
|
271
|
+
} else {
|
|
272
|
+
this.layoutService.mfeAppItemClicked.set(false);
|
|
273
|
+
}
|
|
274
274
|
}
|
|
275
275
|
} else {
|
|
276
276
|
if (this.layoutService.isMobile()) {
|
|
@@ -288,6 +288,8 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
288
288
|
|
|
289
289
|
onMouseEnter() {
|
|
290
290
|
// activate item on hover
|
|
291
|
+
if ((<any>globalThis).isHostMode && !this.item.items?.length) return;
|
|
292
|
+
|
|
291
293
|
if (this.root && (this.isSlim || this.isHorizontal || this.isSlimPlus) && this.layoutService.isDesktop()) {
|
|
292
294
|
if (this.layoutService.state.menuHoverActive) {
|
|
293
295
|
this.active = true;
|
|
@@ -346,6 +348,8 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
346
348
|
})
|
|
347
349
|
export class AppMenuComponent {
|
|
348
350
|
menuService = inject(AppMenuService);
|
|
351
|
+
isHostMode = (<any>globalThis).isHostMode;
|
|
352
|
+
hostMenuItems = (<any>globalThis).hostMenuItems;
|
|
349
353
|
}
|
|
350
354
|
@Component({
|
|
351
355
|
standalone: true,
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<li app-menuitem [item]="subItem" [index]="$index" [root]="true"></li>
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
</ul>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
1
|
+
@for (subItem of menuService.subMenuItems(); track $index) {
|
|
2
|
+
@if (subItem.separator) {
|
|
3
|
+
<li class="menu-separator"></li>
|
|
4
|
+
} @else {
|
|
5
|
+
<li app-menuitem [item]="subItem" [index]="$index" [root]="false"></li>
|
|
6
|
+
}
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LayoutService } from '../../service/app.layout.service';
|
|
2
1
|
import { KeycloakManager } from 'aril/keycloak';
|
|
2
|
+
import { LayoutService } from '../../service/app.layout.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class AppProfileSidebarComponent {
|
|
5
5
|
layoutService: LayoutService;
|
|
@@ -3,9 +3,10 @@ import { Component, inject } from '@angular/core';
|
|
|
3
3
|
import { SidebarModule } from 'primeng/sidebar';
|
|
4
4
|
import { TagModule } from 'primeng/tag';
|
|
5
5
|
|
|
6
|
-
import { LayoutService } from '../../service/app.layout.service';
|
|
7
6
|
import { KeycloakManager } from 'aril/keycloak';
|
|
8
7
|
|
|
8
|
+
import { LayoutService } from '../../service/app.layout.service';
|
|
9
|
+
|
|
9
10
|
@Component({
|
|
10
11
|
standalone: true,
|
|
11
12
|
selector: 'app-profilemenu',
|
|
@@ -14,11 +15,10 @@ import { KeycloakManager } from 'aril/keycloak';
|
|
|
14
15
|
})
|
|
15
16
|
export class AppProfileSidebarComponent {
|
|
16
17
|
keyCloakManager = inject(KeycloakManager);
|
|
17
|
-
username
|
|
18
|
+
username: any;
|
|
18
19
|
|
|
19
20
|
constructor(public layoutService: LayoutService) {
|
|
20
21
|
this.username = this.keyCloakManager.getUsername();
|
|
21
|
-
console.log(this.username,"username")
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
get visible(): boolean {
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { RouterLink } from '@angular/router';
|
|
3
|
-
|
|
4
|
-
import { LayoutService } from '../../service/app.layout.service';
|
|
5
|
-
import { AppMenuComponent } from '../menu/app.menu.component';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
standalone: true,
|
|
9
|
-
selector: 'app-sidebar',
|
|
10
|
-
imports: [RouterLink, AppMenuComponent],
|
|
11
|
-
templateUrl: './app.sidebar.component.html'
|
|
12
|
-
})
|
|
13
|
-
export class AppSidebarComponent {
|
|
14
|
-
constructor(
|
|
15
|
-
public layoutService: LayoutService,
|
|
16
|
-
public el: ElementRef
|
|
17
|
-
) {}
|
|
18
|
-
|
|
19
|
-
timeout: any = null;
|
|
20
|
-
|
|
21
|
-
@ViewChild('menuContainer') menuContainer!: ElementRef;
|
|
22
|
-
|
|
23
|
-
onMouseEnter() {
|
|
24
|
-
if (!this.layoutService.state.anchored) {
|
|
25
|
-
if (this.timeout) {
|
|
26
|
-
clearTimeout(this.timeout);
|
|
27
|
-
this.timeout = null;
|
|
28
|
-
}
|
|
29
|
-
this.layoutService.state.sidebarActive = true;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
onMouseLeave() {
|
|
34
|
-
if (!this.layoutService.state.anchored) {
|
|
35
|
-
if (!this.timeout) {
|
|
36
|
-
this.timeout = setTimeout(() => (this.layoutService.state.sidebarActive = false), 300);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
anchor() {
|
|
42
|
-
this.layoutService.state.anchored = !this.layoutService.state.anchored;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
1
|
+
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
import { LayoutService } from '../../service/app.layout.service';
|
|
5
|
+
import { AppMenuComponent } from '../menu/app.menu.component';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
standalone: true,
|
|
9
|
+
selector: 'app-sidebar',
|
|
10
|
+
imports: [RouterLink, AppMenuComponent],
|
|
11
|
+
templateUrl: './app.sidebar.component.html'
|
|
12
|
+
})
|
|
13
|
+
export class AppSidebarComponent {
|
|
14
|
+
constructor(
|
|
15
|
+
public layoutService: LayoutService,
|
|
16
|
+
public el: ElementRef
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
timeout: any = null;
|
|
20
|
+
|
|
21
|
+
@ViewChild('menuContainer') menuContainer!: ElementRef;
|
|
22
|
+
|
|
23
|
+
onMouseEnter() {
|
|
24
|
+
if (!this.layoutService.state.anchored) {
|
|
25
|
+
if (this.timeout) {
|
|
26
|
+
clearTimeout(this.timeout);
|
|
27
|
+
this.timeout = null;
|
|
28
|
+
}
|
|
29
|
+
this.layoutService.state.sidebarActive = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
onMouseLeave() {
|
|
34
|
+
if (!this.layoutService.state.anchored) {
|
|
35
|
+
if (!this.timeout) {
|
|
36
|
+
this.timeout = setTimeout(() => (this.layoutService.state.sidebarActive = false), 300);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
anchor() {
|
|
42
|
+
this.layoutService.state.anchored = !this.layoutService.state.anchored;
|
|
43
|
+
}
|
|
44
|
+
}
|