@net7/boilerplate-arianna 4.9.7 → 5.0.0
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/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +29 -0
- package/{esm2020 → esm2022}/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/chart-tippy/chart-tippy.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/extended-tree/extended-tree.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.mjs +4 -4
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.mjs +31 -0
- package/esm2022/lib/components/scheda-dropdown/scheda-dropdown.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/scheda-image-navigator/scheda-image-navigator.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/scheda-search/scheda-search.mjs +4 -4
- package/esm2022/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +82 -0
- package/esm2022/lib/config/apollo.config.mjs +738 -0
- package/esm2022/lib/data-sources/autocomplete-wrapper.ds.mjs +48 -0
- package/esm2022/lib/data-sources/aw-facets-wrapper.ds.mjs +162 -0
- package/esm2022/lib/data-sources/bubble-chart.ds.mjs +95 -0
- package/esm2022/lib/data-sources/carousel.ds.mjs +74 -0
- package/esm2022/lib/data-sources/entita-nav.ds.mjs +74 -0
- package/esm2022/lib/data-sources/extended-tree.ds.mjs +157 -0
- package/esm2022/lib/data-sources/gallery-results.ds.mjs +103 -0
- package/esm2022/lib/data-sources/home-autocomplete.ds.mjs +80 -0
- package/esm2022/lib/data-sources/home-facets-wrapper.ds.mjs +190 -0
- package/esm2022/lib/data-sources/linked-objects.ds.mjs +219 -0
- package/{esm2020 → esm2022}/lib/data-sources/map.ds.mjs +1 -1
- package/{esm2020 → esm2022}/lib/data-sources/related-entities.ds.mjs +2 -2
- package/{esm2020 → esm2022}/lib/data-sources/scheda-breadcrumbs.ds.mjs +1 -1
- package/{esm2020 → esm2022}/lib/data-sources/scheda-dropdown.ds.mjs +1 -1
- package/esm2022/lib/data-sources/scheda-image-navigator.ds.mjs +82 -0
- package/{esm2020 → esm2022}/lib/data-sources/scheda-image.ds.mjs +1 -1
- package/esm2022/lib/data-sources/scheda-pdf.ds.mjs +54 -0
- package/esm2022/lib/data-sources/scheda-search.ds.mjs +141 -0
- package/{esm2020 → esm2022}/lib/data-sources/sidebar-header.ds.mjs +1 -1
- package/esm2022/lib/data-sources/timeline.ds.mjs +106 -0
- package/esm2022/lib/data-sources/tree.ds.mjs +154 -0
- package/esm2022/lib/event-handlers/autocomplete-wrapper.eh.mjs +18 -0
- package/esm2022/lib/event-handlers/aw-facets-wrapper.eh.mjs +88 -0
- package/esm2022/lib/event-handlers/bubble-chart.eh.mjs +98 -0
- package/esm2022/lib/event-handlers/chart-tippy.eh.mjs +64 -0
- package/{esm2020 → esm2022}/lib/event-handlers/entita-nav.eh.mjs +1 -1
- package/esm2022/lib/event-handlers/extended-tree.eh.mjs +23 -0
- package/esm2022/lib/event-handlers/gallery-results.eh.mjs +38 -0
- package/esm2022/lib/event-handlers/hero.eh.mjs +25 -0
- package/{esm2020 → esm2022}/lib/event-handlers/home-autocomplete.eh.mjs +1 -1
- package/esm2022/lib/event-handlers/home-facets-wrapper.eh.mjs +125 -0
- package/{esm2020 → esm2022}/lib/event-handlers/home-item-tags-wrapper.eh.mjs +1 -1
- package/esm2022/lib/event-handlers/linked-objects.eh.mjs +60 -0
- package/esm2022/lib/event-handlers/map.eh.mjs +23 -0
- package/{esm2020 → esm2022}/lib/event-handlers/scheda-breadcrumbs.eh.mjs +1 -1
- package/esm2022/lib/event-handlers/scheda-dropdown.eh.mjs +17 -0
- package/esm2022/lib/event-handlers/scheda-image-navigator.eh.mjs +18 -0
- package/esm2022/lib/event-handlers/scheda-pdf.eh.mjs +14 -0
- package/{esm2020 → esm2022}/lib/event-handlers/scheda-search.eh.mjs +1 -1
- package/{esm2020 → esm2022}/lib/event-handlers/sidebar-header.eh.mjs +1 -1
- package/esm2022/lib/event-handlers/timeline.eh.mjs +46 -0
- package/esm2022/lib/event-handlers/tree.eh.mjs +119 -0
- package/esm2022/lib/helpers/metadata.helper.mjs +89 -0
- package/esm2022/lib/helpers/node.helper.mjs +14 -0
- package/esm2022/lib/helpers/title.helper.mjs +12 -0
- package/esm2022/lib/layouts/collection-layout/collection-layout.ds.mjs +185 -0
- package/esm2022/lib/layouts/collection-layout/collection-layout.eh.mjs +27 -0
- package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.mjs +5 -5
- package/esm2022/lib/layouts/entita-layout/entita-layout.ds.mjs +320 -0
- package/esm2022/lib/layouts/entita-layout/entita-layout.eh.mjs +119 -0
- package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-facets.config.mjs +3 -3
- package/esm2022/lib/layouts/gallery-layout/gallery-layout.ds.mjs +48 -0
- package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.mjs +5 -5
- package/esm2022/lib/layouts/home-layout/home-layout.ds.mjs +298 -0
- package/esm2022/lib/layouts/home-layout/home-layout.eh.mjs +245 -0
- package/{esm2020 → esm2022}/lib/layouts/home-layout/home-layout.mjs +5 -5
- package/esm2022/lib/layouts/map-layout/map-layout.ds.mjs +122 -0
- package/esm2022/lib/layouts/map-layout/map-layout.eh.mjs +44 -0
- package/{esm2020 → esm2022}/lib/layouts/map-layout/map-layout.mjs +5 -5
- package/esm2022/lib/layouts/scheda-layout/scheda-layout.ds.mjs +472 -0
- package/esm2022/lib/layouts/scheda-layout/scheda-layout.eh.mjs +347 -0
- package/{esm2020 → esm2022}/lib/layouts/scheda-layout/scheda-layout.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layouts/search-layout/search-facets.config.mjs +3 -3
- package/esm2022/lib/layouts/search-layout/search-layout.ds.mjs +306 -0
- package/esm2022/lib/layouts/search-layout/search-layout.eh.mjs +175 -0
- package/{esm2020 → esm2022}/lib/layouts/search-layout/search-layout.mjs +5 -5
- package/esm2022/lib/layouts/timeline-layout/timeline-layout.ds.mjs +143 -0
- package/esm2022/lib/layouts/timeline-layout/timeline-layout.eh.mjs +41 -0
- package/{esm2020 → esm2022}/lib/layouts/timeline-layout/timeline-layout.mjs +5 -5
- package/{esm2020 → esm2022}/lib/n7-boilerplate-arianna.module.mjs +48 -48
- package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-checkbox.mjs +1 -1
- package/esm2022/lib/search/aw-facet-inputs/aw-facet-input-link.mjs +89 -0
- package/esm2022/lib/search/aw-facet-inputs/aw-facet-input.mjs +30 -0
- package/esm2022/lib/search/aw-search.model.mjs +331 -0
- package/esm2022/lib/search/aw-search.service.mjs +42 -0
- package/esm2022/lib/search/entity-links.helper.mjs +126 -0
- package/{fesm2020 → fesm2022}/net7-boilerplate-arianna.mjs +170 -159
- package/fesm2022/net7-boilerplate-arianna.mjs.map +1 -0
- package/lib/components/aw-facets-wrapper/aw-facets-wrapper.d.ts +1 -1
- package/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.d.ts +1 -1
- package/lib/components/chart-tippy/chart-tippy.d.ts +1 -1
- package/lib/components/extended-tree/extended-tree.d.ts +2 -2
- package/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.d.ts +2 -2
- package/lib/components/pdf-viewer/pdf-viewer.d.ts +3 -3
- package/lib/components/scheda-dropdown/scheda-dropdown.d.ts +2 -2
- package/lib/components/scheda-image-navigator/scheda-image-navigator.d.ts +2 -2
- package/lib/components/scheda-search/scheda-search.d.ts +2 -2
- package/lib/components/smart-breadcrumbs/smart-breadcrumbs.d.ts +1 -1
- package/lib/config-types/arianna/app.d.ts +4 -4
- package/lib/config-types/arianna/layouts.d.ts +1 -1
- package/lib/data-sources/carousel.ds.d.ts +2 -2
- package/lib/data-sources/extended-tree.ds.d.ts +2 -2
- package/lib/layouts/collection-layout/collection-layout.d.ts +1 -1
- package/lib/layouts/collection-layout/collection-layout.types.d.ts +2 -2
- package/lib/layouts/entita-layout/entita-layout.d.ts +1 -1
- package/lib/layouts/entita-layout/entita-layout.types.d.ts +2 -2
- package/lib/layouts/gallery-layout/gallery-layout.d.ts +1 -1
- package/lib/layouts/home-layout/home-layout.d.ts +1 -1
- package/lib/layouts/map-layout/map-layout.d.ts +1 -1
- package/lib/layouts/map-layout/map-layout.ds.d.ts +1 -1
- package/lib/layouts/scheda-layout/scheda-layout.d.ts +1 -1
- package/lib/layouts/search-layout/search-layout.d.ts +1 -1
- package/lib/layouts/search-layout/search-layout.ds.d.ts +1 -1
- package/lib/layouts/timeline-layout/timeline-layout.d.ts +1 -1
- package/lib/layouts/timeline-layout/timeline-layout.ds.d.ts +1 -1
- package/lib/search/aw-search.model.d.ts +3 -3
- package/package.json +5 -11
- package/esm2020/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +0 -29
- package/esm2020/lib/components/pdf-viewer/pdf-viewer.mjs +0 -31
- package/esm2020/lib/components/scheda-dropdown/scheda-dropdown.mjs +0 -26
- package/esm2020/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +0 -82
- package/esm2020/lib/config/apollo.config.mjs +0 -738
- package/esm2020/lib/data-sources/autocomplete-wrapper.ds.mjs +0 -48
- package/esm2020/lib/data-sources/aw-facets-wrapper.ds.mjs +0 -162
- package/esm2020/lib/data-sources/bubble-chart.ds.mjs +0 -95
- package/esm2020/lib/data-sources/carousel.ds.mjs +0 -74
- package/esm2020/lib/data-sources/entita-nav.ds.mjs +0 -74
- package/esm2020/lib/data-sources/extended-tree.ds.mjs +0 -157
- package/esm2020/lib/data-sources/gallery-results.ds.mjs +0 -103
- package/esm2020/lib/data-sources/home-autocomplete.ds.mjs +0 -80
- package/esm2020/lib/data-sources/home-facets-wrapper.ds.mjs +0 -190
- package/esm2020/lib/data-sources/linked-objects.ds.mjs +0 -219
- package/esm2020/lib/data-sources/scheda-image-navigator.ds.mjs +0 -82
- package/esm2020/lib/data-sources/scheda-pdf.ds.mjs +0 -54
- package/esm2020/lib/data-sources/scheda-search.ds.mjs +0 -141
- package/esm2020/lib/data-sources/timeline.ds.mjs +0 -106
- package/esm2020/lib/data-sources/tree.ds.mjs +0 -154
- package/esm2020/lib/event-handlers/autocomplete-wrapper.eh.mjs +0 -18
- package/esm2020/lib/event-handlers/aw-facets-wrapper.eh.mjs +0 -88
- package/esm2020/lib/event-handlers/bubble-chart.eh.mjs +0 -98
- package/esm2020/lib/event-handlers/chart-tippy.eh.mjs +0 -64
- package/esm2020/lib/event-handlers/extended-tree.eh.mjs +0 -23
- package/esm2020/lib/event-handlers/gallery-results.eh.mjs +0 -38
- package/esm2020/lib/event-handlers/hero.eh.mjs +0 -25
- package/esm2020/lib/event-handlers/home-facets-wrapper.eh.mjs +0 -125
- package/esm2020/lib/event-handlers/linked-objects.eh.mjs +0 -60
- package/esm2020/lib/event-handlers/map.eh.mjs +0 -23
- package/esm2020/lib/event-handlers/scheda-dropdown.eh.mjs +0 -17
- package/esm2020/lib/event-handlers/scheda-image-navigator.eh.mjs +0 -18
- package/esm2020/lib/event-handlers/scheda-pdf.eh.mjs +0 -14
- package/esm2020/lib/event-handlers/timeline.eh.mjs +0 -46
- package/esm2020/lib/event-handlers/tree.eh.mjs +0 -119
- package/esm2020/lib/helpers/metadata.helper.mjs +0 -89
- package/esm2020/lib/helpers/node.helper.mjs +0 -14
- package/esm2020/lib/helpers/title.helper.mjs +0 -12
- package/esm2020/lib/layouts/collection-layout/collection-layout.ds.mjs +0 -185
- package/esm2020/lib/layouts/collection-layout/collection-layout.eh.mjs +0 -27
- package/esm2020/lib/layouts/entita-layout/entita-layout.ds.mjs +0 -320
- package/esm2020/lib/layouts/entita-layout/entita-layout.eh.mjs +0 -119
- package/esm2020/lib/layouts/gallery-layout/gallery-layout.ds.mjs +0 -48
- package/esm2020/lib/layouts/home-layout/home-layout.ds.mjs +0 -298
- package/esm2020/lib/layouts/home-layout/home-layout.eh.mjs +0 -245
- package/esm2020/lib/layouts/map-layout/map-layout.ds.mjs +0 -122
- package/esm2020/lib/layouts/map-layout/map-layout.eh.mjs +0 -44
- package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +0 -472
- package/esm2020/lib/layouts/scheda-layout/scheda-layout.eh.mjs +0 -347
- package/esm2020/lib/layouts/search-layout/search-layout.ds.mjs +0 -306
- package/esm2020/lib/layouts/search-layout/search-layout.eh.mjs +0 -175
- package/esm2020/lib/layouts/timeline-layout/timeline-layout.ds.mjs +0 -143
- package/esm2020/lib/layouts/timeline-layout/timeline-layout.eh.mjs +0 -41
- package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-link.mjs +0 -89
- package/esm2020/lib/search/aw-facet-inputs/aw-facet-input.mjs +0 -30
- package/esm2020/lib/search/aw-search.model.mjs +0 -331
- package/esm2020/lib/search/aw-search.service.mjs +0 -42
- package/esm2020/lib/search/entity-links.helper.mjs +0 -126
- package/fesm2015/net7-boilerplate-arianna.mjs +0 -8551
- package/fesm2015/net7-boilerplate-arianna.mjs.map +0 -1
- package/fesm2020/net7-boilerplate-arianna.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/config-types/arianna/app.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/config-types/arianna/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/config-types/arianna/layouts.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/config-types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/chart-tippy.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/entita-metadata-viewer.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/hero.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/home-hero-patrimonio.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/home-item-tags-wrapper.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/scheda-inner-title.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/scheda-metadata.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/search-layout-tabs.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-sources/table.ds.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/event-handlers/home-hero-patrimonio.eh.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/event-handlers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/event-handlers/search-layout-tabs.eh.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/event-handlers/table.eh.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.eh.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/home-layout/home-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/map-layout/map-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/scheda-layout/scheda-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/search-layout/search-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layouts/timeline-layout/timeline-layout.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-select.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-text.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/net7-boilerplate-arianna.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventHandler } from '@net7/core';
|
|
2
|
+
export class AwSchedaPdfEH extends EventHandler {
|
|
3
|
+
listen() {
|
|
4
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
5
|
+
if (type === 'aw-scheda-pdf.click') {
|
|
6
|
+
this.dataSource.onChange(payload);
|
|
7
|
+
}
|
|
8
|
+
else if (type === 'aw-scheda-pdf.loaded') {
|
|
9
|
+
this.dataSource.onLoaded();
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWRhLXBkZi5laC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9ldmVudC1oYW5kbGVycy9zY2hlZGEtcGRmLmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxZQUFZO0lBR3RDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDaEQsSUFBSSxJQUFJLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxJQUFJLElBQUksS0FBSyxzQkFBc0IsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50SGFuZGxlciB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgQXdTY2hlZGFQZGZEUyB9IGZyb20gJy4uL2RhdGEtc291cmNlcyc7XG5cbmV4cG9ydCBjbGFzcyBBd1NjaGVkYVBkZkVIIGV4dGVuZHMgRXZlbnRIYW5kbGVyIHtcbiAgcHVibGljIGRhdGFTb3VyY2U6IEF3U2NoZWRhUGRmRFM7XG5cbiAgcHVibGljIGxpc3RlbigpIHtcbiAgICB0aGlzLmlubmVyRXZlbnRzJC5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2F3LXNjaGVkYS1wZGYuY2xpY2snKSB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkNoYW5nZShwYXlsb2FkKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2F3LXNjaGVkYS1wZGYubG9hZGVkJykge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub25Mb2FkZWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -12,4 +12,4 @@ export class AwSchedaSearchEH extends EventHandler {
|
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWRhLXNlYXJjaC5laC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9ldmVudC1oYW5kbGVycy9zY2hlZGEtc2VhcmNoLmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHMUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFHekMsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNoRCxpQkFBaUI7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxJQUFJLEtBQUssc0NBQXNDLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRIYW5kbGVyIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBBd1NjaGVkYVNlYXJjaERTIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2VzJztcblxuZXhwb3J0IGNsYXNzIEF3U2NoZWRhU2VhcmNoRUggZXh0ZW5kcyBFdmVudEhhbmRsZXIge1xuICBkYXRhU291cmNlOiBBd1NjaGVkYVNlYXJjaERTO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgLy8gcmVkaXJlY3QgZXZlbnRcbiAgICAgIHRoaXMuZW1pdE91dGVyKHR5cGUuc3BsaXQoJy4nKVsxXSwgcGF5bG9hZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm91dGVyRXZlbnRzJC5zdWJzY3JpYmUoKHsgdHlwZSB9KSA9PiB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2F3LXNjaGVkYS1sYXlvdXQuc2NoZWRhc2VhcmNocmVxdWVzdCcpIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,4 +8,4 @@ export class AwSidebarHeaderEH extends EventHandler {
|
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1oZWFkZXIuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvc2lkZWJhci1oZWFkZXIuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBWTtJQUMxQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2hELElBQUksSUFBSSxLQUFLLHlCQUF5QixFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50SGFuZGxlciB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQXdTaWRlYmFySGVhZGVyRUggZXh0ZW5kcyBFdmVudEhhbmRsZXIge1xuICBwdWJsaWMgbGlzdGVuKCkge1xuICAgIHRoaXMuaW5uZXJFdmVudHMkLnN1YnNjcmliZSgoeyB0eXBlLCBwYXlsb2FkIH0pID0+IHtcbiAgICAgIGlmICh0eXBlID09PSAnYXctc2lkZWJhci1oZWFkZXIuY2xpY2snKSB7XG4gICAgICAgIHRoaXMuZW1pdE91dGVyKCdjbGljaycsIHBheWxvYWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EventHandler } from '@net7/core';
|
|
2
|
+
import { first } from 'rxjs/operators';
|
|
3
|
+
export class AwTimelineEH extends EventHandler {
|
|
4
|
+
listen() {
|
|
5
|
+
this.outerEvents$.subscribe(({ type }) => {
|
|
6
|
+
switch (type) {
|
|
7
|
+
case 'aw-timeline-layout.init':
|
|
8
|
+
this.listenToTimeline();
|
|
9
|
+
break;
|
|
10
|
+
case 'aw-timeline-layout.zoomout':
|
|
11
|
+
this.dataSource.timeline.zoomOut(0.7);
|
|
12
|
+
break;
|
|
13
|
+
case 'aw-timeline-layout.zoomin':
|
|
14
|
+
this.dataSource.timeline.zoomIn(0.7);
|
|
15
|
+
break;
|
|
16
|
+
default:
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
listenToTimeline() {
|
|
22
|
+
this.dataSource.timelineLoaded$
|
|
23
|
+
.pipe(first())
|
|
24
|
+
.subscribe(() => {
|
|
25
|
+
const { timeline, dataSet } = this.dataSource;
|
|
26
|
+
timeline.on('click', ({ item }) => {
|
|
27
|
+
const clicked = dataSet.find(({ id }) => item === id);
|
|
28
|
+
if (clicked) {
|
|
29
|
+
const { dateText } = clicked._meta;
|
|
30
|
+
const { id, label } = clicked.item;
|
|
31
|
+
this.emitOuter('click', {
|
|
32
|
+
id,
|
|
33
|
+
label,
|
|
34
|
+
dateText,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.emitOuter('click', {
|
|
39
|
+
id: null
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvdGltZWxpbmUuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBQ3JDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUsseUJBQXlCO29CQUM1QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTTtnQkFFUixLQUFLLDRCQUE0QjtvQkFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxNQUFNO2dCQUVSLEtBQUssMkJBQTJCO29CQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3JDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlO2FBQzVCLElBQUksQ0FDSCxLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDOUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3RELElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1osTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ25DLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7d0JBQ3RCLEVBQUU7d0JBQ0YsS0FBSzt3QkFDTCxRQUFRO3FCQUNULENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7d0JBQ3RCLEVBQUUsRUFBRSxJQUFJO3FCQUNULENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50SGFuZGxlciB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBBd1RpbWVsaW5lRUggZXh0ZW5kcyBFdmVudEhhbmRsZXIge1xuICBwdWJsaWMgbGlzdGVuKCkge1xuICAgIHRoaXMub3V0ZXJFdmVudHMkLnN1YnNjcmliZSgoeyB0eXBlIH0pID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdhdy10aW1lbGluZS1sYXlvdXQuaW5pdCc6XG4gICAgICAgICAgdGhpcy5saXN0ZW5Ub1RpbWVsaW5lKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYXctdGltZWxpbmUtbGF5b3V0Lnpvb21vdXQnOlxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS50aW1lbGluZS56b29tT3V0KDAuNyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYXctdGltZWxpbmUtbGF5b3V0Lnpvb21pbic6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnRpbWVsaW5lLnpvb21JbigwLjcpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvVGltZWxpbmUoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLnRpbWVsaW5lTG9hZGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpcnN0KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHRpbWVsaW5lLCBkYXRhU2V0IH0gPSB0aGlzLmRhdGFTb3VyY2U7XG4gICAgICAgIHRpbWVsaW5lLm9uKCdjbGljaycsICh7IGl0ZW0gfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNsaWNrZWQgPSBkYXRhU2V0LmZpbmQoKHsgaWQgfSkgPT4gaXRlbSA9PT0gaWQpO1xuICAgICAgICAgIGlmIChjbGlja2VkKSB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGVUZXh0IH0gPSBjbGlja2VkLl9tZXRhO1xuICAgICAgICAgICAgY29uc3QgeyBpZCwgbGFiZWwgfSA9IGNsaWNrZWQuaXRlbTtcbiAgICAgICAgICAgIHRoaXMuZW1pdE91dGVyKCdjbGljaycsIHtcbiAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICBkYXRlVGV4dCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRPdXRlcignY2xpY2snLCB7XG4gICAgICAgICAgICAgIGlkOiBudWxsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { EventHandler } from '@net7/core';
|
|
2
|
+
import { first, filter, withLatestFrom } from 'rxjs/operators';
|
|
3
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
|
+
export class AwTreeEH extends EventHandler {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.targetOffset = new ReplaySubject();
|
|
8
|
+
this.targetIsOpen = false;
|
|
9
|
+
this.scrollOpenedIntoView = () => {
|
|
10
|
+
this.dataSource.out$
|
|
11
|
+
.pipe(filter((data) => !!data), first(), withLatestFrom(this.targetOffset)).subscribe(([, offset]) => {
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
const wrapperEl = document.querySelector('.aw-scheda__tree-content');
|
|
14
|
+
const expandedNode = document.getElementsByClassName('n7-tree__item is-expanded');
|
|
15
|
+
const lastExpandedNode = expandedNode.length
|
|
16
|
+
? expandedNode[expandedNode.length - 1]
|
|
17
|
+
: null;
|
|
18
|
+
if (lastExpandedNode) {
|
|
19
|
+
const scrollTreeEl = document.querySelector('.n7-tree');
|
|
20
|
+
const wrapperElRect = wrapperEl.getBoundingClientRect();
|
|
21
|
+
const offsetToAdjust = offset - wrapperElRect.top;
|
|
22
|
+
scrollTreeEl.style.marginBottom = '1000px';
|
|
23
|
+
lastExpandedNode.scrollIntoView();
|
|
24
|
+
wrapperEl.scrollTop -= offsetToAdjust;
|
|
25
|
+
window.scrollTo(0, 0);
|
|
26
|
+
scrollTreeEl.style.marginBottom = '0px';
|
|
27
|
+
}
|
|
28
|
+
}, 200);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
this.scrollLeafIntoView = () => {
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
const treeNode = document.querySelector('div.aw-scheda__tree');
|
|
34
|
+
const leafNode = treeNode.querySelector('.is-active .n7-tree__item-contents');
|
|
35
|
+
if (leafNode && !this.isInViewport(leafNode)) {
|
|
36
|
+
leafNode.scrollIntoView();
|
|
37
|
+
window.scrollTo(0, 0);
|
|
38
|
+
if (!this.isInViewport(leafNode)) {
|
|
39
|
+
this.scrollLeafIntoView();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
this.isInViewport = (elem) => {
|
|
45
|
+
const bounding = elem.getBoundingClientRect();
|
|
46
|
+
return (bounding.top >= 0
|
|
47
|
+
&& bounding.left >= 0
|
|
48
|
+
&& bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight)
|
|
49
|
+
&& bounding.right <= (window.innerWidth || document.documentElement.clientWidth));
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
listen() {
|
|
53
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
54
|
+
switch (type) {
|
|
55
|
+
case 'aw-tree.click':
|
|
56
|
+
if (payload.source === 'toggle') {
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
this.dataSource.build(payload.id);
|
|
59
|
+
if (this.targetIsOpen) {
|
|
60
|
+
this.scrollOpenedIntoView();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.outerEvents$.subscribe(({ type, payload }) => {
|
|
70
|
+
switch (type) {
|
|
71
|
+
case 'aw-scheda-layout.selectItem':
|
|
72
|
+
this.dataSource.build(payload);
|
|
73
|
+
break;
|
|
74
|
+
case 'aw-scheda-layout.navigationresponse':
|
|
75
|
+
{
|
|
76
|
+
if (payload.currentItem) {
|
|
77
|
+
this.dataSource.setActive(payload.currentItem);
|
|
78
|
+
}
|
|
79
|
+
const currentId = payload.currentItem || payload.tree.id;
|
|
80
|
+
this.dataSource.load(payload);
|
|
81
|
+
this.dataSource.build(currentId);
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
case 'aw-scheda-layout.routechanged':
|
|
85
|
+
// has output (not first load)
|
|
86
|
+
if (this.dataSource.output) {
|
|
87
|
+
this.dataSource.build(payload);
|
|
88
|
+
this.dataSource.setActive(payload);
|
|
89
|
+
this.dataSource.highlightActive();
|
|
90
|
+
this.scrollLeafIntoView();
|
|
91
|
+
}
|
|
92
|
+
break;
|
|
93
|
+
case 'aw-scheda-layout.viewleaf':
|
|
94
|
+
this.dataSource.out$
|
|
95
|
+
.pipe(filter((data) => !!data), first()).subscribe(() => {
|
|
96
|
+
this.scrollLeafIntoView();
|
|
97
|
+
});
|
|
98
|
+
break;
|
|
99
|
+
case 'aw-scheda-layout.treeposition':
|
|
100
|
+
{
|
|
101
|
+
const { target } = payload;
|
|
102
|
+
const targetRect = target.getBoundingClientRect();
|
|
103
|
+
this.targetIsOpen = target.className.indexOf('n7-icon-angle-right') !== -1;
|
|
104
|
+
this.targetOffset.next(targetRect.top);
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
107
|
+
case 'aw-scheda-layout.selectParent':
|
|
108
|
+
this.dataSource.build(payload);
|
|
109
|
+
this.dataSource.setActive(payload);
|
|
110
|
+
this.dataSource.highlightActive();
|
|
111
|
+
this.scrollLeafIntoView();
|
|
112
|
+
break;
|
|
113
|
+
default:
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5laC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9ldmVudC1oYW5kbGVycy90cmVlLmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdyQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFlBQVk7SUFBMUM7O1FBR1UsaUJBQVksR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRW5DLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBb0VyQix5QkFBb0IsR0FBRyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO2lCQUNqQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ3hCLEtBQUssRUFBRSxFQUNQLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQ2xDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBZ0IsQ0FBQztvQkFDcEYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLDJCQUEyQixDQUFDLENBQUM7b0JBQ2xGLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLE1BQU07d0JBQzFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7d0JBQ3ZD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QUssRUFBRSxDQUNSLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTt3QkFDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsTUFBTTtnQkFDUixLQUFLLCtCQUErQjtvQkFBRSxDQUFDO3dCQUNyQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO3dCQUMzQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQzt3QkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUMzRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3pDLENBQUM7b0JBQUMsTUFBTTtnQkFDUixLQUFLLCtCQUErQjtvQkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDMUIsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQW9ERiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50SGFuZGxlciB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIGZpbHRlciwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBd1RyZWVEUyB9IGZyb20gJy4uL2RhdGEtc291cmNlcyc7XG5cbmV4cG9ydCBjbGFzcyBBd1RyZWVFSCBleHRlbmRzIEV2ZW50SGFuZGxlciB7XG4gIGRhdGFTb3VyY2U6IEF3VHJlZURTO1xuXG4gIHByaXZhdGUgdGFyZ2V0T2Zmc2V0ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcblxuICBwcml2YXRlIHRhcmdldElzT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2F3LXRyZWUuY2xpY2snOlxuICAgICAgICAgIGlmIChwYXlsb2FkLnNvdXJjZSA9PT0gJ3RvZ2dsZScpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuYnVpbGQocGF5bG9hZC5pZCk7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnRhcmdldElzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsT3BlbmVkSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vdXRlckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2F3LXNjaGVkYS1sYXlvdXQuc2VsZWN0SXRlbSc6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmJ1aWxkKHBheWxvYWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdhdy1zY2hlZGEtbGF5b3V0Lm5hdmlnYXRpb25yZXNwb25zZSc6IHtcbiAgICAgICAgICBpZiAocGF5bG9hZC5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNldEFjdGl2ZShwYXlsb2FkLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgY3VycmVudElkID0gcGF5bG9hZC5jdXJyZW50SXRlbSB8fCBwYXlsb2FkLnRyZWUuaWQ7XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmxvYWQocGF5bG9hZCk7XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmJ1aWxkKGN1cnJlbnRJZCk7XG4gICAgICAgIH0gYnJlYWs7XG4gICAgICAgIGNhc2UgJ2F3LXNjaGVkYS1sYXlvdXQucm91dGVjaGFuZ2VkJzpcbiAgICAgICAgICAvLyBoYXMgb3V0cHV0IChub3QgZmlyc3QgbG9hZClcbiAgICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlLm91dHB1dCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmJ1aWxkKHBheWxvYWQpO1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNldEFjdGl2ZShwYXlsb2FkKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5oaWdobGlnaHRBY3RpdmUoKTtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsTGVhZkludG9WaWV3KCk7XG4gICAgICAgICAgfSBicmVhaztcbiAgICAgICAgY2FzZSAnYXctc2NoZWRhLWxheW91dC52aWV3bGVhZic6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLm91dCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBmaWx0ZXIoKGRhdGEpID0+ICEhZGF0YSksXG4gICAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zY3JvbGxMZWFmSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdhdy1zY2hlZGEtbGF5b3V0LnRyZWVwb3NpdGlvbic6IHtcbiAgICAgICAgICBjb25zdCB7IHRhcmdldCB9ID0gcGF5bG9hZDtcbiAgICAgICAgICBjb25zdCB0YXJnZXRSZWN0ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIHRoaXMudGFyZ2V0SXNPcGVuID0gdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCduNy1pY29uLWFuZ2xlLXJpZ2h0JykgIT09IC0xO1xuICAgICAgICAgIHRoaXMudGFyZ2V0T2Zmc2V0Lm5leHQodGFyZ2V0UmVjdC50b3ApO1xuICAgICAgICB9IGJyZWFrO1xuICAgICAgICBjYXNlICdhdy1zY2hlZGEtbGF5b3V0LnNlbGVjdFBhcmVudCc6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmJ1aWxkKHBheWxvYWQpO1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXRBY3RpdmUocGF5bG9hZCk7XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmhpZ2hsaWdodEFjdGl2ZSgpO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsTGVhZkludG9WaWV3KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbE9wZW5lZEludG9WaWV3ID0gKCkgPT4ge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5vdXQkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChkYXRhKSA9PiAhIWRhdGEpLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnRhcmdldE9mZnNldCksXG4gICAgICApLnN1YnNjcmliZSgoWywgb2Zmc2V0XSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCB3cmFwcGVyRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXctc2NoZWRhX190cmVlLWNvbnRlbnQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBjb25zdCBleHBhbmRlZE5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCduNy10cmVlX19pdGVtIGlzLWV4cGFuZGVkJyk7XG4gICAgICAgICAgY29uc3QgbGFzdEV4cGFuZGVkTm9kZSA9IGV4cGFuZGVkTm9kZS5sZW5ndGhcbiAgICAgICAgICAgID8gZXhwYW5kZWROb2RlW2V4cGFuZGVkTm9kZS5sZW5ndGggLSAxXVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgIGlmIChsYXN0RXhwYW5kZWROb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxUcmVlRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubjctdHJlZScpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlckVsUmVjdCA9IHdyYXBwZXJFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldFRvQWRqdXN0ID0gKG9mZnNldCBhcyBudW1iZXIpIC0gd3JhcHBlckVsUmVjdC50b3A7XG4gICAgICAgICAgICBzY3JvbGxUcmVlRWwuc3R5bGUubWFyZ2luQm90dG9tID0gJzEwMDBweCc7XG4gICAgICAgICAgICBsYXN0RXhwYW5kZWROb2RlLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB3cmFwcGVyRWwuc2Nyb2xsVG9wIC09IG9mZnNldFRvQWRqdXN0O1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICAgICAgc2Nyb2xsVHJlZUVsLnN0eWxlLm1hcmdpbkJvdHRvbSA9ICcwcHgnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMjAwKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgc2Nyb2xsTGVhZkludG9WaWV3ID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdHJlZU5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYuYXctc2NoZWRhX190cmVlJyk7XG4gICAgICBjb25zdCBsZWFmTm9kZSA9IHRyZWVOb2RlLnF1ZXJ5U2VsZWN0b3IoJy5pcy1hY3RpdmUgLm43LXRyZWVfX2l0ZW0tY29udGVudHMnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChsZWFmTm9kZSAmJiAhdGhpcy5pc0luVmlld3BvcnQobGVhZk5vZGUpKSB7XG4gICAgICAgIGxlYWZOb2RlLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5WaWV3cG9ydChsZWFmTm9kZSkpIHtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlYWZJbnRvVmlldygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBpc0luVmlld3BvcnQgPSAoZWxlbSkgPT4ge1xuICAgIGNvbnN0IGJvdW5kaW5nID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gKFxuICAgICAgYm91bmRpbmcudG9wID49IDBcbiAgICAgICYmIGJvdW5kaW5nLmxlZnQgPj0gMFxuICAgICAgJiYgYm91bmRpbmcuYm90dG9tIDw9ICh3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodClcbiAgICAgICYmIGJvdW5kaW5nLnJpZ2h0IDw9ICh3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpXG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { helpers } from '@net7/boilerplate-common';
|
|
2
|
+
const metadataIsEmpty = (value) => (!value || value === 'null');
|
|
3
|
+
const isLink = (fields) => !!fields.filter(({ key }) => key === 'isLink').length;
|
|
4
|
+
const isRepeater = (fields) => Array.isArray(fields);
|
|
5
|
+
const getLink = (fields, paths) => {
|
|
6
|
+
const schedaTypes = ['oggetto-culturale', 'aggregazione-logica'];
|
|
7
|
+
const label = fields.find(({ key }) => key === 'label').value;
|
|
8
|
+
const slug = helpers.slugify(label);
|
|
9
|
+
const id = fields.find(({ key }) => key === 'id').value;
|
|
10
|
+
const type = fields.find(({ key }) => key === 'type').value;
|
|
11
|
+
let basePath = paths.entitaBasePath;
|
|
12
|
+
if (schedaTypes.includes(type)) {
|
|
13
|
+
basePath = paths.schedaBasePath;
|
|
14
|
+
}
|
|
15
|
+
return `<a href="${basePath}${id}/${slug}">${label}</a>`;
|
|
16
|
+
};
|
|
17
|
+
const getRepeater = (fields, labels, metadataToShow, type, parentLabel, paths) => {
|
|
18
|
+
const html = [];
|
|
19
|
+
fields
|
|
20
|
+
.filter(({ fields: subFields }) => subFields)
|
|
21
|
+
.forEach(({ fields: subFields }) => {
|
|
22
|
+
const subHtml = [];
|
|
23
|
+
if (isLink(subFields)) {
|
|
24
|
+
subHtml.push('<div>');
|
|
25
|
+
subHtml.push(`<dd>${getLink(subFields, paths)}</dd>`);
|
|
26
|
+
subHtml.push('</div>');
|
|
27
|
+
}
|
|
28
|
+
subFields
|
|
29
|
+
.filter(({ key }) => {
|
|
30
|
+
if (isLink(subFields)) {
|
|
31
|
+
return !(['label', 'id', 'type', 'isLink'].includes(key));
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
})
|
|
35
|
+
.filter(({ key, value }) => metadataToShow.includes(`${parentLabel}.${key}`) && !metadataIsEmpty(value))
|
|
36
|
+
.map(({ key, value }) => ({
|
|
37
|
+
key,
|
|
38
|
+
value,
|
|
39
|
+
order: metadataToShow.indexOf(`${parentLabel}.${key}`),
|
|
40
|
+
label: helpers.prettifySnakeCase(key, labels[`${type}.${parentLabel}.${key}`])
|
|
41
|
+
}))
|
|
42
|
+
.sort((a, b) => a.order - b.order)
|
|
43
|
+
.forEach(({ label, value }) => {
|
|
44
|
+
subHtml.push('<div>');
|
|
45
|
+
subHtml.push(`<dt>${label}</dt>`);
|
|
46
|
+
subHtml.push(`<dd>${value}</dd>`);
|
|
47
|
+
subHtml.push('</div>');
|
|
48
|
+
});
|
|
49
|
+
if (subHtml.length) {
|
|
50
|
+
html.push(`<dl>${subHtml.join('')}</dl>`);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return html.length ? html.join('') : null;
|
|
54
|
+
};
|
|
55
|
+
export default {
|
|
56
|
+
normalize: ({ fields: data, paths, labels, metadataToShow, type }) => {
|
|
57
|
+
const result = [];
|
|
58
|
+
if (Array.isArray(data)) {
|
|
59
|
+
data.forEach(({ key, value, label, fields }) => {
|
|
60
|
+
// link & repeater control
|
|
61
|
+
if (fields && Array.isArray(fields)) {
|
|
62
|
+
if (isLink(fields)) {
|
|
63
|
+
result.push({ key: label, value: getLink(fields, paths) });
|
|
64
|
+
}
|
|
65
|
+
else if (isRepeater(fields) && metadataToShow.includes(label)) {
|
|
66
|
+
result.push({
|
|
67
|
+
key: label,
|
|
68
|
+
value: getRepeater(fields, labels, metadataToShow, type, label, paths)
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// default
|
|
72
|
+
}
|
|
73
|
+
else if (metadataToShow.includes(key)) {
|
|
74
|
+
result.push({ key, value });
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return result
|
|
79
|
+
.filter(({ value }) => !metadataIsEmpty(value))
|
|
80
|
+
.map(({ key, value }) => ({
|
|
81
|
+
key,
|
|
82
|
+
value,
|
|
83
|
+
order: metadataToShow.indexOf(key),
|
|
84
|
+
label: helpers.prettifySnakeCase(key, labels[`${type}.${key}`]),
|
|
85
|
+
}))
|
|
86
|
+
.sort((a, b) => a.order - b.order);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtYXJpYW5uYS9zcmMvbGliL2hlbHBlcnMvbWV0YWRhdGEuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUM7QUFFaEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUV4RixNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUU1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWEsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDakUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUks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LE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ1YsR0FBRyxFQUFFLEtBQUs7NEJBQ1YsS0FBSyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQzt5QkFDdkUsQ0FBQyxDQUFDO29CQUNMLENBQUM7b0JBQ0QsVUFBVTtnQkFDWixDQUFDO3FCQUFNLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzlCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QixHQUFHO1lBQ0gsS0FBSztZQUNMLEtBQUssRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNsQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNoRSxDQUFDLENBQUM7YUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuXG5jb25zdCBtZXRhZGF0YUlzRW1wdHkgPSAodmFsdWUpID0+ICghdmFsdWUgfHwgdmFsdWUgPT09ICdudWxsJyk7XG5cbmNvbnN0IGlzTGluayA9IChmaWVsZHM6IGFueVtdKSA9PiAhIWZpZWxkcy5maWx0ZXIoKHsga2V5IH0pID0+IGtleSA9PT0gJ2lzTGluaycpLmxlbmd0aDtcblxuY29uc3QgaXNSZXBlYXRlciA9IChmaWVsZHM6IGFueVtdKSA9PiBBcnJheS5pc0FycmF5KGZpZWxkcyk7XG5cbmNvbnN0IGdldExpbmsgPSAoZmllbGRzOiBhbnlbXSwgcGF0aHMpID0+IHtcbiAgY29uc3Qgc2NoZWRhVHlwZXMgPSBbJ29nZ2V0dG8tY3VsdHVyYWxlJywgJ2FnZ3JlZ2F6aW9uZS1sb2dpY2EnXTtcbiAgY29uc3QgbGFiZWwgPSBmaWVsZHMuZmluZCgoeyBrZXkgfSkgPT4ga2V5ID09PSAnbGFiZWwnKS52YWx1ZTtcbiAgY29uc3Qgc2x1ZyA9IGhlbHBlcnMuc2x1Z2lmeShsYWJlbCk7XG4gIGNvbnN0IGlkID0gZmllbGRzLmZpbmQoKHsga2V5IH0pID0+IGtleSA9PT0gJ2lkJykudmFsdWU7XG4gIGNvbnN0IHR5cGUgPSBmaWVsZHMuZmluZCgoeyBrZXkgfSkgPT4ga2V5ID09PSAndHlwZScpLnZhbHVlO1xuICBsZXQgYmFzZVBhdGggPSBwYXRocy5lbnRpdGFCYXNlUGF0aDtcbiAgaWYgKHNjaGVkYVR5cGVzLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgYmFzZVBhdGggPSBwYXRocy5zY2hlZGFCYXNlUGF0aDtcbiAgfVxuICByZXR1cm4gYDxhIGhyZWY9XCIke2Jhc2VQYXRofSR7aWR9LyR7c2x1Z31cIj4ke2xhYmVsfTwvYT5gO1xufTtcblxuY29uc3QgZ2V0UmVwZWF0ZXIgPSAoZmllbGRzOiBhbnlbXSwgbGFiZWxzLCBtZXRhZGF0YVRvU2hvdywgdHlwZSwgcGFyZW50TGFiZWwsIHBhdGhzKSA9PiB7XG4gIGNvbnN0IGh0bWwgPSBbXTtcbiAgZmllbGRzXG4gICAgLmZpbHRlcigoeyBmaWVsZHM6IHN1YkZpZWxkcyB9KSA9PiBzdWJGaWVsZHMpXG4gICAgLmZvckVhY2goKHsgZmllbGRzOiBzdWJGaWVsZHMgfSkgPT4ge1xuICAgICAgY29uc3Qgc3ViSHRtbCA9IFtdO1xuICAgICAgaWYgKGlzTGluayhzdWJGaWVsZHMpKSB7XG4gICAgICAgIHN1Ykh0bWwucHVzaCgnPGRpdj4nKTtcbiAgICAgICAgc3ViSHRtbC5wdXNoKGA8ZGQ+JHtnZXRMaW5rKHN1YkZpZWxkcywgcGF0aHMpfTwvZGQ+YCk7XG4gICAgICAgIHN1Ykh0bWwucHVzaCgnPC9kaXY+Jyk7XG4gICAgICB9XG4gICAgICBzdWJGaWVsZHNcbiAgICAgICAgLmZpbHRlcigoeyBrZXkgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0xpbmsoc3ViRmllbGRzKSkge1xuICAgICAgICAgICAgcmV0dXJuICEoWydsYWJlbCcsICdpZCcsICd0eXBlJywgJ2lzTGluayddLmluY2x1ZGVzKGtleSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigoeyBrZXksIHZhbHVlIH0pID0+IG1ldGFkYXRhVG9TaG93LmluY2x1ZGVzKGAke3BhcmVudExhYmVsfS4ke2tleX1gKSAmJiAhbWV0YWRhdGFJc0VtcHR5KHZhbHVlKSlcbiAgICAgICAgLm1hcCgoeyBrZXksIHZhbHVlIH0pID0+ICh7XG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIG9yZGVyOiBtZXRhZGF0YVRvU2hvdy5pbmRleE9mKGAke3BhcmVudExhYmVsfS4ke2tleX1gKSxcbiAgICAgICAgICBsYWJlbDogaGVscGVycy5wcmV0dGlmeVNuYWtlQ2FzZShrZXksIGxhYmVsc1tgJHt0eXBlfS4ke3BhcmVudExhYmVsfS4ke2tleX1gXSlcbiAgICAgICAgfSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcilcbiAgICAgICAgLmZvckVhY2goKHsgbGFiZWwsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICBzdWJIdG1sLnB1c2goJzxkaXY+Jyk7XG4gICAgICAgICAgc3ViSHRtbC5wdXNoKGA8ZHQ+JHtsYWJlbH08L2R0PmApO1xuICAgICAgICAgIHN1Ykh0bWwucHVzaChgPGRkPiR7dmFsdWV9PC9kZD5gKTtcbiAgICAgICAgICBzdWJIdG1sLnB1c2goJzwvZGl2PicpO1xuICAgICAgICB9KTtcblxuICAgICAgaWYgKHN1Ykh0bWwubGVuZ3RoKSB7XG4gICAgICAgIGh0bWwucHVzaChgPGRsPiR7c3ViSHRtbC5qb2luKCcnKX08L2RsPmApO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gaHRtbC5sZW5ndGggPyBodG1sLmpvaW4oJycpIDogbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9ybWFsaXplOiAoe1xuICAgIGZpZWxkczogZGF0YSxcbiAgICBwYXRocyxcbiAgICBsYWJlbHMsXG4gICAgbWV0YWRhdGFUb1Nob3csXG4gICAgdHlwZVxuICB9KSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgIGRhdGEuZm9yRWFjaCgoe1xuICAgICAgICBrZXksIHZhbHVlLCBsYWJlbCwgZmllbGRzXG4gICAgICB9KSA9PiB7XG4gICAgICAgIC8vIGxpbmsgJiByZXBlYXRlciBjb250cm9sXG4gICAgICAgIGlmIChmaWVsZHMgJiYgQXJyYXkuaXNBcnJheShmaWVsZHMpKSB7XG4gICAgICAgICAgaWYgKGlzTGluayhmaWVsZHMpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogbGFiZWwsIHZhbHVlOiBnZXRMaW5rKGZpZWxkcywgcGF0aHMpIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNSZXBlYXRlcihmaWVsZHMpICYmIG1ldGFkYXRhVG9TaG93LmluY2x1ZGVzKGxhYmVsKSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICBrZXk6IGxhYmVsLFxuICAgICAgICAgICAgICB2YWx1ZTogZ2V0UmVwZWF0ZXIoZmllbGRzLCBsYWJlbHMsIG1ldGFkYXRhVG9TaG93LCB0eXBlLCBsYWJlbCwgcGF0aHMpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZGVmYXVsdFxuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhVG9TaG93LmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh7IGtleSwgdmFsdWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gICAgICAuZmlsdGVyKCh7IHZhbHVlIH0pID0+ICFtZXRhZGF0YUlzRW1wdHkodmFsdWUpKVxuICAgICAgLm1hcCgoeyBrZXksIHZhbHVlIH0pID0+ICh7XG4gICAgICAgIGtleSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG9yZGVyOiBtZXRhZGF0YVRvU2hvdy5pbmRleE9mKGtleSksXG4gICAgICAgIGxhYmVsOiBoZWxwZXJzLnByZXR0aWZ5U25ha2VDYXNlKGtleSwgbGFiZWxzW2Ake3R5cGV9LiR7a2V5fWBdKSxcbiAgICAgIH0pKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const getNodeIcon = (configKeys, item) => {
|
|
2
|
+
const { document_type: type, document_classification: classification } = item;
|
|
3
|
+
let icon = configKeys[type] ? configKeys[type].icon : null;
|
|
4
|
+
const lastSegment = /.*\.(\w+)$/;
|
|
5
|
+
if (classification && lastSegment.test(classification)) {
|
|
6
|
+
const classID = classification
|
|
7
|
+
.match(lastSegment)[1] // get classification characters
|
|
8
|
+
.toUpperCase(); // normalize
|
|
9
|
+
icon = configKeys[type].classifications[classID].icon;
|
|
10
|
+
}
|
|
11
|
+
return icon;
|
|
12
|
+
};
|
|
13
|
+
export default { getNodeIcon };
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvaGVscGVycy9ub2RlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFdBQVcsR0FBRyxDQUNsQixVQUE2QixFQUM3QixJQUdDLEVBQ0QsRUFBRTtJQUNGLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQztJQUM5RSxJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFDakMsSUFBSSxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLGNBQWM7YUFDM0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQzthQUN0RCxXQUFXLEVBQUUsQ0FBQyxDQUFDLFlBQVk7UUFDOUIsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ0FyaWFubmFLZXlzIH0gZnJvbSAnLi4vY29uZmlnLXR5cGVzJztcblxuY29uc3QgZ2V0Tm9kZUljb24gPSAoXG4gIGNvbmZpZ0tleXM6IENvbmZpZ0FyaWFubmFLZXlzLFxuICBpdGVtOiB7XG4gICAgZG9jdW1lbnRfdHlwZTogc3RyaW5nO1xuICAgIGRvY3VtZW50X2NsYXNzaWZpY2F0aW9uOiBzdHJpbmc7XG4gIH1cbikgPT4ge1xuICBjb25zdCB7IGRvY3VtZW50X3R5cGU6IHR5cGUsIGRvY3VtZW50X2NsYXNzaWZpY2F0aW9uOiBjbGFzc2lmaWNhdGlvbiB9ID0gaXRlbTtcbiAgbGV0IGljb24gPSBjb25maWdLZXlzW3R5cGVdID8gY29uZmlnS2V5c1t0eXBlXS5pY29uIDogbnVsbDtcbiAgY29uc3QgbGFzdFNlZ21lbnQgPSAvLipcXC4oXFx3KykkLztcbiAgaWYgKGNsYXNzaWZpY2F0aW9uICYmIGxhc3RTZWdtZW50LnRlc3QoY2xhc3NpZmljYXRpb24pKSB7XG4gICAgY29uc3QgY2xhc3NJRCA9IGNsYXNzaWZpY2F0aW9uXG4gICAgICAubWF0Y2gobGFzdFNlZ21lbnQpWzFdIC8vIGdldCBjbGFzc2lmaWNhdGlvbiBjaGFyYWN0ZXJzXG4gICAgICAudG9VcHBlckNhc2UoKTsgLy8gbm9ybWFsaXplXG4gICAgaWNvbiA9IGNvbmZpZ0tleXNbdHlwZV0uY2xhc3NpZmljYXRpb25zW2NsYXNzSURdLmljb247XG4gIH1cbiAgcmV0dXJuIGljb247XG59O1xuXG5leHBvcnQgZGVmYXVsdCB7IGdldE5vZGVJY29uIH07XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const getHeadTitle = ({ name, pageName, pageDefault, label, }) => {
|
|
2
|
+
const title = [
|
|
3
|
+
name || 'Patrimonio Digitale',
|
|
4
|
+
pageName || pageDefault,
|
|
5
|
+
];
|
|
6
|
+
if (label) {
|
|
7
|
+
title.push(label);
|
|
8
|
+
}
|
|
9
|
+
return title.join(' - ');
|
|
10
|
+
};
|
|
11
|
+
export { getHeadTitle };
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtYXJpYW5uYS9zcmMvbGliL2hlbHBlcnMvdGl0bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFDcEIsSUFBSSxFQUNKLFFBQVEsRUFDUixXQUFXLEVBQ1gsS0FBSyxHQU1OLEVBQUUsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHO1FBQ1osSUFBSSxJQUFJLHFCQUFxQjtRQUM3QixRQUFRLElBQUksV0FBVztLQUN4QixDQUFDO0lBQ0YsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRIZWFkVGl0bGUgPSAoe1xuICBuYW1lLFxuICBwYWdlTmFtZSxcbiAgcGFnZURlZmF1bHQsXG4gIGxhYmVsLFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhZ2VOYW1lOiBzdHJpbmc7XG4gIHBhZ2VEZWZhdWx0OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nLFxufSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IFtcbiAgICBuYW1lIHx8ICdQYXRyaW1vbmlvIERpZ2l0YWxlJyxcbiAgICBwYWdlTmFtZSB8fCBwYWdlRGVmYXVsdCxcbiAgXTtcbiAgaWYgKGxhYmVsKSB7XG4gICAgdGl0bGUucHVzaChsYWJlbCk7XG4gIH1cbiAgcmV0dXJuIHRpdGxlLmpvaW4oJyAtICcpO1xufTtcblxuZXhwb3J0IHsgZ2V0SGVhZFRpdGxlIH07XG4iXX0=
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { LayoutDataSource } from '@net7/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { first, map } from 'rxjs/operators';
|
|
4
|
+
import slugify from 'slugify';
|
|
5
|
+
import { getHeadTitle } from '../../helpers/title.helper';
|
|
6
|
+
export class AwCollectionLayoutDS extends LayoutDataSource {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.configId = 'collection-layout';
|
|
10
|
+
this.classificationsMap = {
|
|
11
|
+
ff400: 'fondo-fotografico',
|
|
12
|
+
al: 'aggregazione-logica',
|
|
13
|
+
la: 'libro-antico',
|
|
14
|
+
veac301: 'vestimento',
|
|
15
|
+
f400: 'fotografia',
|
|
16
|
+
uasc: 'cartografica',
|
|
17
|
+
dc: 'scheda-dublin-core',
|
|
18
|
+
oa300: 'scheda-oa',
|
|
19
|
+
rmmus: 'materiale-musicale',
|
|
20
|
+
ua: 'unita-archivistica',
|
|
21
|
+
oac300: 'opera-arte-contemporanea',
|
|
22
|
+
};
|
|
23
|
+
this.innerTitleData = new BehaviorSubject({
|
|
24
|
+
title: { main: { text: '' } },
|
|
25
|
+
});
|
|
26
|
+
this.collectionDescription = new BehaviorSubject('');
|
|
27
|
+
this.pageSize = 6;
|
|
28
|
+
/** Necessary to iterate with the loading item placeholder HTML */
|
|
29
|
+
this.pageSizeList = [];
|
|
30
|
+
this.currentOffset = 0;
|
|
31
|
+
/** Button that loads more content into the layout */
|
|
32
|
+
this.loadMoreButton = new BehaviorSubject(true);
|
|
33
|
+
/** Controls the loading state of the layout */
|
|
34
|
+
this.loading = true;
|
|
35
|
+
}
|
|
36
|
+
onInit(payload) {
|
|
37
|
+
this.communication = payload.communication;
|
|
38
|
+
this.route = payload.route;
|
|
39
|
+
this.configuration = payload.configuration;
|
|
40
|
+
this.mainState = payload.mainState;
|
|
41
|
+
this.loadedCollections = new BehaviorSubject([]);
|
|
42
|
+
this.layoutOptions = this.configuration.get(this.configId);
|
|
43
|
+
this.pageSizeList = new Array(this.pageSize);
|
|
44
|
+
// head title
|
|
45
|
+
this.setHeadTitle();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* After the collection ID has been loaded
|
|
49
|
+
*/
|
|
50
|
+
onCollectionID() {
|
|
51
|
+
// reset pagination params
|
|
52
|
+
this.pageSize = 6;
|
|
53
|
+
this.currentOffset = 0;
|
|
54
|
+
// load
|
|
55
|
+
this.loadMore(true);
|
|
56
|
+
}
|
|
57
|
+
loadMore(reload = false) {
|
|
58
|
+
this.loading = true;
|
|
59
|
+
const collection = this.loadedCollections.getValue();
|
|
60
|
+
const params = {
|
|
61
|
+
id: this.collectionID,
|
|
62
|
+
itemPagination: {
|
|
63
|
+
limit: this.pageSize,
|
|
64
|
+
offset: this.currentOffset,
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
// check base url config
|
|
68
|
+
const baseUrls = this.configuration.get('baseUrls') || {};
|
|
69
|
+
const baseUrl = baseUrls.portaleMatriceServer || null;
|
|
70
|
+
if (baseUrl) {
|
|
71
|
+
params.baseUrl = baseUrl;
|
|
72
|
+
}
|
|
73
|
+
this.communication.request$('getCollection', {
|
|
74
|
+
onError: (error) => console.error(error),
|
|
75
|
+
params
|
|
76
|
+
}).pipe(first((d) => !!d), map((d) => ({
|
|
77
|
+
// map the backend response to the format used by ItemPreviewComponent
|
|
78
|
+
response: d.items.map((item) => ({
|
|
79
|
+
title: this.stringLimiter(item.title, {
|
|
80
|
+
maxLength: this.layoutOptions.item.title.maxLength,
|
|
81
|
+
char: this.layoutOptions.item.title.char,
|
|
82
|
+
}),
|
|
83
|
+
text: this.stringLimiter(item.content, {
|
|
84
|
+
maxLength: this.layoutOptions.item.description.maxLength,
|
|
85
|
+
char: this.layoutOptions.item.description.char
|
|
86
|
+
}),
|
|
87
|
+
classes: `${item.image ? 'is-overlay has-image' : 'is-overlay has-image has-watermark'} ${this.classMap(item.classification)}`,
|
|
88
|
+
image: item.image || this.layoutOptions.watermark,
|
|
89
|
+
color: item.background,
|
|
90
|
+
anchor: {
|
|
91
|
+
href: item.url || this.urlBuilder(item.a4vId, item.title, item.type)
|
|
92
|
+
},
|
|
93
|
+
classification: item.classification
|
|
94
|
+
})),
|
|
95
|
+
text: d.text,
|
|
96
|
+
title: d.title,
|
|
97
|
+
total: d.total,
|
|
98
|
+
}))).subscribe({
|
|
99
|
+
next: (data) => {
|
|
100
|
+
this.loading = false;
|
|
101
|
+
if (data.title) {
|
|
102
|
+
this.setTitle(this.stringLimiter(data.title, {
|
|
103
|
+
maxLength: this.layoutOptions.header.maxLength,
|
|
104
|
+
char: this.layoutOptions.header.char
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
this.collectionDescription.next(data.text ? this.stringLimiter(data.text, {
|
|
108
|
+
maxLength: this.layoutOptions.description.maxLength,
|
|
109
|
+
char: this.layoutOptions.description.char
|
|
110
|
+
}) : '');
|
|
111
|
+
this.currentOffset += this.pageSize;
|
|
112
|
+
const collectionData = !reload
|
|
113
|
+
? [...collection, ...data.response]
|
|
114
|
+
: [...data.response];
|
|
115
|
+
this.loadedCollections.next(collectionData);
|
|
116
|
+
this.loadMoreButton.next(data.total > this.loadedCollections.getValue().length);
|
|
117
|
+
},
|
|
118
|
+
error: (e) => {
|
|
119
|
+
console.error(e);
|
|
120
|
+
this.loadMoreButton.next(false);
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Builds a URL from entity type,
|
|
126
|
+
* entity id, and a slug string.
|
|
127
|
+
*
|
|
128
|
+
* @param type entity type
|
|
129
|
+
* @param id entity ID
|
|
130
|
+
* @param title human-readable title
|
|
131
|
+
* @returns URL string including a slug
|
|
132
|
+
*/
|
|
133
|
+
urlBuilder(id, title, type) {
|
|
134
|
+
if (id && title) {
|
|
135
|
+
const titleSlug = slugify(title);
|
|
136
|
+
const { schedaBasePath, entitaBasePath } = this.configuration.get('paths');
|
|
137
|
+
const basePath = type === 'entity' ? entitaBasePath : schedaBasePath;
|
|
138
|
+
return `/${basePath}/${id}/${titleSlug}`;
|
|
139
|
+
}
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
stringLimiter(content, options) {
|
|
143
|
+
let res = content;
|
|
144
|
+
if (content && options.maxLength) {
|
|
145
|
+
res = content.slice(0, options.maxLength);
|
|
146
|
+
if (options.char && res !== content) {
|
|
147
|
+
res += options.char;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return res;
|
|
151
|
+
}
|
|
152
|
+
setTitle(title) {
|
|
153
|
+
this.innerTitleData.next({
|
|
154
|
+
title: { main: { text: title } }
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Convert classification strings to css classes.
|
|
159
|
+
*
|
|
160
|
+
* @param classification a classification string like "a4.oc.ua"
|
|
161
|
+
* @returns a CSS class
|
|
162
|
+
*/
|
|
163
|
+
classMap(classification) {
|
|
164
|
+
if (!classification || classification.length < 1) {
|
|
165
|
+
return '';
|
|
166
|
+
}
|
|
167
|
+
const codeMatch = /\.(\w+)$/gi.exec(classification);
|
|
168
|
+
if (codeMatch) {
|
|
169
|
+
const parsedCode = codeMatch[1]?.toLocaleLowerCase();
|
|
170
|
+
const className = this.classificationsMap[parsedCode];
|
|
171
|
+
if (className) {
|
|
172
|
+
return `is-${className}`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return `is-${classification.replace('.', '-')}`;
|
|
176
|
+
}
|
|
177
|
+
setHeadTitle() {
|
|
178
|
+
this.mainState.update('headTitle', getHeadTitle({
|
|
179
|
+
name: this.configuration.get('customer'),
|
|
180
|
+
pageName: this.configuration.get(this.configId)?.pageName,
|
|
181
|
+
pageDefault: 'Collezione',
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9jb2xsZWN0aW9uLWxheW91dC9jb2xsZWN0aW9uLWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUc5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUExRDs7UUFXUyxhQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFJOUIsdUJBQWtCLEdBQUc7WUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixFQUFFLEVBQUUscUJBQXFCO1lBQ3pCLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLElBQUksRUFBRSxZQUFZO1lBQ2xCLElBQUksRUFBRSxjQUFjO1lBQ3BCLEVBQUUsRUFBRSxvQkFBb0I7WUFDeEIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixFQUFFLEVBQUUsb0JBQW9CO1lBQ3hCLE1BQU0sRUFBRSwwQkFBMEI7U0FDbkMsQ0FBQztRQUVGLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCO1lBQ25ELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRTtTQUM5QixDQUFDLENBQUM7UUFFSCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxF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RUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsUUFBUSxDQUFDLGNBQXNCO1FBQzdCLElBQUksQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxPQUFPLE1BQU0sU0FBUyxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO1lBQzlDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDeEMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRO1lBQ3pELFdBQVcsRUFBRSxZQUFZO1NBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5uZXJUaXRsZURhdGEsIEl0ZW1QcmV2aWV3RGF0YSB9IGZyb20gJ0BuZXQ3L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNsdWdpZnkgZnJvbSAnc2x1Z2lmeSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSwgQ29tbXVuaWNhdGlvblNlcnZpY2UsIE1haW5TdGF0ZVNlcnZpY2UgfSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkl0ZW0sIEdldENvbGxlY3Rpb25QYXJhbXMsIEdldENvbGxlY3Rpb25SZXNwb25zZSB9IGZyb20gJy4vY29sbGVjdGlvbi1sYXlvdXQudHlwZXMnO1xuaW1wb3J0IHsgZ2V0SGVhZFRpdGxlIH0gZnJvbSAnLi4vLi4vaGVscGVycy90aXRsZS5oZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgQXdDb2xsZWN0aW9uTGF5b3V0RFMgZXh0ZW5kcyBMYXlvdXREYXRhU291cmNlIHtcbiAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZTtcblxuICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuXG4gIHByaXZhdGUgbGF5b3V0T3B0aW9ucztcblxuICBwcml2YXRlIHJvdXRlO1xuXG4gIHByaXZhdGUgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlO1xuXG4gIHB1YmxpYyBjb25maWdJZCA9ICdjb2xsZWN0aW9uLWxheW91dCc7XG5cbiAgcHVibGljIGNvbGxlY3Rpb25JRDogc3RyaW5nO1xuXG4gIHByaXZhdGUgY2xhc3NpZmljYXRpb25zTWFwID0ge1xuICAgIGZmNDAwOiAnZm9uZG8tZm90b2dyYWZpY28nLFxuICAgIGFsOiAnYWdncmVnYXppb25lLWxvZ2ljYScsXG4gICAgbGE6ICdsaWJyby1hbnRpY28nLFxuICAgIHZlYWMzMDE6ICd2ZXN0aW1lbnRvJyxcbiAgICBmNDAwOiAnZm90b2dyYWZpYScsXG4gICAgdWFzYzogJ2NhcnRvZ3JhZmljYScsXG4gICAgZGM6ICdzY2hlZGEtZHVibGluLWNvcmUnLFxuICAgIG9hMzAwOiAnc2NoZWRhLW9hJyxcbiAgICBybW11czogJ21hdGVyaWFsZS1tdXNpY2FsZScsXG4gICAgdWE6ICd1bml0YS1hcmNoaXZpc3RpY2EnLFxuICAgIG9hYzMwMDogJ29wZXJhLWFydGUtY29udGVtcG9yYW5lYScsXG4gIH07XG5cbiAgaW5uZXJUaXRsZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElubmVyVGl0bGVEYXRhPih7XG4gICAgdGl0bGU6IHsgbWFpbjogeyB0ZXh0OiAnJyB9IH0sXG4gIH0pO1xuXG4gIGNvbGxlY3Rpb25EZXNjcmlwdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcGFnZVNpemUgPSA2O1xuXG4gIC8qKiBOZWNlc3NhcnkgdG8gaXRlcmF0ZSB3aXRoIHRoZSBsb2FkaW5nIGl0ZW0gcGxhY2Vob2xkZXIgSFRNTCAqL1xuICBwYWdlU2l6ZUxpc3QgPSBbXTtcblxuICBjdXJyZW50T2Zmc2V0ID0gMDtcblxuICBsb2FkZWRDb2xsZWN0aW9uczogQmVoYXZpb3JTdWJqZWN0PEl0ZW1QcmV2aWV3RGF0YVtdIHwgW10+O1xuXG4gIC8qKiBCdXR0b24gdGhhdCBsb2FkcyBtb3JlIGNvbnRlbnQgaW50byB0aGUgbGF5b3V0ICovXG4gIGxvYWRNb3JlQnV0dG9uID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICAvKiogQ29udHJvbHMgdGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIGxheW91dCAqL1xuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBvbkluaXQocGF5bG9hZCkge1xuICAgIHRoaXMuY29tbXVuaWNhdGlvbiA9IHBheWxvYWQuY29tbXVuaWNhdGlvbjtcbiAgICB0aGlzLnJvdXRlID0gcGF5bG9hZC5yb3V0ZTtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5tYWluU3RhdGUgPSBwYXlsb2FkLm1haW5TdGF0ZTtcbiAgICB0aGlzLmxvYWRlZENvbGxlY3Rpb25zID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgdGhpcy5sYXlvdXRPcHRpb25zID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCh0aGlzLmNvbmZpZ0lkKTtcbiAgICB0aGlzLnBhZ2VTaXplTGlzdCA9IG5ldyBBcnJheSh0aGlzLnBhZ2VTaXplKTtcblxuICAgIC8vIGhlYWQgdGl0bGVcbiAgICB0aGlzLnNldEhlYWRUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFmdGVyIHRoZSBjb2xsZWN0aW9uIElEIGhhcyBiZWVuIGxvYWRlZFxuICAgKi9cbiAgb25Db2xsZWN0aW9uSUQoKSB7XG4gICAgLy8gcmVzZXQgcGFnaW5hdGlvbiBwYXJhbXNcbiAgICB0aGlzLnBhZ2VTaXplID0gNjtcbiAgICB0aGlzLmN1cnJlbnRPZmZzZXQgPSAwO1xuICAgIC8vIGxvYWRcbiAgICB0aGlzLmxvYWRNb3JlKHRydWUpO1xuICB9XG5cbiAgbG9hZE1vcmUocmVsb2FkID0gZmFsc2UpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmxvYWRlZENvbGxlY3Rpb25zLmdldFZhbHVlKCk7XG4gICAgY29uc3QgcGFyYW1zOiBHZXRDb2xsZWN0aW9uUGFyYW1zID0ge1xuICAgICAgaWQ6IHRoaXMuY29sbGVjdGlvbklELFxuICAgICAgaXRlbVBhZ2luYXRpb246IHtcbiAgICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXG4gICAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50T2Zmc2V0LFxuICAgICAgfVxuICAgIH07XG4gICAgLy8gY2hlY2sgYmFzZSB1cmwgY29uZmlnXG4gICAgY29uc3QgYmFzZVVybHMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdiYXNlVXJscycpIHx8IHt9O1xuICAgIGNvbnN0IGJhc2VVcmwgPSBiYXNlVXJscy5wb3J0YWxlTWF0cmljZVNlcnZlciB8fCBudWxsO1xuICAgIGlmIChiYXNlVXJsKSB7XG4gICAgICBwYXJhbXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgfVxuICAgIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnZ2V0Q29sbGVjdGlvbicsIHtcbiAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcihlcnJvciksXG4gICAgICBwYXJhbXNcbiAgICB9KS5waXBlKFxuICAgICAgZmlyc3QoKGQpID0+ICEhZCksXG4gICAgICBtYXAoKGQ6IEdldENvbGxlY3Rpb25SZXNwb25zZSkgPT4gKHtcbiAgICAgICAgLy8gbWFwIHRoZSBiYWNrZW5kIHJlc3BvbnNlIHRvIHRoZSBmb3JtYXQgdXNlZCBieSBJdGVtUHJldmlld0NvbXBvbmVudFxuICAgICAgICByZXNwb25zZTogZC5pdGVtcy5tYXAoKGl0ZW06IENvbGxlY3Rpb25JdGVtKSA9PiAoe1xuICAgICAgICAgIHRpdGxlOiB0aGlzLnN0cmluZ0xpbWl0ZXIoaXRlbS50aXRsZSwge1xuICAgICAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLmxheW91dE9wdGlvbnMuaXRlbS50aXRsZS5tYXhMZW5ndGgsXG4gICAgICAgICAgICBjaGFyOiB0aGlzLmxheW91dE9wdGlvbnMuaXRlbS50aXRsZS5jaGFyLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRleHQ6IHRoaXMuc3RyaW5nTGltaXRlcihpdGVtLmNvbnRlbnQsIHtcbiAgICAgICAgICAgIG1heExlbmd0aDogdGhpcy5sYXlvdXRPcHRpb25zLml0ZW0uZGVzY3JpcHRpb24ubWF4TGVuZ3RoLFxuICAgICAgICAgICAgY2hhcjogdGhpcy5sYXlvdXRPcHRpb25zLml0ZW0uZGVzY3JpcHRpb24uY2hhclxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNsYXNzZXM6IGAke2l0ZW0uaW1hZ2UgPyAnaXMtb3ZlcmxheSBoYXMtaW1hZ2UnIDogJ2lzLW92ZXJsYXkgaGFzLWltYWdlIGhhcy13YXRlcm1hcmsnfSAke3RoaXMuY2xhc3NNYXAoaXRlbS5jbGFzc2lmaWNhdGlvbil9YCxcbiAgICAgICAgICBpbWFnZTogaXRlbS5pbWFnZSB8fCB0aGlzLmxheW91dE9wdGlvbnMud2F0ZXJtYXJrLFxuICAgICAgICAgIGNvbG9yOiBpdGVtLmJhY2tncm91bmQsXG4gICAgICAgICAgYW5jaG9yOiB7XG4gICAgICAgICAgICBocmVmOiBpdGVtLnVybCB8fCB0aGlzLnVybEJ1aWxkZXIoaXRlbS5hNHZJZCwgaXRlbS50aXRsZSwgaXRlbS50eXBlKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xhc3NpZmljYXRpb246IGl0ZW0uY2xhc3NpZmljYXRpb25cbiAgICAgICAgfSkpLFxuICAgICAgICB0ZXh0OiBkLnRleHQsXG4gICAgICAgIHRpdGxlOiBkLnRpdGxlLFxuICAgICAgICB0b3RhbDogZC50b3RhbCxcbiAgICAgIH0pKVxuICAgICkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoZGF0YS50aXRsZSkge1xuICAgICAgICAgIHRoaXMuc2V0VGl0bGUodGhpcy5zdHJpbmdMaW1pdGVyKGRhdGEudGl0bGUsIHtcbiAgICAgICAgICAgIG1heExlbmd0aDogdGhpcy5sYXlvdXRPcHRpb25zLmhlYWRlci5tYXhMZW5ndGgsXG4gICAgICAgICAgICBjaGFyOiB0aGlzLmxheW91dE9wdGlvbnMuaGVhZGVyLmNoYXJcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uRGVzY3JpcHRpb24ubmV4dChkYXRhLnRleHQgPyB0aGlzLnN0cmluZ0xpbWl0ZXIoZGF0YS50ZXh0LCB7XG4gICAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLmxheW91dE9wdGlvbnMuZGVzY3JpcHRpb24ubWF4TGVuZ3RoLFxuICAgICAgICAgIGNoYXI6IHRoaXMubGF5b3V0T3B0aW9ucy5kZXNjcmlwdGlvbi5jaGFyXG4gICAgICAgIH0pIDogJycpO1xuICAgICAgICB0aGlzLmN1cnJlbnRPZmZzZXQgKz0gdGhpcy5wYWdlU2l6ZTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbkRhdGEgPSAhcmVsb2FkXG4gICAgICAgICAgPyBbLi4uY29sbGVjdGlvbiwgLi4uZGF0YS5yZXNwb25zZV1cbiAgICAgICAgICA6IFsuLi5kYXRhLnJlc3BvbnNlXTtcbiAgICAgICAgdGhpcy5sb2FkZWRDb2xsZWN0aW9ucy5uZXh0KGNvbGxlY3Rpb25EYXRhKTtcbiAgICAgICAgdGhpcy5sb2FkTW9yZUJ1dHRvbi5uZXh0KFxuICAgICAgICAgIGRhdGEudG90YWwgPiB0aGlzLmxvYWRlZENvbGxlY3Rpb25zLmdldFZhbHVlKCkubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMubG9hZE1vcmVCdXR0b24ubmV4dChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIFVSTCBmcm9tIGVudGl0eSB0eXBlLFxuICAgKiBlbnRpdHkgaWQsIGFuZCBhIHNsdWcgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSBlbnRpdHkgdHlwZVxuICAgKiBAcGFyYW0gaWQgZW50aXR5IElEXG4gICAqIEBwYXJhbSB0aXRsZSBodW1hbi1yZWFkYWJsZSB0aXRsZVxuICAgKiBAcmV0dXJucyBVUkwgc3RyaW5nIGluY2x1ZGluZyBhIHNsdWdcbiAgICovXG4gIHVybEJ1aWxkZXIoaWQsIHRpdGxlLCB0eXBlOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChpZCAmJiB0aXRsZSkge1xuICAgICAgY29uc3QgdGl0bGVTbHVnID0gc2x1Z2lmeSh0aXRsZSk7XG4gICAgICBjb25zdCB7IHNjaGVkYUJhc2VQYXRoLCBlbnRpdGFCYXNlUGF0aCB9ID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgncGF0aHMnKTtcbiAgICAgIGNvbnN0IGJhc2VQYXRoID0gdHlwZSA9PT0gJ2VudGl0eScgPyBlbnRpdGFCYXNlUGF0aCA6IHNjaGVkYUJhc2VQYXRoO1xuICAgICAgcmV0dXJuIGAvJHtiYXNlUGF0aH0vJHtpZH0vJHt0aXRsZVNsdWd9YDtcbiAgICB9IHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdHJpbmdMaW1pdGVyKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogeyBtYXhMZW5ndGg6IG51bWJlcjsgY2hhcjogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIGxldCByZXMgPSBjb250ZW50O1xuICAgIGlmIChjb250ZW50ICYmIG9wdGlvbnMubWF4TGVuZ3RoKSB7XG4gICAgICByZXMgPSBjb250ZW50LnNsaWNlKDAsIG9wdGlvbnMubWF4TGVuZ3RoKTtcbiAgICAgIGlmIChvcHRpb25zLmNoYXIgJiYgcmVzICE9PSBjb250ZW50KSB7XG4gICAgICAgIHJlcyArPSBvcHRpb25zLmNoYXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pbm5lclRpdGxlRGF0YS5uZXh0KHtcbiAgICAgIHRpdGxlOiB7IG1haW46IHsgdGV4dDogdGl0bGUgfSB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBjbGFzc2lmaWNhdGlvbiBzdHJpbmdzIHRvIGNzcyBjbGFzc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gY2xhc3NpZmljYXRpb24gYSBjbGFzc2lmaWNhdGlvbiBzdHJpbmcgbGlrZSBcImE0Lm9jLnVhXCJcbiAgICogQHJldHVybnMgYSBDU1MgY2xhc3NcbiAgICovXG4gIGNsYXNzTWFwKGNsYXNzaWZpY2F0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghY2xhc3NpZmljYXRpb24gfHwgY2xhc3NpZmljYXRpb24ubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBjb2RlTWF0Y2ggPSAvXFwuKFxcdyspJC9naS5leGVjKGNsYXNzaWZpY2F0aW9uKTtcbiAgICBpZiAoY29kZU1hdGNoKSB7XG4gICAgICBjb25zdCBwYXJzZWRDb2RlID0gY29kZU1hdGNoWzFdPy50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5jbGFzc2lmaWNhdGlvbnNNYXBbcGFyc2VkQ29kZV07XG4gICAgICBpZiAoY2xhc3NOYW1lKSB7XG4gICAgICAgIHJldHVybiBgaXMtJHtjbGFzc05hbWV9YDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGBpcy0ke2NsYXNzaWZpY2F0aW9uLnJlcGxhY2UoJy4nLCAnLScpfWA7XG4gIH1cblxuICBwcml2YXRlIHNldEhlYWRUaXRsZSgpIHtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsIGdldEhlYWRUaXRsZSh7XG4gICAgICBuYW1lOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdjdXN0b21lcicpLFxuICAgICAgcGFnZU5hbWU6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQodGhpcy5jb25maWdJZCk/LnBhZ2VOYW1lLFxuICAgICAgcGFnZURlZmF1bHQ6ICdDb2xsZXppb25lJyxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventHandler } from '@net7/core';
|
|
2
|
+
export class AwCollectionLayoutEH extends EventHandler {
|
|
3
|
+
listen() {
|
|
4
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
5
|
+
switch (type) {
|
|
6
|
+
case 'aw-collection-layout.init':
|
|
7
|
+
this.dataSource.onInit(payload);
|
|
8
|
+
this.route = payload.route;
|
|
9
|
+
this.listenRoute();
|
|
10
|
+
break;
|
|
11
|
+
default:
|
|
12
|
+
console.warn('unhandled inner event of type', type);
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
listenRoute() {
|
|
18
|
+
// get collection ID from the url
|
|
19
|
+
this.route.paramMap.subscribe((params) => {
|
|
20
|
+
if (params.get('id')) {
|
|
21
|
+
this.dataSource.collectionID = params.get('id');
|
|
22
|
+
this.dataSource.onCollectionID();
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1sYXlvdXQuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9jb2xsZWN0aW9uLWxheW91dC9jb2xsZWN0aW9uLWxheW91dC5laC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTFDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxZQUFZO0lBRzdDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDYixLQUFLLDJCQUEyQjtvQkFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixNQUFNO2dCQUVSO29CQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BELE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULGlDQUFpQztRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbmV0Ny9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEF3Q29sbGVjdGlvbkxheW91dEVIIGV4dGVuZHMgRXZlbnRIYW5kbGVyIHtcbiAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgcHVibGljIGxpc3RlbigpIHtcbiAgICB0aGlzLmlubmVyRXZlbnRzJC5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnYXctY29sbGVjdGlvbi1sYXlvdXQuaW5pdCc6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLm9uSW5pdChwYXlsb2FkKTtcbiAgICAgICAgICB0aGlzLnJvdXRlID0gcGF5bG9hZC5yb3V0ZTtcbiAgICAgICAgICB0aGlzLmxpc3RlblJvdXRlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ3VuaGFuZGxlZCBpbm5lciBldmVudCBvZiB0eXBlJywgdHlwZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBsaXN0ZW5Sb3V0ZSgpIHtcbiAgICAvLyBnZXQgY29sbGVjdGlvbiBJRCBmcm9tIHRoZSB1cmxcbiAgICB0aGlzLnJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLmdldCgnaWQnKSkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuY29sbGVjdGlvbklEID0gcGFyYW1zLmdldCgnaWQnKTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLm9uQ29sbGVjdGlvbklEKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|