aril 0.0.67 → 0.0.69
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/host/src/bootstrap.d.ts +3 -1
- package/esm2022/boot/config/apps/src/apps.service.mjs +2 -2
- package/esm2022/boot/host/src/app.component.mjs +3 -1
- package/esm2022/boot/host/src/bootstrap.mjs +4 -2
- package/esm2022/boot/index.mjs +1 -1
- package/esm2022/boot/mfe/index.mjs +1 -1
- package/esm2022/boot/mfe/src/loadStyles.mjs +12 -2
- package/esm2022/http/src/httpClient.mjs +1 -1
- 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/public-api.mjs +1 -1
- package/esm2022/theme/index.mjs +1 -1
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +3 -3
- package/esm2022/theme/layout/app/config/app.config.component.mjs +3 -3
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -3
- package/esm2022/theme/layout/app/menu/app.menu.component.mjs +1 -1
- package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +3 -3
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +45 -4
- package/esm2022/theme/layout/service/app.menu.service.mjs +8 -8
- 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 +4 -3
- 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/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 +4 -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 +3 -3
- 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/selectBox/src/select-box.component.mjs +4 -4
- 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/table/src/table.component.mjs +4 -8
- 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/fesm2022/aril-boot-config-apps.mjs +1 -1
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +5 -2
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-56mRBcx9.mjs → aril-boot-mfe-app.component-LEOxZrWW.mjs} +2 -2
- package/fesm2022/{aril-boot-mfe-app.component-56mRBcx9.mjs.map → aril-boot-mfe-app.component-LEOxZrWW.mjs.map} +1 -1
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-oBeQubOm.mjs → aril-boot-mfe-aril-boot-mfe-WTaS-jzb.mjs} +13 -3
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-WTaS-jzb.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +1 -1
- package/fesm2022/aril-boot.mjs.map +1 -1
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-i18n.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +57 -17
- 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 +3 -2
- 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-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 +3 -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 +2 -2
- 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-selectBox.mjs +3 -3
- package/fesm2022/aril-ui-selectBox.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 +3 -7
- 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.mjs.map +1 -1
- package/fesm2022/aril.mjs +15 -2
- package/fesm2022/aril.mjs.map +1 -1
- package/package.json +37 -37
- package/styles/ui/ui.common.scss +24 -24
- package/theme/index.ts +1 -1
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +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 +2 -3
- package/theme/layout/app/layout/app.layout.component.ts +172 -172
- package/theme/layout/app/menu/app.menu.component.ts +2 -2
- package/theme/layout/app/sidebar/app.sidebar.component.html +2 -23
- package/theme/layout/app/sidebar/app.sidebar.component.ts +44 -44
- package/theme/layout/app/topbar/app.topbar.component.d.ts +2 -0
- package/theme/layout/app/topbar/app.topbar.component.html +39 -31
- package/theme/layout/app/topbar/app.topbar.component.ts +42 -2
- package/theme/layout/ng-package.json +6 -6
- package/theme/layout/service/app.menu.service.ts +7 -7
- 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 +115 -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 +7 -4
- package/theme/styles/layout/_sidebar_vertical.scss +153 -153
- package/theme/styles/layout/_topbar.scss +26 -18
- 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/light/_extensions.scss +116 -116
- package/theme/styles/theme/light/_variables.scss +6 -5
- 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/lena/theme.scss +14 -0
- package/theme/styles/theme/light/thor/theme.scss +14 -0
- package/theme/styles/theme/light/yeap/theme.scss +14 -0
- package/ui/calendar/src/calendar.component.d.ts +2 -1
- package/ui/number/src/number.component.d.ts +2 -1
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-oBeQubOm.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
|
-
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
|
+
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
|
+
}
|
|
@@ -118,8 +118,8 @@ import { AppMenuService } from '../../service/app.menu.service';
|
|
|
118
118
|
])
|
|
119
119
|
],
|
|
120
120
|
styles: ['.active-root-menu-item { background-color: var(--primary-color); & > i,span { color: white !important } }']
|
|
121
|
-
})
|
|
122
|
-
export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
121
|
+
})
|
|
122
|
+
export class AppMenuItemComponent implements OnInit, OnDestroy {
|
|
123
123
|
@Input() item!: MenuItem;
|
|
124
124
|
|
|
125
125
|
@Input() index!: number;
|
|
@@ -1,27 +1,6 @@
|
|
|
1
1
|
<div class="layout-sidebar" (mouseenter)="onMouseEnter()" (mouseleave)="onMouseLeave()">
|
|
2
2
|
<div class="sidebar-header">
|
|
3
|
-
<a [routerLink]="['/']" class="app-logo">
|
|
4
|
-
<!-- <svg viewBox="0 0 124 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="app-logo-normal">
|
|
5
|
-
<path
|
|
6
|
-
d="M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z"
|
|
7
|
-
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)" />
|
|
10
|
-
<path
|
|
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"
|
|
12
|
-
fill="var(--logo-color)" />
|
|
13
|
-
<path
|
|
14
|
-
d="M52.4927 12.1838V18.0007H50.3311V3.67651H52.7803C53.9802 3.67651 54.8862 3.76001 55.4985 3.927C56.117 4.09399 56.6613 4.40942 57.1314 4.87329C57.954 5.67733 58.3652 6.69165 58.3652 7.91626C58.3652 9.22746 57.9261 10.2665 57.0479 11.0334C56.1696 11.8004 54.9852 12.1838 53.4946 12.1838H52.4927ZM52.4927 10.1799H53.2998C55.2852 10.1799 56.2778 9.4161 56.2778 7.88843C56.2778 6.41024 55.2542 5.67114 53.207 5.67114H52.4927V10.1799Z"
|
|
15
|
-
fill="var(--logo-color)" />
|
|
16
|
-
<path
|
|
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"
|
|
18
|
-
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)" />
|
|
21
|
-
<path
|
|
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"
|
|
23
|
-
fill="var(--logo-color)" />
|
|
24
|
-
</svg> -->
|
|
3
|
+
<!-- <a [routerLink]="['/']" class="app-logo">
|
|
25
4
|
<svg
|
|
26
5
|
width="21"
|
|
27
6
|
height="22"
|
|
@@ -35,7 +14,7 @@
|
|
|
35
14
|
<path d="M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z" fill="var(--logo-color)" />
|
|
36
15
|
<path d="M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z" fill="var(--logo-color)" />
|
|
37
16
|
</svg>
|
|
38
|
-
</a>
|
|
17
|
+
</a> -->
|
|
39
18
|
<button class="layout-sidebar-anchor p-link z-2 mb-2" type="button" (click)="anchor()"></button>
|
|
40
19
|
</div>
|
|
41
20
|
|
|
@@ -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
|
+
}
|
|
@@ -7,6 +7,8 @@ export declare class AppTopbarComponent {
|
|
|
7
7
|
username: string;
|
|
8
8
|
layoutService: LayoutService;
|
|
9
9
|
keyCloakManager: KeycloakManager;
|
|
10
|
+
search: string;
|
|
11
|
+
filePath: import("@angular/core").WritableSignal<string>;
|
|
10
12
|
constructor();
|
|
11
13
|
onMenuButtonClick(): void;
|
|
12
14
|
onProfileButtonClick(): void;
|
|
@@ -3,56 +3,64 @@
|
|
|
3
3
|
<button #menubutton type="button" class="topbar-menubutton p-link p-trigger" (click)="onMenuButtonClick()">
|
|
4
4
|
<i class="pi pi-bars"></i>
|
|
5
5
|
</button>
|
|
6
|
+
<img [src]="filePath()" alt="yeap" style="margin-right: 1rem;"/>
|
|
6
7
|
</div>
|
|
7
8
|
|
|
8
|
-
<div class="topbar-
|
|
9
|
-
<
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
<div class="topbar-search" style="width: 50rem">
|
|
10
|
+
<span class="p-input-icon-left" style="width: 100%">
|
|
11
|
+
<i class="pi pi-search"></i>
|
|
12
|
+
<input
|
|
13
|
+
type="text"
|
|
14
|
+
pInputText
|
|
15
|
+
variant="filled"
|
|
16
|
+
placeholder="Genel Arama"
|
|
17
|
+
style="background: #EFF3F8;border: none;"
|
|
18
|
+
class="p-inputtext p-component p-element sm:w-full" />
|
|
19
|
+
</span>
|
|
20
|
+
</div>
|
|
20
21
|
|
|
22
|
+
<div class="topbar-end mr-2">
|
|
23
|
+
<ul class="topbar-menu">
|
|
21
24
|
<li class="ml-3">
|
|
22
25
|
<button
|
|
23
26
|
pButton
|
|
24
27
|
type="button"
|
|
25
|
-
icon="pi pi-
|
|
26
|
-
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"
|
|
27
|
-
(click)="onConfigButtonClick()"></button>
|
|
28
|
+
icon="pi pi-sitemap"
|
|
29
|
+
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"></button>
|
|
28
30
|
</li>
|
|
29
|
-
|
|
30
31
|
<li class="ml-3">
|
|
31
32
|
<button
|
|
32
33
|
pButton
|
|
33
34
|
type="button"
|
|
34
|
-
icon="pi pi-
|
|
35
|
-
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"
|
|
36
|
-
(click)="onConfigButtonClick()"></button>
|
|
35
|
+
icon="pi pi-history"
|
|
36
|
+
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"></button>
|
|
37
37
|
</li>
|
|
38
|
-
|
|
39
|
-
<!-- <li class="ml-3" style="border: 1px solid crimson; border-radius: 50%">
|
|
38
|
+
<li class="ml-3">
|
|
40
39
|
<button
|
|
41
40
|
pButton
|
|
42
41
|
type="button"
|
|
43
|
-
icon="pi pi-
|
|
44
|
-
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
icon="pi pi-heart"
|
|
43
|
+
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"></button>
|
|
44
|
+
</li>
|
|
45
|
+
|
|
47
46
|
|
|
48
|
-
<li class="
|
|
49
|
-
<button
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
<li class="ml-3">
|
|
48
|
+
<button
|
|
49
|
+
pButton
|
|
50
|
+
type="button"
|
|
51
|
+
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0"
|
|
52
|
+
(click)="onProfileButtonClick()" >
|
|
53
|
+
{{ username[0] | uppercase }}
|
|
54
54
|
</button>
|
|
55
55
|
</li>
|
|
56
|
+
|
|
57
|
+
<li class="ml-3">
|
|
58
|
+
<button
|
|
59
|
+
pButton
|
|
60
|
+
type="button"
|
|
61
|
+
icon="pi pi-bell"
|
|
62
|
+
class="p-button-text p-button-secondary p-button-rounded flex-shrink-0 bell-topbar"></button>
|
|
63
|
+
</li>
|
|
56
64
|
</ul>
|
|
57
65
|
</div>
|
|
58
66
|
</div>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component, ElementRef, ViewChild, inject } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, ViewChild, inject, signal } from '@angular/core';
|
|
2
|
+
import { Apps } from 'aril/boot/config/apps';
|
|
2
3
|
|
|
3
4
|
import { ButtonModule } from 'primeng/button';
|
|
4
5
|
|
|
@@ -7,11 +8,12 @@ import { KeycloakManager } from 'aril/keycloak';
|
|
|
7
8
|
import { LayoutService } from '../../service/app.layout.service';
|
|
8
9
|
import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
|
|
9
10
|
import { UpperCasePipe } from '@angular/common';
|
|
11
|
+
import { FormsModule } from '@angular/forms';
|
|
10
12
|
|
|
11
13
|
@Component({
|
|
12
14
|
standalone: true,
|
|
13
15
|
selector: 'app-topbar',
|
|
14
|
-
imports: [ButtonModule, AppBreadcrumbComponent,UpperCasePipe],
|
|
16
|
+
imports: [ButtonModule, AppBreadcrumbComponent,UpperCasePipe, FormsModule],
|
|
15
17
|
templateUrl: './app.topbar.component.html'
|
|
16
18
|
})
|
|
17
19
|
export class AppTopbarComponent {
|
|
@@ -20,8 +22,46 @@ export class AppTopbarComponent {
|
|
|
20
22
|
username! :string;
|
|
21
23
|
layoutService = inject(LayoutService);
|
|
22
24
|
keyCloakManager = inject(KeycloakManager);
|
|
25
|
+
search: string = '';
|
|
26
|
+
|
|
27
|
+
filePath = signal('');
|
|
23
28
|
|
|
24
29
|
constructor() {
|
|
30
|
+
if ((<any>globalThis).activeHost) {
|
|
31
|
+
switch ((<any>globalThis).activeHost) {
|
|
32
|
+
case Apps.YEAP:
|
|
33
|
+
this.filePath.update((file)=> file = 'assets/images/yeap-logo.png');
|
|
34
|
+
break;
|
|
35
|
+
case Apps.THOR:
|
|
36
|
+
this.filePath.update((file)=> file = 'assets/images/thor-logo.png');
|
|
37
|
+
break;
|
|
38
|
+
case Apps.LENA:
|
|
39
|
+
this.filePath.update((file)=> file = 'assets/images/lena-logo.png');
|
|
40
|
+
break;
|
|
41
|
+
default:
|
|
42
|
+
this.filePath.update((file)=> file = 'assets/images/yeap-logo.png');
|
|
43
|
+
}}else{
|
|
44
|
+
switch ((<any>globalThis).activeMF) {
|
|
45
|
+
case Apps.HES:
|
|
46
|
+
case Apps.CTS:
|
|
47
|
+
case Apps.SIS:
|
|
48
|
+
this.filePath.update((file)=> file = 'assets/images/lena-logo.png');
|
|
49
|
+
break;
|
|
50
|
+
case Apps.CRM:
|
|
51
|
+
case Apps.BILLING:
|
|
52
|
+
case Apps.PAYMENT:
|
|
53
|
+
case Apps.WDM:
|
|
54
|
+
case Apps.MNG:
|
|
55
|
+
this.filePath.update((file)=> file = 'assets/images/thor-logo.png');
|
|
56
|
+
break;
|
|
57
|
+
case Apps.MW:
|
|
58
|
+
this.filePath.update((file)=> file = 'assets/images/yeap-logo.png');
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
this.filePath.update((file)=> file = 'assets/images/yeap-logo.png');;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
25
65
|
this.username = this.keyCloakManager.getUsername();
|
|
26
66
|
}
|
|
27
67
|
|