aril 0.0.7 → 0.0.9
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/aril-0.0.9.tgz +0 -0
- package/esm2022/http/index.mjs +1 -1
- package/esm2022/http/lib/enums.mjs +6 -6
- package/esm2022/http/lib/interfaces.mjs +10 -31
- package/esm2022/http/src/httpClient.mjs +3 -3
- package/esm2022/http/src/serviceBase.mjs +25 -27
- package/esm2022/http/src/serviceStateMethods.mjs +4 -7
- package/esm2022/i18n/aril-i18n.mjs +5 -0
- package/esm2022/i18n/index.mjs +6 -0
- package/esm2022/i18n/src/file-url-token.mjs +3 -0
- package/esm2022/i18n/src/i18n.module.mjs +17 -0
- package/esm2022/i18n/src/loader.mjs +20 -0
- package/esm2022/i18n/src/provideI18n.mjs +16 -0
- package/esm2022/i18n/src/provideScope.mjs +18 -0
- package/esm2022/public-api.mjs +2 -2
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +3 -3
- package/esm2022/theme/layout/app/config/app.config.component.mjs +12 -14
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +15 -9
- package/esm2022/theme/layout/app/menu/app.menu.component.mjs +148 -166
- package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +3 -3
- package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +4 -4
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +4 -4
- package/esm2022/theme/layout/index.mjs +1 -1
- package/esm2022/theme/layout/service/app.layout.service.mjs +10 -15
- package/esm2022/theme/layout/service/app.menu.service.mjs +1 -1
- 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/button.component.mjs +4 -4
- 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 +27 -14
- package/esm2022/ui/checkbox/index.mjs +1 -1
- package/esm2022/ui/checkbox/src/check-box.component.mjs +4 -4
- package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +4 -4
- package/esm2022/ui/dxField/index.mjs +1 -1
- package/esm2022/ui/dxField/src/dx-field.component.mjs +5 -5
- package/esm2022/ui/field/index.mjs +1 -1
- package/esm2022/ui/field/src/field.component.mjs +11 -9
- package/esm2022/ui/fileUpload/index.mjs +1 -1
- package/esm2022/ui/fileUpload/src/file-upload.component.mjs +12 -12
- package/esm2022/ui/form/index.mjs +7 -7
- package/esm2022/ui/form/src/form-submit-button.component.mjs +22 -27
- package/esm2022/ui/form/src/form.component.mjs +2 -2
- package/esm2022/ui/index.mjs +2 -2
- 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 +4 -4
- package/esm2022/ui/lib/src/form/form-validation.mjs +3 -3
- package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +2 -2
- package/esm2022/ui/lib/src/input/baseInput.mjs +4 -4
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +6 -6
- package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +3 -3
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +3 -2
- package/esm2022/ui/lib/src/input/input-transforms.mjs +1 -1
- package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +12 -6
- package/esm2022/ui/mask/index.mjs +1 -1
- package/esm2022/ui/mask/src/mask.component.mjs +8 -8
- package/esm2022/ui/number/index.mjs +1 -1
- package/esm2022/ui/number/src/number.component.mjs +10 -10
- package/esm2022/ui/overlayPanel/index.mjs +1 -1
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +4 -7
- package/esm2022/ui/panel/index.mjs +1 -1
- package/esm2022/ui/panel/src/panel.component.mjs +3 -3
- package/esm2022/ui/password/index.mjs +1 -1
- package/esm2022/ui/password/src/password.component.mjs +7 -7
- package/esm2022/ui/radioButton/index.mjs +1 -1
- package/esm2022/ui/radioButton/src/radio-button.component.mjs +8 -8
- package/esm2022/ui/selectBox/index.mjs +1 -1
- package/esm2022/ui/selectBox/src/select-box.component.mjs +8 -8
- package/esm2022/ui/switch/index.mjs +1 -1
- package/esm2022/ui/switch/src/switch.component.mjs +7 -7
- package/esm2022/ui/table/index.mjs +3 -5
- package/esm2022/ui/table/src/i18n.mjs +53 -90
- package/esm2022/ui/table/src/table-column.component.mjs +4 -8
- package/esm2022/ui/table/src/table.component.mjs +13 -10
- package/esm2022/ui/tagBox/index.mjs +1 -1
- package/esm2022/ui/tagBox/src/tag-box.component.mjs +13 -13
- package/esm2022/ui/text/index.mjs +1 -1
- package/esm2022/ui/text/src/text.component.mjs +5 -5
- package/esm2022/ui/textArea/index.mjs +1 -1
- package/esm2022/ui/textArea/src/text-area.component.mjs +4 -4
- package/esm2022/ui/tree/index.mjs +1 -1
- package/esm2022/ui/tree/src/tree.component.mjs +5 -5
- 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/ui/value/src/value.component.mjs +13 -13
- package/esm2022/util/index.mjs +2 -2
- 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 +2 -1
- package/esm2022/util/lib/src/interfaces.mjs +1 -1
- package/esm2022/util/lib/src/module-router.mjs +16 -0
- package/esm2022/util/lib/src/types.mjs +1 -1
- package/esm2022/util/primitive-extensions/index.mjs +5 -5
- package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/date.extensions.mjs +68 -47
- package/esm2022/util/primitive-extensions/src/number.extensions.mjs +13 -7
- package/esm2022/util/primitive-extensions/src/string.extensions.mjs +4 -4
- package/esm2022/util/pub-sub/index.mjs +1 -1
- package/esm2022/util/pub-sub/src/pub-sub.service.mjs +7 -5
- package/fesm2022/aril-http.mjs +39 -63
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-i18n.mjs +72 -0
- package/fesm2022/aril-i18n.mjs.map +1 -0
- package/fesm2022/aril-theme-layout.mjs +190 -209
- package/fesm2022/aril-theme-layout.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 +5 -5
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-calendar.mjs +25 -12
- package/fesm2022/aril-ui-calendar.mjs.map +1 -1
- package/fesm2022/aril-ui-checkbox.mjs +5 -5
- package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
- package/fesm2022/aril-ui-dxField.mjs +4 -4
- package/fesm2022/aril-ui-dxField.mjs.map +1 -1
- package/fesm2022/aril-ui-field.mjs +9 -7
- package/fesm2022/aril-ui-field.mjs.map +1 -1
- package/fesm2022/aril-ui-fileUpload.mjs +11 -11
- package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
- package/fesm2022/aril-ui-form.mjs +28 -34
- package/fesm2022/aril-ui-form.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs +30 -23
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-mask.mjs +8 -8
- package/fesm2022/aril-ui-mask.mjs.map +1 -1
- package/fesm2022/aril-ui-number.mjs +10 -10
- package/fesm2022/aril-ui-number.mjs.map +1 -1
- package/fesm2022/aril-ui-overlayPanel.mjs +2 -5
- package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
- package/fesm2022/aril-ui-panel.mjs +2 -2
- package/fesm2022/aril-ui-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-password.mjs +7 -7
- package/fesm2022/aril-ui-password.mjs.map +1 -1
- package/fesm2022/aril-ui-radioButton.mjs +7 -7
- package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
- package/fesm2022/aril-ui-selectBox.mjs +5 -5
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril-ui-switch.mjs +7 -7
- package/fesm2022/aril-ui-switch.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +66 -105
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-tagBox.mjs +11 -11
- package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
- package/fesm2022/aril-ui-text.mjs +4 -4
- package/fesm2022/aril-ui-text.mjs.map +1 -1
- package/fesm2022/aril-ui-textArea.mjs +3 -3
- package/fesm2022/aril-ui-textArea.mjs.map +1 -1
- package/fesm2022/aril-ui-tree.mjs +3 -3
- 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-value.mjs +11 -11
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/fesm2022/aril-ui.mjs +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 +19 -0
- package/fesm2022/aril-util-lib.mjs.map +1 -1
- package/fesm2022/aril-util-primitive-extensions.mjs +82 -55
- package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
- package/fesm2022/aril-util-pub-sub.mjs +6 -4
- package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
- package/fesm2022/aril-util.mjs +1 -1
- package/fesm2022/aril-util.mjs.map +1 -1
- package/fesm2022/aril.mjs +1 -1
- package/fesm2022/aril.mjs.map +1 -1
- package/http/lib/enums.d.ts +5 -5
- package/http/lib/interfaces.d.ts +9 -31
- package/http/src/httpClient.d.ts +3 -3
- package/http/src/serviceBase.d.ts +2 -1
- package/http/src/serviceStateMethods.d.ts +2 -3
- package/i18n/index.d.ts +5 -0
- package/i18n/src/file-url-token.d.ts +2 -0
- package/i18n/src/i18n.module.d.ts +7 -0
- package/i18n/src/loader.d.ts +9 -0
- package/i18n/src/provideI18n.d.ts +2 -0
- package/i18n/src/provideScope.d.ts +9 -0
- package/package.json +13 -7
- package/styles/ui/ui.common.scss +8 -8
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +2 -4
- package/theme/layout/app/config/app.config.component.html +13 -62
- package/theme/layout/app/config/app.config.component.ts +12 -21
- package/theme/layout/app/layout/app.layout.component.ts +39 -52
- package/theme/layout/app/menu/app.menu.component.ts +147 -121
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +5 -18
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +2 -3
- package/theme/layout/app/sidebar/app.sidebar.component.html +9 -31
- package/theme/layout/app/sidebar/app.sidebar.component.ts +6 -3
- package/theme/layout/app/topbar/app.topbar.component.html +1 -5
- package/theme/layout/app/topbar/app.topbar.component.ts +4 -5
- package/theme/layout/index.ts +1 -1
- package/theme/layout/ng-package.json +6 -6
- package/theme/layout/service/app.layout.service.ts +12 -31
- package/theme/layout/service/app.menu.service.ts +0 -1
- package/theme/layout/service/menuchangeevent.ts +1 -1
- 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 -36
- 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 -113
- package/theme/styles/layout/_sidebar_drawer.scss +234 -236
- package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
- package/theme/styles/layout/_sidebar_reveal.scss +201 -203
- package/theme/styles/layout/_sidebar_slim.scss +144 -145
- package/theme/styles/layout/_sidebar_slim_plus.scss +162 -163
- package/theme/styles/layout/_sidebar_vertical.scss +153 -153
- package/theme/styles/layout/_topbar.scss +78 -78
- package/theme/styles/layout/_typography.scss +68 -63
- 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/_primarycolor.scss +16 -16
- package/theme/styles/layout/menutheme/_transparent.scss +26 -26
- package/theme/styles/layout/preloading.scss +84 -84
- package/theme/styles/theme/base/_colors.scss +14 -15
- package/theme/styles/theme/base/_common.scss +39 -38
- package/theme/styles/theme/base/_components.scss +97 -97
- package/theme/styles/theme/base/_mixins.scss +281 -281
- package/theme/styles/theme/base/components/button/_button.scss +535 -535
- package/theme/styles/theme/base/components/button/_speeddial.scss +60 -60
- package/theme/styles/theme/base/components/button/_splitbutton.scss +328 -334
- package/theme/styles/theme/base/components/data/_carousel.scss +31 -31
- package/theme/styles/theme/base/components/data/_datatable.scss +336 -336
- package/theme/styles/theme/base/components/data/_dataview.scss +38 -38
- package/theme/styles/theme/base/components/data/_filter.scss +124 -125
- package/theme/styles/theme/base/components/data/_organizationchart.scss +48 -48
- package/theme/styles/theme/base/components/data/_paginator.scss +78 -78
- package/theme/styles/theme/base/components/data/_timeline.scss +33 -36
- package/theme/styles/theme/base/components/data/_treetable.scss +253 -254
- package/theme/styles/theme/base/components/data/_virtualscroller.scss +24 -24
- package/theme/styles/theme/base/components/file/_fileupload.scss +51 -51
- package/theme/styles/theme/base/components/input/_autocomplete.scss +120 -120
- package/theme/styles/theme/base/components/input/_calendar.scss +250 -250
- package/theme/styles/theme/base/components/input/_cascadeselect.scss +117 -118
- package/theme/styles/theme/base/components/input/_checkbox.scss +71 -71
- package/theme/styles/theme/base/components/input/_chips.scss +49 -49
- package/theme/styles/theme/base/components/input/_colorpicker.scss +11 -11
- package/theme/styles/theme/base/components/input/_dropdown.scss +141 -141
- package/theme/styles/theme/base/components/input/_editor.scss +120 -120
- package/theme/styles/theme/base/components/input/_inputgroup.scss +42 -42
- package/theme/styles/theme/base/components/input/_inputmask.scss +10 -10
- package/theme/styles/theme/base/components/input/_inputnumber.scss +21 -21
- package/theme/styles/theme/base/components/input/_inputswitch.scss +54 -54
- package/theme/styles/theme/base/components/input/_inputtext.scss +62 -62
- package/theme/styles/theme/base/components/input/_listbox.scss +80 -80
- package/theme/styles/theme/base/components/input/_multiselect.scss +158 -160
- package/theme/styles/theme/base/components/input/_password.scss +42 -42
- package/theme/styles/theme/base/components/input/_radiobutton.scss +57 -57
- package/theme/styles/theme/base/components/input/_rating.scss +53 -53
- package/theme/styles/theme/base/components/input/_selectbutton.scss +46 -46
- package/theme/styles/theme/base/components/input/_slider.scss +59 -55
- package/theme/styles/theme/base/components/input/_togglebutton.scss +44 -44
- package/theme/styles/theme/base/components/input/_treeselect.scss +119 -119
- package/theme/styles/theme/base/components/menu/_breadcrumb.scss +33 -33
- package/theme/styles/theme/base/components/menu/_contextmenu.scss +31 -31
- package/theme/styles/theme/base/components/menu/_dock.scss +80 -80
- package/theme/styles/theme/base/components/menu/_megamenu.scss +54 -54
- package/theme/styles/theme/base/components/menu/_menu.scss +30 -30
- package/theme/styles/theme/base/components/menu/_menubar.scss +136 -137
- package/theme/styles/theme/base/components/menu/_panelmenu.scss +151 -151
- package/theme/styles/theme/base/components/menu/_slidemenu.scss +57 -57
- package/theme/styles/theme/base/components/menu/_steps.scss +46 -46
- package/theme/styles/theme/base/components/menu/_tabmenu.scss +60 -61
- package/theme/styles/theme/base/components/menu/_tieredmenu.scss +34 -34
- package/theme/styles/theme/base/components/messages/_inlinemessage.scss +55 -55
- package/theme/styles/theme/base/components/messages/_message.scss +105 -105
- package/theme/styles/theme/base/components/messages/_toast.scss +97 -98
- package/theme/styles/theme/base/components/misc/_avatar.scss +22 -22
- package/theme/styles/theme/base/components/misc/_badge.scss +40 -40
- package/theme/styles/theme/base/components/misc/_chip.scss +39 -39
- package/theme/styles/theme/base/components/misc/_inplace.scss +12 -13
- package/theme/styles/theme/base/components/misc/_progressbar.scss +13 -13
- package/theme/styles/theme/base/components/misc/_scrolltop.scss +20 -20
- package/theme/styles/theme/base/components/misc/_skeleton.scss +6 -6
- package/theme/styles/theme/base/components/misc/_tag.scss +31 -31
- package/theme/styles/theme/base/components/misc/_terminal.scss +1 -1
- package/theme/styles/theme/base/components/multimedia/_galleria.scss +150 -150
- package/theme/styles/theme/base/components/multimedia/_image.scss +35 -35
- package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +57 -59
- package/theme/styles/theme/base/components/overlay/_dialog.scss +56 -56
- package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +58 -60
- package/theme/styles/theme/base/components/overlay/_sidebar.scss +20 -20
- package/theme/styles/theme/base/components/overlay/_tooltip.scss +27 -27
- package/theme/styles/theme/base/components/panel/_accordion.scss +104 -104
- package/theme/styles/theme/base/components/panel/_card.scss +23 -23
- package/theme/styles/theme/base/components/panel/_divider.scss +24 -24
- package/theme/styles/theme/base/components/panel/_fieldset.scss +38 -38
- package/theme/styles/theme/base/components/panel/_panel.scss +61 -61
- package/theme/styles/theme/base/components/panel/_scrollpanel.scss +5 -5
- package/theme/styles/theme/base/components/panel/_splitter.scss +15 -15
- package/theme/styles/theme/base/components/panel/_tabview.scss +68 -68
- package/theme/styles/theme/base/components/panel/_toolbar.scss +8 -8
- package/theme/styles/theme/dark/_extensions.scss +134 -120
- package/theme/styles/theme/dark/_variables.scss +918 -896
- package/theme/styles/theme/dark/blue/theme.scss +14 -14
- package/theme/styles/theme/dark/indigo/theme.scss +14 -14
- package/theme/styles/theme/light/_extensions.scss +116 -102
- package/theme/styles/theme/light/_variables.scss +911 -898
- package/theme/styles/theme/light/blue/theme.scss +14 -14
- package/theme/styles/theme/light/indigo/theme.scss +14 -14
- package/ui/button/src/button.component.d.ts +1 -1
- package/ui/calendar/src/calendar.component.d.ts +1 -1
- package/ui/form/index.d.ts +4 -4
- package/ui/form/src/form-submit-button.component.d.ts +5 -5
- package/ui/lib/src/form/form-validation.d.ts +1 -1
- package/ui/lib/src/input/baseInput.d.ts +2 -2
- package/ui/lib/src/input/common-input-validators.service.d.ts +3 -3
- package/ui/lib/src/input/dx-input-error-message.pipe.d.ts +2 -2
- package/ui/lib/src/input/input-transforms.d.ts +1 -1
- package/ui/mask/src/mask.component.d.ts +3 -3
- package/ui/number/src/number.component.d.ts +4 -4
- package/ui/overlayPanel/src/overlay-panel.component.d.ts +1 -1
- package/ui/password/src/password.component.d.ts +3 -3
- package/ui/selectBox/src/select-box.component.d.ts +2 -2
- package/ui/switch/src/switch.component.d.ts +3 -3
- package/ui/table/index.d.ts +0 -1
- package/ui/table/src/table-column.component.d.ts +1 -1
- package/ui/table/src/table.component.d.ts +4 -3
- package/ui/tree/src/tree.component.d.ts +1 -1
- package/ui/value/src/value.component.d.ts +2 -2
- package/util/lib/index.d.ts +1 -0
- package/util/lib/src/module-router.d.ts +5 -0
- package/util/lib/src/types.d.ts +2 -2
- package/util/primitive-extensions/index.d.ts +4 -4
- package/aril-0.0.7.tgz +0 -0
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ChangeDetectorRef,
|
|
4
|
+
Component,
|
|
5
|
+
ElementRef,
|
|
6
|
+
HostBinding,
|
|
7
|
+
Input,
|
|
8
|
+
OnDestroy,
|
|
9
|
+
OnInit,
|
|
10
|
+
ViewChild,
|
|
11
|
+
inject
|
|
12
|
+
} from '@angular/core';
|
|
3
13
|
import { NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router';
|
|
4
14
|
import { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';
|
|
5
15
|
|
|
@@ -18,109 +28,105 @@ import { LayoutService } from '../../service/app.layout.service';
|
|
|
18
28
|
standalone: true,
|
|
19
29
|
selector: '[app-menuitem]',
|
|
20
30
|
template: `
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
@if (item.items?.length) {
|
|
28
|
-
<a
|
|
29
|
-
[attr.href]="item.url"
|
|
30
|
-
(click)="itemClick($event)"
|
|
31
|
-
(mouseenter)="onMouseEnter()"
|
|
32
|
-
[attr.target]="item.target"
|
|
33
|
-
tabindex="0"
|
|
34
|
-
pRipple
|
|
35
|
-
[pTooltip]="item.label"
|
|
36
|
-
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
37
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
38
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
39
|
-
@if (item.items) {
|
|
40
|
-
<i
|
|
41
|
-
class="pi pi-fw pi-angle-down layout-submenu-toggler"
|
|
42
|
-
></i>
|
|
43
|
-
}
|
|
44
|
-
</a>
|
|
45
|
-
}
|
|
46
|
-
@else {
|
|
47
|
-
<a
|
|
48
|
-
(click)="itemClick($event)"
|
|
49
|
-
(mouseenter)="onMouseEnter()"
|
|
50
|
-
[routerLink]="item.routerLink"
|
|
51
|
-
routerLinkActive="active-route"
|
|
52
|
-
[routerLinkActiveOptions]="
|
|
53
|
-
item.routerLinkActiveOptions || {
|
|
54
|
-
paths: 'exact',
|
|
55
|
-
queryParams: 'ignored',
|
|
56
|
-
matrixParams: 'ignored',
|
|
57
|
-
fragment: 'ignored'
|
|
58
|
-
}
|
|
59
|
-
"
|
|
60
|
-
[fragment]="item.fragment"
|
|
61
|
-
[queryParamsHandling]="item.queryParamsHandling"
|
|
62
|
-
[preserveFragment]="item.preserveFragment"
|
|
63
|
-
[skipLocationChange]="item.skipLocationChange"
|
|
64
|
-
[replaceUrl]="item.replaceUrl"
|
|
65
|
-
[state]="item.state"
|
|
66
|
-
[queryParams]="item.queryParams"
|
|
67
|
-
[attr.target]="item.target"
|
|
68
|
-
tabindex="0"
|
|
69
|
-
pRipple
|
|
70
|
-
[pTooltip]="item.label"
|
|
71
|
-
[tooltipDisabled]="!(isSlim && root)">
|
|
72
|
-
|
|
73
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
74
|
-
|
|
75
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
76
|
-
|
|
77
|
-
@if (item.items) {
|
|
78
|
-
<i
|
|
79
|
-
class="pi pi-fw pi-angle-down layout-submenu-toggler"
|
|
80
|
-
></i>
|
|
81
|
-
}
|
|
82
|
-
</a>
|
|
31
|
+
<ng-container>
|
|
32
|
+
@if (root) {
|
|
33
|
+
<div class="layout-menuitem-root-text">
|
|
34
|
+
{{ item.label }}
|
|
35
|
+
</div>
|
|
83
36
|
}
|
|
84
|
-
|
|
37
|
+
@if (item.items?.length) {
|
|
38
|
+
<a
|
|
39
|
+
[attr.href]="item.url"
|
|
40
|
+
(click)="itemClick($event)"
|
|
41
|
+
(mouseenter)="onMouseEnter()"
|
|
42
|
+
[attr.target]="item.target"
|
|
43
|
+
tabindex="0"
|
|
44
|
+
pRipple
|
|
45
|
+
[pTooltip]="item.label"
|
|
46
|
+
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
47
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
48
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
49
|
+
@if (item.items) {
|
|
50
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
51
|
+
}
|
|
52
|
+
</a>
|
|
53
|
+
} @else {
|
|
54
|
+
<a
|
|
55
|
+
(click)="itemClick($event)"
|
|
56
|
+
(mouseenter)="onMouseEnter()"
|
|
57
|
+
[routerLink]="item.routerLink"
|
|
58
|
+
routerLinkActive="active-route"
|
|
59
|
+
[routerLinkActiveOptions]="
|
|
60
|
+
item.routerLinkActiveOptions || {
|
|
61
|
+
paths: 'exact',
|
|
62
|
+
queryParams: 'ignored',
|
|
63
|
+
matrixParams: 'ignored',
|
|
64
|
+
fragment: 'ignored'
|
|
65
|
+
}
|
|
66
|
+
"
|
|
67
|
+
[fragment]="item.fragment"
|
|
68
|
+
[queryParamsHandling]="item.queryParamsHandling"
|
|
69
|
+
[preserveFragment]="item.preserveFragment"
|
|
70
|
+
[skipLocationChange]="item.skipLocationChange"
|
|
71
|
+
[replaceUrl]="item.replaceUrl"
|
|
72
|
+
[state]="item.state"
|
|
73
|
+
[queryParams]="item.queryParams"
|
|
74
|
+
[attr.target]="item.target"
|
|
75
|
+
tabindex="0"
|
|
76
|
+
pRipple
|
|
77
|
+
[pTooltip]="item.label"
|
|
78
|
+
[tooltipDisabled]="!(isSlim && root)">
|
|
79
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
80
|
+
|
|
81
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
82
|
+
|
|
83
|
+
@if (item.items) {
|
|
84
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
85
|
+
}
|
|
86
|
+
</a>
|
|
87
|
+
}
|
|
88
|
+
|
|
85
89
|
@if (item.items) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
@for (child of item.items; track child; let i = $index) {
|
|
92
|
-
<li
|
|
93
|
-
app-menuitem
|
|
94
|
-
[item]="child"
|
|
95
|
-
[index]="i"
|
|
96
|
-
[parentKey]="key">
|
|
97
|
-
</li>
|
|
98
|
-
}
|
|
99
|
-
</ul>
|
|
90
|
+
<ul #submenu [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
|
|
91
|
+
@for (child of item.items; track child; let i = $index) {
|
|
92
|
+
<li app-menuitem [item]="child" [index]="i" [parentKey]="key"></li>
|
|
93
|
+
}
|
|
94
|
+
</ul>
|
|
100
95
|
}
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
</ng-container>
|
|
97
|
+
`,
|
|
103
98
|
imports: [NgClass, RouterLink, RouterLinkActive, NgTemplateOutlet, TooltipModule, RippleModule],
|
|
104
99
|
animations: [
|
|
105
100
|
trigger('children', [
|
|
106
|
-
state(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
state(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
101
|
+
state(
|
|
102
|
+
'collapsed',
|
|
103
|
+
style({
|
|
104
|
+
height: '0'
|
|
105
|
+
})
|
|
106
|
+
),
|
|
107
|
+
state(
|
|
108
|
+
'expanded',
|
|
109
|
+
style({
|
|
110
|
+
height: '*'
|
|
111
|
+
})
|
|
112
|
+
),
|
|
113
|
+
state(
|
|
114
|
+
'hidden',
|
|
115
|
+
style({
|
|
116
|
+
display: 'none'
|
|
117
|
+
})
|
|
118
|
+
),
|
|
119
|
+
state(
|
|
120
|
+
'visible',
|
|
121
|
+
style({
|
|
122
|
+
display: 'block'
|
|
123
|
+
})
|
|
124
|
+
),
|
|
118
125
|
transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
119
126
|
])
|
|
120
127
|
]
|
|
121
128
|
})
|
|
122
129
|
export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
123
|
-
|
|
124
130
|
@Input() item!: MenuItem;
|
|
125
131
|
|
|
126
132
|
@Input() index!: number;
|
|
@@ -137,15 +143,19 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
137
143
|
|
|
138
144
|
menuResetSubscription: Subscription;
|
|
139
145
|
|
|
140
|
-
key: string =
|
|
146
|
+
key: string = '';
|
|
141
147
|
|
|
142
|
-
constructor(
|
|
143
|
-
|
|
148
|
+
constructor(
|
|
149
|
+
public layoutService: LayoutService,
|
|
150
|
+
private cd: ChangeDetectorRef,
|
|
151
|
+
public router: Router,
|
|
152
|
+
private menuService: MenuService
|
|
153
|
+
) {
|
|
154
|
+
this.menuSourceSubscription = this.menuService.menuSource$.subscribe((value) => {
|
|
144
155
|
Promise.resolve(null).then(() => {
|
|
145
156
|
if (value.routeEvent) {
|
|
146
|
-
this.active =
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
157
|
+
this.active = value.key === this.key || value.key.startsWith(this.key + '-') ? true : false;
|
|
158
|
+
} else {
|
|
149
159
|
if (value.key !== this.key && !value.key.startsWith(this.key + '-')) {
|
|
150
160
|
this.active = false;
|
|
151
161
|
}
|
|
@@ -157,17 +167,15 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
157
167
|
this.active = false;
|
|
158
168
|
});
|
|
159
169
|
|
|
160
|
-
this.router.events.pipe(filter(event => event instanceof NavigationEnd))
|
|
161
|
-
.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (this.item.routerLink) {
|
|
167
|
-
this.updateActiveStateFromRoute();
|
|
168
|
-
}
|
|
170
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params) => {
|
|
171
|
+
if (this.isSlimPlus || this.isSlim || this.isHorizontal) {
|
|
172
|
+
this.active = false;
|
|
173
|
+
} else {
|
|
174
|
+
if (this.item.routerLink) {
|
|
175
|
+
this.updateActiveStateFromRoute();
|
|
169
176
|
}
|
|
170
|
-
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
171
179
|
}
|
|
172
180
|
|
|
173
181
|
ngOnInit() {
|
|
@@ -179,13 +187,23 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
179
187
|
}
|
|
180
188
|
|
|
181
189
|
ngAfterViewChecked() {
|
|
182
|
-
if (
|
|
190
|
+
if (
|
|
191
|
+
this.root &&
|
|
192
|
+
this.active &&
|
|
193
|
+
this.layoutService.isDesktop() &&
|
|
194
|
+
(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())
|
|
195
|
+
) {
|
|
183
196
|
this.calculatePosition(this.submenu?.nativeElement, this.submenu?.nativeElement.parentElement);
|
|
184
197
|
}
|
|
185
198
|
}
|
|
186
199
|
|
|
187
200
|
updateActiveStateFromRoute() {
|
|
188
|
-
let activeRoute = this.router.isActive(this.item.routerLink[0], {
|
|
201
|
+
let activeRoute = this.router.isActive(this.item.routerLink[0], {
|
|
202
|
+
paths: 'exact',
|
|
203
|
+
queryParams: 'ignored',
|
|
204
|
+
matrixParams: 'ignored',
|
|
205
|
+
fragment: 'ignored'
|
|
206
|
+
});
|
|
189
207
|
|
|
190
208
|
if (activeRoute) {
|
|
191
209
|
this.menuService.onMenuStateChange({ key: this.key, routeEvent: true });
|
|
@@ -193,7 +211,11 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
193
211
|
}
|
|
194
212
|
|
|
195
213
|
onSubmenuAnimated(event: AnimationEvent) {
|
|
196
|
-
if (
|
|
214
|
+
if (
|
|
215
|
+
event.toState === 'visible' &&
|
|
216
|
+
this.layoutService.isDesktop() &&
|
|
217
|
+
(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())
|
|
218
|
+
) {
|
|
197
219
|
const el = <HTMLUListElement>event.element;
|
|
198
220
|
const elParent = <HTMLUListElement>el.parentElement;
|
|
199
221
|
this.calculatePosition(el, elParent);
|
|
@@ -228,7 +250,7 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
228
250
|
}
|
|
229
251
|
|
|
230
252
|
// navigate with hover
|
|
231
|
-
if (this.root && this.isSlim || this.isHorizontal || this.isSlimPlus) {
|
|
253
|
+
if ((this.root && this.isSlim) || this.isHorizontal || this.isSlimPlus) {
|
|
232
254
|
this.layoutService.state.menuHoverActive = !this.layoutService.state.menuHoverActive;
|
|
233
255
|
}
|
|
234
256
|
|
|
@@ -244,8 +266,7 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
244
266
|
if (this.root && this.active && (this.isSlim || this.isHorizontal || this.isSlimPlus)) {
|
|
245
267
|
this.layoutService.onOverlaySubmenuOpen();
|
|
246
268
|
}
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
269
|
+
} else {
|
|
249
270
|
if (this.layoutService.isMobile()) {
|
|
250
271
|
this.layoutService.state.staticMenuMobileActive = false;
|
|
251
272
|
}
|
|
@@ -270,12 +291,17 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
270
291
|
}
|
|
271
292
|
|
|
272
293
|
get submenuAnimation() {
|
|
273
|
-
if (
|
|
294
|
+
if (
|
|
295
|
+
this.layoutService.isDesktop() &&
|
|
296
|
+
(this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus())
|
|
297
|
+
) {
|
|
274
298
|
return this.active ? 'visible' : 'hidden';
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
299
|
+
} else
|
|
300
|
+
return (
|
|
301
|
+
this.root ? 'expanded'
|
|
302
|
+
: this.active ? 'expanded'
|
|
303
|
+
: 'collapsed'
|
|
304
|
+
);
|
|
279
305
|
}
|
|
280
306
|
|
|
281
307
|
get isHorizontal() {
|
|
@@ -314,4 +340,4 @@ export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
|
314
340
|
})
|
|
315
341
|
export class AppMenuComponent {
|
|
316
342
|
menuService = inject(MenuService);
|
|
317
|
-
}
|
|
343
|
+
}
|
|
@@ -61,9 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
<div class="flex flex-column mt-5 mx-auto md:mx-0">
|
|
63
63
|
<span class="mb-2 font-semibold">Notifications</span>
|
|
64
|
-
<span class="text-color-secondary font-medium mb-5"
|
|
65
|
-
>You have 3 notifications</span
|
|
66
|
-
>
|
|
64
|
+
<span class="text-color-secondary font-medium mb-5">You have 3 notifications</span>
|
|
67
65
|
|
|
68
66
|
<ul class="list-none m-0 p-0">
|
|
69
67
|
<li>
|
|
@@ -107,19 +105,14 @@
|
|
|
107
105
|
|
|
108
106
|
<div class="flex flex-column mt-5 mx-auto md:mx-0">
|
|
109
107
|
<span class="mb-2 font-semibold">Messages</span>
|
|
110
|
-
<span class="text-color-secondary font-medium mb-5"
|
|
111
|
-
>You have new messages</span
|
|
112
|
-
>
|
|
108
|
+
<span class="text-color-secondary font-medium mb-5">You have new messages</span>
|
|
113
109
|
|
|
114
110
|
<ul class="list-none m-0 p-0">
|
|
115
111
|
<li>
|
|
116
112
|
<a
|
|
117
113
|
class="cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150">
|
|
118
114
|
<span>
|
|
119
|
-
<img
|
|
120
|
-
src="assets/demo/images/avatar/circle/avatar-m-8.png"
|
|
121
|
-
alt="Avatar"
|
|
122
|
-
class="w-2rem h-2rem" />
|
|
115
|
+
<img src="assets/demo/images/avatar/circle/avatar-m-8.png" alt="Avatar" class="w-2rem h-2rem" />
|
|
123
116
|
</span>
|
|
124
117
|
<div class="ml-3">
|
|
125
118
|
<span class="mb-2 font-semibold">James Robinson</span>
|
|
@@ -132,10 +125,7 @@
|
|
|
132
125
|
<a
|
|
133
126
|
class="cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150">
|
|
134
127
|
<span>
|
|
135
|
-
<img
|
|
136
|
-
src="assets/demo/images/avatar/circle/avatar-f-8.png"
|
|
137
|
-
alt="Avatar"
|
|
138
|
-
class="w-2rem h-2rem" />
|
|
128
|
+
<img src="assets/demo/images/avatar/circle/avatar-f-8.png" alt="Avatar" class="w-2rem h-2rem" />
|
|
139
129
|
</span>
|
|
140
130
|
<div class="ml-3">
|
|
141
131
|
<span class="mb-2 font-semibold">Mary Watson</span>
|
|
@@ -148,10 +138,7 @@
|
|
|
148
138
|
<a
|
|
149
139
|
class="cursor-pointer flex surface-border mb-3 p-3 align-items-center border-1 surface-border border-round hover:surface-hover transition-colors transition-duration-150">
|
|
150
140
|
<span>
|
|
151
|
-
<img
|
|
152
|
-
src="assets/demo/images/avatar/circle/avatar-f-4.png"
|
|
153
|
-
alt="Avatar"
|
|
154
|
-
class="w-2rem h-2rem" />
|
|
141
|
+
<img src="assets/demo/images/avatar/circle/avatar-f-4.png" alt="Avatar" class="w-2rem h-2rem" />
|
|
155
142
|
</span>
|
|
156
143
|
<div class="ml-3">
|
|
157
144
|
<span class="mb-2 font-semibold">Aisha Webb</span>
|
|
@@ -12,8 +12,7 @@ import { LayoutService } from '../../service/app.layout.service';
|
|
|
12
12
|
templateUrl: './app.profilesidebar.component.html'
|
|
13
13
|
})
|
|
14
14
|
export class AppProfileSidebarComponent {
|
|
15
|
-
|
|
16
|
-
constructor(public layoutService: LayoutService) { }
|
|
15
|
+
constructor(public layoutService: LayoutService) {}
|
|
17
16
|
|
|
18
17
|
get visible(): boolean {
|
|
19
18
|
return this.layoutService.state.profileSidebarVisible;
|
|
@@ -22,4 +21,4 @@ export class AppProfileSidebarComponent {
|
|
|
22
21
|
set visible(_val: boolean) {
|
|
23
22
|
this.layoutService.state.profileSidebarVisible = _val;
|
|
24
23
|
}
|
|
25
|
-
}
|
|
24
|
+
}
|
|
@@ -1,23 +1,12 @@
|
|
|
1
|
-
<div
|
|
2
|
-
class="layout-sidebar"
|
|
3
|
-
(mouseenter)="onMouseEnter()"
|
|
4
|
-
(mouseleave)="onMouseLeave()">
|
|
1
|
+
<div class="layout-sidebar" (mouseenter)="onMouseEnter()" (mouseleave)="onMouseLeave()">
|
|
5
2
|
<div class="sidebar-header">
|
|
6
3
|
<a [routerLink]="['/']" class="app-logo">
|
|
7
|
-
<svg
|
|
8
|
-
viewBox="0 0 124 22"
|
|
9
|
-
fill="none"
|
|
10
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
-
class="app-logo-normal">
|
|
4
|
+
<svg viewBox="0 0 124 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="app-logo-normal">
|
|
12
5
|
<path
|
|
13
6
|
d="M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z"
|
|
14
7
|
fill="var(--logo-color)" />
|
|
15
|
-
<path
|
|
16
|
-
|
|
17
|
-
fill="var(--logo-color)" />
|
|
18
|
-
<path
|
|
19
|
-
d="M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z"
|
|
20
|
-
fill="var(--logo-color)" />
|
|
8
|
+
<path d="M13.84 15.7927L16.2077 21.0016H11.7682L13.84 15.7927Z" fill="var(--logo-color)" />
|
|
9
|
+
<path d="M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z" fill="var(--logo-color)" />
|
|
21
10
|
<path
|
|
22
11
|
d="M40.9033 14.5217H34.771L33.1753 18.0007H30.8467L37.9346 2.77661L44.772 18.0007H42.4062L40.9033 14.5217ZM40.022 12.49L37.8975 7.61938L35.6709 12.49H40.022Z"
|
|
23
12
|
fill="var(--logo-color)" />
|
|
@@ -27,12 +16,8 @@
|
|
|
27
16
|
<path
|
|
28
17
|
d="M63.6367 10.7737C63.6367 8.75741 64.3758 7.02563 65.854 5.57837C67.326 4.1311 69.0949 3.40747 71.1607 3.40747C73.2017 3.40747 74.952 4.13729 76.4116 5.59692C77.8775 7.05656 78.6104 8.80998 78.6104 10.8572C78.6104 12.9167 77.8744 14.664 76.4024 16.0989C74.9242 17.54 73.1398 18.2605 71.0493 18.2605C69.2001 18.2605 67.5394 17.6204 66.0674 16.3401C64.447 14.9237 63.6367 13.0683 63.6367 10.7737ZM65.8169 10.8015C65.8169 12.3848 66.3488 13.6868 67.4126 14.7073C68.4702 15.7278 69.6918 16.238 71.0772 16.238C72.5801 16.238 73.848 15.7185 74.8809 14.6794C75.9138 13.628 76.4302 12.3477 76.4302 10.8386C76.4302 9.31095 75.9199 8.03068 74.8994 6.9978C73.8851 5.95874 72.6296 5.43921 71.1328 5.43921C69.6423 5.43921 68.3836 5.95874 67.357 6.9978C66.3303 8.0245 65.8169 9.2924 65.8169 10.8015Z"
|
|
29
18
|
fill="var(--logo-color)" />
|
|
30
|
-
<path
|
|
31
|
-
|
|
32
|
-
fill="var(--logo-color)" />
|
|
33
|
-
<path
|
|
34
|
-
d="M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z"
|
|
35
|
-
fill="var(--logo-color)" />
|
|
19
|
+
<path d="M87.2495 3.67651V15.969H91.4615V18.0007H85.0879V3.67651H87.2495Z" fill="var(--logo-color)" />
|
|
20
|
+
<path d="M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z" fill="var(--logo-color)" />
|
|
36
21
|
<path
|
|
37
22
|
d="M108.146 10.7737C108.146 8.75741 108.885 7.02563 110.363 5.57837C111.835 4.1311 113.604 3.40747 115.67 3.40747C117.711 3.40747 119.461 4.13729 120.921 5.59692C122.387 7.05656 123.12 8.80998 123.12 10.8572C123.12 12.9167 122.384 14.664 120.912 16.0989C119.433 17.54 117.649 18.2605 115.559 18.2605C113.709 18.2605 112.049 17.6204 110.577 16.3401C108.956 14.9237 108.146 13.0683 108.146 10.7737ZM110.326 10.8015C110.326 12.3848 110.858 13.6868 111.922 14.7073C112.98 15.7278 114.201 16.238 115.586 16.238C117.089 16.238 118.357 15.7185 119.39 14.6794C120.423 13.628 120.94 12.3477 120.94 10.8386C120.94 9.31095 120.429 8.03068 119.409 6.9978C118.394 5.95874 117.139 5.43921 115.642 5.43921C114.152 5.43921 112.893 5.95874 111.866 6.9978C110.84 8.0245 110.326 9.2924 110.326 10.8015Z"
|
|
38
23
|
fill="var(--logo-color)" />
|
|
@@ -47,18 +32,11 @@
|
|
|
47
32
|
<path
|
|
48
33
|
d="M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z"
|
|
49
34
|
fill="var(--logo-color)" />
|
|
50
|
-
<path
|
|
51
|
-
|
|
52
|
-
fill="var(--logo-color)" />
|
|
53
|
-
<path
|
|
54
|
-
d="M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z"
|
|
55
|
-
fill="var(--logo-color)" />
|
|
35
|
+
<path d="M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z" fill="var(--logo-color)" />
|
|
36
|
+
<path d="M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z" fill="var(--logo-color)" />
|
|
56
37
|
</svg>
|
|
57
38
|
</a>
|
|
58
|
-
<button
|
|
59
|
-
class="layout-sidebar-anchor p-link z-2 mb-2"
|
|
60
|
-
type="button"
|
|
61
|
-
(click)="anchor()"></button>
|
|
39
|
+
<button class="layout-sidebar-anchor p-link z-2 mb-2" type="button" (click)="anchor()"></button>
|
|
62
40
|
</div>
|
|
63
41
|
|
|
64
42
|
<div #menuContainer class="layout-menu-container">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RouterLink } from '@angular/router';
|
|
2
|
-
import { Component, ElementRef, ViewChild
|
|
2
|
+
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
import { LayoutService } from '../../service/app.layout.service';
|
|
5
5
|
import { AppMenuComponent } from '../menu/app.menu.component';
|
|
@@ -14,7 +14,10 @@ export class AppSidebarComponent {
|
|
|
14
14
|
timeout: any = null;
|
|
15
15
|
|
|
16
16
|
@ViewChild('menuContainer') menuContainer!: ElementRef;
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(
|
|
18
|
+
public layoutService: LayoutService,
|
|
19
|
+
public el: ElementRef
|
|
20
|
+
) {}
|
|
18
21
|
|
|
19
22
|
onMouseEnter() {
|
|
20
23
|
if (!this.layoutService.state.anchored) {
|
|
@@ -29,7 +32,7 @@ export class AppSidebarComponent {
|
|
|
29
32
|
onMouseLeave() {
|
|
30
33
|
if (!this.layoutService.state.anchored) {
|
|
31
34
|
if (!this.timeout) {
|
|
32
|
-
this.timeout = setTimeout(() => this.layoutService.state.sidebarActive = false, 300);
|
|
35
|
+
this.timeout = setTimeout(() => (this.layoutService.state.sidebarActive = false), 300);
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
<div class="layout-topbar">
|
|
2
2
|
<div class="topbar-start">
|
|
3
|
-
<button
|
|
4
|
-
#menubutton
|
|
5
|
-
type="button"
|
|
6
|
-
class="topbar-menubutton p-link p-trigger"
|
|
7
|
-
(click)="onMenuButtonClick()">
|
|
3
|
+
<button #menubutton type="button" class="topbar-menubutton p-link p-trigger" (click)="onMenuButtonClick()">
|
|
8
4
|
<i class="pi pi-bars"></i>
|
|
9
5
|
</button>
|
|
10
6
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { ButtonModule } from
|
|
2
|
+
import { ButtonModule } from 'primeng/button';
|
|
3
|
+
|
|
3
4
|
import { LayoutService } from '../../service/app.layout.service';
|
|
4
5
|
import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
|
|
5
6
|
|
|
@@ -10,10 +11,9 @@ import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
|
|
|
10
11
|
templateUrl: './app.topbar.component.html'
|
|
11
12
|
})
|
|
12
13
|
export class AppTopbarComponent {
|
|
13
|
-
|
|
14
14
|
@ViewChild('menubutton') menuButton!: ElementRef;
|
|
15
15
|
|
|
16
|
-
constructor(public layoutService: LayoutService) {
|
|
16
|
+
constructor(public layoutService: LayoutService) {}
|
|
17
17
|
|
|
18
18
|
onMenuButtonClick() {
|
|
19
19
|
this.layoutService.onMenuToggle();
|
|
@@ -25,5 +25,4 @@ export class AppTopbarComponent {
|
|
|
25
25
|
onConfigButtonClick() {
|
|
26
26
|
this.layoutService.showConfigSidebar();
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
}
|
|
28
|
+
}
|
package/theme/layout/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './app/layout/app.layout.component';
|
|
1
|
+
export * from './app/layout/app.layout.component';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json",
|
|
3
|
+
"lib": {
|
|
4
|
+
"entryFile": "./index.ts"
|
|
5
|
+
}
|
|
6
|
+
}
|
|
@@ -2,14 +2,7 @@ import { Injectable, effect, signal } from '@angular/core';
|
|
|
2
2
|
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
|
|
5
|
-
export type MenuMode =
|
|
6
|
-
| 'static'
|
|
7
|
-
| 'overlay'
|
|
8
|
-
| 'horizontal'
|
|
9
|
-
| 'slim'
|
|
10
|
-
| 'slim-plus'
|
|
11
|
-
| 'reveal'
|
|
12
|
-
| 'drawer';
|
|
5
|
+
export type MenuMode = 'static' | 'overlay' | 'horizontal' | 'slim' | 'slim-plus' | 'reveal' | 'drawer';
|
|
13
6
|
|
|
14
7
|
export type ColorScheme = 'light' | 'dark' | 'dim';
|
|
15
8
|
|
|
@@ -37,7 +30,7 @@ interface LayoutState {
|
|
|
37
30
|
}
|
|
38
31
|
|
|
39
32
|
@Injectable({
|
|
40
|
-
providedIn: 'root'
|
|
33
|
+
providedIn: 'root'
|
|
41
34
|
})
|
|
42
35
|
export class LayoutService {
|
|
43
36
|
_config: AppConfig = {
|
|
@@ -47,7 +40,7 @@ export class LayoutService {
|
|
|
47
40
|
colorScheme: 'light',
|
|
48
41
|
theme: 'indigo',
|
|
49
42
|
scale: 12,
|
|
50
|
-
menuTheme: 'colorScheme'
|
|
43
|
+
menuTheme: 'colorScheme'
|
|
51
44
|
};
|
|
52
45
|
|
|
53
46
|
// TODO: Set User Config
|
|
@@ -61,7 +54,7 @@ export class LayoutService {
|
|
|
61
54
|
staticMenuMobileActive: false,
|
|
62
55
|
menuHoverActive: false,
|
|
63
56
|
sidebarActive: false,
|
|
64
|
-
anchored: false
|
|
57
|
+
anchored: false
|
|
65
58
|
};
|
|
66
59
|
|
|
67
60
|
private configUpdate = new Subject<AppConfig>();
|
|
@@ -84,10 +77,7 @@ export class LayoutService {
|
|
|
84
77
|
}
|
|
85
78
|
|
|
86
79
|
updateStyle(config: AppConfig) {
|
|
87
|
-
return
|
|
88
|
-
config.theme !== this._config.theme ||
|
|
89
|
-
config.colorScheme !== this._config.colorScheme
|
|
90
|
-
);
|
|
80
|
+
return config.theme !== this._config.theme || config.colorScheme !== this._config.colorScheme;
|
|
91
81
|
}
|
|
92
82
|
|
|
93
83
|
onMenuToggle() {
|
|
@@ -100,11 +90,9 @@ export class LayoutService {
|
|
|
100
90
|
}
|
|
101
91
|
|
|
102
92
|
if (this.isDesktop()) {
|
|
103
|
-
this.state.staticMenuDesktopInactive =
|
|
104
|
-
!this.state.staticMenuDesktopInactive;
|
|
93
|
+
this.state.staticMenuDesktopInactive = !this.state.staticMenuDesktopInactive;
|
|
105
94
|
} else {
|
|
106
|
-
this.state.staticMenuMobileActive =
|
|
107
|
-
!this.state.staticMenuMobileActive;
|
|
95
|
+
this.state.staticMenuMobileActive = !this.state.staticMenuMobileActive;
|
|
108
96
|
|
|
109
97
|
if (this.state.staticMenuMobileActive) {
|
|
110
98
|
this.overlayOpen.next(null);
|
|
@@ -155,18 +143,14 @@ export class LayoutService {
|
|
|
155
143
|
|
|
156
144
|
changeTheme() {
|
|
157
145
|
const config = this.config();
|
|
158
|
-
const themeLink = <HTMLLinkElement>(
|
|
159
|
-
document.getElementById('theme-link')
|
|
160
|
-
);
|
|
146
|
+
const themeLink = <HTMLLinkElement>document.getElementById('theme-link');
|
|
161
147
|
const themeLinkHref = themeLink.getAttribute('href')!;
|
|
162
148
|
const newHref = themeLinkHref
|
|
163
149
|
.split('/')
|
|
164
150
|
.map((el) =>
|
|
165
|
-
el == this._config.theme
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
? (el = `theme-${config.colorScheme}`)
|
|
169
|
-
: el
|
|
151
|
+
el == this._config.theme ? (el = config.theme)
|
|
152
|
+
: el == `theme-${this._config.colorScheme}` ? (el = `theme-${config.colorScheme}`)
|
|
153
|
+
: el
|
|
170
154
|
)
|
|
171
155
|
.join('/');
|
|
172
156
|
|
|
@@ -181,10 +165,7 @@ export class LayoutService {
|
|
|
181
165
|
cloneLinkElement.setAttribute('href', href);
|
|
182
166
|
cloneLinkElement.setAttribute('id', id + '-clone');
|
|
183
167
|
|
|
184
|
-
themeLink.parentNode!.insertBefore(
|
|
185
|
-
cloneLinkElement,
|
|
186
|
-
themeLink.nextSibling
|
|
187
|
-
);
|
|
168
|
+
themeLink.parentNode!.insertBefore(cloneLinkElement, themeLink.nextSibling);
|
|
188
169
|
cloneLinkElement.addEventListener('load', () => {
|
|
189
170
|
themeLink.remove();
|
|
190
171
|
cloneLinkElement.setAttribute('id', id);
|