@elderbyte/ngx-starter 18.12.4 → 18.12.6
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/esm2022/lib/common/data/data-context/indexed-entities.mjs +13 -2
- package/esm2022/lib/common/selection/selection-model.mjs +4 -3
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -2
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +21 -0
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +24 -0
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +43 -0
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +69 -0
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +117 -0
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +44 -0
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +87 -130
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +41 -0
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +144 -0
- package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +93 -0
- package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +54 -0
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +37 -0
- package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +10 -0
- package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +96 -0
- package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +194 -0
- package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
- package/fesm2022/elderbyte-ngx-starter.mjs +789 -892
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.d.ts +9 -0
- package/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.d.ts +7 -0
- package/lib/components/time/elder-interval-picker/controller/interval-controller.d.ts +35 -0
- package/lib/components/time/elder-interval-picker/controller/interval-form-controller.d.ts +12 -0
- package/lib/components/time/elder-interval-picker/controller/interval-select-controller.d.ts +22 -0
- package/lib/components/time/elder-interval-picker/controller/interval-shift-controller.d.ts +13 -0
- package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +26 -34
- package/lib/components/time/elder-interval-picker/{elder-interval-picker-binding.directive.d.ts → interval-picker-binding/elder-interval-picker-binding.directive.d.ts} +3 -4
- package/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +37 -0
- package/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.d.ts +46 -0
- package/lib/components/time/elder-interval-picker/model/anchor-state.d.ts +20 -0
- package/lib/components/time/elder-interval-picker/model/interval-state.d.ts +16 -0
- package/lib/components/time/elder-interval-picker/model/smart-shift-state.d.ts +8 -0
- package/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.d.ts +30 -0
- package/lib/components/time/elder-interval-picker/util/interval-picker-util.d.ts +20 -0
- package/lib/components/time/elder-time.module.d.ts +4 -4
- package/package.json +1 -1
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +0 -40
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -202
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-picker-model-editor.mjs +0 -284
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-picker-model.mjs +0 -445
- package/esm2022/lib/components/time/elder-interval-picker/model/plain-date-interval-message-renderer.mjs +0 -37
- package/esm2022/lib/components/time/elder-interval-picker/model/plain-temporal-duration-message-renderer.mjs +0 -25
- package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +0 -55
- package/lib/components/time/elder-interval-picker/model/interval-picker-model-editor.d.ts +0 -77
- package/lib/components/time/elder-interval-picker/model/interval-picker-model.d.ts +0 -113
- package/lib/components/time/elder-interval-picker/model/plain-date-interval-message-renderer.d.ts +0 -7
- package/lib/components/time/elder-interval-picker/model/plain-temporal-duration-message-renderer.d.ts +0 -4
|
@@ -53,14 +53,25 @@ export class IndexedEntities {
|
|
|
53
53
|
*/
|
|
54
54
|
updateSome(updated) {
|
|
55
55
|
const newData = [...this.entitiesSnapshot];
|
|
56
|
+
let anyUpdated = false;
|
|
57
|
+
const notFound = [];
|
|
56
58
|
updated.forEach((update) => {
|
|
57
59
|
const id = this.getItemId(update);
|
|
58
60
|
const index = this.indexById(id);
|
|
59
61
|
if (index != -1) {
|
|
60
62
|
newData[index] = update;
|
|
63
|
+
anyUpdated = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
notFound.push(update);
|
|
61
67
|
}
|
|
62
68
|
});
|
|
63
|
-
|
|
69
|
+
if (notFound.length > 0) {
|
|
70
|
+
this.log.warn('could not find all entities to update ' + notFound.length + '/' + updated.length, notFound);
|
|
71
|
+
}
|
|
72
|
+
if (anyUpdated) {
|
|
73
|
+
this.setEntities(newData);
|
|
74
|
+
}
|
|
64
75
|
}
|
|
65
76
|
append(append) {
|
|
66
77
|
this.insert(append, this.entitiesSnapshot.length);
|
|
@@ -139,4 +150,4 @@ export class IndexedEntities {
|
|
|
139
150
|
}
|
|
140
151
|
}
|
|
141
152
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9pbmRleGVkLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFHbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE1BQU0sT0FBTyxlQUFlO0lBWTFCOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixJQUFtQixFQUNuQixXQUE0RCxFQUM1RCxXQUF3QjtRQUZ4QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFpRDtRQUM1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCM0M7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFaEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQTtJQVl0RCxDQUFDO0lBRUo7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxjQUFtQixFQUFFO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdB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UUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBYSxFQUFFLFVBQWtCO1FBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzFCLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNyRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsRUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFhO1FBQy9CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBTb3J0Q29udGV4dCB9IGZyb20gJy4uL3NvcnQtY29udGV4dCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcblxuZXhwb3J0IGNsYXNzIEluZGV4ZWRFbnRpdGllczxULCBUSWQgPSBhbnk+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignSW5kZXhlZEVudGl0aWVzJylcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbnRpdGllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lkVG9BcnJheUluZGV4ID0gbmV3IE1hcDxUSWQsIG51bWJlcj4oKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRGbjogKGU6IFQpID0+IFRJZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU29ydEZuOiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvcnRDb250ZXh0OiBTb3J0Q29udGV4dFxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBlbnRpdGllcyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRpZXMkLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGl0aWVzU25hcHNob3QoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRpZXMkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhbGwgZXhpc3RpbmcgZW50aXRpZXMgd2l0aCB0aGUgbmV3IG9uZXMuXG4gICAqIFRoZSBpbmRleCBpcyByZWJ1aWx0LiBPKG4pXG4gICAqL1xuICBwdWJsaWMgcmVwbGFjZUFsbChuZXdFbnRpdGllczogVFtdID0gW10pIHtcbiAgICBpZiAodGhpcy5sb2NhbFNvcnRGbikge1xuICAgICAgbmV3RW50aXRpZXMgPSB0aGlzLmxvY2FsU29ydEZuKG5ld0VudGl0aWVzLCB0aGlzLnNvcnRDb250ZXh0LnNvcnRzU25hcHNob3QpXG4gICAgfVxuICAgIHRoaXMucmVidWlsZEluZGV4KG5ld0VudGl0aWVzKVxuICAgIHRoaXMuc2V0RW50aXRpZXMobmV3RW50aXRpZXMpXG4gIH1cblxuICAvKipcbiAgICogS2VlcHMgYWxsIGV4aXN0aW5nIGVudGl0aWVzLCBidXQgcmVwbGFjZXMgdGhvc2Ugd2hpY2ggYXJlIHVwZGF0ZWQgd2l0aCB0aGUgbmV3IGRhdGEuXG4gICAqIFByb3ZpZGVkIHVwZGF0ZWQgZW50aXRpZXMgd2hpY2ggYXJlIGN1cnJlbnRseSBub3QgaW4gdGhpcyBpbmRleCBhcmUgaWdub3JlZC5cbiAgICogQHBhcmFtIHVwZGF0ZWRcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVTb21lKHVwZGF0ZWQ6IFRbXSkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4udGhpcy5lbnRpdGllc1NuYXBzaG90XVxuICAgIHVwZGF0ZWQuZm9yRWFjaCgodXBkYXRlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SXRlbUlkKHVwZGF0ZSlcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleEJ5SWQoaWQpXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcbiAgICAgICAgbmV3RGF0YVtpbmRleF0gPSB1cGRhdGVcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMuc2V0RW50aXRpZXMobmV3RGF0YSlcbiAgfVxuXG4gIHB1YmxpYyBhcHBlbmQoYXBwZW5kOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLmluc2VydChhcHBlbmQsIHRoaXMuZW50aXRpZXNTbmFwc2hvdC5sZW5ndGgpXG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyB0aGUgZ2l2ZW4gZW50aXRpZXMgdG8gdGhpcyBpbmRleC5cbiAgICogVGhlIG5ldyBhcHBlbmRlZCBlbnRpdGllcyBhcmUgaW5jbHVkZWQgaW4gdGhlIGluZGV4LlxuICAgKiBPKG4pIHdoZXJlIG4gPSBudW1iZXIgb2YgYXBwZW5kZWQgZW50aXRpZXNcbiAgICogQHBhcmFtIGluc2VydGVkXG4gICAqIEBwYXJhbSBvZmZzZXRcbiAgICovXG4gIHB1YmxpYyBpbnNlcnQoaW5zZXJ0ZWQ6IFRbXSwgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5zZXJ0ZWQgJiYgaW5zZXJ0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLmVudGl0aWVzU25hcHNob3RcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4uZW50aXRpZXNdXG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zZXJ0ZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbmV3RGF0YVtpICsgb2Zmc2V0XSA9IGluc2VydGVkW2ldXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2FsU29ydEZuKSB7XG4gICAgICAgIC8vIGxvY2FsIHNvcnQgY2FuIHJlLW9yZGVyIGFsbCBpdGVtc1xuICAgICAgICB0aGlzLnJlcGxhY2VBbGwobmV3RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdpdGhvdXQgYSBzb3J0LCB3ZSBjYW4gb3B0aW1pemUgaW5kZXhpbmdcbiAgICAgICAgdGhpcy5yZUluZGV4RnJvbShuZXdEYXRhLCBvZmZzZXQpXG4gICAgICAgIHRoaXMuc2V0RW50aXRpZXMobmV3RGF0YSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9va3VwIGFuIGVudGl0eSBieSBpdHMgaWQuXG4gICAqIFRoaXMgd2lsbCB1c2UgYW4gaW5kZXggTygxKVxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIHB1YmxpYyBnZXRCeUlkKGlkOiBUSWQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZW50aXRpZXNTbmFwc2hvdFxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleEJ5SWQoaWQpXG4gICAgaWYgKGluZGV4ICE9IC0xKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXNbaW5kZXhdXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5vdGlmeSgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnRpdGllcyQubmV4dCh0aGlzLl9lbnRpdGllcyQuZ2V0VmFsdWUoKSlcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuX2VudGl0aWVzJC5jb21wbGV0ZSgpXG4gICAgdGhpcy5faWRUb0FycmF5SW5kZXguY2xlYXIoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWJ1aWxkSW5kZXgoZW50aXRpZXM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuX2lkVG9BcnJheUluZGV4LmNsZWFyKClcbiAgICB0aGlzLnJlSW5kZXhGcm9tKGVudGl0aWVzLCAwKVxuICB9XG5cbiAgcHJpdmF0ZSByZUluZGV4RnJvbShlbnRpdGllczogVFtdLCBzdGFydEluZGV4OiBudW1iZXIpIHtcbiAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IGVudGl0aWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBlbnRpdGllc1tpXVxuICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICB0aGlzLl9pZFRvQXJyYXlJbmRleC5zZXQodGhpcy5nZXRJdGVtSWQoZW50aXR5KSwgaSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluZGV4QnlJZChpZDogVElkKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faWRUb0FycmF5SW5kZXguZ2V0KGlkKSA/PyAtMVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtSWQoaXRlbTogVCk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuaWRGbihpdGVtKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFbnRpdGllcyhlbnRpdGllczogVFtdKTogdm9pZCB7XG4gICAgaWYgKCEodGhpcy5lbnRpdGllc1NuYXBzaG90Lmxlbmd0aCA9PT0gMCAmJiBlbnRpdGllcy5sZW5ndGggPT09IDApKSB7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZygnRW50aXRpZXMgY2hhbmdlZDogJyArIGVudGl0aWVzLmxlbmd0aCwgZW50aXRpZXMpXG4gICAgICB0aGlzLl9lbnRpdGllcyQubmV4dChlbnRpdGllcylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9pbmRleGVkLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFHbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE1BQU0sT0FBTyxlQUFlO0lBWTFCOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixJQUFtQixFQUNuQixXQUE0RCxFQUM1RCxXQUF3QjtRQUZ4QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFpRDtRQUM1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCM0M7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFaEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQTtJQVl0RCxDQUFDO0lBRUo7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxjQUFtQixFQUFFO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdB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L0IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vc29ydCdcbmltcG9ydCB7IFNvcnRDb250ZXh0IH0gZnJvbSAnLi4vc29ydC1jb250ZXh0J1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgY2xhc3MgSW5kZXhlZEVudGl0aWVzPFQsIFRJZCA9IGFueT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdJbmRleGVkRW50aXRpZXMnKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudGl0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSByZWFkb25seSBfaWRUb0FycmF5SW5kZXggPSBuZXcgTWFwPFRJZCwgbnVtYmVyPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpZEZuOiAoZTogVCkgPT4gVElkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTb3J0Rm46ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pIHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ydENvbnRleHQ6IFNvcnRDb250ZXh0XG4gICkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGVudGl0aWVzJCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW50aXRpZXNTbmFwc2hvdCgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBleGlzdGluZyBlbnRpdGllcyB3aXRoIHRoZSBuZXcgb25lcy5cbiAgICogVGhlIGluZGV4IGlzIHJlYnVpbHQuIE8obilcbiAgICovXG4gIHB1YmxpYyByZXBsYWNlQWxsKG5ld0VudGl0aWVzOiBUW10gPSBbXSkge1xuICAgIGlmICh0aGlzLmxvY2FsU29ydEZuKSB7XG4gICAgICBuZXdFbnRpdGllcyA9IHRoaXMubG9jYWxTb3J0Rm4obmV3RW50aXRpZXMsIHRoaXMuc29ydENvbnRleHQuc29ydHNTbmFwc2hvdClcbiAgICB9XG4gICAgdGhpcy5yZWJ1aWxkSW5kZXgobmV3RW50aXRpZXMpXG4gICAgdGhpcy5zZXRFbnRpdGllcyhuZXdFbnRpdGllcylcbiAgfVxuXG4gIC8qKlxuICAgKiBLZWVwcyBhbGwgZXhpc3RpbmcgZW50aXRpZXMsIGJ1dCByZXBsYWNlcyB0aG9zZSB3aGljaCBhcmUgdXBkYXRlZCB3aXRoIHRoZSBuZXcgZGF0YS5cbiAgICogUHJvdmlkZWQgdXBkYXRlZCBlbnRpdGllcyB3aGljaCBhcmUgY3VycmVudGx5IG5vdCBpbiB0aGlzIGluZGV4IGFyZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gdXBkYXRlZFxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVNvbWUodXBkYXRlZDogVFtdKSB7XG4gICAgY29uc3QgbmV3RGF0YSA9IFsuLi50aGlzLmVudGl0aWVzU25hcHNob3RdXG4gICAgbGV0IGFueVVwZGF0ZWQgPSBmYWxzZVxuICAgIGNvbnN0IG5vdEZvdW5kOiBUW10gPSBbXVxuICAgIHVwZGF0ZWQuZm9yRWFjaCgodXBkYXRlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SXRlbUlkKHVwZGF0ZSlcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleEJ5SWQoaWQpXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcbiAgICAgICAgbmV3RGF0YVtpbmRleF0gPSB1cGRhdGVcbiAgICAgICAgYW55VXBkYXRlZCA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vdEZvdW5kLnB1c2godXBkYXRlKVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKG5vdEZvdW5kLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9nLndhcm4oXG4gICAgICAgICdjb3VsZCBub3QgZmluZCBhbGwgZW50aXRpZXMgdG8gdXBkYXRlICcgKyBub3RGb3VuZC5sZW5ndGggKyAnLycgKyB1cGRhdGVkLmxlbmd0aCxcbiAgICAgICAgbm90Rm91bmRcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKGFueVVwZGF0ZWQpIHtcbiAgICAgIHRoaXMuc2V0RW50aXRpZXMobmV3RGF0YSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwZW5kKGFwcGVuZDogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5pbnNlcnQoYXBwZW5kLCB0aGlzLmVudGl0aWVzU25hcHNob3QubGVuZ3RoKVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZHMgdGhlIGdpdmVuIGVudGl0aWVzIHRvIHRoaXMgaW5kZXguXG4gICAqIFRoZSBuZXcgYXBwZW5kZWQgZW50aXRpZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBpbmRleC5cbiAgICogTyhuKSB3aGVyZSBuID0gbnVtYmVyIG9mIGFwcGVuZGVkIGVudGl0aWVzXG4gICAqIEBwYXJhbSBpbnNlcnRlZFxuICAgKiBAcGFyYW0gb2Zmc2V0XG4gICAqL1xuICBwdWJsaWMgaW5zZXJ0KGluc2VydGVkOiBUW10sIG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluc2VydGVkICYmIGluc2VydGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5lbnRpdGllc1NuYXBzaG90XG4gICAgICBjb25zdCBuZXdEYXRhID0gWy4uLmVudGl0aWVzXVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc2VydGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ld0RhdGFbaSArIG9mZnNldF0gPSBpbnNlcnRlZFtpXVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhbFNvcnRGbikge1xuICAgICAgICAvLyBsb2NhbCBzb3J0IGNhbiByZS1vcmRlciBhbGwgaXRlbXNcbiAgICAgICAgdGhpcy5yZXBsYWNlQWxsKG5ld0RhdGEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXaXRob3V0IGEgc29ydCwgd2UgY2FuIG9wdGltaXplIGluZGV4aW5nXG4gICAgICAgIHRoaXMucmVJbmRleEZyb20obmV3RGF0YSwgb2Zmc2V0KVxuICAgICAgICB0aGlzLnNldEVudGl0aWVzKG5ld0RhdGEpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbiBlbnRpdHkgYnkgaXRzIGlkLlxuICAgKiBUaGlzIHdpbGwgdXNlIGFuIGluZGV4IE8oMSlcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBwdWJsaWMgZ2V0QnlJZChpZDogVElkKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLmVudGl0aWVzU25hcHNob3RcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXhCeUlkKGlkKVxuICAgIGlmIChpbmRleCAhPSAtMSkge1xuICAgICAgcmV0dXJuIGVudGl0aWVzW2luZGV4XVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBub3RpZnkoKTogdm9pZCB7XG4gICAgdGhpcy5fZW50aXRpZXMkLm5leHQodGhpcy5fZW50aXRpZXMkLmdldFZhbHVlKCkpXG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9lbnRpdGllcyQuY29tcGxldGUoKVxuICAgIHRoaXMuX2lkVG9BcnJheUluZGV4LmNsZWFyKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVidWlsZEluZGV4KGVudGl0aWVzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pZFRvQXJyYXlJbmRleC5jbGVhcigpXG4gICAgdGhpcy5yZUluZGV4RnJvbShlbnRpdGllcywgMClcbiAgfVxuXG4gIHByaXZhdGUgcmVJbmRleEZyb20oZW50aXRpZXM6IFRbXSwgc3RhcnRJbmRleDogbnVtYmVyKSB7XG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZW50aXR5ID0gZW50aXRpZXNbaV1cbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgdGhpcy5faWRUb0FycmF5SW5kZXguc2V0KHRoaXMuZ2V0SXRlbUlkKGVudGl0eSksIGkpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmRleEJ5SWQoaWQ6IFRJZCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lkVG9BcnJheUluZGV4LmdldChpZCkgPz8gLTFcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbUlkKGl0ZW06IFQpOiBUSWQge1xuICAgIHJldHVybiB0aGlzLmlkRm4oaXRlbSlcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW50aXRpZXMoZW50aXRpZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICghKHRoaXMuZW50aXRpZXNTbmFwc2hvdC5sZW5ndGggPT09IDAgJiYgZW50aXRpZXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0VudGl0aWVzIGNoYW5nZWQ6ICcgKyBlbnRpdGllcy5sZW5ndGgsIGVudGl0aWVzKVxuICAgICAgdGhpcy5fZW50aXRpZXMkLm5leHQoZW50aXRpZXMpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -164,8 +164,9 @@ export class SelectionModel {
|
|
|
164
164
|
* *
|
|
165
165
|
**************************************************************************/
|
|
166
166
|
selectionChanged(origin) {
|
|
167
|
-
this.
|
|
168
|
-
this.
|
|
167
|
+
const selected = Array.from(this._selectionMap.values());
|
|
168
|
+
this.log.debug('selectionChanged triggered by ' + origin, selected);
|
|
169
|
+
this._selection.next(selected);
|
|
169
170
|
}
|
|
170
171
|
selectInternal(values) {
|
|
171
172
|
values = values.filter((v) => this.isSelectable(v));
|
|
@@ -209,4 +210,4 @@ export class SelectionModel {
|
|
|
209
210
|
return false;
|
|
210
211
|
}
|
|
211
212
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO2FBZUYsd0JBQW1CLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQUFBaEIsQ0FBZ0I7SUFFMUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7Ozs7O09BT0c7SUFDSCxZQUNFLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLE9BQWEsRUFDYixZQUE0QixjQUFjLENBQUMsbUJBQW1CLEVBQzlELHdCQUE4QyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBbEMxRDs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7UUFDakMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBMEJ4RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUE7UUFDbkQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FB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QUFDO0lBRU8saUJBQWlCLENBQUMsTUFBVztRQUNuQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBUTtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3ZELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcblxuZXhwb3J0IHR5cGUgS2V5R2V0dGVyRm48VD4gPSAoaXRlbTogVCkgPT4gYW55XG5cbi8qKlxuICogUHJvdmlkZXMgYSBtb2RlbCBvZiBhIHNlbGVjdGlvbi5cbiAqIFN1cHBvcnRzIHNpbmdsZSBhbmQgbXVsdGkgc2VsZWN0aW9uLlxuICpcbiAqIFN1cHBvcnRzIGN1c3RvbSBzZWxlY3Rpb24gZXF1YWxpdHkgKGRlZmF1bHQgYnkgb2JqZWN0IHZhbHVlKVxuICovXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uTW9kZWw8VD4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIF9tdWx0aXBsZTogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25NYXAgPSBuZXcgTWFwPGFueSwgVD4oKVxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pXG4gIHByaXZhdGUgX2tleUdldHRlckZuOiBLZXlHZXR0ZXJGbjxUPlxuICBwcml2YXRlIF9zZWxlY3RhYmxlRXZhbHVhdG9yRm46IChpdGVtOiBUKSA9PiBib29sZWFuXG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGYWxsYmFja0tleUdldHRlckZuID0gKGE6IGFueSkgPT4gYVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFNlbGVjdGlvbk1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSBtdWx0aXBsZSBTdXBwb3J0IG11bHRpIHNlbGVjdGlvbj9cbiAgICogQHBhcmFtIGluaXRpYWwgdGhlIGluaXRpYWwgc2VsZWN0aW9uXG4gICAqIEBwYXJhbSBrZXlHZXR0ZXIgdmFsdWUgaWRlbnRpdHkgLSBkZWZhdWx0IHRvIHZhbHVlIG9iamVjdCBlcXVhbGl0eVxuICAgKiBAcGFyYW0gc2VsZWN0YWJsZUV2YWx1YXRvckZuIGZ1bmN0aW9uIHRvIGV2YWx1YXRlIGlmIHRoZSBlbGVtZW50IGluIHF1ZXN0aW9uIGlzIHNlbGVjdGFibGVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIG11bHRpcGxlID0gZmFsc2UsXG4gICAgaW5pdGlhbD86IFRbXSxcbiAgICBrZXlHZXR0ZXI6IEtleUdldHRlckZuPFQ+ID0gU2VsZWN0aW9uTW9kZWwuRmFsbGJhY2tLZXlHZXR0ZXJGbixcbiAgICBzZWxlY3RhYmxlRXZhbHVhdG9yRm46IChpdGVtOiBUKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZVxuICApIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlXG4gICAgdGhpcy5fa2V5R2V0dGVyRm4gPSBrZXlHZXR0ZXJcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBzZWxlY3RhYmxlRXZhbHVhdG9yRm5cbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKGluaXRpYWwsICdpbml0aWFsJylcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGNoYW5nZWQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24ucGlwZShcbiAgICAgIHNraXAoMSkgLy8gU2tpcCB0aGUgaW5pdGlhbCB2YWx1ZVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5hc09ic2VydmFibGUoKVxuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb25TbmFwc2hvdCgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RhYmxlRXZhbHVhdG9yRm4oZm46IChpdGVtOiBUKSA9PiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuID0gZm5cbiAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24odGhpcy5zZWxlY3Rpb25TbmFwc2hvdCwgJ3NlbGVjdGFibGVFdmFsdWF0b3JGbicpXG4gIH1cblxuICBwdWJsaWMgc2V0IGtleUdldHRlckZuKGZuOiBLZXlHZXR0ZXJGbjxUPikge1xuICAgIHRoaXMuX2tleUdldHRlckZuID0gZm5cbiAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24odGhpcy5zZWxlY3Rpb25TbmFwc2hvdCwgJ2tleUdldHRlckZuJylcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgaWYgdGhlIGdpdmVuIGl0ZW0gaXMgc2VsZWN0YWJsZSBiYXNlZCBvbiB0aGUgaW5pdGlhbGx5IHNldCAnc2VsZWN0YWJsZScgZnVuY3Rpb24uXG4gICAqIElmIG5vIGZ1bmN0aW9uIGhhcyBiZWVuIHNldCAob3IgZnVuY3Rpb24gaXMgbnVsbCksIGFsbCBpdGVtcyBhcmUgc2VsZWN0YWJsZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgcHVibGljIGlzU2VsZWN0YWJsZShpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbikge1xuICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbihpdGVtKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpXG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2NsZWFyJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVNlbGVjdGlvbihuZXdTZWxlY3Rpb246IFRbXSwgb3JpZ2luPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG5ld1NlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuY2xlYXIoKVxuICAgICAgdGhpcy5zZWxlY3QobmV3U2VsZWN0aW9uLCBvcmlnaW4gPyBvcmlnaW4gKyAnLT5yZXBsYWNlU2VsZWN0aW9uJyA6ICdyZXBsYWNlU2VsZWN0aW9uJylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhcigpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCh2YWx1ZXM6IFRbXSwgb3JpZ2luPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0SW50ZXJuYWwodmFsdWVzKSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKG9yaWdpbiA/PyAnc2VsZWN0SW50ZXJuYWxbaGFzLWNoYW5nZXNdJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QodmFsdWVzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0SWRzKHZhbHVlcy5tYXAoKHYpID0+IHRoaXMuX2tleUdldHRlckZuKHYpKSlcbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdElkcyhpZHM6IGFueVtdKTogdm9pZCB7XG4gICAgbGV0IGFueUNoYW5nZSA9IGZhbHNlXG5cbiAgICBpZHMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLmRlbGV0ZShrZXkpKSB7XG4gICAgICAgIGFueUNoYW5nZSA9IHRydWVcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKGFueUNoYW5nZSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKCdkZXNlbGVjdElkcycpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMubG9nLmRlYnVnKCd0b2dnbGluZyBzZWxlY3Rpb24gb2YgdmFsdWUgaWQ6JyArIHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSlcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KFt2YWx1ZV0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0KFt2YWx1ZV0sICd0b2dnbGUnKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5oYXMoa2V5KVxuICB9XG5cbiAgcHVibGljIG9ic2VydmVTZWxlY3Rpb24odmFsdWU6IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSlcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnBpcGUobWFwKChzZWxlY3RlZCkgPT4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpKSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemVcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDBcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMFxuICB9XG5cbiAgcHVibGljIGdldCBoYXNTaW5nbGVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDFcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMVxuICB9XG5cbiAgcHVibGljIGdldCBpc011bHRpcGxlU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZVxuICB9XG5cbiAgcHVibGljIHNldCBpc011bHRpcGxlU2VsZWN0aW9uKG11bHRpcGxlOiBib29sZWFuKSB7XG4gICAgaWYgKG11bHRpcGxlICE9PSB0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgdGhpcy5fbXVsdGlwbGUgPSBtdWx0aXBsZVxuICAgICAgaWYgKCF0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uU25hcHNob3RcbiAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhcbiAgICAgICAgICAgICdNdWx0aXBsZSBzZWxlY3Rpb24gd2FzIGRlYWN0aXZhdGVkIGJ1dCB0aGVyZSB3aGVyZSBtb3JlIHRoYW4gb25lIHNlbGVjdGVkIGl0ZW1zIHByZXNlbnQsIGZpeGluZyBub3chJ1xuICAgICAgICAgIClcbiAgICAgICAgICB0aGlzLnNlbGVjdChbc2VsZWN0ZWRbMF1dLCAnaXNNdWx0aXBsZVNlbGVjdGlvbicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnbXVsdGktc2VsZWN0aW9uLXRvZ2dsZScpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzZWxlY3Rpb25DaGFuZ2VkKG9yaWdpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ3NlbGVjdGlvbkNoYW5nZWQgdHJpZ2dlcmQgYnkgJyArIG9yaWdpbilcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KEFycmF5LmZyb20odGhpcy5fc2VsZWN0aW9uTWFwLnZhbHVlcygpKSlcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW50ZXJuYWwodmFsdWVzOiBUW10pOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKCh2KSA9PiB0aGlzLmlzU2VsZWN0YWJsZSh2KSlcblxuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgICAvLyBNdWx0aSBzZWxlY3Rpb25cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU2VsZWN0ZWRNdWx0aSh2YWx1ZXMpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaW5nbGUgc2VsZWN0aW9uXG4gICAgICAgIGNvbnN0IHNpbmdsZSA9IHZhbHVlc1swXSAvLyBNYXliZSBsYXN0IGlzIGJldHRlcj9cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU2VsZWN0ZWRTaW5nbGUoc2luZ2xlKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0ZWRNdWx0aSh2YWx1ZXM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0FscmVhZHlTZWxlY3RlZCh2YWx1ZXMpKSB7XG4gICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLnNldCh0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSksIHZhbHVlKVxuICAgICAgfSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBpc0V4Y2x1c2l2ZVNlbGVjdGVkKHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkgJiYgdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDFcbiAgfVxuXG4gIHByaXZhdGUgaXNBbHJlYWR5U2VsZWN0ZWQodmFsdWVzOiBUW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPj0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSgodikgPT4gdGhpcy5pc1NlbGVjdGVkKHYpKVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0ZWRTaW5nbGUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNFeGNsdXNpdmVTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpXG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO2FBZUYsd0JBQW1CLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQUFBaEIsQ0FBZ0I7SUFFMUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7Ozs7O09BT0c7SUFDSCxZQUNFLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLE9BQWEsRUFDYixZQUE0QixjQUFjLENBQUMsbUJBQW1CLEVBQzlELHdCQUE4QyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBbEMxRDs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7UUFDakMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBMEJ4RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUE7UUFDbkQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FB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QUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFXO1FBQ25DLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFRO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDdkQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgdHlwZSBLZXlHZXR0ZXJGbjxUPiA9IChpdGVtOiBUKSA9PiBhbnlcblxuLyoqXG4gKiBQcm92aWRlcyBhIG1vZGVsIG9mIGEgc2VsZWN0aW9uLlxuICogU3VwcG9ydHMgc2luZ2xlIGFuZCBtdWx0aSBzZWxlY3Rpb24uXG4gKlxuICogU3VwcG9ydHMgY3VzdG9tIHNlbGVjdGlvbiBlcXVhbGl0eSAoZGVmYXVsdCBieSBvYmplY3QgdmFsdWUpXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Nb2RlbDxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgX211bHRpcGxlOiBib29sZWFuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbk1hcCA9IG5ldyBNYXA8YW55LCBUPigpXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSBfa2V5R2V0dGVyRm46IEtleUdldHRlckZuPFQ+XG4gIHByaXZhdGUgX3NlbGVjdGFibGVFdmFsdWF0b3JGbjogKGl0ZW06IFQpID0+IGJvb2xlYW5cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZhbGxiYWNrS2V5R2V0dGVyRm4gPSAoYTogYW55KSA9PiBhXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU2VsZWN0aW9uTW9kZWxcbiAgICpcbiAgICogQHBhcmFtIG11bHRpcGxlIFN1cHBvcnQgbXVsdGkgc2VsZWN0aW9uP1xuICAgKiBAcGFyYW0gaW5pdGlhbCB0aGUgaW5pdGlhbCBzZWxlY3Rpb25cbiAgICogQHBhcmFtIGtleUdldHRlciB2YWx1ZSBpZGVudGl0eSAtIGRlZmF1bHQgdG8gdmFsdWUgb2JqZWN0IGVxdWFsaXR5XG4gICAqIEBwYXJhbSBzZWxlY3RhYmxlRXZhbHVhdG9yRm4gZnVuY3Rpb24gdG8gZXZhbHVhdGUgaWYgdGhlIGVsZW1lbnQgaW4gcXVlc3Rpb24gaXMgc2VsZWN0YWJsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgbXVsdGlwbGUgPSBmYWxzZSxcbiAgICBpbml0aWFsPzogVFtdLFxuICAgIGtleUdldHRlcjogS2V5R2V0dGVyRm48VD4gPSBTZWxlY3Rpb25Nb2RlbC5GYWxsYmFja0tleUdldHRlckZuLFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKGl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlXG4gICkge1xuICAgIHRoaXMuX211bHRpcGxlID0gbXVsdGlwbGVcbiAgICB0aGlzLl9rZXlHZXR0ZXJGbiA9IGtleUdldHRlclxuICAgIHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGblxuICAgIGlmIChpbml0aWFsKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24oaW5pdGlhbCwgJ2luaXRpYWwnKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5waXBlKFxuICAgICAgc2tpcCgxKSAvLyBTa2lwIHRoZSBpbml0aWFsIHZhbHVlXG4gICAgKVxuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb24oKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvblNuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5nZXRWYWx1ZSgpXG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGFibGVFdmFsdWF0b3JGbihmbjogKGl0ZW06IFQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBmblxuICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbih0aGlzLnNlbGVjdGlvblNuYXBzaG90LCAnc2VsZWN0YWJsZUV2YWx1YXRvckZuJylcbiAgfVxuXG4gIHB1YmxpYyBzZXQga2V5R2V0dGVyRm4oZm46IEtleUdldHRlckZuPFQ+KSB7XG4gICAgdGhpcy5fa2V5R2V0dGVyRm4gPSBmblxuICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbih0aGlzLnNlbGVjdGlvblNuYXBzaG90LCAna2V5R2V0dGVyRm4nKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBzZWxlY3RhYmxlIGJhc2VkIG9uIHRoZSBpbml0aWFsbHkgc2V0ICdzZWxlY3RhYmxlJyBmdW5jdGlvbi5cbiAgICogSWYgbm8gZnVuY3Rpb24gaGFzIGJlZW4gc2V0IChvciBmdW5jdGlvbiBpcyBudWxsKSwgYWxsIGl0ZW1zIGFyZSBzZWxlY3RhYmxlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RhYmxlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKGl0ZW0pXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKClcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnY2xlYXInKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlU2VsZWN0aW9uKG5ld1NlbGVjdGlvbjogVFtdLCBvcmlnaW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobmV3U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpXG4gICAgICB0aGlzLnNlbGVjdChuZXdTZWxlY3Rpb24sIG9yaWdpbiA/IG9yaWdpbiArICctPnJlcGxhY2VTZWxlY3Rpb24nIDogJ3JlcGxhY2VTZWxlY3Rpb24nKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KHZhbHVlczogVFtdLCBvcmlnaW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RJbnRlcm5hbCh2YWx1ZXMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQob3JpZ2luID8/ICdzZWxlY3RJbnRlcm5hbFtoYXMtY2hhbmdlc10nKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVzZWxlY3RJZHModmFsdWVzLm1hcCgodikgPT4gdGhpcy5fa2V5R2V0dGVyRm4odikpKVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0SWRzKGlkczogYW55W10pOiB2b2lkIHtcbiAgICBsZXQgYW55Q2hhbmdlID0gZmFsc2VcblxuICAgIGlkcy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3Rpb25NYXAuZGVsZXRlKGtleSkpIHtcbiAgICAgICAgYW55Q2hhbmdlID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoYW55Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2Rlc2VsZWN0SWRzJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ3RvZ2dsaW5nIHNlbGVjdGlvbiBvZiB2YWx1ZSBpZDonICsgdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpKVxuXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuZGVzZWxlY3QoW3ZhbHVlXSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3QoW3ZhbHVlXSwgJ3RvZ2dsZScpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSlcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpXG4gIH1cblxuICBwdWJsaWMgb2JzZXJ2ZVNlbGVjdGlvbih2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKVxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24ucGlwZShtYXAoKHNlbGVjdGVkKSA9PiB0aGlzLl9zZWxlY3Rpb25NYXAuaGFzKGtleSkpKVxuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZVxuICB9XG5cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMFxuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAwXG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMVxuICB9XG5cbiAgcHVibGljIGdldCBoYXNNdWx0aXBsZVZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAxXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlXG4gIH1cblxuICBwdWJsaWMgc2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24obXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICBpZiAobXVsdGlwbGUgIT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlXG4gICAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25TbmFwc2hvdFxuICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRoaXMubG9nLmRlYnVnKFxuICAgICAgICAgICAgJ011bHRpcGxlIHNlbGVjdGlvbiB3YXMgZGVhY3RpdmF0ZWQgYnV0IHRoZXJlIHdoZXJlIG1vcmUgdGhhbiBvbmUgc2VsZWN0ZWQgaXRlbXMgcHJlc2VudCwgZml4aW5nIG5vdyEnXG4gICAgICAgICAgKVxuICAgICAgICAgIHRoaXMuc2VsZWN0KFtzZWxlY3RlZFswXV0sICdpc011bHRpcGxlU2VsZWN0aW9uJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKCdtdWx0aS1zZWxlY3Rpb24tdG9nZ2xlJylcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNlbGVjdGlvbkNoYW5nZWQob3JpZ2luOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IEFycmF5LmZyb20odGhpcy5fc2VsZWN0aW9uTWFwLnZhbHVlcygpKVxuICAgIHRoaXMubG9nLmRlYnVnKCdzZWxlY3Rpb25DaGFuZ2VkIHRyaWdnZXJlZCBieSAnICsgb3JpZ2luLCBzZWxlY3RlZClcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KHNlbGVjdGVkKVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJbnRlcm5hbCh2YWx1ZXM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIoKHYpID0+IHRoaXMuaXNTZWxlY3RhYmxlKHYpKVxuXG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIC8vIE11bHRpIHNlbGVjdGlvblxuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbmdsZSBzZWxlY3Rpb25cbiAgICAgICAgY29uc3Qgc2luZ2xlID0gdmFsdWVzWzBdIC8vIE1heWJlIGxhc3QgaXMgYmV0dGVyP1xuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVTZWxlY3RlZFNpbmdsZShzaW5nbGUpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlczogVFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVNlbGVjdGVkKHZhbHVlcykpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpXG4gICAgICB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBwcml2YXRlIGlzRXhjbHVzaXZlU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSAmJiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMVxuICB9XG5cbiAgcHJpdmF0ZSBpc0FscmVhZHlTZWxlY3RlZCh2YWx1ZXM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdmFsdWVzLmV2ZXJ5KCh2KSA9PiB0aGlzLmlzU2VsZWN0ZWQodikpXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZFNpbmdsZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0V4Y2x1c2l2ZVNlbGVjdGVkKHZhbHVlKSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKClcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5zZXQodGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpLCB2YWx1ZSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iXX0=
|
package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs
CHANGED
|
@@ -61,7 +61,9 @@ export class DataContextSelectionDirective {
|
|
|
61
61
|
else {
|
|
62
62
|
const context = this.dataContext$.getValue();
|
|
63
63
|
if (context) {
|
|
64
|
-
|
|
64
|
+
const data = context.snapshot.data;
|
|
65
|
+
this.log.debug('selecting all data', data);
|
|
66
|
+
this.selectionModel.select(data, 'masterToggle');
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -98,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
98
100
|
type: Input,
|
|
99
101
|
args: ['elderDataContextSelection']
|
|
100
102
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNlbGVjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9jb21tb24vc2VsZWN0aW9uL2RhdGEtY29udGV4dC1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQU92RCxNQUFNLE9BQU8sNkJBQTZCO0lBY3hDOzs7O2dGQUk0RTtJQUU1RSxZQUF3QixjQUFtQztRQW5CM0Q7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFcEQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUE7UUFDaEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUE7UUFXMUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7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QUFPLElBQUksb0JBQW9CLENBQzdCLFNBQVMsQ0FBQyxNQUFNLEVBQ2hCLFNBQVMsQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUM1RCxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFDbkYsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3BCLEtBQUssQ0FBQyxtQkFBbUIsQ0FDMUIsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzhHQTVHVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXFCYyxRQUFRO3lDQWFWLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsZ0NBQWdDO2dCQVU1QixXQUFXO3NCQURyQixLQUFLO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgSURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCdcbmltcG9ydCB7IE1hc3RlclNlbGVjdGlvblN0YXRlIH0gZnJvbSAnLi9tYXN0ZXItc2VsZWN0aW9uLXN0YXRlJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJEYXRhQ29udGV4dFNlbGVjdGlvbl0nLFxuICBleHBvcnRBczogJ2VsZGVyRGF0YUNvbnRleHRTZWxlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dFNlbGVjdGlvbkRpcmVjdGl2ZSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3Rpb25Nb2RlbDxhbnk+PihudWxsKVxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PGFueT4+KG51bGwpXG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvblN0YXRlJDogT2JzZXJ2YWJsZTxNYXN0ZXJTZWxlY3Rpb25TdGF0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55Pikge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwkLm5leHQoc2VsZWN0aW9uTW9kZWwpXG5cbiAgICB0aGlzLnNlbGVjdGlvblN0YXRlJCA9IHRoaXMuYnVpbGRTZWxlY3Rpb25TdGF0ZSQodGhpcy5zZWxlY3Rpb25Nb2RlbCQsIHRoaXMuZGF0YUNvbnRleHQkKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KCdlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uTW9kZWwnKVxuICBwdWJsaWMgc2V0IHNlbGVjdGlvbk1vZGVsKG1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCQubmV4dChtb2RlbClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uTW9kZWwoKTogU2VsZWN0aW9uTW9kZWw8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBJbnB1dCgnZWxkZXJEYXRhQ29udGV4dFNlbGVjdGlvbicpXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxhbnk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhQ29udGV4dClcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgZWxlbWVudHMgbWF0Y2hlcyB0aGUgdG90YWxTbmFwc2hvdCBudW1iZXIgb2Ygc2VsZWN0YWJsZSByb3dzLiAqL1xuICBwdWJsaWMgZ2V0IGlzQWxsU2VsZWN0ZWRTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uU25hcHNob3QubGVuZ3RoXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZGF0YUNvbnRleHQkLmdldFZhbHVlKClcbiAgICBjb25zdCBudW1Sb3dzID0gY29udGV4dCA/IGNvbnRleHQuc25hcHNob3QuZGF0YS5sZW5ndGggOiAwXG4gICAgY29uc3QgbnVtVW5zZWxlY3RhYmxlID0gY29udGV4dFxuICAgICAgPyBjb250ZXh0LnNuYXBzaG90LmRhdGEuZmlsdGVyKChpKSA9PiAhdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGFibGUoaSkpLmxlbmd0aFxuICAgICAgOiAwXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID49IG51bVJvd3MgLSBudW1VbnNlbGVjdGFibGUgLy8gVHJ1ZSBpZiBhbGwgc2VsZWN0YWJsZSBpdGVtcyBhcmUgc2VsZWN0ZWRcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXG4gIHB1YmxpYyBtYXN0ZXJUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ21hc3RlclRvZ2dsZSB0cmlnZ2VyZWQsIHRvZ2dsaW5nIGFsbCEnKVxuICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWRTbmFwc2hvdCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpXG4gICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChjb250ZXh0LnNuYXBzaG90LmRhdGEsICdtYXN0ZXJUb2dnbGUnKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYnVpbGRTZWxlY3Rpb25TdGF0ZSQoXG4gICAgc2VsZWN0aW9uTW9kZWwkOiBPYnNlcnZhYmxlPFNlbGVjdGlvbk1vZGVsPGFueT4+LFxuICAgIGRhdGFDb250ZXh0JDogT2JzZXJ2YWJsZTxJRGF0YUNvbnRleHQ8YW55Pj5cbiAgKTogT2JzZXJ2YWJsZTxNYXN0ZXJTZWxlY3Rpb25TdGF0ZT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtzZWxlY3Rpb25Nb2RlbCQsIGRhdGFDb250ZXh0JF0pLnBpcGUoXG4gICAgICBmaWx0ZXIoKFttb2RlbCwgZGNdKSA9PiAhIW1vZGVsICYmICEhZGMpLFxuICAgICAgc3dpdGNoTWFwKChbbW9kZWwsIGRjXSkgPT4gdGhpcy5idWlsZFNlbGVjdGlvblN0YXRlSW5uZXIkKG1vZGVsLCBkYykpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFNlbGVjdGlvblN0YXRlSW5uZXIkKFxuICAgIG1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgIGRjOiBJRGF0YUNvbnRleHQ8YW55PlxuICApOiBPYnNlcnZhYmxlPE1hc3RlclNlbGVjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW21vZGVsLnNlbGVjdGlvbiwgZGMuZGF0YV0pLnBpcGUoXG4gICAgICBtYXAoKFtzZWxlY3Rpb24sIGN1cnJlbnREYXRhXSkgPT4ge1xuICAgICAgICBjb25zdCB1bnNlbGVjdGFibGUgPSBjdXJyZW50RGF0YS5maWx0ZXIoKGkpID0+ICFtb2RlbC5pc1NlbGVjdGFibGUoaSkpXG4gICAgICAgIHJldHVybiBuZXcgTWFzdGVyU2VsZWN0aW9uU3RhdGUoXG4gICAgICAgICAgc2VsZWN0aW9uLmxlbmd0aCxcbiAgICAgICAgICBzZWxlY3Rpb24ubGVuZ3RoID49IGN1cnJlbnREYXRhLmxlbmd0aCAtIHVuc2VsZWN0YWJsZS5sZW5ndGgsXG4gICAgICAgICAgc2VsZWN0aW9uLmxlbmd0aCA+IDAgJiYgc2VsZWN0aW9uLmxlbmd0aCA8IGN1cnJlbnREYXRhLmxlbmd0aCAtIHVuc2VsZWN0YWJsZS5sZW5ndGgsXG4gICAgICAgICAgc2VsZWN0aW9uLmxlbmd0aCA+IDAsXG4gICAgICAgICAgbW9kZWwuaXNNdWx0aXBsZVNlbGVjdGlvblxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNlbGVjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9jb21tb24vc2VsZWN0aW9uL2RhdGEtY29udGV4dC1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQU92RCxNQUFNLE9BQU8sNkJBQTZCO0lBY3hDOzs7O2dGQUk0RTtJQUU1RSxZQUF3QixjQUFtQztRQW5CM0Q7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFcEQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUE7UUFDaEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUE7UUFXMUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDM0YsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLGNBQWMsQ0FBQyxLQUEwQjtRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsSUFDVyxXQUFXLENBQUMsV0FBOEI7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELG1HQUFtRztJQUNuRyxJQUFXLHFCQUFxQjtRQUM5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQTtRQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDMUQsTUFBTSxlQUFlLEdBQUcsT0FBTztZQUM3QixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUNsRixDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ0wsT0FBTyxXQUFXLElBQUksT0FBTyxHQUFHLGVBQWUsQ0FBQSxDQUFDLDRDQUE0QztJQUM5RixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLGdGQUFnRjtJQUN6RSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUE7UUFDdkQsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUM1QyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFBO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxvQkFBb0IsQ0FDMUIsZUFBZ0QsRUFDaEQsWUFBMkM7UUFFM0MsT0FBTyxhQUFhLENBQUMsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hELE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDdEUsQ0FBQTtJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsS0FBMEIsRUFDMUIsRUFBcUI7UUFFckIsT0FBTyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUMvQixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN0RSxPQUFPLElBQUksb0JBQW9CLENBQzdCLFNBQVMsQ0FBQyxNQUFNLEVBQ2hCLFNBQVMsQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUM1RCxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFDbkYsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3BCLEtBQUssQ0FBQyxtQkFBbUIsQ0FDMUIsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzhHQTlHVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXFCYyxRQUFRO3lDQWFWLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsZ0NBQWdDO2dCQVU1QixXQUFXO3NCQURyQixLQUFLO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgSURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCdcbmltcG9ydCB7IE1hc3RlclNlbGVjdGlvblN0YXRlIH0gZnJvbSAnLi9tYXN0ZXItc2VsZWN0aW9uLXN0YXRlJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJEYXRhQ29udGV4dFNlbGVjdGlvbl0nLFxuICBleHBvcnRBczogJ2VsZGVyRGF0YUNvbnRleHRTZWxlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dFNlbGVjdGlvbkRpcmVjdGl2ZSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3Rpb25Nb2RlbDxhbnk+PihudWxsKVxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PGFueT4+KG51bGwpXG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvblN0YXRlJDogT2JzZXJ2YWJsZTxNYXN0ZXJTZWxlY3Rpb25TdGF0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55Pikge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwkLm5leHQoc2VsZWN0aW9uTW9kZWwpXG5cbiAgICB0aGlzLnNlbGVjdGlvblN0YXRlJCA9IHRoaXMuYnVpbGRTZWxlY3Rpb25TdGF0ZSQodGhpcy5zZWxlY3Rpb25Nb2RlbCQsIHRoaXMuZGF0YUNvbnRleHQkKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KCdlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uTW9kZWwnKVxuICBwdWJsaWMgc2V0IHNlbGVjdGlvbk1vZGVsKG1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCQubmV4dChtb2RlbClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uTW9kZWwoKTogU2VsZWN0aW9uTW9kZWw8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBJbnB1dCgnZWxkZXJEYXRhQ29udGV4dFNlbGVjdGlvbicpXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxhbnk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhQ29udGV4dClcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgZWxlbWVudHMgbWF0Y2hlcyB0aGUgdG90YWxTbmFwc2hvdCBudW1iZXIgb2Ygc2VsZWN0YWJsZSByb3dzLiAqL1xuICBwdWJsaWMgZ2V0IGlzQWxsU2VsZWN0ZWRTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uU25hcHNob3QubGVuZ3RoXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZGF0YUNvbnRleHQkLmdldFZhbHVlKClcbiAgICBjb25zdCBudW1Sb3dzID0gY29udGV4dCA/IGNvbnRleHQuc25hcHNob3QuZGF0YS5sZW5ndGggOiAwXG4gICAgY29uc3QgbnVtVW5zZWxlY3RhYmxlID0gY29udGV4dFxuICAgICAgPyBjb250ZXh0LnNuYXBzaG90LmRhdGEuZmlsdGVyKChpKSA9PiAhdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGFibGUoaSkpLmxlbmd0aFxuICAgICAgOiAwXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID49IG51bVJvd3MgLSBudW1VbnNlbGVjdGFibGUgLy8gVHJ1ZSBpZiBhbGwgc2VsZWN0YWJsZSBpdGVtcyBhcmUgc2VsZWN0ZWRcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXG4gIHB1YmxpYyBtYXN0ZXJUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ21hc3RlclRvZ2dsZSB0cmlnZ2VyZWQsIHRvZ2dsaW5nIGFsbCEnKVxuICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWRTbmFwc2hvdCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpXG4gICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICBjb25zdCBkYXRhID0gY29udGV4dC5zbmFwc2hvdC5kYXRhXG4gICAgICAgIHRoaXMubG9nLmRlYnVnKCdzZWxlY3RpbmcgYWxsIGRhdGEnLCBkYXRhKVxuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChkYXRhLCAnbWFzdGVyVG9nZ2xlJylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGJ1aWxkU2VsZWN0aW9uU3RhdGUkKFxuICAgIHNlbGVjdGlvbk1vZGVsJDogT2JzZXJ2YWJsZTxTZWxlY3Rpb25Nb2RlbDxhbnk+PixcbiAgICBkYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+XG4gICk6IE9ic2VydmFibGU8TWFzdGVyU2VsZWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbc2VsZWN0aW9uTW9kZWwkLCBkYXRhQ29udGV4dCRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbbW9kZWwsIGRjXSkgPT4gISFtb2RlbCAmJiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcCgoW21vZGVsLCBkY10pID0+IHRoaXMuYnVpbGRTZWxlY3Rpb25TdGF0ZUlubmVyJChtb2RlbCwgZGMpKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTZWxlY3Rpb25TdGF0ZUlubmVyJChcbiAgICBtb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBkYzogSURhdGFDb250ZXh0PGFueT5cbiAgKTogT2JzZXJ2YWJsZTxNYXN0ZXJTZWxlY3Rpb25TdGF0ZT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFttb2RlbC5zZWxlY3Rpb24sIGRjLmRhdGFdKS5waXBlKFxuICAgICAgbWFwKChbc2VsZWN0aW9uLCBjdXJyZW50RGF0YV0pID0+IHtcbiAgICAgICAgY29uc3QgdW5zZWxlY3RhYmxlID0gY3VycmVudERhdGEuZmlsdGVyKChpKSA9PiAhbW9kZWwuaXNTZWxlY3RhYmxlKGkpKVxuICAgICAgICByZXR1cm4gbmV3IE1hc3RlclNlbGVjdGlvblN0YXRlKFxuICAgICAgICAgIHNlbGVjdGlvbi5sZW5ndGgsXG4gICAgICAgICAgc2VsZWN0aW9uLmxlbmd0aCA+PSBjdXJyZW50RGF0YS5sZW5ndGggLSB1bnNlbGVjdGFibGUubGVuZ3RoLFxuICAgICAgICAgIHNlbGVjdGlvbi5sZW5ndGggPiAwICYmIHNlbGVjdGlvbi5sZW5ndGggPCBjdXJyZW50RGF0YS5sZW5ndGggLSB1bnNlbGVjdGFibGUubGVuZ3RoLFxuICAgICAgICAgIHNlbGVjdGlvbi5sZW5ndGggPiAwLFxuICAgICAgICAgIG1vZGVsLmlzTXVsdGlwbGVTZWxlY3Rpb25cbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import AnchorState from '../model/anchor-state';
|
|
2
|
+
export default class IntervalAnchorController {
|
|
3
|
+
constructor(manager) {
|
|
4
|
+
this.manager = manager;
|
|
5
|
+
}
|
|
6
|
+
resetAnchor() {
|
|
7
|
+
this.manager.setAnchor(AnchorState.empty());
|
|
8
|
+
}
|
|
9
|
+
resetAnchorTime() {
|
|
10
|
+
this.manager.setAnchor(this.manager.anchorValue.withTimeMidnight());
|
|
11
|
+
}
|
|
12
|
+
setFixedAnchorPointToStartDateTime() {
|
|
13
|
+
const startDateTime = this.manager.intervalValue?.startDateTime;
|
|
14
|
+
this.manager.setAnchor(AnchorState.createFromDateTime(startDateTime));
|
|
15
|
+
}
|
|
16
|
+
setFixedAnchorPointToEndDateTime() {
|
|
17
|
+
const endDateTime = this.manager.intervalValue?.endDateTime;
|
|
18
|
+
this.manager.setAnchor(AnchorState.createFromDateTime(endDateTime));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtYW5jaG9yLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItaW50ZXJ2YWwtcGlja2VyL2NvbnRyb2xsZXIvaW50ZXJ2YWwtYW5jaG9yLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxXQUFXLE1BQU0sdUJBQXVCLENBQUE7QUFFL0MsTUFBTSxDQUFDLE9BQU8sT0FBTyx3QkFBd0I7SUFDM0MsWUFBb0IsT0FBbUM7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFBRyxDQUFDO0lBRXBELFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFFTSxrQ0FBa0M7UUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFBO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFFTSxnQ0FBZ0M7UUFDckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFBO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJbnRlcnZhbFBpY2tlclN0YXRlTWFuYWdlciBmcm9tICcuLi9tYW5hZ2VyL2ludGVydmFsLXBpY2tlci1zdGF0ZS1tYW5hZ2VyJ1xuaW1wb3J0IEFuY2hvclN0YXRlIGZyb20gJy4uL21vZGVsL2FuY2hvci1zdGF0ZSdcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW50ZXJ2YWxBbmNob3JDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYW5hZ2VyOiBJbnRlcnZhbFBpY2tlclN0YXRlTWFuYWdlcikge31cblxuICBwdWJsaWMgcmVzZXRBbmNob3IoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VyLnNldEFuY2hvcihBbmNob3JTdGF0ZS5lbXB0eSgpKVxuICB9XG5cbiAgcHVibGljIHJlc2V0QW5jaG9yVGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZXIuc2V0QW5jaG9yKHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS53aXRoVGltZU1pZG5pZ2h0KCkpXG4gIH1cblxuICBwdWJsaWMgc2V0Rml4ZWRBbmNob3JQb2ludFRvU3RhcnREYXRlVGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGVUaW1lID0gdGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWU/LnN0YXJ0RGF0ZVRpbWVcbiAgICB0aGlzLm1hbmFnZXIuc2V0QW5jaG9yKEFuY2hvclN0YXRlLmNyZWF0ZUZyb21EYXRlVGltZShzdGFydERhdGVUaW1lKSlcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaXhlZEFuY2hvclBvaW50VG9FbmREYXRlVGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBlbmREYXRlVGltZSA9IHRoaXMubWFuYWdlci5pbnRlcnZhbFZhbHVlPy5lbmREYXRlVGltZVxuICAgIHRoaXMubWFuYWdlci5zZXRBbmNob3IoQW5jaG9yU3RhdGUuY3JlYXRlRnJvbURhdGVUaW1lKGVuZERhdGVUaW1lKSlcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TemporalUtil } from '../../../../common/time/temporal-util';
|
|
2
|
+
import IntervalState from '../model/interval-state';
|
|
3
|
+
export default class IntervalCalendarController {
|
|
4
|
+
constructor(manager) {
|
|
5
|
+
this.manager = manager;
|
|
6
|
+
}
|
|
7
|
+
setStartDateFromJSDate(date) {
|
|
8
|
+
const startDate = TemporalUtil.getPlainDateFromJSDate(date);
|
|
9
|
+
if (!this.manager.intervalValue) {
|
|
10
|
+
this.manager.setInterval(new IntervalState(startDate, null));
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
this.manager.setInterval(this.manager.intervalValue.withStartDate(startDate));
|
|
14
|
+
}
|
|
15
|
+
setEndDateFromJSDate(date) {
|
|
16
|
+
const endDate = TemporalUtil.getPlainDateFromJSDate(date);
|
|
17
|
+
if (!this.manager.intervalValue) {
|
|
18
|
+
this.manager.setInterval(new IntervalState(null, endDate));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.manager.setInterval(this.manager.intervalValue.withEndDate(endDate));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtY2FsZW5kYXItY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1waWNrZXIvY29udHJvbGxlci9pbnRlcnZhbC1jYWxlbmRhci1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUVwRSxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUVuRCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEwQjtJQUM3QyxZQUFvQixPQUFtQztRQUFuQyxZQUFPLEdBQVAsT0FBTyxDQUE0QjtJQUFHLENBQUM7SUFFcEQsc0JBQXNCLENBQUMsSUFBVTtRQUN0QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDNUQsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBRU0sb0JBQW9CLENBQUMsSUFBVTtRQUNwQyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFekQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDMUQsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wb3JhbFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdGltZS90ZW1wb3JhbC11dGlsJ1xuaW1wb3J0IEludGVydmFsUGlja2VyU3RhdGVNYW5hZ2VyIGZyb20gJy4uL21hbmFnZXIvaW50ZXJ2YWwtcGlja2VyLXN0YXRlLW1hbmFnZXInXG5pbXBvcnQgSW50ZXJ2YWxTdGF0ZSBmcm9tICcuLi9tb2RlbC9pbnRlcnZhbC1zdGF0ZSdcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW50ZXJ2YWxDYWxlbmRhckNvbnRyb2xsZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hbmFnZXI6IEludGVydmFsUGlja2VyU3RhdGVNYW5hZ2VyKSB7fVxuXG4gIHB1YmxpYyBzZXRTdGFydERhdGVGcm9tSlNEYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0UGxhaW5EYXRlRnJvbUpTRGF0ZShkYXRlKVxuXG4gICAgaWYgKCF0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZSkge1xuICAgICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHN0YXJ0RGF0ZSwgbnVsbCkpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwodGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWUud2l0aFN0YXJ0RGF0ZShzdGFydERhdGUpKVxuICB9XG5cbiAgcHVibGljIHNldEVuZERhdGVGcm9tSlNEYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBjb25zdCBlbmREYXRlID0gVGVtcG9yYWxVdGlsLmdldFBsYWluRGF0ZUZyb21KU0RhdGUoZGF0ZSlcblxuICAgIGlmICghdGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWUpIHtcbiAgICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChuZXcgSW50ZXJ2YWxTdGF0ZShudWxsLCBlbmREYXRlKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbCh0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZS53aXRoRW5kRGF0ZShlbmREYXRlKSlcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
2
|
+
import IntervalAnchorController from './interval-anchor-controller';
|
|
3
|
+
import IntervalCalendarController from './interval-calendar-controller';
|
|
4
|
+
import IntervalFormController from './interval-form-controller';
|
|
5
|
+
import IntervalSelectController from './interval-select-controller';
|
|
6
|
+
import IntervalShiftController from './interval-shift-controller';
|
|
7
|
+
export default class IntervalController {
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Constructor *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
constructor(manager) {
|
|
14
|
+
this.manager = manager;
|
|
15
|
+
/***************************************************************************
|
|
16
|
+
* *
|
|
17
|
+
* Fields *
|
|
18
|
+
* *
|
|
19
|
+
**************************************************************************/
|
|
20
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
21
|
+
this.select = new IntervalSelectController(manager);
|
|
22
|
+
this.shift = new IntervalShiftController(manager);
|
|
23
|
+
this.form = new IntervalFormController(manager);
|
|
24
|
+
this.calendar = new IntervalCalendarController(manager);
|
|
25
|
+
this.anchor = new IntervalAnchorController(manager);
|
|
26
|
+
}
|
|
27
|
+
/***************************************************************************
|
|
28
|
+
* *
|
|
29
|
+
* Public API *
|
|
30
|
+
* *
|
|
31
|
+
**************************************************************************/
|
|
32
|
+
clearInterval() {
|
|
33
|
+
this.manager.setInterval(null);
|
|
34
|
+
}
|
|
35
|
+
clearEndTime() {
|
|
36
|
+
this.manager.setInterval(this.manager.intervalValue.withEndTime(null));
|
|
37
|
+
}
|
|
38
|
+
clearStartTime() {
|
|
39
|
+
this.manager.setInterval(this.manager.intervalValue.withStartTime(null));
|
|
40
|
+
}
|
|
41
|
+
manualEmit() { }
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1waWNrZXIvY29udHJvbGxlci9pbnRlcnZhbC1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVwRCxPQUFPLHdCQUF3QixNQUFNLDhCQUE4QixDQUFBO0FBQ25FLE9BQU8sMEJBQTBCLE1BQU0sZ0NBQWdDLENBQUE7QUFDdkUsT0FBTyxzQkFBc0IsTUFBTSw0QkFBNEIsQ0FBQTtBQUMvRCxPQUFPLHdCQUF3QixNQUFNLDhCQUE4QixDQUFBO0FBQ25FLE9BQU8sdUJBQXVCLE1BQU0sNkJBQTZCLENBQUE7QUFDakUsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFjckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQW9CLE9BQW1DO1FBQW5DLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBbkJ2RDs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQWNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRU0sVUFBVSxLQUFVLENBQUM7Q0FDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgSW50ZXJ2YWxQaWNrZXJTdGF0ZU1hbmFnZXIgZnJvbSAnLi4vbWFuYWdlci9pbnRlcnZhbC1waWNrZXItc3RhdGUtbWFuYWdlcidcbmltcG9ydCBJbnRlcnZhbEFuY2hvckNvbnRyb2xsZXIgZnJvbSAnLi9pbnRlcnZhbC1hbmNob3ItY29udHJvbGxlcidcbmltcG9ydCBJbnRlcnZhbENhbGVuZGFyQ29udHJvbGxlciBmcm9tICcuL2ludGVydmFsLWNhbGVuZGFyLWNvbnRyb2xsZXInXG5pbXBvcnQgSW50ZXJ2YWxGb3JtQ29udHJvbGxlciBmcm9tICcuL2ludGVydmFsLWZvcm0tY29udHJvbGxlcidcbmltcG9ydCBJbnRlcnZhbFNlbGVjdENvbnRyb2xsZXIgZnJvbSAnLi9pbnRlcnZhbC1zZWxlY3QtY29udHJvbGxlcidcbmltcG9ydCBJbnRlcnZhbFNoaWZ0Q29udHJvbGxlciBmcm9tICcuL2ludGVydmFsLXNoaWZ0LWNvbnRyb2xsZXInXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnRlcnZhbENvbnRyb2xsZXIge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdDogSW50ZXJ2YWxTZWxlY3RDb250cm9sbGVyXG4gIHB1YmxpYyByZWFkb25seSBzaGlmdDogSW50ZXJ2YWxTaGlmdENvbnRyb2xsZXJcbiAgcHVibGljIHJlYWRvbmx5IGZvcm06IEludGVydmFsRm9ybUNvbnRyb2xsZXJcbiAgcHVibGljIHJlYWRvbmx5IGNhbGVuZGFyOiBJbnRlcnZhbENhbGVuZGFyQ29udHJvbGxlclxuICBwdWJsaWMgcmVhZG9ubHkgYW5jaG9yOiBJbnRlcnZhbEFuY2hvckNvbnRyb2xsZXJcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hbmFnZXI6IEludGVydmFsUGlja2VyU3RhdGVNYW5hZ2VyKSB7XG4gICAgdGhpcy5zZWxlY3QgPSBuZXcgSW50ZXJ2YWxTZWxlY3RDb250cm9sbGVyKG1hbmFnZXIpXG4gICAgdGhpcy5zaGlmdCA9IG5ldyBJbnRlcnZhbFNoaWZ0Q29udHJvbGxlcihtYW5hZ2VyKVxuICAgIHRoaXMuZm9ybSA9IG5ldyBJbnRlcnZhbEZvcm1Db250cm9sbGVyKG1hbmFnZXIpXG4gICAgdGhpcy5jYWxlbmRhciA9IG5ldyBJbnRlcnZhbENhbGVuZGFyQ29udHJvbGxlcihtYW5hZ2VyKVxuICAgIHRoaXMuYW5jaG9yID0gbmV3IEludGVydmFsQW5jaG9yQ29udHJvbGxlcihtYW5hZ2VyKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNsZWFySW50ZXJ2YWwoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG51bGwpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJFbmRUaW1lKCk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbCh0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZS53aXRoRW5kVGltZShudWxsKSlcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclN0YXJ0VGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwodGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWUud2l0aFN0YXJ0VGltZShudWxsKSlcbiAgfVxuXG4gIHB1YmxpYyBtYW51YWxFbWl0KCk6IHZvaWQge31cbn1cbiJdfQ==
|
package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
2
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
3
|
+
import { TemporalUtil } from '../../../../common/time/temporal-util';
|
|
4
|
+
import IntervalState from '../model/interval-state';
|
|
5
|
+
export default class IntervalFormController {
|
|
6
|
+
constructor(manager) {
|
|
7
|
+
this.manager = manager;
|
|
8
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
9
|
+
}
|
|
10
|
+
setStartDateFromString(htmlString) {
|
|
11
|
+
try {
|
|
12
|
+
const plainDate = TemporalUtil.getPlainDateFromHtmlDateString(htmlString);
|
|
13
|
+
const endDate = this.manager.intervalValue?.endDate || plainDate.add({ days: 1 });
|
|
14
|
+
this.manager.setInterval(new IntervalState(plainDate, endDate));
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
this.log.warn('Incorrect date / time anchor form input. Could not set anchor.', htmlString);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
setEndDateFromString(htmlString) {
|
|
21
|
+
try {
|
|
22
|
+
const plainDate = TemporalUtil.getPlainDateFromHtmlDateString(htmlString);
|
|
23
|
+
const startDate = this.manager.intervalValue?.startDate || plainDate.subtract({ days: 1 });
|
|
24
|
+
this.manager.setInterval(new IntervalState(startDate, plainDate));
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
this.log.warn('Incorrect date / time anchor form input. Could not set anchor.', htmlString);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
setAnchorDateFromString(htmlString) {
|
|
31
|
+
try {
|
|
32
|
+
const plainDate = TemporalUtil.getPlainDateFromHtmlDateString(htmlString);
|
|
33
|
+
this.manager.setAnchor(this.manager.anchorValue.withDate(plainDate));
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
this.log.warn('Incorrect date / time anchor form input. Could not set anchor.', htmlString);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
setAnchorTimeFromString(htmlString) {
|
|
40
|
+
try {
|
|
41
|
+
const plainTime = TemporalUtil.getPlainTimeFromHtmlTimeString(htmlString);
|
|
42
|
+
this.manager.setAnchor(this.manager.anchorValue.withTime(plainTime));
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
this.log.warn('Incorrect date / time anchor form input. Could not set anchor.', htmlString);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
setStartTimeFromString(timeStr) {
|
|
49
|
+
try {
|
|
50
|
+
const startTime = TemporalUtil.getPlainTimeFromHtmlTimeString(timeStr);
|
|
51
|
+
const startDate = this.manager.intervalValue?.startDate || Temporal.Now.plainDateISO();
|
|
52
|
+
this.manager.setInterval(new IntervalState(startDate, this.manager.intervalValue?.endDate || null, startTime, this.manager.intervalValue?.endTime || null));
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
this.log.warn('Incorrect date / time form input. Could not set new Interval.', timeStr, e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
setEndTimeFromString(timeStr) {
|
|
59
|
+
try {
|
|
60
|
+
const endTime = TemporalUtil.getPlainTimeFromHtmlTimeString(timeStr);
|
|
61
|
+
const endDate = this.manager.intervalValue?.endDate || Temporal.Now.plainDateISO();
|
|
62
|
+
this.manager.setInterval(new IntervalState(this.manager.intervalValue?.startDate || null, endDate, this.manager.intervalValue?.startTime || null, endTime));
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
this.log.warn('Incorrect date / time form input. Could not set new Interval.', timeStr);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtZm9ybS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2VsZGVyLWludGVydmFsLXBpY2tlci9jb250cm9sbGVyL2ludGVydmFsLWZvcm0tY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUVwRSxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUVuRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNCQUFzQjtJQUd6QyxZQUFvQixPQUFtQztRQUFuQyxZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUZ0QyxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRVgsQ0FBQztJQUVwRCxzQkFBc0IsQ0FBQyxVQUFrQjtRQUM5QyxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNY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RSxDQUFBO1lBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUN0QixJQUFJLGFBQWEsQ0FDZixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxTQUFTLElBQUksSUFBSSxFQUM3QyxPQUFPLEVBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDN0MsT0FBTyxDQUNSLENBQ0YsQ0FBQTtRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsK0RBQStELEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDekYsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFRlbXBvcmFsIH0gZnJvbSAnQGpzLXRlbXBvcmFsL3BvbHlmaWxsJ1xuaW1wb3J0IHsgVGVtcG9yYWxVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3RpbWUvdGVtcG9yYWwtdXRpbCdcbmltcG9ydCBJbnRlcnZhbFBpY2tlclN0YXRlTWFuYWdlciBmcm9tICcuLi9tYW5hZ2VyL2ludGVydmFsLXBpY2tlci1zdGF0ZS1tYW5hZ2VyJ1xuaW1wb3J0IEludGVydmFsU3RhdGUgZnJvbSAnLi4vbW9kZWwvaW50ZXJ2YWwtc3RhdGUnXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsRm9ybUNvbnRyb2xsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hbmFnZXI6IEludGVydmFsUGlja2VyU3RhdGVNYW5hZ2VyKSB7fVxuXG4gIHB1YmxpYyBzZXRTdGFydERhdGVGcm9tU3RyaW5nKGh0bWxTdHJpbmc6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0UGxhaW5EYXRlRnJvbUh0bWxEYXRlU3RyaW5nKGh0bWxTdHJpbmcpXG4gICAgICBjb25zdCBlbmREYXRlID0gdGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWU/LmVuZERhdGUgfHwgcGxhaW5EYXRlLmFkZCh7IGRheXM6IDEgfSlcbiAgICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChuZXcgSW50ZXJ2YWxTdGF0ZShwbGFpbkRhdGUsIGVuZERhdGUpKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0luY29ycmVjdCBkYXRlIC8gdGltZSBhbmNob3IgZm9ybSBpbnB1dC4gQ291bGQgbm90IHNldCBhbmNob3IuJywgaHRtbFN0cmluZylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0RW5kRGF0ZUZyb21TdHJpbmcoaHRtbFN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXRQbGFpbkRhdGVGcm9tSHRtbERhdGVTdHJpbmcoaHRtbFN0cmluZylcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMubWFuYWdlci5pbnRlcnZhbFZhbHVlPy5zdGFydERhdGUgfHwgcGxhaW5EYXRlLnN1YnRyYWN0KHsgZGF5czogMSB9KVxuICAgICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHN0YXJ0RGF0ZSwgcGxhaW5EYXRlKSlcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdJbmNvcnJlY3QgZGF0ZSAvIHRpbWUgYW5jaG9yIGZvcm0gaW5wdXQuIENvdWxkIG5vdCBzZXQgYW5jaG9yLicsIGh0bWxTdHJpbmcpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEFuY2hvckRhdGVGcm9tU3RyaW5nKGh0bWxTdHJpbmc6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0UGxhaW5EYXRlRnJvbUh0bWxEYXRlU3RyaW5nKGh0bWxTdHJpbmcpXG4gICAgICB0aGlzLm1hbmFnZXIuc2V0QW5jaG9yKHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS53aXRoRGF0ZShwbGFpbkRhdGUpKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0luY29ycmVjdCBkYXRlIC8gdGltZSBhbmNob3IgZm9ybSBpbnB1dC4gQ291bGQgbm90IHNldCBhbmNob3IuJywgaHRtbFN0cmluZylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QW5jaG9yVGltZUZyb21TdHJpbmcoaHRtbFN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBsYWluVGltZSA9IFRlbXBvcmFsVXRpbC5nZXRQbGFpblRpbWVGcm9tSHRtbFRpbWVTdHJpbmcoaHRtbFN0cmluZylcbiAgICAgIHRoaXMubWFuYWdlci5zZXRBbmNob3IodGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLndpdGhUaW1lKHBsYWluVGltZSkpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2cud2FybignSW5jb3JyZWN0IGRhdGUgLyB0aW1lIGFuY2hvciBmb3JtIGlucHV0LiBDb3VsZCBub3Qgc2V0IGFuY2hvci4nLCBodG1sU3RyaW5nKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTdGFydFRpbWVGcm9tU3RyaW5nKHRpbWVTdHI6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBUZW1wb3JhbFV0aWwuZ2V0UGxhaW5UaW1lRnJvbUh0bWxUaW1lU3RyaW5nKHRpbWVTdHIpXG4gICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZT8uc3RhcnREYXRlIHx8IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVJU08oKVxuICAgICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKFxuICAgICAgICBuZXcgSW50ZXJ2YWxTdGF0ZShcbiAgICAgICAgICBzdGFydERhdGUsXG4gICAgICAgICAgdGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWU/LmVuZERhdGUgfHwgbnVsbCxcbiAgICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgICAgdGhpcy5tYW5hZ2VyLmludGVydmFsVmFsdWU/LmVuZFRpbWUgfHwgbnVsbFxuICAgICAgICApXG4gICAgICApXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2cud2FybignSW5jb3JyZWN0IGRhdGUgLyB0aW1lIGZvcm0gaW5wdXQuIENvdWxkIG5vdCBzZXQgbmV3IEludGVydmFsLicsIHRpbWVTdHIsIGUpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEVuZFRpbWVGcm9tU3RyaW5nKHRpbWVTdHI6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbmRUaW1lID0gVGVtcG9yYWxVdGlsLmdldFBsYWluVGltZUZyb21IdG1sVGltZVN0cmluZyh0aW1lU3RyKVxuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMubWFuYWdlci5pbnRlcnZhbFZhbHVlPy5lbmREYXRlIHx8IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVJU08oKVxuICAgICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKFxuICAgICAgICBuZXcgSW50ZXJ2YWxTdGF0ZShcbiAgICAgICAgICB0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZT8uc3RhcnREYXRlIHx8IG51bGwsXG4gICAgICAgICAgZW5kRGF0ZSxcbiAgICAgICAgICB0aGlzLm1hbmFnZXIuaW50ZXJ2YWxWYWx1ZT8uc3RhcnRUaW1lIHx8IG51bGwsXG4gICAgICAgICAgZW5kVGltZVxuICAgICAgICApXG4gICAgICApXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2cud2FybignSW5jb3JyZWN0IGRhdGUgLyB0aW1lIGZvcm0gaW5wdXQuIENvdWxkIG5vdCBzZXQgbmV3IEludGVydmFsLicsIHRpbWVTdHIpXG4gICAgfVxuICB9XG59XG4iXX0=
|
package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
import { TemporalUtil } from '../../../../common/time/temporal-util';
|
|
3
|
+
import IntervalState from '../model/interval-state';
|
|
4
|
+
import SmartShiftState from '../model/smart-shift-state';
|
|
5
|
+
export default class IntervalSelectController {
|
|
6
|
+
constructor(manager) {
|
|
7
|
+
this.manager = manager;
|
|
8
|
+
}
|
|
9
|
+
refreshAnchor() {
|
|
10
|
+
this.manager.setAnchor(this.manager.anchorValue.withReferenceDateTimeNow());
|
|
11
|
+
}
|
|
12
|
+
setSmartShiftState(duration, mode) {
|
|
13
|
+
this.manager.setSmartShift(new SmartShiftState(duration, mode));
|
|
14
|
+
}
|
|
15
|
+
selectCurrentDay() {
|
|
16
|
+
this.refreshAnchor();
|
|
17
|
+
const endDate = this.manager.anchorValue.date.add({ days: 1 });
|
|
18
|
+
const startDate = endDate.subtract({ days: 1 });
|
|
19
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
20
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 1 }), 'days');
|
|
21
|
+
}
|
|
22
|
+
selectYesterday() {
|
|
23
|
+
this.refreshAnchor();
|
|
24
|
+
const endDate = this.manager.anchorValue.date;
|
|
25
|
+
const startDate = endDate.subtract({ days: 1 });
|
|
26
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
27
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 1 }), 'days');
|
|
28
|
+
}
|
|
29
|
+
selectLastSevenDaysExcludingToday() {
|
|
30
|
+
this.refreshAnchor();
|
|
31
|
+
const endDate = this.manager.anchorValue.date;
|
|
32
|
+
const startDate = endDate.subtract({ days: 7 });
|
|
33
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
34
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 7 }), 'days');
|
|
35
|
+
}
|
|
36
|
+
selectLastSevenDaysIncludingToday() {
|
|
37
|
+
this.refreshAnchor();
|
|
38
|
+
const endDate = this.manager.anchorValue.date.add({ days: 1 });
|
|
39
|
+
const startDate = endDate.subtract({ days: 7 });
|
|
40
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
41
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 7 }), 'days');
|
|
42
|
+
}
|
|
43
|
+
selectLastThirtyDaysExcludingToday() {
|
|
44
|
+
this.refreshAnchor();
|
|
45
|
+
const endDate = this.manager.anchorValue.date;
|
|
46
|
+
const startDate = endDate.subtract({ days: 30 });
|
|
47
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
48
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 30 }), 'days');
|
|
49
|
+
}
|
|
50
|
+
selectLastThirtyDaysIncludingToday() {
|
|
51
|
+
this.refreshAnchor();
|
|
52
|
+
const endDate = this.manager.anchorValue.date.add({ days: 1 });
|
|
53
|
+
const startDate = endDate.subtract({ days: 30 });
|
|
54
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
55
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 30 }), 'days');
|
|
56
|
+
}
|
|
57
|
+
selectLast365daysExcludingToday() {
|
|
58
|
+
this.refreshAnchor();
|
|
59
|
+
const endDate = this.manager.anchorValue.date;
|
|
60
|
+
const startDate = endDate.subtract({ days: 365 });
|
|
61
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
62
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 365 }), 'days');
|
|
63
|
+
}
|
|
64
|
+
selectLast365daysIncludingToday() {
|
|
65
|
+
this.refreshAnchor();
|
|
66
|
+
const endDate = this.manager.anchorValue.date.add({ days: 1 });
|
|
67
|
+
const startDate = endDate.subtract({ days: 365 });
|
|
68
|
+
this.manager.setInterval(new IntervalState(startDate, endDate));
|
|
69
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 365 }), 'days');
|
|
70
|
+
}
|
|
71
|
+
selectLastFiveMinutes() {
|
|
72
|
+
this.refreshAnchor();
|
|
73
|
+
const anchorDateTime = this.manager.anchorValue.dateTime;
|
|
74
|
+
const startDateTime = anchorDateTime.subtract({ minutes: 5 });
|
|
75
|
+
this.manager.setInterval(IntervalState.createFromDateTimes(startDateTime, anchorDateTime));
|
|
76
|
+
this.setSmartShiftState(Temporal.Duration.from({ minutes: 5 }), 'time');
|
|
77
|
+
}
|
|
78
|
+
selectLastHour() {
|
|
79
|
+
this.refreshAnchor();
|
|
80
|
+
const anchorDateTime = this.manager.anchorValue.dateTime;
|
|
81
|
+
const startDateTime = anchorDateTime.subtract({ hours: 1 });
|
|
82
|
+
this.manager.setInterval(IntervalState.createFromDateTimes(startDateTime, anchorDateTime));
|
|
83
|
+
this.setSmartShiftState(Temporal.Duration.from({ hours: 1 }), 'time');
|
|
84
|
+
}
|
|
85
|
+
selectLast24Hours() {
|
|
86
|
+
this.refreshAnchor();
|
|
87
|
+
const anchorDateTime = this.manager.anchorValue.dateTime;
|
|
88
|
+
const startDateTime = anchorDateTime.subtract({ hours: 24 });
|
|
89
|
+
this.manager.setInterval(IntervalState.createFromDateTimes(startDateTime, anchorDateTime));
|
|
90
|
+
this.setSmartShiftState(Temporal.Duration.from({ hours: 24 }), 'time');
|
|
91
|
+
}
|
|
92
|
+
selectCurrentWeek() {
|
|
93
|
+
this.refreshAnchor();
|
|
94
|
+
const range = TemporalUtil.getCurrentWeek(this.manager.anchorValue.date);
|
|
95
|
+
this.manager.setInterval(new IntervalState(range.start, range.end));
|
|
96
|
+
this.setSmartShiftState(Temporal.Duration.from({ days: 7 }), 'weeks');
|
|
97
|
+
}
|
|
98
|
+
selectCurrentMonth() {
|
|
99
|
+
this.refreshAnchor();
|
|
100
|
+
const range = TemporalUtil.getCurrentMonth(this.manager.anchorValue.date);
|
|
101
|
+
this.manager.setInterval(new IntervalState(range.start, range.end));
|
|
102
|
+
this.setSmartShiftState(Temporal.Duration.from({ months: 1 }), 'months');
|
|
103
|
+
}
|
|
104
|
+
selectCurrentQuarter() {
|
|
105
|
+
this.refreshAnchor();
|
|
106
|
+
const range = TemporalUtil.getCurrentQuarter(this.manager.anchorValue.date);
|
|
107
|
+
this.manager.setInterval(new IntervalState(range.start, range.end));
|
|
108
|
+
this.setSmartShiftState(Temporal.Duration.from({ months: 3 }), 'quarters');
|
|
109
|
+
}
|
|
110
|
+
selectCurrentYear() {
|
|
111
|
+
this.refreshAnchor();
|
|
112
|
+
const range = TemporalUtil.getCurrentYear(this.manager.anchorValue.date);
|
|
113
|
+
this.manager.setInterval(new IntervalState(range.start, range.end));
|
|
114
|
+
this.setSmartShiftState(Temporal.Duration.from({ years: 1 }), 'years');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtc2VsZWN0LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItaW50ZXJ2YWwtcGlja2VyL2NvbnRyb2xsZXIvaW50ZXJ2YWwtc2VsZWN0LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUVwRSxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLGVBQW1DLE1BQU0sNEJBQTRCLENBQUE7QUFFNUUsTUFBTSxDQUFDLE9BQU8sT0FBTyx3QkFBd0I7SUFDM0MsWUFBb0IsT0FBbUM7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFBRyxDQUFDO0lBRW5ELGFBQWE7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxRQUEyQixFQUFFLElBQW9CO1FBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM5RCxNQUFNLFNBQVMsR0FBRyxPQUFP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TyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ25FLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBvcmFsIH0gZnJvbSAnQGpzLXRlbXBvcmFsL3BvbHlmaWxsJ1xuaW1wb3J0IHsgVGVtcG9yYWxVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3RpbWUvdGVtcG9yYWwtdXRpbCdcbmltcG9ydCBJbnRlcnZhbFBpY2tlclN0YXRlTWFuYWdlciBmcm9tICcuLi9tYW5hZ2VyL2ludGVydmFsLXBpY2tlci1zdGF0ZS1tYW5hZ2VyJ1xuaW1wb3J0IEludGVydmFsU3RhdGUgZnJvbSAnLi4vbW9kZWwvaW50ZXJ2YWwtc3RhdGUnXG5pbXBvcnQgU21hcnRTaGlmdFN0YXRlLCB7IFNtYXJ0U2hpZnRNb2RlIH0gZnJvbSAnLi4vbW9kZWwvc21hcnQtc2hpZnQtc3RhdGUnXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsU2VsZWN0Q29udHJvbGxlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWFuYWdlcjogSW50ZXJ2YWxQaWNrZXJTdGF0ZU1hbmFnZXIpIHt9XG5cbiAgcHJpdmF0ZSByZWZyZXNoQW5jaG9yKCk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlci5zZXRBbmNob3IodGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLndpdGhSZWZlcmVuY2VEYXRlVGltZU5vdygpKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTbWFydFNoaWZ0U3RhdGUoZHVyYXRpb246IFRlbXBvcmFsLkR1cmF0aW9uLCBtb2RlOiBTbWFydFNoaWZ0TW9kZSk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlci5zZXRTbWFydFNoaWZ0KG5ldyBTbWFydFNoaWZ0U3RhdGUoZHVyYXRpb24sIG1vZGUpKVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEN1cnJlbnREYXkoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGUuYWRkKHsgZGF5czogMSB9KVxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IGVuZERhdGUuc3VidHJhY3QoeyBkYXlzOiAxIH0pXG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSkpXG4gICAgdGhpcy5zZXRTbWFydFNoaWZ0U3RhdGUoVGVtcG9yYWwuRHVyYXRpb24uZnJvbSh7IGRheXM6IDEgfSksICdkYXlzJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RZZXN0ZXJkYXkoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGVcbiAgICBjb25zdCBzdGFydERhdGUgPSBlbmREYXRlLnN1YnRyYWN0KHsgZGF5czogMSB9KVxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChuZXcgSW50ZXJ2YWxTdGF0ZShzdGFydERhdGUsIGVuZERhdGUpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBkYXlzOiAxIH0pLCAnZGF5cycpXG4gIH1cblxuICBwdWJsaWMgc2VsZWN0TGFzdFNldmVuRGF5c0V4Y2x1ZGluZ1RvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEFuY2hvcigpXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gZW5kRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDcgfSlcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwobmV3IEludGVydmFsU3RhdGUoc3RhcnREYXRlLCBlbmREYXRlKSlcbiAgICB0aGlzLnNldFNtYXJ0U2hpZnRTdGF0ZShUZW1wb3JhbC5EdXJhdGlvbi5mcm9tKHsgZGF5czogNyB9KSwgJ2RheXMnKVxuICB9XG5cbiAgcHVibGljIHNlbGVjdExhc3RTZXZlbkRheXNJbmNsdWRpbmdUb2RheSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hBbmNob3IoKVxuICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLm1hbmFnZXIuYW5jaG9yVmFsdWUuZGF0ZS5hZGQoeyBkYXlzOiAxIH0pXG4gICAgY29uc3Qgc3RhcnREYXRlID0gZW5kRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDcgfSlcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwobmV3IEludGVydmFsU3RhdGUoc3RhcnREYXRlLCBlbmREYXRlKSlcbiAgICB0aGlzLnNldFNtYXJ0U2hpZnRTdGF0ZShUZW1wb3JhbC5EdXJhdGlvbi5mcm9tKHsgZGF5czogNyB9KSwgJ2RheXMnKVxuICB9XG5cbiAgcHVibGljIHNlbGVjdExhc3RUaGlydHlEYXlzRXhjbHVkaW5nVG9kYXkoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGVcbiAgICBjb25zdCBzdGFydERhdGUgPSBlbmREYXRlLnN1YnRyYWN0KHsgZGF5czogMzAgfSlcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwobmV3IEludGVydmFsU3RhdGUoc3RhcnREYXRlLCBlbmREYXRlKSlcbiAgICB0aGlzLnNldFNtYXJ0U2hpZnRTdGF0ZShUZW1wb3JhbC5EdXJhdGlvbi5mcm9tKHsgZGF5czogMzAgfSksICdkYXlzJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RMYXN0VGhpcnR5RGF5c0luY2x1ZGluZ1RvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEFuY2hvcigpXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlLmFkZCh7IGRheXM6IDEgfSlcbiAgICBjb25zdCBzdGFydERhdGUgPSBlbmREYXRlLnN1YnRyYWN0KHsgZGF5czogMzAgfSlcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwobmV3IEludGVydmFsU3RhdGUoc3RhcnREYXRlLCBlbmREYXRlKSlcbiAgICB0aGlzLnNldFNtYXJ0U2hpZnRTdGF0ZShUZW1wb3JhbC5EdXJhdGlvbi5mcm9tKHsgZGF5czogMzAgfSksICdkYXlzJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RMYXN0MzY1ZGF5c0V4Y2x1ZGluZ1RvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEFuY2hvcigpXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gZW5kRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDM2NSB9KVxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChuZXcgSW50ZXJ2YWxTdGF0ZShzdGFydERhdGUsIGVuZERhdGUpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBkYXlzOiAzNjUgfSksICdkYXlzJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RMYXN0MzY1ZGF5c0luY2x1ZGluZ1RvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEFuY2hvcigpXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlLmFkZCh7IGRheXM6IDEgfSlcbiAgICBjb25zdCBzdGFydERhdGUgPSBlbmREYXRlLnN1YnRyYWN0KHsgZGF5czogMzY1IH0pXG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSkpXG4gICAgdGhpcy5zZXRTbWFydFNoaWZ0U3RhdGUoVGVtcG9yYWwuRHVyYXRpb24uZnJvbSh7IGRheXM6IDM2NSB9KSwgJ2RheXMnKVxuICB9XG5cbiAgcHVibGljIHNlbGVjdExhc3RGaXZlTWludXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hBbmNob3IoKVxuICAgIGNvbnN0IGFuY2hvckRhdGVUaW1lID0gdGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGVUaW1lXG4gICAgY29uc3Qgc3RhcnREYXRlVGltZSA9IGFuY2hvckRhdGVUaW1lLnN1YnRyYWN0KHsgbWludXRlczogNSB9KVxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChJbnRlcnZhbFN0YXRlLmNyZWF0ZUZyb21EYXRlVGltZXMoc3RhcnREYXRlVGltZSwgYW5jaG9yRGF0ZVRpbWUpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBtaW51dGVzOiA1IH0pLCAndGltZScpXG4gIH1cblxuICBwdWJsaWMgc2VsZWN0TGFzdEhvdXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCBhbmNob3JEYXRlVGltZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlVGltZVxuICAgIGNvbnN0IHN0YXJ0RGF0ZVRpbWUgPSBhbmNob3JEYXRlVGltZS5zdWJ0cmFjdCh7IGhvdXJzOiAxIH0pXG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKEludGVydmFsU3RhdGUuY3JlYXRlRnJvbURhdGVUaW1lcyhzdGFydERhdGVUaW1lLCBhbmNob3JEYXRlVGltZSkpXG4gICAgdGhpcy5zZXRTbWFydFNoaWZ0U3RhdGUoVGVtcG9yYWwuRHVyYXRpb24uZnJvbSh7IGhvdXJzOiAxIH0pLCAndGltZScpXG4gIH1cblxuICBwdWJsaWMgc2VsZWN0TGFzdDI0SG91cnMoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCBhbmNob3JEYXRlVGltZSA9IHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlVGltZVxuICAgIGNvbnN0IHN0YXJ0RGF0ZVRpbWUgPSBhbmNob3JEYXRlVGltZS5zdWJ0cmFjdCh7IGhvdXJzOiAyNCB9KVxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChJbnRlcnZhbFN0YXRlLmNyZWF0ZUZyb21EYXRlVGltZXMoc3RhcnREYXRlVGltZSwgYW5jaG9yRGF0ZVRpbWUpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBob3VyczogMjQgfSksICd0aW1lJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RDdXJyZW50V2VlaygpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hBbmNob3IoKVxuICAgIGNvbnN0IHJhbmdlID0gVGVtcG9yYWxVdGlsLmdldEN1cnJlbnRXZWVrKHRoaXMubWFuYWdlci5hbmNob3JWYWx1ZS5kYXRlKVxuICAgIHRoaXMubWFuYWdlci5zZXRJbnRlcnZhbChuZXcgSW50ZXJ2YWxTdGF0ZShyYW5nZS5zdGFydCwgcmFuZ2UuZW5kKSlcbiAgICB0aGlzLnNldFNtYXJ0U2hpZnRTdGF0ZShUZW1wb3JhbC5EdXJhdGlvbi5mcm9tKHsgZGF5czogNyB9KSwgJ3dlZWtzJylcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RDdXJyZW50TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCByYW5nZSA9IFRlbXBvcmFsVXRpbC5nZXRDdXJyZW50TW9udGgodGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGUpXG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBtb250aHM6IDEgfSksICdtb250aHMnKVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEN1cnJlbnRRdWFydGVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEFuY2hvcigpXG4gICAgY29uc3QgcmFuZ2UgPSBUZW1wb3JhbFV0aWwuZ2V0Q3VycmVudFF1YXJ0ZXIodGhpcy5tYW5hZ2VyLmFuY2hvclZhbHVlLmRhdGUpXG4gICAgdGhpcy5tYW5hZ2VyLnNldEludGVydmFsKG5ldyBJbnRlcnZhbFN0YXRlKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpKVxuICAgIHRoaXMuc2V0U21hcnRTaGlmdFN0YXRlKFRlbXBvcmFsLkR1cmF0aW9uLmZyb20oeyBtb250aHM6IDMgfSksICdxdWFydGVycycpXG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Q3VycmVudFllYXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoQW5jaG9yKClcbiAgICBjb25zdCByYW5nZSA9IFRlbXBvcmFsVXRpbC5nZXRDdXJyZW50WWVhcih0aGlzLm1hbmFnZXIuYW5jaG9yVmFsdWUuZGF0ZSlcbiAgICB0aGlzLm1hbmFnZXIuc2V0SW50ZXJ2YWwobmV3IEludGVydmFsU3RhdGUocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCkpXG4gICAgdGhpcy5zZXRTbWFydFNoaWZ0U3RhdGUoVGVtcG9yYWwuRHVyYXRpb24uZnJvbSh7IHllYXJzOiAxIH0pLCAneWVhcnMnKVxuICB9XG59XG4iXX0=
|