raise-common-lib 0.0.246 → 0.0.248
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 +166 -174
- 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/form/tag-input/index.component.js +11 -4
- package/esm2015/lib/layout/drawer/index.component.js +5 -24
- package/esm2015/lib/service/static-resource.service.js +5 -2
- package/esm5/lib/form/tag-input/index.component.js +12 -4
- package/esm5/lib/layout/drawer/index.component.js +5 -24
- package/esm5/lib/service/static-resource.service.js +5 -3
- package/fesm2015/raise-common-lib.js +135 -143
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +163 -171
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/form/tag-input/index.component.d.ts +2 -1
- package/lib/layout/drawer/index.component.d.ts +1 -4
- package/package.json +1 -1
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/style/reset/mat-dialog.scss +1 -0
|
@@ -15,6 +15,7 @@ export class TagInputComponent {
|
|
|
15
15
|
this.valueChange = new EventEmitter();
|
|
16
16
|
this.focus = new EventEmitter();
|
|
17
17
|
this.blur = new EventEmitter();
|
|
18
|
+
this.keyup = new EventEmitter();
|
|
18
19
|
this.inputError = false;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
@@ -48,15 +49,18 @@ export class TagInputComponent {
|
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* @param {?} event
|
|
52
|
+
* @param {?=} type
|
|
51
53
|
* @return {?}
|
|
52
54
|
*/
|
|
53
|
-
onAddTag(event) {
|
|
55
|
+
onAddTag(event, type) {
|
|
54
56
|
/** @type {?} */
|
|
55
57
|
const inputValue = event.target.value;
|
|
56
58
|
if (inputValue && this.verifyInputValue(inputValue)) {
|
|
57
59
|
this.valueChange.emit([...this.value, inputValue]);
|
|
58
60
|
event.target.value = "";
|
|
59
61
|
}
|
|
62
|
+
if (!type)
|
|
63
|
+
this.keyup.emit(event);
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* @param {?} inputValue
|
|
@@ -91,7 +95,7 @@ export class TagInputComponent {
|
|
|
91
95
|
* @return {?}
|
|
92
96
|
*/
|
|
93
97
|
onBlur(event) {
|
|
94
|
-
this.onAddTag(event);
|
|
98
|
+
this.onAddTag(event, "blur");
|
|
95
99
|
this.blur.emit();
|
|
96
100
|
}
|
|
97
101
|
}
|
|
@@ -111,7 +115,8 @@ TagInputComponent.propDecorators = {
|
|
|
111
115
|
maxlength: [{ type: Input, args: ["inputMaxlength",] }],
|
|
112
116
|
valueChange: [{ type: Output }],
|
|
113
117
|
focus: [{ type: Output }],
|
|
114
|
-
blur: [{ type: Output }]
|
|
118
|
+
blur: [{ type: Output }],
|
|
119
|
+
keyup: [{ type: Output }]
|
|
115
120
|
};
|
|
116
121
|
if (false) {
|
|
117
122
|
/** @type {?} */
|
|
@@ -133,6 +138,8 @@ if (false) {
|
|
|
133
138
|
/** @type {?} */
|
|
134
139
|
TagInputComponent.prototype.blur;
|
|
135
140
|
/** @type {?} */
|
|
141
|
+
TagInputComponent.prototype.keyup;
|
|
142
|
+
/** @type {?} */
|
|
136
143
|
TagInputComponent.prototype.inputError;
|
|
137
144
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNFLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBV3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWdCckMsZUFBVSxHQUFHLEtBQUssQ0FBQztJQTJCckIsQ0FBQzs7OztJQXhEQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7Ozs7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7Ozs7SUFTRCxRQUFRLEtBQUksQ0FBQzs7Ozs7SUFDYixXQUFXLENBQUMsR0FBRzs7Y0FDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7O0lBRUQsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFLOztjQUNiLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLFVBQVU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7O2NBQ2xCLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNO1FBQzFDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBcEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsOG1CQUFxQzs7YUFFdEM7OztvQkFFRSxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUssU0FBQyxnQkFBZ0I7d0JBQ3RCLEtBQUssU0FBQyxnQkFBZ0I7MEJBVXRCLE1BQU07b0JBR04sTUFBTTttQkFDTixNQUFNO29CQUNOLE1BQU07Ozs7SUFwQlAsa0NBQW9COztJQUNwQixtQ0FBZ0I7O0lBQ2hCLHFDQUEwQjs7SUFDMUIsa0NBQXVCOztJQUN2QixzQ0FBdUM7O0lBQ3ZDLHNDQUF3Qzs7SUFVeEMsd0NBQ2lDOztJQUVqQyxrQ0FBcUM7O0lBQ3JDLGlDQUFvQzs7SUFDcEMsa0NBQXFDOztJQWdCckMsdUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtdGFnLWlucHV0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhZ0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB2YWx1ZSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZpZWxkcztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KFwiaW5wdXRNaW5sZW5ndGhcIikgbWlubGVuZ3RoID0gMztcclxuICBASW5wdXQoXCJpbnB1dE1heGxlbmd0aFwiKSBtYXhsZW5ndGggPSAzMDtcclxuXHJcbiAgZ2V0IGlucHV0TWlubGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWlubGVuZ3RoID09PSB1bmRlZmluZWQgPyAzIDogdGhpcy5taW5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBnZXQgaW5wdXRNYXhsZW5ndGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5sZW5ndGggPT09IHVuZGVmaW5lZCA/IDMwIDogdGhpcy5tYXhsZW5ndGg7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBrZXl1cCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIG9uUmVtb3ZlVGFnKHRhZykge1xyXG4gICAgY29uc3QgdGFnc0xpc3QgPSB0aGlzLnZhbHVlLmZpbHRlcigoaSkgPT4gaSAhPT0gdGFnKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0YWdzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBvbkFkZFRhZyhldmVudCwgdHlwZT8pIHtcclxuICAgIGNvbnN0IGlucHV0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBpZiAoaW5wdXRWYWx1ZSAmJiB0aGlzLnZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLnZhbHVlLCBpbnB1dFZhbHVlXSk7XHJcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IFwiXCI7XHJcbiAgICB9XHJcbiAgICBpZiAoIXR5cGUpIHRoaXMua2V5dXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIGlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB2ZXJpZnlJbnB1dFZhbHVlKGlucHV0VmFsdWUpIHtcclxuICAgIHRoaXMuaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZUxlbmd0aCA9IGlucHV0VmFsdWUubGVuZ3RoO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnZhbHVlLmluY2x1ZGVzKGlucHV0VmFsdWUpIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPiB0aGlzLmlucHV0TWF4bGVuZ3RoIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPCB0aGlzLmlucHV0TWlubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pbnB1dEVycm9yID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5mb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkFkZFRhZyhldmVudCwgXCJibHVyXCIpO1xyXG4gICAgdGhpcy5ibHVyLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -5,32 +5,21 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver, ElementRef, ChangeDetectorRef, } from "@angular/core";
|
|
7
7
|
import { DefaultDrawerConfig, DrawerService, } from "../../service/drawer.service";
|
|
8
|
-
import { StaticResourceService } from "../../service/static-resource.service";
|
|
9
8
|
export class DrawerComponent {
|
|
10
9
|
/**
|
|
11
10
|
* @param {?} resolver
|
|
12
11
|
* @param {?} service
|
|
13
12
|
* @param {?} ref
|
|
14
|
-
* @param {?} staticResourceService
|
|
15
13
|
*/
|
|
16
|
-
constructor(resolver, service, ref
|
|
14
|
+
constructor(resolver, service, ref) {
|
|
17
15
|
this.resolver = resolver;
|
|
18
16
|
this.service = service;
|
|
19
17
|
this.ref = ref;
|
|
20
|
-
this.staticResourceService = staticResourceService;
|
|
21
18
|
this.config = DefaultDrawerConfig;
|
|
22
19
|
this.useAnimation = "yes";
|
|
23
20
|
this.isOpened = false;
|
|
24
21
|
this.hiddenDrawer = true;
|
|
25
|
-
this.backImage = null;
|
|
26
22
|
this.componentRefMap = new Map();
|
|
27
|
-
staticResourceService.load("/assets/img/drawer-back.svg", (/**
|
|
28
|
-
* @param {?} result
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
(result) => {
|
|
32
|
-
this.backImage = result;
|
|
33
|
-
}));
|
|
34
23
|
}
|
|
35
24
|
/**
|
|
36
25
|
* @private
|
|
@@ -288,16 +277,15 @@ export class DrawerComponent {
|
|
|
288
277
|
DrawerComponent.decorators = [
|
|
289
278
|
{ type: Component, args: [{
|
|
290
279
|
selector: "rs-drawer",
|
|
291
|
-
template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <
|
|
292
|
-
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button
|
|
280
|
+
template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
|
|
281
|
+
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4TDcuNTQ5ODYgMTJMMTIgNiIgc3Ryb2tlPSIjNkM3QzkwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTE3LjQyNyAxMi41QzE3LjcwMzEgMTIuNSAxNy45MjcgMTIuMjc2MSAxNy45MjcgMTJDMTcuOTI3IDExLjcyMzkgMTcuNzAzMSAxMS41IDE3LjQyNyAxMS41TDE3LjQyNyAxMi41Wk03LjM5ODkzIDEyLjVMMTcuNDI3IDEyLjVMMTcuNDI3IDExLjVMNy4zOTg5MyAxMS41TDcuMzk4OTMgMTIuNVoiIGZpbGw9IiM2QzdDOTAiLz4KPC9zdmc+Cg==\");width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover::before{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
|
|
293
282
|
}] }
|
|
294
283
|
];
|
|
295
284
|
/** @nocollapse */
|
|
296
285
|
DrawerComponent.ctorParameters = () => [
|
|
297
286
|
{ type: ComponentFactoryResolver },
|
|
298
287
|
{ type: DrawerService },
|
|
299
|
-
{ type: ChangeDetectorRef }
|
|
300
|
-
{ type: StaticResourceService }
|
|
288
|
+
{ type: ChangeDetectorRef }
|
|
301
289
|
];
|
|
302
290
|
DrawerComponent.propDecorators = {
|
|
303
291
|
element: [{ type: ViewChild, args: ["element", { static: false },] }],
|
|
@@ -340,8 +328,6 @@ if (false) {
|
|
|
340
328
|
DrawerComponent.prototype.isOpened;
|
|
341
329
|
/** @type {?} */
|
|
342
330
|
DrawerComponent.prototype.hiddenDrawer;
|
|
343
|
-
/** @type {?} */
|
|
344
|
-
DrawerComponent.prototype.backImage;
|
|
345
331
|
/**
|
|
346
332
|
* @type {?}
|
|
347
333
|
* @private
|
|
@@ -362,10 +348,5 @@ if (false) {
|
|
|
362
348
|
* @private
|
|
363
349
|
*/
|
|
364
350
|
DrawerComponent.prototype.ref;
|
|
365
|
-
/**
|
|
366
|
-
* @type {?}
|
|
367
|
-
* @private
|
|
368
|
-
*/
|
|
369
|
-
DrawerComponent.prototype.staticResourceService;
|
|
370
351
|
}
|
|
371
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBZTlFLE1BQU0sT0FBTyxlQUFlOzs7Ozs7O0lBMEIxQixZQUNVLFFBQWtDLEVBQ2xDLE9BQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLHFCQUE0QztRQUg1QyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFadEQsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRVQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztRQVFsRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCOzs7O1FBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUVPLHNCQUFzQixDQUFDLFNBQXNDOzs7Y0FFN0QsT0FBTyxHQUFH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RUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7cUJBQ3JDLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUNyQyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTswQkFFdEMsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBRTFDLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUV6QyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt3QkFFdEMsU0FBUyxTQUFDLDJCQUEyQixFQUFFO29CQUN0QyxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixNQUFNLEVBQUUsS0FBSztpQkFDZDs7OztJQWRELGtDQUE2RTs7SUFDN0UsaUNBQTJFOztJQUMzRSxpQ0FBMkU7O0lBQzNFLGtDQUE2RTs7SUFFN0Usc0NBQ3dDOztJQUN4QyxxQ0FDdUM7O0lBQ3ZDLGtDQUE2RTs7Ozs7SUFFN0Usb0NBSW9DOztJQUVwQyxpQ0FBMkM7O0lBQzNDLHVDQUFtQzs7SUFDbkMsbUNBQWlCOztJQUNqQix1Q0FBb0I7O0lBQ3BCLG9DQUFpQjs7Ozs7SUFFakIsMENBQW9FOzs7OztJQUdsRSxtQ0FBMEM7Ozs7O0lBQzFDLGtDQUE4Qjs7Ozs7SUFDOUIsOEJBQThCOzs7OztJQUM5QixnREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0YXRpY1Jlc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0YXRpYy1yZXNvdXJjZS5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcbiAgYmFja0ltYWdlID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZNYXAgPSBuZXcgTWFwPHN0cmluZywgRHJhd2VyQ29tcG9uZW50Q2FjaGVbXT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IERyYXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHN0YXRpY1Jlc291cmNlU2VydmljZTogU3RhdGljUmVzb3VyY2VTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3RhdGljUmVzb3VyY2VTZXJ2aWNlLmxvYWQoXCIvYXNzZXRzL2ltZy9kcmF3ZXItYmFjay5zdmdcIiwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLmJhY2tJbWFnZSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBZ0J0QyxNQUFNLE9BQU8sZUFBZTs7Ozs7O0lBeUIxQixZQUNVLFFBQWtDLEVBQ2xDLE9BQXNCLEVBQ3RCLEdBQXNCO1FBRnRCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWaEMsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVaLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7SUFNakUsQ0FBQzs7Ozs7O0lBRUksc0JBQXNCLENBQUMsU0FBc0M7OztjQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O2NBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8sdUJBQXVCLENBQUMsWUFBK0I7UUFDN0QsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Ozs7OztJ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QVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3dCQUV0QyxTQUFTLFNBQUMsMkJBQTJCLEVBQUU7b0JBQ3RDLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLE1BQU0sRUFBRSxLQUFLO2lCQUNkOzs7O0lBZEQsa0NBQTZFOztJQUM3RSxpQ0FBMkU7O0lBQzNFLGlDQUEyRTs7SUFDM0Usa0NBQTZFOztJQUU3RSxzQ0FDd0M7O0lBQ3hDLHFDQUN1Qzs7SUFDdkMsa0NBQTZFOzs7OztJQUU3RSxvQ0FJb0M7O0lBRXBDLGlDQUEyQzs7SUFDM0MsdUNBQW1DOztJQUNuQyxtQ0FBaUI7O0lBQ2pCLHVDQUFvQjs7Ozs7SUFFcEIsMENBQW9FOzs7OztJQUdsRSxtQ0FBMEM7Ozs7O0lBQzFDLGtDQUE4Qjs7Ozs7SUFDOUIsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJhd2VyQ29uZmlnLFxyXG4gIERlZmF1bHREcmF3ZXJDb25maWcsXHJcbiAgRHJhd2VyU2VydmljZSxcclxufSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGF0aWNSZXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdGF0aWMtcmVzb3VyY2Uuc2VydmljZVwiO1xyXG5cclxudHlwZSBEcmF3ZXJDb21wb25lbnRDYWNoZSA9IHtcclxuICByZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnO1xyXG4gIHRvb2xiYXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgaGVhZGVyRWw6IEhUTUxFbGVtZW50O1xyXG4gIHRvcEVsOiBIVE1MRWxlbWVudDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWRyYXdlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJlbGVtZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiZHJhd2VyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkcmF3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGhlYWRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwidG9vbGJhclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgdG9vbGJhclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGhlYWRlclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJ0b3BTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0b3BTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcImR5bmFtaWNDb21wb25lbnRDb250YWluZXJcIiwge1xyXG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHN0YXRpYzogZmFsc2UsXHJcbiAgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWcgPSBEZWZhdWx0RHJhd2VyQ29uZmlnO1xyXG4gIHVzZUFuaW1hdGlvbjogXCJ5ZXNcIiB8IFwibm9cIiA9IFwieWVzXCI7XHJcbiAgaXNPcGVuZWQgPSBmYWxzZTtcclxuICBoaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIGNvbXBvbmVudFJlZk1hcCA9IG5ldyBNYXA8c3RyaW5nLCBEcmF3ZXJDb21wb25lbnRDYWNoZVtdPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgc2VydmljZTogRHJhd2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0NvbXBvbmVudChjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSkge1xyXG4gICAgLy8g56Gu5L+d5Zyo6LCD55So5LmL5YmN55uu5qCH57uE5Lu25bey57uP5ZyoZW50cnlDb21wb25lbnRz5Lit5aOw5piOXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pikge1xyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb21wb25lbnREYXRhKFxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyYXdlci5uYXRpdmVFbGVtZW50Lmluc2VydEJlZm9yZShcclxuICAgICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZyA9IGNhY2hlLmNvbmZpZztcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogUGFydGlhbDxEcmF3ZXJDb25maWc+KSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcclxuICApOiBUIHtcclxuICAgIGNvbnN0IHNob3dDb25maWcgPSB7IC4uLkRlZmF1bHREcmF3ZXJDb25maWcsIC4uLmNvbmZpZyB9O1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCB0b29sYmFyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLXRvb2xiYXJdXCIpO1xyXG4gICAgY29uc3QgaGVhZGVyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLWhlYWRlcl1cIik7XHJcbiAgICBjb25zdCB0b3BFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9wXVwiKTtcclxuICAgIGNvbnN0IGNhY2hlID0ge1xyXG4gICAgICBjb25maWc6IHNob3dDb25maWcsXHJcbiAgICAgIHJlZjogY29tcG9uZW50UmVmLFxyXG4gICAgICB0b29sYmFyRWwsXHJcbiAgICAgIGhlYWRlckVsLFxyXG4gICAgICB0b3BFbCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KHRoaXMuc2VydmljZS5jYWNoZUtleSkgfHwgW107XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5zZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5LCBbLi4uY2FjaGVzLCBjYWNoZV0pO1xyXG4gICAgLy8g5aaC5p6c5piv56ys5LiA5Liq57yT5a2Y77yM5omT5byA5oq95bGJXHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMuc2V0Q29tcG9uZW50RGF0YShjb21wb25lbnRSZWYsIGRhdGEpO1xyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcblxyXG4gICAgLy8g5aaC5p6c5pyJ5LiK5LiA5Liq57yT5a2Y77yM6K6+572u5Li65b2T5YmN57yT5a2Y77yM5ZCm5YiZ5YWz6Zet5oq95bGJXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjb25zdCBjYWNoZSA9IGNhY2hlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgICBjYWNoZXMucG9wKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDYWNoZShjYWNoZTogRHJhd2VyQ29tcG9uZW50Q2FjaGUpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmZvckVhY2goKGNhY2hlcykgPT4ge1xyXG4gICAgICBjYWNoZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgIGMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IGMgPT09IGNhY2hlID8gXCJcIiA6IFwibm9uZVwiO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBbGxDYWNoZShjYWNoZUtleTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY2FjaGVzLmZvckVhY2goKGNhY2hlKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICB9XHJcblxyXG4gIG9uUm91dGVDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -31,7 +31,10 @@ export class StaticResourceService {
|
|
|
31
31
|
return "";
|
|
32
32
|
}
|
|
33
33
|
if (this.ResultMap.has(url)) {
|
|
34
|
-
|
|
34
|
+
/** @type {?} */
|
|
35
|
+
const result = this.ResultMap.get(url) || "";
|
|
36
|
+
cb(result);
|
|
37
|
+
return result;
|
|
35
38
|
}
|
|
36
39
|
/** @type {?} */
|
|
37
40
|
const res = yield fetch(url);
|
|
@@ -119,4 +122,4 @@ if (false) {
|
|
|
119
122
|
*/
|
|
120
123
|
StaticResourceService.prototype.sanitizer;
|
|
121
124
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXJlc291cmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2Uvc3RhdGljLXJlc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7OztBQUtsRSxNQUFNLE9BQU8scUJBQXFCOzs7O0lBR2hDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFGbkMsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRUQsQ0FBQzs7Ozs7O0lBRXpDLElBQUksQ0FBQyxHQUFXLEVBQUU7OztJQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7O1lBQ25FLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUNuQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7O3NCQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDNUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7O2tCQUVLLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sRUFBRSxDQUFDO2FBQ1g7O2tCQUVLLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDN0IsT0FBTyxJQUFJLE9BQU87Ozs7WUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFOztzQkFDckMsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFOztzQkFDekIsUUFBUTs7OztnQkFBRyxDQUFDLE1BQWMsRUFBRSxFQUFFOzswQkFDNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDO29CQUM3RCxJQUFJLE9BQU8sRUFBRTt3QkFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7cUJBQ2xDO29CQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDakIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNkLENBQUMsQ0FBQTtnQkFFRCxNQUFNLENBQUMsU0FBUzs7O2dCQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxtQkFBQSxNQUFNLENBQUMsTUFBTSxFQUFVLENBQUMsQ0FBQSxDQUFDO2dCQUMzRCxNQUFNLENBQUMsT0FBTzs7O2dCQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO2dCQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7Ozs7SUFFSyxTQUFTLENBQUMsR0FBVyxFQUFFLEVBQWtDOztZQUM3RCxPQUFPLElBQUksRUFBRTs7c0JBQ0wsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ25DLElBQUksTUFBTSxFQUFFO29CQUNWLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDWCxPQUFPLE1BQU0sQ0FBQztpQkFDZjtnQkFDRCxNQUFNLElBQUksT0FBTzs7OztnQkFBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQztLQUFBOzs7WUFwREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBSlEsWUFBWTs7Ozs7Ozs7SUFNbkIsMENBQStDOzs7OztJQUVuQywwQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRpY1Jlc291cmNlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBSZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgU2FmZVVybD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgYXN5bmMgbG9hZCh1cmw6IHN0cmluZywgY2I6IChyZXN1bHQ6IFNhZmVVcmwgfCBcIlwiKSA9PiB2b2lkID0gKCkgPT4ge30pIHtcclxuICAgIGlmICghdXJsIHx8IHR5cGVvZiB1cmwgIT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgY2IoXCJcIik7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuUmVzdWx0TWFwLmhhcyh1cmwpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuUmVzdWx0TWFwLmdldCh1cmwpIHx8IFwiXCI7XHJcbiAgICAgIGNiKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICAgIGlmICghcmVzLm9rKSB7XHJcbiAgICAgIGNiKFwiXCIpO1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBibG9iID0gYXdhaXQgcmVzLmJsb2IoKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTYWZlVXJsIHwgXCJcIj4oKHJlc29sdmUpID0+IHtcclxuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgY29uc3QgY2FsbGJhY2sgPSAocmVzdWx0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBzYWZlVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChyZXN1bHQpO1xyXG4gICAgICAgIGlmIChzYWZlVXJsKSB7XHJcbiAgICAgICAgICB0aGlzLlJlc3VsdE1hcC5zZXQodXJsLCBzYWZlVXJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZShzYWZlVXJsKTtcclxuICAgICAgICBjYihzYWZlVXJsKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiBjYWxsYmFjayhyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gY2FsbGJhY2soXCJcIik7XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBmb3JjZUxvYWQodXJsOiBzdHJpbmcsIGNiOiAocmVzdWx0OiBTYWZlVXJsIHwgXCJcIikgPT4gdm9pZCkge1xyXG4gICAgd2hpbGUgKHRydWUpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5sb2FkKHVybCk7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICBjYihyZXN1bHQpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwMCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -16,6 +16,7 @@ var TagInputComponent = /** @class */ (function () {
|
|
|
16
16
|
this.valueChange = new EventEmitter();
|
|
17
17
|
this.focus = new EventEmitter();
|
|
18
18
|
this.blur = new EventEmitter();
|
|
19
|
+
this.keyup = new EventEmitter();
|
|
19
20
|
this.inputError = false;
|
|
20
21
|
}
|
|
21
22
|
Object.defineProperty(TagInputComponent.prototype, "inputMinlength", {
|
|
@@ -64,19 +65,23 @@ var TagInputComponent = /** @class */ (function () {
|
|
|
64
65
|
};
|
|
65
66
|
/**
|
|
66
67
|
* @param {?} event
|
|
68
|
+
* @param {?=} type
|
|
67
69
|
* @return {?}
|
|
68
70
|
*/
|
|
69
71
|
TagInputComponent.prototype.onAddTag = /**
|
|
70
72
|
* @param {?} event
|
|
73
|
+
* @param {?=} type
|
|
71
74
|
* @return {?}
|
|
72
75
|
*/
|
|
73
|
-
function (event) {
|
|
76
|
+
function (event, type) {
|
|
74
77
|
/** @type {?} */
|
|
75
78
|
var inputValue = event.target.value;
|
|
76
79
|
if (inputValue && this.verifyInputValue(inputValue)) {
|
|
77
80
|
this.valueChange.emit(tslib_1.__spread(this.value, [inputValue]));
|
|
78
81
|
event.target.value = "";
|
|
79
82
|
}
|
|
83
|
+
if (!type)
|
|
84
|
+
this.keyup.emit(event);
|
|
80
85
|
};
|
|
81
86
|
/**
|
|
82
87
|
* @param {?} inputValue
|
|
@@ -125,7 +130,7 @@ var TagInputComponent = /** @class */ (function () {
|
|
|
125
130
|
* @return {?}
|
|
126
131
|
*/
|
|
127
132
|
function (event) {
|
|
128
|
-
this.onAddTag(event);
|
|
133
|
+
this.onAddTag(event, "blur");
|
|
129
134
|
this.blur.emit();
|
|
130
135
|
};
|
|
131
136
|
TagInputComponent.decorators = [
|
|
@@ -144,7 +149,8 @@ var TagInputComponent = /** @class */ (function () {
|
|
|
144
149
|
maxlength: [{ type: Input, args: ["inputMaxlength",] }],
|
|
145
150
|
valueChange: [{ type: Output }],
|
|
146
151
|
focus: [{ type: Output }],
|
|
147
|
-
blur: [{ type: Output }]
|
|
152
|
+
blur: [{ type: Output }],
|
|
153
|
+
keyup: [{ type: Output }]
|
|
148
154
|
};
|
|
149
155
|
return TagInputComponent;
|
|
150
156
|
}());
|
|
@@ -169,6 +175,8 @@ if (false) {
|
|
|
169
175
|
/** @type {?} */
|
|
170
176
|
TagInputComponent.prototype.blur;
|
|
171
177
|
/** @type {?} */
|
|
178
|
+
TagInputComponent.prototype.keyup;
|
|
179
|
+
/** @type {?} */
|
|
172
180
|
TagInputComponent.prototype.inputError;
|
|
173
181
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0U7SUFBQTtRQU1XLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDRSxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQVd4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFnQnJDLGVBQVUsR0FBRyxLQUFLLENBQUM7SUEyQnJCLENBQUM7SUF4REMsc0JBQUksNkNBQWM7Ozs7UUFBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0QsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw2Q0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM1RCxDQUFDOzs7T0FBQTs7OztJQVNELG9DQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBQ2IsdUNBQVc7Ozs7SUFBWCxVQUFZLEdBQUc7O1lBQ1AsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxLQUFLLEdBQUcsRUFBVCxDQUFTLEVBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7O0lBRUQsb0NBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLLEVBQUUsSUFBSzs7WUFDYixVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1FBQ3JDLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQUssSUFBSSxDQUFDLEtBQUssR0FBRSxVQUFVLEdBQUUsQ0FBQztZQUNuRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRUQsNENBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQVU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7O1lBQ2xCLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNO1FBQzFDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELG1DQUFPOzs7SUFBUDtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCxtQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsa0NBQU07Ozs7SUFBTixVQUFPLEtBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dCQXBFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLDhtQkFBcUM7O2lCQUV0Qzs7O3dCQUVFLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSyxTQUFDLGdCQUFnQjs0QkFDdEIsS0FBSyxTQUFDLGdCQUFnQjs4QkFVdEIsTUFBTTt3QkFHTixNQUFNO3VCQUNOLE1BQU07d0JBQ04sTUFBTTs7SUEyQ1Qsd0JBQUM7Q0FBQSxBQXJFRCxJQXFFQztTQWhFWSxpQkFBaUI7OztJQUM1QixrQ0FBb0I7O0lBQ3BCLG1DQUFnQjs7SUFDaEIscUNBQTBCOztJQUMxQixrQ0FBdUI7O0lBQ3ZCLHNDQUF1Qzs7SUFDdkMsc0NBQXdDOztJQVV4Qyx3Q0FDaUM7O0lBRWpDLGtDQUFxQzs7SUFDckMsaUNBQW9DOztJQUNwQyxrQ0FBcUM7O0lBZ0JyQyx1Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy10YWctaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFnSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gW107XHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoXCJpbnB1dE1pbmxlbmd0aFwiKSBtaW5sZW5ndGggPSAzO1xyXG4gIEBJbnB1dChcImlucHV0TWF4bGVuZ3RoXCIpIG1heGxlbmd0aCA9IDMwO1xyXG5cclxuICBnZXQgaW5wdXRNaW5sZW5ndGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5sZW5ndGggPT09IHVuZGVmaW5lZCA/IDMgOiB0aGlzLm1pbmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBpbnB1dE1heGxlbmd0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1pbmxlbmd0aCA9PT0gdW5kZWZpbmVkID8gMzAgOiB0aGlzLm1heGxlbmd0aDtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGtleXVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcbiAgb25SZW1vdmVUYWcodGFnKSB7XHJcbiAgICBjb25zdCB0YWdzTGlzdCA9IHRoaXMudmFsdWUuZmlsdGVyKChpKSA9PiBpICE9PSB0YWcpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRhZ3NMaXN0KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVGFnKGV2ZW50LCB0eXBlPykge1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHRoaXMudmVyaWZ5SW5wdXRWYWx1ZShpbnB1dFZhbHVlKSkge1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMudmFsdWUsIGlucHV0VmFsdWVdKTtcclxuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICghdHlwZSkgdGhpcy5rZXl1cC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gIHZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgICBjb25zdCBpbnB1dFZhbHVlTGVuZ3RoID0gaW5wdXRWYWx1ZS5sZW5ndGg7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMudmFsdWUuaW5jbHVkZXMoaW5wdXRWYWx1ZSkgfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA+IHRoaXMuaW5wdXRNYXhsZW5ndGggfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA8IHRoaXMuaW5wdXRNaW5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RXJyb3IgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLmZvY3VzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQWRkVGFnKGV2ZW50LCBcImJsdXJcIik7XHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -6,27 +6,16 @@
|
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver, ElementRef, ChangeDetectorRef, } from "@angular/core";
|
|
8
8
|
import { DefaultDrawerConfig, DrawerService, } from "../../service/drawer.service";
|
|
9
|
-
import { StaticResourceService } from "../../service/static-resource.service";
|
|
10
9
|
var DrawerComponent = /** @class */ (function () {
|
|
11
|
-
function DrawerComponent(resolver, service, ref
|
|
12
|
-
var _this = this;
|
|
10
|
+
function DrawerComponent(resolver, service, ref) {
|
|
13
11
|
this.resolver = resolver;
|
|
14
12
|
this.service = service;
|
|
15
13
|
this.ref = ref;
|
|
16
|
-
this.staticResourceService = staticResourceService;
|
|
17
14
|
this.config = DefaultDrawerConfig;
|
|
18
15
|
this.useAnimation = "yes";
|
|
19
16
|
this.isOpened = false;
|
|
20
17
|
this.hiddenDrawer = true;
|
|
21
|
-
this.backImage = null;
|
|
22
18
|
this.componentRefMap = new Map();
|
|
23
|
-
staticResourceService.load("/assets/img/drawer-back.svg", (/**
|
|
24
|
-
* @param {?} result
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
function (result) {
|
|
28
|
-
_this.backImage = result;
|
|
29
|
-
}));
|
|
30
19
|
}
|
|
31
20
|
/**
|
|
32
21
|
* @private
|
|
@@ -361,16 +350,15 @@ var DrawerComponent = /** @class */ (function () {
|
|
|
361
350
|
DrawerComponent.decorators = [
|
|
362
351
|
{ type: Component, args: [{
|
|
363
352
|
selector: "rs-drawer",
|
|
364
|
-
template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <
|
|
365
|
-
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button
|
|
353
|
+
template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
|
|
354
|
+
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4TDcuNTQ5ODYgMTJMMTIgNiIgc3Ryb2tlPSIjNkM3QzkwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTE3LjQyNyAxMi41QzE3LjcwMzEgMTIuNSAxNy45MjcgMTIuMjc2MSAxNy45MjcgMTJDMTcuOTI3IDExLjcyMzkgMTcuNzAzMSAxMS41IDE3LjQyNyAxMS41TDE3LjQyNyAxMi41Wk03LjM5ODkzIDEyLjVMMTcuNDI3IDEyLjVMMTcuNDI3IDExLjVMNy4zOTg5MyAxMS41TDcuMzk4OTMgMTIuNVoiIGZpbGw9IiM2QzdDOTAiLz4KPC9zdmc+Cg==\");width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover::before{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
|
|
366
355
|
}] }
|
|
367
356
|
];
|
|
368
357
|
/** @nocollapse */
|
|
369
358
|
DrawerComponent.ctorParameters = function () { return [
|
|
370
359
|
{ type: ComponentFactoryResolver },
|
|
371
360
|
{ type: DrawerService },
|
|
372
|
-
{ type: ChangeDetectorRef }
|
|
373
|
-
{ type: StaticResourceService }
|
|
361
|
+
{ type: ChangeDetectorRef }
|
|
374
362
|
]; };
|
|
375
363
|
DrawerComponent.propDecorators = {
|
|
376
364
|
element: [{ type: ViewChild, args: ["element", { static: false },] }],
|
|
@@ -416,8 +404,6 @@ if (false) {
|
|
|
416
404
|
DrawerComponent.prototype.isOpened;
|
|
417
405
|
/** @type {?} */
|
|
418
406
|
DrawerComponent.prototype.hiddenDrawer;
|
|
419
|
-
/** @type {?} */
|
|
420
|
-
DrawerComponent.prototype.backImage;
|
|
421
407
|
/**
|
|
422
408
|
* @type {?}
|
|
423
409
|
* @private
|
|
@@ -438,10 +424,5 @@ if (false) {
|
|
|
438
424
|
* @private
|
|
439
425
|
*/
|
|
440
426
|
DrawerComponent.prototype.ref;
|
|
441
|
-
/**
|
|
442
|
-
* @type {?}
|
|
443
|
-
* @private
|
|
444
|
-
*/
|
|
445
|
-
DrawerComponent.prototype.staticResourceService;
|
|
446
427
|
}
|
|
447
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVU5RTtJQStCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQixFQUN0QixxQkFBNEM7UUFKdEQsaUJBU0M7UUFSUyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFadEQsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRVQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztRQVFsRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCOzs7O1FBQUUsVUFBQyxNQUFNO1lBQy9ELEtBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sZ0RBQXNCOzs7OztJQUE5QixVQUErQixTQUFzQzs7O1lBRTdELE9BQU8sR0FBRyxJQUFJLENB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aWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJhd2VyQ29uZmlnLFxyXG4gIERlZmF1bHREcmF3ZXJDb25maWcsXHJcbiAgRHJhd2VyU2VydmljZSxcclxufSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGF0aWNSZXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdGF0aWMtcmVzb3VyY2Uuc2VydmljZVwiO1xyXG5cclxudHlwZSBEcmF3ZXJDb21wb25lbnRDYWNoZSA9IHtcclxuICByZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnO1xyXG4gIHRvb2xiYXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgaGVhZGVyRWw6IEhUTUxFbGVtZW50O1xyXG4gIHRvcEVsOiBIVE1MRWxlbWVudDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWRyYXdlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJlbGVtZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiZHJhd2VyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkcmF3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGhlYWRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwidG9vbGJhclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgdG9vbGJhclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGhlYWRlclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJ0b3BTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0b3BTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcImR5bmFtaWNDb21wb25lbnRDb250YWluZXJcIiwge1xyXG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHN0YXRpYzogZmFsc2UsXHJcbiAgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWcgPSBEZWZhdWx0RHJhd2VyQ29uZmlnO1xyXG4gIHVzZUFuaW1hdGlvbjogXCJ5ZXNcIiB8IFwibm9cIiA9IFwieWVzXCI7XHJcbiAgaXNPcGVuZWQgPSBmYWxzZTtcclxuICBoaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gIGJhY2tJbWFnZSA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzdGF0aWNSZXNvdXJjZVNlcnZpY2U6IFN0YXRpY1Jlc291cmNlU2VydmljZSxcclxuICApIHtcclxuICAgIHN0YXRpY1Jlc291cmNlU2VydmljZS5sb2FkKFwiL2Fzc2V0cy9pbWcvZHJhd2VyLWJhY2suc3ZnXCIsIChyZXN1bHQpID0+IHtcclxuICAgICAgdGhpcy5iYWNrSW1hZ2UgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0NvbXBvbmVudChjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSkge1xyXG4gICAgLy8g56Gu5L+d5Zyo6LCD55So5LmL5YmN55uu5qCH57uE5Lu25bey57uP5ZyoZW50cnlDb21wb25lbnRz5Lit5aOw5piOXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pikge1xyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb21wb25lbnREYXRhKFxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyYXdlci5uYXRpdmVFbGVtZW50Lmluc2VydEJlZm9yZShcclxuICAgICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZyA9IGNhY2hlLmNvbmZpZztcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogUGFydGlhbDxEcmF3ZXJDb25maWc+KSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcclxuICApOiBUIHtcclxuICAgIGNvbnN0IHNob3dDb25maWcgPSB7IC4uLkRlZmF1bHREcmF3ZXJDb25maWcsIC4uLmNvbmZpZyB9O1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCB0b29sYmFyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLXRvb2xiYXJdXCIpO1xyXG4gICAgY29uc3QgaGVhZGVyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLWhlYWRlcl1cIik7XHJcbiAgICBjb25zdCB0b3BFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9wXVwiKTtcclxuICAgIGNvbnN0IGNhY2hlID0ge1xyXG4gICAgICBjb25maWc6IHNob3dDb25maWcsXHJcbiAgICAgIHJlZjogY29tcG9uZW50UmVmLFxyXG4gICAgICB0b29sYmFyRWwsXHJcbiAgICAgIGhlYWRlckVsLFxyXG4gICAgICB0b3BFbCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KHRoaXMuc2VydmljZS5jYWNoZUtleSkgfHwgW107XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5zZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5LCBbLi4uY2FjaGVzLCBjYWNoZV0pO1xyXG4gICAgLy8g5aaC5p6c5piv56ys5LiA5Liq57yT5a2Y77yM5omT5byA5oq95bGJXHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMuc2V0Q29tcG9uZW50RGF0YShjb21wb25lbnRSZWYsIGRhdGEpO1xyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcblxyXG4gICAgLy8g5aaC5p6c5pyJ5LiK5LiA5Liq57yT5a2Y77yM6K6+572u5Li65b2T5YmN57yT5a2Y77yM5ZCm5YiZ5YWz6Zet5oq95bGJXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjb25zdCBjYWNoZSA9IGNhY2hlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgICBjYWNoZXMucG9wKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDYWNoZShjYWNoZTogRHJhd2VyQ29tcG9uZW50Q2FjaGUpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmZvckVhY2goKGNhY2hlcykgPT4ge1xyXG4gICAgICBjYWNoZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgIGMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IGMgPT09IGNhY2hlID8gXCJcIiA6IFwibm9uZVwiO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBbGxDYWNoZShjYWNoZUtleTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY2FjaGVzLmZvckVhY2goKGNhY2hlKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICB9XHJcblxyXG4gIG9uUm91dGVDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQVd0QztJQThCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVmhDLFdBQU0sR0FBaUIsbUJBQW1CLENBQUM7UUFDM0MsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFWixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFrQyxDQUFDO0lBTWpFLENBQUM7Ozs7OztJQUVJLGdEQUFzQjs7Ozs7SUFBOUIsVUFBK0IsU0FBc0M7OztZQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O1lBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8saURBQXVCOzs7OztJQUEvQixVQUFnQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7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LFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzhCQUV0QyxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs2QkFFMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBRXpDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUV0QyxTQUFTLFNBQUMsMkJBQTJCLEVBQUU7d0JBQ3RDLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxLQUFLO3FCQUNkOztJQTZMSCxzQkFBQztDQUFBLEFBak5ELElBaU5DO1NBNU1ZLGVBQWU7OztJQUMxQixrQ0FBNkU7O0lBQzdFLGlDQUEyRTs7SUFDM0UsaUNBQTJFOztJQUMzRSxrQ0FBNkU7O0lBRTdFLHNDQUN3Qzs7SUFDeEMscUNBQ3VDOztJQUN2QyxrQ0FBNkU7Ozs7O0lBRTdFLG9DQUlvQzs7SUFFcEMsaUNBQTJDOztJQUMzQyx1Q0FBbUM7O0lBQ25DLG1DQUFpQjs7SUFDakIsdUNBQW9COzs7OztJQUVwQiwwQ0FBb0U7Ozs7O0lBR2xFLG1DQUEwQzs7Ozs7SUFDMUMsa0NBQThCOzs7OztJQUM5Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0YXRpY1Jlc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0YXRpYy1yZXNvdXJjZS5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|