geonetwork-ui 2.6.0-dev.186d57931 → 2.6.0-dev.34911f182

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 (225) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  3. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -1
  4. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  5. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +45 -9
  6. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  7. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
  8. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  9. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +18 -0
  10. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  11. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  12. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  13. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
  14. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  15. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +12 -5
  16. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  17. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  18. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  19. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  20. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  21. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  22. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  23. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  24. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  25. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  26. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
  27. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  28. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  29. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  30. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  31. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  32. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +3 -3
  33. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  34. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  35. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  36. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  37. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  38. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  39. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  40. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
  41. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  42. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  43. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  44. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  45. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  46. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  47. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +56 -0
  48. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  49. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  50. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +2 -1
  51. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  52. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  53. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  54. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  55. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  56. package/esm2022/translations/de.json +8 -1
  57. package/esm2022/translations/en.json +10 -1
  58. package/esm2022/translations/es.json +8 -1
  59. package/esm2022/translations/fr.json +11 -2
  60. package/esm2022/translations/it.json +8 -1
  61. package/esm2022/translations/nl.json +8 -1
  62. package/esm2022/translations/pt.json +8 -1
  63. package/fesm2022/geonetwork-ui.mjs +638 -168
  64. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  65. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  66. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  67. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  68. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  69. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  70. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -0
  71. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  72. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  73. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  74. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
  75. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  76. package/libs/feature/editor/src/index.d.ts +1 -0
  77. package/libs/feature/editor/src/index.d.ts.map +1 -1
  78. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +7 -0
  79. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  80. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  81. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  82. package/libs/feature/search/src/index.d.ts +1 -1
  83. package/libs/feature/search/src/index.d.ts.map +1 -1
  84. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  85. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  86. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  87. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  88. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  89. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  90. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  91. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  92. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  93. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  94. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  95. package/libs/ui/elements/src/index.d.ts +1 -0
  96. package/libs/ui/elements/src/index.d.ts.map +1 -1
  97. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  98. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  99. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  100. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  101. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -0
  102. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  103. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  104. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  105. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  106. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  107. package/libs/ui/inputs/src/index.d.ts +1 -0
  108. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  109. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  110. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  111. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  112. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  113. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  114. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  115. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  116. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  117. package/libs/ui/layout/src/index.d.ts +1 -0
  118. package/libs/ui/layout/src/index.d.ts.map +1 -1
  119. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  120. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  121. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +18 -0
  122. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  123. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  124. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  125. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  126. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -1
  127. package/libs/ui/search/src/index.d.ts +1 -0
  128. package/libs/ui/search/src/index.d.ts.map +1 -1
  129. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  130. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  131. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  132. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  133. package/package.json +1 -1
  134. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  135. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  136. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -0
  137. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -2
  138. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  139. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
  140. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  141. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
  142. package/src/libs/feature/editor/src/index.ts +1 -0
  143. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.css +0 -0
  144. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +14 -0
  145. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +15 -0
  146. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
  147. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  148. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  149. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  150. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
  151. package/src/libs/feature/search/src/index.ts +1 -1
  152. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -2
  153. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  154. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  155. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  156. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  157. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  158. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  159. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  160. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  161. package/src/libs/ui/elements/src/index.ts +1 -0
  162. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  163. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  164. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  165. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  166. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  167. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  168. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  169. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +9 -0
  170. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
  171. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  172. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  173. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  174. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +9 -9
  175. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  176. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +7 -3
  177. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
  178. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +1 -1
  179. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  180. package/src/libs/ui/inputs/src/index.ts +1 -0
  181. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  182. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  183. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  184. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  185. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  186. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  187. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +0 -0
  188. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +2 -2
  189. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  190. package/src/libs/ui/layout/src/index.ts +1 -0
  191. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  192. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  193. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  194. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  195. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  196. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  197. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  198. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  199. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +46 -0
  200. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +62 -0
  201. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
  202. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  203. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  204. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +1 -0
  205. package/src/libs/ui/search/src/index.ts +1 -0
  206. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  207. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +24 -0
  208. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  209. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  210. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +1 -1
  211. package/tailwind.base.config.js +3 -0
  212. package/tailwind.base.css +1 -13
  213. package/translations/de.json +8 -1
  214. package/translations/en.json +10 -1
  215. package/translations/es.json +8 -1
  216. package/translations/fr.json +11 -2
  217. package/translations/it.json +8 -1
  218. package/translations/nl.json +8 -1
  219. package/translations/pt.json +8 -1
  220. package/translations/sk.json +8 -1
  221. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  222. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  223. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  224. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  225. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
@@ -15,6 +15,7 @@ export * from './lib/dropdown-selector/dropdown-selector.model';
15
15
  export * from './lib/editable-label/editable-label.directive';
16
16
  export * from './lib/file-input/file-input.component';
17
17
  export * from './lib/files-drop/files-drop.directive';
18
+ export * from './lib/inline-filter/inline-filter.component';
18
19
  export * from './lib/search-input/search-input.component';
19
20
  export * from './lib/star-toggle/star-toggle.component';
20
21
  export * from './lib/switch-toggle/switch-toggle.component';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/inputs/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2CAA2C,CAAA;AACzD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mDAAmD,CAAA;AACjE,cAAc,yCAAyC,CAAA;AACvD,cAAc,yDAAyD,CAAA;AACvE,cAAc,qDAAqD,CAAA;AACnE,cAAc,mEAAmE,CAAA;AACjF,cAAc,2DAA2D,CAAA;AACzE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qDAAqD,CAAA;AACnE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qCAAqC,CAAA;AACnD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,2DAA2D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/inputs/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2CAA2C,CAAA;AACzD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mDAAmD,CAAA;AACjE,cAAc,yCAAyC,CAAA;AACvD,cAAc,yDAAyD,CAAA;AACvE,cAAc,qDAAqD,CAAA;AACnE,cAAc,mEAAmE,CAAA;AACjF,cAAc,2DAA2D,CAAA;AACzE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qDAAqD,CAAA;AACnE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qCAAqC,CAAA;AACnD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,2DAA2D,CAAA"}
@@ -5,7 +5,7 @@ export declare class ButtonComponent {
5
5
  set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'black');
6
6
  disabled: boolean;
7
7
  extraClass: string;
8
- buttonClick: EventEmitter<void>;
8
+ buttonClick: EventEmitter<Event>;
9
9
  get classList(): string;
10
10
  handleClick(event: MouseEvent): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"button.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/button/button.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAGtB,qBAOa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsB;IAEtC,IAAa,IAAI,CACf,KAAK,EACD,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,EA2BZ;IAEQ,QAAQ,UAAQ;IAChB,UAAU,SAAK;IACd,WAAW,qBAA2B;IAEhD,IAAI,SAAS,WAEZ;IAED,WAAW,CAAC,KAAK,EAAE,UAAU;yCAhDlB,eAAe;2CAAf,eAAe;CAsD3B"}
1
+ {"version":3,"file":"button.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/button/button.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAGtB,qBAOa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsB;IAEtC,IAAa,IAAI,CACf,KAAK,EACD,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,EA2BZ;IAEQ,QAAQ,UAAQ;IAChB,UAAU,SAAK;IACd,WAAW,sBAA4B;IAEjD,IAAI,SAAS,WAEZ;IAED,WAAW,CAAC,KAAK,EAAE,UAAU;yCAhDlB,eAAe;2CAAf,eAAe;CAsD3B"}
@@ -0,0 +1,14 @@
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { Choice } from './inline-filter.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class InlineFilterComponent {
5
+ choices: Choice[];
6
+ selected: unknown[];
7
+ selectValues: EventEmitter<unknown[]>;
8
+ itemTemplate: TemplateRef<any>;
9
+ isSelected(choice: Choice): boolean;
10
+ select(choice: Choice, selected: boolean): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<InlineFilterComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<InlineFilterComponent, "gn-ui-inline-filter", never, { "choices": { "alias": "choices"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "selectValues": "selectValues"; }, ["itemTemplate"], never, false, never>;
13
+ }
14
+ //# sourceMappingURL=inline-filter.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-filter.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGZ,WAAW,EACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;;AAE9C,qBAIa,qBAAqB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAK;IAEvB,YAAY,0BAAgC;IAE3B,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAEzD,UAAU,CAAC,MAAM,EAAE,MAAM;IAOzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;yCAf7B,qBAAqB;2CAArB,qBAAqB;CA6BjC"}
@@ -0,0 +1,6 @@
1
+ export interface Choice {
2
+ value: unknown;
3
+ label: string;
4
+ icon?: string;
5
+ }
6
+ //# sourceMappingURL=inline-filter.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-filter.model.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
@@ -3,32 +3,33 @@ import * as i1 from "./drag-and-drop-file-input/drag-and-drop-file-input.compone
3
3
  import * as i2 from "./dropdown-multiselect/dropdown-multiselect.component";
4
4
  import * as i3 from "./viewport-intersector/viewport-intersector.component";
5
5
  import * as i4 from "./checkbox/checkbox.component";
6
- import * as i5 from "@angular/common";
7
- import * as i6 from "@ngx-translate/core";
8
- import * as i7 from "ngx-dropzone";
9
- import * as i8 from "@angular/forms";
10
- import * as i9 from "ngx-chips";
11
- import * as i10 from "../../../../util/shared/src/lib/util-shared.module";
12
- import * as i11 from "@angular/material/autocomplete";
13
- import * as i12 from "../../../widgets/src/lib/ui-widgets.module";
14
- import * as i13 from "@angular/cdk/overlay";
15
- import * as i14 from "@angular/material/checkbox";
16
- import * as i15 from "@angular/material/tooltip";
17
- import * as i16 from "@angular/material/form-field";
18
- import * as i17 from "@angular/material/input";
19
- import * as i18 from "@angular/material/datepicker";
20
- import * as i19 from "@angular/material/core";
21
- import * as i20 from "./editable-label/editable-label.directive";
22
- import * as i21 from "./text-area/text-area.component";
23
- import * as i22 from "./button/button.component";
24
- import * as i23 from "./dropdown-selector/dropdown-selector.component";
25
- import * as i24 from "./date-range-picker/date-range-picker.component";
26
- import * as i25 from "./check-toggle/check-toggle.component";
27
- import * as i26 from "./badge/badge.component";
28
- import * as i27 from "@ng-icons/core";
6
+ import * as i5 from "./inline-filter/inline-filter.component";
7
+ import * as i6 from "@angular/common";
8
+ import * as i7 from "@ngx-translate/core";
9
+ import * as i8 from "ngx-dropzone";
10
+ import * as i9 from "@angular/forms";
11
+ import * as i10 from "ngx-chips";
12
+ import * as i11 from "../../../../util/shared/src/lib/util-shared.module";
13
+ import * as i12 from "@angular/material/autocomplete";
14
+ import * as i13 from "../../../widgets/src/lib/ui-widgets.module";
15
+ import * as i14 from "@angular/cdk/overlay";
16
+ import * as i15 from "@angular/material/checkbox";
17
+ import * as i16 from "@angular/material/tooltip";
18
+ import * as i17 from "@angular/material/form-field";
19
+ import * as i18 from "@angular/material/input";
20
+ import * as i19 from "@angular/material/datepicker";
21
+ import * as i20 from "@angular/material/core";
22
+ import * as i21 from "./editable-label/editable-label.directive";
23
+ import * as i22 from "./text-area/text-area.component";
24
+ import * as i23 from "./button/button.component";
25
+ import * as i24 from "./dropdown-selector/dropdown-selector.component";
26
+ import * as i25 from "./date-range-picker/date-range-picker.component";
27
+ import * as i26 from "./check-toggle/check-toggle.component";
28
+ import * as i27 from "./badge/badge.component";
29
+ import * as i28 from "@ng-icons/core";
29
30
  export declare class UiInputsModule {
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<UiInputsModule, never>;
31
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.DragAndDropFileInputComponent, typeof i2.DropdownMultiselectComponent, typeof i3.ViewportIntersectorComponent, typeof i4.CheckboxComponent], [typeof i5.CommonModule, typeof i6.TranslateModule, typeof i7.NgxDropzoneModule, typeof i8.FormsModule, typeof i8.ReactiveFormsModule, typeof i9.TagInputModule, typeof i10.UtilSharedModule, typeof i11.MatAutocompleteModule, typeof i12.UiWidgetsModule, typeof i13.OverlayModule, typeof i14.MatCheckboxModule, typeof i15.MatTooltipModule, typeof i16.MatFormFieldModule, typeof i17.MatInputModule, typeof i18.MatDatepickerModule, typeof i19.MatNativeDateModule, typeof i20.EditableLabelDirective, typeof i21.TextAreaComponent, typeof i22.ButtonComponent, typeof i23.DropdownSelectorComponent, typeof i24.DateRangePickerComponent, typeof i25.CheckToggleComponent, typeof i26.BadgeComponent, typeof i27.NgIcon], [typeof i23.DropdownSelectorComponent, typeof i22.ButtonComponent, typeof i1.DragAndDropFileInputComponent, typeof i21.TextAreaComponent, typeof i2.DropdownMultiselectComponent, typeof i3.ViewportIntersectorComponent, typeof i25.CheckToggleComponent, typeof i4.CheckboxComponent, typeof i24.DateRangePickerComponent, typeof i20.EditableLabelDirective, typeof i26.BadgeComponent]>;
32
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.DragAndDropFileInputComponent, typeof i2.DropdownMultiselectComponent, typeof i3.ViewportIntersectorComponent, typeof i4.CheckboxComponent, typeof i5.InlineFilterComponent], [typeof i6.CommonModule, typeof i7.TranslateModule, typeof i8.NgxDropzoneModule, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i10.TagInputModule, typeof i11.UtilSharedModule, typeof i12.MatAutocompleteModule, typeof i13.UiWidgetsModule, typeof i14.OverlayModule, typeof i15.MatCheckboxModule, typeof i16.MatTooltipModule, typeof i17.MatFormFieldModule, typeof i18.MatInputModule, typeof i19.MatDatepickerModule, typeof i20.MatNativeDateModule, typeof i21.EditableLabelDirective, typeof i22.TextAreaComponent, typeof i23.ButtonComponent, typeof i24.DropdownSelectorComponent, typeof i25.DateRangePickerComponent, typeof i26.CheckToggleComponent, typeof i27.BadgeComponent, typeof i28.NgIcon], [typeof i24.DropdownSelectorComponent, typeof i23.ButtonComponent, typeof i1.DragAndDropFileInputComponent, typeof i22.TextAreaComponent, typeof i2.DropdownMultiselectComponent, typeof i3.ViewportIntersectorComponent, typeof i26.CheckToggleComponent, typeof i4.CheckboxComponent, typeof i25.DateRangePickerComponent, typeof i21.EditableLabelDirective, typeof i5.InlineFilterComponent, typeof i27.BadgeComponent]>;
32
33
  static ɵinj: i0.ɵɵInjectorDeclaration<UiInputsModule>;
33
34
  }
34
35
  //# sourceMappingURL=ui-inputs.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-inputs.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/inputs/src/lib/ui-inputs.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,qBAyDa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
1
+ {"version":3,"file":"ui-inputs.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/inputs/src/lib/ui-inputs.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,qBAwDa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
@@ -16,4 +16,5 @@ export * from './lib/pagination-dots/pagination-dots.component';
16
16
  export * from './lib/previous-next-buttons/previous-next-buttons.component';
17
17
  export * from './lib/paginable.interface';
18
18
  export * from './lib/ui-layout.module';
19
+ export * from './lib/truncated-text/truncated-text.component';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/layout/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iEAAiE,CAAA;AAC/E,cAAc,mDAAmD,CAAA;AACjE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qCAAqC,CAAA;AACnD,cAAc,qFAAqF,CAAA;AACnG,cAAc,qDAAqD,CAAA;AACnE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uCAAuC,CAAA;AACrD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uDAAuD,CAAA;AACrE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6DAA6D,CAAA;AAC3E,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/layout/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iEAAiE,CAAA;AAC/E,cAAc,mDAAmD,CAAA;AACjE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qCAAqC,CAAA;AACnD,cAAc,qFAAqF,CAAA;AACnG,cAAc,qDAAqD,CAAA;AACnE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uCAAuC,CAAA;AACrD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uDAAuD,CAAA;AACrE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6DAA6D,CAAA;AAC3E,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,+CAA+C,CAAA"}
@@ -1,6 +1,7 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList } from '@angular/core';
2
2
  import { Paginable } from '../paginable.interface';
3
3
  import * as i0 from "@angular/core";
4
+ type ComponentSize = 'L' | 'M' | 'S' | 'XS';
4
5
  export declare class BlockListComponent implements AfterViewInit, Paginable {
5
6
  private changeDetector;
6
7
  pageSize: number;
@@ -9,6 +10,8 @@ export declare class BlockListComponent implements AfterViewInit, Paginable {
9
10
  blocks: QueryList<ElementRef<HTMLElement>>;
10
11
  blockContainer: ElementRef<HTMLElement>;
11
12
  protected minHeight: number;
13
+ listChanges: EventEmitter<BlockListComponent>;
14
+ subComponentSize: ComponentSize;
12
15
  protected currentPage_: number;
13
16
  protected get pages(): number[];
14
17
  get isFirstPage(): boolean;
@@ -18,10 +21,14 @@ export declare class BlockListComponent implements AfterViewInit, Paginable {
18
21
  constructor(changeDetector: ChangeDetectorRef);
19
22
  ngAfterViewInit(): void;
20
23
  protected refreshBlocksVisibility: () => void;
24
+ protected updateSizes(): void;
25
+ protected computeSubComponentSize(): ComponentSize;
26
+ protected computePageSize(): number;
21
27
  goToPage(pageIndex: number): void;
22
28
  goToPrevPage(): void;
23
29
  goToNextPage(): void;
24
30
  static ɵfac: i0.ɵɵFactoryDeclaration<BlockListComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<BlockListComponent, "gn-ui-block-list", never, { "pageSize": { "alias": "pageSize"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "paginationContainerClass": { "alias": "paginationContainerClass"; "required": false; }; }, {}, ["blocks"], ["*"], true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<BlockListComponent, "gn-ui-block-list", never, { "containerClass": { "alias": "containerClass"; "required": false; }; "paginationContainerClass": { "alias": "paginationContainerClass"; "required": false; }; }, { "listChanges": "listChanges"; }, ["blocks"], ["*"], true, never>;
26
32
  }
33
+ export {};
27
34
  //# sourceMappingURL=block-list.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-list.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/layout/src/lib/block-list/block-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,iBAAiB,EAGjB,UAAU,EAEV,SAAS,EAEV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;;AAGlD,qBAQa,kBAAmB,YAAW,aAAa,EAAE,SAAS;IA6BrD,OAAO,CAAC,cAAc;IA5BzB,QAAQ,SAAI;IACZ,cAAc,SAAK;IACnB,wBAAwB,SAA6B;IACd,MAAM,EAAE,SAAS,CAC/D,UAAU,CAAC,WAAW,CAAC,CACxB,CAAA;IAC4B,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAEpE,SAAS,CAAC,SAAS,SAAI;IAEvB,SAAS,CAAC,YAAY,SAAI;IAC1B,SAAS,KAAK,KAAK,aAElB;IAED,IAAI,WAAW,YAEd;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,WAEb;IACD,IAAI,WAAW,WAEd;gBAEmB,cAAc,EAAE,iBAAiB;IAErD,eAAe;IASf,SAAS,CAAC,uBAAuB,aAQhC;IAGM,QAAQ,CAAC,SAAS,EAAE,MAAM;IAS1B,YAAY;IAKZ,YAAY;yCAjER,kBAAkB;2CAAlB,kBAAkB;CAqE9B"}
1
+ {"version":3,"file":"block-list.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/layout/src/lib/block-list/block-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,iBAAiB,EAGjB,UAAU,EACV,YAAY,EAGZ,SAAS,EAEV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;;AAGlD,KAAK,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;AAC3C,qBAQa,kBAAmB,YAAW,aAAa,EAAE,SAAS;IA8BrD,OAAO,CAAC,cAAc;IA7BlC,QAAQ,SAAI;IACH,cAAc,SAAK;IACnB,wBAAwB,SAA6B;IACd,MAAM,EAAE,SAAS,CAC/D,UAAU,CAAC,WAAW,CAAC,CACxB,CAAA;IAC4B,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACpE,SAAS,CAAC,SAAS,SAAI;IACb,WAAW,mCAAyC;IAC9D,gBAAgB,EAAE,aAAa,CAAM;IAErC,SAAS,CAAC,YAAY,SAAI;IAC1B,SAAS,KAAK,KAAK,aAElB;IAED,IAAI,WAAW,YAEd;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,WAEb;IACD,IAAI,WAAW,WAEd;gBAEmB,cAAc,EAAE,iBAAiB;IAErD,eAAe;IAiBf,SAAS,CAAC,uBAAuB,aAQhC;IAED,SAAS,CAAC,WAAW;IAKrB,SAAS,CAAC,uBAAuB,IAAI,aAAa;IASlD,SAAS,CAAC,eAAe,IAAI,MAAM;IAa5B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAS1B,YAAY;IAKZ,YAAY;yCApGR,kBAAkB;2CAAlB,kBAAkB;CAwG9B"}
@@ -0,0 +1,18 @@
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TruncatedTextComponent implements AfterViewInit {
4
+ private cd;
5
+ text: string;
6
+ textElement: ElementRef<HTMLElement>;
7
+ isTextTruncated: boolean;
8
+ isOpen: boolean;
9
+ constructor(cd: ChangeDetectorRef);
10
+ ngAfterViewInit(): void;
11
+ ngOnChange(): void;
12
+ toggleOverlay(): void;
13
+ close(): void;
14
+ private checkTextTruncation;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TruncatedTextComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<TruncatedTextComponent, "gn-ui-truncated-text", never, { "text": { "alias": "text"; "required": false; }; }, {}, never, never, true, never>;
17
+ }
18
+ //# sourceMappingURL=truncated-text.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EAEjB,UAAU,EAGX,MAAM,eAAe,CAAA;;AAUtB,qBAea,sBAAuB,YAAW,aAAa;IAM9C,OAAO,CAAC,EAAE;IALb,IAAI,SAAK;IACQ,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAC9D,eAAe,UAAQ;IACvB,MAAM,UAAQ;gBAEM,EAAE,EAAE,iBAAiB;IAEzC,eAAe;IAIf,UAAU;IAIV,aAAa;IAIb,KAAK;IAIL,OAAO,CAAC,mBAAmB;yCAxBhB,sBAAsB;2CAAtB,sBAAsB;CA6BlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-layout.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/layout/src/lib/ui-layout.module.ts"],"names":[],"mappings":";;;;;;AAOA,qBAUa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
1
+ {"version":3,"file":"ui-layout.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/layout/src/lib/ui-layout.module.ts"],"names":[],"mappings":";;;;;;AAOA,qBAMa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
@@ -1,9 +1,13 @@
1
1
  import type { Feature } from 'geojson';
2
+ import { DatasetFeatureCatalog } from '../../../../../../../libs/common/domain/src/lib/model/record';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class FeatureDetailComponent {
4
5
  feature: Feature;
5
- get properties(): string[];
6
+ _featureAttributes: any[];
7
+ set featureCatalog(value: DatasetFeatureCatalog);
8
+ get properties(): {};
9
+ setProperties(): {};
6
10
  static ɵfac: i0.ɵɵFactoryDeclaration<FeatureDetailComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<FeatureDetailComponent, "gn-ui-feature-detail", never, { "feature": { "alias": "feature"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeatureDetailComponent, "gn-ui-feature-detail", never, { "feature": { "alias": "feature"; "required": false; }; "featureCatalog": { "alias": "featureCatalog"; "required": false; }; }, {}, never, never, true, never>;
8
12
  }
9
13
  //# sourceMappingURL=feature-detail.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-detail.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;;AAItC,qBAQa,sBAAsB;IACxB,OAAO,EAAE,OAAO,CAAA;IAEzB,IAAI,UAAU,aAKb;yCARU,sBAAsB;2CAAtB,sBAAsB;CASlC"}
1
+ {"version":3,"file":"feature-detail.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAA;;AAIpG,qBAQa,sBAAsB;IACxB,OAAO,EAAE,OAAO,CAAA;IACzB,kBAAkB,QAAK;IACvB,IAAa,cAAc,CAAC,KAAK,EAAE,qBAAqB,EAEvD;IAED,IAAI,UAAU,OAGb;IAED,aAAa;yCAZF,sBAAsB;2CAAtB,sBAAsB;CAgClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-extent.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,OAAO,EAEL,UAAU,EAEX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;;AAEnG,qBAOa,sBAAsB;IACjC,IAAa,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAExD;IACD,eAAe,0CAAkD;IACjE,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAwClC;IAED,KAAK,SAAK;IAEV,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ;yCAjD3D,sBAAsB;2CAAtB,sBAAsB;CA8DlC"}
1
+ {"version":3,"file":"spatial-extent.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,OAAO,EAEL,UAAU,EAEX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;;AAEnG,qBAOa,sBAAsB;IACjC,IAAa,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAExD;IACD,eAAe,0CAAkD;IACjE,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAyClC;IAED,KAAK,SAAK;IAEV,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ;yCAlD3D,sBAAsB;2CAAtB,sBAAsB;CA+DlC"}
@@ -16,6 +16,7 @@ export * from './lib/record-preview-text/record-preview-text.component';
16
16
  export * from './lib/record-preview-title/record-preview-title.component';
17
17
  export * from './lib/record-metric/record-metric.component';
18
18
  export * from './lib/results-list-item/results-list-item.component';
19
+ export * from './lib/results-hits-search-kind/results-hits-search-kind.component';
19
20
  export * from './lib/results-hits-number/results-hits-number.component';
20
21
  export * from './lib/results-table/results-table.component';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/search/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3E,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,0CAA0C,CAAA;AACxD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,yDAAyD,CAAA;AACvE,cAAc,uDAAuD,CAAA;AACrE,cAAc,yDAAyD,CAAA;AACvE,cAAc,yDAAyD,CAAA;AACvE,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qDAAqD,CAAA;AACnE,cAAc,yDAAyD,CAAA;AACvE,cAAc,6CAA6C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/search/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3E,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,0CAA0C,CAAA;AACxD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,yDAAyD,CAAA;AACvE,cAAc,uDAAuD,CAAA;AACrE,cAAc,yDAAyD,CAAA;AACvE,cAAc,yDAAyD,CAAA;AACvE,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qDAAqD,CAAA;AACnE,cAAc,mEAAmE,CAAA;AACjF,cAAc,yDAAyD,CAAA;AACvE,cAAc,6CAA6C,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { Choice } from '../../../../../../libs/ui/inputs/src';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ResultsHitsSearchKindComponent implements OnChanges {
5
+ selected: string[];
6
+ choices: Choice[];
7
+ selectionChanged: EventEmitter<string[]>;
8
+ availableChoices: Choice[];
9
+ ngOnChanges(changes: SimpleChanges): void;
10
+ buildFilterChoices(availableValues: Choice[]): Choice[];
11
+ onSelectedValues(values: string[]): void;
12
+ isSelectedChoice(choiceValue: string): boolean;
13
+ isAllChoice(choiceValue: string): boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResultsHitsSearchKindComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResultsHitsSearchKindComponent, "gn-ui-results-hits-search-kind", never, { "selected": { "alias": "selected"; "required": false; }; "choices": { "alias": "choices"; "required": false; }; }, { "selectionChanged": "selectionChanged"; }, never, never, false, never>;
16
+ }
17
+ //# sourceMappingURL=results-hits-search-kind.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results-hits-search-kind.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,SAAS,EACT,aAAa,EAEd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAA;;AAE7D,qBAIa,8BAA+B,YAAW,SAAS;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAK;IACvB,OAAO,EAAE,MAAM,EAAE,CAAK;IACrB,gBAAgB,yBAA+B;IAEzD,gBAAgB,EAAE,MAAM,EAAE,CAAK;IAE/B,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE;IAY5C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;IAMjC,gBAAgB,CAAC,WAAW,EAAE,MAAM;IAIpC,WAAW,CAAC,WAAW,EAAE,MAAM;yCAnCpB,8BAA8B;2CAA9B,8BAA8B;CAsC1C"}
@@ -7,27 +7,29 @@ import * as i5 from "./record-preview-title/record-preview-title.component";
7
7
  import * as i6 from "./record-metric/record-metric.component";
8
8
  import * as i7 from "./results-list/results-list.component";
9
9
  import * as i8 from "./results-hits-number/results-hits-number.component";
10
- import * as i9 from "./results-list-item/results-list-item.component";
11
- import * as i10 from "./record-preview-feed/record-preview-feed.component";
12
- import * as i11 from "./record-preview-row/record-preview-row.component";
13
- import * as i12 from "@angular/common";
14
- import * as i13 from "@ngx-translate/core";
15
- import * as i14 from "ngx-dropzone";
16
- import * as i15 from "./facets/facets.module";
17
- import * as i16 from "@angular/forms";
18
- import * as i17 from "ngx-chips";
19
- import * as i18 from "../../../../util/shared/src/lib/util-shared.module";
20
- import * as i19 from "../../../widgets/src/lib/ui-widgets.module";
21
- import * as i20 from "../../../inputs/src/lib/ui-inputs.module";
22
- import * as i21 from "../../../elements/src/lib/ui-elements.module";
23
- import * as i22 from "@angular/material/checkbox";
24
- import * as i23 from "@angular/router";
25
- import * as i24 from "../../../layout/src/lib/interactive-table/interactive-table.component";
26
- import * as i25 from "@ng-icons/core";
27
- import * as i26 from "../../../elements/src/lib/metadata-quality/metadata-quality.component";
10
+ import * as i9 from "./results-hits-search-kind/results-hits-search-kind.component";
11
+ import * as i10 from "./results-list-item/results-list-item.component";
12
+ import * as i11 from "./record-preview-feed/record-preview-feed.component";
13
+ import * as i12 from "./record-preview-row/record-preview-row.component";
14
+ import * as i13 from "@angular/common";
15
+ import * as i14 from "@ngx-translate/core";
16
+ import * as i15 from "ngx-dropzone";
17
+ import * as i16 from "./facets/facets.module";
18
+ import * as i17 from "@angular/forms";
19
+ import * as i18 from "ngx-chips";
20
+ import * as i19 from "../../../../util/shared/src/lib/util-shared.module";
21
+ import * as i20 from "../../../widgets/src/lib/ui-widgets.module";
22
+ import * as i21 from "../../../inputs/src/lib/ui-inputs.module";
23
+ import * as i22 from "../../../elements/src/lib/ui-elements.module";
24
+ import * as i23 from "@angular/material/checkbox";
25
+ import * as i24 from "@angular/router";
26
+ import * as i25 from "../../../layout/src/lib/interactive-table/interactive-table.component";
27
+ import * as i26 from "@ng-icons/core";
28
+ import * as i27 from "../../../elements/src/lib/kind-badge/kind-badge.component";
29
+ import * as i28 from "../../../elements/src/lib/metadata-quality/metadata-quality.component";
28
30
  export declare class UiSearchModule {
29
31
  static ɵfac: i0.ɵɵFactoryDeclaration<UiSearchModule, never>;
30
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiSearchModule, [typeof i1.RecordPreviewComponent, typeof i2.RecordPreviewListComponent, typeof i3.RecordPreviewCardComponent, typeof i4.RecordPreviewTextComponent, typeof i5.RecordPreviewTitleComponent, typeof i6.RecordMetricComponent, typeof i7.ResultsListComponent, typeof i8.ResultsHitsNumberComponent, typeof i9.ResultsListItemComponent, typeof i10.RecordPreviewFeedComponent, typeof i11.RecordPreviewRowComponent], [typeof i12.CommonModule, typeof i13.TranslateModule, typeof i14.NgxDropzoneModule, typeof i15.FacetsModule, typeof i16.FormsModule, typeof i16.ReactiveFormsModule, typeof i17.TagInputModule, typeof i18.UtilSharedModule, typeof i19.UiWidgetsModule, typeof i20.UiInputsModule, typeof i21.UiElementsModule, typeof i22.MatCheckboxModule, typeof i23.RouterLink, typeof i24.InteractiveTableComponent, typeof i25.NgIconsModule, typeof i26.MetadataQualityComponent], [typeof i2.RecordPreviewListComponent, typeof i3.RecordPreviewCardComponent, typeof i4.RecordPreviewTextComponent, typeof i5.RecordPreviewTitleComponent, typeof i6.RecordMetricComponent, typeof i7.ResultsListComponent, typeof i15.FacetsModule, typeof i1.RecordPreviewComponent, typeof i8.ResultsHitsNumberComponent, typeof i10.RecordPreviewFeedComponent, typeof i11.RecordPreviewRowComponent]>;
32
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiSearchModule, [typeof i1.RecordPreviewComponent, typeof i2.RecordPreviewListComponent, typeof i3.RecordPreviewCardComponent, typeof i4.RecordPreviewTextComponent, typeof i5.RecordPreviewTitleComponent, typeof i6.RecordMetricComponent, typeof i7.ResultsListComponent, typeof i8.ResultsHitsNumberComponent, typeof i9.ResultsHitsSearchKindComponent, typeof i10.ResultsListItemComponent, typeof i11.RecordPreviewFeedComponent, typeof i12.RecordPreviewRowComponent], [typeof i13.CommonModule, typeof i14.TranslateModule, typeof i15.NgxDropzoneModule, typeof i16.FacetsModule, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.TagInputModule, typeof i19.UtilSharedModule, typeof i20.UiWidgetsModule, typeof i21.UiInputsModule, typeof i22.UiElementsModule, typeof i23.MatCheckboxModule, typeof i24.RouterLink, typeof i25.InteractiveTableComponent, typeof i26.NgIconsModule, typeof i27.KindBadgeComponent, typeof i28.MetadataQualityComponent], [typeof i2.RecordPreviewListComponent, typeof i3.RecordPreviewCardComponent, typeof i4.RecordPreviewTextComponent, typeof i5.RecordPreviewTitleComponent, typeof i6.RecordMetricComponent, typeof i7.ResultsListComponent, typeof i16.FacetsModule, typeof i1.RecordPreviewComponent, typeof i8.ResultsHitsNumberComponent, typeof i9.ResultsHitsSearchKindComponent, typeof i11.RecordPreviewFeedComponent, typeof i12.RecordPreviewRowComponent]>;
31
33
  static ɵinj: i0.ɵɵInjectorDeclaration<UiSearchModule>;
32
34
  }
33
35
  //# sourceMappingURL=ui-search.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-search.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/search/src/lib/ui-search.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,qBA0Da,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
1
+ {"version":3,"file":"ui-search.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/search/src/lib/ui-search.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,qBA6Da,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.6.0-dev.186d57931",
3
+ "version": "2.6.0-dev.34911f182",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -5,3 +5,4 @@ export * from './lib/gn4'
5
5
  export * from './lib/dcat-ap'
6
6
  export * from './lib/xml-utils'
7
7
  export * from './lib/base.converter'
8
+ export * from './lib/common/resource-types'
@@ -4,23 +4,37 @@ import {
4
4
  ReuseType,
5
5
  } from '../../../../../../libs/common/domain/src/lib/model/record'
6
6
 
7
- export function getResourceType(type: string): RecordKind {
8
- const possibleResourceTypes = {
9
- application: 'reuse',
10
- dataset: 'dataset',
11
- map: 'reuse',
12
- 'map/static': 'reuse', // old index field
13
- 'map/interactive': 'reuse', // old index field
14
- 'map-interactive': 'reuse', // new index field since Oct 10, 2024
15
- 'map-static': 'reuse', // new index field
16
- mapDigital: 'reuse',
17
- interactiveMap: 'reuse',
18
- staticMap: 'reuse',
19
- service: 'service',
20
- } as const
7
+ export const PossibleResourceTypes = {
8
+ application: 'reuse',
9
+ dataset: 'dataset',
10
+ interactiveMap: 'reuse',
11
+ map: 'reuse',
12
+ 'map/static': 'reuse', // old index field
13
+ 'map/interactive': 'reuse', // old index field
14
+ 'map-interactive': 'reuse', // new index field since Oct 10, 2024
15
+ 'map-static': 'reuse', // new index field
16
+ mapDigital: 'reuse',
17
+ series: 'dataset',
18
+ service: 'service',
19
+ staticMap: 'reuse',
20
+ } as const
21
+
22
+ type KindType = keyof typeof PossibleResourceTypes
23
+ type ResourceType = 'reuse' | 'dataset' | 'service'
24
+ type PossibleResourceTypesGrouped = {
25
+ [K in ResourceType]: KindType[]
26
+ }
27
+
28
+ export const PossibleResourceTypesDefinition = Object.entries(
29
+ PossibleResourceTypes
30
+ ).reduce(
31
+ (acc, [key, val]) => ((acc[val] ??= []).push(key), acc),
32
+ {}
33
+ ) as PossibleResourceTypesGrouped
21
34
 
35
+ export function getResourceType(type: string): RecordKind {
22
36
  return (
23
- possibleResourceTypes[type as keyof typeof possibleResourceTypes] ||
37
+ PossibleResourceTypes[type as keyof typeof PossibleResourceTypes] ||
24
38
  'dataset'
25
39
  )
26
40
  }
@@ -152,6 +152,7 @@ export class Gn4Repository implements RecordsRepositoryInterface {
152
152
  attributes: Array.isArray(featureType.attributeTable)
153
153
  ? featureType.attributeTable.map((attr) => ({
154
154
  name: attr.name,
155
+ code: attr.code,
155
156
  title: attr.definition,
156
157
  }))
157
158
  : [],
@@ -235,7 +235,7 @@ export type DatasetFeatureCatalog = {
235
235
  featureTypes: Array<{
236
236
  name: string
237
237
  definition: string
238
- attributes: Array<{ name: string; title: string }>
238
+ attributes: Array<{ name: string; title: string; code: string }>
239
239
  }>
240
240
  }
241
241
 
@@ -272,7 +272,7 @@ export interface DatasetFeatureType {
272
272
  isAbstract: string
273
273
  typeName: string
274
274
  definition: string
275
- attributeTable: Array<{ name: string; definition: string }>
275
+ attributeTable: Array<{ name: string; definition: string; code: string }>
276
276
  }
277
277
 
278
278
  export type ReuseType = 'application' | 'map' | 'other'
@@ -18,15 +18,17 @@
18
18
  [selected]="xProperty$.value"
19
19
  [title]="'chart.dropdown.xProperty' | translate"
20
20
  ></gn-ui-dropdown-selector>
21
- <gn-ui-dropdown-selector
22
- class="basis-1/4"
23
- *ngIf="!isCountAggregation"
24
- [choices]="yChoices$ | async"
25
- (selectValue)="yProperty$.next($event)"
26
- [selected]="yProperty$.value"
27
- [title]="'chart.dropdown.yProperty' | translate"
28
- class="select-y-prop"
29
- ></gn-ui-dropdown-selector>
21
+ <ng-container *ngIf="yChoices$ | async as yChoices">
22
+ <gn-ui-dropdown-selector
23
+ class="basis-1/4"
24
+ *ngIf="!isCountAggregation"
25
+ [choices]="yChoices"
26
+ (selectValue)="yProperty$.next($event)"
27
+ [selected]="yProperty$.value"
28
+ [title]="'chart.dropdown.yProperty' | translate"
29
+ class="select-y-prop"
30
+ ></gn-ui-dropdown-selector>
31
+ </ng-container>
30
32
  <gn-ui-dropdown-selector
31
33
  class="basis-1/4"
32
34
  [choices]="aggregationChoices"
@@ -43,6 +45,7 @@
43
45
  *ngIf="!error"
44
46
  [data]="chartData$ | async"
45
47
  [type]="chartType$.value"
48
+ [prettyLabel]="prettyLabel$ | async"
46
49
  [labelProperty]="labelProperty"
47
50
  [valueProperty]="valueProperty"
48
51
  ></gn-ui-chart>
@@ -2,9 +2,7 @@ import {
2
2
  ChangeDetectionStrategy,
3
3
  ChangeDetectorRef,
4
4
  Component,
5
- Inject,
6
5
  Input,
7
- Optional,
8
6
  Output,
9
7
  } from '@angular/core'
10
8
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
@@ -13,6 +11,7 @@ import {
13
11
  FetchError,
14
12
  FieldAggregation,
15
13
  getJsonDataItemsProxy,
14
+ PropertyInfo,
16
15
  } from '../../../../../../libs/util/data-fetcher/src'
17
16
  import {
18
17
  DropdownChoice,
@@ -30,7 +29,10 @@ import {
30
29
  } from 'rxjs/operators'
31
30
  import { DataService } from '../service/data.service'
32
31
  import { InputChartType } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
33
- import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
32
+ import {
33
+ DatasetFeatureCatalog,
34
+ DatasetOnlineResource,
35
+ } from '../../../../../../libs/common/domain/src/lib/model/record'
34
36
  import { TranslateModule, TranslateService } from '@ngx-translate/core'
35
37
  import { CommonModule } from '@angular/common'
36
38
  import { ChartComponent } from '../../../../../../libs/ui/dataviz/src'
@@ -67,9 +69,18 @@ marker('chart.aggregation.count')
67
69
  standalone: true,
68
70
  })
69
71
  export class ChartViewComponent {
72
+ public featureCatalog$ = new BehaviorSubject<DatasetFeatureCatalog | null>(
73
+ null
74
+ )
75
+ @Input() set featureCatalog(value: DatasetFeatureCatalog) {
76
+ this.featureCatalog$.next(value)
77
+ }
70
78
  @Input() cacheActive = true
71
79
  @Input() set link(value: DatasetOnlineResource) {
72
80
  this.currentLink$.next(value)
81
+ if (value) {
82
+ this.aggregation$.next('sum')
83
+ }
73
84
  }
74
85
  private currentLink$ = new BehaviorSubject<DatasetOnlineResource>(null)
75
86
 
@@ -150,13 +161,8 @@ export class ChartViewComponent {
150
161
  }),
151
162
  shareReplay(1)
152
163
  )
153
- properties$ = this.dataset$.pipe(
154
- switchMap((dataset) =>
155
- dataset.properties.catch((error) => {
156
- this.handleError(error)
157
- return []
158
- })
159
- ),
164
+ properties$ = combineLatest([this.dataset$, this.featureCatalog$]).pipe(
165
+ switchMap(([dataset, catalog]) => this.setProperties(dataset, catalog)),
160
166
  shareReplay(1)
161
167
  )
162
168
  yChoices$ = this.properties$.pipe(
@@ -197,6 +203,7 @@ export class ChartViewComponent {
197
203
  this.yProperty$.pipe(filter((value) => value !== undefined)),
198
204
  this.aggregation$,
199
205
  ]).pipe(
206
+ filter(([_, x, y]) => !!x || !!y),
200
207
  switchMap(([dataset, xProp, yProp, aggregation]) => {
201
208
  const fieldAgg: FieldAggregation =
202
209
  aggregation === 'count' ? ['count'] : [aggregation, yProp]
@@ -217,6 +224,18 @@ export class ChartViewComponent {
217
224
  shareReplay(1)
218
225
  )
219
226
 
227
+ prettyLabel$ = combineLatest([
228
+ this.aggregation$,
229
+ this.properties$,
230
+ this.yProperty$,
231
+ ]).pipe(
232
+ map(([aggregation, properties, yProperty]) => {
233
+ if (aggregation === 'count') return 'count()'
234
+ const prop = properties.find((p) => p.name === yProperty)
235
+ return prop ? `${aggregation}(${prop.label})` : ''
236
+ })
237
+ )
238
+
220
239
  get labelProperty() {
221
240
  if (!this.xProperty$.value) return ''
222
241
  return `distinct(${this.xProperty$.value})`
@@ -235,6 +254,31 @@ export class ChartViewComponent {
235
254
  private translateService: TranslateService
236
255
  ) {}
237
256
 
257
+ setProperties(
258
+ dataset: BaseReader,
259
+ catalog: DatasetFeatureCatalog
260
+ ): Promise<PropertyInfo[]> {
261
+ return dataset.properties
262
+ .then((properties) => {
263
+ return properties.map((p) => {
264
+ if (catalog) {
265
+ const featureAttributes = catalog?.featureTypes[0]?.attributes ?? []
266
+ const matchingAttribute = featureAttributes.find(
267
+ (attr) => attr.name === p.label
268
+ )
269
+ if (matchingAttribute?.code) {
270
+ return { ...p, label: matchingAttribute.code }
271
+ }
272
+ return p
273
+ }
274
+ return p
275
+ })
276
+ })
277
+ .catch((error) => {
278
+ this.handleError(error)
279
+ return []
280
+ })
281
+ }
238
282
  handleError(error: FetchError | Error | string) {
239
283
  if (error instanceof FetchError) {
240
284
  this.error = this.translateService.instant(