@net7/boilerplate-muruca 5.2.15 → 5.2.17
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/resource-tabs.ds.mjs +4 -3
- package/esm2022/lib/data-sources/text-viewer.ds.mjs +9 -1
- package/esm2022/lib/interfaces/search.interface.mjs +1 -1
- package/esm2022/lib/layouts/resource-layout/resource-layout.ds.mjs +8 -1
- package/esm2022/lib/layouts/resource-layout/resource-layout.mjs +3 -3
- package/esm2022/lib/layouts/search-facets-layout/search-facets-layout.ds.mjs +11 -2
- package/esm2022/lib/layouts/search-facets-layout/search-facets-layout.mjs +7 -4
- package/esm2022/lib/layouts/search-layout/search-layout.mjs +3 -3
- package/fesm2022/net7-boilerplate-muruca.mjs +37 -9
- package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
- package/lib/interfaces/search.interface.d.ts +6 -0
- package/lib/layouts/search-facets-layout/search-facets-layout.d.ts +4 -1
- package/lib/layouts/search-facets-layout/search-facets-layout.ds.d.ts +4 -0
- package/package.json +1 -1
- package/src/lib/styles/muruca/components/_facets.scss +6 -0
|
@@ -2088,12 +2088,13 @@ class MrResourceTabsDS extends DataSource {
|
|
|
2088
2088
|
const locale = localeService.getLocale();
|
|
2089
2089
|
baseUrl = root[locale];
|
|
2090
2090
|
}
|
|
2091
|
-
return data.map(({ id, label }) => ({
|
|
2091
|
+
return data.map(({ id, label, hideTab }) => ({
|
|
2092
2092
|
label: _t(label),
|
|
2093
2093
|
classes: currentTab === id ? 'is-active' : '',
|
|
2094
2094
|
anchor: {
|
|
2095
2095
|
href: `/${baseUrl}/${resourceId}/${slug}/${id}`
|
|
2096
|
-
}
|
|
2096
|
+
},
|
|
2097
|
+
hideTab
|
|
2097
2098
|
}));
|
|
2098
2099
|
}
|
|
2099
2100
|
}
|
|
@@ -2102,6 +2103,14 @@ class MrTextViewerDS extends DataSource {
|
|
|
2102
2103
|
transform(data) {
|
|
2103
2104
|
if (!data)
|
|
2104
2105
|
return null;
|
|
2106
|
+
if (this.options.facsimileOptions && data.facsimile) {
|
|
2107
|
+
if (!data.facsimile.options) {
|
|
2108
|
+
data.facsimile.options = {};
|
|
2109
|
+
}
|
|
2110
|
+
Object.keys(this.options.facsimileOptions).forEach((key) => {
|
|
2111
|
+
data.facsimile.options[key] = this.options.facsimileOptions[key];
|
|
2112
|
+
});
|
|
2113
|
+
}
|
|
2105
2114
|
const { enableClickOnEntities, toggleColumn, searchId, searchApi } = this.options || {};
|
|
2106
2115
|
data.toggleColumn = toggleColumn;
|
|
2107
2116
|
// force tei publisher endpoint value
|
|
@@ -5100,6 +5109,13 @@ class MrResourceLayoutDS extends LayoutDataSource {
|
|
|
5100
5109
|
const responseSection = response.sections[id];
|
|
5101
5110
|
// set id
|
|
5102
5111
|
widgetDataSource.id = id;
|
|
5112
|
+
if (type === 'tabs') {
|
|
5113
|
+
this.tabConfig = this.tabConfig.map((tab) => ({
|
|
5114
|
+
id: tab.id,
|
|
5115
|
+
label: tab.label,
|
|
5116
|
+
hideTab: responseSection.includes(tab.id)
|
|
5117
|
+
}));
|
|
5118
|
+
}
|
|
5103
5119
|
// check viewer tools
|
|
5104
5120
|
if (type === 'viewer') {
|
|
5105
5121
|
// update image viewer options
|
|
@@ -5594,11 +5610,11 @@ class MrResourceLayoutComponent extends AbstractLayout {
|
|
|
5594
5610
|
}
|
|
5595
5611
|
}
|
|
5596
5612
|
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 }); }
|
|
5597
|
-
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\">\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 \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: 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" }] }); }
|
|
5613
|
+
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 \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: 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" }] }); }
|
|
5598
5614
|
}
|
|
5599
5615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrResourceLayoutComponent, decorators: [{
|
|
5600
5616
|
type: Component,
|
|
5601
|
-
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\">\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 \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" }]
|
|
5617
|
+
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 \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" }]
|
|
5602
5618
|
}], 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 }] });
|
|
5603
5619
|
|
|
5604
5620
|
class SearchFacetsLayoutDS extends LayoutDataSource {
|
|
@@ -5608,9 +5624,13 @@ class SearchFacetsLayoutDS extends LayoutDataSource {
|
|
|
5608
5624
|
}
|
|
5609
5625
|
onInit(payload) {
|
|
5610
5626
|
this.searchService = payload.searchService;
|
|
5627
|
+
this.localeService = payload.localeService;
|
|
5611
5628
|
this.searchConfig = this.searchService.getConfig();
|
|
5612
5629
|
this.facets = this.searchConfig.facets;
|
|
5613
5630
|
this.initInputs();
|
|
5631
|
+
if (this.searchConfig.facets.redirectLink) {
|
|
5632
|
+
this.initRedirectLink(this.searchConfig.facets.redirectLink);
|
|
5633
|
+
}
|
|
5614
5634
|
}
|
|
5615
5635
|
initInputs() {
|
|
5616
5636
|
// set components data
|
|
@@ -5630,6 +5650,11 @@ class SearchFacetsLayoutDS extends LayoutDataSource {
|
|
|
5630
5650
|
});
|
|
5631
5651
|
});
|
|
5632
5652
|
}
|
|
5653
|
+
initRedirectLink(redirectData) {
|
|
5654
|
+
const locale = this.localeService.getLocale();
|
|
5655
|
+
this.redirectLabel = _t(redirectData.label);
|
|
5656
|
+
this.redirectPath = redirectData.paths[locale];
|
|
5657
|
+
}
|
|
5633
5658
|
updateInputValue(id, newValue) {
|
|
5634
5659
|
const ds = this.inputsDS[id];
|
|
5635
5660
|
ds.setValue(newValue, ds.value !== newValue);
|
|
@@ -6551,7 +6576,8 @@ class MrSearchFacetsLayoutComponent extends AbstractLayout {
|
|
|
6551
6576
|
}
|
|
6552
6577
|
initPayload() {
|
|
6553
6578
|
return {
|
|
6554
|
-
searchService: this.searchService
|
|
6579
|
+
searchService: this.searchService,
|
|
6580
|
+
localeService: this.localeService,
|
|
6555
6581
|
};
|
|
6556
6582
|
}
|
|
6557
6583
|
ngOnInit() {
|
|
@@ -6592,13 +6618,15 @@ class MrSearchFacetsLayoutComponent extends AbstractLayout {
|
|
|
6592
6618
|
});
|
|
6593
6619
|
}
|
|
6594
6620
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchFacetsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6595
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: { searchService: "searchService" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { kind: "component", type: i7.HistogramRangeComponent, selector: "n7-histogram-range", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputLinkComponent, selector: "n7-input-link", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
6621
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: { searchService: "searchService", localeService: "localeService" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n\n <div *ngIf=\"lb.dataSource.redirectPath && lb.dataSource.redirectLabel\" class=\"mr-facets__redirect-link\">\n <a href=\"{{ lb.dataSource.redirectPath }}\">{{ lb.dataSource.redirectLabel }}</a>\n </div>\n\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { kind: "component", type: i7.HistogramRangeComponent, selector: "n7-histogram-range", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputLinkComponent, selector: "n7-input-link", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i7.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
6596
6622
|
}
|
|
6597
6623
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchFacetsLayoutComponent, decorators: [{
|
|
6598
6624
|
type: Component,
|
|
6599
|
-
args: [{ selector: 'mr-search-facets-layout', template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
6625
|
+
args: [{ selector: 'mr-search-facets-layout', template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n\n <div *ngIf=\"lb.dataSource.redirectPath && lb.dataSource.redirectLabel\" class=\"mr-facets__redirect-link\">\n <a href=\"{{ lb.dataSource.redirectPath }}\">{{ lb.dataSource.redirectLabel }}</a>\n </div>\n\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
6600
6626
|
}], ctorParameters: () => [], propDecorators: { searchService: [{
|
|
6601
6627
|
type: Input
|
|
6628
|
+
}], localeService: [{
|
|
6629
|
+
type: Input
|
|
6602
6630
|
}] } });
|
|
6603
6631
|
|
|
6604
6632
|
var localStorageHelper = {
|
|
@@ -6973,11 +7001,11 @@ class MrSearchLayoutComponent extends AbstractLayout {
|
|
|
6973
7001
|
this.onDestroy();
|
|
6974
7002
|
}
|
|
6975
7003
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i1.CommunicationService }, { token: i1.ConfigurationService }, { token: MrSearchService }, { token: MrLayoutStateService }, { token: i1.MainStateService }, { token: MrResourceModalService }, { token: MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6976
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrSearchLayoutComponent, selector: "mr-search-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n\n <div *ngIf=\"lb.dataSource.showDescription\" class=\"mr-search__description\">\n <mr-search-page-description\n [data]=\"lb.widgets['mr-search-page-description'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-description'].emit\">\n </mr-search-page-description>\n </div>\n \n <div class=\"mr-search__results-content\">\n <aside class=\"mr-facets\"\n [ngStyle]=\"{\n width: lb.dataSource.pageConfig['facetsWidthPercentage'] ? lb.dataSource.pageConfig['facetsWidthPercentage'] + '%' : ''\n }\">\n <div class=\"scroll-ref\"> </div>\n <div class=\"mr-facets__contents\">\n <h2 class=\"mr-facets__title\" \n *ngIf=\"lb.dataSource.pageConfig['facetsTitle']\">\n {{ lb.dataSource.pageConfig['facetsTitle'] }}\n </h2>\n <mr-search-facets-layout \n [searchService]=\"lb.dataSource.searchService\">\n </mr-search-facets-layout>\n </div>\n </aside>\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div *ngIf=\"(\n lb.dataSource.pageConfig['filtersTitle'] && \n lb.widgets['mr-search-tags'].ds.hasFilters\n )\" \n class=\"mr-active-filters\">\n <span class=\"mr-active-filters__label\">{{ lb.dataSource.pageConfig['filtersTitle'] }}</span>\n <div class=\"mr-active-filters__tags-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-search-tags'].ds.out$ | async)\"\n [data]=\"tag\"\n [emit]=\"lb.widgets['mr-search-tags'].emit\">\n </n7-tag>\n </div>\n </div>\n\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <ng-container *ngIf=\"!lb.dataSource.pageConfig?.advancedResults\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </n7-item-preview>\n </ng-container>\n <ng-container *ngIf=\"lb.dataSource.pageConfig?.advancedResults\">\n <mr-advanced-result\n *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </mr-advanced-result>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>", 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"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { 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.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { kind: "component", type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "component", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: ["searchService"] }, { kind: "component", type: MrSearchPageDescriptionComponent, selector: "mr-search-page-description", inputs: ["data", "emit"] }, { kind: "component", type: MrAdvancedResultComponent, selector: "mr-advanced-result", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
7004
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrSearchLayoutComponent, selector: "mr-search-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n\n <div *ngIf=\"lb.dataSource.showDescription\" class=\"mr-search__description\">\n <mr-search-page-description\n [data]=\"lb.widgets['mr-search-page-description'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-description'].emit\">\n </mr-search-page-description>\n </div>\n \n <div class=\"mr-search__results-content\">\n <aside class=\"mr-facets\"\n [ngStyle]=\"{\n width: lb.dataSource.pageConfig['facetsWidthPercentage'] ? lb.dataSource.pageConfig['facetsWidthPercentage'] + '%' : ''\n }\">\n <div class=\"scroll-ref\"> </div>\n <div class=\"mr-facets__contents\">\n <h2 class=\"mr-facets__title\" \n *ngIf=\"lb.dataSource.pageConfig['facetsTitle']\">\n {{ lb.dataSource.pageConfig['facetsTitle'] }}\n </h2>\n\n <mr-search-facets-layout \n [searchService]=\"lb.dataSource.searchService\"\n [localeService]=\"lb.dataSource.localeService\">\n </mr-search-facets-layout>\n </div>\n </aside>\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div *ngIf=\"(\n lb.dataSource.pageConfig['filtersTitle'] && \n lb.widgets['mr-search-tags'].ds.hasFilters\n )\" \n class=\"mr-active-filters\">\n <span class=\"mr-active-filters__label\">{{ lb.dataSource.pageConfig['filtersTitle'] }}</span>\n <div class=\"mr-active-filters__tags-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-search-tags'].ds.out$ | async)\"\n [data]=\"tag\"\n [emit]=\"lb.widgets['mr-search-tags'].emit\">\n </n7-tag>\n </div>\n </div>\n\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <ng-container *ngIf=\"!lb.dataSource.pageConfig?.advancedResults\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </n7-item-preview>\n </ng-container>\n <ng-container *ngIf=\"lb.dataSource.pageConfig?.advancedResults\">\n <mr-advanced-result\n *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </mr-advanced-result>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>", 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"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { 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.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { kind: "component", type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "component", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: ["searchService", "localeService"] }, { kind: "component", type: MrSearchPageDescriptionComponent, selector: "mr-search-page-description", inputs: ["data", "emit"] }, { kind: "component", type: MrAdvancedResultComponent, selector: "mr-advanced-result", inputs: ["data", "emit"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
6977
7005
|
}
|
|
6978
7006
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchLayoutComponent, decorators: [{
|
|
6979
7007
|
type: Component,
|
|
6980
|
-
args: [{ selector: 'mr-search-layout', template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n\n <div *ngIf=\"lb.dataSource.showDescription\" class=\"mr-search__description\">\n <mr-search-page-description\n [data]=\"lb.widgets['mr-search-page-description'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-description'].emit\">\n </mr-search-page-description>\n </div>\n \n <div class=\"mr-search__results-content\">\n <aside class=\"mr-facets\"\n [ngStyle]=\"{\n width: lb.dataSource.pageConfig['facetsWidthPercentage'] ? lb.dataSource.pageConfig['facetsWidthPercentage'] + '%' : ''\n }\">\n <div class=\"scroll-ref\"> </div>\n <div class=\"mr-facets__contents\">\n <h2 class=\"mr-facets__title\" \n *ngIf=\"lb.dataSource.pageConfig['facetsTitle']\">\n {{ lb.dataSource.pageConfig['facetsTitle'] }}\n </h2>\n <mr-search-facets-layout \n [searchService]=\"lb.dataSource.searchService\">\n </mr-search-facets-layout>\n </div>\n </aside>\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div *ngIf=\"(\n lb.dataSource.pageConfig['filtersTitle'] && \n lb.widgets['mr-search-tags'].ds.hasFilters\n )\" \n class=\"mr-active-filters\">\n <span class=\"mr-active-filters__label\">{{ lb.dataSource.pageConfig['filtersTitle'] }}</span>\n <div class=\"mr-active-filters__tags-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-search-tags'].ds.out$ | async)\"\n [data]=\"tag\"\n [emit]=\"lb.widgets['mr-search-tags'].emit\">\n </n7-tag>\n </div>\n </div>\n\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <ng-container *ngIf=\"!lb.dataSource.pageConfig?.advancedResults\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </n7-item-preview>\n </ng-container>\n <ng-container *ngIf=\"lb.dataSource.pageConfig?.advancedResults\">\n <mr-advanced-result\n *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </mr-advanced-result>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>" }]
|
|
7008
|
+
args: [{ selector: 'mr-search-layout', template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n\n <div *ngIf=\"lb.dataSource.showDescription\" class=\"mr-search__description\">\n <mr-search-page-description\n [data]=\"lb.widgets['mr-search-page-description'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-description'].emit\">\n </mr-search-page-description>\n </div>\n \n <div class=\"mr-search__results-content\">\n <aside class=\"mr-facets\"\n [ngStyle]=\"{\n width: lb.dataSource.pageConfig['facetsWidthPercentage'] ? lb.dataSource.pageConfig['facetsWidthPercentage'] + '%' : ''\n }\">\n <div class=\"scroll-ref\"> </div>\n <div class=\"mr-facets__contents\">\n <h2 class=\"mr-facets__title\" \n *ngIf=\"lb.dataSource.pageConfig['facetsTitle']\">\n {{ lb.dataSource.pageConfig['facetsTitle'] }}\n </h2>\n\n <mr-search-facets-layout \n [searchService]=\"lb.dataSource.searchService\"\n [localeService]=\"lb.dataSource.localeService\">\n </mr-search-facets-layout>\n </div>\n </aside>\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div *ngIf=\"(\n lb.dataSource.pageConfig['filtersTitle'] && \n lb.widgets['mr-search-tags'].ds.hasFilters\n )\" \n class=\"mr-active-filters\">\n <span class=\"mr-active-filters__label\">{{ lb.dataSource.pageConfig['filtersTitle'] }}</span>\n <div class=\"mr-active-filters__tags-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-search-tags'].ds.out$ | async)\"\n [data]=\"tag\"\n [emit]=\"lb.widgets['mr-search-tags'].emit\">\n </n7-tag>\n </div>\n </div>\n\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <ng-container *ngIf=\"!lb.dataSource.pageConfig?.advancedResults\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </n7-item-preview>\n </ng-container>\n <ng-container *ngIf=\"lb.dataSource.pageConfig?.advancedResults\">\n <mr-advanced-result\n *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\" [emit]=\"lb.widgets['mr-search-results'].emit\">\n </mr-advanced-result>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>" }]
|
|
6981
7009
|
}], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i1.CommunicationService }, { type: i1.ConfigurationService }, { type: MrSearchService }, { type: MrLayoutStateService }, { type: i1.MainStateService }, { type: MrResourceModalService }, { type: MrLocaleService }] });
|
|
6982
7010
|
|
|
6983
7011
|
class MrStaticLayoutDS extends LayoutDataSource {
|