geonetwork-ui 2.4.0-dev.f6f2f023 → 2.4.0-dev.fe59f179

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 (211) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +10 -1
  2. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +2 -2
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -5
  6. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  8. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  9. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  10. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  11. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
  12. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  13. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  14. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -6
  15. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
  16. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +7 -4
  17. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +16 -44
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +2 -2
  20. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -4
  21. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
  22. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
  23. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  24. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  25. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
  26. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
  27. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  28. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +7 -4
  29. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  30. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
  31. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  32. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  33. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
  34. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
  35. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
  36. package/esm2022/libs/ui/elements/src/index.mjs +1 -2
  37. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
  38. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +2 -3
  39. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
  40. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +1 -6
  41. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +59 -26
  42. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
  43. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  44. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  45. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
  46. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  47. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
  48. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +5 -3
  49. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +1 -6
  50. package/esm2022/translations/de.json +27 -4
  51. package/esm2022/translations/en.json +30 -4
  52. package/esm2022/translations/es.json +27 -4
  53. package/esm2022/translations/fr.json +31 -5
  54. package/esm2022/translations/it.json +27 -4
  55. package/esm2022/translations/nl.json +27 -4
  56. package/esm2022/translations/pt.json +27 -4
  57. package/fesm2022/geonetwork-ui.mjs +774 -525
  58. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  59. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  60. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  61. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  62. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  63. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -1
  64. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  65. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  66. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  67. package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
  68. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  69. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -0
  70. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  71. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  72. package/libs/feature/catalog/src/index.d.ts +1 -0
  73. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  74. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  75. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  76. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  77. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  78. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  79. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  80. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  81. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +14 -24
  82. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  83. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  84. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  85. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  86. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  87. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  88. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  89. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  90. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  91. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  92. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  93. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  94. package/libs/feature/search/src/index.d.ts +1 -1
  95. package/libs/feature/search/src/index.d.ts.map +1 -1
  96. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  97. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  98. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  99. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
  100. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  101. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  102. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  103. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  104. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  105. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  106. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
  107. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  108. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  109. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  110. package/libs/ui/elements/src/index.d.ts +0 -1
  111. package/libs/ui/elements/src/index.d.ts.map +1 -1
  112. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  113. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  114. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  115. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  116. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +18 -19
  117. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  118. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
  119. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  120. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -36
  121. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  122. package/libs/ui/layout/src/index.d.ts +1 -0
  123. package/libs/ui/layout/src/index.d.ts.map +1 -1
  124. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  125. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  126. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  127. package/libs/ui/search/src/index.d.ts +1 -0
  128. package/libs/ui/search/src/index.d.ts.map +1 -1
  129. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
  130. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  131. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  132. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  133. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -11
  134. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +14 -0
  137. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  138. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  139. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
  140. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +26 -15
  141. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  142. package/src/libs/common/domain/src/lib/platform.service.interface.ts +5 -1
  143. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +3 -0
  144. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
  145. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
  146. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  147. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  148. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  149. package/src/libs/feature/catalog/src/index.ts +1 -0
  150. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
  151. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  152. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  153. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  154. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  155. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  156. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +2 -3
  157. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +23 -63
  158. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  159. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
  160. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  161. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  162. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  163. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
  164. package/src/libs/feature/search/src/index.ts +1 -1
  165. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  166. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  167. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
  168. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
  169. package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
  170. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  171. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  172. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  173. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
  174. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  175. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  176. package/src/libs/ui/elements/src/index.ts +0 -1
  177. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  178. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  179. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  180. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  181. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -3
  182. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  183. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  184. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
  185. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  186. package/src/libs/ui/layout/src/index.ts +1 -0
  187. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  188. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  189. package/src/libs/ui/search/src/index.ts +1 -0
  190. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  191. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +8 -8
  192. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
  193. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  194. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -3
  195. package/translations/de.json +27 -4
  196. package/translations/en.json +30 -4
  197. package/translations/es.json +27 -4
  198. package/translations/fr.json +31 -5
  199. package/translations/it.json +27 -4
  200. package/translations/nl.json +27 -4
  201. package/translations/pt.json +27 -4
  202. package/translations/sk.json +28 -5
  203. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
  204. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  205. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
  206. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  207. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  208. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -171
  209. /package/src/libs/feature/search/src/lib/results-table/{results-table.component.css → results-table-container.component.css} +0 -0
  210. /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.css +0 -0
  211. /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +0 -0
@@ -0,0 +1,120 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { getBadgeColor, getFileFormat, getFormatPriority, } from '../../../../../../libs/util/shared/src';
3
+ import { BadgeComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src';
4
+ import { InteractiveTableColumnComponent, InteractiveTableComponent, } from '../../../../../../libs/ui/layout/src';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "../../../../inputs/src/lib/checkbox/checkbox.component";
11
+ import * as i3 from "../../../../inputs/src/lib/badge/badge.component";
12
+ import * as i4 from "@angular/material/icon";
13
+ import * as i5 from "@ngx-translate/core";
14
+ export class ResultsTableComponent {
15
+ constructor() {
16
+ this.records = [];
17
+ this.selectedRecordsIdentifiers = [];
18
+ this.sortOrder = null;
19
+ this.recordHasDraft = () => false;
20
+ // emits the column (field) as well as the order
21
+ this.sortByChange = new EventEmitter();
22
+ this.recordClick = new EventEmitter();
23
+ this.recordsSelectedChange = new EventEmitter();
24
+ }
25
+ dateToString(date) {
26
+ return date?.toLocaleDateString(undefined, {
27
+ year: 'numeric',
28
+ month: 'long',
29
+ day: 'numeric',
30
+ timeZone: 'UTC',
31
+ });
32
+ }
33
+ getStatus(isPublishedToAll) {
34
+ return isPublishedToAll ? 'published' : 'not published';
35
+ }
36
+ getRecordFormats(record) {
37
+ if (record.kind === 'service' || !('distributions' in record)) {
38
+ return [];
39
+ }
40
+ const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
41
+ formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
42
+ return formats;
43
+ }
44
+ formatUserInfo(userInfo) {
45
+ const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
46
+ if (infos && infos.length === 4) {
47
+ return `${infos[2]} ${infos[1]}`;
48
+ }
49
+ return undefined;
50
+ }
51
+ getBadgeColor(format) {
52
+ return getBadgeColor(format);
53
+ }
54
+ handleRecordClick(item) {
55
+ this.recordClick.emit(item);
56
+ }
57
+ setSortBy(col, order) {
58
+ this.sortByChange.emit([col, order]);
59
+ }
60
+ isSortedBy(col) {
61
+ if (!this.sortOrder) {
62
+ return null;
63
+ }
64
+ const sortArray = Array.isArray(this.sortOrder[0])
65
+ ? this.sortOrder
66
+ : [this.sortOrder];
67
+ for (const sort of sortArray) {
68
+ if (sort[1] === col) {
69
+ return sort[0];
70
+ }
71
+ }
72
+ return null;
73
+ }
74
+ isChecked(record) {
75
+ return this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier);
76
+ }
77
+ handleRecordSelectedChange(selected, record) {
78
+ this.recordsSelectedChange.emit([[record], selected]);
79
+ }
80
+ async toggleSelectAll() {
81
+ this.recordsSelectedChange.emit([this.records, !this.isAllSelected()]);
82
+ }
83
+ isAllSelected() {
84
+ return this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
85
+ }
86
+ isSomeSelected() {
87
+ const allSelected = this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
88
+ const someSelected = this.records.some((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
89
+ return !allSelected && someSelected;
90
+ }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i2.CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: i3.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
97
+ CommonModule,
98
+ UiInputsModule,
99
+ InteractiveTableComponent,
100
+ InteractiveTableColumnComponent,
101
+ MatIconModule,
102
+ TranslateModule,
103
+ BadgeComponent,
104
+ ], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
105
+ }], propDecorators: { records: [{
106
+ type: Input
107
+ }], selectedRecordsIdentifiers: [{
108
+ type: Input
109
+ }], sortOrder: [{
110
+ type: Input
111
+ }], recordHasDraft: [{
112
+ type: Input
113
+ }], sortByChange: [{
114
+ type: Output
115
+ }], recordClick: [{
116
+ type: Output
117
+ }], recordsSelectedChange: [{
118
+ type: Output
119
+ }] } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRFLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckYsT0FBTyxFQUNMLCtCQUErQixFQUMvQix5QkFBeUIsR0FDMUIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7OztBQXFCOUMsTUFBTSxPQUFPLHFCQUFxQjtJQWZsQztRQWdCVyxZQUFPLEdBQW9CLEVBQUUsQ0FBQTtRQUM3QiwrQkFBMEIsR0FBYSxFQUFFLENBQUE7UUFDekMsY0FBUyxHQUFnQixJQUFJLENBQUE7UUFDN0IsbUJBQWMsR0FBdUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO1FBRXpFLGdEQUFnRDtRQUN0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFBO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7UUFDL0MsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBRS9DLENBQUE7S0EwRko7SUF4RkMsWUFBWSxDQUFDLElBQVU7UUFDckIsT0FBTyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFO1lBQ3pDLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE1BQU07WUFDYixHQUFHLEVBQUUsU0FBUztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsZ0JBQW1DO1FBQzNDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFBO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFxQjtRQUNwQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLEVBQUU7WUFDN0QsT0FBTyxFQUFFLENBQUE7U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3hCLElBQUksR0FBRyxDQUNMLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDeEUsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25FLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBMEI7UUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZFLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7U0FDakM7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWtCO1FBQzlCLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFhO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQXFCLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFxQjtRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBeUI7WUFDakMsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBaUIsQ0FBQTtRQUNyQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ2Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFxQjtRQUM3QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELDBCQUEwQixDQUFDLFFBQWlCLEVBQUUsTUFBcUI7UUFDakUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQ2xFLENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FDbEUsQ0FBQTtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FDbEUsQ0FBQTtRQUNELE9BQU8sQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFBO0lBQ3JDLENBQUM7K0dBcEdVLHFCQUFxQjttR0FBckIscUJBQXFCLDBWQ3BDbEMsNmhJQTJIQSx5RERoR0ksWUFBWSxrSUFDWixjQUFjLGdVQUNkLHlCQUF5QiwrR0FDekIsK0JBQStCLCtJQUMvQixhQUFhLG1MQUNiLGVBQWU7OzRGQUlOLHFCQUFxQjtrQkFmakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCx5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7cUJBQ2Y7OEJBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBGaWxlRm9ybWF0LFxuICBnZXRCYWRnZUNvbG9yLFxuICBnZXRGaWxlRm9ybWF0LFxuICBnZXRGb3JtYXRQcmlvcml0eSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCwgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQge1xuICBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICBJbnRlcmFjdGl2ZVRhYmxlQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBGaWVsZFNvcnQsXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlc3VsdHMtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQsXG4gICAgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c1RhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVjb3JkczogQ2F0YWxvZ1JlY29yZFtdID0gW11cbiAgQElucHV0KCkgc2VsZWN0ZWRSZWNvcmRzSWRlbnRpZmllcnM6IHN0cmluZ1tdID0gW11cbiAgQElucHV0KCkgc29ydE9yZGVyOiBTb3J0QnlGaWVsZCA9IG51bGxcbiAgQElucHV0KCkgcmVjb3JkSGFzRHJhZnQ6IChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZVxuXG4gIC8vIGVtaXRzIHRoZSBjb2x1bW4gKGZpZWxkKSBhcyB3ZWxsIGFzIHRoZSBvcmRlclxuICBAT3V0cHV0KCkgc29ydEJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxbc3RyaW5nLCAnYXNjJyB8ICdkZXNjJ10+KClcbiAgQE91dHB1dCgpIHJlY29yZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG4gIEBPdXRwdXQoKSByZWNvcmRzU2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFtDYXRhbG9nUmVjb3JkW10sIGJvb2xlYW5dXG4gID4oKVxuXG4gIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwge1xuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgdGltZVpvbmU6ICdVVEMnLFxuICAgIH0pXG4gIH1cblxuICBnZXRTdGF0dXMoaXNQdWJsaXNoZWRUb0FsbDogYm9vbGVhbiB8IHVua25vd24pIHtcbiAgICByZXR1cm4gaXNQdWJsaXNoZWRUb0FsbCA/ICdwdWJsaXNoZWQnIDogJ25vdCBwdWJsaXNoZWQnXG4gIH1cblxuICBnZXRSZWNvcmRGb3JtYXRzKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IEZpbGVGb3JtYXRbXSB7XG4gICAgaWYgKHJlY29yZC5raW5kID09PSAnc2VydmljZScgfHwgISgnZGlzdHJpYnV0aW9ucycgaW4gcmVjb3JkKSkge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdHMgPSBBcnJheS5mcm9tKFxuICAgICAgbmV3IFNldChcbiAgICAgICAgcmVjb3JkLmRpc3RyaWJ1dGlvbnMubWFwKChkaXN0cmlidXRpb24pID0+IGdldEZpbGVGb3JtYXQoZGlzdHJpYnV0aW9uKSlcbiAgICAgIClcbiAgICApLmZpbHRlcigoZm9ybWF0KSA9PiAhIWZvcm1hdClcbiAgICBmb3JtYXRzLnNvcnQoKGEsIGIpID0+IGdldEZvcm1hdFByaW9yaXR5KGIpIC0gZ2V0Rm9ybWF0UHJpb3JpdHkoYSkpXG4gICAgcmV0dXJuIGZvcm1hdHNcbiAgfVxuXG4gIGZvcm1hdFVzZXJJbmZvKHVzZXJJbmZvOiBzdHJpbmcgfCB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbmZvcyA9ICh0eXBlb2YgdXNlckluZm8gPT09ICdzdHJpbmcnID8gdXNlckluZm8gOiAnJykuc3BsaXQoJ3wnKVxuICAgIGlmIChpbmZvcyAmJiBpbmZvcy5sZW5ndGggPT09IDQpIHtcbiAgICAgIHJldHVybiBgJHtpbmZvc1syXX0gJHtpbmZvc1sxXX1gXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldEJhZGdlQ29sb3IoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihmb3JtYXQpXG4gIH1cblxuICBoYW5kbGVSZWNvcmRDbGljayhpdGVtOiB1bmtub3duKSB7XG4gICAgdGhpcy5yZWNvcmRDbGljay5lbWl0KGl0ZW0gYXMgQ2F0YWxvZ1JlY29yZClcbiAgfVxuXG4gIHNldFNvcnRCeShjb2w6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5zb3J0QnlDaGFuZ2UuZW1pdChbY29sLCBvcmRlcl0pXG4gIH1cblxuICBpc1NvcnRlZEJ5KGNvbDogc3RyaW5nKTogJ2Rlc2MnIHwgJ2FzYycgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuc29ydE9yZGVyKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBzb3J0QXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMuc29ydE9yZGVyWzBdKVxuICAgICAgPyAodGhpcy5zb3J0T3JkZXIgYXMgRmllbGRTb3J0W10pXG4gICAgICA6IChbdGhpcy5zb3J0T3JkZXJdIGFzIEZpZWxkU29ydFtdKVxuICAgIGZvciAoY29uc3Qgc29ydCBvZiBzb3J0QXJyYXkpIHtcbiAgICAgIGlmIChzb3J0WzFdID09PSBjb2wpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRbMF1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGlzQ2hlY2tlZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgfVxuXG4gIGhhbmRsZVJlY29yZFNlbGVjdGVkQ2hhbmdlKHNlbGVjdGVkOiBib29sZWFuLCByZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnJlY29yZHNTZWxlY3RlZENoYW5nZS5lbWl0KFtbcmVjb3JkXSwgc2VsZWN0ZWRdKVxuICB9XG5cbiAgYXN5bmMgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgIHRoaXMucmVjb3Jkc1NlbGVjdGVkQ2hhbmdlLmVtaXQoW3RoaXMucmVjb3JkcywgIXRoaXMuaXNBbGxTZWxlY3RlZCgpXSlcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gIH1cblxuICBpc1NvbWVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gICAgY29uc3Qgc29tZVNlbGVjdGVkID0gdGhpcy5yZWNvcmRzLnNvbWUoKHJlY29yZCkgPT5cbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRzSWRlbnRpZmllcnMuaW5jbHVkZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gICAgKVxuICAgIHJldHVybiAhYWxsU2VsZWN0ZWQgJiYgc29tZVNlbGVjdGVkXG4gIH1cbn1cbiIsIjxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZVxuICBbaXRlbXNdPVwicmVjb3Jkc1wiXG4gIChpdGVtQ2xpY2spPVwiaGFuZGxlUmVjb3JkQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDwhLS0gU0VMRUNURUQgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPGduLXVpLWNoZWNrYm94XG4gICAgICAgIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzU29tZVNlbGVjdGVkKClcIlxuICAgICAgICAoY2hhbmdlZCk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiXG4gICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgY2xhc3M9XCItbS0yIG1yLTNcIlxuICAgICAgPlxuICAgICAgPC9nbi11aS1jaGVja2JveD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxnbi11aS1jaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQoaXRlbSlcIlxuICAgICAgICAoY2hhbmdlZCk9XCJoYW5kbGVSZWNvcmRTZWxlY3RlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCItbS0yXCJcbiAgICAgICAgdHlwZT1cImRlZmF1bHRcIlxuICAgICAgPjwvZ24tdWktY2hlY2tib3g+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBUSVRMRSBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVzb3VyY2VUaXRsZU9iamVjdC5kZWZhdWx0LmtleXdvcmQnKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQua2V5d29yZCcsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnRpdGxlPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yIG1heC13LWZ1bGxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpc1wiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxnbi11aS1iYWRnZVxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkSGFzRHJhZnQoaXRlbSlcIlxuICAgICAgICAgIFtzdHlsZS4tLWduLXVpLWJhZGdlLXBhZGRpbmddPVwiJzAuNGVtIDAuNmVtJ1wiXG4gICAgICAgICAgW3N0eWxlLi0tZ24tdWktYmFkZ2UtdGV4dC1jb2xvcl09XCInIzNkMjAwNidcIlxuICAgICAgICAgIFtzdHlsZS4tLWduLXVpLWJhZGdlLWJhY2tncm91bmQtY29sb3JdPVwiJyNmZmJjN2InXCJcbiAgICAgICAgICBbc3R5bGUuLS1nbi11aS1iYWRnZS1yb3VuZGVkXT1cIic0cHgnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5kYXNoYm9hcmQucmVjb3Jkcy5oYXNEcmFmdDwvc3Bhbj5cbiAgICAgICAgPC9nbi11aS1iYWRnZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gRk9STUFUUyBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmZvcm1hdHM8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICpuZ0lmPVwiZ2V0UmVjb3JkRm9ybWF0cyhpdGVtKSBhcyBmb3JtYXRzXCJcbiAgICAgICAgW3RpdGxlXT1cImZvcm1hdHMuam9pbignLCAnKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIHNocmluay0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKGZvcm1hdHNbMF0pXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMF1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZm9ybWF0c1swXSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIHNocmluay0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKGZvcm1hdHNbMV0pXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMV1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZm9ybWF0c1sxXSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaHJpbmstMFwiICpuZ0lmPVwiZm9ybWF0cy5zbGljZSgyKS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPHNwYW4+K3t7IGZvcm1hdHMuc2xpY2UoMikubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFnZXRSZWNvcmRGb3JtYXRzKGl0ZW0pXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBPV05FUiBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVjb3JkT3duZXInKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdyZWNvcmRPd25lcicsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmF1dGhvcjwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5wZXJzb248L21hdC1pY29uPlxuICAgICAgPHNwYW4+e3sgZm9ybWF0VXNlckluZm8oaXRlbS5leHRyYXM/Lm93bmVySW5mbykgfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBTVEFUVVMgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5zdGF0dXM8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICB7eyBpdGVtLnN0YXR1cyB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gVVBEQVRFIERBVEUgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uXG4gICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgIFthY3RpdmVTb3J0XT1cImlzU29ydGVkQnkoJ2NoYW5nZURhdGUnKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdjaGFuZ2VEYXRlJywgJGV2ZW50KVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudXBkYXRlZE9uPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAge3sgZGF0ZVRvU3RyaW5nKGl0ZW0ucmVjb3JkVXBkYXRlZCkgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cbjwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGU+XG4iXX0=
@@ -1,4 +1,6 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatIconModule } from '@angular/material/icon';
2
4
  import * as i0 from "@angular/core";
3
5
  import * as i1 from "@angular/common";
4
6
  import * as i2 from "@angular/material/icon";
@@ -32,11 +34,11 @@ export class PopupAlertComponent {
32
34
  }, this.showDuration);
33
35
  }
34
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupAlertComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: { icon: "icon", type: "type", position: "position" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopupAlertComponent, isStandalone: true, selector: "gn-ui-popup-alert", inputs: { icon: "icon", type: "type", position: "position" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
38
  }
37
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupAlertComponent, decorators: [{
38
40
  type: Component,
39
- args: [{ selector: 'gn-ui-popup-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"] }]
41
+ args: [{ selector: 'gn-ui-popup-alert', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule], template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"] }]
40
42
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { icon: [{
41
43
  type: Input
42
44
  }], type: [{
@@ -47,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
49
  type: ViewChild,
48
50
  args: ['content']
49
51
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvcG9wdXAtYWxlcnQvcG9wdXAtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvcG9wdXAtYWxlcnQvcG9wdXAtYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBOzs7O0FBUXRCLE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBTjVDLFNBQUksR0FBa0MsTUFBTSxDQUFBO1FBQzVDLGFBQVEsR0FBcUIsS0FBSyxDQUFBO1FBRTNDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsWUFBTyxHQUFHLElBQUksQ0FBQTtJQUUwQyxDQUFDO0lBRXpELElBQUksWUFBWTtRQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUE7UUFDekQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ25DLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ25DLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDckMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN2QixDQUFDOytHQWpDVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwyTkNoQmhDLHV2QkF1QkE7OzRGRFBhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNnQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1wb3B1cC1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLWFsZXJ0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvcHVwQWxlcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmdcbiAgQElucHV0KCkgdHlwZTogJ2RhbmdlcicgfCAnd2FybmluZycgfCAnaW5mbycgPSAnaW5mbydcbiAgQElucHV0KCkgcG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgPSAndG9wJ1xuICBAVmlld0NoaWxkKCdjb250ZW50JykgY29udGVudDogRWxlbWVudFJlZlxuICBleHBhbmRlZCA9IGZhbHNlXG4gIHRpbWVvdXQgPSBudWxsXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0IHNob3dEdXJhdGlvbigpIHtcbiAgICBjb25zdCBjaGFycyA9IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTC5sZW5ndGhcbiAgICByZXR1cm4gTWF0aC5tYXgoMzAwMCwgY2hhcnMgKiAyMClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZXhwYW5kQW5kQ2xvc2UoKVxuICB9XG5cbiAgZXhwYW5kKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KVxuICB9XG5cbiAgZXhwYW5kQW5kQ2xvc2UoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHRydWVcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpXG4gICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfSwgdGhpcy5zaG93RHVyYXRpb24pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLWZ1bGwgcmVsYXRpdmUgY29udGFpbmVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLWF1dG8gYWJzb2x1dGUgdGV4dC13aGl0ZSBmbGV4IGZsZXgtcm93IHAtMiByb3VuZGVkIG1lc3NhZ2VcIlxuICAgIHJvbGU9XCJhbGVydFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3Bvc2l0aW9uLWJvdHRvbSc6IHBvc2l0aW9uID09PSAnYm90dG9tJyxcbiAgICAgICdwb3NpdGlvbi10b3AnOiBwb3NpdGlvbiA9PT0gJ3RvcCcsXG4gICAgICBleHBhbmRlZDogdGhpcy5leHBhbmRlZCxcbiAgICAgICdiZy1yZWQtNTAwJzogdHlwZSA9PT0gJ2RhbmdlcicsXG4gICAgICAnYmcteWVsbG93LTUwMCc6IHR5cGUgPT09ICd3YXJuaW5nJyxcbiAgICAgICdiZy1ibHVlLTUwMCc6IHR5cGUgPT09ICdpbmZvJ1xuICAgIH1cIlxuICAgIChtb3VzZWVudGVyKT1cImV4cGFuZCgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJleHBhbmRBbmRDbG9zZSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbXItMiBzaHJpbmstMCBzZWxlY3Qtbm9uZVwiPnt7XG4gICAgICBpY29uXG4gICAgfX08L21hdC1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJncm93XCIgI2NvbnRlbnQgW25nQ2xhc3NdPVwieyBpbnZpc2libGU6ICFleHBhbmRlZCB9XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvcG9wdXAtYWxlcnQvcG9wdXAtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvcG9wdXAtYWxlcnQvcG9wdXAtYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7Ozs7QUFVdEQsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFONUMsU0FBSSxHQUFrQyxNQUFNLENBQUE7UUFDNUMsYUFBUSxHQUFxQixLQUFLLENBQUE7UUFFM0MsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixZQUFPLEdBQUcsSUFBSSxDQUFBO0lBRTBDLENBQUM7SUFFekQsSUFBSSxZQUFZO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQTtRQUN6RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDbkMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDbkMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNyQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7K0dBakNVLG1CQUFtQjttR0FBbkIsbUJBQW1CLCtPQ3BCaEMsdXZCQXVCQSxxaEJETFksWUFBWSw0SEFBRSxhQUFhOzs0RkFFMUIsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7d0dBRzdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1wb3B1cC1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLWFsZXJ0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nXG4gIEBJbnB1dCgpIHR5cGU6ICdkYW5nZXInIHwgJ3dhcm5pbmcnIHwgJ2luZm8nID0gJ2luZm8nXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAndG9wJyB8ICdib3R0b20nID0gJ3RvcCdcbiAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnQ6IEVsZW1lbnRSZWZcbiAgZXhwYW5kZWQgPSBmYWxzZVxuICB0aW1lb3V0ID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGdldCBzaG93RHVyYXRpb24oKSB7XG4gICAgY29uc3QgY2hhcnMgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwubGVuZ3RoXG4gICAgcmV0dXJuIE1hdGgubWF4KDMwMDAsIGNoYXJzICogMjApXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV4cGFuZEFuZENsb3NlKClcbiAgfVxuXG4gIGV4cGFuZCgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dClcbiAgfVxuXG4gIGV4cGFuZEFuZENsb3NlKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KVxuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICAgIH0sIHRoaXMuc2hvd0R1cmF0aW9uKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHJlbGF0aXZlIGNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1hdXRvIGFic29sdXRlIHRleHQtd2hpdGUgZmxleCBmbGV4LXJvdyBwLTIgcm91bmRlZCBtZXNzYWdlXCJcbiAgICByb2xlPVwiYWxlcnRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdwb3NpdGlvbi1ib3R0b20nOiBwb3NpdGlvbiA9PT0gJ2JvdHRvbScsXG4gICAgICAncG9zaXRpb24tdG9wJzogcG9zaXRpb24gPT09ICd0b3AnLFxuICAgICAgZXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWQsXG4gICAgICAnYmctcmVkLTUwMCc6IHR5cGUgPT09ICdkYW5nZXInLFxuICAgICAgJ2JnLXllbGxvdy01MDAnOiB0eXBlID09PSAnd2FybmluZycsXG4gICAgICAnYmctYmx1ZS01MDAnOiB0eXBlID09PSAnaW5mbydcbiAgICB9XCJcbiAgICAobW91c2VlbnRlcik9XCJleHBhbmQoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwiZXhwYW5kQW5kQ2xvc2UoKVwiXG4gID5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG1yLTIgc2hyaW5rLTAgc2VsZWN0LW5vbmVcIj57e1xuICAgICAgaWNvblxuICAgIH19PC9tYXQtaWNvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jvd1wiICNjb250ZW50IFtuZ0NsYXNzXT1cInsgaW52aXNpYmxlOiAhZXhwYW5kZWQgfVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -9,7 +9,6 @@ import { TagInputModule } from 'ngx-chips';
9
9
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
10
  import { LoadingMaskComponent } from './loading-mask/loading-mask.component';
11
11
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
12
- import { PopupAlertComponent } from './popup-alert/popup-alert.component';
13
12
  import { MatIconModule } from '@angular/material/icon';
14
13
  import { SpinningLoaderComponent } from './spinning-loader/spinning-loader.component';
15
14
  import { CommonModule } from '@angular/common';
@@ -21,7 +20,6 @@ export class UiWidgetsModule {
21
20
  ProgressBarComponent,
22
21
  StepBarComponent,
23
22
  LoadingMaskComponent,
24
- PopupAlertComponent,
25
23
  SpinningLoaderComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
26
24
  FormsModule,
27
25
  ReactiveFormsModule,
@@ -31,7 +29,6 @@ export class UiWidgetsModule {
31
29
  MatIconModule], exports: [ProgressBarComponent,
32
30
  StepBarComponent,
33
31
  LoadingMaskComponent,
34
- PopupAlertComponent,
35
32
  SpinningLoaderComponent] }); }
36
33
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
37
34
  TranslateModule.forChild(),
@@ -51,7 +48,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
48
  ProgressBarComponent,
52
49
  StepBarComponent,
53
50
  LoadingMaskComponent,
54
- PopupAlertComponent,
55
51
  SpinningLoaderComponent,
56
52
  ],
57
53
  imports: [
@@ -69,9 +65,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
65
  ProgressBarComponent,
70
66
  StepBarComponent,
71
67
  LoadingMaskComponent,
72
- PopupAlertComponent,
73
68
  SpinningLoaderComponent,
74
69
  ],
75
70
  }]
76
71
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktd2lkZ2V0cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjL2xpYi91aS13aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBOEI5QyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBMUJ4QixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLHVCQUF1QixhQUd2QixZQUFZLHNCQUVaLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLGFBQWEsYUFHYixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsdUJBQXVCO2dIQUdkLGVBQWUsWUFsQnhCLFlBQVk7WUFDWixlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLGFBQWE7OzRGQVVKLGVBQWU7a0JBNUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBDb2xvclNjYWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1zY2FsZS9jb2xvci1zY2FsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGVwQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJhci9zdGVwLWJhci5jb21wb25lbnQnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBMb2FkaW5nTWFza0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgUG9wdXBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vcG9wdXAtYWxlcnQvcG9wdXAtYWxlcnQuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBTcGlubmluZ0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc3Bpbm5pbmctbG9hZGVyL3NwaW5uaW5nLWxvYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbG9yU2NhbGVDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgU3RlcEJhckNvbXBvbmVudCxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIFNwaW5uaW5nTG9hZGVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIE5neERyb3B6b25lTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGFnSW5wdXRNb2R1bGUsXG4gICAgVXRpbFNoYXJlZE1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIFN0ZXBCYXJDb21wb25lbnQsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBTcGlubmluZ0xvYWRlckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlXaWRnZXRzTW9kdWxlIHt9XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktd2lkZ2V0cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjL2xpYi91aS13aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBNEI5QyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBeEJ4QixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsdUJBQXVCLGFBR3ZCLFlBQVksc0JBRVosaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIsYUFBYSxhQUdiLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHVCQUF1QjtnSEFHZCxlQUFlLFlBakJ4QixZQUFZO1lBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMxQixpQkFBaUI7WUFDakIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4QixhQUFhOzs0RkFTSixlQUFlO2tCQTFCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBDb2xvclNjYWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1zY2FsZS9jb2xvci1zY2FsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGVwQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJhci9zdGVwLWJhci5jb21wb25lbnQnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBMb2FkaW5nTWFza0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBTcGlubmluZ0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc3Bpbm5pbmctbG9hZGVyL3NwaW5uaW5nLWxvYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbG9yU2NhbGVDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgU3RlcEJhckNvbXBvbmVudCxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBTcGlubmluZ0xvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBTdGVwQmFyQ29tcG9uZW50LFxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICAgIFNwaW5uaW5nTG9hZGVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaVdpZGdldHNNb2R1bGUge31cbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  {
2
+ "Add Layer As": "",
2
3
  "button.login": "",
3
4
  "catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
4
- "catalog.figures.organisations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
5
+ "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
5
6
  "chart.aggregation.average": "Durchschnitt",
6
7
  "chart.aggregation.count": "Anzahl",
7
8
  "chart.aggregation.max": "Maximum",
@@ -17,16 +18,22 @@
17
18
  "chart.type.line": "Liniendiagramm",
18
19
  "chart.type.lineSmooth": "Geglättes Liniendiagramm",
19
20
  "chart.type.pie": "Kreisdiagramm",
21
+ "dashboard.catalog.allRecords": "Metadatenkatalog",
22
+ "dashboard.catalog.calendar": "Kalender",
23
+ "dashboard.catalog.contacts": "Kontakte",
24
+ "dashboard.catalog.discussion": "Diskussion",
25
+ "dashboard.catalog.thesaurus": "Thesaurus",
20
26
  "dashboard.createRecord": "Neuer Eintrag",
27
+ "dashboard.labels.catalog": "Katalog",
21
28
  "dashboard.labels.mySpace": "Mein Bereich",
22
29
  "dashboard.records.all": "Katalog",
23
30
  "dashboard.records.hasDraft": "",
24
31
  "dashboard.records.myDraft": "Meine Entwürfe",
25
32
  "dashboard.records.myLibrary": "Meine Bibliothek",
26
- "dashboard.records.myOrg": "Meine Organisation",
27
33
  "dashboard.records.myRecords": "Meine Datensätze",
28
34
  "dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
29
35
  "dashboard.records.search": "Suche nach \"{searchText}\"",
36
+ "dashboard.records.templates": "Vorlagen",
30
37
  "dashboard.records.userDetail": "Name",
31
38
  "dashboard.records.userEmail": "E-Mail",
32
39
  "dashboard.records.username": "Benutzername",
@@ -98,6 +105,15 @@
98
105
  "datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
99
106
  "datafeeder.upload.uploadButton": "Hochladen",
100
107
  "datafeeder.validation.encoding": "Codierung",
108
+ "datafeeder.validation.csv.delimiter": "",
109
+ "datafeeder.validation.csv.delimiter.comma": "",
110
+ "datafeeder.validation.csv.delimiter.semicolon": "",
111
+ "datafeeder.validation.csv.lat.field": "",
112
+ "datafeeder.validation.csv.lng.field": "",
113
+ "datafeeder.validation.csv.quote.double": "",
114
+ "datafeeder.validation.csv.quote.none": "",
115
+ "datafeeder.validation.csv.quote.simple": "",
116
+ "datafeeder.validation.csv.quoteChar": "",
101
117
  "datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
102
118
  "datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
103
119
  "datafeeder.validation.projection": "Raumbezugssystem:",
@@ -110,7 +126,7 @@
110
126
  "datahub.header.lastRecords": "Die neuesten",
111
127
  "datahub.header.myfavorites": "Meine Favoriten",
112
128
  "datahub.header.news": "Startseite",
113
- "datahub.header.organisations": "Organisationen",
129
+ "datahub.header.organizations": "Organisationen",
114
130
  "datahub.header.popularRecords": "Die beliebtesten",
115
131
  "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
116
132
  "datahub.news.contact.contactus": "Kontaktieren Sie uns",
@@ -146,6 +162,7 @@
146
162
  "downloads.format.unknown": "unbekannt",
147
163
  "downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
148
164
  "dropFile": "Datei ablegen",
165
+ "editor.record.form.keywords": "Schlagwörter",
149
166
  "editor.record.form.license": "Lizenz",
150
167
  "editor.record.form.license.cc-by": "",
151
168
  "editor.record.form.license.cc-by-sa": "",
@@ -245,6 +262,10 @@
245
262
  "organisations.sortBy.nameDesc": "Name Z → A",
246
263
  "organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
247
264
  "organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
265
+ "organization.details.lastPublishedDatasets": "",
266
+ "organization.details.lastPublishedDatasets.searchAllButton": "",
267
+ "organization.details.mailContact": "",
268
+ "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
248
269
  "pagination.nextPage": "Nächste Seite",
249
270
  "pagination.page": "Seite",
250
271
  "pagination.pageOf": "von",
@@ -282,7 +303,7 @@
282
303
  "record.metadata.preview": "Vorschau",
283
304
  "record.metadata.producer": "Datenproduzent",
284
305
  "record.metadata.publication": "Veröffentlichungsdatum",
285
- "record.metadata.publications": "Veröffentlichungen",
306
+ "record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
286
307
  "record.metadata.quality": "Metadatenqualität",
287
308
  "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
288
309
  "record.metadata.quality.contact.success": "Kontakt angegeben",
@@ -342,6 +363,8 @@
342
363
  "results.sortBy.relevancy": "Relevanz",
343
364
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
344
365
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
366
+ "search.error.organizationHasNoDataset": "",
367
+ "search.error.organizationNotFound": "",
345
368
  "search.error.receivedError": "Ein Fehler ist aufgetreten",
346
369
  "search.error.recordHasnolink": "",
347
370
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
@@ -1,7 +1,8 @@
1
1
  {
2
+ "Add Layer As": "",
2
3
  "button.login": "Log in",
3
4
  "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
4
- "catalog.figures.organisations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
5
+ "catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
5
6
  "chart.aggregation.average": "average",
6
7
  "chart.aggregation.count": "count",
7
8
  "chart.aggregation.max": "max",
@@ -17,16 +18,22 @@
17
18
  "chart.type.line": "line chart",
18
19
  "chart.type.lineSmooth": "smooth line chart",
19
20
  "chart.type.pie": "pie chart",
21
+ "dashboard.catalog.allRecords": "Metadata records",
22
+ "dashboard.catalog.calendar": "Calendar",
23
+ "dashboard.catalog.contacts": "Contacts",
24
+ "dashboard.catalog.discussion": "Discussion",
25
+ "dashboard.catalog.thesaurus": "Thesaurus",
20
26
  "dashboard.createRecord": "New record",
27
+ "dashboard.labels.catalog": "Catalog",
21
28
  "dashboard.labels.mySpace": "My space",
22
29
  "dashboard.records.all": "Metadata records",
23
30
  "dashboard.records.hasDraft": "draft",
24
31
  "dashboard.records.myDraft": "My drafts",
25
32
  "dashboard.records.myLibrary": "My library",
26
- "dashboard.records.myOrg": "Organization",
27
33
  "dashboard.records.myRecords": "My Records",
28
34
  "dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
29
35
  "dashboard.records.search": "Search for \"{searchText}\"",
36
+ "dashboard.records.templates": "Templates",
30
37
  "dashboard.records.userDetail": "Name",
31
38
  "dashboard.records.userEmail": "Email",
32
39
  "dashboard.records.username": "Username",
@@ -39,6 +46,8 @@
39
46
  "datafeeder.analysisProgressBar.subtitle": "The analysis may take several minutes, please wait.",
40
47
  "datafeeder.analysisProgressBar.title": "Analyze in progress",
41
48
  "datafeeder.datasetValidation.datasetInformation": "The provided dataset contains {number} entities",
49
+ "datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
50
+ "datafeeder.datasetValidationCsv.explicitLineNumbers": "*The table must display the first 5 lines (excluding the header)<br>If this is not the case, check that the file is correctly formatted",
42
51
  "datafeeder.datasetValidation.submitButton": "OK, my data are correct",
43
52
  "datafeeder.datasetValidation.title": "Make sure your data are correct",
44
53
  "datafeeder.datasetValidation.unknown": " - ",
@@ -69,6 +78,7 @@
69
78
  "datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
70
79
  "datafeeder.publishSuccess.illustration.title": "Done, all is good!",
71
80
  "datafeeder.publishSuccess.mapViewer": "Map viewer",
81
+ "datafeeder.publishSuccess.ogcFeature": "OGC API",
72
82
  "datafeeder.publishSuccess.subtitle": "View your data in:",
73
83
  "datafeeder.publishSuccess.title": "Congratulation! \n Your dataset has been published",
74
84
  "datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
@@ -97,6 +107,15 @@
97
107
  "datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
98
108
  "datafeeder.upload.title": "Upload your dataset",
99
109
  "datafeeder.upload.uploadButton": "Upload",
110
+ "datafeeder.validation.csv.delimiter": "Delimiter",
111
+ "datafeeder.validation.csv.delimiter.comma": "Comma",
112
+ "datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
113
+ "datafeeder.validation.csv.lat.field": "Latitude column",
114
+ "datafeeder.validation.csv.lng.field": "Longitude column",
115
+ "datafeeder.validation.csv.quote.double": "Double quote",
116
+ "datafeeder.validation.csv.quote.none": "None",
117
+ "datafeeder.validation.csv.quote.simple": "Simple quote",
118
+ "datafeeder.validation.csv.quoteChar": "Quote separator",
100
119
  "datafeeder.validation.encoding": "encoding",
101
120
  "datafeeder.validation.extent.title": "Here is the dataset extent",
102
121
  "datafeeder.validation.extent.title.unknown": "The projection system is unknown",
@@ -110,7 +129,7 @@
110
129
  "datahub.header.lastRecords": "The latest",
111
130
  "datahub.header.myfavorites": "My favorites",
112
131
  "datahub.header.news": "Home",
113
- "datahub.header.organisations": "Organisations",
132
+ "datahub.header.organizations": "Organizations",
114
133
  "datahub.header.popularRecords": "The most popular",
115
134
  "datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
116
135
  "datahub.news.contact.contactus": "Contact us",
@@ -146,6 +165,7 @@
146
165
  "downloads.format.unknown": "unknown",
147
166
  "downloads.wfs.featuretype.not.found": "The layer was not found",
148
167
  "dropFile": "drop file",
168
+ "editor.record.form.keywords": "Keywords",
149
169
  "editor.record.form.license": "License",
150
170
  "editor.record.form.license.cc-by": "Creative Commons CC-BY",
151
171
  "editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
@@ -245,6 +265,10 @@
245
265
  "organisations.sortBy.nameDesc": "Name Z → A",
246
266
  "organisations.sortBy.recordCountAsc": "Publications 0 → 9",
247
267
  "organisations.sortBy.recordCountDesc": "Publications 9 → 0",
268
+ "organization.details.lastPublishedDatasets": "Last published datasets",
269
+ "organization.details.lastPublishedDatasets.searchAllButton": "Search all",
270
+ "organization.details.mailContact": "Contact by email",
271
+ "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
248
272
  "pagination.nextPage": "Next page",
249
273
  "pagination.page": "page",
250
274
  "pagination.pageOf": "of",
@@ -282,7 +306,7 @@
282
306
  "record.metadata.preview": "Preview",
283
307
  "record.metadata.producer": "Data producer",
284
308
  "record.metadata.publication": "Date of publication",
285
- "record.metadata.publications": "publications",
309
+ "record.metadata.publications": "{count, plural, =0{publication} one{publication} other{publications}}",
286
310
  "record.metadata.quality": "Metadata Quality",
287
311
  "record.metadata.quality.contact.failed": "Contact is not specified",
288
312
  "record.metadata.quality.contact.success": "Contact is specified",
@@ -342,6 +366,8 @@
342
366
  "results.sortBy.relevancy": "Relevancy",
343
367
  "search.autocomplete.error": "Suggestions could not be fetched:",
344
368
  "search.error.couldNotReachApi": "The API could not be reached",
369
+ "search.error.organizationHasNoDataset": "This organization has no dataset yet.",
370
+ "search.error.organizationNotFound": "This organization could not be found.",
345
371
  "search.error.receivedError": "An error was received",
346
372
  "search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
347
373
  "search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
@@ -1,7 +1,8 @@
1
1
  {
2
+ "Add Layer As": "",
2
3
  "button.login": "",
3
4
  "catalog.figures.datasets": "conjuntos de datos",
4
- "catalog.figures.organisations": "organizaciones",
5
+ "catalog.figures.organizations": "organizaciones",
5
6
  "chart.aggregation.average": "promedio",
6
7
  "chart.aggregation.count": "conteo",
7
8
  "chart.aggregation.max": "máximo",
@@ -17,16 +18,22 @@
17
18
  "chart.type.line": "gráfico de líneas",
18
19
  "chart.type.lineSmooth": "gráfico de líneas suave",
19
20
  "chart.type.pie": "gráfico circular",
21
+ "dashboard.catalog.allRecords": "",
22
+ "dashboard.catalog.calendar": "",
23
+ "dashboard.catalog.contacts": "",
24
+ "dashboard.catalog.discussion": "",
25
+ "dashboard.catalog.thesaurus": "",
20
26
  "dashboard.createRecord": "",
27
+ "dashboard.labels.catalog": "Catálogo",
21
28
  "dashboard.labels.mySpace": "Mi espacio",
22
29
  "dashboard.records.all": "Catálogo",
23
30
  "dashboard.records.hasDraft": "",
24
31
  "dashboard.records.myDraft": "Mis borradores",
25
32
  "dashboard.records.myLibrary": "Mi biblioteca",
26
- "dashboard.records.myOrg": "Organización",
27
33
  "dashboard.records.myRecords": "Mis Registros",
28
34
  "dashboard.records.publishedRecords": "",
29
35
  "dashboard.records.search": "Buscar \"{searchText}\"",
36
+ "dashboard.records.templates": "",
30
37
  "dashboard.records.userDetail": "",
31
38
  "dashboard.records.userEmail": "",
32
39
  "dashboard.records.username": "",
@@ -97,6 +104,15 @@
97
104
  "datafeeder.upload.maxFileSize": "",
98
105
  "datafeeder.upload.title": "",
99
106
  "datafeeder.upload.uploadButton": "",
107
+ "datafeeder.validation.csv.delimiter": "",
108
+ "datafeeder.validation.csv.delimiter.comma": "Coma",
109
+ "datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
110
+ "datafeeder.validation.csv.lat.field": "",
111
+ "datafeeder.validation.csv.lng.field": "",
112
+ "datafeeder.validation.csv.quote.double": "Comillas dobles",
113
+ "datafeeder.validation.csv.quote.none": "Ninguno",
114
+ "datafeeder.validation.csv.quote.simple": "Comillas simples",
115
+ "datafeeder.validation.csv.quoteChar": "",
100
116
  "datafeeder.validation.encoding": "",
101
117
  "datafeeder.validation.extent.title": "",
102
118
  "datafeeder.validation.extent.title.unknown": "",
@@ -110,7 +126,7 @@
110
126
  "datahub.header.lastRecords": "",
111
127
  "datahub.header.myfavorites": "",
112
128
  "datahub.header.news": "",
113
- "datahub.header.organisations": "",
129
+ "datahub.header.organizations": "",
114
130
  "datahub.header.popularRecords": "",
115
131
  "datahub.header.title.html": "",
116
132
  "datahub.news.contact.contactus": "",
@@ -146,6 +162,7 @@
146
162
  "downloads.format.unknown": "",
147
163
  "downloads.wfs.featuretype.not.found": "",
148
164
  "dropFile": "",
165
+ "editor.record.form.keywords": "",
149
166
  "editor.record.form.license": "",
150
167
  "editor.record.form.license.cc-by": "",
151
168
  "editor.record.form.license.cc-by-sa": "",
@@ -245,6 +262,10 @@
245
262
  "organisations.sortBy.nameDesc": "",
246
263
  "organisations.sortBy.recordCountAsc": "",
247
264
  "organisations.sortBy.recordCountDesc": "",
265
+ "organization.details.lastPublishedDatasets": "",
266
+ "organization.details.lastPublishedDatasets.searchAllButton": "",
267
+ "organization.details.mailContact": "",
268
+ "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
248
269
  "pagination.nextPage": "",
249
270
  "pagination.page": "",
250
271
  "pagination.pageOf": "",
@@ -282,7 +303,7 @@
282
303
  "record.metadata.preview": "",
283
304
  "record.metadata.producer": "",
284
305
  "record.metadata.publication": "",
285
- "record.metadata.publications": "",
306
+ "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
286
307
  "record.metadata.quality": "",
287
308
  "record.metadata.quality.contact.failed": "",
288
309
  "record.metadata.quality.contact.success": "",
@@ -342,6 +363,8 @@
342
363
  "results.sortBy.relevancy": "",
343
364
  "search.autocomplete.error": "",
344
365
  "search.error.couldNotReachApi": "",
366
+ "search.error.organizationHasNoDataset": "",
367
+ "search.error.organizationNotFound": "",
345
368
  "search.error.receivedError": "",
346
369
  "search.error.recordHasnolink": "",
347
370
  "search.error.recordNotFound": "",