@universis/ngx-tables 0.7.20 → 0.7.24

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.
Files changed (37) hide show
  1. package/bundles/universis-ngx-tables.umd.js +439 -12
  2. package/bundles/universis-ngx-tables.umd.js.map +1 -1
  3. package/bundles/universis-ngx-tables.umd.min.js +1 -1
  4. package/bundles/universis-ngx-tables.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/add-items/add-items.component.js +2 -2
  6. package/esm2015/lib/components/advanced-table/advanced-table.component.js +72 -3
  7. package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +1 -1
  8. package/esm2015/lib/components/column-selector/column-selector.component.js +190 -0
  9. package/esm2015/lib/components/column-selector/column-selector.service.js +47 -0
  10. package/esm2015/lib/directives/advance-table-state.directive.js +1 -1
  11. package/esm2015/lib/i18n/tables.el.js +15 -2
  12. package/esm2015/lib/i18n/tables.en.js +15 -2
  13. package/esm2015/lib/tables.module.js +10 -4
  14. package/esm2015/public_api.js +3 -1
  15. package/esm5/lib/components/add-items/add-items.component.js +2 -2
  16. package/esm5/lib/components/advanced-table/advanced-table.component.js +73 -3
  17. package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +1 -1
  18. package/esm5/lib/components/column-selector/column-selector.component.js +257 -0
  19. package/esm5/lib/components/column-selector/column-selector.service.js +50 -0
  20. package/esm5/lib/directives/advance-table-state.directive.js +1 -1
  21. package/esm5/lib/i18n/tables.el.js +15 -2
  22. package/esm5/lib/i18n/tables.en.js +15 -2
  23. package/esm5/lib/tables.module.js +10 -4
  24. package/esm5/public_api.js +3 -1
  25. package/fesm2015/universis-ngx-tables.js +335 -11
  26. package/fesm2015/universis-ngx-tables.js.map +1 -1
  27. package/fesm5/universis-ngx-tables.js +403 -11
  28. package/fesm5/universis-ngx-tables.js.map +1 -1
  29. package/lib/components/advanced-table/advanced-table.component.d.ts +6 -1
  30. package/lib/components/advanced-table/advanced-table.interfaces.d.ts +2 -0
  31. package/lib/components/column-selector/column-selector.component.d.ts +37 -0
  32. package/lib/components/column-selector/column-selector.service.d.ts +19 -0
  33. package/lib/i18n/tables.el.d.ts +13 -0
  34. package/lib/i18n/tables.en.d.ts +13 -0
  35. package/package.json +3 -2
  36. package/public_api.d.ts +2 -0
  37. package/universis-ngx-tables.metadata.json +1 -1
@@ -38,6 +38,8 @@ import { AdvancedSearchState } from './directives/advance-search-state.directive
38
38
  import { AdvancedTableState } from './directives/advance-table-state.directive';
39
39
  import { AdvancedSearchRouterState } from './directives/advanced-search-router-state.directive';
40
40
  import { AdvancedTableSearchBaseComponent } from './components/advanced-table/advanced-table-search-base';
41
+ import { ColumnSelectorComponent } from './components/column-selector/column-selector.component';
42
+ import { ColumnSelectorService } from './components/column-selector/column-selector.service';
41
43
  var ɵ0 = FORMATTERS;
42
44
  var TablesModule = /** @class */ (function () {
43
45
  function TablesModule(_translateService) {
@@ -82,6 +84,7 @@ var TablesModule = /** @class */ (function () {
82
84
  AdvancedSearchConfigurationResolver,
83
85
  AdvancedSelectService,
84
86
  AdvancedAggregatorService,
87
+ ColumnSelectorService,
85
88
  GroupByPipe
86
89
  ],
87
90
  declarations: [
@@ -105,7 +108,8 @@ var TablesModule = /** @class */ (function () {
105
108
  AddItemsComponent,
106
109
  AdvancedSearchState,
107
110
  AdvancedTableState,
108
- AdvancedSearchRouterState
111
+ AdvancedSearchRouterState,
112
+ ColumnSelectorComponent
109
113
  ],
110
114
  exports: [
111
115
  AdvancedTableComponent,
@@ -124,14 +128,16 @@ var TablesModule = /** @class */ (function () {
124
128
  AddItemsComponent,
125
129
  AdvancedSearchState,
126
130
  AdvancedTableState,
127
- AdvancedSearchRouterState
131
+ AdvancedSearchRouterState,
132
+ ColumnSelectorComponent
128
133
  ],
129
134
  entryComponents: [
130
135
  AdvancedTableModalBaseComponent,
131
136
  AdvancedTableSettingsComponent,
132
137
  AdvancedRowActionComponent,
133
138
  AdvancedSelectComponent,
134
- AddItemsComponent
139
+ AddItemsComponent,
140
+ ColumnSelectorComponent
135
141
  ],
136
142
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
137
143
  },] }
@@ -145,4 +151,4 @@ var TablesModule = /** @class */ (function () {
145
151
  export { TablesModule };
146
152
  export { ɵ0 };
147
153
 
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi90YWJsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFVLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7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eUJBQXlCO3dCQUN6QixXQUFXO3FCQUNaO29CQUNILFlBQVksRUFBRTt3QkFDVixzQkFBc0I7d0JBQ3RCLGdDQUFnQzt3QkFDaEMsNEJBQTRCO3dCQUM1QixlQUFlO3dCQUNmLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIseUJBQXlCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLGVBQWU7d0JBQ2YsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix5QkFBeUI7cUJBQzVCO29CQUNELGVBQWUsRUFBRTt3QkFDYiwrQkFBK0I7d0JBQy9CLDhCQUE4Qjt3QkFDOUIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzs7O2dCQXhId0IsZ0JBQWdCOztJQXNJekMsbUJBQUM7Q0FBQSxBQTVGRCxJQTRGQztTQWJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBPbkluaXQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FkdmFuY2VkVGFibGVDb21wb25lbnQsIENPTFVNTl9GT1JNQVRURVJTfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZVNlYXJjaENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7QnRuRXhwRGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvYnRuZXhwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0FkdmFuY2VkVGFibGVTZXR0aW5nc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZSwgVGVtcGxhdGVQaXBlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlTW9kYWxCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlLW1vZGFsL2FkdmFuY2VkLXRhYmxlLW1vZGFsLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTW9kYWxNb2R1bGV9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHsgQWR2YW5jZWRTZWFyY2hGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXNlYXJjaC1mb3JtL2FkdmFuY2VkLXNlYXJjaC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge0FkdmFuY2VkRm9ybXNNb2R1bGV9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtGb3JtaW9Nb2R1bGV9IGZyb20gJ2FuZ3VsYXItZm9ybWlvJztcbmltcG9ydCB7IEFkdmFuY2VkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC1saXN0L2FkdmFuY2VkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgICBBZHZhbmNlZFNlYXJjaENvbmZpZ3VyYXRpb25SZXNvbHZlcixcbiAgICBBZHZhbmNlZFRhYmxlQ29uZmlndXJhdGlvblJlc29sdmVyXG59IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1yZXNvbHZlcnMnO1xuaW1wb3J0IHtBZHZhbmNlZFJvd0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXJvdy1hY3Rpb24vYWR2YW5jZWQtcm93LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtGT1JNQVRURVJTfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuZm9ybWF0dGVycy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQge1RBQkxFU19FTH0gZnJvbSAnLi9pMThuL3RhYmxlcy5lbCc7XG5pbXBvcnQge1RBQkxFU19FTn0gZnJvbSAnLi9pMThuL3RhYmxlcy5lbic7XG5pbXBvcnQgeyBUYWJsZVNpbXBsZUhlYWRlckNvbXBvbmVudCwgU2ltcGxlSGVhZGVyVG9vbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtc2ltcGxlLWhlYWRlci90YWJsZS1zaW1wbGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NiYXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Byb2dyZXNzYmFyJztcbmltcG9ydCB7IEFkdmFuY2VkU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXNlbGVjdC9hZHZhbmNlZC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkU2VsZWN0U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC1zZWxlY3QvYWR2YW5jZWQtc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZUVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hZHZhbmNlZC10YWJsZS1lZGl0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7QWR2YW5jZWRBZ2dyZWdhdG9yQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IvYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnRcIjtcbmltcG9ydCB7QWR2YW5jZWRBZ2dyZWdhdG9yTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QvYWR2YW5jZWQtYWdncmVnYXRvci1saXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IvYWR2YW5jZWQtYWdncmVnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7QWR2YW5jZWRBZ2dyZWdhdG9yUGlwZX0gZnJvbSAnLi9waXBlcy9hZHZhbmNlZC1hZ2dyZWdhdG9yLnBpcGUnO1xuaW1wb3J0IHtHcm91cEJ5UGlwZSwgTmdQaXBlc01vZHVsZX0gZnJvbSAnbmd4LXBpcGVzJztcbmltcG9ydCB7UGFyc2VUaXRsZVBpcGV9IGZyb20gJy4vcGlwZXMvYWR2YW5zZWQtYWdncmVnYXRvci1saXN0LXRpdGxlLXBhcnNlLnBpcGUnO1xuaW1wb3J0IHtBZGRJdGVtc0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZGQtaXRlbXMvYWRkLWl0ZW1zLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQWR2YW5jZWRTZWFyY2hTdGF0ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hZHZhbmNlLXNlYXJjaC1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZVN0YXRlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkdmFuY2UtdGFibGUtc3RhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkU2VhcmNoUm91dGVyU3RhdGUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYWR2YW5jZWQtc2VhcmNoLXJvdXRlci1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZVNlYXJjaEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLWJhc2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTaGFyZWRNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kYWxNb2R1bGUsXG4gICAgICAgIEZvcm1pb01vZHVsZSxcbiAgICAgICAgQWR2YW5jZWRGb3Jtc01vZHVsZSxcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBNb2RhbE1vZHVsZSxcbiAgICAgICAgUHJvZ3Jlc3NiYXJNb2R1bGUsXG4gICAgICAgIE5nUGlwZXNNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0RhdGVQaXBlLCBUZW1wbGF0ZVBpcGUsXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IENPTFVNTl9GT1JNQVRURVJTLFxuICAgICAgICB1c2VWYWx1ZTogRk9STUFUVEVSU1xuICAgICAgfSxcblxuICAgICAgQWR2YW5jZWRUYWJsZUNvbmZpZ3VyYXRpb25SZXNvbHZlcixcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hDb25maWd1cmF0aW9uUmVzb2x2ZXIsXG4gICAgICAgIEFkdmFuY2VkU2VsZWN0U2VydmljZSxcbiAgICAgICAgQWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZSxcbiAgICAgICAgR3JvdXBCeVBpcGVcbiAgICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZWFyY2hCYXNlQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlU2VhcmNoQ29tcG9uZW50LFxuICAgICAgICBCdG5FeHBEaXJlY3RpdmUsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZXR0aW5nc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZExpc3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkUm93QWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBUYWJsZVNpbXBsZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgU2ltcGxlSGVhZGVyVG9vbHNDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlRWRpdG9yRGlyZWN0aXZlLFxuICAgICAgICBBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvckxpc3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvclBpcGUsXG4gICAgICAgIFBhcnNlVGl0bGVQaXBlLFxuICAgICAgICBBZGRJdGVtc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hTdGF0ZSxcbiAgICAgICAgQWR2YW5jZWRUYWJsZVN0YXRlLFxuICAgICAgICBBZHZhbmNlZFNlYXJjaFJvdXRlclN0YXRlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnQsXG4gICAgICAgIEJ0bkV4cERpcmVjdGl2ZSxcbiAgICAgICAgQWR2YW5jZWRUYWJsZVNldHRpbmdzQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFNlYXJjaEZvcm1Db21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkTGlzdENvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRSb3dBY3Rpb25Db21wb25lbnQsXG4gICAgICAgIFRhYmxlU2ltcGxlSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBTaW1wbGVIZWFkZXJUb29sc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkVGFibGVFZGl0b3JEaXJlY3RpdmUsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvckNvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRBZ2dyZWdhdG9yTGlzdENvbXBvbmVudCxcbiAgICAgICAgQWRkSXRlbXNDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkU2VhcmNoU3RhdGUsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTdGF0ZSxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hSb3V0ZXJTdGF0ZVxuICAgIF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgICAgIEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZXR0aW5nc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRSb3dBY3Rpb25Db21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBBZGRJdGVtc0NvbXBvbmVudFxuICAgIF0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlc01vZHVsZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICB0aGlzLm5nT25Jbml0KCkuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgdGFibGVzIG1vZHVsZScpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbignZW4nLCBUQUJMRVNfRU4sIHRydWUpO1xuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKCdlbCcsIFRBQkxFU19FTCwgdHJ1ZSk7XG4gICAgfVxuXG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi90YWJsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFVLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7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QztDQUFBLEFBaEdELElBZ0dDO1NBYlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE9uSW5pdCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZUNvbXBvbmVudCwgQ09MVU1OX0ZPUk1BVFRFUlN9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBZHZhbmNlZFRhYmxlU2VhcmNoQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtCdG5FeHBEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9idG5leHAuZGlyZWN0aXZlJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZVNldHRpbmdzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7U2hhcmVkTW9kdWxlLCBUZW1wbGF0ZVBpcGV9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXJNb2RhbE1vZHVsZX0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24vcm91dGluZyc7XG5pbXBvcnQgeyBBZHZhbmNlZFNlYXJjaEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VhcmNoLWZvcm0vYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7QWR2YW5jZWRGb3Jtc01vZHVsZX0gZnJvbSAnQHVuaXZlcnNpcy9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1pb01vZHVsZX0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHsgQWR2YW5jZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLWxpc3QvYWR2YW5jZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIEFkdmFuY2VkU2VhcmNoQ29uZmlndXJhdGlvblJlc29sdmVyLFxuICAgIEFkdmFuY2VkVGFibGVDb25maWd1cmF0aW9uUmVzb2x2ZXJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXJlc29sdmVycyc7XG5pbXBvcnQge0FkdmFuY2VkUm93QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtcm93LWFjdGlvbi9hZHZhbmNlZC1yb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZPUk1BVFRFUlN9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5mb3JtYXR0ZXJzLmludGVyZmFjZSc7XG5cbmltcG9ydCB7VEFCTEVTX0VMfSBmcm9tICcuL2kxOG4vdGFibGVzLmVsJztcbmltcG9ydCB7VEFCTEVTX0VOfSBmcm9tICcuL2kxOG4vdGFibGVzLmVuJztcbmltcG9ydCB7IFRhYmxlU2ltcGxlSGVhZGVyQ29tcG9uZW50LCBTaW1wbGVIZWFkZXJUb29sc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1zaW1wbGUtaGVhZGVyL3RhYmxlLXNpbXBsZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBQcm9ncmVzc2Jhck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvcHJvZ3Jlc3NiYXInO1xuaW1wb3J0IHsgQWR2YW5jZWRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VsZWN0L2FkdmFuY2VkLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWR2YW5jZWRTZWxlY3RTZXJ2aWNlIH0gZnJvbSAnLi9jb21wb25lbnRzL2FkdmFuY2VkLXNlbGVjdC9hZHZhbmNlZC1zZWxlY3Quc2VydmljZSc7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkdmFuY2VkLXRhYmxlLWVkaXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYWR2YW5jZWQtYWdncmVnYXRvci9hZHZhbmNlZC1hZ2dyZWdhdG9yLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBZHZhbmNlZEFnZ3JlZ2F0b3JMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQge0FkdmFuY2VkQWdncmVnYXRvclNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvYWR2YW5jZWQtYWdncmVnYXRvci9hZHZhbmNlZC1hZ2dyZWdhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtBZHZhbmNlZEFnZ3JlZ2F0b3JQaXBlfSBmcm9tICcuL3BpcGVzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IucGlwZSc7XG5pbXBvcnQge0dyb3VwQnlQaXBlLCBOZ1BpcGVzTW9kdWxlfSBmcm9tICduZ3gtcGlwZXMnO1xuaW1wb3J0IHtQYXJzZVRpdGxlUGlwZX0gZnJvbSAnLi9waXBlcy9hZHZhbnNlZC1hZ2dyZWdhdG9yLWxpc3QtdGl0bGUtcGFyc2UucGlwZSc7XG5pbXBvcnQge0FkZEl0ZW1zQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBZHZhbmNlZFNlYXJjaFN0YXRlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkdmFuY2Utc2VhcmNoLXN0YXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlU3RhdGUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRTZWFyY2hSb3V0ZXJTdGF0ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hZHZhbmNlZC1zZWFyY2gtcm91dGVyLXN0YXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZHZhbmNlZFRhYmxlU2VhcmNoQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1zZWFyY2gtYmFzZSc7XG5pbXBvcnQgeyBDb2x1bW5TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2x1bW5TZWxlY3RvclNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZGFsTW9kdWxlLFxuICAgICAgICBGb3JtaW9Nb2R1bGUsXG4gICAgICAgIEFkdmFuY2VkRm9ybXNNb2R1bGUsXG4gICAgICAgIFNoYXJlZE1vZHVsZSxcbiAgICAgICAgTW9kYWxNb2R1bGUsXG4gICAgICAgIFByb2dyZXNzYmFyTW9kdWxlLFxuICAgICAgICBOZ1BpcGVzTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgVGVtcGxhdGVQaXBlLFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBDT0xVTU5fRk9STUFUVEVSUyxcbiAgICAgICAgdXNlVmFsdWU6IEZPUk1BVFRFUlNcbiAgICAgIH0sXG5cbiAgICAgIEFkdmFuY2VkVGFibGVDb25maWd1cmF0aW9uUmVzb2x2ZXIsXG4gICAgICAgIEFkdmFuY2VkU2VhcmNoQ29uZmlndXJhdGlvblJlc29sdmVyLFxuICAgICAgICBBZHZhbmNlZFNlbGVjdFNlcnZpY2UsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvclNlcnZpY2UsXG4gICAgICAgIENvbHVtblNlbGVjdG9yU2VydmljZSxcbiAgICAgICAgR3JvdXBCeVBpcGVcbiAgICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFkdmFuY2VkVGFibGVDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZWFyY2hCYXNlQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlU2VhcmNoQ29tcG9uZW50LFxuICAgICAgICBCdG5FeHBEaXJlY3RpdmUsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZXR0aW5nc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZExpc3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkUm93QWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBUYWJsZVNpbXBsZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgU2ltcGxlSGVhZGVyVG9vbHNDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlRWRpdG9yRGlyZWN0aXZlLFxuICAgICAgICBBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvckxpc3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvclBpcGUsXG4gICAgICAgIFBhcnNlVGl0bGVQaXBlLFxuICAgICAgICBBZGRJdGVtc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hTdGF0ZSxcbiAgICAgICAgQWR2YW5jZWRUYWJsZVN0YXRlLFxuICAgICAgICBBZHZhbmNlZFNlYXJjaFJvdXRlclN0YXRlLFxuICAgICAgICBDb2x1bW5TZWxlY3RvckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBZHZhbmNlZFRhYmxlQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlU2VhcmNoQ29tcG9uZW50LFxuICAgICAgICBCdG5FeHBEaXJlY3RpdmUsXG4gICAgICAgIEFkdmFuY2VkVGFibGVTZXR0aW5nc0NvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZExpc3RDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkUm93QWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBUYWJsZVNpbXBsZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgU2ltcGxlSGVhZGVyVG9vbHNDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFRhYmxlRWRpdG9yRGlyZWN0aXZlLFxuICAgICAgICBBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnQsXG4gICAgICAgIEFkdmFuY2VkQWdncmVnYXRvckxpc3RDb21wb25lbnQsXG4gICAgICAgIEFkZEl0ZW1zQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFNlYXJjaFN0YXRlLFxuICAgICAgICBBZHZhbmNlZFRhYmxlU3RhdGUsXG4gICAgICAgIEFkdmFuY2VkU2VhcmNoUm91dGVyU3RhdGUsXG4gICAgICAgIENvbHVtblNlbGVjdG9yQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICAgICAgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRUYWJsZVNldHRpbmdzQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZFJvd0FjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQWR2YW5jZWRTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIEFkZEl0ZW1zQ29tcG9uZW50LFxuICAgICAgICBDb2x1bW5TZWxlY3RvckNvbXBvbmVudFxuICAgIF0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlc01vZHVsZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICB0aGlzLm5nT25Jbml0KCkuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgdGFibGVzIG1vZHVsZScpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbignZW4nLCBUQUJMRVNfRU4sIHRydWUpO1xuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKCdlbCcsIFRBQkxFU19FTCwgdHJ1ZSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -26,6 +26,8 @@ export * from './lib/pipes/advansed-aggregator-list-title-parse.pipe';
26
26
  export * from './lib/services/advanced-aggregator/advanced-aggregator.service';
27
27
  export * from './lib/tables.module';
28
28
  export * from './lib/tables.activated-table.service';
29
+ export * from './lib/components/column-selector/column-selector.service';
30
+ export * from './lib/components/column-selector/column-selector.component';
29
31
  export * from './lib/reducers/index';
30
32
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxzRUFBc0UsQ0FBQztBQUVyRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMERBQTBELENBQUM7QUFHekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHdFQUF3RSxDQUFDO0FBRXZGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxvRUFBb0UsQ0FBQztBQUVuRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0VBQWdFLENBQUM7QUFHL0UsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRhYmxlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLWxpc3QvYWR2YW5jZWQtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1yb3ctYWN0aW9uL2FkdmFuY2VkLXJvdy1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VhcmNoLWZvcm0vYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1zZWxlY3QvYWR2YW5jZWQtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXNlbGVjdC9hZHZhbmNlZC1zZWxlY3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXJlc29sdmVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmZvcm1hdHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1zZXR0aW5ncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1zZWFyY2gtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5mb3JtYXR0ZXJzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLWZpbHRlci12YWx1ZS1wcm92aWRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS1tb2RhbC9hZHZhbmNlZC10YWJsZS1tb2RhbC1iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlLXNpbXBsZS1oZWFkZXIvdGFibGUtc2ltcGxlLWhlYWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2FkdmFuY2VkLXRhYmxlLWVkaXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9idG5leHAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtYWdncmVnYXRvci9hZHZhbmNlZC1hZ2dyZWdhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLWl0ZW1zL2FkZC1pdGVtcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvYWR2YW5jZWQtYWdncmVnYXRvci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2FkdmFuc2VkLWFnZ3JlZ2F0b3ItbGlzdC10aXRsZS1wYXJzZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IvYWR2YW5jZWQtYWdncmVnYXRvci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWR2YW5jZWQtYWdncmVnYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlcy5hY3RpdmF0ZWQtdGFibGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlZHVjZXJzL2luZGV4JzsiXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxzRUFBc0UsQ0FBQztBQUVyRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMERBQTBELENBQUM7QUFHekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHdFQUF3RSxDQUFDO0FBRXZGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxvRUFBb0UsQ0FBQztBQUVuRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0VBQWdFLENBQUM7QUFHL0UsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0YWJsZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1saXN0L2FkdmFuY2VkLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtcm93LWFjdGlvbi9hZHZhbmNlZC1yb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXNlYXJjaC1mb3JtL2FkdmFuY2VkLXNlYXJjaC1mb3JtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VsZWN0L2FkdmFuY2VkLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1zZWxlY3QvYWR2YW5jZWQtc2VsZWN0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1yZXNvbHZlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5mb3JtYXR0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2V0dGluZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS1zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuZm9ybWF0dGVycy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC1maWx0ZXItdmFsdWUtcHJvdmlkZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS1zaW1wbGUtaGVhZGVyL3RhYmxlLXNpbXBsZS1oZWFkZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hZHZhbmNlZC10YWJsZS1lZGl0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYnRuZXhwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IvYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QvYWR2YW5jZWQtYWdncmVnYXRvci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9hZHZhbnNlZC1hZ2dyZWdhdG9yLWxpc3QtdGl0bGUtcGFyc2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3Iuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FkdmFuY2VkLWFnZ3JlZ2F0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZXMuYWN0aXZhdGVkLXRhYmxlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVkdWNlcnMvaW5kZXgnOyJdfQ==
@@ -2,6 +2,7 @@ import { getNativeName } from 'iso-639-1/build';
2
2
  import * as jQuery_ from 'jquery';
3
3
  import 'datatables.net';
4
4
  import 'datatables.net-scroller';
5
+ import 'datatables.net-colreorder';
5
6
  import 'rxjs/add/observable/combineLatest';
6
7
  import { HttpClient } from '@angular/common/http';
7
8
  import { ClientDataQueryable, ResponseError, TextUtils } from '@themost/client';
@@ -10,8 +11,8 @@ import { AngularDataContext } from '@themost/angular';
10
11
  import { __awaiter } from 'tslib';
11
12
  import { DatePipe, CommonModule } from '@angular/common';
12
13
  import { TranslateService, TranslatePipe, TranslateModule } from '@ngx-translate/core';
13
- import { FormArray, FormBuilder, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
14
- import { TemplatePipe, LoadingService, ErrorService, DIALOG_BUTTONS, ModalService, UserActivityService, ToastService, AppEventService, UserStorageService, ConfigurationService, SharedModule } from '@universis/common';
14
+ import { FormControl, FormArray, FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
15
+ import { TemplatePipe, ModalService, LoadingService, ErrorService, DIALOG_BUTTONS, UserActivityService, ToastService, AppEventService, UserStorageService, ConfigurationService, SharedModule } from '@universis/common';
15
16
  import { RouterModalOkCancel, RouterModalModule } from '@universis/common/routing';
16
17
  import { ServiceUrlPreProcessor, TranslatePreProcessor, AdvancedFormsModule } from '@universis/forms';
17
18
  import { FormioModule } from 'angular-formio';
@@ -472,6 +473,232 @@ AdvancedFilterValueProvider.decorators = [
472
473
  AdvancedFilterValueProvider.ctorParameters = () => [];
473
474
  AdvancedFilterValueProvider.ngInjectableDef = defineInjectable({ factory: function AdvancedFilterValueProvider_Factory() { return new AdvancedFilterValueProvider(); }, token: AdvancedFilterValueProvider, providedIn: "root" });
474
475
 
476
+ class ColumnSelectorComponent extends RouterModalOkCancel {
477
+ constructor(router, activatedRoute, _modalRef, ref, _translateService) {
478
+ super(router, activatedRoute);
479
+ this._modalRef = _modalRef;
480
+ this.ref = ref;
481
+ this._translateService = _translateService;
482
+ this.dismiss = new EventEmitter();
483
+ this.availableColumnsControl = new FormControl();
484
+ this.selectedColumnsControl = new FormControl();
485
+ }
486
+ ok() {
487
+ this._modalRef.hide();
488
+ this.applyChanges();
489
+ this.dismiss.emit('ok');
490
+ return Promise.resolve('ok');
491
+ }
492
+ cancel() {
493
+ this._modalRef.hide();
494
+ this.dismiss.emit('cancel');
495
+ return Promise.resolve('cancel');
496
+ }
497
+ ngOnChanges(changes) {
498
+ //
499
+ }
500
+ ngOnDestroy() {
501
+ //
502
+ }
503
+ ngOnInit() {
504
+ if (Array.isArray(this.columns)) {
505
+ this.selectedColumns = this.columns.filter((item) => {
506
+ return item.visible;
507
+ }).sort((a, b) => {
508
+ if (a.index < b.index) {
509
+ return -1;
510
+ }
511
+ if (a.index > b.index) {
512
+ return 1;
513
+ }
514
+ return 0;
515
+ }).map((item) => {
516
+ return {
517
+ key: item.key,
518
+ title: item.title
519
+ };
520
+ });
521
+ }
522
+ }
523
+ applyChanges() {
524
+ let moveIndex = this.selectedColumns.length - 1;
525
+ for (const column of this.columns) {
526
+ const findIndex = this.selectedColumns.findIndex((item) => {
527
+ return item.key === column.key;
528
+ });
529
+ if (findIndex < 0) {
530
+ column.visible = false;
531
+ moveIndex += 1;
532
+ column.index = moveIndex;
533
+ }
534
+ else {
535
+ column.visible = true;
536
+ column.index = findIndex;
537
+ }
538
+ }
539
+ }
540
+ removeColumns() {
541
+ const selected = this.selectedColumnsControl.value;
542
+ if (selected.length > 0) {
543
+ for (const value of selected) {
544
+ let findIndex = this.selectedColumns.findIndex((item) => {
545
+ return item.key === value;
546
+ });
547
+ if (findIndex >= 0) {
548
+ this.selectedColumns.splice(findIndex, 1);
549
+ }
550
+ }
551
+ // reset column
552
+ this.selectedColumnsControl.reset();
553
+ }
554
+ }
555
+ addColumns() {
556
+ const selected = this.availableColumnsControl.value;
557
+ if (selected.length > 0) {
558
+ for (const value of selected) {
559
+ let findColumn = this.columns.find((item) => {
560
+ return item.key === value;
561
+ });
562
+ if (findColumn) {
563
+ const findIndex = this.selectedColumns.findIndex((item) => {
564
+ return item.key === value;
565
+ });
566
+ if (findIndex < 0) {
567
+ this.selectedColumns.push({
568
+ key: findColumn.key,
569
+ title: findColumn.title
570
+ });
571
+ }
572
+ }
573
+ }
574
+ // find the last index of the selected items
575
+ const lastSelectedIndex = this.columns.findIndex((item) => {
576
+ return item.key === selected[selected.length - 1];
577
+ });
578
+ // reset control
579
+ this.availableColumnsControl.reset();
580
+ if (lastSelectedIndex > -1 && lastSelectedIndex < this.columns.length - 1) {
581
+ this.availableColumnsControl.patchValue([
582
+ this.columns[lastSelectedIndex + 1].key
583
+ ]);
584
+ }
585
+ }
586
+ }
587
+ moveUp() {
588
+ this.moveUpButton.nativeElement.disabled = true;
589
+ const selected = this.selectedColumnsControl.value;
590
+ if (selected.length > 0) {
591
+ for (const value of selected) {
592
+ const findIndex = this.selectedColumns.findIndex((item) => {
593
+ return item.key === value;
594
+ });
595
+ if (findIndex > 0) {
596
+ const column = this.selectedColumns[findIndex];
597
+ this.selectedColumns.splice(findIndex, 1);
598
+ this.selectedColumns.splice(findIndex - 1, 0, column);
599
+ }
600
+ }
601
+ }
602
+ this.moveUpButton.nativeElement.disabled = false;
603
+ }
604
+ moveDown() {
605
+ this.moveDownButton.nativeElement.disabled = true;
606
+ const selected = this.selectedColumnsControl.value;
607
+ if (selected.length > 0) {
608
+ for (const value of selected) {
609
+ let findIndex = this.selectedColumns.findIndex((item) => {
610
+ return item.key === value;
611
+ });
612
+ const length = this.columns.length;
613
+ if (findIndex >= 0 && findIndex < length) {
614
+ const column = this.selectedColumns[findIndex];
615
+ this.selectedColumns.splice(findIndex, 1);
616
+ this.selectedColumns.splice(findIndex + 1, 0, column);
617
+ }
618
+ }
619
+ }
620
+ this.moveDownButton.nativeElement.disabled = false;
621
+ }
622
+ }
623
+ ColumnSelectorComponent.decorators = [
624
+ { type: Component, args: [{
625
+ selector: 'app-column-selector',
626
+ template: "<div>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{'Tables.SelectColumns' | translate}}</h5>\n <button (click)=\"cancel()\"\n type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Cancel\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body pt-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p [translate]=\"'Tables.SelectColumnHelp'\"></p>\n <p [translate]=\"'Tables.MoveColumnHelp'\"></p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-4\">\n <select [formControl]=\"availableColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"columns\">\n <ng-container *ngFor=\"let column of columns | orderBy: ['title']\">\n <option [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n </div>\n <div class=\"col-4 d-flex justify-content-center align-items-center\">\n <div class=\"col-9\">\n <div>\n <button [disabled]=\"!(availableColumnsControl.value && availableColumnsControl.value.length)\" (click)=\"addColumns()\" type=\"button\" class=\"btn btn-primary btn-block\">\n <i class=\"fas fa-plus mr-2\"></i><span [translate]=\"'Tables.AddColumn'\"></span>\n </button>\n </div>\n <div class=\"mt-3\">\n <button [disabled]=\"!(selectedColumnsControl.value && selectedColumnsControl.value.length)\" (click)=\"removeColumns()\" type=\"button\" class=\"btn btn-secondary btn-block\">\n <i class=\"fas fa-minus mr-2\"></i><span [translate]=\"'Tables.RemoveColumn'\"></span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-4\">\n <select [formControl]=\"selectedColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"selectedColumns\">\n <ng-container *ngFor=\"let column of selectedColumns\">\n <option [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n <div class=\"d-flex justify-content-center align-items-center\">\n <div class=\"btn-group mt-4\">\n <button #moveUpButton (click)=\"moveUp()\" type=\"button\" class=\"btn btn-primary\">\n <i class=\"fas fa-chevron-up mr-2\"></i><span [translate]=\"'Tables.MoveUp'\"></span>\n </button>\n <button #moveDownButton (click)=\"moveDown()\" type=\"button\" class=\"btn btn-primary ml-2\">\n <i class=\"fas fa-chevron-down mr-2\"></i><span [translate]=\"'Tables.MoveDown'\"></span>\n </button>\n </div>\n </div>\n </div>\n </div>\n \n </div>\n <div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\"\n type=\"button\" class=\"btn btn-primary\">\n {{'OK' | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\"\n (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\" data-dismiss=\"modal\">\n {{'Cancel' | translate}}\n </button>\n </div>\n </div>\n ",
627
+ encapsulation: ViewEncapsulation.None,
628
+ styles: [`
629
+ .form-select {
630
+ -webkit-appearance: none;
631
+ -moz-appearance: none;
632
+ appearance: none;
633
+ padding: 5px;
634
+ }
635
+ .form-select * {
636
+ padding: 5px 5px;
637
+ }
638
+ .btn.disabled, .btn:disabled {
639
+ border-color: transparent !important;
640
+ }
641
+ `]
642
+ }] }
643
+ ];
644
+ /** @nocollapse */
645
+ ColumnSelectorComponent.ctorParameters = () => [
646
+ { type: Router },
647
+ { type: ActivatedRoute },
648
+ { type: BsModalRef },
649
+ { type: ChangeDetectorRef },
650
+ { type: TranslateService }
651
+ ];
652
+ ColumnSelectorComponent.propDecorators = {
653
+ columns: [{ type: Input }],
654
+ selectedColumns: [{ type: Input }],
655
+ moveUpButton: [{ type: ViewChild, args: ['moveUpButton',] }],
656
+ moveDownButton: [{ type: ViewChild, args: ['moveDownButton',] }]
657
+ };
658
+
659
+ class ColumnSelectorService {
660
+ constructor(_modal) {
661
+ this._modal = _modal;
662
+ //
663
+ }
664
+ selectColumns(columns) {
665
+ return new Promise((resolve, reject) => {
666
+ try {
667
+ const modalRef = this._modal.openModalComponent(ColumnSelectorComponent, {
668
+ class: 'modal-lg modal-table',
669
+ ignoreBackdropClick: true,
670
+ animated: true,
671
+ initialState: {
672
+ columns: columns,
673
+ }
674
+ });
675
+ const componentRef = modalRef.content;
676
+ componentRef.dismiss.subscribe((result) => {
677
+ if (result === 'ok') {
678
+ return resolve({
679
+ result: result,
680
+ columns: componentRef.columns
681
+ });
682
+ }
683
+ return resolve({
684
+ result: result
685
+ });
686
+ });
687
+ }
688
+ catch (err) {
689
+ return reject(err);
690
+ }
691
+ });
692
+ }
693
+ }
694
+ ColumnSelectorService.decorators = [
695
+ { type: Injectable }
696
+ ];
697
+ /** @nocollapse */
698
+ ColumnSelectorService.ctorParameters = () => [
699
+ { type: ModalService }
700
+ ];
701
+
475
702
  // restore jquery import to avoid Cannot call a namespace ('jquery') error
476
703
  const jQuery = jQuery_;
477
704
  const DataTablesApi = jQuery.fn.dataTable.Api;
@@ -517,7 +744,7 @@ function getRandomIdentifier() {
517
744
  return (Number(String(Math.random()).slice(2))).toString(36);
518
745
  }
519
746
  class AdvancedTableComponent {
520
- constructor(_context, _columnFormatters, _activatedRoute, _translateService, _injector, _advancedFilterValueProvider, _element, _template, _loading, _http) {
747
+ constructor(_context, _columnFormatters, _activatedRoute, _translateService, _injector, _advancedFilterValueProvider, _element, _template, _loading, _http, _columnSelector) {
521
748
  this._context = _context;
522
749
  this._columnFormatters = _columnFormatters;
523
750
  this._activatedRoute = _activatedRoute;
@@ -528,6 +755,7 @@ class AdvancedTableComponent {
528
755
  this._template = _template;
529
756
  this._loading = _loading;
530
757
  this._http = _http;
758
+ this._columnSelector = _columnSelector;
531
759
  this._firstLoad = true;
532
760
  this._showFooter = true;
533
761
  this._showHeader = true;
@@ -552,6 +780,7 @@ class AdvancedTableComponent {
552
780
  this.lengthMenu = [50, 100, 200, 500];
553
781
  this.paging = true;
554
782
  this.pageLength = 25;
783
+ this.columnOrdering = false;
555
784
  this.stateSave = false;
556
785
  this.scrollY = 800;
557
786
  this.scrollX = true;
@@ -1164,6 +1393,7 @@ class AdvancedTableComponent {
1164
1393
  serverSide: this.serverSide,
1165
1394
  // enumerate table columns
1166
1395
  columns: tableColumns,
1396
+ colReorder: this.columnOrdering,
1167
1397
  order: [],
1168
1398
  // set scroll x
1169
1399
  scrollX: this.scrollX,
@@ -1591,6 +1821,68 @@ class AdvancedTableComponent {
1591
1821
  this.autoLoad = !!load;
1592
1822
  this.ngOnInit();
1593
1823
  }
1824
+ selectColumns() {
1825
+ // get column order e.g. [0, 4, 1, 2, 3]
1826
+ const columnOrder = this.dataTable.colReorder.order();
1827
+ // get column definitions
1828
+ const columnDefs = this.dataTable.settings().init().columns;
1829
+ const columns = columnDefs.map((columnDef, i) => {
1830
+ let key = `column-${i}`;
1831
+ let title = columnDef.title;
1832
+ // get column index
1833
+ const index = columnOrder.indexOf(i);
1834
+ const visible = this.dataTable.column(index).visible();
1835
+ // set title for select column
1836
+ if (i == 0 && this.selectable) {
1837
+ title = '<' + this._translateService.instant('Tables.SelectColumn') + '>';
1838
+ }
1839
+ // get column title
1840
+ if (title != null && title.length === 0) {
1841
+ title = null;
1842
+ }
1843
+ if (title == null) {
1844
+ // try to find column placeholder
1845
+ let placeholder = null;
1846
+ if (this.selectable) {
1847
+ if (i > 0) {
1848
+ placeholder = this.config.columns[i - 1].placeholder;
1849
+ }
1850
+ }
1851
+ else {
1852
+ placeholder = this.config.columns[i].placeholder;
1853
+ }
1854
+ if (placeholder != null) {
1855
+ title = '<' + this._translateService.instant(placeholder) + '>';
1856
+ }
1857
+ }
1858
+ if (title == null) {
1859
+ title = '<' + this._translateService.instant('Tables.UnknownColumn') + '>';
1860
+ }
1861
+ return {
1862
+ key,
1863
+ title,
1864
+ visible,
1865
+ index
1866
+ };
1867
+ });
1868
+ this._columnSelector.selectColumns(columns).then((event) => {
1869
+ if (event.result === 'ok') {
1870
+ // get column order e.g. [3, 1, 2, 0, 4]
1871
+ let indexes = event.columns.map((item) => {
1872
+ return item.index;
1873
+ });
1874
+ // reset column visibilty
1875
+ for (let index = 0; index < event.columns.length; index++) {
1876
+ const element = event.columns[index];
1877
+ const colIndex = columnOrder.indexOf(index);
1878
+ // set visibilty with redraw (=true)
1879
+ this.dataTable.column(colIndex).visible(element.visible, true);
1880
+ }
1881
+ // finally apply column order
1882
+ this.dataTable.colReorder.order(indexes, true);
1883
+ }
1884
+ });
1885
+ }
1594
1886
  }
1595
1887
  AdvancedTableComponent.decorators = [
1596
1888
  { type: Component, args: [{
@@ -1626,7 +1918,8 @@ AdvancedTableComponent.ctorParameters = () => [
1626
1918
  { type: ElementRef },
1627
1919
  { type: TemplatePipe },
1628
1920
  { type: LoadingService },
1629
- { type: HttpClient }
1921
+ { type: HttpClient },
1922
+ { type: ColumnSelectorService }
1630
1923
  ];
1631
1924
  AdvancedTableComponent.propDecorators = {
1632
1925
  table: [{ type: ViewChild, args: ['table',] }],
@@ -1649,6 +1942,7 @@ AdvancedTableComponent.propDecorators = {
1649
1942
  lengthMenu: [{ type: Input }],
1650
1943
  paging: [{ type: Input }],
1651
1944
  pageLength: [{ type: Input }],
1945
+ columnOrdering: [{ type: Input }],
1652
1946
  stateSave: [{ type: Input }],
1653
1947
  stateLoadCallback: [{ type: Input }],
1654
1948
  stateSaveCallback: [{ type: Input }],
@@ -4135,7 +4429,7 @@ class AddItemsComponent extends RouterModalOkCancel {
4135
4429
  AddItemsComponent.decorators = [
4136
4430
  { type: Component, args: [{
4137
4431
  selector: 'app-add-items',
4138
- 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\">&times;</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.SelectCourses'\" ></a>\n </li>\n <li class=\"nav-item\" *ngIf=\"formName\">\n <a class=\"nav-link\" [ngClass]=\"{ 'disabled': !(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.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"
4432
+ 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\">&times;</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.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.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"
4139
4433
  }] }
4140
4434
  ];
4141
4435
  /** @nocollapse */
@@ -4306,7 +4600,17 @@ const TABLES_EL = {
4306
4600
  "CompletedWithSuccess": {
4307
4601
  "Title": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
4308
4602
  }
4309
- }
4603
+ },
4604
+ "SelectColumns": "Επιλογή στηλών",
4605
+ "MoveUp": "Επάνω",
4606
+ "MoveDown": "Κάτω",
4607
+ "AddColumn": "Επιλογή",
4608
+ "RemoveColumn": "Αφαίρεση",
4609
+ "SelectColumnHelp": "Επιλέξτε μία ή περισσότερες από τις διαθέσιμες στήλες και πατήστε το πλήκτρο 'Επιλογή' για να τις εμφανίσετε. Χρησιμοποιήστε το πλήκτρο 'Αφαίρεση' για να αφαιρέσετε τις επιλεγμένες στήλες.",
4610
+ "MoveColumnHelp": "Χρησιμοποιήστε τα πλήκτρα 'Επάνω' και 'Κάτω' για να αλλάξετε την σειρά εμφάνισης των στηλών του πίνακα.",
4611
+ "UnknownColumn": "Άγνωστο",
4612
+ "SelectColumn": "Επιλογή",
4613
+ "ActionLinkColumn": "Ενέργειες"
4310
4614
  },
4311
4615
  "TrueFalse": {
4312
4616
  "long": {
@@ -4341,6 +4645,9 @@ const TABLES_EL = {
4341
4645
  "Decline": "Απόρριψη",
4342
4646
  "Close": "Κλείσιμο"
4343
4647
  }
4648
+ },
4649
+ "AddItems": {
4650
+ "SelectItems": "Επιλέξτε στοιχεία",
4344
4651
  }
4345
4652
  };
4346
4653
 
@@ -4412,7 +4719,17 @@ const TABLES_EN = {
4412
4719
  "CompletedWithSuccess": {
4413
4720
  "Title": "The operation was completed successfully."
4414
4721
  }
4415
- }
4722
+ },
4723
+ "SelectColumns": "Select columns",
4724
+ "MoveUp": "Move up",
4725
+ "MoveDown": "Move down",
4726
+ "AddColumn": "Add",
4727
+ "RemoveColumn": "Remove",
4728
+ "SelectColumnHelp": "Select one or more columns and press 'Add' button to include them in table. Use 'Remove' button to exclude one or more columns from view.",
4729
+ "MoveColumnHelp": "Use 'Move up' and 'Move down' buttons to change column order.",
4730
+ "UnknownColumn": "Unknown",
4731
+ "SelectColumn": "Select",
4732
+ "ActionLinkColumn": "Actions"
4416
4733
  },
4417
4734
  "TrueFalse": {
4418
4735
  "long": {
@@ -4447,6 +4764,9 @@ const TABLES_EN = {
4447
4764
  "Decline": "Decline",
4448
4765
  "Close": "Close"
4449
4766
  }
4767
+ },
4768
+ "AddItems": {
4769
+ "SelectItems": "Select items",
4450
4770
  }
4451
4771
  };
4452
4772
 
@@ -4749,6 +5069,7 @@ TablesModule.decorators = [
4749
5069
  AdvancedSearchConfigurationResolver,
4750
5070
  AdvancedSelectService,
4751
5071
  AdvancedAggregatorService,
5072
+ ColumnSelectorService,
4752
5073
  GroupByPipe
4753
5074
  ],
4754
5075
  declarations: [
@@ -4772,7 +5093,8 @@ TablesModule.decorators = [
4772
5093
  AddItemsComponent,
4773
5094
  AdvancedSearchState,
4774
5095
  AdvancedTableState,
4775
- AdvancedSearchRouterState
5096
+ AdvancedSearchRouterState,
5097
+ ColumnSelectorComponent
4776
5098
  ],
4777
5099
  exports: [
4778
5100
  AdvancedTableComponent,
@@ -4791,14 +5113,16 @@ TablesModule.decorators = [
4791
5113
  AddItemsComponent,
4792
5114
  AdvancedSearchState,
4793
5115
  AdvancedTableState,
4794
- AdvancedSearchRouterState
5116
+ AdvancedSearchRouterState,
5117
+ ColumnSelectorComponent
4795
5118
  ],
4796
5119
  entryComponents: [
4797
5120
  AdvancedTableModalBaseComponent,
4798
5121
  AdvancedTableSettingsComponent,
4799
5122
  AdvancedRowActionComponent,
4800
5123
  AdvancedSelectComponent,
4801
- AddItemsComponent
5124
+ AddItemsComponent,
5125
+ ColumnSelectorComponent
4802
5126
  ],
4803
5127
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
4804
5128
  },] }
@@ -4816,6 +5140,6 @@ TablesModule.ctorParameters = () => [
4816
5140
  * Generated bundle index. Do not edit.
4817
5141
  */
4818
5142
 
4819
- export { AdvancedSearchState as ɵa, AdvancedTableState as ɵc, AdvancedSearchRouterState as ɵd, AdvancedListComponent, AdvancedRowActionComponent, AdvancedSearchFormComponent, AdvancedSelectComponent, AdvancedSelectService, AdvancedTableConfigurationResolver, AdvancedSearchConfigurationResolver, AdvancedColumnFormatter, NestedPropertyFormatter, ButtonFormatter, LinkFormatter, ActionLinkFormatter, ActionButtonFormatter, ActionSplitButtonFormatter, SelectRowFormatter, TemplateFormatter, TrueFalseFormatter, TranslationFormatter, DateTimeFormatter, NgClassFormatter, LanguageFormatter, COLUMN_FORMATTERS, AdvancedTableConfiguration, AdvancedTableComponent, AdvancedTableSettingsComponent, AdvancedTableSearchBaseComponent, AdvancedTableSearchComponent, FORMATTERS, AdvancedFilterValueProvider, AdvancedTableModalBaseTemplate, AdvancedTableModalBaseComponent, SimpleHeaderToolsComponent, TableSimpleHeaderComponent, AdvancedTableNotNullError, AdvancedTableEditorDirective, BtnExpDirective, AdvancedAggregatorComponent, AdvancedAggregatorListComponent, AddItemsComponent, AdvancedAggregatorPipe, ParseTitlePipe, AdvancedAggregatorService, TablesModule, ɵ0, ActivatedTableService, initialState, tableInitialState, tableReducer, tableReducers, featureName, getTablesState, selectTable };
5143
+ export { AdvancedSearchState as ɵa, AdvancedTableState as ɵc, AdvancedSearchRouterState as ɵd, AdvancedListComponent, AdvancedRowActionComponent, AdvancedSearchFormComponent, AdvancedSelectComponent, AdvancedSelectService, AdvancedTableConfigurationResolver, AdvancedSearchConfigurationResolver, AdvancedColumnFormatter, NestedPropertyFormatter, ButtonFormatter, LinkFormatter, ActionLinkFormatter, ActionButtonFormatter, ActionSplitButtonFormatter, SelectRowFormatter, TemplateFormatter, TrueFalseFormatter, TranslationFormatter, DateTimeFormatter, NgClassFormatter, LanguageFormatter, COLUMN_FORMATTERS, AdvancedTableConfiguration, AdvancedTableComponent, AdvancedTableSettingsComponent, AdvancedTableSearchBaseComponent, AdvancedTableSearchComponent, FORMATTERS, AdvancedFilterValueProvider, AdvancedTableModalBaseTemplate, AdvancedTableModalBaseComponent, SimpleHeaderToolsComponent, TableSimpleHeaderComponent, AdvancedTableNotNullError, AdvancedTableEditorDirective, BtnExpDirective, AdvancedAggregatorComponent, AdvancedAggregatorListComponent, AddItemsComponent, AdvancedAggregatorPipe, ParseTitlePipe, AdvancedAggregatorService, TablesModule, ɵ0, ActivatedTableService, ColumnSelectorService, ColumnSelectorComponent, initialState, tableInitialState, tableReducer, tableReducers, featureName, getTablesState, selectTable };
4820
5144
 
4821
5145
  //# sourceMappingURL=universis-ngx-tables.js.map