@yelon/bis 15.0.0-beta.7 → 15.1.0-18de49a5
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/esm2020/layout/layout-basic/layout-basic.component.mjs +31 -16
- package/esm2020/layout/layout-nav/layout-nav-application.component.mjs +68 -47
- package/esm2020/layout/layout-nav/types.mjs +2 -7
- package/esm2020/layout/public_api.mjs +2 -1
- package/esm2020/layout/widgets/yunzai-clear-storage.component.mjs +3 -3
- package/esm2020/layout/widgets/yunzai-fullscreen.component.mjs +3 -3
- package/esm2020/layout/widgets/yunzai-i18n.component.mjs +27 -8
- package/esm2020/layout/widgets/yunzai-notify.component.mjs +7 -7
- package/esm2020/layout/widgets/yunzai-user.component.mjs +3 -3
- package/esm2020/layout/yunzai-default.interceptor.mjs +3 -1
- package/esm2020/layout/yunzai-i18n.service.mjs +66 -49
- package/esm2020/layout/yunzai-lang.mjs +114 -0
- package/esm2020/layout/yunzai-startup.service.mjs +4 -2
- package/fesm2015/layout.mjs +312 -137
- package/fesm2015/layout.mjs.map +1 -1
- package/fesm2020/layout.mjs +312 -137
- package/fesm2020/layout.mjs.map +1 -1
- package/layout/layout-basic/layout-basic.component.d.ts +1 -0
- package/layout/layout-nav/layout-nav-application.component.d.ts +7 -6
- package/layout/layout-nav/types.d.ts +1 -6
- package/layout/public_api.d.ts +1 -0
- package/layout/widgets/yunzai-i18n.component.d.ts +6 -7
- package/layout/yunzai-i18n.service.d.ts +10 -9
- package/layout/yunzai-lang.d.ts +11 -0
- package/package.json +11 -11
package/fesm2015/layout.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, ChangeDetectionStrategy, HostListener, Injectable, Inject, Input, Optional, NgModule, APP_INITIALIZER } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import * as i1$
|
|
5
|
-
import { WINDOW, log as log$1, deepCopy, YunzaiConfigService } from '@yelon/util';
|
|
3
|
+
import { Subject, takeUntil, of, catchError, forkJoin, map, mergeMap, mergeAll, BehaviorSubject, throwError, filter, take, switchMap } from 'rxjs';
|
|
4
|
+
import * as i1$4 from '@yelon/util';
|
|
5
|
+
import { WINDOW, hasFavicon, setFavicon, log as log$1, deepCopy, YunzaiConfigService } from '@yelon/util';
|
|
6
6
|
import * as i1$5 from '@yelon/theme/layout-default';
|
|
7
|
-
import * as i1$
|
|
7
|
+
import * as i1$3 from '@yelon/cache';
|
|
8
8
|
import { CacheService } from '@yelon/cache';
|
|
9
9
|
import * as i3$3 from '@yelon/socket';
|
|
10
10
|
import * as i4$1 from '@angular/common';
|
|
@@ -20,16 +20,25 @@ import * as i9 from 'ng-zorro-antd/avatar';
|
|
|
20
20
|
import * as i1 from 'ng-zorro-antd/modal';
|
|
21
21
|
import * as i1$1 from 'ng-zorro-antd/message';
|
|
22
22
|
import * as i1$2 from '@yelon/theme';
|
|
23
|
-
import { zh_CN as zh_CN$1, zh_TW as zh_TW$1, en_US as en_US$1, YunzaiI18nBaseService, YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';
|
|
23
|
+
import { zh_CN as zh_CN$1, zh_TW as zh_TW$1, en_US as en_US$1, el_GR as el_GR$1, es_ES as es_ES$1, fr_FR as fr_FR$1, hr_HR as hr_HR$1, it_IT as it_IT$1, ko_KR as ko_KR$1, pl_PL as pl_PL$1, sl_SI as sl_SI$1, tr_TR as tr_TR$1, YunzaiI18nBaseService, YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';
|
|
24
24
|
import screenfull from 'screenfull';
|
|
25
25
|
import { __decorate } from 'tslib';
|
|
26
26
|
import { InputBoolean } from '@yelon/util/decorator';
|
|
27
27
|
import ngEn from '@angular/common/locales/en';
|
|
28
|
+
import { zhCN, zhTW, enUS, el, es, fr, hr, it, ko, pl, sl, tr } from 'date-fns/locale';
|
|
29
|
+
import * as i2 from 'ng-zorro-antd/i18n';
|
|
30
|
+
import { zh_CN, zh_TW, en_US, el_GR, es_ES, fr_FR, hr_HR, it_IT, ko_KR, pl_PL, sl_SI, tr_TR } from 'ng-zorro-antd/i18n';
|
|
31
|
+
import ngElGr from '@angular/common/locales/el';
|
|
32
|
+
import ngEsEs from '@angular/common/locales/es';
|
|
33
|
+
import ngFr from '@angular/common/locales/fr';
|
|
34
|
+
import ngHr from '@angular/common/locales/hr';
|
|
35
|
+
import ngIt from '@angular/common/locales/it';
|
|
36
|
+
import ngKo from '@angular/common/locales/ko';
|
|
37
|
+
import ngPl from '@angular/common/locales/pl';
|
|
38
|
+
import ngSl from '@angular/common/locales/sl';
|
|
39
|
+
import ngTr from '@angular/common/locales/tr';
|
|
28
40
|
import ngZh from '@angular/common/locales/zh';
|
|
29
41
|
import ngZhTw from '@angular/common/locales/zh-Hant';
|
|
30
|
-
import { zhCN, zhTW, enUS } from 'date-fns/locale';
|
|
31
|
-
import * as i2 from 'ng-zorro-antd/i18n';
|
|
32
|
-
import { zh_CN, zh_TW, en_US } from 'ng-zorro-antd/i18n';
|
|
33
42
|
import * as i3$1 from '@angular/cdk/platform';
|
|
34
43
|
import * as i4 from '@yelon/util/config';
|
|
35
44
|
import { YunzaiConfigService as YunzaiConfigService$1 } from '@yelon/util/config';
|
|
@@ -76,7 +85,7 @@ class YunzaiClearStorageComponent {
|
|
|
76
85
|
YunzaiClearStorageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiClearStorageComponent, deps: [{ token: i1.NzModalService }, { token: i1$1.NzMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
86
|
YunzaiClearStorageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: YunzaiClearStorageComponent, selector: "yunzai-clearstorage", host: { listeners: { "click": "_click()" }, properties: { "class.d-block": "true" } }, ngImport: i0, template: `
|
|
78
87
|
<i nz-icon nzType="tool"></i>
|
|
79
|
-
{{ '
|
|
88
|
+
{{ 'storage.clear' | i18n }}
|
|
80
89
|
`, isInline: true, dependencies: [{ kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
81
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiClearStorageComponent, decorators: [{
|
|
82
91
|
type: Component,
|
|
@@ -84,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
84
93
|
selector: 'yunzai-clearstorage',
|
|
85
94
|
template: `
|
|
86
95
|
<i nz-icon nzType="tool"></i>
|
|
87
|
-
{{ '
|
|
96
|
+
{{ 'storage.clear' | i18n }}
|
|
88
97
|
`,
|
|
89
98
|
host: {
|
|
90
99
|
'[class.d-block]': 'true'
|
|
@@ -112,7 +121,7 @@ class YunzaiFullScreenComponent {
|
|
|
112
121
|
YunzaiFullScreenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiFullScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
122
|
YunzaiFullScreenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: YunzaiFullScreenComponent, selector: "yunzai-fullscreen", host: { listeners: { "window:resize": "_resize()", "click": "_click()" }, properties: { "class.d-block": "true" } }, ngImport: i0, template: `
|
|
114
123
|
<i nz-icon [nzType]="status ? 'fullscreen-exit' : 'fullscreen'"></i>
|
|
115
|
-
{{ (status ? '
|
|
124
|
+
{{ (status ? 'exitFullscreen' : 'fullscreen') | i18n }}
|
|
116
125
|
`, isInline: true, dependencies: [{ kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
117
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiFullScreenComponent, decorators: [{
|
|
118
127
|
type: Component,
|
|
@@ -120,7 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
120
129
|
selector: 'yunzai-fullscreen',
|
|
121
130
|
template: `
|
|
122
131
|
<i nz-icon [nzType]="status ? 'fullscreen-exit' : 'fullscreen'"></i>
|
|
123
|
-
{{ (status ? '
|
|
132
|
+
{{ (status ? 'exitFullscreen' : 'fullscreen') | i18n }}
|
|
124
133
|
`,
|
|
125
134
|
host: {
|
|
126
135
|
'[class.d-block]': 'true'
|
|
@@ -135,8 +144,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
135
144
|
args: ['click']
|
|
136
145
|
}] } });
|
|
137
146
|
|
|
138
|
-
const
|
|
139
|
-
|
|
147
|
+
const BUSINESS_DEFAULT_CONFIG = {
|
|
148
|
+
baseUrl: '/backstage',
|
|
149
|
+
systemCode: 'portal',
|
|
150
|
+
loginForm: null,
|
|
151
|
+
refreshTokenEnabled: true,
|
|
152
|
+
refreshTokenType: 're-request'
|
|
153
|
+
};
|
|
154
|
+
function mergeBisConfig(srv) {
|
|
155
|
+
return srv.merge('bis', BUSINESS_DEFAULT_CONFIG);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const YUNZAI_LANGS = {
|
|
140
159
|
'zh-CN': {
|
|
141
160
|
text: '简体中文',
|
|
142
161
|
ng: ngZh,
|
|
@@ -160,23 +179,100 @@ const LANGS = {
|
|
|
160
179
|
date: enUS,
|
|
161
180
|
yelon: en_US$1,
|
|
162
181
|
abbr: '🇬🇧'
|
|
182
|
+
},
|
|
183
|
+
'el-GR': {
|
|
184
|
+
text: 'Ελληνικά',
|
|
185
|
+
ng: ngElGr,
|
|
186
|
+
zorro: el_GR,
|
|
187
|
+
date: el,
|
|
188
|
+
yelon: el_GR$1,
|
|
189
|
+
abbr: '🇬🇷'
|
|
190
|
+
},
|
|
191
|
+
'es-ES': {
|
|
192
|
+
text: 'Español',
|
|
193
|
+
ng: ngEsEs,
|
|
194
|
+
zorro: es_ES,
|
|
195
|
+
date: es,
|
|
196
|
+
yelon: es_ES$1,
|
|
197
|
+
abbr: '🇪🇸'
|
|
198
|
+
},
|
|
199
|
+
'fr-FR': {
|
|
200
|
+
text: 'Français',
|
|
201
|
+
ng: ngFr,
|
|
202
|
+
zorro: fr_FR,
|
|
203
|
+
date: fr,
|
|
204
|
+
yelon: fr_FR$1,
|
|
205
|
+
abbr: '🇫🇷'
|
|
206
|
+
},
|
|
207
|
+
'hr-HR': {
|
|
208
|
+
text: 'Hrvatski',
|
|
209
|
+
ng: ngHr,
|
|
210
|
+
zorro: hr_HR,
|
|
211
|
+
date: hr,
|
|
212
|
+
yelon: hr_HR$1,
|
|
213
|
+
abbr: '🇭🇷'
|
|
214
|
+
},
|
|
215
|
+
'it-IT': {
|
|
216
|
+
text: 'Italiano',
|
|
217
|
+
ng: ngIt,
|
|
218
|
+
zorro: it_IT,
|
|
219
|
+
date: it,
|
|
220
|
+
yelon: it_IT$1,
|
|
221
|
+
abbr: '🇮🇹'
|
|
222
|
+
},
|
|
223
|
+
'ko-KR': {
|
|
224
|
+
text: '한국어',
|
|
225
|
+
ng: ngKo,
|
|
226
|
+
zorro: ko_KR,
|
|
227
|
+
date: ko,
|
|
228
|
+
yelon: ko_KR$1,
|
|
229
|
+
abbr: '🇰🇷'
|
|
230
|
+
},
|
|
231
|
+
'pl-PL': {
|
|
232
|
+
text: 'Polski',
|
|
233
|
+
ng: ngPl,
|
|
234
|
+
zorro: pl_PL,
|
|
235
|
+
date: pl,
|
|
236
|
+
yelon: pl_PL$1,
|
|
237
|
+
abbr: '🇵🇱'
|
|
238
|
+
},
|
|
239
|
+
'sl-SI': {
|
|
240
|
+
text: 'Slovenščina',
|
|
241
|
+
ng: ngSl,
|
|
242
|
+
zorro: sl_SI,
|
|
243
|
+
date: sl,
|
|
244
|
+
yelon: sl_SI$1,
|
|
245
|
+
abbr: '🇸🇮'
|
|
246
|
+
},
|
|
247
|
+
'tr-TR': {
|
|
248
|
+
text: 'Türkçe',
|
|
249
|
+
ng: ngTr,
|
|
250
|
+
zorro: tr_TR,
|
|
251
|
+
date: tr,
|
|
252
|
+
yelon: tr_TR$1,
|
|
253
|
+
abbr: '🇹🇷'
|
|
163
254
|
}
|
|
164
255
|
};
|
|
256
|
+
|
|
257
|
+
const DEFAULT = 'zh-CN';
|
|
165
258
|
class YunzaiI18NService extends YunzaiI18nBaseService {
|
|
166
|
-
constructor(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv) {
|
|
259
|
+
constructor(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv, cacheService) {
|
|
167
260
|
super(cogSrv);
|
|
168
261
|
this.http = http;
|
|
169
262
|
this.settings = settings;
|
|
170
263
|
this.nzI18nService = nzI18nService;
|
|
171
264
|
this.yelonLocaleService = yelonLocaleService;
|
|
172
265
|
this.platform = platform;
|
|
266
|
+
this.cacheService = cacheService;
|
|
173
267
|
this._defaultLang = DEFAULT;
|
|
174
|
-
this.
|
|
175
|
-
const item = LANGS[code];
|
|
176
|
-
return { code, text: item.text, abbr: item.abbr };
|
|
177
|
-
});
|
|
268
|
+
this.destroy$ = new Subject();
|
|
178
269
|
const defaultLang = this.getDefaultLang();
|
|
179
|
-
this.
|
|
270
|
+
this.bis = mergeBisConfig(cogSrv);
|
|
271
|
+
this.getLangs()
|
|
272
|
+
.pipe(takeUntil(this.destroy$))
|
|
273
|
+
.subscribe(langs => {
|
|
274
|
+
this._defaultLang = langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;
|
|
275
|
+
});
|
|
180
276
|
}
|
|
181
277
|
getDefaultLang() {
|
|
182
278
|
if (!this.platform.isBrowser) {
|
|
@@ -190,35 +286,70 @@ class YunzaiI18NService extends YunzaiI18nBaseService {
|
|
|
190
286
|
return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;
|
|
191
287
|
}
|
|
192
288
|
loadLangData(lang) {
|
|
193
|
-
|
|
289
|
+
const key = `_yz_lang_${lang}`;
|
|
290
|
+
if (this.cacheService.getNone(key)) {
|
|
291
|
+
return of(this.cacheService.get(key));
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
if (ngDevMode) {
|
|
295
|
+
return this.http.get(`assets/tmp/i18n/${lang}.json`);
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
return this.http
|
|
299
|
+
.get(`${this.bis.baseUrl}/i18n/api/v2/${lang}?_allow_anonymous`)
|
|
300
|
+
.pipe(catchError(() => this.http.get(`assets/tmp/i18n/${lang}.json`)));
|
|
301
|
+
}
|
|
302
|
+
}
|
|
194
303
|
}
|
|
195
304
|
use(lang, data) {
|
|
196
305
|
if (this._currentLang === lang)
|
|
197
306
|
return;
|
|
307
|
+
const key = `_yz_lang_${lang}`;
|
|
308
|
+
this.cacheService.set(key, data);
|
|
309
|
+
this.cacheService.set(this.cacheDefaultKey, lang);
|
|
198
310
|
this._data = this.flatData(data, []);
|
|
199
|
-
const item =
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
311
|
+
const item = YUNZAI_LANGS[lang];
|
|
312
|
+
if (item) {
|
|
313
|
+
registerLocaleData(item.ng);
|
|
314
|
+
this.nzI18nService.setLocale(item.zorro);
|
|
315
|
+
this.nzI18nService.setDateLocale(item.date);
|
|
316
|
+
this.yelonLocaleService.setLocale(item.yelon);
|
|
317
|
+
this._currentLang = lang;
|
|
318
|
+
this._change$.next(lang);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
registerLocaleData(ngEn);
|
|
322
|
+
this.nzI18nService.setLocale(en_US);
|
|
323
|
+
this.nzI18nService.setDateLocale(enUS);
|
|
324
|
+
this.yelonLocaleService.setLocale(en_US$1);
|
|
325
|
+
this._currentLang = lang;
|
|
326
|
+
this._change$.next(lang);
|
|
327
|
+
}
|
|
206
328
|
}
|
|
207
329
|
getLangs() {
|
|
208
|
-
|
|
330
|
+
const langs = Object.keys(YUNZAI_LANGS).map(code => {
|
|
331
|
+
const item = YUNZAI_LANGS[code];
|
|
332
|
+
return { code, text: item.text, abbr: item.abbr, icon: undefined };
|
|
333
|
+
});
|
|
334
|
+
if (ngDevMode) {
|
|
335
|
+
return of(langs);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
return this.http.get(`${this.bis.baseUrl}/i18n/api/v2/list?_allow_anonymous`).pipe(catchError(() => of(langs)));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
ngOnDestroy() {
|
|
342
|
+
this.destroy$.complete();
|
|
209
343
|
}
|
|
210
344
|
}
|
|
211
|
-
YunzaiI18NService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, deps: [{ token: i1$2._HttpClient }, { token: i1$2.SettingsService }, { token: i2.NzI18nService }, { token: i1$2.YelonLocaleService }, { token: i3$1.Platform }, { token: i4.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
345
|
+
YunzaiI18NService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, deps: [{ token: i1$2._HttpClient }, { token: i1$2.SettingsService }, { token: i2.NzI18nService }, { token: i1$2.YelonLocaleService }, { token: i3$1.Platform }, { token: i4.YunzaiConfigService }, { token: i1$3.CacheService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
212
346
|
YunzaiI18NService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, providedIn: 'root' });
|
|
213
347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, decorators: [{
|
|
214
348
|
type: Injectable,
|
|
215
349
|
args: [{ providedIn: 'root' }]
|
|
216
|
-
}], ctorParameters: function () { return [{ type: i1$2._HttpClient }, { type: i1$2.SettingsService }, { type: i2.NzI18nService }, { type: i1$2.YelonLocaleService }, { type: i3$1.Platform }, { type: i4.YunzaiConfigService }]; } });
|
|
350
|
+
}], ctorParameters: function () { return [{ type: i1$2._HttpClient }, { type: i1$2.SettingsService }, { type: i2.NzI18nService }, { type: i1$2.YelonLocaleService }, { type: i3$1.Platform }, { type: i4.YunzaiConfigService }, { type: i1$3.CacheService }]; } });
|
|
217
351
|
|
|
218
352
|
class YunzaiI18NComponent {
|
|
219
|
-
get langs() {
|
|
220
|
-
return this.i18n.getLangs();
|
|
221
|
-
}
|
|
222
353
|
get curLangCode() {
|
|
223
354
|
return this.settings.layout.lang;
|
|
224
355
|
}
|
|
@@ -226,8 +357,16 @@ class YunzaiI18NComponent {
|
|
|
226
357
|
this.settings = settings;
|
|
227
358
|
this.i18n = i18n;
|
|
228
359
|
this.doc = doc;
|
|
360
|
+
this.destroy$ = new Subject();
|
|
229
361
|
/** Whether to display language text */
|
|
230
362
|
this.showLangText = true;
|
|
363
|
+
this.langs = [];
|
|
364
|
+
this.i18n
|
|
365
|
+
.getLangs()
|
|
366
|
+
.pipe(takeUntil(this.destroy$))
|
|
367
|
+
.subscribe(langs => {
|
|
368
|
+
this.langs = langs;
|
|
369
|
+
});
|
|
231
370
|
}
|
|
232
371
|
change(lang) {
|
|
233
372
|
const spinEl = this.doc.createElement('div');
|
|
@@ -240,12 +379,15 @@ class YunzaiI18NComponent {
|
|
|
240
379
|
setTimeout(() => this.doc.location.reload());
|
|
241
380
|
});
|
|
242
381
|
}
|
|
382
|
+
ngOnDestroy() {
|
|
383
|
+
this.destroy$.complete();
|
|
384
|
+
}
|
|
243
385
|
}
|
|
244
386
|
YunzaiI18NComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NComponent, deps: [{ token: i1$2.SettingsService }, { token: YUNZAI_I18N_TOKEN }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
245
387
|
YunzaiI18NComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: YunzaiI18NComponent, selector: "yunzai-i18n", inputs: { showLangText: "showLangText" }, ngImport: i0, template: `
|
|
246
388
|
<div *ngIf="showLangText" nz-dropdown [nzDropdownMenu]="langMenu" nzPlacement="bottomRight">
|
|
247
389
|
<i nz-icon nzType="global"></i>
|
|
248
|
-
{{ '
|
|
390
|
+
{{ 'lang.nav' | i18n }}
|
|
249
391
|
<i nz-icon nzType="down"></i>
|
|
250
392
|
</div>
|
|
251
393
|
<i
|
|
@@ -264,7 +406,12 @@ YunzaiI18NComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
264
406
|
[nzSelected]="item.code === curLangCode"
|
|
265
407
|
(click)="change(item.code)"
|
|
266
408
|
>
|
|
267
|
-
<
|
|
409
|
+
<template *ngIf="!item.icon">
|
|
410
|
+
<span role="img" [attr.aria-label]="item.text" class="pr-xs">{{ item.abbr }}</span>
|
|
411
|
+
</template>
|
|
412
|
+
<template *ngIf="item.icon">
|
|
413
|
+
<img [src]="'data:image/png;base64,' + item.icon" [alt]="item.abbr" class="pr-xs" />
|
|
414
|
+
</template>
|
|
268
415
|
{{ item.text }}
|
|
269
416
|
</li>
|
|
270
417
|
</ul>
|
|
@@ -280,7 +427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
280
427
|
template: `
|
|
281
428
|
<div *ngIf="showLangText" nz-dropdown [nzDropdownMenu]="langMenu" nzPlacement="bottomRight">
|
|
282
429
|
<i nz-icon nzType="global"></i>
|
|
283
|
-
{{ '
|
|
430
|
+
{{ 'lang.nav' | i18n }}
|
|
284
431
|
<i nz-icon nzType="down"></i>
|
|
285
432
|
</div>
|
|
286
433
|
<i
|
|
@@ -299,7 +446,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
299
446
|
[nzSelected]="item.code === curLangCode"
|
|
300
447
|
(click)="change(item.code)"
|
|
301
448
|
>
|
|
302
|
-
<
|
|
449
|
+
<template *ngIf="!item.icon">
|
|
450
|
+
<span role="img" [attr.aria-label]="item.text" class="pr-xs">{{ item.abbr }}</span>
|
|
451
|
+
</template>
|
|
452
|
+
<template *ngIf="item.icon">
|
|
453
|
+
<img [src]="'data:image/png;base64,' + item.icon" [alt]="item.abbr" class="pr-xs" />
|
|
454
|
+
</template>
|
|
303
455
|
{{ item.text }}
|
|
304
456
|
</li>
|
|
305
457
|
</ul>
|
|
@@ -332,25 +484,25 @@ class YunzaiNotifyComponent {
|
|
|
332
484
|
key: 'msg',
|
|
333
485
|
title: this.y18n.fanyi('notify.message'),
|
|
334
486
|
list: [],
|
|
335
|
-
emptyText: this.y18n.fanyi('notify.message.
|
|
487
|
+
emptyText: this.y18n.fanyi('notify.message.empty'),
|
|
336
488
|
emptyImage: './assets/tmp/img/message.svg',
|
|
337
|
-
clearText: this.y18n.fanyi('notify.message.
|
|
489
|
+
clearText: this.y18n.fanyi('notify.message.clear')
|
|
338
490
|
},
|
|
339
491
|
{
|
|
340
492
|
key: 'todo',
|
|
341
493
|
title: this.y18n.fanyi('notify.todo'),
|
|
342
494
|
list: [],
|
|
343
|
-
emptyText: this.y18n.fanyi('notify.todo.
|
|
495
|
+
emptyText: this.y18n.fanyi('notify.todo.empty'),
|
|
344
496
|
emptyImage: './assets/tmp/img/todo.svg',
|
|
345
|
-
clearText: this.y18n.fanyi('notify.todo.
|
|
497
|
+
clearText: this.y18n.fanyi('notify.todo.clear')
|
|
346
498
|
},
|
|
347
499
|
{
|
|
348
500
|
key: 'notice',
|
|
349
501
|
title: this.y18n.fanyi('notify.notice'),
|
|
350
502
|
list: [],
|
|
351
|
-
emptyText: this.y18n.fanyi('notify.notice.
|
|
503
|
+
emptyText: this.y18n.fanyi('notify.notice.empty'),
|
|
352
504
|
emptyImage: './assets/tmp/img/notice.svg',
|
|
353
|
-
clearText: this.y18n.fanyi('notify.notice.
|
|
505
|
+
clearText: this.y18n.fanyi('notify.notice.clear')
|
|
354
506
|
}
|
|
355
507
|
];
|
|
356
508
|
this.loading = false;
|
|
@@ -659,17 +811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
659
811
|
type: Input
|
|
660
812
|
}] } });
|
|
661
813
|
|
|
662
|
-
const BUSINESS_DEFAULT_CONFIG = {
|
|
663
|
-
baseUrl: '/backstage',
|
|
664
|
-
systemCode: 'portal',
|
|
665
|
-
loginForm: null,
|
|
666
|
-
refreshTokenEnabled: true,
|
|
667
|
-
refreshTokenType: 're-request'
|
|
668
|
-
};
|
|
669
|
-
function mergeBisConfig(srv) {
|
|
670
|
-
return srv.merge('bis', BUSINESS_DEFAULT_CONFIG);
|
|
671
|
-
}
|
|
672
|
-
|
|
673
814
|
class YunzaiUserComponent {
|
|
674
815
|
constructor(injector, msg, tokenService,
|
|
675
816
|
// @ts-ignore
|
|
@@ -707,7 +848,7 @@ class YunzaiUserComponent {
|
|
|
707
848
|
}
|
|
708
849
|
}
|
|
709
850
|
}
|
|
710
|
-
YunzaiUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiUserComponent, deps: [{ token: i0.Injector }, { token: i1$1.NzMessageService }, { token: YA_SERVICE_TOKEN }, { token: i1$
|
|
851
|
+
YunzaiUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiUserComponent, deps: [{ token: i0.Injector }, { token: i1$1.NzMessageService }, { token: YA_SERVICE_TOKEN }, { token: i1$4.YunzaiConfigService }, { token: i1$3.CacheService }], target: i0.ɵɵFactoryTarget.Component });
|
|
711
852
|
YunzaiUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: YunzaiUserComponent, selector: "yunzai-user", ngImport: i0, template: `
|
|
712
853
|
<div
|
|
713
854
|
class="yunzai-default__nav-item d-flex align-items-center px-sm"
|
|
@@ -729,7 +870,7 @@ YunzaiUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
729
870
|
<li nz-menu-divider></li>
|
|
730
871
|
<div nz-menu-item (click)="logout()">
|
|
731
872
|
<i nz-icon nzType="logout" class="mr-sm"></i>
|
|
732
|
-
{{ '
|
|
873
|
+
{{ 'logout' | i18n }}
|
|
733
874
|
</div>
|
|
734
875
|
</div>
|
|
735
876
|
</nz-dropdown-menu>
|
|
@@ -759,7 +900,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
759
900
|
<li nz-menu-divider></li>
|
|
760
901
|
<div nz-menu-item (click)="logout()">
|
|
761
902
|
<i nz-icon nzType="logout" class="mr-sm"></i>
|
|
762
|
-
{{ '
|
|
903
|
+
{{ 'logout' | i18n }}
|
|
763
904
|
</div>
|
|
764
905
|
</div>
|
|
765
906
|
</nz-dropdown-menu>
|
|
@@ -770,26 +911,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
770
911
|
return [{ type: i0.Injector }, { type: i1$1.NzMessageService }, { type: undefined, decorators: [{
|
|
771
912
|
type: Inject,
|
|
772
913
|
args: [YA_SERVICE_TOKEN]
|
|
773
|
-
}] }, { type: i1$
|
|
914
|
+
}] }, { type: i1$4.YunzaiConfigService }, { type: i1$3.CacheService }];
|
|
774
915
|
} });
|
|
775
916
|
|
|
776
|
-
var TopicType;
|
|
777
|
-
(function (TopicType) {
|
|
778
|
-
TopicType[TopicType["FULL"] = 0] = "FULL";
|
|
779
|
-
TopicType[TopicType["OWN"] = 1] = "OWN";
|
|
780
|
-
TopicType[TopicType["EVERY"] = 2] = "EVERY";
|
|
781
|
-
})(TopicType || (TopicType = {}));
|
|
782
|
-
|
|
783
917
|
class LayoutNavApplicationComponent {
|
|
784
918
|
constructor(cacheService, i18n, http, inject) {
|
|
785
919
|
this.cacheService = cacheService;
|
|
786
920
|
this.i18n = i18n;
|
|
787
921
|
this.http = http;
|
|
788
922
|
this.inject = inject;
|
|
789
|
-
this.TopicType = TopicType;
|
|
790
923
|
this.state = {
|
|
791
924
|
active: false,
|
|
792
|
-
type:
|
|
925
|
+
type: 'all',
|
|
793
926
|
topic: undefined,
|
|
794
927
|
topics: [],
|
|
795
928
|
list: [],
|
|
@@ -798,18 +931,32 @@ class LayoutNavApplicationComponent {
|
|
|
798
931
|
};
|
|
799
932
|
}
|
|
800
933
|
ngOnInit() {
|
|
801
|
-
this.
|
|
934
|
+
this.fetchAllTopic();
|
|
935
|
+
this.attachNav('all');
|
|
802
936
|
}
|
|
803
|
-
|
|
804
|
-
this.state.
|
|
805
|
-
|
|
937
|
+
fetchAllTopic() {
|
|
938
|
+
this.state.topics = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
939
|
+
}
|
|
940
|
+
attachNav(type, topic) {
|
|
806
941
|
this.state.type = type;
|
|
942
|
+
this.clearSearch();
|
|
943
|
+
if (type === 'all') {
|
|
944
|
+
this.displayAllNav();
|
|
945
|
+
}
|
|
946
|
+
if (type === 'mine') {
|
|
947
|
+
this.displayMineNav();
|
|
948
|
+
}
|
|
949
|
+
if (type === 'other' && topic) {
|
|
950
|
+
this.displayOtherNav(topic);
|
|
951
|
+
}
|
|
807
952
|
}
|
|
808
|
-
|
|
809
|
-
this.
|
|
953
|
+
clearSearch() {
|
|
954
|
+
this.state.search = null;
|
|
955
|
+
}
|
|
956
|
+
displayAllNav() {
|
|
957
|
+
this.state.list = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
810
958
|
}
|
|
811
|
-
|
|
812
|
-
this.initTopic(TopicType.OWN);
|
|
959
|
+
displayMineNav() {
|
|
813
960
|
const temp = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
814
961
|
this.state.list = temp
|
|
815
962
|
.filter((topic) => {
|
|
@@ -822,11 +969,10 @@ class LayoutNavApplicationComponent {
|
|
|
822
969
|
return topic.children.length > 0;
|
|
823
970
|
});
|
|
824
971
|
}
|
|
825
|
-
|
|
826
|
-
this.
|
|
827
|
-
this.state.topic = e;
|
|
972
|
+
displayOtherNav(topic) {
|
|
973
|
+
this.state.topic = topic;
|
|
828
974
|
const temp = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
829
|
-
this.state.list =
|
|
975
|
+
this.state.list = temp.filter(t => t.key === topic.key)[0].children;
|
|
830
976
|
}
|
|
831
977
|
diffChange(flag) {
|
|
832
978
|
if (flag) {
|
|
@@ -888,9 +1034,9 @@ class LayoutNavApplicationComponent {
|
|
|
888
1034
|
this.state.destroy$.complete();
|
|
889
1035
|
}
|
|
890
1036
|
}
|
|
891
|
-
LayoutNavApplicationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LayoutNavApplicationComponent, deps: [{ token: i1$
|
|
1037
|
+
LayoutNavApplicationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LayoutNavApplicationComponent, deps: [{ token: i1$3.CacheService }, { token: YunzaiI18NService }, { token: i1$2._HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
892
1038
|
LayoutNavApplicationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: LayoutNavApplicationComponent, selector: "layout-nav-application", ngImport: i0, template: `
|
|
893
|
-
<!--
|
|
1039
|
+
<!-- search start-->
|
|
894
1040
|
<ng-template #search>
|
|
895
1041
|
<div nz-row class="yz-application-list-search">
|
|
896
1042
|
<nz-input-group [nzPrefix]="prefixTemplate">
|
|
@@ -907,45 +1053,50 @@ LayoutNavApplicationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
907
1053
|
</nz-input-group>
|
|
908
1054
|
</div>
|
|
909
1055
|
</ng-template>
|
|
1056
|
+
<!-- search end -->
|
|
1057
|
+
|
|
1058
|
+
<!-- right menu start -->
|
|
910
1059
|
<ng-template #ld>
|
|
911
1060
|
<div class="yz-application-list">
|
|
912
1061
|
<ul>
|
|
913
|
-
<li *ngFor="let
|
|
914
|
-
<h5>{{
|
|
915
|
-
<a href="javascript:;" *ngFor="let
|
|
1062
|
+
<li *ngFor="let topic of state.list">
|
|
1063
|
+
<h5>{{ topic.name | i18n }}</h5>
|
|
1064
|
+
<a href="javascript:;" *ngFor="let nav of topic.children" (click)="open(nav)">{{ nav.name | i18n }}</a>
|
|
916
1065
|
</li>
|
|
917
1066
|
</ul>
|
|
918
1067
|
</div>
|
|
919
1068
|
</ng-template>
|
|
920
|
-
<!--
|
|
1069
|
+
<!-- right menu end -->
|
|
921
1070
|
|
|
922
1071
|
<!-- button start-->
|
|
923
|
-
<div class="yunzai-default__nav-item" (click)="diffChange()"> {{ '
|
|
1072
|
+
<div class="yunzai-default__nav-item" (click)="diffChange()"> {{ 'mode.nav' | i18n }}</div>
|
|
924
1073
|
<!-- button end-->
|
|
925
1074
|
|
|
926
1075
|
<!-- header start-->
|
|
927
1076
|
<div class="yz-application" nz-row *ngIf="state.active">
|
|
928
1077
|
<div nz-col [nzSpan]="3" class="yz-application-topic">
|
|
929
|
-
<div class="yz-application-text" (click)="
|
|
930
|
-
<div class="yz-application-text" (click)="
|
|
931
|
-
<div class="yz-application-text" *ngFor="let
|
|
1078
|
+
<div class="yz-application-text" (click)="attachNav('all')">{{ 'mode.nav.all' | i18n }}</div>
|
|
1079
|
+
<div class="yz-application-text" (click)="attachNav('mine')">{{ 'mode.nav.mine' | i18n }}</div>
|
|
1080
|
+
<div class="yz-application-text" *ngFor="let nav of state.topics" (click)="attachNav('other', nav)">{{
|
|
1081
|
+
nav.name | i18n
|
|
1082
|
+
}}</div>
|
|
932
1083
|
</div>
|
|
933
1084
|
<div nz-col [nzSpan]="21" [ngSwitch]="state.topic" class="yz-application-container">
|
|
934
|
-
<div *
|
|
1085
|
+
<div *ngIf="state.type === 'all'">
|
|
935
1086
|
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
936
1087
|
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
937
1088
|
</div>
|
|
938
|
-
<div *
|
|
1089
|
+
<div *ngIf="state.type === 'mine'">
|
|
939
1090
|
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
940
1091
|
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
941
1092
|
</div>
|
|
942
|
-
<div *
|
|
1093
|
+
<div *ngIf="state.type === 'other'" class="yz-application-list">
|
|
943
1094
|
<div class="yz-application-list-item">
|
|
944
1095
|
<ul>
|
|
945
|
-
<li *ngFor="let
|
|
1096
|
+
<li *ngFor="let nav of state.list" (click)="open(nav)">
|
|
946
1097
|
<a href="javascript:;">
|
|
947
|
-
<h4>{{
|
|
948
|
-
<p>{{
|
|
1098
|
+
<h4>{{ nav.name | i18n }}</h4>
|
|
1099
|
+
<p>{{ nav.intro | i18n }}</p>
|
|
949
1100
|
</a>
|
|
950
1101
|
</li>
|
|
951
1102
|
</ul>
|
|
@@ -954,13 +1105,13 @@ LayoutNavApplicationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
954
1105
|
</div>
|
|
955
1106
|
</div>
|
|
956
1107
|
<!-- header end-->
|
|
957
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type:
|
|
1108
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7$1.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i7$1.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9$1.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i9$1.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i9$1.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }] });
|
|
958
1109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LayoutNavApplicationComponent, decorators: [{
|
|
959
1110
|
type: Component,
|
|
960
1111
|
args: [{
|
|
961
1112
|
selector: `layout-nav-application`,
|
|
962
1113
|
template: `
|
|
963
|
-
<!--
|
|
1114
|
+
<!-- search start-->
|
|
964
1115
|
<ng-template #search>
|
|
965
1116
|
<div nz-row class="yz-application-list-search">
|
|
966
1117
|
<nz-input-group [nzPrefix]="prefixTemplate">
|
|
@@ -977,45 +1128,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
977
1128
|
</nz-input-group>
|
|
978
1129
|
</div>
|
|
979
1130
|
</ng-template>
|
|
1131
|
+
<!-- search end -->
|
|
1132
|
+
|
|
1133
|
+
<!-- right menu start -->
|
|
980
1134
|
<ng-template #ld>
|
|
981
1135
|
<div class="yz-application-list">
|
|
982
1136
|
<ul>
|
|
983
|
-
<li *ngFor="let
|
|
984
|
-
<h5>{{
|
|
985
|
-
<a href="javascript:;" *ngFor="let
|
|
1137
|
+
<li *ngFor="let topic of state.list">
|
|
1138
|
+
<h5>{{ topic.name | i18n }}</h5>
|
|
1139
|
+
<a href="javascript:;" *ngFor="let nav of topic.children" (click)="open(nav)">{{ nav.name | i18n }}</a>
|
|
986
1140
|
</li>
|
|
987
1141
|
</ul>
|
|
988
1142
|
</div>
|
|
989
1143
|
</ng-template>
|
|
990
|
-
<!--
|
|
1144
|
+
<!-- right menu end -->
|
|
991
1145
|
|
|
992
1146
|
<!-- button start-->
|
|
993
|
-
<div class="yunzai-default__nav-item" (click)="diffChange()"> {{ '
|
|
1147
|
+
<div class="yunzai-default__nav-item" (click)="diffChange()"> {{ 'mode.nav' | i18n }}</div>
|
|
994
1148
|
<!-- button end-->
|
|
995
1149
|
|
|
996
1150
|
<!-- header start-->
|
|
997
1151
|
<div class="yz-application" nz-row *ngIf="state.active">
|
|
998
1152
|
<div nz-col [nzSpan]="3" class="yz-application-topic">
|
|
999
|
-
<div class="yz-application-text" (click)="
|
|
1000
|
-
<div class="yz-application-text" (click)="
|
|
1001
|
-
<div class="yz-application-text" *ngFor="let
|
|
1153
|
+
<div class="yz-application-text" (click)="attachNav('all')">{{ 'mode.nav.all' | i18n }}</div>
|
|
1154
|
+
<div class="yz-application-text" (click)="attachNav('mine')">{{ 'mode.nav.mine' | i18n }}</div>
|
|
1155
|
+
<div class="yz-application-text" *ngFor="let nav of state.topics" (click)="attachNav('other', nav)">{{
|
|
1156
|
+
nav.name | i18n
|
|
1157
|
+
}}</div>
|
|
1002
1158
|
</div>
|
|
1003
1159
|
<div nz-col [nzSpan]="21" [ngSwitch]="state.topic" class="yz-application-container">
|
|
1004
|
-
<div *
|
|
1160
|
+
<div *ngIf="state.type === 'all'">
|
|
1005
1161
|
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
1006
1162
|
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
1007
1163
|
</div>
|
|
1008
|
-
<div *
|
|
1164
|
+
<div *ngIf="state.type === 'mine'">
|
|
1009
1165
|
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
1010
1166
|
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
1011
1167
|
</div>
|
|
1012
|
-
<div *
|
|
1168
|
+
<div *ngIf="state.type === 'other'" class="yz-application-list">
|
|
1013
1169
|
<div class="yz-application-list-item">
|
|
1014
1170
|
<ul>
|
|
1015
|
-
<li *ngFor="let
|
|
1171
|
+
<li *ngFor="let nav of state.list" (click)="open(nav)">
|
|
1016
1172
|
<a href="javascript:;">
|
|
1017
|
-
<h4>{{
|
|
1018
|
-
<p>{{
|
|
1173
|
+
<h4>{{ nav.name | i18n }}</h4>
|
|
1174
|
+
<p>{{ nav.intro | i18n }}</p>
|
|
1019
1175
|
</a>
|
|
1020
1176
|
</li>
|
|
1021
1177
|
</ul>
|
|
@@ -1026,7 +1182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1026
1182
|
<!-- header end-->
|
|
1027
1183
|
`
|
|
1028
1184
|
}]
|
|
1029
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
1185
|
+
}], ctorParameters: function () { return [{ type: i1$3.CacheService }, { type: YunzaiI18NService }, { type: i1$2._HttpClient }, { type: i0.Injector }]; } });
|
|
1030
1186
|
|
|
1031
1187
|
class LayoutNavGroupComponent {
|
|
1032
1188
|
constructor(inject, cacheService, http) {
|
|
@@ -1070,7 +1226,7 @@ class LayoutNavGroupComponent {
|
|
|
1070
1226
|
this.state.destroy$.complete();
|
|
1071
1227
|
}
|
|
1072
1228
|
}
|
|
1073
|
-
LayoutNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LayoutNavGroupComponent, deps: [{ token: i0.Injector }, { token: i1$
|
|
1229
|
+
LayoutNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LayoutNavGroupComponent, deps: [{ token: i0.Injector }, { token: i1$3.CacheService }, { token: i1$2._HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
1074
1230
|
LayoutNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: LayoutNavGroupComponent, selector: "layout-nav-group", ngImport: i0, template: `
|
|
1075
1231
|
<div class="yz-application-group">
|
|
1076
1232
|
<nz-tabset>
|
|
@@ -1134,7 +1290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1134
1290
|
</div>
|
|
1135
1291
|
`
|
|
1136
1292
|
}]
|
|
1137
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1$
|
|
1293
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1$3.CacheService }, { type: i1$2._HttpClient }]; } });
|
|
1138
1294
|
|
|
1139
1295
|
class LayoutNavTileComponent {
|
|
1140
1296
|
constructor() { }
|
|
@@ -1199,12 +1355,27 @@ class YunzaiLayoutBasicComponent {
|
|
|
1199
1355
|
}
|
|
1200
1356
|
ngOnInit() {
|
|
1201
1357
|
this.initLogo();
|
|
1358
|
+
this.initFavicon();
|
|
1202
1359
|
this.initNavType();
|
|
1203
1360
|
this.initAside();
|
|
1204
1361
|
this.addLayoutDisplayListener();
|
|
1205
1362
|
this.stompService.listen();
|
|
1206
1363
|
this.toIndex();
|
|
1207
1364
|
}
|
|
1365
|
+
initFavicon() {
|
|
1366
|
+
console.log('init favicon');
|
|
1367
|
+
const projectInfo = this.cacheService.get('_yz_project_info', { mode: 'none' });
|
|
1368
|
+
if (projectInfo.faviconUrl) {
|
|
1369
|
+
hasFavicon(projectInfo.faviconUrl).then((has) => {
|
|
1370
|
+
if (has) {
|
|
1371
|
+
setFavicon(projectInfo.faviconUrl);
|
|
1372
|
+
}
|
|
1373
|
+
else {
|
|
1374
|
+
setFavicon('./assets/favicon.ico');
|
|
1375
|
+
}
|
|
1376
|
+
});
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1208
1379
|
initAside() {
|
|
1209
1380
|
const aside = this.cacheService.get('_yz_current', { mode: 'none' });
|
|
1210
1381
|
this.state.aside = Object.assign({}, aside);
|
|
@@ -1256,7 +1427,7 @@ class YunzaiLayoutBasicComponent {
|
|
|
1256
1427
|
this.state.destroy$.complete();
|
|
1257
1428
|
}
|
|
1258
1429
|
}
|
|
1259
|
-
YunzaiLayoutBasicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutBasicComponent, deps: [{ token: i1$5.LayoutDisplayService }, { token: i1$
|
|
1430
|
+
YunzaiLayoutBasicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutBasicComponent, deps: [{ token: i1$5.LayoutDisplayService }, { token: i1$3.CacheService }, { token: i3$3.StompService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
|
|
1260
1431
|
YunzaiLayoutBasicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: YunzaiLayoutBasicComponent, selector: "yz-layout-basic", ngImport: i0, template: `<layout-default
|
|
1261
1432
|
[options]="options"
|
|
1262
1433
|
[asideUser]="asideUserTpl"
|
|
@@ -1294,20 +1465,20 @@ YunzaiLayoutBasicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
1294
1465
|
<nz-dropdown-menu #settingsMenu="nzDropdownMenu">
|
|
1295
1466
|
<div nz-menu style="width: 200px;">
|
|
1296
1467
|
<div nz-menu-item>
|
|
1297
|
-
{{ '
|
|
1468
|
+
{{ 'mode.nav' | i18n }}
|
|
1298
1469
|
</div>
|
|
1299
1470
|
|
|
1300
1471
|
<div nz-menu-item (click)="onNavTypeChange(NavType.APPLICATION)">
|
|
1301
1472
|
<i nz-icon nzType="appstore" class="mr-sm"></i>
|
|
1302
|
-
{{ '
|
|
1473
|
+
{{ 'mode.nav.application' | i18n }}
|
|
1303
1474
|
</div>
|
|
1304
1475
|
<div nz-menu-item (click)="onNavTypeChange(NavType.GROUP)">
|
|
1305
1476
|
<i nz-icon nzType="group" class="mr-sm"></i>
|
|
1306
|
-
{{ '
|
|
1477
|
+
{{ 'mode.nav.group' | i18n }}
|
|
1307
1478
|
</div>
|
|
1308
1479
|
<div nz-menu-item (click)="onNavTypeChange(NavType.TILE)">
|
|
1309
1480
|
<i nz-icon nzType="appstore" class="mr-sm"></i>
|
|
1310
|
-
{{ '
|
|
1481
|
+
{{ 'mode.nav.tile' | i18n }}
|
|
1311
1482
|
</div>
|
|
1312
1483
|
<div nz-menu-item> <yunzai-fullscreen></yunzai-fullscreen> </div>
|
|
1313
1484
|
<div nz-menu-item> <yunzai-clearstorage></yunzai-clearstorage> </div>
|
|
@@ -1324,13 +1495,13 @@ YunzaiLayoutBasicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
1324
1495
|
<div nz-dropdown nzTrigger="click" [nzDropdownMenu]="userMenu" class="yunzai-default__aside-user">
|
|
1325
1496
|
<nz-avatar class="yunzai-default__aside-user-avatar" [nzSrc]="aside.icon"></nz-avatar>
|
|
1326
1497
|
<div class="yunzai-default__aside-user-info">
|
|
1327
|
-
<strong>{{ aside.name }}</strong>
|
|
1328
|
-
<p class="mb0">{{ aside.intro }}</p>
|
|
1498
|
+
<strong>{{ aside.name | i18n }}</strong>
|
|
1499
|
+
<p class="mb0">{{ aside.intro | i18n }}</p>
|
|
1329
1500
|
</div>
|
|
1330
1501
|
</div>
|
|
1331
1502
|
<nz-dropdown-menu #userMenu="nzDropdownMenu">
|
|
1332
1503
|
<ul nz-menu>
|
|
1333
|
-
<li nz-menu-item routerLink="/">{{ '
|
|
1504
|
+
<li nz-menu-item routerLink="/">{{ 'back.home' | i18n }}</li>
|
|
1334
1505
|
</ul>
|
|
1335
1506
|
</nz-dropdown-menu>
|
|
1336
1507
|
</ng-template>
|
|
@@ -1382,20 +1553,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1382
1553
|
<nz-dropdown-menu #settingsMenu="nzDropdownMenu">
|
|
1383
1554
|
<div nz-menu style="width: 200px;">
|
|
1384
1555
|
<div nz-menu-item>
|
|
1385
|
-
{{ '
|
|
1556
|
+
{{ 'mode.nav' | i18n }}
|
|
1386
1557
|
</div>
|
|
1387
1558
|
|
|
1388
1559
|
<div nz-menu-item (click)="onNavTypeChange(NavType.APPLICATION)">
|
|
1389
1560
|
<i nz-icon nzType="appstore" class="mr-sm"></i>
|
|
1390
|
-
{{ '
|
|
1561
|
+
{{ 'mode.nav.application' | i18n }}
|
|
1391
1562
|
</div>
|
|
1392
1563
|
<div nz-menu-item (click)="onNavTypeChange(NavType.GROUP)">
|
|
1393
1564
|
<i nz-icon nzType="group" class="mr-sm"></i>
|
|
1394
|
-
{{ '
|
|
1565
|
+
{{ 'mode.nav.group' | i18n }}
|
|
1395
1566
|
</div>
|
|
1396
1567
|
<div nz-menu-item (click)="onNavTypeChange(NavType.TILE)">
|
|
1397
1568
|
<i nz-icon nzType="appstore" class="mr-sm"></i>
|
|
1398
|
-
{{ '
|
|
1569
|
+
{{ 'mode.nav.tile' | i18n }}
|
|
1399
1570
|
</div>
|
|
1400
1571
|
<div nz-menu-item> <yunzai-fullscreen></yunzai-fullscreen> </div>
|
|
1401
1572
|
<div nz-menu-item> <yunzai-clearstorage></yunzai-clearstorage> </div>
|
|
@@ -1412,13 +1583,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1412
1583
|
<div nz-dropdown nzTrigger="click" [nzDropdownMenu]="userMenu" class="yunzai-default__aside-user">
|
|
1413
1584
|
<nz-avatar class="yunzai-default__aside-user-avatar" [nzSrc]="aside.icon"></nz-avatar>
|
|
1414
1585
|
<div class="yunzai-default__aside-user-info">
|
|
1415
|
-
<strong>{{ aside.name }}</strong>
|
|
1416
|
-
<p class="mb0">{{ aside.intro }}</p>
|
|
1586
|
+
<strong>{{ aside.name | i18n }}</strong>
|
|
1587
|
+
<p class="mb0">{{ aside.intro | i18n }}</p>
|
|
1417
1588
|
</div>
|
|
1418
1589
|
</div>
|
|
1419
1590
|
<nz-dropdown-menu #userMenu="nzDropdownMenu">
|
|
1420
1591
|
<ul nz-menu>
|
|
1421
|
-
<li nz-menu-item routerLink="/">{{ '
|
|
1592
|
+
<li nz-menu-item routerLink="/">{{ 'back.home' | i18n }}</li>
|
|
1422
1593
|
</ul>
|
|
1423
1594
|
</nz-dropdown-menu>
|
|
1424
1595
|
</ng-template>
|
|
@@ -1431,7 +1602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1431
1602
|
</ng-template> `
|
|
1432
1603
|
}]
|
|
1433
1604
|
}], ctorParameters: function () {
|
|
1434
|
-
return [{ type: i1$5.LayoutDisplayService }, { type: i1$
|
|
1605
|
+
return [{ type: i1$5.LayoutDisplayService }, { type: i1$3.CacheService }, { type: i3$3.StompService }, { type: undefined, decorators: [{
|
|
1435
1606
|
type: Inject,
|
|
1436
1607
|
args: [WINDOW]
|
|
1437
1608
|
}] }];
|
|
@@ -1528,14 +1699,14 @@ class ActGuard {
|
|
|
1528
1699
|
});
|
|
1529
1700
|
}
|
|
1530
1701
|
}
|
|
1531
|
-
ActGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ActGuard, deps: [{ token: i1$
|
|
1702
|
+
ActGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ActGuard, deps: [{ token: i1$4.YunzaiConfigService }, { token: i1$3.CacheService }, { token: i1$4.PathToRegexpService }, { token: i5$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1532
1703
|
ActGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ActGuard, providedIn: 'root' });
|
|
1533
1704
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ActGuard, decorators: [{
|
|
1534
1705
|
type: Injectable,
|
|
1535
1706
|
args: [{
|
|
1536
1707
|
providedIn: 'root'
|
|
1537
1708
|
}]
|
|
1538
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
1709
|
+
}], ctorParameters: function () { return [{ type: i1$4.YunzaiConfigService }, { type: i1$3.CacheService }, { type: i1$4.PathToRegexpService }, { type: i5$1.Router }]; } });
|
|
1539
1710
|
|
|
1540
1711
|
class YunzaiAuthService {
|
|
1541
1712
|
constructor(injector) {
|
|
@@ -1859,6 +2030,8 @@ class YunzaiDefaultInterceptor {
|
|
|
1859
2030
|
if (url.includes('.json') && url.includes('assets')) {
|
|
1860
2031
|
url = req.url;
|
|
1861
2032
|
}
|
|
2033
|
+
if (url.includes('i18n'))
|
|
2034
|
+
return next.handle(req);
|
|
1862
2035
|
// 加入语言头
|
|
1863
2036
|
const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) });
|
|
1864
2037
|
return next.handle(newReq).pipe(mergeMap(ev => {
|
|
@@ -2754,7 +2927,9 @@ class YunzaiStartupService {
|
|
|
2754
2927
|
}
|
|
2755
2928
|
load() {
|
|
2756
2929
|
log$1('startup.service: ', 'load');
|
|
2757
|
-
|
|
2930
|
+
let defaultLang = this.cacheService.getNone(this.i18n.cacheDefaultKey);
|
|
2931
|
+
if (!defaultLang)
|
|
2932
|
+
defaultLang = this.i18n.defaultLang;
|
|
2758
2933
|
return this.i18n.loadLangData(defaultLang).pipe(mergeMap(langData => {
|
|
2759
2934
|
log$1('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);
|
|
2760
2935
|
this.i18n.use(defaultLang, langData);
|
|
@@ -2822,7 +2997,7 @@ class YunzaiStartupService {
|
|
|
2822
2997
|
}
|
|
2823
2998
|
}
|
|
2824
2999
|
}
|
|
2825
|
-
YunzaiStartupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService, deps: [{ token: i8.NzIconService }, { token: i1$2.MenuService }, { token: YUNZAI_I18N_TOKEN }, { token: WINDOW }, { token: i1$2.SettingsService }, { token: i3$4.ACLService }, { token: i1$2.TitleService }, { token: YunzaiAuthService }, { token: i1$
|
|
3000
|
+
YunzaiStartupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService, deps: [{ token: i8.NzIconService }, { token: i1$2.MenuService }, { token: YUNZAI_I18N_TOKEN }, { token: WINDOW }, { token: i1$2.SettingsService }, { token: i3$4.ACLService }, { token: i1$2.TitleService }, { token: YunzaiAuthService }, { token: i1$3.CacheService }, { token: i1$4.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2826
3001
|
YunzaiStartupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService });
|
|
2827
3002
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService, decorators: [{
|
|
2828
3003
|
type: Injectable
|
|
@@ -2833,7 +3008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
2833
3008
|
}] }, { type: undefined, decorators: [{
|
|
2834
3009
|
type: Inject,
|
|
2835
3010
|
args: [WINDOW]
|
|
2836
|
-
}] }, { type: i1$2.SettingsService }, { type: i3$4.ACLService }, { type: i1$2.TitleService }, { type: YunzaiAuthService }, { type: i1$
|
|
3011
|
+
}] }, { type: i1$2.SettingsService }, { type: i3$4.ACLService }, { type: i1$2.TitleService }, { type: YunzaiAuthService }, { type: i1$3.CacheService }, { type: i1$4.YunzaiConfigService }];
|
|
2837
3012
|
} });
|
|
2838
3013
|
function mapYzSideToYelonMenu(menus) {
|
|
2839
3014
|
menus.forEach(menu => {
|
|
@@ -2883,5 +3058,5 @@ const YUNZAI_APPINIT_PROVIDES = [
|
|
|
2883
3058
|
* Generated bundle index. Do not edit.
|
|
2884
3059
|
*/
|
|
2885
3060
|
|
|
2886
|
-
export { ActGuard, BUSINESS_DEFAULT_CONFIG, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent, NavType,
|
|
3061
|
+
export { ActGuard, BUSINESS_DEFAULT_CONFIG, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent, NavType, YUNZAI_APPINIT_PROVIDES, YUNZAI_LANGS, YUNZAI_APPINIT_PROVIDES as YZ_APPINIT_PROVIDES, YunzaiAuthService, YunzaiClearStorageComponent, YunzaiDefaultInterceptor, YunzaiFullScreenComponent, YunzaiI18NComponent, YunzaiI18NService, YunzaiLayoutBasicComponent, YunzaiLayoutModule, YunzaiNotifyComponent, YunzaiStartupService, YunzaiStartupServiceFactory, YunzaiThemBtnComponent, YunzaiUserComponent, YunzaiAuthService as YzAuthService, YunzaiDefaultInterceptor as YzDefaultInterceptor, YunzaiI18NService as YzI18NService, YunzaiLayoutBasicComponent as YzLayoutBasicComponent, YunzaiStartupService as YzStartupService, YunzaiStartupServiceFactory as YzStartupServiceFactory, generateAbility, mapYzSideToYelonMenu, mergeBisConfig };
|
|
2887
3062
|
//# sourceMappingURL=layout.mjs.map
|