@universis/ngx-tables 0.8.5 → 6.0.1

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 (106) hide show
  1. package/bundles/universis-ngx-tables.umd.js +5816 -3756
  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/actions/table.actions.js +48 -7
  6. package/esm2015/lib/advanced-aggregator.js +5 -1
  7. package/esm2015/lib/components/add-items/add-items.component.js +93 -26
  8. package/esm2015/lib/components/advanced-aggregator/advanced-aggregator.component.js +75 -5
  9. package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +39 -12
  10. package/esm2015/lib/components/advanced-list/advanced-list.component.js +105 -33
  11. package/esm2015/lib/components/advanced-row-action/advanced-row-action.component.js +97 -16
  12. package/esm2015/lib/components/advanced-search-form/advanced-search-form.component.js +87 -16
  13. package/esm2015/lib/components/advanced-select/advanced-select.component.js +33 -1
  14. package/esm2015/lib/components/advanced-select/advanced-select.service.js +20 -3
  15. package/esm2015/lib/components/advanced-table/advanced-filter-value-provider.service.js +23 -2
  16. package/esm2015/lib/components/advanced-table/advanced-table-resolvers.js +37 -9
  17. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +22 -1
  18. package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +223 -31
  19. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +90 -8
  20. package/esm2015/lib/components/advanced-table/advanced-table.component.js +577 -127
  21. package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +36 -1
  22. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +257 -44
  23. package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +4 -0
  24. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +211 -55
  25. package/esm2015/lib/components/column-selector/column-selector.component.js +167 -73
  26. package/esm2015/lib/components/column-selector/column-selector.service.js +19 -2
  27. package/esm2015/lib/components/table-simple-header/table-simple-header.component.js +31 -7
  28. package/esm2015/lib/directives/advance-search-state.directive.js +49 -10
  29. package/esm2015/lib/directives/advance-table-state.directive.js +26 -3
  30. package/esm2015/lib/directives/advanced-search-router-state.directive.js +35 -8
  31. package/esm2015/lib/directives/advanced-table-editor.directive.js +43 -13
  32. package/esm2015/lib/directives/btnexp.directive.js +85 -42
  33. package/esm2015/lib/i18n/tables.el.js +6 -3
  34. package/esm2015/lib/i18n/tables.en.js +6 -3
  35. package/esm2015/lib/pipes/advanced-aggregator.pipe.js +12 -8
  36. package/esm2015/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +19 -7
  37. package/esm2015/lib/reducers/index.js +32 -1
  38. package/esm2015/lib/services/advanced-aggregator/advanced-aggregator.service.js +37 -15
  39. package/esm2015/lib/tables.activated-table.service.js +41 -6
  40. package/esm2015/lib/tables.module.js +18 -4
  41. package/esm2015/public_api.js +33 -29
  42. package/esm2015/universis-ngx-tables.js +6 -2
  43. package/esm5/lib/actions/table.actions.js +37 -7
  44. package/esm5/lib/advanced-aggregator.js +5 -1
  45. package/esm5/lib/components/add-items/add-items.component.js +124 -34
  46. package/esm5/lib/components/advanced-aggregator/advanced-aggregator.component.js +111 -15
  47. package/esm5/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +54 -11
  48. package/esm5/lib/components/advanced-list/advanced-list.component.js +125 -37
  49. package/esm5/lib/components/advanced-row-action/advanced-row-action.component.js +124 -24
  50. package/esm5/lib/components/advanced-search-form/advanced-search-form.component.js +109 -22
  51. package/esm5/lib/components/advanced-select/advanced-select.component.js +36 -4
  52. package/esm5/lib/components/advanced-select/advanced-select.service.js +22 -4
  53. package/esm5/lib/components/advanced-table/advanced-filter-value-provider.service.js +37 -5
  54. package/esm5/lib/components/advanced-table/advanced-table-resolvers.js +43 -11
  55. package/esm5/lib/components/advanced-table/advanced-table-search-base.js +29 -4
  56. package/esm5/lib/components/advanced-table/advanced-table-search.component.js +323 -58
  57. package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +112 -15
  58. package/esm5/lib/components/advanced-table/advanced-table.component.js +762 -165
  59. package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +36 -1
  60. package/esm5/lib/components/advanced-table/advanced-table.formatters.js +392 -57
  61. package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +4 -0
  62. package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +311 -70
  63. package/esm5/lib/components/column-selector/column-selector.component.js +264 -145
  64. package/esm5/lib/components/column-selector/column-selector.service.js +21 -3
  65. package/esm5/lib/components/table-simple-header/table-simple-header.component.js +44 -10
  66. package/esm5/lib/directives/advance-search-state.directive.js +68 -15
  67. package/esm5/lib/directives/advance-table-state.directive.js +26 -4
  68. package/esm5/lib/directives/advanced-search-router-state.directive.js +39 -12
  69. package/esm5/lib/directives/advanced-table-editor.directive.js +66 -18
  70. package/esm5/lib/directives/btnexp.directive.js +171 -39
  71. package/esm5/lib/i18n/tables.el.js +6 -3
  72. package/esm5/lib/i18n/tables.en.js +6 -3
  73. package/esm5/lib/pipes/advanced-aggregator.pipe.js +32 -6
  74. package/esm5/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +34 -8
  75. package/esm5/lib/reducers/index.js +32 -1
  76. package/esm5/lib/services/advanced-aggregator/advanced-aggregator.service.js +75 -13
  77. package/esm5/lib/tables.activated-table.service.js +39 -8
  78. package/esm5/lib/tables.module.js +19 -5
  79. package/esm5/public_api.js +33 -29
  80. package/esm5/universis-ngx-tables.js +6 -2
  81. package/fesm2015/universis-ngx-tables.js +1871 -570
  82. package/fesm2015/universis-ngx-tables.js.map +1 -1
  83. package/fesm5/universis-ngx-tables.js +2903 -803
  84. package/fesm5/universis-ngx-tables.js.map +1 -1
  85. package/lib/components/add-items/add-items.component.d.ts +9 -16
  86. package/lib/components/advanced-aggregator/advanced-aggregator.component.d.ts +5 -5
  87. package/lib/components/advanced-list/advanced-list.component.d.ts +11 -11
  88. package/lib/components/advanced-row-action/advanced-row-action.component.d.ts +11 -16
  89. package/lib/components/advanced-search-form/advanced-search-form.component.d.ts +3 -3
  90. package/lib/components/advanced-table/advanced-table-search.component.d.ts +5 -5
  91. package/lib/components/advanced-table/advanced-table-settings.component.d.ts +5 -6
  92. package/lib/components/advanced-table/advanced-table.component.d.ts +14 -15
  93. package/lib/components/advanced-table/advanced-table.formatters.d.ts +11 -11
  94. package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +11 -11
  95. package/lib/components/column-selector/column-selector.component.d.ts +4 -4
  96. package/lib/components/table-simple-header/table-simple-header.component.d.ts +3 -3
  97. package/lib/directives/advance-search-state.directive.d.ts +3 -3
  98. package/lib/directives/advance-table-state.directive.d.ts +1 -1
  99. package/lib/directives/advanced-search-router-state.directive.d.ts +6 -6
  100. package/lib/directives/btnexp.directive.d.ts +9 -9
  101. package/lib/pipes/advanced-aggregator.pipe.d.ts +3 -3
  102. package/lib/pipes/advansed-aggregator-list-title-parse.pipe.d.ts +5 -5
  103. package/lib/services/advanced-aggregator/advanced-aggregator.service.d.ts +8 -8
  104. package/lib/tables.activated-table.service.d.ts +6 -6
  105. package/package.json +10 -4
  106. package/universis-ngx-tables.metadata.json +1 -1
@@ -1,2 +1,6 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
+ */
1
5
 
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hZHZhbmNlZC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGRhdGEgdXNlZCBmb3IgZmlsdGVyaW5nXG4gKiBcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8c3RyaW5nPn0gZmlsdGVycyBBIGxpc3Qgb2YgZXhwcmVzc2lvbnMgdG8gdXNlIGZvciBmaWx0ZXJpbmdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0ZXh0IFRoZSBzZWFyY2ggdGV4dCB1c2VkIGJ5IHRoZSB1c2VyIHRvIHJ1biBhZ2FpbnN0IHRoZSBkZWNsYXJlZCBzZWFyY2ggZXhwcmVzc2lvblxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIHtcbiAgZmlsdGVyczogc3RyaW5nW10sXG4gIHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uIEEgY29sdW1uIGluIHRoZSBhZHZhbmNlZCBhZ2dyZWdhdG9yIGxpc3RcbiAqIFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbHVtbi4gSXQncyB1c2VkIGFzIGl0J3Mga2V5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRoYXQgd2lsbCBiZSBzaG93biBhcyBjb2x1bW4gbGFiZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nPSd0ZXh0JywgJ2Jvb2xlYW4nfSB0eXBlIFRoZSBkYXRhIHR5cGUgb2YgdGhlIGNvbHVtbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZhcmlhbnQgVGhlIGEgdmlzdWFsaXphdGlvbiB2YXJpYW50IG9mIHRoZSBjb2x1bW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBjZWxsXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHJ1ZVZhbHVlIEZvciBib29sZWFucywgdGhlIHZhbHVlIHRoYXQgcmVwcmVzZW50IHRoZSB0cnVlIHN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhpZGRlbiBXaGV0aGVyIHRoZSBjb2x1bW4gc2hvdWxkIGJlIHNob3duIG9uIHRoZSBVSVxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHZhcmlhbnQ/OiBzdHJpbmc7XG4gIGxlbmd0aD86IHN0cmluZztcbiAgdHJ1ZVZhbHVlPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JBY3Rpb24gQW4gYWN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBjb2x1bW5cbiAqIFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFjdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmc9J2VkaXQnfSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBhY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZSBUaGUgdGl0bGUgdGhhdCBpcyBzaG93biBvbiBtb3VzZSBob3ZlclxuICogQHByb3BlcnR5IHtzdHJpbmd9IGlkZW50aWZpZXIgQW4gaWRlbnRpZmllciB0aGF0IHdpbGwgYmUgZW1pdHRlZCBhbG9uZyB3aXRoIHRoZSByb3cgZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGljb24gVGhlIGljb24gdG8gc2hvdyBhcyBpZGVudGlmaWVyXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24gQW4gYWdncmVnYXRvciBmdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gYSB2YWx1ZSBmb3IgZWFjaCBzdWJncm91cFxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgYWdncmVnYXRvciBmdW5jdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IGxhYmVsIFRoZSBsYWJlbCBvZiB0aGUgYWdncmVnYXRvclxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXAgVGhlIGRlY2xhcmF0aW9uIG9mIGEgcHJvcGVydHkgdGhhdCBjYW4gYmUgdXNlZCB0byBncm91cCB0aGUgZGF0YVxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgZ3JvdXAuIFNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgY29sdW1uIHByb3BlcnR5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gcHJvcGVydHkgVGhlIHByb3BlcnR5IG5hbWUgXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGFiZWwgVGhlIGxhYmVsIHRvIGJlIHNob3duIGFzIHRoZSBzZWxlY3Qgb3B0aW9uIGF0IHRoZSBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRvIHNob3cgb24gdG9wIG9mIHRoZSBncm91cGVkIGxpc3QgXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZGVmYXVsdCBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgdXNlZCBieSBkZWZhdWx0LiBJZiBub25lLCB0aGUgZmlyc3QgZm91bmQgaXMgdXNlZFxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cCB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcGVydHk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3IgQSBkZWNsYXJhdGlvbiBmb3IgYSBwb3N0IHByb2Nlc3NvciBmdW5jdGlvblxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcG9zdCBwcm9jZXNzb3IuIEl0IHdpbGwgYmUgdXNlZCBhcyBpZGVudGlmaWVyXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3Ige1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYWR2YW5jZWQgYWdncmVnYXRvciBsaXN0IGNvbXBvbmVudFxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbW9kZWwgVGhlIG1vZGVsIHdoaWNoIGlzIGdvaW5nIHRvIGJlIGRpc3BsYXllZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHF1ZXJ5IFRoZSBxdWVyeSB0byB1c2UgaW4gb3JkZXIgdG8gZmV0Y2ggZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlIFRoZSBUaXRsZSBvZiB0aGUgbGlzdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG9yZGVyQnkgVGhlIHByb3BlcnR5IGFjY29yZGluZyB3aGljaCB0aGUgbGlzdCBzaG91bGQgYmUgb3JkZXJlZFxuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cD59IGdyb3VwUHJvcGVydGllcyBUaGUgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGdyb3VwaW5nIHByb3BlcnRpZXNcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24+fSBhZ2dyZWdhdG9yIFRoZSBsaXN0IG9mIGZ1bmN0aW9ucyB0aGF0IGNhbiBzdW1tYXJpemUgdGhlIGRhdGFcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQWN0aW9uPn0gYWN0aW9ucyBUaGUgbGlzdCBvZiBhY3Rpb25zIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIGxpc3QgaXRlbXNcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uPn0gY29sdW1ucyBUaGUgbGlzdCBvZiBmaWVsZHMgdG8gYmUgdXNlZCBmcm9tIHRoZSB0YXJnZXQgbW9kZWxzXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9yZGVyQnk6IHN0cmluZztcbiAgZ3JvdXBQcm9wZXJ0aWVzOiBBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cD47XG4gIGFnZ3JlZ2F0b3JzPzogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24+O1xuICBwb3N0UHJvY2Vzc29ycz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3I+O1xuICBhY3Rpb25zPzogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQWN0aW9uPjtcbiAgY29sdW1uczogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uPjtcbn1cbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hZHZhbmNlZC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMgQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgZGF0YSB1c2VkIGZvciBmaWx0ZXJpbmdcbiAqXG4gKiBAcHJvcGVydHkge0FycmF5PHN0cmluZz59IGZpbHRlcnMgQSBsaXN0IG9mIGV4cHJlc3Npb25zIHRvIHVzZSBmb3IgZmlsdGVyaW5nXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGV4dCBUaGUgc2VhcmNoIHRleHQgdXNlZCBieSB0aGUgdXNlciB0byBydW4gYWdhaW5zdCB0aGUgZGVjbGFyZWQgc2VhcmNoIGV4cHJlc3Npb25cbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIHtcbiAgZmlsdGVyczogc3RyaW5nW107XG4gIHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4gQSBjb2x1bW4gaW4gdGhlIGFkdmFuY2VkIGFnZ3JlZ2F0b3IgbGlzdFxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb2x1bW4uIEl0J3MgdXNlZCBhcyBpdCdzIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlIFRoZSB0aXRsZSB0aGF0IHdpbGwgYmUgc2hvd24gYXMgY29sdW1uIGxhYmVsXG4gKiBAcHJvcGVydHkge3N0cmluZz0ndGV4dCcsICdib29sZWFuJ30gdHlwZSBUaGUgZGF0YSB0eXBlIG9mIHRoZSBjb2x1bW4gdmFsdWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB2YXJpYW50IFRoZSBhIHZpc3VhbGl6YXRpb24gdmFyaWFudCBvZiB0aGUgY29sdW1uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIGxpc3QgY2VsbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRydWVWYWx1ZSBGb3IgYm9vbGVhbnMsIHRoZSB2YWx1ZSB0aGF0IHJlcHJlc2VudCB0aGUgdHJ1ZSBzdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBoaWRkZW4gV2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBiZSBzaG93biBvbiB0aGUgVUlcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHZhcmlhbnQ/OiBzdHJpbmc7XG4gIGxlbmd0aD86IHN0cmluZztcbiAgdHJ1ZVZhbHVlPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiBBbiBhY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNvbHVtblxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBhY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nPSdlZGl0J30gdHlwZSBUaGUgdHlwZSBvZiB0aGUgYWN0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRoYXQgaXMgc2hvd24gb24gbW91c2UgaG92ZXJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpZGVudGlmaWVyIEFuIGlkZW50aWZpZXIgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgYWxvbmcgd2l0aCB0aGUgcm93IGRhdGFcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpY29uIFRoZSBpY29uIHRvIHNob3cgYXMgaWRlbnRpZmllclxuICpcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiBBbiBhZ2dyZWdhdG9yIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIHJldHVybiBhIHZhbHVlIGZvciBlYWNoIHN1Ymdyb3VwXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFnZ3JlZ2F0b3IgZnVuY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsYWJlbCBUaGUgbGFiZWwgb2YgdGhlIGFnZ3JlZ2F0b3JcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cCBUaGUgZGVjbGFyYXRpb24gb2YgYSBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGdyb3VwIHRoZSBkYXRhXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGdyb3VwLiBTaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiBwcm9wZXJ0eVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGFiZWwgVGhlIGxhYmVsIHRvIGJlIHNob3duIGFzIHRoZSBzZWxlY3Qgb3B0aW9uIGF0IHRoZSBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRvIHNob3cgb24gdG9wIG9mIHRoZSBncm91cGVkIGxpc3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkZWZhdWx0IFdoZXRoZXIgdGhlIGNvbHVtbiBpcyB1c2VkIGJ5IGRlZmF1bHQuIElmIG5vbmUsIHRoZSBmaXJzdCBmb3VuZCBpcyB1c2VkXG4gKlxuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3IgQSBkZWNsYXJhdGlvbiBmb3IgYSBwb3N0IHByb2Nlc3NvciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwb3N0IHByb2Nlc3Nvci4gSXQgd2lsbCBiZSB1c2VkIGFzIGlkZW50aWZpZXJcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JQb3N0UHJvY2Vzc29yIHtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYWR2YW5jZWQgYWdncmVnYXRvciBsaXN0IGNvbXBvbmVudFxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtb2RlbCBUaGUgbW9kZWwgd2hpY2ggaXMgZ29pbmcgdG8gYmUgZGlzcGxheWVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVlcnkgVGhlIHF1ZXJ5IHRvIHVzZSBpbiBvcmRlciB0byBmZXRjaCBkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIFRpdGxlIG9mIHRoZSBsaXN0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gb3JkZXJCeSBUaGUgcHJvcGVydHkgYWNjb3JkaW5nIHdoaWNoIHRoZSBsaXN0IHNob3VsZCBiZSBvcmRlcmVkXG4gKiBAcHJvcGVydHkge0FycmF5PEFkdmFuY2VkQWdncmVnYXRvckdyb3VwPn0gZ3JvdXBQcm9wZXJ0aWVzIFRoZSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZ3JvdXBpbmcgcHJvcGVydGllc1xuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbj59IGFnZ3JlZ2F0b3IgVGhlIGxpc3Qgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIHN1bW1hcml6ZSB0aGUgZGF0YVxuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JBY3Rpb24+fSBhY3Rpb25zIFRoZSBsaXN0IG9mIGFjdGlvbnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciB0aGUgbGlzdCBpdGVtc1xuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4+fSBjb2x1bW5zIFRoZSBsaXN0IG9mIGZpZWxkcyB0byBiZSB1c2VkIGZyb20gdGhlIHRhcmdldCBtb2RlbHNcbiAqXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWcge1xuICBtb2RlbDogc3RyaW5nO1xuICBxdWVyeTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvcmRlckJ5OiBzdHJpbmc7XG4gIGdyb3VwUHJvcGVydGllczogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXA+O1xuICBhZ2dyZWdhdG9ycz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckZ1bmN0aW9uPjtcbiAgcG9zdFByb2Nlc3NvcnM/OiBBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JQb3N0UHJvY2Vzc29yPjtcbiAgYWN0aW9ucz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbj47XG4gIGNvbHVtbnM6IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvckNvbHVtbj47XG59XG4iXX0=
@@ -1,62 +1,83 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
+ */
1
5
  import * as tslib_1 from "tslib";
2
6
  import { Component, Input, ViewChild } from '@angular/core';
3
7
  import { RouterModalOkCancel } from '@universis/common/routing';
4
8
  import { ActivatedRoute, Router } from '@angular/router';
5
9
  import { Observable } from 'rxjs';
6
- import { TranslateService } from '@ngx-translate/core';
7
- import { AngularDataContext } from '@themost/angular';
8
10
  import { AdvancedTableModalBaseComponent } from '../advanced-table-modal/advanced-table-modal-base.component';
9
11
  import { AdvancedFormComponent } from '@universis/forms';
10
- import { AppEventService, ErrorService, LoadingService, ModalService, ToastService } from '@universis/common';
12
+ import { LoadingService, ModalService } from '@universis/common';
11
13
  var AddItemsComponent = /** @class */ (function (_super) {
12
14
  tslib_1.__extends(AddItemsComponent, _super);
13
- function AddItemsComponent(router, activatedRoute, _errorService, _modalService, _appEvent, _toastService, _loadingService, _translateService, _context) {
15
+ function AddItemsComponent(router, activatedRoute, _modalService, _loadingService) {
14
16
  var _this = _super.call(this, router, activatedRoute) || this;
15
- _this._errorService = _errorService;
16
17
  _this._modalService = _modalService;
17
- _this._appEvent = _appEvent;
18
- _this._toastService = _toastService;
19
18
  _this._loadingService = _loadingService;
20
- _this._translateService = _translateService;
21
- _this._context = _context;
22
19
  _this.loading = false;
23
20
  _this.items = [];
24
21
  _this.messages = [];
25
22
  // set modal size
23
+ // set modal size
26
24
  _this.modalClass = 'modal-lg';
27
25
  _this.okButtonDisabled = true;
28
26
  return _this;
29
27
  }
30
- AddItemsComponent.prototype.ngOnInit = function () {
28
+ /**
29
+ * @return {?}
30
+ */
31
+ AddItemsComponent.prototype.ngOnInit = /**
32
+ * @return {?}
33
+ */
34
+ function () {
31
35
  var _this = this;
32
- this.selectedSubscription = this.selectComponent.advancedTable.selectedItems.subscribe(function (items) {
33
- if (_this.formName == null) {
34
- _this.okButtonDisabled = items.length === 0;
35
- }
36
- });
37
- if (this.formName != null) {
36
+ if (this.selectComponent && this.selectComponent.advancedTable) {
37
+ this.selectedSubscription = this.selectComponent.advancedTable.selectedItems.subscribe(function (items) {
38
+ if (_this.formName == null) {
39
+ _this.okButtonDisabled = items.length === 0;
40
+ }
41
+ });
42
+ }
43
+ if (this.formName != null && this.formComponent) {
38
44
  this.formChangeSubscription = this.formComponent.form.change.subscribe(function (event) {
39
45
  if (Object.prototype.hasOwnProperty.call(event, 'isValid')) {
46
+ // enable or disable button based on form status
40
47
  // enable or disable button based on form status
41
48
  _this.okButtonDisabled = (!event.isValid);
42
49
  }
43
50
  });
44
51
  }
45
52
  if (this.target) {
53
+ /** @type {?} */
46
54
  var target = this.target;
47
55
  }
48
56
  };
49
- AddItemsComponent.prototype.cancel = function () {
57
+ /**
58
+ * @return {?}
59
+ */
60
+ AddItemsComponent.prototype.cancel = /**
61
+ * @return {?}
62
+ */
63
+ function () {
50
64
  this.clearMessages();
51
65
  if (this.loading) {
52
- return;
66
+ return Promise.resolve();
53
67
  }
54
68
  // close
55
69
  if (this._modalService.modalRef) {
56
70
  return this._modalService.modalRef.hide();
57
71
  }
72
+ return Promise.resolve();
58
73
  };
59
- AddItemsComponent.prototype.ngOnDestroy = function () {
74
+ /**
75
+ * @return {?}
76
+ */
77
+ AddItemsComponent.prototype.ngOnDestroy = /**
78
+ * @return {?}
79
+ */
80
+ function () {
60
81
  if (this.formLoadSubscription) {
61
82
  this.formLoadSubscription.unsubscribe();
62
83
  }
@@ -68,25 +89,39 @@ var AddItemsComponent = /** @class */ (function (_super) {
68
89
  }
69
90
  };
70
91
  Object.defineProperty(AddItemsComponent.prototype, "formData", {
71
- get: function () {
92
+ get: /**
93
+ * @return {?}
94
+ */
95
+ function () {
72
96
  if (this.formComponent === null) {
73
97
  return null;
74
98
  }
75
- return this.formComponent.form.formio.data;
99
+ return this.formComponent && this.formComponent.form.formio.data;
76
100
  },
77
101
  enumerable: true,
78
102
  configurable: true
79
103
  });
80
- AddItemsComponent.prototype.ok = function () {
104
+ /**
105
+ * @return {?}
106
+ */
107
+ AddItemsComponent.prototype.ok = /**
108
+ * @return {?}
109
+ */
110
+ function () {
81
111
  var _this = this;
82
112
  try {
83
113
  this.clearMessages();
84
- return new Promise(function (resolve, reject) {
114
+ return new Promise(function (resolve) {
115
+ if (_this.selectComponent == null || _this.selectComponent.advancedTable == null || _this.execute == null) {
116
+ return resolve(null);
117
+ }
85
118
  _this.loading = false;
86
119
  _this.lastError = null;
87
120
  // set courses
121
+ // set courses
88
122
  _this.items = _this.selectComponent.advancedTable.selected;
89
123
  // execute add
124
+ // execute add
90
125
  _this.executeSubscription = _this.execute.subscribe(function (result) {
91
126
  _this.loading = false;
92
127
  if (_this.executeSubscription) {
@@ -100,8 +135,10 @@ var AddItemsComponent = /** @class */ (function (_super) {
100
135
  }, function (err) {
101
136
  _this.loading = false;
102
137
  // ensure that loading is hidden
138
+ // ensure that loading is hidden
103
139
  _this._loadingService.hideLoading();
104
140
  // set last error
141
+ // set last error
105
142
  _this.lastError = err;
106
143
  return resolve(null);
107
144
  });
@@ -111,30 +148,49 @@ var AddItemsComponent = /** @class */ (function (_super) {
111
148
  this.loading = false;
112
149
  this._loadingService.hideLoading();
113
150
  this.lastError = err;
151
+ return Promise.resolve();
114
152
  }
115
153
  };
116
- AddItemsComponent.prototype.onChange = function ($event) { };
117
- AddItemsComponent.prototype.clearMessages = function () {
154
+ /**
155
+ * @param {?} $event
156
+ * @return {?}
157
+ */
158
+ AddItemsComponent.prototype.onChange = /**
159
+ * @param {?} $event
160
+ * @return {?}
161
+ */
162
+ function ($event) { };
163
+ /**
164
+ * @return {?}
165
+ */
166
+ AddItemsComponent.prototype.clearMessages = /**
167
+ * @return {?}
168
+ */
169
+ function () {
118
170
  this.messages = [];
119
171
  };
120
- AddItemsComponent.prototype.onFilterChange = function (event) { };
172
+ /**
173
+ * @param {?} event
174
+ * @return {?}
175
+ */
176
+ AddItemsComponent.prototype.onFilterChange = /**
177
+ * @param {?} event
178
+ * @return {?}
179
+ */
180
+ function (event) { };
121
181
  AddItemsComponent.decorators = [
122
182
  { type: Component, args: [{
183
+ // tslint:disable-next-line:component-selector
123
184
  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.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"
185
+ 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 && selectComponent.advancedTable && selectComponent.advancedTable.selected && selectComponent.advancedTable.selected.length) }\" id=\"attributes-tab\" data-toggle=\"tab\" href=\"#attributes\" role=\"tab\" aria-controls=\"profile\" aria-selected=\"false\" [translate]=\"'AddItems.EditAttributes'\"></a>\n </li>\n <li class=\"nav-item\" *ngIf=\"messages && messages.length > 0\">\n <a class=\"nav-link\" id=\"messages-tab\" data-toggle=\"tab\" href=\"#messages\" role=\"tab\" aria-controls=\"profile\" aria-selected=\"false\" [translate]=\"'AddItems.Messages'\"></a>\n </li>\n </ul>\n <div class=\"tab-content border-0\" id=\"myTabContent\">\n <div class=\"tab-pane fade show active\" id=\"courses\" role=\"tabpanel\" aria-labelledby=\"home-tab\">\n <app-advanced-table-modal #selectComponent (filter)=\"onFilterChange($event)\" [tableConfig]=\"tableConfiguration\"></app-advanced-table-modal>\n </div>\n <div class=\"tab-pane fade\" id=\"attributes\" role=\"tabpanel\" aria-labelledby=\"profile-tab\"\n [ngClass]=\"{'invisible':(formName == null)}\">\n<!-- <advanced-form-edit #formComponent [formName]=\"formName\" ></advanced-form-edit>-->\n </div>\n <div class=\"tab-pane fade\" id=\"messages\" role=\"tabpanel\" aria-labelledby=\"profile-tab\"\n [ngClass]=\"{'invisible':(messages == null)}\">\n <ul *ngIf=\"messages && messages.length>0\" class=\"sis--list-group sis--list-group-header\">\n <li class=\"sis--list-group-item\">\n <div class=\"d-flex justify-content-center align-items-center\">\n <div class=\"sis--list-group-item_lg_column\" [translate]=\"'AddItems.Messages'\"></div>\n </div>\n </li>\n </ul>\n <ul class=\"sis--list-group sis--list-group-body\">\n <li *ngFor=\"let message of messages\" class=\"sis--list-group-item\">\n <div class=\"d-flex justify-content-center align-items-center list-color\">\n <div class=\"sis--list-group-item_lg_column\">{{ message?.message }}</div>\n </div>\n </li>\n </ul>\n <div *ngIf=\"messages && messages.length>0\">\n <button [disabled]=\"loading\" (click)=\"clearMessages()\" type=\"button\" class=\"btn btn-indigo mt-3\">\n {{'Clear' | translate}}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled || loading || !(selectComponent && selectComponent.advancedTable && selectComponent.advancedTable.selected && selectComponent.advancedTable.selected.length) \" (click)=\"ok()\"\n type=\"button\" [ngClass]=\"okButtonClass\">\n {{'OK' | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled || loading\"\n (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\" data-dismiss=\"modal\">\n {{'Cancel' | translate}}\n </button>\n </div>\n</div>\n"
125
186
  }] }
126
187
  ];
127
188
  /** @nocollapse */
128
189
  AddItemsComponent.ctorParameters = function () { return [
129
190
  { type: Router },
130
191
  { type: ActivatedRoute },
131
- { type: ErrorService },
132
192
  { type: ModalService },
133
- { type: AppEventService },
134
- { type: ToastService },
135
- { type: LoadingService },
136
- { type: TranslateService },
137
- { type: AngularDataContext }
193
+ { type: LoadingService }
138
194
  ]; };
139
195
  AddItemsComponent.propDecorators = {
140
196
  execute: [{ type: Input }],
@@ -149,5 +205,39 @@ var AddItemsComponent = /** @class */ (function (_super) {
149
205
  return AddItemsComponent;
150
206
  }(RouterModalOkCancel));
151
207
  export { AddItemsComponent };
208
+ if (false) {
209
+ /** @type {?} */
210
+ AddItemsComponent.prototype.loading;
211
+ /** @type {?} */
212
+ AddItemsComponent.prototype.lastError;
213
+ /** @type {?} */
214
+ AddItemsComponent.prototype.execute;
215
+ /** @type {?} */
216
+ AddItemsComponent.prototype.items;
217
+ /** @type {?} */
218
+ AddItemsComponent.prototype.target;
219
+ /** @type {?} */
220
+ AddItemsComponent.prototype.tableConfiguration;
221
+ /** @type {?} */
222
+ AddItemsComponent.prototype.formName;
223
+ /** @type {?} */
224
+ AddItemsComponent.prototype.messages;
225
+ /** @type {?} */
226
+ AddItemsComponent.prototype.formComponent;
227
+ /** @type {?} */
228
+ AddItemsComponent.prototype.selectComponent;
229
+ /** @type {?} */
230
+ AddItemsComponent.prototype.formLoadSubscription;
231
+ /** @type {?} */
232
+ AddItemsComponent.prototype.formChangeSubscription;
233
+ /** @type {?} */
234
+ AddItemsComponent.prototype.selectedSubscription;
235
+ /** @type {?} */
236
+ AddItemsComponent.prototype.executeSubscription;
237
+ /** @type {?} */
238
+ AddItemsComponent.prototype._modalService;
239
+ /** @type {?} */
240
+ AddItemsComponent.prototype._loadingService;
241
+ }
152
242
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVHO0lBSXVDLDZDQUFtQjtJQWlCeEQsMkJBQVksTUFBYyxFQUNkLGNBQThCLEVBQ3RCLGFBQTJCLEVBQzNCLGFBQTJCLEVBQzNCLFNBQTBCLEVBQzFCLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxRQUE0QjtRQVJoRCxZQVNFLGtCQUFNLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FJOUI7UUFYbUIsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsZUFBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIs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RUQsMENBQWMsR0FBZCxVQUFlLEtBQXVDLElBQUcsQ0FBQzs7Z0JBbEkzRCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLCt0SkFBeUM7aUJBQzFDOzs7O2dCQVh1QixNQUFNO2dCQUF0QixjQUFjO2dCQU1HLFlBQVk7Z0JBQWtCLFlBQVk7Z0JBQTNELGVBQWU7Z0JBQThDLFlBQVk7Z0JBQTFDLGNBQWM7Z0JBSjdDLGdCQUFnQjtnQkFDaEIsa0JBQWtCOzs7MEJBYXZCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3FDQUVMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLFNBQVMsU0FBQyxlQUFlO2tDQUN6QixTQUFTLFNBQUMsaUJBQWlCOztJQW1IOUIsd0JBQUM7Q0FBQSxBQW5JRCxDQUl1QyxtQkFBbUIsR0ErSHpEO1NBL0hZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZGFsT2tDYW5jZWx9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QW5ndWxhckRhdGFDb250ZXh0fSBmcm9tICdAdGhlbW9zdC9hbmd1bGFyJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBZHZhbmNlZEZvcm1Db21wb25lbnR9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtBcHBFdmVudFNlcnZpY2UsIEVycm9yU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIE1vZGFsU2VydmljZSwgVG9hc3RTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZGQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW1zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRJdGVtc0NvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxhc3RFcnJvcjtcbiAgQElucHV0KCkgZXhlY3V0ZTogT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSB0YXJnZXQ6IGFueTtcbiAgLy8gQElucHV0KCkgc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgdGFibGVDb25maWd1cmF0aW9uOiBhbnk7XG4gIEBJbnB1dCgpIGZvcm1OYW1lOiBhbnk7XG4gIEBJbnB1dCgpIG1lc3NhZ2VzOiBBcnJheTxhbnk+ID0gW107XG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db21wb25lbnQnKSBmb3JtQ29tcG9uZW50OiBBZHZhbmNlZEZvcm1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdENvbXBvbmVudCcpIHNlbGVjdENvbXBvbmVudDogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb3JtTG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZvcm1DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnQ6IEFwcEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29udGV4dDogQW5ndWxhckRhdGFDb250ZXh0KSB7XG4gICAgc3VwZXIocm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgLy8gc2V0IG1vZGFsIHNpemVcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwtbGcnO1xuICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZEl0ZW1zLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1OYW1lID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZm9ybU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uY2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6YW55KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXZlbnQsICdpc1ZhbGlkJykpIHtcbiAgICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBidXR0b24gYmFzZWQgb24gZm9ybSBzdGF0dXNcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSAoIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xvc2VcbiAgICBpZiAodGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmKSB7XG4gICAgICByZXR1cm4gIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgICAvLyBnZXQgZm9ybSBkYXRhXG4gIHByaXZhdGUgZXhlY3V0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBnZXQgZm9ybURhdGEoKTogYW55IHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db21wb25lbnQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uZm9ybWlvLmRhdGE7XG4gICAgfVxuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBudWxsO1xuICAgICAgICAvLyBzZXQgY291cnNlc1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZFxuICAgICAgICAvLyBleGVjdXRlIGFkZFxuICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uID0gdGhpcy5leGVjdXRlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICBpZih0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24pe1xuICAgICAgICAgICB0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgIH1cbiAgICAgICAgICAvLyBjbG9zZSBtb2RhbFxuICAgICAgICAgIGlmICh0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gZW5zdXJlIHRoYXQgbG9hZGluZyBpcyBoaWRkZW5cbiAgICAgICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIC8vIHNldCBsYXN0IGVycm9yXG4gICAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICB0aGlzLmxhc3RFcnJvciA9IGVycjtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSgkZXZlbnQ6IGFueSkge31cblxuICBjbGVhck1lc3NhZ2VzKCkge1xuICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGV2ZW50OiAgeyBuYW1lOiBzdHJpbmcsIGVtaXQ6IGJvb2xlYW4gfSkge31cbn1cbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7SUFPeEIsNkNBQW1CO0lBaUJ4RCwyQkFBWSxNQUFjLEVBQ2QsY0FBOEIsRUFDdEIsZUFDQTtRQUhwQixZQUlFLGtCQUFNLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FJOUI7UUFObUIsbUJBQWEsR0FBYixhQUFhO1FBQ2IscUJBQWUsR0FBZixlQUFlO3dCQWxCbEIsS0FBSztzQkFHTyxFQUFFO3lCQUtDLEVBQUU7O1FBYWhDLEFBREEsaUJBQWlCO1FBQ2pCLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7O0tBQzlCOzs7O0lBRUQsb0NBQVE7OztJQUFSO1FBQUEsaUJBb0JDO1FBbkJDLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUM5RCxJQUFJ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QUFFLGVBQWU7b0JBQ3pCLHUwSkFBeUM7aUJBQzFDOzs7O2dCQVZ1QixNQUFNO2dCQUF0QixjQUFjO2dCQUlFLFlBQVk7Z0JBQTVCLGNBQWM7OzswQkFXbkIsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7cUNBRUwsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7Z0NBQ0wsU0FBUyxTQUFDLGVBQWU7a0NBQ3pCLFNBQVMsU0FBQyxpQkFBaUI7OzRCQXpCOUI7RUFhdUMsbUJBQW1CO1NBQTdDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZGFsT2tDYW5jZWx9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBZHZhbmNlZFRhYmxlTW9kYWxCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9hZHZhbmNlZC10YWJsZS1tb2RhbC9hZHZhbmNlZC10YWJsZS1tb2RhbC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0FkdmFuY2VkRm9ybUNvbXBvbmVudH0gZnJvbSAnQHVuaXZlcnNpcy9mb3Jtcyc7XG5pbXBvcnQge0xvYWRpbmdTZXJ2aWNlLCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWl0ZW1zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1pdGVtcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkSXRlbXNDb21wb25lbnQgZXh0ZW5kcyBSb3V0ZXJNb2RhbE9rQ2FuY2VsIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBsYXN0RXJyb3I7XG4gIEBJbnB1dCgpIGV4ZWN1dGU/OiBPYnNlcnZhYmxlPGFueT47XG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxhbnk+ID0gW107XG4gIEBJbnB1dCgpIHRhcmdldDogYW55O1xuICAvLyBASW5wdXQoKSBzZWxlY3RlZDogYW55O1xuICBASW5wdXQoKSB0YWJsZUNvbmZpZ3VyYXRpb246IGFueTtcbiAgQElucHV0KCkgZm9ybU5hbWU6IGFueTtcbiAgQElucHV0KCkgbWVzc2FnZXM6IEFycmF5PGFueT4gPSBbXTtcbiAgQFZpZXdDaGlsZCgnZm9ybUNvbXBvbmVudCcpIGZvcm1Db21wb25lbnQ/OiBBZHZhbmNlZEZvcm1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdENvbXBvbmVudCcpIHNlbGVjdENvbXBvbmVudD86IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQ7XG4gIHByaXZhdGUgZm9ybUxvYWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZm9ybUNoYW5nZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlKSB7XG4gICAgc3VwZXIocm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgLy8gc2V0IG1vZGFsIHNpemVcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwtbGcnO1xuICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RDb21wb25lbnQgJiYgdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0Q29tcG9uZW50LmFkdmFuY2VkVGFibGUuc2VsZWN0ZWRJdGVtcy5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1OYW1lID09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSBpdGVtcy5sZW5ndGggPT09IDA7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtTmFtZSAhPSBudWxsICYmIHRoaXMuZm9ybUNvbXBvbmVudCkge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uY2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV2ZW50LCAnaXNWYWxpZCcpKSB7XG4gICAgICAgICAgLy8gZW5hYmxlIG9yIGRpc2FibGUgYnV0dG9uIGJhc2VkIG9uIGZvcm0gc3RhdHVzXG4gICAgICAgICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gKCFldmVudC5pc1ZhbGlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldDtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmNsZWFyTWVzc2FnZXMoKTtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIC8vIGNsb3NlXG4gICAgaWYgKHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZikge1xuICAgICAgcmV0dXJuIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgfVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1Mb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZvcm1Mb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1DaGFuZ2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gICAgLy8gZ2V0IGZvcm0gZGF0YVxuICBwcml2YXRlIGV4ZWN1dGVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHVibGljIGdldCBmb3JtRGF0YSgpOiBhbnkge1xuICAgICAgaWYgKHRoaXMuZm9ybUNvbXBvbmVudCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmZvcm1Db21wb25lbnQgJiYgdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uZm9ybWlvLmRhdGE7XG4gICAgfVxuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3RDb21wb25lbnQgPT0gbnVsbCB8fCB0aGlzLnNlbGVjdENvbXBvbmVudC5hZHZhbmNlZFRhYmxlID09IG51bGwgfHwgdGhpcy5leGVjdXRlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxhc3RFcnJvciA9IG51bGw7XG4gICAgICAgICAgLy8gc2V0IGNvdXJzZXNcbiAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZDtcbiAgICAgICAgICAvLyBleGVjdXRlIGFkZFxuICAgICAgICAgIHRoaXMuZXhlY3V0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZXhlY3V0ZS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMuZXhlY3V0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY2xvc2UgbW9kYWxcbiAgICAgICAgICAgIGlmICh0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gZW5zdXJlIHRoYXQgbG9hZGluZyBpcyBoaWRkZW5cbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICAgICAgICAvLyBzZXQgbGFzdCBlcnJvclxuICAgICAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2UuaGlkZUxvYWRpbmcoKTtcbiAgICAgIHRoaXMubGFzdEVycm9yID0gZXJyO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlKCRldmVudDogYW55KSB7fVxuXG4gIGNsZWFyTWVzc2FnZXMoKSB7XG4gICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xuICB9XG5cbiAgb25GaWx0ZXJDaGFuZ2UoZXZlbnQ6ICB7IG5hbWU6IHN0cmluZywgZW1pdDogYm9vbGVhbiB9KSB7fVxufVxuIl19
@@ -1,11 +1,15 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
+ */
1
5
  import * as tslib_1 from "tslib";
2
6
  import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
3
7
  import { AdvancedAggregatorService } from '../../services/advanced-aggregator/advanced-aggregator.service';
4
8
  import { LoadingService } from '@universis/common';
5
9
  /**
6
10
  *
7
- * @class AdvancedAggregatorComponent
8
- * @classdesc An advanced list with the capability of aggregate data based on configurable filters
11
+ *
12
+ * \@classdesc An advanced list with the capability of aggregate data based on configurable filters
9
13
  *
10
14
  */
11
15
  var AdvancedAggregatorComponent = /** @class */ (function () {
@@ -17,36 +21,63 @@ var AdvancedAggregatorComponent = /** @class */ (function () {
17
21
  this.eventHandler = new EventEmitter();
18
22
  }
19
23
  Object.defineProperty(AdvancedAggregatorComponent.prototype, "config", {
20
- get: function () {
21
- return this._config;
24
+ get: /**
25
+ * @return {?}
26
+ */
27
+ function () {
28
+ return /** @type {?} */ (this._config);
22
29
  },
23
- set: function (value) {
30
+ set: /**
31
+ * @param {?} value
32
+ * @return {?}
33
+ */
34
+ function (value) {
24
35
  this._config = value;
25
36
  },
26
37
  enumerable: true,
27
38
  configurable: true
28
39
  });
29
40
  Object.defineProperty(AdvancedAggregatorComponent.prototype, "aggregators", {
30
- get: function () {
41
+ get: /**
42
+ * @return {?}
43
+ */
44
+ function () {
31
45
  return this._aggregators;
32
46
  },
33
- set: function (value) {
47
+ set: /**
48
+ * @param {?} value
49
+ * @return {?}
50
+ */
51
+ function (value) {
34
52
  this._aggregators = value;
35
53
  },
36
54
  enumerable: true,
37
55
  configurable: true
38
56
  });
39
57
  Object.defineProperty(AdvancedAggregatorComponent.prototype, "postProcessors", {
40
- get: function () {
58
+ get: /**
59
+ * @return {?}
60
+ */
61
+ function () {
41
62
  return this._postProcessors;
42
63
  },
43
- set: function (value) {
64
+ set: /**
65
+ * @param {?} value
66
+ * @return {?}
67
+ */
68
+ function (value) {
44
69
  this._postProcessors = value;
45
70
  },
46
71
  enumerable: true,
47
72
  configurable: true
48
73
  });
49
- AdvancedAggregatorComponent.prototype.ngOnInit = function () {
74
+ /**
75
+ * @return {?}
76
+ */
77
+ AdvancedAggregatorComponent.prototype.ngOnInit = /**
78
+ * @return {?}
79
+ */
80
+ function () {
50
81
  return tslib_1.__awaiter(this, void 0, void 0, function () {
51
82
  var _this = this;
52
83
  return tslib_1.__generator(this, function (_a) {
@@ -76,7 +107,13 @@ var AdvancedAggregatorComponent = /** @class */ (function () {
76
107
  });
77
108
  });
78
109
  };
79
- AdvancedAggregatorComponent.prototype.ngOnDestroy = function () {
110
+ /**
111
+ * @return {?}
112
+ */
113
+ AdvancedAggregatorComponent.prototype.ngOnDestroy = /**
114
+ * @return {?}
115
+ */
116
+ function () {
80
117
  return tslib_1.__awaiter(this, void 0, void 0, function () {
81
118
  return tslib_1.__generator(this, function (_a) {
82
119
  this.selectedGroups$.unsubscribe();
@@ -90,7 +127,21 @@ var AdvancedAggregatorComponent = /** @class */ (function () {
90
127
  * Retrieves the data
91
128
  *
92
129
  */
93
- AdvancedAggregatorComponent.prototype.fetch = function (filters) {
130
+ /**
131
+ *
132
+ * Retrieves the data
133
+ *
134
+ * @param {?} filters
135
+ * @return {?}
136
+ */
137
+ AdvancedAggregatorComponent.prototype.fetch = /**
138
+ *
139
+ * Retrieves the data
140
+ *
141
+ * @param {?} filters
142
+ * @return {?}
143
+ */
144
+ function (filters) {
94
145
  return tslib_1.__awaiter(this, void 0, void 0, function () {
95
146
  var data, i, err_2;
96
147
  return tslib_1.__generator(this, function (_a) {
@@ -133,14 +184,31 @@ var AdvancedAggregatorComponent = /** @class */ (function () {
133
184
  *
134
185
  * Triggers the event handler event
135
186
  *
136
- * @param {*} event The event data
187
+ * @param event The event data
188
+ *
189
+ */
190
+ /**
191
+ *
192
+ * Triggers the event handler event
193
+ *
194
+ * @param {?} event The event data
195
+ *
196
+ * @return {?}
197
+ */
198
+ AdvancedAggregatorComponent.prototype.onActionEvent = /**
199
+ *
200
+ * Triggers the event handler event
201
+ *
202
+ * @param {?} event The event data
137
203
  *
204
+ * @return {?}
138
205
  */
139
- AdvancedAggregatorComponent.prototype.onActionEvent = function (event) {
206
+ function (event) {
140
207
  this.eventHandler.emit(event);
141
208
  };
142
209
  AdvancedAggregatorComponent.decorators = [
143
210
  { type: Component, args: [{
211
+ // tslint:disable-next-line:component-selector
144
212
  selector: 'app-advanced-aggregator',
145
213
  template: "<ng-container *ngIf=\"config && body\">\n <div class=\"w-100 text-center\" *ngIf=\"body && body.length === 0\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"groups.length === 0\">\n <div class=\"row mt-4\">\n <app-advanced-aggregator-list [body]=\"body\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\" class=\"col-12\">\n </app-advanced-aggregator-list>\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ body | callAggregator: aggregators: aggregator.name }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"groups.length === 1\">\n <ng-container *ngFor=\"let group of body | groupBy: groups[0].name | keyvalue\">\n <div class=\"row mt-4\">\n <h4 class=\"col text-secondary\"> {{ groups[0].title | aggregatorListTitle: group.key }} </h4>\n <app-advanced-aggregator-list [body]=\"group.value\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\"\n class=\"col-12\">\n </app-advanced-aggregator-list>\n </div>\n\n <!-- Footer for the group -->\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ group.value | callAggregator: aggregators: aggregator.name }} </span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"groups.length > 1\">\n <ng-container *ngFor=\"let group of body | groupBy: groups[0].name | keyvalue\">\n <div class=\"row mt-4\">\n <h4 class=\"col text-secondary\"> {{ groups[0].title | aggregatorListTitle: group.key }} </h4>\n <div *ngFor=\"let subgroup of group.value | groupBy: groups[1].name | keyvalue\" class=\"col-12 ml-4 pl-4\">\n <div class=\"row mt-4\">\n <h6 class=\"col-12 text-secondary\"> {{ groups[1].title | aggregatorListTitle: subgroup.key }} </h6>\n <app-advanced-aggregator-list [body]=\"subgroup.value\" [config]=\"config\" (clickEvent)=\"onActionEvent($event)\"\n class=\"col-12\">\n </app-advanced-aggregator-list>\n </div>\n\n <!-- Footer for each subgroup -->\n <div *ngIf=\"config.aggregators && config.aggregators.length > 0\"\n class=\"footer-text text-dark font-weight-normal text-right font-sm mt-3 mr-2 w-100\">\n <div *ngFor=\"let aggregator of config.aggregators\">\n <span *ngIf=\"aggregator.label\"> {{ aggregator.label | translate }} </span>:\n <span class=\"font-weight-bold\"> {{ subgroup.value | callAggregator: aggregators: aggregator.name }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>",
146
214
  changeDetection: ChangeDetectionStrategy.OnPush
@@ -165,5 +233,33 @@ var AdvancedAggregatorComponent = /** @class */ (function () {
165
233
  return AdvancedAggregatorComponent;
166
234
  }());
167
235
  export { AdvancedAggregatorComponent };
236
+ if (false) {
237
+ /** @type {?} */
238
+ AdvancedAggregatorComponent.prototype._config;
239
+ /** @type {?} */
240
+ AdvancedAggregatorComponent.prototype._aggregators;
241
+ /** @type {?} */
242
+ AdvancedAggregatorComponent.prototype._postProcessors;
243
+ /** @type {?} */
244
+ AdvancedAggregatorComponent.prototype.body;
245
+ /** @type {?} */
246
+ AdvancedAggregatorComponent.prototype.groups;
247
+ /** @type {?} */
248
+ AdvancedAggregatorComponent.prototype.params;
249
+ /** @type {?} */
250
+ AdvancedAggregatorComponent.prototype.selectedGroups$;
251
+ /** @type {?} */
252
+ AdvancedAggregatorComponent.prototype.filters$;
253
+ /** @type {?} */
254
+ AdvancedAggregatorComponent.prototype.searchExpression;
255
+ /** @type {?} */
256
+ AdvancedAggregatorComponent.prototype.eventHandler;
257
+ /** @type {?} */
258
+ AdvancedAggregatorComponent.prototype._changeDetector;
259
+ /** @type {?} */
260
+ AdvancedAggregatorComponent.prototype._advancedAggregatorService;
261
+ /** @type {?} */
262
+ AdvancedAggregatorComponent.prototype._loadingService;
263
+ }
168
264
 
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTNHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRDs7Ozs7R0FLRztBQUVIO0lBb0NFLHFDQUNVLGVBQWtDLEVBQ2xDLDBCQUFxRCxFQUNyRCxlQUErQjtRQUYvQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUEyQjtRQUNyRCxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUEzQmxDLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFzQlQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTXhDLENBQUM7SUExQkwsc0JBQ1csK0NBQU07YUEyQmpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7YUE5QkQsVUFDa0IsS0FBK0I7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDVyxvREFBVzthQTBCdEI7WUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDM0IsQ0FBQzthQTdCRCxVQUN1QixLQUFLO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7OztPQUFBO0lBRUQsc0JBQ1csdURB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eUI7Z0JBRXpCLGNBQWM7Ozt5QkF1QnBCLEtBQUssU0FBQyxRQUFROzhCQUtkLEtBQUssU0FBQyxhQUFhO2lDQUtuQixLQUFLLFNBQUMsZ0JBQWdCO3lCQUt0QixLQUFLLFNBQUMsUUFBUTtrQ0FDZCxLQUFLLFNBQUMsZ0JBQWdCOzJCQUN0QixLQUFLLFNBQUMsU0FBUzttQ0FDZixLQUFLLFNBQUMsa0JBQWtCOytCQUV4QixNQUFNOztJQWlGVCxrQ0FBQztDQUFBLEFBbkhELElBbUhDO1NBOUdZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWR2YW5jZWQtYWdncmVnYXRvci9hZHZhbmNlZC1hZ2dyZWdhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnLCBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vYWR2YW5jZWQtYWdncmVnYXRvcic7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcblxuLyoqXG4gKlxuICogQGNsYXNzIEFkdmFuY2VkQWdncmVnYXRvckNvbXBvbmVudFxuICogQGNsYXNzZGVzYyBBbiBhZHZhbmNlZCBsaXN0IHdpdGggdGhlIGNhcGFiaWxpdHkgb2YgYWdncmVnYXRlIGRhdGEgYmFzZWQgb24gY29uZmlndXJhYmxlIGZpbHRlcnNcbiAqXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLWFnZ3JlZ2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWc7XG4gIHByaXZhdGUgX2FnZ3JlZ2F0b3JzO1xuICBwcml2YXRlIF9wb3N0UHJvY2Vzc29ycztcblxuICBwdWJsaWMgYm9keTtcbiAgcHVibGljIGdyb3VwcyA9IFtdO1xuXG4gIEBJbnB1dCgnY29uZmlnJylcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdhZ2dyZWdhdG9ycycpXG4gIHB1YmxpYyBzZXQgYWdncmVnYXRvcnModmFsdWUpIHtcbiAgICB0aGlzLl9hZ2dyZWdhdG9ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwb3N0UHJvY2Vzc29ycycpXG4gIHB1YmxpYyBzZXQgcG9zdFByb2Nlc3NvcnModmFsdWUpIHtcbiAgICB0aGlzLl9wb3N0UHJvY2Vzc29ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKSBwYXJhbXM7XG4gIEBJbnB1dCgnc2VsZWN0ZWRHcm91cHMnKSBzZWxlY3RlZEdyb3VwcyQ7XG4gIEBJbnB1dCgnZmlsdGVycycpIGZpbHRlcnMkO1xuICBASW5wdXQoJ3NlYXJjaEV4cHJlc3Npb24nKSBzZWFyY2hFeHByZXNzaW9uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGV2ZW50SGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZTogQWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9sb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBhZ2dyZWdhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWdncmVnYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvc3RQcm9jZXNzb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc29ycztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5ncm91cHMgPSBkYXRhO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlcnMkLnN1YnNjcmliZShhc3luYyAoZmlsdGVyczogQWR2YW5jZWRBZ2dyZWdhdG9yRmlsdGVycykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaChmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsdGVycyQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRhdGFcbiAgICpcbiAgICovXG4gIGFzeW5jIGZldGNoKGZpbHRlcnM6IEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2Uuc2hvd0xvYWRpbmcoKTtcbiAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5fYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZS5mZXRjaERhdGEodGhpcy5jb25maWcubW9kZWwsXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICB0aGlzLmNvbmZpZy5xdWVyeSxcbiAgICAgICAgZmlsdGVycy5maWx0ZXJzLFxuICAgICAgICB0aGlzLnNlYXJjaEV4cHJlc3Npb24sXG4gICAgICAgIGZpbHRlcnMudGV4dFxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMucG9zdFByb2Nlc3NvcnMgJiYgT2JqZWN0LmtleXModGhpcy5wb3N0UHJvY2Vzc29ycykubGVuZ3RoID4gMCAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycyAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb25maWcucG9zdFByb2Nlc3NvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5wb3N0UHJvY2Vzc29yc1t0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29yc1tpXS5uYW1lXShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmJvZHkgPSB0aGlzLl9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLmZvcm1hdERhdGEodGhpcy5jb25maWcsIGRhdGEpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRyaWdnZXJzIHRoZSBldmVudCBoYW5kbGVyIGV2ZW50XG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gZXZlbnQgVGhlIGV2ZW50IGRhdGFcbiAgICpcbiAgICovXG4gIG9uQWN0aW9uRXZlbnQoZXZlbnQpIHtcbiAgICB0aGlzLmV2ZW50SGFuZGxlci5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBYSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUUzRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0lBZ0RqRCxxQ0FDVSxpQkFDQSw0QkFDQTtRQUZBLG9CQUFlLEdBQWYsZUFBZTtRQUNmLCtCQUEwQixHQUExQiwwQkFBMEI7UUFDMUIsb0JBQWUsR0FBZixlQUFlO3NCQTdCRixFQUFFOzRCQXdCQSxJQUFJLFlBQVksRUFBRTtLQU10QztJQTVCTCxzQkFDVywrQ0FBTTs7Ozs7WUE4QmYseUJBQU8sSUFBSSxDQUFDLE9BQW1DLEVBQUM7Ozs7OztRQS9CbEQsVUFDa0IsS0FBK0I7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7OztPQUFBO0lBRUQsc0JBQ1csb0RBQVc7Ozs7O1lBNkJwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7Ozs7OztRQTlCM0IsVUFDdUIsS0FBSztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjs7O09BQUE7SUFFRCxzQkFDVyx1REFBYzs7Ozs7WUE0QnZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzs7Ozs7O1FBN0I5QixVQUMwQixLQUFLO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1NBQzlC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eUJBS3RCLEtBQUssU0FBQyxRQUFRO2tDQUVkLEtBQUssU0FBQyxnQkFBZ0I7MkJBRXRCLEtBQUssU0FBQyxTQUFTO21DQUNmLEtBQUssU0FBQyxrQkFBa0I7K0JBRXhCLE1BQU07O3NDQWpEVDs7U0FrQmEsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkdmFuY2VkQWdncmVnYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWcsIEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMgfSBmcm9tICcuLi8uLi9hZHZhbmNlZC1hZ2dyZWdhdG9yJztcbmltcG9ydCB7IExvYWRpbmdTZXJ2aWNlIH0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuXG4vKipcbiAqXG4gKiBcbiAqICBAY2xhc3NkZXNjIEFuIGFkdmFuY2VkIGxpc3Qgd2l0aCB0aGUgY2FwYWJpbGl0eSBvZiBhZ2dyZWdhdGUgZGF0YSBiYXNlZCBvbiBjb25maWd1cmFibGUgZmlsdGVyc1xuICpcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC1hZHZhbmNlZC1hZ2dyZWdhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2NvbmZpZz86IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZztcbiAgcHJpdmF0ZSBfYWdncmVnYXRvcnM7XG4gIHByaXZhdGUgX3Bvc3RQcm9jZXNzb3JzO1xuXG4gIHB1YmxpYyBib2R5O1xuICBwdWJsaWMgZ3JvdXBzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgnY29uZmlnJylcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdhZ2dyZWdhdG9ycycpXG4gIHB1YmxpYyBzZXQgYWdncmVnYXRvcnModmFsdWUpIHtcbiAgICB0aGlzLl9hZ2dyZWdhdG9ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwb3N0UHJvY2Vzc29ycycpXG4gIHB1YmxpYyBzZXQgcG9zdFByb2Nlc3NvcnModmFsdWUpIHtcbiAgICB0aGlzLl9wb3N0UHJvY2Vzc29ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKSBwYXJhbXM7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdzZWxlY3RlZEdyb3VwcycpIHNlbGVjdGVkR3JvdXBzJDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2ZpbHRlcnMnKSBmaWx0ZXJzJDtcbiAgQElucHV0KCdzZWFyY2hFeHByZXNzaW9uJykgc2VhcmNoRXhwcmVzc2lvbj86IHN0cmluZztcblxuICBAT3V0cHV0KCkgZXZlbnRIYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlOiBBZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcgYXMgQWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBhZ2dyZWdhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWdncmVnYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvc3RQcm9jZXNzb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc29ycztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5ncm91cHMgPSBkYXRhO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlcnMkLnN1YnNjcmliZShhc3luYyAoZmlsdGVyczogQWR2YW5jZWRBZ2dyZWdhdG9yRmlsdGVycykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaChmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsdGVycyQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRhdGFcbiAgICpcbiAgICovXG4gIGFzeW5jIGZldGNoKGZpbHRlcnM6IEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2Uuc2hvd0xvYWRpbmcoKTtcbiAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5fYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZS5mZXRjaERhdGEodGhpcy5jb25maWcubW9kZWwsXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICB0aGlzLmNvbmZpZy5xdWVyeSxcbiAgICAgICAgZmlsdGVycy5maWx0ZXJzLFxuICAgICAgICB0aGlzLnNlYXJjaEV4cHJlc3Npb24sXG4gICAgICAgIGZpbHRlcnMudGV4dFxuICAgICAgKTtcblxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgaWYgKHRoaXMucG9zdFByb2Nlc3NvcnMgJiYgT2JqZWN0LmtleXModGhpcy5wb3N0UHJvY2Vzc29ycykubGVuZ3RoID4gMCAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycyAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb25maWcucG9zdFByb2Nlc3NvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5wb3N0UHJvY2Vzc29yc1t0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29yc1tpXS5uYW1lXShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmJvZHkgPSB0aGlzLl9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLmZvcm1hdERhdGEodGhpcy5jb25maWcsIGRhdGEpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRyaWdnZXJzIHRoZSBldmVudCBoYW5kbGVyIGV2ZW50XG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnQgZGF0YVxuICAgKlxuICAgKi9cbiAgb25BY3Rpb25FdmVudChldmVudCkge1xuICAgIHRoaXMuZXZlbnRIYW5kbGVyLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=