@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.
- package/LICENSE +21 -21
- package/README.md +23 -23
- package/{esm2020 → esm2022}/bis.mjs +4 -4
- package/{esm2020 → esm2022}/index.mjs +1 -1
- package/{esm2020 → esm2022}/layout/bis.config.mjs +10 -10
- package/{esm2020 → esm2022}/layout/html-names.mjs +32 -32
- package/{esm2020 → esm2022}/layout/icon/style-icons.mjs +795 -795
- package/{esm2020 → esm2022}/layout/layout-basic/index.mjs +2 -2
- package/{esm2020 → esm2022}/layout/layout-basic/interface.mjs +6 -6
- package/{esm2020 → esm2022}/layout/layout-basic/layout-basic.component.mjs +356 -356
- package/{esm2020 → esm2022}/layout/layout-nav/index.mjs +4 -4
- package/esm2022/layout/layout-nav/layout-nav-application.component.mjs +328 -0
- package/{esm2020 → esm2022}/layout/layout-nav/layout-nav-group.component.mjs +125 -124
- package/esm2022/layout/layout-nav/layout-nav-tile.component.mjs +16 -0
- package/{esm2020 → esm2022}/layout/layout-nav/types.mjs +1 -1
- package/{esm2020 → esm2022}/layout/layout.mjs +4 -4
- package/{esm2020 → esm2022}/layout/public_api.mjs +12 -12
- package/{esm2020 → esm2022}/layout/widgets/index.mjs +6 -6
- package/esm2022/layout/widgets/yunzai-clear-storage.component.mjs +46 -0
- package/esm2022/layout/widgets/yunzai-fullscreen.component.mjs +46 -0
- package/{esm2020 → esm2022}/layout/widgets/yunzai-i18n.component.mjs +147 -146
- package/esm2022/layout/widgets/yunzai-notify.component.mjs +184 -0
- package/esm2022/layout/widgets/yunzai-theme-btn.component.mjs +202 -0
- package/esm2022/layout/widgets/yunzai-user.component.mjs +131 -0
- package/esm2022/layout/yunzai-act.guard.mjs +108 -0
- package/{esm2020 → esm2022}/layout/yunzai-auth.service.mjs +174 -174
- package/{esm2020 → esm2022}/layout/yunzai-default.interceptor.mjs +209 -209
- package/{esm2020 → esm2022}/layout/yunzai-i18n.service.mjs +131 -131
- package/{esm2020 → esm2022}/layout/yunzai-lang.mjs +113 -113
- package/esm2022/layout/yunzai-layout.module.mjs +77 -0
- package/{esm2020 → esm2022}/layout/yunzai-startup.service.mjs +157 -157
- package/{esm2020 → esm2022}/public_api.mjs +1 -1
- package/{fesm2015 → fesm2022}/bis.mjs +6 -6
- package/{fesm2020 → fesm2022}/layout.mjs +3245 -3245
- package/{fesm2015 → fesm2022}/layout.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/index.less +1 -1
- package/layout/bis.config.d.ts +3 -3
- package/layout/html-names.d.ts +31 -31
- package/layout/icon/style-icons.d.ts +1 -1
- package/layout/index.d.ts +5 -5
- package/layout/layout-basic/index.d.ts +2 -2
- package/layout/layout-basic/interface.d.ts +24 -24
- package/layout/layout-basic/layout-basic.component.d.ts +32 -32
- package/layout/layout-nav/index.d.ts +4 -4
- package/layout/layout-nav/layout-nav-application.component.d.ts +27 -27
- package/layout/layout-nav/layout-nav-group.component.d.ts +17 -17
- package/layout/layout-nav/layout-nav-tile.component.d.ts +6 -6
- package/layout/layout-nav/types.d.ts +15 -15
- package/layout/public_api.d.ts +12 -12
- package/layout/style/index.less +154 -154
- package/layout/widgets/index.d.ts +6 -6
- package/layout/widgets/yunzai-clear-storage.component.d.ts +11 -11
- package/layout/widgets/yunzai-fullscreen.component.d.ts +8 -8
- package/layout/widgets/yunzai-i18n.component.d.ts +21 -21
- package/layout/widgets/yunzai-notify.component.d.ts +30 -30
- package/layout/widgets/yunzai-theme-btn.component.d.ts +32 -32
- package/layout/widgets/yunzai-user.component.d.ts +28 -28
- package/layout/yunzai-act.guard.d.ts +22 -22
- package/layout/yunzai-auth.service.d.ts +21 -21
- package/layout/yunzai-default.interceptor.d.ts +27 -27
- package/layout/yunzai-i18n.service.d.ts +33 -33
- package/layout/yunzai-lang.d.ts +11 -11
- package/layout/yunzai-layout.module.d.ts +21 -21
- package/layout/yunzai-startup.service.d.ts +37 -37
- package/package.json +39 -47
- package/public_api.d.ts +2 -2
- package/theme-compact.less +3 -3
- package/theme-dark.less +46 -46
- package/theme-default.less +46 -46
- package/esm2020/layout/layout-nav/layout-nav-application.component.mjs +0 -327
- package/esm2020/layout/layout-nav/layout-nav-tile.component.mjs +0 -15
- package/esm2020/layout/widgets/yunzai-clear-storage.component.mjs +0 -45
- package/esm2020/layout/widgets/yunzai-fullscreen.component.mjs +0 -45
- package/esm2020/layout/widgets/yunzai-notify.component.mjs +0 -183
- package/esm2020/layout/widgets/yunzai-theme-btn.component.mjs +0 -201
- package/esm2020/layout/widgets/yunzai-user.component.mjs +0 -130
- package/esm2020/layout/yunzai-act.guard.mjs +0 -107
- package/esm2020/layout/yunzai-layout.module.mjs +0 -76
- package/fesm2015/layout.mjs +0 -3236
- package/fesm2020/bis.mjs +0 -6
- package/fesm2020/bis.mjs.map +0 -1
- package/fesm2020/layout.mjs.map +0 -1
- /package/{fesm2015 → fesm2022}/bis.mjs.map +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './layout-nav-application.component';
|
|
2
|
-
export * from './layout-nav-group.component';
|
|
3
|
-
export * from './layout-nav-tile.component';
|
|
4
|
-
export * from './types';
|
|
1
|
+
export * from './layout-nav-application.component';
|
|
2
|
+
export * from './layout-nav-group.component';
|
|
3
|
+
export * from './layout-nav-tile.component';
|
|
4
|
+
export * from './types';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L2xheW91dC1uYXYvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheW91dC1uYXYtYXBwbGljYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LW5hdi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtbmF2LXRpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { WINDOW } from '@yelon/util';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@yelon/cache";
|
|
6
|
+
import * as i2 from "../yunzai-i18n.service";
|
|
7
|
+
import * as i3 from "@yelon/theme";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@angular/forms";
|
|
10
|
+
import * as i6 from "ng-zorro-antd/core/transition-patch";
|
|
11
|
+
import * as i7 from "ng-zorro-antd/grid";
|
|
12
|
+
import * as i8 from "ng-zorro-antd/icon";
|
|
13
|
+
import * as i9 from "ng-zorro-antd/input";
|
|
14
|
+
class LayoutNavApplicationComponent {
|
|
15
|
+
constructor(cacheService, i18n, http, inject) {
|
|
16
|
+
this.cacheService = cacheService;
|
|
17
|
+
this.i18n = i18n;
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.inject = inject;
|
|
20
|
+
this.state = {
|
|
21
|
+
active: false,
|
|
22
|
+
type: 'all',
|
|
23
|
+
topic: undefined,
|
|
24
|
+
topics: [],
|
|
25
|
+
list: [],
|
|
26
|
+
search: null,
|
|
27
|
+
destroy$: new Subject()
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.fetchAllTopic();
|
|
32
|
+
this.attachNav('all');
|
|
33
|
+
}
|
|
34
|
+
fetchAllTopic() {
|
|
35
|
+
this.state.topics = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
36
|
+
}
|
|
37
|
+
attachNav(type, topic) {
|
|
38
|
+
this.state.type = type;
|
|
39
|
+
this.clearSearch();
|
|
40
|
+
if (type === 'all') {
|
|
41
|
+
this.displayAllNav();
|
|
42
|
+
}
|
|
43
|
+
if (type === 'mine') {
|
|
44
|
+
this.displayMineNav();
|
|
45
|
+
}
|
|
46
|
+
if (type === 'other' && topic) {
|
|
47
|
+
this.displayOtherNav(topic);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
clearSearch() {
|
|
51
|
+
this.state.search = null;
|
|
52
|
+
}
|
|
53
|
+
displayAllNav() {
|
|
54
|
+
this.state.list = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
55
|
+
}
|
|
56
|
+
displayMineNav() {
|
|
57
|
+
const temp = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
58
|
+
this.state.list = temp
|
|
59
|
+
.filter((topic) => {
|
|
60
|
+
topic.children = topic.children.filter((child) => {
|
|
61
|
+
return child.auth;
|
|
62
|
+
});
|
|
63
|
+
return topic;
|
|
64
|
+
})
|
|
65
|
+
.filter((topic) => {
|
|
66
|
+
return topic.children.length > 0;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
displayOtherNav(topic) {
|
|
70
|
+
this.state.topic = topic;
|
|
71
|
+
const temp = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
72
|
+
this.state.list = temp.filter(t => t.key === topic.key)[0].children;
|
|
73
|
+
}
|
|
74
|
+
diffChange(flag) {
|
|
75
|
+
if (flag) {
|
|
76
|
+
this.state.active = flag;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.state.active = !this.state.active;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
open(topic) {
|
|
83
|
+
if (topic.key) {
|
|
84
|
+
this.http
|
|
85
|
+
.post(`/app-manager/web-scan/save`, {
|
|
86
|
+
appId: topic.key,
|
|
87
|
+
createDate: new Date()
|
|
88
|
+
})
|
|
89
|
+
.pipe(takeUntil(this.state.destroy$))
|
|
90
|
+
.subscribe();
|
|
91
|
+
}
|
|
92
|
+
switch (topic.target) {
|
|
93
|
+
case 'href':
|
|
94
|
+
this.inject.get(WINDOW).location.href = topic.url;
|
|
95
|
+
break;
|
|
96
|
+
case 'blank':
|
|
97
|
+
this.inject.get(WINDOW).location.href = topic.url;
|
|
98
|
+
break;
|
|
99
|
+
case 'target':
|
|
100
|
+
this.inject.get(WINDOW).location.href = topic.url;
|
|
101
|
+
break;
|
|
102
|
+
default:
|
|
103
|
+
this.inject.get(WINDOW).location.href = topic.url;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
onSearch() {
|
|
108
|
+
const temp = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
109
|
+
if (this.state.search) {
|
|
110
|
+
this.state.list = temp
|
|
111
|
+
.filter((topic) => {
|
|
112
|
+
if (this.i18n.fanyi(topic.name).includes(this.state.search)) {
|
|
113
|
+
return topic;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
topic.children = topic.children.filter((child) => {
|
|
117
|
+
return this.i18n.fanyi(child.name).includes(this.state.search);
|
|
118
|
+
});
|
|
119
|
+
return topic;
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
.filter((topic) => {
|
|
123
|
+
return topic.children.length > 0;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.state.list = this.cacheService.get('_yz_header', { mode: 'none' });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
ngOnDestroy() {
|
|
131
|
+
this.state.destroy$.complete();
|
|
132
|
+
}
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: LayoutNavApplicationComponent, deps: [{ token: i1.CacheService }, { token: i2.YunzaiI18NService }, { token: i3._HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: LayoutNavApplicationComponent, selector: "layout-nav-application", ngImport: i0, template: `
|
|
135
|
+
<!-- search start-->
|
|
136
|
+
<ng-template #search>
|
|
137
|
+
<div nz-row class="yz-application-list-search">
|
|
138
|
+
<nz-input-group [nzPrefix]="prefixTemplate">
|
|
139
|
+
<input
|
|
140
|
+
data-event-id="_nav_search"
|
|
141
|
+
type="text"
|
|
142
|
+
nz-input
|
|
143
|
+
placeholder="{{ 'application.search' | i18n }}"
|
|
144
|
+
[(ngModel)]="state.search"
|
|
145
|
+
(ngModelChange)="onSearch()"
|
|
146
|
+
/>
|
|
147
|
+
<ng-template #prefixTemplate>
|
|
148
|
+
<i nz-icon nzType="search" nzTheme="outline"></i>
|
|
149
|
+
</ng-template>
|
|
150
|
+
</nz-input-group>
|
|
151
|
+
</div>
|
|
152
|
+
</ng-template>
|
|
153
|
+
<!-- search end -->
|
|
154
|
+
|
|
155
|
+
<!-- right menu start -->
|
|
156
|
+
<ng-template #ld>
|
|
157
|
+
<div class="yz-application-list">
|
|
158
|
+
<ul>
|
|
159
|
+
<li *ngFor="let topic of state.list">
|
|
160
|
+
<h5>{{ topic.name | i18n }}</h5>
|
|
161
|
+
<a
|
|
162
|
+
data-event-id="_nav_item"
|
|
163
|
+
[attr.data-name]="nav.name | i18n"
|
|
164
|
+
href="javascript:;"
|
|
165
|
+
*ngFor="let nav of topic.children"
|
|
166
|
+
(click)="open(nav)"
|
|
167
|
+
>{{ nav.name | i18n }}</a
|
|
168
|
+
>
|
|
169
|
+
</li>
|
|
170
|
+
</ul>
|
|
171
|
+
</div>
|
|
172
|
+
</ng-template>
|
|
173
|
+
<!-- right menu end -->
|
|
174
|
+
|
|
175
|
+
<!-- button start-->
|
|
176
|
+
<div data-event-id="_nav_app" class="yunzai-default__nav-item" (click)="diffChange()"> {{ 'mode.nav' | i18n }}</div>
|
|
177
|
+
<!-- button end-->
|
|
178
|
+
|
|
179
|
+
<!-- header start-->
|
|
180
|
+
<div class="yz-application" nz-row *ngIf="state.active">
|
|
181
|
+
<div nz-col [nzSpan]="3" class="yz-application-topic">
|
|
182
|
+
<div data-event-id="_nav_topic" data-name="全部应用" class="yz-application-text" (click)="attachNav('all')">{{
|
|
183
|
+
'mode.nav.all' | i18n
|
|
184
|
+
}}</div>
|
|
185
|
+
<div data-event-id="_nav_topic" data-name="我的应用" class="yz-application-text" (click)="attachNav('mine')">{{
|
|
186
|
+
'mode.nav.mine' | i18n
|
|
187
|
+
}}</div>
|
|
188
|
+
<div
|
|
189
|
+
data-event-id="_nav_topic"
|
|
190
|
+
[attr.data-name]="nav.name | i18n"
|
|
191
|
+
class="yz-application-text"
|
|
192
|
+
*ngFor="let nav of state.topics"
|
|
193
|
+
(click)="attachNav('other', nav)"
|
|
194
|
+
>{{ nav.name | i18n }}</div
|
|
195
|
+
>
|
|
196
|
+
</div>
|
|
197
|
+
<div nz-col [nzSpan]="21" [ngSwitch]="state.topic" class="yz-application-container">
|
|
198
|
+
<div *ngIf="state.type === 'all'">
|
|
199
|
+
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
200
|
+
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
201
|
+
</div>
|
|
202
|
+
<div *ngIf="state.type === 'mine'">
|
|
203
|
+
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
204
|
+
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
205
|
+
</div>
|
|
206
|
+
<div *ngIf="state.type === 'other'" class="yz-application-list">
|
|
207
|
+
<div class="yz-application-list-item">
|
|
208
|
+
<ul>
|
|
209
|
+
<li
|
|
210
|
+
data-event-id="_nav_item"
|
|
211
|
+
[attr.data-name]="nav.name | i18n"
|
|
212
|
+
*ngFor="let nav of state.list"
|
|
213
|
+
(click)="open(nav)"
|
|
214
|
+
>
|
|
215
|
+
<a href="javascript:;">
|
|
216
|
+
<h4>{{ nav.name | i18n }}</h4>
|
|
217
|
+
<p>{{ nav.intro | i18n }}</p>
|
|
218
|
+
</a>
|
|
219
|
+
</li>
|
|
220
|
+
</ul>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
<!-- header end-->
|
|
226
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i7.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i9.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i9.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
227
|
+
}
|
|
228
|
+
export { LayoutNavApplicationComponent };
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: LayoutNavApplicationComponent, decorators: [{
|
|
230
|
+
type: Component,
|
|
231
|
+
args: [{
|
|
232
|
+
selector: `layout-nav-application`,
|
|
233
|
+
template: `
|
|
234
|
+
<!-- search start-->
|
|
235
|
+
<ng-template #search>
|
|
236
|
+
<div nz-row class="yz-application-list-search">
|
|
237
|
+
<nz-input-group [nzPrefix]="prefixTemplate">
|
|
238
|
+
<input
|
|
239
|
+
data-event-id="_nav_search"
|
|
240
|
+
type="text"
|
|
241
|
+
nz-input
|
|
242
|
+
placeholder="{{ 'application.search' | i18n }}"
|
|
243
|
+
[(ngModel)]="state.search"
|
|
244
|
+
(ngModelChange)="onSearch()"
|
|
245
|
+
/>
|
|
246
|
+
<ng-template #prefixTemplate>
|
|
247
|
+
<i nz-icon nzType="search" nzTheme="outline"></i>
|
|
248
|
+
</ng-template>
|
|
249
|
+
</nz-input-group>
|
|
250
|
+
</div>
|
|
251
|
+
</ng-template>
|
|
252
|
+
<!-- search end -->
|
|
253
|
+
|
|
254
|
+
<!-- right menu start -->
|
|
255
|
+
<ng-template #ld>
|
|
256
|
+
<div class="yz-application-list">
|
|
257
|
+
<ul>
|
|
258
|
+
<li *ngFor="let topic of state.list">
|
|
259
|
+
<h5>{{ topic.name | i18n }}</h5>
|
|
260
|
+
<a
|
|
261
|
+
data-event-id="_nav_item"
|
|
262
|
+
[attr.data-name]="nav.name | i18n"
|
|
263
|
+
href="javascript:;"
|
|
264
|
+
*ngFor="let nav of topic.children"
|
|
265
|
+
(click)="open(nav)"
|
|
266
|
+
>{{ nav.name | i18n }}</a
|
|
267
|
+
>
|
|
268
|
+
</li>
|
|
269
|
+
</ul>
|
|
270
|
+
</div>
|
|
271
|
+
</ng-template>
|
|
272
|
+
<!-- right menu end -->
|
|
273
|
+
|
|
274
|
+
<!-- button start-->
|
|
275
|
+
<div data-event-id="_nav_app" class="yunzai-default__nav-item" (click)="diffChange()"> {{ 'mode.nav' | i18n }}</div>
|
|
276
|
+
<!-- button end-->
|
|
277
|
+
|
|
278
|
+
<!-- header start-->
|
|
279
|
+
<div class="yz-application" nz-row *ngIf="state.active">
|
|
280
|
+
<div nz-col [nzSpan]="3" class="yz-application-topic">
|
|
281
|
+
<div data-event-id="_nav_topic" data-name="全部应用" class="yz-application-text" (click)="attachNav('all')">{{
|
|
282
|
+
'mode.nav.all' | i18n
|
|
283
|
+
}}</div>
|
|
284
|
+
<div data-event-id="_nav_topic" data-name="我的应用" class="yz-application-text" (click)="attachNav('mine')">{{
|
|
285
|
+
'mode.nav.mine' | i18n
|
|
286
|
+
}}</div>
|
|
287
|
+
<div
|
|
288
|
+
data-event-id="_nav_topic"
|
|
289
|
+
[attr.data-name]="nav.name | i18n"
|
|
290
|
+
class="yz-application-text"
|
|
291
|
+
*ngFor="let nav of state.topics"
|
|
292
|
+
(click)="attachNav('other', nav)"
|
|
293
|
+
>{{ nav.name | i18n }}</div
|
|
294
|
+
>
|
|
295
|
+
</div>
|
|
296
|
+
<div nz-col [nzSpan]="21" [ngSwitch]="state.topic" class="yz-application-container">
|
|
297
|
+
<div *ngIf="state.type === 'all'">
|
|
298
|
+
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
299
|
+
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
300
|
+
</div>
|
|
301
|
+
<div *ngIf="state.type === 'mine'">
|
|
302
|
+
<ng-template [ngTemplateOutlet]="search"></ng-template>
|
|
303
|
+
<ng-template [ngTemplateOutlet]="ld"></ng-template>
|
|
304
|
+
</div>
|
|
305
|
+
<div *ngIf="state.type === 'other'" class="yz-application-list">
|
|
306
|
+
<div class="yz-application-list-item">
|
|
307
|
+
<ul>
|
|
308
|
+
<li
|
|
309
|
+
data-event-id="_nav_item"
|
|
310
|
+
[attr.data-name]="nav.name | i18n"
|
|
311
|
+
*ngFor="let nav of state.list"
|
|
312
|
+
(click)="open(nav)"
|
|
313
|
+
>
|
|
314
|
+
<a href="javascript:;">
|
|
315
|
+
<h4>{{ nav.name | i18n }}</h4>
|
|
316
|
+
<p>{{ nav.intro | i18n }}</p>
|
|
317
|
+
</a>
|
|
318
|
+
</li>
|
|
319
|
+
</ul>
|
|
320
|
+
</div>
|
|
321
|
+
</div>
|
|
322
|
+
</div>
|
|
323
|
+
</div>
|
|
324
|
+
<!-- header end-->
|
|
325
|
+
`
|
|
326
|
+
}]
|
|
327
|
+
}], ctorParameters: function () { return [{ type: i1.CacheService }, { type: i2.YunzaiI18NService }, { type: i3._HttpClient }, { type: i0.Injector }]; } });
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW5hdi1hcHBsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L2xheW91dC1uYXYvbGF5b3V0LW5hdi1hcHBsaWNhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7QUFLckMsTUFnR2EsNkJBQTZCO0lBV3hDLFlBQ1UsWUFBMEIsRUFDMUIsSUFBdUIsRUFDdkIsSUFBaUIsRUFDakIsTUFBZ0I7UUFIaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBZDFCLFVBQUssR0FBOEI7WUFDakMsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJLE9BQU8sRUFBTztTQUM3QixDQUFDO0lBT0MsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxN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dCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBZdW56YWlOYXZUb3BpYyB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBfSHR0cENsaWVudCB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICdAeWVsb24vdXRpbCc7XG5cbmltcG9ydCB7IFl1bnphaUkxOE5TZXJ2aWNlIH0gZnJvbSAnLi4veXVuemFpLWkxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXROYXZBcHBsaWNhdGlvblN0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYGxheW91dC1uYXYtYXBwbGljYXRpb25gLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gICAgICBzZWFyY2ggc3RhcnQtLT5cbiAgICA8bmctdGVtcGxhdGUgI3NlYXJjaD5cbiAgICAgIDxkaXYgbnotcm93IGNsYXNzPVwieXotYXBwbGljYXRpb24tbGlzdC1zZWFyY2hcIj5cbiAgICAgICAgPG56LWlucHV0LWdyb3VwIFtuelByZWZpeF09XCJwcmVmaXhUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgZGF0YS1ldmVudC1pZD1cIl9uYXZfc2VhcmNoXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdhcHBsaWNhdGlvbi5zZWFyY2gnIHwgaTE4biB9fVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXRlLnNlYXJjaFwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJlZml4VGVtcGxhdGU+XG4gICAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cInNlYXJjaFwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9pPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbnotaW5wdXQtZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwhLS0gc2VhcmNoIGVuZCAtLT5cblxuICAgIDwhLS0gcmlnaHQgbWVudSBzdGFydCAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2xkPlxuICAgICAgPGRpdiBjbGFzcz1cInl6LWFwcGxpY2F0aW9uLWxpc3RcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdG9waWMgb2Ygc3RhdGUubGlzdFwiPlxuICAgICAgICAgICAgPGg1Pnt7IHRvcGljLm5hbWUgfCBpMThuIH19PC9oNT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGRhdGEtZXZlbnQtaWQ9XCJfbmF2X2l0ZW1cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwibmF2Lm5hbWUgfCBpMThuXCJcbiAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBuYXYgb2YgdG9waWMuY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbihuYXYpXCJcbiAgICAgICAgICAgICAgPnt7IG5hdi5uYW1lIHwgaTE4biB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwhLS0gcmlnaHQgbWVudSBlbmQgLS0+XG5cbiAgICA8IS0tICAgICAgYnV0dG9uIHN0YXJ0LS0+XG4gICAgPGRpdiBkYXRhLWV2ZW50LWlkPVwiX25hdl9hcHBcIiBjbGFzcz1cInl1bnphaS1kZWZhdWx0X19uYXYtaXRlbVwiIChjbGljayk9XCJkaWZmQ2hhbmdlKClcIj4ge3sgJ21vZGUubmF2JyB8IGkxOG4gfX08L2Rpdj5cbiAgICA8IS0tICAgICAgYnV0dG9uIGVuZC0tPlxuXG4gICAgPCEtLSAgICAgIGhlYWRlciBzdGFydC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvblwiIG56LXJvdyAqbmdJZj1cInN0YXRlLmFjdGl2ZVwiPlxuICAgICAgPGRpdiBuei1jb2wgW256U3Bhbl09XCIzXCIgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvbi10b3BpY1wiPlxuICAgICAgICA8ZGl2IGRhdGEtZXZlbnQtaWQ9XCJfbmF2X3RvcGljXCIgZGF0YS1uYW1lPVwi5YWo6YOo5bqU55SoXCIgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvbi10ZXh0XCIgKGNsaWNrKT1cImF0dGFjaE5hdignYWxsJylcIj57e1xuICAgICAgICAgICdtb2RlLm5hdi5hbGwnIHwgaTE4blxuICAgICAgICB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGRhdGEtZXZlbnQtaWQ9XCJfbmF2X3RvcGljXCIgZGF0YS1uYW1lPVwi5oiR55qE5bqU55SoXCIgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvbi10ZXh0XCIgKGNsaWNrKT1cImF0dGFjaE5hdignbWluZScpXCI+e3tcbiAgICAgICAgICAnbW9kZS5uYXYubWluZScgfCBpMThuXG4gICAgICAgIH19PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWV2ZW50LWlkPVwiX25hdl90b3BpY1wiXG4gICAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cIm5hdi5uYW1lIHwgaTE4blwiXG4gICAgICAgICAgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvbi10ZXh0XCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgbmF2IG9mIHN0YXRlLnRvcGljc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImF0dGFjaE5hdignb3RoZXInLCBuYXYpXCJcbiAgICAgICAgICA+e3sgbmF2Lm5hbWUgfCBpMThuIH19PC9kaXZcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IG56LWNvbCBbbnpTcGFuXT1cIjIxXCIgW25nU3dpdGNoXT1cInN0YXRlLnRvcGljXCIgY2xhc3M9XCJ5ei1hcHBsaWNhdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInN0YXRlLnR5cGUgPT09ICdhbGwnXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxkXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdGF0ZS50eXBlID09PSAnbWluZSdcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInN0YXRlLnR5cGUgPT09ICdvdGhlcidcIiBjbGFzcz1cInl6LWFwcGxpY2F0aW9uLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieXotYXBwbGljYXRpb24tbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGRhdGEtZXZlbnQtaWQ9XCJfbmF2X2l0ZW1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJuYXYubmFtZSB8IGkxOG5cIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBuYXYgb2Ygc3RhdGUubGlzdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW4obmF2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCI+XG4gICAgICAgICAgICAgICAgICA8aDQ+e3sgbmF2Lm5hbWUgfCBpMThuIH19PC9oND5cbiAgICAgICAgICAgICAgICAgIDxwPnt7IG5hdi5pbnRybyB8IGkxOG4gfX08L3A+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tICAgICAgaGVhZGVyIGVuZC0tPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIExheW91dE5hdkFwcGxpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzdGF0ZTogTGF5b3V0TmF2QXBwbGljYXRpb25TdGF0ZSA9IHtcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIHR5cGU6ICdhbGwnLFxuICAgIHRvcGljOiB1bmRlZmluZWQsXG4gICAgdG9waWNzOiBbXSxcbiAgICBsaXN0OiBbXSxcbiAgICBzZWFyY2g6IG51bGwsXG4gICAgZGVzdHJveSQ6IG5ldyBTdWJqZWN0PGFueT4oKVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuOiBZdW56YWlJMThOU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IF9IdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaEFsbFRvcGljKCk7XG4gICAgdGhpcy5hdHRhY2hOYXYoJ2FsbCcpO1xuICB9XG5cbiAgZmV0Y2hBbGxUb3BpYygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnRvcGljcyA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X2hlYWRlcicsIHsgbW9kZTogJ25vbmUnIH0pO1xuICB9XG5cbiAgYXR0YWNoTmF2KHR5cGU6ICdhbGwnIHwgJ21pbmUnIHwgJ290aGVyJywgdG9waWM/OiBZdW56YWlOYXZUb3BpYyk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jbGVhclNlYXJjaCgpO1xuICAgIGlmICh0eXBlID09PSAnYWxsJykge1xuICAgICAgdGhpcy5kaXNwbGF5QWxsTmF2KCk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSAnbWluZScpIHtcbiAgICAgIHRoaXMuZGlzcGxheU1pbmVOYXYoKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdvdGhlcicgJiYgdG9waWMpIHtcbiAgICAgIHRoaXMuZGlzcGxheU90aGVyTmF2KHRvcGljKTtcbiAgICB9XG4gIH1cblxuICBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnNlYXJjaCA9IG51bGw7XG4gIH1cblxuICBkaXNwbGF5QWxsTmF2KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUubGlzdCA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X2hlYWRlcicsIHsgbW9kZTogJ25vbmUnIH0pO1xuICB9XG5cbiAgZGlzcGxheU1pbmVOYXYoKTogdm9pZCB7XG4gICAgY29uc3QgdGVtcDogWXVuemFpTmF2VG9waWNbXSA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X2hlYWRlcicsIHsgbW9kZTogJ25vbmUnIH0pO1xuICAgIHRoaXMuc3RhdGUubGlzdCA9IHRlbXBcbiAgICAgIC5maWx0ZXIoKHRvcGljOiBZdW56YWlOYXZUb3BpYykgPT4ge1xuICAgICAgICB0b3BpYy5jaGlsZHJlbiA9IHRvcGljLmNoaWxkcmVuLmZpbHRlcigoY2hpbGQ6IFl1bnphaU5hdlRvcGljKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkLmF1dGg7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdG9waWM7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigodG9waWM6IFl1bnphaU5hdlRvcGljKSA9PiB7XG4gICAgICAgIHJldHVybiB0b3BpYy5jaGlsZHJlbi5sZW5ndGggPiAwO1xuICAgICAgfSk7XG4gIH1cblxuICBkaXNwbGF5T3RoZXJOYXYodG9waWM6IFl1bnphaU5hdlRvcGljKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS50b3BpYyA9IHRvcGljO1xuICAgIGNvbnN0IHRlbXA6IFl1bnphaU5hdlRvcGljW10gPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el9oZWFkZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICB0aGlzLnN0YXRlLmxpc3QgPSB0ZW1wLmZpbHRlcih0ID0+IHQua2V5ID09PSB0b3BpYy5rZXkpWzBdLmNoaWxkcmVuO1xuICB9XG5cbiAgZGlmZkNoYW5nZShmbGFnPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmbGFnKSB7XG4gICAgICB0aGlzLnN0YXRlLmFjdGl2ZSA9IGZsYWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGUuYWN0aXZlID0gIXRoaXMuc3RhdGUuYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW4odG9waWM6IFl1bnphaU5hdlRvcGljKTogdm9pZCB7XG4gICAgaWYgKHRvcGljLmtleSkge1xuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5wb3N0KGAvYXBwLW1hbmFnZXIvd2ViLXNjYW4vc2F2ZWAsIHtcbiAgICAgICAgICBhcHBJZDogdG9waWMua2V5LFxuICAgICAgICAgIGNyZWF0ZURhdGU6IG5ldyBEYXRlKClcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuc3RhdGUuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHN3aXRjaCAodG9waWMudGFyZ2V0KSB7XG4gICAgICBjYXNlICdocmVmJzpcbiAgICAgICAgdGhpcy5pbmplY3QuZ2V0KFdJTkRPVykubG9jYXRpb24uaHJlZiA9IHRvcGljLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdibGFuayc6XG4gICAgICAgIHRoaXMuaW5qZWN0LmdldChXSU5ET1cpLmxvY2F0aW9uLmhyZWYgPSB0b3BpYy51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndGFyZ2V0JzpcbiAgICAgICAgdGhpcy5pbmplY3QuZ2V0KFdJTkRPVykubG9jYXRpb24uaHJlZiA9IHRvcGljLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmluamVjdC5nZXQoV0lORE9XKS5sb2NhdGlvbi5ocmVmID0gdG9waWMudXJsO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICBjb25zdCB0ZW1wOiBZdW56YWlOYXZUb3BpY1tdID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0KCdfeXpfaGVhZGVyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgaWYgKHRoaXMuc3RhdGUuc2VhcmNoKSB7XG4gICAgICB0aGlzLnN0YXRlLmxpc3QgPSB0ZW1wXG4gICAgICAgIC5maWx0ZXIoKHRvcGljOiBZdW56YWlOYXZUb3BpYykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmkxOG4uZmFueWkodG9waWMubmFtZSkuaW5jbHVkZXModGhpcy5zdGF0ZS5zZWFyY2ghKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvcGljO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b3BpYy5jaGlsZHJlbiA9IHRvcGljLmNoaWxkcmVuLmZpbHRlcigoY2hpbGQ6IFl1bnphaU5hdlRvcGljKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmkxOG4uZmFueWkoY2hpbGQubmFtZSkuaW5jbHVkZXModGhpcy5zdGF0ZS5zZWFyY2ghKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRvcGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigodG9waWM6IFl1bnphaU5hdlRvcGljKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRvcGljLmNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlLmxpc3QgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el9oZWFkZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|