@delon/theme 15.2.0 → 16.0.0-beta.0

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.
Files changed (142) hide show
  1. package/compact.css +5 -14
  2. package/compact.min.css +1 -1
  3. package/dark.css +5 -14
  4. package/dark.min.css +1 -1
  5. package/default.css +5 -14
  6. package/default.min.css +1 -1
  7. package/esm2022/layout-default/layout-header-item-trigger.directive.mjs +17 -0
  8. package/esm2022/layout-default/layout-header-item.component.mjs +34 -0
  9. package/esm2022/layout-default/layout-header.component.mjs +127 -0
  10. package/esm2022/layout-default/layout-nav.component.mjs +295 -0
  11. package/esm2022/layout-default/layout-top-menu-item.mjs +40 -0
  12. package/esm2022/layout-default/layout.component.mjs +163 -0
  13. package/esm2022/layout-default/layout.module.mjs +72 -0
  14. package/esm2022/layout-default/layout.service.mjs +66 -0
  15. package/esm2022/setting-drawer/setting-drawer-item.component.mjs +36 -0
  16. package/esm2022/setting-drawer/setting-drawer.component.mjs +195 -0
  17. package/esm2022/setting-drawer/setting-drawer.module.mjs +67 -0
  18. package/esm2022/src/locale/locale.module.mjs +18 -0
  19. package/esm2022/src/locale/locale.service.mjs +46 -0
  20. package/esm2022/src/pipes/date/date.pipe.mjs +25 -0
  21. package/esm2022/src/pipes/keys/keys.pipe.mjs +22 -0
  22. package/esm2022/src/pipes/safe/html.pipe.mjs +19 -0
  23. package/esm2022/src/pipes/safe/url.pipe.mjs +19 -0
  24. package/esm2022/src/pipes/yn/yn.pipe.mjs +39 -0
  25. package/esm2022/src/services/drawer/drawer.helper.mjs +92 -0
  26. package/esm2022/src/services/http/http.client.mjs +154 -0
  27. package/esm2022/src/services/http/http.decorator.mjs +216 -0
  28. package/esm2022/src/services/i18n/i18n-url.guard.mjs +37 -0
  29. package/esm2022/src/services/i18n/i18n.mjs +98 -0
  30. package/esm2022/src/services/i18n/i18n.pipe.mjs +22 -0
  31. package/esm2022/src/services/menu/menu.service.mjs +302 -0
  32. package/esm2022/src/services/modal/modal.helper.mjs +107 -0
  33. package/esm2022/src/services/responsive/responsive.mjs +47 -0
  34. package/esm2022/src/services/rtl/rtl.service.mjs +102 -0
  35. package/esm2022/src/services/settings/settings.service.mjs +101 -0
  36. package/esm2022/src/services/title/title.service.mjs +147 -0
  37. package/esm2022/src/theme.module.mjs +77 -0
  38. package/{esm2020 → esm2022}/src/version.mjs +1 -1
  39. package/esm2022/theme-btn/theme-btn.component.mjs +110 -0
  40. package/esm2022/theme-btn/theme-btn.module.mjs +33 -0
  41. package/{fesm2020 → fesm2022}/layout-default.mjs +55 -55
  42. package/{fesm2015 → fesm2022}/layout-default.mjs.map +1 -1
  43. package/{fesm2020 → fesm2022}/setting-drawer.mjs +32 -32
  44. package/{fesm2015 → fesm2022}/setting-drawer.mjs.map +1 -1
  45. package/{fesm2020 → fesm2022}/theme-btn.mjs +12 -12
  46. package/fesm2022/theme-btn.mjs.map +1 -0
  47. package/{fesm2020 → fesm2022}/theme.mjs +75 -75
  48. package/{fesm2020 → fesm2022}/theme.mjs.map +1 -1
  49. package/layout-default/layout-header-item.component.d.ts +1 -1
  50. package/layout-default/layout-header.component.d.ts +1 -1
  51. package/layout-default/layout-nav.component.d.ts +1 -1
  52. package/layout-default/layout-top-menu-item.d.ts +1 -1
  53. package/layout-default/layout.component.d.ts +1 -1
  54. package/package.json +20 -34
  55. package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
  56. package/setting-drawer/setting-drawer.component.d.ts +1 -1
  57. package/system/utils/_other.less +1 -4
  58. package/system/widgets/_abs.less +1 -4
  59. package/theme-btn/theme-btn.component.d.ts +1 -1
  60. package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +0 -16
  61. package/esm2020/layout-default/layout-header-item.component.mjs +0 -33
  62. package/esm2020/layout-default/layout-header.component.mjs +0 -126
  63. package/esm2020/layout-default/layout-nav.component.mjs +0 -294
  64. package/esm2020/layout-default/layout-top-menu-item.mjs +0 -39
  65. package/esm2020/layout-default/layout.component.mjs +0 -162
  66. package/esm2020/layout-default/layout.module.mjs +0 -71
  67. package/esm2020/layout-default/layout.service.mjs +0 -65
  68. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +0 -35
  69. package/esm2020/setting-drawer/setting-drawer.component.mjs +0 -194
  70. package/esm2020/setting-drawer/setting-drawer.module.mjs +0 -66
  71. package/esm2020/src/locale/locale.module.mjs +0 -17
  72. package/esm2020/src/locale/locale.service.mjs +0 -45
  73. package/esm2020/src/pipes/date/date.pipe.mjs +0 -24
  74. package/esm2020/src/pipes/keys/keys.pipe.mjs +0 -21
  75. package/esm2020/src/pipes/safe/html.pipe.mjs +0 -18
  76. package/esm2020/src/pipes/safe/url.pipe.mjs +0 -18
  77. package/esm2020/src/pipes/yn/yn.pipe.mjs +0 -38
  78. package/esm2020/src/services/drawer/drawer.helper.mjs +0 -91
  79. package/esm2020/src/services/http/http.client.mjs +0 -153
  80. package/esm2020/src/services/http/http.decorator.mjs +0 -215
  81. package/esm2020/src/services/i18n/i18n-url.guard.mjs +0 -36
  82. package/esm2020/src/services/i18n/i18n.mjs +0 -96
  83. package/esm2020/src/services/i18n/i18n.pipe.mjs +0 -21
  84. package/esm2020/src/services/menu/menu.service.mjs +0 -301
  85. package/esm2020/src/services/modal/modal.helper.mjs +0 -106
  86. package/esm2020/src/services/responsive/responsive.mjs +0 -46
  87. package/esm2020/src/services/rtl/rtl.service.mjs +0 -101
  88. package/esm2020/src/services/settings/settings.service.mjs +0 -100
  89. package/esm2020/src/services/title/title.service.mjs +0 -146
  90. package/esm2020/src/theme.module.mjs +0 -76
  91. package/esm2020/theme-btn/theme-btn.component.mjs +0 -109
  92. package/esm2020/theme-btn/theme-btn.module.mjs +0 -32
  93. package/fesm2015/layout-default.mjs +0 -773
  94. package/fesm2015/setting-drawer.mjs +0 -487
  95. package/fesm2015/theme-btn.mjs +0 -147
  96. package/fesm2015/theme-btn.mjs.map +0 -1
  97. package/fesm2015/theme.mjs +0 -2696
  98. package/fesm2015/theme.mjs.map +0 -1
  99. package/fesm2020/layout-blank.mjs +0 -7
  100. package/fesm2020/layout-blank.mjs.map +0 -1
  101. package/fesm2020/layout-default.mjs.map +0 -1
  102. package/fesm2020/setting-drawer.mjs.map +0 -1
  103. package/fesm2020/theme-btn.mjs.map +0 -1
  104. /package/{esm2020 → esm2022}/layout-blank/layout-blank.mjs +0 -0
  105. /package/{esm2020 → esm2022}/layout-blank/public_api.mjs +0 -0
  106. /package/{esm2020 → esm2022}/layout-default/layout-default.mjs +0 -0
  107. /package/{esm2020 → esm2022}/layout-default/public_api.mjs +0 -0
  108. /package/{esm2020 → esm2022}/layout-default/types.mjs +0 -0
  109. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  110. /package/{esm2020 → esm2022}/setting-drawer/public_api.mjs +0 -0
  111. /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.mjs +0 -0
  112. /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.types.mjs +0 -0
  113. /package/{esm2020 → esm2022}/src/config.mjs +0 -0
  114. /package/{esm2020 → esm2022}/src/locale/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/src/locale/languages/el-GR.mjs +0 -0
  116. /package/{esm2020 → esm2022}/src/locale/languages/en-US.mjs +0 -0
  117. /package/{esm2020 → esm2022}/src/locale/languages/es-ES.mjs +0 -0
  118. /package/{esm2020 → esm2022}/src/locale/languages/fr-FR.mjs +0 -0
  119. /package/{esm2020 → esm2022}/src/locale/languages/hr-HR.mjs +0 -0
  120. /package/{esm2020 → esm2022}/src/locale/languages/it-IT.mjs +0 -0
  121. /package/{esm2020 → esm2022}/src/locale/languages/ja-JP.mjs +0 -0
  122. /package/{esm2020 → esm2022}/src/locale/languages/ko-KR.mjs +0 -0
  123. /package/{esm2020 → esm2022}/src/locale/languages/pl-PL.mjs +0 -0
  124. /package/{esm2020 → esm2022}/src/locale/languages/sl-SI.mjs +0 -0
  125. /package/{esm2020 → esm2022}/src/locale/languages/tr-TR.mjs +0 -0
  126. /package/{esm2020 → esm2022}/src/locale/languages/zh-CN.mjs +0 -0
  127. /package/{esm2020 → esm2022}/src/locale/languages/zh-TW.mjs +0 -0
  128. /package/{esm2020 → esm2022}/src/locale/locale.tokens.mjs +0 -0
  129. /package/{esm2020 → esm2022}/src/locale/locale.types.mjs +0 -0
  130. /package/{esm2020 → esm2022}/src/locale/public_api.mjs +0 -0
  131. /package/{esm2020 → esm2022}/src/router/optional-preloader.mjs +0 -0
  132. /package/{esm2020 → esm2022}/src/services/http/http.token.mjs +0 -0
  133. /package/{esm2020 → esm2022}/src/services/http/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/src/services/i18n/index.mjs +0 -0
  135. /package/{esm2020 → esm2022}/src/services/menu/interface.mjs +0 -0
  136. /package/{esm2020 → esm2022}/src/services/preloader/preloader.mjs +0 -0
  137. /package/{esm2020 → esm2022}/src/services/settings/types.mjs +0 -0
  138. /package/{esm2020 → esm2022}/theme-btn/public_api.mjs +0 -0
  139. /package/{esm2020 → esm2022}/theme-btn/theme-btn.mjs +0 -0
  140. /package/{esm2020 → esm2022}/theme.mjs +0 -0
  141. /package/{fesm2015 → fesm2022}/layout-blank.mjs +0 -0
  142. /package/{fesm2015 → fesm2022}/layout-blank.mjs.map +0 -0
@@ -1,773 +0,0 @@
1
- import * as i5 from '@angular/common';
2
- import { DOCUMENT, CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Component, ViewChild, Input, Injectable, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Inject, Optional, Output, ContentChildren, Directive, NgModule } from '@angular/core';
5
- import * as i2 from '@angular/router';
6
- import { NavigationEnd, RouteConfigLoadStart, NavigationError, NavigationCancel, RouteConfigLoadEnd, RouterModule } from '@angular/router';
7
- import { BehaviorSubject, Subject, takeUntil, filter } from 'rxjs';
8
- import { updateHostClass } from '@delon/util/browser';
9
- import * as i2$1 from 'ng-zorro-antd/message';
10
- import { NzMessageModule } from 'ng-zorro-antd/message';
11
- import * as i1 from '@delon/theme';
12
- import * as i7 from 'ng-zorro-antd/icon';
13
- import { NzIconModule } from 'ng-zorro-antd/icon';
14
- import { __decorate } from 'tslib';
15
- import { InputBoolean, InputNumber, ZoneOutside } from '@delon/util/decorator';
16
- import { WINDOW } from '@delon/util/token';
17
- import * as i3 from '@angular/platform-browser';
18
- import * as i4 from '@angular/cdk/bidi';
19
- import * as i6 from 'ng-zorro-antd/tooltip';
20
- import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
21
- import * as i8 from 'ng-zorro-antd/badge';
22
- import { NzBadgeModule } from 'ng-zorro-antd/badge';
23
- import { NzAvatarModule } from 'ng-zorro-antd/avatar';
24
- import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
25
-
26
- class LayoutDefaultHeaderItemComponent {
27
- constructor() {
28
- this.hidden = 'none';
29
- this.direction = 'right';
30
- }
31
- }
32
- LayoutDefaultHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultHeaderItemComponent, selector: "layout-default-header-item", inputs: { hidden: "hidden", direction: "direction" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: `
34
- <ng-template #host>
35
- <ng-content></ng-content>
36
- </ng-template>
37
- `, isInline: true });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
39
- type: Component,
40
- args: [{
41
- selector: 'layout-default-header-item',
42
- template: `
43
- <ng-template #host>
44
- <ng-content></ng-content>
45
- </ng-template>
46
- `
47
- }]
48
- }], propDecorators: { host: [{
49
- type: ViewChild,
50
- args: ['host', { static: true }]
51
- }], hidden: [{
52
- type: Input
53
- }], direction: [{
54
- type: Input
55
- }] } });
56
-
57
- const DEFAULT = {
58
- logoExpanded: `./assets/logo-full.svg`,
59
- logoCollapsed: `./assets/logo.svg`,
60
- logoLink: `/`,
61
- showHeaderCollapse: true,
62
- showSiderCollapse: false,
63
- hideAside: false,
64
- hideHeader: false
65
- };
66
- class LayoutDefaultService {
67
- get options() {
68
- return this._options;
69
- }
70
- get options$() {
71
- return this._options$.asObservable();
72
- }
73
- get collapsedIcon() {
74
- const collapsed = this.settings.layout.collapsed;
75
- let type = collapsed ? 'unfold' : 'fold';
76
- if (this.settings.layout.direction === 'rtl') {
77
- type = collapsed ? 'fold' : 'unfold';
78
- }
79
- return `menu-${type}`;
80
- }
81
- constructor(settings) {
82
- this.settings = settings;
83
- this._options$ = new BehaviorSubject(DEFAULT);
84
- this._options = DEFAULT;
85
- }
86
- notify() {
87
- this._options$.next(this._options);
88
- }
89
- /**
90
- * Set layout configuration
91
- *
92
- * 设置布局配置
93
- */
94
- setOptions(options) {
95
- this._options = Object.assign(Object.assign({}, DEFAULT), options);
96
- this.notify();
97
- }
98
- /**
99
- * Toggle the collapsed state of the sidebar menu bar
100
- *
101
- * 切换侧边栏菜单栏折叠状态
102
- */
103
- toggleCollapsed(status) {
104
- this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);
105
- this.notify();
106
- }
107
- }
108
- LayoutDefaultService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultService, deps: [{ token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
109
- LayoutDefaultService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultService, providedIn: 'root' });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultService, decorators: [{
111
- type: Injectable,
112
- args: [{ providedIn: 'root' }]
113
- }], ctorParameters: function () { return [{ type: i1.SettingsService }]; } });
114
-
115
- const SHOWCLS = 'sidebar-nav__floating-show';
116
- const FLOATINGCLS = 'sidebar-nav__floating';
117
- class LayoutDefaultNavComponent {
118
- set openStrictly(value) {
119
- this.menuSrv.openStrictly = value;
120
- }
121
- get collapsed() {
122
- return this.settings.layout.collapsed;
123
- }
124
- constructor(menuSrv, settings, router, render, cdr, ngZone, sanitizer, doc, win, directionality) {
125
- this.menuSrv = menuSrv;
126
- this.settings = settings;
127
- this.router = router;
128
- this.render = render;
129
- this.cdr = cdr;
130
- this.ngZone = ngZone;
131
- this.sanitizer = sanitizer;
132
- this.doc = doc;
133
- this.win = win;
134
- this.directionality = directionality;
135
- this.destroy$ = new Subject();
136
- this.dir = 'ltr';
137
- this.list = [];
138
- this.disabledAcl = false;
139
- this.autoCloseUnderPad = true;
140
- this.recursivePath = true;
141
- this.maxLevelIcon = 3;
142
- this.select = new EventEmitter();
143
- }
144
- getLinkNode(node) {
145
- node = node.nodeName === 'A' ? node : node.parentNode;
146
- return node.nodeName !== 'A' ? null : node;
147
- }
148
- floatingClickHandle(e) {
149
- e.stopPropagation();
150
- const linkNode = this.getLinkNode(e.target);
151
- if (linkNode == null) {
152
- return false;
153
- }
154
- const id = +linkNode.dataset.id;
155
- // Should be ingore children title trigger event
156
- if (isNaN(id)) {
157
- return false;
158
- }
159
- let item;
160
- this.menuSrv.visit(this.list, (i) => {
161
- if (!item && i._id === id) {
162
- item = i;
163
- }
164
- });
165
- this.to(item);
166
- this.hideAll();
167
- e.preventDefault();
168
- return false;
169
- }
170
- clearFloating() {
171
- if (!this.floatingEl)
172
- return;
173
- this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));
174
- // fix ie: https://github.com/ng-alain/delon/issues/52
175
- if (this.floatingEl.hasOwnProperty('remove')) {
176
- this.floatingEl.remove();
177
- }
178
- else if (this.floatingEl.parentNode) {
179
- this.floatingEl.parentNode.removeChild(this.floatingEl);
180
- }
181
- }
182
- genFloating() {
183
- this.clearFloating();
184
- this.floatingEl = this.render.createElement('div');
185
- this.floatingEl.classList.add(`${FLOATINGCLS}-container`);
186
- this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);
187
- this.bodyEl.appendChild(this.floatingEl);
188
- }
189
- genSubNode(linkNode, item) {
190
- const id = `_sidebar-nav-${item._id}`;
191
- const childNode = item.badge ? linkNode.nextElementSibling.nextElementSibling : linkNode.nextElementSibling;
192
- const node = childNode.cloneNode(true);
193
- node.id = id;
194
- node.classList.add(FLOATINGCLS);
195
- node.addEventListener('mouseleave', () => {
196
- node.classList.remove(SHOWCLS);
197
- }, false);
198
- this.floatingEl.appendChild(node);
199
- return node;
200
- }
201
- hideAll() {
202
- const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);
203
- for (let i = 0; i < allNode.length; i++) {
204
- allNode[i].classList.remove(SHOWCLS);
205
- }
206
- }
207
- // calculate the node position values.
208
- calPos(linkNode, node) {
209
- const rect = linkNode.getBoundingClientRect();
210
- // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/
211
- const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);
212
- const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);
213
- const spacing = 5;
214
- let offsetHeight = -spacing;
215
- if (docHeight < rect.top + node.clientHeight) {
216
- offsetHeight = rect.top + node.clientHeight - docHeight + spacing;
217
- }
218
- node.style.top = `${rect.top + scrollTop - offsetHeight}px`;
219
- if (this.dir === 'rtl') {
220
- node.style.right = `${rect.width + spacing}px`;
221
- }
222
- else {
223
- node.style.left = `${rect.right + spacing}px`;
224
- }
225
- }
226
- showSubMenu(e, item) {
227
- if (this.collapsed !== true) {
228
- return;
229
- }
230
- e.preventDefault();
231
- const linkNode = e.target;
232
- this.genFloating();
233
- const subNode = this.genSubNode(linkNode, item);
234
- this.hideAll();
235
- subNode.classList.add(SHOWCLS);
236
- this.calPos(linkNode, subNode);
237
- }
238
- to(item) {
239
- this.select.emit(item);
240
- if (item.disabled)
241
- return;
242
- if (item.externalLink) {
243
- if (item.target === '_blank') {
244
- this.win.open(item.externalLink);
245
- }
246
- else {
247
- this.win.location.href = item.externalLink;
248
- }
249
- return;
250
- }
251
- this.ngZone.run(() => this.router.navigateByUrl(item.link));
252
- }
253
- toggleOpen(item) {
254
- this.menuSrv.toggleOpen(item);
255
- }
256
- _click() {
257
- if (this.isPad && this.collapsed) {
258
- this.openAside(false);
259
- this.hideAll();
260
- }
261
- }
262
- closeSubMenu() {
263
- if (this.collapsed) {
264
- this.hideAll();
265
- }
266
- }
267
- openByUrl(url) {
268
- const { menuSrv, recursivePath } = this;
269
- this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath }));
270
- }
271
- ngOnInit() {
272
- var _a;
273
- const { doc, router, destroy$, menuSrv, settings, cdr } = this;
274
- this.bodyEl = doc.querySelector('body');
275
- menuSrv.change.pipe(takeUntil(destroy$)).subscribe(data => {
276
- menuSrv.visit(data, (i, _p, depth) => {
277
- i._text = this.sanitizer.bypassSecurityTrustHtml(i.text);
278
- i._needIcon = depth <= this.maxLevelIcon && !!i.icon;
279
- if (!i._aclResult) {
280
- if (this.disabledAcl) {
281
- i.disabled = true;
282
- }
283
- else {
284
- i._hidden = true;
285
- }
286
- }
287
- const icon = i.icon;
288
- if (icon && icon.type === 'svg' && typeof icon.value === 'string') {
289
- icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value);
290
- }
291
- });
292
- this.fixHide(data);
293
- this.list = data.filter((w) => w._hidden !== true);
294
- cdr.detectChanges();
295
- });
296
- router.events.pipe(takeUntil(destroy$)).subscribe(e => {
297
- if (e instanceof NavigationEnd) {
298
- this.openByUrl(e.urlAfterRedirects);
299
- this.underPad();
300
- this.cdr.detectChanges();
301
- }
302
- });
303
- settings.notify
304
- .pipe(takeUntil(destroy$), filter(t => t.type === 'layout' && t.name === 'collapsed'))
305
- .subscribe(() => this.clearFloating());
306
- this.underPad();
307
- this.dir = this.directionality.value;
308
- (_a = this.directionality.change) === null || _a === void 0 ? void 0 : _a.pipe(takeUntil(destroy$)).subscribe((direction) => {
309
- this.dir = direction;
310
- });
311
- this.openByUrl(router.url);
312
- this.ngZone.runOutsideAngular(() => this.genFloating());
313
- }
314
- fixHide(ls) {
315
- const inFn = (list) => {
316
- for (const item of list) {
317
- if (item.children && item.children.length > 0) {
318
- inFn(item.children);
319
- if (!item._hidden) {
320
- item._hidden = item.children.every((v) => v._hidden);
321
- }
322
- }
323
- }
324
- };
325
- inFn(ls);
326
- }
327
- ngOnDestroy() {
328
- this.destroy$.next();
329
- this.destroy$.complete();
330
- this.clearFloating();
331
- }
332
- // #region Under pad
333
- get isPad() {
334
- return this.doc.defaultView.innerWidth < 768;
335
- }
336
- underPad() {
337
- if (this.autoCloseUnderPad && this.isPad && !this.collapsed) {
338
- setTimeout(() => this.openAside(true));
339
- }
340
- }
341
- openAside(status) {
342
- this.settings.setLayout('collapsed', status);
343
- }
344
- }
345
- LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultNavComponent, deps: [{ token: i1.MenuService }, { token: i1.SettingsService }, { token: i2.Router }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.DomSanitizer }, { token: DOCUMENT }, { token: WINDOW }, { token: i4.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
346
- LayoutDefaultNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: { disabledAcl: "disabledAcl", autoCloseUnderPad: "autoCloseUnderPad", recursivePath: "recursivePath", openStrictly: "openStrictly", maxLevelIcon: "maxLevelIcon" }, outputs: { select: "select" }, host: { listeners: { "click": "_click()", "document:click": "closeSubMenu()" }, properties: { "class.d-block": "true" } }, ngImport: i0, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i6.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i8.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
347
- __decorate([
348
- InputBoolean()
349
- ], LayoutDefaultNavComponent.prototype, "disabledAcl", void 0);
350
- __decorate([
351
- InputBoolean()
352
- ], LayoutDefaultNavComponent.prototype, "autoCloseUnderPad", void 0);
353
- __decorate([
354
- InputBoolean()
355
- ], LayoutDefaultNavComponent.prototype, "recursivePath", void 0);
356
- __decorate([
357
- InputBoolean()
358
- ], LayoutDefaultNavComponent.prototype, "openStrictly", null);
359
- __decorate([
360
- InputNumber()
361
- ], LayoutDefaultNavComponent.prototype, "maxLevelIcon", void 0);
362
- __decorate([
363
- ZoneOutside()
364
- ], LayoutDefaultNavComponent.prototype, "showSubMenu", null);
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
366
- type: Component,
367
- args: [{ selector: 'layout-default-nav', host: {
368
- '(click)': '_click()',
369
- '(document:click)': 'closeSubMenu()',
370
- '[class.d-block]': `true`
371
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n" }]
372
- }], ctorParameters: function () {
373
- return [{ type: i1.MenuService }, { type: i1.SettingsService }, { type: i2.Router }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.DomSanitizer }, { type: undefined, decorators: [{
374
- type: Inject,
375
- args: [DOCUMENT]
376
- }] }, { type: undefined, decorators: [{
377
- type: Inject,
378
- args: [WINDOW]
379
- }] }, { type: i4.Directionality, decorators: [{
380
- type: Optional
381
- }] }];
382
- }, propDecorators: { disabledAcl: [{
383
- type: Input
384
- }], autoCloseUnderPad: [{
385
- type: Input
386
- }], recursivePath: [{
387
- type: Input
388
- }], openStrictly: [{
389
- type: Input
390
- }], maxLevelIcon: [{
391
- type: Input
392
- }], select: [{
393
- type: Output
394
- }], showSubMenu: [] } });
395
-
396
- class LayoutDefaultHeaderComponent {
397
- get opt() {
398
- return this.srv.options;
399
- }
400
- get app() {
401
- return this.settings.app;
402
- }
403
- get collapsed() {
404
- return this.settings.layout.collapsed;
405
- }
406
- get collapsedIcon() {
407
- return this.srv.collapsedIcon;
408
- }
409
- constructor(srv, settings, cdr) {
410
- this.srv = srv;
411
- this.settings = settings;
412
- this.cdr = cdr;
413
- this.destroy$ = new Subject();
414
- this.left = [];
415
- this.middle = [];
416
- this.right = [];
417
- }
418
- refresh() {
419
- const arr = this.items.toArray();
420
- this.left = arr.filter(i => i.direction === 'left');
421
- this.middle = arr.filter(i => i.direction === 'middle');
422
- this.right = arr.filter(i => i.direction === 'right');
423
- this.cdr.detectChanges();
424
- }
425
- ngAfterViewInit() {
426
- this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());
427
- this.srv.options$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges());
428
- this.refresh();
429
- }
430
- toggleCollapsed() {
431
- this.srv.toggleCollapsed();
432
- }
433
- ngOnDestroy() {
434
- this.destroy$.next();
435
- this.destroy$.complete();
436
- }
437
- }
438
- LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: LayoutDefaultService }, { token: i1.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
439
- LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
440
- <ng-template #render let-ls>
441
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
442
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
443
- </li>
444
- </ng-template>
445
- <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
446
- <ng-container *ngIf="!opt.logo; else opt.logo!">
447
- <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
448
- <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
449
- <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
450
- </a>
451
- </ng-container>
452
- </div>
453
- <div class="alain-default__nav-wrap">
454
- <ul class="alain-default__nav">
455
- <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
456
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
457
- <span nz-icon [nzType]="collapsedIcon"></span>
458
- </div>
459
- </li>
460
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
461
- </ul>
462
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
463
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
464
- </div>
465
- <ul class="alain-default__nav">
466
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
467
- </ul>
468
- </div>
469
- `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
471
- type: Component,
472
- args: [{
473
- selector: 'layout-default-header',
474
- template: `
475
- <ng-template #render let-ls>
476
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
477
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
478
- </li>
479
- </ng-template>
480
- <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
481
- <ng-container *ngIf="!opt.logo; else opt.logo!">
482
- <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
483
- <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
484
- <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
485
- </a>
486
- </ng-container>
487
- </div>
488
- <div class="alain-default__nav-wrap">
489
- <ul class="alain-default__nav">
490
- <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
491
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
492
- <span nz-icon [nzType]="collapsedIcon"></span>
493
- </div>
494
- </li>
495
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
496
- </ul>
497
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
498
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
499
- </div>
500
- <ul class="alain-default__nav">
501
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
502
- </ul>
503
- </div>
504
- `,
505
- host: {
506
- '[class.alain-default__header]': `true`
507
- },
508
- changeDetection: ChangeDetectionStrategy.OnPush
509
- }]
510
- }], ctorParameters: function () { return [{ type: LayoutDefaultService }, { type: i1.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
511
- type: Input
512
- }] } });
513
-
514
- class LayoutDefaultComponent {
515
- get opt() {
516
- return this.srv.options;
517
- }
518
- set options(value) {
519
- this.srv.setOptions(value);
520
- }
521
- get collapsed() {
522
- return this.settings.layout.collapsed;
523
- }
524
- get collapsedIcon() {
525
- return this.srv.collapsedIcon;
526
- }
527
- toggleCollapsed() {
528
- this.srv.toggleCollapsed();
529
- }
530
- constructor(router, msgSrv, settings, el, renderer, doc, srv) {
531
- this.msgSrv = msgSrv;
532
- this.settings = settings;
533
- this.el = el;
534
- this.renderer = renderer;
535
- this.doc = doc;
536
- this.srv = srv;
537
- this.asideUser = null;
538
- this.asideBottom = null;
539
- this.nav = null;
540
- this.content = null;
541
- this.destroy$ = new Subject();
542
- this.isFetching = false;
543
- router.events.pipe(takeUntil(this.destroy$)).subscribe(ev => this.processEv(ev));
544
- const { destroy$ } = this;
545
- this.srv.options$.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());
546
- this.settings.notify.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());
547
- }
548
- processEv(ev) {
549
- var _a;
550
- if (!this.isFetching && ev instanceof RouteConfigLoadStart) {
551
- this.isFetching = true;
552
- }
553
- if (ev instanceof NavigationError || ev instanceof NavigationCancel) {
554
- this.isFetching = false;
555
- const err = this.customError === null ? null : (_a = this.customError) !== null && _a !== void 0 ? _a : `Could not load ${ev.url} route`;
556
- if (err && ev instanceof NavigationError) {
557
- this.msgSrv.error(err, { nzDuration: 1000 * 3 });
558
- }
559
- return;
560
- }
561
- if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {
562
- return;
563
- }
564
- if (this.isFetching) {
565
- setTimeout(() => {
566
- this.isFetching = false;
567
- }, 100);
568
- }
569
- }
570
- setClass() {
571
- const { el, doc, renderer, settings } = this;
572
- const layout = settings.layout;
573
- updateHostClass(el.nativeElement, renderer, {
574
- ['alain-default']: true,
575
- [`alain-default__fixed`]: layout.fixed,
576
- [`alain-default__collapsed`]: layout.collapsed,
577
- [`alain-default__hide-aside`]: this.opt.hideAside,
578
- [`alain-default__hide-header`]: this.opt.hideHeader
579
- });
580
- doc.body.classList[layout.colorWeak ? 'add' : 'remove']('color-weak');
581
- }
582
- ngOnDestroy() {
583
- this.destroy$.next();
584
- this.destroy$.complete();
585
- }
586
- }
587
- LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultComponent, deps: [{ token: i2.Router }, { token: i2$1.NzMessageService }, { token: i1.SettingsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: LayoutDefaultService }], target: i0.ɵɵFactoryTarget.Component });
588
- LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultComponent, selector: "layout-default", inputs: { options: "options", asideUser: "asideUser", asideBottom: "asideBottom", nav: "nav", content: "content", customError: "customError" }, queries: [{ propertyName: "headerItems", predicate: LayoutDefaultHeaderItemComponent }], exportAs: ["layoutDefault"], ngImport: i0, template: `
589
- <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
590
- <layout-default-header *ngIf="!opt.hideHeader" [items]="headerItems"></layout-default-header>
591
- <div *ngIf="!opt.hideAside" class="alain-default__aside">
592
- <div class="alain-default__aside-wrap">
593
- <div class="alain-default__aside-inner">
594
- <ng-container *ngTemplateOutlet="asideUser"></ng-container>
595
- <ng-container *ngTemplateOutlet="nav"></ng-container>
596
- <layout-default-nav *ngIf="!nav"></layout-default-nav>
597
- </div>
598
- <div *ngIf="opt.showSiderCollapse" class="alain-default__aside-link">
599
- <ng-container *ngIf="asideBottom === null; else asideBottom">
600
- <div class="alain-default__aside-link-collapsed" (click)="toggleCollapsed()">
601
- <span nz-icon [nzType]="collapsedIcon"></span>
602
- </div>
603
- </ng-container>
604
- </div>
605
- </div>
606
- </div>
607
- <section class="alain-default__content">
608
- <ng-container *ngTemplateOutlet="content"></ng-container>
609
- <ng-content></ng-content>
610
- </section>
611
- `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: ["disabledAcl", "autoCloseUnderPad", "recursivePath", "openStrictly", "maxLevelIcon"], outputs: ["select"] }, { kind: "component", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: ["items"] }] });
612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
613
- type: Component,
614
- args: [{
615
- selector: 'layout-default',
616
- exportAs: 'layoutDefault',
617
- template: `
618
- <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
619
- <layout-default-header *ngIf="!opt.hideHeader" [items]="headerItems"></layout-default-header>
620
- <div *ngIf="!opt.hideAside" class="alain-default__aside">
621
- <div class="alain-default__aside-wrap">
622
- <div class="alain-default__aside-inner">
623
- <ng-container *ngTemplateOutlet="asideUser"></ng-container>
624
- <ng-container *ngTemplateOutlet="nav"></ng-container>
625
- <layout-default-nav *ngIf="!nav"></layout-default-nav>
626
- </div>
627
- <div *ngIf="opt.showSiderCollapse" class="alain-default__aside-link">
628
- <ng-container *ngIf="asideBottom === null; else asideBottom">
629
- <div class="alain-default__aside-link-collapsed" (click)="toggleCollapsed()">
630
- <span nz-icon [nzType]="collapsedIcon"></span>
631
- </div>
632
- </ng-container>
633
- </div>
634
- </div>
635
- </div>
636
- <section class="alain-default__content">
637
- <ng-container *ngTemplateOutlet="content"></ng-container>
638
- <ng-content></ng-content>
639
- </section>
640
- `
641
- }]
642
- }], ctorParameters: function () {
643
- return [{ type: i2.Router }, { type: i2$1.NzMessageService }, { type: i1.SettingsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
644
- type: Inject,
645
- args: [DOCUMENT]
646
- }] }, { type: LayoutDefaultService }];
647
- }, propDecorators: { headerItems: [{
648
- type: ContentChildren,
649
- args: [LayoutDefaultHeaderItemComponent, { descendants: false }]
650
- }], options: [{
651
- type: Input
652
- }], asideUser: [{
653
- type: Input
654
- }], asideBottom: [{
655
- type: Input
656
- }], nav: [{
657
- type: Input
658
- }], content: [{
659
- type: Input
660
- }], customError: [{
661
- type: Input
662
- }] } });
663
-
664
- class LayoutDefaultHeaderItemTriggerDirective {
665
- }
666
- LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
667
- LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultHeaderItemTriggerDirective, selector: "[layout-default-header-item-trigger]", host: { properties: { "class.alain-default__nav-item": "true" } }, ngImport: i0 });
668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
669
- type: Directive,
670
- args: [{
671
- selector: '[layout-default-header-item-trigger]',
672
- host: {
673
- '[class.alain-default__nav-item]': `true`
674
- }
675
- }]
676
- }] });
677
-
678
- class LayoutDefaultTopMenuItemComponent {
679
- constructor() {
680
- this.selected = false;
681
- this.disabled = false;
682
- }
683
- }
684
- LayoutDefaultTopMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultTopMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
685
- LayoutDefaultTopMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: LayoutDefaultTopMenuItemComponent, selector: "layout-default-top-menu-item", inputs: { selected: "selected", disabled: "disabled" }, host: { properties: { "class.alain-default__nav-item": "true", "class.alain-default__top-menu-item": "true", "class.alain-default__top-menu-item-selected": "selected", "class.alain-default__top-menu-item-disabled": "disabled" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
686
- __decorate([
687
- InputBoolean()
688
- ], LayoutDefaultTopMenuItemComponent.prototype, "selected", void 0);
689
- __decorate([
690
- InputBoolean()
691
- ], LayoutDefaultTopMenuItemComponent.prototype, "disabled", void 0);
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultTopMenuItemComponent, decorators: [{
693
- type: Component,
694
- args: [{
695
- selector: 'layout-default-top-menu-item',
696
- template: `<ng-content></ng-content>`,
697
- host: {
698
- '[class.alain-default__nav-item]': `true`,
699
- '[class.alain-default__top-menu-item]': `true`,
700
- '[class.alain-default__top-menu-item-selected]': `selected`,
701
- '[class.alain-default__top-menu-item-disabled]': `disabled`
702
- },
703
- preserveWhitespaces: false,
704
- changeDetection: ChangeDetectionStrategy.OnPush,
705
- encapsulation: ViewEncapsulation.None
706
- }]
707
- }], propDecorators: { selected: [{
708
- type: Input
709
- }], disabled: [{
710
- type: Input
711
- }] } });
712
-
713
- const COMPONENTS = [
714
- LayoutDefaultComponent,
715
- LayoutDefaultNavComponent,
716
- LayoutDefaultHeaderComponent,
717
- LayoutDefaultHeaderItemComponent,
718
- LayoutDefaultHeaderItemTriggerDirective,
719
- LayoutDefaultTopMenuItemComponent
720
- ];
721
- class LayoutDefaultModule {
722
- }
723
- LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
724
- LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
725
- LayoutDefaultNavComponent,
726
- LayoutDefaultHeaderComponent,
727
- LayoutDefaultHeaderItemComponent,
728
- LayoutDefaultHeaderItemTriggerDirective,
729
- LayoutDefaultTopMenuItemComponent], imports: [CommonModule,
730
- RouterModule,
731
- NzToolTipModule,
732
- NzIconModule,
733
- NzAvatarModule,
734
- NzDropDownModule,
735
- NzMessageModule,
736
- NzBadgeModule], exports: [LayoutDefaultComponent,
737
- LayoutDefaultNavComponent,
738
- LayoutDefaultHeaderComponent,
739
- LayoutDefaultHeaderItemComponent,
740
- LayoutDefaultHeaderItemTriggerDirective,
741
- LayoutDefaultTopMenuItemComponent] });
742
- LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
743
- RouterModule,
744
- NzToolTipModule,
745
- NzIconModule,
746
- NzAvatarModule,
747
- NzDropDownModule,
748
- NzMessageModule,
749
- NzBadgeModule] });
750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LayoutDefaultModule, decorators: [{
751
- type: NgModule,
752
- args: [{
753
- imports: [
754
- CommonModule,
755
- RouterModule,
756
- NzToolTipModule,
757
- NzIconModule,
758
- NzAvatarModule,
759
- NzDropDownModule,
760
- NzMessageModule,
761
- NzBadgeModule
762
- ],
763
- declarations: COMPONENTS,
764
- exports: COMPONENTS
765
- }]
766
- }] });
767
-
768
- /**
769
- * Generated bundle index. Do not edit.
770
- */
771
-
772
- export { LayoutDefaultComponent, LayoutDefaultHeaderComponent, LayoutDefaultHeaderItemComponent, LayoutDefaultHeaderItemTriggerDirective, LayoutDefaultModule, LayoutDefaultNavComponent, LayoutDefaultService, LayoutDefaultTopMenuItemComponent };
773
- //# sourceMappingURL=layout-default.mjs.map