@provoly/dashboard 1.2.8 → 1.2.10

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 (143) hide show
  1. package/admin/admin.module.d.ts +14 -14
  2. package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -16
  3. package/admin/components/admin-dataset/{shared/admin-form-dataset → admin-form-dataset}/admin-form-dataset.component.d.ts +8 -7
  4. package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +23 -18
  5. package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +9 -6
  6. package/admin/components/admin-dataset/store/admin-dataset.service.d.ts +2 -1
  7. package/admin/components/shared/add-category-modal/add-category-modal.component.d.ts +39 -0
  8. package/admin/i18n/en.translations.d.ts +23 -8
  9. package/admin/i18n/fr.translations.d.ts +23 -8
  10. package/dataset/components/dataset.component.d.ts +3 -7
  11. package/dataset/dataset.module.d.ts +7 -9
  12. package/dataset/i18n/en.translations.d.ts +8 -0
  13. package/dataset/i18n/fr.translations.d.ts +8 -0
  14. package/dataset/public-api.d.ts +0 -1
  15. package/dataset/style/_o-pry-dataset.scss +5 -42
  16. package/esm2022/admin/admin.module.mjs +7 -8
  17. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +22 -53
  18. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +1 -1
  19. package/esm2022/admin/components/admin-dataset/admin-form-dataset/admin-form-dataset.component.mjs +115 -0
  20. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +1 -1
  21. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +3 -3
  22. package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +11 -10
  23. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +2 -1
  24. package/esm2022/admin/components/admin-dataset/store/admin-dataset.service.mjs +10 -4
  25. package/esm2022/admin/components/shared/add-category-modal/add-category-modal.component.mjs +73 -0
  26. package/esm2022/admin/i18n/en.translations.mjs +25 -10
  27. package/esm2022/admin/i18n/fr.translations.mjs +26 -11
  28. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +4 -5
  29. package/esm2022/dataset/components/dataset.component.mjs +8 -23
  30. package/esm2022/dataset/dataset.module.mjs +12 -13
  31. package/esm2022/dataset/i18n/en.translations.mjs +9 -1
  32. package/esm2022/dataset/i18n/fr.translations.mjs +10 -2
  33. package/esm2022/dataset/public-api.mjs +1 -2
  34. package/esm2022/dataset/style/css.component.mjs +3 -3
  35. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +7 -27
  36. package/esm2022/lib/core/components/chips-selector/chips-selector.module.mjs +21 -0
  37. package/esm2022/lib/core/components/select-image/select-image.component.mjs +1 -1
  38. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -3
  39. package/esm2022/lib/core/components/share/share.module.mjs +8 -12
  40. package/esm2022/lib/core/core.module.mjs +4 -8
  41. package/esm2022/lib/core/i18n/en.translations.mjs +8 -8
  42. package/esm2022/lib/core/i18n/fr.translations.mjs +9 -9
  43. package/esm2022/lib/core/pipes/get-secured-image/get-secured-image.pipe.mjs +21 -0
  44. package/esm2022/lib/core/pipes/since-date/since-date.module.mjs +18 -0
  45. package/esm2022/lib/core/pipes/since-date/since-date.pipe.mjs +55 -0
  46. package/esm2022/lib/core/pipes/translate-id/translate-id.pipe.mjs +108 -0
  47. package/esm2022/lib/core/pipes/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +23 -0
  48. package/esm2022/lib/core/public-api.mjs +7 -4
  49. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +4 -2
  50. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +4 -1
  51. package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
  52. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +6 -2
  53. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +4 -2
  54. package/esm2022/lib/core/store/data-source/data-source.service.mjs +6 -1
  55. package/esm2022/lib/core/store/data-source/datasource-utils.mjs +22 -1
  56. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +2 -2
  57. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +60 -0
  58. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +95 -0
  59. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +53 -48
  60. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +6 -7
  61. package/esm2022/lib/dashboard/components/widgets/public-api.mjs +3 -1
  62. package/esm2022/lib/dashboard/dashboard.module.mjs +19 -7
  63. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +2 -2
  64. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +2 -3
  65. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +2 -3
  66. package/esm2022/pipeline/pipeline.module.mjs +8 -9
  67. package/esm2022/presentation/components/presentation.component.mjs +2 -3
  68. package/esm2022/presentation/presentation.module.mjs +8 -9
  69. package/esm2022/restitution/components/restitution/restitution.component.mjs +4 -4
  70. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +2 -3
  71. package/esm2022/restitution/restitution.module.mjs +2 -3
  72. package/esm2022/restitution/style/css.component.mjs +2 -2
  73. package/fesm2022/provoly-dashboard-admin.mjs +194 -109
  74. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  75. package/fesm2022/provoly-dashboard-dataset.mjs +51 -79
  76. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  77. package/fesm2022/provoly-dashboard-pipeline.mjs +17 -19
  78. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  79. package/fesm2022/provoly-dashboard-presentation.mjs +8 -10
  80. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  81. package/fesm2022/provoly-dashboard-restitution.mjs +7 -9
  82. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  83. package/fesm2022/provoly-dashboard.mjs +3475 -3233
  84. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  85. package/lib/core/components/chips-selector/chips-selector.component.d.ts +1 -6
  86. package/lib/core/components/chips-selector/chips-selector.module.d.ts +11 -0
  87. package/lib/core/components/share/share.module.d.ts +3 -4
  88. package/lib/core/core.module.d.ts +26 -27
  89. package/lib/core/i18n/en.translations.d.ts +7 -7
  90. package/lib/core/i18n/fr.translations.d.ts +7 -7
  91. package/{components/sinceDate/sinceDate.module.d.ts → lib/core/pipes/since-date/since-date.module.d.ts} +3 -2
  92. package/{components/sinceDate/sinceDate.pipe.d.ts → lib/core/pipes/since-date/since-date.pipe.d.ts} +4 -4
  93. package/lib/core/{components → pipes}/translate-id/translate-id.pipe.d.ts +0 -2
  94. package/lib/core/public-api.d.ts +6 -3
  95. package/lib/core/store/data-source/data-source.actions.d.ts +7 -0
  96. package/lib/core/store/data-source/data-source.effects.d.ts +3 -0
  97. package/lib/core/store/data-source/data-source.model.d.ts +3 -0
  98. package/lib/core/store/data-source/data-source.reducer.d.ts +2 -0
  99. package/lib/core/store/data-source/data-source.selectors.d.ts +1 -0
  100. package/lib/core/store/data-source/data-source.service.d.ts +2 -0
  101. package/lib/core/store/data-source/datasource-utils.d.ts +4 -1
  102. package/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.d.ts +24 -0
  103. package/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.d.ts +35 -0
  104. package/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.d.ts +19 -11
  105. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
  106. package/lib/dashboard/components/widgets/public-api.d.ts +2 -0
  107. package/lib/dashboard/dashboard.module.d.ts +18 -15
  108. package/package.json +13 -19
  109. package/pipeline/pipeline.module.d.ts +3 -4
  110. package/presentation/presentation.module.d.ts +7 -8
  111. package/restitution/components/restitution/restitution.component.d.ts +1 -1
  112. package/restitution/restitution.module.d.ts +1 -2
  113. package/restitution/style/_o-restitution.scss +4 -0
  114. package/styles/base/_typography.scss +4 -0
  115. package/styles/base/_utils.scss +27 -1
  116. package/styles/components/_a-btn.scss +4 -0
  117. package/styles/components/_a-chip.scss +45 -0
  118. package/styles/components/_o-datasource-selector.scss +192 -0
  119. package/styles/components/_o-modal.scss +0 -42
  120. package/styles/components/_o-widget.scss +1 -1
  121. package/styles/layout/_o-base-layout.scss +1 -7
  122. package/styles/main.scss +1 -0
  123. package/styles-theme/main-theme.scss +0 -3
  124. package/components/sinceDate/index.d.ts +0 -5
  125. package/components/sinceDate/public-api.d.ts +0 -2
  126. package/dataset/components/dataset-card/dataset-card.component.d.ts +0 -18
  127. package/dataset/style/_o-pry-dataset-card.scss +0 -85
  128. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +0 -99
  129. package/esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs +0 -5
  130. package/esm2022/components/sinceDate/public-api.mjs +0 -3
  131. package/esm2022/components/sinceDate/sinceDate.module.mjs +0 -16
  132. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +0 -55
  133. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +0 -41
  134. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +0 -21
  135. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +0 -114
  136. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +0 -23
  137. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +0 -75
  138. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +0 -1
  139. package/styles-theme/components-theme/_a-chip.theme.scss +0 -32
  140. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +0 -26
  141. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +0 -4
  142. /package/lib/core/{components → pipes}/get-secured-image/get-secured-image.pipe.d.ts +0 -0
  143. /package/lib/core/{components → pipes}/translate-item-to-symbol/translate-item-to-symbol.pipe.d.ts +0 -0
@@ -38,6 +38,7 @@ const matchingDatasetVersions = (datasetId) => {
38
38
  return memoizeDatasetVersions[datasetId];
39
39
  };
40
40
  const datasetPreviews = createSelector(selectFeature, (state) => state?.previews ?? []);
41
+ const categories = createSelector(selectFeature, (state) => state.categories);
41
42
  export const DataSourceSelectors = {
42
43
  selectFeature,
43
44
  getNamedQuery,
@@ -55,6 +56,7 @@ export const DataSourceSelectors = {
55
56
  getDataSourcesSorted,
56
57
  datasetVersions,
57
58
  matchingDatasetVersions,
58
- datasetPreviews
59
+ datasetPreviews,
60
+ categories
59
61
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQWtCLG9CQUFvQixDQUFDLENBQUM7QUFFbkYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUUsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDekIsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLHNCQUFzQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssc0JBQXNCLENBQUM7U0FDcEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2IsTUFB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QUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQy9GLE1BQU0sc0JBQXNCLEdBQUcsRUFBUyxDQUFDO0FBQ3pDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEVBQUU7SUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEdBQUcsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3RGLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDMUcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxzQkFBc0IsQ0FBQyxTQUFTLENBQTRDLENBQUM7QUFDdEYsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUV4RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxhQUFhO0lBQ2IsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGVBQWU7SUFDZixXQUFXO0lBQ1gsUUFBUTtJQUNSLGNBQWM7SUFDZCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFNBQVM7SUFDVCxjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsZUFBZTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEYXRhc2V0VmVyc2lvbiwgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgZGF0YVNvdXJjZUZlYXR1cmVLZXksIERhdGFTb3VyY2VTdGF0ZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UucmVkdWNlcic7XG5pbXBvcnQgeyBEYXRhc291cmNlVXRpbHMgfSBmcm9tICcuL2RhdGFzb3VyY2UtdXRpbHMnO1xuXG5jb25zdCBzZWxlY3RGZWF0dXJlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPERhdGFTb3VyY2VTdGF0ZT4oZGF0YVNvdXJjZUZlYXR1cmVLZXkpO1xuXG5jb25zdCBnZXROYW1lZFF1ZXJ5ID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZSk7XG5jb25zdCBnZXRBbGxOYW1lZFF1ZXJ5ID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS5saXN0KTtcbmNvbnN0IGdldE5hbWVkUXVlcnlTb3J0ZWQgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHtcbiAgY29uc3QgbGlzdCA9IFsuLi5zdGF0ZS5saXN0XVxuICAgIC5maWx0ZXIoKG5xKSA9PiBucS5pZCAhPT0gREVGQVVMVF9OQU1FRF9RVUVSWV9JRCAmJiBucS5pZCAhPT0gRVhQTE9SRV9OQU1FRF9RVUVSWV9JRClcbiAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcGFzdERhdGUgPSBuZXcgRGF0ZSgxKTtcbiAgICAgIGNvbnN0IGRhdGVBID0gYS5sYXN0RXhlY3V0aW9uRGF0ZSA/IG5ldyBEYXRlKGEubGFzdEV4ZWN1dGlvbkRhdGUpIDogcGFzdERhdGU7XG4gICAgICBjb25zdCBkYXRlQiA9IGIubGFzdEV4ZWN1dGlvbkRhdGUgPyBuZXcgRGF0ZShiLmxhc3RFeGVjdXRpb25EYXRlKSA6IHBhc3REYXRlO1xuICAgICAgcmV0dXJuIGRhdGVCLmdldFRpbWUoKSAtIGRhdGVBLmdldFRpbWUoKTtcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi5mYXZvcml0ZSkgLSBOdW1iZXIoYS5mYXZvcml0ZSkpO1xuICByZXR1cm4gbGlzdC5sZW5ndGggPiA5ID8gbGlzdC5zbGljZSgwLCAxMCkgOiBsaXN0O1xufSk7XG5jb25zdCBlZGl0SW5Qcm9ncmVzcyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gISFzdGF0ZS5jdXJyZW50RWRpdCk7XG5jb25zdCBjdXJyZW50RWRpdFR5cGUgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+XG4gIERhdGFzb3VyY2VVdGlscy5nZXRUeXBlRnJvbVBheWxvYWQoc3RhdGUuY3VycmVudEVkaXQ/LnJlcXVlc3QpXG4pO1xuY29uc3QgY3VycmVudEVkaXQgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRFZGl0KTtcbmNvbnN0IGlzUmVuYW1lID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS5pc1JlbmFtZSk7XG5jb25zdCBlZGl0RnJvbVdpZGdldCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUuZnJvbVdpZGdldCk7XG5jb25zdCBkYXRhc2V0cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUuZGF0YXNldHMpO1xuY29uc3QgZXJyb3JzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS5lcnJvcik7XG5jb25zdCBpc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmlzTG9hZGluZyk7XG5jb25zdCBnZXREYXRhU291cmNlcyA9IGNyZWF0ZVNlbGVjdG9yKGdldEFsbE5hbWVkUXVlcnksIGRhdGFzZXRzLCAobnFzLCBkc2QpID0+IFsuLi5ucXMsIC4uLmRzZF0gYXMgRGF0YVNvdXJjZVtdKTtcbmNvbnN0IGdldERhdGFTb3VyY2VzU29ydGVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFsbE5hbWVkUXVlcnksXG4gIGRhdGFzZXRzLFxuICAobnFzLCBkc2QpID0+XG4gICAgWy4uLm5xcywgLi4uZHNkXS5zb3J0KChucTEsIG5xMikgPT4gbnExLm5hbWUudG9Mb3dlckNhc2UoKS5sb2NhbGVDb21wYXJlKG5xMi5uYW1lLnRvTG93ZXJDYXNlKCkpKSBhcyBEYXRhU291cmNlW11cbik7XG5jb25zdCBkYXRhc2V0VmVyc2lvbnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy5kYXRhc2V0VmVyc2lvbnMgPz8gW10pO1xuY29uc3QgbWVtb2l6ZURhdGFzZXRWZXJzaW9ucyA9IHt9IGFzIGFueTtcbmNvbnN0IG1hdGNoaW5nRGF0YXNldFZlcnNpb25zID0gKGRhdGFzZXRJZDogc3RyaW5nKSA9PiB7XG4gIGlmICghbWVtb2l6ZURhdGFzZXRWZXJzaW9uc1tkYXRhc2V0SWRdKSB7XG4gICAgbWVtb2l6ZURhdGFzZXRWZXJzaW9uc1tkYXRhc2V0SWRdID0gY3JlYXRlU2VsZWN0b3IoZGF0YXNldFZlcnNpb25zLCAoZGF0YXNldFZlcnNpb25zKSA9PiB7XG4gICAgICByZXR1cm4gZGF0YXNldFZlcnNpb25zLmZpbHRlcigoZGF0YXNldFZlcnNpb246IERhdGFzZXRWZXJzaW9uKSA9PiBkYXRhc2V0VmVyc2lvbi5kYXRhc2V0ID09PSBkYXRhc2V0SWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG1lbW9pemVEYXRhc2V0VmVyc2lvbnNbZGF0YXNldElkXSBhcyBNZW1vaXplZFNlbGVjdG9yPGFueSwgRGF0YXNldFZlcnNpb25bXT47XG59O1xuY29uc3QgZGF0YXNldFByZXZpZXdzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZT8ucHJldmlld3MgPz8gW10pO1xuXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVNlbGVjdG9ycyA9IHtcbiAgc2VsZWN0RmVhdHVyZSxcbiAgZ2V0TmFtZWRRdWVyeSxcbiAgZ2V0QWxsTmFtZWRRdWVyeSxcbiAgZ2V0TmFtZWRRdWVyeVNvcnRlZCxcbiAgZWRpdEluUHJvZ3Jlc3MsXG4gIGN1cnJlbnRFZGl0VHlwZSxcbiAgY3VycmVudEVkaXQsXG4gIGlzUmVuYW1lLFxuICBlZGl0RnJvbVdpZGdldCxcbiAgZGF0YXNldHMsXG4gIGVycm9ycyxcbiAgaXNMb2FkaW5nLFxuICBnZXREYXRhU291cmNlcyxcbiAgZ2V0RGF0YVNvdXJjZXNTb3J0ZWQsXG4gIGRhdGFzZXRWZXJzaW9ucyxcbiAgbWF0Y2hpbmdEYXRhc2V0VmVyc2lvbnMsXG4gIGRhdGFzZXRQcmV2aWV3c1xufTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQWtCLG9CQUFvQixDQUFDLENBQUM7QUFFbkYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUUsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDekIsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLHNCQUFzQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssc0JBQXNCLENBQUM7U0FDcEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2IsTUFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IsIE1lbW9pemVkU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBERUZBVUxUX05BTUVEX1FVRVJZX0lELCBFWFBMT1JFX05BTUVEX1FVRVJZX0lEIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0YXNldFZlcnNpb24sIERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IGRhdGFTb3VyY2VGZWF0dXJlS2V5LCBEYXRhU291cmNlU3RhdGUgfSBmcm9tICcuL2RhdGEtc291cmNlLnJlZHVjZXInO1xuaW1wb3J0IHsgRGF0YXNvdXJjZVV0aWxzIH0gZnJvbSAnLi9kYXRhc291cmNlLXV0aWxzJztcblxuY29uc3Qgc2VsZWN0RmVhdHVyZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxEYXRhU291cmNlU3RhdGU+KGRhdGFTb3VyY2VGZWF0dXJlS2V5KTtcblxuY29uc3QgZ2V0TmFtZWRRdWVyeSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUpO1xuY29uc3QgZ2V0QWxsTmFtZWRRdWVyeSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUubGlzdCk7XG5jb25zdCBnZXROYW1lZFF1ZXJ5U29ydGVkID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiB7XG4gIGNvbnN0IGxpc3QgPSBbLi4uc3RhdGUubGlzdF1cbiAgICAuZmlsdGVyKChucSkgPT4gbnEuaWQgIT09IERFRkFVTFRfTkFNRURfUVVFUllfSUQgJiYgbnEuaWQgIT09IEVYUExPUkVfTkFNRURfUVVFUllfSUQpXG4gICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IHBhc3REYXRlID0gbmV3IERhdGUoMSk7XG4gICAgICBjb25zdCBkYXRlQSA9IGEubGFzdEV4ZWN1dGlvbkRhdGUgPyBuZXcgRGF0ZShhLmxhc3RFeGVjdXRpb25EYXRlKSA6IHBhc3REYXRlO1xuICAgICAgY29uc3QgZGF0ZUIgPSBiLmxhc3RFeGVjdXRpb25EYXRlID8gbmV3IERhdGUoYi5sYXN0RXhlY3V0aW9uRGF0ZSkgOiBwYXN0RGF0ZTtcbiAgICAgIHJldHVybiBkYXRlQi5nZXRUaW1lKCkgLSBkYXRlQS5nZXRUaW1lKCk7XG4gICAgfSlcbiAgICAuc29ydCgoYSwgYikgPT4gTnVtYmVyKGIuZmF2b3JpdGUpIC0gTnVtYmVyKGEuZmF2b3JpdGUpKTtcbiAgcmV0dXJuIGxpc3QubGVuZ3RoID4gOSA/IGxpc3Quc2xpY2UoMCwgMTApIDogbGlzdDtcbn0pO1xuY29uc3QgZWRpdEluUHJvZ3Jlc3MgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+ICEhc3RhdGUuY3VycmVudEVkaXQpO1xuY29uc3QgY3VycmVudEVkaXRUeXBlID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PlxuICBEYXRhc291cmNlVXRpbHMuZ2V0VHlwZUZyb21QYXlsb2FkKHN0YXRlLmN1cnJlbnRFZGl0Py5yZXF1ZXN0KVxuKTtcbmNvbnN0IGN1cnJlbnRFZGl0ID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS5jdXJyZW50RWRpdCk7XG5jb25zdCBpc1JlbmFtZSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUuaXNSZW5hbWUpO1xuY29uc3QgZWRpdEZyb21XaWRnZXQgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmZyb21XaWRnZXQpO1xuY29uc3QgZGF0YXNldHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmRhdGFzZXRzKTtcbmNvbnN0IGVycm9ycyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUuZXJyb3IpO1xuY29uc3QgaXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS5pc0xvYWRpbmcpO1xuY29uc3QgZ2V0RGF0YVNvdXJjZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRBbGxOYW1lZFF1ZXJ5LCBkYXRhc2V0cywgKG5xcywgZHNkKSA9PiBbLi4ubnFzLCAuLi5kc2RdIGFzIERhdGFTb3VyY2VbXSk7XG5jb25zdCBnZXREYXRhU291cmNlc1NvcnRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbGxOYW1lZFF1ZXJ5LFxuICBkYXRhc2V0cyxcbiAgKG5xcywgZHNkKSA9PlxuICAgIFsuLi5ucXMsIC4uLmRzZF0uc29ydCgobnExLCBucTIpID0+IG5xMS5uYW1lLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShucTIubmFtZS50b0xvd2VyQ2FzZSgpKSkgYXMgRGF0YVNvdXJjZVtdXG4pO1xuY29uc3QgZGF0YXNldFZlcnNpb25zID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZT8uZGF0YXNldFZlcnNpb25zID8/IFtdKTtcbmNvbnN0IG1lbW9pemVEYXRhc2V0VmVyc2lvbnMgPSB7fSBhcyBhbnk7XG5jb25zdCBtYXRjaGluZ0RhdGFzZXRWZXJzaW9ucyA9IChkYXRhc2V0SWQ6IHN0cmluZykgPT4ge1xuICBpZiAoIW1lbW9pemVEYXRhc2V0VmVyc2lvbnNbZGF0YXNldElkXSkge1xuICAgIG1lbW9pemVEYXRhc2V0VmVyc2lvbnNbZGF0YXNldElkXSA9IGNyZWF0ZVNlbGVjdG9yKGRhdGFzZXRWZXJzaW9ucywgKGRhdGFzZXRWZXJzaW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGRhdGFzZXRWZXJzaW9ucy5maWx0ZXIoKGRhdGFzZXRWZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikgPT4gZGF0YXNldFZlcnNpb24uZGF0YXNldCA9PT0gZGF0YXNldElkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBtZW1vaXplRGF0YXNldFZlcnNpb25zW2RhdGFzZXRJZF0gYXMgTWVtb2l6ZWRTZWxlY3RvcjxhbnksIERhdGFzZXRWZXJzaW9uW10+O1xufTtcbmNvbnN0IGRhdGFzZXRQcmV2aWV3cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/LnByZXZpZXdzID8/IFtdKTtcbmNvbnN0IGNhdGVnb3JpZXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmNhdGVnb3JpZXMpO1xuXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVNlbGVjdG9ycyA9IHtcbiAgc2VsZWN0RmVhdHVyZSxcbiAgZ2V0TmFtZWRRdWVyeSxcbiAgZ2V0QWxsTmFtZWRRdWVyeSxcbiAgZ2V0TmFtZWRRdWVyeVNvcnRlZCxcbiAgZWRpdEluUHJvZ3Jlc3MsXG4gIGN1cnJlbnRFZGl0VHlwZSxcbiAgY3VycmVudEVkaXQsXG4gIGlzUmVuYW1lLFxuICBlZGl0RnJvbVdpZGdldCxcbiAgZGF0YXNldHMsXG4gIGVycm9ycyxcbiAgaXNMb2FkaW5nLFxuICBnZXREYXRhU291cmNlcyxcbiAgZ2V0RGF0YVNvdXJjZXNTb3J0ZWQsXG4gIGRhdGFzZXRWZXJzaW9ucyxcbiAgbWF0Y2hpbmdEYXRhc2V0VmVyc2lvbnMsXG4gIGRhdGFzZXRQcmV2aWV3cyxcbiAgY2F0ZWdvcmllc1xufTtcbiJdfQ==
@@ -98,6 +98,11 @@ export class DataSourceService {
98
98
  .select(ConfigSelectors.refUrl)
99
99
  .pipe(switchMap((url) => this.httpClient.delete(encodeURI(`${url}/dataset-versions/id/${version.id}`))));
100
100
  }
101
+ getCategories() {
102
+ return this.store
103
+ .select(ConfigSelectors.refUrl)
104
+ .pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/datasets/categories`))));
105
+ }
101
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceService, deps: [{ token: i1.Store }, { token: i2.HttpClient }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
102
107
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceService, providedIn: 'root' }); }
103
108
  }
@@ -107,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
107
112
  providedIn: 'root'
108
113
  }]
109
114
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.HttpClient }, { type: i3.PryI18nService }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFhNUYsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLEtBQTJDLEVBQzNDLFVBQXNCLEVBQ3RCLGdCQUFnQztRQUZoQyxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMzQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7SUFDdkMsQ0FBQztJQUVKLEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ25ELFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWUsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFDN0YsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNYLEdBQUcsR0FBRztZQUNOO2dCQUNFLEVBQUUsRUFBRSxzQkFBc0I7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFD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QU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFPLFNBQVMsQ0FBQyxHQUFHLEdBQUcsd0JBQXdCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7OEdBbEpVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFzZXRQcmV2aWV3IH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnJlZHVjZXInO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2guY29uc3RhbnRzJztcbmltcG9ydCB7IERhdGFzZXQsIERhdGFzZXRWZXJzaW9uLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU3RhdGUgfSBmcm9tICcuL2RhdGEtc291cmNlLnJlZHVjZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlUmVxdWVzdCB7XG4gIGRhdGE6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPENvbmZpZ1N0YXRlIHwgRGF0YVNvdXJjZVN0YXRlPixcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHt9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PE5hbWVkUXVlcnlbXT4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeWApKSksXG4gICAgICBtYXAoKG5xcykgPT4gW1xuICAgICAgICAuLi5ucXMsXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogREVGQVVMVF9OQU1FRF9RVUVSWV9JRCxcbiAgICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQubmFtZWRRdWVyeS5kZWZhdWx0UnMnKSxcbiAgICAgICAgICBjb2xvcjogJyM4NGVhYzUnLFxuICAgICAgICAgIGxhc3RFeGVjdXRpb25EYXRlOiAxMDAsXG4gICAgICAgICAgcmVxdWVzdDogbnVsbFxuICAgICAgICB9IGFzIHVua25vd24gYXMgTmFtZWRRdWVyeSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBFWFBMT1JFX05BTUVEX1FVRVJZX0lELFxuICAgICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmV4cGxvcmUnKSxcbiAgICAgICAgICBjb2xvcjogJyM2YTI5NzQnLFxuICAgICAgICAgIGxhc3RFeGVjdXRpb25EYXRlOiA1MCxcbiAgICAgICAgICByZXF1ZXN0OiBudWxsXG4gICAgICAgIH0gYXMgdW5rbm93biBhcyBOYW1lZFF1ZXJ5XG4gICAgICBdKSxcbiAgICAgIG1hcCgobnFzKSA9PiBucXMubWFwKChucSkgPT4gKHsgLi4ubnEsIHNvdXJjZVR5cGU6ICduYW1lZFF1ZXJ5JyB9KSkpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3QobmFtZWRRdWVyeT86IE5hbWVkUXVlcnkpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICBuYW1lZFF1ZXJ5Py5pZCAhPT0gREVGQVVMVF9OQU1FRF9RVUVSWV9JRFxuICAgICAgICAgICAgPyB0aGlzLmh0dHBDbGllbnQucG9zdDxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnlgKSwgbmFtZWRRdWVyeSlcbiAgICAgICAgICAgIDogb2YoeyBkYXRhOiB7IHN1Y2Nlc3M6IHRydWUgfSB9KVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFJlc3BvbnNlUmVxdWVzdD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeS8ke2lkfWApKSkpO1xuICB9XG5cbiAgYWRkRmF2b3JpdGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzcG9uc2VSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3BvbnNlUmVxdWVzdD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeS8ke2lkfS9mYXZvcml0ZWApLCBudWxsKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlRmF2b3JpdGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzcG9uc2VSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5kZWxldGU8UmVzcG9uc2VSZXF1ZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5LyR7aWR9L2Zhdm9yaXRlYCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXREYXRhc2V0cygpOiBPYnNlcnZhYmxlPERhdGFzZXRbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0W10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXRzYCkpKSxcbiAgICAgIG1hcCgoZHNkcykgPT4gZHNkcy5tYXAoKGRzZCkgPT4gKHsgLi4uZHNkLCBzb3VyY2VUeXBlOiAnZGF0YXNldCcgfSkpKVxuICAgICk7XG4gIH1cblxuICBnZXREYXRhc2V0VmVyc2lvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRWZXJzaW9uW10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnNgKSkpKTtcbiAgfVxuXG4gIGdldERhdGFzZXRWZXJzaW9uc0J5SWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0VmVyc2lvbltdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0cy9pZC8ke2lkfS9kYXRhc2V0LXZlcnNpb25zYCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXRQcmV2aWV3cyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRQcmV2aWV3W10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHtpZH0vcHJldmlld3NgKSkpXG4gICAgICApO1xuICB9XG5cbiAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHZlcnNpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb25JZH0vZGVhY3RpdmF0ZWApLCBudWxsKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgYWN0aXZhdGVEYXRhc2V0VmVyc2lvbih2ZXJzaW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uSWR9L2FjdGl2YXRlYCksIG51bGwpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXRMYXN0QWN0aXZlRGF0YXNldFZlcnNpb24oZGF0YXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXRzLyR7ZGF0YXNldElkfS9kYXRhc2V0LXZlcnNpb25zL2xhdGVzdGApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlRGF0YXNldFZlcnNpb25JbmZvKHZlcnNpb246IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+KSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnB1dDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb24uaWR9YCksIHtcbiAgICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IHZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uLFxuICAgICAgICAgIHByb2R1Y2VyOiB2ZXJzaW9uLnByb2R1Y2VyLFxuICAgICAgICAgIHByb2R1Y3Rpb25EYXRlOiB2ZXJzaW9uLnByb2R1Y3Rpb25EYXRlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZURhdGFzZXRWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uLmlkfWApKSkpO1xuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFjNUYsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLEtBQTJDLEVBQzNDLFVBQXNCLEVBQ3RCLGdCQUFnQztRQUZoQyxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMzQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7SUFDdkMsQ0FBQztJQUVKLEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ25ELFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWUsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFDN0YsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNYLEdBQUcsR0FBRztZQUNOO2dCQUNFLEVBQUUsRUFBRSxzQkFBc0I7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFD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QU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFPLFNBQVMsQ0FBQyxHQUFHLEdBQUcsd0JBQXdCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFhLFNBQVMsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDOzhHQXhKVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhc2V0UHJldmlldyB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGFzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhc2V0VmVyc2lvbiwgTmFtZWRRdWVyeSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVN0YXRlIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS5yZWR1Y2VyJztcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vY2F0ZWdvcnkvY2F0ZWdvcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZVJlcXVlc3Qge1xuICBkYXRhOiB7XG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IERhdGFTb3VyY2VTdGF0ZT4sXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPE5hbWVkUXVlcnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxOYW1lZFF1ZXJ5W10+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnlgKSkpLFxuICAgICAgbWFwKChucXMpID0+IFtcbiAgICAgICAgLi4ubnFzLFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IERFRkFVTFRfTkFNRURfUVVFUllfSUQsXG4gICAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0Bwcnkud2lkZ2V0Lm5hbWVkUXVlcnkuZGVmYXVsdFJzJyksXG4gICAgICAgICAgY29sb3I6ICcjODRlYWM1JyxcbiAgICAgICAgICBsYXN0RXhlY3V0aW9uRGF0ZTogMTAwLFxuICAgICAgICAgIHJlcXVlc3Q6IG51bGxcbiAgICAgICAgfSBhcyB1bmtub3duIGFzIE5hbWVkUXVlcnksXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCxcbiAgICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5leHBsb3JlJyksXG4gICAgICAgICAgY29sb3I6ICcjNmEyOTc0JyxcbiAgICAgICAgICBsYXN0RXhlY3V0aW9uRGF0ZTogNTAsXG4gICAgICAgICAgcmVxdWVzdDogbnVsbFxuICAgICAgICB9IGFzIHVua25vd24gYXMgTmFtZWRRdWVyeVxuICAgICAgXSksXG4gICAgICBtYXAoKG5xcykgPT4gbnFzLm1hcCgobnEpID0+ICh7IC4uLm5xLCBzb3VyY2VUeXBlOiAnbmFtZWRRdWVyeScgfSkpKVxuICAgICk7XG4gIH1cblxuICBwb3N0KG5hbWVkUXVlcnk/OiBOYW1lZFF1ZXJ5KTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgbmFtZWRRdWVyeT8uaWQgIT09IERFRkFVTFRfTkFNRURfUVVFUllfSURcbiAgICAgICAgICAgID8gdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXF1ZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5YCksIG5hbWVkUXVlcnkpXG4gICAgICAgICAgICA6IG9mKHsgZGF0YTogeyBzdWNjZXNzOiB0cnVlIH0gfSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnkvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGFkZEZhdm9yaXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnkvJHtpZH0vZmF2b3JpdGVgKSwgbnVsbClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZhdm9yaXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFJlc3BvbnNlUmVxdWVzdD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeS8ke2lkfS9mYXZvcml0ZWApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZ2V0RGF0YXNldHMoKTogT2JzZXJ2YWJsZTxEYXRhc2V0W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFtdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0c2ApKSksXG4gICAgICBtYXAoKGRzZHMpID0+IGRzZHMubWFwKChkc2QpID0+ICh7IC4uLmRzZCwgc291cmNlVHlwZTogJ2RhdGFzZXQnIH0pKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGF0YXNldFZlcnNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShzd2l0Y2hNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0VmVyc2lvbltdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zYCkpKSk7XG4gIH1cblxuICBnZXREYXRhc2V0VmVyc2lvbnNCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFZlcnNpb25bXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldHMvaWQvJHtpZH0vZGF0YXNldC12ZXJzaW9uc2ApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UHJldmlld3MoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0UHJldmlld1tdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zL2lkLyR7aWR9L3ByZXZpZXdzYCkpKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVEYXRhc2V0VmVyc2lvbih2ZXJzaW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uSWR9L2RlYWN0aXZhdGVgKSwgbnVsbClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGFjdGl2YXRlRGF0YXNldFZlcnNpb24odmVyc2lvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PERhdGFzZXRWZXJzaW9uPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zL2lkLyR7dmVyc2lvbklkfS9hY3RpdmF0ZWApLCBudWxsKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZ2V0TGFzdEFjdGl2ZURhdGFzZXRWZXJzaW9uKGRhdGFzZXRJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRWZXJzaW9uPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0cy8ke2RhdGFzZXRJZH0vZGF0YXNldC12ZXJzaW9ucy9sYXRlc3RgKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZURhdGFzZXRWZXJzaW9uSW5mbyh2ZXJzaW9uOiBQYXJ0aWFsPERhdGFzZXRWZXJzaW9uPikge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wdXQ8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uLmlkfWApLCB7XG4gICAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiB2ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbixcbiAgICAgICAgICBwcm9kdWNlcjogdmVyc2lvbi5wcm9kdWNlcixcbiAgICAgICAgICBwcm9kdWN0aW9uRGF0ZTogdmVyc2lvbi5wcm9kdWN0aW9uRGF0ZVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVEYXRhc2V0VmVyc2lvbih2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShzd2l0Y2hNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zL2lkLyR7dmVyc2lvbi5pZH1gKSkpKTtcbiAgfVxuXG4gIGdldENhdGVnb3JpZXMoKTogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8Q2F0ZWdvcnlbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldHMvY2F0ZWdvcmllc2ApKSkpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,12 @@
1
1
  import { NamedQueryTypes } from './named-query-types.model';
2
2
  import { GeoMetadata } from '../../model/dataset.interface';
3
+ export const UNKNOWN_DATASOURCE = (id) => ({
4
+ id: id,
5
+ color: '#FFFFFF',
6
+ name: id,
7
+ request: { fullSearch: { value: '???' }, type: NamedQueryTypes.FULL_TEXT },
8
+ sourceType: 'namedQuery'
9
+ });
3
10
  export class DatasourceUtils {
4
11
  static getTypeFromPayload(payload) {
5
12
  return payload === undefined
@@ -16,5 +23,19 @@ export class DatasourceUtils {
16
23
  ds.metadata?.find((m) => m.metadataDef.name === GeoMetadata.KEY) !== undefined &&
17
24
  ds.metadata?.find((m) => m.metadataDef.name === GeoMetadata.NAMESPACE) !== undefined);
18
25
  }
26
+ static getAllDatasourcesWithUnknowns(allDatasources, widgetDatasources) {
27
+ let dss = [...allDatasources];
28
+ const widgetDatasourcesArray = DatasourceUtils.getDatasourceArray(widgetDatasources);
29
+ widgetDatasourcesArray.forEach((manifestDs) => {
30
+ const alreadyPresent = !!allDatasources.find((ds) => ds.id === manifestDs);
31
+ if (!alreadyPresent) {
32
+ dss.push(UNKNOWN_DATASOURCE(manifestDs ?? ''));
33
+ }
34
+ });
35
+ return dss;
36
+ }
37
+ static getDatasourceArray(datasource) {
38
+ return datasource ? (Array.isArray(datasource) ? datasource : [datasource]) : [];
39
+ }
19
40
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGFzb3VyY2UtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLE9BQTZGO1FBRTdGLE9BQU8sT0FBTyxLQUFLLFNBQVM7WUFDMUIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsVUFBVTtnQkFDN0MsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVO2dCQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJO29CQUM3QixDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVc7b0JBQzdCLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQXdCO1FBQ25DLE9BQU8sQ0FDTCxDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUTtZQUNiLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUM5RSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FDckYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IE5hbWVkUXVlcnlUeXBlcyB9IGZyb20gJy4vbmFtZWQtcXVlcnktdHlwZXMubW9kZWwnO1xuaW1wb3J0IHsgRGF0YXNldCwgTmFtZWRRdWVyeSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgR2VvTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhc2V0LmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhc291cmNlVXRpbHMge1xuICBzdGF0aWMgZ2V0VHlwZUZyb21QYXlsb2FkKFxuICAgIHBheWxvYWQ6IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB8IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCB8IHVuZGVmaW5lZFxuICApIHtcbiAgICByZXR1cm4gcGF5bG9hZCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiBwYXlsb2FkLnR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTXG4gICAgICA/IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTXG4gICAgICA6IHBheWxvYWQuZnVsbFNlYXJjaCA9PT0gbnVsbFxuICAgICAgPyBOYW1lZFF1ZXJ5VHlwZXMuTVVMVElfQ0xBU1NcbiAgICAgIDogTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVDtcbiAgfVxuXG4gIHN0YXRpYyBpc0dlbyhkczogTmFtZWRRdWVyeSB8IERhdGFzZXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFkcyAmJlxuICAgICAgISFkcy5tZXRhZGF0YSAmJlxuICAgICAgZHMubWV0YWRhdGE/LmZpbmQoKG0pID0+IG0ubWV0YWRhdGFEZWYubmFtZSA9PT0gR2VvTWV0YWRhdGEuS0VZKSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBkcy5tZXRhZGF0YT8uZmluZCgobSkgPT4gbS5tZXRhZGF0YURlZi5uYW1lID09PSBHZW9NZXRhZGF0YS5OQU1FU1BBQ0UpICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGFzb3VyY2UtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQy9DLENBQUM7SUFDQyxFQUFFLEVBQUUsRUFBRTtJQUNOLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxFQUFFO0lBQ1IsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsU0FBUyxFQUFFO0lBQzFFLFVBQVUsRUFBRSxZQUFZO0NBQ3pCLENBQWUsQ0FBQztBQUVuQixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLE9BQTZGO1FBRTdGLE9BQU8sT0FBTyxLQUFLLFNBQVM7WUFDMUIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsVUFBVTtnQkFDM0MsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVO2dCQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJO29CQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVc7b0JBQzdCLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQXdCO1FBQ25DLE9BQU8sQ0FDTCxDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUTtZQUNiLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUM5RSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsNkJBQTZCLENBQ2xDLGNBQTRCLEVBQzVCLGlCQUFvQztRQUVwQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7UUFDOUIsTUFBTSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRixzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM1QyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQThCO1FBQ3RELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbXVsdGktY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgTmFtZWRRdWVyeVR5cGVzIH0gZnJvbSAnLi9uYW1lZC1xdWVyeS10eXBlcy5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBHZW9NZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGFzZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fREFUQVNPVVJDRSA9IChpZDogc3RyaW5nKSA9PlxuICAoe1xuICAgIGlkOiBpZCxcbiAgICBjb2xvcjogJyNGRkZGRkYnLFxuICAgIG5hbWU6IGlkLFxuICAgIHJlcXVlc3Q6IHsgZnVsbFNlYXJjaDogeyB2YWx1ZTogJz8/PycgfSwgdHlwZTogTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVCB9LFxuICAgIHNvdXJjZVR5cGU6ICduYW1lZFF1ZXJ5J1xuICB9KSBhcyBOYW1lZFF1ZXJ5O1xuXG5leHBvcnQgY2xhc3MgRGF0YXNvdXJjZVV0aWxzIHtcbiAgc3RhdGljIGdldFR5cGVGcm9tUGF5bG9hZChcbiAgICBwYXlsb2FkOiBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIHwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfCBGdWxsVGV4dFNlYXJjaFBheWxvYWQgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgcmV0dXJuIHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogcGF5bG9hZC50eXBlID09PSBOYW1lZFF1ZXJ5VHlwZXMuTU9OT19DTEFTU1xuICAgICAgICA/IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTXG4gICAgICAgIDogcGF5bG9hZC5mdWxsU2VhcmNoID09PSBudWxsXG4gICAgICAgICAgPyBOYW1lZFF1ZXJ5VHlwZXMuTVVMVElfQ0xBU1NcbiAgICAgICAgICA6IE5hbWVkUXVlcnlUeXBlcy5GVUxMX1RFWFQ7XG4gIH1cblxuICBzdGF0aWMgaXNHZW8oZHM6IE5hbWVkUXVlcnkgfCBEYXRhc2V0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhZHMgJiZcbiAgICAgICEhZHMubWV0YWRhdGEgJiZcbiAgICAgIGRzLm1ldGFkYXRhPy5maW5kKChtKSA9PiBtLm1ldGFkYXRhRGVmLm5hbWUgPT09IEdlb01ldGFkYXRhLktFWSkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZHMubWV0YWRhdGE/LmZpbmQoKG0pID0+IG0ubWV0YWRhdGFEZWYubmFtZSA9PT0gR2VvTWV0YWRhdGEuTkFNRVNQQUNFKSAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBbGxEYXRhc291cmNlc1dpdGhVbmtub3ducyhcbiAgICBhbGxEYXRhc291cmNlczogRGF0YVNvdXJjZVtdLFxuICAgIHdpZGdldERhdGFzb3VyY2VzOiBzdHJpbmdbXSB8IHN0cmluZ1xuICApOiBEYXRhU291cmNlW10ge1xuICAgIGxldCBkc3MgPSBbLi4uYWxsRGF0YXNvdXJjZXNdO1xuICAgIGNvbnN0IHdpZGdldERhdGFzb3VyY2VzQXJyYXkgPSBEYXRhc291cmNlVXRpbHMuZ2V0RGF0YXNvdXJjZUFycmF5KHdpZGdldERhdGFzb3VyY2VzKTtcbiAgICB3aWRnZXREYXRhc291cmNlc0FycmF5LmZvckVhY2goKG1hbmlmZXN0RHMpID0+IHtcbiAgICAgIGNvbnN0IGFscmVhZHlQcmVzZW50ID0gISFhbGxEYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IG1hbmlmZXN0RHMpO1xuICAgICAgaWYgKCFhbHJlYWR5UHJlc2VudCkge1xuICAgICAgICBkc3MucHVzaChVTktOT1dOX0RBVEFTT1VSQ0UobWFuaWZlc3REcyA/PyAnJykpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkc3M7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGF0YXNvdXJjZUFycmF5KGRhdGFzb3VyY2U/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZGF0YXNvdXJjZSA/IChBcnJheS5pc0FycmF5KGRhdGFzb3VyY2UpID8gZGF0YXNvdXJjZSA6IFtkYXRhc291cmNlXSkgOiBbXTtcbiAgfVxufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import equal from 'fast-deep-equal/es6';
3
3
  import { BehaviorSubject, combineLatest, distinctUntilChanged, filter, map, Subject } from 'rxjs';
4
- import { UNKNOWN_DATASOURCE } from '../../../core/components/translate-id/translate-id.pipe';
5
4
  import { DataSourceSelectors } from '../../../core/store/data-source/data-source.selectors';
6
5
  import { ResultsetUtils } from '../../resultset-utils';
7
6
  import { DashboardSelectors } from '../../store/dashboard.selectors';
8
7
  import { BaseWidgetComponent } from './base-widget.component';
8
+ import { UNKNOWN_DATASOURCE } from '../../../core/store/data-source/datasource-utils';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@ngrx/store";
11
11
  export class DataWidgetComponent extends BaseWidgetComponent {
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
58
58
  }], staticResultSet: [{
59
59
  type: Input
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9jb21wb25lbnRzL3dpZGdldHMvZGF0YS13aWRnZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBSTdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRzlELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFRMUQsSUFBYSxlQUFlLENBQUMsU0FBb0I7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxLQUFpQixFQUFFLEVBQWM7UUFDM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVhuQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFLdEQsY0FBUyxHQUFxQyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3pFLElBQUks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Z0JBQ1QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQzs4R0FuRVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0pBRG9CLEVBQUU7OzJGQUN6QyxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTttR0FRN0MsU0FBUztzQkFBakIsS0FBSztnQkFDTyxlQUFlO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVU5LTk9XTl9EQVRBU09VUkNFIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL3RyYW5zbGF0ZS1pZC90cmFuc2xhdGUtaWQucGlwZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBSZXN1bHRzZXRVdGlscyB9IGZyb20gJy4uLy4uL3Jlc3VsdHNldC11dGlscyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEJhc2VXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2Utd2lkZ2V0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoeyBzZWxlY3RvcjogJ3ByeS1kYXRhLXdpZGdldCcsIHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGNsYXNzIERhdGFXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29tcG9uZW50IHtcbiAgcmVzdWx0U2V0JDogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+O1xuICBzdGF0aWNSZXN1bHRTZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXN1bHRTZXQgfCBudWxsPihudWxsKTtcbiAgZGF0YXNvdXJjZUlkcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBhbGxJdGVtcyQ6IE9ic2VydmFibGU8SXRlbVtdPjtcbiAgdXNlZERhdGFzb3VyY2VzJDogT2JzZXJ2YWJsZTxEYXRhU291cmNlW10+O1xuXG4gIEBJbnB1dCgpIG9wZW5EYXRhJDogT2JzZXJ2YWJsZTx2b2lkPiB8IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBASW5wdXQoKSBzZXQgc3RhdGljUmVzdWx0U2V0KHJlc3VsdFNldDogUmVzdWx0U2V0KSB7XG4gICAgdGhpcy5zdGF0aWNSZXN1bHRTZXQkLm5leHQocmVzdWx0U2V0KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZTxhbnk+LCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHN0b3JlLCBlbCk7XG4gICAgdGhpcy5kYXRhc291cmNlSWRzJCA9IHRoaXMubWFuaWZlc3QkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChtYW5pZmVzdCkgPT5cbiAgICAgICAgICAoQXJyYXkuaXNBcnJheShtYW5pZmVzdC5kYXRhc291cmNlKSA/IG1hbmlmZXN0LmRhdGFzb3VyY2UgOiBbbWFuaWZlc3QuZGF0YXNvdXJjZV0pLmZpbHRlcihcbiAgICAgICAgICAgIChpZCkgPT4gISFpZFxuICAgICAgICAgICkgYXMgc3RyaW5nW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMudXNlZERhdGFzb3VyY2VzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5kYXRhc291cmNlSWRzJCxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtpZHMsIGRhdGFzb3VyY2VzXSkgPT5cbiAgICAgICAgICBpZHNcbiAgICAgICAgICAgIC5tYXAoKGlkKSA9PiBkYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGlkKSA/PyBpZClcbiAgICAgICAgICAgIC5tYXAoKG5xKSA9PiAodHlwZW9mIG5xICE9PSAnc3RyaW5nJyA/IG5xIDogVU5LTk9XTl9EQVRBU09VUkNFKG5xKSkpIGFzIERhdGFTb3VyY2VbXVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5yZXN1bHRTZXQkID0gdGhpcy5pbml0UmVzdWx0U2V0JCgpO1xuXG4gICAgdGhpcy5hbGxJdGVtcyQgPSB0aGlzLnJlc3VsdFNldCQucGlwZShcbiAgICAgIGZpbHRlcigocmVzdWx0U2V0KSA9PiAhIXJlc3VsdFNldCksXG4gICAgICBtYXAoXG4gICAgICAgIChyZXN1bHRTZXQpID0+XG4gICAgICAgICAgT2JqZWN0LmtleXMocmVzdWx0U2V0Py5pdGVtcylcbiAgICAgICAgICAgIC5tYXAoKGNsYXNzSWQpID0+IHJlc3VsdFNldC5pdGVtc1tjbGFzc0lkXSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IFsuLi5wcmV2LCAuLi5jdXJyXSwgW10pIGFzIEl0ZW1bXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBpbml0UmVzdWx0U2V0JCgpIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyksXG4gICAgICB0aGlzLmRhdGFzb3VyY2VJZHMkLFxuICAgICAgdGhpcy5zdGF0aWNSZXN1bHRTZXQkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3VsdFNldHMsIHJlc3VsdFNldE5hbWVzQXJyYXksIHN0YXRpY1Jlc3VsdFNldF0pID0+IHtcbiAgICAgICAgaWYgKCEhc3RhdGljUmVzdWx0U2V0KSB7XG4gICAgICAgICAgcmV0dXJuIHN0YXRpY1Jlc3VsdFNldDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHRTZXRBcnJheSA9IHJlc3VsdFNldE5hbWVzQXJyYXlcbiAgICAgICAgICAubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lID8/ICcnXSlcbiAgICAgICAgICAuZmlsdGVyKChyc05hbWUpID0+ICEhcnNOYW1lKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFNldEFycmF5LnJlZHVjZSgocnMxLCByczIpID0+IFJlc3VsdHNldFV0aWxzLm1lcmdlUmVzdWx0U2V0cyhyczEsIHJzMiksIHtcbiAgICAgICAgICBpdGVtczoge30sXG4gICAgICAgICAgcmVsYXRpb25zOiBbXSxcbiAgICAgICAgICBtZXJnZWQ6IHJlc3VsdFNldEFycmF5Lmxlbmd0aFxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHYpID0+IGVxdWFsKHAsIHYpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9jb21wb25lbnRzL3dpZGdldHMvZGF0YS13aWRnZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7O0FBR3RGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFRMUQsSUFBYSxlQUFlLENBQUMsU0FBb0I7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxLQUFpQixFQUFFLEVBQWM7UUFDM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVhuQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFLdEQsY0FBUyxHQUFxQyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3pFLElBQUks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Z0JBQ1QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQzs4R0FuRVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0pBRG9CLEVBQUU7OzJGQUN6QyxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTttR0FRN0MsU0FBUztzQkFBakIsS0FBSztnQkFDTyxlQUFlO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgUmVzdWx0c2V0VXRpbHMgfSBmcm9tICcuLi8uLi9yZXN1bHRzZXQtdXRpbHMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVU5LTk9XTl9EQVRBU09VUkNFIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhc291cmNlLXV0aWxzJztcblxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAncHJ5LWRhdGEtd2lkZ2V0JywgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgRGF0YVdpZGdldENvbXBvbmVudCBleHRlbmRzIEJhc2VXaWRnZXRDb21wb25lbnQge1xuICByZXN1bHRTZXQkOiBPYnNlcnZhYmxlPFJlc3VsdFNldD47XG4gIHN0YXRpY1Jlc3VsdFNldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlc3VsdFNldCB8IG51bGw+KG51bGwpO1xuICBkYXRhc291cmNlSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGFsbEl0ZW1zJDogT2JzZXJ2YWJsZTxJdGVtW10+O1xuICB1c2VkRGF0YXNvdXJjZXMkOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VbXT47XG5cbiAgQElucHV0KCkgb3BlbkRhdGEkOiBPYnNlcnZhYmxlPHZvaWQ+IHwgU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIEBJbnB1dCgpIHNldCBzdGF0aWNSZXN1bHRTZXQocmVzdWx0U2V0OiBSZXN1bHRTZXQpIHtcbiAgICB0aGlzLnN0YXRpY1Jlc3VsdFNldCQubmV4dChyZXN1bHRTZXQpO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlPGFueT4sIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoc3RvcmUsIGVsKTtcbiAgICB0aGlzLmRhdGFzb3VyY2VJZHMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKG1hbmlmZXN0KSA9PlxuICAgICAgICAgIChBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UpID8gbWFuaWZlc3QuZGF0YXNvdXJjZSA6IFttYW5pZmVzdC5kYXRhc291cmNlXSkuZmlsdGVyKFxuICAgICAgICAgICAgKGlkKSA9PiAhIWlkXG4gICAgICAgICAgKSBhcyBzdHJpbmdbXVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy51c2VkRGF0YXNvdXJjZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGFzb3VyY2VJZHMkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5nZXREYXRhU291cmNlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2lkcywgZGF0YXNvdXJjZXNdKSA9PlxuICAgICAgICAgIGlkc1xuICAgICAgICAgICAgLm1hcCgoaWQpID0+IGRhdGFzb3VyY2VzLmZpbmQoKGRzKSA9PiBkcy5pZCA9PT0gaWQpID8/IGlkKVxuICAgICAgICAgICAgLm1hcCgobnEpID0+ICh0eXBlb2YgbnEgIT09ICdzdHJpbmcnID8gbnEgOiBVTktOT1dOX0RBVEFTT1VSQ0UobnEpKSkgYXMgRGF0YVNvdXJjZVtdXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnJlc3VsdFNldCQgPSB0aGlzLmluaXRSZXN1bHRTZXQkKCk7XG5cbiAgICB0aGlzLmFsbEl0ZW1zJCA9IHRoaXMucmVzdWx0U2V0JC5waXBlKFxuICAgICAgZmlsdGVyKChyZXN1bHRTZXQpID0+ICEhcmVzdWx0U2V0KSxcbiAgICAgIG1hcChcbiAgICAgICAgKHJlc3VsdFNldCkgPT5cbiAgICAgICAgICBPYmplY3Qua2V5cyhyZXN1bHRTZXQ/Lml0ZW1zKVxuICAgICAgICAgICAgLm1hcCgoY2xhc3NJZCkgPT4gcmVzdWx0U2V0Lml0ZW1zW2NsYXNzSWRdKVxuICAgICAgICAgICAgLnJlZHVjZSgocHJldiwgY3VycikgPT4gWy4uLnByZXYsIC4uLmN1cnJdLCBbXSkgYXMgSXRlbVtdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGluaXRSZXN1bHRTZXQkKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZXN1bHRTZXRzKSxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZUlkcyQsXG4gICAgICB0aGlzLnN0YXRpY1Jlc3VsdFNldCRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbcmVzdWx0U2V0cywgcmVzdWx0U2V0TmFtZXNBcnJheSwgc3RhdGljUmVzdWx0U2V0XSkgPT4ge1xuICAgICAgICBpZiAoISFzdGF0aWNSZXN1bHRTZXQpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGljUmVzdWx0U2V0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdFNldEFycmF5ID0gcmVzdWx0U2V0TmFtZXNBcnJheVxuICAgICAgICAgIC5tYXAoKHJzTmFtZSkgPT4gcmVzdWx0U2V0c1tyc05hbWUgPz8gJyddKVxuICAgICAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gISFyc05hbWUpO1xuICAgICAgICByZXR1cm4gcmVzdWx0U2V0QXJyYXkucmVkdWNlKChyczEsIHJzMikgPT4gUmVzdWx0c2V0VXRpbHMubWVyZ2VSZXN1bHRTZXRzKHJzMSwgcnMyKSwge1xuICAgICAgICAgIGl0ZW1zOiB7fSxcbiAgICAgICAgICByZWxhdGlvbnM6IFtdLFxuICAgICAgICAgIG1lcmdlZDogcmVzdWx0U2V0QXJyYXkubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocCwgdikgPT4gZXF1YWwocCwgdikpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DataSourceSelectors } from '../../../../../core/store/data-source/data-source.selectors';
3
+ import { map } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngrx/store";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "../../../../../core/components/icon/icon.component";
8
+ import * as i4 from "../../../../../core/components/ellipsis.directive";
9
+ import * as i5 from "@provoly/dashboard/components/checkbox";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "../../../../../core/pipes/translate-id/translate-id.pipe";
12
+ import * as i8 from "../../../../../core/i18n/i18n.pipe";
13
+ import * as i9 from "../../../../../core/pipes/since-date/since-date.pipe";
14
+ export class PryDatasourceCardComponent {
15
+ constructor(store) {
16
+ this.store = store;
17
+ this.showFooter = false;
18
+ this.isSelectable = false;
19
+ this.isSelected = false;
20
+ this.clicked = new EventEmitter();
21
+ }
22
+ ngAfterContentInit() {
23
+ this.datasetVersions$ = this.store
24
+ .select(DataSourceSelectors.matchingDatasetVersions(this.datasource.id))
25
+ .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));
26
+ this.activeVersion$ = this.datasetVersions$.pipe(map((versions) => versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')?.lastModified));
27
+ }
28
+ truncateDescription(description, maxLength) {
29
+ if (description && description.length > maxLength) {
30
+ return description.slice(0, maxLength) + '...';
31
+ }
32
+ return description;
33
+ }
34
+ onClick() {
35
+ if (this.isSelectable) {
36
+ this.isSelected = !this.isSelected;
37
+ this.clicked.emit({ isSelected: this.isSelected, datasource: this.datasource });
38
+ }
39
+ else {
40
+ this.clicked.emit({ isSelected: false, datasource: this.datasource });
41
+ }
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceCardComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasourceCardComponent, selector: "pry-datasource-card", inputs: { datasource: "datasource", showFooter: "showFooter", isSelectable: "isSelectable", isSelected: "isSelected" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (activeVersion$ | async) {\n {{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n </span>\n @if (datasource.sourceType === 'dataset' && datasource.categories && datasource.categories.length > 0) {\n <div class=\"o-datasource-card__categories u-display-flex -wrap\">\n @for (category of datasource.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"o-datasource-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i8.I18nPipe, name: "i18n" }, { kind: "pipe", type: i9.SinceDatePipe, name: "sinceDate" }] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceCardComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'pry-datasource-card', template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (activeVersion$ | async) {\n {{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n </span>\n @if (datasource.sourceType === 'dataset' && datasource.categories && datasource.categories.length > 0) {\n <div class=\"o-datasource-card__categories u-display-flex -wrap\">\n @for (category of datasource.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"o-datasource-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n }\n</div>\n" }]
49
+ }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { datasource: [{
50
+ type: Input
51
+ }], showFooter: [{
52
+ type: Input
53
+ }], isSelectable: [{
54
+ type: Input
55
+ }], isSelected: [{
56
+ type: Input
57
+ }], clicked: [{
58
+ type: Output
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL2RhdGFzb3VyY2Utc2VsZWN0b3IvZGF0YXNvdXJjZS1jYXJkL2RhdGFzb3VyY2UtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhc291cmNlLXNlbGVjdG9yL2RhdGFzb3VyY2UtY2FyZC9kYXRhc291cmNlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFbEcsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFPdkMsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQVR2QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFM0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFvRCxDQUFDO0lBS3RELENBQUM7SUFFcEMsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSzthQUMvQixNQUFNLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUNELENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDWCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FDakgsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQStCLEVBQUUsU0FBaUI7UUFDcEUsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBZSxXQUFXLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7OEdBdkNVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG9OQ1h2Qywwa0VBMERBOzsyRkQvQ2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjswRUFJdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIERhdGFzZXRWZXJzaW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNvdXJjZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGFzb3VyY2UtY2FyZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNvdXJjZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgZGF0YXNvdXJjZSE6IERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNTZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBkYXRhc291cmNlOiBEYXRhU291cmNlOyBpc1NlbGVjdGVkOiBib29sZWFuOyB9PigpO1xuXG4gIGRhdGFzZXRWZXJzaW9ucyQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uW10+O1xuICBhY3RpdmVWZXJzaW9uJCE6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5kYXRhc2V0VmVyc2lvbnMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLm1hdGNoaW5nRGF0YXNldFZlcnNpb25zKHRoaXMuZGF0YXNvdXJjZS5pZCkpXG4gICAgICAucGlwZShtYXAoKHJlcykgPT4gWy4uLnJlc10uc29ydCgoYSwgYikgPT4gYi52ZXJzaW9uIC0gYS52ZXJzaW9uKSkpO1xuICAgIHRoaXMuYWN0aXZlVmVyc2lvbiQgPSB0aGlzLmRhdGFzZXRWZXJzaW9ucyQucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKHZlcnNpb25zKSA9PlxuICAgICAgICAgIHZlcnNpb25zLnNvcnQoKHYxLCB2MikgPT4gdjIudmVyc2lvbiAtIHYxLnZlcnNpb24pLmZpbmQoKHZlcnNpb24pID0+IHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnKT8ubGFzdE1vZGlmaWVkXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHRydW5jYXRlRGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCwgbWF4TGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChkZXNjcmlwdGlvbiAmJiBkZXNjcmlwdGlvbi5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgIHJldHVybiBkZXNjcmlwdGlvbi5zbGljZSgwLCBtYXhMZW5ndGgpICsgJy4uLic7XG4gICAgfVxuICAgIHJldHVybiA8c3RyaW5nPmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9ICF0aGlzLmlzU2VsZWN0ZWQ7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdCh7IGlzU2VsZWN0ZWQ6IHRoaXMuaXNTZWxlY3RlZCwgZGF0YXNvdXJjZTogdGhpcy5kYXRhc291cmNlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdCh7IGlzU2VsZWN0ZWQ6IGZhbHNlLCBkYXRhc291cmNlOiB0aGlzLmRhdGFzb3VyY2UgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiby1kYXRhc291cmNlLWNhcmRcIlxuICBbY2xhc3MuLW5vLWZvb3Rlcl09XCIhc2hvd0Zvb3RlclwiXG4gIFtjbGFzcy4taXMtc2VsZWN0YWJsZV09XCJpc1NlbGVjdGFibGVcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1jYXJkX19oZWFkZXJcIj5cbiAgICA8aW1nXG4gICAgICBhbHQ9XCJcIlxuICAgICAgW2hlaWdodF09XCIyNVwiXG4gICAgICBbd2lkdGhdPVwiMjVcIlxuICAgICAgW3NyY109XCJkYXRhc291cmNlLmlkIHwgdHJhbnNsYXRlSWQ6IHsgdHlwZTogJ2RhdGFzb3VyY2UnLCBvdXRwdXQ6ICdpY29uJyB9IHwgYXN5bmNcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1jYXJkX190aXRsZVwiIGVsbGlwc2lzIHRleHRFbGVtZW50U2VsZWN0b3I9XCIuYS1oNFwiPlxuICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7IGRhdGFzb3VyY2UubmFtZSB9fTwvaDQ+XG4gICAgPC9kaXY+XG4gICAgQGlmIChpc1NlbGVjdGFibGUpIHtcbiAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgY2xhc3M9XCJvLWRhdGFzb3VyY2UtY2FyZF9fY2hlY2tib3hcIlxuICAgICAgICBbbmdNb2RlbF09XCJpc1NlbGVjdGVkXCJcbiAgICAgID48L3ByeS1jaGVja2JveD5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc291cmNlLWNhcmRfX2NvbnRlbnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtbiAtZ2FwLTEwXCI+XG4gICAgQGlmIChkYXRhc291cmNlLmRlc2NyaXB0aW9uKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc291cmNlLWNhcmRfX2Rlc2NyaXB0aW9uXCIgZWxsaXBzaXMgdGV4dEVsZW1lbnRTZWxlY3Rvcj1cIi5kZXNjcmlwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyB0cnVuY2F0ZURlc2NyaXB0aW9uKGRhdGFzb3VyY2UuZGVzY3JpcHRpb24sIDEwMCkgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1jYXJkX19kZXNjcmlwdGlvbiAtaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub0Rlc2NyaXB0aW9uJyB8IGkxOG4gfX08L2Rpdj5cbiAgICB9XG5cbiAgICA8c3BhbiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1jYXJkX19kYXRlXCI+XG4gICAgICBAaWYgKGFjdGl2ZVZlcnNpb24kIHwgYXN5bmMpIHtcbiAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5zaW5jZV9kYXknIHwgaTE4biB9fSB7eyAoYWN0aXZlVmVyc2lvbiQgfCBhc3luYykhIHwgc2luY2VEYXRlIH19XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L3NwYW4+XG4gICAgQGlmIChkYXRhc291cmNlLnNvdXJjZVR5cGUgPT09ICdkYXRhc2V0JyAmJiBkYXRhc291cmNlLmNhdGVnb3JpZXMgJiYgZGF0YXNvdXJjZS5jYXRlZ29yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzb3VyY2UtY2FyZF9fY2F0ZWdvcmllcyB1LWRpc3BsYXktZmxleCAtd3JhcFwiPlxuICAgICAgICBAZm9yIChjYXRlZ29yeSBvZiBkYXRhc291cmNlLmNhdGVnb3JpZXM7IHRyYWNrIGNhdGVnb3J5LmlkKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXAgLW1kXCI+e3sgY2F0ZWdvcnkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKHNob3dGb290ZXIpIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc291cmNlLWNhcmRfX2Zvb3RlclwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCI+XG4gICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuY29uc3VsdCcgfCBpMThuIH19XG4gICAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImFycm93X3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,95 @@
1
+ import { BehaviorSubject, combineLatest, map } from 'rxjs';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { DataSourceActions } from '../../../../../core/store/data-source/data-source.actions';
4
+ import { DataSourceSelectors } from '../../../../../core/store/data-source/data-source.selectors';
5
+ import { DashboardActions } from '../../../../store/dashboard.actions';
6
+ import { SubscriptionnerDirective } from '../../../subscriptionner.directive';
7
+ import { DatasourceUtils } from '../../../../../core/store/data-source/datasource-utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngrx/store";
10
+ import * as i2 from "@angular/forms";
11
+ import * as i3 from "../../../../../core/components/select/select.component";
12
+ import * as i4 from "../../../../../core/components/icon/icon.component";
13
+ import * as i5 from "../datasource-card/datasource-card.component";
14
+ import * as i6 from "@angular/common";
15
+ import * as i7 from "../../../../../core/i18n/i18n.pipe";
16
+ export class PryDatasourceListComponent extends SubscriptionnerDirective {
17
+ set mode(mode) {
18
+ this._mode$.next(mode);
19
+ }
20
+ ;
21
+ set selectedDatasources(datasourceIds) {
22
+ this.selectedDatasources$.next(datasourceIds);
23
+ }
24
+ constructor(store) {
25
+ super();
26
+ this.store = store;
27
+ this.search$ = new BehaviorSubject('');
28
+ this.selectedCategories = [];
29
+ this.selectedCategories$ = new BehaviorSubject([]);
30
+ this.selectedDatasources$ = new BehaviorSubject([]);
31
+ this._mode$ = new BehaviorSubject('list');
32
+ this.consultedDataset = new EventEmitter();
33
+ this.datasourceSelected = new EventEmitter();
34
+ this.store.dispatch(DataSourceActions.load());
35
+ this.datasources$ = combineLatest([
36
+ this.store.select(DataSourceSelectors.getDataSourcesSorted),
37
+ this.selectedDatasources$
38
+ ]).pipe(map(([datasources, selectedDatasources]) => DatasourceUtils.getAllDatasourcesWithUnknowns(datasources, selectedDatasources)));
39
+ this.datasets$ = this.store.select(DataSourceSelectors.datasets);
40
+ this.store.dispatch(DashboardActions.fetchManifestsList());
41
+ this.store.dispatch(DataSourceActions.dataset.getCategories());
42
+ this.categories$ = this.store.select(DataSourceSelectors.categories);
43
+ this.store.dispatch(DataSourceActions.dataset.listVersions());
44
+ }
45
+ ngOnInit() {
46
+ this.filteredDatasources$ = combineLatest([
47
+ this._mode$,
48
+ this.search$,
49
+ this.selectedCategories$,
50
+ this.selectedDatasources$,
51
+ this.datasources$,
52
+ this.datasets$
53
+ ]).pipe(map(([mode, query, selectedCategories, selectedDs, datasources, datasets]) => mode === 'list' ? this.search(datasets, query, selectedCategories)
54
+ : this.search(datasources, query, selectedCategories)
55
+ .map((dataset) => ({ ...dataset, isSelected: selectedDs.includes(dataset.id) }))
56
+ .sort((a, b) => Number(b.isSelected) - Number(a.isSelected))));
57
+ }
58
+ search(datasets, search, categories) {
59
+ return datasets
60
+ .filter((dataset) => (search.length === 0 || dataset.name.toLowerCase().includes(search.toLowerCase())) &&
61
+ (categories.length === 0 || this.doesDatasourceMatchCategoryFilter(dataset, categories)))
62
+ .sort((a, b) => a.name.localeCompare(b.name));
63
+ }
64
+ doesDatasourceMatchCategoryFilter(datasource, selectedCategories) {
65
+ return datasource.sourceType === 'dataset' && datasource.categories
66
+ ? selectedCategories.reduce((acc, selectedCat) => acc && datasource.categories.map((cat) => cat.id).includes(selectedCat.id), true)
67
+ : false;
68
+ }
69
+ onDatasourceClick({ isSelected, datasource }) {
70
+ if (this._mode$.value === 'list') {
71
+ this.consultedDataset.emit(datasource);
72
+ }
73
+ else {
74
+ this.selectedDatasources$.next(isSelected
75
+ ? [...this.selectedDatasources$.value, datasource.id]
76
+ : this.selectedDatasources$.value.filter((id) => id !== datasource.id));
77
+ this.datasourceSelected.emit(this.selectedDatasources$.value);
78
+ }
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceListComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasourceListComponent, selector: "pry-datasource-list", inputs: { mode: "mode", selectedDatasources: "selectedDatasources" }, outputs: { consultedDataset: "consultedDataset", datasourceSelected: "datasourceSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-datasource-list__header u-display-flex\">\n <div class=\"o-datasource-list__search m-form-label-field\">\n <label class=\"a-label\" id=\"catalog-search-label\" for=\"catalog-search\">{{ '@pry.dataset.search' | i18n }}</label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.dataset.searchPlaceholder' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon class=\"search-icon\" iconSvg=\"search\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </div>\n <div class=\"o-datasource-list__categories m-form-label-field\">\n <label class=\"a-label\" id=\"tags-label\" for=\"catalog-category-search\">{{ '@pry.dataset.filter' | i18n }}</label>\n <pry-select\n id=\"catalog-category-search\"\n [ngModel]=\"selectedCategories\"\n (ngModelChange)=\"this.selectedCategories$.next($event)\"\n [items]=\"categories$ | async\"\n bindLabel=\"name\"\n aria-labelledby=\"tags-label\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [placeholder]=\"'@pry.dataset.filterPlaceholder' | i18n\"\n ></pry-select>\n </div>\n</div>\n<div class=\"o-datasource-list__content\">\n @if ((_mode$ | async) === 'list') {\n @for (datasource of filteredDatasources$ | async; track datasource.id) {\n <pry-datasource-card\n [datasource]=\"datasource\"\n [isSelectable]=\"false\"\n [showFooter]=\"true\"\n (clicked)=\"onDatasourceClick($event)\"\n ></pry-datasource-card>\n }\n } @else if ((_mode$ | async) === 'selector') {\n @for (datasource of filteredDatasources$ | async; track datasource.id) {\n <pry-datasource-card\n [datasource]=\"datasource\"\n [isSelectable]=\"true\"\n [showFooter]=\"false\"\n (clicked)=\"onDatasourceClick($event)\"\n [isSelected]=\"datasource.isSelected ?? false\"\n ></pry-datasource-card>\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryDatasourceCardComponent, selector: "pry-datasource-card", inputs: ["datasource", "showFooter", "isSelectable", "isSelected"], outputs: ["clicked"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.I18nPipe, name: "i18n" }] }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceListComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'pry-datasource-list', template: "<div class=\"o-datasource-list__header u-display-flex\">\n <div class=\"o-datasource-list__search m-form-label-field\">\n <label class=\"a-label\" id=\"catalog-search-label\" for=\"catalog-search\">{{ '@pry.dataset.search' | i18n }}</label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.dataset.searchPlaceholder' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon class=\"search-icon\" iconSvg=\"search\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </div>\n <div class=\"o-datasource-list__categories m-form-label-field\">\n <label class=\"a-label\" id=\"tags-label\" for=\"catalog-category-search\">{{ '@pry.dataset.filter' | i18n }}</label>\n <pry-select\n id=\"catalog-category-search\"\n [ngModel]=\"selectedCategories\"\n (ngModelChange)=\"this.selectedCategories$.next($event)\"\n [items]=\"categories$ | async\"\n bindLabel=\"name\"\n aria-labelledby=\"tags-label\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [placeholder]=\"'@pry.dataset.filterPlaceholder' | i18n\"\n ></pry-select>\n </div>\n</div>\n<div class=\"o-datasource-list__content\">\n @if ((_mode$ | async) === 'list') {\n @for (datasource of filteredDatasources$ | async; track datasource.id) {\n <pry-datasource-card\n [datasource]=\"datasource\"\n [isSelectable]=\"false\"\n [showFooter]=\"true\"\n (clicked)=\"onDatasourceClick($event)\"\n ></pry-datasource-card>\n }\n } @else if ((_mode$ | async) === 'selector') {\n @for (datasource of filteredDatasources$ | async; track datasource.id) {\n <pry-datasource-card\n [datasource]=\"datasource\"\n [isSelectable]=\"true\"\n [showFooter]=\"false\"\n (clicked)=\"onDatasourceClick($event)\"\n [isSelected]=\"datasource.isSelected ?? false\"\n ></pry-datasource-card>\n }\n }\n</div>\n" }]
86
+ }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { mode: [{
87
+ type: Input
88
+ }], selectedDatasources: [{
89
+ type: Input
90
+ }], consultedDataset: [{
91
+ type: Output
92
+ }], datasourceSelected: [{
93
+ type: Output
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL2RhdGFzb3VyY2Utc2VsZWN0b3IvZGF0YXNvdXJjZS1saXN0L2RhdGFzb3VyY2UtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhc291cmNlLXNlbGVjdG9yL2RhdGFzb3VyY2UtbGlzdC9kYXRhc291cmNlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFrQyxNQUFNLE1BQU0sQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRWxHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7Ozs7O0FBTXpGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFXdEUsSUFBYSxJQUFJLENBQUMsSUFBeUI7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFhLG1CQUFtQixDQUFDLGFBQXVCO1FBQ3RELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUtELFlBQXNCLEtBQWlCO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRFksVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWxCdkMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBYSxFQUFFLENBQUMsQ0FBQztRQUUxRCx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsTUFBTSxDQUFDLENBQUM7UUFTbkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBSTFELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUM7WUFDM0QsSUFBSSxDQUFDLG9CQUFvQjtTQUMxQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUN6QyxlQUFlLENBQUMsNkJBQTZCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQ2hGLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNO1lBQ1gsSUFBSSxDQUFDLE9BQU87WUFDWixJQUFJLENBQUMsbUJBQW1CO1lBQ3hCLElBQUksQ0FBQyxvQkFBb0I7WUFDekIsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLFNBQVM7U0FDZixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FDM0UsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDO1lBQ2xFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUM7aUJBQ2xELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQy9FLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM3RCxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQXNCLEVBQUUsTUFBYyxFQUFFLFVBQXNCO1FBQ25FLE9BQU8sUUFBUTthQUNaLE1BQU0sQ0FDTCxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNsRixDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDM0Y7YUFDQSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUNBQWlDLENBQUMsVUFBc0IsRUFBRSxrQkFBOEI7UUFDdEYsT0FBTyxVQUFVLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUMsVUFBVTtZQUNqRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUN2QixDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQ2pHLElBQUksQ0FDTDtZQUNILENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFtRDtRQUMzRixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBcUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDNUIsVUFBVTtnQkFDUixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUN6RSxDQUFDO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7OEdBeEZVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFQQ2Z2QyxzK0RBa0RBOzsyRkRuQ2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjswRUFjbEIsSUFBSTtzQkFBaEIsS0FBSztnQkFHTyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGF0YXNldCwgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZUFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzJztcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9jYXRlZ29yeS9jYXRlZ29yeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF0YXNvdXJjZVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhc291cmNlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzb3VyY2UtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc291cmNlLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzb3VyY2VMaXN0Q29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGF0YXNvdXJjZXMkOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VbXT47XG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG4gIGNhdGVnb3JpZXMkOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+O1xuICBzZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yaWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0ZWdvcnlbXT4oW10pO1xuICBmaWx0ZXJlZERhdGFzb3VyY2VzJCE6IE9ic2VydmFibGU8KERhdGFTb3VyY2UgJiB7IGlzU2VsZWN0ZWQ/OiBib29sZWFuIH0pW10+O1xuICBzZWxlY3RlZERhdGFzb3VyY2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgX21vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdsaXN0Jyk7XG5cbiAgQElucHV0KCkgc2V0IG1vZGUobW9kZTogJ2xpc3QnIHwgJ3NlbGVjdG9yJykge1xuICAgIHRoaXMuX21vZGUkLm5leHQobW9kZSk7XG4gIH07XG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZERhdGFzb3VyY2VzKGRhdGFzb3VyY2VJZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzb3VyY2VzJC5uZXh0KGRhdGFzb3VyY2VJZHMpO1xuICB9XG5cbiAgQE91dHB1dCgpIGNvbnN1bHRlZERhdGFzZXQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFzZXQ+KCk7XG4gIEBPdXRwdXQoKSBkYXRhc291cmNlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yZTogU3RvcmU8YW55Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuZGF0YXNvdXJjZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzU29ydGVkKSxcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhc291cmNlcyRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YXNvdXJjZXMsIHNlbGVjdGVkRGF0YXNvdXJjZXNdKSA9PlxuICAgICAgICBEYXRhc291cmNlVXRpbHMuZ2V0QWxsRGF0YXNvdXJjZXNXaXRoVW5rbm93bnMoZGF0YXNvdXJjZXMsIHNlbGVjdGVkRGF0YXNvdXJjZXMpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmRhdGFzZXRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5mZXRjaE1hbmlmZXN0c0xpc3QoKSk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZ2V0Q2F0ZWdvcmllcygpKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jYXRlZ29yaWVzKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJlZERhdGFzb3VyY2VzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5fbW9kZSQsXG4gICAgICB0aGlzLnNlYXJjaCQsXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyQsXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0YXNvdXJjZXMkLFxuICAgICAgdGhpcy5kYXRhc291cmNlcyQsXG4gICAgICB0aGlzLmRhdGFzZXRzJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFttb2RlLCBxdWVyeSwgc2VsZWN0ZWRDYXRlZ29yaWVzLCBzZWxlY3RlZERzLCBkYXRhc291cmNlcywgZGF0YXNldHNdKSA9PlxuICAgICAgICBtb2RlID09PSAnbGlzdCcgPyB0aGlzLnNlYXJjaChkYXRhc2V0cywgcXVlcnksIHNlbGVjdGVkQ2F0ZWdvcmllcylcbiAgICAgICAgOiB0aGlzLnNlYXJjaChkYXRhc291cmNlcywgcXVlcnksIHNlbGVjdGVkQ2F0ZWdvcmllcylcbiAgICAgICAgICAubWFwKChkYXRhc2V0KSA9PiAoeyAuLi5kYXRhc2V0LCBpc1NlbGVjdGVkOiBzZWxlY3RlZERzLmluY2x1ZGVzKGRhdGFzZXQuaWQpIH0pKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi5pc1NlbGVjdGVkKSAtIE51bWJlcihhLmlzU2VsZWN0ZWQpKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNlYXJjaChkYXRhc2V0czogRGF0YVNvdXJjZVtdLCBzZWFyY2g6IHN0cmluZywgY2F0ZWdvcmllczogQ2F0ZWdvcnlbXSk6IERhdGFTb3VyY2VbXSB7XG4gICAgcmV0dXJuIGRhdGFzZXRzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZGF0YXNldCkgPT5cbiAgICAgICAgICAoc2VhcmNoLmxlbmd0aCA9PT0gMCB8fCBkYXRhc2V0Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSkpICYmXG4gICAgICAgICAgKGNhdGVnb3JpZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZG9lc0RhdGFzb3VyY2VNYXRjaENhdGVnb3J5RmlsdGVyKGRhdGFzZXQsIGNhdGVnb3JpZXMpKVxuICAgICAgKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xuICB9XG5cbiAgZG9lc0RhdGFzb3VyY2VNYXRjaENhdGVnb3J5RmlsdGVyKGRhdGFzb3VyY2U6IERhdGFTb3VyY2UsIHNlbGVjdGVkQ2F0ZWdvcmllczogQ2F0ZWdvcnlbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRhc291cmNlLnNvdXJjZVR5cGUgPT09ICdkYXRhc2V0JyAmJiBkYXRhc291cmNlLmNhdGVnb3JpZXNcbiAgICAgID8gc2VsZWN0ZWRDYXRlZ29yaWVzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBzZWxlY3RlZENhdCkgPT4gYWNjICYmIGRhdGFzb3VyY2UuY2F0ZWdvcmllcyEubWFwKChjYXQpID0+IGNhdC5pZCkuaW5jbHVkZXMoc2VsZWN0ZWRDYXQuaWQpLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIG9uRGF0YXNvdXJjZUNsaWNrKHsgaXNTZWxlY3RlZCwgZGF0YXNvdXJjZSB9OiB7IGlzU2VsZWN0ZWQ6IGJvb2xlYW47IGRhdGFzb3VyY2U6IERhdGFTb3VyY2UgfSkge1xuICAgIGlmICh0aGlzLl9tb2RlJC52YWx1ZSA9PT0gJ2xpc3QnKSB7XG4gICAgICB0aGlzLmNvbnN1bHRlZERhdGFzZXQuZW1pdChkYXRhc291cmNlIGFzIERhdGFzZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0YXNvdXJjZXMkLm5leHQoXG4gICAgICAgIGlzU2VsZWN0ZWRcbiAgICAgICAgICA/IFsuLi50aGlzLnNlbGVjdGVkRGF0YXNvdXJjZXMkLnZhbHVlLCBkYXRhc291cmNlLmlkXVxuICAgICAgICAgIDogdGhpcy5zZWxlY3RlZERhdGFzb3VyY2VzJC52YWx1ZS5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gZGF0YXNvdXJjZS5pZClcbiAgICAgICk7XG4gICAgICB0aGlzLmRhdGFzb3VyY2VTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRhc291cmNlcyQudmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1saXN0X19oZWFkZXIgdS1kaXNwbGF5LWZsZXhcIj5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1saXN0X19zZWFyY2ggbS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGlkPVwiY2F0YWxvZy1zZWFyY2gtbGFiZWxcIiBmb3I9XCJjYXRhbG9nLXNlYXJjaFwiPnt7ICdAcHJ5LmRhdGFzZXQuc2VhcmNoJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgaWQ9XCJjYXRhbG9nLXNlYXJjaFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkuZGF0YXNldC5zZWFyY2hQbGFjZWhvbGRlcicgfCBpMThuXCJcbiAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLnNlYXJjaCQubmV4dCgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxwcnktaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCIgaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1saXN0X19jYXRlZ29yaWVzIG0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cInRhZ3MtbGFiZWxcIiBmb3I9XCJjYXRhbG9nLWNhdGVnb3J5LXNlYXJjaFwiPnt7ICdAcHJ5LmRhdGFzZXQuZmlsdGVyJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBpZD1cImNhdGFsb2ctY2F0ZWdvcnktc2VhcmNoXCJcbiAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkQ2F0ZWdvcmllc1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtpdGVtc109XCJjYXRlZ29yaWVzJCB8IGFzeW5jXCJcbiAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwidGFncy1sYWJlbFwiXG4gICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICBbY2xvc2VPblNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkuZGF0YXNldC5maWx0ZXJQbGFjZWhvbGRlcicgfCBpMThuXCJcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZS1saXN0X19jb250ZW50XCI+XG4gIEBpZiAoKF9tb2RlJCB8IGFzeW5jKSA9PT0gJ2xpc3QnKSB7XG4gICAgQGZvciAoZGF0YXNvdXJjZSBvZiBmaWx0ZXJlZERhdGFzb3VyY2VzJCB8IGFzeW5jOyB0cmFjayBkYXRhc291cmNlLmlkKSB7XG4gICAgICA8cHJ5LWRhdGFzb3VyY2UtY2FyZFxuICAgICAgICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgICAgICAgW2lzU2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkRhdGFzb3VyY2VDbGljaygkZXZlbnQpXCJcbiAgICAgID48L3ByeS1kYXRhc291cmNlLWNhcmQ+XG4gICAgfVxuICB9IEBlbHNlIGlmICgoX21vZGUkIHwgYXN5bmMpID09PSAnc2VsZWN0b3InKSB7XG4gICAgQGZvciAoZGF0YXNvdXJjZSBvZiBmaWx0ZXJlZERhdGFzb3VyY2VzJCB8IGFzeW5jOyB0cmFjayBkYXRhc291cmNlLmlkKSB7XG4gICAgICA8cHJ5LWRhdGFzb3VyY2UtY2FyZFxuICAgICAgICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgICAgICAgW2lzU2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3Nob3dGb290ZXJdPVwiZmFsc2VcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkRhdGFzb3VyY2VDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2lzU2VsZWN0ZWRdPVwiZGF0YXNvdXJjZS5pc1NlbGVjdGVkID8/IGZhbHNlXCJcbiAgICAgID48L3ByeS1kYXRhc291cmNlLWNhcmQ+XG4gICAgfVxuICB9XG48L2Rpdj5cbiJdfQ==