@universis/ngx-tables 0.8.5 → 15.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/esm2020/lib/actions/table.actions.mjs +27 -0
  2. package/esm2020/lib/advanced-aggregator.mjs +2 -0
  3. package/esm2020/lib/components/add-items/add-items.component.mjs +138 -0
  4. package/esm2020/lib/components/advanced-aggregator/advanced-aggregator.component.mjs +126 -0
  5. package/esm2020/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.mjs +53 -0
  6. package/esm2020/lib/components/advanced-list/advanced-list.component.mjs +184 -0
  7. package/esm2020/lib/components/advanced-row-action/advanced-row-action.component.mjs +178 -0
  8. package/esm2020/lib/components/advanced-search-form/advanced-search-form.component.mjs +154 -0
  9. package/esm2020/lib/components/advanced-select/advanced-select.component.mjs +42 -0
  10. package/esm2020/lib/components/advanced-select/advanced-select.service.mjs +38 -0
  11. package/esm2020/lib/components/advanced-table/advanced-filter-value-provider.service.mjs +31 -0
  12. package/esm2020/lib/components/advanced-table/advanced-table-resolvers.mjs +40 -0
  13. package/esm2020/lib/components/advanced-table/advanced-table-search-base.mjs +31 -0
  14. package/esm2020/lib/components/advanced-table/advanced-table-search.component.mjs +525 -0
  15. package/esm2020/lib/components/advanced-table/advanced-table-settings.component.mjs +108 -0
  16. package/esm2020/lib/components/advanced-table/advanced-table.component.mjs +1599 -0
  17. package/esm2020/lib/components/advanced-table/advanced-table.formatters.interface.mjs +17 -0
  18. package/esm2020/lib/components/advanced-table/advanced-table.formatters.mjs +429 -0
  19. package/esm2020/lib/components/advanced-table/advanced-table.interfaces.mjs +2 -0
  20. package/esm2020/lib/components/advanced-table-modal/advanced-table-modal-base.component.mjs +420 -0
  21. package/esm2020/lib/components/column-selector/column-selector.component.mjs +205 -0
  22. package/esm2020/lib/components/column-selector/column-selector.service.mjs +45 -0
  23. package/esm2020/lib/components/table-simple-header/table-simple-header.component.mjs +52 -0
  24. package/esm2020/lib/directives/advance-search-state.directive.mjs +111 -0
  25. package/esm2020/lib/directives/advance-table-state.directive.mjs +63 -0
  26. package/esm2020/lib/directives/advanced-search-router-state.directive.mjs +64 -0
  27. package/esm2020/lib/directives/advanced-table-editor.directive.mjs +154 -0
  28. package/esm2020/lib/directives/btnexp.directive.mjs +222 -0
  29. package/esm2020/lib/i18n/tables.el.mjs +129 -0
  30. package/esm2020/lib/i18n/tables.en.mjs +128 -0
  31. package/esm2020/lib/pipes/advanced-aggregator.pipe.mjs +38 -0
  32. package/esm2020/lib/pipes/advansed-aggregator-list-title-parse.pipe.mjs +45 -0
  33. package/esm2020/lib/reducers/index.mjs +37 -0
  34. package/esm2020/lib/services/advanced-aggregator/advanced-aggregator.service.mjs +119 -0
  35. package/esm2020/lib/tables.activated-table.service.mjs +46 -0
  36. package/esm2020/lib/tables.module.mjs +218 -0
  37. package/esm2020/public_api.mjs +37 -0
  38. package/esm2020/universis-ngx-tables.mjs +5 -0
  39. package/fesm2015/{universis-ngx-tables.js → universis-ngx-tables.mjs} +2927 -2729
  40. package/fesm2015/universis-ngx-tables.mjs.map +1 -0
  41. package/fesm2020/universis-ngx-tables.mjs +5609 -0
  42. package/fesm2020/universis-ngx-tables.mjs.map +1 -0
  43. package/index.d.ts +5 -0
  44. package/lib/actions/table.actions.d.ts +4 -4
  45. package/lib/components/add-items/add-items.component.d.ts +14 -21
  46. package/lib/components/advanced-aggregator/advanced-aggregator.component.d.ts +15 -9
  47. package/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.d.ts +4 -1
  48. package/lib/components/advanced-list/advanced-list.component.d.ts +17 -14
  49. package/lib/components/advanced-row-action/advanced-row-action.component.d.ts +20 -23
  50. package/lib/components/advanced-search-form/advanced-search-form.component.d.ts +7 -4
  51. package/lib/components/advanced-select/advanced-select.component.d.ts +3 -1
  52. package/lib/components/advanced-select/advanced-select.service.d.ts +3 -0
  53. package/lib/components/advanced-table/advanced-filter-value-provider.service.d.ts +3 -0
  54. package/lib/components/advanced-table/advanced-table-resolvers.d.ts +5 -0
  55. package/lib/components/advanced-table/advanced-table-search-base.d.ts +6 -2
  56. package/lib/components/advanced-table/advanced-table-search.component.d.ts +11 -7
  57. package/lib/components/advanced-table/advanced-table-settings.component.d.ts +8 -6
  58. package/lib/components/advanced-table/advanced-table.component.d.ts +33 -25
  59. package/lib/components/advanced-table/advanced-table.formatters.d.ts +11 -11
  60. package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +15 -12
  61. package/lib/components/column-selector/column-selector.component.d.ts +9 -6
  62. package/lib/components/column-selector/column-selector.service.d.ts +3 -0
  63. package/lib/components/table-simple-header/table-simple-header.component.d.ts +8 -3
  64. package/lib/directives/advance-search-state.directive.d.ts +6 -3
  65. package/lib/directives/advance-table-state.directive.d.ts +4 -1
  66. package/lib/directives/advanced-search-router-state.directive.d.ts +9 -6
  67. package/lib/directives/advanced-table-editor.directive.d.ts +4 -1
  68. package/lib/directives/btnexp.directive.d.ts +12 -9
  69. package/lib/i18n/tables.el.d.ts +107 -107
  70. package/lib/i18n/tables.en.d.ts +106 -106
  71. package/lib/pipes/advanced-aggregator.pipe.d.ts +7 -4
  72. package/lib/pipes/advansed-aggregator-list-title-parse.pipe.d.ts +9 -6
  73. package/lib/reducers/index.d.ts +5 -3
  74. package/lib/services/advanced-aggregator/advanced-aggregator.service.d.ts +11 -8
  75. package/lib/tables.activated-table.service.d.ts +10 -6
  76. package/lib/tables.module.d.ts +36 -0
  77. package/package.json +44 -36
  78. package/public_api.d.ts +3 -0
  79. package/bundles/universis-ngx-tables.umd.js +0 -6101
  80. package/bundles/universis-ngx-tables.umd.js.map +0 -1
  81. package/bundles/universis-ngx-tables.umd.min.js +0 -2
  82. package/bundles/universis-ngx-tables.umd.min.js.map +0 -1
  83. package/esm2015/lib/actions/table.actions.js +0 -28
  84. package/esm2015/lib/advanced-aggregator.js +0 -2
  85. package/esm2015/lib/components/add-items/add-items.component.js +0 -142
  86. package/esm2015/lib/components/advanced-aggregator/advanced-aggregator.component.js +0 -120
  87. package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +0 -53
  88. package/esm2015/lib/components/advanced-list/advanced-list.component.js +0 -173
  89. package/esm2015/lib/components/advanced-row-action/advanced-row-action.component.js +0 -184
  90. package/esm2015/lib/components/advanced-search-form/advanced-search-form.component.js +0 -142
  91. package/esm2015/lib/components/advanced-select/advanced-select.component.js +0 -65
  92. package/esm2015/lib/components/advanced-select/advanced-select.service.js +0 -40
  93. package/esm2015/lib/components/advanced-table/advanced-filter-value-provider.service.js +0 -37
  94. package/esm2015/lib/components/advanced-table/advanced-table-resolvers.js +0 -44
  95. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +0 -28
  96. package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +0 -526
  97. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +0 -109
  98. package/esm2015/lib/components/advanced-table/advanced-table.component.js +0 -1523
  99. package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +0 -18
  100. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +0 -429
  101. package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +0 -2
  102. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +0 -397
  103. package/esm2015/lib/components/column-selector/column-selector.component.js +0 -202
  104. package/esm2015/lib/components/column-selector/column-selector.service.js +0 -47
  105. package/esm2015/lib/components/table-simple-header/table-simple-header.component.js +0 -52
  106. package/esm2015/lib/directives/advance-search-state.directive.js +0 -108
  107. package/esm2015/lib/directives/advance-table-state.directive.js +0 -63
  108. package/esm2015/lib/directives/advanced-search-router-state.directive.js +0 -63
  109. package/esm2015/lib/directives/advanced-table-editor.directive.js +0 -156
  110. package/esm2015/lib/directives/btnexp.directive.js +0 -229
  111. package/esm2015/lib/i18n/tables.el.js +0 -130
  112. package/esm2015/lib/i18n/tables.en.js +0 -129
  113. package/esm2015/lib/pipes/advanced-aggregator.pipe.js +0 -35
  114. package/esm2015/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +0 -46
  115. package/esm2015/lib/reducers/index.js +0 -32
  116. package/esm2015/lib/services/advanced-aggregator/advanced-aggregator.service.js +0 -120
  117. package/esm2015/lib/tables.activated-table.service.js +0 -50
  118. package/esm2015/lib/tables.module.js +0 -149
  119. package/esm2015/public_api.js +0 -33
  120. package/esm2015/universis-ngx-tables.js +0 -9
  121. package/esm5/lib/actions/table.actions.js +0 -34
  122. package/esm5/lib/advanced-aggregator.js +0 -2
  123. package/esm5/lib/components/add-items/add-items.component.js +0 -153
  124. package/esm5/lib/components/advanced-aggregator/advanced-aggregator.component.js +0 -169
  125. package/esm5/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +0 -56
  126. package/esm5/lib/components/advanced-list/advanced-list.component.js +0 -185
  127. package/esm5/lib/components/advanced-row-action/advanced-row-action.component.js +0 -188
  128. package/esm5/lib/components/advanced-search-form/advanced-search-form.component.js +0 -145
  129. package/esm5/lib/components/advanced-select/advanced-select.component.js +0 -71
  130. package/esm5/lib/components/advanced-select/advanced-select.service.js +0 -43
  131. package/esm5/lib/components/advanced-table/advanced-filter-value-provider.service.js +0 -50
  132. package/esm5/lib/components/advanced-table/advanced-table-resolvers.js +0 -48
  133. package/esm5/lib/components/advanced-table/advanced-table-search-base.js +0 -34
  134. package/esm5/lib/components/advanced-table/advanced-table-search.component.js +0 -563
  135. package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +0 -115
  136. package/esm5/lib/components/advanced-table/advanced-table.component.js +0 -1548
  137. package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +0 -18
  138. package/esm5/lib/components/advanced-table/advanced-table.formatters.js +0 -480
  139. package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +0 -2
  140. package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +0 -314
  141. package/esm5/lib/components/column-selector/column-selector.component.js +0 -270
  142. package/esm5/lib/components/column-selector/column-selector.service.js +0 -50
  143. package/esm5/lib/components/table-simple-header/table-simple-header.component.js +0 -58
  144. package/esm5/lib/directives/advance-search-state.directive.js +0 -116
  145. package/esm5/lib/directives/advance-table-state.directive.js +0 -65
  146. package/esm5/lib/directives/advanced-search-router-state.directive.js +0 -71
  147. package/esm5/lib/directives/advanced-table-editor.directive.js +0 -196
  148. package/esm5/lib/directives/btnexp.directive.js +0 -257
  149. package/esm5/lib/i18n/tables.el.js +0 -130
  150. package/esm5/lib/i18n/tables.en.js +0 -129
  151. package/esm5/lib/pipes/advanced-aggregator.pipe.js +0 -39
  152. package/esm5/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +0 -49
  153. package/esm5/lib/reducers/index.js +0 -34
  154. package/esm5/lib/services/advanced-aggregator/advanced-aggregator.service.js +0 -134
  155. package/esm5/lib/tables.activated-table.service.js +0 -57
  156. package/esm5/lib/tables.module.js +0 -154
  157. package/esm5/public_api.js +0 -33
  158. package/esm5/universis-ngx-tables.js +0 -9
  159. package/fesm2015/universis-ngx-tables.js.map +0 -1
  160. package/fesm5/universis-ngx-tables.js +0 -5737
  161. package/fesm5/universis-ngx-tables.js.map +0 -1
  162. package/universis-ngx-tables.d.ts +0 -8
  163. package/universis-ngx-tables.metadata.json +0 -1
@@ -1,28 +0,0 @@
1
- export var TableActionTypes;
2
- (function (TableActionTypes) {
3
- TableActionTypes["LoadFilter"] = "[Table] Load Filter";
4
- TableActionTypes["AppendFilter"] = "[Table] Append Filter";
5
- TableActionTypes["AppendState"] = "[Table] Append State";
6
- })(TableActionTypes || (TableActionTypes = {}));
7
- export class LoadFilter {
8
- constructor(id) {
9
- this.id = id;
10
- this.type = TableActionTypes.LoadFilter;
11
- }
12
- }
13
- export class AppendFilter {
14
- constructor(id, filter) {
15
- this.id = id;
16
- this.filter = filter;
17
- this.type = TableActionTypes.AppendFilter;
18
- }
19
- }
20
- export class AppendState {
21
- constructor(id, data) {
22
- this.id = id;
23
- this.data = data;
24
- this.type = TableActionTypes.AppendState;
25
- }
26
- }
27
-
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixzREFBa0MsQ0FBQTtJQUNsQywwREFBc0MsQ0FBQTtJQUN0Qyx3REFBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELE1BQU07SUFFSixZQUE0QixFQUFVO1FBQVYsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUQ3QixTQUFJLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO0lBQ0gsQ0FBQztDQUMzQztBQUVELE1BQU07SUFFSixZQUE0QixFQUFVLEVBQWtCLE1BQVc7UUFBdkMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFrQixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBRDFELFNBQUksR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDd0IsQ0FBQztDQUN4RTtBQUVELE1BQU07SUFFSixZQUE0QixFQUFVLEVBQWtCLElBQVM7UUFBckMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFrQixTQUFJLEdBQUosSUFBSSxDQUFLO1FBRHhELFNBQUksR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7SUFDdUIsQ0FBQztDQUN0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuZXhwb3J0IGVudW0gVGFibGVBY3Rpb25UeXBlcyB7XG4gIExvYWRGaWx0ZXIgPSAnW1RhYmxlXSBMb2FkIEZpbHRlcicsXG4gIEFwcGVuZEZpbHRlciA9ICdbVGFibGVdIEFwcGVuZCBGaWx0ZXInLFxuICBBcHBlbmRTdGF0ZSA9ICdbVGFibGVdIEFwcGVuZCBTdGF0ZSdcbn1cblxuZXhwb3J0IGNsYXNzIExvYWRGaWx0ZXIgaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVGFibGVBY3Rpb25UeXBlcy5Mb2FkRmlsdGVyO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIEFwcGVuZEZpbHRlciBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBUYWJsZUFjdGlvblR5cGVzLkFwcGVuZEZpbHRlcjtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBmaWx0ZXI6IGFueSkge31cbn1cblxuZXhwb3J0IGNsYXNzIEFwcGVuZFN0YXRlIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFRhYmxlQWN0aW9uVHlwZXMuQXBwZW5kU3RhdGU7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgZGF0YTogYW55KSB7fVxufVxuXG5leHBvcnQgdHlwZSBUYWJsZUFjdGlvbnMgPSBMb2FkRmlsdGVyIHwgQXBwZW5kRmlsdGVyIHwgQXBwZW5kU3RhdGU7XG4iXX0=
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9hZHZhbmNlZC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGRhdGEgdXNlZCBmb3IgZmlsdGVyaW5nXG4gKiBcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8c3RyaW5nPn0gZmlsdGVycyBBIGxpc3Qgb2YgZXhwcmVzc2lvbnMgdG8gdXNlIGZvciBmaWx0ZXJpbmdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0ZXh0IFRoZSBzZWFyY2ggdGV4dCB1c2VkIGJ5IHRoZSB1c2VyIHRvIHJ1biBhZ2FpbnN0IHRoZSBkZWNsYXJlZCBzZWFyY2ggZXhwcmVzc2lvblxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIHtcbiAgZmlsdGVyczogc3RyaW5nW10sXG4gIHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uIEEgY29sdW1uIGluIHRoZSBhZHZhbmNlZCBhZ2dyZWdhdG9yIGxpc3RcbiAqIFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbHVtbi4gSXQncyB1c2VkIGFzIGl0J3Mga2V5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRoYXQgd2lsbCBiZSBzaG93biBhcyBjb2x1bW4gbGFiZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nPSd0ZXh0JywgJ2Jvb2xlYW4nfSB0eXBlIFRoZSBkYXRhIHR5cGUgb2YgdGhlIGNvbHVtbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZhcmlhbnQgVGhlIGEgdmlzdWFsaXphdGlvbiB2YXJpYW50IG9mIHRoZSBjb2x1bW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBjZWxsXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHJ1ZVZhbHVlIEZvciBib29sZWFucywgdGhlIHZhbHVlIHRoYXQgcmVwcmVzZW50IHRoZSB0cnVlIHN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhpZGRlbiBXaGV0aGVyIHRoZSBjb2x1bW4gc2hvdWxkIGJlIHNob3duIG9uIHRoZSBVSVxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHZhcmlhbnQ/OiBzdHJpbmc7XG4gIGxlbmd0aD86IHN0cmluZztcbiAgdHJ1ZVZhbHVlPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFxuICogQGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JBY3Rpb24gQW4gYWN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBjb2x1bW5cbiAqIFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFjdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmc9J2VkaXQnfSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBhY3Rpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZSBUaGUgdGl0bGUgdGhhdCBpcyBzaG93biBvbiBtb3VzZSBob3ZlclxuICogQHByb3BlcnR5IHtzdHJpbmd9IGlkZW50aWZpZXIgQW4gaWRlbnRpZmllciB0aGF0IHdpbGwgYmUgZW1pdHRlZCBhbG9uZyB3aXRoIHRoZSByb3cgZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGljb24gVGhlIGljb24gdG8gc2hvdyBhcyBpZGVudGlmaWVyXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24gQW4gYWdncmVnYXRvciBmdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gYSB2YWx1ZSBmb3IgZWFjaCBzdWJncm91cFxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgYWdncmVnYXRvciBmdW5jdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IGxhYmVsIFRoZSBsYWJlbCBvZiB0aGUgYWdncmVnYXRvclxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JGdW5jdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBcbiAqIEBpbnRlcmZhY2UgQWR2YW5jZWRBZ2dyZWdhdG9yR3JvdXAgVGhlIGRlY2xhcmF0aW9uIG9mIGEgcHJvcGVydHkgdGhhdCBjYW4gYmUgdXNlZCB0byBncm91cCB0aGUgZGF0YVxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgZ3JvdXAuIFNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgY29sdW1uIHByb3BlcnR5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gcHJvcGVydHkgVGhlIHByb3BlcnR5IG5hbWUgXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbGFiZWwgVGhlIGxhYmVsIHRvIGJlIHNob3duIGFzIHRoZSBzZWxlY3Qgb3B0aW9uIGF0IHRoZSBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIHRvIHNob3cgb24gdG9wIG9mIHRoZSBncm91cGVkIGxpc3QgXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZGVmYXVsdCBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgdXNlZCBieSBkZWZhdWx0LiBJZiBub25lLCB0aGUgZmlyc3QgZm91bmQgaXMgdXNlZFxuICogXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cCB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcGVydHk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3IgQSBkZWNsYXJhdGlvbiBmb3IgYSBwb3N0IHByb2Nlc3NvciBmdW5jdGlvblxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcG9zdCBwcm9jZXNzb3IuIEl0IHdpbGwgYmUgdXNlZCBhcyBpZGVudGlmaWVyXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3Ige1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogXG4gKiBAaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYWR2YW5jZWQgYWdncmVnYXRvciBsaXN0IGNvbXBvbmVudFxuICogXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbW9kZWwgVGhlIG1vZGVsIHdoaWNoIGlzIGdvaW5nIHRvIGJlIGRpc3BsYXllZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHF1ZXJ5IFRoZSBxdWVyeSB0byB1c2UgaW4gb3JkZXIgdG8gZmV0Y2ggZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlIFRoZSBUaXRsZSBvZiB0aGUgbGlzdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG9yZGVyQnkgVGhlIHByb3BlcnR5IGFjY29yZGluZyB3aGljaCB0aGUgbGlzdCBzaG91bGQgYmUgb3JkZXJlZFxuICogQHByb3BlcnR5IHtBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cD59IGdyb3VwUHJvcGVydGllcyBUaGUgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGdyb3VwaW5nIHByb3BlcnRpZXNcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24+fSBhZ2dyZWdhdG9yIFRoZSBsaXN0IG9mIGZ1bmN0aW9ucyB0aGF0IGNhbiBzdW1tYXJpemUgdGhlIGRhdGFcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQWN0aW9uPn0gYWN0aW9ucyBUaGUgbGlzdCBvZiBhY3Rpb25zIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIGxpc3QgaXRlbXNcbiAqIEBwcm9wZXJ0eSB7QXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uPn0gY29sdW1ucyBUaGUgbGlzdCBvZiBmaWVsZHMgdG8gYmUgdXNlZCBmcm9tIHRoZSB0YXJnZXQgbW9kZWxzXG4gKiBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZyB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9yZGVyQnk6IHN0cmluZztcbiAgZ3JvdXBQcm9wZXJ0aWVzOiBBcnJheTxBZHZhbmNlZEFnZ3JlZ2F0b3JHcm91cD47XG4gIGFnZ3JlZ2F0b3JzPzogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yRnVuY3Rpb24+O1xuICBwb3N0UHJvY2Vzc29ycz86IEFycmF5PEFkdmFuY2VkQWdncmVnYXRvclBvc3RQcm9jZXNzb3I+O1xuICBhY3Rpb25zPzogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQWN0aW9uPjtcbiAgY29sdW1uczogQXJyYXk8QWR2YW5jZWRBZ2dyZWdhdG9yQ29sdW1uPjtcbn1cbiJdfQ==
@@ -1,142 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { RouterModalOkCancel } from '@universis/common/routing';
3
- import { ActivatedRoute, Router } from '@angular/router';
4
- import { Observable } from 'rxjs';
5
- import { TranslateService } from '@ngx-translate/core';
6
- import { AngularDataContext } from '@themost/angular';
7
- import { AdvancedTableModalBaseComponent } from '../advanced-table-modal/advanced-table-modal-base.component';
8
- import { AdvancedFormComponent } from '@universis/forms';
9
- import { AppEventService, ErrorService, LoadingService, ModalService, ToastService } from '@universis/common';
10
- export class AddItemsComponent extends RouterModalOkCancel {
11
- constructor(router, activatedRoute, _errorService, _modalService, _appEvent, _toastService, _loadingService, _translateService, _context) {
12
- super(router, activatedRoute);
13
- this._errorService = _errorService;
14
- this._modalService = _modalService;
15
- this._appEvent = _appEvent;
16
- this._toastService = _toastService;
17
- this._loadingService = _loadingService;
18
- this._translateService = _translateService;
19
- this._context = _context;
20
- this.loading = false;
21
- this.items = [];
22
- this.messages = [];
23
- // set modal size
24
- this.modalClass = 'modal-lg';
25
- this.okButtonDisabled = true;
26
- }
27
- ngOnInit() {
28
- this.selectedSubscription = this.selectComponent.advancedTable.selectedItems.subscribe((items) => {
29
- if (this.formName == null) {
30
- this.okButtonDisabled = items.length === 0;
31
- }
32
- });
33
- if (this.formName != null) {
34
- this.formChangeSubscription = this.formComponent.form.change.subscribe((event) => {
35
- if (Object.prototype.hasOwnProperty.call(event, 'isValid')) {
36
- // enable or disable button based on form status
37
- this.okButtonDisabled = (!event.isValid);
38
- }
39
- });
40
- }
41
- if (this.target) {
42
- const target = this.target;
43
- }
44
- }
45
- cancel() {
46
- this.clearMessages();
47
- if (this.loading) {
48
- return;
49
- }
50
- // close
51
- if (this._modalService.modalRef) {
52
- return this._modalService.modalRef.hide();
53
- }
54
- }
55
- ngOnDestroy() {
56
- if (this.formLoadSubscription) {
57
- this.formLoadSubscription.unsubscribe();
58
- }
59
- if (this.formChangeSubscription) {
60
- this.formChangeSubscription.unsubscribe();
61
- }
62
- if (this.selectedSubscription) {
63
- this.selectedSubscription.unsubscribe();
64
- }
65
- }
66
- get formData() {
67
- if (this.formComponent === null) {
68
- return null;
69
- }
70
- return this.formComponent.form.formio.data;
71
- }
72
- ok() {
73
- try {
74
- this.clearMessages();
75
- return new Promise((resolve, reject) => {
76
- this.loading = false;
77
- this.lastError = null;
78
- // set courses
79
- this.items = this.selectComponent.advancedTable.selected;
80
- // execute add
81
- this.executeSubscription = this.execute.subscribe((result) => {
82
- this.loading = false;
83
- if (this.executeSubscription) {
84
- this.executeSubscription.unsubscribe();
85
- }
86
- // close modal
87
- if (this._modalService.modalRef) {
88
- this._modalService.modalRef.hide();
89
- }
90
- return resolve(null);
91
- }, (err) => {
92
- this.loading = false;
93
- // ensure that loading is hidden
94
- this._loadingService.hideLoading();
95
- // set last error
96
- this.lastError = err;
97
- return resolve(null);
98
- });
99
- });
100
- }
101
- catch (err) {
102
- this.loading = false;
103
- this._loadingService.hideLoading();
104
- this.lastError = err;
105
- }
106
- }
107
- onChange($event) { }
108
- clearMessages() {
109
- this.messages = [];
110
- }
111
- onFilterChange(event) { }
112
- }
113
- AddItemsComponent.decorators = [
114
- { type: Component, args: [{
115
- selector: 'app-add-items',
116
- 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"
117
- }] }
118
- ];
119
- /** @nocollapse */
120
- AddItemsComponent.ctorParameters = () => [
121
- { type: Router },
122
- { type: ActivatedRoute },
123
- { type: ErrorService },
124
- { type: ModalService },
125
- { type: AppEventService },
126
- { type: ToastService },
127
- { type: LoadingService },
128
- { type: TranslateService },
129
- { type: AngularDataContext }
130
- ];
131
- AddItemsComponent.propDecorators = {
132
- execute: [{ type: Input }],
133
- items: [{ type: Input }],
134
- target: [{ type: Input }],
135
- tableConfiguration: [{ type: Input }],
136
- formName: [{ type: Input }],
137
- messages: [{ type: Input }],
138
- formComponent: [{ type: ViewChild, args: ['formComponent',] }],
139
- selectComponent: [{ type: ViewChild, args: ['selectComponent',] }]
140
- };
141
-
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1pdGVtcy9hZGQtaXRlbXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsVUFBVSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFNNUcsTUFBTSx3QkFBeUIsU0FBUSxtQkFBbUI7SUFpQnhELFlBQVksTUFBYyxFQUNkLGNBQThCLEVBQ3RCLGFBQTJCLEVBQzNCLGFBQTJCLEVBQzNCLFNBQTBCLEVBQzFCLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxRQUE0QjtRQUM5QyxLQUFLLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBUFosa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBaUI7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RyxDQUFDOzs7WUFsSTNELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsK3RKQUF5QzthQUMxQzs7OztZQVh1QixNQUFNO1lBQXRCLGNBQWM7WUFNRyxZQUFZO1lBQWtCLFlBQVk7WUFBM0QsZUFBZTtZQUE4QyxZQUFZO1lBQTFDLGNBQWM7WUFKN0MsZ0JBQWdCO1lBQ2hCLGtCQUFrQjs7O3NCQWF2QixLQUFLO29CQUNMLEtBQUs7cUJBQ0wsS0FBSztpQ0FFTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzs0QkFDTCxTQUFTLFNBQUMsZUFBZTs4QkFDekIsU0FBUyxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZGFsT2tDYW5jZWx9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QW5ndWxhckRhdGFDb250ZXh0fSBmcm9tICdAdGhlbW9zdC9hbmd1bGFyJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBZHZhbmNlZEZvcm1Db21wb25lbnR9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtBcHBFdmVudFNlcnZpY2UsIEVycm9yU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIE1vZGFsU2VydmljZSwgVG9hc3RTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZGQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW1zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRJdGVtc0NvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxhc3RFcnJvcjtcbiAgQElucHV0KCkgZXhlY3V0ZTogT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSB0YXJnZXQ6IGFueTtcbiAgLy8gQElucHV0KCkgc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgdGFibGVDb25maWd1cmF0aW9uOiBhbnk7XG4gIEBJbnB1dCgpIGZvcm1OYW1lOiBhbnk7XG4gIEBJbnB1dCgpIG1lc3NhZ2VzOiBBcnJheTxhbnk+ID0gW107XG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db21wb25lbnQnKSBmb3JtQ29tcG9uZW50OiBBZHZhbmNlZEZvcm1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdENvbXBvbmVudCcpIHNlbGVjdENvbXBvbmVudDogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb3JtTG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZvcm1DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnQ6IEFwcEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29udGV4dDogQW5ndWxhckRhdGFDb250ZXh0KSB7XG4gICAgc3VwZXIocm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgLy8gc2V0IG1vZGFsIHNpemVcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwtbGcnO1xuICAgIHRoaXMub2tCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZEl0ZW1zLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1OYW1lID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5va0J1dHRvbkRpc2FibGVkID0gaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZm9ybU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uY2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6YW55KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXZlbnQsICdpc1ZhbGlkJykpIHtcbiAgICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBidXR0b24gYmFzZWQgb24gZm9ybSBzdGF0dXNcbiAgICAgICAgICB0aGlzLm9rQnV0dG9uRGlzYWJsZWQgPSAoIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xvc2VcbiAgICBpZiAodGhpcy5fbW9kYWxTZXJ2aWNlLm1vZGFsUmVmKSB7XG4gICAgICByZXR1cm4gIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgICAvLyBnZXQgZm9ybSBkYXRhXG4gIHByaXZhdGUgZXhlY3V0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBnZXQgZm9ybURhdGEoKTogYW55IHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db21wb25lbnQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5mb3JtQ29tcG9uZW50LmZvcm0uZm9ybWlvLmRhdGE7XG4gICAgfVxuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xlYXJNZXNzYWdlcygpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBudWxsO1xuICAgICAgICAvLyBzZXQgY291cnNlc1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWxlY3RDb21wb25lbnQuYWR2YW5jZWRUYWJsZS5zZWxlY3RlZFxuICAgICAgICAvLyBleGVjdXRlIGFkZFxuICAgICAgICAgdGhpcy5leGVjdXRlU3Vic2NyaXB0aW9uID0gdGhpcy5leGVjdXRlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICBpZih0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24pe1xuICAgICAgICAgICB0aGlzLmV4ZWN1dGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgIH1cbiAgICAgICAgICAvLyBjbG9zZSBtb2RhbFxuICAgICAgICAgIGlmICh0aGlzLl9tb2RhbFNlcnZpY2UubW9kYWxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX21vZGFsU2VydmljZS5tb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gZW5zdXJlIHRoYXQgbG9hZGluZyBpcyBoaWRkZW5cbiAgICAgICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIC8vIHNldCBsYXN0IGVycm9yXG4gICAgICAgICAgdGhpcy5sYXN0RXJyb3IgPSBlcnI7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICB0aGlzLmxhc3RFcnJvciA9IGVycjtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSgkZXZlbnQ6IGFueSkge31cblxuICBjbGVhck1lc3NhZ2VzKCkge1xuICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGV2ZW50OiAgeyBuYW1lOiBzdHJpbmcsIGVtaXQ6IGJvb2xlYW4gfSkge31cbn1cbiJdfQ==
@@ -1,120 +0,0 @@
1
- import * as tslib_1 from "tslib";
2
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
3
- import { AdvancedAggregatorService } from '../../services/advanced-aggregator/advanced-aggregator.service';
4
- import { LoadingService } from '@universis/common';
5
- /**
6
- *
7
- * @class AdvancedAggregatorComponent
8
- * @classdesc An advanced list with the capability of aggregate data based on configurable filters
9
- *
10
- */
11
- export class AdvancedAggregatorComponent {
12
- constructor(_changeDetector, _advancedAggregatorService, _loadingService) {
13
- this._changeDetector = _changeDetector;
14
- this._advancedAggregatorService = _advancedAggregatorService;
15
- this._loadingService = _loadingService;
16
- this.groups = [];
17
- this.eventHandler = new EventEmitter();
18
- }
19
- set config(value) {
20
- this._config = value;
21
- }
22
- set aggregators(value) {
23
- this._aggregators = value;
24
- }
25
- set postProcessors(value) {
26
- this._postProcessors = value;
27
- }
28
- get config() {
29
- return this._config;
30
- }
31
- get aggregators() {
32
- return this._aggregators;
33
- }
34
- get postProcessors() {
35
- return this._postProcessors;
36
- }
37
- ngOnInit() {
38
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
- this.selectedGroups$.subscribe((data) => {
40
- this.groups = data;
41
- this._changeDetector.markForCheck();
42
- });
43
- this.filters$.subscribe((filters) => tslib_1.__awaiter(this, void 0, void 0, function* () {
44
- try {
45
- yield this.fetch(filters);
46
- }
47
- catch (err) {
48
- console.error(err);
49
- }
50
- }));
51
- });
52
- }
53
- ngOnDestroy() {
54
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
- this.selectedGroups$.unsubscribe();
56
- this.filters$.unsubscribe();
57
- });
58
- }
59
- /**
60
- *
61
- * Retrieves the data
62
- *
63
- */
64
- fetch(filters) {
65
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
- try {
67
- this._loadingService.showLoading();
68
- let data = yield this._advancedAggregatorService.fetchData(this.config.model, this.params, this.config.query, filters.filters, this.searchExpression, filters.text);
69
- if (this.postProcessors && Object.keys(this.postProcessors).length > 0 && this.config.postProcessors && this.config.postProcessors.length > 0) {
70
- for (let i = 0; i < this.config.postProcessors.length; i++) {
71
- data = yield this.postProcessors[this.config.postProcessors[i].name](data);
72
- }
73
- }
74
- this.body = this._advancedAggregatorService.formatData(this.config, data);
75
- this._changeDetector.markForCheck();
76
- }
77
- catch (err) {
78
- console.error(err);
79
- }
80
- finally {
81
- this._loadingService.hideLoading();
82
- }
83
- });
84
- }
85
- /**
86
- *
87
- * Triggers the event handler event
88
- *
89
- * @param {*} event The event data
90
- *
91
- */
92
- onActionEvent(event) {
93
- this.eventHandler.emit(event);
94
- }
95
- }
96
- AdvancedAggregatorComponent.decorators = [
97
- { type: Component, args: [{
98
- selector: 'app-advanced-aggregator',
99
- 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>",
100
- changeDetection: ChangeDetectionStrategy.OnPush
101
- }] }
102
- ];
103
- /** @nocollapse */
104
- AdvancedAggregatorComponent.ctorParameters = () => [
105
- { type: ChangeDetectorRef },
106
- { type: AdvancedAggregatorService },
107
- { type: LoadingService }
108
- ];
109
- AdvancedAggregatorComponent.propDecorators = {
110
- config: [{ type: Input, args: ['config',] }],
111
- aggregators: [{ type: Input, args: ['aggregators',] }],
112
- postProcessors: [{ type: Input, args: ['postProcessors',] }],
113
- params: [{ type: Input, args: ['params',] }],
114
- selectedGroups$: [{ type: Input, args: ['selectedGroups',] }],
115
- filters$: [{ type: Input, args: ['filters',] }],
116
- searchExpression: [{ type: Input, args: ['searchExpression',] }],
117
- eventHandler: [{ type: Output }]
118
- };
119
-
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hZHZhbmNlZC1hZ2dyZWdhdG9yL2FkdmFuY2VkLWFnZ3JlZ2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTNHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRDs7Ozs7R0FLRztBQU9ILE1BQU07SUErQkosWUFDVSxlQUFrQyxFQUNsQywwQkFBcUQsRUFDckQsZUFBK0I7UUFGL0Isb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ2xDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBMkI7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBM0JsQyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBc0JULGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU14QyxDQUFDO0lBMUJMLElBQ1csTUFBTSxDQUFDLEtBQStCO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNXLFdBQVcsQ0FBQyxLQUFLO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNXLGNBQWMsQ0FBQyxLQUFLO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFlRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcs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Q3JHLHlCQUF5QjtZQUV6QixjQUFjOzs7cUJBdUJwQixLQUFLLFNBQUMsUUFBUTswQkFLZCxLQUFLLFNBQUMsYUFBYTs2QkFLbkIsS0FBSyxTQUFDLGdCQUFnQjtxQkFLdEIsS0FBSyxTQUFDLFFBQVE7OEJBQ2QsS0FBSyxTQUFDLGdCQUFnQjt1QkFDdEIsS0FBSyxTQUFDLFNBQVM7K0JBQ2YsS0FBSyxTQUFDLGtCQUFrQjsyQkFFeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWR2YW5jZWQtYWdncmVnYXRvci9hZHZhbmNlZC1hZ2dyZWdhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnLCBBZHZhbmNlZEFnZ3JlZ2F0b3JGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vYWR2YW5jZWQtYWdncmVnYXRvcic7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcblxuLyoqXG4gKlxuICogQGNsYXNzIEFkdmFuY2VkQWdncmVnYXRvckNvbXBvbmVudFxuICogQGNsYXNzZGVzYyBBbiBhZHZhbmNlZCBsaXN0IHdpdGggdGhlIGNhcGFiaWxpdHkgb2YgYWdncmVnYXRlIGRhdGEgYmFzZWQgb24gY29uZmlndXJhYmxlIGZpbHRlcnNcbiAqXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLWFnZ3JlZ2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2YW5jZWQtYWdncmVnYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEFnZ3JlZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBBZHZhbmNlZEFnZ3JlZ2F0b3JDb25maWc7XG4gIHByaXZhdGUgX2FnZ3JlZ2F0b3JzO1xuICBwcml2YXRlIF9wb3N0UHJvY2Vzc29ycztcblxuICBwdWJsaWMgYm9keTtcbiAgcHVibGljIGdyb3VwcyA9IFtdO1xuXG4gIEBJbnB1dCgnY29uZmlnJylcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IEFkdmFuY2VkQWdncmVnYXRvckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdhZ2dyZWdhdG9ycycpXG4gIHB1YmxpYyBzZXQgYWdncmVnYXRvcnModmFsdWUpIHtcbiAgICB0aGlzLl9hZ2dyZWdhdG9ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwb3N0UHJvY2Vzc29ycycpXG4gIHB1YmxpYyBzZXQgcG9zdFByb2Nlc3NvcnModmFsdWUpIHtcbiAgICB0aGlzLl9wb3N0UHJvY2Vzc29ycyA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKSBwYXJhbXM7XG4gIEBJbnB1dCgnc2VsZWN0ZWRHcm91cHMnKSBzZWxlY3RlZEdyb3VwcyQ7XG4gIEBJbnB1dCgnZmlsdGVycycpIGZpbHRlcnMkO1xuICBASW5wdXQoJ3NlYXJjaEV4cHJlc3Npb24nKSBzZWFyY2hFeHByZXNzaW9uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGV2ZW50SGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZTogQWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9sb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBhZ2dyZWdhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWdncmVnYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvc3RQcm9jZXNzb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc29ycztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5ncm91cHMgPSBkYXRhO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlcnMkLnN1YnNjcmliZShhc3luYyAoZmlsdGVyczogQWR2YW5jZWRBZ2dyZWdhdG9yRmlsdGVycykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaChmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsdGVycyQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRhdGFcbiAgICpcbiAgICovXG4gIGFzeW5jIGZldGNoKGZpbHRlcnM6IEFkdmFuY2VkQWdncmVnYXRvckZpbHRlcnMpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fbG9hZGluZ1NlcnZpY2Uuc2hvd0xvYWRpbmcoKTtcbiAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5fYWR2YW5jZWRBZ2dyZWdhdG9yU2VydmljZS5mZXRjaERhdGEodGhpcy5jb25maWcubW9kZWwsXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICB0aGlzLmNvbmZpZy5xdWVyeSxcbiAgICAgICAgZmlsdGVycy5maWx0ZXJzLFxuICAgICAgICB0aGlzLnNlYXJjaEV4cHJlc3Npb24sXG4gICAgICAgIGZpbHRlcnMudGV4dFxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMucG9zdFByb2Nlc3NvcnMgJiYgT2JqZWN0LmtleXModGhpcy5wb3N0UHJvY2Vzc29ycykubGVuZ3RoID4gMCAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycyAmJiB0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb25maWcucG9zdFByb2Nlc3NvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5wb3N0UHJvY2Vzc29yc1t0aGlzLmNvbmZpZy5wb3N0UHJvY2Vzc29yc1tpXS5uYW1lXShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmJvZHkgPSB0aGlzLl9hZHZhbmNlZEFnZ3JlZ2F0b3JTZXJ2aWNlLmZvcm1hdERhdGEodGhpcy5jb25maWcsIGRhdGEpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRyaWdnZXJzIHRoZSBldmVudCBoYW5kbGVyIGV2ZW50XG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gZXZlbnQgVGhlIGV2ZW50IGRhdGFcbiAgICpcbiAgICovXG4gIG9uQWN0aW9uRXZlbnQoZXZlbnQpIHtcbiAgICB0aGlzLmV2ZW50SGFuZGxlci5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIl19
@@ -1,53 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { TemplatePipe } from '@universis/common';
3
- var Lengths;
4
- (function (Lengths) {
5
- Lengths["XL"] = "xl";
6
- Lengths["LG"] = "lg";
7
- Lengths["MD"] = "md";
8
- Lengths["SM"] = "sm";
9
- Lengths["XS"] = "xs";
10
- })(Lengths || (Lengths = {}));
11
- export class AdvancedAggregatorListComponent {
12
- constructor(_template) {
13
- this._template = _template;
14
- this.clickEvent = new EventEmitter();
15
- }
16
- ngOnInit() {
17
- this.config.columns.forEach(x => {
18
- x.length = Object.values(Lengths).includes(x.length) ? this._template.transform(`sis--list-group-item_${x.length}_column`, x) :
19
- !x.length ? 'sis--list-group-item_sm_column' : x.length;
20
- });
21
- }
22
- /**
23
- *
24
- * Triggers the output event emitter
25
- *
26
- * @param type The type of the event as it's declared in the configuration
27
- * @param item The value of the current item
28
- * }
29
- */
30
- callCallback(type, data) {
31
- this.clickEvent.emit({
32
- type,
33
- data
34
- });
35
- }
36
- }
37
- AdvancedAggregatorListComponent.decorators = [
38
- { type: Component, args: [{
39
- selector: 'app-advanced-aggregator-list',
40
- template: "<div id=\"group-list\" class=\"flex-column\" *ngIf=\"config && config.columns\">\n <ul class=\"sis--list-group sis--list-group-header\">\n <li class=\"sis--list-group-item text-wrap\">\n <div class=\"d-flex justify-content-center align-items-center\" *ngIf=\"body && body.length > 0\">\n <div *ngIf=\"config.actions && config.actions.length > 0\" class=\"sis--list-group-item_sm_column\"></div>\n <div *ngFor=\"let column of config.columns; let i = index\" class=\"text-left\" [class]=\"config.columns[i].length\"\n [translate]=\"config.columns[i].type === 'action' ? '' : column.title\" [ngClass]=\"{\n 'd-none': config.columns[i].hidden\n }\"></div>\n </div>\n </li>\n </ul>\n\n <!-- The list of entries -->\n <ul class=\"sis--list-group sis--list-group-body\" *ngIf=\"body && body.length > 0\">\n <li class=\"sis--list-group-item text-wrap\" *ngFor=\"let entry of body | orderBy: config.orderBy\">\n <div class=\"d-flex justify-content-center align-items-center list-color\">\n <!-- The list of actions -->\n <div *ngIf=\"config.actions && config.actions.length > 0\" class=\"sis--list-group-item_sm_column text-left pr-0\">\n <button *ngFor=\"let action of config.actions\" (click)=\"callCallback(action.identifier, entry)\"\n [title]=\"(action.title ? action.title : '') | translate \" class=\"btn btn-default px-0\">\n <i class=\"\" [class]=\"'fas text-indigo ml-2 ' + 'fa-' + action.icon\"></i>\n </button>\n <span class=\"px-0\">\n <i class=\"fa fa-fw\">&nbsp;</i>\n </span>\n\n </div>\n <!-- The list of data -->\n <div *ngFor=\"let column of config.columns; let i=index\" [class]=\"config.columns[i].length\" class=\"text-left\"\n [ngClass]=\"{\n 'text-truncate': config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate,\n 'd-none': config.columns[i].hidden,\n 'd-md-block': !config.columns[i].hidden\n }\"\n [title]=\"config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate ? entry[column.name] : ''\">\n <span class=\"text-secondary\"\n *ngIf=\"!config.columns[i].hasOwnProperty('type') || (config.columns[i].hasOwnProperty('type') && config.columns[i].type === 'text')\"\n [ngClass]=\"{\n 'font-xs': config.columns[i].variant !== 'primary',\n 'text-body': config.columns[i].variant === 'primary',\n 'text-success': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && entry[config.columns[i].condition],\n 'text-danger': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && !entry[config.columns[i].condition],\n 'font-lg': config.columns[i].variant === 'redGreen' && entry[column.name] && entry[column.name].length > 3,\n 'font-2xl': config.columns[i].variant === 'redGreen' && entry[column.name] && entry[column.name].length <= 3\n }\">\n {{entry[column.name] || '-'}}\n </span>\n\n <span *ngIf=\"config.columns[i].type === 'boolean'\">\n <i class=\"fa font-lg\" [ngClass]=\"{\n 'fa-check text-success': !!entry[column.name],\n 'fa-times text-danger': !!entry[column.name] === false && config.columns[i].variant !== 'checkOrDash'\n }\"></i>\n <span\n *ngIf=\"entry[column.name].toString() !== config.columns[i].trueValue && config.columns[i].variant === 'checkOrDash'\"\n class=\"text-secondary font-xs\">-</span>\n </span>\n </div>\n </div>\n <div *ngIf=\"entry && entry.subitems\">\n <div *ngFor=\"let subitem of entry.subitems\" class=\"d-flex justify-content-center align-items-center list-color\">\n <div *ngIf=\"config.actions && config.actions.length > 0\"\n class=\"sis--list-group-item_sm_column text-left pr-0\">\n <span class=\"px-0\">\n <i class=\"fa fa-fw\">&nbsp;</i>\n </span>\n <button *ngFor=\"let action of config.actions\" (click)=\"callCallback(action.identifier, subitem)\"\n [title]=\"(action.title ? action.title : '') | translate \" class=\"btn btn-default px-0\">\n <i *ngIf=\"action.type === 'edit'\" class=\"fas fa-edit text-indigo\"></i>\n </button>\n </div>\n <div class=\"text-left\"></div>\n <div *ngFor=\"let column of config.columns; let i=index\" [class]=\"config.columns[i].length\" class=\"text-left\"\n [ngClass]=\"{\n 'text-truncate': config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate,\n 'd-none': config.columns[i].hidden,\n 'd-md-block': !config.columns[i].hidden\n }\"\n [title]=\"config.columns[i].hasOwnProperty('truncate') && config.columns[i].truncate ? entry[column.name] : ''\">\n <span class=\"text-secondary\"\n *ngIf=\"!config.columns[i].hasOwnProperty('type') || (config.columns[i].hasOwnProperty('type') && config.columns[i].type === 'text')\"\n [ngClass]=\"{\n 'font-xs': config.columns[i].variant !== 'primary',\n 'text-body': config.columns[i].variant === 'primary',\n 'text-success': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && subitem[config.columns[i].condition],\n 'text-danger': config.columns[i].variant === 'redGreen' && config.columns[i].hasOwnProperty('condition') && !subitem[config.columns[i].condition],\n 'font-lg': config.columns[i].variant === 'redGreen' && subitem[column.name] && subitem[column.name].length > 3,\n 'font-2xl': config.columns[i].variant === 'redGreen' && subitem[column.name] && subitem[column.name].length <= 3\n }\">\n {{subitem[column.name] || '-'}}\n </span>\n <span *ngIf=\"config.columns[i].type === 'boolean'\">\n <i class=\"fa font-lg\" [ngClass]=\"{\n 'fa-check text-success': !!subitem[column.name],\n 'fa-times text-danger': !!subitem[column.name] === false && config.columns[i].variant !== 'checkOrDash'\n }\"></i>\n <span\n *ngIf=\"subitem[column.name].toString() !== config.columns[i].trueValue && config.columns[i].variant === 'checkOrDash'\"\n class=\"text-secondary font-xs\">-</span>\n </span>\n </div>\n </div>\n </div>\n </li>\n </ul>\n</div>"
41
- }] }
42
- ];
43
- /** @nocollapse */
44
- AdvancedAggregatorListComponent.ctorParameters = () => [
45
- { type: TemplatePipe }
46
- ];
47
- AdvancedAggregatorListComponent.propDecorators = {
48
- config: [{ type: Input }],
49
- body: [{ type: Input }],
50
- clickEvent: [{ type: Output }]
51
- };
52
-
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC9hZHZhbmNlZC1hZ2dyZWdhdG9yLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWhELElBQUssT0FNSjtBQU5ELFdBQUssT0FBTztJQUNWLG9CQUFRLENBQUE7SUFDUixvQkFBUSxDQUFBO0lBQ1Isb0JBQVEsQ0FBQTtJQUNSLG9CQUFRLENBQUE7SUFDUixvQkFBUSxDQUFBO0FBQ1YsQ0FBQyxFQU5JLE9BQU8sS0FBUCxPQUFPLFFBTVg7QUFPRCxNQUFNO0lBY0osWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUZqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVLLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxNQUFNLFNBQVMsRUFBRSxDQUFDLENBQUUsQ0FBQyxDQUFDO2dCQUM5SCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFFO1FBQzVELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSTtZQUNKLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLHFvTkFBd0Q7YUFDekQ7Ozs7WUFkUSxZQUFZOzs7cUJBb0JsQixLQUFLO21CQUtMLEtBQUs7eUJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlUGlwZX0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuXG5lbnVtIExlbmd0aHMge1xuICBYTD0gJ3hsJyxcbiAgTEc9ICdsZycsXG4gIE1EPSAnbWQnLFxuICBTTT0gJ3NtJyxcbiAgWFM9ICd4cydcbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtYWdncmVnYXRvci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWFnZ3JlZ2F0b3ItbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB7QWR2YW5jZWRBZ2dyZWdhdG9yQ29uZmlnfSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIHVzZVxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB7QXJyYXk8QXJyYXk8YW55Pj59IGJvZHkgVGhlIGxpc3Qgb2YgZGF0YSBlbnRyaWVzIHRvIHNob3cgYXMgdGhlIGxpc3QgYm9keVxuICAgKi9cbiAgQElucHV0KCkgYm9keTtcblxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVQaXBlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZy5jb2x1bW5zLmZvckVhY2goeCA9PiB7XG4gICAgICB4Lmxlbmd0aCA9IE9iamVjdC52YWx1ZXMoTGVuZ3RocykuaW5jbHVkZXMoeC5sZW5ndGgpID8gdGhpcy5fdGVtcGxhdGUudHJhbnNmb3JtKGBzaXMtLWxpc3QtZ3JvdXAtaXRlbV8ke3gubGVuZ3RofV9jb2x1bW5gLCB4ICkgOlxuICAgICAgICAheC5sZW5ndGggPyAnc2lzLS1saXN0LWdyb3VwLWl0ZW1fc21fY29sdW1uJzogeC5sZW5ndGggO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVHJpZ2dlcnMgdGhlIG91dHB1dCBldmVudCBlbWl0dGVyXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBldmVudCBhcyBpdCdzIGRlY2xhcmVkIGluIHRoZSBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBpdGVtIFRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtXG4gICAqIH1cbiAgICovXG4gIGNhbGxDYWxsYmFjayh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHtcbiAgICAgIHR5cGUsXG4gICAgICBkYXRhXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==