@net7/boilerplate-muruca 5.4.2 → 5.5.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.
- package/esm2022/lib/data-sources/index.mjs +2 -1
- package/esm2022/lib/data-sources/network-resource.ds.mjs +50 -0
- package/esm2022/lib/data-sources/parallel-text-viewer.ds.mjs +50 -13
- package/esm2022/lib/event-handlers/index.mjs +2 -1
- package/esm2022/lib/event-handlers/network-resource.eh.mjs +89 -0
- package/esm2022/lib/layouts/network-layout/network-layout.mjs +3 -3
- package/esm2022/lib/layouts/resource-layout/resource-layout.mjs +7 -5
- package/fesm2022/net7-boilerplate-muruca.mjs +194 -18
- package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
- package/lib/data-sources/index.d.ts +1 -0
- package/lib/data-sources/network-resource.ds.d.ts +14 -0
- package/lib/data-sources/parallel-text-viewer.ds.d.ts +5 -2
- package/lib/event-handlers/index.d.ts +1 -0
- package/lib/event-handlers/network-resource.eh.d.ts +7 -0
- package/package.json +1 -1
- package/src/lib/styles/muruca/components/_parallel-text-viewer.scss +12 -0
- package/src/lib/styles/muruca/layouts/_resource.scss +5 -0
|
@@ -16,9 +16,9 @@ import * as i1$1 from '@angular/platform-browser';
|
|
|
16
16
|
import OpenSeadragon from 'openseadragon';
|
|
17
17
|
import * as L from 'leaflet';
|
|
18
18
|
import 'leaflet.markercluster';
|
|
19
|
+
import { Network } from 'vis-network';
|
|
19
20
|
import * as dayjs from 'dayjs';
|
|
20
21
|
import tippy from 'tippy.js';
|
|
21
|
-
import { Network } from 'vis-network';
|
|
22
22
|
import * as i1$3 from '@angular/common/http';
|
|
23
23
|
|
|
24
24
|
const hasValue = (value) => {
|
|
@@ -2508,7 +2508,57 @@ class MrNetworkDS extends DataSource {
|
|
|
2508
2508
|
}
|
|
2509
2509
|
}
|
|
2510
2510
|
|
|
2511
|
+
class MrNetworkResourceDS extends DataSource {
|
|
2512
|
+
constructor() {
|
|
2513
|
+
super(...arguments);
|
|
2514
|
+
this.legend = [];
|
|
2515
|
+
this.networkListener$ = new Subject();
|
|
2516
|
+
}
|
|
2517
|
+
transform(data) {
|
|
2518
|
+
setTimeout(() => {
|
|
2519
|
+
const container = document.getElementById('demo-network');
|
|
2520
|
+
if (!container) {
|
|
2521
|
+
console.error('Container non trovato');
|
|
2522
|
+
return;
|
|
2523
|
+
}
|
|
2524
|
+
try {
|
|
2525
|
+
const { nodes } = data;
|
|
2526
|
+
const { edges } = data;
|
|
2527
|
+
const networkGroups = data?.groups || {};
|
|
2528
|
+
const options = data.libOptions;
|
|
2529
|
+
const mergedGroups = {
|
|
2530
|
+
...networkGroups,
|
|
2531
|
+
...(options?.groups || {})
|
|
2532
|
+
};
|
|
2533
|
+
// legenda
|
|
2534
|
+
this.legend = [];
|
|
2535
|
+
Object.keys(mergedGroups).forEach((key) => {
|
|
2536
|
+
const group = mergedGroups[key];
|
|
2537
|
+
this.legend.push({
|
|
2538
|
+
key,
|
|
2539
|
+
label: group.label || key,
|
|
2540
|
+
color: group.color || '#cccccc'
|
|
2541
|
+
});
|
|
2542
|
+
});
|
|
2543
|
+
const libOptions = {
|
|
2544
|
+
...options,
|
|
2545
|
+
groups: mergedGroups
|
|
2546
|
+
};
|
|
2547
|
+
const network = new Network(container, { nodes, edges }, libOptions);
|
|
2548
|
+
this.networkListener$.next(network);
|
|
2549
|
+
}
|
|
2550
|
+
catch (error) {
|
|
2551
|
+
console.error('Errore inizializzazione', error);
|
|
2552
|
+
}
|
|
2553
|
+
}, 100);
|
|
2554
|
+
return data;
|
|
2555
|
+
}
|
|
2556
|
+
}
|
|
2557
|
+
|
|
2558
|
+
// import { ParallelTextViewerData } from '@net7/components';
|
|
2511
2559
|
class MrParallelTextViewerDS extends DataSource {
|
|
2560
|
+
// protected transform(data: ParallelTextViewerData): ParallelTextViewerData {
|
|
2561
|
+
// ^^^^^^^^^^^^^se va buildare components --- 17-12-2025^^^^^^^^^^^^^^^^^
|
|
2512
2562
|
transform(data) {
|
|
2513
2563
|
if (!data)
|
|
2514
2564
|
return null;
|
|
@@ -2560,17 +2610,14 @@ class MrParallelTextViewerDS extends DataSource {
|
|
|
2560
2610
|
});
|
|
2561
2611
|
}
|
|
2562
2612
|
}
|
|
2563
|
-
const { enableClickOnEntities, toggleColumn,
|
|
2564
|
-
// searchId,
|
|
2565
|
-
// searchApi
|
|
2566
|
-
} = this.options || {};
|
|
2613
|
+
const { enableClickOnEntities, toggleColumn, searchId, searchApi } = this.options || {};
|
|
2567
2614
|
data.toggleColumn = toggleColumn;
|
|
2568
2615
|
// force tei publisher endpoint value
|
|
2569
2616
|
document.addEventListener('pb-page-ready', (ev) => {
|
|
2570
2617
|
const { detail } = ev;
|
|
2571
2618
|
detail.endpoint = data.endpoint;
|
|
2572
2619
|
}, { once: true });
|
|
2573
|
-
|
|
2620
|
+
const params = new URLSearchParams(document.location.search);
|
|
2574
2621
|
// const id = params.get('id');
|
|
2575
2622
|
this.setupViewClickListeners();
|
|
2576
2623
|
/* if (data.docs[0]?.view === 'page' && id) {
|
|
@@ -2623,20 +2670,33 @@ class MrParallelTextViewerDS extends DataSource {
|
|
|
2623
2670
|
this.scrollElementsIntoView(ev.detail, 'chapter', '#view1');
|
|
2624
2671
|
});
|
|
2625
2672
|
}
|
|
2626
|
-
/*
|
|
2673
|
+
/* if (params.get('hq')) {
|
|
2627
2674
|
if (searchApi) {
|
|
2628
2675
|
const xmlQueryUrl = `${searchApi.url
|
|
2629
2676
|
}?resource-id=${searchApi['resource-id']
|
|
2630
2677
|
}&searchId=${searchId
|
|
2631
2678
|
}&xml=${data.docs[0]?.xml
|
|
2632
2679
|
}&${params.toString()}`;
|
|
2680
|
+
|
|
2633
2681
|
data.docs[0].url = xmlQueryUrl;
|
|
2634
2682
|
data.docs[0].rootPath = 'api/mrcparts';
|
|
2635
2683
|
}
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2684
|
+
*/
|
|
2685
|
+
if (params.get('hq')) {
|
|
2686
|
+
if (searchApi) {
|
|
2687
|
+
const mainDoc = data.docs.find((doc) => doc.id === 'mainDoc');
|
|
2688
|
+
if (mainDoc) {
|
|
2689
|
+
const xmlQueryUrl = `${searchApi.url}?resource-id=${searchApi['resource-id']}&searchId=${searchId}&xml=${mainDoc.xml}&${params.toString()}`;
|
|
2690
|
+
mainDoc.url = xmlQueryUrl;
|
|
2691
|
+
mainDoc.rootPath = 'api/mrcparts';
|
|
2692
|
+
}
|
|
2693
|
+
}
|
|
2694
|
+
// ..
|
|
2695
|
+
}
|
|
2696
|
+
document.addEventListener('pb-end-update', (ev) => {
|
|
2697
|
+
this.scrollElementsIntoView(ev.detail, 'hq', '#transcription-view');
|
|
2698
|
+
});
|
|
2699
|
+
/* } */
|
|
2640
2700
|
return data;
|
|
2641
2701
|
}
|
|
2642
2702
|
displayIndex() {
|
|
@@ -2794,6 +2854,13 @@ class MrParallelTextViewerDS extends DataSource {
|
|
|
2794
2854
|
}
|
|
2795
2855
|
}
|
|
2796
2856
|
}
|
|
2857
|
+
else if (target && target.getAttribute('key') && target.getAttribute('scrollview') !== null) {
|
|
2858
|
+
// Per scroll su indice
|
|
2859
|
+
const key = target.getAttribute('key');
|
|
2860
|
+
if (key) {
|
|
2861
|
+
this.scrollToIndexElement(key);
|
|
2862
|
+
}
|
|
2863
|
+
}
|
|
2797
2864
|
else if (target && this.output.toggleColumn === false) {
|
|
2798
2865
|
if (target.__key
|
|
2799
2866
|
&& (target.className.includes('person')
|
|
@@ -2849,15 +2916,32 @@ class MrParallelTextViewerDS extends DataSource {
|
|
|
2849
2916
|
}
|
|
2850
2917
|
else if (type === 'hq') {
|
|
2851
2918
|
element = document
|
|
2852
|
-
.querySelector(`.n7-text-viewer ${view}`)
|
|
2919
|
+
.querySelector(`.n7-parallel-text-viewer ${view}`)
|
|
2853
2920
|
.shadowRoot.querySelector('.tei-em');
|
|
2854
2921
|
}
|
|
2855
|
-
const container = document.querySelector(`.n7-text-viewer ${view}`);
|
|
2922
|
+
const container = document.querySelector(`.n7-parallel-text-viewer ${view}`);
|
|
2856
2923
|
if (element) {
|
|
2857
2924
|
container.scrollTop = element.offsetTop;
|
|
2858
2925
|
}
|
|
2859
2926
|
}, 600);
|
|
2860
2927
|
}
|
|
2928
|
+
/**
|
|
2929
|
+
* Scrolla all'elemento corrispondente nell'indice
|
|
2930
|
+
*/
|
|
2931
|
+
scrollToIndexElement(key) {
|
|
2932
|
+
setTimeout(() => {
|
|
2933
|
+
const cleanKey = key.replace('#', '');
|
|
2934
|
+
const views = document.querySelectorAll('.n7-parallel-text-viewer [id$="-view"]:not(#transcription-view)');
|
|
2935
|
+
Array.from(views).some((view) => {
|
|
2936
|
+
const target = view.shadowRoot?.querySelector(`#${cleanKey}`);
|
|
2937
|
+
if (target) {
|
|
2938
|
+
target.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
2939
|
+
return true;
|
|
2940
|
+
}
|
|
2941
|
+
return false;
|
|
2942
|
+
});
|
|
2943
|
+
}, 300);
|
|
2944
|
+
}
|
|
2861
2945
|
}
|
|
2862
2946
|
|
|
2863
2947
|
class MrSearchPageTitleDS extends DataSource {
|
|
@@ -3315,6 +3399,7 @@ var DS = /*#__PURE__*/Object.freeze({
|
|
|
3315
3399
|
MrMetadataDynamicDS: MrMetadataDynamicDS,
|
|
3316
3400
|
MrNavDS: MrNavDS,
|
|
3317
3401
|
MrNetworkDS: MrNetworkDS,
|
|
3402
|
+
MrNetworkResourceDS: MrNetworkResourceDS,
|
|
3318
3403
|
MrParallelTextViewerDS: MrParallelTextViewerDS,
|
|
3319
3404
|
MrResourceTabsDS: MrResourceTabsDS,
|
|
3320
3405
|
MrSearchPageDescriptionDS: MrSearchPageDescriptionDS,
|
|
@@ -3462,6 +3547,94 @@ class MrNetworkEH extends EventHandler {
|
|
|
3462
3547
|
}
|
|
3463
3548
|
}
|
|
3464
3549
|
|
|
3550
|
+
// import linksHelper from '../helpers/links-helper';
|
|
3551
|
+
class MrNetworkResourceEH extends EventHandler {
|
|
3552
|
+
constructor() {
|
|
3553
|
+
super(...arguments);
|
|
3554
|
+
this.itemPreviewEmit = (type, payload) => {
|
|
3555
|
+
if (type === 'click' && payload?.action === 'resource-modal') {
|
|
3556
|
+
const { id, type: resourceType } = payload;
|
|
3557
|
+
this.modalService.open(id, resourceType);
|
|
3558
|
+
}
|
|
3559
|
+
};
|
|
3560
|
+
}
|
|
3561
|
+
listen() {
|
|
3562
|
+
this.outerEvents$.subscribe(({ type,
|
|
3563
|
+
// payload,
|
|
3564
|
+
localeService }) => {
|
|
3565
|
+
switch (type) {
|
|
3566
|
+
case 'mr-resource-layout.init':
|
|
3567
|
+
this.localeService = localeService;
|
|
3568
|
+
// this.dataSource.networkListener$.subscribe((network: Network) => {
|
|
3569
|
+
// network.on('click', (props) => {
|
|
3570
|
+
// if (props.nodes && props.nodes.length > 0) {
|
|
3571
|
+
// const nodeId = props.nodes[0];
|
|
3572
|
+
// const node = this.dataSource.networkData.nodes.find((n) => n.id === nodeId);
|
|
3573
|
+
// // gestione payload
|
|
3574
|
+
// if (node?.payload) {
|
|
3575
|
+
// let anchor = null;
|
|
3576
|
+
// // Navigazione interna
|
|
3577
|
+
// if (node?.payload?.link?.routeId) {
|
|
3578
|
+
// const routeLink = this.localeService.getLinkByRouteId(
|
|
3579
|
+
// node.payload.link.routeId,
|
|
3580
|
+
// node.payload.link.id,
|
|
3581
|
+
// node.payload.link.slug
|
|
3582
|
+
// );
|
|
3583
|
+
// anchor = {
|
|
3584
|
+
// href: routeLink,
|
|
3585
|
+
// queryParams: node.payload.link.params || null,
|
|
3586
|
+
// };
|
|
3587
|
+
// // link semplice
|
|
3588
|
+
// } else if (node?.payload?.link && typeof node?.payload?.link === 'string') {
|
|
3589
|
+
// anchor = {
|
|
3590
|
+
// href: linksHelper.getRouterLink(node.payload.link),
|
|
3591
|
+
// queryParams: linksHelper.getQueryParams(node.payload.link),
|
|
3592
|
+
// };
|
|
3593
|
+
// // link complesso
|
|
3594
|
+
// } else if (node?.payload?.link && typeof node?.payload?.link === 'object') {
|
|
3595
|
+
// let href = '';
|
|
3596
|
+
// if (node.payload.link.absolute) {
|
|
3597
|
+
// href = `${node.payload.link.absolute}`;
|
|
3598
|
+
// } else if (node.payload.link.relative) {
|
|
3599
|
+
// href = node.payload.link.relative;
|
|
3600
|
+
// }
|
|
3601
|
+
// if (href && node.payload.link.params) {
|
|
3602
|
+
// href = linksHelper.joinQueryParams(href, [node.payload.link.params]);
|
|
3603
|
+
// }
|
|
3604
|
+
// if (href && node.payload.link.query_string) {
|
|
3605
|
+
// href = linksHelper.joinQueryParams(href, [document.location.search]);
|
|
3606
|
+
// }
|
|
3607
|
+
// anchor = {
|
|
3608
|
+
// href,
|
|
3609
|
+
// queryParams: null,
|
|
3610
|
+
// };
|
|
3611
|
+
// // altro
|
|
3612
|
+
// } else if (node.payload.payload) {
|
|
3613
|
+
// anchor = {
|
|
3614
|
+
// payload: {
|
|
3615
|
+
// ...node.payload.payload
|
|
3616
|
+
// }
|
|
3617
|
+
// };
|
|
3618
|
+
// }
|
|
3619
|
+
// if (anchor) {
|
|
3620
|
+
// if (anchor.href) {
|
|
3621
|
+
// window.open(anchor.href, '_blank');
|
|
3622
|
+
// } else if (anchor.payload) {
|
|
3623
|
+
// this.itemPreviewEmit('click', anchor.payload);
|
|
3624
|
+
// }
|
|
3625
|
+
// }
|
|
3626
|
+
// }
|
|
3627
|
+
// }
|
|
3628
|
+
// });
|
|
3629
|
+
// });
|
|
3630
|
+
break;
|
|
3631
|
+
default:
|
|
3632
|
+
break;
|
|
3633
|
+
}
|
|
3634
|
+
});
|
|
3635
|
+
}
|
|
3636
|
+
}
|
|
3637
|
+
|
|
3465
3638
|
class MrParallelTextViewerEH extends EventHandler {
|
|
3466
3639
|
listen() {
|
|
3467
3640
|
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
@@ -3653,6 +3826,7 @@ var EH = /*#__PURE__*/Object.freeze({
|
|
|
3653
3826
|
MrMetadataDynamicEH: MrMetadataDynamicEH,
|
|
3654
3827
|
MrNavEH: MrNavEH,
|
|
3655
3828
|
MrNetworkEH: MrNetworkEH,
|
|
3829
|
+
MrNetworkResourceEH: MrNetworkResourceEH,
|
|
3656
3830
|
MrParallelTextViewerEH: MrParallelTextViewerEH,
|
|
3657
3831
|
MrSearchPageDescriptionEH: MrSearchPageDescriptionEH,
|
|
3658
3832
|
MrSearchPageTitleEH: MrSearchPageTitleEH,
|
|
@@ -5463,11 +5637,11 @@ class MrNetworkLayoutComponent extends AbstractLayout {
|
|
|
5463
5637
|
this.onDestroy();
|
|
5464
5638
|
}
|
|
5465
5639
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrNetworkLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: MrLayoutStateService }, { token: MrResourceModalService }, { token: MrLocaleService }, { token: i1$2.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5466
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrNetworkLayoutComponent, selector: "mr-network-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"network-layout-container\" *ngIf=\"lb.dataSource\">\n <div class=\"network-header\">\n <h2>{{ lb.dataSource.pageConfig?.title}}</h2>\n <p>{{ lb.dataSource.pageConfig?.mapHeader }}</p>\n </div>\n \n <div class=\"network-legend-section\" *ngIf=\"lb.dataSource.legend?.length\">\n <div class=\"legend-toggle\">\n <button \n class=\"legend-toggle-btn\" \n (click)=\"lb.dataSource.toggleLegend()\"\n [class.active]=\"lb.dataSource.showLegend\">\n <span class=\"toggle-icon\">{{ lb.dataSource.showLegend ? '
|
|
5640
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrNetworkLayoutComponent, selector: "mr-network-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"network-layout-container\" *ngIf=\"lb.dataSource\">\n <div class=\"network-header\">\n <h2>{{ lb.dataSource.pageConfig?.title}}</h2>\n <p>{{ lb.dataSource.pageConfig?.mapHeader }}</p>\n </div>\n \n <div class=\"network-legend-section\" *ngIf=\"lb.dataSource.legend?.length\">\n <div class=\"legend-toggle\">\n <button \n class=\"legend-toggle-btn\" \n (click)=\"lb.dataSource.toggleLegend()\"\n [class.active]=\"lb.dataSource.showLegend\">\n <span class=\"toggle-icon\">{{ lb.dataSource.showLegend ? '-' : '+' }}</span>\n Legenda\n </button>\n </div>\n \n <div class=\"network-legend\" *ngIf=\"lb.dataSource.showLegend\">\n <div class=\"legend-item\" *ngFor=\"let item of lb.dataSource.legend\">\n <span class=\"legend-color\" [style.background-color]=\"item.color\"></span>\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n \n <div id=\"demo-network\" class=\"network-visualization\"></div>\n</div>", styles: [".network-layout-container{padding:20px;font-family:Arial,sans-serif;max-width:1200px;margin:0 auto}.network-header{text-align:center;margin-bottom:30px}.network-header h2{color:#333;margin-bottom:10px;font-size:2rem}.network-header p{color:#666;font-size:1.1rem}.network-legend-section{margin-bottom:25px}.network-legend-section .legend-toggle{display:flex;justify-content:center;margin-bottom:15px}.network-legend-section .legend-toggle .legend-toggle-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:14px;color:#333;transition:all .2s ease}.network-legend-section .legend-toggle .legend-toggle-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.network-legend-section .legend-toggle .legend-toggle-btn.active{background-color:#007bff;color:#fff;border-color:#007bff}.network-legend-section .legend-toggle .legend-toggle-btn .toggle-icon{font-weight:700;font-size:16px;line-height:1}.network-legend{display:flex;justify-content:center;margin-bottom:25px;gap:30px;flex-wrap:wrap}.network-legend .legend-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background-color:#f8f9fa;border-radius:20px;border:1px solid #dee2e6}.network-legend .legend-item .legend-color{width:24px;height:24px;border-radius:50%;display:inline-block;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.network-legend .legend-item span:last-child{font-weight:500;color:#333}.network-visualization{width:100%;height:700px;border:2px solid #e9ecef;border-radius:12px;margin-bottom:30px;background-color:#fff;box-shadow:0 4px 12px #0000001a;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
5467
5641
|
}
|
|
5468
5642
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrNetworkLayoutComponent, decorators: [{
|
|
5469
5643
|
type: Component,
|
|
5470
|
-
args: [{ selector: 'mr-network-layout', template: "<div class=\"network-layout-container\" *ngIf=\"lb.dataSource\">\n <div class=\"network-header\">\n <h2>{{ lb.dataSource.pageConfig?.title}}</h2>\n <p>{{ lb.dataSource.pageConfig?.mapHeader }}</p>\n </div>\n \n <div class=\"network-legend-section\" *ngIf=\"lb.dataSource.legend?.length\">\n <div class=\"legend-toggle\">\n <button \n class=\"legend-toggle-btn\" \n (click)=\"lb.dataSource.toggleLegend()\"\n [class.active]=\"lb.dataSource.showLegend\">\n <span class=\"toggle-icon\">{{ lb.dataSource.showLegend ? '
|
|
5644
|
+
args: [{ selector: 'mr-network-layout', template: "<div class=\"network-layout-container\" *ngIf=\"lb.dataSource\">\n <div class=\"network-header\">\n <h2>{{ lb.dataSource.pageConfig?.title}}</h2>\n <p>{{ lb.dataSource.pageConfig?.mapHeader }}</p>\n </div>\n \n <div class=\"network-legend-section\" *ngIf=\"lb.dataSource.legend?.length\">\n <div class=\"legend-toggle\">\n <button \n class=\"legend-toggle-btn\" \n (click)=\"lb.dataSource.toggleLegend()\"\n [class.active]=\"lb.dataSource.showLegend\">\n <span class=\"toggle-icon\">{{ lb.dataSource.showLegend ? '-' : '+' }}</span>\n Legenda\n </button>\n </div>\n \n <div class=\"network-legend\" *ngIf=\"lb.dataSource.showLegend\">\n <div class=\"legend-item\" *ngFor=\"let item of lb.dataSource.legend\">\n <span class=\"legend-color\" [style.background-color]=\"item.color\"></span>\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n \n <div id=\"demo-network\" class=\"network-visualization\"></div>\n</div>", styles: [".network-layout-container{padding:20px;font-family:Arial,sans-serif;max-width:1200px;margin:0 auto}.network-header{text-align:center;margin-bottom:30px}.network-header h2{color:#333;margin-bottom:10px;font-size:2rem}.network-header p{color:#666;font-size:1.1rem}.network-legend-section{margin-bottom:25px}.network-legend-section .legend-toggle{display:flex;justify-content:center;margin-bottom:15px}.network-legend-section .legend-toggle .legend-toggle-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:14px;color:#333;transition:all .2s ease}.network-legend-section .legend-toggle .legend-toggle-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.network-legend-section .legend-toggle .legend-toggle-btn.active{background-color:#007bff;color:#fff;border-color:#007bff}.network-legend-section .legend-toggle .legend-toggle-btn .toggle-icon{font-weight:700;font-size:16px;line-height:1}.network-legend{display:flex;justify-content:center;margin-bottom:25px;gap:30px;flex-wrap:wrap}.network-legend .legend-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background-color:#f8f9fa;border-radius:20px;border:1px solid #dee2e6}.network-legend .legend-item .legend-color{width:24px;height:24px;border-radius:50%;display:inline-block;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.network-legend .legend-item span:last-child{font-weight:500;color:#333}.network-visualization{width:100%;height:700px;border:2px solid #e9ecef;border-radius:12px;margin-bottom:30px;background-color:#fff;box-shadow:0 4px 12px #0000001a;overflow:hidden}\n"] }]
|
|
5471
5645
|
}], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: MrLayoutStateService }, { type: MrResourceModalService }, { type: MrLocaleService }, { type: i1$2.Location }] });
|
|
5472
5646
|
|
|
5473
5647
|
class MrPostsLayoutDS extends LayoutDataSource {
|
|
@@ -6232,6 +6406,7 @@ const DATASOURCE_MAP$3 = {
|
|
|
6232
6406
|
'parallel-text-viewer': MrParallelTextViewerDS,
|
|
6233
6407
|
'metadata-dynamic': MrMetadataDynamicDS,
|
|
6234
6408
|
'viewer-iiif': MrImageViewerIiifDS,
|
|
6409
|
+
'network-resource': MrNetworkResourceDS
|
|
6235
6410
|
};
|
|
6236
6411
|
const EVENTHANDLER_MAP$2 = {
|
|
6237
6412
|
viewer: MrImageViewerEH,
|
|
@@ -6242,6 +6417,7 @@ const EVENTHANDLER_MAP$2 = {
|
|
|
6242
6417
|
collection: MrCollectionEH,
|
|
6243
6418
|
'metadata-dynamic': MrMetadataDynamicEH,
|
|
6244
6419
|
button: MrButtonEH,
|
|
6420
|
+
'network-resource': MrNetworkResourceEH,
|
|
6245
6421
|
// map: MrMapEH
|
|
6246
6422
|
};
|
|
6247
6423
|
class MrResourceLayoutComponent extends AbstractLayout {
|
|
@@ -6338,11 +6514,11 @@ class MrResourceLayoutComponent extends AbstractLayout {
|
|
|
6338
6514
|
}
|
|
6339
6515
|
}
|
|
6340
6516
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrResourceLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: MrLayoutStateService }, { token: MrResourceModalService }, { token: MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6341
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrResourceLayoutComponent, selector: "mr-resource-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\" *ngIf=\"!tab.hideTab\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- PARALLEL TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'parallel-text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer mr-content-block-parallel-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-parallel-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-parallel-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i7.BreadcrumbsComponent, selector: "n7-breadcrumbs", inputs: ["data", "emit"] }, { kind: "component", type: i7.ButtonComponent, selector: "n7-button", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: ["data", "emit"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.MiradorComponent, selector: "n7-mirador", inputs: ["data"] }, { kind: "component", type: i7.TextViewerComponent, selector: "n7-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: ["data", "emit"] }, { kind: "component", type: ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: MrMetadataDynamicComponent, selector: "mr-metadata-dynamic", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
6517
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrResourceLayoutComponent, selector: "mr-resource-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\" *ngIf=\"!tab.hideTab\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- PARALLEL TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'parallel-text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer mr-content-block-parallel-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-parallel-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-parallel-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n\n <!-- NETWORK -->\n <ng-container *ngSwitchCase=\"'network-resource'\">\n <div class=\"mr-content-block mr-content-block-network\">\n <div class=\"mr-content-block__content\">\n <div id=\"demo-network\" class=\"network-visualization\"><p>Network</p></div>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i7.BreadcrumbsComponent, selector: "n7-breadcrumbs", inputs: ["data", "emit"] }, { kind: "component", type: i7.ButtonComponent, selector: "n7-button", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: ["data", "emit"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.MiradorComponent, selector: "n7-mirador", inputs: ["data"] }, { kind: "component", type: i7.TextViewerComponent, selector: "n7-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: ["data", "emit"] }, { kind: "component", type: ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: MrMetadataDynamicComponent, selector: "mr-metadata-dynamic", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
6342
6518
|
}
|
|
6343
6519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrResourceLayoutComponent, decorators: [{
|
|
6344
6520
|
type: Component,
|
|
6345
|
-
args: [{ selector: 'mr-resource-layout', template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\" *ngIf=\"!tab.hideTab\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- PARALLEL TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'parallel-text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer mr-content-block-parallel-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-parallel-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-parallel-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n" }]
|
|
6521
|
+
args: [{ selector: 'mr-resource-layout', template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\" *ngIf=\"!tab.hideTab\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- PARALLEL TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'parallel-text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer mr-content-block-parallel-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-parallel-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-parallel-text-viewer>\n </div>\n </div>\n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n\n <!-- NETWORK -->\n <ng-container *ngSwitchCase=\"'network-resource'\">\n <div class=\"mr-content-block mr-content-block-network\">\n <div class=\"mr-content-block__content\">\n <div id=\"demo-network\" class=\"network-visualization\"><p>Network</p></div>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n" }]
|
|
6346
6522
|
}], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: MrLayoutStateService }, { type: MrResourceModalService }, { type: MrLocaleService }] });
|
|
6347
6523
|
|
|
6348
6524
|
class SearchFacetsLayoutDS extends LayoutDataSource {
|
|
@@ -8734,5 +8910,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
8734
8910
|
* Generated bundle index. Do not edit.
|
|
8735
8911
|
*/
|
|
8736
8912
|
|
|
8737
|
-
export { DynamicPathGuard, FACETS_REQUEST_STATE_CONTEXT, FACET_STATE_CONTEXT, INPUT_STATE_CONTEXT, LayoutState, LocaleDependenciesGuard, MrAdvancedResultComponent, MrAdvancedResultsLayoutComponent, MrAdvancedResultsLayoutConfig, MrAdvancedResultsLayoutDS, MrAdvancedResultsLayoutEH, MrAdvancedSearchLayoutComponent, MrAdvancedSearchLayoutConfig, MrAdvancedSearchLayoutDS, MrAdvancedSearchLayoutEH, MrAdvancedSearchTagsDS, MrBreadcrumbsDS, MrButtonDS, MrButtonEH, MrCollectionDS, MrCollectionEH, MrContentDS, MrDummyEH, MrFiltersDS, MrFiltersEH, MrFooterService, MrFormComponent, MrFormWrapperAccordionComponent, MrFormWrapperAccordionDS, MrFormWrapperAccordionEH, MrGalleryComponent, MrGalleryDS, MrGalleryEH, MrHeroDS, MrHomeLayoutComponent, MrHomeLayoutConfig, MrHomeLayoutDS, MrHomeLayoutEH, MrImageViewerDS, MrImageViewerIiifDS, MrImageViewerOverlayDetailsDS, MrImageViewerToolsDS, MrInfoBoxDS, MrInnerTitleDS, MrItemPreviewDS, MrItemPreviewsDS, MrItineraryLayoutComponent, MrItineraryLayoutConfig, MrItineraryLayoutDS, MrItineraryLayoutEH, MrLayoutStateService, MrLocaleService, MrMapDS, MrMapEH, MrMapLayoutComponent, MrMapLayoutConfig, MrMapLayoutDS, MrMapLayoutEH, MrMenuService, MrMetadataDS, MrMetadataDynamicComponent, MrMetadataDynamicDS, MrMetadataDynamicEH, MrMetadataReadmoreComponent, MrNavDS, MrNavEH, MrNetworkDS, MrNetworkEH, MrNetworkLayoutComponent, MrNetworkLayoutConfig, MrNetworkLayoutDS, MrNetworkLayoutEH, MrParallelTextViewerDS, MrParallelTextViewerEH, MrPostsLayoutComponent, MrPostsLayoutConfig, MrPostsLayoutDS, MrPostsLayoutEH, MrResourceLayoutComponent, MrResourceLayoutConfig, MrResourceLayoutDS, MrResourceLayoutEH, MrResourceModalComponent, MrResourceModalService, MrResourceTabsDS, MrSearchFacetsLayoutComponent, MrSearchLayoutComponent, MrSearchLayoutConfig, MrSearchLayoutDS, MrSearchLayoutEH, MrSearchPageDescriptionComponent, MrSearchPageDescriptionDS, MrSearchPageDescriptionEH, MrSearchPageTitleDS, MrSearchPageTitleEH, MrSearchResultsDS, MrSearchResultsEH, MrSearchResultsTitleDS, MrSearchResultsTitleEH, MrSearchService, MrSearchTagsDS, MrSearchTagsEH, MrStaticLayoutComponent, MrStaticLayoutConfig, MrStaticLayoutDS, MrStaticLayoutEH, MrStaticMetadataDS, MrTextViewerDS, MrTextViewerEH, MrTimelineDS, MrTimelineEH, MrTimelineLayoutComponent, MrTimelineLayoutConfig, MrTimelineLayoutDS, MrTimelineLayoutEH, MrTranslationsLoaderService, MrYearHeaderDS, MrYearHeaderEH, N7BoilerplateMurucaModule, RESULTS_REQUEST_STATE_CONTEXT, ReadMoreComponent, SECTION_STATE_CONTEXT, SearchFacetsLayoutConfig, SearchFacetsLayoutDS, SearchFacetsLayoutEH };
|
|
8913
|
+
export { DynamicPathGuard, FACETS_REQUEST_STATE_CONTEXT, FACET_STATE_CONTEXT, INPUT_STATE_CONTEXT, LayoutState, LocaleDependenciesGuard, MrAdvancedResultComponent, MrAdvancedResultsLayoutComponent, MrAdvancedResultsLayoutConfig, MrAdvancedResultsLayoutDS, MrAdvancedResultsLayoutEH, MrAdvancedSearchLayoutComponent, MrAdvancedSearchLayoutConfig, MrAdvancedSearchLayoutDS, MrAdvancedSearchLayoutEH, MrAdvancedSearchTagsDS, MrBreadcrumbsDS, MrButtonDS, MrButtonEH, MrCollectionDS, MrCollectionEH, MrContentDS, MrDummyEH, MrFiltersDS, MrFiltersEH, MrFooterService, MrFormComponent, MrFormWrapperAccordionComponent, MrFormWrapperAccordionDS, MrFormWrapperAccordionEH, MrGalleryComponent, MrGalleryDS, MrGalleryEH, MrHeroDS, MrHomeLayoutComponent, MrHomeLayoutConfig, MrHomeLayoutDS, MrHomeLayoutEH, MrImageViewerDS, MrImageViewerIiifDS, MrImageViewerOverlayDetailsDS, MrImageViewerToolsDS, MrInfoBoxDS, MrInnerTitleDS, MrItemPreviewDS, MrItemPreviewsDS, MrItineraryLayoutComponent, MrItineraryLayoutConfig, MrItineraryLayoutDS, MrItineraryLayoutEH, MrLayoutStateService, MrLocaleService, MrMapDS, MrMapEH, MrMapLayoutComponent, MrMapLayoutConfig, MrMapLayoutDS, MrMapLayoutEH, MrMenuService, MrMetadataDS, MrMetadataDynamicComponent, MrMetadataDynamicDS, MrMetadataDynamicEH, MrMetadataReadmoreComponent, MrNavDS, MrNavEH, MrNetworkDS, MrNetworkEH, MrNetworkLayoutComponent, MrNetworkLayoutConfig, MrNetworkLayoutDS, MrNetworkLayoutEH, MrNetworkResourceDS, MrNetworkResourceEH, MrParallelTextViewerDS, MrParallelTextViewerEH, MrPostsLayoutComponent, MrPostsLayoutConfig, MrPostsLayoutDS, MrPostsLayoutEH, MrResourceLayoutComponent, MrResourceLayoutConfig, MrResourceLayoutDS, MrResourceLayoutEH, MrResourceModalComponent, MrResourceModalService, MrResourceTabsDS, MrSearchFacetsLayoutComponent, MrSearchLayoutComponent, MrSearchLayoutConfig, MrSearchLayoutDS, MrSearchLayoutEH, MrSearchPageDescriptionComponent, MrSearchPageDescriptionDS, MrSearchPageDescriptionEH, MrSearchPageTitleDS, MrSearchPageTitleEH, MrSearchResultsDS, MrSearchResultsEH, MrSearchResultsTitleDS, MrSearchResultsTitleEH, MrSearchService, MrSearchTagsDS, MrSearchTagsEH, MrStaticLayoutComponent, MrStaticLayoutConfig, MrStaticLayoutDS, MrStaticLayoutEH, MrStaticMetadataDS, MrTextViewerDS, MrTextViewerEH, MrTimelineDS, MrTimelineEH, MrTimelineLayoutComponent, MrTimelineLayoutConfig, MrTimelineLayoutDS, MrTimelineLayoutEH, MrTranslationsLoaderService, MrYearHeaderDS, MrYearHeaderEH, N7BoilerplateMurucaModule, RESULTS_REQUEST_STATE_CONTEXT, ReadMoreComponent, SECTION_STATE_CONTEXT, SearchFacetsLayoutConfig, SearchFacetsLayoutDS, SearchFacetsLayoutEH };
|
|
8738
8914
|
//# sourceMappingURL=net7-boilerplate-muruca.mjs.map
|