@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,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/** @enum {string} */
|
|
6
|
-
const TableActionTypes = {
|
|
7
|
-
LoadFilter: '[Table] Load Filter',
|
|
8
|
-
AppendFilter: '[Table] Append Filter',
|
|
9
|
-
AppendState: '[Table] Append State',
|
|
10
|
-
};
|
|
11
|
-
export { TableActionTypes };
|
|
12
|
-
export class LoadFilter {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} id
|
|
15
|
-
*/
|
|
16
|
-
constructor(id) {
|
|
17
|
-
this.id = id;
|
|
18
|
-
this.type = TableActionTypes.LoadFilter;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (false) {
|
|
22
|
-
/** @type {?} */
|
|
23
|
-
LoadFilter.prototype.type;
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
LoadFilter.prototype.id;
|
|
26
|
-
}
|
|
27
|
-
export class AppendFilter {
|
|
28
|
-
/**
|
|
29
|
-
* @param {?} id
|
|
30
|
-
* @param {?} filter
|
|
31
|
-
*/
|
|
32
|
-
constructor(id, filter) {
|
|
33
|
-
this.id = id;
|
|
34
|
-
this.filter = filter;
|
|
35
|
-
this.type = TableActionTypes.AppendFilter;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (false) {
|
|
39
|
-
/** @type {?} */
|
|
40
|
-
AppendFilter.prototype.type;
|
|
41
|
-
/** @type {?} */
|
|
42
|
-
AppendFilter.prototype.id;
|
|
43
|
-
/** @type {?} */
|
|
44
|
-
AppendFilter.prototype.filter;
|
|
45
|
-
}
|
|
46
|
-
export class AppendState {
|
|
47
|
-
/**
|
|
48
|
-
* @param {?} id
|
|
49
|
-
* @param {?} data
|
|
50
|
-
*/
|
|
51
|
-
constructor(id, data) {
|
|
52
|
-
this.id = id;
|
|
53
|
-
this.data = data;
|
|
54
|
-
this.type = TableActionTypes.AppendState;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (false) {
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
AppendState.prototype.type;
|
|
60
|
-
/** @type {?} */
|
|
61
|
-
AppendState.prototype.id;
|
|
62
|
-
/** @type {?} */
|
|
63
|
-
AppendState.prototype.data;
|
|
64
|
-
}
|
|
65
|
-
/** @typedef {?} */
|
|
66
|
-
var TableActions;
|
|
67
|
-
export { TableActions };
|
|
68
|
-
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBR0UsWUFBYSxxQkFBcUI7SUFDbEMsY0FBZSx1QkFBdUI7SUFDdEMsYUFBYyxzQkFBc0I7OztBQUd0QyxNQUFNOzs7O0lBRUosWUFBNEIsRUFBVTtRQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7b0JBRHRCLGdCQUFnQixDQUFDLFVBQVU7S0FDRDtDQUMzQzs7Ozs7OztBQUVELE1BQU07Ozs7O0lBRUosWUFBNEIsRUFBVSxFQUFrQixNQUFXO1FBQXZDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBa0IsV0FBTSxHQUFOLE1BQU0sQ0FBSztvQkFEbkQsZ0JBQWdCLENBQUMsWUFBWTtLQUMwQjtDQUN4RTs7Ozs7Ozs7O0FBRUQsTUFBTTs7Ozs7SUFFSixZQUE0QixFQUFVLEVBQWtCLElBQVM7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFrQixTQUFJLEdBQUosSUFBSSxDQUFLO29CQURqRCxnQkFBZ0IsQ0FBQyxXQUFXO0tBQ3lCO0NBQ3RFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5leHBvcnQgZW51bSBUYWJsZUFjdGlvblR5cGVzIHtcbiAgTG9hZEZpbHRlciA9ICdbVGFibGVdIExvYWQgRmlsdGVyJyxcbiAgQXBwZW5kRmlsdGVyID0gJ1tUYWJsZV0gQXBwZW5kIEZpbHRlcicsXG4gIEFwcGVuZFN0YXRlID0gJ1tUYWJsZV0gQXBwZW5kIFN0YXRlJ1xufVxuXG5leHBvcnQgY2xhc3MgTG9hZEZpbHRlciBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBUYWJsZUFjdGlvblR5cGVzLkxvYWRGaWx0ZXI7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQXBwZW5kRmlsdGVyIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFRhYmxlQWN0aW9uVHlwZXMuQXBwZW5kRmlsdGVyO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGZpbHRlcjogYW55KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQXBwZW5kU3RhdGUgaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVGFibGVBY3Rpb25UeXBlcy5BcHBlbmRTdGF0ZTtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBkYXRhOiBhbnkpIHt9XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQWN0aW9ucyA9IExvYWRGaWx0ZXIgfCBBcHBlbmRGaWx0ZXIgfCBBcHBlbmRTdGF0ZTtcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hZHZhbmNlZC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMgQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgZGF0YSB1c2VkIGZvciBmaWx0ZXJpbmdcbiAqXG4gKiBAcHJvcGVydHkge0FycmF5PHN0cmluZz59IGZpbHRlcnMgQSBsaXN0IG9mIGV4cHJlc3Npb25zIHRvIHVzZSBmb3IgZmlsdGVyaW5nXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGV4dCBUaGUgc2VhcmNoIHRleHQgdXNlZCBieSB0aGUgdXNlciB0byBydW4gYWdhaW5zdCB0aGUgZGVjbGFyZWQgc2VhcmNoIGV4cHJlc3Npb25cbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIHtcbiAgZmlsdGVyczogc3RyaW5nW107XG4gIHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4gQSBjb2x1bW4gaW4gdGhlIGFkdmFuY2VkIGFnZ3JlZ2F0b3IgbGlzdFxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb2x1bW4uIEl0J3MgdXNlZCBhcyBpdCdzIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlIFRoZSB0aXRsZSB0aGF0IHdpbGwgYmUgc2hvd24gYXMgY29sdW1uIGxhYmVsXG4gKiBAcHJvcGVydHkge3N0cmluZz0ndGV4dCcsICdib29sZWFuJ30gdHlwZSBUaGUgZGF0YSB0eXBlIG9mIHRoZSBjb2x1bW4gdmFsdWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB2YXJpYW50IFRoZSBhIHZpc3VhbGl6YXRpb24gdmFyaWFudCBvZiB0aGUgY29sdW1uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIGxpc3QgY2VsbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRydWVWYWx1ZSBGb3IgYm9vbGVhbnMsIHRoZSB2YWx1ZSB0aGF0IHJlcHJlc2VudCB0aGUgdHJ1ZSBzdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBoaWRkZW4gV2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBiZSBzaG93biBvbiB0aGUgVUlcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHZhcmlhbnQ/OiBzdHJpbmc7XG4gIGxlbmd0aD86IHN0cmluZztcbiAgdHJ1ZVZhbHVlPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiBBbiBhY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNvbHVtblxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBhY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nPSdlZGl0J30gdHlwZSBUaGUgdHlwZSBvZiB0aGUgYWN0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRoYXQgaXMgc2hvd24gb24gbW91c2UgaG92ZXJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpZGVudGlmaWVyIEFuIGlkZW50aWZpZXIgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgYWxvbmcgd2l0aCB0aGUgcm93IGRhdGFcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpY29uIFRoZSBpY29uIHRvIHNob3cgYXMgaWRlbnRpZmllclxuICpcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiBBbiBhZ2dyZWdhdG9yIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIHJldHVybiBhIHZhbHVlIGZvciBlYWNoIHN1Ymdyb3VwXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFnZ3JlZ2F0b3IgZnVuY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsYWJlbCBUaGUgbGFiZWwgb2YgdGhlIGFnZ3JlZ2F0b3JcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cCBUaGUgZGVjbGFyYXRpb24gb2YgYSBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGdyb3VwIHRoZSBkYXRhXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGdyb3VwLiBTaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiBwcm9wZXJ0eVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGFiZWwgVGhlIGxhYmVsIHRvIGJlIHNob3duIGFzIHRoZSBzZWxlY3Qgb3B0aW9uIGF0IHRoZSBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRvIHNob3cgb24gdG9wIG9mIHRoZSBncm91cGVkIGxpc3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkZWZhdWx0IFdoZXRoZXIgdGhlIGNvbHVtbiBpcyB1c2VkIGJ5IGRlZmF1bHQuIElmIG5vbmUsIHRoZSBmaXJzdCBmb3VuZCBpcyB1c2VkXG4gKlxuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3IgQSBkZWNsYXJhdGlvbiBmb3IgYSBwb3N0IHByb2Nlc3NvciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwb3N0IHByb2Nlc3Nvci4gSXQgd2lsbCBiZSB1c2VkIGFzIGlkZW50aWZpZXJcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JQb3N0UHJvY2Vzc29yIHtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYWR2YW5jZWQgYWdncmVnYXRvciBsaXN0IGNvbXBvbmVudFxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtb2RlbCBUaGUgbW9kZWwgd2hpY2ggaXMgZ29pbmcgdG8gYmUgZGlzcGxheWVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVlcnkgVGhlIHF1ZXJ5IHRvIHVzZSBpbiBvcmRlciB0byBmZXRjaCBkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIFRpdGxlIG9mIHRoZSBsaXN0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gb3JkZXJCeSBUaGUgcHJvcGVydHkgYWNjb3JkaW5nIHdoaWNoIHRoZSBsaXN0IHNob3VsZCBiZSBvcmRlcmVkXG4gKiBAcHJvcGVydHkge0FycmF5PEFkdmFuY2VkQWdncmVnYXRvckdyb3VwPn0gZ3JvdXBQcm9wZXJ0aWVzIFRoZSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZ3JvdXBpbmcgcHJvcGVydGllc1xuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbj59IGFnZ3JlZ2F0b3IgVGhlIGxpc3Qgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIHN1bW1hcml6ZSB0aGUgZGF0YVxuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JBY3Rpb24+fSBhY3Rpb25zIFRoZSBsaXN0IG9mIGFjdGlvbnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciB0aGUgbGlzdCBpdGVtc1xuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4+fSBjb2x1bW5zIFRoZSBsaXN0IG9mIGZpZWxkcyB0byBiZSB1c2VkIGZyb20gdGhlIHRhcmdldCBtb2RlbHNcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWcge1xuICBtb2RlbDogc3RyaW5nO1xuICBxdWVyeTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvcmRlckJ5OiBzdHJpbmc7XG4gIGdyb3VwUHJvcGVydGllczogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXA+O1xuICBhZ2dyZWdhdG9ycz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckZ1bmN0aW9uPjtcbiAgcG9zdFByb2Nlc3NvcnM/OiBBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JQb3N0UHJvY2Vzc29yPjtcbiAgYWN0aW9ucz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbj47XG4gIGNvbHVtbnM6IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckNvbHVtbj47XG59XG4iXX0=
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
6
|
-
import { RouterModalOkCancel } from '@universis/common/routing';
|
|
7
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
8
|
-
import { Observable } from 'rxjs';
|
|
9
|
-
import { AdvancedTableModalBaseComponent } from '../advanced-table-modal/advanced-table-modal-base.component';
|
|
10
|
-
import { AdvancedFormComponent } from '@universis/forms';
|
|
11
|
-
import { LoadingService, ModalService } from '@universis/common';
|
|
12
|
-
export class AddItemsComponent extends RouterModalOkCancel {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} router
|
|
15
|
-
* @param {?} activatedRoute
|
|
16
|
-
* @param {?} _modalService
|
|
17
|
-
* @param {?} _loadingService
|
|
18
|
-
*/
|
|
19
|
-
constructor(router, activatedRoute, _modalService, _loadingService) {
|
|
20
|
-
super(router, activatedRoute);
|
|
21
|
-
this._modalService = _modalService;
|
|
22
|
-
this._loadingService = _loadingService;
|
|
23
|
-
this.loading = false;
|
|
24
|
-
this.items = [];
|
|
25
|
-
this.messages = [];
|
|
26
|
-
// set modal size
|
|
27
|
-
this.modalClass = 'modal-lg';
|
|
28
|
-
this.okButtonDisabled = true;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @return {?}
|
|
32
|
-
*/
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
if (this.selectComponent && this.selectComponent.advancedTable) {
|
|
35
|
-
this.selectedSubscription = this.selectComponent.advancedTable.selectedItems.subscribe((items) => {
|
|
36
|
-
if (this.formName == null) {
|
|
37
|
-
this.okButtonDisabled = items.length === 0;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
if (this.formName != null && this.formComponent) {
|
|
42
|
-
this.formChangeSubscription = this.formComponent.form.change.subscribe((event) => {
|
|
43
|
-
if (Object.prototype.hasOwnProperty.call(event, 'isValid')) {
|
|
44
|
-
// enable or disable button based on form status
|
|
45
|
-
this.okButtonDisabled = (!event.isValid);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (this.target) {
|
|
50
|
-
/** @type {?} */
|
|
51
|
-
const target = this.target;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
|
-
cancel() {
|
|
58
|
-
this.clearMessages();
|
|
59
|
-
if (this.loading) {
|
|
60
|
-
return Promise.resolve();
|
|
61
|
-
}
|
|
62
|
-
// close
|
|
63
|
-
if (this._modalService.modalRef) {
|
|
64
|
-
return this._modalService.modalRef.hide();
|
|
65
|
-
}
|
|
66
|
-
return Promise.resolve();
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
ngOnDestroy() {
|
|
72
|
-
if (this.formLoadSubscription) {
|
|
73
|
-
this.formLoadSubscription.unsubscribe();
|
|
74
|
-
}
|
|
75
|
-
if (this.formChangeSubscription) {
|
|
76
|
-
this.formChangeSubscription.unsubscribe();
|
|
77
|
-
}
|
|
78
|
-
if (this.selectedSubscription) {
|
|
79
|
-
this.selectedSubscription.unsubscribe();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @return {?}
|
|
84
|
-
*/
|
|
85
|
-
get formData() {
|
|
86
|
-
if (this.formComponent === null) {
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
return this.formComponent && this.formComponent.form.formio.data;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* @return {?}
|
|
93
|
-
*/
|
|
94
|
-
ok() {
|
|
95
|
-
try {
|
|
96
|
-
this.clearMessages();
|
|
97
|
-
return new Promise((resolve) => {
|
|
98
|
-
if (this.selectComponent == null || this.selectComponent.advancedTable == null || this.execute == null) {
|
|
99
|
-
return resolve(null);
|
|
100
|
-
}
|
|
101
|
-
this.loading = false;
|
|
102
|
-
this.lastError = null;
|
|
103
|
-
// set courses
|
|
104
|
-
this.items = this.selectComponent.advancedTable.selected;
|
|
105
|
-
// execute add
|
|
106
|
-
this.executeSubscription = this.execute.subscribe((result) => {
|
|
107
|
-
this.loading = false;
|
|
108
|
-
if (this.executeSubscription) {
|
|
109
|
-
this.executeSubscription.unsubscribe();
|
|
110
|
-
}
|
|
111
|
-
// close modal
|
|
112
|
-
if (this._modalService.modalRef) {
|
|
113
|
-
this._modalService.modalRef.hide();
|
|
114
|
-
}
|
|
115
|
-
return resolve(null);
|
|
116
|
-
}, (err) => {
|
|
117
|
-
this.loading = false;
|
|
118
|
-
// ensure that loading is hidden
|
|
119
|
-
this._loadingService.hideLoading();
|
|
120
|
-
// set last error
|
|
121
|
-
this.lastError = err;
|
|
122
|
-
return resolve(null);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
catch (err) {
|
|
127
|
-
this.loading = false;
|
|
128
|
-
this._loadingService.hideLoading();
|
|
129
|
-
this.lastError = err;
|
|
130
|
-
return Promise.resolve();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* @param {?} $event
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
onChange($event) { }
|
|
138
|
-
/**
|
|
139
|
-
* @return {?}
|
|
140
|
-
*/
|
|
141
|
-
clearMessages() {
|
|
142
|
-
this.messages = [];
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* @param {?} event
|
|
146
|
-
* @return {?}
|
|
147
|
-
*/
|
|
148
|
-
onFilterChange(event) { }
|
|
149
|
-
}
|
|
150
|
-
AddItemsComponent.decorators = [
|
|
151
|
-
{ type: Component, args: [{
|
|
152
|
-
// tslint:disable-next-line:component-selector
|
|
153
|
-
selector: 'app-add-items',
|
|
154
|
-
template: "<div>\n <div class=\"modal-header\" *ngIf=\"modalTitle\">\n <h5 class=\"modal-title\">{{modalTitle | translate}}</h5>\n <button (click)=\"cancel()\" [disabled]=\"loading\"\n type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Cancel\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body pt-0\">\n <div class=\"row\" *ngIf=\"lastError\">\n <div class=\"alert alert-danger col-12\" role=\"alert\">\n <span [translate]=\"'E' + (lastError.statusCode || 500) + '.title'\"></span><br>\n <small *ngIf=\"lastError.statusCode >= 0\" [translate]=\"'E' + (lastError.statusCode || 500) + '.message'\"></small>\n <small *ngIf=\"lastError.statusCode == null\">{{lastError.message}}</small>\n </div>\n </div>\n <div class=\"row d-none\" *ngIf=\"items\">\n <div class=\"col-12\">\n <p [translate]=\"'StudyPrograms.AddCoursesHelp'\" [translateParams]=\"items\" ></p>\n </div>\n </div>\n <div class=\"row mt-3\">\n <div class=\"col-12\">\n <ng-container>\n <ul style=\"margin-left: -24px\" class=\"nav nav-tabs mb-1\" id=\"myTab\" role=\"tablist\">\n <li class=\"nav-item\" *ngIf=\"tableConfiguration\">\n <a class=\"nav-link active\" id=\"courses-tab\" data-toggle=\"tab\" href=\"#courses\" role=\"tab\" aria-controls=\"home\" aria-selected=\"true\" [translate]=\"'AddItems.SelectItems'\" ></a>\n </li>\n <li class=\"nav-item\" *ngIf=\"formName\">\n <a class=\"nav-link\" [ngClass]=\"{ 'disabled': !(selectComponent && selectComponent.advancedTable && selectComponent.advancedTable.selected && selectComponent.advancedTable.selected.length) }\" id=\"attributes-tab\" data-toggle=\"tab\" href=\"#attributes\" role=\"tab\" aria-controls=\"profile\" aria-selected=\"false\" [translate]=\"'AddItems.EditAttributes'\"></a>\n </li>\n <li class=\"nav-item\" *ngIf=\"messages && messages.length > 0\">\n <a class=\"nav-link\" id=\"messages-tab\" data-toggle=\"tab\" href=\"#messages\" role=\"tab\" aria-controls=\"profile\" aria-selected=\"false\" [translate]=\"'AddItems.Messages'\"></a>\n </li>\n </ul>\n <div class=\"tab-content border-0\" id=\"myTabContent\">\n <div class=\"tab-pane fade show active\" id=\"courses\" role=\"tabpanel\" aria-labelledby=\"home-tab\">\n <app-advanced-table-modal #selectComponent (filter)=\"onFilterChange($event)\" [tableConfig]=\"tableConfiguration\"></app-advanced-table-modal>\n </div>\n <div class=\"tab-pane fade\" id=\"attributes\" role=\"tabpanel\" aria-labelledby=\"profile-tab\"\n [ngClass]=\"{'invisible':(formName == null)}\">\n<!-- <advanced-form-edit #formComponent [formName]=\"formName\" ></advanced-form-edit>-->\n </div>\n <div class=\"tab-pane fade\" id=\"messages\" role=\"tabpanel\" aria-labelledby=\"profile-tab\"\n [ngClass]=\"{'invisible':(messages == null)}\">\n <ul *ngIf=\"messages && messages.length>0\" class=\"sis--list-group sis--list-group-header\">\n <li class=\"sis--list-group-item\">\n <div class=\"d-flex justify-content-center align-items-center\">\n <div class=\"sis--list-group-item_lg_column\" [translate]=\"'AddItems.Messages'\"></div>\n </div>\n </li>\n </ul>\n <ul class=\"sis--list-group sis--list-group-body\">\n <li *ngFor=\"let message of messages\" class=\"sis--list-group-item\">\n <div class=\"d-flex justify-content-center align-items-center list-color\">\n <div class=\"sis--list-group-item_lg_column\">{{ message?.message }}</div>\n </div>\n </li>\n </ul>\n <div *ngIf=\"messages && messages.length>0\">\n <button [disabled]=\"loading\" (click)=\"clearMessages()\" type=\"button\" class=\"btn btn-indigo mt-3\">\n {{'Clear' | translate}}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled || loading || !(selectComponent && selectComponent.advancedTable && selectComponent.advancedTable.selected && selectComponent.advancedTable.selected.length) \" (click)=\"ok()\"\n type=\"button\" [ngClass]=\"okButtonClass\">\n {{'OK' | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled || loading\"\n (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\" data-dismiss=\"modal\">\n {{'Cancel' | translate}}\n </button>\n </div>\n</div>\n"
|
|
155
|
-
}] }
|
|
156
|
-
];
|
|
157
|
-
/** @nocollapse */
|
|
158
|
-
AddItemsComponent.ctorParameters = () => [
|
|
159
|
-
{ type: Router },
|
|
160
|
-
{ type: ActivatedRoute },
|
|
161
|
-
{ type: ModalService },
|
|
162
|
-
{ type: LoadingService }
|
|
163
|
-
];
|
|
164
|
-
AddItemsComponent.propDecorators = {
|
|
165
|
-
execute: [{ type: Input }],
|
|
166
|
-
items: [{ type: Input }],
|
|
167
|
-
target: [{ type: Input }],
|
|
168
|
-
tableConfiguration: [{ type: Input }],
|
|
169
|
-
formName: [{ type: Input }],
|
|
170
|
-
messages: [{ type: Input }],
|
|
171
|
-
formComponent: [{ type: ViewChild, args: ['formComponent',] }],
|
|
172
|
-
selectComponent: [{ type: ViewChild, args: ['selectComponent',] }]
|
|
173
|
-
};
|
|
174
|
-
if (false) {
|
|
175
|
-
/** @type {?} */
|
|
176
|
-
AddItemsComponent.prototype.loading;
|
|
177
|
-
/** @type {?} */
|
|
178
|
-
AddItemsComponent.prototype.lastError;
|
|
179
|
-
/** @type {?} */
|
|
180
|
-
AddItemsComponent.prototype.execute;
|
|
181
|
-
/** @type {?} */
|
|
182
|
-
AddItemsComponent.prototype.items;
|
|
183
|
-
/** @type {?} */
|
|
184
|
-
AddItemsComponent.prototype.target;
|
|
185
|
-
/** @type {?} */
|
|
186
|
-
AddItemsComponent.prototype.tableConfiguration;
|
|
187
|
-
/** @type {?} */
|
|
188
|
-
AddItemsComponent.prototype.formName;
|
|
189
|
-
/** @type {?} */
|
|
190
|
-
AddItemsComponent.prototype.messages;
|
|
191
|
-
/** @type {?} */
|
|
192
|
-
AddItemsComponent.prototype.formComponent;
|
|
193
|
-
/** @type {?} */
|
|
194
|
-
AddItemsComponent.prototype.selectComponent;
|
|
195
|
-
/** @type {?} */
|
|
196
|
-
AddItemsComponent.prototype.formLoadSubscription;
|
|
197
|
-
/** @type {?} */
|
|
198
|
-
AddItemsComponent.prototype.formChangeSubscription;
|
|
199
|
-
/** @type {?} */
|
|
200
|
-
AddItemsComponent.prototype.selectedSubscription;
|
|
201
|
-
/** @type {?} */
|
|
202
|
-
AddItemsComponent.prototype.executeSubscription;
|
|
203
|
-
/** @type {?} */
|
|
204
|
-
AddItemsComponent.prototype._modalService;
|
|
205
|
-
/** @type {?} */
|
|
206
|
-
AddItemsComponent.prototype._loadingService;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBTy9ELE1BQU0sd0JBQXlCLFNBQVEsbUJBQW1COzs7Ozs7O0lBaUJ4RCxZQUFZLE1BQWMsRUFDZCxjQUE4QixFQUN0QixlQUNBO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFGWixrQkFBYSxHQUFiLGFBQWE7UUFDYixvQkFBZSxHQUFmLGVBQWU7dUJBbEJsQixLQUFLO3FCQUdPLEVBQUU7d0JBS0MsRUFBRTs7UUFhaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztLQUM5Qjs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUU7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUks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Szt1QkFDTCxLQUFLOzRCQUNMLFNBQVMsU0FBQyxlQUFlOzhCQUN6QixTQUFTLFNBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kYWxPa0NhbmNlbH0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24vcm91dGluZyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2FkdmFuY2VkLXRhYmxlLW1vZGFsL2FkdmFuY2VkLXRhYmxlLW1vZGFsLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7QWR2YW5jZWRGb3JtQ29tcG9uZW50fSBmcm9tICdAdW5pdmVyc2lzL2Zvcm1zJztcbmltcG9ydCB7TG9hZGluZ1NlcnZpY2UsIE1vZGFsU2VydmljZX0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW1zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRJdGVtc0NvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxhc3RFcnJvcjtcbiAgQElucHV0KCkgZXhlY3V0ZT86IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gPSBbXTtcbiAgQElucHV0KCkgdGFyZ2V0OiBhbnk7XG4gIC8vIEBJbnB1dCgpIHNlbGVjdGVkOiBhbnk7XG4gIEBJbnB1dCgpIHRhYmxlQ29uZmlndXJhdGlvbjogYW55O1xuICBASW5wdXQoKSBmb3JtTmFtZTogYW55O1xuICBASW5wdXQoKSBtZXNzYWdlczogQXJyYXk8YW55PiA9IFtdO1xuICBAVmlld0NoaWxkKCdmb3JtQ29tcG9uZW50JykgZm9ybUNvbXBvbmVudD86IEFkdmFuY2VkRm9ybUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Q29tcG9uZW50Jykgc2VsZWN0Q29tcG9uZW50PzogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb3JtTG9hZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBmb3JtQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNlbGVjdGVkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UpIHtcbiAgICBzdXBlcihyb3V0ZXIsIGFjdGl2YXRlZFJvdXRlKTtcbiAgICAvLyBzZXQgbW9kYWwgc2l6ZVxuICAgIHRoaXMubW9kYWxDbGFzcyA9ICdtb2RhbC1sZyc7XG4gICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdENvbXBvbmVudCAmJiB0aGlzLnNlbGVjdENvbXBvbmVudC5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZEl0ZW1zLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybU5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IGl0ZW1zLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1OYW1lICE9IG51bGwgJiYgdGhpcy5mb3JtQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmZvcm1DaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db21wb25lbnQuZm9ybS5jaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXZlbnQsICdpc1ZhbGlkJykpIHtcbiAgICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBidXR0b24gYmFzZWQgb24gZm9ybSBzdGF0dXNcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSAoIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgLy8gY2xvc2VcbiAgICBpZiAodGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmLmhpZGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgICAvLyBnZXQgZm9ybSBkYXRhXG4gIHByaXZhdGUgZXhlY3V0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwdWJsaWMgZ2V0IGZvcm1EYXRhKCk6IGFueSB7XG4gICAgICBpZiAodGhpcy5mb3JtQ29tcG9uZW50ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZm9ybUNvbXBvbmVudCAmJiB0aGlzLmZvcm1Db21wb25lbnQuZm9ybS5mb3JtaW8uZGF0YTtcbiAgICB9XG5cbiAgICBvaygpOiBQcm9taXNlPGFueT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5jbGVhck1lc3NhZ2VzKCk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdENvbXBvbmVudCA9PSBudWxsIHx8IHRoaXMuc2VsZWN0Q29tcG9uZW50LmFkdmFuY2VkVGFibGUgPT0gbnVsbCB8fCB0aGlzLmV4ZWN1dGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubGFzdEVycm9yID0gbnVsbDtcbiAgICAgICAgICAvLyBzZXQgY291cnNlc1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNlbGVjdENvbXBvbmVudC5hZHZhbmNlZFRhYmxlLnNlbGVjdGVkO1xuICAgICAgICAgIC8vIGV4ZWN1dGUgYWRkXG4gICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uID0gdGhpcy5leGVjdXRlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjbG9zZSBtb2RhbFxuICAgICAgICAgICAgaWYgKHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZikge1xuICAgICAgICAgICAgICB0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgfSwgKGVycikgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAvLyBlbnN1cmUgdGhhdCBsb2FkaW5nIGlzIGhpZGRlblxuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2UuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgIC8vIHNldCBsYXN0IGVycm9yXG4gICAgICAgICAgICB0aGlzLmxhc3RFcnJvciA9IGVycjtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UoJGV2ZW50OiBhbnkpIHt9XG5cbiAgY2xlYXJNZXNzYWdlcygpIHtcbiAgICB0aGlzLm1lc3NhZ2VzID0gW107XG4gIH1cblxuICBvbkZpbHRlckNoYW5nZShldmVudDogIHsgbmFtZTogc3RyaW5nLCBlbWl0OiBib29sZWFuIH0pIHt9XG59XG4iXX0=
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
7
|
-
import { AdvancedAggregatorService } from '../../services/advanced-aggregator/advanced-aggregator.service';
|
|
8
|
-
import { LoadingService } from '@universis/common';
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* \@classdesc An advanced list with the capability of aggregate data based on configurable filters
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export class AdvancedAggregatorComponent {
|
|
16
|
-
/**
|
|
17
|
-
* @param {?} _changeDetector
|
|
18
|
-
* @param {?} _advancedAggregatorService
|
|
19
|
-
* @param {?} _loadingService
|
|
20
|
-
*/
|
|
21
|
-
constructor(_changeDetector, _advancedAggregatorService, _loadingService) {
|
|
22
|
-
this._changeDetector = _changeDetector;
|
|
23
|
-
this._advancedAggregatorService = _advancedAggregatorService;
|
|
24
|
-
this._loadingService = _loadingService;
|
|
25
|
-
this.groups = [];
|
|
26
|
-
this.eventHandler = new EventEmitter();
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @param {?} value
|
|
30
|
-
* @return {?}
|
|
31
|
-
*/
|
|
32
|
-
set config(value) {
|
|
33
|
-
this._config = value;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @param {?} value
|
|
37
|
-
* @return {?}
|
|
38
|
-
*/
|
|
39
|
-
set aggregators(value) {
|
|
40
|
-
this._aggregators = value;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* @param {?} value
|
|
44
|
-
* @return {?}
|
|
45
|
-
*/
|
|
46
|
-
set postProcessors(value) {
|
|
47
|
-
this._postProcessors = value;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @return {?}
|
|
51
|
-
*/
|
|
52
|
-
get config() {
|
|
53
|
-
return /** @type {?} */ (this._config);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
get aggregators() {
|
|
59
|
-
return this._aggregators;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
get postProcessors() {
|
|
65
|
-
return this._postProcessors;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
ngOnInit() {
|
|
71
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
this.selectedGroups$.subscribe((data) => {
|
|
73
|
-
this.groups = data;
|
|
74
|
-
this._changeDetector.markForCheck();
|
|
75
|
-
});
|
|
76
|
-
this.filters$.subscribe((filters) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
try {
|
|
78
|
-
yield this.fetch(filters);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
console.error(err);
|
|
82
|
-
}
|
|
83
|
-
}));
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
ngOnDestroy() {
|
|
90
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
this.selectedGroups$.unsubscribe();
|
|
92
|
-
this.filters$.unsubscribe();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
*
|
|
97
|
-
* Retrieves the data
|
|
98
|
-
*
|
|
99
|
-
* @param {?} filters
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
fetch(filters) {
|
|
103
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
try {
|
|
105
|
-
this._loadingService.showLoading();
|
|
106
|
-
/** @type {?} */
|
|
107
|
-
let data = yield this._advancedAggregatorService.fetchData(this.config.model, this.params, this.config.query, filters.filters, this.searchExpression, filters.text);
|
|
108
|
-
// tslint:disable-next-line:max-line-length
|
|
109
|
-
if (this.postProcessors && Object.keys(this.postProcessors).length > 0 && this.config.postProcessors && this.config.postProcessors.length > 0) {
|
|
110
|
-
for (let i = 0; i < this.config.postProcessors.length; i++) {
|
|
111
|
-
data = yield this.postProcessors[this.config.postProcessors[i].name](data);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
this.body = this._advancedAggregatorService.formatData(this.config, data);
|
|
115
|
-
this._changeDetector.markForCheck();
|
|
116
|
-
}
|
|
117
|
-
catch (err) {
|
|
118
|
-
console.error(err);
|
|
119
|
-
}
|
|
120
|
-
finally {
|
|
121
|
-
this._loadingService.hideLoading();
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
*
|
|
127
|
-
* Triggers the event handler event
|
|
128
|
-
*
|
|
129
|
-
* @param {?} event The event data
|
|
130
|
-
*
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
onActionEvent(event) {
|
|
134
|
-
this.eventHandler.emit(event);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
AdvancedAggregatorComponent.decorators = [
|
|
138
|
-
{ type: Component, args: [{
|
|
139
|
-
// tslint:disable-next-line:component-selector
|
|
140
|
-
selector: 'app-advanced-aggregator',
|
|
141
|
-
template: "<ng-container *ngIf=\"config && body\">\n <div class=\"w-100 text-center\" *ngIf=\"body && body.length === 0\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"groups.length === 0\">\n <div class=\"row mt-4\">\n <app-advanced-aggregator-list [body]=\"body\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\" class=\"col-12\">\n </app-advanced-aggregator-list>\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ body | callAggregator: aggregators: aggregator.name }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"groups.length === 1\">\n <ng-container *ngFor=\"let group of body | groupBy: groups[0].name | keyvalue\">\n <div class=\"row mt-4\">\n <h4 class=\"col text-secondary\"> {{ groups[0].title | aggregatorListTitle: group.key }} </h4>\n <app-advanced-aggregator-list [body]=\"group.value\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\"\n class=\"col-12\">\n </app-advanced-aggregator-list>\n </div>\n\n <!-- Footer for the group -->\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ group.value | callAggregator: aggregators: aggregator.name }} </span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"groups.length > 1\">\n <ng-container *ngFor=\"let group of body | groupBy: groups[0].name | keyvalue\">\n <div class=\"row mt-4\">\n <h4 class=\"col text-secondary\"> {{ groups[0].title | aggregatorListTitle: group.key }} </h4>\n <div *ngFor=\"let subgroup of group.value | groupBy: groups[1].name | keyvalue\" class=\"col-12 ml-4 pl-4\">\n <div class=\"row mt-4\">\n <h6 class=\"col-12 text-secondary\"> {{ groups[1].title | aggregatorListTitle: subgroup.key }} </h6>\n <app-advanced-aggregator-list [body]=\"subgroup.value\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\"\n class=\"col-12\">\n </app-advanced-aggregator-list>\n </div>\n\n <!-- Footer for each subgroup -->\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ subgroup.value | callAggregator: aggregators: aggregator.name }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>",
|
|
142
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
143
|
-
}] }
|
|
144
|
-
];
|
|
145
|
-
/** @nocollapse */
|
|
146
|
-
AdvancedAggregatorComponent.ctorParameters = () => [
|
|
147
|
-
{ type: ChangeDetectorRef },
|
|
148
|
-
{ type: AdvancedAggregatorService },
|
|
149
|
-
{ type: LoadingService }
|
|
150
|
-
];
|
|
151
|
-
AdvancedAggregatorComponent.propDecorators = {
|
|
152
|
-
config: [{ type: Input, args: ['config',] }],
|
|
153
|
-
aggregators: [{ type: Input, args: ['aggregators',] }],
|
|
154
|
-
postProcessors: [{ type: Input, args: ['postProcessors',] }],
|
|
155
|
-
params: [{ type: Input, args: ['params',] }],
|
|
156
|
-
selectedGroups$: [{ type: Input, args: ['selectedGroups',] }],
|
|
157
|
-
filters$: [{ type: Input, args: ['filters',] }],
|
|
158
|
-
searchExpression: [{ type: Input, args: ['searchExpression',] }],
|
|
159
|
-
eventHandler: [{ type: Output }]
|
|
160
|
-
};
|
|
161
|
-
if (false) {
|
|
162
|
-
/** @type {?} */
|
|
163
|
-
AdvancedAggregatorComponent.prototype._config;
|
|
164
|
-
/** @type {?} */
|
|
165
|
-
AdvancedAggregatorComponent.prototype._aggregators;
|
|
166
|
-
/** @type {?} */
|
|
167
|
-
AdvancedAggregatorComponent.prototype._postProcessors;
|
|
168
|
-
/** @type {?} */
|
|
169
|
-
AdvancedAggregatorComponent.prototype.body;
|
|
170
|
-
/** @type {?} */
|
|
171
|
-
AdvancedAggregatorComponent.prototype.groups;
|
|
172
|
-
/** @type {?} */
|
|
173
|
-
AdvancedAggregatorComponent.prototype.params;
|
|
174
|
-
/** @type {?} */
|
|
175
|
-
AdvancedAggregatorComponent.prototype.selectedGroups$;
|
|
176
|
-
/** @type {?} */
|
|
177
|
-
AdvancedAggregatorComponent.prototype.filters$;
|
|
178
|
-
/** @type {?} */
|
|
179
|
-
AdvancedAggregatorComponent.prototype.searchExpression;
|
|
180
|
-
/** @type {?} */
|
|
181
|
-
AdvancedAggregatorComponent.prototype.eventHandler;
|
|
182
|
-
/** @type {?} */
|
|
183
|
-
AdvancedAggregatorComponent.prototype._changeDetector;
|
|
184
|
-
/** @type {?} */
|
|
185
|
-
AdvancedAggregatorComponent.prototype._advancedAggregatorService;
|
|
186
|
-
/** @type {?} */
|
|
187
|
-
AdvancedAggregatorComponent.prototype._loadingService;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBYSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUUzRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7QUFlbkQsTUFBTTs7Ozs7O0lBaUNKLFlBQ1UsaUJBQ0EsNEJBQ0E7UUFGQSxvQkFBZSxHQUFmLGVBQWU7UUFDZiwrQkFBMEIsR0FBMUIsMEJBQTBCO1FBQzFCLG9CQUFlLEdBQWYsZUFBZTtzQkE3QkYsRUFBRTs0QkF3QkEsSUFBSSxZQUFZLEVBQUU7S0FNdEM7Ozs7O0lBNUJMLElBQ1csTUFBTSxDQUFDLEtBQStCO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0tBQ3RCOzs7OztJQUVELElBQ1csV0FBVyxDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7S0FDM0I7Ozs7O0lBRUQsSUFDVyxjQUFjLENBQUMsS0FBSztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztLQUM5Qjs7OztRQWlCVSxNQUFNO1FBQ2YseUJBQU8sSUFBSSxDQUFDLE9BQW1DLEVBQUM7Ozs7O1FBR3ZDLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDOzs7OztRQUdoQixjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzs7Ozs7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UzsrQkFDZixLQUFLLFNBQUMsa0JBQWtCOzJCQUV4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkdmFuY2VkQWdncmVnYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWcsIEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMgfSBmcm9tICcuLi8uLi9hZHZhbmNlZC1hZ2dyZWdhdG9yJztcbmltcG9ydCB7IExvYWRpbmdTZXJ2aWNlIH0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuXG4vKipcbiAqXG4gKiBcbiAqICBAY2xhc3NkZXNjIEFuIGFkdmFuY2VkIGxpc3Qgd2l0aCB0aGUgY2FwYWJpbGl0eSBvZiBhZ2dyZWdhdGUgZGF0YSBiYXNlZCBvbiBjb25maWd1cmFibGUgZmlsdGVyc1xuICpcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC1hZHZhbmNlZC1hZ2dyZWdhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2NvbmZpZz86IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZztcbiAgcHJpdmF0ZSBfYWdncmVnYXRvcnM7XG4gIHByaXZhdGUgX3Bvc3RQcm9jZXNzb3JzO1xuXG4gIHB1YmxpYyBib2R5O1xuICBwdWJsaWMgZ3JvdXBzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgnY29uZmlnJylcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdhZ2dyZWdhdG9ycycpXG4gIHB1YmxpYyBzZXQgYWdncmVnYXRvcnModmFsdWUpIHtcbiAgICB0aGlzLl9hZ2dyZWdhdG9ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwb3N0UHJvY2Vzc29ycycpXG4gIHB1YmxpYyBzZXQgcG9zdFByb2Nlc3NvcnModmFsdWUpIHtcbiAgICB0aGlzLl9wb3N0UHJvY2Vzc29ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKSBwYXJhbXM7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdzZWxlY3RlZEdyb3VwcycpIHNlbGVjdGVkR3JvdXBzJDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2ZpbHRlcnMnKSBmaWx0ZXJzJDtcbiAgQElucHV0KCdzZWFyY2hFeHByZXNzaW9uJykgc2VhcmNoRXhwcmVzc2lvbj86IHN0cmluZztcblxuICBAT3V0cHV0KCkgZXZlbnRIYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlOiBBZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcgYXMgQWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBhZ2dyZWdhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWdncmVnYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvc3RQcm9jZXNzb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc29ycztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5ncm91cHMgPSBkYXRhO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlcnMkLnN1YnNjcmliZShhc3luYyAoZmlsdGVyczogQWR2YW5jZWRBZ2dyZWdhdG9yRmlsdGVycykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaChmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsdGVycyQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRhdGFcbiAgICpcbiAgICovXG4gIGFzeW5jIGZldGNoKGZpbHRlcnM6IEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2Uuc2hvd0xvYWRpbmcoKTtcbiAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5fYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZS5mZXRjaERhdGEodGhpcy5jb25maWcubW9kZWwsXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICB0aGlzLmNvbmZpZy5xdWVyeSxcbiAgICAgICAgZmlsdGVycy5maWx0ZXJzLFxuICAgICAgICB0aGlzLnNlYXJjaEV4cHJlc3Npb24sXG4gICAgICAgIGZpbHRlcnMudGV4dFxuICAgICAgKTtcblxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgaWYgKHRoaXMucG9zdFByb2Nlc3NvcnMgJiYgT2JqZWN0LmtleXModGhpcy5wb3N0UHJvY2Vzc29ycykubGVuZ3RoID4gMCAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycyAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb25maWcucG9zdFByb2Nlc3NvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5wb3N0UHJvY2Vzc29yc1t0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29yc1tpXS5uYW1lXShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmJvZHkgPSB0aGlzLl9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLmZvcm1hdERhdGEodGhpcy5jb25maWcsIGRhdGEpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRyaWdnZXJzIHRoZSBldmVudCBoYW5kbGVyIGV2ZW50XG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnQgZGF0YVxuICAgKlxuICAgKi9cbiAgb25BY3Rpb25FdmVudChldmVudCkge1xuICAgIHRoaXMuZXZlbnRIYW5kbGVyLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=
|
package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
6
|
-
import { TemplatePipe } from '@universis/common';
|
|
7
|
-
/** @enum {string} */
|
|
8
|
-
const Lengths = {
|
|
9
|
-
XL: 'xl',
|
|
10
|
-
LG: 'lg',
|
|
11
|
-
MD: 'md',
|
|
12
|
-
SM: 'sm',
|
|
13
|
-
XS: 'xs',
|
|
14
|
-
};
|
|
15
|
-
export class AdvancedAggregatorListComponent {
|
|
16
|
-
/**
|
|
17
|
-
* @param {?} _template
|
|
18
|
-
*/
|
|
19
|
-
constructor(_template) {
|
|
20
|
-
this._template = _template;
|
|
21
|
-
this.clickEvent = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @return {?}
|
|
25
|
-
*/
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.config.columns.forEach(x => {
|
|
28
|
-
x.length = Object.values(Lengths).includes(x.length) ? this._template.transform(`sis--list-group-item_${x.length}_column`, x) :
|
|
29
|
-
!x.length ? 'sis--list-group-item_sm_column' : x.length;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* Triggers the output event emitter
|
|
35
|
-
*
|
|
36
|
-
* @param {?} type The type of the event as it's declared in the configuration
|
|
37
|
-
* @param {?} data
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
callCallback(type, data) {
|
|
41
|
-
this.clickEvent.emit({
|
|
42
|
-
type,
|
|
43
|
-
data
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
AdvancedAggregatorListComponent.decorators = [
|
|
48
|
-
{ type: Component, args: [{
|
|
49
|
-
// tslint:disable-next-line:component-selector
|
|
50
|
-
selector: 'app-advanced-aggregator-list',
|
|
51
|
-
template: "<div id=\"group-list\" class=\"flex-column\" *ngIf=\"config && config.columns\">\n <ul class=\"sis--list-group sis--list-group-header\">\n <li class=\"sis--list-group-item text-wrap\">\n <div class=\"d-flex justify-content-center align-items-center\" *ngIf=\"body && body.length > 0\">\n <div *ngIf=\"config.actions && config.actions.length > 0\" class=\"sis--list-group-item_sm_column\"></div>\n <div *ngFor=\"let column of config.columns; let i = index\" class=\"text-left\" [class]=\"config.columns[i].length\"\n [translate]=\"config.columns[i].type === 'action' ? '' : column.title\" [ngClass]=\"{\n 'd-none': config.columns[i].hidden\n }\"></div>\n </div>\n </li>\n </ul>\n\n <!-- The list of entries -->\n <ul class=\"sis--list-group sis--list-group-body\" *ngIf=\"body && body.length > 0\">\n <li class=\"sis--list-group-item text-wrap\" *ngFor=\"let entry of body | orderBy: config.orderBy\">\n <div class=\"d-flex justify-content-center align-items-center list-color\">\n <!-- The list of actions -->\n <div *ngIf=\"config.actions && config.actions.length > 0\" class=\"sis--list-group-item_sm_column text-left pr-0\">\n <button *ngFor=\"let action of config.actions\" (click)=\"callCallback(action.identifier, entry)\"\n [title]=\"(action.title ? action.title : '') | translate \" class=\"btn btn-default px-0\">\n <i class=\"\" [class]=\"'fas text-indigo ml-2 ' + 'fa-' + action.icon\"></i>\n </button>\n <span class=\"px-0\">\n <i class=\"fa fa-fw\"> </i>\n </span>\n\n </div>\n <!-- The list of data -->\n <div *ngFor=\"let column of config.columns; let i=index\" [class]=\"config.columns[i].length\" class=\"text-left\"\n [ngClass]=\"{\n 'text-truncate': config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate,\n 'd-none': config.columns[i].hidden,\n 'd-md-block': !config.columns[i].hidden\n }\"\n [title]=\"config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate ? entry[column.name] : ''\">\n <span class=\"text-secondary\"\n *ngIf=\"!config.columns[i].hasOwnProperty('type') || (config.columns[i].hasOwnProperty('type') && config.columns[i].type === 'text')\"\n [ngClass]=\"{\n 'font-xs': config.columns[i].variant !== 'primary',\n 'text-body': config.columns[i].variant === 'primary',\n 'text-success': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && entry[config.columns[i].condition],\n 'text-danger': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && !entry[config.columns[i].condition],\n 'font-lg': config.columns[i].variant === 'redGreen' && entry[column.name] && entry[column.name].length > 3,\n 'font-2xl': config.columns[i].variant === 'redGreen' && entry[column.name] && entry[column.name].length <= 3\n }\">\n {{entry[column.name] || '-'}}\n </span>\n\n <span *ngIf=\"config.columns[i].type === 'boolean'\">\n <i class=\"fa font-lg\" [ngClass]=\"{\n 'fa-check text-success': !!entry[column.name],\n 'fa-times text-danger': !!entry[column.name] === false && config.columns[i].variant !== 'checkOrDash'\n }\"></i>\n <span\n *ngIf=\"entry[column.name].toString() !== config.columns[i].trueValue && config.columns[i].variant === 'checkOrDash'\"\n class=\"text-secondary font-xs\">-</span>\n </span>\n </div>\n </div>\n <div *ngIf=\"entry && entry.subitems\">\n <div *ngFor=\"let subitem of entry.subitems\" class=\"d-flex justify-content-center align-items-center list-color\">\n <div *ngIf=\"config.actions && config.actions.length > 0\"\n class=\"sis--list-group-item_sm_column text-left pr-0\">\n <span class=\"px-0\">\n <i class=\"fa fa-fw\"> </i>\n </span>\n <button *ngFor=\"let action of config.actions\" (click)=\"callCallback(action.identifier, subitem)\"\n [title]=\"(action.title ? action.title : '') | translate \" class=\"btn btn-default px-0\">\n <i *ngIf=\"action.type === 'edit'\" class=\"fas fa-edit text-indigo\"></i>\n </button>\n </div>\n <div class=\"text-left\"></div>\n <div *ngFor=\"let column of config.columns; let i=index\" [class]=\"config.columns[i].length\" class=\"text-left\"\n [ngClass]=\"{\n 'text-truncate': config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate,\n 'd-none': config.columns[i].hidden,\n 'd-md-block': !config.columns[i].hidden\n }\"\n [title]=\"config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate ? entry[column.name] : ''\">\n <span class=\"text-secondary\"\n *ngIf=\"!config.columns[i].hasOwnProperty('type') || (config.columns[i].hasOwnProperty('type') && config.columns[i].type === 'text')\"\n [ngClass]=\"{\n 'font-xs': config.columns[i].variant !== 'primary',\n 'text-body': config.columns[i].variant === 'primary',\n 'text-success': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && subitem[config.columns[i].condition],\n 'text-danger': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && !subitem[config.columns[i].condition],\n 'font-lg': config.columns[i].variant === 'redGreen' && subitem[column.name] && subitem[column.name].length > 3,\n 'font-2xl': config.columns[i].variant === 'redGreen' && subitem[column.name] && subitem[column.name].length <= 3\n }\">\n {{subitem[column.name] || '-'}}\n </span>\n <span *ngIf=\"config.columns[i].type === 'boolean'\">\n <i class=\"fa font-lg\" [ngClass]=\"{\n 'fa-check text-success': !!subitem[column.name],\n 'fa-times text-danger': !!subitem[column.name] === false && config.columns[i].variant !== 'checkOrDash'\n }\"></i>\n <span\n *ngIf=\"subitem[column.name].toString() !== config.columns[i].trueValue && config.columns[i].variant === 'checkOrDash'\"\n class=\"text-secondary font-xs\">-</span>\n </span>\n </div>\n </div>\n </div>\n </li>\n </ul>\n</div>"
|
|
52
|
-
}] }
|
|
53
|
-
];
|
|
54
|
-
/** @nocollapse */
|
|
55
|
-
AdvancedAggregatorListComponent.ctorParameters = () => [
|
|
56
|
-
{ type: TemplatePipe }
|
|
57
|
-
];
|
|
58
|
-
AdvancedAggregatorListComponent.propDecorators = {
|
|
59
|
-
config: [{ type: Input }],
|
|
60
|
-
body: [{ type: Input }],
|
|
61
|
-
clickEvent: [{ type: Output }]
|
|
62
|
-
};
|
|
63
|
-
if (false) {
|
|
64
|
-
/**
|
|
65
|
-
* \@property {AdvancedAggregatorConfig} config The configuration object to use
|
|
66
|
-
* @type {?}
|
|
67
|
-
*/
|
|
68
|
-
AdvancedAggregatorListComponent.prototype.config;
|
|
69
|
-
/**
|
|
70
|
-
* \@property {Array<Array<any>>} body The list of data entries to show as the list body
|
|
71
|
-
* @type {?}
|
|
72
|
-
*/
|
|
73
|
-
AdvancedAggregatorListComponent.prototype.body;
|
|
74
|
-
/** @type {?} */
|
|
75
|
-
AdvancedAggregatorListComponent.prototype.clickEvent;
|
|
76
|
-
/** @type {?} */
|
|
77
|
-
AdvancedAggregatorListComponent.prototype._template;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7O0lBRzlDLElBQUksSUFBSTtJQUNSLElBQUksSUFBSTtJQUNSLElBQUksSUFBSTtJQUNSLElBQUksSUFBSTtJQUNSLElBQUksSUFBSTs7QUFTVixNQUFNOzs7O0lBY0osWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYzswQkFGcEIsSUFBSSxZQUFZLEVBQUU7S0FFTzs7OztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLE1BQU0sU0FBUyxFQUFFLENBQUMsQ0FBRSxDQUFDLENBQUM7Z0JBQzlILENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUU7U0FDNUQsQ0FBQyxDQUFDO0tBQ0o7Ozs7Ozs7OztJQVVELFlBQVksQ0FBQyxJQUFZLEVBQUUsSUFBUztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNuQixJQUFJO1lBQ0osSUFBSTtTQUNMLENBQUMsQ0FBQztLQUNKOzs7WUF6Q0YsU0FBUyxTQUFDOztnQkFFVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4Qyxxb05BQXdEO2FBQ3pEOzs7O1lBZlEsWUFBWTs7O3FCQXFCbEIsS0FBSzttQkFLTCxLQUFLO3lCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBpcGV9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcblxuZW51bSBMZW5ndGhzIHtcbiAgWEw9ICd4bCcsXG4gIExHPSAnbGcnLFxuICBNRD0gJ21kJyxcbiAgU009ICdzbScsXG4gIFhTPSAneHMnXG59XG5cblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtYWdncmVnYXRvci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB7QWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnfSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIHVzZVxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB7QXJyYXk8QXJyYXk8YW55Pj59IGJvZHkgVGhlIGxpc3Qgb2YgZGF0YSBlbnRyaWVzIHRvIHNob3cgYXMgdGhlIGxpc3QgYm9keVxuICAgKi9cbiAgQElucHV0KCkgYm9keTtcblxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVQaXBlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZy5jb2x1bW5zLmZvckVhY2goeCA9PiB7XG4gICAgICB4Lmxlbmd0aCA9IE9iamVjdC52YWx1ZXMoTGVuZ3RocykuaW5jbHVkZXMoeC5sZW5ndGgpID8gdGhpcy5fdGVtcGxhdGUudHJhbnNmb3JtKGBzaXMtLWxpc3QtZ3JvdXAtaXRlbV8ke3gubGVuZ3RofV9jb2x1bW5gLCB4ICkgOlxuICAgICAgICAheC5sZW5ndGggPyAnc2lzLS1saXN0LWdyb3VwLWl0ZW1fc21fY29sdW1uJyA6IHgubGVuZ3RoIDtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUcmlnZ2VycyB0aGUgb3V0cHV0IGV2ZW50IGVtaXR0ZXJcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIGV2ZW50IGFzIGl0J3MgZGVjbGFyZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGl0ZW1cbiAgICogfVxuICAgKi9cbiAgY2FsbENhbGxiYWNrKHR5cGU6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoe1xuICAgICAgdHlwZSxcbiAgICAgIGRhdGFcbiAgICB9KTtcbiAgfVxufVxuIl19
|