@yelon/bis 14.1.1 → 15.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.
- package/LICENSE +1 -1
- package/README.md +23 -1
- package/esm2020/bis.mjs +2 -2
- package/esm2020/index.mjs +2 -0
- package/esm2020/public_api.mjs +2 -2
- package/esm2020/src/bis.config.mjs +11 -0
- package/esm2020/src/icon/style-icons.mjs +796 -0
- package/esm2020/src/index.mjs +12 -0
- package/esm2020/src/layout-basic/index.mjs +4 -0
- package/esm2020/src/layout-basic/interface.mjs +7 -0
- package/esm2020/src/layout-basic/layout-basic.component.mjs +312 -0
- package/esm2020/src/layout-basic/layout-display.service.mjs +87 -0
- package/esm2020/src/layout-nav/index.mjs +5 -0
- package/esm2020/src/layout-nav/layout-nav-application.component.mjs +262 -0
- package/esm2020/{layout/widgets/yz.application.group.component.mjs → src/layout-nav/layout-nav-group.component.mjs} +23 -21
- package/esm2020/src/layout-nav/layout-nav-tile.component.mjs +15 -0
- package/esm2020/src/layout-nav/types.mjs +7 -0
- package/esm2020/src/widgets/index.mjs +7 -0
- package/esm2020/src/widgets/yunzai-clear-storage.component.mjs +45 -0
- package/esm2020/src/widgets/yunzai-fullscreen.component.mjs +45 -0
- package/esm2020/src/widgets/yunzai-i18n.component.mjs +115 -0
- package/esm2020/src/widgets/yunzai-notify.component.mjs +183 -0
- package/esm2020/src/widgets/yunzai-theme-btn.component.mjs +195 -0
- package/esm2020/{layout/widgets/yz.user.component.mjs → src/widgets/yunzai-user.component.mjs} +6 -6
- package/esm2020/src/yunzai-act.guard.mjs +107 -0
- package/esm2020/src/yunzai-auth.service.mjs +153 -0
- package/esm2020/src/yunzai-default.interceptor.mjs +207 -0
- package/esm2020/src/yunzai-i18n.service.mjs +94 -0
- package/esm2020/src/yunzai-layout.module.mjs +76 -0
- package/esm2020/src/yunzai-startup.service.mjs +157 -0
- package/fesm2015/bis.mjs +2960 -1
- package/fesm2015/bis.mjs.map +1 -1
- package/fesm2020/bis.mjs +2968 -1
- package/fesm2020/bis.mjs.map +1 -1
- package/index.d.ts +0 -4
- package/index.less +1 -1
- package/package.json +12 -27
- package/public_api.d.ts +1 -2
- package/{layout → src}/bis.config.d.ts +0 -0
- package/{shared → src/icon}/style-icons.d.ts +0 -0
- package/src/index.d.ts +11 -0
- package/src/layout-basic/index.d.ts +3 -0
- package/src/layout-basic/interface.d.ts +24 -0
- package/src/layout-basic/layout-basic.component.d.ts +33 -0
- package/src/layout-basic/layout-display.service.d.ts +15 -0
- package/src/layout-nav/index.d.ts +4 -0
- package/src/layout-nav/layout-nav-application.component.d.ts +26 -0
- package/src/layout-nav/layout-nav-group.component.d.ts +17 -0
- package/src/layout-nav/layout-nav-tile.component.d.ts +6 -0
- package/src/layout-nav/types.d.ts +20 -0
- package/src/widgets/index.d.ts +6 -0
- package/{layout/widgets/yz.clear-storage.component.d.ts → src/widgets/yunzai-clear-storage.component.d.ts} +3 -3
- package/src/widgets/yunzai-fullscreen.component.d.ts +8 -0
- package/{layout/widgets/yz.i18n.component.d.ts → src/widgets/yunzai-i18n.component.d.ts} +5 -5
- package/{layout/widgets/yz.notify.component.d.ts → src/widgets/yunzai-notify.component.d.ts} +5 -5
- package/{layout/widgets/yz.them-btn.component.d.ts → src/widgets/yunzai-theme-btn.component.d.ts} +5 -5
- package/{layout/widgets/yz.user.component.d.ts → src/widgets/yunzai-user.component.d.ts} +3 -3
- package/{layout/act.guard.d.ts → src/yunzai-act.guard.d.ts} +1 -2
- package/{layout/yz.auth.service.d.ts → src/yunzai-auth.service.d.ts} +6 -7
- package/{layout/yz.default.interceptor.d.ts → src/yunzai-default.interceptor.d.ts} +4 -6
- package/{layout/yz.i18n.service.d.ts → src/yunzai-i18n.service.d.ts} +4 -3
- package/src/yunzai-layout.module.d.ts +21 -0
- package/src/yunzai-startup.service.d.ts +37 -0
- package/esm2020/layout/act.guard.mjs +0 -108
- package/esm2020/layout/bis.config.mjs +0 -11
- package/esm2020/layout/contact/contact.component.mjs +0 -492
- package/esm2020/layout/contact/contact.service.mjs +0 -146
- package/esm2020/layout/layout.mjs +0 -5
- package/esm2020/layout/layout.module.mjs +0 -76
- package/esm2020/layout/path-to-regexp.service.mjs +0 -238
- package/esm2020/layout/public_api.mjs +0 -15
- package/esm2020/layout/stomp.config.mjs +0 -18
- package/esm2020/layout/widgets/index.mjs +0 -9
- package/esm2020/layout/widgets/yz.application.component.mjs +0 -271
- package/esm2020/layout/widgets/yz.clear-storage.component.mjs +0 -45
- package/esm2020/layout/widgets/yz.fullscreen.component.mjs +0 -45
- package/esm2020/layout/widgets/yz.i18n.component.mjs +0 -115
- package/esm2020/layout/widgets/yz.notify.component.mjs +0 -183
- package/esm2020/layout/widgets/yz.them-btn.component.mjs +0 -195
- package/esm2020/layout/yz.auth.service.mjs +0 -155
- package/esm2020/layout/yz.basic.component.mjs +0 -269
- package/esm2020/layout/yz.default.interceptor.mjs +0 -207
- package/esm2020/layout/yz.i18n.service.mjs +0 -93
- package/esm2020/layout/yz.startup.service.mjs +0 -139
- package/esm2020/layout/yz.stomp.service.mjs +0 -88
- package/esm2020/shared/public_api.mjs +0 -5
- package/esm2020/shared/shared-yelon.module.mjs +0 -106
- package/esm2020/shared/shared-zorro.module.mjs +0 -81
- package/esm2020/shared/shared.mjs +0 -5
- package/esm2020/shared/shared.module.mjs +0 -115
- package/esm2020/shared/style-icons.mjs +0 -796
- package/fesm2015/layout.mjs +0 -2968
- package/fesm2015/layout.mjs.map +0 -1
- package/fesm2015/shared.mjs +0 -1103
- package/fesm2015/shared.mjs.map +0 -1
- package/fesm2020/layout.mjs +0 -2977
- package/fesm2020/layout.mjs.map +0 -1
- package/fesm2020/shared.mjs +0 -1103
- package/fesm2020/shared.mjs.map +0 -1
- package/layout/contact/contact.component.d.ts +0 -169
- package/layout/contact/contact.service.d.ts +0 -118
- package/layout/index.d.ts +0 -5
- package/layout/layout.module.d.ts +0 -21
- package/layout/path-to-regexp.service.d.ts +0 -26
- package/layout/public_api.d.ts +0 -14
- package/layout/stomp.config.d.ts +0 -3
- package/layout/style/index.less +0 -155
- package/layout/widgets/index.d.ts +0 -8
- package/layout/widgets/yz.application.component.d.ts +0 -49
- package/layout/widgets/yz.application.group.component.d.ts +0 -19
- package/layout/widgets/yz.fullscreen.component.d.ts +0 -8
- package/layout/yz.basic.component.d.ts +0 -27
- package/layout/yz.startup.service.d.ts +0 -36
- package/layout/yz.stomp.service.d.ts +0 -42
- package/shared/index.d.ts +0 -5
- package/shared/public_api.d.ts +0 -4
- package/shared/shared-yelon.module.d.ts +0 -3
- package/shared/shared-zorro.module.d.ts +0 -2
- package/shared/shared.module.d.ts +0 -94
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { registerLocaleData } from '@angular/common';
|
|
2
|
+
import ngEn from '@angular/common/locales/en';
|
|
3
|
+
import ngZh from '@angular/common/locales/zh';
|
|
4
|
+
import ngZhTw from '@angular/common/locales/zh-Hant';
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { enUS as dfEn, zhCN as dfZhCn, zhTW as dfZhTw } from 'date-fns/locale';
|
|
7
|
+
import { en_US as yelonEnUS, zh_CN as yelonZhCn, zh_TW as yelonZhTw, YunzaiI18nBaseService } from '@yelon/theme';
|
|
8
|
+
import { en_US as zorroEnUS, zh_CN as zorroZhCN, zh_TW as zorroZhTW } from 'ng-zorro-antd/i18n';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@yelon/theme";
|
|
11
|
+
import * as i2 from "ng-zorro-antd/i18n";
|
|
12
|
+
import * as i3 from "@angular/cdk/platform";
|
|
13
|
+
import * as i4 from "@yelon/util/config";
|
|
14
|
+
const DEFAULT = 'zh-CN';
|
|
15
|
+
const LANGS = {
|
|
16
|
+
'zh-CN': {
|
|
17
|
+
text: '简体中文',
|
|
18
|
+
ng: ngZh,
|
|
19
|
+
zorro: zorroZhCN,
|
|
20
|
+
date: dfZhCn,
|
|
21
|
+
yelon: yelonZhCn,
|
|
22
|
+
abbr: '🇨🇳'
|
|
23
|
+
},
|
|
24
|
+
'zh-TW': {
|
|
25
|
+
text: '繁体中文',
|
|
26
|
+
ng: ngZhTw,
|
|
27
|
+
zorro: zorroZhTW,
|
|
28
|
+
date: dfZhTw,
|
|
29
|
+
yelon: yelonZhTw,
|
|
30
|
+
abbr: '🇭🇰'
|
|
31
|
+
},
|
|
32
|
+
'en-US': {
|
|
33
|
+
text: 'English',
|
|
34
|
+
ng: ngEn,
|
|
35
|
+
zorro: zorroEnUS,
|
|
36
|
+
date: dfEn,
|
|
37
|
+
yelon: yelonEnUS,
|
|
38
|
+
abbr: '🇬🇧'
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
class YunzaiI18NService extends YunzaiI18nBaseService {
|
|
42
|
+
constructor(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv) {
|
|
43
|
+
super(cogSrv);
|
|
44
|
+
this.http = http;
|
|
45
|
+
this.settings = settings;
|
|
46
|
+
this.nzI18nService = nzI18nService;
|
|
47
|
+
this.yelonLocaleService = yelonLocaleService;
|
|
48
|
+
this.platform = platform;
|
|
49
|
+
this._defaultLang = DEFAULT;
|
|
50
|
+
this._langs = Object.keys(LANGS).map(code => {
|
|
51
|
+
const item = LANGS[code];
|
|
52
|
+
return { code, text: item.text, abbr: item.abbr };
|
|
53
|
+
});
|
|
54
|
+
const defaultLang = this.getDefaultLang();
|
|
55
|
+
this._defaultLang = this._langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;
|
|
56
|
+
}
|
|
57
|
+
getDefaultLang() {
|
|
58
|
+
if (!this.platform.isBrowser) {
|
|
59
|
+
return DEFAULT;
|
|
60
|
+
}
|
|
61
|
+
if (this.settings.layout.lang) {
|
|
62
|
+
return this.settings.layout.lang;
|
|
63
|
+
}
|
|
64
|
+
let res = (navigator.languages ? navigator.languages[0] : null) || navigator.language;
|
|
65
|
+
const arr = res.split('-');
|
|
66
|
+
return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;
|
|
67
|
+
}
|
|
68
|
+
loadLangData(lang) {
|
|
69
|
+
return this.http.get(`assets/tmp/i18n/${lang}.json`);
|
|
70
|
+
}
|
|
71
|
+
use(lang, data) {
|
|
72
|
+
if (this._currentLang === lang)
|
|
73
|
+
return;
|
|
74
|
+
this._data = this.flatData(data, []);
|
|
75
|
+
const item = LANGS[lang];
|
|
76
|
+
registerLocaleData(item.ng);
|
|
77
|
+
this.nzI18nService.setLocale(item.zorro);
|
|
78
|
+
this.nzI18nService.setDateLocale(item.date);
|
|
79
|
+
this.yelonLocaleService.setLocale(item.yelon);
|
|
80
|
+
this._currentLang = lang;
|
|
81
|
+
this._change$.next(lang);
|
|
82
|
+
}
|
|
83
|
+
getLangs() {
|
|
84
|
+
return this._langs;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
YunzaiI18NService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, deps: [{ token: i1._HttpClient }, { token: i1.SettingsService }, { token: i2.NzI18nService }, { token: i1.YelonLocaleService }, { token: i3.Platform }, { token: i4.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
88
|
+
YunzaiI18NService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, providedIn: 'root' });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, decorators: [{
|
|
90
|
+
type: Injectable,
|
|
91
|
+
args: [{ providedIn: 'root' }]
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1._HttpClient }, { type: i1.SettingsService }, { type: i2.NzI18nService }, { type: i1.YelonLocaleService }, { type: i3.Platform }, { type: i4.YunzaiConfigService }]; } });
|
|
93
|
+
export { YunzaiI18NService as YzI18nService, YunzaiI18NService };
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWkxOG4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9zcmMveXVuemFpLWkxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLElBQUksTUFBTSw0QkFBNEIsQ0FBQztBQUM5QyxPQUFPLElBQUksTUFBTSw0QkFBNEIsQ0FBQztBQUM5QyxPQUFPLE1BQU0sTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9FLE9BQU8sRUFFTCxLQUFLLElBQUksU0FBUyxFQUVsQixLQUFLLElBQUksU0FBUyxFQUNsQixLQUFLLElBQUksU0FBUyxFQUVsQixxQkFBcUIsRUFDdEIsTUFBTSxjQUFjLENBQUM7QUFHdEIsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQWlCLEtBQUssSUFBSSxTQUFTLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFXL0csTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3hCLE1BQU0sS0FBSyxHQUFzQztJQUMvQyxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsTUFBTTtRQUNaLEVBQUUsRUFBRSxJQUFJO1FBQ1IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLE1BQU07UUFDWixFQUFFLEVBQUUsTUFBTTtRQUNWLEtBQUssRUFB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QUFJLENBQUMsQ0FBQztRQUN6QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzs4R0F0REcsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FERyxNQUFNOzJGQUMxQixpQkFBaUI7a0JBRHRCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQTBEbEMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBuZ0VuIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2VuJztcbmltcG9ydCBuZ1poIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3poJztcbmltcG9ydCBuZ1poVHcgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvemgtSGFudCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGVuVVMgYXMgZGZFbiwgemhDTiBhcyBkZlpoQ24sIHpoVFcgYXMgZGZaaFR3IH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlJztcblxuaW1wb3J0IHtcbiAgWWVsb25Mb2NhbGVTZXJ2aWNlLFxuICBlbl9VUyBhcyB5ZWxvbkVuVVMsXG4gIFNldHRpbmdzU2VydmljZSxcbiAgemhfQ04gYXMgeWVsb25aaENuLFxuICB6aF9UVyBhcyB5ZWxvblpoVHcsXG4gIF9IdHRwQ2xpZW50LFxuICBZdW56YWlJMThuQmFzZVNlcnZpY2Vcbn0gZnJvbSAnQHllbG9uL3RoZW1lJztcbmltcG9ydCB7IFl1bnphaUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAeWVsb24vdXRpbC9jb25maWcnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IGVuX1VTIGFzIHpvcnJvRW5VUywgTnpJMThuU2VydmljZSwgemhfQ04gYXMgem9ycm9aaENOLCB6aF9UVyBhcyB6b3Jyb1poVFcgfSBmcm9tICduZy16b3Jyby1hbnRkL2kxOG4nO1xuXG5pbnRlcmZhY2UgTGFuZ0NvbmZpZ0RhdGEge1xuICBhYmJyOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbmc6IE56U2FmZUFueTtcbiAgem9ycm86IE56U2FmZUFueTtcbiAgZGF0ZTogTnpTYWZlQW55O1xuICB5ZWxvbjogTnpTYWZlQW55O1xufVxuXG5jb25zdCBERUZBVUxUID0gJ3poLUNOJztcbmNvbnN0IExBTkdTOiB7IFtrZXk6IHN0cmluZ106IExhbmdDb25maWdEYXRhIH0gPSB7XG4gICd6aC1DTic6IHtcbiAgICB0ZXh0OiAn566A5L2T5Lit5paHJyxcbiAgICBuZzogbmdaaCxcbiAgICB6b3Jybzogem9ycm9aaENOLFxuICAgIGRhdGU6IGRmWmhDbixcbiAgICB5ZWxvbjogeWVsb25aaENuLFxuICAgIGFiYnI6ICfwn4eo8J+HsydcbiAgfSxcbiAgJ3poLVRXJzoge1xuICAgIHRleHQ6ICfnuYHkvZPkuK3mlocnLFxuICAgIG5nOiBuZ1poVHcsXG4gICAgem9ycm86IHpvcnJvWmhUVyxcbiAgICBkYXRlOiBkZlpoVHcsXG4gICAgeWVsb246IHllbG9uWmhUdyxcbiAgICBhYmJyOiAn8J+HrfCfh7AnXG4gIH0sXG4gICdlbi1VUyc6IHtcbiAgICB0ZXh0OiAnRW5nbGlzaCcsXG4gICAgbmc6IG5nRW4sXG4gICAgem9ycm86IHpvcnJvRW5VUyxcbiAgICBkYXRlOiBkZkVuLFxuICAgIHllbG9uOiB5ZWxvbkVuVVMsXG4gICAgYWJicjogJ/Cfh6zwn4enJ1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuY2xhc3MgWXVuemFpSTE4TlNlcnZpY2UgZXh0ZW5kcyBZdW56YWlJMThuQmFzZVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2RlZmF1bHRMYW5nID0gREVGQVVMVDtcbiAgcHJpdmF0ZSBfbGFuZ3MgPSBPYmplY3Qua2V5cyhMQU5HUykubWFwKGNvZGUgPT4ge1xuICAgIGNvbnN0IGl0ZW0gPSBMQU5HU1tjb2RlXTtcbiAgICByZXR1cm4geyBjb2RlLCB0ZXh0OiBpdGVtLnRleHQsIGFiYnI6IGl0ZW0uYWJiciB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IF9IdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG56STE4blNlcnZpY2U6IE56STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSB5ZWxvbkxvY2FsZVNlcnZpY2U6IFllbG9uTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICBjb2dTcnY6IFl1bnphaUNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY29nU3J2KTtcblxuICAgIGNvbnN0IGRlZmF1bHRMYW5nID0gdGhpcy5nZXREZWZhdWx0TGFuZygpO1xuICAgIHRoaXMuX2RlZmF1bHRMYW5nID0gdGhpcy5fbGFuZ3MuZmluZEluZGV4KHcgPT4gdy5jb2RlID09PSBkZWZhdWx0TGFuZykgPT09IC0xID8gREVGQVVMVCA6IGRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0TGFuZygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiBERUZBVUxUO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5sYXlvdXQubGFuZykge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MubGF5b3V0Lmxhbmc7XG4gICAgfVxuICAgIGxldCByZXMgPSAobmF2aWdhdG9yLmxhbmd1YWdlcyA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiBudWxsKSB8fCBuYXZpZ2F0b3IubGFuZ3VhZ2U7XG4gICAgY29uc3QgYXJyID0gcmVzLnNwbGl0KCctJyk7XG4gICAgcmV0dXJuIGFyci5sZW5ndGggPD0gMSA/IHJlcyA6IGAke2FyclswXX0tJHthcnJbMV0udG9VcHBlckNhc2UoKX1gO1xuICB9XG5cbiAgbG9hZExhbmdEYXRhKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8TnpTYWZlQW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFzc2V0cy90bXAvaTE4bi8ke2xhbmd9Lmpzb25gKTtcbiAgfVxuXG4gIHVzZShsYW5nOiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRMYW5nID09PSBsYW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl9kYXRhID0gdGhpcy5mbGF0RGF0YShkYXRhLCBbXSk7XG5cbiAgICBjb25zdCBpdGVtID0gTEFOR1NbbGFuZ107XG4gICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGl0ZW0ubmcpO1xuICAgIHRoaXMubnpJMThuU2VydmljZS5zZXRMb2NhbGUoaXRlbS56b3Jybyk7XG4gICAgdGhpcy5uekkxOG5TZXJ2aWNlLnNldERhdGVMb2NhbGUoaXRlbS5kYXRlKTtcbiAgICB0aGlzLnllbG9uTG9jYWxlU2VydmljZS5zZXRMb2NhbGUoaXRlbS55ZWxvbik7XG4gICAgdGhpcy5fY3VycmVudExhbmcgPSBsYW5nO1xuXG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KGxhbmcpO1xuICB9XG5cbiAgZ2V0TGFuZ3MoKTogQXJyYXk8eyBjb2RlOiBzdHJpbmc7IHRleHQ6IHN0cmluZzsgYWJicjogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3M7XG4gIH1cbn1cblxuZXhwb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgYXMgWXpJMThuU2VydmljZSwgWXVuemFpSTE4TlNlcnZpY2UgfTtcbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { RouterModule } from '@angular/router';
|
|
6
|
+
import { YunzaiSharedYelonModule, YunzaiSharedZorroModule } from '@yelon/bcs';
|
|
7
|
+
import { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';
|
|
8
|
+
import { YzLayoutBasicComponent } from './layout-basic/layout-basic.component';
|
|
9
|
+
import { LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent } from './layout-nav';
|
|
10
|
+
import { YunzaiClearStorageComponent, YunzaiFullScreenComponent, YunzaiI18NComponent, YunzaiNotifyComponent, YunzaiThemBtnComponent, YunzaiUserComponent } from './widgets';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
const WIDGETS = [
|
|
13
|
+
YunzaiClearStorageComponent,
|
|
14
|
+
YunzaiFullScreenComponent,
|
|
15
|
+
YunzaiI18NComponent,
|
|
16
|
+
YunzaiNotifyComponent,
|
|
17
|
+
YunzaiThemBtnComponent,
|
|
18
|
+
YunzaiUserComponent
|
|
19
|
+
];
|
|
20
|
+
const LAYOUT_NAV_COMPONENTS = [LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent];
|
|
21
|
+
const COMPONENTS = [YzLayoutBasicComponent];
|
|
22
|
+
export class YunzaiLayoutModule {
|
|
23
|
+
}
|
|
24
|
+
YunzaiLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
YunzaiLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutModule, declarations: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
|
|
26
|
+
YunzaiFullScreenComponent,
|
|
27
|
+
YunzaiI18NComponent,
|
|
28
|
+
YunzaiNotifyComponent,
|
|
29
|
+
YunzaiThemBtnComponent,
|
|
30
|
+
YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent], imports: [HttpClientModule,
|
|
31
|
+
CommonModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
RouterModule,
|
|
34
|
+
ReactiveFormsModule,
|
|
35
|
+
YunzaiSharedYelonModule,
|
|
36
|
+
YunzaiSharedZorroModule], exports: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
|
|
37
|
+
YunzaiFullScreenComponent,
|
|
38
|
+
YunzaiI18NComponent,
|
|
39
|
+
YunzaiNotifyComponent,
|
|
40
|
+
YunzaiThemBtnComponent,
|
|
41
|
+
YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent] });
|
|
42
|
+
YunzaiLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutModule, providers: [
|
|
43
|
+
{
|
|
44
|
+
provide: YUNZAI_THEME_BTN_KEYS,
|
|
45
|
+
useValue: 'site-theme'
|
|
46
|
+
}
|
|
47
|
+
], imports: [HttpClientModule,
|
|
48
|
+
CommonModule,
|
|
49
|
+
FormsModule,
|
|
50
|
+
RouterModule,
|
|
51
|
+
ReactiveFormsModule,
|
|
52
|
+
YunzaiSharedYelonModule,
|
|
53
|
+
YunzaiSharedZorroModule] });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiLayoutModule, decorators: [{
|
|
55
|
+
type: NgModule,
|
|
56
|
+
args: [{
|
|
57
|
+
imports: [
|
|
58
|
+
HttpClientModule,
|
|
59
|
+
CommonModule,
|
|
60
|
+
FormsModule,
|
|
61
|
+
RouterModule,
|
|
62
|
+
ReactiveFormsModule,
|
|
63
|
+
YunzaiSharedYelonModule,
|
|
64
|
+
YunzaiSharedZorroModule
|
|
65
|
+
],
|
|
66
|
+
providers: [
|
|
67
|
+
{
|
|
68
|
+
provide: YUNZAI_THEME_BTN_KEYS,
|
|
69
|
+
useValue: 'site-theme'
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
declarations: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS],
|
|
73
|
+
exports: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS]
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvc3JjL3l1bnphaS1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDcEIsTUFBTSxXQUFXLENBQUM7O0FBRW5CLE1BQU0sT0FBTyxHQUFHO0lBQ2QsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sVUFBVSxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQXFCNUMsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXJCWCxzQkFBc0IsRUFWeEMsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixtQkFBbUIsRUFHVSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsYUFNekcsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsdUJBQXVCLGFBVlAsc0JBQXNCLEVBVnhDLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsbUJBQW1CLEVBR1UsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCO2dIQXVCaEcsa0JBQWtCLGFBVGxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxZQUFZO1NBQ3ZCO0tBQ0YsWUFiQyxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2Qix1QkFBdUI7MkZBV2Qsa0JBQWtCO2tCQW5COUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLFlBQVk7eUJBQ3ZCO3FCQUNGO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcscUJBQXFCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcscUJBQXFCLENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBZdW56YWlTaGFyZWRZZWxvbk1vZHVsZSwgWXVuemFpU2hhcmVkWm9ycm9Nb2R1bGUgfSBmcm9tICdAeWVsb24vYmNzJztcbmltcG9ydCB7IFlVTlpBSV9USEVNRV9CVE5fS0VZUyB9IGZyb20gJ0B5ZWxvbi90aGVtZS90aGVtZS1idG4nO1xuXG5pbXBvcnQgeyBZekxheW91dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtYmFzaWMvbGF5b3V0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXROYXZBcHBsaWNhdGlvbkNvbXBvbmVudCwgTGF5b3V0TmF2R3JvdXBDb21wb25lbnQsIExheW91dE5hdlRpbGVDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1uYXYnO1xuaW1wb3J0IHtcbiAgWXVuemFpQ2xlYXJTdG9yYWdlQ29tcG9uZW50LFxuICBZdW56YWlGdWxsU2NyZWVuQ29tcG9uZW50LFxuICBZdW56YWlJMThOQ29tcG9uZW50LFxuICBZdW56YWlOb3RpZnlDb21wb25lbnQsXG4gIFl1bnphaVRoZW1CdG5Db21wb25lbnQsXG4gIFl1bnphaVVzZXJDb21wb25lbnRcbn0gZnJvbSAnLi93aWRnZXRzJztcblxuY29uc3QgV0lER0VUUyA9IFtcbiAgWXVuemFpQ2xlYXJTdG9yYWdlQ29tcG9uZW50LFxuICBZdW56YWlGdWxsU2NyZWVuQ29tcG9uZW50LFxuICBZdW56YWlJMThOQ29tcG9uZW50LFxuICBZdW56YWlOb3RpZnlDb21wb25lbnQsXG4gIFl1bnphaVRoZW1CdG5Db21wb25lbnQsXG4gIFl1bnphaVVzZXJDb21wb25lbnRcbl07XG5cbmNvbnN0IExBWU9VVF9OQVZfQ09NUE9ORU5UUyA9IFtMYXlvdXROYXZBcHBsaWNhdGlvbkNvbXBvbmVudCwgTGF5b3V0TmF2R3JvdXBDb21wb25lbnQsIExheW91dE5hdlRpbGVDb21wb25lbnRdO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1l6TGF5b3V0QmFzaWNDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgWXVuemFpU2hhcmVkWWVsb25Nb2R1bGUsXG4gICAgWXVuemFpU2hhcmVkWm9ycm9Nb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogWVVOWkFJX1RIRU1FX0JUTl9LRVlTLFxuICAgICAgdXNlVmFsdWU6ICdzaXRlLXRoZW1lJ1xuICAgIH1cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UUywgLi4uV0lER0VUUywgLi4uTEFZT1VUX05BVl9DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFMsIC4uLldJREdFVFMsIC4uLkxBWU9VVF9OQVZfQ09NUE9ORU5UU11cbn0pXG5leHBvcnQgY2xhc3MgWXVuemFpTGF5b3V0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { APP_INITIALIZER, Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { mergeMap, of } from 'rxjs';
|
|
3
|
+
import { YUNZAI_I18N_TOKEN } from '@yelon/theme';
|
|
4
|
+
import { WINDOW, deepCopy, log } from '@yelon/util';
|
|
5
|
+
import { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';
|
|
6
|
+
import { ICONS } from './icon/style-icons';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "ng-zorro-antd/icon";
|
|
9
|
+
import * as i2 from "@yelon/theme";
|
|
10
|
+
import * as i3 from "@yelon/acl";
|
|
11
|
+
import * as i4 from "./yunzai-auth.service";
|
|
12
|
+
import * as i5 from "@yelon/cache";
|
|
13
|
+
import * as i6 from "@yelon/util";
|
|
14
|
+
import * as i7 from "./yunzai-i18n.service";
|
|
15
|
+
class YunzaiStartupService {
|
|
16
|
+
constructor(iconSrv, menuService, i18n, win, settingService, aclService, titleService, yzAuthService, cacheService, configService) {
|
|
17
|
+
this.menuService = menuService;
|
|
18
|
+
this.i18n = i18n;
|
|
19
|
+
this.win = win;
|
|
20
|
+
this.settingService = settingService;
|
|
21
|
+
this.aclService = aclService;
|
|
22
|
+
this.titleService = titleService;
|
|
23
|
+
this.yzAuthService = yzAuthService;
|
|
24
|
+
this.cacheService = cacheService;
|
|
25
|
+
this.configService = configService;
|
|
26
|
+
this.config = BUSINESS_DEFAULT_CONFIG;
|
|
27
|
+
this.config = mergeBisConfig(this.configService);
|
|
28
|
+
iconSrv.addIcon(...ICONS);
|
|
29
|
+
}
|
|
30
|
+
load() {
|
|
31
|
+
log('startup.service: ', 'load');
|
|
32
|
+
const defaultLang = this.i18n.defaultLang;
|
|
33
|
+
return this.i18n.loadLangData(defaultLang).pipe(mergeMap(langData => {
|
|
34
|
+
log('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);
|
|
35
|
+
this.i18n.use(defaultLang, langData);
|
|
36
|
+
return of(null);
|
|
37
|
+
}), mergeMap(() => {
|
|
38
|
+
return this.yzAuthService.login();
|
|
39
|
+
}), mergeMap(v => {
|
|
40
|
+
// preloader finish
|
|
41
|
+
this.systemInit();
|
|
42
|
+
log('startup.service: preloader finish');
|
|
43
|
+
if (this.win && this.win.appBootstrap) {
|
|
44
|
+
this.win.appBootstrap();
|
|
45
|
+
}
|
|
46
|
+
return of(v);
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
systemInit() {
|
|
50
|
+
log('startup.service: system init');
|
|
51
|
+
// user
|
|
52
|
+
const yunzaiUser = this.cacheService.get('_yz_user', { mode: 'none' });
|
|
53
|
+
// menu
|
|
54
|
+
const yunzaiMenus = deepCopy(yunzaiUser.menu).filter(m => m.systemCode && m.systemCode === this.config.systemCode);
|
|
55
|
+
mapYzSideToYelonMenu(yunzaiMenus);
|
|
56
|
+
const currentMenu = yunzaiMenus.pop();
|
|
57
|
+
if (currentMenu) {
|
|
58
|
+
// logo app
|
|
59
|
+
this.settingService.setApp({ name: currentMenu.text, description: currentMenu.intro });
|
|
60
|
+
this.settingService.setUser({
|
|
61
|
+
name: yunzaiUser.realname,
|
|
62
|
+
avatar: `${this.config.baseUrl}/filecenter/file/${yunzaiUser.avatarId}` || '',
|
|
63
|
+
email: yunzaiUser.email
|
|
64
|
+
});
|
|
65
|
+
// title
|
|
66
|
+
this.titleService.default = currentMenu && currentMenu.text ? currentMenu.text : 'default application name';
|
|
67
|
+
this.titleService.setTitle(currentMenu && currentMenu.text ? currentMenu.text : 'no title');
|
|
68
|
+
// acl
|
|
69
|
+
const abilities = [];
|
|
70
|
+
generateAbility([currentMenu], abilities, '');
|
|
71
|
+
this.aclService.attachRole(yunzaiUser?.roles
|
|
72
|
+
.map((role) => {
|
|
73
|
+
return role.roleValue;
|
|
74
|
+
})
|
|
75
|
+
.filter((a) => !!a) || []);
|
|
76
|
+
this.aclService.attachAbility(abilities);
|
|
77
|
+
// aside menu
|
|
78
|
+
this.menuService.add([currentMenu]);
|
|
79
|
+
// cache current
|
|
80
|
+
this.cacheService.set('_yz_current', {
|
|
81
|
+
name: currentMenu.text,
|
|
82
|
+
intro: currentMenu.intro,
|
|
83
|
+
icon: currentMenu.appIconUrl
|
|
84
|
+
});
|
|
85
|
+
// cache displayIndex
|
|
86
|
+
const attributes = currentMenu.attribute;
|
|
87
|
+
if (attributes) {
|
|
88
|
+
const attr = JSON.parse(attributes);
|
|
89
|
+
if (attr && attr.defaultRoute) {
|
|
90
|
+
this.cacheService.set('_yz_defaultRoute', attr.defaultRoute);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.cacheService.set('_yz_defaultRoute', '/displayIndex');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.cacheService.set('_yz_defaultRoute', '/displayIndex');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
YunzaiStartupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService, deps: [{ token: i1.NzIconService }, { token: i2.MenuService }, { token: YUNZAI_I18N_TOKEN }, { token: WINDOW }, { token: i2.SettingsService }, { token: i3.ACLService }, { token: i2.TitleService }, { token: i4.YunzaiAuthService }, { token: i5.CacheService }, { token: i6.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
103
|
+
YunzaiStartupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiStartupService, decorators: [{
|
|
105
|
+
type: Injectable
|
|
106
|
+
}], ctorParameters: function () { return [{ type: i1.NzIconService }, { type: i2.MenuService }, { type: i7.YunzaiI18NService, decorators: [{
|
|
107
|
+
type: Inject,
|
|
108
|
+
args: [YUNZAI_I18N_TOKEN]
|
|
109
|
+
}] }, { type: undefined, decorators: [{
|
|
110
|
+
type: Inject,
|
|
111
|
+
args: [WINDOW]
|
|
112
|
+
}] }, { type: i2.SettingsService }, { type: i3.ACLService }, { type: i2.TitleService }, { type: i4.YunzaiAuthService }, { type: i5.CacheService }, { type: i6.YunzaiConfigService }]; } });
|
|
113
|
+
function mapYzSideToYelonMenu(menus) {
|
|
114
|
+
menus.forEach(menu => {
|
|
115
|
+
menu.badgeDot = menu.badge_dot || null;
|
|
116
|
+
menu.badgeStatus = menu.badge_status || null;
|
|
117
|
+
menu.shortcutRoot = menu.shortcut_root || null;
|
|
118
|
+
menu.reuse = true;
|
|
119
|
+
if (menu.children) {
|
|
120
|
+
mapYzSideToYelonMenu(menu.children);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function generateAbility(menus, abilities, prefix) {
|
|
125
|
+
menus.forEach(menu => {
|
|
126
|
+
if (menu.link) {
|
|
127
|
+
prefix += menu.link;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
prefix += '';
|
|
131
|
+
}
|
|
132
|
+
if (menu.menuAuths) {
|
|
133
|
+
menu.menuAuths.forEach((a) => {
|
|
134
|
+
abilities.push(`${prefix}:${a}`);
|
|
135
|
+
abilities.push(a);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (menu.children) {
|
|
139
|
+
generateAbility(menu.children, abilities, prefix);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
function YunzaiStartupServiceFactory(startupService) {
|
|
144
|
+
return () => startupService.load();
|
|
145
|
+
}
|
|
146
|
+
//@ts-ignore
|
|
147
|
+
const YUNZAI_APPINIT_PROVIDES = [
|
|
148
|
+
YunzaiStartupService,
|
|
149
|
+
{
|
|
150
|
+
provide: APP_INITIALIZER,
|
|
151
|
+
useFactory: YunzaiStartupServiceFactory,
|
|
152
|
+
deps: [YunzaiStartupService],
|
|
153
|
+
multi: true
|
|
154
|
+
}
|
|
155
|
+
];
|
|
156
|
+
export { YunzaiStartupService as YzStartupService, YunzaiStartupService, YunzaiStartupServiceFactory as YzStartupServiceFactory, YunzaiStartupServiceFactory, YUNZAI_APPINIT_PROVIDES as YZ_APPINIT_PROVIDES, YUNZAI_APPINIT_PROVIDES, mapYzSideToYelonMenu, generateAbility };
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9zcmMveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUE2QyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFJM0MsTUFDTSxvQkFBb0I7SUFHeEIsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUFrQztRQVJsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVpwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYzdELElB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QUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO2dCQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLGNBQW9DO0lBQ3ZFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxZQUFZO0FBQ1osTUFBTSx1QkFBdUIsR0FBRztJQUM5QixvQkFBb0I7SUFDcEI7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsMkJBQTJCO1FBQ3ZDLElBQUksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQzVCLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUNMLG9CQUFvQixJQUFJLGdCQUFnQixFQUN4QyxvQkFBb0IsRUFDcEIsMkJBQTJCLElBQUksdUJBQXVCLEVBQ3RELDJCQUEyQixFQUMzQix1QkFBdUIsSUFBSSxtQkFBbUIsRUFDOUMsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFDTFNlcnZpY2UgfSBmcm9tICdAeWVsb24vYWNsJztcbmltcG9ydCB7IENhY2hlU2VydmljZSwgWXVuemFpTWVudSwgWXVuemFpTWVudUF0dHJpYnV0ZSwgWXVuemFpVXNlciB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBNZW51LCBNZW51U2VydmljZSwgU2V0dGluZ3NTZXJ2aWNlLCBUaXRsZVNlcnZpY2UsIFlVTlpBSV9JMThOX1RPS0VOIH0gZnJvbSAnQHllbG9uL3RoZW1lJztcbmltcG9ydCB7IFdJTkRPVywgWXVuemFpQnVzaW5lc3NDb25maWcsIFl1bnphaUNvbmZpZ1NlcnZpY2UsIGRlZXBDb3B5LCBsb2cgfSBmcm9tICdAeWVsb24vdXRpbCc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpJY29uU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5cbmltcG9ydCB7IEJVU0lORVNTX0RFRkFVTFRfQ09ORklHLCBtZXJnZUJpc0NvbmZpZyB9IGZyb20gJy4vYmlzLmNvbmZpZyc7XG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4vaWNvbi9zdHlsZS1pY29ucyc7XG5pbXBvcnQgeyBZdW56YWlBdXRoU2VydmljZSB9IGZyb20gJy4veXVuemFpLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBZdW56YWlJMThOU2VydmljZSB9IGZyb20gJy4veXVuemFpLWkxOG4uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmNsYXNzIFl1bnphaVN0YXJ0dXBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc6IFl1bnphaUJ1c2luZXNzQ29uZmlnID0gQlVTSU5FU1NfREVGQVVMVF9DT05GSUc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaWNvblNydjogTnpJY29uU2VydmljZSxcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcbiAgICBASW5qZWN0KFlVTlpBSV9JMThOX1RPS0VOKSBwcml2YXRlIGkxOG46IFl1bnphaUkxOE5TZXJ2aWNlLFxuICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbjogTnpTYWZlQW55LFxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGFjbFNlcnZpY2U6IEFDTFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHl6QXV0aFNlcnZpY2U6IFl1bnphaUF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBZdW56YWlDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gbWVyZ2VCaXNDb25maWcodGhpcy5jb25maWdTZXJ2aWNlKTtcbiAgICBpY29uU3J2LmFkZEljb24oLi4uSUNPTlMpO1xuICB9XG5cbiAgbG9hZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogJywgJ2xvYWQnKTtcbiAgICBjb25zdCBkZWZhdWx0TGFuZyA9IHRoaXMuaTE4bi5kZWZhdWx0TGFuZztcbiAgICByZXR1cm4gdGhpcy5pMThuLmxvYWRMYW5nRGF0YShkZWZhdWx0TGFuZykucGlwZShcbiAgICAgIG1lcmdlTWFwKGxhbmdEYXRhID0+IHtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6ICcsICdzZXQgaTE4biwgZGVmYXVsdExhbmctPicsIGRlZmF1bHRMYW5nLCAnIGxhbmdEYXRhLT4nLCBsYW5nRGF0YSk7XG4gICAgICAgIHRoaXMuaTE4bi51c2UoZGVmYXVsdExhbmcsIGxhbmdEYXRhKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnl6QXV0aFNlcnZpY2UubG9naW4oKTtcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAodiA9PiB7XG4gICAgICAgIC8vIHByZWxvYWRlciBmaW5pc2hcbiAgICAgICAgdGhpcy5zeXN0ZW1Jbml0KCk7XG4gICAgICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiBwcmVsb2FkZXIgZmluaXNoJyk7XG4gICAgICAgIGlmICh0aGlzLndpbiAmJiB0aGlzLndpbi5hcHBCb290c3RyYXApIHtcbiAgICAgICAgICB0aGlzLndpbi5hcHBCb290c3RyYXAoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yodik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzeXN0ZW1Jbml0KCk6IHZvaWQge1xuICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiBzeXN0ZW0gaW5pdCcpO1xuICAgIC8vIHVzZXJcbiAgICBjb25zdCB5dW56YWlVc2VyOiBZdW56YWlVc2VyID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0KCdfeXpfdXNlcicsIHsgbW9kZTogJ25vbmUnIH0pO1xuICAgIC8vIG1lbnVcbiAgICBjb25zdCB5dW56YWlNZW51czogWXVuemFpTWVudVtdID0gZGVlcENvcHkoeXVuemFpVXNlci5tZW51KS5maWx0ZXIoXG4gICAgICBtID0+IG0uc3lzdGVtQ29kZSAmJiBtLnN5c3RlbUNvZGUgPT09IHRoaXMuY29uZmlnLnN5c3RlbUNvZGVcbiAgICApO1xuICAgIG1hcFl6U2lkZVRvWWVsb25NZW51KHl1bnphaU1lbnVzKTtcbiAgICBjb25zdCBjdXJyZW50TWVudSA9IHl1bnphaU1lbnVzLnBvcCgpO1xuICAgIGlmIChjdXJyZW50TWVudSkge1xuICAgICAgLy8gbG9nbyBhcHBcbiAgICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0QXBwKHsgbmFtZTogY3VycmVudE1lbnUudGV4dCwgZGVzY3JpcHRpb246IGN1cnJlbnRNZW51LmludHJvIH0pO1xuICAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5zZXRVc2VyKHtcbiAgICAgICAgbmFtZTogeXVuemFpVXNlci5yZWFsbmFtZSxcbiAgICAgICAgYXZhdGFyOiBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9maWxlY2VudGVyL2ZpbGUvJHt5dW56YWlVc2VyLmF2YXRhcklkfWAgfHwgJycsXG4gICAgICAgIGVtYWlsOiB5dW56YWlVc2VyLmVtYWlsXG4gICAgICB9KTtcbiAgICAgIC8vIHRpdGxlXG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5kZWZhdWx0ID0gY3VycmVudE1lbnUgJiYgY3VycmVudE1lbnUudGV4dCA/IGN1cnJlbnRNZW51LnRleHQgOiAnZGVmYXVsdCBhcHBsaWNhdGlvbiBuYW1lJztcbiAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKGN1cnJlbnRNZW51ICYmIGN1cnJlbnRNZW51LnRleHQgPyBjdXJyZW50TWVudS50ZXh0IDogJ25vIHRpdGxlJyk7XG4gICAgICAvLyBhY2xcbiAgICAgIGNvbnN0IGFiaWxpdGllczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGdlbmVyYXRlQWJpbGl0eShbY3VycmVudE1lbnVdLCBhYmlsaXRpZXMsICcnKTtcbiAgICAgIHRoaXMuYWNsU2VydmljZS5hdHRhY2hSb2xlKFxuICAgICAgICB5dW56YWlVc2VyPy5yb2xlc1xuICAgICAgICAgIC5tYXAoKHJvbGU6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJvbGUucm9sZVZhbHVlO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbHRlcigoYTogTnpTYWZlQW55KSA9PiAhIWEpIHx8IFtdXG4gICAgICApO1xuICAgICAgdGhpcy5hY2xTZXJ2aWNlLmF0dGFjaEFiaWxpdHkoYWJpbGl0aWVzKTtcbiAgICAgIC8vIGFzaWRlIG1lbnVcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWRkKFtjdXJyZW50TWVudSBhcyBNZW51XSk7XG4gICAgICAvLyBjYWNoZSBjdXJyZW50XG4gICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9jdXJyZW50Jywge1xuICAgICAgICBuYW1lOiBjdXJyZW50TWVudS50ZXh0LFxuICAgICAgICBpbnRybzogY3VycmVudE1lbnUuaW50cm8sXG4gICAgICAgIGljb246IGN1cnJlbnRNZW51LmFwcEljb25VcmxcbiAgICAgIH0pO1xuICAgICAgLy8gY2FjaGUgZGlzcGxheUluZGV4XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY3VycmVudE1lbnUuYXR0cmlidXRlO1xuICAgICAgaWYgKGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3QgYXR0cjogWXVuemFpTWVudUF0dHJpYnV0ZSA9IEpTT04ucGFyc2UoYXR0cmlidXRlcyk7XG4gICAgICAgIGlmIChhdHRyICYmIGF0dHIuZGVmYXVsdFJvdXRlKSB7XG4gICAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfZGVmYXVsdFJvdXRlJywgYXR0ci5kZWZhdWx0Um91dGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2RlZmF1bHRSb3V0ZScsICcvZGlzcGxheUluZGV4Jyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2RlZmF1bHRSb3V0ZScsICcvZGlzcGxheUluZGV4Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFl6U2lkZVRvWWVsb25NZW51KG1lbnVzOiBZdW56YWlNZW51W10pOiB2b2lkIHtcbiAgbWVudXMuZm9yRWFjaChtZW51ID0+IHtcbiAgICBtZW51LmJhZGdlRG90ID0gbWVudS5iYWRnZV9kb3QgfHwgbnVsbDtcbiAgICBtZW51LmJhZGdlU3RhdHVzID0gbWVudS5iYWRnZV9zdGF0dXMgfHwgbnVsbDtcbiAgICBtZW51LnNob3J0Y3V0Um9vdCA9IG1lbnUuc2hvcnRjdXRfcm9vdCB8fCBudWxsO1xuICAgIG1lbnUucmV1c2UgPSB0cnVlO1xuICAgIGlmIChtZW51LmNoaWxkcmVuKSB7XG4gICAgICBtYXBZelNpZGVUb1llbG9uTWVudShtZW51LmNoaWxkcmVuKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUFiaWxpdHkobWVudXM6IFl1bnphaU1lbnVbXSwgYWJpbGl0aWVzOiBzdHJpbmdbXSwgcHJlZml4OiBzdHJpbmcpOiB2b2lkIHtcbiAgbWVudXMuZm9yRWFjaChtZW51ID0+IHtcbiAgICBpZiAobWVudS5saW5rKSB7XG4gICAgICBwcmVmaXggKz0gbWVudS5saW5rO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcmVmaXggKz0gJyc7XG4gICAgfVxuICAgIGlmIChtZW51Lm1lbnVBdXRocykge1xuICAgICAgbWVudS5tZW51QXV0aHMuZm9yRWFjaCgoYTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGFiaWxpdGllcy5wdXNoKGAke3ByZWZpeH06JHthfWApO1xuICAgICAgICBhYmlsaXRpZXMucHVzaChhKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChtZW51LmNoaWxkcmVuKSB7XG4gICAgICBnZW5lcmF0ZUFiaWxpdHkobWVudS5jaGlsZHJlbiwgYWJpbGl0aWVzLCBwcmVmaXgpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeShzdGFydHVwU2VydmljZTogWXVuemFpU3RhcnR1cFNlcnZpY2UpOiAoKSA9PiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgcmV0dXJuICgpID0+IHN0YXJ0dXBTZXJ2aWNlLmxvYWQoKTtcbn1cblxuLy9AdHMtaWdub3JlXG5jb25zdCBZVU5aQUlfQVBQSU5JVF9QUk9WSURFUyA9IFtcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2UsXG4gIHtcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgdXNlRmFjdG9yeTogWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5LFxuICAgIGRlcHM6IFtZdW56YWlTdGFydHVwU2VydmljZV0sXG4gICAgbXVsdGk6IHRydWVcbiAgfVxuXTtcblxuZXhwb3J0IHtcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2UgYXMgWXpTdGFydHVwU2VydmljZSxcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2UsXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSBhcyBZelN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5LFxuICBZVU5aQUlfQVBQSU5JVF9QUk9WSURFUyBhcyBZWl9BUFBJTklUX1BST1ZJREVTLFxuICBZVU5aQUlfQVBQSU5JVF9QUk9WSURFUyxcbiAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUsXG4gIGdlbmVyYXRlQWJpbGl0eVxufTtcbiJdfQ==
|