raise-common-lib 0.0.43 → 0.0.45
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/bundles/raise-common-lib.umd.js +28 -10
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/layout/multi-tab/index.component.js +13 -11
- package/esm2015/lib/service/common-function.service.js +14 -1
- package/esm5/lib/layout/multi-tab/index.component.js +13 -12
- package/esm5/lib/service/common-function.service.js +18 -1
- package/fesm2015/raise-common-lib.js +24 -9
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +28 -10
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/layout/multi-tab/index.component.d.ts +2 -1
- package/lib/service/common-function.service.d.ts +4 -1
- package/package.json +1 -1
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/style/reset/dropdown.scss +0 -1
- package/src/assets/style/reset/grid.scss +10 -1
- package/src/assets/style/reset/input.scss +0 -2
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
// 组件类
|
|
7
|
-
import { ChangeDetectorRef, Component, HostListener, Input, } from "@angular/core";
|
|
7
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, } from "@angular/core";
|
|
8
8
|
import { ActivatedRoute, NavigationEnd, Router, } from "@angular/router";
|
|
9
9
|
import { filter } from "rxjs/operators";
|
|
10
10
|
import { RouteReuseStrategy } from "@angular/router";
|
|
@@ -30,6 +30,7 @@ export class MultiTabComponent {
|
|
|
30
30
|
//只能单个缓存的url
|
|
31
31
|
this.noGenerateTabUrls = []; //不生成tab的url
|
|
32
32
|
//不生成tab的url
|
|
33
|
+
this.onRefreshTab = new EventEmitter();
|
|
33
34
|
this.subscriptions = [];
|
|
34
35
|
this.TAB_WIDTH = 164;
|
|
35
36
|
this.GAP_NORMAL = 54;
|
|
@@ -294,16 +295,14 @@ export class MultiTabComponent {
|
|
|
294
295
|
* @return {?}
|
|
295
296
|
*/
|
|
296
297
|
refreshTab() {
|
|
297
|
-
this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
|
|
298
|
-
this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
298
|
+
// this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
|
|
299
|
+
// this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
299
300
|
/** @type {?} */
|
|
300
301
|
const currentUrl = this.router.url;
|
|
301
|
-
this.
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
306
|
-
}));
|
|
302
|
+
this.onRefreshTab.emit(currentUrl);
|
|
303
|
+
// this.router.navigateByUrl("/", { skipLocationChange: true }).then(() => {
|
|
304
|
+
// this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
305
|
+
// });
|
|
307
306
|
}
|
|
308
307
|
/**
|
|
309
308
|
* @param {?} url
|
|
@@ -318,7 +317,7 @@ MultiTabComponent.decorators = [
|
|
|
318
317
|
{ type: Component, args: [{
|
|
319
318
|
selector: "rs-multi-tab",
|
|
320
319
|
template: "<div class=\"rs-multi-tab\" [ngClass]=\"{ 'b-line': tabList.length > 0 }\">\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(i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\" *ngIf=\"tabList.length > 0\">\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",
|
|
321
|
-
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
320
|
+
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between;margin:0 auto;max-width:1886px}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
322
321
|
}] }
|
|
323
322
|
];
|
|
324
323
|
/** @nocollapse */
|
|
@@ -333,6 +332,7 @@ MultiTabComponent.ctorParameters = () => [
|
|
|
333
332
|
MultiTabComponent.propDecorators = {
|
|
334
333
|
singleReuseUrls: [{ type: Input }],
|
|
335
334
|
noGenerateTabUrls: [{ type: Input }],
|
|
335
|
+
onRefreshTab: [{ type: Output }],
|
|
336
336
|
onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
|
|
337
337
|
};
|
|
338
338
|
if (false) {
|
|
@@ -342,6 +342,8 @@ if (false) {
|
|
|
342
342
|
MultiTabComponent.prototype.singleReuseUrls;
|
|
343
343
|
/** @type {?} */
|
|
344
344
|
MultiTabComponent.prototype.noGenerateTabUrls;
|
|
345
|
+
/** @type {?} */
|
|
346
|
+
MultiTabComponent.prototype.onRefreshTab;
|
|
345
347
|
/**
|
|
346
348
|
* @type {?}
|
|
347
349
|
* @private
|
|
@@ -389,4 +391,4 @@ if (false) {
|
|
|
389
391
|
*/
|
|
390
392
|
MultiTabComponent.prototype.routeReuseStrategy;
|
|
391
393
|
}
|
|
392
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRN0QsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7O0lBQzVCLFlBQ1MsTUFBYyxFQUNkLEVBQXlCLEVBQ3pCLGNBQThCLEVBQzdCLEdBQXNCLEVBQ3RCLE1BQXFCLEVBQ3JCLGtCQUFzQztRQUx2QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsT0FBRSxHQUFGLEVBQUUsQ0FBdUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUt2QyxvQkFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7O1FBQzVDLHNCQUFpQixHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7O1FBQy9DLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUMzQyxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENB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QkFBcUI7WUFSNUIsY0FBYztZQVJkLGlCQUFpQjtZQWlCVixhQUFhO1lBRmIsa0JBQWtCOzs7OEJBc0J4QixLQUFLO2dDQUNMLEtBQUs7dUJBWUwsWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQWR6QyxzQ0FBNEI7O0lBQzVCLDRDQUF3Qzs7SUFDeEMsOENBQTBDOzs7OztJQUMxQywwQ0FBMkM7O0lBQzNDLHNDQUFnQjs7SUFDaEIsdUNBQWdCOztJQUNoQixzQ0FBZTs7SUFDZixvQ0FBUTs7SUFDUixnQ0FBa0I7O0lBQ2xCLG1DQUFZOztJQUNaLG9DQUFhOztJQUNiLHdDQUF3Qjs7SUFDeEIsb0NBQXFCOztJQUNyQix3Q0FBd0M7O0lBdEJ0QyxtQ0FBcUI7O0lBQ3JCLCtCQUFnQzs7SUFDaEMsMkNBQXFDOzs7OztJQUNyQyxnQ0FBOEI7Ozs7O0lBQzlCLG1DQUE2Qjs7Ozs7SUFDN0IsK0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBBY3RpdmF0ZWRSb3V0ZSxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXJPdXRsZXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDb21tb25GdW5jdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEcmF3ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgS2VlcEFsaXZlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtbXVsdGktdGFiXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNmOiBDb21tb25GdW5jdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkcmF3ZXI6IERyYXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlUmV1c2VTdHJhdGVneTogUm91dGVSZXVzZVN0cmF0ZWd5XHJcbiAgKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZSA9IHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5IGFzIEtlZXBBbGl2ZVNlcnZpY2U7XHJcbiAgfVxyXG4gIGtlZXBBbGl2ZTogS2VlcEFsaXZlU2VydmljZTtcclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcbiAgQElucHV0KCkgbm9HZW5lcmF0ZVRhYlVybHM6IHN0cmluZ1tdID0gW107IC8v5LiN55Sf5oiQdGFi55qEdXJsXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIFRBQl9XSURUSCA9IDE2NDtcclxuICBHQVBfTk9STUFMID0gNTQ7XHJcbiAgR0FQX1NNQUxMID0gMzA7XHJcbiAgdGV4dEdhcDsgLy8g5paH5pys5LiO6L655qGG55qE5oC76Ze06LedXHJcbiAgZm9vOiBSb3V0ZXJPdXRsZXQ7XHJcbiAgY29tUmVmOiBhbnk7XHJcbiAgdGFiTGlzdCA9IFtdO1xyXG4gIHNlbGVjdGVkVGFiOiBudW1iZXIgPSAwO1xyXG4gIG1heFRhYnM6IG51bWJlciA9IDEwO1xyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5Yid5aeL5YyW5bGP5bmV5a695bqmXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOabtOaWsOWxj+W5leWuveW6plxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG5cdFx0XHR0aGlzLmNmLmNsb3NlVGFiJC5zdWJzY3JpYmUoKGlkeCkgPT4ge1xyXG4gICAgICAgIGlmKGlkeCA9PT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgIGlkeCA9IHRoaXMuc2VsZWN0ZWRUYWI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2xvc2VUYWIoaWR4KTsgICAgICAgIFxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuICAgIHRoaXMuaW5pdFRhYigpO1xyXG4gICAgLy8g6Kej5Yaz5Yi35paw6aG16Z2i5ZCO77yM6YCJ5Lit55qEIHRhYiDkuKLlpLHpl67pophcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KFxyXG4gICAgICAoZWxlKSA9PiBlbGUudXJsID09PSB0aGlzLnJvdXRlci51cmxcclxuICAgICk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlzRXhpc3RJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpOyAvLyDojrflj5blvZPliY3lr7zoiKpcclxuICAgICAgICBpZiAobmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTsgLy8g6I635Y+W5Lyg6YCS55qEIHN0YXRlXHJcbiAgICAgICAgICBjb25zdCBza2lwTG9jYXRpb25DaGFuZ2UgPSBuYXZpZ2F0aW9uLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2U7IC8vIOiOt+WPluaYr+WQpui3s+i/hyBsb2NhdGlvbiBjaGFuZ2VcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGxldCB0aXRsZSA9IHN0YXRlICYmIHN0YXRlLnRpdGxlO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbnRSb3V0ZSAmJiAhc2tpcExvY2F0aW9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9HZW5lcmF0ZVRhYlVybHMuaW5jbHVkZXMoIHRoaXMucm91dGVyLnVybCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjsgLy8g5o6S6Zmk5LiN55Sf5oiQdGFi55qEdXJsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdC5sZW5ndGggPT09IDAgJiYgIXN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgdGl0bGUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldFRhYihcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgY3VycmVudFJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGgsXHJcbiAgICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICB9LCA1MCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RWxsaXBzaXNUaXRsZSh0aXRsZT8pIHtcclxuICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX05PUk1BTDtcclxuICAgIGlmICh0aGlzLnNjcmVlbldpZHRoIDw9IDExMDApIHtcclxuICAgICAgdGhpcy50ZXh0R2FwID0gdGhpcy5HQVBfU01BTEw7XHJcbiAgICB9XHJcbiAgICBsZXQgeyBhbGxXaWR0aCwgbGVmdFdpZHRoLCByaWdodFdpZHRoIH0gPSB0aGlzLmNhbGNUYWJXaWR0aCgpO1xyXG4gICAgbGV0IHdpZHRoID0gTWF0aC5mbG9vcihcclxuICAgICAgKGFsbFdpZHRoIC0gcmlnaHRXaWR0aCkgLyAodGhpcy50YWJMaXN0ICYmIHRoaXMudGFiTGlzdC5sZW5ndGgpXHJcbiAgICApO1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIHdpZHRoID4gdGhpcy5UQUJfV0lEVEhcclxuICAgICAgICAgID8gdGhpcy5UQUJfV0lEVEggLSB0aGlzLnRleHRHYXBcclxuICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgMTJcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFiTGlzdC5mb3JFYWNoKChlbGUsIGlkeCkgPT4ge1xyXG4gICAgICAgIGVsZS5kaXNwbGF5VGl0bGUgPSB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgICAgZWxlLnRpdGxlLFxyXG4gICAgICAgICAgd2lkdGggPiB0aGlzLlRBQl9XSURUSFxyXG4gICAgICAgICAgICA/IHRoaXMuVEFCX1dJRFRIIC0gdGhpcy50ZXh0R2FwXHJcbiAgICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgICAxMlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1RhYldpZHRoKCkge1xyXG4gICAgY29uc3Qgd3JhcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiXCIpO1xyXG4gICAgY29uc3QgdWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWIgPiB1bFwiKTtcclxuICAgIGNvbnN0IHJlZnJlc2hUYWJEaXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYiAucmVmcmVzaC10YWJcIik7XHJcbiAgICBsZXQgYWxsV2lkdGg7XHJcbiAgICBsZXQgbGVmdFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0V2lkdGg7XHJcbiAgICBpZiAod3JhcCAmJiB1bEVsZW1lbnQpIHtcclxuICAgICAgLy8g6I635Y+W5YWD57Sg55qE5L2N572u5L+h5oGvXHJcbiAgICAgIGNvbnN0IHdyYXBSZWN0ID0gd3JhcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgdWxSZWN0ID0gdWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCByZWZyZXNoVGFiUmVjdCA9XHJcbiAgICAgICAgcmVmcmVzaFRhYkRpdiAmJiByZWZyZXNoVGFiRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBhbGxXaWR0aCA9IHdyYXBSZWN0LndpZHRoO1xyXG4gICAgICBsZWZ0V2lkdGggPSB1bFJlY3Qud2lkdGg7XHJcbiAgICAgIHJpZ2h0V2lkdGggPSAocmVmcmVzaFRhYlJlY3QgJiYgcmVmcmVzaFRhYlJlY3Qud2lkdGgpIHx8IDEwMDtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFsbFdpZHRoLFxyXG4gICAgICBsZWZ0V2lkdGgsXHJcbiAgICAgIHJpZ2h0V2lkdGgsXHJcbiAgICB9O1xyXG4gIH1cclxuICBpbml0VGFiKCkge1xyXG4gICAgbGV0IFRhYkNhY2hlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiVGFiQ2FjaGVcIikpO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gVGFiQ2FjaGUgfHwgW107XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYihpZHgpIHtcclxuICAgIGNvbnN0IHRhYiA9IHRoaXMudGFiTGlzdFtpZHhdO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcigoZWxlKSA9PiBlbGUudXJsICE9PSB0YWIudXJsKTtcclxuICAgIHRoaXMuY2xlYXJDYWNoZSh0YWIudXJsKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVGFiID09PSBpZHgpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0SWR4ID0gTWF0aC5tYXgoMCwgaWR4IC0gMSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMudGFiTGlzdFt0YXJnZXRJZHhdLCB0YXJnZXRJZHgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwiVGFiQ2FjaGVcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy50YWJMaXN0KSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRhYih0YWIsIGlkeCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIudXJsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpZHg7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYih1cmwsIHRpdGxlKSB7XHJcbiAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA+PSB0aGlzLm1heFRhYnMpIHtcclxuICAgICAgdGhpcy5jbG9zZVRhYigwKTsgLy8g5Yig6Zmk56ys5LiA5LiqXHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYkxpc3QucHVzaCh7XHJcbiAgICAgIHVybDogdXJsLFxyXG4gICAgICB0aXRsZTogdGl0bGUgfHwgXCJkZWZhdWx0XCIsXHJcbiAgICAgIGRpc3BsYXlUaXRsZTogdGl0bGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3QubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFiKHVybCwgcHVyZVVybD8sIHRpdGxlPykge1xyXG4gICAgY29uc3QgaXNFeGlzdElkeCA9IHRoaXMudGFiTGlzdC5maW5kSW5kZXgoKGVsZSkgPT4gZWxlLnVybCA9PT0gdXJsKTtcclxuICAgIGlmIChpc0V4aXN0SWR4ID09PSAtMSkge1xyXG4gICAgICBjb25zdCBzaW5nbGVJZHggPSB0aGlzLnNpbmdsZVJldXNlVXJscy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlID09PSBwdXJlVXJsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChzaW5nbGVJZHggIT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcihcclxuICAgICAgICAgIChlbGUpID0+ICFlbGUudXJsLmluY2x1ZGVzKHRoaXMuc2luZ2xlUmV1c2VVcmxzW3NpbmdsZUlkeF0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHVybCk7XHJcbiAgICAgICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodXJsKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZFRhYih1cmwsIHRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2hUYWIoKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodGhpcy50YWJMaXN0W3RoaXMuc2VsZWN0ZWRUYWJdLnVybCk7XHJcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsOyAvLyDojrflj5blvZPliY0gVVJMXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL1wiLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChjdXJyZW50VXJsKTsgLy8g6YeN5paw5a+86Iiq5Yiw5b2T5YmNIFVSTFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHVybCkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpOyAvLyDosIPnlKjoh6rlrprkuYnnrZbnlaXnmoTmuIXpmaTnvJPlrZjmlrnms5VcclxuICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHVybCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsTUFBTSxHQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVE3RCxNQUFNLE9BQU8saUJBQWlCOzs7Ozs7Ozs7SUFDNUIsWUFDUyxNQUFjLEVBQ2QsRUFBeUIsRUFDekIsY0FBOEIsRUFDN0IsR0FBc0IsRUFDdEIsTUFBcUIsRUFDckIsa0JBQXNDO1FBTHZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBS3ZDLG9CQUFlLEdBQWEsRUFBRSxDQUFDLENBQUMsWUFBWTs7UUFDNUMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDLENBQUMsWUFBWTs7UUFDN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBDLGtCQUFhLEdBQW1CLEVB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Z0I7O0lBQ2hCLHNDQUFlOztJQUNmLG9DQUFROztJQUNSLGdDQUFrQjs7SUFDbEIsbUNBQVk7O0lBQ1osb0NBQWE7O0lBQ2Isd0NBQXdCOztJQUN4QixvQ0FBcUI7O0lBQ3JCLHdDQUF3Qzs7SUF4QnRDLG1DQUFxQjs7SUFDckIsK0JBQWdDOztJQUNoQywyQ0FBcUM7Ozs7O0lBQ3JDLGdDQUE4Qjs7Ozs7SUFDOUIsbUNBQTZCOzs7OztJQUM3QiwrQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQWN0aXZhdGVkUm91dGUsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyT3V0bGV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFJvdXRlUmV1c2VTdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRHJhd2VyU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEtlZXBBbGl2ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9rZWVwLWFsaXZlLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLW11bHRpLXRhYlwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBjZjogQ29tbW9uRnVuY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZHJhd2VyOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZVJldXNlU3RyYXRlZ3k6IFJvdXRlUmV1c2VTdHJhdGVneVxyXG4gICkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUgPSB0aGlzLnJvdXRlUmV1c2VTdHJhdGVneSBhcyBLZWVwQWxpdmVTZXJ2aWNlO1xyXG4gIH1cclxuICBrZWVwQWxpdmU6IEtlZXBBbGl2ZVNlcnZpY2U7XHJcbiAgQElucHV0KCkgc2luZ2xlUmV1c2VVcmxzOiBzdHJpbmdbXSA9IFtdOyAvL+WPquiDveWNleS4que8k+WtmOeahHVybFxyXG4gIEBJbnB1dCgpIG5vR2VuZXJhdGVUYWJVcmxzOiBzdHJpbmdbXSA9IFtdOyAvL+S4jeeUn+aIkHRhYueahHVybFxyXG4gIEBPdXRwdXQoKSBvblJlZnJlc2hUYWIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIFRBQl9XSURUSCA9IDE2NDtcclxuICBHQVBfTk9STUFMID0gNTQ7XHJcbiAgR0FQX1NNQUxMID0gMzA7XHJcbiAgdGV4dEdhcDsgLy8g5paH5pys5LiO6L655qGG55qE5oC76Ze06LedXHJcbiAgZm9vOiBSb3V0ZXJPdXRsZXQ7XHJcbiAgY29tUmVmOiBhbnk7XHJcbiAgdGFiTGlzdCA9IFtdO1xyXG4gIHNlbGVjdGVkVGFiOiBudW1iZXIgPSAwO1xyXG4gIG1heFRhYnM6IG51bWJlciA9IDEwO1xyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5Yid5aeL5YyW5bGP5bmV5a695bqmXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOabtOaWsOWxj+W5leWuveW6plxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG5cdFx0XHR0aGlzLmNmLmNsb3NlVGFiJC5zdWJzY3JpYmUoKGlkeCkgPT4ge1xyXG4gICAgICAgIGlmKGlkeCA9PT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgIGlkeCA9IHRoaXMuc2VsZWN0ZWRUYWI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2xvc2VUYWIoaWR4KTsgICAgICAgIFxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuICAgIHRoaXMuaW5pdFRhYigpO1xyXG4gICAgLy8g6Kej5Yaz5Yi35paw6aG16Z2i5ZCO77yM6YCJ5Lit55qEIHRhYiDkuKLlpLHpl67pophcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KFxyXG4gICAgICAoZWxlKSA9PiBlbGUudXJsID09PSB0aGlzLnJvdXRlci51cmxcclxuICAgICk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlzRXhpc3RJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpOyAvLyDojrflj5blvZPliY3lr7zoiKpcclxuICAgICAgICBpZiAobmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTsgLy8g6I635Y+W5Lyg6YCS55qEIHN0YXRlXHJcbiAgICAgICAgICBjb25zdCBza2lwTG9jYXRpb25DaGFuZ2UgPSBuYXZpZ2F0aW9uLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2U7IC8vIOiOt+WPluaYr+WQpui3s+i/hyBsb2NhdGlvbiBjaGFuZ2VcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGxldCB0aXRsZSA9IHN0YXRlICYmIHN0YXRlLnRpdGxlO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbnRSb3V0ZSAmJiAhc2tpcExvY2F0aW9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9HZW5lcmF0ZVRhYlVybHMuaW5jbHVkZXMoIHRoaXMucm91dGVyLnVybCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjsgLy8g5o6S6Zmk5LiN55Sf5oiQdGFi55qEdXJsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdC5sZW5ndGggPT09IDAgJiYgIXN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgdGl0bGUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldFRhYihcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgY3VycmVudFJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGgsXHJcbiAgICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICB9LCA1MCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RWxsaXBzaXNUaXRsZSh0aXRsZT8pIHtcclxuICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX05PUk1BTDtcclxuICAgIGlmICh0aGlzLnNjcmVlbldpZHRoIDw9IDExMDApIHtcclxuICAgICAgdGhpcy50ZXh0R2FwID0gdGhpcy5HQVBfU01BTEw7XHJcbiAgICB9XHJcbiAgICBsZXQgeyBhbGxXaWR0aCwgbGVmdFdpZHRoLCByaWdodFdpZHRoIH0gPSB0aGlzLmNhbGNUYWJXaWR0aCgpO1xyXG4gICAgbGV0IHdpZHRoID0gTWF0aC5mbG9vcihcclxuICAgICAgKGFsbFdpZHRoIC0gcmlnaHRXaWR0aCkgLyAodGhpcy50YWJMaXN0ICYmIHRoaXMudGFiTGlzdC5sZW5ndGgpXHJcbiAgICApO1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIHdpZHRoID4gdGhpcy5UQUJfV0lEVEhcclxuICAgICAgICAgID8gdGhpcy5UQUJfV0lEVEggLSB0aGlzLnRleHRHYXBcclxuICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgMTJcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFiTGlzdC5mb3JFYWNoKChlbGUsIGlkeCkgPT4ge1xyXG4gICAgICAgIGVsZS5kaXNwbGF5VGl0bGUgPSB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgICAgZWxlLnRpdGxlLFxyXG4gICAgICAgICAgd2lkdGggPiB0aGlzLlRBQl9XSURUSFxyXG4gICAgICAgICAgICA/IHRoaXMuVEFCX1dJRFRIIC0gdGhpcy50ZXh0R2FwXHJcbiAgICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgICAxMlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1RhYldpZHRoKCkge1xyXG4gICAgY29uc3Qgd3JhcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiXCIpO1xyXG4gICAgY29uc3QgdWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWIgPiB1bFwiKTtcclxuICAgIGNvbnN0IHJlZnJlc2hUYWJEaXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYiAucmVmcmVzaC10YWJcIik7XHJcbiAgICBsZXQgYWxsV2lkdGg7XHJcbiAgICBsZXQgbGVmdFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0V2lkdGg7XHJcbiAgICBpZiAod3JhcCAmJiB1bEVsZW1lbnQpIHtcclxuICAgICAgLy8g6I635Y+W5YWD57Sg55qE5L2N572u5L+h5oGvXHJcbiAgICAgIGNvbnN0IHdyYXBSZWN0ID0gd3JhcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgdWxSZWN0ID0gdWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCByZWZyZXNoVGFiUmVjdCA9XHJcbiAgICAgICAgcmVmcmVzaFRhYkRpdiAmJiByZWZyZXNoVGFiRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBhbGxXaWR0aCA9IHdyYXBSZWN0LndpZHRoO1xyXG4gICAgICBsZWZ0V2lkdGggPSB1bFJlY3Qud2lkdGg7XHJcbiAgICAgIHJpZ2h0V2lkdGggPSAocmVmcmVzaFRhYlJlY3QgJiYgcmVmcmVzaFRhYlJlY3Qud2lkdGgpIHx8IDEwMDtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFsbFdpZHRoLFxyXG4gICAgICBsZWZ0V2lkdGgsXHJcbiAgICAgIHJpZ2h0V2lkdGgsXHJcbiAgICB9O1xyXG4gIH1cclxuICBpbml0VGFiKCkge1xyXG4gICAgbGV0IFRhYkNhY2hlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiVGFiQ2FjaGVcIikpO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gVGFiQ2FjaGUgfHwgW107XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYihpZHgpIHtcclxuICAgIGNvbnN0IHRhYiA9IHRoaXMudGFiTGlzdFtpZHhdO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcigoZWxlKSA9PiBlbGUudXJsICE9PSB0YWIudXJsKTtcclxuICAgIHRoaXMuY2xlYXJDYWNoZSh0YWIudXJsKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVGFiID09PSBpZHgpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0SWR4ID0gTWF0aC5tYXgoMCwgaWR4IC0gMSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMudGFiTGlzdFt0YXJnZXRJZHhdLCB0YXJnZXRJZHgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwiVGFiQ2FjaGVcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy50YWJMaXN0KSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRhYih0YWIsIGlkeCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIudXJsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpZHg7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYih1cmwsIHRpdGxlKSB7XHJcbiAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA+PSB0aGlzLm1heFRhYnMpIHtcclxuICAgICAgdGhpcy5jbG9zZVRhYigwKTsgLy8g5Yig6Zmk56ys5LiA5LiqXHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYkxpc3QucHVzaCh7XHJcbiAgICAgIHVybDogdXJsLFxyXG4gICAgICB0aXRsZTogdGl0bGUgfHwgXCJkZWZhdWx0XCIsXHJcbiAgICAgIGRpc3BsYXlUaXRsZTogdGl0bGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3QubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFiKHVybCwgcHVyZVVybD8sIHRpdGxlPykge1xyXG4gICAgY29uc3QgaXNFeGlzdElkeCA9IHRoaXMudGFiTGlzdC5maW5kSW5kZXgoKGVsZSkgPT4gZWxlLnVybCA9PT0gdXJsKTtcclxuICAgIGlmIChpc0V4aXN0SWR4ID09PSAtMSkge1xyXG4gICAgICBjb25zdCBzaW5nbGVJZHggPSB0aGlzLnNpbmdsZVJldXNlVXJscy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlID09PSBwdXJlVXJsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChzaW5nbGVJZHggIT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcihcclxuICAgICAgICAgIChlbGUpID0+ICFlbGUudXJsLmluY2x1ZGVzKHRoaXMuc2luZ2xlUmV1c2VVcmxzW3NpbmdsZUlkeF0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHVybCk7XHJcbiAgICAgICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodXJsKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZFRhYih1cmwsIHRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2hUYWIoKSB7XHJcbiAgICAvLyB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgLy8gdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodGhpcy50YWJMaXN0W3RoaXMuc2VsZWN0ZWRUYWJdLnVybCk7XHJcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsOyAvLyDojrflj5blvZPliY0gVVJMXHJcbiAgICB0aGlzLm9uUmVmcmVzaFRhYi5lbWl0KGN1cnJlbnRVcmwpO1xyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChcIi9cIiwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoY3VycmVudFVybCk7IC8vIOmHjeaWsOWvvOiIquWIsOW9k+WJjSBVUkxcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDYWNoZSh1cmwpIHtcclxuICAgIHRoaXMua2VlcEFsaXZlLmNsZWFyQ2FjaGUodXJsKTsgLy8g6LCD55So6Ieq5a6a5LmJ562W55Wl55qE5riF6Zmk57yT5a2Y5pa55rOVXHJcbiAgICB0aGlzLmRyYXdlci5kZWxldGVDYWNoZSh1cmwpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -10,6 +10,8 @@ export class CommonFunctionService {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.closeTabSubject = new Subject();
|
|
12
12
|
this.closeTab$ = this.closeTabSubject.asObservable();
|
|
13
|
+
this.pub = new Subject();
|
|
14
|
+
this.pub$ = this.pub.asObservable();
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* @return {?}
|
|
@@ -79,6 +81,13 @@ export class CommonFunctionService {
|
|
|
79
81
|
closeTab(tabIndex) {
|
|
80
82
|
return this.closeTabSubject.next(tabIndex);
|
|
81
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* @param {?} event
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
publish(event) {
|
|
89
|
+
this.pub.next(event);
|
|
90
|
+
}
|
|
82
91
|
}
|
|
83
92
|
CommonFunctionService.decorators = [
|
|
84
93
|
{ type: Injectable, args: [{
|
|
@@ -96,5 +105,9 @@ if (false) {
|
|
|
96
105
|
CommonFunctionService.prototype.closeTabSubject;
|
|
97
106
|
/** @type {?} */
|
|
98
107
|
CommonFunctionService.prototype.closeTab$;
|
|
108
|
+
/** @type {?} */
|
|
109
|
+
CommonFunctionService.prototype.pub;
|
|
110
|
+
/** @type {?} */
|
|
111
|
+
CommonFunctionService.prototype.pub$;
|
|
99
112
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7UUFDUSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDekMsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakQsUUFBRyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDekIsU0FBSSxHQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBTHZDLENBQUM7Ozs7SUFPaEIsVUFBVTtRQUNSLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Ozs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRTs7Y0FDN0MsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDOztjQUN6QyxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkMsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFHLFFBQVEsVUFBVSxDQUFDOztZQUVqQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLO1FBRTNDLElBQUksS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBQy9ELFNBQVMsR0FBRyxFQUFFOztZQUNkLFVBQVUsR0FBRyxFQUFFOztZQUNmLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDN0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxFQUFFO2dCQUNoQixNQUFNO2FBQ1A7U0FDRjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUNsQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxFQUFFO2dCQUNoQixNQUFNO2FBQ1A7U0FDRjtRQUVELE9BQU8sU0FBUyxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLEdBQUcsRUFBRTtZQUNQLGlDQUFpQztZQUNqQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6QjtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7Ozs7SUFHRCxRQUFRLENBQUMsUUFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQzs7O1lBbEVELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs7Ozs7OztJQUdDLGdEQUFnRDs7SUFDaEQsMENBQXVEOztJQUV4RCxvQ0FBZ0M7O0lBQ2hDLHFDQUF1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkZ1bmN0aW9uU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIHByaXZhdGUgY2xvc2VUYWJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIHB1YmxpYyBjbG9zZVRhYiQgPSB0aGlzLmNsb3NlVGFiU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHVibGljIHB1YiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHRwdWJsaWMgcHViJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5wdWIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgXHJcbiAgdGVzdE1ldGhvZCgpIHtcclxuICAgIHJldHVybiBcInRlc3QxMTExXCI7XHJcbiAgfVxyXG5cclxuICBzZXRNaWRkbGVFbGxpcHNpcyh0ZXh0LCBtYXhXaWR0aCA9IDE1MCwgZm9udFNpemUgPSAxMykge1xyXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO1xyXG4gICAgY29udGV4dC5mb250ID0gYCR7Zm9udFNpemV9cHggQXJpYWxgO1xyXG5cclxuICAgIGxldCB3aWR0aCA9IGNvbnRleHQubWVhc3VyZVRleHQodGV4dCkud2lkdGg7XHJcblxyXG4gICAgaWYgKHdpZHRoIDw9IG1heFdpZHRoKSB7XHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgfVxyXG4gICAgbWF4V2lkdGggPSBNYXRoLmZsb29yKG1heFdpZHRoIC0gY29udGV4dC5tZWFzdXJlVGV4dChcIi4uLlwiKS53aWR0aCk7XHJcbiAgICBsZXQgZmlyc3RQYXJ0ID0gXCJcIjtcclxuICAgIGxldCBzZWNvbmRQYXJ0ID0gXCJcIjtcclxuICAgIGxldCBoYWxmID0gTWF0aC5mbG9vcihtYXhXaWR0aCAvIDIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGZpcnN0UGFydCArPSB0ZXh0W2ldO1xyXG4gICAgICB3aWR0aCA9IGNvbnRleHQubWVhc3VyZVRleHQoZmlyc3RQYXJ0KS53aWR0aDtcclxuICAgICAgaWYgKHdpZHRoID4gaGFsZikge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IHRleHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgc2Vjb25kUGFydCA9IHRleHRbaV0gKyBzZWNvbmRQYXJ0O1xyXG4gICAgICB3aWR0aCA9IGNvbnRleHQubWVhc3VyZVRleHQoc2Vjb25kUGFydCkud2lkdGg7XHJcbiAgICAgIGlmICh3aWR0aCA+IGhhbGYpIHtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmaXJzdFBhcnQgKyBcIi4uLlwiICsgc2Vjb25kUGFydDtcclxuICB9XHJcblxyXG4gIGdldFB1cmVVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICh1cmwpIHtcclxuICAgICAgLy8g5aaC5p6ccGFyYW1z55qEdmFsdWUg5pC65bim5p+l6K+i5Y+C5pWw77yMIOWImeaIquWPluWJjemdoumDqOWIhlxyXG4gICAgICB1cmwgPSBkZWNvZGVVUklDb21wb25lbnQodXJsKTtcclxuICAgICAgaWYgKHVybC5pbmNsdWRlcyhcIj9cIikpIHtcclxuICAgICAgICB1cmwgPSB1cmwuc3BsaXQoXCI/XCIpWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgLy8g5Yig6Zmk5b2T5YmNXHJcbiAgY2xvc2VUYWIodGFiSW5kZXg/OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmNsb3NlVGFiU3ViamVjdC5uZXh0KHRhYkluZGV4KTtcclxuICB9XHJcblxyXG4gIHB1Ymxpc2goZXZlbnQpIHtcclxuXHRcdHRoaXMucHViLm5leHQoZXZlbnQpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
// 组件类
|
|
7
|
-
import { ChangeDetectorRef, Component, HostListener, Input, } from "@angular/core";
|
|
7
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, } from "@angular/core";
|
|
8
8
|
import { ActivatedRoute, NavigationEnd, Router, } from "@angular/router";
|
|
9
9
|
import { filter } from "rxjs/operators";
|
|
10
10
|
import { RouteReuseStrategy } from "@angular/router";
|
|
@@ -22,6 +22,7 @@ var MultiTabComponent = /** @class */ (function () {
|
|
|
22
22
|
//只能单个缓存的url
|
|
23
23
|
this.noGenerateTabUrls = []; //不生成tab的url
|
|
24
24
|
//不生成tab的url
|
|
25
|
+
this.onRefreshTab = new EventEmitter();
|
|
25
26
|
this.subscriptions = [];
|
|
26
27
|
this.TAB_WIDTH = 164;
|
|
27
28
|
this.GAP_NORMAL = 54;
|
|
@@ -338,17 +339,14 @@ var MultiTabComponent = /** @class */ (function () {
|
|
|
338
339
|
* @return {?}
|
|
339
340
|
*/
|
|
340
341
|
function () {
|
|
341
|
-
|
|
342
|
-
this.
|
|
343
|
-
this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
342
|
+
// this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
|
|
343
|
+
// this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
344
344
|
/** @type {?} */
|
|
345
345
|
var currentUrl = this.router.url;
|
|
346
|
-
this.
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
_this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
351
|
-
}));
|
|
346
|
+
this.onRefreshTab.emit(currentUrl);
|
|
347
|
+
// this.router.navigateByUrl("/", { skipLocationChange: true }).then(() => {
|
|
348
|
+
// this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
349
|
+
// });
|
|
352
350
|
};
|
|
353
351
|
/**
|
|
354
352
|
* @param {?} url
|
|
@@ -366,7 +364,7 @@ var MultiTabComponent = /** @class */ (function () {
|
|
|
366
364
|
{ type: Component, args: [{
|
|
367
365
|
selector: "rs-multi-tab",
|
|
368
366
|
template: "<div class=\"rs-multi-tab\" [ngClass]=\"{ 'b-line': tabList.length > 0 }\">\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(i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\" *ngIf=\"tabList.length > 0\">\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",
|
|
369
|
-
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
367
|
+
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between;margin:0 auto;max-width:1886px}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
370
368
|
}] }
|
|
371
369
|
];
|
|
372
370
|
/** @nocollapse */
|
|
@@ -381,6 +379,7 @@ var MultiTabComponent = /** @class */ (function () {
|
|
|
381
379
|
MultiTabComponent.propDecorators = {
|
|
382
380
|
singleReuseUrls: [{ type: Input }],
|
|
383
381
|
noGenerateTabUrls: [{ type: Input }],
|
|
382
|
+
onRefreshTab: [{ type: Output }],
|
|
384
383
|
onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
|
|
385
384
|
};
|
|
386
385
|
return MultiTabComponent;
|
|
@@ -393,6 +392,8 @@ if (false) {
|
|
|
393
392
|
MultiTabComponent.prototype.singleReuseUrls;
|
|
394
393
|
/** @type {?} */
|
|
395
394
|
MultiTabComponent.prototype.noGenerateTabUrls;
|
|
395
|
+
/** @type {?} */
|
|
396
|
+
MultiTabComponent.prototype.onRefreshTab;
|
|
396
397
|
/**
|
|
397
398
|
* @type {?}
|
|
398
399
|
* @private
|
|
@@ -440,4 +441,4 @@ if (false) {
|
|
|
440
441
|
*/
|
|
441
442
|
MultiTabComponent.prototype.routeReuseStrategy;
|
|
442
443
|
}
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHN0Q7SUFNRSwyQkFDUyxNQUFjLEVBQ2QsRUFBeUIsRUFDekIsY0FBOEIsRUFDN0IsR0FBc0IsRUFDdEIsTUFBcUIsRUFDckIsa0JBQXNDO1FBTHZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBS3ZDLG9CQUFlLEdBQWEsRUFBRSxDQUFDLENBQUMsWUFBWTs7UUFDNUMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDLENBQUMsWUFBWTs7UUFDL0Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxD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QyxpQkFBaUI7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Z0JBck5GLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsa2lEQUFxQzs7aUJBRXRDOzs7O2dCQWRDLE1BQU07Z0JBTUMscUJBQXFCO2dCQVI1QixjQUFjO2dCQVJkLGlCQUFpQjtnQkFpQlYsYUFBYTtnQkFGYixrQkFBa0I7OztrQ0FzQnhCLEtBQUs7b0NBQ0wsS0FBSzsyQkFZTCxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztJQXdMM0Msd0JBQUM7Q0FBQSxBQXRORCxJQXNOQztTQWpOWSxpQkFBaUI7OztJQVc1QixzQ0FBNEI7O0lBQzVCLDRDQUF3Qzs7SUFDeEMsOENBQTBDOzs7OztJQUMxQywwQ0FBMkM7O0lBQzNDLHNDQUFnQjs7SUFDaEIsdUNBQWdCOztJQUNoQixzQ0FBZTs7SUFDZixvQ0FBUTs7SUFDUixnQ0FBa0I7O0lBQ2xCLG1DQUFZOztJQUNaLG9DQUFhOztJQUNiLHdDQUF3Qjs7SUFDeEIsb0NBQXFCOztJQUNyQix3Q0FBd0M7O0lBdEJ0QyxtQ0FBcUI7O0lBQ3JCLCtCQUFnQzs7SUFDaEMsMkNBQXFDOzs7OztJQUNyQyxnQ0FBOEI7Ozs7O0lBQzlCLG1DQUE2Qjs7Ozs7SUFDN0IsK0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBBY3RpdmF0ZWRSb3V0ZSxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXJPdXRsZXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDb21tb25GdW5jdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEcmF3ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgS2VlcEFsaXZlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtbXVsdGktdGFiXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNmOiBDb21tb25GdW5jdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkcmF3ZXI6IERyYXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlUmV1c2VTdHJhdGVneTogUm91dGVSZXVzZVN0cmF0ZWd5XHJcbiAgKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZSA9IHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5IGFzIEtlZXBBbGl2ZVNlcnZpY2U7XHJcbiAgfVxyXG4gIGtlZXBBbGl2ZTogS2VlcEFsaXZlU2VydmljZTtcclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcbiAgQElucHV0KCkgbm9HZW5lcmF0ZVRhYlVybHM6IHN0cmluZ1tdID0gW107IC8v5LiN55Sf5oiQdGFi55qEdXJsXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIFRBQl9XSURUSCA9IDE2NDtcclxuICBHQVBfTk9STUFMID0gNTQ7XHJcbiAgR0FQX1NNQUxMID0gMzA7XHJcbiAgdGV4dEdhcDsgLy8g5paH5pys5LiO6L655qGG55qE5oC76Ze06LedXHJcbiAgZm9vOiBSb3V0ZXJPdXRsZXQ7XHJcbiAgY29tUmVmOiBhbnk7XHJcbiAgdGFiTGlzdCA9IFtdO1xyXG4gIHNlbGVjdGVkVGFiOiBudW1iZXIgPSAwO1xyXG4gIG1heFRhYnM6IG51bWJlciA9IDEwO1xyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5Yid5aeL5YyW5bGP5bmV5a695bqmXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOabtOaWsOWxj+W5leWuveW6plxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG5cdFx0XHR0aGlzLmNmLmNsb3NlVGFiJC5zdWJzY3JpYmUoKGlkeCkgPT4ge1xyXG4gICAgICAgIGlmKGlkeCA9PT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgIGlkeCA9IHRoaXMuc2VsZWN0ZWRUYWI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2xvc2VUYWIoaWR4KTsgICAgICAgIFxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuICAgIHRoaXMuaW5pdFRhYigpO1xyXG4gICAgLy8g6Kej5Yaz5Yi35paw6aG16Z2i5ZCO77yM6YCJ5Lit55qEIHRhYiDkuKLlpLHpl67pophcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KFxyXG4gICAgICAoZWxlKSA9PiBlbGUudXJsID09PSB0aGlzLnJvdXRlci51cmxcclxuICAgICk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlzRXhpc3RJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpOyAvLyDojrflj5blvZPliY3lr7zoiKpcclxuICAgICAgICBpZiAobmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTsgLy8g6I635Y+W5Lyg6YCS55qEIHN0YXRlXHJcbiAgICAgICAgICBjb25zdCBza2lwTG9jYXRpb25DaGFuZ2UgPSBuYXZpZ2F0aW9uLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2U7IC8vIOiOt+WPluaYr+WQpui3s+i/hyBsb2NhdGlvbiBjaGFuZ2VcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGxldCB0aXRsZSA9IHN0YXRlICYmIHN0YXRlLnRpdGxlO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbnRSb3V0ZSAmJiAhc2tpcExvY2F0aW9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9HZW5lcmF0ZVRhYlVybHMuaW5jbHVkZXMoIHRoaXMucm91dGVyLnVybCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjsgLy8g5o6S6Zmk5LiN55Sf5oiQdGFi55qEdXJsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdC5sZW5ndGggPT09IDAgJiYgIXN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgdGl0bGUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwiZmlyc3RUYWJUaXRsZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldFRhYihcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgY3VycmVudFJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGgsXHJcbiAgICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICB9LCA1MCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RWxsaXBzaXNUaXRsZSh0aXRsZT8pIHtcclxuICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX05PUk1BTDtcclxuICAgIGlmICh0aGlzLnNjcmVlbldpZHRoIDw9IDExMDApIHtcclxuICAgICAgdGhpcy50ZXh0R2FwID0gdGhpcy5HQVBfU01BTEw7XHJcbiAgICB9XHJcbiAgICBsZXQgeyBhbGxXaWR0aCwgbGVmdFdpZHRoLCByaWdodFdpZHRoIH0gPSB0aGlzLmNhbGNUYWJXaWR0aCgpO1xyXG4gICAgbGV0IHdpZHRoID0gTWF0aC5mbG9vcihcclxuICAgICAgKGFsbFdpZHRoIC0gcmlnaHRXaWR0aCkgLyAodGhpcy50YWJMaXN0ICYmIHRoaXMudGFiTGlzdC5sZW5ndGgpXHJcbiAgICApO1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIHdpZHRoID4gdGhpcy5UQUJfV0lEVEhcclxuICAgICAgICAgID8gdGhpcy5UQUJfV0lEVEggLSB0aGlzLnRleHRHYXBcclxuICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgMTJcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFiTGlzdC5mb3JFYWNoKChlbGUsIGlkeCkgPT4ge1xyXG4gICAgICAgIGVsZS5kaXNwbGF5VGl0bGUgPSB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKFxyXG4gICAgICAgICAgZWxlLnRpdGxlLFxyXG4gICAgICAgICAgd2lkdGggPiB0aGlzLlRBQl9XSURUSFxyXG4gICAgICAgICAgICA/IHRoaXMuVEFCX1dJRFRIIC0gdGhpcy50ZXh0R2FwXHJcbiAgICAgICAgICAgIDogd2lkdGggLSB0aGlzLnRleHRHYXAsXHJcbiAgICAgICAgICAxMlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1RhYldpZHRoKCkge1xyXG4gICAgY29uc3Qgd3JhcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiXCIpO1xyXG4gICAgY29uc3QgdWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWIgPiB1bFwiKTtcclxuICAgIGNvbnN0IHJlZnJlc2hUYWJEaXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYiAucmVmcmVzaC10YWJcIik7XHJcbiAgICBsZXQgYWxsV2lkdGg7XHJcbiAgICBsZXQgbGVmdFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0V2lkdGg7XHJcbiAgICBpZiAod3JhcCAmJiB1bEVsZW1lbnQpIHtcclxuICAgICAgLy8g6I635Y+W5YWD57Sg55qE5L2N572u5L+h5oGvXHJcbiAgICAgIGNvbnN0IHdyYXBSZWN0ID0gd3JhcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgdWxSZWN0ID0gdWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCByZWZyZXNoVGFiUmVjdCA9XHJcbiAgICAgICAgcmVmcmVzaFRhYkRpdiAmJiByZWZyZXNoVGFiRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBhbGxXaWR0aCA9IHdyYXBSZWN0LndpZHRoO1xyXG4gICAgICBsZWZ0V2lkdGggPSB1bFJlY3Qud2lkdGg7XHJcbiAgICAgIHJpZ2h0V2lkdGggPSAocmVmcmVzaFRhYlJlY3QgJiYgcmVmcmVzaFRhYlJlY3Qud2lkdGgpIHx8IDEwMDtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFsbFdpZHRoLFxyXG4gICAgICBsZWZ0V2lkdGgsXHJcbiAgICAgIHJpZ2h0V2lkdGgsXHJcbiAgICB9O1xyXG4gIH1cclxuICBpbml0VGFiKCkge1xyXG4gICAgbGV0IFRhYkNhY2hlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiVGFiQ2FjaGVcIikpO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gVGFiQ2FjaGUgfHwgW107XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYihpZHgpIHtcclxuICAgIGNvbnN0IHRhYiA9IHRoaXMudGFiTGlzdFtpZHhdO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcigoZWxlKSA9PiBlbGUudXJsICE9PSB0YWIudXJsKTtcclxuICAgIHRoaXMuY2xlYXJDYWNoZSh0YWIudXJsKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVGFiID09PSBpZHgpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0SWR4ID0gTWF0aC5tYXgoMCwgaWR4IC0gMSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMudGFiTGlzdFt0YXJnZXRJZHhdLCB0YXJnZXRJZHgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwiVGFiQ2FjaGVcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy50YWJMaXN0KSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRhYih0YWIsIGlkeCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIudXJsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpZHg7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYih1cmwsIHRpdGxlKSB7XHJcbiAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA+PSB0aGlzLm1heFRhYnMpIHtcclxuICAgICAgdGhpcy5jbG9zZVRhYigwKTsgLy8g5Yig6Zmk56ys5LiA5LiqXHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYkxpc3QucHVzaCh7XHJcbiAgICAgIHVybDogdXJsLFxyXG4gICAgICB0aXRsZTogdGl0bGUgfHwgXCJkZWZhdWx0XCIsXHJcbiAgICAgIGRpc3BsYXlUaXRsZTogdGl0bGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3QubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFiKHVybCwgcHVyZVVybD8sIHRpdGxlPykge1xyXG4gICAgY29uc3QgaXNFeGlzdElkeCA9IHRoaXMudGFiTGlzdC5maW5kSW5kZXgoKGVsZSkgPT4gZWxlLnVybCA9PT0gdXJsKTtcclxuICAgIGlmIChpc0V4aXN0SWR4ID09PSAtMSkge1xyXG4gICAgICBjb25zdCBzaW5nbGVJZHggPSB0aGlzLnNpbmdsZVJldXNlVXJscy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlID09PSBwdXJlVXJsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChzaW5nbGVJZHggIT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcihcclxuICAgICAgICAgIChlbGUpID0+ICFlbGUudXJsLmluY2x1ZGVzKHRoaXMuc2luZ2xlUmV1c2VVcmxzW3NpbmdsZUlkeF0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHVybCk7XHJcbiAgICAgICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodXJsKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZFRhYih1cmwsIHRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2hUYWIoKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodGhpcy50YWJMaXN0W3RoaXMuc2VsZWN0ZWRUYWJdLnVybCk7XHJcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsOyAvLyDojrflj5blvZPliY0gVVJMXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL1wiLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChjdXJyZW50VXJsKTsgLy8g6YeN5paw5a+86Iiq5Yiw5b2T5YmNIFVSTFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHVybCkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpOyAvLyDosIPnlKjoh6rlrprkuYnnrZbnlaXnmoTmuIXpmaTnvJPlrZjmlrnms5VcclxuICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHVybCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
444
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsTUFBTSxHQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc3RDtJQU1FLDJCQUNTLE1BQWMsRUFDZCxFQUF5QixFQUN6QixjQUE4QixFQUM3QixHQUFzQixFQUN0QixNQUFxQixFQUNyQixrQkFBc0M7UUFMdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFLdkMsb0JBQWUsR0FBYSxFQUFFLENBQUMsQ0FBQyxZQUFZOztRQUM1QyxzQkFBaUIsR0FBYSxFQUFFLENBQUMsQ0FBQyxZQUFZOztRQUM3QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEMsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLGNBQVMsR0FBRyxH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QUFLOytCQUNMLE1BQU07MkJBYU4sWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUF5TDNDLHdCQUFDO0NBQUEsQUF6TkQsSUF5TkM7U0FwTlksaUJBQWlCOzs7SUFXNUIsc0NBQTRCOztJQUM1Qiw0Q0FBd0M7O0lBQ3hDLDhDQUEwQzs7SUFDMUMseUNBQTRDOzs7OztJQUU1QywwQ0FBMkM7O0lBQzNDLHNDQUFnQjs7SUFDaEIsdUNBQWdCOztJQUNoQixzQ0FBZTs7SUFDZixvQ0FBUTs7SUFDUixnQ0FBa0I7O0lBQ2xCLG1DQUFZOztJQUNaLG9DQUFhOztJQUNiLHdDQUF3Qjs7SUFDeEIsb0NBQXFCOztJQUNyQix3Q0FBd0M7O0lBeEJ0QyxtQ0FBcUI7O0lBQ3JCLCtCQUFnQzs7SUFDaEMsMkNBQXFDOzs7OztJQUNyQyxnQ0FBOEI7Ozs7O0lBQzlCLG1DQUE2Qjs7Ozs7SUFDN0IsK0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIE5hdmlnYXRpb25FbmQsXHJcbiAgUm91dGVyLFxyXG4gIFJvdXRlck91dGxldCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IENvbW1vbkZ1bmN0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2NvbW1vbi1mdW5jdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERyYXdlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBLZWVwQWxpdmVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uva2VlcC1hbGl2ZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1tdWx0aS10YWJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRyYXdlcjogRHJhd2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVSZXVzZVN0cmF0ZWd5OiBSb3V0ZVJldXNlU3RyYXRlZ3lcclxuICApIHtcclxuICAgIHRoaXMua2VlcEFsaXZlID0gdGhpcy5yb3V0ZVJldXNlU3RyYXRlZ3kgYXMgS2VlcEFsaXZlU2VydmljZTtcclxuICB9XHJcbiAga2VlcEFsaXZlOiBLZWVwQWxpdmVTZXJ2aWNlO1xyXG4gIEBJbnB1dCgpIHNpbmdsZVJldXNlVXJsczogc3RyaW5nW10gPSBbXTsgLy/lj6rog73ljZXkuKrnvJPlrZjnmoR1cmxcclxuICBASW5wdXQoKSBub0dlbmVyYXRlVGFiVXJsczogc3RyaW5nW10gPSBbXTsgLy/kuI3nlJ/miJB0YWLnmoR1cmxcclxuICBAT3V0cHV0KCkgb25SZWZyZXNoVGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIFxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBUQUJfV0lEVEggPSAxNjQ7XHJcbiAgR0FQX05PUk1BTCA9IDU0O1xyXG4gIEdBUF9TTUFMTCA9IDMwO1xyXG4gIHRleHRHYXA7IC8vIOaWh+acrOS4jui+ueahhueahOaAu+mXtOi3nVxyXG4gIGZvbzogUm91dGVyT3V0bGV0O1xyXG4gIGNvbVJlZjogYW55O1xyXG4gIHRhYkxpc3QgPSBbXTtcclxuICBzZWxlY3RlZFRhYjogbnVtYmVyID0gMDtcclxuICBtYXhUYWJzOiBudW1iZXIgPSAxMDtcclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOWIneWni+WMluWxj+W5leWuveW6plxyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBvblJlc2l6ZShldmVudCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoOyAvLyDmm7TmlrDlsY/luZXlrr3luqZcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuXHRcdFx0dGhpcy5jZi5jbG9zZVRhYiQuc3Vic2NyaWJlKChpZHgpID0+IHtcclxuICAgICAgICBpZihpZHggPT09IHVuZGVmaW5lZCl7XHJcbiAgICAgICAgICBpZHggPSB0aGlzLnNlbGVjdGVkVGFiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNsb3NlVGFiKGlkeCk7ICAgICAgICBcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcbiAgICB0aGlzLmluaXRUYWIoKTtcclxuICAgIC8vIOino+WGs+WIt+aWsOmhtemdouWQju+8jOmAieS4reeahCB0YWIg5Lii5aSx6Zeu6aKYXHJcbiAgICBjb25zdCBpc0V4aXN0SWR4ID0gdGhpcy50YWJMaXN0LmZpbmRJbmRleChcclxuICAgICAgKGVsZSkgPT4gZWxlLnVybCA9PT0gdGhpcy5yb3V0ZXIudXJsXHJcbiAgICApO1xyXG4gICAgaWYgKGlzRXhpc3RJZHggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTsgLy8g6I635Y+W5b2T5YmN5a+86IiqXHJcbiAgICAgICAgaWYgKG5hdmlnYXRpb24pIHtcclxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gbmF2aWdhdGlvbi5leHRyYXMuc3RhdGU7IC8vIOiOt+WPluS8oOmAkueahCBzdGF0ZVxyXG4gICAgICAgICAgY29uc3Qgc2tpcExvY2F0aW9uQ2hhbmdlID0gbmF2aWdhdGlvbi5leHRyYXMuc2tpcExvY2F0aW9uQ2hhbmdlOyAvLyDojrflj5bmmK/lkKbot7Pov4cgbG9jYXRpb24gY2hhbmdlXHJcbiAgICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LmZpcnN0Q2hpbGQ7XHJcbiAgICAgICAgICBsZXQgdGl0bGUgPSBzdGF0ZSAmJiBzdGF0ZS50aXRsZTtcclxuICAgICAgICAgIGlmIChjdXJyZW50Um91dGUgJiYgIXNraXBMb2NhdGlvbkNoYW5nZSkge1xyXG4gICAgICAgICAgICBpZih0aGlzLm5vR2VuZXJhdGVUYWJVcmxzLmluY2x1ZGVzKCB0aGlzLnJvdXRlci51cmwpKXtcclxuICAgICAgICAgICAgICByZXR1cm47IC8vIOaOkumZpOS4jeeUn+aIkHRhYueahHVybFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYkxpc3QubGVuZ3RoID09PSAwICYmICFzdGF0ZSkge1xyXG4gICAgICAgICAgICAgIHRpdGxlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcImZpcnN0VGFiVGl0bGVcIik7XHJcbiAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcImZpcnN0VGFiVGl0bGVcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZXRUYWIoXHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRoLFxyXG4gICAgICAgICAgICAgIHRpdGxlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgfSwgNTApO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHNldEVsbGlwc2lzVGl0bGUodGl0bGU/KSB7XHJcbiAgICB0aGlzLnRleHRHYXAgPSB0aGlzLkdBUF9OT1JNQUw7XHJcbiAgICBpZiAodGhpcy5zY3JlZW5XaWR0aCA8PSAxMTAwKSB7XHJcbiAgICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX1NNQUxMO1xyXG4gICAgfVxyXG4gICAgbGV0IHsgYWxsV2lkdGgsIGxlZnRXaWR0aCwgcmlnaHRXaWR0aCB9ID0gdGhpcy5jYWxjVGFiV2lkdGgoKTtcclxuICAgIGxldCB3aWR0aCA9IE1hdGguZmxvb3IoXHJcbiAgICAgIChhbGxXaWR0aCAtIHJpZ2h0V2lkdGgpIC8gKHRoaXMudGFiTGlzdCAmJiB0aGlzLnRhYkxpc3QubGVuZ3RoKVxyXG4gICAgKTtcclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICB3aWR0aCA+IHRoaXMuVEFCX1dJRFRIXHJcbiAgICAgICAgICA/IHRoaXMuVEFCX1dJRFRIIC0gdGhpcy50ZXh0R2FwXHJcbiAgICAgICAgICA6IHdpZHRoIC0gdGhpcy50ZXh0R2FwLFxyXG4gICAgICAgIDEyXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYkxpc3QuZm9yRWFjaCgoZWxlLCBpZHgpID0+IHtcclxuICAgICAgICBlbGUuZGlzcGxheVRpdGxlID0gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhcclxuICAgICAgICAgIGVsZS50aXRsZSxcclxuICAgICAgICAgIHdpZHRoID4gdGhpcy5UQUJfV0lEVEhcclxuICAgICAgICAgICAgPyB0aGlzLlRBQl9XSURUSCAtIHRoaXMudGV4dEdhcFxyXG4gICAgICAgICAgICA6IHdpZHRoIC0gdGhpcy50ZXh0R2FwLFxyXG4gICAgICAgICAgMTJcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGNUYWJXaWR0aCgpIHtcclxuICAgIGNvbnN0IHdyYXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYlwiKTtcclxuICAgIGNvbnN0IHVsRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiID4gdWxcIik7XHJcbiAgICBjb25zdCByZWZyZXNoVGFiRGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWIgLnJlZnJlc2gtdGFiXCIpO1xyXG4gICAgbGV0IGFsbFdpZHRoO1xyXG4gICAgbGV0IGxlZnRXaWR0aDtcclxuICAgIGxldCByaWdodFdpZHRoO1xyXG4gICAgaWYgKHdyYXAgJiYgdWxFbGVtZW50KSB7XHJcbiAgICAgIC8vIOiOt+WPluWFg+e0oOeahOS9jee9ruS/oeaBr1xyXG4gICAgICBjb25zdCB3cmFwUmVjdCA9IHdyYXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHVsUmVjdCA9IHVsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgcmVmcmVzaFRhYlJlY3QgPVxyXG4gICAgICAgIHJlZnJlc2hUYWJEaXYgJiYgcmVmcmVzaFRhYkRpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgYWxsV2lkdGggPSB3cmFwUmVjdC53aWR0aDtcclxuICAgICAgbGVmdFdpZHRoID0gdWxSZWN0LndpZHRoO1xyXG4gICAgICByaWdodFdpZHRoID0gKHJlZnJlc2hUYWJSZWN0ICYmIHJlZnJlc2hUYWJSZWN0LndpZHRoKSB8fCAxMDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhbGxXaWR0aCxcclxuICAgICAgbGVmdFdpZHRoLFxyXG4gICAgICByaWdodFdpZHRoLFxyXG4gICAgfTtcclxuICB9XHJcbiAgaW5pdFRhYigpIHtcclxuICAgIGxldCBUYWJDYWNoZSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcIlRhYkNhY2hlXCIpKTtcclxuICAgIHRoaXMudGFiTGlzdCA9IFRhYkNhY2hlIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VUYWIoaWR4KSB7XHJcbiAgICBjb25zdCB0YWIgPSB0aGlzLnRhYkxpc3RbaWR4XTtcclxuICAgIHRoaXMudGFiTGlzdCA9IHRoaXMudGFiTGlzdC5maWx0ZXIoKGVsZSkgPT4gZWxlLnVybCAhPT0gdGFiLnVybCk7XHJcbiAgICB0aGlzLmNsZWFyQ2FjaGUodGFiLnVybCk7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFRhYiA9PT0gaWR4KSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldElkeCA9IE1hdGgubWF4KDAsIGlkeCAtIDEpO1xyXG4gICAgICB0aGlzLmNoYW5nZVRhYih0aGlzLnRhYkxpc3RbdGFyZ2V0SWR4XSwgdGFyZ2V0SWR4KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUYWIodGFiLCBpZHgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGFiLnVybCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gaWR4O1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBhZGRUYWIodXJsLCB0aXRsZSkge1xyXG4gICAgaWYgKHRoaXMudGFiTGlzdC5sZW5ndGggPj0gdGhpcy5tYXhUYWJzKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VUYWIoMCk7IC8vIOWIoOmZpOesrOS4gOS4qlxyXG4gICAgfVxyXG4gICAgdGhpcy50YWJMaXN0LnB1c2goe1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBkaXNwbGF5VGl0bGU6IHRpdGxlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdGhpcy50YWJMaXN0Lmxlbmd0aCAtIDE7XHJcbiAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJUYWJDYWNoZVwiLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRhYkxpc3QpKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYih1cmwsIHB1cmVVcmw/LCB0aXRsZT8pIHtcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KChlbGUpID0+IGVsZS51cmwgPT09IHVybCk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCA9PT0gLTEpIHtcclxuICAgICAgY29uc3Qgc2luZ2xlSWR4ID0gdGhpcy5zaW5nbGVSZXVzZVVybHMuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGUpID0+IGVsZSA9PT0gcHVyZVVybFxyXG4gICAgICApO1xyXG4gICAgICBpZiAoc2luZ2xlSWR4ICE9PSAtMSkge1xyXG4gICAgICAgIHRoaXMudGFiTGlzdCA9IHRoaXMudGFiTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlKSA9PiAhZWxlLnVybC5pbmNsdWRlcyh0aGlzLnNpbmdsZVJldXNlVXJsc1tzaW5nbGVJZHhdKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpO1xyXG4gICAgICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHVybCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hZGRUYWIodXJsLCB0aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gaXNFeGlzdElkeDtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoVGFiKCkge1xyXG4gICAgLy8gdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh0aGlzLnRhYkxpc3RbdGhpcy5zZWxlY3RlZFRhYl0udXJsKTtcclxuICAgIC8vIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDsgLy8g6I635Y+W5b2T5YmNIFVSTFxyXG4gICAgdGhpcy5vblJlZnJlc2hUYWIuZW1pdChjdXJyZW50VXJsKTtcclxuICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXCIvXCIsIHsgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGN1cnJlbnRVcmwpOyAvLyDph43mlrDlr7zoiKrliLDlvZPliY0gVVJMXHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFyQ2FjaGUodXJsKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHVybCk7IC8vIOiwg+eUqOiHquWumuS5ieetlueVpeeahOa4hemZpOe8k+WtmOaWueazlVxyXG4gICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodXJsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -10,6 +10,8 @@ var CommonFunctionService = /** @class */ (function () {
|
|
|
10
10
|
function CommonFunctionService() {
|
|
11
11
|
this.closeTabSubject = new Subject();
|
|
12
12
|
this.closeTab$ = this.closeTabSubject.asObservable();
|
|
13
|
+
this.pub = new Subject();
|
|
14
|
+
this.pub$ = this.pub.asObservable();
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* @return {?}
|
|
@@ -101,6 +103,17 @@ var CommonFunctionService = /** @class */ (function () {
|
|
|
101
103
|
function (tabIndex) {
|
|
102
104
|
return this.closeTabSubject.next(tabIndex);
|
|
103
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* @param {?} event
|
|
108
|
+
* @return {?}
|
|
109
|
+
*/
|
|
110
|
+
CommonFunctionService.prototype.publish = /**
|
|
111
|
+
* @param {?} event
|
|
112
|
+
* @return {?}
|
|
113
|
+
*/
|
|
114
|
+
function (event) {
|
|
115
|
+
this.pub.next(event);
|
|
116
|
+
};
|
|
104
117
|
CommonFunctionService.decorators = [
|
|
105
118
|
{ type: Injectable, args: [{
|
|
106
119
|
providedIn: "root",
|
|
@@ -120,5 +133,9 @@ if (false) {
|
|
|
120
133
|
CommonFunctionService.prototype.closeTabSubject;
|
|
121
134
|
/** @type {?} */
|
|
122
135
|
CommonFunctionService.prototype.closeTab$;
|
|
136
|
+
/** @type {?} */
|
|
137
|
+
CommonFunctionService.prototype.pub;
|
|
138
|
+
/** @type {?} */
|
|
139
|
+
CommonFunctionService.prototype.pub$;
|
|
123
140
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRTNDO0lBSUU7UUFDUSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDekMsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakQsUUFBRyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDekIsU0FBSSxHQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBTHZDLENBQUM7Ozs7SUFPaEIsMENBQVU7OztJQUFWO1FBQ0UsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Ozs7OztJQUVELGlEQUFpQjs7Ozs7O0lBQWpCLFVBQWtCLElBQUksRUFBRSxRQUFjLEVBQUUsUUFBYTtRQUE3Qix5QkFBQSxFQUFBLGNBQWM7UUFBRSx5QkFBQSxFQUFBLGFBQWE7O1lBQzdDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQzs7WUFDekMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxJQUFJLEdBQU0sUUFBUSxhQUFVLENBQUM7O1lBRWpDLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUs7UUFFM0MsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7WUFDL0QsU0FBUyxHQUFHLEVBQUU7O1lBQ2QsVUFBVSxHQUFHLEVBQUU7O1lBQ2YsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM3QyxJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU07YUFDUDtTQUNGO1FBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ2xDLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5QyxJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU07YUFDUDtTQUNGO1FBRUQsT0FBTyxTQUFTLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQztJQUN4QyxDQUFDOzs7OztJQUVELDBDQUFVOzs7O0lBQVYsVUFBVyxHQUFXO1FBQ3BCLElBQUksR0FBRyxFQUFFO1lBQ1AsaUNBQWlDO1lBQ2pDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxPQUFPOzs7Ozs7SUFDUCx3Q0FBUTs7Ozs7O0lBQVIsVUFBUyxRQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Ozs7O0lBRUQsdUNBQU87Ozs7SUFBUCxVQUFRLEtBQUs7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDOztnQkFsRUQsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs7Z0NBTEQ7Q0FzRUMsQUFuRUQsSUFtRUM7U0FoRVkscUJBQXFCOzs7Ozs7SUFFaEMsZ0RBQWdEOztJQUNoRCwwQ0FBdUQ7O0lBRXhELG9DQUFnQzs7SUFDaEMscUNBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbiAgcHJpdmF0ZSBjbG9zZVRhYlN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcbiAgcHVibGljIGNsb3NlVGFiJCA9IHRoaXMuY2xvc2VUYWJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwdWJsaWMgcHViID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cdHB1YmxpYyBwdWIkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnB1Yi5hc09ic2VydmFibGUoKTtcclxuICBcclxuICB0ZXN0TWV0aG9kKCkge1xyXG4gICAgcmV0dXJuIFwidGVzdDExMTFcIjtcclxuICB9XHJcblxyXG4gIHNldE1pZGRsZUVsbGlwc2lzKHRleHQsIG1heFdpZHRoID0gMTUwLCBmb250U2l6ZSA9IDEzKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xyXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICBjb250ZXh0LmZvbnQgPSBgJHtmb250U2l6ZX1weCBBcmlhbGA7XHJcblxyXG4gICAgbGV0IHdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dCh0ZXh0KS53aWR0aDtcclxuXHJcbiAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHtcclxuICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICB9XHJcbiAgICBtYXhXaWR0aCA9IE1hdGguZmxvb3IobWF4V2lkdGggLSBjb250ZXh0Lm1lYXN1cmVUZXh0KFwiLi4uXCIpLndpZHRoKTtcclxuICAgIGxldCBmaXJzdFBhcnQgPSBcIlwiO1xyXG4gICAgbGV0IHNlY29uZFBhcnQgPSBcIlwiO1xyXG4gICAgbGV0IGhhbGYgPSBNYXRoLmZsb29yKG1heFdpZHRoIC8gMik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZmlyc3RQYXJ0ICs9IHRleHRbaV07XHJcbiAgICAgIHdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dChmaXJzdFBhcnQpLndpZHRoO1xyXG4gICAgICBpZiAod2lkdGggPiBoYWxmKSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGxldCBpID0gdGV4dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICBzZWNvbmRQYXJ0ID0gdGV4dFtpXSArIHNlY29uZFBhcnQ7XHJcbiAgICAgIHdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dChzZWNvbmRQYXJ0KS53aWR0aDtcclxuICAgICAgaWYgKHdpZHRoID4gaGFsZikge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpcnN0UGFydCArIFwiLi4uXCIgKyBzZWNvbmRQYXJ0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHVyZVVybCh1cmw6IHN0cmluZykge1xyXG4gICAgaWYgKHVybCkge1xyXG4gICAgICAvLyDlpoLmnpxwYXJhbXPnmoR2YWx1ZSDmkLrluKbmn6Xor6Llj4LmlbDvvIwg5YiZ5oiq5Y+W5YmN6Z2i6YOo5YiGXHJcbiAgICAgIHVybCA9IGRlY29kZVVSSUNvbXBvbmVudCh1cmwpO1xyXG4gICAgICBpZiAodXJsLmluY2x1ZGVzKFwiP1wiKSkge1xyXG4gICAgICAgIHVybCA9IHVybC5zcGxpdChcIj9cIilbMF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICAvLyDliKDpmaTlvZPliY1cclxuICBjbG9zZVRhYih0YWJJbmRleD86IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xvc2VUYWJTdWJqZWN0Lm5leHQodGFiSW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGlzaChldmVudCkge1xyXG5cdFx0dGhpcy5wdWIubmV4dChldmVudCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1255,6 +1255,8 @@ class CommonFunctionService {
|
|
|
1255
1255
|
constructor() {
|
|
1256
1256
|
this.closeTabSubject = new Subject();
|
|
1257
1257
|
this.closeTab$ = this.closeTabSubject.asObservable();
|
|
1258
|
+
this.pub = new Subject();
|
|
1259
|
+
this.pub$ = this.pub.asObservable();
|
|
1258
1260
|
}
|
|
1259
1261
|
/**
|
|
1260
1262
|
* @return {?}
|
|
@@ -1324,6 +1326,13 @@ class CommonFunctionService {
|
|
|
1324
1326
|
closeTab(tabIndex) {
|
|
1325
1327
|
return this.closeTabSubject.next(tabIndex);
|
|
1326
1328
|
}
|
|
1329
|
+
/**
|
|
1330
|
+
* @param {?} event
|
|
1331
|
+
* @return {?}
|
|
1332
|
+
*/
|
|
1333
|
+
publish(event) {
|
|
1334
|
+
this.pub.next(event);
|
|
1335
|
+
}
|
|
1327
1336
|
}
|
|
1328
1337
|
CommonFunctionService.decorators = [
|
|
1329
1338
|
{ type: Injectable, args: [{
|
|
@@ -1341,6 +1350,10 @@ if (false) {
|
|
|
1341
1350
|
CommonFunctionService.prototype.closeTabSubject;
|
|
1342
1351
|
/** @type {?} */
|
|
1343
1352
|
CommonFunctionService.prototype.closeTab$;
|
|
1353
|
+
/** @type {?} */
|
|
1354
|
+
CommonFunctionService.prototype.pub;
|
|
1355
|
+
/** @type {?} */
|
|
1356
|
+
CommonFunctionService.prototype.pub$;
|
|
1344
1357
|
}
|
|
1345
1358
|
|
|
1346
1359
|
/**
|
|
@@ -1596,6 +1609,7 @@ class MultiTabComponent {
|
|
|
1596
1609
|
//只能单个缓存的url
|
|
1597
1610
|
this.noGenerateTabUrls = []; //不生成tab的url
|
|
1598
1611
|
//不生成tab的url
|
|
1612
|
+
this.onRefreshTab = new EventEmitter();
|
|
1599
1613
|
this.subscriptions = [];
|
|
1600
1614
|
this.TAB_WIDTH = 164;
|
|
1601
1615
|
this.GAP_NORMAL = 54;
|
|
@@ -1860,16 +1874,14 @@ class MultiTabComponent {
|
|
|
1860
1874
|
* @return {?}
|
|
1861
1875
|
*/
|
|
1862
1876
|
refreshTab() {
|
|
1863
|
-
this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
|
|
1864
|
-
this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
1877
|
+
// this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
|
|
1878
|
+
// this.drawer.deleteCache(this.tabList[this.selectedTab].url);
|
|
1865
1879
|
/** @type {?} */
|
|
1866
1880
|
const currentUrl = this.router.url;
|
|
1867
|
-
this.
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
1872
|
-
}));
|
|
1881
|
+
this.onRefreshTab.emit(currentUrl);
|
|
1882
|
+
// this.router.navigateByUrl("/", { skipLocationChange: true }).then(() => {
|
|
1883
|
+
// this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
|
|
1884
|
+
// });
|
|
1873
1885
|
}
|
|
1874
1886
|
/**
|
|
1875
1887
|
* @param {?} url
|
|
@@ -1884,7 +1896,7 @@ MultiTabComponent.decorators = [
|
|
|
1884
1896
|
{ type: Component, args: [{
|
|
1885
1897
|
selector: "rs-multi-tab",
|
|
1886
1898
|
template: "<div class=\"rs-multi-tab\" [ngClass]=\"{ 'b-line': tabList.length > 0 }\">\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(i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\" *ngIf=\"tabList.length > 0\">\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",
|
|
1887
|
-
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
1899
|
+
styles: [".rs-multi-tab{width:100%;display:flex;justify-content:space-between;margin:0 auto;max-width:1886px}.rs-multi-tab.b-line{border-bottom:1px solid #e5eaef}.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:28px;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}}"]
|
|
1888
1900
|
}] }
|
|
1889
1901
|
];
|
|
1890
1902
|
/** @nocollapse */
|
|
@@ -1899,6 +1911,7 @@ MultiTabComponent.ctorParameters = () => [
|
|
|
1899
1911
|
MultiTabComponent.propDecorators = {
|
|
1900
1912
|
singleReuseUrls: [{ type: Input }],
|
|
1901
1913
|
noGenerateTabUrls: [{ type: Input }],
|
|
1914
|
+
onRefreshTab: [{ type: Output }],
|
|
1902
1915
|
onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
|
|
1903
1916
|
};
|
|
1904
1917
|
if (false) {
|
|
@@ -1908,6 +1921,8 @@ if (false) {
|
|
|
1908
1921
|
MultiTabComponent.prototype.singleReuseUrls;
|
|
1909
1922
|
/** @type {?} */
|
|
1910
1923
|
MultiTabComponent.prototype.noGenerateTabUrls;
|
|
1924
|
+
/** @type {?} */
|
|
1925
|
+
MultiTabComponent.prototype.onRefreshTab;
|
|
1911
1926
|
/**
|
|
1912
1927
|
* @type {?}
|
|
1913
1928
|
* @private
|