@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
|
@@ -17,7 +17,10 @@ var AdvancedTableState = /** @class */ (function () {
|
|
|
17
17
|
this.table.stateSave = true;
|
|
18
18
|
this.table.stateLoadCallback = function (settings, callback) {
|
|
19
19
|
_this.store.pipe(select(fromTables.selectTable, { id: _this.tableState }), first()).subscribe(function (state) {
|
|
20
|
-
|
|
20
|
+
callback(state && state.table);
|
|
21
|
+
if (state && state.table && state.table.ColReorder) {
|
|
22
|
+
_this.table.dataTable.colReorder.order(state.table.ColReorder, true);
|
|
23
|
+
}
|
|
21
24
|
});
|
|
22
25
|
};
|
|
23
26
|
var firstDraw = true;
|
|
@@ -59,4 +62,4 @@ var AdvancedTableState = /** @class */ (function () {
|
|
|
59
62
|
}());
|
|
60
63
|
export { AdvancedTableState };
|
|
61
64
|
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hZHZhbmNlLXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEdBQzdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQy9GLE9BQU8sS0FBSyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQ7SUFVSSw0QkFBb0IsS0FBNkIsRUFDekIsS0FBNEI7UUFEaEMsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7SUFFcEQsQ0FBQztJQUNELHFDQUFRLEdBQVI7UUFBQSxpQkEwQ0M7UUF6Q0csSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxVQUFDLFFBQVEsRUFBRSxRQUFRO1lBQzlDLEtBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsS0FBVTtnQkFDbkcsUUFBUSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7b0JBQ2hELEtBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3ZFO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3RCLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDckIsT0FBTzthQUNWO1lBQ0QsSUFBSSxLQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQzlCLE9BQU87YUFDVjtZQUNELFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBTSxrQkFBa0IsR0FTcEIsS0FBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXO2dCQUNuRCxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzVDLElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO2dCQUM3QyxJQUFNLFFBQVEsR0FBRyxLQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsVUFBQyxRQUFRLEVBQUUsSUFBSTtZQUMxQyxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFBO0lBQ0wsQ0FBQzs7Z0JBeERKLFNBQVMsU0FDTjtvQkFDSSwrQ0FBK0M7b0JBQy9DLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjs7OztnQkFWSSxzQkFBc0I7Z0JBRmQsS0FBSyx1QkFtQmIsUUFBUTs7OzZCQUhaLEtBQUs7O0lBaURWLHlCQUFDO0NBQUEsQUF6REQsSUF5REM7U0FuRFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIE9wdGlvbmFsLCBJbnB1dCwgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBOZ3hUYWJsZXNTdGF0ZSB9IGZyb20gJy4uL3JlZHVjZXJzJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBmcm9tVGFibGVzIGZyb20gJy4uL3JlZHVjZXJzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwZW5kU3RhdGUgfSBmcm9tICcuLi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCB2YWx1ZXMgfSBmcm9tICdsb2Rhc2gnO1xuXG5ARGlyZWN0aXZlKFxuICAgIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICAgICAgc2VsZWN0b3I6ICdbdGFibGVTdGF0ZV0nLFxuICAgIH0sXG4pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUYWJsZVN0YXRlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIHRhYmxlU3RhdGU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFibGU6IEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc3RvcmU6IFN0b3JlPE5neFRhYmxlc1N0YXRlPikge1xuICAgICAgICBcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYmxlLnN0YXRlU2F2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMudGFibGUuc3RhdGVMb2FkQ2FsbGJhY2sgPSAoc2V0dGluZ3MsIGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21UYWJsZXMuc2VsZWN0VGFibGUsIHsgaWQ6IHRoaXMudGFibGVTdGF0ZSB9KSwgZmlyc3QoKSkuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soc3RhdGUgJiYgc3RhdGUudGFibGUpO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS50YWJsZSAmJiBzdGF0ZS50YWJsZS5Db2xSZW9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVRhYmxlLmNvbFJlb3JkZXIub3JkZXIoc3RhdGUudGFibGUuQ29sUmVvcmRlciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZpcnN0RHJhdyA9IHRydWU7XG4gICAgICAgIHRoaXMudGFibGUuZHJhdy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpcnN0RHJhdyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5kYXRhVGFibGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0RHJhdyA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbG9hZGVTdGF0ZVNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgb1NhdmVkU3RhdGU/OiB7XG4gICAgICAgICAgICAgICAgICAgIENvbFJlb3JkZXI/OiBudW1iZXJbXTtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcFJvdzogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVNjcm9sbFRvcDogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVJvd1RvcDogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ID0gdGhpcy50YWJsZS5kYXRhVGFibGUuc2V0dGluZ3MoKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyU2V0dGluZ3MgPSBsb2FkZVN0YXRlU2V0dGluZ3Mub1NhdmVkU3RhdGUgJiZcbiAgICAgICAgICAgICAgICBsb2FkZVN0YXRlU2V0dGluZ3Mub1NhdmVkU3RhdGUuc2Nyb2xsZXI7XG4gICAgICAgICAgICBpZiAoc2Nyb2xsZXJTZXR0aW5ncyAmJiBzY3JvbGxlclNldHRpbmdzLnRvcFJvdykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyID0gdGhpcy50YWJsZS5kYXRhVGFibGUuc2Nyb2xsZXIoKTtcbiAgICAgICAgICAgICAgICBzY3JvbGxlci5zY3JvbGxUb1JvdyhzY3JvbGxlclNldHRpbmdzLnRvcFJvdywgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYmxlLnN0YXRlU2F2ZUNhbGxiYWNrID0gKHNldHRpbmdzLCBkYXRhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBcHBlbmRTdGF0ZSh0aGlzLnRhYmxlU3RhdGUsIGRhdGEpKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
|
|
@@ -1,5 +1,7 @@
|
|
|
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
|
var ActivatedTableService = /** @class */ (function () {
|
|
@@ -7,10 +9,20 @@ var ActivatedTableService = /** @class */ (function () {
|
|
|
7
9
|
var _this = this;
|
|
8
10
|
this._router = _router;
|
|
9
11
|
this._activatedRoute = _activatedRoute;
|
|
12
|
+
/**
|
|
13
|
+
* Get the last table that was set as active
|
|
14
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
15
|
+
*/
|
|
16
|
+
this.lastActiveTable = new BehaviorSubject(null);
|
|
17
|
+
/**
|
|
18
|
+
* Omit the last emitted value to observe only new active table changes
|
|
19
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
20
|
+
*/
|
|
21
|
+
this.nextActiveTable = this.lastActiveTable.pipe(skip(1));
|
|
10
22
|
_router.events.forEach(function (event) {
|
|
11
23
|
if (event instanceof NavigationStart) {
|
|
12
24
|
if (_this._activeTable) {
|
|
13
|
-
_this.
|
|
25
|
+
_this.activeTable = null;
|
|
14
26
|
}
|
|
15
27
|
}
|
|
16
28
|
});
|
|
@@ -21,6 +33,8 @@ var ActivatedTableService = /** @class */ (function () {
|
|
|
21
33
|
},
|
|
22
34
|
set: function (tableComponent) {
|
|
23
35
|
this._activeTable = tableComponent;
|
|
36
|
+
// provide change to observers
|
|
37
|
+
this.lastActiveTable.next(this._activeTable);
|
|
24
38
|
},
|
|
25
39
|
enumerable: true,
|
|
26
40
|
configurable: true
|
|
@@ -40,4 +54,4 @@ var ActivatedTableService = /** @class */ (function () {
|
|
|
40
54
|
}());
|
|
41
55
|
export { ActivatedTableService };
|
|
42
56
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmFjdGl2YXRlZC10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL3RhYmxlcy5hY3RpdmF0ZWQtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFdEM7SUFrQkUsK0JBQW9CLE9BQWUsRUFBVSxlQUErQjtRQUE1RSxpQkFRQztRQVJtQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBYjVFOzs7V0FHRztRQUNhLG9CQUFlLEdBQ29CLElBQUksZUFBZSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUM1Rzs7O1dBR0c7UUFDYSxvQkFBZSxHQUNlLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRy9FLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUMzQixJQUFLLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ3JDLElBQUksS0FBSSxDQUFDLFlBQVksRUFBRTtvQkFDckIsS0FBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBSSw4Q0FBVzthQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNCLENBQUM7YUFFRCxVQUFnQixjQUE2QztZQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztZQUNuQyw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLENBQUM7OztPQU5BOztnQkE5QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFQeUMsTUFBTTtnQkFBdkMsY0FBYzs7O2dDQUR2QjtDQTJDQyxBQXJDRCxJQXFDQztTQWxDWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3RpdmF0ZWRUYWJsZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2FjdGl2ZVRhYmxlOiBBZHZhbmNlZFRhYmxlQ29tcG9uZW50O1xyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgbGFzdCB0YWJsZSB0aGF0IHdhcyBzZXQgYXMgYWN0aXZlXHJcbiAgICogTm90ZTogRW1pdHRlZCB2YWx1ZSBtYXkgYmUgbnVsbCAoZS5nLiByZXNldCBvbiByb3V0ZSBjaGFuZ2VzKVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBsYXN0QWN0aXZlVGFibGU6XHJcbiAgICBCZWhhdmlvclN1YmplY3Q8QWR2YW5jZWRUYWJsZUNvbXBvbmVudCB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBZHZhbmNlZFRhYmxlQ29tcG9uZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgLyoqXHJcbiAgICogT21pdCB0aGUgbGFzdCBlbWl0dGVkIHZhbHVlIHRvIG9ic2VydmUgb25seSBuZXcgYWN0aXZlIHRhYmxlIGNoYW5nZXNcclxuICAgKiBOb3RlOiBFbWl0dGVkIHZhbHVlIG1heSBiZSBudWxsIChlLmcuIHJlc2V0IG9uIHJvdXRlIGNoYW5nZXMpXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IG5leHRBY3RpdmVUYWJsZTpcclxuICAgIE9ic2VydmFibGU8QWR2YW5jZWRUYWJsZUNvbXBvbmVudCB8IG51bGw+ID0gdGhpcy5sYXN0QWN0aXZlVGFibGUucGlwZShza2lwKDEpKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgX3JvdXRlci5ldmVudHMuZm9yRWFjaCgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVUYWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWJsZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCBhY3RpdmVUYWJsZSgpOiBBZHZhbmNlZFRhYmxlQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLl9hY3RpdmVUYWJsZTtcclxuICB9XHJcblxyXG4gIHNldCBhY3RpdmVUYWJsZSh0YWJsZUNvbXBvbmVudDogQWR2YW5jZWRUYWJsZUNvbXBvbmVudCB8IG51bGwpIHtcclxuICAgIHRoaXMuX2FjdGl2ZVRhYmxlID0gdGFibGVDb21wb25lbnQ7XHJcbiAgICAvLyBwcm92aWRlIGNoYW5nZSB0byBvYnNlcnZlcnNcclxuICAgIHRoaXMubGFzdEFjdGl2ZVRhYmxlLm5leHQodGhpcy5fYWN0aXZlVGFibGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -24,7 +24,7 @@ import { template, at, cloneDeep } from 'lodash';
|
|
|
24
24
|
import { Injectable, Directive, Optional, Input, Output, EventEmitter, Pipe, Component, ViewChild, ViewEncapsulation, ElementRef, ChangeDetectorRef, NgModule, CUSTOM_ELEMENTS_SCHEMA, defineInjectable, inject, HostListener, InjectionToken, Inject, Injector, ChangeDetectionStrategy } from '@angular/core';
|
|
25
25
|
import { ActivatedRoute, Router, NavigationStart, NavigationEnd, RouterModule } from '@angular/router';
|
|
26
26
|
import { createFeatureSelector, createSelector, select, Store } from '@ngrx/store';
|
|
27
|
-
import { first, filter } from 'rxjs/operators';
|
|
27
|
+
import { skip, first, filter } from 'rxjs/operators';
|
|
28
28
|
|
|
29
29
|
class AdvancedColumnFormatter {
|
|
30
30
|
static template(expr) {
|
|
@@ -709,10 +709,20 @@ class ActivatedTableService {
|
|
|
709
709
|
constructor(_router, _activatedRoute) {
|
|
710
710
|
this._router = _router;
|
|
711
711
|
this._activatedRoute = _activatedRoute;
|
|
712
|
+
/**
|
|
713
|
+
* Get the last table that was set as active
|
|
714
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
715
|
+
*/
|
|
716
|
+
this.lastActiveTable = new BehaviorSubject(null);
|
|
717
|
+
/**
|
|
718
|
+
* Omit the last emitted value to observe only new active table changes
|
|
719
|
+
* Note: Emitted value may be null (e.g. reset on route changes)
|
|
720
|
+
*/
|
|
721
|
+
this.nextActiveTable = this.lastActiveTable.pipe(skip(1));
|
|
712
722
|
_router.events.forEach((event) => {
|
|
713
723
|
if (event instanceof NavigationStart) {
|
|
714
724
|
if (this._activeTable) {
|
|
715
|
-
this.
|
|
725
|
+
this.activeTable = null;
|
|
716
726
|
}
|
|
717
727
|
}
|
|
718
728
|
});
|
|
@@ -722,6 +732,8 @@ class ActivatedTableService {
|
|
|
722
732
|
}
|
|
723
733
|
set activeTable(tableComponent) {
|
|
724
734
|
this._activeTable = tableComponent;
|
|
735
|
+
// provide change to observers
|
|
736
|
+
this.lastActiveTable.next(this._activeTable);
|
|
725
737
|
}
|
|
726
738
|
}
|
|
727
739
|
ActivatedTableService.decorators = [
|
|
@@ -1580,8 +1592,9 @@ class AdvancedTableComponent {
|
|
|
1580
1592
|
if (this.dataTable) {
|
|
1581
1593
|
const info = this.dataTable.page.info();
|
|
1582
1594
|
this.page.emit(info);
|
|
1583
|
-
if (drawIndex > 1)
|
|
1595
|
+
if (drawIndex > 1) {
|
|
1584
1596
|
return;
|
|
1597
|
+
}
|
|
1585
1598
|
try {
|
|
1586
1599
|
drawIndex++;
|
|
1587
1600
|
setTimeout(() => { this.dataTable.columns.adjust(); }, 1);
|
|
@@ -1720,16 +1733,16 @@ class AdvancedTableComponent {
|
|
|
1720
1733
|
// get order expression
|
|
1721
1734
|
const order = aoData[2].value;
|
|
1722
1735
|
// get skip records param
|
|
1723
|
-
|
|
1736
|
+
const skip$$1 = aoData[3].value;
|
|
1724
1737
|
// get page size param
|
|
1725
|
-
|
|
1738
|
+
const top = aoData[4].value;
|
|
1726
1739
|
// get search value
|
|
1727
1740
|
const search = aoData[5].value;
|
|
1728
1741
|
// get data queryable
|
|
1729
1742
|
const q = self._query instanceof ClientDataQueryable ? self._query : self._context.model(self.config.model).asQueryable();
|
|
1730
1743
|
// apply paging params
|
|
1731
1744
|
if (top) {
|
|
1732
|
-
q.take(top).skip(skip);
|
|
1745
|
+
q.take(top).skip(skip$$1);
|
|
1733
1746
|
}
|
|
1734
1747
|
// apply order params
|
|
1735
1748
|
if (order && order.length) {
|
|
@@ -2146,13 +2159,13 @@ class AdvancedTableComponent {
|
|
|
2146
2159
|
// get column definitions
|
|
2147
2160
|
const columnDefs = this.dataTable.settings().init().columns;
|
|
2148
2161
|
const columns = columnDefs.map((columnDef, i) => {
|
|
2149
|
-
|
|
2162
|
+
const key = `column-${i}`;
|
|
2150
2163
|
let title = columnDef.title;
|
|
2151
2164
|
// get column index
|
|
2152
2165
|
const index = columnOrder.indexOf(i);
|
|
2153
2166
|
const visible = this.dataTable.column(index).visible();
|
|
2154
2167
|
// set title for select column
|
|
2155
|
-
if (i
|
|
2168
|
+
if (i === 0 && this.selectable) {
|
|
2156
2169
|
title = '<' + this._translateService.instant('Tables.SelectColumn') + '>';
|
|
2157
2170
|
}
|
|
2158
2171
|
// get column title
|
|
@@ -2186,9 +2199,18 @@ class AdvancedTableComponent {
|
|
|
2186
2199
|
});
|
|
2187
2200
|
this._columnSelector.selectColumns(columns).then((event) => {
|
|
2188
2201
|
if (event.result === 'ok') {
|
|
2202
|
+
const sorted = event.columns
|
|
2203
|
+
.map((col) => {
|
|
2204
|
+
return {
|
|
2205
|
+
key: col.key,
|
|
2206
|
+
index: col.index
|
|
2207
|
+
};
|
|
2208
|
+
})
|
|
2209
|
+
.sort((a, b) => a.index - b.index);
|
|
2189
2210
|
// get column order e.g. [3, 1, 2, 0, 4]
|
|
2190
|
-
|
|
2191
|
-
|
|
2211
|
+
const indexes = sorted
|
|
2212
|
+
.map((item) => {
|
|
2213
|
+
return event.columns.findIndex((next) => item.key === next.key);
|
|
2192
2214
|
});
|
|
2193
2215
|
// reset column visibilty
|
|
2194
2216
|
for (let index = 0; index < event.columns.length; index++) {
|
|
@@ -2302,12 +2324,10 @@ class AdvancedTableComponent {
|
|
|
2302
2324
|
cleanupIndexes.push(index);
|
|
2303
2325
|
return false;
|
|
2304
2326
|
}
|
|
2305
|
-
// find item by title
|
|
2306
|
-
const findItem = this.config.columns.find((column) => {
|
|
2307
|
-
return column.title && column.title.length && this._translateService.instant(column.title) === headerItem;
|
|
2308
|
-
});
|
|
2309
2327
|
// exclude hidden columns
|
|
2310
|
-
|
|
2328
|
+
// note: use the datatable visible() function
|
|
2329
|
+
// instead of the hidden config property, to satisfy the column selector
|
|
2330
|
+
if (!this.dataTable.column(index).visible()) {
|
|
2311
2331
|
cleanupIndexes.push(index);
|
|
2312
2332
|
return false;
|
|
2313
2333
|
}
|
|
@@ -5061,7 +5081,10 @@ class AdvancedTableState {
|
|
|
5061
5081
|
this.table.stateSave = true;
|
|
5062
5082
|
this.table.stateLoadCallback = (settings, callback) => {
|
|
5063
5083
|
this.store.pipe(select(selectTable, { id: this.tableState }), first()).subscribe((state) => {
|
|
5064
|
-
|
|
5084
|
+
callback(state && state.table);
|
|
5085
|
+
if (state && state.table && state.table.ColReorder) {
|
|
5086
|
+
this.table.dataTable.colReorder.order(state.table.ColReorder, true);
|
|
5087
|
+
}
|
|
5065
5088
|
});
|
|
5066
5089
|
};
|
|
5067
5090
|
let firstDraw = true;
|