@universis/ngx-tables 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/universis-ngx-tables.umd.js +38 -15
- package/bundles/universis-ngx-tables.umd.js.map +1 -1
- package/bundles/universis-ngx-tables.umd.min.js +1 -1
- package/bundles/universis-ngx-tables.umd.min.js.map +1 -1
- package/esm2015/lib/components/advanced-table/advanced-table.component.js +21 -13
- package/esm2015/lib/directives/advance-table-state.directive.js +5 -2
- package/esm2015/lib/tables.activated-table.service.js +16 -2
- package/esm5/lib/components/advanced-table/advanced-table.component.js +18 -10
- package/esm5/lib/directives/advance-table-state.directive.js +5 -2
- package/esm5/lib/tables.activated-table.service.js +16 -2
- package/fesm2015/universis-ngx-tables.js +39 -16
- package/fesm2015/universis-ngx-tables.js.map +1 -1
- package/fesm5/universis-ngx-tables.js +37 -14
- package/fesm5/universis-ngx-tables.js.map +1 -1
- package/lib/tables.activated-table.service.d.ts +11 -0
- package/package.json +1 -1
- package/universis-ngx-tables.metadata.json +1 -1
|
@@ -16,7 +16,10 @@ export class AdvancedTableState {
|
|
|
16
16
|
this.table.stateSave = true;
|
|
17
17
|
this.table.stateLoadCallback = (settings, callback) => {
|
|
18
18
|
this.store.pipe(select(fromTables.selectTable, { id: this.tableState }), first()).subscribe((state) => {
|
|
19
|
-
|
|
19
|
+
callback(state && state.table);
|
|
20
|
+
if (state && state.table && state.table.ColReorder) {
|
|
21
|
+
this.table.dataTable.colReorder.order(state.table.ColReorder, true);
|
|
22
|
+
}
|
|
20
23
|
});
|
|
21
24
|
};
|
|
22
25
|
let firstDraw = true;
|
|
@@ -56,4 +59,4 @@ AdvancedTableState.propDecorators = {
|
|
|
56
59
|
tableState: [{ type: Input }]
|
|
57
60
|
};
|
|
58
61
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hZHZhbmNlLXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEdBQzdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQy9GLE9BQU8sS0FBSyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFTdkQsTUFBTTtJQUlGLFlBQW9CLEtBQTZCLEVBQ3pCLEtBQTRCO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQXVCO0lBRXBELENBQUM7SUFDRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUN2RyxRQUFRLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDdkU7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQTtRQUNELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDckIsT0FBTzthQUNWO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQzlCLE9BQU87YUFDVjtZQUNELFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDbEIsTUFBTSxrQkFBa0IsR0FTcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXO2dCQUNuRCxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzVDLElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO2dCQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQTtJQUNMLENBQUM7OztZQXhESixTQUFTLFNBQ047Z0JBQ0ksK0NBQStDO2dCQUMvQyxRQUFRLEVBQUUsY0FBYzthQUMzQjs7OztZQVZJLHNCQUFzQjtZQUZkLEtBQUssdUJBbUJiLFFBQVE7Ozt5QkFIWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIE9wdGlvbmFsLCBJbnB1dCwgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBOZ3hUYWJsZXNTdGF0ZSB9IGZyb20gJy4uL3JlZHVjZXJzJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBmcm9tVGFibGVzIGZyb20gJy4uL3JlZHVjZXJzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwZW5kU3RhdGUgfSBmcm9tICcuLi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCB2YWx1ZXMgfSBmcm9tICdsb2Rhc2gnO1xuXG5ARGlyZWN0aXZlKFxuICAgIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICAgICAgc2VsZWN0b3I6ICdbdGFibGVTdGF0ZV0nLFxuICAgIH0sXG4pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUYWJsZVN0YXRlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIHRhYmxlU3RhdGU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFibGU6IEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc3RvcmU6IFN0b3JlPE5neFRhYmxlc1N0YXRlPikge1xuICAgICAgICBcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYmxlLnN0YXRlU2F2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMudGFibGUuc3RhdGVMb2FkQ2FsbGJhY2sgPSAoc2V0dGluZ3MsIGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21UYWJsZXMuc2VsZWN0VGFibGUsIHsgaWQ6IHRoaXMudGFibGVTdGF0ZSB9KSwgZmlyc3QoKSkuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soc3RhdGUgJiYgc3RhdGUudGFibGUpO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS50YWJsZSAmJiBzdGF0ZS50YWJsZS5Db2xSZW9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVRhYmxlLmNvbFJlb3JkZXIub3JkZXIoc3RhdGUudGFibGUuQ29sUmVvcmRlciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZpcnN0RHJhdyA9IHRydWU7XG4gICAgICAgIHRoaXMudGFibGUuZHJhdy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpcnN0RHJhdyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5kYXRhVGFibGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0RHJhdyA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbG9hZGVTdGF0ZVNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgb1NhdmVkU3RhdGU/OiB7XG4gICAgICAgICAgICAgICAgICAgIENvbFJlb3JkZXI/OiBudW1iZXJbXTtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcFJvdzogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVNjcm9sbFRvcDogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVJvd1RvcDogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ID0gdGhpcy50YWJsZS5kYXRhVGFibGUuc2V0dGluZ3MoKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyU2V0dGluZ3MgPSBsb2FkZVN0YXRlU2V0dGluZ3Mub1NhdmVkU3RhdGUgJiZcbiAgICAgICAgICAgICAgICBsb2FkZVN0YXRlU2V0dGluZ3Mub1NhdmVkU3RhdGUuc2Nyb2xsZXI7XG4gICAgICAgICAgICBpZiAoc2Nyb2xsZXJTZXR0aW5ncyAmJiBzY3JvbGxlclNldHRpbmdzLnRvcFJvdykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyID0gdGhpcy50YWJsZS5kYXRhVGFibGUuc2Nyb2xsZXIoKTtcbiAgICAgICAgICAgICAgICBzY3JvbGxlci5zY3JvbGxUb1JvdyhzY3JvbGxlclNldHRpbmdzLnRvcFJvdywgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYmxlLnN0YXRlU2F2ZUNhbGxiYWNrID0gKHNldHRpbmdzLCBkYXRhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBcHBlbmRTdGF0ZSh0aGlzLnRhYmxlU3RhdGUsIGRhdGEpKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { skip } from 'rxjs/operators';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "@angular/router";
|
|
5
7
|
export class ActivatedTableService {
|
|
6
8
|
constructor(_router, _activatedRoute) {
|
|
7
9
|
this._router = _router;
|
|
8
10
|
this._activatedRoute = _activatedRoute;
|
|
11
|
+
/**
|
|
12
|
+
* Get the last table that was set as active
|
|
13
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
14
|
+
*/
|
|
15
|
+
this.lastActiveTable = new BehaviorSubject(null);
|
|
16
|
+
/**
|
|
17
|
+
* Omit the last emitted value to observe only new active table changes
|
|
18
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
19
|
+
*/
|
|
20
|
+
this.nextActiveTable = this.lastActiveTable.pipe(skip(1));
|
|
9
21
|
_router.events.forEach((event) => {
|
|
10
22
|
if (event instanceof NavigationStart) {
|
|
11
23
|
if (this._activeTable) {
|
|
12
|
-
this.
|
|
24
|
+
this.activeTable = null;
|
|
13
25
|
}
|
|
14
26
|
}
|
|
15
27
|
});
|
|
@@ -19,6 +31,8 @@ export class ActivatedTableService {
|
|
|
19
31
|
}
|
|
20
32
|
set activeTable(tableComponent) {
|
|
21
33
|
this._activeTable = tableComponent;
|
|
34
|
+
// provide change to observers
|
|
35
|
+
this.lastActiveTable.next(this._activeTable);
|
|
22
36
|
}
|
|
23
37
|
}
|
|
24
38
|
ActivatedTableService.decorators = [
|
|
@@ -33,4 +47,4 @@ ActivatedTableService.ctorParameters = () => [
|
|
|
33
47
|
];
|
|
34
48
|
ActivatedTableService.ngInjectableDef = i0.defineInjectable({ factory: function ActivatedTableService_Factory() { return new ActivatedTableService(i0.inject(i1.Router), i0.inject(i1.ActivatedRoute)); }, token: ActivatedTableService, providedIn: "root" });
|
|
35
49
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmFjdGl2YXRlZC10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL3RhYmxlcy5hY3RpdmF0ZWQtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLdEMsTUFBTTtJQWVKLFlBQW9CLE9BQWUsRUFBVSxlQUErQjtRQUF4RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBYjVFOzs7V0FHRztRQUNhLG9CQUFlLEdBQ29CLElBQUksZUFBZSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUM1Rzs7O1dBR0c7UUFDYSxvQkFBZSxHQUNlLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRy9FLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0IsSUFBSyxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxjQUE2QztRQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztRQUNuQyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFQeUMsTUFBTTtZQUF2QyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZhdGVkVGFibGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9hY3RpdmVUYWJsZTogQWR2YW5jZWRUYWJsZUNvbXBvbmVudDtcclxuICAvKipcclxuICAgKiBHZXQgdGhlIGxhc3QgdGFibGUgdGhhdCB3YXMgc2V0IGFzIGFjdGl2ZVxyXG4gICAqIE5vdGU6IEVtaXR0ZWQgdmFsdWUgbWF5IGJlIG51bGwgKGUuZy4gcmVzZXQgb24gcm91dGUgY2hhbmdlcylcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgbGFzdEFjdGl2ZVRhYmxlOlxyXG4gICAgQmVoYXZpb3JTdWJqZWN0PEFkdmFuY2VkVGFibGVDb21wb25lbnQgfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QWR2YW5jZWRUYWJsZUNvbXBvbmVudCB8IG51bGw+KG51bGwpO1xyXG4gIC8qKlxyXG4gICAqIE9taXQgdGhlIGxhc3QgZW1pdHRlZCB2YWx1ZSB0byBvYnNlcnZlIG9ubHkgbmV3IGFjdGl2ZSB0YWJsZSBjaGFuZ2VzXHJcbiAgICogTm90ZTogRW1pdHRlZCB2YWx1ZSBtYXkgYmUgbnVsbCAoZS5nLiByZXNldCBvbiByb3V0ZSBjaGFuZ2VzKVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBuZXh0QWN0aXZlVGFibGU6XHJcbiAgICBPYnNlcnZhYmxlPEFkdmFuY2VkVGFibGVDb21wb25lbnQgfCBudWxsPiA9IHRoaXMubGFzdEFjdGl2ZVRhYmxlLnBpcGUoc2tpcCgxKSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgIF9yb3V0ZXIuZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICggZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICBpZiAodGhpcy5fYWN0aXZlVGFibGUpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlVGFibGUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlVGFibGUoKTogQWR2YW5jZWRUYWJsZUNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVGFibGU7XHJcbiAgfVxyXG5cclxuICBzZXQgYWN0aXZlVGFibGUodGFibGVDb21wb25lbnQ6IEFkdmFuY2VkVGFibGVDb21wb25lbnQgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9hY3RpdmVUYWJsZSA9IHRhYmxlQ29tcG9uZW50O1xyXG4gICAgLy8gcHJvdmlkZSBjaGFuZ2UgdG8gb2JzZXJ2ZXJzXHJcbiAgICB0aGlzLmxhc3RBY3RpdmVUYWJsZS5uZXh0KHRoaXMuX2FjdGl2ZVRhYmxlKTtcclxuICB9XHJcbn1cclxuIl19
|