@arsedizioni/ars-utils 18.2.363 → 18.2.364

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.
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare class ClipperDocumentMenuComponent {
7
7
  rsMenuTrigger: MatMenuTrigger;
8
8
  linksMenuTrigger: MatMenuTrigger;
9
+ private renderer2;
9
10
  useSelections: import("@angular/core").InputSignal<boolean>;
10
11
  selectionSource: import("@angular/core").InputSignal<"bag" | "selection" | "none">;
11
12
  protected selection: Signal<ClipperDocumentInfo[]>;
@@ -20,9 +21,14 @@ export declare class ClipperDocumentMenuComponent {
20
21
  canFind: import("@angular/core").InputSignal<boolean>;
21
22
  /**
22
23
  * Show and hide sub menus
23
- * @param mode: the mode
24
+ * @param trigger: the trigger to use or null to deselect
24
25
  */
25
- showSubMenu(mode?: number): void;
26
+ showSubMenu(trigger?: MatMenuTrigger): void;
27
+ /**
28
+ * Reset sub menu
29
+ * @param trigger: the trigger to use
30
+ */
31
+ resetSubMenu(trigger: MatMenuTrigger): void;
26
32
  /**
27
33
  * Check if current item or selection is read
28
34
  * @returns 0 if not read, 1 if read, 2 if unknown
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ViewChild, computed, input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Renderer2, ViewChild, computed, inject, input } from '@angular/core';
2
2
  import { MatTooltipModule } from '@angular/material/tooltip';
3
3
  import { MatDividerModule } from '@angular/material/divider';
4
4
  import { MatIconModule } from '@angular/material/icon';
@@ -12,6 +12,7 @@ import * as i4 from "@angular/material/divider";
12
12
  import * as i5 from "@angular/material/tooltip";
13
13
  export class ClipperDocumentMenuComponent {
14
14
  constructor() {
15
+ this.renderer2 = inject(Renderer2);
15
16
  this.useSelections = input(false);
16
17
  this.selectionSource = input('selection');
17
18
  this.selection = computed(() => {
@@ -37,23 +38,22 @@ export class ClipperDocumentMenuComponent {
37
38
  }
38
39
  /**
39
40
  * Show and hide sub menus
40
- * @param mode: the mode
41
+ * @param trigger: the trigger to use or null to deselect
41
42
  */
42
- showSubMenu(mode = 0) {
43
- switch (mode) {
44
- case 1:
45
- this.rsMenuTrigger.closeMenu();
46
- this.linksMenuTrigger.openMenu();
47
- break;
48
- case 2:
49
- this.linksMenuTrigger.closeMenu();
50
- this.rsMenuTrigger.openMenu();
51
- break;
52
- default:
53
- this.linksMenuTrigger.closeMenu();
54
- this.rsMenuTrigger.closeMenu();
55
- break;
56
- }
43
+ showSubMenu(trigger = null) {
44
+ this.linksMenuTrigger.closeMenu();
45
+ this.rsMenuTrigger.closeMenu();
46
+ trigger?.openMenu();
47
+ }
48
+ /**
49
+ * Reset sub menu
50
+ * @param trigger: the trigger to use
51
+ */
52
+ resetSubMenu(trigger) {
53
+ setTimeout(() => {
54
+ this.renderer2.removeClass(trigger['_element'].nativeElement, 'cdk-focused');
55
+ this.renderer2.removeClass(trigger['_element'].nativeElement, 'cdk-program-focused');
56
+ }, 100);
57
57
  }
58
58
  /**
59
59
  * Check if current item or selection is read
@@ -78,11 +78,11 @@ export class ClipperDocumentMenuComponent {
78
78
  this.parent()?.setRead(value, this.item());
79
79
  }
80
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ClipperDocumentMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: ClipperDocumentMenuComponent, isStandalone: true, selector: "clipper-document-menu", inputs: { useSelections: { classPropertyName: "useSelections", publicName: "useSelections", isSignal: true, isRequired: false, transformFunction: null }, selectionSource: { classPropertyName: "selectionSource", publicName: "selectionSource", isSignal: true, isRequired: false, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isReference: { classPropertyName: "isReference", publicName: "isReference", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isDeadline: { classPropertyName: "isDeadline", publicName: "isDeadline", isSignal: true, isRequired: false, transformFunction: null }, isLawInForce: { classPropertyName: "isLawInForce", publicName: "isLawInForce", isSignal: true, isRequired: false, transformFunction: null }, isLaw: { classPropertyName: "isLaw", publicName: "isLaw", isSignal: true, isRequired: false, transformFunction: null }, canPrint: { classPropertyName: "canPrint", publicName: "canPrint", isSignal: true, isRequired: false, transformFunction: null }, canFind: { classPropertyName: "canFind", publicName: "canFind", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "rsMenuTrigger", first: true, predicate: ["rsMenuTrigger"], descendants: true }, { propertyName: "linksMenuTrigger", first: true, predicate: ["linksMenuTrigger"], descendants: true }], ngImport: i0, template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(1)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(2)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: ClipperDocumentMenuComponent, isStandalone: true, selector: "clipper-document-menu", inputs: { useSelections: { classPropertyName: "useSelections", publicName: "useSelections", isSignal: true, isRequired: false, transformFunction: null }, selectionSource: { classPropertyName: "selectionSource", publicName: "selectionSource", isSignal: true, isRequired: false, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isReference: { classPropertyName: "isReference", publicName: "isReference", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isDeadline: { classPropertyName: "isDeadline", publicName: "isDeadline", isSignal: true, isRequired: false, transformFunction: null }, isLawInForce: { classPropertyName: "isLawInForce", publicName: "isLawInForce", isSignal: true, isRequired: false, transformFunction: null }, isLaw: { classPropertyName: "isLaw", publicName: "isLaw", isSignal: true, isRequired: false, transformFunction: null }, canPrint: { classPropertyName: "canPrint", publicName: "canPrint", isSignal: true, isRequired: false, transformFunction: null }, canFind: { classPropertyName: "canFind", publicName: "canFind", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "rsMenuTrigger", first: true, predicate: ["rsMenuTrigger"], descendants: true }, { propertyName: "linksMenuTrigger", first: true, predicate: ["linksMenuTrigger"], descendants: true }], ngImport: i0, template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\" (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ClipperDocumentMenuComponent, decorators: [{
84
84
  type: Component,
85
- args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(1)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(2)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
85
+ args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\" (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
86
86
  }], propDecorators: { rsMenuTrigger: [{
87
87
  type: ViewChild,
88
88
  args: ['rsMenuTrigger']
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
90
90
  type: ViewChild,
91
91
  args: ['linksMenuTrigger']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBV25ELE1BQU0sT0FBTyw0QkFBNEI7SUFUekM7UUFjRSxrQkFBYSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLEtBQUssQ0FBc0MsV0FBVyxDQUFDLENBQUM7UUFDaEUsY0FBUyxHQUFrQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7b0JBQy9CLEtBQUssS0FBSzt3QkFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzVDLEtBQUssV0FBVzt3QkFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFNLEdBQUcsS0FBSyxFQUE4QixDQUFDO1FBQzdDLFNBQUksR0FBRyxLQUFLLEVBQXVCLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBOENqQztJQTNDQzs7O01BR0U7SUFDRixXQUFXLENBQUMsT0FBZSxDQUFDO1FBQzFCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGVBQWUsRUFBRTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBQzNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsT0FBTyxjQUFjLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBdEVVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHN1RENsQnpDLDgyTkFnSkMseUREaklXLFVBQVUsdTZFQUFFLGFBQWEsNnZCQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGdCQUFnQjs7MkZBRzNFLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7OEJBSzNELGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDSyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgU2lnbmFsLCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyIH0gZnJvbSAnLi4vc2VhcmNoLXJlc3VsdC1tYW5hZ2VyL3NlYXJjaC1yZXN1bHQtbWFuYWdlcic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLWRvY3VtZW50LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyRG9jdW1lbnRNZW51Q29tcG9uZW50IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgncnNNZW51VHJpZ2dlcicpIHJzTWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBAVmlld0NoaWxkKCdsaW5rc01lbnVUcmlnZ2VyJykgbGlua3NNZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG5cclxuICB1c2VTZWxlY3Rpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHNlbGVjdGlvblNvdXJjZSA9IGlucHV0PCdiYWcnIHwgJ3NlbGVjdGlvbicgfCAnbm9uZScgfCBudWxsPignc2VsZWN0aW9uJyk7XHJcbiAgcHJvdGVjdGVkIHNlbGVjdGlvbjogU2lnbmFsPENsaXBwZXJEb2N1bWVudEluZm9bXT4gPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy51c2VTZWxlY3Rpb25zKCkpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGlvblNvdXJjZSgpKSB7XHJcbiAgICAgICAgY2FzZSAnYmFnJzpcclxuICAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudCgpLmNsaXBwZXJTZXJ2aWNlLmJhZygpO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9KTtcclxuICBwYXJlbnQgPSBpbnB1dDxDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlcj4oKTtcclxuICBpdGVtID0gaW5wdXQ8Q2xpcHBlckRvY3VtZW50SW5mbz4oKTtcclxuICBpc1JlZmVyZW5jZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBpc1JlYWRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaXNEZWFkbGluZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBpc0xhd0luRm9yY2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgaXNMYXcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuUHJpbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuRmluZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblxyXG4gIC8qKiBcclxuICAgKiBTaG93IGFuZCBoaWRlIHN1YiBtZW51c1xyXG4gICAqIEBwYXJhbSBtb2RlOiB0aGUgbW9kZVxyXG4gICovXHJcbiAgc2hvd1N1Yk1lbnUobW9kZTogbnVtYmVyID0gMCkge1xyXG4gICAgc3dpdGNoIChtb2RlKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLnJzTWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgdGhpcy5saW5rc01lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpbmtzTWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgdGhpcy5yc01lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5saW5rc01lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xyXG4gICAgICAgIHRoaXMucnNNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgaXRlbSBvciBzZWxlY3Rpb24gaXMgcmVhZFxyXG4gICAqIEByZXR1cm5zIDAgaWYgbm90IHJlYWQsIDEgaWYgcmVhZCwgMiBpZiB1bmtub3duXHJcbiAgICovXHJcbiAgaXNSZWFkKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5pdGVtKCkpIHJldHVybiB0aGlzLml0ZW0oKS5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIGlmICh0aGlzLnBhcmVudCgpPy5oYXNBbnlTZWxlY3Rpb24oKSkgcmV0dXJuIDI7XHJcbiAgICBjb25zdCBmaXJzdFNlbGVjdGlvbiA9IHRoaXMucGFyZW50KCk/LmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgaWYgKGZpcnN0U2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGlvbi5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBpcyByZWFkIGZsYWcgdmFsdWVcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRydWUgb3IgZmFsc2VcclxuICAgKi9cclxuICBzZXRSZWFkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnBhcmVudCgpPy5zZXRSZWFkKHZhbHVlLCB0aGlzLml0ZW0oKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCJAaWYgKHNlbGVjdGlvblNvdXJjZSgpICYmIHNlbGVjdGlvblNvdXJjZSgpICE9PSAnbm9uZScpIHtcclxuQGlmIChzZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ3NlbGVjdGlvbicpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZWxlY3Rpb24/LmNsZWFyKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidEZXNlbGV6aW9uYSB0dXR0aSdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5EZXNlbGV6aW9uYSB0dXR0aVxyXG48L2J1dHRvbj5cclxufSBAZWxzZSBpZiAoc2VsZWN0aW9uU291cmNlKCkgPT09ICdiYWcnKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkub3BlbkJhZygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9ybydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPndvcmtfb3V0bGluZTwvbWF0LWljb24+R2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9yb1xyXG48L2J1dHRvbj5cclxufVxyXG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxufVxyXG5AaWYgKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FwcmkgZG9jdW1lbnRvJ1wiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGl0ZW0oKSA/IGl0ZW0oKS5kb2N1bWVudElkIDogc2VsZWN0aW9uKClbMF0uZG9jdW1lbnRJZClcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoc2VsZWN0aW9uU291cmNlKCkgIT09ICdiYWcnKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLmFkZEl0ZW1zVG9CYWcoaXRlbSgpID8gW2l0ZW0oKV0gOiBzZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPndvcmtfb3V0bGluZTwvbWF0LWljb24+QWdnaXVuZ2kgYWkgZG9jdW1lbnRpIGRpIGxhdm9yb1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYoY2FuUHJpbnQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpPy5wcmludCgpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU3RhbXBhIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMjBweFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGw+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIipcIiBmeExheW91dD1cInJvd1wiIGZ4RmlsbCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5wcmludDwvbWF0LWljb24+XHJcbiAgICAgIDxkaXY+U3RhbXBhPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrUDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYoY2FuRmluZCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCk/LmZpbmQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Ryb3ZhIG5lbCBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5Ucm92YSBuZWwgZG9jdW1lbnRvPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrRjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPiAxKSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZW5kSXRlbXNUbyhpdGVtKCkgPyBbaXRlbSgpXSA6IHNlbGVjdGlvbigpKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInSW52aWEgZG9jdW1lbnRvIHBlciBlbWFpbCdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPkludmlhIHBlciBlbWFpbFxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKCgoaXRlbSgpICYmIGl0ZW0oKS5tb2RlbCAhPSAxMSkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEgJiYgc2VsZWN0aW9uKClbMF0ubW9kZWwgIT0gMTEpKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydFBkZihpdGVtKCkgPyBpdGVtKCkgOiBzZWxlY3Rpb24oKVswXSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTYWx2YSBkb2N1bWVudG8gaW4gcGRmJ1wiPlxyXG4gIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+U2FsdmEgaW4gcGRmXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZW5lcmEgdW4gbGluayBwZXJtYW5lbnRlIGRhIHV0aWxpenphcmUgZXN0ZXJuYW1lbnRlJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLnNob3dMaW5rKGl0ZW0oKSA/IGl0ZW0oKSA6IHNlbGVjdGlvbigpWzBdKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+bGluazwvbWF0LWljb24+TGlua1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKCFpc1JlZmVyZW5jZSgpICYmIChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxpbmtzTWVudVwiICNsaW5rc01lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgxKVwiPlxyXG4gIDxtYXQtaWNvbj5jb21wYXJlX2Fycm93czwvbWF0LWljb24+Q29sbGVnYW1lbnRpXHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI2xpbmtzTWVudT1cIm1hdE1lbnVcIiA+XHJcbiAgQGlmICghaXNSZWZlcmVuY2UoKSAmJiAoaXRlbSgpIHx8IChzZWxlY3Rpb24oKT8ubGVuZ3RoID09PSAxKSkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIGkgZG9jdW1lbnRpIHJpY2hpYW1hdGkgZGEgcXVlc3RvJ1wiXHJcbiAgICAoY2xpY2spPVwicGFyZW50KCkub3BlblJlZmVyZW5jZXMoaXRlbSgpID8gaXRlbSgpLmRvY3VtZW50SWQgOiBzZWxlY3Rpb24oKVswXS5kb2N1bWVudElkLCAxKVwiPlxyXG4gICAgRG9jdW1lbnRpIHJpY2hpYW1hdGlcclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgQGlmICggIWlzUmVmZXJlbmNlKCkgJiYoaXRlbSgpIHx8IChzZWxlY3Rpb24oKT8ubGVuZ3RoID09PSAxKSkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIGkgZG9jdW1lbnRpIGNoZSByaWNoaWFtYW5vIHF1ZXN0bydcIlxyXG4gICAgKGNsaWNrKT1cInBhcmVudCgpLm9wZW5SZWZlcmVuY2VzKGl0ZW0oKSA/IGl0ZW0oKS5kb2N1bWVudElkIDogc2VsZWN0aW9uKClbMF0uZG9jdW1lbnRJZCwgMilcIj5cclxuICAgIERvY3VtZW50aSBjaGUgcmljaGlhbWFub1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgZ2l1cmlzcHJ1ZGVuemEnXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5vcGVuUmVmZXJlbmNlcyhpdGVtKCkgPyBpdGVtKCkuZG9jdW1lbnRJZCA6IHNlbGVjdGlvbigpWzBdLmRvY3VtZW50SWQsIDQpXCI+XHJcbiAgICBKdXJpc1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgbW9kaWZpY2hlIG5vcm1hdGl2ZSdcIlxyXG4gICAgKGNsaWNrKT1cInBhcmVudCgpLm9wZW5SZWZlcmVuY2VzKGl0ZW0oKSA/IGl0ZW0oKS5kb2N1bWVudElkIDogc2VsZWN0aW9uKClbMF0uZG9jdW1lbnRJZCwgMylcIj5cclxuICAgIE1vZGlmaWNoZVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufVxyXG5cclxuQGlmICghaXNSZWZlcmVuY2UoKSAmJiBpc1JlYWRhYmxlKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcblxyXG5AaWYgKGl0ZW0oKSA/IGl0ZW0oKS5pc1JlYWQgPT09IHRydWUgOiAocGFyZW50KCk/LnNlbGVjdGlvbj8uYWxsLmxlbmd0aCAhPSAxIHx8IHBhcmVudCgpPy5zZWxlY3Rpb24/LmFsbFswXS5pc1JlYWQgPT09XHJcbnRydWUpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWduYSBjb21lIGRhIGxlZ2dlcmUnXCIgKGNsaWNrKT1cInBhcmVudCgpPy5zZXRSZWFkKGZhbHNlLCBpdGVtKCkpXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5vdXRsaW5lZF9mbGFnPC9tYXQtaWNvbj5TZWduYSBjb21lIGRhIGxlZ2dlcmVcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChpdGVtKCkgPyBpdGVtKCkuaXNSZWFkICE9PSB0cnVlIDogKHBhcmVudCgpPy5zZWxlY3Rpb24/LmFsbC5sZW5ndGggIT0gMSB8fCBwYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGxbMF0uaXNSZWFkICE9PVxyXG50cnVlKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBnacOgIGxldHRvJ1wiIChjbGljayk9XCJwYXJlbnQoKT8uc2V0UmVhZCh0cnVlLCBpdGVtKCkpXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj5TZWduYSBjb21lIGdpw6AgbGV0dG9cclxuPC9idXR0b24+XHJcbn1cclxufVxyXG5cclxuQGlmICgoaXNMYXdJbkZvcmNlKCkgfHwgaXNEZWFkbGluZSgpKSAmJiAoaXRlbSgpIHx8IChzZWxlY3Rpb24oKT8ubGVuZ3RoID09PSAxKSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSByZXBvcnQgdXRpbGl6em8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkucmVwb3J0KGl0ZW0oKSA/IGl0ZW0oKSA6IHNlbGVjdGlvbigpWzBdKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKChpdGVtKCkgfHwgc2VsZWN0aW9uPy5sZW5ndGggPiAwKSAmJiBwYXJlbnQoKS5SU19lbmFibGVkKGl0ZW0oKSA/IFtpdGVtKCldIDogc2VsZWN0aW9uKCkpICYmICF1c2VTZWxlY3Rpb25zKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbn1cclxuQGlmICgoaXRlbSgpIHx8IHNlbGVjdGlvbj8ubGVuZ3RoID4gMCkgJiYgcGFyZW50KCkuUlNfZW5hYmxlZChpdGVtKCkgPyBbaXRlbSgpXSA6IHNlbGVjdGlvbigpKSAmJiAhdXNlU2VsZWN0aW9ucygpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBtYXRUb29sdGlwPVwiUmVnaXN0cm8gJiBTY2FkZW56YXJpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJyc01lbnVcIiAjcnNNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoMilcIj5cclxuICA8bWF0LWljb24+YWxhcm1fb248L21hdC1pY29uPlxyXG4gIFJlZ2lzdHJvIGUgc2NhZGVuemFyaW9cclxuPC9idXR0b24+XHJcbjxtYXQtbWVudSAjcnNNZW51PVwibWF0TWVudVwiPlxyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidOdW92YSBsZWdnZSdcIiAoY2xpY2spPVwicGFyZW50KCkuUlNfbmV3TGF3KFtpdGVtKCldKVwiPlxyXG4gICAgTnVvdmEgbGVnZ2VcclxuICA8L2J1dHRvbj5cclxuICBAaWYgKGl0ZW0oKSB8fCBzZWxlY3Rpb24/Lmxlbmd0aCA9PT0gMSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidOdW92YSBhdHRpdml0w6AnXCIgKGNsaWNrKT1cInBhcmVudCgpLlJTX25ld0FjdGl2aXR5KGl0ZW0oKSlcIj5cclxuICAgIE51b3ZhIGF0dGl2aXTDoFxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGl0ZW0oKSB8fCBzZWxlY3Rpb24/Lmxlbmd0aCA9PT0gMSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnQgdXRpbGl6em8gbm9ybWEnXCIgKGNsaWNrKT1cInBhcmVudCgpLlJTX3VzYWdlUmVwb3J0KGl0ZW0oKSlcIj5cclxuICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufSJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFXbkQsTUFBTSxPQUFPLDRCQUE0QjtJQVR6QztRQWNVLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEMsa0JBQWEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxLQUFLLENBQXNDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLGNBQVMsR0FBa0MsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNqRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixRQUFRLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO29CQUMvQixLQUFLLEtBQUs7d0JBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUM1QyxLQUFLLFdBQVc7d0JBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQztnQkFDekMsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0gsV0FBTSxHQUFHLEtBQUssRUFBOEIsQ0FBQztRQUM3QyxTQUFJLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDbEMsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztLQThDakM7SUEzQ0M7OztNQUdFO0lBQ0YsV0FBVyxDQUFDLFVBQTBCLElBQUk7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsT0FBdUI7UUFDbEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDM0QsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPLGNBQWMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0F4RVUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsc3VEQ2xCekMscytOQWdKQyx5RERqSVcsVUFBVSx1NkVBQUUsYUFBYSw2dkJBQUUsYUFBYSxtTEFBRSxnQkFBZ0Isa0lBQUUsZ0JBQWdCOzsyRkFHM0UsNEJBQTRCO2tCQVR4QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFLM0QsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNLLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBSZW5kZXJlcjIsIFNpZ25hbCwgVmlld0NoaWxkLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyIH0gZnJvbSAnLi4vc2VhcmNoLXJlc3VsdC1tYW5hZ2VyL3NlYXJjaC1yZXN1bHQtbWFuYWdlcic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLWRvY3VtZW50LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyRG9jdW1lbnRNZW51Q29tcG9uZW50IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgncnNNZW51VHJpZ2dlcicpIHJzTWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBAVmlld0NoaWxkKCdsaW5rc01lbnVUcmlnZ2VyJykgbGlua3NNZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG5cclxuICBwcml2YXRlIHJlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIFxyXG4gIHVzZVNlbGVjdGlvbnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgc2VsZWN0aW9uU291cmNlID0gaW5wdXQ8J2JhZycgfCAnc2VsZWN0aW9uJyB8ICdub25lJyB8IG51bGw+KCdzZWxlY3Rpb24nKTtcclxuICBwcm90ZWN0ZWQgc2VsZWN0aW9uOiBTaWduYWw8Q2xpcHBlckRvY3VtZW50SW5mb1tdPiA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLnVzZVNlbGVjdGlvbnMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0aW9uU291cmNlKCkpIHtcclxuICAgICAgICBjYXNlICdiYWcnOlxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCkuY2xpcHBlclNlcnZpY2UuYmFnKCk7XHJcbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcclxuICAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudCgpPy5zZWxlY3Rpb24/LmFsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH0pO1xyXG4gIHBhcmVudCA9IGlucHV0PENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGlzUmVmZXJlbmNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc0RlYWRsaW5lID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzTGF3SW5Gb3JjZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBpc0xhdyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5QcmludCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5GaW5kID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgLyoqIFxyXG4gICAqIFNob3cgYW5kIGhpZGUgc3ViIG1lbnVzXHJcbiAgICogQHBhcmFtIHRyaWdnZXI6IHRoZSB0cmlnZ2VyIHRvIHVzZSBvciBudWxsIHRvIGRlc2VsZWN0XHJcbiAgKi9cclxuICBzaG93U3ViTWVudSh0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlciA9IG51bGwpIHtcclxuICAgIHRoaXMubGlua3NNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcclxuICAgIHRoaXMucnNNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcclxuICAgIHRyaWdnZXI/Lm9wZW5NZW51KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBzdWIgbWVudVxyXG4gICAqIEBwYXJhbSB0cmlnZ2VyOiB0aGUgdHJpZ2dlciB0byB1c2VcclxuICAgKi9cclxuICByZXNldFN1Yk1lbnUodHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstZm9jdXNlZCcpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstcHJvZ3JhbS1mb2N1c2VkJyk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY3VycmVudCBpdGVtIG9yIHNlbGVjdGlvbiBpcyByZWFkXHJcbiAgICogQHJldHVybnMgMCBpZiBub3QgcmVhZCwgMSBpZiByZWFkLCAyIGlmIHVua25vd25cclxuICAgKi9cclxuICBpc1JlYWQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkgcmV0dXJuIHRoaXMuaXRlbSgpLmlzUmVhZCA9PT0gdHJ1ZSA/IDEgOiAwO1xyXG4gICAgaWYgKHRoaXMucGFyZW50KCk/Lmhhc0FueVNlbGVjdGlvbigpKSByZXR1cm4gMjtcclxuICAgIGNvbnN0IGZpcnN0U2VsZWN0aW9uID0gdGhpcy5wYXJlbnQoKT8uZ2V0U2luZ2xlU2VsZWN0aW9uKCk7XHJcbiAgICBpZiAoZmlyc3RTZWxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIGZpcnN0U2VsZWN0aW9uLmlzUmVhZCA9PT0gdHJ1ZSA/IDEgOiAwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGlzIHJlYWQgZmxhZyB2YWx1ZVxyXG4gICAqIEBwYXJhbSB2YWx1ZTogdHJ1ZSBvciBmYWxzZVxyXG4gICAqL1xyXG4gIHNldFJlYWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucGFyZW50KCk/LnNldFJlYWQodmFsdWUsIHRoaXMuaXRlbSgpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoc2VsZWN0aW9uU291cmNlKCkgJiYgc2VsZWN0aW9uU291cmNlKCkgIT09ICdub25lJykge1xyXG5AaWYgKHNlbGVjdGlvblNvdXJjZSgpID09PSAnc2VsZWN0aW9uJykge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbGVjdGlvbj8uY2xlYXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPkRlc2VsZXppb25hIHR1dHRpXHJcbjwvYnV0dG9uPlxyXG59IEBlbHNlIGlmIChzZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ2JhZycpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5vcGVuQmFnKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvJ1wiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5HZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG59XHJcbkBpZiAoaXRlbSgpIHx8IChzZWxlY3Rpb24oKT8ubGVuZ3RoID09PSAxKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQXByaSBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oaXRlbSgpID8gaXRlbSgpLmRvY3VtZW50SWQgOiBzZWxlY3Rpb24oKVswXS5kb2N1bWVudElkKVwiPlxyXG4gIDxtYXQtaWNvbj48L21hdC1pY29uPkFwcmlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChzZWxlY3Rpb25Tb3VyY2UoKSAhPT0gJ2JhZycpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFpIGRvY3VtZW50aSBkaSBsYXZvcm8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuYWRkSXRlbXNUb0JhZyhpdGVtKCkgPyBbaXRlbSgpXSA6IHNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5QcmludCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCk/LnByaW50KClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTdGFtcGEgZG9jdW1lbnRvJ1wiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIyMHB4XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4TGF5b3V0PVwicm93XCIgZnhGaWxsIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgPG1hdC1pY29uPnByaW50PC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5TdGFtcGE8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFjY2VudCBzbWFsbCBib2xkXCI+Q1RSTCtQPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5GaW5kKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKT8uZmluZCgpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVHJvdmEgbmVsIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMjBweFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGw+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIipcIiBmeExheW91dD1cInJvd1wiIGZ4RmlsbCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5maW5kX2luX3BhZ2U8L21hdC1pY29uPlxyXG4gICAgICA8ZGl2PlRyb3ZhIG5lbCBkb2N1bWVudG88L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFjY2VudCBzbWFsbCBib2xkXCI+Q1RSTCtGPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA+IDEpKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbmRJdGVtc1RvKGl0ZW0oKSA/IFtpdGVtKCldIDogc2VsZWN0aW9uKCkpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbnZpYSBkb2N1bWVudG8gcGVyIGVtYWlsJ1wiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+c2VuZDwvbWF0LWljb24+SW52aWEgcGVyIGVtYWlsXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoKChpdGVtKCkgJiYgaXRlbSgpLm1vZGVsICE9IDExKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSAmJiBzZWxlY3Rpb24oKVswXS5tb2RlbCAhPSAxMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkuZXhwb3J0UGRmKGl0ZW0oKSA/IGl0ZW0oKSA6IHNlbGVjdGlvbigpWzBdKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NhbHZhIGRvY3VtZW50byBpbiBwZGYnXCI+XHJcbiAgPG1hdC1pY29uPnNhdmVfYWx0PC9tYXQtaWNvbj5TYWx2YSBpbiBwZGZcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICgoaXRlbSgpIHx8IChzZWxlY3Rpb24oKT8ubGVuZ3RoID09PSAxKSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0dlbmVyYSB1biBsaW5rIHBlcm1hbmVudGUgZGEgdXRpbGl6emFyZSBlc3Rlcm5hbWVudGUnXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuc2hvd0xpbmsoaXRlbSgpID8gaXRlbSgpIDogc2VsZWN0aW9uKClbMF0pXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5saW5rPC9tYXQtaWNvbj5MaW5rXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwibGlua3NNZW51XCIgI2xpbmtzTWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KGxpbmtzTWVudVRyaWdnZXIpXCIgKG1vdXNlbGVhdmUpPVwicmVzZXRTdWJNZW51KGxpbmtzTWVudVRyaWdnZXIpXCI+XHJcbiAgPG1hdC1pY29uPmNvbXBhcmVfYXJyb3dzPC9tYXQtaWNvbj5Db2xsZWdhbWVudGlcclxuPC9idXR0b24+XHJcbjxtYXQtbWVudSAjbGlua3NNZW51PVwibWF0TWVudVwiID5cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgcmljaGlhbWF0aSBkYSBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5vcGVuUmVmZXJlbmNlcyhpdGVtKCkgPyBpdGVtKCkuZG9jdW1lbnRJZCA6IHNlbGVjdGlvbigpWzBdLmRvY3VtZW50SWQsIDEpXCI+XHJcbiAgICBEb2N1bWVudGkgcmljaGlhbWF0aVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCAhaXNSZWZlcmVuY2UoKSAmJihpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgY2hlIHJpY2hpYW1hbm8gcXVlc3RvJ1wiXHJcbiAgICAoY2xpY2spPVwicGFyZW50KCkub3BlblJlZmVyZW5jZXMoaXRlbSgpID8gaXRlbSgpLmRvY3VtZW50SWQgOiBzZWxlY3Rpb24oKVswXS5kb2N1bWVudElkLCAyKVwiPlxyXG4gICAgRG9jdW1lbnRpIGNoZSByaWNoaWFtYW5vXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgaXNMYXdJbkZvcmNlKCkgJiYgKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSkpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBnaXVyaXNwcnVkZW56YSdcIlxyXG4gICAgKGNsaWNrKT1cInBhcmVudCgpLm9wZW5SZWZlcmVuY2VzKGl0ZW0oKSA/IGl0ZW0oKS5kb2N1bWVudElkIDogc2VsZWN0aW9uKClbMF0uZG9jdW1lbnRJZCwgNClcIj5cclxuICAgIEp1cmlzXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgaXNMYXdJbkZvcmNlKCkgJiYgKGl0ZW0oKSB8fCAoc2VsZWN0aW9uKCk/Lmxlbmd0aCA9PT0gMSkpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBtb2RpZmljaGUgbm9ybWF0aXZlJ1wiXHJcbiAgICAoY2xpY2spPVwicGFyZW50KCkub3BlblJlZmVyZW5jZXMoaXRlbSgpID8gaXRlbSgpLmRvY3VtZW50SWQgOiBzZWxlY3Rpb24oKVswXS5kb2N1bWVudElkLCAzKVwiPlxyXG4gICAgTW9kaWZpY2hlXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG48L21hdC1tZW51PlxyXG59XHJcblxyXG5AaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzUmVhZGFibGUoKSkge1xyXG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuXHJcbkBpZiAoaXRlbSgpID8gaXRlbSgpLmlzUmVhZCA9PT0gdHJ1ZSA6IChwYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGwubGVuZ3RoICE9IDEgfHwgcGFyZW50KCk/LnNlbGVjdGlvbj8uYWxsWzBdLmlzUmVhZCA9PT1cclxudHJ1ZSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZGEgbGVnZ2VyZSdcIiAoY2xpY2spPVwicGFyZW50KCk/LnNldFJlYWQoZmFsc2UsIGl0ZW0oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPm91dGxpbmVkX2ZsYWc8L21hdC1pY29uPlNlZ25hIGNvbWUgZGEgbGVnZ2VyZVxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGl0ZW0oKSA/IGl0ZW0oKS5pc1JlYWQgIT09IHRydWUgOiAocGFyZW50KCk/LnNlbGVjdGlvbj8uYWxsLmxlbmd0aCAhPSAxIHx8IHBhcmVudCgpPy5zZWxlY3Rpb24/LmFsbFswXS5pc1JlYWQgIT09XHJcbnRydWUpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWduYSBjb21lIGdpw6AgbGV0dG8nXCIgKGNsaWNrKT1cInBhcmVudCgpPy5zZXRSZWFkKHRydWUsIGl0ZW0oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmZsYWc8L21hdC1pY29uPlNlZ25hIGNvbWUgZ2nDoCBsZXR0b1xyXG48L2J1dHRvbj5cclxufVxyXG59XHJcblxyXG5AaWYgKChpc0xhd0luRm9yY2UoKSB8fCBpc0RlYWRsaW5lKCkpICYmIChpdGVtKCkgfHwgKHNlbGVjdGlvbigpPy5sZW5ndGggPT09IDEpKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIHJlcG9ydCB1dGlsaXp6bydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5yZXBvcnQoaXRlbSgpID8gaXRlbSgpIDogc2VsZWN0aW9uKClbMF0pXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5hc3NpZ25tZW50PC9tYXQtaWNvbj5SZXBvcnRcclxuPC9idXR0b24+XHJcbn1cclxuXHJcbkBpZiAoKGl0ZW0oKSB8fCBzZWxlY3Rpb24/Lmxlbmd0aCA+IDApICYmIHBhcmVudCgpLlJTX2VuYWJsZWQoaXRlbSgpID8gW2l0ZW0oKV0gOiBzZWxlY3Rpb24oKSkgJiYgIXVzZVNlbGVjdGlvbnMoKSkge1xyXG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxufVxyXG5AaWYgKChpdGVtKCkgfHwgc2VsZWN0aW9uPy5sZW5ndGggPiAwKSAmJiBwYXJlbnQoKS5SU19lbmFibGVkKGl0ZW0oKSA/IFtpdGVtKCldIDogc2VsZWN0aW9uKCkpICYmICF1c2VTZWxlY3Rpb25zKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIG1hdFRvb2x0aXA9XCJSZWdpc3RybyAmIFNjYWRlbnphcmlvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInT3B6aW9uaSBkaSBSZWdpc3RybyAmIFNjYWRlbnphcmlvJ1wiXHJcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInJzTWVudVwiICNyc01lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybV9vbjwvbWF0LWljb24+XHJcbiAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNyc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGxlZ2dlJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdMYXcoW2l0ZW0oKV0pXCI+XHJcbiAgICBOdW92YSBsZWdnZVxyXG4gIDwvYnV0dG9uPlxyXG4gIEBpZiAoaXRlbSgpIHx8IHNlbGVjdGlvbj8ubGVuZ3RoID09PSAxKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGF0dGl2aXTDoCdcIiAoY2xpY2spPVwicGFyZW50KCkuUlNfbmV3QWN0aXZpdHkoaXRlbSgpKVwiPlxyXG4gICAgTnVvdmEgYXR0aXZpdMOgXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoaXRlbSgpIHx8IHNlbGVjdGlvbj8ubGVuZ3RoID09PSAxKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlcG9ydCB1dGlsaXp6byBub3JtYSdcIiAoY2xpY2spPVwicGFyZW50KCkuUlNfdXNhZ2VSZXBvcnQoaXRlbSgpKVwiPlxyXG4gICAgUmVwb3J0IHV0aWxpenpvIG5vcm1hXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG48L21hdC1tZW51PlxyXG59Il19
@@ -1,7 +1,7 @@
1
1
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
2
2
  import { NgClass, NgStyle } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { input, computed, Component, ChangeDetectionStrategy, ViewChild, EventEmitter, inject, ChangeDetectorRef, Output, signal, Renderer2 } from '@angular/core';
4
+ import { inject, Renderer2, input, computed, Component, ChangeDetectionStrategy, ViewChild, EventEmitter, ChangeDetectorRef, Output, signal } from '@angular/core';
5
5
  import * as i3$3 from '@angular/forms';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import * as i9 from '@angular/material/badge';
@@ -61,6 +61,7 @@ import { MatSelectModule } from '@angular/material/select';
61
61
 
62
62
  class ClipperDocumentMenuComponent {
63
63
  constructor() {
64
+ this.renderer2 = inject(Renderer2);
64
65
  this.useSelections = input(false);
65
66
  this.selectionSource = input('selection');
66
67
  this.selection = computed(() => {
@@ -86,23 +87,22 @@ class ClipperDocumentMenuComponent {
86
87
  }
87
88
  /**
88
89
  * Show and hide sub menus
89
- * @param mode: the mode
90
+ * @param trigger: the trigger to use or null to deselect
90
91
  */
91
- showSubMenu(mode = 0) {
92
- switch (mode) {
93
- case 1:
94
- this.rsMenuTrigger.closeMenu();
95
- this.linksMenuTrigger.openMenu();
96
- break;
97
- case 2:
98
- this.linksMenuTrigger.closeMenu();
99
- this.rsMenuTrigger.openMenu();
100
- break;
101
- default:
102
- this.linksMenuTrigger.closeMenu();
103
- this.rsMenuTrigger.closeMenu();
104
- break;
105
- }
92
+ showSubMenu(trigger = null) {
93
+ this.linksMenuTrigger.closeMenu();
94
+ this.rsMenuTrigger.closeMenu();
95
+ trigger?.openMenu();
96
+ }
97
+ /**
98
+ * Reset sub menu
99
+ * @param trigger: the trigger to use
100
+ */
101
+ resetSubMenu(trigger) {
102
+ setTimeout(() => {
103
+ this.renderer2.removeClass(trigger['_element'].nativeElement, 'cdk-focused');
104
+ this.renderer2.removeClass(trigger['_element'].nativeElement, 'cdk-program-focused');
105
+ }, 100);
106
106
  }
107
107
  /**
108
108
  * Check if current item or selection is read
@@ -127,11 +127,11 @@ class ClipperDocumentMenuComponent {
127
127
  this.parent()?.setRead(value, this.item());
128
128
  }
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ClipperDocumentMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: ClipperDocumentMenuComponent, isStandalone: true, selector: "clipper-document-menu", inputs: { useSelections: { classPropertyName: "useSelections", publicName: "useSelections", isSignal: true, isRequired: false, transformFunction: null }, selectionSource: { classPropertyName: "selectionSource", publicName: "selectionSource", isSignal: true, isRequired: false, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isReference: { classPropertyName: "isReference", publicName: "isReference", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isDeadline: { classPropertyName: "isDeadline", publicName: "isDeadline", isSignal: true, isRequired: false, transformFunction: null }, isLawInForce: { classPropertyName: "isLawInForce", publicName: "isLawInForce", isSignal: true, isRequired: false, transformFunction: null }, isLaw: { classPropertyName: "isLaw", publicName: "isLaw", isSignal: true, isRequired: false, transformFunction: null }, canPrint: { classPropertyName: "canPrint", publicName: "canPrint", isSignal: true, isRequired: false, transformFunction: null }, canFind: { classPropertyName: "canFind", publicName: "canFind", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "rsMenuTrigger", first: true, predicate: ["rsMenuTrigger"], descendants: true }, { propertyName: "linksMenuTrigger", first: true, predicate: ["linksMenuTrigger"], descendants: true }], ngImport: i0, template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(1)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(2)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: ClipperDocumentMenuComponent, isStandalone: true, selector: "clipper-document-menu", inputs: { useSelections: { classPropertyName: "useSelections", publicName: "useSelections", isSignal: true, isRequired: false, transformFunction: null }, selectionSource: { classPropertyName: "selectionSource", publicName: "selectionSource", isSignal: true, isRequired: false, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isReference: { classPropertyName: "isReference", publicName: "isReference", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isDeadline: { classPropertyName: "isDeadline", publicName: "isDeadline", isSignal: true, isRequired: false, transformFunction: null }, isLawInForce: { classPropertyName: "isLawInForce", publicName: "isLawInForce", isSignal: true, isRequired: false, transformFunction: null }, isLaw: { classPropertyName: "isLaw", publicName: "isLaw", isSignal: true, isRequired: false, transformFunction: null }, canPrint: { classPropertyName: "canPrint", publicName: "canPrint", isSignal: true, isRequired: false, transformFunction: null }, canFind: { classPropertyName: "canFind", publicName: "canFind", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "rsMenuTrigger", first: true, predicate: ["rsMenuTrigger"], descendants: true }, { propertyName: "linksMenuTrigger", first: true, predicate: ["linksMenuTrigger"], descendants: true }], ngImport: i0, template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\" (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
131
  }
132
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ClipperDocumentMenuComponent, decorators: [{
133
133
  type: Component,
134
- args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(1)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(2)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
134
+ args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (selectionSource() && selectionSource() !== 'none') {\r\n@if (selectionSource() === 'selection') {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (selectionSource() === 'bag') {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item() || (selection()?.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"parent().open(item() ? item().documentId : selection()[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource() !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(item() ? [item()] : selection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent()?.print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent()?.find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length > 1))) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(item() ? [item()] : selection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item() && item().model != 11) || (selection()?.length === 1 && selection()[0].model != 11))) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference() && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\" >\r\n @if (!isReference() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if ( !isReference() &&(item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && (item() || (selection()?.length === 1))) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"parent().openReferences(item() ? item().documentId : selection()[0].documentId, 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (!isReference() && isReadable()) {\r\n<mat-divider></mat-divider>\r\n\r\n@if (item() ? item().isRead === true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead ===\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"parent()?.setRead(false, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (item() ? item().isRead !== true : (parent()?.selection?.all.length != 1 || parent()?.selection?.all[0].isRead !==\r\ntrue)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"parent()?.setRead(true, item())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n}\r\n\r\n@if ((isLawInForce() || isDeadline()) && (item() || (selection()?.length === 1))) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\"\r\n (click)=\"parent().report(item() ? item() : selection()[0])\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if ((item() || selection?.length > 0) && parent().RS_enabled(item() ? [item()] : selection()) && !useSelections()) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\" (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw([item()])\">\r\n Nuova legge\r\n </button>\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(item())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (item() || selection?.length === 1) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent().RS_usageReport(item())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
135
135
  }], propDecorators: { rsMenuTrigger: [{
136
136
  type: ViewChild,
137
137
  args: ['rsMenuTrigger']