geonetwork-ui 2.4.0-dev.656babc7 → 2.4.0-dev.81e72b2e
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.
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +2 -2
- package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
- package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
- package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +14 -44
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +64 -50
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +12 -35
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +12 -6
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -4
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
- package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
- package/esm2022/libs/ui/elements/src/index.mjs +1 -2
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +2 -3
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +1 -6
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +59 -26
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
- package/esm2022/libs/ui/layout/src/index.mjs +2 -1
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
- package/esm2022/libs/ui/search/src/index.mjs +2 -1
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
- package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +5 -3
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +1 -6
- package/esm2022/translations/de.json +27 -3
- package/esm2022/translations/en.json +30 -3
- package/esm2022/translations/es.json +27 -3
- package/esm2022/translations/fr.json +31 -4
- package/esm2022/translations/it.json +27 -3
- package/esm2022/translations/nl.json +27 -3
- package/esm2022/translations/pt.json +27 -3
- package/fesm2022/geonetwork-ui.mjs +855 -604
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +3 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
- package/libs/feature/catalog/src/index.d.ts +1 -0
- package/libs/feature/catalog/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +14 -24
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -10
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
- package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +0 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +18 -19
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -36
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +1 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
- package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/search/src/index.d.ts +1 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -11
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +21 -8
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
- package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
- package/src/libs/feature/catalog/src/index.ts +1 -0
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
- package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
- package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +35 -29
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +1 -0
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +2 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +19 -61
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +2 -22
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +11 -44
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +20 -6
- package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
- package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
- package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
- package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
- package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
- package/src/libs/ui/elements/src/index.ts +0 -1
- package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
- package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -3
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/layout/src/index.ts +1 -0
- package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
- package/src/libs/ui/search/src/index.ts +1 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +8 -8
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
- package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -3
- package/translations/de.json +27 -3
- package/translations/en.json +30 -3
- package/translations/es.json +27 -3
- package/translations/fr.json +31 -4
- package/translations/it.json +27 -3
- package/translations/nl.json +27 -3
- package/translations/pt.json +27 -3
- package/translations/sk.json +28 -4
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
- package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -171
- /package/src/libs/feature/search/src/lib/results-table/{results-table.component.css → results-table-container.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.css +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +0 -0
|
@@ -11,6 +11,9 @@ export const getSearchResults = createSelector(getSearchStateSearch, (state) =>
|
|
|
11
11
|
export const getSearchResultsLoading = createSelector(getSearchStateSearch, (state) => state.loadingResults);
|
|
12
12
|
export const getSearchResultsAggregations = createSelector(getSearchStateSearch, (state) => state.results.aggregations);
|
|
13
13
|
export const getSearchResultsHits = createSelector(getSearchStateSearch, (state) => state.results.count);
|
|
14
|
+
export const isBeginningOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
15
|
+
return state.params.currentPage === 0;
|
|
16
|
+
});
|
|
14
17
|
export const isEndOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
15
18
|
return (state.params.currentPage * state.params.pageSize +
|
|
16
19
|
state.params.pageSize >=
|
|
@@ -24,4 +27,4 @@ export const getPageSize = createSelector(getSearchStateSearch, (state) => state
|
|
|
24
27
|
export const getFavoritesOnly = createSelector(getSearchStateSearch, (state) => state.params.favoritesOnly);
|
|
25
28
|
export const getError = createSelector(getSearchStateSearch, (state) => state.error);
|
|
26
29
|
export const getSpatialFilterEnabled = createSelector(getSearchStateSearch, (state) => state.params.useSpatialFilter);
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMvbGliL3N0YXRlL3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQWtDLE1BQU0sV0FBVyxDQUFBO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIscUJBQXFCLENBQWMsa0JBQWtCLENBQUMsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQ2hELGNBQWMsRUFDZCxDQUFDLEtBQWtCLEVBQUUsS0FBYSxrQkFBa0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUNuRSxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbkQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLG9CQUFvQixFQUNwQixDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNsRCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUNsRCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsY0FBYyxDQUN2RCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDeEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsb0JBQW9CLEVBQ3BCLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ3BELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxjQUFjLENBQ25ELG9CQUFvQixFQUNwQixDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQ25ELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxjQUFjLENBQ3hELG9CQUFvQixFQUNwQixDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUN6RCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDbEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGNBQWMsQ0FDaEQsb0JBQW9CLEVBQ3BCLENBQUMsS0FBd0IsRUFBRSxFQUFFO0lBQzNCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFBO0FBQ3ZDLENBQUMsQ0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDMUMsb0JBQW9CLEVBQ3BCLENBQUMsS0FBd0IsRUFBRSxFQUFFO0lBQzNCLE9BQU8sQ0FDTCxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVE7UUFDOUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRO1FBQ3ZCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUNwQixDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUN0QyxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUU7SUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDL0QsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUN2QyxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQzNELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUN2QyxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsb0JBQW9CLEVBQ3BCLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQ3pELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUNwQyxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUMxQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUNuRCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUM1RCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgREVGQVVMVF9TRUFSQ0hfS0VZIH0gZnJvbSAnLi9hY3Rpb25zJ1xuaW1wb3J0IHsgU0VBUkNIX0ZFQVRVUkVfS0VZLCBTZWFyY2hTdGF0ZSwgU2VhcmNoU3RhdGVTZWFyY2ggfSBmcm9tICcuL3JlZHVjZXInXG5cbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hTdGF0ZSA9XG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTZWFyY2hTdGF0ZT4oU0VBUkNIX0ZFQVRVUkVfS0VZKVxuXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoU3RhdGVTZWFyY2ggPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGUsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGUsIGlkOiBzdHJpbmcgPSBERUZBVUxUX1NFQVJDSF9LRVkpID0+IHN0YXRlW2lkXVxuKVxuXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoRmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUucGFyYW1zLmZpbHRlcnNcbilcblxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFNvcnRCeSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUucGFyYW1zLnNvcnRcbilcblxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFJlc3VsdHNMYXlvdXQgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGVTZWFyY2gsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGVTZWFyY2gpID0+IHN0YXRlLnJlc3VsdHNMYXlvdXRcbilcblxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaENvbmZpZ0FnZ3JlZ2F0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUuY29uZmlnLmFnZ3JlZ2F0aW9uc1xuKVxuXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoUmVzdWx0cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUucmVzdWx0cy5yZWNvcmRzXG4pXG5cbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hSZXN1bHRzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUubG9hZGluZ1Jlc3VsdHNcbilcblxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFJlc3VsdHNBZ2dyZWdhdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGVTZWFyY2gsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGVTZWFyY2gpID0+IHN0YXRlLnJlc3VsdHMuYWdncmVnYXRpb25zXG4pXG5cbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hSZXN1bHRzSGl0cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUucmVzdWx0cy5jb3VudFxuKVxuXG5leHBvcnQgY29uc3QgaXNCZWdpbm5pbmdPZlJlc3VsdHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGVTZWFyY2gsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGVTZWFyY2gpID0+IHtcbiAgICByZXR1cm4gc3RhdGUucGFyYW1zLmN1cnJlbnRQYWdlID09PSAwXG4gIH1cbilcblxuZXhwb3J0IGNvbnN0IGlzRW5kT2ZSZXN1bHRzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFNlYXJjaFN0YXRlU2VhcmNoLFxuICAoc3RhdGU6IFNlYXJjaFN0YXRlU2VhcmNoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXRlLnBhcmFtcy5jdXJyZW50UGFnZSAqIHN0YXRlLnBhcmFtcy5wYWdlU2l6ZSArXG4gICAgICAgIHN0YXRlLnBhcmFtcy5wYWdlU2l6ZSA+PVxuICAgICAgc3RhdGUucmVzdWx0cy5jb3VudFxuICAgIClcbiAgfVxuKVxuXG5leHBvcnQgY29uc3QgdG90YWxQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4ge1xuICAgIHJldHVybiBNYXRoLmNlaWwoc3RhdGUucmVzdWx0cy5jb3VudCAvIHN0YXRlLnBhcmFtcy5wYWdlU2l6ZSlcbiAgfVxuKVxuXG5leHBvcnQgY29uc3QgY3VycmVudFBhZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGVTZWFyY2gsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGVTZWFyY2gpID0+IHN0YXRlLnBhcmFtcy5jdXJyZW50UGFnZSArIDFcbilcblxuZXhwb3J0IGNvbnN0IGdldFBhZ2VTaXplID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFNlYXJjaFN0YXRlU2VhcmNoLFxuICAoc3RhdGU6IFNlYXJjaFN0YXRlU2VhcmNoKSA9PiBzdGF0ZS5wYXJhbXMucGFnZVNpemVcbilcblxuZXhwb3J0IGNvbnN0IGdldEZhdm9yaXRlc09ubHkgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2VhcmNoU3RhdGVTZWFyY2gsXG4gIChzdGF0ZTogU2VhcmNoU3RhdGVTZWFyY2gpID0+IHN0YXRlLnBhcmFtcy5mYXZvcml0ZXNPbmx5XG4pXG5cbmV4cG9ydCBjb25zdCBnZXRFcnJvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZWFyY2hTdGF0ZVNlYXJjaCxcbiAgKHN0YXRlOiBTZWFyY2hTdGF0ZVNlYXJjaCkgPT4gc3RhdGUuZXJyb3JcbilcblxuZXhwb3J0IGNvbnN0IGdldFNwYXRpYWxGaWx0ZXJFbmFibGVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFNlYXJjaFN0YXRlU2VhcmNoLFxuICAoc3RhdGU6IFNlYXJjaFN0YXRlU2VhcmNoKSA9PiBzdGF0ZS5wYXJhbXMudXNlU3BhdGlhbEZpbHRlclxuKVxuIl19
|
package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs
CHANGED
|
@@ -9,19 +9,19 @@ export class OrganisationPreviewComponent {
|
|
|
9
9
|
}
|
|
10
10
|
clickOrganisation(event) {
|
|
11
11
|
event.preventDefault();
|
|
12
|
-
this.clickedOrganisation.emit(this.
|
|
12
|
+
this.clickedOrganisation.emit(this.organization);
|
|
13
13
|
}
|
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: {
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organization: "organization", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
|
-
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"
|
|
20
|
-
}], propDecorators: {
|
|
19
|
+
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"] }]
|
|
20
|
+
}], propDecorators: { organization: [{
|
|
21
21
|
type: Input
|
|
22
22
|
}], organisationUrl: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}], clickedOrganisation: [{
|
|
25
25
|
type: Output
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9jYXRhbG9nL3NyYy9saWIvb3JnYW5pc2F0aW9uLXByZXZpZXcvb3JnYW5pc2F0aW9uLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9jYXRhbG9nL3NyYy9saWIvb3JnYW5pc2F0aW9uLXByZXZpZXcvb3JnYW5pc2F0aW9uLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7Ozs7O0FBU3RCLE1BQU0sT0FBTyw0QkFBNEI7SUFOekM7UUFTWSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQTtLQU1qRTtJQUpDLGlCQUFpQixDQUFDLEtBQVk7UUFDNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ2xELENBQUM7K0dBUlUsNEJBQTRCO21HQUE1Qiw0QkFBNEIseU1DZnpDLG8vQ0EwQ0E7OzRGRDNCYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1vcmdhbmlzYXRpb24tcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbmlzYXRpb24tcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29yZ2FuaXNhdGlvbi1wcmV2aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9yZ2FuaXNhdGlvblByZXZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBvcmdhbml6YXRpb246IE9yZ2FuaXphdGlvblxuICBASW5wdXQoKSBvcmdhbmlzYXRpb25Vcmw6IHN0cmluZ1xuICBAT3V0cHV0KCkgY2xpY2tlZE9yZ2FuaXNhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8T3JnYW5pemF0aW9uPigpXG5cbiAgY2xpY2tPcmdhbmlzYXRpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuY2xpY2tlZE9yZ2FuaXNhdGlvbi5lbWl0KHRoaXMub3JnYW5pemF0aW9uKVxuICB9XG59XG4iLCI8YSBocmVmIChjbGljayk9XCJjbGlja09yZ2FuaXNhdGlvbigkZXZlbnQpXCIgW2F0dHIuaHJlZl09XCJvcmdhbmlzYXRpb25VcmxcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ3JvdXAgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC1sZyBoLWZ1bGwgZmxleCBmbGV4LWNvbFwiXG4gICAgW3RpdGxlXT1cIm9yZ2FuaXphdGlvbi5uYW1lXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2hyaW5rLTAgYmctZ3JheS0xMDAgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gdy1mdWxsIGJvcmRlciBib3JkZXItZ3JheS0zMDAgaC0zNlwiXG4gICAgPlxuICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGxcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cIm9yZ2FuaXphdGlvbi5sb2dvVXJsXCJcbiAgICAgICAgW2ZpdF09XCInY29udGFpbidcIlxuICAgICAgPlxuICAgICAgPC9nbi11aS10aHVtYm5haWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInB4LTMgcGItMiBjYXBpdGFsaXplIGZsZXggZmxleC1jb2wgZ3JvdyBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwic2hyaW5rLTAgbWItMyBtdC01IGZvbnQtdGl0bGUgdGV4dC0yMSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeSBsaW5lLWNsYW1wLTIgc206bXQtMiB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgIGRhdGEtY3k9XCJvcmdhbml6YXRpb25OYW1lXCJcbiAgICAgID5cbiAgICAgICAge3sgb3JnYW5pemF0aW9uLm5hbWUgfX08L3NwYW5cbiAgICAgID5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwiYWJzdHJhY3QgbXQtNCBtYi01IHNtOm1iLTIgc206bXQtMCBncm93IHNocmluay0xIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgIGRhdGEtY3k9XCJvcmdhbml6YXRpb25EZXNjXCJcbiAgICAgID5cbiAgICAgICAge3sgb3JnYW5pemF0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic2hyaW5rLTAgdGV4dC1wcmltYXJ5IG9wYWNpdHktNTAgZmxleCBsZWFkaW5nLTZcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LXByaW1hcnkgb3BhY2l0eS01MCBtci0xXCJcbiAgICAgICAgICA+Zm9sZGVyX29wZW5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCIgZGF0YS1jeT1cIm9yZ2FuaXphdGlvblJlY29yZHNDb3VudFwiPnt7XG4gICAgICAgICAgb3JnYW5pemF0aW9uLnJlY29yZENvdW50XG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGUgW3RyYW5zbGF0ZVBhcmFtc109XCJ7IGNvdW50OiBvcmdhbml6YXRpb24ucmVjb3JkQ291bnQgfVwiXG4gICAgICAgICAgPnJlY29yZC5tZXRhZGF0YS5wdWJsaWNhdGlvbnM8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19
|
|
@@ -9,6 +9,7 @@ import { OrganisationsFilterComponent } from './organisations-filter/organisatio
|
|
|
9
9
|
import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
|
|
10
10
|
import { LanguageSwitcherComponent } from './language-switcher/language-switcher.component';
|
|
11
11
|
import { OrganisationsResultComponent } from './organisations-result/organisations-result.component';
|
|
12
|
+
import { RouterLink } from '@angular/router';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@ngx-translate/core";
|
|
14
15
|
export class UiCatalogModule {
|
|
@@ -19,7 +20,8 @@ export class UiCatalogModule {
|
|
|
19
20
|
LanguageSwitcherComponent,
|
|
20
21
|
OrganisationsResultComponent], imports: [CommonModule, i1.TranslateModule, UiElementsModule,
|
|
21
22
|
UiInputsModule,
|
|
22
|
-
MatIconModule
|
|
23
|
+
MatIconModule,
|
|
24
|
+
RouterLink], exports: [CatalogTitleComponent,
|
|
23
25
|
OrganisationPreviewComponent,
|
|
24
26
|
OrganisationsFilterComponent,
|
|
25
27
|
LanguageSwitcherComponent,
|
|
@@ -46,6 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
46
48
|
UiElementsModule,
|
|
47
49
|
UiInputsModule,
|
|
48
50
|
MatIconModule,
|
|
51
|
+
RouterLink,
|
|
49
52
|
],
|
|
50
53
|
exports: [
|
|
51
54
|
CatalogTitleComponent,
|
|
@@ -56,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
56
59
|
],
|
|
57
60
|
}]
|
|
58
61
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2NhdGFsb2cvc3JjL2xpYi91aS1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUNwRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQTBCNUMsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQXRCeEIscUJBQXFCO1lBQ3JCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIseUJBQXlCO1lBQ3pCLDRCQUE0QixhQUc1QixZQUFZLHNCQUVaLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsYUFBYTtZQUNiLFVBQVUsYUFHVixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1Qix5QkFBeUI7WUFDekIsNEJBQTRCO2dIQUduQixlQUFlLFlBZnhCLFlBQVk7WUFDWixlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsYUFBYTs7NEZBV0osZUFBZTtrQkF4QjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixVQUFVO3FCQUNYO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1Qix5QkFBeUI7d0JBQ3pCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDYXRhbG9nVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctdGl0bGUvY2F0YWxvZy10aXRsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBPcmdhbmlzYXRpb25QcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9vcmdhbmlzYXRpb24tcHJldmlldy9vcmdhbmlzYXRpb24tcHJldmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBPcmdhbmlzYXRpb25zRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9vcmdhbmlzYXRpb25zLWZpbHRlci9vcmdhbmlzYXRpb25zLWZpbHRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IExhbmd1YWdlU3dpdGNoZXJDb21wb25lbnQgfSBmcm9tICcuL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IE9yZ2FuaXNhdGlvbnNSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL29yZ2FuaXNhdGlvbnMtcmVzdWx0L29yZ2FuaXNhdGlvbnMtcmVzdWx0LmNvbXBvbmVudCdcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENhdGFsb2dUaXRsZUNvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25QcmV2aWV3Q29tcG9uZW50LFxuICAgIE9yZ2FuaXNhdGlvbnNGaWx0ZXJDb21wb25lbnQsXG4gICAgTGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25zUmVzdWx0Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFVpRWxlbWVudHNNb2R1bGUsXG4gICAgVWlJbnB1dHNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ2F0YWxvZ1RpdGxlQ29tcG9uZW50LFxuICAgIE9yZ2FuaXNhdGlvblByZXZpZXdDb21wb25lbnQsXG4gICAgT3JnYW5pc2F0aW9uc0ZpbHRlckNvbXBvbmVudCxcbiAgICBMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50LFxuICAgIE9yZ2FuaXNhdGlvbnNSZXN1bHRDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpQ2F0YWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
import * as i2 from "@ngx-translate/core";
|
|
5
5
|
export class FigureComponent {
|
|
6
6
|
constructor() {
|
|
7
|
+
this.unit = '';
|
|
7
8
|
this.color = 'primary';
|
|
8
9
|
}
|
|
9
|
-
get hoverTitle() {
|
|
10
|
-
return `${this.figure.toString()} ${this.unit || ''}
|
|
11
|
-
${this.title}`;
|
|
12
|
-
}
|
|
13
10
|
get textClass() {
|
|
14
11
|
return this.color === 'primary' ? 'text-primary' : 'text-secondary';
|
|
15
12
|
}
|
|
@@ -17,11 +14,11 @@ ${this.title}`;
|
|
|
17
14
|
return this.color === 'primary' ? 'bg-primary-white' : 'bg-secondary-white';
|
|
18
15
|
}
|
|
19
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
18
|
}
|
|
22
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, decorators: [{
|
|
23
20
|
type: Component,
|
|
24
|
-
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n
|
|
21
|
+
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"] }]
|
|
25
22
|
}], propDecorators: { icon: [{
|
|
26
23
|
type: Input
|
|
27
24
|
}], title: [{
|
|
@@ -33,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33
30
|
}], color: [{
|
|
34
31
|
type: Input
|
|
35
32
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYy9saWIvZmlndXJlL2ZpZ3VyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQVF6RSxNQUFNLE9BQU8sZUFBZTtJQU41QjtRQVVXLFNBQUksR0FBRyxFQUFFLENBQUE7UUFDVCxVQUFLLEdBQTRCLFNBQVMsQ0FBQTtLQVNwRDtJQVBDLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUE7SUFDckUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQTtJQUM3RSxDQUFDOytHQWJVLGVBQWU7bUdBQWYsZUFBZSw4SUNSNUIseTRCQStCQTs7NEZEdkJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1maWd1cmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlndXJlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlndXJlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpZ3VyZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb24hOiBzdHJpbmdcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmdcbiAgQElucHV0KCkgZmlndXJlITogc3RyaW5nIHwgbnVtYmVyXG4gIEBJbnB1dCgpIHVuaXQgPSAnJ1xuICBASW5wdXQoKSBjb2xvcjogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgPSAncHJpbWFyeSdcblxuICBnZXQgdGV4dENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSAncHJpbWFyeScgPyAndGV4dC1wcmltYXJ5JyA6ICd0ZXh0LXNlY29uZGFyeSdcbiAgfVxuXG4gIGdldCBiZ0NsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSAncHJpbWFyeScgPyAnYmctcHJpbWFyeS13aGl0ZScgOiAnYmctc2Vjb25kYXJ5LXdoaXRlJ1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWNlbnRlciBvdmVyZmxvdy1oaWRkZW5cIlxuICBkYXRhLXRlc3Q9XCJmaWd1cmVUaXRsZVwiXG4gIFt0aXRsZV09XCJcbiAgICBmaWd1cmUudG9TdHJpbmcoKSArXG4gICAgJyAnICtcbiAgICB1bml0ICtcbiAgICAnICcgK1xuICAgICh0aXRsZSB8IHRyYW5zbGF0ZTogeyBjb3VudDogZmlndXJlIH0pXG4gIFwiXG4+XG4gIDxtYXQtaWNvblxuICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7eyBiZ0NsYXNzIH19IHt7XG4gICAgICB0ZXh0Q2xhc3NcbiAgICB9fSB0ZXh0LVsxLjg3NWVtXSByb3VuZGVkLWZ1bGwgbXItWzAuNTVlbV0gcC1bMC42ZW1dIHctWzIuMmVtXSBoLVsyLjJlbV0gc2hyaW5rLTBcIlxuICAgIHN0eWxlPVwid2lkdGg6IDIuMmVtOyBoZWlnaHQ6IDIuMmVtXCJcbiAgPlxuICAgIHt7IGljb24gfX1cbiAgPC9tYXQtaWNvbj5cbiAgPGRpdiBjbGFzcz1cInNocmluayBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmlndXJlLWJsb2NrIHRleHQtWzEuNWVtXSB0ZXh0LWJsYWNrXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZpZ3VyZSBmb250LW1lZGl1bSBtci1bMC4zZW1dXCIgZGF0YS10ZXN0PVwiZmlndXJlXCI+e3tcbiAgICAgICAgZmlndXJlXG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidW5pdCB0ZXh0LVswLjY2NWVtXVwiPnt7IHVuaXQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9XCJ0aXRsZSB0cnVuY2F0ZVwiIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBjb3VudDogZmlndXJlIH1cIj5cbiAgICAgIHt7IHRpdGxlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,7 +8,6 @@ export * from './lib/image-overlay-preview/image-overlay-preview.component';
|
|
|
8
8
|
export * from './lib/link-card/link-card.component';
|
|
9
9
|
export * from './lib/markdown-editor/markdown-editor.component';
|
|
10
10
|
export * from './lib/markdown-parser/markdown-parser.component';
|
|
11
|
-
export * from './lib/max-lines/max-lines.component';
|
|
12
11
|
export * from './lib/metadata-catalog/metadata-catalog.component';
|
|
13
12
|
export * from './lib/metadata-contact/metadata-contact.component';
|
|
14
13
|
export * from './lib/metadata-info/metadata-info.component';
|
|
@@ -23,4 +22,4 @@ export * from './lib/sortable-list/sortable-list.component';
|
|
|
23
22
|
export * from './lib/thumbnail/thumbnail.component';
|
|
24
23
|
export * from './lib/ui-elements.module';
|
|
25
24
|
export * from './lib/user-preview/user-preview.component';
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywyQ0FBMkMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS1jYXJkL2FwaS1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudC1naG9zdC9jb250ZW50LWdob3N0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2FkLWl0ZW0vZG93bmxvYWQtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb3dubG9hZHMtbGlzdC9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci9lcnJvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmstY2FyZC9saW5rLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFya2Rvd24tZWRpdG9yL21hcmtkb3duLWVkaXRvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWNhdGFsb2cvbWV0YWRhdGEtY2F0YWxvZy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1jb250YWN0L21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtaW5mby9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLXF1YWxpdHktaXRlbS9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi1idXR0b25zL3BhZ2luYXRpb24tYnV0dG9ucy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLWFwaS1mb3JtL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWxhdGVkLXJlY29yZC1jYXJkL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc29ydGFibGUtbGlzdC9zb3J0YWJsZS1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZWxlbWVudHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1wcmV2aWV3L3VzZXItcHJldmlldy5jb21wb25lbnQnXG4iXX0=
|
|
@@ -9,17 +9,19 @@ export var ErrorType;
|
|
|
9
9
|
ErrorType[ErrorType["RECEIVED_ERROR"] = 1] = "RECEIVED_ERROR";
|
|
10
10
|
ErrorType[ErrorType["RECORD_NOT_FOUND"] = 2] = "RECORD_NOT_FOUND";
|
|
11
11
|
ErrorType[ErrorType["DATASET_HAS_NO_LINK"] = 3] = "DATASET_HAS_NO_LINK";
|
|
12
|
+
ErrorType[ErrorType["ORGANIZATION_HAS_NO_DATASET"] = 4] = "ORGANIZATION_HAS_NO_DATASET";
|
|
13
|
+
ErrorType[ErrorType["ORGANIZATION_NOT_FOUND"] = 5] = "ORGANIZATION_NOT_FOUND";
|
|
12
14
|
})(ErrorType || (ErrorType = {}));
|
|
13
15
|
export class ErrorComponent {
|
|
14
16
|
constructor() {
|
|
15
17
|
this.types = ErrorType;
|
|
16
18
|
}
|
|
17
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
21
|
}
|
|
20
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
21
23
|
type: Component,
|
|
22
|
-
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
24
|
+
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"] }]
|
|
23
25
|
}], propDecorators: { type: [{
|
|
24
26
|
type: Input
|
|
25
27
|
}], error: [{
|
|
@@ -27,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27
29
|
}], recordId: [{
|
|
28
30
|
type: Input
|
|
29
31
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7Ozs7QUFFekUsTUFBTSxDQUFOLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQix1RUFBbUIsQ0FBQTtJQUNuQiw2REFBYyxDQUFBO0lBQ2QsaUVBQWdCLENBQUE7SUFDaEIsdUVBQW1CLENBQUE7SUFDbkIsdUZBQTJCLENBQUE7SUFDM0IsNkVBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQVBXLFNBQVMsS0FBVCxTQUFTLFFBT3BCO0FBUUQsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFVRSxVQUFLLEdBQUcsU0FBUyxDQUFBO0tBQ2xCOytHQUxZLGNBQWM7bUdBQWQsY0FBYyxtSENqQjNCLDJuRkEwRUE7OzRGRHpEYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBDT1VMRF9OT1RfUkVBQ0hfQVBJLFxuICBSRUNFSVZFRF9FUlJPUixcbiAgUkVDT1JEX05PVF9GT1VORCxcbiAgREFUQVNFVF9IQVNfTk9fTElOSyxcbiAgT1JHQU5JWkFUSU9OX0hBU19OT19EQVRBU0VULFxuICBPUkdBTklaQVRJT05fTk9UX0ZPVU5ELFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Vycm9yLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZSE6IEVycm9yVHlwZVxuICBASW5wdXQoKSBlcnJvcj86IHN0cmluZ1xuICBASW5wdXQoKSByZWNvcmRJZD86IHN0cmluZ1xuICB0eXBlcyA9IEVycm9yVHlwZVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInAtWzEuN2VtXSBiZy1yZWQtNTAgdGV4dC1yZWQtODAwIHRleHQtWzEuNWVtXSB0ZXh0LWNlbnRlciByb3VuZGVkLWxnXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwidHlwZSA9PT0gdHlwZXMuQ09VTERfTk9UX1JFQUNIX0FQSVwiXG4gICAgZGF0YS10ZXN0PVwiY291bGQtbm90LXJlYWNoLWFwaS1lcnJvclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgb3BhY2l0eS00MFwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBmYWNlXCI+ZmFjZTwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHF1ZXN0aW9uLW1hcmsxXCJcbiAgICAgICAgPnF1ZXN0aW9uX21hcmtcbiAgICAgIDwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHF1ZXN0aW9uLW1hcmsyXCJcbiAgICAgICAgPnF1ZXN0aW9uX21hcmtcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0cmFuc2xhdGU+c2VhcmNoLmVycm9yLmNvdWxkTm90UmVhY2hBcGk8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cInR5cGUgPT09IHR5cGVzLkRBVEFTRVRfSEFTX05PX0xJTktcIlxuICAgIGRhdGEtdGVzdD1cImRhdGFzZXQtaGFzLW5vLWxpbmstZXJyb3JcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIG9wYWNpdHktNDBcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZmFjZVwiPmNvbXB1dGVyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHRyYW5zbGF0ZT5zZWFyY2guZXJyb3IucmVjb3JkSGFzbm9saW5rPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gdHlwZXMuUkVDRUlWRURfRVJST1JcIiBkYXRhLXRlc3Q9XCJyZWNlaXZlZC1lcnJvci1lcnJvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBvcGFjaXR5LTQwXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGZhY2VcIj5tb29kX2JhZDwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0cmFuc2xhdGU+c2VhcmNoLmVycm9yLnJlY2VpdmVkRXJyb3I8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIj57eyBlcnJvciB9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInR5cGUgPT09IHR5cGVzLk9SR0FOSVpBVElPTl9IQVNfTk9fREFUQVNFVFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBvcGFjaXR5LTQwXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGNvbXB1dGVyXCI+Y29tcHV0ZXI8L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBjb21wdXRlci1xdWVzdGlvbi1tYXJrXCJcbiAgICAgICAgPnF1ZXN0aW9uX21hcmtcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0cmFuc2xhdGU+c2VhcmNoLmVycm9yLm9yZ2FuaXphdGlvbkhhc05vRGF0YXNldDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwidHlwZSA9PT0gdHlwZXMuUkVDT1JEX05PVF9GT1VORFwiXG4gICAgZGF0YS10ZXN0PVwicmVjb3JkLW5vdC1mb3VuZC1lcnJvclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgb3BhY2l0eS00MFwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBjb21wdXRlclwiPmNvbXB1dGVyPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgY29tcHV0ZXItcXVlc3Rpb24tbWFya1wiXG4gICAgICAgID5xdWVzdGlvbl9tYXJrXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgdHJhbnNsYXRlIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBpZDogcmVjb3JkSWQgfVwiPlxuICAgICAgc2VhcmNoLmVycm9yLnJlY29yZE5vdEZvdW5kXG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCI+e3sgZXJyb3IgfX08L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cInR5cGUgPT09IHR5cGVzLk9SR0FOSVpBVElPTl9OT1RfRk9VTkRcIlxuICAgIGRhdGEtdGVzdD1cIm9yZy1ub3QtZm91bmQtZXJyb3JcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIG9wYWNpdHktNDBcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgY29tcHV0ZXJcIj5jb21wdXRlcjwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGNvbXB1dGVyLXF1ZXN0aW9uLW1hcmtcIlxuICAgICAgICA+cXVlc3Rpb25fbWFya1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInsgaWQ6IHJlY29yZElkIH1cIj5cbiAgICAgIHNlYXJjaC5lcnJvci5vcmdhbml6YXRpb25Ob3RGb3VuZFxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiPnt7IGVycm9yIH19PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -11,7 +11,6 @@ import * as i7 from "../markdown-parser/markdown-parser.component";
|
|
|
11
11
|
import * as i8 from "../thumbnail/thumbnail.component";
|
|
12
12
|
import * as i9 from "../content-ghost/content-ghost.component";
|
|
13
13
|
import * as i10 from "./linkify.directive";
|
|
14
|
-
import * as i11 from "../max-lines/max-lines.component";
|
|
15
14
|
export class MetadataInfoComponent {
|
|
16
15
|
constructor() {
|
|
17
16
|
this.keyword = new EventEmitter();
|
|
@@ -76,7 +75,7 @@ export class MetadataInfoComponent {
|
|
|
76
75
|
this.keyword.emit(keyword);
|
|
77
76
|
}
|
|
78
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: i6.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: i7.MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: i8.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i9.ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: i10.GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: i11.MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: i6.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: i7.MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: i8.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i9.ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: i10.GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
80
79
|
}
|
|
81
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, decorators: [{
|
|
82
81
|
type: Component,
|
|
@@ -88,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
88
87
|
}], keyword: [{
|
|
89
88
|
type: Output
|
|
90
89
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtaW5mby9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFLdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7Ozs7Ozs7Ozs7QUFROUUsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQVNZLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO0tBNkVoRDtJQTFFQyxJQUFJLFFBQVE7UUFDVixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxLQUFLLElBQUk7WUFDekMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDakUsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQzFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RSxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQzFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RSxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2lCQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsWUFBWSxNQUFNLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUE7WUFDOUQsT0FBTyxpQ0FBaUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUE7U0FDNUU7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1lBQzVELE9BQU8saUNBQWlDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUE7U0FDeEU7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQTtRQUNyRCxPQUFPLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZ0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUIsQ0FBQzsrR0EvRVUscUJBQXFCO21HQUFyQixxQkFBcUIsd0pDbkJsQyxvK1JBNFBBOzs0RkR6T2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRSZWNvcmQsXG4gIEtleXdvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IGdldFRlbXBvcmFsUmFuZ2VVbmlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhSW5mb0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhOiBQYXJ0aWFsPERhdGFzZXRSZWNvcmQ+XG4gIEBJbnB1dCgpIGluY29tcGxldGU6IGJvb2xlYW5cbiAgQE91dHB1dCgpIGtleXdvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPEtleXdvcmQ+KClcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXJcblxuICBnZXQgaGFzVXNhZ2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWV0YWRhdGEuZXh0cmFzPy5pc09wZW5EYXRhID09PSB0cnVlIHx8XG4gICAgICAodGhpcy5tZXRhZGF0YS5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMubGVnYWxDb25zdHJhaW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMubWV0YWRhdGEub3RoZXJDb25zdHJhaW50cz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICB0aGlzLm90aGVyQ29uc3RyYWludHMubGVuZ3RoID4gMCkgfHxcbiAgICAgICh0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzPy5sZW5ndGggPiAwICYmIHRoaXMubGljZW5zZXMubGVuZ3RoID4gMClcbiAgICApXG4gIH1cblxuICBnZXQgbGVnYWxDb25zdHJhaW50cygpIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCkge1xuICAgICAgYXJyYXkgPSBhcnJheS5jb25jYXQoXG4gICAgICAgIHRoaXMubWV0YWRhdGEubGVnYWxDb25zdHJhaW50cy5maWx0ZXIoKGMpID0+IGMudGV4dCkubWFwKChjKSA9PiBjLnRleHQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhcnJheVxuICB9XG5cbiAgZ2V0IG90aGVyQ29uc3RyYWludHMoKSB7XG4gICAgbGV0IGFycmF5ID0gW11cbiAgICBpZiAodGhpcy5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLm90aGVyQ29uc3RyYWludHMuZmlsdGVyKChjKSA9PiBjLnRleHQpLm1hcCgoYykgPT4gYy50ZXh0KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlcbiAgfVxuXG4gIGdldCBsaWNlbnNlcygpOiB7IHRleHQ6IHN0cmluZzsgdXJsOiBzdHJpbmcgfVtdIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzXG4gICAgICAgICAgLmZpbHRlcigoYykgPT4gYy50ZXh0KVxuICAgICAgICAgIC5tYXAoKGMpID0+ICh7IHRleHQ6IGMudGV4dCwgdXJsOiBjLnVybCB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5XG4gIH1cblxuICBnZXQgdXBkYXRlRnJlcXVlbmN5KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICB0aGlzLnVwZGF0ZWRUaW1lcyA9IHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnVwZGF0ZWRUaW1lc1xuICAgICAgcmV0dXJuIGBkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS4ke3RoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnBlcn1gXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYGRvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LiR7dGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3l9YFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgZ2V0IHRlbXBvcmFsRXh0ZW50KCk6IHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgdGVtcG9yYWxFeHRlbnRzID0gdGhpcy5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudHNcbiAgICByZXR1cm4gZ2V0VGVtcG9yYWxSYW5nZVVuaW9uKHRlbXBvcmFsRXh0ZW50cylcbiAgfVxuXG4gIGdldCBzaG93bk9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IHJlc291cmNlQ29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5jb250YWN0c0ZvclJlc291cmNlPy5bMF1cbiAgfVxuXG4gIGZpZWxkUmVhZHkocHJvcE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiAhdGhpcy5pbmNvbXBsZXRlIHx8IHByb3BOYW1lIGluIHRoaXMubWV0YWRhdGFcbiAgfVxuXG4gIG9uS2V5d29yZENsaWNrKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICB0aGlzLmtleXdvcmQuZW1pdChrZXl3b3JkKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNiBtZC1kZXNjcmlwdGlvbiBzbTptYi00IHNtOnByLTE2XCI+XG4gIDxnbi11aS1jb250ZW50LWdob3N0IGdob3N0Q2xhc3M9XCJoLTMyXCIgW3Nob3dDb250ZW50XT1cImZpZWxkUmVhZHkoJ2Fic3RyYWN0JylcIj5cbiAgICA8Z24tdWktbWF4LWxpbmVzIFttYXhMaW5lc109XCI2XCIgKm5nSWY9XCJtZXRhZGF0YS5hYnN0cmFjdFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJtZXRhZGF0YS5hYnN0cmFjdFwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZ24tdWktbWF4LWxpbmVzPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5rZXl3b3Jkcz8ubGVuZ3RoXCI+XG4gICAgICA8cCBjbGFzcz1cIm10LTYgbWItMyBmb250LW1lZGl1bSB0ZXh0LXByaW1hcnkgdGV4dC1zbVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmtleXdvcmRzXG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic206cGItNCBmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICA8Z24tdWktYmFkZ2VcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBsb3dlcmNhc2VcIlxuICAgICAgICAgIChjbGljayk9XCJvbktleXdvcmRDbGljayhrZXl3b3JkKVwiXG4gICAgICAgICAgW2NsaWNrYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5d29yZCBvZiBtZXRhZGF0YS5rZXl3b3Jkc1wiXG4gICAgICAgICAgPnt7IGtleXdvcmQubGFiZWwgfX08L2duLXVpLWJhZGdlXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2duLXVpLWNvbnRlbnQtZ2hvc3Q+XG48L2Rpdj5cblxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWwgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEudXNhZ2UnIHwgdHJhbnNsYXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC1bMTBweF0gbXItNCBweS1bMTJweF0gcm91bmRlZCB0ZXh0LWdyYXktOTAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGljZW5zZSBvZiBsaWNlbnNlc1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImxpY2Vuc2UudXJsOyBlbHNlIG5vVXJsXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBbaHJlZl09XCJsaWNlbnNlLnVybFwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZSB0cmFuc2l0aW9uLWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsaWNlbnNlLnRleHQgfX1cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy1bMTJweF0gIWgtWzEycHhdICF0ZXh0LVsxMnB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICAgID5vcGVuX2luX25ldzwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNub1VybD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeVwiIGduVWlMaW5raWZ5PlxuICAgICAgICAgIHt7IGxpY2Vuc2UudGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxlZ2FsQ29uc3RyYWludHMubGVuZ3RoXCI+XG4gICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb25zdHJhaW50IG9mIGxlZ2FsQ29uc3RyYWludHNcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29uc3RyYWludFwiXG4gICAgICA+XG4gICAgICA8L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3RoZXJDb25zdHJhaW50cy5sZW5ndGhcIj5cbiAgICAgIDxkaXYgZ25VaUxpbmtpZnkgKm5nRm9yPVwibGV0IGNvbnN0cmFpbnQgb2Ygb3RoZXJDb25zdHJhaW50c1wiPlxuICAgICAgICA8aDUgdHJhbnNsYXRlIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1ibGFjayB0ZXh0LXNtIG1iLVsycHhdIG10LVsxNnB4XVwiPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzXG4gICAgICAgIDwvaDU+XG4gICAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXIgW3RleHRDb250ZW50XT1cImNvbnN0cmFpbnRcIj5cbiAgICAgICAgPC9nbi11aS1tYXJrZG93bi1wYXJzZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxzcGFuIGNsYXNzPVwibm9Vc2FnZVwiICpuZ0lmPVwiIWhhc1VzYWdlXCI+XG4gICAgICB7eyAncmVjb3JkLm1ldGFkYXRhLm5vVXNhZ2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbjxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICpuZ0lmPVwiXG4gICAgbWV0YWRhdGEubGluZWFnZSB8fFxuICAgIG1ldGFkYXRhLnJlY29yZFVwZGF0ZWQgfHxcbiAgICBtZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgfHxcbiAgICBtZXRhZGF0YS5zdGF0dXNcbiAgXCJcbiAgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEuZGV0YWlscycgfCB0cmFuc2xhdGVcIlxuPlxuICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEubGluZWFnZVwiIGNsYXNzPVwidGV4dC1ncmF5LTkwMCBmbGV4IGZsZXgtY29sIG10LTQgZ2FwLTJcIj5cbiAgICA8cCBjbGFzcz1cIndoaXRlc3BhY2UtcHJlLWxpbmUgYnJlYWstd29yZHMgdGV4dC1ncmF5LTkwMFwiIGduVWlMaW5raWZ5PlxuICAgICAge3sgbWV0YWRhdGEubGluZWFnZSB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC02IG10LTUgbWItOFwiICpuZ0lmPVwicmVzb3VyY2VDb250YWN0XCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uPy5sb2dvVXJsPy5ocmVmXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXNvbGlkIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBiZy13aGl0ZSBoLTMyIG92ZXJmbG93LWhpZGRlblwiXG4gICAgPlxuICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGxcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24ubG9nb1VybC5ocmVmXCJcbiAgICAgICAgZml0PVwiY29udGFpblwiXG4gICAgICA+PC9nbi11aS10aHVtYm5haWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEucHJvZHVjZXI8L3A+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtdGl0bGUgdGV4dC0yMSBtci0yIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZVwiXG4gICAgICAgIGRhdGEtY3k9XCJvcmdhbml6YXRpb24tbmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24/Lm5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24/LndlYnNpdGVcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBbaHJlZl09XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uLndlYnNpdGVcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgY2xhc3M9XCJjb250YWN0LXdlYnNpdGUgdGV4dC1wcmltYXJ5IHRleHQtc20gY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lIHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgICA+e3sgcmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbi53ZWJzaXRlIH19XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctWzEycHhdICFoLVsxMnB4XSAhdGV4dC1bMTJweF0gb3BhY2l0eS03NSBzaHJpbmstMFwiXG4gICAgICAgICAgICA+b3Blbl9pbl9uZXc8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCIgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3QuZW1haWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy01ICFoLTUgIXRleHQtWzIwcHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIG1haWxfb3V0bGluZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwicmVzb3VyY2VDb250YWN0LmVtYWlsXCJcbiAgICAgICAgICAgIFtocmVmXT1cIidtYWlsdG86JyArIHJlc291cmNlQ29udGFjdC5lbWFpbFwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc20gaG92ZXI6dW5kZXJsaW5lIG1sLTJcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIGRhdGEtY3k9XCJjb250YWN0LWVtYWlsXCJcbiAgICAgICAgICAgID57eyByZXNvdXJjZUNvbnRhY3Q/LmVtYWlsIH19PC9hXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicHktNiBweC02IHJvdW5kZWQgYmctZ3JheS0xMDAgZ3JpZCBncmlkLWNvbHMtMiBnYXAteS02IGdhcC14LVsyMHB4XSB0ZXh0LWdyYXktNzAwXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5yZWNvcmRDcmVhdGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmNyZWF0aW9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW0gbXQtMVwiPlxuICAgICAgICB7eyBtZXRhZGF0YS5yZWNvcmRDcmVhdGVkLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlY29yZFB1Ymxpc2hlZFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5wdWJsaWNhdGlvbjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIG10LTFcIj5cbiAgICAgICAge3sgbWV0YWRhdGEucmVjb3JkUHVibGlzaGVkLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInVwZGF0ZUZyZXF1ZW5jeVwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3k8L3A+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bSBtdC0xIHVwZGF0ZUZyZXF1ZW5jeVwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgY291bnQ6IHVwZGF0ZWRUaW1lcyB9XCJcbiAgICAgID5cbiAgICAgICAge3sgdXBkYXRlRnJlcXVlbmN5IH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmxhbmd1YWdlc1wiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIG1iLTFcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmxhbmd1YWdlczwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0xIGZsZXgtd3JhcFwiPlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgbWV0YWRhdGEubGFuZ3VhZ2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIGxhbmd1YWdlLnt7IGxhbmd1YWdlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0xIG1iLTEgdGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiB0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwie1xuICAgICAgICAgICAgc3RhcnQ6IHRlbXBvcmFsRXh0ZW50LnN0YXJ0LFxuICAgICAgICAgICAgZW5kOiB0ZW1wb3JhbEV4dGVudC5lbmRcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudC5mcm9tRGF0ZVRvRGF0ZVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiAhdGVtcG9yYWxFeHRlbnQuZW5kXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgc3RhcnQ6IHRlbXBvcmFsRXh0ZW50LnN0YXJ0IH1cIlxuICAgICAgICA+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50LnNpbmNlRGF0ZVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCIhdGVtcG9yYWxFeHRlbnQuc3RhcnQgJiYgdGVtcG9yYWxFeHRlbnQuZW5kXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgZW5kOiB0ZW1wb3JhbEV4dGVudC5lbmQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEudGVtcG9yYWxFeHRlbnQudW50aWxEYXRlXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbjxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICpuZ0lmPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIlxuICBbdGl0bGVdPVwiJ3JlY29yZC5tZXRhZGF0YS50ZWNobmljYWwnIHwgdHJhbnNsYXRlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgbXItNCBweS01IHJvdW5kZWQgdGV4dC1ncmF5LTcwMFwiPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5yZWNvcmRVcGRhdGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVwZGF0ZWRPbjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhLnJlY29yZFVwZGF0ZWQgJiYgbWV0YWRhdGEucmVjb3JkVXBkYXRlZC50b0xvY2FsZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmxhbmRpbmdQYWdlXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnNoZWV0PC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIiB0cmFuc2xhdGU+XG4gICAgICAgIDxhIFtocmVmXT1cIm1ldGFkYXRhLmxhbmRpbmdQYWdlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVhay1hbGxcIiBnblVpTGlua2lmeT57eyBtZXRhZGF0YS5sYW5kaW5nUGFnZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5vd25lcjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uLm5hbWUgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEudW5pcXVlSWRlbnRpZmllclwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS51bmlxdWVJZDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGNvbnRlbnQtYWxpZ24gaXRlbXMtZW5kIGdhcC0xXCI+XG4gICAgICAgIDxnbi11aS1jb3B5LXRleHQtYnV0dG9uXG4gICAgICAgICAgW3RleHRdPVwibWV0YWRhdGEudW5pcXVlSWRlbnRpZmllclwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIid0b29sdGlwLmlkLmNvcHknIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGlzcGxheVRleHRdPVwiZmFsc2VcIlxuICAgICAgICA+PC9nbi11aS1jb3B5LXRleHQtYnV0dG9uPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiPlxuICAgICAgICAgIHt7IG1ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXIgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnRvcGljcz8ubGVuZ3RoXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gbWItMVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudG9waWNzPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNtOnBiLTQgc206cHItMTZcIj5cbiAgICAgICAgPGduLXVpLWJhZGdlXG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgbXItMiBtYi0yIGxvd2VyY2FzZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRvcGljIG9mIG1ldGFkYXRhLnRvcGljc1wiXG4gICAgICAgICAgPnt7IHRvcGljIH19PC9nbi11aS1iYWRnZVxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2duLXVpLWV4cGFuZGFibGUtcGFuZWw+XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtaW5mby9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFLdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7Ozs7Ozs7OztBQVE5RSxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBU1ksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0E2RWhEO0lBMUVDLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQUssSUFBSTtZQUN6QyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNqRSxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUU7WUFDMUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3hFLENBQUE7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUU7WUFDMUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3hFLENBQUE7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO1lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7aUJBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQzlDLENBQUE7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxZQUFZLE1BQU0sRUFBRTtZQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQTtZQUM5RCxPQUFPLGlDQUFpQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtTQUM1RTthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUU7WUFDNUQsT0FBTyxpQ0FBaUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtTQUN4RTthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUE7U0FDakI7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFBO1FBQ3JELE9BQU8scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFnQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QixDQUFDOytHQS9FVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix3SkNuQmxDLG8rUkE0UEE7OzRGRHpPYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRGF0YXNldFJlY29yZCxcbiAgS2V5d29yZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgZ2V0VGVtcG9yYWxSYW5nZVVuaW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLWluZm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLWluZm8uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFJbmZvQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbWV0YWRhdGE6IFBhcnRpYWw8RGF0YXNldFJlY29yZD5cbiAgQElucHV0KCkgaW5jb21wbGV0ZTogYm9vbGVhblxuICBAT3V0cHV0KCkga2V5d29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5d29yZD4oKVxuICB1cGRhdGVkVGltZXM6IG51bWJlclxuXG4gIGdldCBoYXNVc2FnZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tZXRhZGF0YS5leHRyYXM/LmlzT3BlbkRhdGEgPT09IHRydWUgfHxcbiAgICAgICh0aGlzLm1ldGFkYXRhLmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgdGhpcy5sZWdhbENvbnN0cmFpbnRzLmxlbmd0aCA+IDApIHx8XG4gICAgICAodGhpcy5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzPy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMub3RoZXJDb25zdHJhaW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMubWV0YWRhdGEubGljZW5zZXM/Lmxlbmd0aCA+IDAgJiYgdGhpcy5saWNlbnNlcy5sZW5ndGggPiAwKVxuICAgIClcbiAgfVxuXG4gIGdldCBsZWdhbENvbnN0cmFpbnRzKCkge1xuICAgIGxldCBhcnJheSA9IFtdXG4gICAgaWYgKHRoaXMubWV0YWRhdGEubGVnYWxDb25zdHJhaW50cz8ubGVuZ3RoKSB7XG4gICAgICBhcnJheSA9IGFycmF5LmNvbmNhdChcbiAgICAgICAgdGhpcy5tZXRhZGF0YS5sZWdhbENvbnN0cmFpbnRzLmZpbHRlcigoYykgPT4gYy50ZXh0KS5tYXAoKGMpID0+IGMudGV4dClcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5XG4gIH1cblxuICBnZXQgb3RoZXJDb25zdHJhaW50cygpIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLm90aGVyQ29uc3RyYWludHM/Lmxlbmd0aCkge1xuICAgICAgYXJyYXkgPSBhcnJheS5jb25jYXQoXG4gICAgICAgIHRoaXMubWV0YWRhdGEub3RoZXJDb25zdHJhaW50cy5maWx0ZXIoKGMpID0+IGMudGV4dCkubWFwKChjKSA9PiBjLnRleHQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhcnJheVxuICB9XG5cbiAgZ2V0IGxpY2Vuc2VzKCk6IHsgdGV4dDogc3RyaW5nOyB1cmw6IHN0cmluZyB9W10ge1xuICAgIGxldCBhcnJheSA9IFtdXG4gICAgaWYgKHRoaXMubWV0YWRhdGEubGljZW5zZXM/Lmxlbmd0aCkge1xuICAgICAgYXJyYXkgPSBhcnJheS5jb25jYXQoXG4gICAgICAgIHRoaXMubWV0YWRhdGEubGljZW5zZXNcbiAgICAgICAgICAuZmlsdGVyKChjKSA9PiBjLnRleHQpXG4gICAgICAgICAgLm1hcCgoYykgPT4gKHsgdGV4dDogYy50ZXh0LCB1cmw6IGMudXJsIH0pKVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlcbiAgfVxuXG4gIGdldCB1cGRhdGVGcmVxdWVuY3koKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIHRoaXMudXBkYXRlZFRpbWVzID0gdGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kudXBkYXRlZFRpbWVzXG4gICAgICByZXR1cm4gYGRvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LiR7dGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kucGVyfWBcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLm1ldGFkYXRhLnVwZGF0ZUZyZXF1ZW5jeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBgZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuJHt0aGlzLm1ldGFkYXRhLnVwZGF0ZUZyZXF1ZW5jeX1gXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBnZXQgdGVtcG9yYWxFeHRlbnQoKTogeyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9IHtcbiAgICBjb25zdCB0ZW1wb3JhbEV4dGVudHMgPSB0aGlzLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50c1xuICAgIHJldHVybiBnZXRUZW1wb3JhbFJhbmdlVW5pb24odGVtcG9yYWxFeHRlbnRzKVxuICB9XG5cbiAgZ2V0IHNob3duT3JnYW5pemF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uXG4gIH1cblxuICBnZXQgcmVzb3VyY2VDb250YWN0KCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLmNvbnRhY3RzRm9yUmVzb3VyY2U/LlswXVxuICB9XG5cbiAgZmllbGRSZWFkeShwcm9wTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICF0aGlzLmluY29tcGxldGUgfHwgcHJvcE5hbWUgaW4gdGhpcy5tZXRhZGF0YVxuICB9XG5cbiAgb25LZXl3b3JkQ2xpY2soa2V5d29yZDogS2V5d29yZCkge1xuICAgIHRoaXMua2V5d29yZC5lbWl0KGtleXdvcmQpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi02IG1kLWRlc2NyaXB0aW9uIHNtOm1iLTQgc206cHItMTZcIj5cbiAgPGduLXVpLWNvbnRlbnQtZ2hvc3QgZ2hvc3RDbGFzcz1cImgtMzJcIiBbc2hvd0NvbnRlbnRdPVwiZmllbGRSZWFkeSgnYWJzdHJhY3QnKVwiPlxuICAgIDxnbi11aS1tYXgtbGluZXMgW21heExpbmVzXT1cIjZcIiAqbmdJZj1cIm1ldGFkYXRhLmFic3RyYWN0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgW3RleHRDb250ZW50XT1cIm1ldGFkYXRhLmFic3RyYWN0XCJcbiAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9nbi11aS1tYXgtbGluZXM+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmtleXdvcmRzPy5sZW5ndGhcIj5cbiAgICAgIDxwIGNsYXNzPVwibXQtNiBtYi0zIGZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeSB0ZXh0LXNtXCIgdHJhbnNsYXRlPlxuICAgICAgICByZWNvcmQubWV0YWRhdGEua2V5d29yZHNcbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzbTpwYi00IGZsZXggZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICAgIDxnbi11aS1iYWRnZVxuICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGxvd2VyY2FzZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uS2V5d29yZENsaWNrKGtleXdvcmQpXCJcbiAgICAgICAgICBbY2xpY2thYmxlXT1cInRydWVcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBrZXl3b3JkIG9mIG1ldGFkYXRhLmtleXdvcmRzXCJcbiAgICAgICAgICA+e3sga2V5d29yZC5sYWJlbCB9fTwvZ24tdWktYmFkZ2VcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZ24tdWktY29udGVudC1naG9zdD5cbjwvZGl2PlxuXG48Z24tdWktZXhwYW5kYWJsZS1wYW5lbCBbdGl0bGVdPVwiJ3JlY29yZC5tZXRhZGF0YS51c2FnZScgfCB0cmFuc2xhdGVcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLVsxMHB4XSBtci00IHB5LVsxMnB4XSByb3VuZGVkIHRleHQtZ3JheS05MDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaWNlbnNlIG9mIGxpY2Vuc2VzXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibGljZW5zZS51cmw7IGVsc2Ugbm9VcmxcIiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPlxuICAgICAgICA8YVxuICAgICAgICAgIFtocmVmXT1cImxpY2Vuc2UudXJsXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lIHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxpY2Vuc2UudGV4dCB9fVxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkICF3LVsxMnB4XSAhaC1bMTJweF0gIXRleHQtWzEycHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgICAgPm9wZW5faW5fbmV3PC9tYXQtaWNvblxuICAgICAgICAgID5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI25vVXJsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5XCIgZ25VaUxpbmtpZnk+XG4gICAgICAgICAge3sgbGljZW5zZS50ZXh0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGVnYWxDb25zdHJhaW50cy5sZW5ndGhcIj5cbiAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbnN0cmFpbnQgb2YgbGVnYWxDb25zdHJhaW50c1wiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJjb25zdHJhaW50XCJcbiAgICAgID5cbiAgICAgIDwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvdGhlckNvbnN0cmFpbnRzLmxlbmd0aFwiPlxuICAgICAgPGRpdiBnblVpTGlua2lmeSAqbmdGb3I9XCJsZXQgY29uc3RyYWludCBvZiBvdGhlckNvbnN0cmFpbnRzXCI+XG4gICAgICAgIDxoNSB0cmFuc2xhdGUgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LWJsYWNrIHRleHQtc20gbWItWzJweF0gbXQtWzE2cHhdXCI+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLm90aGVyQ29uc3RyYWludHNcbiAgICAgICAgPC9oNT5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlciBbdGV4dENvbnRlbnRdPVwiY29uc3RyYWludFwiPlxuICAgICAgICA8L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJub1VzYWdlXCIgKm5nSWY9XCIhaGFzVXNhZ2VcIj5cbiAgICAgIHt7ICdyZWNvcmQubWV0YWRhdGEubm9Vc2FnZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsPlxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgKm5nSWY9XCJcbiAgICBtZXRhZGF0YS5saW5lYWdlIHx8XG4gICAgbWV0YWRhdGEucmVjb3JkVXBkYXRlZCB8fFxuICAgIG1ldGFkYXRhLnVwZGF0ZUZyZXF1ZW5jeSB8fFxuICAgIG1ldGFkYXRhLnN0YXR1c1xuICBcIlxuICBbdGl0bGVdPVwiJ3JlY29yZC5tZXRhZGF0YS5kZXRhaWxzJyB8IHRyYW5zbGF0ZVwiXG4+XG4gIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5saW5lYWdlXCIgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIGZsZXggZmxleC1jb2wgbXQtNCBnYXAtMlwiPlxuICAgIDxwIGNsYXNzPVwid2hpdGVzcGFjZS1wcmUtbGluZSBicmVhay13b3JkcyB0ZXh0LWdyYXktOTAwXCIgZ25VaUxpbmtpZnk+XG4gICAgICB7eyBtZXRhZGF0YS5saW5lYWdlIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTYgbXQtNSBtYi04XCIgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3RcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24/LmxvZ29Vcmw/LmhyZWZcIlxuICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItc29saWQgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGJnLXdoaXRlIGgtMzIgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+XG4gICAgICA8Z24tdWktdGh1bWJuYWlsXG4gICAgICAgIGNsYXNzPVwicmVsYXRpdmUgaC1mdWxsIHctZnVsbFwiXG4gICAgICAgIFt0aHVtYm5haWxVcmxdPVwicmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbi5sb2dvVXJsLmhyZWZcIlxuICAgICAgICBmaXQ9XCJjb250YWluXCJcbiAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5wcm9kdWNlcjwvcD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC10aXRsZSB0ZXh0LTIxIG1yLTIgY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lXCJcbiAgICAgICAgZGF0YS1jeT1cIm9yZ2FuaXphdGlvbi1uYW1lXCJcbiAgICAgID5cbiAgICAgICAge3sgcmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbj8ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwicmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbj8ud2Vic2l0ZVwiPlxuICAgICAgICA8YVxuICAgICAgICAgIFtocmVmXT1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBjbGFzcz1cImNvbnRhY3Qtd2Vic2l0ZSB0ZXh0LXByaW1hcnkgdGV4dC1zbSBjdXJzb3ItcG9pbnRlciBob3Zlcjp1bmRlcmxpbmUgdHJhbnNpdGlvbi1hbGxcIlxuICAgICAgICAgID57eyByZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uLndlYnNpdGUgfX1cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy1bMTJweF0gIWgtWzEycHhdICF0ZXh0LVsxMnB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICAgID5vcGVuX2luX25ldzwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cInJlc291cmNlQ29udGFjdC5lbWFpbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkICF3LTUgIWgtNSAhdGV4dC1bMjBweF0gb3BhY2l0eS03NSBzaHJpbmstMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgbWFpbF9vdXRsaW5lPC9tYXQtaWNvblxuICAgICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3QuZW1haWxcIlxuICAgICAgICAgICAgW2hyZWZdPVwiJ21haWx0bzonICsgcmVzb3VyY2VDb250YWN0LmVtYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBob3Zlcjp1bmRlcmxpbmUgbWwtMlwiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgPnt7IHJlc291cmNlQ29udGFjdD8uZW1haWwgfX08L2FcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJweS02IHB4LTYgcm91bmRlZCBiZy1ncmF5LTEwMCBncmlkIGdyaWQtY29scy0yIGdhcC15LTYgZ2FwLXgtWzIwcHhdIHRleHQtZ3JheS03MDBcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlY29yZENyZWF0ZWRcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuY3JlYXRpb248L3A+XG4gICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bSBtdC0xXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhLnJlY29yZENyZWF0ZWQudG9Mb2NhbGVEYXRlU3RyaW5nKCkgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEucmVjb3JkUHVibGlzaGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnB1YmxpY2F0aW9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW0gbXQtMVwiPlxuICAgICAgICB7eyBtZXRhZGF0YS5yZWNvcmRQdWJsaXNoZWQudG9Mb2NhbGVEYXRlU3RyaW5nKCkgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidXBkYXRlRnJlcXVlbmN5XCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVwZGF0ZUZyZXF1ZW5jeTwvcD5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIG10LTEgdXBkYXRlRnJlcXVlbmN5XCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBjb3VudDogdXBkYXRlZFRpbWVzIH1cIlxuICAgICAgPlxuICAgICAgICB7eyB1cGRhdGVGcmVxdWVuY3kgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEubGFuZ3VhZ2VzXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gbWItMVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEubGFuZ3VhZ2VzPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTEgZmxleC13cmFwXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBtZXRhZGF0YS5sYW5ndWFnZXNcIlxuICAgICAgICA+XG4gICAgICAgICAgbGFuZ3VhZ2Uue3sgbGFuZ3VhZ2UgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInRlbXBvcmFsRXh0ZW50XCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50PC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTEgbWItMSB0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cInRlbXBvcmFsRXh0ZW50LnN0YXJ0ICYmIHRlbXBvcmFsRXh0ZW50LmVuZFwiXG4gICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7XG4gICAgICAgICAgICBzdGFydDogdGVtcG9yYWxFeHRlbnQuc3RhcnQsXG4gICAgICAgICAgICBlbmQ6IHRlbXBvcmFsRXh0ZW50LmVuZFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50LmZyb21EYXRlVG9EYXRlXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cInRlbXBvcmFsRXh0ZW50LnN0YXJ0ICYmICF0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBzdGFydDogdGVtcG9yYWxFeHRlbnQuc3RhcnQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEudGVtcG9yYWxFeHRlbnQuc2luY2VEYXRlXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cIiF0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiB0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBlbmQ6IHRlbXBvcmFsRXh0ZW50LmVuZCB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudC51bnRpbERhdGVcbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsPlxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgKm5nSWY9XCJtZXRhZGF0YS5sYW5kaW5nUGFnZVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLm1ldGFkYXRhLnRlY2huaWNhbCcgfCB0cmFuc2xhdGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBtci00IHB5LTUgcm91bmRlZCB0ZXh0LWdyYXktNzAwXCI+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlY29yZFVwZGF0ZWRcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudXBkYXRlZE9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3sgbWV0YWRhdGEucmVjb3JkVXBkYXRlZCAmJiBtZXRhZGF0YS5yZWNvcmRVcGRhdGVkLnRvTG9jYWxlU3RyaW5nKCkgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuc2hlZXQ8L3A+XG4gICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgPGEgW2hyZWZdPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJyZWFrLWFsbFwiIGduVWlMaW5raWZ5Pnt7IG1ldGFkYXRhLmxhbmRpbmdQYWdlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLm93bmVyPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3sgbWV0YWRhdGEub3duZXJPcmdhbml6YXRpb24ubmFtZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVuaXF1ZUlkPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgY29udGVudC1hbGlnbiBpdGVtcy1lbmQgZ2FwLTFcIj5cbiAgICAgICAgPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgICAgICAgICBbdGV4dF09XCJtZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ3Rvb2x0aXAuaWQuY29weScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNwbGF5VGV4dF09XCJmYWxzZVwiXG4gICAgICAgID48L2duLXVpLWNvcHktdGV4dC1idXR0b24+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAge3sgbWV0YWRhdGEudW5pcXVlSWRlbnRpZmllciB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEudG9waWNzPy5sZW5ndGhcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSBtYi0xXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS50b3BpY3M8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic206cGItNCBzbTpwci0xNlwiPlxuICAgICAgICA8Z24tdWktYmFkZ2VcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBtci0yIG1iLTIgbG93ZXJjYXNlXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdG9waWMgb2YgbWV0YWRhdGEudG9waWNzXCJcbiAgICAgICAgICA+e3sgdG9waWMgfX08L2duLXVpLWJhZGdlXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbiJdfQ==
|
package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
import * as i2 from "@angular/material/tooltip";
|
|
@@ -6,13 +6,32 @@ import * as i3 from "@angular/router";
|
|
|
6
6
|
import * as i4 from "../thumbnail/thumbnail.component";
|
|
7
7
|
import * as i5 from "@ngx-translate/core";
|
|
8
8
|
export class RelatedRecordCardComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.extraClass = '';
|
|
11
|
+
this.baseClasses = [
|
|
12
|
+
'w-72',
|
|
13
|
+
'h-96',
|
|
14
|
+
'overflow-hidden',
|
|
15
|
+
'rounded-lg',
|
|
16
|
+
'bg-white',
|
|
17
|
+
'cursor-pointer',
|
|
18
|
+
'block',
|
|
19
|
+
'hover:-translate-y-2 ',
|
|
20
|
+
'duration-[180ms]',
|
|
21
|
+
].join(' ');
|
|
22
|
+
}
|
|
23
|
+
get classList() {
|
|
24
|
+
return `${this.baseClasses} ${this.extraClass}`;
|
|
25
|
+
}
|
|
9
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record" }, ngImport: i0, template: "<a\n class=\"
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record", extraClass: "extraClass" }, ngImport: i0, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
28
|
}
|
|
12
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, decorators: [{
|
|
13
30
|
type: Component,
|
|
14
|
-
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"
|
|
15
|
-
}], propDecorators: { record: [{
|
|
31
|
+
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n" }]
|
|
32
|
+
}], ctorParameters: function () { return []; }, propDecorators: { record: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], extraClass: [{
|
|
16
35
|
type: Input
|
|
17
36
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvcmVsYXRlZC1yZWNvcmQtY2FyZC9yZWxhdGVkLXJlY29yZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWxhdGVkLXJlY29yZC1jYXJkL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFTekUsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQztRQUZTLGVBQVUsR0FBRyxFQUFFLENBQUE7UUFHdEIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixNQUFNO1lBQ04sTUFBTTtZQUNOLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixPQUFPO1lBQ1AsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtTQUNuQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDakQsQ0FBQzsrR0F0QlUsMEJBQTBCO21HQUExQiwwQkFBMEIseUhDVHZDLGsxQkE4QkE7OzRGRHJCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUt0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlbGF0ZWQtcmVjb3JkLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRlZFJlY29yZENhcmRDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VDbGFzc2VzOiBzdHJpbmdcblxuICBASW5wdXQoKSByZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgQElucHV0KCkgZXh0cmFDbGFzcyA9ICcnXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5iYXNlQ2xhc3NlcyA9IFtcbiAgICAgICd3LTcyJyxcbiAgICAgICdoLTk2JyxcbiAgICAgICdvdmVyZmxvdy1oaWRkZW4nLFxuICAgICAgJ3JvdW5kZWQtbGcnLFxuICAgICAgJ2JnLXdoaXRlJyxcbiAgICAgICdjdXJzb3ItcG9pbnRlcicsXG4gICAgICAnYmxvY2snLFxuICAgICAgJ2hvdmVyOi10cmFuc2xhdGUteS0yICcsXG4gICAgICAnZHVyYXRpb24tWzE4MG1zXScsXG4gICAgXS5qb2luKCcgJylcbiAgfVxuXG4gIGdldCBjbGFzc0xpc3QoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZUNsYXNzZXN9ICR7dGhpcy5leHRyYUNsYXNzfWBcbiAgfVxufVxuIiwiPGFcbiAgW2NsYXNzXT1cImNsYXNzTGlzdFwiXG4gIFtyb3V0ZXJMaW5rXT1cIlsnL2RhdGFzZXQnLCByZWNvcmQudW5pcXVlSWRlbnRpZmllcl1cIlxuICB0YXJnZXQ9XCJfYmxhbmtcIlxuPlxuICA8ZGl2IGNsYXNzPVwiaC01MiBiZy1ncmF5LTEwMFwiPlxuICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgIGNsYXNzPVwiaC01MiB3LWZ1bGwgb2JqZWN0LWNvdmVyXCJcbiAgICAgIFt0aHVtYm5haWxVcmxdPVwicmVjb3JkLm92ZXJ2aWV3cz8uWzBdPy51cmwudG9TdHJpbmcoKVwiXG4gICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIGgtNDQgcHgtNSBwdC00IHBiLTZcIj5cbiAgICA8aDRcbiAgICAgIGNsYXNzPVwibWF4LWgtMjQgZm9udC10aXRsZSB0ZXh0LTIxIHRleHQtYmxhY2sgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW5cIlxuICAgID5cbiAgICAgIHt7IHJlY29yZC50aXRsZSB9fVxuICAgIDwvaDQ+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3Rvb2x0aXAudXJsLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGFsaWduLW1pZGRsZSB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgPm9wZW5faW5fbmV3PC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2E+XG4iXX0=
|