@net7/boilerplate-muruca 5.5.2 → 5.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/metadata-with-readmore/metadata-with-readmore.mjs +3 -3
- package/esm2022/lib/config-types/muruca/sections.mjs +1 -1
- package/esm2022/lib/data-sources/metadata.ds.mjs +5 -3
- package/esm2022/lib/data-sources/parallel-text-viewer.ds.mjs +7 -1
- package/esm2022/lib/interfaces/metadata.interface.mjs +1 -1
- package/esm2022/lib/layouts/resource-layout/resource-layout.mjs +17 -2
- package/fesm2022/net7-boilerplate-muruca.mjs +28 -5
- package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
- package/lib/components/metadata-with-readmore/metadata-with-readmore.d.ts +4 -0
- package/lib/config-types/muruca/sections.d.ts +2 -0
- package/lib/interfaces/metadata.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -2010,7 +2010,7 @@ class MrMetadataDS extends DataSource {
|
|
|
2010
2010
|
.forEach(({ items }) => {
|
|
2011
2011
|
items
|
|
2012
2012
|
.filter((item) => isObject(item))
|
|
2013
|
-
.forEach(({ label, value }) => {
|
|
2013
|
+
.forEach(({ label, value, anchorId }) => {
|
|
2014
2014
|
const itemLabel = label && !hideLabels ? label : null;
|
|
2015
2015
|
const classLabel = label && !hideLabels ? label.replace(/ /g, '_').toLowerCase() : null;
|
|
2016
2016
|
if (Array.isArray(value)) {
|
|
@@ -2034,7 +2034,8 @@ class MrMetadataDS extends DataSource {
|
|
|
2034
2034
|
classes: `mrc-${classLabel}`,
|
|
2035
2035
|
items: value ? [{
|
|
2036
2036
|
label: _t(itemLabel),
|
|
2037
|
-
value: this.getItemValue(value)
|
|
2037
|
+
value: this.getItemValue(value),
|
|
2038
|
+
anchorId: anchorId || ''
|
|
2038
2039
|
}] : []
|
|
2039
2040
|
}]
|
|
2040
2041
|
});
|
|
@@ -2058,6 +2059,7 @@ class MrMetadataDS extends DataSource {
|
|
|
2058
2059
|
.map((childItem) => ({
|
|
2059
2060
|
label: _t(childItem.label),
|
|
2060
2061
|
value: this.getItemValue(childItem.value),
|
|
2062
|
+
anchorId: childItem.anchorId || ''
|
|
2061
2063
|
})),
|
|
2062
2064
|
// load the optional "readmore" configuration
|
|
2063
2065
|
groupReadmore,
|
|
@@ -2787,11 +2789,17 @@ class MrParallelTextViewerDS extends DataSource {
|
|
|
2787
2789
|
// console.log('appId:', appId);
|
|
2788
2790
|
// Posizione elemento cliccato
|
|
2789
2791
|
const clickedElementPosition = target.getBoundingClientRect().top;
|
|
2792
|
+
const clickedView = clickPath.find((el) => el.id && el.id.endsWith('-view'));
|
|
2793
|
+
const clickedViewId = clickedView ? clickedView.id : null;
|
|
2790
2794
|
const apparatusView = document.querySelectorAll('.n7-parallel-text-viewer [id$="-view"]');
|
|
2791
2795
|
// console.log('Numero di view trovate:', apparatusView.length);
|
|
2792
2796
|
let anchorElement = null;
|
|
2793
2797
|
let teiAppElement = null;
|
|
2794
2798
|
apparatusView.forEach((view) => {
|
|
2799
|
+
// Salta la view in cui è stato fatto il click
|
|
2800
|
+
if (view.id === clickedViewId) {
|
|
2801
|
+
return;
|
|
2802
|
+
}
|
|
2795
2803
|
if (view.shadowRoot) {
|
|
2796
2804
|
const found = view.shadowRoot.querySelector(`[id="${appId}"]`);
|
|
2797
2805
|
if (found) {
|
|
@@ -6356,11 +6364,11 @@ class MrImageViewerOverlayDetailsEH extends EventHandler {
|
|
|
6356
6364
|
//---------------------------
|
|
6357
6365
|
class MrMetadataReadmoreComponent {
|
|
6358
6366
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrMetadataReadmoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6359
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-metadata-viewer\">\n <!-- Metadata groups wrapper -->\n <div class=\"n7-metadata-viewer__wrapper {{ data.classes || ''}}\"\n *ngFor=\"let grp of data.group\">\n <!-- For each data group, render it -->\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n</div>\n\n<!-- Template for Metadata.group -->\n<ng-template #group\n let-grp>\n <div *ngIf=\"grp.title || grp.items\"\n class=\"n7-metadata-viewer__group {{ grp.classes || '' }}\">\n <div class=\"n7-metadata-viewer__group-title\"\n *ngIf=\"grp.title\">{{grp.title}}</div>\n <div class=\"n7-metadata-viewer__group-content\"\n *ngIf=\"grp.items\">\n <!-- \"read more\" enabled on the metadata group -->\n <mr-read-more [data]=\"grp.groupReadmore\">\n <div class=\"n7-metadata-viewer__item\"\n *ngFor=\"let i of grp.items\">\n <span *ngIf=\"i.label\" class=\"n7-metadata-viewer__item-label\">\n {{ i.label }}\n </span>\n <!-- \"read more\" enabled on the metadata value field -->\n <mr-read-more [data]=\"grp.readmore\">\n <span *ngIf=\"i.value\"\n class=\"n7-metadata-viewer__item-value\"\n [innerHTML]=\"i.value\">\n </span>\n </mr-read-more>\n </div>\n </mr-read-more>\n </div>\n </div>\n <!-- Render all child groups -->\n <div *ngIf=\"grp.group\">\n <div class=\"n7-metadata-viewer__group-wrapper\"\n *ngFor=\"let grp of grp.group\">\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n </div>\n</ng-template>\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"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }] }); }
|
|
6367
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-metadata-viewer\">\n <!-- Metadata groups wrapper -->\n <div class=\"n7-metadata-viewer__wrapper {{ data.classes || ''}}\"\n *ngFor=\"let grp of data.group\">\n <!-- For each data group, render it -->\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n</div>\n\n<!-- Template for Metadata.group -->\n<ng-template #group\n let-grp>\n <div *ngIf=\"grp.title || grp.items\"\n class=\"n7-metadata-viewer__group {{ grp.classes || '' }}\">\n <div class=\"n7-metadata-viewer__group-title\"\n *ngIf=\"grp.title\">{{grp.title}}</div>\n <div class=\"n7-metadata-viewer__group-content\"\n *ngIf=\"grp.items\">\n <!-- \"read more\" enabled on the metadata group -->\n <mr-read-more [data]=\"grp.groupReadmore\">\n <div class=\"n7-metadata-viewer__item\"\n *ngFor=\"let i of grp.items\">\n <span *ngIf=\"i.anchorId\" id=\"{{ i.anchorId }}\"></span>\n <span *ngIf=\"i.label\" class=\"n7-metadata-viewer__item-label\">\n {{ i.label }}\n </span>\n <!-- \"read more\" enabled on the metadata value field -->\n <mr-read-more [data]=\"grp.readmore\">\n <span *ngIf=\"i.value\"\n class=\"n7-metadata-viewer__item-value\"\n [innerHTML]=\"i.value\">\n </span>\n </mr-read-more>\n </div>\n </mr-read-more>\n </div>\n </div>\n <!-- Render all child groups -->\n <div *ngIf=\"grp.group\">\n <div class=\"n7-metadata-viewer__group-wrapper\"\n *ngFor=\"let grp of grp.group\">\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n </div>\n</ng-template>\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"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }] }); }
|
|
6360
6368
|
}
|
|
6361
6369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrMetadataReadmoreComponent, decorators: [{
|
|
6362
6370
|
type: Component,
|
|
6363
|
-
args: [{ selector: 'mr-metadata-readmore', template: "<div *ngIf=\"data\"\n class=\"n7-metadata-viewer\">\n <!-- Metadata groups wrapper -->\n <div class=\"n7-metadata-viewer__wrapper {{ data.classes || ''}}\"\n *ngFor=\"let grp of data.group\">\n <!-- For each data group, render it -->\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n</div>\n\n<!-- Template for Metadata.group -->\n<ng-template #group\n let-grp>\n <div *ngIf=\"grp.title || grp.items\"\n class=\"n7-metadata-viewer__group {{ grp.classes || '' }}\">\n <div class=\"n7-metadata-viewer__group-title\"\n *ngIf=\"grp.title\">{{grp.title}}</div>\n <div class=\"n7-metadata-viewer__group-content\"\n *ngIf=\"grp.items\">\n <!-- \"read more\" enabled on the metadata group -->\n <mr-read-more [data]=\"grp.groupReadmore\">\n <div class=\"n7-metadata-viewer__item\"\n *ngFor=\"let i of grp.items\">\n <span *ngIf=\"i.label\" class=\"n7-metadata-viewer__item-label\">\n {{ i.label }}\n </span>\n <!-- \"read more\" enabled on the metadata value field -->\n <mr-read-more [data]=\"grp.readmore\">\n <span *ngIf=\"i.value\"\n class=\"n7-metadata-viewer__item-value\"\n [innerHTML]=\"i.value\">\n </span>\n </mr-read-more>\n </div>\n </mr-read-more>\n </div>\n </div>\n <!-- Render all child groups -->\n <div *ngIf=\"grp.group\">\n <div class=\"n7-metadata-viewer__group-wrapper\"\n *ngFor=\"let grp of grp.group\">\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
|
|
6371
|
+
args: [{ selector: 'mr-metadata-readmore', template: "<div *ngIf=\"data\"\n class=\"n7-metadata-viewer\">\n <!-- Metadata groups wrapper -->\n <div class=\"n7-metadata-viewer__wrapper {{ data.classes || ''}}\"\n *ngFor=\"let grp of data.group\">\n <!-- For each data group, render it -->\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n</div>\n\n<!-- Template for Metadata.group -->\n<ng-template #group\n let-grp>\n <div *ngIf=\"grp.title || grp.items\"\n class=\"n7-metadata-viewer__group {{ grp.classes || '' }}\">\n <div class=\"n7-metadata-viewer__group-title\"\n *ngIf=\"grp.title\">{{grp.title}}</div>\n <div class=\"n7-metadata-viewer__group-content\"\n *ngIf=\"grp.items\">\n <!-- \"read more\" enabled on the metadata group -->\n <mr-read-more [data]=\"grp.groupReadmore\">\n <div class=\"n7-metadata-viewer__item\"\n *ngFor=\"let i of grp.items\">\n <span *ngIf=\"i.anchorId\" id=\"{{ i.anchorId }}\"></span>\n <span *ngIf=\"i.label\" class=\"n7-metadata-viewer__item-label\">\n {{ i.label }}\n </span>\n <!-- \"read more\" enabled on the metadata value field -->\n <mr-read-more [data]=\"grp.readmore\">\n <span *ngIf=\"i.value\"\n class=\"n7-metadata-viewer__item-value\"\n [innerHTML]=\"i.value\">\n </span>\n </mr-read-more>\n </div>\n </mr-read-more>\n </div>\n </div>\n <!-- Render all child groups -->\n <div *ngIf=\"grp.group\">\n <div class=\"n7-metadata-viewer__group-wrapper\"\n *ngFor=\"let grp of grp.group\">\n <ng-container *ngTemplateOutlet=\"group; context:{$implicit: grp}\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
|
|
6364
6372
|
}], propDecorators: { data: [{
|
|
6365
6373
|
type: Input
|
|
6366
6374
|
}], emit: [{
|
|
@@ -6464,7 +6472,22 @@ class MrResourceLayoutComponent extends AbstractLayout {
|
|
|
6464
6472
|
setTimeout(() => {
|
|
6465
6473
|
const element = document.getElementById(fragment);
|
|
6466
6474
|
if (element) {
|
|
6467
|
-
|
|
6475
|
+
// Open read-more if present
|
|
6476
|
+
const readMoreElement = element
|
|
6477
|
+
?.closest('.mr-read-more__content')
|
|
6478
|
+
?.closest('.mr-read-more.is-collapsed');
|
|
6479
|
+
if (readMoreElement) {
|
|
6480
|
+
const readMoreButton = readMoreElement.querySelector(':scope > .mr-read-more__btn');
|
|
6481
|
+
if (readMoreButton instanceof HTMLElement) {
|
|
6482
|
+
readMoreButton.click();
|
|
6483
|
+
}
|
|
6484
|
+
// Scroll
|
|
6485
|
+
setTimeout(() => element.scrollIntoView({ behavior: 'smooth' }), 300);
|
|
6486
|
+
}
|
|
6487
|
+
else {
|
|
6488
|
+
// Scroll
|
|
6489
|
+
element.scrollIntoView({ behavior: 'smooth' });
|
|
6490
|
+
}
|
|
6468
6491
|
}
|
|
6469
6492
|
}, timeout);
|
|
6470
6493
|
}
|