@universis/ngx-tables 6.0.0 → 15.0.2
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/esm2020/lib/actions/table.actions.mjs +27 -0
- package/esm2020/lib/advanced-aggregator.mjs +2 -0
- package/esm2020/lib/components/add-items/add-items.component.mjs +138 -0
- package/esm2020/lib/components/advanced-aggregator/advanced-aggregator.component.mjs +126 -0
- package/esm2020/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.mjs +53 -0
- package/esm2020/lib/components/advanced-list/advanced-list.component.mjs +184 -0
- package/esm2020/lib/components/advanced-row-action/advanced-row-action.component.mjs +178 -0
- package/esm2020/lib/components/advanced-search-form/advanced-search-form.component.mjs +154 -0
- package/esm2020/lib/components/advanced-select/advanced-select.component.mjs +42 -0
- package/esm2020/lib/components/advanced-select/advanced-select.service.mjs +38 -0
- package/esm2020/lib/components/advanced-table/advanced-filter-value-provider.service.mjs +31 -0
- package/esm2020/lib/components/advanced-table/advanced-table-resolvers.mjs +40 -0
- package/esm2020/lib/components/advanced-table/advanced-table-search-base.mjs +31 -0
- package/esm2020/lib/components/advanced-table/advanced-table-search.component.mjs +525 -0
- package/esm2020/lib/components/advanced-table/advanced-table-settings.component.mjs +108 -0
- package/esm2020/lib/components/advanced-table/advanced-table.component.mjs +1599 -0
- package/esm2020/lib/components/advanced-table/advanced-table.formatters.interface.mjs +17 -0
- package/esm2020/lib/components/advanced-table/advanced-table.formatters.mjs +429 -0
- package/esm2020/lib/components/advanced-table/advanced-table.interfaces.mjs +2 -0
- package/esm2020/lib/components/advanced-table-modal/advanced-table-modal-base.component.mjs +420 -0
- package/esm2020/lib/components/column-selector/column-selector.component.mjs +205 -0
- package/esm2020/lib/components/column-selector/column-selector.service.mjs +45 -0
- package/esm2020/lib/components/table-simple-header/table-simple-header.component.mjs +52 -0
- package/esm2020/lib/directives/advance-search-state.directive.mjs +111 -0
- package/esm2020/lib/directives/advance-table-state.directive.mjs +63 -0
- package/esm2020/lib/directives/advanced-search-router-state.directive.mjs +64 -0
- package/esm2020/lib/directives/advanced-table-editor.directive.mjs +154 -0
- package/esm2020/lib/directives/btnexp.directive.mjs +222 -0
- package/esm2020/lib/i18n/tables.el.mjs +129 -0
- package/esm2020/lib/i18n/tables.en.mjs +128 -0
- package/esm2020/lib/pipes/advanced-aggregator.pipe.mjs +38 -0
- package/esm2020/lib/pipes/advansed-aggregator-list-title-parse.pipe.mjs +45 -0
- package/esm2020/lib/reducers/index.mjs +37 -0
- package/esm2020/lib/services/advanced-aggregator/advanced-aggregator.service.mjs +119 -0
- package/esm2020/lib/tables.activated-table.service.mjs +46 -0
- package/esm2020/lib/tables.module.mjs +218 -0
- package/esm2020/public_api.mjs +37 -0
- package/esm2020/universis-ngx-tables.mjs +5 -0
- package/fesm2015/universis-ngx-tables.mjs +5642 -0
- package/fesm2015/universis-ngx-tables.mjs.map +1 -0
- package/fesm2020/universis-ngx-tables.mjs +5609 -0
- package/fesm2020/universis-ngx-tables.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/actions/table.actions.d.ts +4 -4
- package/lib/components/add-items/add-items.component.d.ts +5 -5
- package/lib/components/advanced-aggregator/advanced-aggregator.component.d.ts +10 -4
- package/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.d.ts +4 -1
- package/lib/components/advanced-list/advanced-list.component.d.ts +6 -3
- package/lib/components/advanced-row-action/advanced-row-action.component.d.ts +9 -7
- package/lib/components/advanced-search-form/advanced-search-form.component.d.ts +4 -1
- package/lib/components/advanced-select/advanced-select.component.d.ts +3 -1
- package/lib/components/advanced-select/advanced-select.service.d.ts +3 -0
- package/lib/components/advanced-table/advanced-filter-value-provider.service.d.ts +3 -0
- package/lib/components/advanced-table/advanced-table-resolvers.d.ts +5 -0
- package/lib/components/advanced-table/advanced-table-search-base.d.ts +6 -2
- package/lib/components/advanced-table/advanced-table-search.component.d.ts +6 -2
- package/lib/components/advanced-table/advanced-table-settings.component.d.ts +3 -0
- package/lib/components/advanced-table/advanced-table.component.d.ts +21 -12
- package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +4 -1
- package/lib/components/column-selector/column-selector.component.d.ts +5 -2
- package/lib/components/column-selector/column-selector.service.d.ts +3 -0
- package/lib/components/table-simple-header/table-simple-header.component.d.ts +5 -0
- package/lib/directives/advance-search-state.directive.d.ts +3 -0
- package/lib/directives/advance-table-state.directive.d.ts +3 -0
- package/lib/directives/advanced-search-router-state.directive.d.ts +3 -0
- package/lib/directives/advanced-table-editor.directive.d.ts +4 -1
- package/lib/directives/btnexp.directive.d.ts +3 -0
- package/lib/i18n/tables.el.d.ts +107 -107
- package/lib/i18n/tables.en.d.ts +106 -106
- package/lib/pipes/advanced-aggregator.pipe.d.ts +4 -1
- package/lib/pipes/advansed-aggregator-list-title-parse.pipe.d.ts +4 -1
- package/lib/reducers/index.d.ts +5 -3
- package/lib/services/advanced-aggregator/advanced-aggregator.service.d.ts +3 -0
- package/lib/tables.activated-table.service.d.ts +5 -1
- package/lib/tables.module.d.ts +36 -0
- package/package.json +44 -42
- package/public_api.d.ts +3 -0
- package/bundles/universis-ngx-tables.umd.js +0 -8161
- package/bundles/universis-ngx-tables.umd.js.map +0 -1
- package/bundles/universis-ngx-tables.umd.min.js +0 -2
- package/bundles/universis-ngx-tables.umd.min.js.map +0 -1
- package/esm2015/lib/actions/table.actions.js +0 -69
- package/esm2015/lib/advanced-aggregator.js +0 -6
- package/esm2015/lib/components/add-items/add-items.component.js +0 -209
- package/esm2015/lib/components/advanced-aggregator/advanced-aggregator.component.js +0 -190
- package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +0 -80
- package/esm2015/lib/components/advanced-list/advanced-list.component.js +0 -245
- package/esm2015/lib/components/advanced-row-action/advanced-row-action.component.js +0 -265
- package/esm2015/lib/components/advanced-search-form/advanced-search-form.component.js +0 -213
- package/esm2015/lib/components/advanced-select/advanced-select.component.js +0 -97
- package/esm2015/lib/components/advanced-select/advanced-select.service.js +0 -57
- package/esm2015/lib/components/advanced-table/advanced-filter-value-provider.service.js +0 -58
- package/esm2015/lib/components/advanced-table/advanced-table-resolvers.js +0 -72
- package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +0 -49
- package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +0 -718
- package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +0 -191
- package/esm2015/lib/components/advanced-table/advanced-table.component.js +0 -1973
- package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +0 -53
- package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +0 -642
- package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +0 -6
- package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +0 -553
- package/esm2015/lib/components/column-selector/column-selector.component.js +0 -296
- package/esm2015/lib/components/column-selector/column-selector.service.js +0 -64
- package/esm2015/lib/components/table-simple-header/table-simple-header.component.js +0 -76
- package/esm2015/lib/directives/advance-search-state.directive.js +0 -147
- package/esm2015/lib/directives/advance-table-state.directive.js +0 -86
- package/esm2015/lib/directives/advanced-search-router-state.directive.js +0 -90
- package/esm2015/lib/directives/advanced-table-editor.directive.js +0 -186
- package/esm2015/lib/directives/btnexp.directive.js +0 -272
- package/esm2015/lib/i18n/tables.el.js +0 -133
- package/esm2015/lib/i18n/tables.en.js +0 -132
- package/esm2015/lib/pipes/advanced-aggregator.pipe.js +0 -39
- package/esm2015/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +0 -58
- package/esm2015/lib/reducers/index.js +0 -63
- package/esm2015/lib/services/advanced-aggregator/advanced-aggregator.service.js +0 -142
- package/esm2015/lib/tables.activated-table.service.js +0 -85
- package/esm2015/lib/tables.module.js +0 -163
- package/esm2015/public_api.js +0 -37
- package/esm2015/universis-ngx-tables.js +0 -13
- package/esm5/lib/actions/table.actions.js +0 -64
- package/esm5/lib/advanced-aggregator.js +0 -6
- package/esm5/lib/components/add-items/add-items.component.js +0 -243
- package/esm5/lib/components/advanced-aggregator/advanced-aggregator.component.js +0 -265
- package/esm5/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +0 -99
- package/esm5/lib/components/advanced-list/advanced-list.component.js +0 -273
- package/esm5/lib/components/advanced-row-action/advanced-row-action.component.js +0 -288
- package/esm5/lib/components/advanced-search-form/advanced-search-form.component.js +0 -232
- package/esm5/lib/components/advanced-select/advanced-select.component.js +0 -103
- package/esm5/lib/components/advanced-select/advanced-select.service.js +0 -61
- package/esm5/lib/components/advanced-table/advanced-filter-value-provider.service.js +0 -82
- package/esm5/lib/components/advanced-table/advanced-table-resolvers.js +0 -80
- package/esm5/lib/components/advanced-table/advanced-table-search-base.js +0 -59
- package/esm5/lib/components/advanced-table/advanced-table-search.component.js +0 -828
- package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +0 -212
- package/esm5/lib/components/advanced-table/advanced-table.component.js +0 -2145
- package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +0 -53
- package/esm5/lib/components/advanced-table/advanced-table.formatters.js +0 -815
- package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +0 -6
- package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +0 -555
- package/esm5/lib/components/column-selector/column-selector.component.js +0 -389
- package/esm5/lib/components/column-selector/column-selector.service.js +0 -68
- package/esm5/lib/components/table-simple-header/table-simple-header.component.js +0 -92
- package/esm5/lib/directives/advance-search-state.directive.js +0 -169
- package/esm5/lib/directives/advance-table-state.directive.js +0 -87
- package/esm5/lib/directives/advanced-search-router-state.directive.js +0 -98
- package/esm5/lib/directives/advanced-table-editor.directive.js +0 -244
- package/esm5/lib/directives/btnexp.directive.js +0 -389
- package/esm5/lib/i18n/tables.el.js +0 -133
- package/esm5/lib/i18n/tables.en.js +0 -132
- package/esm5/lib/pipes/advanced-aggregator.pipe.js +0 -65
- package/esm5/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +0 -75
- package/esm5/lib/reducers/index.js +0 -65
- package/esm5/lib/services/advanced-aggregator/advanced-aggregator.service.js +0 -196
- package/esm5/lib/tables.activated-table.service.js +0 -88
- package/esm5/lib/tables.module.js +0 -168
- package/esm5/public_api.js +0 -37
- package/esm5/universis-ngx-tables.js +0 -13
- package/fesm2015/universis-ngx-tables.js +0 -6745
- package/fesm2015/universis-ngx-tables.js.map +0 -1
- package/fesm5/universis-ngx-tables.js +0 -7837
- package/fesm5/universis-ngx-tables.js.map +0 -1
- package/universis-ngx-tables.d.ts +0 -8
- package/universis-ngx-tables.metadata.json +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Directive, Optional, Input, } from '@angular/core';
|
|
6
|
-
import { select, Store } from '@ngrx/store';
|
|
7
|
-
import { AdvancedTableComponent } from '../components/advanced-table/advanced-table.component';
|
|
8
|
-
import * as fromTables from '../reducers';
|
|
9
|
-
import { first } from 'rxjs/operators';
|
|
10
|
-
import { AppendState } from '../actions/table.actions';
|
|
11
|
-
// tslint:disable-next-line:directive-class-suffix
|
|
12
|
-
export class AdvancedTableState {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} table
|
|
15
|
-
* @param {?} store
|
|
16
|
-
*/
|
|
17
|
-
constructor(table, store) {
|
|
18
|
-
this.table = table;
|
|
19
|
-
this.store = store;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
if (this.store == null) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.table.stateSave = true;
|
|
29
|
-
this.table.stateLoadCallback = (settings, callback) => {
|
|
30
|
-
this.store.pipe(select(fromTables.selectTable, { id: /** @type {?} */ (this.tableState) }), first()).subscribe((state) => {
|
|
31
|
-
callback(state && state.table);
|
|
32
|
-
if (state && state.table && state.table.ColReorder) {
|
|
33
|
-
this.table.dataTable.colReorder.order(state.table.ColReorder, true);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
let firstDraw = true;
|
|
39
|
-
this.table.draw.subscribe(() => {
|
|
40
|
-
if (firstDraw === false) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (this.table.dataTable == null) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
firstDraw = false;
|
|
47
|
-
/** @type {?} */
|
|
48
|
-
const loadeStateSettings = this.table.dataTable.settings()[0];
|
|
49
|
-
/** @type {?} */
|
|
50
|
-
const scrollerSettings = loadeStateSettings.oSavedState &&
|
|
51
|
-
loadeStateSettings.oSavedState.scroller;
|
|
52
|
-
if (scrollerSettings && scrollerSettings.topRow) {
|
|
53
|
-
/** @type {?} */
|
|
54
|
-
const scroller = this.table.dataTable.scroller();
|
|
55
|
-
scroller.scrollToRow(scrollerSettings.topRow, true);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
this.table.stateSaveCallback = (settings, data) => {
|
|
59
|
-
this.store.dispatch(new AppendState(/** @type {?} */ (this.tableState), data));
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
AdvancedTableState.decorators = [
|
|
64
|
-
{ type: Directive, args: [{
|
|
65
|
-
// tslint:disable-next-line: directive-selector
|
|
66
|
-
selector: '[tableState]',
|
|
67
|
-
},] }
|
|
68
|
-
];
|
|
69
|
-
/** @nocollapse */
|
|
70
|
-
AdvancedTableState.ctorParameters = () => [
|
|
71
|
-
{ type: AdvancedTableComponent },
|
|
72
|
-
{ type: Store, decorators: [{ type: Optional }] }
|
|
73
|
-
];
|
|
74
|
-
AdvancedTableState.propDecorators = {
|
|
75
|
-
tableState: [{ type: Input }]
|
|
76
|
-
};
|
|
77
|
-
if (false) {
|
|
78
|
-
/** @type {?} */
|
|
79
|
-
AdvancedTableState.prototype.tableState;
|
|
80
|
-
/** @type {?} */
|
|
81
|
-
AdvancedTableState.prototype.table;
|
|
82
|
-
/** @type {?} */
|
|
83
|
-
AdvancedTableState.prototype.store;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hZHZhbmNlLXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEtBQUssVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZEO0FBT0EsTUFBTTs7Ozs7SUFJRixZQUFvQixLQUE2QixFQUN6QixLQUE0QjtRQURoQyxVQUFLLEdBQUwsS0FBSyxDQUF3QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUF1QjtLQUNuRDs7OztJQUNELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxvQkFBRSxJQUFJLENBQUMsVUFBb0IsQ0FBQSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNqSCxRQUFRLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDdkU7YUFDSixDQUFDLENBQUM7U0FDTixDQUFDOztRQUNGLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDckIsT0FBTzthQUNWO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQzlCLE9BQU87YUFDVjtZQUNELFNBQVMsR0FBRyxLQUFLLENBQUM7O1lBQ2xCLE1BQU0sa0JBQWtCLEdBU3BCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUN2QyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLFdBQVc7Z0JBQ25ELGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDNUMsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7O2dCQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksV0FBVyxtQkFBQyxJQUFJLENBQUMsVUFBb0IsR0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pFLENBQUM7S0FDTDs7O1lBeERKLFNBQVMsU0FDTjs7Z0JBRUksUUFBUSxFQUFFLGNBQWM7YUFDM0I7Ozs7WUFUSSxzQkFBc0I7WUFGZCxLQUFLLHVCQW1CYixRQUFROzs7eUJBSFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLCBPcHRpb25hbCwgSW5wdXQsIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTmd4VGFibGVzU3RhdGUgfSBmcm9tICcuLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgZnJvbVRhYmxlcyBmcm9tICcuLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcGVuZFN0YXRlIH0gZnJvbSAnLi4vYWN0aW9ucy90YWJsZS5hY3Rpb25zJztcblxuQERpcmVjdGl2ZShcbiAgICB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgICAgIHNlbGVjdG9yOiAnW3RhYmxlU3RhdGVdJyxcbiAgICB9LFxuKVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZFRhYmxlU3RhdGUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgdGFibGVTdGF0ZT86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFibGU6IEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc3RvcmU6IFN0b3JlPE5neFRhYmxlc1N0YXRlPikge1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RvcmUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFibGUuc3RhdGVTYXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50YWJsZS5zdGF0ZUxvYWRDYWxsYmFjayA9IChzZXR0aW5ncywgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVRhYmxlcy5zZWxlY3RUYWJsZSwgeyBpZDogdGhpcy50YWJsZVN0YXRlIGFzIHN0cmluZyB9KSwgZmlyc3QoKSkuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soc3RhdGUgJiYgc3RhdGUudGFibGUpO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS50YWJsZSAmJiBzdGF0ZS50YWJsZS5Db2xSZW9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVRhYmxlLmNvbFJlb3JkZXIub3JkZXIoc3RhdGUudGFibGUuQ29sUmVvcmRlciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCBmaXJzdERyYXcgPSB0cnVlO1xuICAgICAgICB0aGlzLnRhYmxlLmRyYXcuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChmaXJzdERyYXcgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuZGF0YVRhYmxlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaXJzdERyYXcgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRlU3RhdGVTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIG9TYXZlZFN0YXRlPzoge1xuICAgICAgICAgICAgICAgICAgICBDb2xSZW9yZGVyPzogbnVtYmVyW107XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BSb3c6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VTY3JvbGxUb3A6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VSb3dUb3A6IG51bWJlclxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnNldHRpbmdzKClbMF07XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxlclNldHRpbmdzID0gbG9hZGVTdGF0ZVNldHRpbmdzLm9TYXZlZFN0YXRlICYmXG4gICAgICAgICAgICAgICAgbG9hZGVTdGF0ZVNldHRpbmdzLm9TYXZlZFN0YXRlLnNjcm9sbGVyO1xuICAgICAgICAgICAgaWYgKHNjcm9sbGVyU2V0dGluZ3MgJiYgc2Nyb2xsZXJTZXR0aW5ncy50b3BSb3cpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxlciA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnNjcm9sbGVyKCk7XG4gICAgICAgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9Sb3coc2Nyb2xsZXJTZXR0aW5ncy50b3BSb3csIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50YWJsZS5zdGF0ZVNhdmVDYWxsYmFjayA9IChzZXR0aW5ncywgZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQXBwZW5kU3RhdGUodGhpcy50YWJsZVN0YXRlIGFzIHN0cmluZywgZGF0YSkpO1xuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Directive, Optional } from '@angular/core';
|
|
6
|
-
import { NavigationEnd, NavigationStart, Router } from '@angular/router';
|
|
7
|
-
import { Store } from '@ngrx/store';
|
|
8
|
-
import { filter } from 'rxjs/operators';
|
|
9
|
-
import { AdvancedTableSearchComponent } from '../components/advanced-table/advanced-table-search.component';
|
|
10
|
-
import { AdvancedSearchState } from './advance-search-state.directive';
|
|
11
|
-
// tslint:disable-next-line:directive-class-suffix
|
|
12
|
-
export class AdvancedSearchRouterState extends AdvancedSearchState {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} search
|
|
15
|
-
* @param {?} store
|
|
16
|
-
* @param {?} _router
|
|
17
|
-
*/
|
|
18
|
-
constructor(search, store, _router) {
|
|
19
|
-
// call super constructor
|
|
20
|
-
super(search, store);
|
|
21
|
-
this.search = search;
|
|
22
|
-
this.store = store;
|
|
23
|
-
this._router = _router;
|
|
24
|
-
this._enteringState = true;
|
|
25
|
-
this._applyState = false;
|
|
26
|
-
// set search state dynamically according to route
|
|
27
|
-
this._routerSubscription = this._router.events
|
|
28
|
-
.pipe(filter((event) => event instanceof NavigationStart || event instanceof NavigationEnd))
|
|
29
|
-
.subscribe((event) => {
|
|
30
|
-
// capture urls regarding tab changing while the component is active
|
|
31
|
-
if (event instanceof NavigationStart && !this._enteringState) {
|
|
32
|
-
// set search state
|
|
33
|
-
this.searchState = event.url;
|
|
34
|
-
// toogle applyState
|
|
35
|
-
this._applyState = true;
|
|
36
|
-
}
|
|
37
|
-
// capture url of the first activation of the component (e.g. coming from another route)
|
|
38
|
-
if (event instanceof NavigationEnd && this._enteringState) {
|
|
39
|
-
// set search state
|
|
40
|
-
this.searchState = event.urlAfterRedirects;
|
|
41
|
-
// toggle enteringState
|
|
42
|
-
this._enteringState = false;
|
|
43
|
-
}
|
|
44
|
-
if (this._applyState) {
|
|
45
|
-
// apply new table state
|
|
46
|
-
super.applyTableState();
|
|
47
|
-
this._applyState = false;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
ngOnDestroy() {
|
|
55
|
-
// destroy own subscriptions
|
|
56
|
-
if (this._routerSubscription) {
|
|
57
|
-
this._routerSubscription.unsubscribe();
|
|
58
|
-
}
|
|
59
|
-
// destroy parent subscriptions
|
|
60
|
-
return super.ngOnDestroy();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
AdvancedSearchRouterState.decorators = [
|
|
64
|
-
{ type: Directive, args: [{
|
|
65
|
-
// tslint:disable-next-line: directive-selector
|
|
66
|
-
selector: '[routerSearchState]'
|
|
67
|
-
},] }
|
|
68
|
-
];
|
|
69
|
-
/** @nocollapse */
|
|
70
|
-
AdvancedSearchRouterState.ctorParameters = () => [
|
|
71
|
-
{ type: AdvancedTableSearchComponent },
|
|
72
|
-
{ type: Store, decorators: [{ type: Optional }] },
|
|
73
|
-
{ type: Router }
|
|
74
|
-
];
|
|
75
|
-
if (false) {
|
|
76
|
-
/** @type {?} */
|
|
77
|
-
AdvancedSearchRouterState.prototype._routerSubscription;
|
|
78
|
-
/** @type {?} */
|
|
79
|
-
AdvancedSearchRouterState.prototype._enteringState;
|
|
80
|
-
/** @type {?} */
|
|
81
|
-
AdvancedSearchRouterState.prototype._applyState;
|
|
82
|
-
/** @type {?} */
|
|
83
|
-
AdvancedSearchRouterState.prototype.search;
|
|
84
|
-
/** @type {?} */
|
|
85
|
-
AdvancedSearchRouterState.prototype.store;
|
|
86
|
-
/** @type {?} */
|
|
87
|
-
AdvancedSearchRouterState.prototype._router;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLXJvdXRlci1zdGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hZHZhbmNlZC1zZWFyY2gtcm91dGVyLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTVHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFO0FBS0EsTUFBTSxnQ0FBaUMsU0FBUSxtQkFBbUI7Ozs7OztJQUtoRSxZQUNZLE1BQW9DLEVBQ3hCLEtBQTRCLEVBQ2pDOztRQUdqQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTFgsV0FBTSxHQUFOLE1BQU0sQ0FBOEI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDakMsWUFBTyxHQUFQLE9BQU87OEJBTkQsSUFBSTsyQkFDUCxLQUFLOztRQVV6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLElBQUksS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQzNGLFNBQVMsQ0FBQyxDQUFDLEtBQXNDLEVBQUUsRUFBRTs7WUFFcEQsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTs7Z0JBRTVELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7Z0JBRTdCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCOztZQUVELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFOztnQkFFekQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7O2dCQUUzQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzthQUM3QjtZQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTs7Z0JBRXBCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDMUI7U0FDRixDQUFDLENBQUM7S0FDTjs7OztJQUVELFdBQVc7O1FBRVQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3hDOztRQUVELE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQzVCOzs7WUFsREYsU0FBUyxTQUFDOztnQkFFVCxRQUFRLEVBQUUscUJBQXFCO2FBQ2hDOzs7O1lBUFEsNEJBQTRCO1lBSDVCLEtBQUssdUJBbUJULFFBQVE7WUFwQjRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4VGFibGVzU3RhdGUgfSBmcm9tICcuLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBBZHZhbmNlZFNlYXJjaFN0YXRlIH0gZnJvbSAnLi9hZHZhbmNlLXNlYXJjaC1zdGF0ZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcm91dGVyU2VhcmNoU3RhdGVdJ1xufSlcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgQWR2YW5jZWRTZWFyY2hSb3V0ZXJTdGF0ZSBleHRlbmRzIEFkdmFuY2VkU2VhcmNoU3RhdGUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9lbnRlcmluZ1N0YXRlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfYXBwbHlTdGF0ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzZWFyY2g6IEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnQsXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxOZ3hUYWJsZXNTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgLy8gY2FsbCBzdXBlciBjb25zdHJ1Y3RvclxuICAgIHN1cGVyKHNlYXJjaCwgc3RvcmUpO1xuICAgIC8vIHNldCBzZWFyY2ggc3RhdGUgZHluYW1pY2FsbHkgYWNjb3JkaW5nIHRvIHJvdXRlXG4gICAgdGhpcy5fcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQgfCBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIC8vIGNhcHR1cmUgdXJscyByZWdhcmRpbmcgdGFiIGNoYW5naW5nIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgYWN0aXZlXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiAhdGhpcy5fZW50ZXJpbmdTdGF0ZSkge1xuICAgICAgICAgIC8vIHNldCBzZWFyY2ggc3RhdGVcbiAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlID0gZXZlbnQudXJsO1xuICAgICAgICAgIC8vIHRvb2dsZSBhcHBseVN0YXRlXG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2FwdHVyZSB1cmwgb2YgdGhlIGZpcnN0IGFjdGl2YXRpb24gb2YgdGhlIGNvbXBvbmVudCAoZS5nLiBjb21pbmcgZnJvbSBhbm90aGVyIHJvdXRlKVxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIHRoaXMuX2VudGVyaW5nU3RhdGUpIHtcbiAgICAgICAgICAvLyBzZXQgc2VhcmNoIHN0YXRlXG4gICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZSA9IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzO1xuICAgICAgICAgIC8vIHRvZ2dsZSBlbnRlcmluZ1N0YXRlXG4gICAgICAgICAgdGhpcy5fZW50ZXJpbmdTdGF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9hcHBseVN0YXRlKSB7XG4gICAgICAgICAgLy8gYXBwbHkgbmV3IHRhYmxlIHN0YXRlXG4gICAgICAgICAgc3VwZXIuYXBwbHlUYWJsZVN0YXRlKCk7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIGRlc3Ryb3kgb3duIHN1YnNjcmlwdGlvbnNcbiAgICBpZiAodGhpcy5fcm91dGVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgLy8gZGVzdHJveSBwYXJlbnQgc3Vic2NyaXB0aW9uc1xuICAgIHJldHVybiBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Directive, Output, EventEmitter, } from '@angular/core';
|
|
6
|
-
import { AdvancedTableComponent } from '../components/advanced-table/advanced-table.component';
|
|
7
|
-
export class AdvancedTableNotNullError extends Error {
|
|
8
|
-
constructor() {
|
|
9
|
-
super('Advanced table component cannot be empty at this context.');
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export class AdvancedTableEditorDirective {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} table
|
|
15
|
-
*/
|
|
16
|
-
constructor(table) {
|
|
17
|
-
//
|
|
18
|
-
this.table = table;
|
|
19
|
-
this.dirty = false;
|
|
20
|
-
this.dirtyChange = new EventEmitter(false);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Add rows to table and mark them as added rows
|
|
24
|
-
* @param {...?} addItems
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
add(...addItems) {
|
|
28
|
-
if (this.table == null) {
|
|
29
|
-
throw new AdvancedTableNotNullError();
|
|
30
|
-
}
|
|
31
|
-
/** @type {?} */
|
|
32
|
-
const key = this.table.config.columns[0].property || this.table.config.columns[0].name || '';
|
|
33
|
-
for (const element of addItems) {
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
let tr = this.table.dataTable.rows(':has(input[data-id="' + element[key] + '"])').nodes().to$();
|
|
36
|
-
if (tr.hasClass('removed')) {
|
|
37
|
-
tr.toggleClass('removed text-gray-400 text-decoration-line-through');
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.table.dataTable.rows.add([element]);
|
|
41
|
-
tr = this.table.dataTable.rows(':has(input[data-id="' + element[key] + '"])').nodes().to$();
|
|
42
|
-
tr.toggleClass('added font-weight-bold text-success');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
this.table.dataTable.draw();
|
|
46
|
-
/** @type {?} */
|
|
47
|
-
const removedLength = this.table.dataTable.rows('.removed')[0].length;
|
|
48
|
-
/** @type {?} */
|
|
49
|
-
const addedLength = this.table.dataTable.rows('.added')[0].length;
|
|
50
|
-
/** @type {?} */
|
|
51
|
-
const items = this.table.dataTable.rows().data();
|
|
52
|
-
this.table.load.emit({
|
|
53
|
-
data: items,
|
|
54
|
-
recordsFiltered: items.length - removedLength,
|
|
55
|
-
recordsTotal: items.length - removedLength,
|
|
56
|
-
});
|
|
57
|
-
this.dirty = (removedLength > 0 || addedLength > 0);
|
|
58
|
-
this.dirtyChange.emit(this.dirty);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Marks rows as removed rows
|
|
62
|
-
* @param {...?} removeItems
|
|
63
|
-
* @return {?}
|
|
64
|
-
*/
|
|
65
|
-
remove(...removeItems) {
|
|
66
|
-
if (this.table == null) {
|
|
67
|
-
throw new AdvancedTableNotNullError();
|
|
68
|
-
}
|
|
69
|
-
/** @type {?} */
|
|
70
|
-
const key = this.table.config.columns[0].property || this.table.config.columns[0].name || '';
|
|
71
|
-
// loop items
|
|
72
|
-
for (const element of removeItems) {
|
|
73
|
-
/** @type {?} */
|
|
74
|
-
const tr = this.table.dataTable.rows(':has(input[data-id="' + element[key] + '"])').nodes().to$();
|
|
75
|
-
// if row is marked as added
|
|
76
|
-
if (tr.hasClass('added')) {
|
|
77
|
-
// remove this dirty row
|
|
78
|
-
this.table.dataTable.rows(tr).remove();
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// otherwise unmarked row
|
|
82
|
-
tr.toggleClass('removed text-gray-400 text-decoration-line-through');
|
|
83
|
-
}
|
|
84
|
-
/** @type {?} */
|
|
85
|
-
const selectedIndex = this.table.selected.findIndex((item) => {
|
|
86
|
-
return item[key] === element[key];
|
|
87
|
-
});
|
|
88
|
-
// and remove it from selected collection
|
|
89
|
-
if (selectedIndex >= 0) {
|
|
90
|
-
this.table.selected.splice(selectedIndex, 1);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// re-draw table
|
|
94
|
-
this.table.dataTable.draw();
|
|
95
|
-
/** @type {?} */
|
|
96
|
-
const items = this.table.dataTable.rows().data();
|
|
97
|
-
/** @type {?} */
|
|
98
|
-
const removedLength = this.table.dataTable.rows('.removed')[0].length;
|
|
99
|
-
/** @type {?} */
|
|
100
|
-
const addedLength = this.table.dataTable.rows('.added')[0].length;
|
|
101
|
-
// refresh
|
|
102
|
-
this.table.load.emit({
|
|
103
|
-
data: items,
|
|
104
|
-
recordsFiltered: items.length - removedLength,
|
|
105
|
-
recordsTotal: items.length - removedLength,
|
|
106
|
-
});
|
|
107
|
-
this.dirty = (removedLength > 0 || addedLength > 0);
|
|
108
|
-
this.dirtyChange.emit(this.dirty);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* @param {?} items
|
|
112
|
-
* @return {?}
|
|
113
|
-
*/
|
|
114
|
-
set(items) {
|
|
115
|
-
if (this.table == null) {
|
|
116
|
-
throw new AdvancedTableNotNullError();
|
|
117
|
-
}
|
|
118
|
-
// clear rows
|
|
119
|
-
this.table.selected = [];
|
|
120
|
-
this.table.dataTable.clear();
|
|
121
|
-
// set items
|
|
122
|
-
this.table.dataTable.rows.add(items).draw();
|
|
123
|
-
this.table.load.emit({
|
|
124
|
-
data: items,
|
|
125
|
-
recordsFiltered: items.length,
|
|
126
|
-
recordsTotal: items.length,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Undo changes
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
undo() {
|
|
134
|
-
if (this.table == null) {
|
|
135
|
-
throw new AdvancedTableNotNullError();
|
|
136
|
-
}
|
|
137
|
-
// reset removed rows
|
|
138
|
-
this.table.dataTable.rows('.removed').nodes().to$().toggleClass('removed text-gray-400 text-decoration-line-through');
|
|
139
|
-
// remove added rows
|
|
140
|
-
this.table.dataTable.rows('.added').remove();
|
|
141
|
-
// clear selected items
|
|
142
|
-
this.table.selected = [];
|
|
143
|
-
/** @type {?} */
|
|
144
|
-
const items = this.table.dataTable.rows().data();
|
|
145
|
-
this.table.dataTable.draw();
|
|
146
|
-
this.table.load.emit({
|
|
147
|
-
data: items,
|
|
148
|
-
recordsFiltered: items.length,
|
|
149
|
-
recordsTotal: items.length,
|
|
150
|
-
});
|
|
151
|
-
this.dirty = false;
|
|
152
|
-
this.dirtyChange.emit(this.dirty);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* @return {?}
|
|
156
|
-
*/
|
|
157
|
-
rows() {
|
|
158
|
-
if (this.table == null) {
|
|
159
|
-
throw new AdvancedTableNotNullError();
|
|
160
|
-
}
|
|
161
|
-
return Array.from(this.table.dataTable.rows(':not(.removed)').data());
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
AdvancedTableEditorDirective.decorators = [
|
|
165
|
-
{ type: Directive, args: [{
|
|
166
|
-
// tslint:disable-next-line: directive-selector
|
|
167
|
-
selector: '[tableEditor]',
|
|
168
|
-
},] }
|
|
169
|
-
];
|
|
170
|
-
/** @nocollapse */
|
|
171
|
-
AdvancedTableEditorDirective.ctorParameters = () => [
|
|
172
|
-
{ type: AdvancedTableComponent }
|
|
173
|
-
];
|
|
174
|
-
AdvancedTableEditorDirective.propDecorators = {
|
|
175
|
-
dirtyChange: [{ type: Output }]
|
|
176
|
-
};
|
|
177
|
-
if (false) {
|
|
178
|
-
/** @type {?} */
|
|
179
|
-
AdvancedTableEditorDirective.prototype.dirty;
|
|
180
|
-
/** @type {?} */
|
|
181
|
-
AdvancedTableEditorDirective.prototype.dirtyChange;
|
|
182
|
-
/** @type {?} */
|
|
183
|
-
AdvancedTableEditorDirective.prototype.table;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtdGFibGUtZWRpdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2FkdmFuY2VkLXRhYmxlLWVkaXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksR0FDaEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFL0YsTUFBTSxnQ0FBaUMsU0FBUSxLQUFLO0lBQ2xEO1FBQ0UsS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7S0FDcEU7Q0FDRjtBQVFELE1BQU07Ozs7SUFLSixZQUFvQixLQUE2Qjs7UUFBN0IsVUFBSyxHQUFMLEtBQUssQ0FBd0I7cUJBSGxDLEtBQUs7MkJBQ2tDLElBQUksWUFBWSxDQUFVLEtBQUssQ0FBQztLQUlyRjs7Ozs7O0lBS00sR0FBRyxDQUFDLEdBQUcsUUFBZTtRQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1NBQ3ZDOztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7O1lBQzlCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENB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QUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7OztJQUc3QixJQUFJO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0QixNQUFNLElBQUkseUJBQXlCLEVBQUUsQ0FBQztTQUN2QztRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzs7O1lBN0l6RSxTQUFTLFNBQ1Q7O2dCQUVFLFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7O1lBWk8sc0JBQXNCOzs7MEJBaUI1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUYWJsZU5vdE51bGxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0FkdmFuY2VkIHRhYmxlIGNvbXBvbmVudCBjYW5ub3QgYmUgZW1wdHkgYXQgdGhpcyBjb250ZXh0LicpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoXG4ge1xuICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgIHNlbGVjdG9yOiAnW3RhYmxlRWRpdG9yXScsXG4gfSxcbilcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZFRhYmxlRWRpdG9yRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgZGlydHkgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHB1YmxpYyBkaXJ0eUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YWJsZTogQWR2YW5jZWRUYWJsZUNvbXBvbmVudCkge1xuICAgIC8vXG4gIH1cblxuICAvKipcbiAgICogQWRkIHJvd3MgdG8gdGFibGUgYW5kIG1hcmsgdGhlbSBhcyBhZGRlZCByb3dzXG4gICAqL1xuICBwdWJsaWMgYWRkKC4uLmFkZEl0ZW1zOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLnRhYmxlID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBBZHZhbmNlZFRhYmxlTm90TnVsbEVycm9yKCk7XG4gICAgfVxuICAgIC8vIGRlY29yYXRlIGl0ZW1zXG4gICAgY29uc3Qga2V5ID0gdGhpcy50YWJsZS5jb25maWcuY29sdW1uc1swXS5wcm9wZXJ0eSB8fCB0aGlzLnRhYmxlLmNvbmZpZy5jb2x1bW5zWzBdLm5hbWUgfHwgJyc7XG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGFkZEl0ZW1zKSB7XG4gICAgICBsZXQgdHIgPSB0aGlzLnRhYmxlLmRhdGFUYWJsZS5yb3dzKCc6aGFzKGlucHV0W2RhdGEtaWQ9XCInICsgZWxlbWVudFtrZXldICsgJ1wiXSknKS5ub2RlcygpLnRvJCgpO1xuICAgICAgaWYgKHRyLmhhc0NsYXNzKCdyZW1vdmVkJykpIHtcbiAgICAgICAgdHIudG9nZ2xlQ2xhc3MoJ3JlbW92ZWQgdGV4dC1ncmF5LTQwMCB0ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhYmxlLmRhdGFUYWJsZS5yb3dzLmFkZChbZWxlbWVudF0pO1xuICAgICAgICB0ciA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MoJzpoYXMoaW5wdXRbZGF0YS1pZD1cIicgKyBlbGVtZW50W2tleV0gKyAnXCJdKScpLm5vZGVzKCkudG8kKCk7XG4gICAgICAgIHRyLnRvZ2dsZUNsYXNzKCdhZGRlZCBmb250LXdlaWdodC1ib2xkIHRleHQtc3VjY2VzcycpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRhYmxlLmRhdGFUYWJsZS5kcmF3KCk7XG4gICAgLy8gZmluZCByZW1vdmVkXG4gICAgY29uc3QgcmVtb3ZlZExlbmd0aCA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MoJy5yZW1vdmVkJylbMF0ubGVuZ3RoO1xuICAgIC8vIGZpbmQgYWRkZWRcbiAgICBjb25zdCBhZGRlZExlbmd0aCA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MoJy5hZGRlZCcpWzBdLmxlbmd0aDtcbiAgICAvLyBhbmQgZW1pdCBldmVudFxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy50YWJsZS5kYXRhVGFibGUucm93cygpLmRhdGEoKTtcbiAgICB0aGlzLnRhYmxlLmxvYWQuZW1pdCh7XG4gICAgICBkYXRhOiBpdGVtcyxcbiAgICAgIHJlY29yZHNGaWx0ZXJlZDogaXRlbXMubGVuZ3RoIC0gcmVtb3ZlZExlbmd0aCxcbiAgICAgIHJlY29yZHNUb3RhbDogaXRlbXMubGVuZ3RoIC0gcmVtb3ZlZExlbmd0aCxcbiAgICB9KTtcbiAgICB0aGlzLmRpcnR5ID0gKHJlbW92ZWRMZW5ndGggPiAwIHx8IGFkZGVkTGVuZ3RoID4gMCk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZS5lbWl0KHRoaXMuZGlydHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcmtzIHJvd3MgYXMgcmVtb3ZlZCByb3dzXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlKC4uLnJlbW92ZUl0ZW1zOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLnRhYmxlID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBBZHZhbmNlZFRhYmxlTm90TnVsbEVycm9yKCk7XG4gICAgfVxuICAgIC8vIGdldCBrZXlcbiAgICBjb25zdCBrZXkgPSB0aGlzLnRhYmxlLmNvbmZpZy5jb2x1bW5zWzBdLnByb3BlcnR5IHx8IHRoaXMudGFibGUuY29uZmlnLmNvbHVtbnNbMF0ubmFtZSB8fCAnJztcbiAgICAvLyBsb29wIGl0ZW1zXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHJlbW92ZUl0ZW1zKSB7XG4gICAgICAgIGNvbnN0IHRyID0gdGhpcy50YWJsZS5kYXRhVGFibGUucm93cygnOmhhcyhpbnB1dFtkYXRhLWlkPVwiJyArIGVsZW1lbnRba2V5XSArICdcIl0pJykubm9kZXMoKS50byQoKTtcbiAgICAgICAgLy8gaWYgcm93IGlzIG1hcmtlZCBhcyBhZGRlZFxuICAgICAgICBpZiAodHIuaGFzQ2xhc3MoJ2FkZGVkJykpIHtcbiAgICAgICAgICAvLyByZW1vdmUgdGhpcyBkaXJ0eSByb3dcbiAgICAgICAgICB0aGlzLnRhYmxlLmRhdGFUYWJsZS5yb3dzKHRyKS5yZW1vdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UgdW5tYXJrZWQgcm93XG4gICAgICAgICAgdHIudG9nZ2xlQ2xhc3MoJ3JlbW92ZWQgdGV4dC1ncmF5LTQwMCB0ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgaWYgaXRlbSBpcyBzZWxlY3RlZFxuICAgICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdGhpcy50YWJsZS5zZWxlY3RlZC5maW5kSW5kZXgoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbVtrZXldID09PSBlbGVtZW50W2tleV07XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBhbmQgcmVtb3ZlIGl0IGZyb20gc2VsZWN0ZWQgY29sbGVjdGlvblxuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgdGhpcy50YWJsZS5zZWxlY3RlZC5zcGxpY2Uoc2VsZWN0ZWRJbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHJlLWRyYXcgdGFibGVcbiAgICB0aGlzLnRhYmxlLmRhdGFUYWJsZS5kcmF3KCk7XG4gICAgICAvLyBnZXQgbnVtYmVyIG9mIHRhYmxlIGl0ZW1zXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnRhYmxlLmRhdGFUYWJsZS5yb3dzKCkuZGF0YSgpO1xuICAgICAgLy8gZ2V0IG51bWJlciBvZiByZW1vdmVkIGl0ZW1zXG4gICAgY29uc3QgcmVtb3ZlZExlbmd0aCA9IHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MoJy5yZW1vdmVkJylbMF0ubGVuZ3RoO1xuICAgICAgLy8gZ2V0IG51bWJlciBvZiBhZGRlZCBpdGVtc1xuICAgIGNvbnN0IGFkZGVkTGVuZ3RoID0gdGhpcy50YWJsZS5kYXRhVGFibGUucm93cygnLmFkZGVkJylbMF0ubGVuZ3RoO1xuICAgICAgLy8gcmVmcmVzaFxuICAgIHRoaXMudGFibGUubG9hZC5lbWl0KHtcbiAgICAgICAgZGF0YTogaXRlbXMsXG4gICAgICAgIHJlY29yZHNGaWx0ZXJlZDogaXRlbXMubGVuZ3RoIC0gcmVtb3ZlZExlbmd0aCxcbiAgICAgICAgcmVjb3Jkc1RvdGFsOiBpdGVtcy5sZW5ndGggLSByZW1vdmVkTGVuZ3RoLFxuICAgICAgfSk7XG4gICAgdGhpcy5kaXJ0eSA9IChyZW1vdmVkTGVuZ3RoID4gMCB8fCBhZGRlZExlbmd0aCA+IDApO1xuICAgIHRoaXMuZGlydHlDaGFuZ2UuZW1pdCh0aGlzLmRpcnR5KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQoaXRlbXM6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMudGFibGUgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEFkdmFuY2VkVGFibGVOb3ROdWxsRXJyb3IoKTtcbiAgICB9XG4gICAgLy8gY2xlYXIgcm93c1xuICAgIHRoaXMudGFibGUuc2VsZWN0ZWQgPSBbXTtcbiAgICB0aGlzLnRhYmxlLmRhdGFUYWJsZS5jbGVhcigpO1xuICAgIC8vIHNldCBpdGVtc1xuICAgIHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MuYWRkKGl0ZW1zKS5kcmF3KCk7XG4gICAgdGhpcy50YWJsZS5sb2FkLmVtaXQoe1xuICAgICAgZGF0YTogaXRlbXMsXG4gICAgICByZWNvcmRzRmlsdGVyZWQ6IGl0ZW1zLmxlbmd0aCxcbiAgICAgIHJlY29yZHNUb3RhbDogaXRlbXMubGVuZ3RoLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuZG8gY2hhbmdlc1xuICAgKi9cbiAgcHVibGljIHVuZG8oKSB7XG4gICAgaWYgKHRoaXMudGFibGUgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEFkdmFuY2VkVGFibGVOb3ROdWxsRXJyb3IoKTtcbiAgICB9XG4gICAgLy8gcmVzZXQgcmVtb3ZlZCByb3dzXG4gICAgdGhpcy50YWJsZS5kYXRhVGFibGUucm93cygnLnJlbW92ZWQnKS5ub2RlcygpLnRvJCgpLnRvZ2dsZUNsYXNzKCdyZW1vdmVkIHRleHQtZ3JheS00MDAgdGV4dC1kZWNvcmF0aW9uLWxpbmUtdGhyb3VnaCcpO1xuICAgIC8vIHJlbW92ZSBhZGRlZCByb3dzXG4gICAgdGhpcy50YWJsZS5kYXRhVGFibGUucm93cygnLmFkZGVkJykucmVtb3ZlKCk7XG4gICAgLy8gY2xlYXIgc2VsZWN0ZWQgaXRlbXNcbiAgICB0aGlzLnRhYmxlLnNlbGVjdGVkID0gW107XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnRhYmxlLmRhdGFUYWJsZS5yb3dzKCkuZGF0YSgpO1xuICAgIHRoaXMudGFibGUuZGF0YVRhYmxlLmRyYXcoKTtcbiAgICB0aGlzLnRhYmxlLmxvYWQuZW1pdCh7XG4gICAgICBkYXRhOiBpdGVtcyxcbiAgICAgIHJlY29yZHNGaWx0ZXJlZDogaXRlbXMubGVuZ3RoLFxuICAgICAgcmVjb3Jkc1RvdGFsOiBpdGVtcy5sZW5ndGgsXG4gICAgfSk7XG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgIHRoaXMuZGlydHlDaGFuZ2UuZW1pdCh0aGlzLmRpcnR5KTtcbiAgfVxuXG4gIHB1YmxpYyByb3dzKCkge1xuICAgIGlmICh0aGlzLnRhYmxlID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBBZHZhbmNlZFRhYmxlTm90TnVsbEVycm9yKCk7XG4gICAgfVxuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMudGFibGUuZGF0YVRhYmxlLnJvd3MoJzpub3QoLnJlbW92ZWQpJykuZGF0YSgpKTtcbiAgfVxuXG59XG4iXX0=
|