@yelon/bis 15.2.6 → 16.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +23 -23
  3. package/{esm2020 → esm2022}/bis.mjs +4 -4
  4. package/{esm2020 → esm2022}/index.mjs +1 -1
  5. package/{esm2020 → esm2022}/layout/bis.config.mjs +10 -10
  6. package/{esm2020 → esm2022}/layout/html-names.mjs +32 -32
  7. package/{esm2020 → esm2022}/layout/icon/style-icons.mjs +795 -795
  8. package/{esm2020 → esm2022}/layout/layout-basic/index.mjs +2 -2
  9. package/{esm2020 → esm2022}/layout/layout-basic/interface.mjs +6 -6
  10. package/{esm2020 → esm2022}/layout/layout-basic/layout-basic.component.mjs +356 -356
  11. package/{esm2020 → esm2022}/layout/layout-nav/index.mjs +4 -4
  12. package/esm2022/layout/layout-nav/layout-nav-application.component.mjs +328 -0
  13. package/{esm2020 → esm2022}/layout/layout-nav/layout-nav-group.component.mjs +125 -124
  14. package/esm2022/layout/layout-nav/layout-nav-tile.component.mjs +16 -0
  15. package/{esm2020 → esm2022}/layout/layout-nav/types.mjs +1 -1
  16. package/{esm2020 → esm2022}/layout/layout.mjs +4 -4
  17. package/{esm2020 → esm2022}/layout/public_api.mjs +12 -12
  18. package/{esm2020 → esm2022}/layout/widgets/index.mjs +6 -6
  19. package/esm2022/layout/widgets/yunzai-clear-storage.component.mjs +46 -0
  20. package/esm2022/layout/widgets/yunzai-fullscreen.component.mjs +46 -0
  21. package/{esm2020 → esm2022}/layout/widgets/yunzai-i18n.component.mjs +147 -146
  22. package/esm2022/layout/widgets/yunzai-notify.component.mjs +184 -0
  23. package/esm2022/layout/widgets/yunzai-theme-btn.component.mjs +202 -0
  24. package/esm2022/layout/widgets/yunzai-user.component.mjs +131 -0
  25. package/esm2022/layout/yunzai-act.guard.mjs +108 -0
  26. package/{esm2020 → esm2022}/layout/yunzai-auth.service.mjs +174 -174
  27. package/{esm2020 → esm2022}/layout/yunzai-default.interceptor.mjs +209 -209
  28. package/{esm2020 → esm2022}/layout/yunzai-i18n.service.mjs +131 -131
  29. package/{esm2020 → esm2022}/layout/yunzai-lang.mjs +113 -113
  30. package/esm2022/layout/yunzai-layout.module.mjs +77 -0
  31. package/{esm2020 → esm2022}/layout/yunzai-startup.service.mjs +157 -157
  32. package/{esm2020 → esm2022}/public_api.mjs +1 -1
  33. package/{fesm2015 → fesm2022}/bis.mjs +6 -6
  34. package/{fesm2020 → fesm2022}/layout.mjs +3245 -3245
  35. package/{fesm2015 → fesm2022}/layout.mjs.map +1 -1
  36. package/index.d.ts +1 -1
  37. package/index.less +1 -1
  38. package/layout/bis.config.d.ts +3 -3
  39. package/layout/html-names.d.ts +31 -31
  40. package/layout/icon/style-icons.d.ts +1 -1
  41. package/layout/index.d.ts +5 -5
  42. package/layout/layout-basic/index.d.ts +2 -2
  43. package/layout/layout-basic/interface.d.ts +24 -24
  44. package/layout/layout-basic/layout-basic.component.d.ts +32 -32
  45. package/layout/layout-nav/index.d.ts +4 -4
  46. package/layout/layout-nav/layout-nav-application.component.d.ts +27 -27
  47. package/layout/layout-nav/layout-nav-group.component.d.ts +17 -17
  48. package/layout/layout-nav/layout-nav-tile.component.d.ts +6 -6
  49. package/layout/layout-nav/types.d.ts +15 -15
  50. package/layout/public_api.d.ts +12 -12
  51. package/layout/style/index.less +154 -154
  52. package/layout/widgets/index.d.ts +6 -6
  53. package/layout/widgets/yunzai-clear-storage.component.d.ts +11 -11
  54. package/layout/widgets/yunzai-fullscreen.component.d.ts +8 -8
  55. package/layout/widgets/yunzai-i18n.component.d.ts +21 -21
  56. package/layout/widgets/yunzai-notify.component.d.ts +30 -30
  57. package/layout/widgets/yunzai-theme-btn.component.d.ts +32 -32
  58. package/layout/widgets/yunzai-user.component.d.ts +28 -28
  59. package/layout/yunzai-act.guard.d.ts +22 -22
  60. package/layout/yunzai-auth.service.d.ts +21 -21
  61. package/layout/yunzai-default.interceptor.d.ts +27 -27
  62. package/layout/yunzai-i18n.service.d.ts +33 -33
  63. package/layout/yunzai-lang.d.ts +11 -11
  64. package/layout/yunzai-layout.module.d.ts +21 -21
  65. package/layout/yunzai-startup.service.d.ts +37 -37
  66. package/package.json +39 -47
  67. package/public_api.d.ts +2 -2
  68. package/theme-compact.less +3 -3
  69. package/theme-dark.less +46 -46
  70. package/theme-default.less +46 -46
  71. package/esm2020/layout/layout-nav/layout-nav-application.component.mjs +0 -327
  72. package/esm2020/layout/layout-nav/layout-nav-tile.component.mjs +0 -15
  73. package/esm2020/layout/widgets/yunzai-clear-storage.component.mjs +0 -45
  74. package/esm2020/layout/widgets/yunzai-fullscreen.component.mjs +0 -45
  75. package/esm2020/layout/widgets/yunzai-notify.component.mjs +0 -183
  76. package/esm2020/layout/widgets/yunzai-theme-btn.component.mjs +0 -201
  77. package/esm2020/layout/widgets/yunzai-user.component.mjs +0 -130
  78. package/esm2020/layout/yunzai-act.guard.mjs +0 -107
  79. package/esm2020/layout/yunzai-layout.module.mjs +0 -76
  80. package/fesm2015/layout.mjs +0 -3236
  81. package/fesm2020/bis.mjs +0 -6
  82. package/fesm2020/bis.mjs.map +0 -1
  83. package/fesm2020/layout.mjs.map +0 -1
  84. /package/{fesm2015 → fesm2022}/bis.mjs.map +0 -0
@@ -0,0 +1,77 @@
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
+ class YunzaiLayoutModule {
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: YunzaiLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: YunzaiLayoutModule, declarations: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
25
+ YunzaiFullScreenComponent,
26
+ YunzaiI18NComponent,
27
+ YunzaiNotifyComponent,
28
+ YunzaiThemBtnComponent,
29
+ YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent], imports: [HttpClientModule,
30
+ CommonModule,
31
+ FormsModule,
32
+ RouterModule,
33
+ ReactiveFormsModule,
34
+ YunzaiSharedYelonModule,
35
+ YunzaiSharedZorroModule], exports: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
36
+ YunzaiFullScreenComponent,
37
+ YunzaiI18NComponent,
38
+ YunzaiNotifyComponent,
39
+ YunzaiThemBtnComponent,
40
+ YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent] }); }
41
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: YunzaiLayoutModule, providers: [
42
+ {
43
+ provide: YUNZAI_THEME_BTN_KEYS,
44
+ useValue: 'site-theme'
45
+ }
46
+ ], imports: [HttpClientModule,
47
+ CommonModule,
48
+ FormsModule,
49
+ RouterModule,
50
+ ReactiveFormsModule,
51
+ YunzaiSharedYelonModule,
52
+ YunzaiSharedZorroModule] }); }
53
+ }
54
+ export { YunzaiLayoutModule };
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: YunzaiLayoutModule, decorators: [{
56
+ type: NgModule,
57
+ args: [{
58
+ imports: [
59
+ HttpClientModule,
60
+ CommonModule,
61
+ FormsModule,
62
+ RouterModule,
63
+ ReactiveFormsModule,
64
+ YunzaiSharedYelonModule,
65
+ YunzaiSharedZorroModule
66
+ ],
67
+ providers: [
68
+ {
69
+ provide: YUNZAI_THEME_BTN_KEYS,
70
+ useValue: 'site-theme'
71
+ }
72
+ ],
73
+ declarations: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS],
74
+ exports: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS]
75
+ }]
76
+ }] });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L3l1bnphaS1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDcEIsTUFBTSxXQUFXLENBQUM7O0FBRW5CLE1BQU0sT0FBTyxHQUFHO0lBQ2QsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sVUFBVSxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUU1QyxNQW1CYSxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQXJCWCxzQkFBc0IsRUFWeEMsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixtQkFBbUIsRUFHVSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsYUFNekcsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsdUJBQXVCLGFBVlAsc0JBQXNCLEVBVnhDLDJCQUEyQjtZQUMzQix5QkFBeUI7WUFDekIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsbUJBQW1CLEVBR1UsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCOytHQXVCaEcsa0JBQWtCLGFBVGxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLFlBQVk7YUFDdkI7U0FDRixZQWJDLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHVCQUF1Qjs7U0FXZCxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFuQjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSxZQUFZO3lCQUN2QjtxQkFDRjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLHFCQUFxQixDQUFDO29CQUNuRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLHFCQUFxQixDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgWXVuemFpU2hhcmVkWWVsb25Nb2R1bGUsIFl1bnphaVNoYXJlZFpvcnJvTW9kdWxlIH0gZnJvbSAnQHllbG9uL2Jjcyc7XG5pbXBvcnQgeyBZVU5aQUlfVEhFTUVfQlROX0tFWVMgfSBmcm9tICdAeWVsb24vdGhlbWUvdGhlbWUtYnRuJztcblxuaW1wb3J0IHsgWXpMYXlvdXRCYXNpY0NvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LWJhc2ljL2xheW91dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0TmF2QXBwbGljYXRpb25Db21wb25lbnQsIExheW91dE5hdkdyb3VwQ29tcG9uZW50LCBMYXlvdXROYXZUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtbmF2JztcbmltcG9ydCB7XG4gIFl1bnphaUNsZWFyU3RvcmFnZUNvbXBvbmVudCxcbiAgWXVuemFpRnVsbFNjcmVlbkNvbXBvbmVudCxcbiAgWXVuemFpSTE4TkNvbXBvbmVudCxcbiAgWXVuemFpTm90aWZ5Q29tcG9uZW50LFxuICBZdW56YWlUaGVtQnRuQ29tcG9uZW50LFxuICBZdW56YWlVc2VyQ29tcG9uZW50XG59IGZyb20gJy4vd2lkZ2V0cyc7XG5cbmNvbnN0IFdJREdFVFMgPSBbXG4gIFl1bnphaUNsZWFyU3RvcmFnZUNvbXBvbmVudCxcbiAgWXVuemFpRnVsbFNjcmVlbkNvbXBvbmVudCxcbiAgWXVuemFpSTE4TkNvbXBvbmVudCxcbiAgWXVuemFpTm90aWZ5Q29tcG9uZW50LFxuICBZdW56YWlUaGVtQnRuQ29tcG9uZW50LFxuICBZdW56YWlVc2VyQ29tcG9uZW50XG5dO1xuXG5jb25zdCBMQVlPVVRfTkFWX0NPTVBPTkVOVFMgPSBbTGF5b3V0TmF2QXBwbGljYXRpb25Db21wb25lbnQsIExheW91dE5hdkdyb3VwQ29tcG9uZW50LCBMYXlvdXROYXZUaWxlQ29tcG9uZW50XTtcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtZekxheW91dEJhc2ljQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFl1bnphaVNoYXJlZFllbG9uTW9kdWxlLFxuICAgIFl1bnphaVNoYXJlZFpvcnJvTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFlVTlpBSV9USEVNRV9CVE5fS0VZUyxcbiAgICAgIHVzZVZhbHVlOiAnc2l0ZS10aGVtZSdcbiAgICB9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFMsIC4uLldJREdFVFMsIC4uLkxBWU9VVF9OQVZfQ09NUE9ORU5UU10sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTLCAuLi5XSURHRVRTLCAuLi5MQVlPVVRfTkFWX0NPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIFl1bnphaUxheW91dE1vZHVsZSB7fVxuIl19
@@ -1,157 +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
- let defaultLang = this.settingService.layout.lang || 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 || './assets/tmp/img/avatar.jpg'
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
- YunzaiStartupServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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.2.9", ngImport: i0, type: YunzaiStartupService });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUE2QyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFJM0MsTUFDTSxvQkFBb0I7SUFHeEIsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUFrQztRQVJsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVpwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYzdELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUk7UUFDRixHQUFHLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxXQUFXLEdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUM3QyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsR0FBRyxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsbUJBQW1CO1lBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUN6QyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDekI7WUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3BDLE9BQU87UUFDUCxNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixPQUFPO1FBQ1AsTUFBTSxXQUFXLEdBQWlCLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUNoRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FDN0QsQ0FBQztRQUNGLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFdBQVcsRUFBRTtZQUNmLFdBQVc7WUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztnQkFDMUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sb0JBQW9CLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUM3RSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsUUFBUTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1RyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUYsTUFBTTtZQUNOLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztZQUMvQixlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQ3hCLFVBQVUsRUFBRSxLQUFLO2lCQUNkLEdBQUcsQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxDQUFDLENBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDdkMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLGFBQWE7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQW1CLENBQUMsQ0FBQyxDQUFDO1lBQzVDLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7Z0JBQ25DLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDOUIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxVQUFVLElBQUksNkJBQTZCO2FBQzlELENBQUMsQ0FBQztZQUNILHFCQUFxQjtZQUNyQixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksVUFBVSxFQUFFO2dCQUNkLE1BQU0sSUFBSSxHQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzlEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2lCQUM1RDthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQzVEO1NBQ0Y7SUFDSCxDQUFDOztpSEFoR0csb0JBQW9CLDBFQU1kLGlCQUFpQixhQUNqQixNQUFNO3FIQVBaLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUR6QixVQUFVOzswQkFPTixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsTUFBTTs7QUE0RmxCLFNBQVMsb0JBQW9CLENBQUMsS0FBbUI7SUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBbUIsRUFBRSxTQUFtQixFQUFFLE1BQWM7SUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztTQUNyQjthQUFNO1lBQ0wsTUFBTSxJQUFJLEVBQUUsQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7Z0JBQ25DLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsMkJBQTJCLENBQUMsY0FBb0M7SUFDdkUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUVELFlBQVk7QUFDWixNQUFNLHVCQUF1QixHQUFHO0lBQzlCLG9CQUFvQjtJQUNwQjtRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSwyQkFBMkI7UUFDdkMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDNUIsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQ0wsb0JBQW9CLElBQUksZ0JBQWdCLEVBQ3hDLG9CQUFvQixFQUNwQiwyQkFBMkIsSUFBSSx1QkFBdUIsRUFDdEQsMkJBQTJCLEVBQzNCLHVCQUF1QixJQUFJLG1CQUFtQixFQUM5Qyx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQUNMU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9hY2wnO1xuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBZdW56YWlNZW51LCBZdW56YWlNZW51QXR0cmlidXRlLCBZdW56YWlVc2VyIH0gZnJvbSAnQHllbG9uL2NhY2hlJztcbmltcG9ydCB7IE1lbnUsIE1lbnVTZXJ2aWNlLCBTZXR0aW5nc1NlcnZpY2UsIFRpdGxlU2VydmljZSwgWVVOWkFJX0kxOE5fVE9LRU4gfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHsgV0lORE9XLCBZdW56YWlCdXNpbmVzc0NvbmZpZywgWXVuemFpQ29uZmlnU2VydmljZSwgZGVlcENvcHksIGxvZyB9IGZyb20gJ0B5ZWxvbi91dGlsJztcbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBOekljb25TZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcblxuaW1wb3J0IHsgQlVTSU5FU1NfREVGQVVMVF9DT05GSUcsIG1lcmdlQmlzQ29uZmlnIH0gZnJvbSAnLi9iaXMuY29uZmlnJztcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi9pY29uL3N0eWxlLWljb25zJztcbmltcG9ydCB7IFl1bnphaUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi95dW56YWktYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFl1bnphaUkxOE5TZXJ2aWNlIH0gZnJvbSAnLi95dW56YWktaTE4bi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuY2xhc3MgWXVuemFpU3RhcnR1cFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZzogWXVuemFpQnVzaW5lc3NDb25maWcgPSBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpY29uU3J2OiBOekljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIEBJbmplY3QoWVVOWkFJX0kxOE5fVE9LRU4pIHByaXZhdGUgaTE4bjogWXVuemFpSTE4TlNlcnZpY2UsXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luOiBOelNhZmVBbnksXG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNsU2VydmljZTogQUNMU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgeXpBdXRoU2VydmljZTogWXVuemFpQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IFl1bnphaUNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSBtZXJnZUJpc0NvbmZpZyh0aGlzLmNvbmZpZ1NlcnZpY2UpO1xuICAgIGljb25TcnYuYWRkSWNvbiguLi5JQ09OUyk7XG4gIH1cblxuICBsb2FkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnbG9hZCcpO1xuICAgIGxldCBkZWZhdWx0TGFuZzogc3RyaW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5sYXlvdXQubGFuZyB8fCB0aGlzLmkxOG4uZGVmYXVsdExhbmc7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi5sb2FkTGFuZ0RhdGEoZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICBtZXJnZU1hcChsYW5nRGF0YSA9PiB7XG4gICAgICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnc2V0IGkxOG4sIGRlZmF1bHRMYW5nLT4nLCBkZWZhdWx0TGFuZywgJyBsYW5nRGF0YS0+JywgbGFuZ0RhdGEpO1xuICAgICAgICB0aGlzLmkxOG4udXNlKGRlZmF1bHRMYW5nISwgbGFuZ0RhdGEpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMueXpBdXRoU2VydmljZS5sb2dpbigpO1xuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgICAgICAgLy8gcHJlbG9hZGVyIGZpbmlzaFxuICAgICAgICB0aGlzLnN5c3RlbUluaXQoKTtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6IHByZWxvYWRlciBmaW5pc2gnKTtcbiAgICAgICAgaWYgKHRoaXMud2luICYmIHRoaXMud2luLmFwcEJvb3RzdHJhcCkge1xuICAgICAgICAgIHRoaXMud2luLmFwcEJvb3RzdHJhcCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih2KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN5c3RlbUluaXQoKTogdm9pZCB7XG4gICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6IHN5c3RlbSBpbml0Jyk7XG4gICAgLy8gdXNlclxuICAgIGNvbnN0IHl1bnphaVVzZXI6IFl1bnphaVVzZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgLy8gbWVudVxuICAgIGNvbnN0IHl1bnphaU1lbnVzOiBZdW56YWlNZW51W10gPSBkZWVwQ29weSh5dW56YWlVc2VyLm1lbnUpLmZpbHRlcihcbiAgICAgIG0gPT4gbS5zeXN0ZW1Db2RlICYmIG0uc3lzdGVtQ29kZSA9PT0gdGhpcy5jb25maWcuc3lzdGVtQ29kZVxuICAgICk7XG4gICAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUoeXVuemFpTWVudXMpO1xuICAgIGNvbnN0IGN1cnJlbnRNZW51ID0geXVuemFpTWVudXMucG9wKCk7XG4gICAgaWYgKGN1cnJlbnRNZW51KSB7XG4gICAgICAvLyBsb2dvIGFwcFxuICAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5zZXRBcHAoeyBuYW1lOiBjdXJyZW50TWVudS50ZXh0LCBkZXNjcmlwdGlvbjogY3VycmVudE1lbnUuaW50cm8gfSk7XG4gICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldFVzZXIoe1xuICAgICAgICBuYW1lOiB5dW56YWlVc2VyLnJlYWxuYW1lLFxuICAgICAgICBhdmF0YXI6IGAke3RoaXMuY29uZmlnLmJhc2VVcmx9L2ZpbGVjZW50ZXIvZmlsZS8ke3l1bnphaVVzZXIuYXZhdGFySWR9YCB8fCAnJyxcbiAgICAgICAgZW1haWw6IHl1bnphaVVzZXIuZW1haWxcbiAgICAgIH0pO1xuICAgICAgLy8gdGl0bGVcbiAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLmRlZmF1bHQgPSBjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdkZWZhdWx0IGFwcGxpY2F0aW9uIG5hbWUnO1xuICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoY3VycmVudE1lbnUgJiYgY3VycmVudE1lbnUudGV4dCA/IGN1cnJlbnRNZW51LnRleHQgOiAnbm8gdGl0bGUnKTtcbiAgICAgIC8vIGFjbFxuICAgICAgY29uc3QgYWJpbGl0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgZ2VuZXJhdGVBYmlsaXR5KFtjdXJyZW50TWVudV0sIGFiaWxpdGllcywgJycpO1xuICAgICAgdGhpcy5hY2xTZXJ2aWNlLmF0dGFjaFJvbGUoXG4gICAgICAgIHl1bnphaVVzZXI/LnJvbGVzXG4gICAgICAgICAgLm1hcCgocm9sZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcm9sZS5yb2xlVmFsdWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChhOiBOelNhZmVBbnkpID0+ICEhYSkgfHwgW11cbiAgICAgICk7XG4gICAgICB0aGlzLmFjbFNlcnZpY2UuYXR0YWNoQWJpbGl0eShhYmlsaXRpZXMpO1xuICAgICAgLy8gYXNpZGUgbWVudVxuICAgICAgdGhpcy5tZW51U2VydmljZS5hZGQoW2N1cnJlbnRNZW51IGFzIE1lbnVdKTtcbiAgICAgIC8vIGNhY2hlIGN1cnJlbnRcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2N1cnJlbnQnLCB7XG4gICAgICAgIG5hbWU6IGN1cnJlbnRNZW51LnRleHQsXG4gICAgICAgIGludHJvOiBjdXJyZW50TWVudS5pbnRybyB8fCAnJyxcbiAgICAgICAgaWNvbjogY3VycmVudE1lbnUuYXBwSWNvblVybCB8fCAnLi9hc3NldHMvdG1wL2ltZy9hdmF0YXIuanBnJ1xuICAgICAgfSk7XG4gICAgICAvLyBjYWNoZSBkaXNwbGF5SW5kZXhcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjdXJyZW50TWVudS5hdHRyaWJ1dGU7XG4gICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCBhdHRyOiBZdW56YWlNZW51QXR0cmlidXRlID0gSlNPTi5wYXJzZShhdHRyaWJ1dGVzKTtcbiAgICAgICAgaWYgKGF0dHIgJiYgYXR0ci5kZWZhdWx0Um91dGUpIHtcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCBhdHRyLmRlZmF1bHRSb3V0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfZGVmYXVsdFJvdXRlJywgJy9kaXNwbGF5SW5kZXgnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfZGVmYXVsdFJvdXRlJywgJy9kaXNwbGF5SW5kZXgnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudXM6IFl1bnphaU1lbnVbXSk6IHZvaWQge1xuICBtZW51cy5mb3JFYWNoKG1lbnUgPT4ge1xuICAgIG1lbnUuYmFkZ2VEb3QgPSBtZW51LmJhZGdlX2RvdCB8fCBudWxsO1xuICAgIG1lbnUuYmFkZ2VTdGF0dXMgPSBtZW51LmJhZGdlX3N0YXR1cyB8fCBudWxsO1xuICAgIG1lbnUuc2hvcnRjdXRSb290ID0gbWVudS5zaG9ydGN1dF9yb290IHx8IG51bGw7XG4gICAgbWVudS5yZXVzZSA9IHRydWU7XG4gICAgaWYgKG1lbnUuY2hpbGRyZW4pIHtcbiAgICAgIG1hcFl6U2lkZVRvWWVsb25NZW51KG1lbnUuY2hpbGRyZW4pO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQWJpbGl0eShtZW51czogWXVuemFpTWVudVtdLCBhYmlsaXRpZXM6IHN0cmluZ1tdLCBwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICBtZW51cy5mb3JFYWNoKG1lbnUgPT4ge1xuICAgIGlmIChtZW51LmxpbmspIHtcbiAgICAgIHByZWZpeCArPSBtZW51Lmxpbms7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWZpeCArPSAnJztcbiAgICB9XG4gICAgaWYgKG1lbnUubWVudUF1dGhzKSB7XG4gICAgICBtZW51Lm1lbnVBdXRocy5mb3JFYWNoKChhOiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWJpbGl0aWVzLnB1c2goYCR7cHJlZml4fToke2F9YCk7XG4gICAgICAgIGFiaWxpdGllcy5wdXNoKGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG1lbnUuY2hpbGRyZW4pIHtcbiAgICAgIGdlbmVyYXRlQWJpbGl0eShtZW51LmNoaWxkcmVuLCBhYmlsaXRpZXMsIHByZWZpeCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5KHN0YXJ0dXBTZXJ2aWNlOiBZdW56YWlTdGFydHVwU2VydmljZSk6ICgpID0+IE9ic2VydmFibGU8dm9pZD4ge1xuICByZXR1cm4gKCkgPT4gc3RhcnR1cFNlcnZpY2UubG9hZCgpO1xufVxuXG4vL0B0cy1pZ25vcmVcbmNvbnN0IFlVTlpBSV9BUFBJTklUX1BST1ZJREVTID0gW1xuICBZdW56YWlTdGFydHVwU2VydmljZSxcbiAge1xuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICB1c2VGYWN0b3J5OiBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnksXG4gICAgZGVwczogW1l1bnphaVN0YXJ0dXBTZXJ2aWNlXSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XG5dO1xuXG5leHBvcnQge1xuICBZdW56YWlTdGFydHVwU2VydmljZSBhcyBZelN0YXJ0dXBTZXJ2aWNlLFxuICBZdW56YWlTdGFydHVwU2VydmljZSxcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5IGFzIFl6U3RhcnR1cFNlcnZpY2VGYWN0b3J5LFxuICBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnksXG4gIFlVTlpBSV9BUFBJTklUX1BST1ZJREVTIGFzIFlaX0FQUElOSVRfUFJPVklERVMsXG4gIFlVTlpBSV9BUFBJTklUX1BST1ZJREVTLFxuICBtYXBZelNpZGVUb1llbG9uTWVudSxcbiAgZ2VuZXJhdGVBYmlsaXR5XG59O1xuIl19
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
+ let defaultLang = this.settingService.layout.lang || 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 || './assets/tmp/img/avatar.jpg'
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", 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 }); }
102
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: YunzaiStartupService }); }
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUE2QyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFJM0MsTUFDTSxvQkFBb0I7SUFHeEIsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUFrQztRQVJsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVpwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYzdE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QUksSUFBSSxDQUFDLElBQUksQ0FBQztTQUNyQjthQUFNO1lBQ0wsTUFBTSxJQUFJLEVBQUUsQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7Z0JBQ25DLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsMkJBQTJCLENBQUMsY0FBb0M7SUFDdkUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUVELFlBQVk7QUFDWixNQUFNLHVCQUF1QixHQUFHO0lBQzlCLG9CQUFvQjtJQUNwQjtRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSwyQkFBMkI7UUFDdkMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDNUIsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQ0wsb0JBQW9CLElBQUksZ0JBQWdCLEVBQ3hDLG9CQUFvQixFQUNwQiwyQkFBMkIsSUFBSSx1QkFBdUIsRUFDdEQsMkJBQTJCLEVBQzNCLHVCQUF1QixJQUFJLG1CQUFtQixFQUM5Qyx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQUNMU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9hY2wnO1xuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBZdW56YWlNZW51LCBZdW56YWlNZW51QXR0cmlidXRlLCBZdW56YWlVc2VyIH0gZnJvbSAnQHllbG9uL2NhY2hlJztcbmltcG9ydCB7IE1lbnUsIE1lbnVTZXJ2aWNlLCBTZXR0aW5nc1NlcnZpY2UsIFRpdGxlU2VydmljZSwgWVVOWkFJX0kxOE5fVE9LRU4gfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHsgV0lORE9XLCBZdW56YWlCdXNpbmVzc0NvbmZpZywgWXVuemFpQ29uZmlnU2VydmljZSwgZGVlcENvcHksIGxvZyB9IGZyb20gJ0B5ZWxvbi91dGlsJztcbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBOekljb25TZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcblxuaW1wb3J0IHsgQlVTSU5FU1NfREVGQVVMVF9DT05GSUcsIG1lcmdlQmlzQ29uZmlnIH0gZnJvbSAnLi9iaXMuY29uZmlnJztcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi9pY29uL3N0eWxlLWljb25zJztcbmltcG9ydCB7IFl1bnphaUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi95dW56YWktYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFl1bnphaUkxOE5TZXJ2aWNlIH0gZnJvbSAnLi95dW56YWktaTE4bi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuY2xhc3MgWXVuemFpU3RhcnR1cFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZzogWXVuemFpQnVzaW5lc3NDb25maWcgPSBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpY29uU3J2OiBOekljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIEBJbmplY3QoWVVOWkFJX0kxOE5fVE9LRU4pIHByaXZhdGUgaTE4bjogWXVuemFpSTE4TlNlcnZpY2UsXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luOiBOelNhZmVBbnksXG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNsU2VydmljZTogQUNMU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgeXpBdXRoU2VydmljZTogWXVuemFpQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IFl1bnphaUNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSBtZXJnZUJpc0NvbmZpZyh0aGlzLmNvbmZpZ1NlcnZpY2UpO1xuICAgIGljb25TcnYuYWRkSWNvbiguLi5JQ09OUyk7XG4gIH1cblxuICBsb2FkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnbG9hZCcpO1xuICAgIGxldCBkZWZhdWx0TGFuZzogc3RyaW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5sYXlvdXQubGFuZyB8fCB0aGlzLmkxOG4uZGVmYXVsdExhbmc7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi5sb2FkTGFuZ0RhdGEoZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICBtZXJnZU1hcChsYW5nRGF0YSA9PiB7XG4gICAgICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnc2V0IGkxOG4sIGRlZmF1bHRMYW5nLT4nLCBkZWZhdWx0TGFuZywgJyBsYW5nRGF0YS0+JywgbGFuZ0RhdGEpO1xuICAgICAgICB0aGlzLmkxOG4udXNlKGRlZmF1bHRMYW5nISwgbGFuZ0RhdGEpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMueXpBdXRoU2VydmljZS5sb2dpbigpO1xuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgICAgICAgLy8gcHJlbG9hZGVyIGZpbmlzaFxuICAgICAgICB0aGlzLnN5c3RlbUluaXQoKTtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6IHByZWxvYWRlciBmaW5pc2gnKTtcbiAgICAgICAgaWYgKHRoaXMud2luICYmIHRoaXMud2luLmFwcEJvb3RzdHJhcCkge1xuICAgICAgICAgIHRoaXMud2luLmFwcEJvb3RzdHJhcCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih2KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN5c3RlbUluaXQoKTogdm9pZCB7XG4gICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6IHN5c3RlbSBpbml0Jyk7XG4gICAgLy8gdXNlclxuICAgIGNvbnN0IHl1bnphaVVzZXI6IFl1bnphaVVzZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgLy8gbWVudVxuICAgIGNvbnN0IHl1bnphaU1lbnVzOiBZdW56YWlNZW51W10gPSBkZWVwQ29weSh5dW56YWlVc2VyLm1lbnUpLmZpbHRlcihcbiAgICAgIG0gPT4gbS5zeXN0ZW1Db2RlICYmIG0uc3lzdGVtQ29kZSA9PT0gdGhpcy5jb25maWcuc3lzdGVtQ29kZVxuICAgICk7XG4gICAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUoeXVuemFpTWVudXMpO1xuICAgIGNvbnN0IGN1cnJlbnRNZW51ID0geXVuemFpTWVudXMucG9wKCk7XG4gICAgaWYgKGN1cnJlbnRNZW51KSB7XG4gICAgICAvLyBsb2dvIGFwcFxuICAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5zZXRBcHAoeyBuYW1lOiBjdXJyZW50TWVudS50ZXh0LCBkZXNjcmlwdGlvbjogY3VycmVudE1lbnUuaW50cm8gfSk7XG4gICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldFVzZXIoe1xuICAgICAgICBuYW1lOiB5dW56YWlVc2VyLnJlYWxuYW1lLFxuICAgICAgICBhdmF0YXI6IGAke3RoaXMuY29uZmlnLmJhc2VVcmx9L2ZpbGVjZW50ZXIvZmlsZS8ke3l1bnphaVVzZXIuYXZhdGFySWR9YCB8fCAnJyxcbiAgICAgICAgZW1haWw6IHl1bnphaVVzZXIuZW1haWxcbiAgICAgIH0pO1xuICAgICAgLy8gdGl0bGVcbiAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLmRlZmF1bHQgPSBjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdkZWZhdWx0IGFwcGxpY2F0aW9uIG5hbWUnO1xuICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoY3VycmVudE1lbnUgJiYgY3VycmVudE1lbnUudGV4dCA/IGN1cnJlbnRNZW51LnRleHQgOiAnbm8gdGl0bGUnKTtcbiAgICAgIC8vIGFjbFxuICAgICAgY29uc3QgYWJpbGl0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgZ2VuZXJhdGVBYmlsaXR5KFtjdXJyZW50TWVudV0sIGFiaWxpdGllcywgJycpO1xuICAgICAgdGhpcy5hY2xTZXJ2aWNlLmF0dGFjaFJvbGUoXG4gICAgICAgIHl1bnphaVVzZXI/LnJvbGVzXG4gICAgICAgICAgLm1hcCgocm9sZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcm9sZS5yb2xlVmFsdWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChhOiBOelNhZmVBbnkpID0+ICEhYSkgfHwgW11cbiAgICAgICk7XG4gICAgICB0aGlzLmFjbFNlcnZpY2UuYXR0YWNoQWJpbGl0eShhYmlsaXRpZXMpO1xuICAgICAgLy8gYXNpZGUgbWVudVxuICAgICAgdGhpcy5tZW51U2VydmljZS5hZGQoW2N1cnJlbnRNZW51IGFzIE1lbnVdKTtcbiAgICAgIC8vIGNhY2hlIGN1cnJlbnRcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2N1cnJlbnQnLCB7XG4gICAgICAgIG5hbWU6IGN1cnJlbnRNZW51LnRleHQsXG4gICAgICAgIGludHJvOiBjdXJyZW50TWVudS5pbnRybyB8fCAnJyxcbiAgICAgICAgaWNvbjogY3VycmVudE1lbnUuYXBwSWNvblVybCB8fCAnLi9hc3NldHMvdG1wL2ltZy9hdmF0YXIuanBnJ1xuICAgICAgfSk7XG4gICAgICAvLyBjYWNoZSBkaXNwbGF5SW5kZXhcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjdXJyZW50TWVudS5hdHRyaWJ1dGU7XG4gICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCBhdHRyOiBZdW56YWlNZW51QXR0cmlidXRlID0gSlNPTi5wYXJzZShhdHRyaWJ1dGVzKTtcbiAgICAgICAgaWYgKGF0dHIgJiYgYXR0ci5kZWZhdWx0Um91dGUpIHtcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCBhdHRyLmRlZmF1bHRSb3V0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfZGVmYXVsdFJvdXRlJywgJy9kaXNwbGF5SW5kZXgnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfZGVmYXVsdFJvdXRlJywgJy9kaXNwbGF5SW5kZXgnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudXM6IFl1bnphaU1lbnVbXSk6IHZvaWQge1xuICBtZW51cy5mb3JFYWNoKG1lbnUgPT4ge1xuICAgIG1lbnUuYmFkZ2VEb3QgPSBtZW51LmJhZGdlX2RvdCB8fCBudWxsO1xuICAgIG1lbnUuYmFkZ2VTdGF0dXMgPSBtZW51LmJhZGdlX3N0YXR1cyB8fCBudWxsO1xuICAgIG1lbnUuc2hvcnRjdXRSb290ID0gbWVudS5zaG9ydGN1dF9yb290IHx8IG51bGw7XG4gICAgbWVudS5yZXVzZSA9IHRydWU7XG4gICAgaWYgKG1lbnUuY2hpbGRyZW4pIHtcbiAgICAgIG1hcFl6U2lkZVRvWWVsb25NZW51KG1lbnUuY2hpbGRyZW4pO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQWJpbGl0eShtZW51czogWXVuemFpTWVudVtdLCBhYmlsaXRpZXM6IHN0cmluZ1tdLCBwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICBtZW51cy5mb3JFYWNoKG1lbnUgPT4ge1xuICAgIGlmIChtZW51LmxpbmspIHtcbiAgICAgIHByZWZpeCArPSBtZW51Lmxpbms7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWZpeCArPSAnJztcbiAgICB9XG4gICAgaWYgKG1lbnUubWVudUF1dGhzKSB7XG4gICAgICBtZW51Lm1lbnVBdXRocy5mb3JFYWNoKChhOiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWJpbGl0aWVzLnB1c2goYCR7cHJlZml4fToke2F9YCk7XG4gICAgICAgIGFiaWxpdGllcy5wdXNoKGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG1lbnUuY2hpbGRyZW4pIHtcbiAgICAgIGdlbmVyYXRlQWJpbGl0eShtZW51LmNoaWxkcmVuLCBhYmlsaXRpZXMsIHByZWZpeCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5KHN0YXJ0dXBTZXJ2aWNlOiBZdW56YWlTdGFydHVwU2VydmljZSk6ICgpID0+IE9ic2VydmFibGU8dm9pZD4ge1xuICByZXR1cm4gKCkgPT4gc3RhcnR1cFNlcnZpY2UubG9hZCgpO1xufVxuXG4vL0B0cy1pZ25vcmVcbmNvbnN0IFlVTlpBSV9BUFBJTklUX1BST1ZJREVTID0gW1xuICBZdW56YWlTdGFydHVwU2VydmljZSxcbiAge1xuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICB1c2VGYWN0b3J5OiBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnksXG4gICAgZGVwczogW1l1bnphaVN0YXJ0dXBTZXJ2aWNlXSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XG5dO1xuXG5leHBvcnQge1xuICBZdW56YWlTdGFydHVwU2VydmljZSBhcyBZelN0YXJ0dXBTZXJ2aWNlLFxuICBZdW56YWlTdGFydHVwU2VydmljZSxcbiAgWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5IGFzIFl6U3RhcnR1cFNlcnZpY2VGYWN0b3J5LFxuICBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnksXG4gIFlVTlpBSV9BUFBJTklUX1BST1ZJREVTIGFzIFlaX0FQUElOSVRfUFJPVklERVMsXG4gIFlVTlpBSV9BUFBJTklUX1BST1ZJREVTLFxuICBtYXBZelNpZGVUb1llbG9uTWVudSxcbiAgZ2VuZXJhdGVBYmlsaXR5XG59O1xuIl19
@@ -1,2 +1,2 @@
1
- export default void 0;
1
+ export default void 0;
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB2b2lkIDA7XG4iXX0=
@@ -1,6 +1,6 @@
1
- var public_api = void 0;
2
-
3
- /**
4
- * Generated bundle index. Do not edit.
5
- */
6
- //# sourceMappingURL=bis.mjs.map
1
+ var public_api = void 0;
2
+
3
+ /**
4
+ * Generated bundle index. Do not edit.
5
+ */
6
+ //# sourceMappingURL=bis.mjs.map