geonetwork-ui 2.3.0-dev.139106e0 → 2.3.0-dev.287bf00c

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 (166) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.mjs +1 -1
  2. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +12 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +36 -3
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +19 -7
  5. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  6. package/esm2022/libs/common/domain/src/lib/model/record/user-feedbacks.model.mjs +2 -0
  7. package/esm2022/libs/common/domain/src/lib/model/user/index.mjs +2 -0
  8. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  9. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +53 -2
  10. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +64 -0
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +15 -0
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +20 -6
  13. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  14. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +16 -1
  15. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +1 -1
  16. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  17. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  18. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +4 -4
  19. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -2
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +22 -4
  21. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +37 -10
  22. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +22 -7
  23. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +52 -17
  24. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +18 -3
  25. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +2 -2
  26. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +2 -2
  27. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +34 -7
  28. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -2
  29. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +59 -0
  30. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +62 -0
  31. package/esm2022/libs/ui/inputs/src/index.mjs +15 -15
  32. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +22 -0
  33. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +7 -5
  34. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +17 -8
  35. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +27 -4
  36. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +19 -3
  37. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +11 -9
  38. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -2
  39. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +22 -1
  40. package/esm2022/translations/de.json +26 -0
  41. package/esm2022/translations/en.json +26 -0
  42. package/esm2022/translations/es.json +26 -0
  43. package/esm2022/translations/fr.json +26 -0
  44. package/esm2022/translations/it.json +26 -0
  45. package/esm2022/translations/nl.json +26 -0
  46. package/esm2022/translations/pt.json +26 -0
  47. package/fesm2022/geonetwork-ui.mjs +1436 -717
  48. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  49. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts +1 -0
  50. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts.map +1 -1
  51. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts +1 -0
  52. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts.map +1 -1
  53. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +6 -2
  54. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  55. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -6
  56. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  57. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  58. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  59. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts +15 -0
  60. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts.map +1 -0
  61. package/libs/common/domain/src/lib/model/user/index.d.ts +2 -0
  62. package/libs/common/domain/src/lib/model/user/index.d.ts.map +1 -0
  63. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -0
  64. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  65. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
  66. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  67. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +39 -0
  68. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -0
  69. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +8 -0
  70. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -0
  71. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +4 -1
  72. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  73. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  74. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  75. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  76. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +40 -6
  77. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  78. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +24 -4
  79. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  80. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +14 -4
  81. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  82. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +8 -5
  83. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  84. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +12 -9
  85. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  86. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  87. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +4 -2
  88. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  89. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +16 -14
  90. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  91. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +11 -0
  92. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +1 -0
  93. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +22 -0
  94. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -0
  95. package/libs/ui/inputs/src/index.d.ts +14 -14
  96. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  97. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +9 -0
  98. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -0
  99. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +1 -1
  100. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  101. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +1 -1
  102. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  103. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +7 -1
  104. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  105. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +4 -1
  106. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  107. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  108. package/libs/util/shared/src/lib/links/link-utils.d.ts +18 -0
  109. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  110. package/package.json +1 -1
  111. package/src/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.ts +1 -0
  112. package/src/libs/api/repository/src/lib/gn4/auth/gravatar.service.ts +12 -1
  113. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +51 -1
  114. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +34 -7
  115. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  116. package/src/libs/common/domain/src/lib/model/record/user-feedbacks.model.ts +15 -0
  117. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -0
  118. package/src/libs/common/fixtures/src/index.ts +8 -6
  119. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
  120. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +83 -0
  121. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +68 -1
  122. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +0 -0
  123. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +8 -0
  124. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +64 -0
  125. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css +0 -0
  126. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +4 -0
  127. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +15 -0
  128. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +33 -33
  129. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +16 -0
  130. package/src/libs/feature/editor/src/lib/fields.config.ts +15 -0
  131. package/src/libs/feature/record/src/lib/feature-record.module.ts +5 -2
  132. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
  133. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +51 -6
  134. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +82 -7
  135. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +49 -8
  136. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +81 -24
  137. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +40 -10
  138. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  139. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +1 -1
  140. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +40 -4
  141. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +5 -0
  142. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +54 -0
  143. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.css +0 -0
  144. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +75 -0
  145. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +63 -0
  146. package/src/libs/ui/inputs/src/index.ts +14 -14
  147. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +3 -0
  148. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +11 -0
  149. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +16 -0
  150. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +8 -1
  151. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +13 -0
  152. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
  153. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +29 -0
  154. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +1 -1
  155. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +16 -1
  156. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +2 -2
  157. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +1 -1
  158. package/src/libs/util/shared/src/lib/links/link-utils.ts +21 -0
  159. package/translations/de.json +26 -0
  160. package/translations/en.json +26 -0
  161. package/translations/es.json +26 -0
  162. package/translations/fr.json +26 -0
  163. package/translations/it.json +26 -0
  164. package/translations/nl.json +26 -0
  165. package/translations/pt.json +26 -0
  166. package/translations/sk.json +26 -0
@@ -14,7 +14,7 @@ export declare class DownloadsListComponent {
14
14
  isFilterActive(filter: FilterFormat): boolean;
15
15
  getFilterFormatTitle(format: FilterFormat): any;
16
16
  isLinkOfFormat(link: DatasetDistribution, format: FilterFormat): boolean;
17
- getLinkFormat(link: DatasetDistribution): "json" | "pdf" | "geojson" | "svg" | "csv" | "excel" | "shp" | "gml" | "kml" | "gpkg" | "zip" | "jpg" | "dxf";
17
+ getLinkFormat(link: DatasetDistribution): "json" | "html" | "pdf" | "geojson" | "svg" | "csv" | "excel" | "shp" | "gml" | "kml" | "gpkg" | "zip" | "jpg" | "dxf" | "fgb" | "jsonfg";
18
18
  getLinkColor(link: DatasetDistribution): string;
19
19
  isFromWfs(link: DatasetDistribution): boolean;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<DownloadsListComponent, never>;
@@ -7,9 +7,9 @@ export declare class RecordApiFormComponent {
7
7
  limit$: BehaviorSubject<string>;
8
8
  format$: BehaviorSubject<string>;
9
9
  apiBaseUrl: string;
10
- formatsList: {
11
- label: string;
10
+ outputFormats: {
12
11
  value: string;
12
+ label: string;
13
13
  }[];
14
14
  apiQueryUrl$: import("rxjs").Observable<any>;
15
15
  noLimitChecked$: import("rxjs").Observable<boolean>;
@@ -18,6 +18,8 @@ export declare class RecordApiFormComponent {
18
18
  setLimit(value: string): void;
19
19
  setFormat(value: string | unknown): void;
20
20
  resetUrl(): void;
21
+ parseOutputFormats(): void;
22
+ getOutputFormats(url: any): Promise<import("@camptocamp/ogc-client").OgcApiCollectionInfo>;
21
23
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordApiFormComponent, never>;
22
24
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordApiFormComponent, "gn-ui-record-api-form", never, { "apiLink": { "alias": "apiLink"; "required": false; }; }, {}, never, never, false, never>;
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"record-api-form.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAA;AACtG,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;;AAO1D,qBAMa,sBAAsB;IACjC,IAAa,OAAO,CAAC,KAAK,EAAE,0BAA0B,EAGrD;IACD,OAAO,0BAA0B;IACjC,MAAM,0BAA0B;IAChC,OAAO,0BAA0B;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW;;;QAGV;IACD,YAAY,iCAiBX;IACD,eAAe,qCAEd;IAED,aAAa,oCAEZ;IAED,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC,QAAQ;yCApDG,sBAAsB;2CAAtB,sBAAsB;CAyDlC"}
1
+ {"version":3,"file":"record-api-form.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAA;AAEtG,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;;AAO1D,qBAMa,sBAAsB;IACjC,IAAa,OAAO,CAAC,KAAK,EAAE,0BAA0B,EAKrD;IACD,OAAO,0BAA0B;IACjC,MAAM,0BAA0B;IAChC,OAAO,0BAA0B;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa;;;QAAqC;IAClD,YAAY,iCAiBX;IACD,eAAe,qCAEd;IAED,aAAa,oCAEZ;IAED,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC,QAAQ;IAMR,kBAAkB;IA6BZ,gBAAgB,CAAC,GAAG,KAAA;yCAtFf,sBAAsB;2CAAtB,sBAAsB;CA2FlC"}
@@ -18,22 +18,24 @@ import * as i16 from "./metadata-info/linkify.directive";
18
18
  import * as i17 from "./pagination-buttons/pagination-buttons.component";
19
19
  import * as i18 from "./max-lines/max-lines.component";
20
20
  import * as i19 from "./record-api-form/record-api-form.component";
21
- import * as i20 from "./image-overlay-preview/image-overlay-preview.component";
22
- import * as i21 from "@angular/common";
23
- import * as i22 from "@angular/material/icon";
24
- import * as i23 from "@angular/material/tooltip";
25
- import * as i24 from "../../../widgets/src/lib/ui-widgets.module";
26
- import * as i25 from "../../../layout/src/lib/ui-layout.module";
27
- import * as i26 from "@ngx-translate/core";
28
- import * as i27 from "../../../../util/shared/src/lib/util-shared.module";
29
- import * as i28 from "@angular/router";
30
- import * as i29 from "../../../inputs/src/lib/ui-inputs.module";
31
- import * as i30 from "@angular/forms";
32
- import * as i31 from "./markdown-parser/markdown-parser.component";
33
- import * as i32 from "./thumbnail/thumbnail.component";
21
+ import * as i20 from "./user-feedback-item/user-feedback-item.component";
22
+ import * as i21 from "./image-overlay-preview/image-overlay-preview.component";
23
+ import * as i22 from "@angular/common";
24
+ import * as i23 from "@angular/material/icon";
25
+ import * as i24 from "@angular/material/tooltip";
26
+ import * as i25 from "../../../widgets/src/lib/ui-widgets.module";
27
+ import * as i26 from "../../../layout/src/lib/ui-layout.module";
28
+ import * as i27 from "@ngx-translate/core";
29
+ import * as i28 from "../../../../util/shared/src/lib/util-shared.module";
30
+ import * as i29 from "@angular/router";
31
+ import * as i30 from "../../../inputs/src/lib/ui-inputs.module";
32
+ import * as i31 from "@angular/forms";
33
+ import * as i32 from "./markdown-parser/markdown-parser.component";
34
+ import * as i33 from "./thumbnail/thumbnail.component";
35
+ import * as i34 from "./user-feedback-item/time-since.pipe";
34
36
  export declare class UiElementsModule {
35
37
  static ɵfac: i0.ɵɵFactoryDeclaration<UiElementsModule, never>;
36
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiElementsModule, [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.LinkCardComponent, typeof i7.RelatedRecordCardComponent, typeof i8.MetadataContactComponent, typeof i9.MetadataCatalogComponent, typeof i10.MetadataQualityComponent, typeof i11.MetadataQualityItemComponent, typeof i12.SearchResultsErrorComponent, typeof i13.PaginationComponent, typeof i14.AvatarComponent, typeof i15.UserPreviewComponent, typeof i16.GnUiLinkifyDirective, typeof i17.PaginationButtonsComponent, typeof i18.MaxLinesComponent, typeof i19.RecordApiFormComponent, typeof i20.ImageOverlayPreviewComponent], [typeof i21.CommonModule, typeof i22.MatIconModule, typeof i23.MatTooltipModule, typeof i24.UiWidgetsModule, typeof i25.UiLayoutModule, typeof i26.TranslateModule, typeof i27.UtilSharedModule, typeof i28.RouterModule, typeof i29.UiInputsModule, typeof i30.FormsModule, typeof i21.NgOptimizedImage, typeof i31.MarkdownParserComponent, typeof i32.ThumbnailComponent], [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.LinkCardComponent, typeof i7.RelatedRecordCardComponent, typeof i8.MetadataContactComponent, typeof i9.MetadataCatalogComponent, typeof i10.MetadataQualityComponent, typeof i11.MetadataQualityItemComponent, typeof i12.SearchResultsErrorComponent, typeof i13.PaginationComponent, typeof i32.ThumbnailComponent, typeof i14.AvatarComponent, typeof i15.UserPreviewComponent, typeof i17.PaginationButtonsComponent, typeof i18.MaxLinesComponent, typeof i19.RecordApiFormComponent, typeof i31.MarkdownParserComponent, typeof i20.ImageOverlayPreviewComponent]>;
38
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiElementsModule, [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.LinkCardComponent, typeof i7.RelatedRecordCardComponent, typeof i8.MetadataContactComponent, typeof i9.MetadataCatalogComponent, typeof i10.MetadataQualityComponent, typeof i11.MetadataQualityItemComponent, typeof i12.SearchResultsErrorComponent, typeof i13.PaginationComponent, typeof i14.AvatarComponent, typeof i15.UserPreviewComponent, typeof i16.GnUiLinkifyDirective, typeof i17.PaginationButtonsComponent, typeof i18.MaxLinesComponent, typeof i19.RecordApiFormComponent, typeof i20.UserFeedbackItemComponent, typeof i21.ImageOverlayPreviewComponent], [typeof i22.CommonModule, typeof i23.MatIconModule, typeof i24.MatTooltipModule, typeof i25.UiWidgetsModule, typeof i26.UiLayoutModule, typeof i27.TranslateModule, typeof i28.UtilSharedModule, typeof i29.RouterModule, typeof i30.UiInputsModule, typeof i31.FormsModule, typeof i22.NgOptimizedImage, typeof i32.MarkdownParserComponent, typeof i33.ThumbnailComponent, typeof i34.TimeSincePipe], [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.LinkCardComponent, typeof i7.RelatedRecordCardComponent, typeof i8.MetadataContactComponent, typeof i9.MetadataCatalogComponent, typeof i10.MetadataQualityComponent, typeof i11.MetadataQualityItemComponent, typeof i12.SearchResultsErrorComponent, typeof i13.PaginationComponent, typeof i33.ThumbnailComponent, typeof i14.AvatarComponent, typeof i15.UserPreviewComponent, typeof i17.PaginationButtonsComponent, typeof i18.MaxLinesComponent, typeof i19.RecordApiFormComponent, typeof i32.MarkdownParserComponent, typeof i20.UserFeedbackItemComponent, typeof i21.ImageOverlayPreviewComponent]>;
37
39
  static ɵinj: i0.ɵɵInjectorDeclaration<UiElementsModule>;
38
40
  }
39
41
  //# sourceMappingURL=ui-elements.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-elements.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/elements/src/lib/ui-elements.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,qBA8Da,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAG"}
1
+ {"version":3,"file":"ui-elements.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/elements/src/lib/ui-elements.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,qBAiEa,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAG"}
@@ -0,0 +1,11 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TimeSincePipe implements PipeTransform {
5
+ private translate;
6
+ constructor(translate: TranslateService);
7
+ transform(value: Date): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimeSincePipe, never>;
9
+ static ɵpipe: i0.ɵɵPipeDeclaration<TimeSincePipe, "timeSince", true>;
10
+ }
11
+ //# sourceMappingURL=time-since.pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-since.pipe.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAItD,qBAIa,aAAc,YAAW,aAAa;IACrC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAE/C,SAAS,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;yCAHnB,aAAa;uCAAb,aAAa;CA4CzB"}
@@ -0,0 +1,22 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { UserFeedback, UserFeedbackViewModel } from '../../../../../../libs/common/domain/src/lib/model/record';
3
+ import { UserModel } from '../../../../../../libs/common/domain/src/lib/model/user';
4
+ import * as i0 from "@angular/core";
5
+ export declare class UserFeedbackItemComponent implements OnInit {
6
+ userFeedbackParent: UserFeedbackViewModel;
7
+ userFeedBacksAnswers: UserFeedbackViewModel[];
8
+ isActiveUserEditor: boolean;
9
+ activeUser: UserModel;
10
+ isLastComment: boolean;
11
+ isAddUserFeedbackLoading: boolean;
12
+ newUserFeedbackAnswer: EventEmitter<UserFeedback>;
13
+ isAnAnswer: boolean;
14
+ newAnswer: string;
15
+ isAnswerEmpty: boolean;
16
+ ngOnInit(): void;
17
+ onNewAnswerValueChange(): void;
18
+ publishNewAnswer(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserFeedbackItemComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserFeedbackItemComponent, "gn-ui-user-feedback-item", never, { "userFeedbackParent": { "alias": "userFeedbackParent"; "required": false; }; "userFeedBacksAnswers": { "alias": "userFeedBacksAnswers"; "required": false; }; "isActiveUserEditor": { "alias": "isActiveUserEditor"; "required": false; }; "activeUser": { "alias": "activeUser"; "required": false; }; "isLastComment": { "alias": "isLastComment"; "required": false; }; "isAddUserFeedbackLoading": { "alias": "isAddUserFeedbackLoading"; "required": false; }; }, { "newUserFeedbackAnswer": "newUserFeedbackAnswer"; }, never, never, false, never>;
21
+ }
22
+ //# sourceMappingURL=user-feedback-item.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-feedback-item.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,MAAM,EAEP,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACtB,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAA;;AAEnF,qBAMa,yBAA0B,YAAW,MAAM;IAC7C,kBAAkB,EAAE,qBAAqB,CAAA;IACzC,oBAAoB,EAAE,qBAAqB,EAAE,CAAA;IAC7C,kBAAkB,EAAE,OAAO,CAAA;IAC3B,UAAU,EAAE,SAAS,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,wBAAwB,EAAE,OAAO,CAAA;IAEhC,qBAAqB,6BAAmC;IAElE,UAAU,UAAQ;IAClB,SAAS,SAAK;IACd,aAAa,UAAO;IAEpB,QAAQ,IAAI,IAAI;IAIhB,sBAAsB;IAItB,gBAAgB;yCAtBL,yBAAyB;2CAAzB,yBAAyB;CA0CrC"}
@@ -1,22 +1,22 @@
1
- export * from './lib/dropdown-selector/dropdown-selector.component';
2
- export * from './lib/dropdown-selector/dropdown-selector.model';
3
- export * from './lib/dropdown-multiselect/dropdown-multiselect.component';
4
- export * from './lib/dropdown-multiselect/dropdown-multiselect.model';
5
- export * from './lib/text-input/text-input.component';
6
- export * from './lib/chips-input/chips-input.component';
7
- export * from './lib/text-area/text-area.component';
8
1
  export * from './lib/autocomplete/autocomplete.component';
9
- export * from './lib/star-toggle/star-toggle.component';
10
2
  export * from './lib/button/button.component';
11
- export * from './lib/viewport-intersector/viewport-intersector.component';
12
3
  export * from './lib/check-toggle/check-toggle.component';
13
- export * from './lib/ui-inputs.module';
4
+ export * from './lib/checkbox/checkbox.component';
5
+ export * from './lib/chips-input/chips-input.component';
14
6
  export * from './lib/copy-text-button/copy-text-button.component';
7
+ export * from './lib/date-picker/date-picker.component';
8
+ export * from './lib/date-range-picker/date-range-picker.component';
15
9
  export * from './lib/drag-and-drop-file-input/drag-and-drop-file-input.component';
10
+ export * from './lib/dropdown-multiselect/dropdown-multiselect.component';
11
+ export * from './lib/dropdown-multiselect/dropdown-multiselect.model';
12
+ export * from './lib/dropdown-selector/dropdown-selector.component';
13
+ export * from './lib/dropdown-selector/dropdown-selector.model';
14
+ export * from './lib/editable-label/editable-label.directive';
16
15
  export * from './lib/navigation-button/navigation-button.component';
17
- export * from './lib/viewport-intersector/viewport-intersector.component';
18
- export * from './lib/checkbox/checkbox.component';
19
16
  export * from './lib/search-input/search-input.component';
20
- export * from './lib/date-range-picker/date-range-picker.component';
21
- export * from './lib/editable-label/editable-label.directive';
17
+ export * from './lib/star-toggle/star-toggle.component';
18
+ export * from './lib/text-area/text-area.component';
19
+ export * from './lib/text-input/text-input.component';
20
+ export * from './lib/ui-inputs.module';
21
+ export * from './lib/viewport-intersector/viewport-intersector.component';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/inputs/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qDAAqD,CAAA;AACnE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,2DAA2D,CAAA;AACzE,cAAc,uDAAuD,CAAA;AACrE,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,qCAAqC,CAAA;AACnD,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2DAA2D,CAAA;AACzE,cAAc,2CAA2C,CAAA;AACzD,cAAc,wBAAwB,CAAA;AACtC,cAAc,mDAAmD,CAAA;AACjE,cAAc,mEAAmE,CAAA;AACjF,cAAc,qDAAqD,CAAA;AACnE,cAAc,2DAA2D,CAAA;AACzE,cAAc,mCAAmC,CAAA;AACjD,cAAc,2CAA2C,CAAA;AACzD,cAAc,qDAAqD,CAAA;AACnE,cAAc,+CAA+C,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,+BAA+B,CAAA;AAC7C,cAAc,2CAA2C,CAAA;AACzD,cAAc,mCAAmC,CAAA;AACjD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mDAAmD,CAAA;AACjE,cAAc,yCAAyC,CAAA;AACvD,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,qDAAqD,CAAA;AACnE,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,qCAAqC,CAAA;AACnD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,2DAA2D,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DatePickerComponent {
4
+ date: Date;
5
+ dateChange: EventEmitter<Date>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent, "gn-ui-date-picker", never, { "date": { "alias": "date"; "required": false; }; }, { "dateChange": "dateChange"; }, never, never, true, never>;
8
+ }
9
+ //# sourceMappingURL=date-picker.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAA;;AAKtE,qBAOa,mBAAmB;IACrB,IAAI,EAAE,IAAI,CAAA;IACT,UAAU,qBAA2B;yCAFpC,mBAAmB;2CAAnB,mBAAmB;CAG/B"}
@@ -6,6 +6,6 @@ export declare class DateRangePickerComponent {
6
6
  startDateSelected(event: MatDatepickerInputEvent<Date>): void;
7
7
  endDateSelected(event: MatDatepickerInputEvent<Date>): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerComponent, "gn-ui-date-range-picker", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerComponent, "gn-ui-date-range-picker", never, {}, {}, never, never, true, never>;
10
10
  }
11
11
  //# sourceMappingURL=date-range-picker.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;;AAEtE,qBAKa,wBAAwB;IACnC,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,IAAI,CAAA;IAEb,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC;IAItD,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC;yCARzC,wBAAwB;2CAAxB,wBAAwB;CAWpC"}
1
+ {"version":3,"file":"date-range-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EAExB,MAAM,8BAA8B,CAAA;;AAGrC,qBAOa,wBAAwB;IACnC,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,IAAI,CAAA;IAEb,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC;IAItD,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC;yCARzC,wBAAwB;2CAAxB,wBAAwB;CAWpC"}
@@ -35,6 +35,6 @@ export declare class DropdownSelectorComponent implements OnInit {
35
35
  get focusedIndex(): number | -1;
36
36
  selectIfEnter(event: KeyboardEvent, choice: DropdownChoice): void;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSelectorComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownSelectorComponent, "gn-ui-dropdown-selector", never, { "title": { "alias": "title"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "ariaName": { "alias": "ariaName"; "required": false; }; "choices": { "alias": "choices"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "extraBtnClass": { "alias": "extraBtnClass"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; }, { "selectValue": "selectValue"; }, never, never, false, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownSelectorComponent, "gn-ui-dropdown-selector", never, { "title": { "alias": "title"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "ariaName": { "alias": "ariaName"; "required": false; }; "choices": { "alias": "choices"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "extraBtnClass": { "alias": "extraBtnClass"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; }, { "selectValue": "selectValue"; }, never, never, true, never>;
39
39
  }
40
40
  //# sourceMappingURL=dropdown-selector.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-selector.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAEZ,MAAM,EAEN,SAAS,EAGV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;;AAI1D,qBAMa,yBAA0B,YAAW,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,UAAO;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,SAAK;IAClB,QAAQ,SAAK;IACZ,WAAW,wBAA8C;IACvC,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAC5D,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IAED,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAEnC,IAAI,cAAc,IAAI,cAAc,CAKnC;IAED,IAAI,EAAE,WAEL;IAED,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,IAAI;IAOhB,UAAU,CAAC,MAAM,EAAE,cAAc;IAIjC,aAAa,CAAC,MAAM,EAAE,cAAc;IAMpC,WAAW;IAcX,YAAY;IAIZ,cAAc;IAId,aAAa;IAIP,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAuB/C,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAczC,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B,IAAI,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC,CAM9B;IAED,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc;yCAlJ/C,yBAAyB;2CAAzB,yBAAyB;CAwJrC"}
1
+ {"version":3,"file":"dropdown-selector.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAEZ,MAAM,EAEN,SAAS,EAGV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;;AAQ1D,qBAca,yBAA0B,YAAW,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,UAAO;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,SAAK;IAClB,QAAQ,SAAK;IACZ,WAAW,wBAA8C;IACvC,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAC5D,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IAED,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAEnC,IAAI,cAAc,IAAI,cAAc,CAKnC;IAED,IAAI,EAAE,WAEL;IAED,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,IAAI;IAOhB,UAAU,CAAC,MAAM,EAAE,cAAc;IAIjC,aAAa,CAAC,MAAM,EAAE,cAAc;IAMpC,WAAW;IAcX,YAAY;IAIZ,cAAc;IAId,aAAa;IAIP,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAuB/C,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAczC,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B,IAAI,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC,CAM9B;IAED,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc;yCAlJ/C,yBAAyB;2CAAzB,yBAAyB;CAwJrC"}
@@ -2,16 +2,22 @@ import { AfterViewInit } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TextAreaComponent implements AfterViewInit {
5
+ private readonly baseClasses;
6
+ private readonly disabledClasses;
5
7
  value: string;
8
+ disabled: boolean;
9
+ extraClass: string;
6
10
  placeholder: string;
7
11
  required: boolean;
8
12
  rawChange: Subject<string>;
9
13
  valueChange: import("rxjs").Observable<string>;
10
14
  input: any;
15
+ constructor();
16
+ get classList(): string;
11
17
  ngAfterViewInit(): void;
12
18
  checkRequired(value: any): void;
13
19
  handleChange($event: any): void;
14
20
  static ɵfac: i0.ɵɵFactoryDeclaration<TextAreaComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "gn-ui-text-area", never, { "value": { "alias": "value"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "gn-ui-text-area", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
16
22
  }
17
23
  //# sourceMappingURL=text-area.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/text-area/text-area.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAKd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAG9B,qBAMa,iBAAkB,YAAW,aAAa;IAC5C,KAAK,SAAK;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,UAAQ;IAEzB,SAAS,kBAAwB;IACvB,WAAW,oCAA8C;IAE/C,KAAK,MAAA;IAEzB,eAAe;IAIf,aAAa,CAAC,KAAK,KAAA;IAOnB,YAAY,CAAC,MAAM,KAAA;yCArBR,iBAAiB;2CAAjB,iBAAiB;CA0B7B"}
1
+ {"version":3,"file":"text-area.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/text-area/text-area.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAKd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAG9B,qBAMa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAE/B,KAAK,SAAK;IACV,QAAQ,UAAQ;IAChB,UAAU,SAAK;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,UAAQ;IAEzB,SAAS,kBAAwB;IACvB,WAAW,oCAA8C;IAE/C,KAAK,MAAA;;IAoBzB,IAAI,SAAS,WAIZ;IAED,eAAe;IAIf,aAAa,CAAC,KAAK,KAAA;IAOnB,YAAY,CAAC,MAAM,KAAA;yCAlDR,iBAAiB;2CAAjB,iBAAiB;CAuD7B"}
@@ -2,16 +2,19 @@ import { AfterViewInit } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TextInputComponent implements AfterViewInit {
5
+ private readonly baseClass;
5
6
  value: string;
7
+ extraClass: string;
6
8
  hint: string;
7
9
  required: boolean;
8
10
  rawChange: Subject<string>;
9
11
  valueChange: import("rxjs").Observable<string>;
10
12
  input: any;
13
+ get classList(): string;
11
14
  ngAfterViewInit(): void;
12
15
  checkRequired(value: any): void;
13
16
  handleChange($event: any): void;
14
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TextInputComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "gn-ui-text-input", never, { "value": { "alias": "value"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "gn-ui-text-input", never, { "value": { "alias": "value"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
16
19
  }
17
20
  //# sourceMappingURL=text-input.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/text-input/text-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAKd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAE9B,qBAKa,kBAAmB,YAAW,aAAa;IAC7C,KAAK,SAAK;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,UAAQ;IACzB,SAAS,kBAAwB;IACvB,WAAW,oCAA8C;IAE/C,KAAK,MAAA;IAEzB,eAAe;IAIf,aAAa,CAAC,KAAK,KAAA;IAOnB,YAAY,CAAC,MAAM,KAAA;yCApBR,kBAAkB;2CAAlB,kBAAkB;CAyB9B"}
1
+ {"version":3,"file":"text-input.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/text-input/text-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAKd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAE9B,qBAKa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CASf;IAEF,KAAK,SAAK;IACV,UAAU,SAAK;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,UAAQ;IACzB,SAAS,kBAAwB;IACvB,WAAW,oCAA8C;IAC/C,KAAK,MAAA;IAEzB,IAAI,SAAS,WAEZ;IAED,eAAe;IAIf,aAAa,CAAC,KAAK,KAAA;IAOnB,YAAY,CAAC,MAAM,KAAA;yCAnCR,kBAAkB;2CAAlB,kBAAkB;CAwC9B"}
@@ -1,41 +1,41 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./dropdown-selector/dropdown-selector.component";
3
- import * as i2 from "./autocomplete/autocomplete.component";
4
- import * as i3 from "./text-input/text-input.component";
5
- import * as i4 from "./drag-and-drop-file-input/drag-and-drop-file-input.component";
6
- import * as i5 from "./chips-input/chips-input.component";
7
- import * as i6 from "./navigation-button/navigation-button.component";
8
- import * as i7 from "./star-toggle/star-toggle.component";
9
- import * as i8 from "./dropdown-multiselect/dropdown-multiselect.component";
10
- import * as i9 from "./viewport-intersector/viewport-intersector.component";
11
- import * as i10 from "./check-toggle/check-toggle.component";
12
- import * as i11 from "./copy-text-button/copy-text-button.component";
13
- import * as i12 from "./checkbox/checkbox.component";
14
- import * as i13 from "./search-input/search-input.component";
15
- import * as i14 from "./date-range-picker/date-range-picker.component";
16
- import * as i15 from "@angular/common";
17
- import * as i16 from "@ngx-translate/core";
18
- import * as i17 from "ngx-dropzone";
19
- import * as i18 from "@angular/forms";
20
- import * as i19 from "ngx-chips";
21
- import * as i20 from "../../../../util/shared/src/lib/util-shared.module";
22
- import * as i21 from "@angular/material/autocomplete";
23
- import * as i22 from "@angular/material/icon";
24
- import * as i23 from "../../../widgets/src/lib/ui-widgets.module";
25
- import * as i24 from "@angular/cdk/overlay";
26
- import * as i25 from "@angular/material/checkbox";
27
- import * as i26 from "@angular/material/tooltip";
28
- import * as i27 from "@angular/material/form-field";
29
- import * as i28 from "@angular/material/input";
30
- import * as i29 from "@angular/material/datepicker";
31
- import * as i30 from "@angular/material/core";
32
- import * as i31 from "./editable-label/editable-label.directive";
33
- import * as i32 from "./text-area/text-area.component";
34
- import * as i33 from "./button/button.component";
35
- import * as i34 from "./image-input/image-input.component";
2
+ import * as i1 from "./autocomplete/autocomplete.component";
3
+ import * as i2 from "./text-input/text-input.component";
4
+ import * as i3 from "./drag-and-drop-file-input/drag-and-drop-file-input.component";
5
+ import * as i4 from "./chips-input/chips-input.component";
6
+ import * as i5 from "./navigation-button/navigation-button.component";
7
+ import * as i6 from "./star-toggle/star-toggle.component";
8
+ import * as i7 from "./dropdown-multiselect/dropdown-multiselect.component";
9
+ import * as i8 from "./viewport-intersector/viewport-intersector.component";
10
+ import * as i9 from "./check-toggle/check-toggle.component";
11
+ import * as i10 from "./copy-text-button/copy-text-button.component";
12
+ import * as i11 from "./checkbox/checkbox.component";
13
+ import * as i12 from "./search-input/search-input.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 "@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 "@angular/material/autocomplete";
21
+ import * as i20 from "@angular/material/icon";
22
+ import * as i21 from "../../../widgets/src/lib/ui-widgets.module";
23
+ import * as i22 from "@angular/cdk/overlay";
24
+ import * as i23 from "@angular/material/checkbox";
25
+ import * as i24 from "@angular/material/tooltip";
26
+ import * as i25 from "@angular/material/form-field";
27
+ import * as i26 from "@angular/material/input";
28
+ import * as i27 from "@angular/material/datepicker";
29
+ import * as i28 from "@angular/material/core";
30
+ import * as i29 from "./editable-label/editable-label.directive";
31
+ import * as i30 from "./text-area/text-area.component";
32
+ import * as i31 from "./button/button.component";
33
+ import * as i32 from "./image-input/image-input.component";
34
+ import * as i33 from "./dropdown-selector/dropdown-selector.component";
35
+ import * as i34 from "./date-range-picker/date-range-picker.component";
36
36
  export declare class UiInputsModule {
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<UiInputsModule, never>;
38
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.DropdownSelectorComponent, typeof i2.AutocompleteComponent, typeof i3.TextInputComponent, typeof i4.DragAndDropFileInputComponent, typeof i5.ChipsInputComponent, typeof i6.NavigationButtonComponent, typeof i7.StarToggleComponent, typeof i8.DropdownMultiselectComponent, typeof i9.ViewportIntersectorComponent, typeof i10.CheckToggleComponent, typeof i11.CopyTextButtonComponent, typeof i12.CheckboxComponent, typeof i13.SearchInputComponent, typeof i14.DateRangePickerComponent], [typeof i15.CommonModule, typeof i16.TranslateModule, typeof i17.NgxDropzoneModule, typeof i18.FormsModule, typeof i18.ReactiveFormsModule, typeof i19.TagInputModule, typeof i20.UtilSharedModule, typeof i21.MatAutocompleteModule, typeof i22.MatIconModule, typeof i23.UiWidgetsModule, typeof i24.OverlayModule, typeof i25.MatCheckboxModule, typeof i26.MatTooltipModule, typeof i27.MatFormFieldModule, typeof i28.MatInputModule, typeof i29.MatDatepickerModule, typeof i30.MatNativeDateModule, typeof i31.EditableLabelDirective, typeof i32.TextAreaComponent, typeof i33.ButtonComponent, typeof i34.ImageInputComponent], [typeof i1.DropdownSelectorComponent, typeof i2.AutocompleteComponent, typeof i33.ButtonComponent, typeof i3.TextInputComponent, typeof i4.DragAndDropFileInputComponent, typeof i32.TextAreaComponent, typeof i5.ChipsInputComponent, typeof i6.NavigationButtonComponent, typeof i7.StarToggleComponent, typeof i8.DropdownMultiselectComponent, typeof i9.ViewportIntersectorComponent, typeof i10.CheckToggleComponent, typeof i11.CopyTextButtonComponent, typeof i12.CheckboxComponent, typeof i13.SearchInputComponent, typeof i14.DateRangePickerComponent, typeof i31.EditableLabelDirective, typeof i34.ImageInputComponent]>;
38
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.AutocompleteComponent, typeof i2.TextInputComponent, typeof i3.DragAndDropFileInputComponent, typeof i4.ChipsInputComponent, typeof i5.NavigationButtonComponent, typeof i6.StarToggleComponent, typeof i7.DropdownMultiselectComponent, typeof i8.ViewportIntersectorComponent, typeof i9.CheckToggleComponent, typeof i10.CopyTextButtonComponent, typeof i11.CheckboxComponent, typeof i12.SearchInputComponent], [typeof i13.CommonModule, typeof i14.TranslateModule, typeof i15.NgxDropzoneModule, typeof i16.FormsModule, typeof i16.ReactiveFormsModule, typeof i17.TagInputModule, typeof i18.UtilSharedModule, typeof i19.MatAutocompleteModule, typeof i20.MatIconModule, typeof i21.UiWidgetsModule, typeof i22.OverlayModule, typeof i23.MatCheckboxModule, typeof i24.MatTooltipModule, typeof i25.MatFormFieldModule, typeof i26.MatInputModule, typeof i27.MatDatepickerModule, typeof i28.MatNativeDateModule, typeof i29.EditableLabelDirective, typeof i30.TextAreaComponent, typeof i31.ButtonComponent, typeof i32.ImageInputComponent, typeof i33.DropdownSelectorComponent, typeof i34.DateRangePickerComponent], [typeof i33.DropdownSelectorComponent, typeof i1.AutocompleteComponent, typeof i31.ButtonComponent, typeof i2.TextInputComponent, typeof i3.DragAndDropFileInputComponent, typeof i30.TextAreaComponent, typeof i4.ChipsInputComponent, typeof i5.NavigationButtonComponent, typeof i6.StarToggleComponent, typeof i7.DropdownMultiselectComponent, typeof i8.ViewportIntersectorComponent, typeof i9.CheckToggleComponent, typeof i10.CopyTextButtonComponent, typeof i11.CheckboxComponent, typeof i12.SearchInputComponent, typeof i34.DateRangePickerComponent, typeof i29.EditableLabelDirective, typeof i32.ImageInputComponent]>;
39
39
  static ɵinj: i0.ɵɵInjectorDeclaration<UiInputsModule>;
40
40
  }
41
41
  //# sourceMappingURL=ui-inputs.module.d.ts.map
@@ -78,6 +78,24 @@ export declare const FORMATS: {
78
78
  readonly color: "#de630b";
79
79
  readonly mimeTypes: readonly ["application/x-dxf", "image/x-dxf"];
80
80
  };
81
+ readonly html: {
82
+ readonly extensions: readonly ["html", "htm"];
83
+ readonly priority: 12;
84
+ readonly color: "#f2bb3a";
85
+ readonly mimeTypes: readonly ["text/html"];
86
+ };
87
+ readonly fgb: {
88
+ readonly extensions: readonly ["fgb", "flatgeobuf"];
89
+ readonly priority: 13;
90
+ readonly color: "#f2bb3a";
91
+ readonly mimeTypes: readonly ["application/flatgeobuf"];
92
+ };
93
+ readonly jsonfg: {
94
+ readonly extensions: readonly ["jsonfg", "jsonfgc"];
95
+ readonly priority: 14;
96
+ readonly color: "#f2bb3a";
97
+ readonly mimeTypes: readonly ["application/vnd.ogc.fg+json", "application/vnd.ogc.fg+json;compatibility=geojson"];
98
+ };
81
99
  };
82
100
  export type FileFormat = keyof typeof FORMATS;
83
101
  export declare function getFormatPriority(linkFormat: FileFormat): number;
@@ -1 +1 @@
1
- {"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAA;AAI/F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,CAcnE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA0B9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
1
+ {"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAA;AAI/F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,CAcnE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA0B9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.3.0-dev.139106e0",
3
+ "version": "2.3.0-dev.287bf00c",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -3,4 +3,5 @@ import { Observable } from 'rxjs'
3
3
  export abstract class AvatarServiceInterface {
4
4
  public abstract getPlaceholder(): Observable<string>
5
5
  public abstract getProfileIcon(...args): Observable<string>
6
+ public abstract getProfileIconUrl(userId: string): Promise<string>
6
7
  }
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'
2
2
  import { AvatarServiceInterface } from './avatar.service.interface'
3
3
  import { Gn4SettingsService } from '../settings/gn4-settings.service'
4
4
  import { map } from 'rxjs/operators'
5
- import { Observable } from 'rxjs'
5
+ import { firstValueFrom, Observable } from 'rxjs'
6
6
 
7
7
  @Injectable({
8
8
  providedIn: 'root',
@@ -14,6 +14,7 @@ export class GravatarService implements AvatarServiceInterface {
14
14
  private readonly identicon$ = this.gn4SettingsService.identicon$.pipe(
15
15
  map((identicon) => identicon?.replace('gravatar:', ''))
16
16
  )
17
+
17
18
  constructor(private gn4SettingsService: Gn4SettingsService) {}
18
19
 
19
20
  getPlaceholder(): Observable<string> {
@@ -26,4 +27,14 @@ export class GravatarService implements AvatarServiceInterface {
26
27
  map((identicon) => `${this.GRAVATAR_URL}${hash}?d=${identicon}`)
27
28
  )
28
29
  }
30
+
31
+ async getProfileIconUrl(userId: string) {
32
+ let iconUrl = ''
33
+ try {
34
+ iconUrl = await firstValueFrom(this.getProfileIcon(userId))
35
+ } catch (error) {
36
+ return ''
37
+ }
38
+ return iconUrl
39
+ }
29
40
  }
@@ -1,17 +1,23 @@
1
1
  import {
2
2
  MeResponseApiModel,
3
3
  UserApiModel,
4
+ UserFeedbackDTOApiModel,
4
5
  } from '../../../../../../../libs/data-access/gn4/src'
5
6
  import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
6
7
  import { Injectable } from '@angular/core'
7
- import { AvatarServiceInterface } from '../auth/avatar.service.interface'
8
+ import { AvatarServiceInterface } from '../auth'
8
9
  import { map } from 'rxjs/operators'
9
10
  import { Observable, of } from 'rxjs'
10
11
  import { ThesaurusModel } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus/thesaurus.model'
12
+ import {
13
+ UserFeedback,
14
+ UserFeedbackViewModel,
15
+ } from '../../../../../../../libs/common/domain/src/lib/model/record'
11
16
 
12
17
  @Injectable()
13
18
  export class Gn4PlatformMapper {
14
19
  constructor(private avatarService: AvatarServiceInterface) {}
20
+
15
21
  userFromMeApi(apiUser: MeResponseApiModel): Observable<UserModel | null> {
16
22
  if (!apiUser) return of(null)
17
23
  const {
@@ -28,6 +34,7 @@ export class Gn4PlatformMapper {
28
34
  .getProfileIcon(hash)
29
35
  .pipe(map((profileIcon) => ({ ...user, profileIcon } as UserModel)))
30
36
  }
37
+
31
38
  userFromApi(apiUser: UserApiModel): UserModel {
32
39
  if (!apiUser) return null
33
40
  const {
@@ -65,4 +72,47 @@ export class Gn4PlatformMapper {
65
72
  }
66
73
  })
67
74
  }
75
+
76
+ userFeedbacksFromApi(userFeedback: any): UserFeedback {
77
+ return {
78
+ uuid: userFeedback.uuid,
79
+ metadataUUID: userFeedback.metadataUUID,
80
+ comment: userFeedback.comment,
81
+ authorUserId: userFeedback.authorUserId.toString(),
82
+ authorName: userFeedback.authorName,
83
+ authorEmail: userFeedback.authorEmail,
84
+ published: userFeedback.published,
85
+ parentUuid: userFeedback.parentUuid ?? undefined,
86
+ date: new Date(userFeedback.date),
87
+ }
88
+ }
89
+
90
+ userFeedbacksToApi(
91
+ userFeedback: UserFeedback
92
+ ): Partial<UserFeedbackDTOApiModel> {
93
+ return {
94
+ uuid: userFeedback.uuid,
95
+ metadataUUID: userFeedback.metadataUUID,
96
+ comment: userFeedback.comment,
97
+ authorUserId: Number.parseInt(userFeedback.authorUserId),
98
+ authorName: userFeedback.authorName,
99
+ authorEmail: userFeedback.authorEmail,
100
+ published: userFeedback.published,
101
+ parentUuid: userFeedback.parentUuid,
102
+ date: userFeedback.date.getTime().toString(),
103
+ }
104
+ }
105
+
106
+ async createUserFeedbackViewModel(
107
+ baseUserFeedback: UserFeedback
108
+ ): Promise<UserFeedbackViewModel> {
109
+ const userAvatarUrl = await this.avatarService.getProfileIconUrl(
110
+ baseUserFeedback.authorUserId?.toString()
111
+ )
112
+
113
+ return {
114
+ ...baseUserFeedback,
115
+ avatarUrl: userAvatarUrl,
116
+ }
117
+ }
68
118
  }