@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.
@@ -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
- element.scrollIntoView({ behavior: 'smooth' });
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
  }