@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
@@ -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==
@@ -121,7 +121,7 @@ var AddItemsComponent = /** @class */ (function (_super) {
121
121
  AddItemsComponent.decorators = [
122
122
  { type: Component, args: [{
123
123
  selector: 'app-add-items',
124
- 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"
124
+ 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"
125
125
  }] }
126
126
  ];
127
127
  /** @nocollapse */
@@ -150,4 +150,4 @@ var AddItemsComponent = /** @class */ (function (_super) {
150
150
  }(RouterModalOkCancel));
151
151
  export { AddItemsComponent };
152
152
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVHO0lBSXVDLDZDQUFtQjtJQWlCeEQsMkJBQVksTUFBYyxFQUNkLGNBQThCLEVBQ3RCLGFBQTJCLEVBQzNCLGFBQTJCLEVBQzNCLFNBQTBCLEVBQzFCLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxRQUE0QjtRQVJoRCxZQVNFLGtCQUFNLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FJOUI7UUFYbUIsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsZUFBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIs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RUQsMENBQWMsR0FBZCxVQUFlLEtBQXVDLElBQUcsQ0FBQzs7Z0JBbEkzRCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGl1SkFBeUM7aUJBQzFDOzs7O2dCQVh1QixNQUFNO2dCQUF0QixjQUFjO2dCQU1HLFlBQVk7Z0JBQWtCLFlBQVk7Z0JBQTNELGVBQWU7Z0JBQThDLFlBQVk7Z0JBQTFDLGNBQWM7Z0JBSjdDLGdCQUFnQjtnQkFDaEIsa0JBQWtCOzs7MEJBYXZCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3FDQUVMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLFNBQVMsU0FBQyxlQUFlO2tDQUN6QixTQUFTLFNBQUMsaUJBQWlCOztJQW1IOUIsd0JBQUM7Q0FBQSxBQW5JRCxDQUl1QyxtQkFBbUIsR0ErSHpEO1NBL0hZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZGFsT2tDYW5jZWx9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QW5ndWxhckRhdGFDb250ZXh0fSBmcm9tICdAdGhlbW9zdC9hbmd1bGFyJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBZHZhbmNlZEZvcm1Db21wb25lbnR9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtBcHBFdmVudFNlcnZpY2UsIEVycm9yU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIE1vZGFsU2VydmljZSwgVG9hc3RTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZGQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW1zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRJdGVtc0NvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxhc3RFcnJvcjtcbiAgQElucHV0KCkgZXhlY3V0ZTogT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSB0YXJnZXQ6IGFueTtcbiAgLy8gQElucHV0KCkgc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgdGFibGVDb25maWd1cmF0aW9uOiBhbnk7XG4gIEBJbnB1dCgpIGZvcm1OYW1lOiBhbnk7XG4gIEBJbnB1dCgpIG1lc3NhZ2VzOiBBcnJheTxhbnk+ID0gW107XG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db21wb25lbnQnKSBmb3JtQ29tcG9uZW50OiBBZHZhbmNlZEZvcm1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdENvbXBvbmVudCcpIHNlbGVjdENvbXBvbmVudDogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb3JtTG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZvcm1DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnQ6IEFwcEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29udGV4dDogQW5ndWxhckRhdGFDb250ZXh0KSB7XG4gICAgc3VwZXIocm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgLy8gc2V0IG1vZGFsIHNpemVcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwtbGcnO1xuICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZEl0ZW1zLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1OYW1lID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZm9ybU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uY2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6YW55KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXZlbnQsICdpc1ZhbGlkJykpIHtcbiAgICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBidXR0b24gYmFzZWQgb24gZm9ybSBzdGF0dXNcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSAoIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xvc2VcbiAgICBpZiAodGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmKSB7XG4gICAgICByZXR1cm4gIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgICAvLyBnZXQgZm9ybSBkYXRhXG4gIHByaXZhdGUgZXhlY3V0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBnZXQgZm9ybURhdGEoKTogYW55IHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db21wb25lbnQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uZm9ybWlvLmRhdGE7XG4gICAgfVxuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBudWxsO1xuICAgICAgICAvLyBzZXQgY291cnNlc1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZFxuICAgICAgICAvLyBleGVjdXRlIGFkZFxuICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uID0gdGhpcy5leGVjdXRlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICBpZih0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24pe1xuICAgICAgICAgICB0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgIH1cbiAgICAgICAgICAvLyBjbG9zZSBtb2RhbFxuICAgICAgICAgIGlmICh0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gZW5zdXJlIHRoYXQgbG9hZGluZyBpcyBoaWRkZW5cbiAgICAgICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIC8vIHNldCBsYXN0IGVycm9yXG4gICAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICB0aGlzLmxhc3RFcnJvciA9IGVycjtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSgkZXZlbnQ6IGFueSkge31cblxuICBjbGVhck1lc3NhZ2VzKCkge1xuICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGV2ZW50OiAgeyBuYW1lOiBzdHJpbmcsIGVtaXQ6IGJvb2xlYW4gfSkge31cbn1cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVHO0lBSXVDLDZDQUFtQjtJQWlCeEQsMkJBQVksTUFBYyxFQUNkLGNBQThCLEVBQ3RCLGFBQTJCLEVBQzNCLGFBQTJCLEVBQzNCLFNBQTBCLEVBQzFCLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxRQUE0QjtRQVJoRCxZQVNFLGtCQUFNLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FJOUI7UUFYbUIsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsZUFBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIs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RUQsMENBQWMsR0FBZCxVQUFlLEtBQXVDLElBQUcsQ0FBQzs7Z0JBbEkzRCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLCt0SkFBeUM7aUJBQzFDOzs7O2dCQVh1QixNQUFNO2dCQUF0QixjQUFjO2dCQU1HLFlBQVk7Z0JBQWtCLFlBQVk7Z0JBQTNELGVBQWU7Z0JBQThDLFlBQVk7Z0JBQTFDLGNBQWM7Z0JBSjdDLGdCQUFnQjtnQkFDaEIsa0JBQWtCOzs7MEJBYXZCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3FDQUVMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLFNBQVMsU0FBQyxlQUFlO2tDQUN6QixTQUFTLFNBQUMsaUJBQWlCOztJQW1IOUIsd0JBQUM7Q0FBQSxBQW5JRCxDQUl1QyxtQkFBbUIsR0ErSHpEO1NBL0hZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZGFsT2tDYW5jZWx9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QW5ndWxhckRhdGFDb250ZXh0fSBmcm9tICdAdGhlbW9zdC9hbmd1bGFyJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBZHZhbmNlZEZvcm1Db21wb25lbnR9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtBcHBFdmVudFNlcnZpY2UsIEVycm9yU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIE1vZGFsU2VydmljZSwgVG9hc3RTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZGQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW1zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRJdGVtc0NvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxhc3RFcnJvcjtcbiAgQElucHV0KCkgZXhlY3V0ZTogT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSB0YXJnZXQ6IGFueTtcbiAgLy8gQElucHV0KCkgc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgdGFibGVDb25maWd1cmF0aW9uOiBhbnk7XG4gIEBJbnB1dCgpIGZvcm1OYW1lOiBhbnk7XG4gIEBJbnB1dCgpIG1lc3NhZ2VzOiBBcnJheTxhbnk+ID0gW107XG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db21wb25lbnQnKSBmb3JtQ29tcG9uZW50OiBBZHZhbmNlZEZvcm1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdENvbXBvbmVudCcpIHNlbGVjdENvbXBvbmVudDogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb3JtTG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZvcm1DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnQ6IEFwcEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29udGV4dDogQW5ndWxhckRhdGFDb250ZXh0KSB7XG4gICAgc3VwZXIocm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgLy8gc2V0IG1vZGFsIHNpemVcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwtbGcnO1xuICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZEl0ZW1zLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1OYW1lID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZm9ybU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uY2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6YW55KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXZlbnQsICdpc1ZhbGlkJykpIHtcbiAgICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBidXR0b24gYmFzZWQgb24gZm9ybSBzdGF0dXNcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSAoIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xvc2VcbiAgICBpZiAodGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmKSB7XG4gICAgICByZXR1cm4gIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgICAvLyBnZXQgZm9ybSBkYXRhXG4gIHByaXZhdGUgZXhlY3V0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBnZXQgZm9ybURhdGEoKTogYW55IHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db21wb25lbnQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uZm9ybWlvLmRhdGE7XG4gICAgfVxuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBudWxsO1xuICAgICAgICAvLyBzZXQgY291cnNlc1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZFxuICAgICAgICAvLyBleGVjdXRlIGFkZFxuICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uID0gdGhpcy5leGVjdXRlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICBpZih0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24pe1xuICAgICAgICAgICB0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgIH1cbiAgICAgICAgICAvLyBjbG9zZSBtb2RhbFxuICAgICAgICAgIGlmICh0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gZW5zdXJlIHRoYXQgbG9hZGluZyBpcyBoaWRkZW5cbiAgICAgICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIC8vIHNldCBsYXN0IGVycm9yXG4gICAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICB0aGlzLmxhc3RFcnJvciA9IGVycjtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSgkZXZlbnQ6IGFueSkge31cblxuICBjbGVhck1lc3NhZ2VzKCkge1xuICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGV2ZW50OiAgeyBuYW1lOiBzdHJpbmcsIGVtaXQ6IGJvb2xlYW4gfSkge31cbn1cbiJdfQ==