geonetwork-ui 2.2.0-dev.46643468 → 2.2.0-dev.4db0b597

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 (235) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +36 -2
  3. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  8. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  9. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  10. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  11. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  12. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  13. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  14. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  15. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  16. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +17 -3
  17. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  18. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  19. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  20. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  21. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  22. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  23. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  24. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +1 -1
  25. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  26. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  27. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  28. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  29. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  30. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +2 -2
  31. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  32. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  33. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  34. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  35. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  36. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  37. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +4 -4
  38. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +3 -1
  39. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  40. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  41. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  42. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  43. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  44. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
  45. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  46. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  47. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  48. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  49. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  50. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  51. package/esm2022/translations/de.json +5 -3
  52. package/esm2022/translations/en.json +6 -4
  53. package/esm2022/translations/es.json +5 -3
  54. package/esm2022/translations/fr.json +6 -4
  55. package/esm2022/translations/it.json +5 -3
  56. package/esm2022/translations/nl.json +5 -3
  57. package/esm2022/translations/pt.json +5 -3
  58. package/fesm2022/geonetwork-ui.mjs +550 -435
  59. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  60. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -0
  61. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  62. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  63. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  64. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  65. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  66. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  67. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +9 -5
  68. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  69. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  70. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  71. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  72. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  73. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  74. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  75. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  76. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  77. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  78. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  79. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  80. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  81. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  82. package/libs/feature/map/src/index.d.ts +1 -0
  83. package/libs/feature/map/src/index.d.ts.map +1 -1
  84. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  85. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  86. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  87. package/libs/feature/map/src/lib/feature-map.module.d.ts +13 -12
  88. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  89. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  90. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  91. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  92. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  93. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  94. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  95. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  96. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  97. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  98. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  99. package/libs/feature/search/src/index.d.ts +3 -0
  100. package/libs/feature/search/src/index.d.ts.map +1 -1
  101. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  102. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  103. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  104. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  105. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  106. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  107. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  108. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  109. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  110. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  111. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  112. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  113. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  114. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  115. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  116. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  117. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  118. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  119. package/libs/ui/elements/src/index.d.ts +1 -0
  120. package/libs/ui/elements/src/index.d.ts.map +1 -1
  121. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +1 -1
  122. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  123. package/libs/ui/inputs/src/index.d.ts +1 -0
  124. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  125. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  126. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  127. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +2 -1
  128. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  129. package/libs/ui/layout/src/index.d.ts +2 -0
  130. package/libs/ui/layout/src/index.d.ts.map +1 -1
  131. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  132. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  133. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  134. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  135. package/libs/ui/search/src/index.d.ts +0 -1
  136. package/libs/ui/search/src/index.d.ts.map +1 -1
  137. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  138. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  139. package/libs/util/i18n/src/index.d.ts +0 -1
  140. package/libs/util/i18n/src/index.d.ts.map +1 -1
  141. package/package.json +4 -1
  142. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
  143. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
  144. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  145. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  146. package/src/libs/common/domain/src/lib/index.ts +2 -0
  147. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +11 -7
  148. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  149. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  150. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  151. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  152. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  153. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  154. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  155. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  156. package/src/libs/feature/map/src/index.ts +1 -0
  157. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  158. package/src/libs/feature/map/src/lib/feature-map.module.ts +8 -0
  159. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  160. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  161. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  162. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  163. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  164. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  165. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  166. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  167. package/src/libs/feature/search/src/index.ts +3 -0
  168. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  169. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  170. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  171. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  172. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  173. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  174. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  175. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  176. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  177. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  178. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  179. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  180. package/src/libs/ui/elements/src/index.ts +1 -0
  181. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -2
  182. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  183. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +3 -3
  184. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +1 -1
  185. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +1 -0
  186. package/src/libs/ui/inputs/src/index.ts +1 -0
  187. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  188. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  189. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  190. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  191. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
  192. package/src/libs/ui/layout/src/index.ts +2 -0
  193. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  194. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  195. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  196. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  197. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  198. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  199. package/src/libs/ui/search/src/index.ts +0 -1
  200. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  201. package/src/libs/util/i18n/src/index.ts +0 -1
  202. package/translations/de.json +5 -3
  203. package/translations/en.json +6 -4
  204. package/translations/es.json +5 -3
  205. package/translations/fr.json +6 -4
  206. package/translations/it.json +5 -3
  207. package/translations/nl.json +5 -3
  208. package/translations/pt.json +5 -3
  209. package/translations/sk.json +5 -3
  210. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  211. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  212. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  213. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  214. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  215. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  216. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  217. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  218. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  219. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  220. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  221. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  222. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  223. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  224. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  225. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  226. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  227. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  228. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  229. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  230. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  231. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  232. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  233. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  234. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  235. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.translate.module.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/i18n/src/lib/testing/test.translate.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAA;AAC7D,OAAO,EAKL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;;;AAOzE;;;;;;GAMG;AACH,qBAIa,sBACX,YAAW,mBAAmB,CAAC,sBAAsB,CAAC;IAEtD,OAAO,CAAC,aAAa,CAAmB;IAExC,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;;;;;;;;;;;;;;;OAiBG;WACW,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,oBAAoB,GACjC,sBAAsB;IAEzB;;;;;;;;;;;;;;;;OAgBG;WACW,gBAAgB,CAC5B,YAAY,EAAE,YAAY,GACzB,sBAAsB;IAkBzB,IAAW,QAAQ,kCAElB;IAED,IAAW,SAAS;;;QAmBnB;IAED;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,sBAAsB;IAE3E;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,oBAAoB,GACjC,sBAAsB;IAiBzB;;;;;;;;;;;;OAYG;IACI,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,sBAAsB;IAKxE;;;;;;;;;;;;;OAaG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB;IAKpE,OAAO,CAAC,eAAe;yCA7LZ,sBAAsB;0CAAtB,sBAAsB;0CAAtB,sBAAsB;CA8MlC"}
@@ -1,21 +0,0 @@
1
- export declare type LanguageTranslation = string | string[] | {
2
- [translationKey: string]: LanguageTranslation;
3
- };
4
- /**
5
- * LanguageTranslations represents a mapping between a translation key and the translation for that key
6
- * or to nested translation keys.
7
- *
8
- * @export
9
- */
10
- export interface LanguageTranslations {
11
- [translationKey: string]: LanguageTranslation;
12
- }
13
- /**
14
- * Translations represents a mapping between a language and the translations for that language.
15
- *
16
- * @export
17
- */
18
- export interface Translations {
19
- [language: string]: LanguageTranslations;
20
- }
21
- //# sourceMappingURL=translations.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translations.model.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/i18n/src/lib/testing/translations.model.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,MAAM,mBAAmB,GACnC,MAAM,GACN,MAAM,EAAE,GACR;IAAE,CAAC,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAE,CAAA;AAErD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,CAAC,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;CACzC"}
@@ -1,58 +0,0 @@
1
- import { Injectable } from '@angular/core'
2
- import { WmsEndpoint, WmsLayerFull } from '@camptocamp/ogc-client'
3
- import { MapContextLayerWmsModel } from '../map-context/map-context.model'
4
- import { ProxyService } from '../../../../../../libs/util/shared/src'
5
- import { from, Observable } from 'rxjs'
6
- import { map, switchMap } from 'rxjs/operators'
7
- import { LONLAT_CRS_CODES } from './projections'
8
- import { fromEPSGCode, register } from 'ol/proj/proj4'
9
- import { Extent } from 'ol/extent'
10
- import proj4 from 'proj4/dist/proj4'
11
- import { transformExtent } from 'ol/proj'
12
-
13
- @Injectable({
14
- providedIn: 'root',
15
- })
16
- export class MapUtilsWMSService {
17
- constructor(private proxy: ProxyService) {}
18
-
19
- getCapabilities(layer: MapContextLayerWmsModel): Observable<WmsEndpoint> {
20
- return from(new WmsEndpoint(this.proxy.getProxiedUrl(layer.url)).isReady())
21
- }
22
-
23
- getLayerFull(layer: MapContextLayerWmsModel): Observable<WmsLayerFull> {
24
- return this.getCapabilities(layer).pipe(
25
- map((endpoint) => endpoint.getLayerByName(layer.name))
26
- )
27
- }
28
-
29
- getLayerLonLatBBox(layer: MapContextLayerWmsModel) {
30
- return this.getLayerFull(layer).pipe(
31
- switchMap((wmsLayerFull) => from(this.getLonLatBBox(wmsLayerFull)))
32
- )
33
- }
34
-
35
- async getLonLatBBox(wmsLayerFull: WmsLayerFull): Promise<Extent> {
36
- const { boundingBoxes } = wmsLayerFull
37
- const lonLatCRS = Object.keys(boundingBoxes)?.find((crs) =>
38
- LONLAT_CRS_CODES.includes(crs)
39
- )
40
- if (lonLatCRS) {
41
- return boundingBoxes[lonLatCRS]
42
- } else {
43
- const availableEPSGCode = Object.keys(boundingBoxes)[0]
44
- register(proj4)
45
- const proj = await fromEPSGCode(availableEPSGCode)
46
- proj4.defs(availableEPSGCode, proj)
47
-
48
- const bboxWithFiniteNumbers = [
49
- parseFloat(boundingBoxes[availableEPSGCode][0]),
50
- parseFloat(boundingBoxes[availableEPSGCode][1]),
51
- parseFloat(boundingBoxes[availableEPSGCode][2]),
52
- parseFloat(boundingBoxes[availableEPSGCode][3]),
53
- ]
54
- const extent = transformExtent(bboxWithFiniteNumbers, proj, 'EPSG:4326')
55
- return extent
56
- }
57
- }
58
- }
@@ -1,7 +0,0 @@
1
- .record-table-col {
2
- @apply px-5 py-3 items-center truncate;
3
- }
4
-
5
- .record-table-header {
6
- @apply record-table-col capitalize;
7
- }
@@ -1,215 +0,0 @@
1
- <div>
2
- <div *ngIf="totalHits" class="">
3
- <div class="flex records-information">
4
- <div
5
- translate
6
- class="my-8 ml-4 block text-gray-800"
7
- [translateParams]="{
8
- displayed: records.length,
9
- hits: totalHits
10
- }"
11
- >
12
- results.records.hits.displayedOn
13
- </div>
14
- <div
15
- *ngIf="selectedRecords.length > 0"
16
- class="my-8 ml-6 block text-gray-400 selected-records"
17
- translate
18
- [translateParams]="{ amount: selectedRecords.length }"
19
- >
20
- results.records.hits.selected
21
- </div>
22
- </div>
23
-
24
- <div
25
- class="grid grid-cols-[repeat(3,minmax(0,max-content))] gap-x-4 gap-y-1"
26
- *ngIf="records[0].name"
27
- >
28
- <div class="contents text-sm">
29
- <div class="record-table-header text-gray-400 flex gap-1">
30
- <span translate>dashboard.records.userDetail</span>
31
- </div>
32
- <div class="record-table-header text-gray-400 flex gap-1">
33
- <span translate>dashboard.records.username</span>
34
- </div>
35
- <div class="record-table-header text-gray-400 flex gap-1">
36
- <span translate>dashboard.records.userEmail</span>
37
- </div>
38
- </div>
39
- <div
40
- class="contents hover:text-gray-900 text-gray-800 cursor-pointer"
41
- (click)="recordSelect.emit(record)"
42
- *ngFor="let record of records"
43
- >
44
- <div class="record-table-col text-16">
45
- {{ record.name }}
46
- </div>
47
- <div class="record-table-col text-16">
48
- {{ record.username }}
49
- </div>
50
- <div class="record-table-col text-16">
51
- {{ record.emailAddresses[0] }}
52
- </div>
53
- </div>
54
- </div>
55
-
56
- <div
57
- class="grid grid-cols-[repeat(6,minmax(0,max-content))] gap-x-4 gap-y-1"
58
- *ngIf="!records[0].name"
59
- >
60
- <div class="contents text-sm">
61
- <div class="flex justify-center items-center">
62
- <gn-ui-checkbox
63
- [checked]="isAllSelected()"
64
- [indeterminate]="isSomeSelected()"
65
- (changed)="selectAll()"
66
- type="default"
67
- >
68
- </gn-ui-checkbox>
69
- </div>
70
- <div class="record-table-header text-gray-400 flex gap-1">
71
- <gn-ui-button
72
- type="light"
73
- extraClass="px-3 pl-0 space-x-1 text-left"
74
- (buttonClick)="setSortBy('resourceTitleObject.default.keyword')"
75
- >
76
- <span translate>record.metadata.title</span>
77
- <mat-icon
78
- class="material-symbols-outlined"
79
- *ngIf="isSortedBy('resourceTitleObject.default.keyword', 'desc')"
80
- >
81
- expand_more</mat-icon
82
- >
83
- <mat-icon
84
- class="material-symbols-outlined"
85
- *ngIf="isSortedBy('resourceTitleObject.default.keyword', 'asc')"
86
- >
87
- expand_less</mat-icon
88
- >
89
- </gn-ui-button>
90
- </div>
91
- <div translate="" class="record-table-header text-gray-400 flex gap-1">
92
- record.metadata.formats
93
- </div>
94
- <div class="record-table-header text-gray-400 flex gap-1">
95
- <gn-ui-button
96
- type="light"
97
- extraClass="px-3 pl-0 space-x-1"
98
- (buttonClick)="setSortBy('recordOwner')"
99
- >
100
- <span translate>record.metadata.author</span>
101
- <mat-icon
102
- class="material-symbols-outlined"
103
- *ngIf="isSortedBy('recordOwner', 'desc')"
104
- >
105
- expand_more</mat-icon
106
- >
107
- <mat-icon
108
- class="material-symbols-outlined"
109
- *ngIf="isSortedBy('recordOwner', 'asc')"
110
- >
111
- expand_less</mat-icon
112
- >
113
- </gn-ui-button>
114
- </div>
115
- <div class="record-table-header text-gray-400 flex gap-1">
116
- <gn-ui-button
117
- type="light"
118
- extraClass="px-3 pl-0 space-x-1"
119
- (buttonClick)="setSortBy('changeDate')"
120
- >
121
- <span translate>record.metadata.updatedOn</span>
122
- <mat-icon
123
- class="material-symbols-outlined"
124
- *ngIf="isSortedBy('changeDate', 'desc')"
125
- >
126
- expand_more</mat-icon
127
- >
128
- <mat-icon
129
- class="material-symbols-outlined"
130
- *ngIf="isSortedBy('changeDate', 'asc')"
131
- >
132
- expand_less</mat-icon
133
- >
134
- </gn-ui-button>
135
- </div>
136
- <div class="record-table-header text-gray-400 flex gap-1">
137
- <gn-ui-button
138
- type="light"
139
- extraClass="px-3 pl-0 space-x-1"
140
- (buttonClick)="setSortBy('createDate')"
141
- >
142
- <span translate>record.metadata.createdOn</span>
143
- <mat-icon
144
- class="material-symbols-outlined"
145
- *ngIf="isSortedBy('createDate', 'desc')"
146
- >
147
- expand_more</mat-icon
148
- >
149
- <mat-icon
150
- class="material-symbols-outlined"
151
- *ngIf="isSortedBy('createDate', 'asc')"
152
- >
153
- expand_less</mat-icon
154
- >
155
- </gn-ui-button>
156
- </div>
157
- </div>
158
- <div
159
- class="contents hover:text-gray-900 text-gray-800 cursor-pointer"
160
- (click)="recordSelect.emit(record)"
161
- *ngFor="let record of records"
162
- >
163
- <div class="record-table-col">
164
- <gn-ui-checkbox
165
- [checked]="isChecked(record)"
166
- (changed)="handleRecordSelectedChange($event, record)"
167
- type="default"
168
- ></gn-ui-checkbox>
169
- </div>
170
- <div
171
- [title]="record.title"
172
- class="record-table-col text-16 self-center"
173
- >
174
- {{ record.title }}
175
- </div>
176
- <div
177
- class="record-table-col flex justify-start items-center gap-2 text-16"
178
- [title]="formats.join(', ')"
179
- *ngIf="getRecordFormats(record) as formats"
180
- >
181
- <span
182
- class="badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0"
183
- [style.background-color]="getBadgeColor(formats[0])"
184
- *ngIf="formats[0]"
185
- >
186
- {{ formats[0] }}
187
- </span>
188
- <span
189
- class="badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0"
190
- [style.background-color]="getBadgeColor(formats[1])"
191
- *ngIf="formats[1]"
192
- >
193
- {{ formats[1] }}
194
- </span>
195
- <div
196
- class="flex-shrink-0"
197
- *ngIf="!record.name && formats.slice(2).length > 0"
198
- >
199
- <span>+{{ formats.slice(2).length }}</span>
200
- </div>
201
- </div>
202
- <div class="record-table-col flex items-center gap-2 text-16">
203
- <mat-icon class="material-symbols-outlined"> person </mat-icon>
204
- <span class="">{{ formatUserInfo(record.extras?.ownerInfo) }}</span>
205
- </div>
206
- <div class="record-table-col text-16 self-center">
207
- {{ dateToString(record.recordUpdated) }}
208
- </div>
209
- <div class="record-table-col text-16 self-center">
210
- {{ dateToString(record.recordCreated) }}
211
- </div>
212
- </div>
213
- </div>
214
- </div>
215
- </div>
@@ -1,149 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core'
2
- import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
3
- import {
4
- FileFormat,
5
- getBadgeColor,
6
- getFileFormat,
7
- getFormatPriority,
8
- } from '../../../../../../libs/util/shared/src'
9
- import { SortByField } from '../../../../../../libs/common/domain/src/lib/model/search'
10
-
11
- @Component({
12
- selector: 'gn-ui-record-table',
13
- templateUrl: './record-table.component.html',
14
- styleUrls: ['./record-table.component.css'],
15
- })
16
- export class RecordTableComponent {
17
- @Input() selectedRecords: string[] = []
18
- @Input() records: any[] = []
19
- @Input() totalHits?: number
20
- @Input() sortBy?: SortByField
21
- @Output() recordClick = new EventEmitter<CatalogRecord>()
22
- @Output() recordsSelect = new EventEmitter<CatalogRecord[]>()
23
- @Output() recordsDeselect = new EventEmitter<CatalogRecord[]>()
24
- @Output() sortByChange = new EventEmitter<SortByField>()
25
-
26
- dateToString(date: Date): string {
27
- return date?.toLocaleDateString(undefined, {
28
- year: 'numeric',
29
- month: 'long',
30
- day: 'numeric',
31
- timeZone: 'UTC',
32
- })
33
- }
34
-
35
- getStatus(isPublishedToAll: boolean | unknown) {
36
- return isPublishedToAll ? 'published' : 'not published'
37
- }
38
-
39
- formatUserInfo(userInfo: string | unknown): string {
40
- const infos = (typeof userInfo === 'string' ? userInfo : '').split('|')
41
- if (infos && infos.length === 4) {
42
- return `${infos[2]} ${infos[1]}`
43
- }
44
- return undefined
45
- }
46
-
47
- getRecordFormats(record: CatalogRecord): FileFormat[] {
48
- if (record.kind === 'service' || !('distributions' in record)) {
49
- return []
50
- }
51
- const formats = Array.from(
52
- new Set(
53
- record.distributions.map((distribution) => getFileFormat(distribution))
54
- )
55
- ).filter((format) => !!format)
56
- formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a))
57
- return formats
58
- }
59
-
60
- getBadgeColor(format: FileFormat): string {
61
- return getBadgeColor(format)
62
- }
63
-
64
- private getOrderForColumn(col: string): 'asc' | 'desc' | null {
65
- if (!this.sortBy) {
66
- return null
67
- }
68
- let order: 'asc' | 'desc' | null = null
69
- const sortedArray = Array.isArray(this.sortBy[0])
70
- ? this.sortBy
71
- : [this.sortBy]
72
- sortedArray.forEach((sortedCol) => {
73
- if (sortedCol[1] === col) {
74
- order = sortedCol[0]
75
- }
76
- })
77
- return order
78
- }
79
-
80
- setSortBy(col: string): void {
81
- const sortOrder = this.getOrderForColumn(col)
82
- let newOrder
83
- if (sortOrder) {
84
- newOrder = sortOrder === 'asc' ? 'desc' : 'asc'
85
- } else {
86
- newOrder = 'asc'
87
- }
88
- this.sortByChange.emit([newOrder, col])
89
- this.sortBy = [newOrder, col]
90
- }
91
-
92
- isSortedBy(col: string, order: 'asc' | 'desc'): boolean {
93
- const sortOrder = this.getOrderForColumn(col)
94
- return sortOrder === order
95
- }
96
-
97
- isChecked(record: CatalogRecord) {
98
- if (this.selectedRecords.includes(record.uniqueIdentifier)) {
99
- return true
100
- }
101
- return false
102
- }
103
-
104
- handleRecordSelectedChange(selected: boolean, record: CatalogRecord) {
105
- if (!selected) {
106
- this.recordsDeselect.emit([record])
107
- this.selectedRecords = this.selectedRecords.filter(
108
- (val) => val !== record.uniqueIdentifier
109
- )
110
- } else {
111
- this.recordsSelect.emit([record])
112
- this.selectedRecords.push(record.uniqueIdentifier)
113
- }
114
- }
115
-
116
- selectAll() {
117
- if (this.isAllSelected()) {
118
- this.recordsDeselect.emit(this.records)
119
- this.selectedRecords = []
120
- } else {
121
- this.recordsSelect.emit(this.records)
122
- this.selectedRecords = this.records.map((record) => {
123
- return record.uniqueIdentifier
124
- })
125
- }
126
- }
127
-
128
- isAllSelected(): boolean {
129
- if (this.selectedRecords.length === this.records.length) {
130
- const allRecords = this.records.filter((record) =>
131
- this.selectedRecords.includes(record.uniqueIdentifier)
132
- )
133
- if (allRecords.length === this.records.length) {
134
- return true
135
- }
136
- }
137
- return false
138
- }
139
-
140
- isSomeSelected(): boolean {
141
- if (
142
- this.selectedRecords.length > 0 &&
143
- this.selectedRecords.length < this.records.length
144
- ) {
145
- return true
146
- }
147
- return false
148
- }
149
- }
@@ -1,26 +0,0 @@
1
- import { TranslateLoader } from '@ngx-translate/core'
2
- import { Observable, of as observableOf } from 'rxjs'
3
- import { Translations, LanguageTranslations } from './translations.model'
4
-
5
- // IMPORTANT:
6
- // This was copy-pasted from https://github.com/mwootendev/ngx-translate-plugins/blob/7c6c73c7d16c9519a7bafff939d29fd8ea5e574a/projects/testing/src/lib/test-translate-loader.service.ts
7
- // because the original package was expecting rxjs 7+ as a peer dep and that was conflicting with many other dependencies
8
- // FIXME: when rxjs 7 can be used in the project, remove this and do `npm install ngx-translate-testing --save-dev`
9
-
10
- export class TestTranslateLoader extends TranslateLoader {
11
- constructor(private _translations: Translations = {}) {
12
- super()
13
- }
14
-
15
- /**
16
- * Returns an {Observable} of translations for the specified language. If the
17
- * language is not recognized, an empty translations object will be returned.
18
- *
19
- * @param language the language for which the translations should be retrieved.
20
- * @returns the translations for the specified
21
- * language or an empty set of translations if the language is not recognized.
22
- */
23
- public getTranslation(language: string): Observable<LanguageTranslations> {
24
- return observableOf(this._translations[language] || {})
25
- }
26
- }