raise-common-lib 0.0.207 → 0.0.209
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/README.md +57 -57
- package/bundles/raise-common-lib.umd.js +89 -20
- 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/dashboard/bar-charts/bar-charts.component.js +2 -2
- package/esm2015/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +2 -2
- package/esm2015/lib/dashboard/dialog-group/download/index.component.js +3 -3
- package/esm2015/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +3 -3
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +2 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +2 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +2 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -3
- package/esm2015/lib/dashboard/pane-group-new.component.js +1 -1
- package/esm2015/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +2 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +2 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +2 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +3 -3
- package/esm2015/lib/form/checkbox-group/index.component.js +60 -5
- package/esm5/lib/dashboard/bar-charts/bar-charts.component.js +2 -2
- package/esm5/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +2 -2
- package/esm5/lib/dashboard/dialog-group/download/index.component.js +3 -3
- package/esm5/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +3 -3
- package/esm5/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +2 -2
- package/esm5/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +2 -2
- package/esm5/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +2 -2
- package/esm5/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -3
- package/esm5/lib/dashboard/pane-group-new.component.js +1 -1
- package/esm5/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +2 -2
- package/esm5/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +2 -2
- package/esm5/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +2 -2
- package/esm5/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +3 -3
- package/esm5/lib/form/checkbox-group/index.component.js +74 -5
- package/fesm2015/raise-common-lib.js +75 -20
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +89 -20
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/form/checkbox-group/index.component.d.ts +5 -0
- package/package.json +1 -1
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/img/arrow_right.svg +4 -4
- package/src/assets/img/calendar-disabled.svg +6 -6
- package/src/assets/img/calendar.svg +6 -6
- package/src/assets/img/calendar_arrow_left.svg +3 -3
- package/src/assets/img/calendar_arrow_right.svg +3 -3
- package/src/assets/img/checked-vector.svg +3 -3
- package/src/assets/img/dialog-close.svg +4 -4
- package/src/assets/img/dialog-grow.svg +6 -6
- package/src/assets/img/dialog-shrink.svg +6 -6
- package/src/assets/img/plus.svg +4 -4
- package/src/assets/img/search.svg +4 -4
- package/src/assets/img/shrink-icon.svg +6 -6
- package/src/assets/img/time-disabled.svg +4 -4
- package/src/assets/img/time.svg +4 -4
- package/src/assets/img/toolbar-action-addFolder.svg +17 -17
- package/src/assets/img/toolbar-action-calculator.svg +11 -11
- package/src/assets/img/toolbar-action-collapse.svg +7 -7
- package/src/assets/img/toolbar-action-combine.svg +4 -4
- package/src/assets/img/toolbar-action-edit.svg +4 -4
- package/src/assets/img/toolbar-action-expand.svg +7 -7
- package/src/assets/img/toolbar-action-folderMove.svg +8 -8
- package/src/assets/img/toolbar-action-lock.svg +6 -6
- package/src/assets/img/toolbar-action-preview.svg +7 -7
- package/src/assets/img/toolbar-action-publish.svg +5 -5
- package/src/assets/img/toolbar-action-reminders.svg +10 -10
- package/src/assets/img/toolbar-action-rename.svg +7 -7
- package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
- package/src/assets/img/toolbar-action-send-file.svg +5 -5
- package/src/assets/img/toolbar-action-settle.svg +7 -7
- package/src/assets/img/toolbar-action-share.svg +5 -5
- package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
- package/src/assets/img/toolbar-action-sync.svg +4 -4
- package/src/assets/img/toolbar-action-template.svg +6 -6
- package/src/assets/img/toolbar-action-workflow.svg +9 -9
- package/src/assets/style/reset/button.scss +0 -1
- package/src/assets/style/reset/checkbox.scss +8 -3
- package/src/assets/style/variables.scss +1 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
// 组件类
|
|
8
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from "@angular/core";
|
|
8
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, } from "@angular/core";
|
|
9
9
|
var CheckboxGroupComponent = /** @class */ (function () {
|
|
10
10
|
function CheckboxGroupComponent(ref) {
|
|
11
11
|
this.ref = ref;
|
|
@@ -17,6 +17,7 @@ var CheckboxGroupComponent = /** @class */ (function () {
|
|
|
17
17
|
this.disabled = false;
|
|
18
18
|
this.error = false;
|
|
19
19
|
this.valueChange = new EventEmitter();
|
|
20
|
+
this.indeterminate = false;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* @return {?}
|
|
@@ -25,8 +26,24 @@ var CheckboxGroupComponent = /** @class */ (function () {
|
|
|
25
26
|
* @return {?}
|
|
26
27
|
*/
|
|
27
28
|
function () {
|
|
28
|
-
console.log(
|
|
29
|
+
console.log("first", this.value);
|
|
30
|
+
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
29
31
|
};
|
|
32
|
+
Object.defineProperty(CheckboxGroupComponent.prototype, "enabledDataSource", {
|
|
33
|
+
get: /**
|
|
34
|
+
* @return {?}
|
|
35
|
+
*/
|
|
36
|
+
function () {
|
|
37
|
+
var _this = this;
|
|
38
|
+
return this.dataSource.filter((/**
|
|
39
|
+
* @param {?} item
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
function (item) { return !item[_this.fields.disabled]; })) || [];
|
|
43
|
+
},
|
|
44
|
+
enumerable: true,
|
|
45
|
+
configurable: true
|
|
46
|
+
});
|
|
30
47
|
/**
|
|
31
48
|
* @param {?} event
|
|
32
49
|
* @param {?} option
|
|
@@ -53,14 +70,62 @@ var CheckboxGroupComponent = /** @class */ (function () {
|
|
|
53
70
|
*/
|
|
54
71
|
function (val) { return val !== option[_this.fields.value]; }));
|
|
55
72
|
}
|
|
73
|
+
this.calculateIndeterminate(result);
|
|
56
74
|
this.valueChange.emit(result);
|
|
57
75
|
this.ref.markForCheck();
|
|
58
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* @param {?} event
|
|
79
|
+
* @return {?}
|
|
80
|
+
*/
|
|
81
|
+
CheckboxGroupComponent.prototype.onSelectAll = /**
|
|
82
|
+
* @param {?} event
|
|
83
|
+
* @return {?}
|
|
84
|
+
*/
|
|
85
|
+
function (event) {
|
|
86
|
+
var _this = this;
|
|
87
|
+
if (event.checked) {
|
|
88
|
+
this.valueChange.emit(this.dataSource
|
|
89
|
+
.filter((/**
|
|
90
|
+
* @param {?} item
|
|
91
|
+
* @return {?}
|
|
92
|
+
*/
|
|
93
|
+
function (item) { return !item[_this.fields.disabled]; }))
|
|
94
|
+
.map((/**
|
|
95
|
+
* @param {?} item
|
|
96
|
+
* @return {?}
|
|
97
|
+
*/
|
|
98
|
+
function (item) { return item[_this.fields.value]; })));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.valueChange.emit([]);
|
|
102
|
+
}
|
|
103
|
+
this.ref.markForCheck();
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* @param {?} result
|
|
107
|
+
* @return {?}
|
|
108
|
+
*/
|
|
109
|
+
CheckboxGroupComponent.prototype.calculateIndeterminate = /**
|
|
110
|
+
* @param {?} result
|
|
111
|
+
* @return {?}
|
|
112
|
+
*/
|
|
113
|
+
function (result) {
|
|
114
|
+
if (result.length === this.enabledDataSource.length) {
|
|
115
|
+
this.indeterminate = false;
|
|
116
|
+
}
|
|
117
|
+
else if (result.length > 0 && result.length < this.enabledDataSource.length) {
|
|
118
|
+
this.indeterminate = true;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.indeterminate = false;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
59
124
|
CheckboxGroupComponent.decorators = [
|
|
60
125
|
{ type: Component, args: [{
|
|
61
126
|
selector: "rs-checkbox-group",
|
|
62
|
-
template: "<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-checkbox\r\n [name]=\"name\"\r\n [label]=\"option[fields.text]\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n [checked]=\"value.includes(option[fields.value])\"\r\n (change)=\"onChange($event, option)\"\r\n ></ejs-checkbox>\r\n </div>\r\n</div>\r\n",
|
|
63
|
-
styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:
|
|
127
|
+
template: "<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <ejs-checkbox\r\n [label]=\"translation.SELECT_ALL ? translation.SELECT_ALL : 'Select All'\"\r\n [indeterminate]=\"indeterminate\"\r\n [checked]=\"value.length === enabledDataSource.length ? true : false\"\r\n (change)=\"onSelectAll($event)\"\r\n ></ejs-checkbox>\r\n <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-checkbox\r\n [name]=\"name\"\r\n [label]=\"option[fields.text]\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n [checked]=\"value.includes(option[fields.value])\"\r\n (change)=\"onChange($event, option)\"\r\n ></ejs-checkbox>\r\n </div>\r\n</div>\r\n",
|
|
128
|
+
styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:4px}.checkbox-group.error .e-checkbox-wrapper .e-frame{border-color:var(--rs-input-error-border-color)}"]
|
|
64
129
|
}] }
|
|
65
130
|
];
|
|
66
131
|
/** @nocollapse */
|
|
@@ -97,10 +162,14 @@ if (false) {
|
|
|
97
162
|
CheckboxGroupComponent.prototype.error;
|
|
98
163
|
/** @type {?} */
|
|
99
164
|
CheckboxGroupComponent.prototype.valueChange;
|
|
165
|
+
/** @type {?} */
|
|
166
|
+
CheckboxGroupComponent.prototype.translation;
|
|
167
|
+
/** @type {?} */
|
|
168
|
+
CheckboxGroupComponent.prototype.indeterminate;
|
|
100
169
|
/**
|
|
101
170
|
* @type {?}
|
|
102
171
|
* @private
|
|
103
172
|
*/
|
|
104
173
|
CheckboxGroupComponent.prototype.ref;
|
|
105
174
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2NoZWNrYm94LWdyb3VwL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkI7SUFNRSxnQ0FBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7O1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUN0RCxXQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ2hFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUd2QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFadUIsQ0FBQzs7OztJQWE5Qyx5Q0FBUTs7O0lBQVI7UUFDRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0Qsc0JBQUkscURBQWlCOzs7O1FBQXJCO1lBQUEsaUJBRUM7WUFEQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTs7OztZQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBM0IsQ0FBMkIsRUFBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RSxDQUFDOzs7T0FBQTs7Ozs7O0lBRUQseUNBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLLEVBQUUsTUFBTTtRQUF0QixpQkFXQzs7WUFWTyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUs7O1lBQzVCLE1BQU07UUFDVixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxvQkFBTyxhQUFhLEdBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0wsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLEtBQUssTUFBTSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQWpDLENBQWlDLEVBQUMsQ0FBQztTQUMzRTtRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsNENBQVc7Ozs7SUFBWCxVQUFZLEtBQUs7UUFBakIsaUJBV0M7UUFWQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxVQUFVO2lCQUNaLE1BQU07Ozs7WUFBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQTNCLENBQTJCLEVBQUM7aUJBQzdDLEdBQUc7Ozs7WUFBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUF2QixDQUF1QixFQUFDLENBQzFDLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsdURBQXNCOzs7O0lBQXRCLFVBQXVCLE1BQU07UUFDM0IsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7YUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnQkE3REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLHV4QkFBcUM7O2lCQUV0Qzs7OztnQkFaQyxpQkFBaUI7Ozt1QkFlaEIsS0FBSzt3QkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFFTCxNQUFNOztJQStDVCw2QkFBQztDQUFBLEFBOURELElBOERDO1NBekRZLHNCQUFzQjs7O0lBRWpDLHNDQUFjOztJQUNkLHVDQUFvQjs7SUFDcEIsNENBQXlCOztJQUN6Qiw2Q0FBK0Q7O0lBQy9ELHdDQUF5RTs7SUFDekUsMENBQTBCOztJQUMxQix1Q0FBdUI7O0lBRXZCLDZDQUNpQzs7SUFDakMsNkNBQVk7O0lBQ1osK0NBQXNCOzs7OztJQVpWLHFDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtY2hlY2tib3gtZ3JvdXBcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIEBJbnB1dCgpIG5hbWU7IC8vIOWIhue7hOWHreivgVxyXG4gIEBJbnB1dCgpIHZhbHVlID0gW107XHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIiA9IFwiaG9yaXpvbnRhbFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IHsgdGV4dDogXCJ0ZXh0XCIsIHZhbHVlOiBcInZhbHVlXCIsIGRpc2FibGVkOiBcImRpc2FibGVkXCIgfTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHRyYW5zbGF0aW9uO1xyXG4gIGluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZmlyc3RcIiwgdGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKTtcclxuICB9XHJcbiAgZ2V0IGVuYWJsZWREYXRhU291cmNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtW3RoaXMuZmllbGRzLmRpc2FibGVkXSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShldmVudCwgb3B0aW9uKSB7XHJcbiAgICBjb25zdCBvcmlnaW5hbFZhbHVlID0gdGhpcy52YWx1ZTtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICByZXN1bHQgPSBbLi4ub3JpZ2luYWxWYWx1ZSwgb3B0aW9uW3RoaXMuZmllbGRzLnZhbHVlXV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXN1bHQgPSBvcmlnaW5hbFZhbHVlLmZpbHRlcigodmFsKSA9PiB2YWwgIT09IG9wdGlvblt0aGlzLmZpZWxkcy52YWx1ZV0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxjdWxhdGVJbmRldGVybWluYXRlKHJlc3VsdCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGwoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VcclxuICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtW3RoaXMuZmllbGRzLmRpc2FibGVkXSlcclxuICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW1bdGhpcy5maWVsZHMudmFsdWVdKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFtdKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlSW5kZXRlcm1pbmF0ZShyZXN1bHQpIHtcclxuICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSB0aGlzLmVuYWJsZWREYXRhU291cmNlLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAocmVzdWx0Lmxlbmd0aCA+IDAgJiYgcmVzdWx0Lmxlbmd0aCA8IHRoaXMuZW5hYmxlZERhdGFTb3VyY2UubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|