@net7/boilerplate-arianna 3.7.3 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2020/lib/components/index.mjs +2 -1
  2. package/esm2020/lib/components/scheda-image-navigator/scheda-image-navigator.mjs +22 -0
  3. package/esm2020/lib/config-types/arianna/layouts.mjs +1 -1
  4. package/esm2020/lib/data-sources/index.mjs +2 -1
  5. package/esm2020/lib/data-sources/scheda-image-navigator.ds.mjs +82 -0
  6. package/esm2020/lib/data-sources/scheda-image.ds.mjs +11 -2
  7. package/esm2020/lib/event-handlers/index.mjs +2 -1
  8. package/esm2020/lib/event-handlers/scheda-image-navigator.eh.mjs +18 -0
  9. package/esm2020/lib/layouts/scheda-layout/scheda-layout.config.mjs +2 -1
  10. package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +11 -3
  11. package/esm2020/lib/layouts/scheda-layout/scheda-layout.mjs +7 -6
  12. package/esm2020/lib/n7-boilerplate-arianna.module.mjs +7 -3
  13. package/fesm2015/net7-boilerplate-arianna.mjs +148 -7
  14. package/fesm2015/net7-boilerplate-arianna.mjs.map +1 -1
  15. package/fesm2020/net7-boilerplate-arianna.mjs +146 -7
  16. package/fesm2020/net7-boilerplate-arianna.mjs.map +1 -1
  17. package/lib/components/index.d.ts +1 -0
  18. package/lib/components/scheda-image-navigator/scheda-image-navigator.d.ts +17 -0
  19. package/lib/config-types/arianna/layouts.d.ts +6 -0
  20. package/lib/data-sources/index.d.ts +1 -0
  21. package/lib/data-sources/scheda-image-navigator.ds.d.ts +16 -0
  22. package/lib/data-sources/scheda-image.ds.d.ts +2 -0
  23. package/lib/event-handlers/index.d.ts +1 -0
  24. package/lib/event-handlers/scheda-image-navigator.eh.d.ts +6 -0
  25. package/lib/n7-boilerplate-arianna.module.d.ts +7 -6
  26. package/package.json +1 -1
  27. package/src/lib/styles/arianna/components/_scheda-image-navigator.scss +51 -0
@@ -13,7 +13,7 @@ import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';
13
13
  import { DataSource, EventHandler, LayoutDataSource } from '@net7/core';
14
14
  import { get, merge, max, min, isEmpty, cloneDeep, clone, isNumber, isNull } from 'lodash';
15
15
  import tippy from 'tippy.js';
16
- import { interval, Subject, merge as merge$1, fromEvent, ReplaySubject, BehaviorSubject, of, forkJoin, timer, from } from 'rxjs';
16
+ import { Subject, interval, merge as merge$1, fromEvent, ReplaySubject, BehaviorSubject, of, forkJoin, timer, from } from 'rxjs';
17
17
  import { filter, first, mapTo, debounceTime, switchMap, withLatestFrom, map, catchError, tap, takeUntil, debounce } from 'rxjs/operators';
18
18
  import * as Leaflet from 'leaflet';
19
19
  import dayjs from 'dayjs';
@@ -967,6 +967,10 @@ class AwSidebarHeaderDS extends DataSource {
967
967
  }
968
968
 
969
969
  class AwSchedaImageDS extends DataSource {
970
+ constructor() {
971
+ super(...arguments);
972
+ this.instanceLoaded$ = new Subject();
973
+ }
970
974
  transform(data) {
971
975
  const tileSources = this.getTileSources(data.items);
972
976
  return {
@@ -980,7 +984,13 @@ class AwSchedaImageDS extends DataSource {
980
984
  showNavigator: false,
981
985
  },
982
986
  _setViewer: (viewer) => {
987
+ var _a;
983
988
  this.instance = viewer;
989
+ this.instanceLoaded$.next(this.instance);
990
+ if (data.hasNavigation$) {
991
+ const { nextButton } = this.instance;
992
+ data.hasNavigation$.next(!!(nextButton && !((_a = nextButton.element) === null || _a === void 0 ? void 0 : _a.disabled)));
993
+ }
984
994
  }
985
995
  };
986
996
  }
@@ -1392,6 +1402,88 @@ class AwExtendedTreeDS extends DataSource {
1392
1402
  }
1393
1403
  }
1394
1404
 
1405
+ class AwSchedaImageNavigatorDS extends DataSource {
1406
+ transform(instance) {
1407
+ var _a, _b;
1408
+ this.instance = instance;
1409
+ this.current = 1;
1410
+ this.total = (_b = (_a = this.instance.referenceStrip) === null || _a === void 0 ? void 0 : _a.panels) === null || _b === void 0 ? void 0 : _b.length;
1411
+ // check images total > 1
1412
+ if (!this.total)
1413
+ return null;
1414
+ const { buttonText } = (this.options || {});
1415
+ // listen viewer
1416
+ this.listenViewer();
1417
+ return {
1418
+ input: {
1419
+ id: 'scheda-image-navigator-input',
1420
+ type: 'number',
1421
+ label: this.getLabel(),
1422
+ min: 1,
1423
+ max: this.total,
1424
+ value: this.current,
1425
+ inputPayload: 'input',
1426
+ enterPayload: 'enter'
1427
+ },
1428
+ button: {
1429
+ label: buttonText,
1430
+ // disabled: true,
1431
+ }
1432
+ };
1433
+ }
1434
+ onChange({ inputPayload, value }) {
1435
+ if (inputPayload === 'input') {
1436
+ let formattedValue = value;
1437
+ if (formattedValue) {
1438
+ formattedValue = +formattedValue;
1439
+ if (formattedValue > this.total) {
1440
+ formattedValue = this.total;
1441
+ }
1442
+ if (formattedValue < 1) {
1443
+ formattedValue = 1;
1444
+ }
1445
+ }
1446
+ this.current = formattedValue || null;
1447
+ // force input value
1448
+ this.output.input.value = this.current;
1449
+ }
1450
+ else if (inputPayload === 'enter') {
1451
+ this.onSubmit();
1452
+ }
1453
+ }
1454
+ onSubmit() {
1455
+ if (this.instance && this.current) {
1456
+ this.instance.goToPage(this.current - 1);
1457
+ // update label
1458
+ this.updateLabel();
1459
+ }
1460
+ }
1461
+ updateLabel() {
1462
+ const { input } = this.output;
1463
+ input.label = this.getLabel();
1464
+ }
1465
+ getLabel() {
1466
+ const { label } = this.options;
1467
+ return label
1468
+ .replace('{current}', this.current)
1469
+ .replace('{total}', this.total);
1470
+ }
1471
+ listenViewer() {
1472
+ this.instance.addHandler('page', (event) => {
1473
+ const { page } = event;
1474
+ if ((page + 1) !== this.current) {
1475
+ // trigger change manually
1476
+ this.onChange({
1477
+ inputPayload: 'input',
1478
+ value: page + 1
1479
+ });
1480
+ // update label
1481
+ this.updateLabel();
1482
+ }
1483
+ });
1484
+ }
1485
+ }
1486
+
1395
1487
  class AwSearchLayoutTabsDS extends DataSource {
1396
1488
  constructor() {
1397
1489
  super(...arguments);
@@ -2010,6 +2102,7 @@ var DS = /*#__PURE__*/Object.freeze({
2010
2102
  AwSchedaPdfDS: AwSchedaPdfDS,
2011
2103
  AwTreeDS: AwTreeDS,
2012
2104
  AwExtendedTreeDS: AwExtendedTreeDS,
2105
+ AwSchedaImageNavigatorDS: AwSchedaImageNavigatorDS,
2013
2106
  AwSearchLayoutTabsDS: AwSearchLayoutTabsDS,
2014
2107
  AwFacetsWrapperDS: AwFacetsWrapperDS,
2015
2108
  AwGalleryResultsDS: AwGalleryResultsDS,
@@ -2401,6 +2494,23 @@ class AwExtendedTreeEH extends EventHandler {
2401
2494
  }
2402
2495
  }
2403
2496
 
2497
+ class AwSchedaImageNavigatorEH extends EventHandler {
2498
+ listen() {
2499
+ this.innerEvents$.subscribe(({ type, payload }) => {
2500
+ switch (type) {
2501
+ case 'aw-scheda-image-navigator.change':
2502
+ this.dataSource.onChange(payload);
2503
+ break;
2504
+ case 'aw-scheda-image-navigator.submit':
2505
+ this.dataSource.onSubmit();
2506
+ break;
2507
+ default:
2508
+ break;
2509
+ }
2510
+ });
2511
+ }
2512
+ }
2513
+
2404
2514
  class AwSearchLayoutTabsEH extends EventHandler {
2405
2515
  listen() {
2406
2516
  // TODO
@@ -2862,6 +2972,7 @@ var EH = /*#__PURE__*/Object.freeze({
2862
2972
  AwSchedaDropdownEH: AwSchedaDropdownEH,
2863
2973
  AwSchedaPdfEH: AwSchedaPdfEH,
2864
2974
  AwExtendedTreeEH: AwExtendedTreeEH,
2975
+ AwSchedaImageNavigatorEH: AwSchedaImageNavigatorEH,
2865
2976
  AwSearchLayoutTabsEH: AwSearchLayoutTabsEH,
2866
2977
  AwFacetsWrapperEH: AwFacetsWrapperEH,
2867
2978
  AwGalleryResultsEH: AwGalleryResultsEH,
@@ -6376,6 +6487,14 @@ class AwSchedaLayoutDS extends LayoutDataSource {
6376
6487
  else {
6377
6488
  this.one('aw-scheda-image').update(this.currentDigitalObject);
6378
6489
  }
6490
+ // image viewer navigator
6491
+ const navigatorConfig = this.layoutConfig['image-viewer-nav'];
6492
+ if (navigatorConfig === null || navigatorConfig === void 0 ? void 0 : navigatorConfig.enabled) {
6493
+ schedaImageDS.instanceLoaded$.pipe(first()).subscribe((viewer) => {
6494
+ this.one('aw-scheda-image-navigator').updateOptions(navigatorConfig);
6495
+ this.one('aw-scheda-image-navigator').update(viewer);
6496
+ });
6497
+ }
6379
6498
  }
6380
6499
  else if (this.currentDigitalObject.type === 'pdf') {
6381
6500
  this.one('aw-scheda-pdf').update(this.currentDigitalObject);
@@ -6390,7 +6509,7 @@ class AwSchedaLayoutDS extends LayoutDataSource {
6390
6509
  id: 'scheda-layout-viewer',
6391
6510
  type: $do.type,
6392
6511
  label: $do.label,
6393
- hasNavigation: $do.items.length > 1,
6512
+ hasNavigation$: new Subject(),
6394
6513
  items: $do.items.map(({ url, iiifImages }) => ({
6395
6514
  url,
6396
6515
  iiifImages,
@@ -6671,6 +6790,7 @@ const AwPatrimonioLayoutConfig = {
6671
6790
  { id: 'aw-scheda-metadata' },
6672
6791
  { id: 'aw-scheda-dropdown' },
6673
6792
  { id: 'aw-scheda-image' },
6793
+ { id: 'aw-scheda-image-navigator' },
6674
6794
  { id: 'aw-scheda-pdf' },
6675
6795
  { id: 'aw-scheda-inner-title' },
6676
6796
  { id: 'aw-related-entities' },
@@ -6708,6 +6828,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
6708
6828
  type: Input
6709
6829
  }] } });
6710
6830
 
6831
+ class SchedaImageNavigatorComponent {
6832
+ onSubmit() {
6833
+ if (!this.emit)
6834
+ return;
6835
+ this.emit('submit');
6836
+ }
6837
+ }
6838
+ SchedaImageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SchedaImageNavigatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6839
+ SchedaImageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SchedaImageNavigatorComponent, selector: "aw-scheda-image-navigator", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"aw-scheda-image-navigator\" [ngClass]=\"data.classes\">\n <div class=\"aw-scheda-image-navigator__input\">\n <n7-input-text \n [data]=\"data.input\"\n [emit]=\"this.emit\"></n7-input-text>\n </div>\n <div *ngIf=\"data.button as button\" class=\"aw-scheda-image-navigator__button\">\n <button class=\"n7-btn\"\n [ngClass]=\"{\n 'is-disabled': button.disabled\n }\"\n [disabled]=\"button.disabled\"\n (click)=\"onSubmit()\">{{ button.label }}</button>\n </div>\n</div>", components: [{ type: i3.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
6840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SchedaImageNavigatorComponent, decorators: [{
6841
+ type: Component,
6842
+ args: [{ selector: 'aw-scheda-image-navigator', template: "<div *ngIf=\"data\" class=\"aw-scheda-image-navigator\" [ngClass]=\"data.classes\">\n <div class=\"aw-scheda-image-navigator__input\">\n <n7-input-text \n [data]=\"data.input\"\n [emit]=\"this.emit\"></n7-input-text>\n </div>\n <div *ngIf=\"data.button as button\" class=\"aw-scheda-image-navigator__button\">\n <button class=\"n7-btn\"\n [ngClass]=\"{\n 'is-disabled': button.disabled\n }\"\n [disabled]=\"button.disabled\"\n (click)=\"onSubmit()\">{{ button.label }}</button>\n </div>\n</div>" }]
6843
+ }], propDecorators: { data: [{
6844
+ type: Input
6845
+ }], emit: [{
6846
+ type: Input
6847
+ }] } });
6848
+
6711
6849
  //---------------------------
6712
6850
  class PdfViewerComponent {
6713
6851
  onClick(payload) {
@@ -6791,10 +6929,10 @@ class AwSchedaLayoutComponent extends AbstractLayout {
6791
6929
  }
6792
6930
  }
6793
6931
  AwSchedaLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwSchedaLayoutComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.LayoutsConfigurationService }, { token: i1.MainStateService }, { token: i3$1.Title }, { token: i1.CommunicationService }], target: i0.ɵɵFactoryTarget.Component });
6794
- AwSchedaLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AwSchedaLayoutComponent, selector: "aw-scheda-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-scheda\"\n id=\"scheda-layout\">\n <div class=\"aw-scheda__content n7-side-auto-padding sticky-parent\"\n [ngClass]=\"{ 'is-collapsed' : lb.dataSource.sidebarCollapsed }\">\n\n <ng-container *ngTemplateOutlet=\"tree\"></ng-container>\n\n <div class=\"aw-scheda__scheda-wrapper\"\n [hidden]=\"lb.dataSource.contentIsLoading\">\n\n <n7-smart-breadcrumbs *ngIf=\"lb.dataSource.hasBreadcrumb\"\n [data]=\"lb.widgets['aw-scheda-breadcrumbs'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-breadcrumbs'].emit\">\n </n7-smart-breadcrumbs>\n\n <div *ngIf=\"!lb.dataSource.hasBreadcrumb\"\n class=\"aw-scheda__fake-breadcrumbs\"\n (click)=\"lb.eventHandler.emitInner('togglesidebar', {})\">\n <p class=\"aw-scheda__fake-breadcrumbs-open\" \n *ngIf=\"lb.dataSource.sidebarCollapsed\">\n Consulta il patrimonio\n </p>\n </div>\n\n <div *ngIf=\"!lb.dataSource.currentId\"\n class=\"aw-scheda__intro-text\"\n [innerHTML]=\"lb.dataSource.emptyLabel\">\n </div>\n\n <div class=\"aw-scheda__title-wrapper\">\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__prev\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.prev?.href ? [titleNav.prev.href] : null\"\n [title]=\"titleNav.prev?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.prev?.href }\">\n <span class=\"n7-icon-angle-left\"></span>\n </a>\n </div>\n <div class=\"aw-scheda__title\">\n <div *ngIf=\"lb.dataSource.documentType as documentType\" class=\"aw-scheda__document-type\">\n <span *ngIf=\"documentType.icon\" class=\"aw-scheda__document-type-icon {{ documentType.icon }}\"></span>\n <span class=\"aw-scheda__document-type-label\">{{ documentType.label }}</span>\n </div>\n <n7-inner-title [data]=\"lb.widgets['aw-scheda-inner-title'].ds.out$ | async\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__next\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.next?.href ? [titleNav.next.href] : null\"\n [title]=\"titleNav.next?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.next?.href }\">\n <span class=\"n7-icon-angle-right\"></span>\n </a>\n </div>\n </div>\n\n <!-- Empty state -->\n <ng-container *ngIf=\"!lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n </ng-container>\n\n <!-- Content sections -->\n <ng-container *ngIf=\"lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n\n <!-- Extended tree -->\n <ng-container *ngTemplateOutlet=\"extendedtree\"></ng-container>\n\n </div>\n </div>\n</div>\n\n<ng-template #tree>\n <div class=\"aw-scheda__tree sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <n7-sidebar-header [data]=\"lb.widgets['aw-sidebar-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-sidebar-header'].emit\"></n7-sidebar-header>\n <div class=\"aw-scheda__tree-content-loading\"\n *ngIf=\"!(lb.widgets['aw-tree'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3]\"\n [data]=\"{\n blocks: [{\n classes: 'tree-placeholder-item'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-scheda__tree-content\"\n (click)=\"lb.eventHandler.emitOuter('treeposition', $event)\"\n [ngStyle]=\"{\n 'max-height': lb.dataSource.treeMaxHeight,\n 'overflow': 'auto'\n }\">\n <n7-tree [data]=\"lb.widgets['aw-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-tree'].emit\"\n *ngIf=\"!lb.dataSource.sidebarCollapsed\">\n </n7-tree>\n </div>\n </div>\n</ng-template>\n\n<ng-template #empty>\n <section class=\"aw-scheda__section aw-scheda__empty\"\n [innerHTML]=\"lb.dataSource.emptyStateString\">\n </section>\n</ng-template>\n\n<ng-template #content>\n <!-- Digital Object selection dropdown -->\n <section class=\"aw-scheda__digital-object-dropdown\"\n *ngIf=\"(\n lb.dataSource.hasDigitalObjects \n && lb.dataSource.digitalObjects.length > 1\n )\">\n <p class=\"aw-scheda__digital-object-dropdown-label\">\n Seleziona l'oggetto digitale da visualizzare:\n </p>\n <aw-scheda-dropdown \n [data]=\"lb.widgets['aw-scheda-dropdown'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-dropdown'].emit\">\n </aw-scheda-dropdown>\n </section>\n <!-- END // Digital Object selection dropdown -->\n\n <!-- Digital Objects: images, IIP, PDFs, external links -->\n <section *ngIf=\"lb.dataSource.currentDigitalObject as $do\" \n class=\"aw-scheda__media aw-scheda__{{ $do.type }}\"\n [ngClass]=\"{ \n 'navigation-hidden': !$do.hasNavigation\n }\">\n <ng-container [ngSwitch]=\"$do.type\">\n <!-- IMAGE VIEWER (IIP) -->\n <ng-container *ngSwitchCase=\"'images-iip'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (IIIF) -->\n <ng-container *ngSwitchCase=\"'images-iiif'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (Simple: jpg, png) -->\n <ng-container *ngSwitchCase=\"'images-simple'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n \n <!-- PDF -->\n <ng-container *ngSwitchCase=\"'pdf'\">\n <aw-pdf-viewer \n [data]=\"lb.widgets['aw-scheda-pdf'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-pdf'].emit\">\n </aw-pdf-viewer>\n </ng-container>\n \n <!-- EXTERNAL URL -->\n <ng-container *ngSwitchCase=\"'external'\">\n <div class=\"aw-scheda__external-url\">\n <a class=\"aw-scheda__external-url-link\" href=\"{{ $do.url }}\" target=\"_blank\">\n {{ $do.label || lb.dataSource.externalUrlText }}\n <span class=\"n7-icon-external-link\"></span>\n </a>\n </div>\n </ng-container>\n </ng-container>\n </section>\n <!-- END // Digital Objects -->\n\n <section *ngIf=\"lb.dataSource.contentParts.content\" class=\"aw-scheda__section aw-scheda__description\">\n <div *ngFor=\"let part of lb.dataSource.contentParts\">\n <div [innerHTML]=\"part.content\"></div>\n </div>\n </section>\n\n <!-- Metadata -->\n <section *ngIf=\"lb.dataSource.hasMetadata\" class=\"aw-scheda__section aw-scheda__metadata\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('metadata')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'metadata' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\"\n *ngIf=\"lb.dataSource.metadataSectionTitle\">\n {{lb.dataSource.metadataSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['metadata']\" \n class=\"aw-scheda__section-content-wrapper\">\n <n7-metadata-viewer [data]=\"lb.widgets['aw-scheda-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </section>\n <!-- END // Metadata -->\n\n <!-- Related entities -->\n <section *ngIf=\"lb.dataSource.hasRelatedEntities\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('related-entities')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'related-entities' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.relatedEntitiesHeader}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['related-entities']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-related-entities'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-related-entities'].emit\">\n </n7-item-preview>\n <!-- Relation -->\n <div class=\"aw-item-preview-relation\"\n *ngIf=\"preview.relation?.value\">\n <p class=\"aw-item-preview-relation__description\">Tipo di relazione\n <!-- <span class=\"aw-item-preview-relation__key\">{{preview.relation.key}}</span>: -->\n <span class=\"aw-item-preview-relation__value\">{{preview.relation.value}}</span>\n </p>\n </div>\n </div>\n </ng-container>\n </div>\n </section>\n <!-- END // Related entities -->\n\n <!-- Similar Objects -->\n <section *ngIf=\"lb.dataSource.hasSimilarItems\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('similar-items')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'similar-items' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.similarItemsSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['similar-items']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div> \n </ng-container>\n </div>\n </section>\n <!-- END // Similar Objects -->\n</ng-template>\n\n<ng-template #collapse let-id>\n <div class=\"aw-scheda__collapse\">\n <button class=\"n7-btn n7-btn-light\">\n <span class=\"n7-icon-angle-right\"\n [ngClass]=\"{\n 'n7-icon-angle-right': !!lb.dataSource.sectionCollapseState[id],\n 'n7-icon-angle-down': !lb.dataSource.sectionCollapseState[id]\n }\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #extendedtree>\n <!-- Extended Tree -->\n <section *ngIf=\"lb.dataSource.hasExtendedTree\" id=\"extended-tree-container\" class=\"aw-scheda__section\">\n <div class=\"aw-scheda__section-extended-tree-loader\" *ngIf=\"!(lb.widgets['aw-extended-tree'].ds.out$ | async)\">\n <n7-loader></n7-loader>\n </div>\n <aw-extended-tree\n [data]=\"lb.widgets['aw-extended-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-extended-tree'].emit\"\n [lb]=\"lb\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'extended-tree' }\"></ng-container>\n </aw-extended-tree>\n </section>\n <!-- END // Extended Tree -->\n</ng-template>", components: [{ type: SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { type: i3.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { type: i3.SidebarHeaderComponent, selector: "n7-sidebar-header", inputs: ["data", "emit"] }, { type: i3.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { type: i3.TreeComponent, selector: "n7-tree", inputs: ["data", "emit"] }, { type: SchedaDropdownComponent, selector: "aw-scheda-dropdown", inputs: ["data", "emit"] }, { type: i3.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { type: PdfViewerComponent, selector: "aw-pdf-viewer", inputs: ["data", "emit"] }, { type: i3.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { type: i3.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { type: i3.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { type: ExtendedTreeComponent, selector: "aw-extended-tree", inputs: ["data", "emit", "lb"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i7.AsyncPipe } });
6932
+ AwSchedaLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AwSchedaLayoutComponent, selector: "aw-scheda-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-scheda\"\n id=\"scheda-layout\">\n <div class=\"aw-scheda__content n7-side-auto-padding sticky-parent\"\n [ngClass]=\"{ 'is-collapsed' : lb.dataSource.sidebarCollapsed }\">\n\n <ng-container *ngTemplateOutlet=\"tree\"></ng-container>\n\n <div class=\"aw-scheda__scheda-wrapper\"\n [hidden]=\"lb.dataSource.contentIsLoading\">\n\n <n7-smart-breadcrumbs *ngIf=\"lb.dataSource.hasBreadcrumb\"\n [data]=\"lb.widgets['aw-scheda-breadcrumbs'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-breadcrumbs'].emit\">\n </n7-smart-breadcrumbs>\n\n <div *ngIf=\"!lb.dataSource.hasBreadcrumb\"\n class=\"aw-scheda__fake-breadcrumbs\"\n (click)=\"lb.eventHandler.emitInner('togglesidebar', {})\">\n <p class=\"aw-scheda__fake-breadcrumbs-open\" \n *ngIf=\"lb.dataSource.sidebarCollapsed\">\n Consulta il patrimonio\n </p>\n </div>\n\n <div *ngIf=\"!lb.dataSource.currentId\"\n class=\"aw-scheda__intro-text\"\n [innerHTML]=\"lb.dataSource.emptyLabel\">\n </div>\n\n <div class=\"aw-scheda__title-wrapper\">\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__prev\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.prev?.href ? [titleNav.prev.href] : null\"\n [title]=\"titleNav.prev?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.prev?.href }\">\n <span class=\"n7-icon-angle-left\"></span>\n </a>\n </div>\n <div class=\"aw-scheda__title\">\n <div *ngIf=\"lb.dataSource.documentType as documentType\" class=\"aw-scheda__document-type\">\n <span *ngIf=\"documentType.icon\" class=\"aw-scheda__document-type-icon {{ documentType.icon }}\"></span>\n <span class=\"aw-scheda__document-type-label\">{{ documentType.label }}</span>\n </div>\n <n7-inner-title [data]=\"lb.widgets['aw-scheda-inner-title'].ds.out$ | async\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__next\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.next?.href ? [titleNav.next.href] : null\"\n [title]=\"titleNav.next?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.next?.href }\">\n <span class=\"n7-icon-angle-right\"></span>\n </a>\n </div>\n </div>\n\n <!-- Empty state -->\n <ng-container *ngIf=\"!lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n </ng-container>\n\n <!-- Content sections -->\n <ng-container *ngIf=\"lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n\n <!-- Extended tree -->\n <ng-container *ngTemplateOutlet=\"extendedtree\"></ng-container>\n\n </div>\n </div>\n</div>\n\n<ng-template #tree>\n <div class=\"aw-scheda__tree sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <n7-sidebar-header [data]=\"lb.widgets['aw-sidebar-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-sidebar-header'].emit\"></n7-sidebar-header>\n <div class=\"aw-scheda__tree-content-loading\"\n *ngIf=\"!(lb.widgets['aw-tree'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3]\"\n [data]=\"{\n blocks: [{\n classes: 'tree-placeholder-item'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-scheda__tree-content\"\n (click)=\"lb.eventHandler.emitOuter('treeposition', $event)\"\n [ngStyle]=\"{\n 'max-height': lb.dataSource.treeMaxHeight,\n 'overflow': 'auto'\n }\">\n <n7-tree [data]=\"lb.widgets['aw-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-tree'].emit\"\n *ngIf=\"!lb.dataSource.sidebarCollapsed\">\n </n7-tree>\n </div>\n </div>\n</ng-template>\n\n<ng-template #empty>\n <section class=\"aw-scheda__section aw-scheda__empty\"\n [innerHTML]=\"lb.dataSource.emptyStateString\">\n </section>\n</ng-template>\n\n<ng-template #content>\n <!-- Digital Object selection dropdown -->\n <section class=\"aw-scheda__digital-object-dropdown\"\n *ngIf=\"(\n lb.dataSource.hasDigitalObjects \n && lb.dataSource.digitalObjects.length > 1\n )\">\n <p class=\"aw-scheda__digital-object-dropdown-label\">\n Seleziona l'oggetto digitale da visualizzare:\n </p>\n <aw-scheda-dropdown \n [data]=\"lb.widgets['aw-scheda-dropdown'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-dropdown'].emit\">\n </aw-scheda-dropdown>\n </section>\n <!-- END // Digital Object selection dropdown -->\n\n <!-- Digital Objects: images, IIP, PDFs, external links -->\n <section *ngIf=\"lb.dataSource.currentDigitalObject as $do\" \n class=\"aw-scheda__media aw-scheda__{{ $do.type }}\"\n [ngClass]=\"{ \n 'navigation-hidden': !($do.hasNavigation$ | async)\n }\">\n <ng-container [ngSwitch]=\"$do.type\">\n <!-- IMAGE VIEWER (IIP) -->\n <ng-container *ngSwitchCase=\"'images-iip'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (IIIF) -->\n <ng-container *ngSwitchCase=\"'images-iiif'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (Simple: jpg, png) -->\n <ng-container *ngSwitchCase=\"'images-simple'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n \n <!-- PDF -->\n <ng-container *ngSwitchCase=\"'pdf'\">\n <aw-pdf-viewer \n [data]=\"lb.widgets['aw-scheda-pdf'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-pdf'].emit\">\n </aw-pdf-viewer>\n </ng-container>\n \n <!-- EXTERNAL URL -->\n <ng-container *ngSwitchCase=\"'external'\">\n <div class=\"aw-scheda__external-url\">\n <a class=\"aw-scheda__external-url-link\" href=\"{{ $do.url }}\" target=\"_blank\">\n {{ $do.label || lb.dataSource.externalUrlText }}\n <span class=\"n7-icon-external-link\"></span>\n </a>\n </div>\n </ng-container>\n </ng-container>\n </section>\n <!-- END // Digital Objects -->\n\n <section *ngIf=\"lb.dataSource.contentParts.content\" class=\"aw-scheda__section aw-scheda__description\">\n <div *ngFor=\"let part of lb.dataSource.contentParts\">\n <div [innerHTML]=\"part.content\"></div>\n </div>\n </section>\n\n <!-- Metadata -->\n <section *ngIf=\"lb.dataSource.hasMetadata\" class=\"aw-scheda__section aw-scheda__metadata\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('metadata')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'metadata' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\"\n *ngIf=\"lb.dataSource.metadataSectionTitle\">\n {{lb.dataSource.metadataSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['metadata']\" \n class=\"aw-scheda__section-content-wrapper\">\n <n7-metadata-viewer [data]=\"lb.widgets['aw-scheda-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </section>\n <!-- END // Metadata -->\n\n <!-- Related entities -->\n <section *ngIf=\"lb.dataSource.hasRelatedEntities\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('related-entities')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'related-entities' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.relatedEntitiesHeader}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['related-entities']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-related-entities'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-related-entities'].emit\">\n </n7-item-preview>\n <!-- Relation -->\n <div class=\"aw-item-preview-relation\"\n *ngIf=\"preview.relation?.value\">\n <p class=\"aw-item-preview-relation__description\">Tipo di relazione\n <!-- <span class=\"aw-item-preview-relation__key\">{{preview.relation.key}}</span>: -->\n <span class=\"aw-item-preview-relation__value\">{{preview.relation.value}}</span>\n </p>\n </div>\n </div>\n </ng-container>\n </div>\n </section>\n <!-- END // Related entities -->\n\n <!-- Similar Objects -->\n <section *ngIf=\"lb.dataSource.hasSimilarItems\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('similar-items')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'similar-items' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.similarItemsSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['similar-items']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div> \n </ng-container>\n </div>\n </section>\n <!-- END // Similar Objects -->\n</ng-template>\n\n<ng-template #collapse let-id>\n <div class=\"aw-scheda__collapse\">\n <button class=\"n7-btn n7-btn-light\">\n <span class=\"n7-icon-angle-right\"\n [ngClass]=\"{\n 'n7-icon-angle-right': !!lb.dataSource.sectionCollapseState[id],\n 'n7-icon-angle-down': !lb.dataSource.sectionCollapseState[id]\n }\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #extendedtree>\n <!-- Extended Tree -->\n <section *ngIf=\"lb.dataSource.hasExtendedTree\" id=\"extended-tree-container\" class=\"aw-scheda__section\">\n <div class=\"aw-scheda__section-extended-tree-loader\" *ngIf=\"!(lb.widgets['aw-extended-tree'].ds.out$ | async)\">\n <n7-loader></n7-loader>\n </div>\n <aw-extended-tree\n [data]=\"lb.widgets['aw-extended-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-extended-tree'].emit\"\n [lb]=\"lb\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'extended-tree' }\"></ng-container>\n </aw-extended-tree>\n </section>\n <!-- END // Extended Tree -->\n</ng-template>", components: [{ type: SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { type: i3.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { type: i3.SidebarHeaderComponent, selector: "n7-sidebar-header", inputs: ["data", "emit"] }, { type: i3.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { type: i3.TreeComponent, selector: "n7-tree", inputs: ["data", "emit"] }, { type: SchedaDropdownComponent, selector: "aw-scheda-dropdown", inputs: ["data", "emit"] }, { type: SchedaImageNavigatorComponent, selector: "aw-scheda-image-navigator", inputs: ["data", "emit"] }, { type: i3.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { type: PdfViewerComponent, selector: "aw-pdf-viewer", inputs: ["data", "emit"] }, { type: i3.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { type: i3.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { type: i3.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { type: ExtendedTreeComponent, selector: "aw-extended-tree", inputs: ["data", "emit", "lb"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i7.AsyncPipe } });
6795
6933
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwSchedaLayoutComponent, decorators: [{
6796
6934
  type: Component,
6797
- args: [{ selector: 'aw-scheda-layout', template: "<div class=\"aw-scheda\"\n id=\"scheda-layout\">\n <div class=\"aw-scheda__content n7-side-auto-padding sticky-parent\"\n [ngClass]=\"{ 'is-collapsed' : lb.dataSource.sidebarCollapsed }\">\n\n <ng-container *ngTemplateOutlet=\"tree\"></ng-container>\n\n <div class=\"aw-scheda__scheda-wrapper\"\n [hidden]=\"lb.dataSource.contentIsLoading\">\n\n <n7-smart-breadcrumbs *ngIf=\"lb.dataSource.hasBreadcrumb\"\n [data]=\"lb.widgets['aw-scheda-breadcrumbs'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-breadcrumbs'].emit\">\n </n7-smart-breadcrumbs>\n\n <div *ngIf=\"!lb.dataSource.hasBreadcrumb\"\n class=\"aw-scheda__fake-breadcrumbs\"\n (click)=\"lb.eventHandler.emitInner('togglesidebar', {})\">\n <p class=\"aw-scheda__fake-breadcrumbs-open\" \n *ngIf=\"lb.dataSource.sidebarCollapsed\">\n Consulta il patrimonio\n </p>\n </div>\n\n <div *ngIf=\"!lb.dataSource.currentId\"\n class=\"aw-scheda__intro-text\"\n [innerHTML]=\"lb.dataSource.emptyLabel\">\n </div>\n\n <div class=\"aw-scheda__title-wrapper\">\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__prev\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.prev?.href ? [titleNav.prev.href] : null\"\n [title]=\"titleNav.prev?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.prev?.href }\">\n <span class=\"n7-icon-angle-left\"></span>\n </a>\n </div>\n <div class=\"aw-scheda__title\">\n <div *ngIf=\"lb.dataSource.documentType as documentType\" class=\"aw-scheda__document-type\">\n <span *ngIf=\"documentType.icon\" class=\"aw-scheda__document-type-icon {{ documentType.icon }}\"></span>\n <span class=\"aw-scheda__document-type-label\">{{ documentType.label }}</span>\n </div>\n <n7-inner-title [data]=\"lb.widgets['aw-scheda-inner-title'].ds.out$ | async\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__next\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.next?.href ? [titleNav.next.href] : null\"\n [title]=\"titleNav.next?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.next?.href }\">\n <span class=\"n7-icon-angle-right\"></span>\n </a>\n </div>\n </div>\n\n <!-- Empty state -->\n <ng-container *ngIf=\"!lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n </ng-container>\n\n <!-- Content sections -->\n <ng-container *ngIf=\"lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n\n <!-- Extended tree -->\n <ng-container *ngTemplateOutlet=\"extendedtree\"></ng-container>\n\n </div>\n </div>\n</div>\n\n<ng-template #tree>\n <div class=\"aw-scheda__tree sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <n7-sidebar-header [data]=\"lb.widgets['aw-sidebar-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-sidebar-header'].emit\"></n7-sidebar-header>\n <div class=\"aw-scheda__tree-content-loading\"\n *ngIf=\"!(lb.widgets['aw-tree'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3]\"\n [data]=\"{\n blocks: [{\n classes: 'tree-placeholder-item'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-scheda__tree-content\"\n (click)=\"lb.eventHandler.emitOuter('treeposition', $event)\"\n [ngStyle]=\"{\n 'max-height': lb.dataSource.treeMaxHeight,\n 'overflow': 'auto'\n }\">\n <n7-tree [data]=\"lb.widgets['aw-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-tree'].emit\"\n *ngIf=\"!lb.dataSource.sidebarCollapsed\">\n </n7-tree>\n </div>\n </div>\n</ng-template>\n\n<ng-template #empty>\n <section class=\"aw-scheda__section aw-scheda__empty\"\n [innerHTML]=\"lb.dataSource.emptyStateString\">\n </section>\n</ng-template>\n\n<ng-template #content>\n <!-- Digital Object selection dropdown -->\n <section class=\"aw-scheda__digital-object-dropdown\"\n *ngIf=\"(\n lb.dataSource.hasDigitalObjects \n && lb.dataSource.digitalObjects.length > 1\n )\">\n <p class=\"aw-scheda__digital-object-dropdown-label\">\n Seleziona l'oggetto digitale da visualizzare:\n </p>\n <aw-scheda-dropdown \n [data]=\"lb.widgets['aw-scheda-dropdown'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-dropdown'].emit\">\n </aw-scheda-dropdown>\n </section>\n <!-- END // Digital Object selection dropdown -->\n\n <!-- Digital Objects: images, IIP, PDFs, external links -->\n <section *ngIf=\"lb.dataSource.currentDigitalObject as $do\" \n class=\"aw-scheda__media aw-scheda__{{ $do.type }}\"\n [ngClass]=\"{ \n 'navigation-hidden': !$do.hasNavigation\n }\">\n <ng-container [ngSwitch]=\"$do.type\">\n <!-- IMAGE VIEWER (IIP) -->\n <ng-container *ngSwitchCase=\"'images-iip'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (IIIF) -->\n <ng-container *ngSwitchCase=\"'images-iiif'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (Simple: jpg, png) -->\n <ng-container *ngSwitchCase=\"'images-simple'\">\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n \n <!-- PDF -->\n <ng-container *ngSwitchCase=\"'pdf'\">\n <aw-pdf-viewer \n [data]=\"lb.widgets['aw-scheda-pdf'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-pdf'].emit\">\n </aw-pdf-viewer>\n </ng-container>\n \n <!-- EXTERNAL URL -->\n <ng-container *ngSwitchCase=\"'external'\">\n <div class=\"aw-scheda__external-url\">\n <a class=\"aw-scheda__external-url-link\" href=\"{{ $do.url }}\" target=\"_blank\">\n {{ $do.label || lb.dataSource.externalUrlText }}\n <span class=\"n7-icon-external-link\"></span>\n </a>\n </div>\n </ng-container>\n </ng-container>\n </section>\n <!-- END // Digital Objects -->\n\n <section *ngIf=\"lb.dataSource.contentParts.content\" class=\"aw-scheda__section aw-scheda__description\">\n <div *ngFor=\"let part of lb.dataSource.contentParts\">\n <div [innerHTML]=\"part.content\"></div>\n </div>\n </section>\n\n <!-- Metadata -->\n <section *ngIf=\"lb.dataSource.hasMetadata\" class=\"aw-scheda__section aw-scheda__metadata\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('metadata')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'metadata' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\"\n *ngIf=\"lb.dataSource.metadataSectionTitle\">\n {{lb.dataSource.metadataSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['metadata']\" \n class=\"aw-scheda__section-content-wrapper\">\n <n7-metadata-viewer [data]=\"lb.widgets['aw-scheda-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </section>\n <!-- END // Metadata -->\n\n <!-- Related entities -->\n <section *ngIf=\"lb.dataSource.hasRelatedEntities\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('related-entities')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'related-entities' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.relatedEntitiesHeader}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['related-entities']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-related-entities'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-related-entities'].emit\">\n </n7-item-preview>\n <!-- Relation -->\n <div class=\"aw-item-preview-relation\"\n *ngIf=\"preview.relation?.value\">\n <p class=\"aw-item-preview-relation__description\">Tipo di relazione\n <!-- <span class=\"aw-item-preview-relation__key\">{{preview.relation.key}}</span>: -->\n <span class=\"aw-item-preview-relation__value\">{{preview.relation.value}}</span>\n </p>\n </div>\n </div>\n </ng-container>\n </div>\n </section>\n <!-- END // Related entities -->\n\n <!-- Similar Objects -->\n <section *ngIf=\"lb.dataSource.hasSimilarItems\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('similar-items')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'similar-items' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.similarItemsSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['similar-items']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div> \n </ng-container>\n </div>\n </section>\n <!-- END // Similar Objects -->\n</ng-template>\n\n<ng-template #collapse let-id>\n <div class=\"aw-scheda__collapse\">\n <button class=\"n7-btn n7-btn-light\">\n <span class=\"n7-icon-angle-right\"\n [ngClass]=\"{\n 'n7-icon-angle-right': !!lb.dataSource.sectionCollapseState[id],\n 'n7-icon-angle-down': !lb.dataSource.sectionCollapseState[id]\n }\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #extendedtree>\n <!-- Extended Tree -->\n <section *ngIf=\"lb.dataSource.hasExtendedTree\" id=\"extended-tree-container\" class=\"aw-scheda__section\">\n <div class=\"aw-scheda__section-extended-tree-loader\" *ngIf=\"!(lb.widgets['aw-extended-tree'].ds.out$ | async)\">\n <n7-loader></n7-loader>\n </div>\n <aw-extended-tree\n [data]=\"lb.widgets['aw-extended-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-extended-tree'].emit\"\n [lb]=\"lb\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'extended-tree' }\"></ng-container>\n </aw-extended-tree>\n </section>\n <!-- END // Extended Tree -->\n</ng-template>" }]
6935
+ args: [{ selector: 'aw-scheda-layout', template: "<div class=\"aw-scheda\"\n id=\"scheda-layout\">\n <div class=\"aw-scheda__content n7-side-auto-padding sticky-parent\"\n [ngClass]=\"{ 'is-collapsed' : lb.dataSource.sidebarCollapsed }\">\n\n <ng-container *ngTemplateOutlet=\"tree\"></ng-container>\n\n <div class=\"aw-scheda__scheda-wrapper\"\n [hidden]=\"lb.dataSource.contentIsLoading\">\n\n <n7-smart-breadcrumbs *ngIf=\"lb.dataSource.hasBreadcrumb\"\n [data]=\"lb.widgets['aw-scheda-breadcrumbs'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-breadcrumbs'].emit\">\n </n7-smart-breadcrumbs>\n\n <div *ngIf=\"!lb.dataSource.hasBreadcrumb\"\n class=\"aw-scheda__fake-breadcrumbs\"\n (click)=\"lb.eventHandler.emitInner('togglesidebar', {})\">\n <p class=\"aw-scheda__fake-breadcrumbs-open\" \n *ngIf=\"lb.dataSource.sidebarCollapsed\">\n Consulta il patrimonio\n </p>\n </div>\n\n <div *ngIf=\"!lb.dataSource.currentId\"\n class=\"aw-scheda__intro-text\"\n [innerHTML]=\"lb.dataSource.emptyLabel\">\n </div>\n\n <div class=\"aw-scheda__title-wrapper\">\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__prev\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.prev?.href ? [titleNav.prev.href] : null\"\n [title]=\"titleNav.prev?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.prev?.href }\">\n <span class=\"n7-icon-angle-left\"></span>\n </a>\n </div>\n <div class=\"aw-scheda__title\">\n <div *ngIf=\"lb.dataSource.documentType as documentType\" class=\"aw-scheda__document-type\">\n <span *ngIf=\"documentType.icon\" class=\"aw-scheda__document-type-icon {{ documentType.icon }}\"></span>\n <span class=\"aw-scheda__document-type-label\">{{ documentType.label }}</span>\n </div>\n <n7-inner-title [data]=\"lb.widgets['aw-scheda-inner-title'].ds.out$ | async\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.titleNavigation as titleNav\" class=\"aw-scheda__next\">\n <a class=\"n7-btn n7-btn-light\" [routerLink]=\"titleNav.next?.href ? [titleNav.next.href] : null\"\n [title]=\"titleNav.next?.label || ''\"\n [ngClass]=\"{ 'is-disabled': !titleNav.next?.href }\">\n <span class=\"n7-icon-angle-right\"></span>\n </a>\n </div>\n </div>\n\n <!-- Empty state -->\n <ng-container *ngIf=\"!lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n </ng-container>\n\n <!-- Content sections -->\n <ng-container *ngIf=\"lb.dataSource.hasContent\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n\n <!-- Extended tree -->\n <ng-container *ngTemplateOutlet=\"extendedtree\"></ng-container>\n\n </div>\n </div>\n</div>\n\n<ng-template #tree>\n <div class=\"aw-scheda__tree sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <n7-sidebar-header [data]=\"lb.widgets['aw-sidebar-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-sidebar-header'].emit\"></n7-sidebar-header>\n <div class=\"aw-scheda__tree-content-loading\"\n *ngIf=\"!(lb.widgets['aw-tree'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3]\"\n [data]=\"{\n blocks: [{\n classes: 'tree-placeholder-item'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-scheda__tree-content\"\n (click)=\"lb.eventHandler.emitOuter('treeposition', $event)\"\n [ngStyle]=\"{\n 'max-height': lb.dataSource.treeMaxHeight,\n 'overflow': 'auto'\n }\">\n <n7-tree [data]=\"lb.widgets['aw-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-tree'].emit\"\n *ngIf=\"!lb.dataSource.sidebarCollapsed\">\n </n7-tree>\n </div>\n </div>\n</ng-template>\n\n<ng-template #empty>\n <section class=\"aw-scheda__section aw-scheda__empty\"\n [innerHTML]=\"lb.dataSource.emptyStateString\">\n </section>\n</ng-template>\n\n<ng-template #content>\n <!-- Digital Object selection dropdown -->\n <section class=\"aw-scheda__digital-object-dropdown\"\n *ngIf=\"(\n lb.dataSource.hasDigitalObjects \n && lb.dataSource.digitalObjects.length > 1\n )\">\n <p class=\"aw-scheda__digital-object-dropdown-label\">\n Seleziona l'oggetto digitale da visualizzare:\n </p>\n <aw-scheda-dropdown \n [data]=\"lb.widgets['aw-scheda-dropdown'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-dropdown'].emit\">\n </aw-scheda-dropdown>\n </section>\n <!-- END // Digital Object selection dropdown -->\n\n <!-- Digital Objects: images, IIP, PDFs, external links -->\n <section *ngIf=\"lb.dataSource.currentDigitalObject as $do\" \n class=\"aw-scheda__media aw-scheda__{{ $do.type }}\"\n [ngClass]=\"{ \n 'navigation-hidden': !($do.hasNavigation$ | async)\n }\">\n <ng-container [ngSwitch]=\"$do.type\">\n <!-- IMAGE VIEWER (IIP) -->\n <ng-container *ngSwitchCase=\"'images-iip'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (IIIF) -->\n <ng-container *ngSwitchCase=\"'images-iiif'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\" \n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n\n <!-- IMAGE VIEWER (Simple: jpg, png) -->\n <ng-container *ngSwitchCase=\"'images-simple'\">\n <aw-scheda-image-navigator \n [data]=\"lb.widgets['aw-scheda-image-navigator'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-image-navigator'].emit\"></aw-scheda-image-navigator>\n <n7-image-viewer \n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets['aw-scheda-image'].ds.out$ | async\">\n </n7-image-viewer>\n </ng-container>\n \n <!-- PDF -->\n <ng-container *ngSwitchCase=\"'pdf'\">\n <aw-pdf-viewer \n [data]=\"lb.widgets['aw-scheda-pdf'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-scheda-pdf'].emit\">\n </aw-pdf-viewer>\n </ng-container>\n \n <!-- EXTERNAL URL -->\n <ng-container *ngSwitchCase=\"'external'\">\n <div class=\"aw-scheda__external-url\">\n <a class=\"aw-scheda__external-url-link\" href=\"{{ $do.url }}\" target=\"_blank\">\n {{ $do.label || lb.dataSource.externalUrlText }}\n <span class=\"n7-icon-external-link\"></span>\n </a>\n </div>\n </ng-container>\n </ng-container>\n </section>\n <!-- END // Digital Objects -->\n\n <section *ngIf=\"lb.dataSource.contentParts.content\" class=\"aw-scheda__section aw-scheda__description\">\n <div *ngFor=\"let part of lb.dataSource.contentParts\">\n <div [innerHTML]=\"part.content\"></div>\n </div>\n </section>\n\n <!-- Metadata -->\n <section *ngIf=\"lb.dataSource.hasMetadata\" class=\"aw-scheda__section aw-scheda__metadata\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('metadata')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'metadata' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\"\n *ngIf=\"lb.dataSource.metadataSectionTitle\">\n {{lb.dataSource.metadataSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['metadata']\" \n class=\"aw-scheda__section-content-wrapper\">\n <n7-metadata-viewer [data]=\"lb.widgets['aw-scheda-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </section>\n <!-- END // Metadata -->\n\n <!-- Related entities -->\n <section *ngIf=\"lb.dataSource.hasRelatedEntities\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('related-entities')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'related-entities' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.relatedEntitiesHeader}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['related-entities']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-related-entities'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-related-entities'].emit\">\n </n7-item-preview>\n <!-- Relation -->\n <div class=\"aw-item-preview-relation\"\n *ngIf=\"preview.relation?.value\">\n <p class=\"aw-item-preview-relation__description\">Tipo di relazione\n <!-- <span class=\"aw-item-preview-relation__key\">{{preview.relation.key}}</span>: -->\n <span class=\"aw-item-preview-relation__value\">{{preview.relation.value}}</span>\n </p>\n </div>\n </div>\n </ng-container>\n </div>\n </section>\n <!-- END // Related entities -->\n\n <!-- Similar Objects -->\n <section *ngIf=\"lb.dataSource.hasSimilarItems\"\n id=\"related-item-container\"\n class=\"aw-scheda__section aw-scheda__related\">\n <div class=\"aw-scheda__section-title-wrapper\" (click)=\"lb.dataSource.onSectionCollapse('similar-items')\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'similar-items' }\"></ng-container>\n <div class=\"aw-scheda__inner-title\">\n {{lb.dataSource.similarItemsSectionTitle}}\n </div>\n </div>\n <div [hidden]=\"!!lb.dataSource.sectionCollapseState['similar-items']\" \n class=\"aw-scheda__related-items aw-item-preview-list n7-grid-2\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div> \n </ng-container>\n </div>\n </section>\n <!-- END // Similar Objects -->\n</ng-template>\n\n<ng-template #collapse let-id>\n <div class=\"aw-scheda__collapse\">\n <button class=\"n7-btn n7-btn-light\">\n <span class=\"n7-icon-angle-right\"\n [ngClass]=\"{\n 'n7-icon-angle-right': !!lb.dataSource.sectionCollapseState[id],\n 'n7-icon-angle-down': !lb.dataSource.sectionCollapseState[id]\n }\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #extendedtree>\n <!-- Extended Tree -->\n <section *ngIf=\"lb.dataSource.hasExtendedTree\" id=\"extended-tree-container\" class=\"aw-scheda__section\">\n <div class=\"aw-scheda__section-extended-tree-loader\" *ngIf=\"!(lb.widgets['aw-extended-tree'].ds.out$ | async)\">\n <n7-loader></n7-loader>\n </div>\n <aw-extended-tree\n [data]=\"lb.widgets['aw-extended-tree'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-extended-tree'].emit\"\n [lb]=\"lb\">\n <ng-container *ngTemplateOutlet=\"collapse; context: { $implicit: 'extended-tree' }\"></ng-container>\n </aw-extended-tree>\n </section>\n <!-- END // Extended Tree -->\n</ng-template>" }]
6798
6936
  }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.LayoutsConfigurationService }, { type: i1.MainStateService }, { type: i3$1.Title }, { type: i1.CommunicationService }]; } });
6799
6937
 
6800
6938
  const AwSearchLayoutConfig = {
@@ -7839,6 +7977,7 @@ const COMPONENTS = [
7839
7977
  SchedaDropdownComponent,
7840
7978
  SmartBreadcrumbsComponent,
7841
7979
  ExtendedTreeComponent,
7980
+ SchedaImageNavigatorComponent,
7842
7981
  ];
7843
7982
  class N7BoilerplateAriannaModule {
7844
7983
  constructor(initStatus, config) {
@@ -7867,7 +8006,8 @@ N7BoilerplateAriannaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
7867
8006
  PdfViewerComponent,
7868
8007
  SchedaDropdownComponent,
7869
8008
  SmartBreadcrumbsComponent,
7870
- ExtendedTreeComponent], imports: [CommonModule,
8009
+ ExtendedTreeComponent,
8010
+ SchedaImageNavigatorComponent], imports: [CommonModule,
7871
8011
  RouterModule,
7872
8012
  DvComponentsLibModule,
7873
8013
  N7BoilerplateCommonModule,
@@ -7885,7 +8025,8 @@ N7BoilerplateAriannaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
7885
8025
  PdfViewerComponent,
7886
8026
  SchedaDropdownComponent,
7887
8027
  SmartBreadcrumbsComponent,
7888
- ExtendedTreeComponent] });
8028
+ ExtendedTreeComponent,
8029
+ SchedaImageNavigatorComponent] });
7889
8030
  N7BoilerplateAriannaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: N7BoilerplateAriannaModule, imports: [[
7890
8031
  CommonModule,
7891
8032
  RouterModule,
@@ -7918,5 +8059,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
7918
8059
  * Generated bundle index. Do not edit.
7919
8060
  */
7920
8061
 
7921
- export { AwAutocompleteWrapperDS, AwAutocompleteWrapperEH, AwBubbleChartDS, AwBubbleChartEH, AwCarouselDS, AwChartTippyDS, AwChartTippyEH, AwCollectionLayoutComponent, AwCollectionLayoutConfig, AwCollectionLayoutDS, AwCollectionLayoutEH, AwEntitaLayoutComponent, AwEntitaLayoutConfig, AwEntitaLayoutDS, AwEntitaLayoutEH, AwEntitaMetadataViewerDS, AwEntitaNavDS, AwEntitaNavEH, AwExtendedTreeDS, AwExtendedTreeEH, AwFacetsWrapperComponent, AwFacetsWrapperDS, AwFacetsWrapperEH, AwGalleryLayoutComponent, AwGalleryLayoutConfig, AwGalleryLayoutDS, AwGalleryLayoutEH, AwGalleryResultsDS, AwGalleryResultsEH, AwHeroDS, AwHeroEH, AwHomeAutocompleteDS, AwHomeAutocompleteEH, AwHomeFacetsWrapperDS, AwHomeFacetsWrapperEH, AwHomeHeroPatrimonioDS, AwHomeHeroPatrimonioEH, AwHomeItemTagsWrapperDS, AwHomeItemTagsWrapperEH, AwHomeLayoutComponent, AwHomeLayoutConfig, AwHomeLayoutDS, AwHomeLayoutEH, AwLinkedObjectsDS, AwLinkedObjectsEH, AwMapDS, AwMapEH, AwMapLayoutComponent, AwMapLayoutConfig, AwMapLayoutDS, AwMapLayoutEH, AwPatrimonioLayoutConfig, AwRelatedEntitiesDS, AwSchedaBreadcrumbsDS, AwSchedaDropdownDS, AwSchedaDropdownEH, AwSchedaImageDS, AwSchedaInnerTitleDS, AwSchedaLayoutComponent, AwSchedaLayoutDS, AwSchedaLayoutEH, AwSchedaMetadataDS, AwSchedaPdfDS, AwSchedaPdfEH, AwSchedaSidebarEH, AwSearchLayoutComponent, AwSearchLayoutConfig, AwSearchLayoutDS, AwSearchLayoutEH, AwSearchLayoutTabsDS, AwSearchLayoutTabsEH, AwSidebarHeaderDS, AwSidebarHeaderEH, AwTableDS, AwTableEH, AwTimelineDS, AwTimelineEH, AwTimelineLayoutComponent, AwTimelineLayoutConfig, AwTimelineLayoutDS, AwTimelineLayoutEH, AwTreeDS, AwTreeEH, BubbleChartWrapperComponent, ChartTippyComponent, ExtendedTreeComponent, N7BoilerplateAriannaModule, PdfViewerComponent, SchedaDropdownComponent, SmartBreadcrumbsComponent };
8062
+ export { AwAutocompleteWrapperDS, AwAutocompleteWrapperEH, AwBubbleChartDS, AwBubbleChartEH, AwCarouselDS, AwChartTippyDS, AwChartTippyEH, AwCollectionLayoutComponent, AwCollectionLayoutConfig, AwCollectionLayoutDS, AwCollectionLayoutEH, AwEntitaLayoutComponent, AwEntitaLayoutConfig, AwEntitaLayoutDS, AwEntitaLayoutEH, AwEntitaMetadataViewerDS, AwEntitaNavDS, AwEntitaNavEH, AwExtendedTreeDS, AwExtendedTreeEH, AwFacetsWrapperComponent, AwFacetsWrapperDS, AwFacetsWrapperEH, AwGalleryLayoutComponent, AwGalleryLayoutConfig, AwGalleryLayoutDS, AwGalleryLayoutEH, AwGalleryResultsDS, AwGalleryResultsEH, AwHeroDS, AwHeroEH, AwHomeAutocompleteDS, AwHomeAutocompleteEH, AwHomeFacetsWrapperDS, AwHomeFacetsWrapperEH, AwHomeHeroPatrimonioDS, AwHomeHeroPatrimonioEH, AwHomeItemTagsWrapperDS, AwHomeItemTagsWrapperEH, AwHomeLayoutComponent, AwHomeLayoutConfig, AwHomeLayoutDS, AwHomeLayoutEH, AwLinkedObjectsDS, AwLinkedObjectsEH, AwMapDS, AwMapEH, AwMapLayoutComponent, AwMapLayoutConfig, AwMapLayoutDS, AwMapLayoutEH, AwPatrimonioLayoutConfig, AwRelatedEntitiesDS, AwSchedaBreadcrumbsDS, AwSchedaDropdownDS, AwSchedaDropdownEH, AwSchedaImageDS, AwSchedaImageNavigatorDS, AwSchedaImageNavigatorEH, AwSchedaInnerTitleDS, AwSchedaLayoutComponent, AwSchedaLayoutDS, AwSchedaLayoutEH, AwSchedaMetadataDS, AwSchedaPdfDS, AwSchedaPdfEH, AwSchedaSidebarEH, AwSearchLayoutComponent, AwSearchLayoutConfig, AwSearchLayoutDS, AwSearchLayoutEH, AwSearchLayoutTabsDS, AwSearchLayoutTabsEH, AwSidebarHeaderDS, AwSidebarHeaderEH, AwTableDS, AwTableEH, AwTimelineDS, AwTimelineEH, AwTimelineLayoutComponent, AwTimelineLayoutConfig, AwTimelineLayoutDS, AwTimelineLayoutEH, AwTreeDS, AwTreeEH, BubbleChartWrapperComponent, ChartTippyComponent, ExtendedTreeComponent, N7BoilerplateAriannaModule, PdfViewerComponent, SchedaDropdownComponent, SchedaImageNavigatorComponent, SmartBreadcrumbsComponent };
7922
8063
  //# sourceMappingURL=net7-boilerplate-arianna.mjs.map