raise-common-lib 0.0.15 → 0.0.21

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 (53) hide show
  1. package/bundles/raise-common-lib.umd.js +785 -71
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +2 -2
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/layout/grid-box/index.component.js +68 -0
  6. package/esm2015/lib/layout/main-container/index.component.js +10 -5
  7. package/esm2015/lib/layout/multi-tab/index.component.js +310 -0
  8. package/esm2015/lib/layout/page-list/index.component.js +69 -0
  9. package/esm2015/lib/layout/page-tab/index.component.js +58 -0
  10. package/esm2015/lib/layout/rs-aside/index.component.js +4 -4
  11. package/esm2015/lib/layout/rs-header/index.component.js +3 -3
  12. package/esm2015/lib/raise-common-lib.module.js +23 -8
  13. package/esm2015/lib/service/common-function.service.js +55 -1
  14. package/esm2015/lib/service/icon-loader.service.js +19 -10
  15. package/esm2015/lib/service/keep-alive.service.js +92 -0
  16. package/esm2015/public-api.js +6 -2
  17. package/esm2015/raise-common-lib.js +2 -2
  18. package/esm5/lib/layout/grid-box/index.component.js +80 -0
  19. package/esm5/lib/layout/main-container/index.component.js +11 -6
  20. package/esm5/lib/layout/multi-tab/index.component.js +356 -0
  21. package/esm5/lib/layout/page-list/index.component.js +81 -0
  22. package/esm5/lib/layout/page-tab/index.component.js +67 -0
  23. package/esm5/lib/layout/rs-aside/index.component.js +4 -4
  24. package/esm5/lib/layout/rs-header/index.component.js +3 -3
  25. package/esm5/lib/raise-common-lib.module.js +23 -8
  26. package/esm5/lib/service/common-function.service.js +67 -1
  27. package/esm5/lib/service/icon-loader.service.js +18 -9
  28. package/esm5/lib/service/keep-alive.service.js +133 -0
  29. package/esm5/public-api.js +6 -2
  30. package/esm5/raise-common-lib.js +2 -2
  31. package/fesm2015/raise-common-lib.js +659 -62
  32. package/fesm2015/raise-common-lib.js.map +1 -1
  33. package/fesm5/raise-common-lib.js +784 -72
  34. package/fesm5/raise-common-lib.js.map +1 -1
  35. package/lib/layout/{common-list → grid-box}/index.component.d.ts +1 -1
  36. package/lib/layout/main-container/index.component.d.ts +1 -0
  37. package/lib/layout/multi-tab/index.component.d.ts +38 -0
  38. package/lib/layout/page-list/index.component.d.ts +12 -0
  39. package/lib/layout/page-tab/index.component.d.ts +11 -0
  40. package/lib/service/common-function.service.d.ts +2 -0
  41. package/lib/service/icon-loader.service.d.ts +5 -3
  42. package/lib/service/keep-alive.service.d.ts +11 -0
  43. package/package.json +1 -1
  44. package/public-api.d.ts +5 -1
  45. package/raise-common-lib.metadata.json +1 -1
  46. package/src/assets/img/close-url.svg +10 -0
  47. package/src/assets/img/desktop-refresh-btn.svg +6 -0
  48. package/src/assets/img/icon-more-active.svg +7 -0
  49. package/src/assets/img/icon-more.svg +7 -0
  50. package/src/assets/img/split-button-arrow.svg +3 -0
  51. package/src/assets/style/reset/button.scss +38 -3
  52. package/esm2015/lib/layout/common-list/index.component.js +0 -69
  53. package/esm5/lib/layout/common-list/index.component.js +0 -81
@@ -0,0 +1,356 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/layout/multi-tab/index.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ // 组件类
7
+ import { ChangeDetectorRef, Component, HostListener, Input, } from "@angular/core";
8
+ import { ActivatedRoute, NavigationEnd, Router, } from "@angular/router";
9
+ import { CommonFunctionService } from "../../service/common-function.service";
10
+ import { KeepAliveService } from "../../service/keep-alive.service";
11
+ import { filter } from "rxjs/operators";
12
+ var MultiTabComponent = /** @class */ (function () {
13
+ function MultiTabComponent(router, cf, activatedRoute, keepAlive, ref) {
14
+ this.router = router;
15
+ this.cf = cf;
16
+ this.activatedRoute = activatedRoute;
17
+ this.keepAlive = keepAlive;
18
+ this.ref = ref;
19
+ this.singleReuseUrls = []; //只能单个缓存的url
20
+ //只能单个缓存的url
21
+ this.TAB_WIDTH = 164;
22
+ this.GAP_NORMAL = 54;
23
+ this.GAP_SMALL = 30;
24
+ this.tabList = [];
25
+ this.selectedTab = 0;
26
+ this.maxTabs = 10;
27
+ this.screenWidth = window.innerWidth; // 初始化屏幕宽度
28
+ }
29
+ // 初始化屏幕宽度
30
+ /**
31
+ * @param {?} event
32
+ * @return {?}
33
+ */
34
+ MultiTabComponent.prototype.onResize =
35
+ // 初始化屏幕宽度
36
+ /**
37
+ * @param {?} event
38
+ * @return {?}
39
+ */
40
+ function (event) {
41
+ this.screenWidth = window.innerWidth; // 更新屏幕宽度
42
+ this.setEllipsisTitle();
43
+ };
44
+ /**
45
+ * @return {?}
46
+ */
47
+ MultiTabComponent.prototype.ngOnInit = /**
48
+ * @return {?}
49
+ */
50
+ function () {
51
+ var _this = this;
52
+ this.initTab();
53
+ this.router.events
54
+ .pipe(filter((/**
55
+ * @param {?} event
56
+ * @return {?}
57
+ */
58
+ function (event) { return event instanceof NavigationEnd; })))
59
+ .subscribe((/**
60
+ * @return {?}
61
+ */
62
+ function () {
63
+ /** @type {?} */
64
+ var navigation = _this.router.getCurrentNavigation();
65
+ if (navigation) {
66
+ /** @type {?} */
67
+ var state = navigation.extras.state;
68
+ // 获取传递的 state
69
+ /** @type {?} */
70
+ var currentRoute = _this.router.routerState.root.firstChild;
71
+ if (currentRoute) {
72
+ _this.setTab(_this.router.url, currentRoute.snapshot.routeConfig.path, state && state.title);
73
+ }
74
+ }
75
+ }));
76
+ this.setEllipsisTitle();
77
+ };
78
+ /**
79
+ * @param {?=} title
80
+ * @return {?}
81
+ */
82
+ MultiTabComponent.prototype.setEllipsisTitle = /**
83
+ * @param {?=} title
84
+ * @return {?}
85
+ */
86
+ function (title) {
87
+ var _this = this;
88
+ this.textGap = this.GAP_NORMAL;
89
+ if (this.screenWidth <= 1100) {
90
+ this.textGap = this.GAP_SMALL;
91
+ }
92
+ var _a = this.calcTabWidth(), allWidth = _a.allWidth, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
93
+ /** @type {?} */
94
+ var width = Math.floor((allWidth - rightWidth) / (this.tabList && this.tabList.length));
95
+ if (title) {
96
+ return this.cf.setMiddleEllipsis(title, width > this.TAB_WIDTH
97
+ ? this.TAB_WIDTH - this.textGap
98
+ : width - this.textGap, 12);
99
+ }
100
+ else {
101
+ this.tabList.forEach((/**
102
+ * @param {?} ele
103
+ * @param {?} idx
104
+ * @return {?}
105
+ */
106
+ function (ele, idx) {
107
+ ele.displayTitle = _this.cf.setMiddleEllipsis(ele.title, width > _this.TAB_WIDTH
108
+ ? _this.TAB_WIDTH - _this.textGap
109
+ : width - _this.textGap, 12);
110
+ }));
111
+ }
112
+ };
113
+ /**
114
+ * @return {?}
115
+ */
116
+ MultiTabComponent.prototype.calcTabWidth = /**
117
+ * @return {?}
118
+ */
119
+ function () {
120
+ /** @type {?} */
121
+ var wrap = document.querySelector(".rs-multi-tab");
122
+ /** @type {?} */
123
+ var ulElement = document.querySelector(".rs-multi-tab > ul");
124
+ /** @type {?} */
125
+ var refreshTabDiv = document.querySelector(".rs-multi-tab .refresh-tab");
126
+ /** @type {?} */
127
+ var allWidth;
128
+ /** @type {?} */
129
+ var leftWidth;
130
+ /** @type {?} */
131
+ var rightWidth;
132
+ if (wrap && ulElement && refreshTabDiv) {
133
+ // 获取元素的位置信息
134
+ /** @type {?} */
135
+ var wrapRect = wrap.getBoundingClientRect();
136
+ /** @type {?} */
137
+ var ulRect = ulElement.getBoundingClientRect();
138
+ /** @type {?} */
139
+ var refreshTabRect = refreshTabDiv.getBoundingClientRect();
140
+ allWidth = wrapRect.width;
141
+ leftWidth = ulRect.width;
142
+ rightWidth = refreshTabRect.width;
143
+ }
144
+ return {
145
+ allWidth: allWidth,
146
+ leftWidth: leftWidth,
147
+ rightWidth: rightWidth,
148
+ };
149
+ };
150
+ /**
151
+ * @return {?}
152
+ */
153
+ MultiTabComponent.prototype.initTab = /**
154
+ * @return {?}
155
+ */
156
+ function () {
157
+ /** @type {?} */
158
+ var TabCache = JSON.parse(sessionStorage.getItem("TabCache"));
159
+ this.tabList = TabCache || [];
160
+ };
161
+ /**
162
+ * @param {?} tab
163
+ * @param {?} idx
164
+ * @return {?}
165
+ */
166
+ MultiTabComponent.prototype.closeTab = /**
167
+ * @param {?} tab
168
+ * @param {?} idx
169
+ * @return {?}
170
+ */
171
+ function (tab, idx) {
172
+ this.tabList = this.tabList.filter((/**
173
+ * @param {?} ele
174
+ * @return {?}
175
+ */
176
+ function (ele) { return ele.url !== tab.url; }));
177
+ this.clearCache(tab.url);
178
+ if (this.selectedTab === idx) {
179
+ /** @type {?} */
180
+ var targetIdx = Math.max(0, idx - 1);
181
+ this.changeTab(this.tabList[targetIdx], targetIdx);
182
+ }
183
+ this.setEllipsisTitle();
184
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
185
+ this.ref.markForCheck();
186
+ };
187
+ /**
188
+ * @param {?} tab
189
+ * @param {?} idx
190
+ * @return {?}
191
+ */
192
+ MultiTabComponent.prototype.changeTab = /**
193
+ * @param {?} tab
194
+ * @param {?} idx
195
+ * @return {?}
196
+ */
197
+ function (tab, idx) {
198
+ this.router.navigateByUrl(tab.url);
199
+ this.selectedTab = idx;
200
+ this.ref.markForCheck();
201
+ };
202
+ /**
203
+ * @param {?} url
204
+ * @param {?} title
205
+ * @return {?}
206
+ */
207
+ MultiTabComponent.prototype.addTab = /**
208
+ * @param {?} url
209
+ * @param {?} title
210
+ * @return {?}
211
+ */
212
+ function (url, title) {
213
+ if (this.tabList.length >= this.maxTabs) {
214
+ this.closeTab(this.tabList[0], 0); // 删除第一个
215
+ }
216
+ this.tabList.push({
217
+ url: url,
218
+ title: title || "default",
219
+ displayTitle: this.setEllipsisTitle(title || "default"),
220
+ });
221
+ this.selectedTab = this.tabList.length - 1;
222
+ this.setEllipsisTitle();
223
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
224
+ this.ref.markForCheck();
225
+ };
226
+ /**
227
+ * @param {?} url
228
+ * @param {?} pureUrl
229
+ * @param {?} title
230
+ * @return {?}
231
+ */
232
+ MultiTabComponent.prototype.setTab = /**
233
+ * @param {?} url
234
+ * @param {?} pureUrl
235
+ * @param {?} title
236
+ * @return {?}
237
+ */
238
+ function (url, pureUrl, title) {
239
+ var _this = this;
240
+ /** @type {?} */
241
+ var isExistIdx = this.tabList.findIndex((/**
242
+ * @param {?} ele
243
+ * @return {?}
244
+ */
245
+ function (ele) { return ele.url === url; }));
246
+ if (isExistIdx === -1) {
247
+ /** @type {?} */
248
+ var singleIdx_1 = this.singleReuseUrls.findIndex((/**
249
+ * @param {?} ele
250
+ * @return {?}
251
+ */
252
+ function (ele) { return ele === pureUrl; }));
253
+ if (singleIdx_1 !== -1) {
254
+ this.tabList = this.tabList.filter((/**
255
+ * @param {?} ele
256
+ * @return {?}
257
+ */
258
+ function (ele) { return !ele.url.includes(_this.singleReuseUrls[singleIdx_1]); }));
259
+ this.keepAlive.clearCache(url);
260
+ }
261
+ this.addTab(url, title);
262
+ }
263
+ else {
264
+ this.selectedTab = isExistIdx;
265
+ this.ref.markForCheck();
266
+ }
267
+ };
268
+ /**
269
+ * @return {?}
270
+ */
271
+ MultiTabComponent.prototype.refreshTab = /**
272
+ * @return {?}
273
+ */
274
+ function () {
275
+ var _this = this;
276
+ this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
277
+ /** @type {?} */
278
+ var currentUrl = this.router.url;
279
+ this.router.navigateByUrl("/", { skipLocationChange: true }).then((/**
280
+ * @return {?}
281
+ */
282
+ function () {
283
+ _this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
284
+ }));
285
+ };
286
+ /**
287
+ * @param {?} url
288
+ * @return {?}
289
+ */
290
+ MultiTabComponent.prototype.clearCache = /**
291
+ * @param {?} url
292
+ * @return {?}
293
+ */
294
+ function (url) {
295
+ this.keepAlive.clearCache(url); // 调用自定义策略的清除缓存方法
296
+ };
297
+ MultiTabComponent.decorators = [
298
+ { type: Component, args: [{
299
+ selector: "rs-multi-tab",
300
+ template: "<div class=\"rs-multi-tab\">\r\n <ul>\r\n <ng-container *ngFor=\"let tab of tabList; let i = index\">\r\n <li\r\n [ngClass]=\"selectedTab === i ? 'isSelect' : 'notSelect'\"\r\n (click)=\"changeTab(tab, i)\"\r\n >\r\n <ejs-tooltip\r\n id=\"notSelectTooltip\"\r\n [showTipPointer]=\"false\"\r\n [openDelay]=\"500\"\r\n *ngIf=\"tab.displayTitle !== tab.title; else originText\"\r\n style=\"height: 27px\"\r\n >\r\n <ng-template #content>\r\n <div class=\"tooltip-content\">\r\n {{ tab.title }}\r\n </div>\r\n </ng-template>\r\n <span class=\"tabTitle\">{{ tab.displayTitle }}</span>\r\n </ejs-tooltip>\r\n <ng-template #originText>\r\n <span class=\"tabTitle\">\r\n {{ tab.displayTitle }}\r\n </span>\r\n </ng-template>\r\n <span class=\"img-block\" *ngIf=\"selectedTab !== i\"></span>\r\n <img\r\n *ngIf=\"tabList.length !== 1\"\r\n src=\"../../../assets/img/close-url.svg\"\r\n (click)=\"closeTab(tab, i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\">\r\n <img\r\n id=\"loadingIcon\"\r\n alt\r\n class=\"refresh-btn\"\r\n src=\"../../../assets/img/desktop-refresh-btn.svg\"\r\n />\r\n <span>Refresh Current Tab</span>\r\n </div>\r\n</div>\r\n",
301
+ styles: [".rs-multi-tab{border-bottom:1px solid #e5eaef;height:28px;width:100%;display:flex;justify-content:space-between}.rs-multi-tab ul{display:flex;margin:0 8px;padding:0;overflow:hidden;height:100%}.rs-multi-tab ul li{max-width:164px;padding:0 12px;display:flex;align-items:center;flex:auto;border:1px solid #e5eaef;border-bottom:none;color:#5f6f81;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;height:100%;background:#f8fafb;vertical-align:top;position:relative;cursor:default}.rs-multi-tab ul li .tabTitle{display:inline-block;white-space:nowrap;font-size:11px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px;transition:width .3s}.rs-multi-tab ul li img{border-radius:4px;padding:4px;margin-left:6px;margin-top:1px;vertical-align:top;cursor:pointer}.rs-multi-tab ul li img:hover{background:#dce8f6}.rs-multi-tab ul li:not(:last-child){border-right:none}.rs-multi-tab ul li:first-of-type{border-top-left-radius:8px}.rs-multi-tab ul li:last-child{border-top-right-radius:8px}.rs-multi-tab ul .isSelect{color:#1f3f5c;background:#fff}.rs-multi-tab ul .notSelect img{display:none}.rs-multi-tab ul .notSelect .img-block{display:inline-block;width:22px}.rs-multi-tab ul .notSelect:hover{color:#1f3f5c;background-color:rgba(31,123,255,.04)}.rs-multi-tab ul .notSelect:hover .img-block{display:none}.rs-multi-tab ul .notSelect:hover img{display:inline-block}.rs-multi-tab .refresh-tab{cursor:pointer;text-align:right;color:#6c7c90;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;padding-right:12px}.rs-multi-tab .refresh-tab img{vertical-align:middle;margin-right:4px}.refresh-tab-loading{-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tooltip-content{padding:4px;color:#f8fafb;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:14px}@media (max-width:1400px){.refresh-tab{padding-right:0!important}.refresh-tab span{display:none!important}}@media (max-width:1100px){.rs-multi-tab ul li img{position:absolute;right:3px;background-color:#fff}.notSelect:hover img{position:absolute;right:3px;background-color:#eff5fb}.img-block{display:none!important}}@media (max-width:600px){.rs-multi-tab ul li{padding:0 8px}.rs-multi-tab ul .notSelect .img-block{width:0!important}}"]
302
+ }] }
303
+ ];
304
+ /** @nocollapse */
305
+ MultiTabComponent.ctorParameters = function () { return [
306
+ { type: Router },
307
+ { type: CommonFunctionService },
308
+ { type: ActivatedRoute },
309
+ { type: KeepAliveService },
310
+ { type: ChangeDetectorRef }
311
+ ]; };
312
+ MultiTabComponent.propDecorators = {
313
+ singleReuseUrls: [{ type: Input }],
314
+ onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
315
+ };
316
+ return MultiTabComponent;
317
+ }());
318
+ export { MultiTabComponent };
319
+ if (false) {
320
+ /** @type {?} */
321
+ MultiTabComponent.prototype.singleReuseUrls;
322
+ /** @type {?} */
323
+ MultiTabComponent.prototype.TAB_WIDTH;
324
+ /** @type {?} */
325
+ MultiTabComponent.prototype.GAP_NORMAL;
326
+ /** @type {?} */
327
+ MultiTabComponent.prototype.GAP_SMALL;
328
+ /** @type {?} */
329
+ MultiTabComponent.prototype.textGap;
330
+ /** @type {?} */
331
+ MultiTabComponent.prototype.foo;
332
+ /** @type {?} */
333
+ MultiTabComponent.prototype.comRef;
334
+ /** @type {?} */
335
+ MultiTabComponent.prototype.tabList;
336
+ /** @type {?} */
337
+ MultiTabComponent.prototype.selectedTab;
338
+ /** @type {?} */
339
+ MultiTabComponent.prototype.maxTabs;
340
+ /** @type {?} */
341
+ MultiTabComponent.prototype.screenWidth;
342
+ /** @type {?} */
343
+ MultiTabComponent.prototype.router;
344
+ /** @type {?} */
345
+ MultiTabComponent.prototype.cf;
346
+ /** @type {?} */
347
+ MultiTabComponent.prototype.activatedRoute;
348
+ /** @type {?} */
349
+ MultiTabComponent.prototype.keepAlive;
350
+ /**
351
+ * @type {?}
352
+ * @private
353
+ */
354
+ MultiTabComponent.prototype.ref;
355
+ }
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQ7SUFNRSwyQkFDUyxNQUFjLEVBQ2QsRUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsU0FBMkIsRUFDMUIsR0FBc0I7UUFKdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUV2QixvQkFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7O1FBRXJELGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBSWYsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVTtJQVpoRCxDQUFDOzs7Ozs7SUFjSixvQ0FB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e1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQWN0aXZhdGVkUm91dGUsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyT3V0bGV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgS2VlcEFsaXZlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLW11bHRpLXRhYlwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMga2VlcEFsaXZlOiBLZWVwQWxpdmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG4gIEBJbnB1dCgpIHNpbmdsZVJldXNlVXJsczogc3RyaW5nW10gPSBbXTsgLy/lj6rog73ljZXkuKrnvJPlrZjnmoR1cmxcclxuXHJcbiAgVEFCX1dJRFRIID0gMTY0O1xyXG4gIEdBUF9OT1JNQUwgPSA1NDtcclxuICBHQVBfU01BTEwgPSAzMDtcclxuICB0ZXh0R2FwOyAvLyDmlofmnKzkuI7ovrnmoYbnmoTmgLvpl7Tot51cclxuICBmb286IFJvdXRlck91dGxldDtcclxuICBjb21SZWY6IGFueTtcclxuICB0YWJMaXN0ID0gW107XHJcbiAgc2VsZWN0ZWRUYWI6IG51bWJlciA9IDA7XHJcbiAgbWF4VGFiczogbnVtYmVyID0gMTA7XHJcbiAgc2NyZWVuV2lkdGg6IG51bWJlciA9IHdpbmRvdy5pbm5lcldpZHRoOyAvLyDliJ3lp4vljJblsY/luZXlrr3luqZcclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgb25SZXNpemUoZXZlbnQpIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5pu05paw5bGP5bmV5a695bqmXHJcbiAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0VGFiKCk7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7IC8vIOiOt+WPluW9k+WJjeWvvOiIqlxyXG4gICAgICAgIGlmIChuYXZpZ2F0aW9uKSB7XHJcbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IG5hdmlnYXRpb24uZXh0cmFzLnN0YXRlOyAvLyDojrflj5bkvKDpgJLnmoQgc3RhdGVcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGlmIChjdXJyZW50Um91dGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRUYWIoXHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRoLFxyXG4gICAgICAgICAgICAgIHN0YXRlICYmIHN0YXRlLnRpdGxlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RWxsaXBzaXNUaXRsZSh0aXRsZT8pIHtcclxuICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX05PUk1BTDtcclxuICAgIGlmICh0aGlzLnNjcmVlbldpZHRoIDw9IDExMDApIHtcclxuICAgICAgdGhpcy50ZXh0R2FwID0gdGhpcy5HQVBfU01BTEw7XHJcbiAgICB9XHJcbiAgICBsZXQgeyBhbGxXaWR0aCwgbGVmdFdpZHRoLCByaWdodFdpZHRoIH0gPSB0aGlzLmNhbGNUYWJXaWR0aCgpO1xyXG4gICAgbGV0IHdpZHRoID0gTWF0aC5mbG9vcihcclxuICAgICAgKGFsbFdpZHRoIC0gcmlnaHRXaWR0aCkgLyAodGhpcy50YWJMaXN0ICYmIHRoaXMudGFiTGlzdC5sZW5ndGgpXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICB3aWR0aCA+IHRoaXMuVEFCX1dJRFRIXHJcbiAgICAgICAgICA/IHRoaXMuVEFCX1dJRFRIIC0gdGhpcy50ZXh0R2FwXHJcbiAgICAgICAgICA6IHdpZHRoIC0gdGhpcy50ZXh0R2FwLFxyXG4gICAgICAgIDEyXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYkxpc3QuZm9yRWFjaCgoZWxlLCBpZHgpID0+IHtcclxuICAgICAgICBlbGUuZGlzcGxheVRpdGxlID0gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhcclxuICAgICAgICAgIGVsZS50aXRsZSxcclxuICAgICAgICAgIHdpZHRoID4gdGhpcy5UQUJfV0lEVEhcclxuICAgICAgICAgICAgPyB0aGlzLlRBQl9XSURUSCAtIHRoaXMudGV4dEdhcFxyXG4gICAgICAgICAgICA6IHdpZHRoIC0gdGhpcy50ZXh0R2FwLFxyXG4gICAgICAgICAgMTJcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGNUYWJXaWR0aCgpIHtcclxuICAgIGNvbnN0IHdyYXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYlwiKTtcclxuICAgIGNvbnN0IHVsRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiID4gdWxcIik7XHJcbiAgICBjb25zdCByZWZyZXNoVGFiRGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWIgLnJlZnJlc2gtdGFiXCIpO1xyXG4gICAgbGV0IGFsbFdpZHRoO1xyXG4gICAgbGV0IGxlZnRXaWR0aDtcclxuICAgIGxldCByaWdodFdpZHRoO1xyXG4gICAgaWYgKHdyYXAgJiYgdWxFbGVtZW50ICYmIHJlZnJlc2hUYWJEaXYpIHtcclxuICAgICAgLy8g6I635Y+W5YWD57Sg55qE5L2N572u5L+h5oGvXHJcbiAgICAgIGNvbnN0IHdyYXBSZWN0ID0gd3JhcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgdWxSZWN0ID0gdWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCByZWZyZXNoVGFiUmVjdCA9IHJlZnJlc2hUYWJEaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGFsbFdpZHRoID0gd3JhcFJlY3Qud2lkdGg7XHJcbiAgICAgIGxlZnRXaWR0aCA9IHVsUmVjdC53aWR0aDtcclxuICAgICAgcmlnaHRXaWR0aCA9IHJlZnJlc2hUYWJSZWN0LndpZHRoO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYWxsV2lkdGgsXHJcbiAgICAgIGxlZnRXaWR0aCxcclxuICAgICAgcmlnaHRXaWR0aCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGluaXRUYWIoKSB7XHJcbiAgICBsZXQgVGFiQ2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJUYWJDYWNoZVwiKSk7XHJcbiAgICB0aGlzLnRhYkxpc3QgPSBUYWJDYWNoZSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGNsb3NlVGFiKHRhYiwgaWR4KSB7XHJcbiAgICB0aGlzLnRhYkxpc3QgPSB0aGlzLnRhYkxpc3QuZmlsdGVyKChlbGUpID0+IGVsZS51cmwgIT09IHRhYi51cmwpO1xyXG4gICAgdGhpcy5jbGVhckNhY2hlKHRhYi51cmwpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWIgPT09IGlkeCkge1xyXG4gICAgICBjb25zdCB0YXJnZXRJZHggPSBNYXRoLm1heCgwLCBpZHggLSAxKTtcclxuICAgICAgdGhpcy5jaGFuZ2VUYWIodGhpcy50YWJMaXN0W3RhcmdldElkeF0sIHRhcmdldElkeCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJUYWJDYWNoZVwiLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRhYkxpc3QpKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFiKHRhYiwgaWR4KSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRhYi51cmwpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlkeDtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFiKHVybCwgdGl0bGUpIHtcclxuICAgIGlmICh0aGlzLnRhYkxpc3QubGVuZ3RoID49IHRoaXMubWF4VGFicykge1xyXG4gICAgICB0aGlzLmNsb3NlVGFiKHRoaXMudGFiTGlzdFswXSwgMCk7IC8vIOWIoOmZpOesrOS4gOS4qlxyXG4gICAgfVxyXG4gICAgdGhpcy50YWJMaXN0LnB1c2goe1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBkaXNwbGF5VGl0bGU6IHRoaXMuc2V0RWxsaXBzaXNUaXRsZSh0aXRsZSB8fCBcImRlZmF1bHRcIiksXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3QubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFiKHVybCwgcHVyZVVybCwgdGl0bGUpIHtcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KChlbGUpID0+IGVsZS51cmwgPT09IHVybCk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCA9PT0gLTEpIHtcclxuICAgICAgY29uc3Qgc2luZ2xlSWR4ID0gdGhpcy5zaW5nbGVSZXVzZVVybHMuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGUpID0+IGVsZSA9PT0gcHVyZVVybFxyXG4gICAgICApO1xyXG4gICAgICBpZiAoc2luZ2xlSWR4ICE9PSAtMSkge1xyXG4gICAgICAgIHRoaXMudGFiTGlzdCA9IHRoaXMudGFiTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlKSA9PiAhZWxlLnVybC5pbmNsdWRlcyh0aGlzLnNpbmdsZVJldXNlVXJsc1tzaW5nbGVJZHhdKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWRkVGFiKHVybCwgdGl0bGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlzRXhpc3RJZHg7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFRhYigpIHtcclxuICAgIHRoaXMua2VlcEFsaXZlLmNsZWFyQ2FjaGUodGhpcy50YWJMaXN0W3RoaXMuc2VsZWN0ZWRUYWJdLnVybCk7XHJcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsOyAvLyDojrflj5blvZPliY0gVVJMXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL1wiLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChjdXJyZW50VXJsKTsgLy8g6YeN5paw5a+86Iiq5Yiw5b2T5YmNIFVSTFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHVybCkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpOyAvLyDosIPnlKjoh6rlrprkuYnnrZbnlaXnmoTmuIXpmaTnvJPlrZjmlrnms5VcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/layout/page-list/index.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ // 组件类
7
+ import { Component, ContentChild, Input, } from '@angular/core';
8
+ import { CommonGridComponent } from '../../common-grid/index.component';
9
+ import { debounce } from 'lodash';
10
+ var RsPageListComponent = /** @class */ (function () {
11
+ function RsPageListComponent() {
12
+ this.customPageTitle = false;
13
+ this.isInner = false;
14
+ }
15
+ /**
16
+ * @return {?}
17
+ */
18
+ RsPageListComponent.prototype.ngOnInit = /**
19
+ * @return {?}
20
+ */
21
+ function () {
22
+ var _this = this;
23
+ this.debouncedInput = debounce((/**
24
+ * @return {?}
25
+ */
26
+ function () {
27
+ _this.onSeach();
28
+ }), 300);
29
+ };
30
+ /**
31
+ * @return {?}
32
+ */
33
+ RsPageListComponent.prototype.onSeach = /**
34
+ * @return {?}
35
+ */
36
+ function () {
37
+ this.gridContent.grid.search(this.searchValue);
38
+ };
39
+ /**
40
+ * @return {?}
41
+ */
42
+ RsPageListComponent.prototype.onInput = /**
43
+ * @return {?}
44
+ */
45
+ function () {
46
+ this.debouncedInput();
47
+ };
48
+ RsPageListComponent.decorators = [
49
+ { type: Component, args: [{
50
+ selector: 'rs-page-list',
51
+ template: "<div class=\"rs-page-list-wrap\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <div class=\"rs-content-wrap\">\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-left-col\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
52
+ styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-content-wrap{display:flex;flex-direction:column;flex:1;height:0}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col{display:flex;gap:12px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:28px}.rs-page-list-wrap .rs-content-wrap .rs-grid-wrap{flex:1;height:0}.rs-page-list-wrap.is-not-inner .rs-content-wrap{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px 0 rgba(0,0,0,.1)}.rs-page-list-wrap .rs-search-input{width:240px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px 0 rgba(31,123,255,.4)!important;border-color:var(--rs-input-hover-border-color)!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group input.e-input:hover{box-shadow:none!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group::before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}"]
53
+ }] }
54
+ ];
55
+ RsPageListComponent.propDecorators = {
56
+ gridContent: [{ type: ContentChild, args: [CommonGridComponent, { static: true },] }],
57
+ pageTitle: [{ type: Input }],
58
+ customPageTitle: [{ type: Input }],
59
+ isInner: [{ type: Input }]
60
+ };
61
+ return RsPageListComponent;
62
+ }());
63
+ export { RsPageListComponent };
64
+ if (false) {
65
+ /** @type {?} */
66
+ RsPageListComponent.prototype.gridContent;
67
+ /** @type {?} */
68
+ RsPageListComponent.prototype.pageTitle;
69
+ /** @type {?} */
70
+ RsPageListComponent.prototype.customPageTitle;
71
+ /** @type {?} */
72
+ RsPageListComponent.prototype.isInner;
73
+ /**
74
+ * @type {?}
75
+ * @private
76
+ */
77
+ RsPageListComponent.prototype.debouncedInput;
78
+ /** @type {?} */
79
+ RsPageListComponent.prototype.searchValue;
80
+ }
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcGFnZS1saXN0L2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVsQztJQUFBO1FBUVcsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQW9CM0IsQ0FBQzs7OztJQWhCQyxzQ0FBUTs7O0lBQVI7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUTs7O1FBQUM7WUFDN0IsS0FBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2hCLENBQUMsR0FBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7Ozs7SUFLRCxxQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7SUFFRCxxQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDdkIsQ0FBQzs7Z0JBNUJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsK3JDQUFxQzs7aUJBRXRDOzs7OEJBRUUsWUFBWSxTQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs0QkFDbEQsS0FBSztrQ0FDTCxLQUFLOzBCQUNMLEtBQUs7O0lBb0JSLDBCQUFDO0NBQUEsQUE3QkQsSUE2QkM7U0F4QlksbUJBQW1COzs7SUFDOUIsMENBQWlFOztJQUNqRSx3Q0FBbUI7O0lBQ25CLDhDQUFpQzs7SUFDakMsc0NBQXlCOzs7OztJQUV6Qiw2Q0FBaUM7O0lBVWpDLDBDQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbkdyaWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24tZ3JpZC9pbmRleC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLXBhZ2UtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luZGV4LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbmRleC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnNQYWdlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQENvbnRlbnRDaGlsZChDb21tb25HcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBncmlkQ29udGVudDtcclxuICBASW5wdXQoKSBwYWdlVGl0bGU7XHJcbiAgQElucHV0KCkgY3VzdG9tUGFnZVRpdGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNJbm5lciA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRlYm91bmNlZElucHV0OiBGdW5jdGlvbjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRlYm91bmNlZElucHV0ID0gZGVib3VuY2UoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uU2VhY2goKVxyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc2VhcmNoVmFsdWU7XHJcbiAgb25TZWFjaCgpIHtcclxuICAgIHRoaXMuZ3JpZENvbnRlbnQuZ3JpZC5zZWFyY2godGhpcy5zZWFyY2hWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCl7XHJcbiAgICB0aGlzLmRlYm91bmNlZElucHV0KClcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/layout/page-tab/index.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ // 组件类
7
+ import { Component, EventEmitter, Input, Output, } from "@angular/core";
8
+ var RsPageTabComponent = /** @class */ (function () {
9
+ function RsPageTabComponent() {
10
+ this.customPageTitle = false;
11
+ this.tabList = [];
12
+ this.tabChange = new EventEmitter();
13
+ this.animation = {
14
+ previous: { effect: "", duration: 0, easing: "" },
15
+ next: { effect: "", duration: 0, easing: "" },
16
+ };
17
+ }
18
+ /**
19
+ * @return {?}
20
+ */
21
+ RsPageTabComponent.prototype.ngOnInit = /**
22
+ * @return {?}
23
+ */
24
+ function () { };
25
+ /**
26
+ * @param {?} e
27
+ * @return {?}
28
+ */
29
+ RsPageTabComponent.prototype.onTabClick = /**
30
+ * @param {?} e
31
+ * @return {?}
32
+ */
33
+ function (e) {
34
+ this.tabChange.emit(this.tabList[e.selectedIndex]);
35
+ };
36
+ RsPageTabComponent.decorators = [
37
+ { type: Component, args: [{
38
+ selector: "rs-page-tab",
39
+ template: "<div class=\"rs-page-list-wrap\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <ejs-tab\r\n class=\"rs-tab\"\r\n (selected)=\"onTabClick($event)\"\r\n [animation]=\"animation\"\r\n\toverflowMode=\"Popup\"\r\n heightAdjustMode=\"None\"\r\n >\r\n <e-tabitems>\r\n <e-tabitem *ngFor=\"let item of tabList\">\r\n <ng-template #headerText>\r\n <div>{{ item.title }}</div>\r\n </ng-template>\r\n </e-tabitem>\r\n </e-tabitems>\r\n </ejs-tab>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[tabContentSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n",
40
+ styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-tab{padding:0 20px}.rs-page-list-wrap .rs-tab .e-tab-header::before{display:none}.rs-page-list-wrap .rs-tab .e-toolbar-items{gap:32px;min-height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item{border:0}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap{padding:0;border:0;position:relative;height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap::before{content:\" \";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:transparent}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-text{color:#5f6f81;font-family:Arial;font-size:13px;font-style:normal;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-wrap::before{background-color:#1f7bff}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-text{color:#44566c}.rs-page-list-wrap .rs-tab .e-hor-nav{width:24px;height:24px;min-height:24px;top:3px;border-radius:4px;background-color:transparent!important;border:1px solid #eaedf0!important}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons{box-shadow:none;background-color:transparent!important;border-color:transparent!important;background-image:url(../../assets/img/icon-more.svg);background-size:14px 3px;background-repeat:no-repeat;background-position:4px 14px}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons::before{display:none}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons:hover{background-color:#eff5fb!important;border-color:#b1d0fc!important;background-image:url(../../assets/img/icon-more-active.svg)}.rs-page-list-wrap .rs-tab .e-toolbar-pop{min-width:160px;border-radius:10px;background:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25);padding:8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap{padding:0 8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap .e-tab-text{color:#44566c;font-family:Arial;font-size:13px;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap:hover{border-radius:6px;background:rgba(31,123,255,.05)}.rs-page-list-wrap .rs-grid-wrap{flex:1;height:0}"]
41
+ }] }
42
+ ];
43
+ RsPageTabComponent.propDecorators = {
44
+ pageTitle: [{ type: Input }],
45
+ customPageTitle: [{ type: Input }],
46
+ tabList: [{ type: Input }],
47
+ currentTab: [{ type: Input }],
48
+ tabChange: [{ type: Output }]
49
+ };
50
+ return RsPageTabComponent;
51
+ }());
52
+ export { RsPageTabComponent };
53
+ if (false) {
54
+ /** @type {?} */
55
+ RsPageTabComponent.prototype.pageTitle;
56
+ /** @type {?} */
57
+ RsPageTabComponent.prototype.customPageTitle;
58
+ /** @type {?} */
59
+ RsPageTabComponent.prototype.tabList;
60
+ /** @type {?} */
61
+ RsPageTabComponent.prototype.currentTab;
62
+ /** @type {?} */
63
+ RsPageTabComponent.prototype.tabChange;
64
+ /** @type {?} */
65
+ RsPageTabComponent.prototype.animation;
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcGFnZS10YWIvaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkI7SUFBQTtRQU9XLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFJdEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFXO1lBQzNCLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ2pELElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1NBQzdDLENBQUM7SUFNSCxDQUFDOzs7O0lBTEMscUNBQVE7OztJQUFSLGNBQVksQ0FBQzs7Ozs7SUFFYix1Q0FBVTs7OztJQUFWLFVBQVcsQ0FBQztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7Z0JBdEJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsczFCQUFxQzs7aUJBRXRDOzs7NEJBRUUsS0FBSztrQ0FDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzs0QkFFTCxNQUFNOztJQVlULHlCQUFDO0NBQUEsQUF2QkQsSUF1QkM7U0FsQlksa0JBQWtCOzs7SUFDN0IsdUNBQW1COztJQUNuQiw2Q0FBaUM7O0lBQ2pDLHFDQUFzQjs7SUFDdEIsd0NBQW9COztJQUVwQix1Q0FDK0I7O0lBRS9CLHVDQUdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtcGFnZS10YWJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnNQYWdlVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwYWdlVGl0bGU7XHJcbiAgQElucHV0KCkgY3VzdG9tUGFnZVRpdGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGFiTGlzdCA9IFtdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRUYWI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIGFuaW1hdGlvbjogb2JqZWN0ID0ge1xyXG5cdFx0cHJldmlvdXM6IHsgZWZmZWN0OiBcIlwiLCBkdXJhdGlvbjogMCwgZWFzaW5nOiBcIlwiIH0sXHJcblx0XHRuZXh0OiB7IGVmZmVjdDogXCJcIiwgZHVyYXRpb246IDAsIGVhc2luZzogXCJcIiB9LFxyXG5cdH07XHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBvblRhYkNsaWNrKGUpIHtcclxuICAgIHRoaXMudGFiQ2hhbmdlLmVtaXQodGhpcy50YWJMaXN0W2Uuc2VsZWN0ZWRJbmRleF0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -31,13 +31,13 @@ var RSAsideComponent = /** @class */ (function () {
31
31
  */
32
32
  function (item) {
33
33
  this.currentNav = item.title;
34
- this.router.navigate([item.url]);
34
+ this.router.navigate([item.url], { state: { title: item.title } });
35
35
  };
36
36
  RSAsideComponent.decorators = [
37
37
  { type: Component, args: [{
38
38
  selector: "rs-aside",
39
- template: "<div class=\"rs-aside\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.title }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <div\r\n class=\"icon-wrap\"\r\n [ngStyle]=\"{\r\n stroke: currentNav === nav.title ? '#44566c' : '#6c7c90',\r\n fill: currentNav === nav.title ? '#44566c' : '#6c7c90'\r\n }\"\r\n >\r\n <svg-icon\r\n [name]=\"nav.icon\"\r\n [svgStyle]=\"{\r\n 'width.px': 16,\r\n 'height.px': 16\r\n }\"\r\n ></svg-icon>\r\n </div>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.title\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
40
- styles: [".rs-aside{display:flex;flex-direction:column;height:100%}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item .icon-wrap{width:33px;height:16px}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap{width:24px;height:24px;border-radius:12px;border:1px solid #eaedf0;display:flex;justify-content:center;align-items:center;background-color:#fff;stroke:#6c7c90;fill:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap:not(.disabled){cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap:not(.disabled):hover{stroke:var(--rs-active-color);fill:var(--rs-active-color)}.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}"]
39
+ template: "<div class=\"rs-aside\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.title }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.icon\"></mat-icon>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.title\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
40
+ styles: [".rs-aside{display:flex;flex-direction:column;height:100%}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon{width:33px;height:16px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item:hover .nav-item-inner ::ng-deep .menu-icon svg{color:#44566c;stroke:#44566c}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;border:1px solid #eaedf0;border-radius:24px;cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon.disabled{cursor:default;opacity:.5}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover{background-color:#fff}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover svg{color:#1f7bff;stroke:#1f7bff}.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}"]
41
41
  }] }
42
42
  ];
43
43
  /** @nocollapse */
@@ -61,4 +61,4 @@ if (false) {
61
61
  /** @type {?} */
62
62
  RSAsideComponent.prototype.router;
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtYXNpZGUvaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFDTCxTQUFTLEVBR1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QztJQU1FLDBCQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQyxDQUFDLFNBQVM7O1FBQ3ZDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFdEIsZUFBVSxHQUFHLElBQUksQ0FBQztJQUprQixDQUFDOzs7O0lBR3JDLG1DQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBRWIscUNBQVU7Ozs7SUFBVixVQUFXLElBQUk7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDOztnQkFkRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLHFrQ0FBcUM7O2lCQUV0Qzs7OztnQkFOUSxNQUFNOzs7OEJBU1osS0FBSzswQkFDTCxLQUFLOztJQU9SLHVCQUFDO0NBQUEsQUFmRCxJQWVDO1NBVlksZ0JBQWdCOzs7SUFFM0IsdUNBQXNDOztJQUN0QyxtQ0FBc0I7O0lBRXRCLHNDQUFrQjs7SUFKTixrQ0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWFzaWRlXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJTQXNpZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge31cclxuICBASW5wdXQoKSBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyDmjqXmlLbovpPlhaXlsZ7mgKdcclxuICBASW5wdXQoKSBuYXZMaXN0ID0gW107XHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIGN1cnJlbnROYXYgPSBudWxsOyAgXHJcbiAgb25OYXZDbGljayhpdGVtKSB7XHJcbiAgICB0aGlzLmN1cnJlbnROYXYgPSBpdGVtLnRpdGxlO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtYXNpZGUvaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFDTCxTQUFTLEVBR1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QztJQU1FLDBCQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQyxDQUFDLFNBQVM7O1FBQ3ZDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFdEIsZUFBVSxHQUFHLElBQUksQ0FBQztJQUprQixDQUFDOzs7O0lBR3JDLG1DQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBRWIscUNBQVU7Ozs7SUFBVixVQUFXLElBQUk7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOztnQkFkRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLCtyQkFBcUM7O2lCQUV0Qzs7OztnQkFOUSxNQUFNOzs7OEJBU1osS0FBSzswQkFDTCxLQUFLOztJQU9SLHVCQUFDO0NBQUEsQUFmRCxJQWVDO1NBVlksZ0JBQWdCOzs7SUFFM0IsdUNBQXNDOztJQUN0QyxtQ0FBc0I7O0lBRXRCLHNDQUFrQjs7SUFKTixrQ0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWFzaWRlXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJTQXNpZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge31cclxuICBASW5wdXQoKSBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyDmjqXmlLbovpPlhaXlsZ7mgKdcclxuICBASW5wdXQoKSBuYXZMaXN0ID0gW107XHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIGN1cnJlbnROYXYgPSBudWxsOyAgXHJcbiAgb25OYXZDbGljayhpdGVtKSB7XHJcbiAgICB0aGlzLmN1cnJlbnROYXYgPSBpdGVtLnRpdGxlO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSx7IHN0YXRlOiB7IHRpdGxlOiBpdGVtLnRpdGxlIH19KTtcclxuICB9XHJcbn1cclxuIl19
@@ -63,8 +63,8 @@ var RSHeaderComponent = /** @class */ (function () {
63
63
  RSHeaderComponent.decorators = [
64
64
  { type: Component, args: [{
65
65
  selector: "rs-header",
66
- template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{currentLang.text}}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
67
- styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .rs-toolbar-wrap{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
66
+ template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"quick-icon-group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{currentLang.text}}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
67
+ styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .rs-toolbar-wrap,.rs-header .rs-toolbar-wrap .quick-icon-group{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;margin-right:24px;cursor:pointer}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover{border-radius:4px;background:rgba(31,123,255,.04)}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover svg{color:#1f7bff;stroke:#1f7bff}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
68
68
  }] }
69
69
  ];
70
70
  RSHeaderComponent.propDecorators = {
@@ -88,4 +88,4 @@ if (false) {
88
88
  /** @type {?} */
89
89
  RSHeaderComponent.prototype.currentLang;
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtaGVhZGVyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCO0lBQUE7UUFPRSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFPcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNcEIsZ0JBQVcsR0FBRztZQUNaO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRixDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTXBDLENBQUM7Ozs7SUE5QkMsb0NBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7O0lBR0Qsd0NBQVk7OztJQUFaO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBaUJELDBDQUFjOzs7O0lBQWQsVUFBZSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJOzs7O1FBQ3RDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBN0IsQ0FBNkIsRUFDeEMsQ0FBQztJQUNKLENBQUM7O2dCQXhDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLCt6Q0FBcUM7O2lCQUV0Qzs7OzZCQUVFLE1BQU07Z0NBRU4sS0FBSzs7SUFpQ1Isd0JBQUM7Q0FBQSxBQXpDRCxJQXlDQztTQXBDWSxpQkFBaUI7OztJQUM1Qix1Q0FDZ0M7O0lBQ2hDLDBDQUFvQzs7SUFDcEMsd0NBQW1COztJQU1uQix3Q0FBb0I7O0lBTXBCLHdDQWFFOztJQUNGLHdDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWhlYWRlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSU0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpXHJcbiAgdG9nZ2xlTWVudSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBsYXN0TG9naW5UaW1lID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgdHJhbnNsYXRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSk7XHJcbiAgfVxyXG5cclxuICBpc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gIG9uVG9nZ2xlTWVudSgpIHtcclxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuICAgIHRoaXMudG9nZ2xlTWVudS5lbWl0KHRoaXMuaXNDb2xsYXBzZWQpO1xyXG4gIH1cclxuXHJcbiAgbGFuZ09wdGlvbnMgPSBbXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiAxLFxyXG4gICAgICB0ZXh0OiBcIkVuZ2xpc2hcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiAyLFxyXG4gICAgICB0ZXh0OiBcIue5gemrlOS4reaWh1wiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IDMsXHJcbiAgICAgIHRleHQ6IFwi566A5L2T5Lit5paHXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgY3VycmVudExhbmcgPSB0aGlzLmxhbmdPcHRpb25zWzBdO1xyXG4gIHNlbGVjdExhbmd1YWdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5nID0gdGhpcy5sYW5nT3B0aW9ucy5maW5kKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbS50ZXh0ID09PSBldmVudC5pdGVtLnRleHRcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtaGVhZGVyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCO0lBQUE7UUFPRSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFPcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNcEIsZ0JBQVcsR0FBRztZQUNaO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRixDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTXBDLENBQUM7Ozs7SUE5QkMsb0NBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7O0lBR0Qsd0NBQVk7OztJQUFaO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBaUJELDBDQUFjOzs7O0lBQWQsVUFBZSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJOzs7O1FBQ3RDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBN0IsQ0FBNkIsRUFDeEMsQ0FBQztJQUNKLENBQUM7O2dCQXhDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLDAwQ0FBcUM7O2lCQUV0Qzs7OzZCQUVFLE1BQU07Z0NBRU4sS0FBSzs7SUFpQ1Isd0JBQUM7Q0FBQSxBQXpDRCxJQXlDQztTQXBDWSxpQkFBaUI7OztJQUM1Qix1Q0FDZ0M7O0lBQ2hDLDBDQUFvQzs7SUFDcEMsd0NBQW1COztJQU1uQix3Q0FBb0I7O0lBTXBCLHdDQWFFOztJQUNGLHdDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWhlYWRlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSU0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpXHJcbiAgdG9nZ2xlTWVudSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBsYXN0TG9naW5UaW1lID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgdHJhbnNsYXRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSk7XHJcbiAgfVxyXG5cclxuICBpc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gIG9uVG9nZ2xlTWVudSgpIHtcclxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuICAgIHRoaXMudG9nZ2xlTWVudS5lbWl0KHRoaXMuaXNDb2xsYXBzZWQpO1xyXG4gIH1cclxuXHJcbiAgbGFuZ09wdGlvbnMgPSBbXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiAxLFxyXG4gICAgICB0ZXh0OiBcIkVuZ2xpc2hcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiAyLFxyXG4gICAgICB0ZXh0OiBcIue5gemrlOS4reaWh1wiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IDMsXHJcbiAgICAgIHRleHQ6IFwi566A5L2T5Lit5paHXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgY3VycmVudExhbmcgPSB0aGlzLmxhbmdPcHRpb25zWzBdO1xyXG4gIHNlbGVjdExhbmd1YWdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5nID0gdGhpcy5sYW5nT3B0aW9ucy5maW5kKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbS50ZXh0ID09PSBldmVudC5pdGVtLnRleHRcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==