@arsedizioni/ars-utils 18.1.114 → 18.1.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/clipper.ui/documents.d.ts +5 -1
- package/esm2022/clipper.ui/documents.mjs +4 -7
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +4 -4
- package/esm2022/clipper.ui/ui/document/document.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/references/references.component.mjs +2 -2
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +10 -10
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/package.json +12 -12
|
@@ -40,7 +40,6 @@ import * as i1 from '@ngbracket/ngx-layout/flex';
|
|
|
40
40
|
import { FlexModule } from '@ngbracket/ngx-layout/flex';
|
|
41
41
|
import { Subject, fromEvent } from 'rxjs';
|
|
42
42
|
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
43
|
-
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
44
43
|
import { Router } from '@angular/router';
|
|
45
44
|
import { ApplicationDialogService, SendToDialogComponent, CalendarEmptyHeader, FilePreviewComponent, ChipsSelectorComponent } from '@arsedizioni/ars-utils/ui.application';
|
|
46
45
|
import * as i6$1 from '@angular/material/slide-toggle';
|
|
@@ -54,6 +53,7 @@ import { Clipboard } from '@angular/cdk/clipboard';
|
|
|
54
53
|
import saveAs from 'file-saver';
|
|
55
54
|
import * as i1$2 from '@angular/material/list';
|
|
56
55
|
import { MatListModule } from '@angular/material/list';
|
|
56
|
+
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
57
57
|
import * as i6$3 from '@angular/material/core';
|
|
58
58
|
import { MatOptionModule } from '@angular/material/core';
|
|
59
59
|
import * as i5$1 from '@angular/material/select';
|
|
@@ -1536,7 +1536,7 @@ class ClipperReferencesComponent extends ClipperSearchResultManager {
|
|
|
1536
1536
|
* Reset scroll position
|
|
1537
1537
|
*/
|
|
1538
1538
|
resetScrollPosition() {
|
|
1539
|
-
document.querySelector('#clipper-references-scroller')
|
|
1539
|
+
document.querySelector('#clipper-references-scroller')?.scrollTo(0, 0);
|
|
1540
1540
|
}
|
|
1541
1541
|
/**
|
|
1542
1542
|
* Restore scroll position
|
|
@@ -2446,7 +2446,7 @@ class ClipperDocumentComponent extends ClipperDocumentManager {
|
|
|
2446
2446
|
}
|
|
2447
2447
|
}
|
|
2448
2448
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2449
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: ClipperDocumentComponent, isStandalone: true, selector: "ng-component", outputs: { closing: "closing", opening: "opening", onComplianceAnalysis: "onComplianceAnalysis", onCompliancePlanning: "onCompliancePlanning", onComplianceUsageReport: "onComplianceUsageReport" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, viewQueries: [{ propertyName: "relevantsPane", first: true, predicate: ["relevantsPane"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"clipper-document-fixed\">\r\n <div class=\"clipper-document-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap='10px' fxFill>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"70\" class=\"title-container\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"5px\" class=\"truncated\">\r\n <div class=\"large bold\">{{title()}}</div>\r\n @if (lastDocument && lastDocument.lastUpdate) {\r\n <div class=\"small accent\">\r\n AGGIORNATO A:\r\n {{lastDocument.lastUpdate}}\r\n </div>\r\n }\r\n @if (lastDocument && lastDocument.expiringDescription) {\r\n <div class=\"small accent-low\">\r\n {{lastDocument.expiringDescription}}</div>\r\n }\r\n @if (lastDocument && lastDocument.validityInfo) {\r\n <div class=\"small badge-red\"><b>Attenzione!</b>\r\n {{lastDocument.validityInfo}}</div>\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"30\" fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" aria-label=\"Indietro\"\r\n (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Avanti\" aria-label=\"Avanti\"\r\n (click)=\"forward()\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\r\n (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div fxLayout=\"row wrap \" fxFill fxLayoutAlign=\"space-between\">\r\n <div fxFlex.xs=\"100\" fxFlexAlign=\"center\">\r\n @if (lastDocument.model === 9) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"index(lastDocument.id)\">\r\n Indice\r\n </button>\r\n }\r\n @if (lastDocument.bag && (lastDocument.bag[1] ==='T' || lastDocument.bag[3] ==='T')) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Collegamenti\"\r\n [attr.aria-label]=\"'Collegamenti al documento'\" [matMenuTriggerFor]=\"menuLinks\">\r\n Collegamenti\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuLinks=\"matMenu\">\r\n @if (lastDocument.bag && lastDocument.bag[1] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti richiamati'\"\r\n (click)=\"openReferences(lastDocument.id, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[3] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti che richiamano'\"\r\n (click)=\"openReferences(lastDocument.id, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[2] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] !=='T' && lastDocument.bag[6] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche apportate'\"\r\n (click)=\"openReferences(lastDocument.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n </mat-menu>\r\n @if (lastDocument.hasPrimary) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento primario'\"\r\n (click)=\"navigate(lastDocument.primaryId)\">\r\n {{lastDocument.primaryDescription}}\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[2] ==='T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] !== 'T' && lastDocument.bag[6] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button\r\n [attr.aria-label]=\"'Mostra modifiche apportate'\" (click)=\"openReferences(lastDocument.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n @if (lastDocument.secondaryId) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento secondario'\"\r\n (click)=\"navigate(lastDocument.secondaryId)\">\r\n Testo storico\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[7] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra commento'\"\r\n (click)=\"showComment()\">\r\n Commento\r\n </button>\r\n }\r\n </div>\r\n <div fxFlex.xs=\"100\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\">\r\n @if (hasRelevants() && relevants.hits) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n <div fxFlexAlign=\"center\" class=\"small item-greyed\" style=\"margin-left:20px; margin-right: 5px\"\r\n matTooltip=\"Parole evidenziate\">{{relevants.hit}}\r\n di {{relevants.hits}}</div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla parola precedente'\"\r\n (click)=\"previousRelevant()\" matTooltip=\"Parola precedente\" [disabled]=\"relevants.hit <= 1\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla prossima parola'\"\r\n (click)=\"nextRelevant()\" matTooltip=\"Prossima parola\" [disabled]=\"relevants.hit >= relevants.hits\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni sul documento\"\r\n [attr.aria-label]=\"'Azioni da eseguire sul documento'\" [matMenuTriggerFor]=\"menuActions\">\r\n Azioni\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuActions=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\"\r\n (click)=\"open(lastDocument.documentId, true)\">\r\n <mat-icon>open_in_browser</mat-icon>Apri in nuova finestra\r\n </button>\r\n <button mat-menu-item (click)=\"print()\" [attr.aria-label]=\"'Stampa documento'\">\r\n <mat-icon>print</mat-icon>Stampa\r\n </button>\r\n <button mat-menu-item (click)=\"find()\" [attr.aria-label]=\"'Trova nel documento'\">\r\n <mat-icon>find_in_page</mat-icon>Trova nel documento (CTRL+F)\r\n </button>\r\n <button mat-menu-item (click)=\"sendItemsTo([lastDocument])\" [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n </button>\r\n <button mat-menu-item (click)=\"addItemsToBag([lastDocument])\"\r\n [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n </button>\r\n @if (lastDocument && lastDocument.model != 11) {\r\n <button mat-menu-item (click)=\"exportPdf(lastDocument)\" [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 <button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"showLink(lastDocument)\">\r\n <mat-icon>link</mat-icon>Link\r\n </button>\r\n @if ((lastDocument.model === 9 || lastDocument.model === 10)) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera un report sul documento'\"\r\n (click)=\"displayReport(lastDocument)\">\r\n <mat-icon>assignment</mat-icon>Report\r\n </button>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <mat-divider></mat-divider>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <button type=\"button\" mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n }\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"RS_newLaw([lastDocument])\">\r\n Nuova legge\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"RS_newActivity(lastDocument)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"RS_usageReport(lastDocument)\">\r\n Report utilizzo norma\r\n </button>\r\n </mat-menu>\r\n </mat-menu>\r\n @if (hasRelevants() && relevants.items && relevantsPane && (!relevantsPane.opened || relevantsPaneClosed)) {\r\n <div fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Rilevanza\" aria-label=\"'Rilevanza'\"\r\n (click)=\"toggleRelevantsPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (busy) {\r\n <mat-progress-bar class=\"sidenav-loader\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-document-scrollable\">\r\n <mat-drawer-container [hasBackdrop]=\"[relevantsPaneHasBackdrop]\">\r\n <mat-drawer #relevantsPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (relevantsBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (relevantsBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"title\">Rilevanza</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button mat-icon-button (click)=\"toggleRelevantsPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n @if (relevantsBusy()) {\r\n <div class=\"relevants-message\">\r\n <p class=\"accent\">Ricerca parti del documento significative in corso...</p>\r\n </div>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <div style=\"padding: 0 10px\">\r\n <p>Parti del documento pi\u00F9 significative per la ricerca di <span class='word-hit'>{{lastQuery}}</span>\r\n </p>\r\n <nav class=\"relevant-items\">\r\n <ul>\r\n @for (item of relevants.items; track item) {\r\n <li class=\"small\" (click)=\"gotoRelevant(item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\">\r\n {{item.title}}\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (item.score > 1.2) {\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <iframe id=\"clipper-document-iframe\" class=\"iframe\" [src]=\"url() | safeUrl\"></iframe>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.title-container{padding-left:15px;padding-top:5px;padding-bottom:5px}.word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.iframe{width:100%;height:100%;border:0}.relevants-container{padding-top:20px;padding-bottom:10px}.relevants-message{padding-top:10px;padding-left:15px}.relevants-selection{padding:0 4px 0 15px}.relevants-items{padding:0;margin:0}.relevants-items ul{list-style-type:none;padding:0;margin:0}.relevants-items ul li{font-size:small;padding:4px 8px;display:block;color:var(--c7-text-color) a;color-color:inherit;color-text-decoration:none;color-display:block}.relevants-items ul li:hover{background-color:var(--c7-item-hover-background-color);border-radius:6px;cursor:pointer}\n"], 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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.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: ExtendedModule }, { kind: "directive", type: i6$2.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i12.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i12.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "pipe", type: SafeUrlPipe, name: "safeUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: ClipperDocumentComponent, isStandalone: true, selector: "ng-component", outputs: { closing: "closing", opening: "opening", onComplianceAnalysis: "onComplianceAnalysis", onCompliancePlanning: "onCompliancePlanning", onComplianceUsageReport: "onComplianceUsageReport" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, viewQueries: [{ propertyName: "relevantsPane", first: true, predicate: ["relevantsPane"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"clipper-document-fixed\">\r\n <div class=\"clipper-document-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap='10px' fxFill>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"70\" class=\"title-container\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"5px\" class=\"truncated\">\r\n <div class=\"large bold\">{{title()}}</div>\r\n @if (lastDocument && lastDocument?.lastUpdate) {\r\n <div class=\"small accent\">\r\n AGGIORNATO A:\r\n {{lastDocument?.lastUpdate}}\r\n </div>\r\n }\r\n @if (lastDocument && lastDocument?.expiringDescription) {\r\n <div class=\"small accent-low\">\r\n {{lastDocument?.expiringDescription}}</div>\r\n }\r\n @if (lastDocument && lastDocument?.validityInfo) {\r\n <div class=\"small badge-red\"><b>Attenzione!</b>\r\n {{lastDocument?.validityInfo}}</div>\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"30\" fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" aria-label=\"Indietro\"\r\n (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Avanti\" aria-label=\"Avanti\"\r\n (click)=\"forward()\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\r\n (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div fxLayout=\"row wrap \" fxFill fxLayoutAlign=\"space-between\">\r\n <div fxFlex.xs=\"100\" fxFlexAlign=\"center\">\r\n @if (lastDocument?.model === 9) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"index(lastDocument?.id)\">\r\n Indice\r\n </button>\r\n }\r\n @if (lastDocument?.bag && (lastDocument?.bag[1] ==='T' || lastDocument?.bag[3] ==='T')) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Collegamenti\"\r\n [attr.aria-label]=\"'Collegamenti al documento'\" [matMenuTriggerFor]=\"menuLinks\">\r\n Collegamenti\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuLinks=\"matMenu\">\r\n @if (lastDocument?.bag && lastDocument?.bag[1] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti richiamati'\"\r\n (click)=\"openReferences(lastDocument?.id, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[3] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti che richiamano'\"\r\n (click)=\"openReferences(lastDocument?.id, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[2] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument?.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument?.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] !=='T' && lastDocument?.bag[6] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche apportate'\"\r\n (click)=\"openReferences(lastDocument?.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n </mat-menu>\r\n @if (lastDocument?.hasPrimary) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento primario'\"\r\n (click)=\"navigate(lastDocument?.primaryId)\">\r\n {{lastDocument?.primaryDescription}}\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[2] ==='T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument?.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument?.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] !== 'T' && lastDocument?.bag[6] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button\r\n [attr.aria-label]=\"'Mostra modifiche apportate'\" (click)=\"openReferences(lastDocument?.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n @if (lastDocument?.secondaryId) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento secondario'\"\r\n (click)=\"navigate(lastDocument?.secondaryId)\">\r\n Testo storico\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[7] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra commento'\"\r\n (click)=\"showComment()\">\r\n Commento\r\n </button>\r\n }\r\n </div>\r\n <div fxFlex.xs=\"100\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\">\r\n @if (hasRelevants() && relevants.hits) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n <div fxFlexAlign=\"center\" class=\"small item-greyed\" style=\"margin-left:20px; margin-right: 5px\"\r\n matTooltip=\"Parole evidenziate\">{{relevants.hit}}\r\n di {{relevants.hits}}</div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla parola precedente'\"\r\n (click)=\"previousRelevant()\" matTooltip=\"Parola precedente\" [disabled]=\"relevants.hit <= 1\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla prossima parola'\"\r\n (click)=\"nextRelevant()\" matTooltip=\"Prossima parola\" [disabled]=\"relevants.hit >= relevants.hits\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni sul documento\"\r\n [attr.aria-label]=\"'Azioni da eseguire sul documento'\" [matMenuTriggerFor]=\"menuActions\">\r\n Azioni\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuActions=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\"\r\n (click)=\"open(lastDocument?.documentId, true)\">\r\n <mat-icon>open_in_browser</mat-icon>Apri in nuova finestra\r\n </button>\r\n <button mat-menu-item (click)=\"print()\" [attr.aria-label]=\"'Stampa documento'\">\r\n <mat-icon>print</mat-icon>Stampa\r\n </button>\r\n <button mat-menu-item (click)=\"find()\" [attr.aria-label]=\"'Trova nel documento'\">\r\n <mat-icon>find_in_page</mat-icon>Trova nel documento (CTRL+F)\r\n </button>\r\n <button mat-menu-item (click)=\"sendItemsTo([lastDocument])\" [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n </button>\r\n <button mat-menu-item (click)=\"addItemsToBag([lastDocument])\"\r\n [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n </button>\r\n @if (lastDocument && lastDocument?.model != 11) {\r\n <button mat-menu-item (click)=\"exportPdf(lastDocument)\" [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 <button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"showLink(lastDocument)\">\r\n <mat-icon>link</mat-icon>Link\r\n </button>\r\n @if ((lastDocument?.model === 9 || lastDocument?.model === 10)) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera un report sul documento'\"\r\n (click)=\"displayReport(lastDocument)\">\r\n <mat-icon>assignment</mat-icon>Report\r\n </button>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <mat-divider></mat-divider>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <button type=\"button\" mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n }\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"RS_newLaw([lastDocument])\">\r\n Nuova legge\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"RS_newActivity(lastDocument)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"RS_usageReport(lastDocument)\">\r\n Report utilizzo norma\r\n </button>\r\n </mat-menu>\r\n </mat-menu>\r\n @if (hasRelevants() && relevants.items && relevantsPane && (!relevantsPane.opened || relevantsPaneClosed)) {\r\n <div fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Rilevanza\" aria-label=\"'Rilevanza'\"\r\n (click)=\"toggleRelevantsPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (busy) {\r\n <mat-progress-bar class=\"sidenav-loader\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-document-scrollable\">\r\n <mat-drawer-container [hasBackdrop]=\"[relevantsPaneHasBackdrop]\">\r\n <mat-drawer #relevantsPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (relevantsBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (relevantsBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"title\">Rilevanza</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button mat-icon-button (click)=\"toggleRelevantsPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n @if (relevantsBusy()) {\r\n <div class=\"relevants-message\">\r\n <p class=\"accent\">Ricerca parti del documento significative in corso...</p>\r\n </div>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <div style=\"padding: 0 10px\">\r\n <p>Parti del documento pi\u00F9 significative per la ricerca di <span class='word-hit'>{{lastQuery}}</span>\r\n </p>\r\n <nav class=\"relevant-items\">\r\n <ul>\r\n @for (item of relevants.items; track item) {\r\n <li class=\"small\" (click)=\"gotoRelevant(item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\">\r\n {{item.title}}\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (item.score > 1.2) {\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <iframe id=\"clipper-document-iframe\" class=\"iframe\" [src]=\"url() | safeUrl\"></iframe>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.title-container{padding-left:15px;padding-top:5px;padding-bottom:5px}.word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.iframe{width:100%;height:100%;border:0}.relevants-container{padding-top:20px;padding-bottom:10px}.relevants-message{padding-top:10px;padding-left:15px}.relevants-selection{padding:0 4px 0 15px}.relevants-items{padding:0;margin:0}.relevants-items ul{list-style-type:none;padding:0;margin:0}.relevants-items ul li{font-size:small;padding:4px 8px;display:block;color:var(--c7-text-color) a;color-color:inherit;color-text-decoration:none;color-display:block}.relevants-items ul li:hover{background-color:var(--c7-item-hover-background-color);border-radius:6px;cursor:pointer}\n"], 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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.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: ExtendedModule }, { kind: "directive", type: i6$2.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i12.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i12.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "pipe", type: SafeUrlPipe, name: "safeUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2450
2450
|
}
|
|
2451
2451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentComponent, decorators: [{
|
|
2452
2452
|
type: Component,
|
|
@@ -2462,7 +2462,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
2462
2462
|
MatDialogContent,
|
|
2463
2463
|
MatSidenavModule,
|
|
2464
2464
|
SafeUrlPipe,
|
|
2465
|
-
], template: "<div id=\"clipper-document-fixed\">\r\n <div class=\"clipper-document-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap='10px' fxFill>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"70\" class=\"title-container\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"5px\" class=\"truncated\">\r\n <div class=\"large bold\">{{title()}}</div>\r\n @if (lastDocument && lastDocument.lastUpdate) {\r\n <div class=\"small accent\">\r\n AGGIORNATO A:\r\n {{lastDocument.lastUpdate}}\r\n </div>\r\n }\r\n @if (lastDocument && lastDocument.expiringDescription) {\r\n <div class=\"small accent-low\">\r\n {{lastDocument.expiringDescription}}</div>\r\n }\r\n @if (lastDocument && lastDocument.validityInfo) {\r\n <div class=\"small badge-red\"><b>Attenzione!</b>\r\n {{lastDocument.validityInfo}}</div>\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"30\" fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" aria-label=\"Indietro\"\r\n (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Avanti\" aria-label=\"Avanti\"\r\n (click)=\"forward()\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\r\n (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div fxLayout=\"row wrap \" fxFill fxLayoutAlign=\"space-between\">\r\n <div fxFlex.xs=\"100\" fxFlexAlign=\"center\">\r\n @if (lastDocument.model === 9) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"index(lastDocument.id)\">\r\n Indice\r\n </button>\r\n }\r\n @if (lastDocument.bag && (lastDocument.bag[1] ==='T' || lastDocument.bag[3] ==='T')) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Collegamenti\"\r\n [attr.aria-label]=\"'Collegamenti al documento'\" [matMenuTriggerFor]=\"menuLinks\">\r\n Collegamenti\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuLinks=\"matMenu\">\r\n @if (lastDocument.bag && lastDocument.bag[1] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti richiamati'\"\r\n (click)=\"openReferences(lastDocument.id, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[3] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti che richiamano'\"\r\n (click)=\"openReferences(lastDocument.id, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[2] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] !=='T' && lastDocument.bag[6] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche apportate'\"\r\n (click)=\"openReferences(lastDocument.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n </mat-menu>\r\n @if (lastDocument.hasPrimary) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento primario'\"\r\n (click)=\"navigate(lastDocument.primaryId)\">\r\n {{lastDocument.primaryDescription}}\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[2] ==='T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[4] !== 'T' && lastDocument.bag[6] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button\r\n [attr.aria-label]=\"'Mostra modifiche apportate'\" (click)=\"openReferences(lastDocument.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n @if (lastDocument.secondaryId) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento secondario'\"\r\n (click)=\"navigate(lastDocument.secondaryId)\">\r\n Testo storico\r\n </button>\r\n }\r\n @if (lastDocument.bag && lastDocument.bag[7] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra commento'\"\r\n (click)=\"showComment()\">\r\n Commento\r\n </button>\r\n }\r\n </div>\r\n <div fxFlex.xs=\"100\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\">\r\n @if (hasRelevants() && relevants.hits) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n <div fxFlexAlign=\"center\" class=\"small item-greyed\" style=\"margin-left:20px; margin-right: 5px\"\r\n matTooltip=\"Parole evidenziate\">{{relevants.hit}}\r\n di {{relevants.hits}}</div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla parola precedente'\"\r\n (click)=\"previousRelevant()\" matTooltip=\"Parola precedente\" [disabled]=\"relevants.hit <= 1\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla prossima parola'\"\r\n (click)=\"nextRelevant()\" matTooltip=\"Prossima parola\" [disabled]=\"relevants.hit >= relevants.hits\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni sul documento\"\r\n [attr.aria-label]=\"'Azioni da eseguire sul documento'\" [matMenuTriggerFor]=\"menuActions\">\r\n Azioni\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuActions=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\"\r\n (click)=\"open(lastDocument.documentId, true)\">\r\n <mat-icon>open_in_browser</mat-icon>Apri in nuova finestra\r\n </button>\r\n <button mat-menu-item (click)=\"print()\" [attr.aria-label]=\"'Stampa documento'\">\r\n <mat-icon>print</mat-icon>Stampa\r\n </button>\r\n <button mat-menu-item (click)=\"find()\" [attr.aria-label]=\"'Trova nel documento'\">\r\n <mat-icon>find_in_page</mat-icon>Trova nel documento (CTRL+F)\r\n </button>\r\n <button mat-menu-item (click)=\"sendItemsTo([lastDocument])\" [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n </button>\r\n <button mat-menu-item (click)=\"addItemsToBag([lastDocument])\"\r\n [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n </button>\r\n @if (lastDocument && lastDocument.model != 11) {\r\n <button mat-menu-item (click)=\"exportPdf(lastDocument)\" [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 <button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"showLink(lastDocument)\">\r\n <mat-icon>link</mat-icon>Link\r\n </button>\r\n @if ((lastDocument.model === 9 || lastDocument.model === 10)) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera un report sul documento'\"\r\n (click)=\"displayReport(lastDocument)\">\r\n <mat-icon>assignment</mat-icon>Report\r\n </button>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <mat-divider></mat-divider>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <button type=\"button\" mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n }\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"RS_newLaw([lastDocument])\">\r\n Nuova legge\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"RS_newActivity(lastDocument)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"RS_usageReport(lastDocument)\">\r\n Report utilizzo norma\r\n </button>\r\n </mat-menu>\r\n </mat-menu>\r\n @if (hasRelevants() && relevants.items && relevantsPane && (!relevantsPane.opened || relevantsPaneClosed)) {\r\n <div fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Rilevanza\" aria-label=\"'Rilevanza'\"\r\n (click)=\"toggleRelevantsPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (busy) {\r\n <mat-progress-bar class=\"sidenav-loader\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-document-scrollable\">\r\n <mat-drawer-container [hasBackdrop]=\"[relevantsPaneHasBackdrop]\">\r\n <mat-drawer #relevantsPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (relevantsBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (relevantsBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"title\">Rilevanza</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button mat-icon-button (click)=\"toggleRelevantsPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n @if (relevantsBusy()) {\r\n <div class=\"relevants-message\">\r\n <p class=\"accent\">Ricerca parti del documento significative in corso...</p>\r\n </div>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <div style=\"padding: 0 10px\">\r\n <p>Parti del documento pi\u00F9 significative per la ricerca di <span class='word-hit'>{{lastQuery}}</span>\r\n </p>\r\n <nav class=\"relevant-items\">\r\n <ul>\r\n @for (item of relevants.items; track item) {\r\n <li class=\"small\" (click)=\"gotoRelevant(item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\">\r\n {{item.title}}\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (item.score > 1.2) {\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <iframe id=\"clipper-document-iframe\" class=\"iframe\" [src]=\"url() | safeUrl\"></iframe>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.title-container{padding-left:15px;padding-top:5px;padding-bottom:5px}.word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.iframe{width:100%;height:100%;border:0}.relevants-container{padding-top:20px;padding-bottom:10px}.relevants-message{padding-top:10px;padding-left:15px}.relevants-selection{padding:0 4px 0 15px}.relevants-items{padding:0;margin:0}.relevants-items ul{list-style-type:none;padding:0;margin:0}.relevants-items ul li{font-size:small;padding:4px 8px;display:block;color:var(--c7-text-color) a;color-color:inherit;color-text-decoration:none;color-display:block}.relevants-items ul li:hover{background-color:var(--c7-item-hover-background-color);border-radius:6px;cursor:pointer}\n"] }]
|
|
2465
|
+
], template: "<div id=\"clipper-document-fixed\">\r\n <div class=\"clipper-document-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap='10px' fxFill>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"70\" class=\"title-container\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"5px\" class=\"truncated\">\r\n <div class=\"large bold\">{{title()}}</div>\r\n @if (lastDocument && lastDocument?.lastUpdate) {\r\n <div class=\"small accent\">\r\n AGGIORNATO A:\r\n {{lastDocument?.lastUpdate}}\r\n </div>\r\n }\r\n @if (lastDocument && lastDocument?.expiringDescription) {\r\n <div class=\"small accent-low\">\r\n {{lastDocument?.expiringDescription}}</div>\r\n }\r\n @if (lastDocument && lastDocument?.validityInfo) {\r\n <div class=\"small badge-red\"><b>Attenzione!</b>\r\n {{lastDocument?.validityInfo}}</div>\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex.lt-md=\"50\" fxFlex=\"30\" fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" aria-label=\"Indietro\"\r\n (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Avanti\" aria-label=\"Avanti\"\r\n (click)=\"forward()\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\r\n (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div fxLayout=\"row wrap \" fxFill fxLayoutAlign=\"space-between\">\r\n <div fxFlex.xs=\"100\" fxFlexAlign=\"center\">\r\n @if (lastDocument?.model === 9) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"index(lastDocument?.id)\">\r\n Indice\r\n </button>\r\n }\r\n @if (lastDocument?.bag && (lastDocument?.bag[1] ==='T' || lastDocument?.bag[3] ==='T')) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Collegamenti\"\r\n [attr.aria-label]=\"'Collegamenti al documento'\" [matMenuTriggerFor]=\"menuLinks\">\r\n Collegamenti\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuLinks=\"matMenu\">\r\n @if (lastDocument?.bag && lastDocument?.bag[1] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti richiamati'\"\r\n (click)=\"openReferences(lastDocument?.id, 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[3] ==='T') {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra documenti che richiamano'\"\r\n (click)=\"openReferences(lastDocument?.id, 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[2] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument?.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument?.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] !=='T' && lastDocument?.bag[6] ==='T') {\r\n <button fxHide fxShow.lt-md mat-menu-item [attr.aria-label]=\"'Mostra modifiche apportate'\"\r\n (click)=\"openReferences(lastDocument?.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n </mat-menu>\r\n @if (lastDocument?.hasPrimary) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento primario'\"\r\n (click)=\"navigate(lastDocument?.primaryId)\">\r\n {{lastDocument?.primaryDescription}}\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[2] ==='T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra juris'\"\r\n (click)=\"openReferences(lastDocument?.id, 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button [attr.aria-label]=\"'Mostra modifiche subite'\"\r\n (click)=\"openReferences(lastDocument?.id, 3)\">\r\n Modifiche subite\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[4] !== 'T' && lastDocument?.bag[6] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" fxHide.lt-md mat-button\r\n [attr.aria-label]=\"'Mostra modifiche apportate'\" (click)=\"openReferences(lastDocument?.id, 5)\">\r\n Modifiche apportate\r\n </button>\r\n }\r\n @if (lastDocument?.secondaryId) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra documento secondario'\"\r\n (click)=\"navigate(lastDocument?.secondaryId)\">\r\n Testo storico\r\n </button>\r\n }\r\n @if (lastDocument?.bag && lastDocument?.bag[7] === 'T') {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Mostra commento'\"\r\n (click)=\"showComment()\">\r\n Commento\r\n </button>\r\n }\r\n </div>\r\n <div fxFlex.xs=\"100\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\">\r\n @if (hasRelevants() && relevants.hits) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n <div fxFlexAlign=\"center\" class=\"small item-greyed\" style=\"margin-left:20px; margin-right: 5px\"\r\n matTooltip=\"Parole evidenziate\">{{relevants.hit}}\r\n di {{relevants.hits}}</div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla parola precedente'\"\r\n (click)=\"previousRelevant()\" matTooltip=\"Parola precedente\" [disabled]=\"relevants.hit <= 1\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button [attr.aria-label]=\"'Vai alla prossima parola'\"\r\n (click)=\"nextRelevant()\" matTooltip=\"Prossima parola\" [disabled]=\"relevants.hit >= relevants.hits\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni sul documento\"\r\n [attr.aria-label]=\"'Azioni da eseguire sul documento'\" [matMenuTriggerFor]=\"menuActions\">\r\n Azioni\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuActions=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\"\r\n (click)=\"open(lastDocument?.documentId, true)\">\r\n <mat-icon>open_in_browser</mat-icon>Apri in nuova finestra\r\n </button>\r\n <button mat-menu-item (click)=\"print()\" [attr.aria-label]=\"'Stampa documento'\">\r\n <mat-icon>print</mat-icon>Stampa\r\n </button>\r\n <button mat-menu-item (click)=\"find()\" [attr.aria-label]=\"'Trova nel documento'\">\r\n <mat-icon>find_in_page</mat-icon>Trova nel documento (CTRL+F)\r\n </button>\r\n <button mat-menu-item (click)=\"sendItemsTo([lastDocument])\" [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n </button>\r\n <button mat-menu-item (click)=\"addItemsToBag([lastDocument])\"\r\n [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n </button>\r\n @if (lastDocument && lastDocument?.model != 11) {\r\n <button mat-menu-item (click)=\"exportPdf(lastDocument)\" [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 <button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"showLink(lastDocument)\">\r\n <mat-icon>link</mat-icon>Link\r\n </button>\r\n @if ((lastDocument?.model === 9 || lastDocument?.model === 10)) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera un report sul documento'\"\r\n (click)=\"displayReport(lastDocument)\">\r\n <mat-icon>assignment</mat-icon>Report\r\n </button>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <mat-divider></mat-divider>\r\n }\r\n @if (RS_enabled([lastDocument]) && !canSelect()) {\r\n <button type=\"button\" mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n }\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"RS_newLaw([lastDocument])\">\r\n Nuova legge\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"RS_newActivity(lastDocument)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"RS_usageReport(lastDocument)\">\r\n Report utilizzo norma\r\n </button>\r\n </mat-menu>\r\n </mat-menu>\r\n @if (hasRelevants() && relevants.items && relevantsPane && (!relevantsPane.opened || relevantsPaneClosed)) {\r\n <div fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Rilevanza\" aria-label=\"'Rilevanza'\"\r\n (click)=\"toggleRelevantsPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (busy) {\r\n <mat-progress-bar class=\"sidenav-loader\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-document-scrollable\">\r\n <mat-drawer-container [hasBackdrop]=\"[relevantsPaneHasBackdrop]\">\r\n <mat-drawer #relevantsPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (relevantsBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (relevantsBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"title\">Rilevanza</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button mat-icon-button (click)=\"toggleRelevantsPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n @if (relevantsBusy()) {\r\n <div class=\"relevants-message\">\r\n <p class=\"accent\">Ricerca parti del documento significative in corso...</p>\r\n </div>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <div style=\"padding: 0 10px\">\r\n <p>Parti del documento pi\u00F9 significative per la ricerca di <span class='word-hit'>{{lastQuery}}</span>\r\n </p>\r\n <nav class=\"relevant-items\">\r\n <ul>\r\n @for (item of relevants.items; track item) {\r\n <li class=\"small\" (click)=\"gotoRelevant(item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\">\r\n {{item.title}}\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (item.score > 1.2) {\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <iframe id=\"clipper-document-iframe\" class=\"iframe\" [src]=\"url() | safeUrl\"></iframe>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.title-container{padding-left:15px;padding-top:5px;padding-bottom:5px}.word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.iframe{width:100%;height:100%;border:0}.relevants-container{padding-top:20px;padding-bottom:10px}.relevants-message{padding-top:10px;padding-left:15px}.relevants-selection{padding:0 4px 0 15px}.relevants-items{padding:0;margin:0}.relevants-items ul{list-style-type:none;padding:0;margin:0}.relevants-items ul li{font-size:small;padding:4px 8px;display:block;color:var(--c7-text-color) a;color-color:inherit;color-text-decoration:none;color-display:block}.relevants-items ul li:hover{background-color:var(--c7-item-hover-background-color);border-radius:6px;cursor:pointer}\n"] }]
|
|
2466
2466
|
}], propDecorators: { relevantsPane: [{
|
|
2467
2467
|
type: ViewChild,
|
|
2468
2468
|
args: ['relevantsPane']
|
|
@@ -2481,13 +2481,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
2481
2481
|
class ClipperDocumentsUtils {
|
|
2482
2482
|
/**
|
|
2483
2483
|
* Open a document
|
|
2484
|
+
* @param dialogService: the dialog service
|
|
2485
|
+
* @param clipperService: the clipper service
|
|
2484
2486
|
* @param documentId : the document id
|
|
2485
2487
|
* @param query : the query for highlight
|
|
2486
2488
|
* @param selectionMode : the selection mode (1 = single, 2 = multiple, 3 = any selection)
|
|
2487
2489
|
*/
|
|
2488
|
-
static openDocument(documentId, query = null, selectionMode = null) {
|
|
2489
|
-
let dialogService = inject(DialogService);
|
|
2490
|
-
let clipperService = inject(ClipperService);
|
|
2490
|
+
static openDocument(dialogService, clipperService, documentId, query = null, selectionMode = null) {
|
|
2491
2491
|
if (!clipperService.loggedIn) {
|
|
2492
2492
|
dialogService.error("Clipper non è disponibile in questo momento. Verifica la connessione.");
|
|
2493
2493
|
return null;
|
|
@@ -3497,7 +3497,7 @@ class ClipperBrowserDialogComponent extends ClipperSearchResultManager {
|
|
|
3497
3497
|
openDocument(documentId) {
|
|
3498
3498
|
if (!documentId)
|
|
3499
3499
|
return;
|
|
3500
|
-
ClipperDocumentsUtils.openDocument(documentId, this.filterParams.text, this.dialogData.selectionMode);
|
|
3500
|
+
ClipperDocumentsUtils.openDocument(this.dialogService, this.clipperService, documentId, this.filterParams.text, this.dialogData.selectionMode);
|
|
3501
3501
|
}
|
|
3502
3502
|
/**
|
|
3503
3503
|
* Compose a free text search query
|
|
@@ -3593,7 +3593,7 @@ class ClipperBrowserDialogComponent extends ClipperSearchResultManager {
|
|
|
3593
3593
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperBrowserDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3594
3594
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: ClipperBrowserDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, providers: [
|
|
3595
3595
|
MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER
|
|
3596
|
-
], viewQueries: [{ propertyName: "filterPane", first: true, predicate: ["filterPane"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"clipper-browser-fixed\">\r\n <div class=\"clipper-browser-header\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <a href=\"https://clipper.arsedizioni.it\" matTooltip=\"Apri Clipper in un nuovo tab\" target=\"_blank\">\r\n <img src=\"./../../../assets/images/clipper_logo.png\" alt=\"Clipper\" style=\"max-height: 50px; padding: 5px\" />\r\n </a>\r\n </div>\r\n @if (dialogData?.selectionMode > 0) {\r\n <div fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n </div>\r\n }\r\n <div fxFlex=\"150px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (clipperService.bag.length > 0) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Documenti di lavoro\" aria-label=\"'Documenti di lavoro'\"\r\n (click)=\"manageBag()\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"clipperService.bag.length\"\r\n matBadgeColor=\"accent\">work_outline</mat-icon>\r\n </button>\r\n }\r\n <button type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"padding: 15px 0 10px 15px\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxFlex.xs=\"62\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxFill>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Numero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"filterParams.number\" #number=\"ngModel\" name=\"number\" maxlength=\"10\"\r\n (keyup.Enter)=\"fetch(true)\">\r\n @if (filterParams.number) {\r\n <button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix aria-label=\"Azzera\"\r\n (click)=\"filterParams.number = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Anno</mat-label>\r\n <input type=\"number\" matInput [(ngModel)]=\"filterParams.year\" #year=\"ngModel\" name=\"year\" min=\"0\"\r\n maxlength=\"4\" (keyup.Enter)=\"fetch(true)\" />\r\n @if (filterParams.year) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.year = null\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (year.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"100\" subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Parole, frasi o concetti...</mat-label>\r\n <input matInput #searchInput=\"matInput\" type=\"text\" #text [(ngModel)]=\"filterParams.text\" maxlength=\"200\"\r\n (keyup.Enter)=\"search()\" autofocus />\r\n @if (filterParams.text) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.text = ''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Componi\" matTooltip=\"Componi\"\r\n (click)=\"text.focus(); composeSearch()\">\r\n <mat-icon>build</mat-icon>\r\n </button>\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Informazioni\"\r\n matTooltip=\"Come effettuare la ricerca in testo libero\" (click)=\"text.focus(); helpSearch()\">\r\n <mat-icon>help_outline</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex.xs=\"36\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <button type=\"button\" mat-icon-button (click)=\"search()\" [attr.aria-label]=\"'Avvia la ricerca'\"\r\n matTooltip=\"Avvia ricerca\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"advancedSearch()\" [attr.aria-label]=\"'Ricerca avanzata'\"\r\n matTooltip=\"Ricerca avanzata\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>settings</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n @if (snapshot.searchInfo && snapshot.searchInfo.length > 0) {\r\n <div fxHide.xs class=\"small\" style=\"padding-left: 15px;\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <b>RICERCA ATTIVA</b> \r\n @for (si of snapshot.searchInfo; track si) {\r\n <span>\r\n {{si.sep ? ' ' : ''}} {{si.field}}: <span class=\"accent lowercase\"><i>{{si.value}}</i></span>\r\n </span>\r\n }\r\n </div>\r\n <div fxFlexAlign=\"start\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Azzera ricerca\" (click)=\"clearSearch()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div fxLayout=\"row wrap-reverse\" fxLayoutAlign=\"space-between center\" fxFill style=\"padding-left: 15px;\">\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n @if (snapshot.total > 0) {\r\n <div fxFlexAlign=\"center\">\r\n <mat-checkbox (change)=\"$event ? selectAll($event) : null\"\r\n [indeterminate]=\"selection?.hasValue() && !allSelected()\" [attr.aria-label]=\"'Seleziona/deseleziona tutto'\"\r\n matTooltip=\"Seleziona/deseleziona tutto\" [disabled]=\"!snapshot.items || snapshot.items.length == 0\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div fxFlex=\"*\">\r\n @if (snapshot.total > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Ordina\" [attr.aria-label]=\"'Menu ordina'\"\r\n [matMenuTriggerFor]=\"menuSort\" [disabled]=\"!snapshot.total\">\r\n <span fxHide.lt-lg>Ordina per:</span>\r\n <mat-icon fxHide.gt-md>sort</mat-icon> {{currentSort}}\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSort=\"matMenu\">\r\n <button mat-menu-item (click)=\"sortBy(3)\" [attr.aria-label]=\"'Ordina per data decrescente'\">\r\n Data decrescente\r\n </button>\r\n <button mat-menu-item (click)=\"sortBy(2)\" [attr.aria-label]=\"'Ordina per data crescente'\">\r\n Data crescente\r\n </button>\r\n @if (filterParams.text) {\r\n <button mat-menu-item (click)=\"sortBy(1)\" [attr.aria-label]=\"'Ordina per rilevanza'\">\r\n Rilevanza\r\n </button>\r\n }\r\n <button mat-menu-item (click)=\"sortBy(5)\" [attr.aria-label]=\"'Ordina per popolarit\u00E0'\">\r\n Popolarit\u00E0\r\n </button>\r\n <!-- <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"sortBy(4)\"\r\n [attr.aria-label]=\"'Ordina per data di inserimento descrescente'\">\r\n Data di inserimento decrescente\r\n </button>-->\r\n </mat-menu>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Menu modello'\"\r\n [matMenuTriggerFor]=\"menuModels\">\r\n <span fxHide.lt-lg>Mostra:</span>\r\n <mat-icon fxHide.gt-md>filter_list</mat-icon> {{currentModel}}\r\n <mat-icon class=\" icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuModels=\"matMenu\">\r\n <button mat-menu-item (click)=\"changeModel(2)\" [attr.aria-label]=\"'Mostra aggiornamento normativo'\">\r\n Gazzette e bollettini\r\n </button>\r\n <button mat-menu-item (click)=\"changeModel(9)\" [attr.aria-label]=\"'Normativa vigente'\">\r\n Normativa vigente\r\n </button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"changeModel()\" [attr.aria-label]=\"'Mostra tutti i documenti'\">\r\n Tutto\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (selection?.hasValue()) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\r\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\r\n [disabled]=\"!snapshot.total\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"selection?.all.length\"\r\n matBadgeColor=\"accent\">playlist_add_check</mat-icon>\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSelections=\"matMenu\">\r\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"canSelect()\"\r\n [isReadable]=\"false\" [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </mat-menu>\r\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\"\r\n aria-label=\"'Affina ricerca'\" (click)=\"toggleFilterPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-browser-scrollable\">\r\n <mat-drawer-container>\r\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (filterBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (filterBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlexAlign=\"center\" class=\"title\">Affina ricerca</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button fxFlexAlign=\"center\" mat-icon-button (click)=\"toggleFilterPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <clipper-search-facets #facets></clipper-search-facets>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\" id=\"clipper-references-scroller\">\r\n @if (!snapshot.total) {\r\n <div style=\"padding:32px; text-align: center;\" class=\"accent\">\r\n <p>\r\n Non hai ancora effettuato\r\n la tua prima ricerca oppure la ricerca effettuata non ha prodotto alcun risultato.</p>\r\n <p>Inserisci nell'apposito campo ci\u00F2 che intendi cercare e fai click su <b>Trova</b> oppure utilizza\r\n la\r\n <b>Ricerca avanzata</b>\r\n </p>.\r\n </div>\r\n } @else {\r\n <div>\r\n @for (item of snapshot.items; track $index; let i = $index) {\r\n <div (contextmenu)=\"onContextMenu($event, item)\" (mouseenter)=\"item.isOver = true\"\r\n (mouseleave)=\"item.isOver = false\">\r\n @if (item.group) {\r\n <div class=\"items-group-title\">\r\n <div [ngClass]=\"{'spaced': i > 0}\">{{item.group}}</div>\r\n </div>\r\n }\r\n <div fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill class=\"item\"\r\n [ngClass]=\"{'item-selected': selection?.isSelected(item.documentId) }\">\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"center\">\r\n @if (screenService.isTouchable || item.isOver || selection?.isSelected(item.documentId)) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection?.toggle(item, item.documentId) : null\"\r\n [checked]=\"selection?.isSelected(item.documentId)\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"item-content\">\r\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\"></clipper-search-result-item>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item.isOver || item.isMenuOpen || selection?.isSelected(item.documentId)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\"\r\n [attr.aria-label]=\"'Menu opzioni'\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\" (click)=\"item.isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [useSelections]=\"canSelect()\" [isReadable]=\"false\"\r\n [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </ng-template>\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n <!-- footer -->\r\n @if ((snapshot?.total ?? 0) > 0) {\r\n <div class=\"items-footer\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <mat-paginator #paginator class=\"paginator\" [hidePageSize]=\"true\" [length]=\"snapshot?.total ?? 0\"\r\n [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\" (page)=\"fetchMore($event)\">\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.sidenav{width:250px;background-color:#fff;border-left:0!important;border-right:0!important}.sidenav-facets{background-color:#f8f8f8!important}.search-info{padding-left:30px}\n"], 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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i6$2.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i6$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i11.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: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ClipperDocumentMenuComponent, selector: "clipper-document-menu", inputs: ["parent", "selectionSource", "useSelections", "item", "isReference", "isReadable", "isDeadline", "isLawInForce", "isLaw"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i12.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i12.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: ClipperSearchFacetsComponent, selector: "clipper-search-facets", outputs: ["changed"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ClipperSearchResultItemComponent, selector: "clipper-search-result-item", inputs: ["parent", "item"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3596
|
+
], viewQueries: [{ propertyName: "filterPane", first: true, predicate: ["filterPane"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"clipper-browser-fixed\">\r\n <div class=\"clipper-browser-header\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <a href=\"https://clipper.arsedizioni.it\" matTooltip=\"Apri Clipper in un nuovo tab\" target=\"_blank\">\r\n <img src=\"./../../../assets/images/clipper_logo.png\" alt=\"Clipper\" style=\"max-height: 50px; padding: 5px\" />\r\n </a>\r\n </div>\r\n @if (dialogData?.selectionMode > 0) {\r\n <div fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n </div>\r\n }\r\n <div fxFlex=\"150px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (clipperService.bag.length > 0) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Documenti di lavoro\" aria-label=\"'Documenti di lavoro'\"\r\n (click)=\"manageBag()\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"clipperService.bag.length\"\r\n matBadgeColor=\"accent\">work_outline</mat-icon>\r\n </button>\r\n }\r\n <button type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"padding: 15px 0 10px 15px\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxFlex.xs=\"62\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxFill>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Numero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"filterParams.number\" #number=\"ngModel\" name=\"number\" maxlength=\"10\"\r\n (keyup.Enter)=\"fetch(true)\">\r\n @if (filterParams.number) {\r\n <button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix aria-label=\"Azzera\"\r\n (click)=\"filterParams.number = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Anno</mat-label>\r\n <input type=\"number\" matInput [(ngModel)]=\"filterParams.year\" #year=\"ngModel\" name=\"year\" min=\"0\"\r\n maxlength=\"4\" (keyup.Enter)=\"fetch(true)\" />\r\n @if (filterParams.year) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.year = null\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (year.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"100\" subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Parole, frasi o concetti...</mat-label>\r\n <input matInput #searchInput=\"matInput\" type=\"text\" #text [(ngModel)]=\"filterParams.text\" maxlength=\"200\"\r\n (keyup.Enter)=\"search()\" autofocus />\r\n @if (filterParams.text) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.text = ''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Componi\" matTooltip=\"Componi\"\r\n (click)=\"text.focus(); composeSearch()\">\r\n <mat-icon>build</mat-icon>\r\n </button>\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Informazioni\"\r\n matTooltip=\"Come effettuare la ricerca in testo libero\" (click)=\"text.focus(); helpSearch()\">\r\n <mat-icon>help_outline</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex.xs=\"36\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <button type=\"button\" mat-icon-button (click)=\"search()\" [attr.aria-label]=\"'Avvia la ricerca'\"\r\n matTooltip=\"Avvia ricerca\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"advancedSearch()\" [attr.aria-label]=\"'Ricerca avanzata'\"\r\n matTooltip=\"Ricerca avanzata\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>settings</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n @if (snapshot.searchInfo && snapshot.searchInfo.length > 0) {\r\n <div fxHide.xs class=\"small\" style=\"padding-left: 15px;\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <b>RICERCA ATTIVA</b> \r\n @for (si of snapshot.searchInfo; track si) {\r\n <span>\r\n {{si.sep ? ' ' : ''}} {{si.field}}: <span class=\"accent lowercase\"><i>{{si.value}}</i></span>\r\n </span>\r\n }\r\n </div>\r\n <div fxFlexAlign=\"start\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Azzera ricerca\" (click)=\"clearSearch()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div fxLayout=\"row wrap-reverse\" fxLayoutAlign=\"space-between center\" fxFill style=\"padding-left: 15px;\">\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n @if (snapshot.total > 0) {\r\n <div fxFlexAlign=\"center\">\r\n <mat-checkbox (change)=\"$event ? selectAll($event) : null\"\r\n [indeterminate]=\"selection?.hasValue() && !allSelected()\" [attr.aria-label]=\"'Seleziona/deseleziona tutto'\"\r\n matTooltip=\"Seleziona/deseleziona tutto\" [disabled]=\"!snapshot.items || snapshot.items.length == 0\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div fxFlex=\"*\">\r\n @if (snapshot.total > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Ordina\" [attr.aria-label]=\"'Menu ordina'\"\r\n [matMenuTriggerFor]=\"menuSort\" [disabled]=\"!snapshot.total\">\r\n <span fxHide.lt-lg>Ordina per:</span>\r\n <mat-icon fxHide.gt-md>sort</mat-icon> {{currentSort}}\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSort=\"matMenu\">\r\n <button mat-menu-item (click)=\"sortBy(3)\" [attr.aria-label]=\"'Ordina per data decrescente'\">\r\n Data decrescente\r\n </button>\r\n <button mat-menu-item (click)=\"sortBy(2)\" [attr.aria-label]=\"'Ordina per data crescente'\">\r\n Data crescente\r\n </button>\r\n @if (filterParams.text) {\r\n <button mat-menu-item (click)=\"sortBy(1)\" [attr.aria-label]=\"'Ordina per rilevanza'\">\r\n Rilevanza\r\n </button>\r\n }\r\n <button mat-menu-item (click)=\"sortBy(5)\" [attr.aria-label]=\"'Ordina per popolarit\u00E0'\">\r\n Popolarit\u00E0\r\n </button>\r\n <!-- <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"sortBy(4)\"\r\n [attr.aria-label]=\"'Ordina per data di inserimento descrescente'\">\r\n Data di inserimento decrescente\r\n </button>-->\r\n </mat-menu>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Menu modello'\"\r\n [matMenuTriggerFor]=\"menuModels\">\r\n <span fxHide.lt-lg>Mostra:</span>\r\n <mat-icon fxHide.gt-md>filter_list</mat-icon> {{currentModel}}\r\n <mat-icon class=\" icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuModels=\"matMenu\">\r\n <button mat-menu-item (click)=\"changeModel(2)\" [attr.aria-label]=\"'Mostra aggiornamento normativo'\">\r\n Gazzette e bollettini\r\n </button>\r\n <button mat-menu-item (click)=\"changeModel(9)\" [attr.aria-label]=\"'Normativa vigente'\">\r\n Normativa vigente\r\n </button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"changeModel()\" [attr.aria-label]=\"'Mostra tutti i documenti'\">\r\n Tutto\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (selection?.hasValue()) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\r\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\r\n [disabled]=\"!snapshot.total\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"selection?.all.length\"\r\n matBadgeColor=\"accent\">playlist_add_check</mat-icon>\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSelections=\"matMenu\">\r\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"canSelect()\"\r\n [isReadable]=\"false\" [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </mat-menu>\r\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\"\r\n aria-label=\"'Affina ricerca'\" (click)=\"toggleFilterPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-browser-scrollable\">\r\n <mat-drawer-container>\r\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (filterBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (filterBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlexAlign=\"center\" class=\"title\">Affina ricerca</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button fxFlexAlign=\"center\" mat-icon-button (click)=\"toggleFilterPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <clipper-search-facets #facets></clipper-search-facets>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\" id=\"clipper-browser-scroller\">\r\n @if (!snapshot.total) {\r\n <div style=\"padding:32px; text-align: center;\" class=\"accent\">\r\n <p>\r\n Non hai ancora effettuato\r\n la tua prima ricerca oppure la ricerca effettuata non ha prodotto alcun risultato.</p>\r\n <p>Inserisci nell'apposito campo ci\u00F2 che intendi cercare e fai click su <b>Trova</b> oppure utilizza\r\n la\r\n <b>Ricerca avanzata</b>\r\n </p>.\r\n </div>\r\n } @else {\r\n <div>\r\n @for (item of snapshot.items; track $index; let i = $index) {\r\n <div (contextmenu)=\"onContextMenu($event, item)\" (mouseenter)=\"item.isOver = true\"\r\n (mouseleave)=\"item.isOver = false\">\r\n @if (item.group) {\r\n <div class=\"items-group-title\">\r\n <div [ngClass]=\"{'spaced': i > 0}\">{{item.group}}</div>\r\n </div>\r\n }\r\n <div fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill class=\"item\"\r\n [ngClass]=\"{'item-selected': selection?.isSelected(item.documentId) }\">\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"center\">\r\n @if (screenService.isTouchable || item.isOver || selection?.isSelected(item.documentId)) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection?.toggle(item, item.documentId) : null\"\r\n [checked]=\"selection?.isSelected(item.documentId)\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"item-content\">\r\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\"></clipper-search-result-item>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item.isOver || item.isMenuOpen || selection?.isSelected(item.documentId)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\"\r\n [attr.aria-label]=\"'Menu opzioni'\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\" (click)=\"item.isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [useSelections]=\"canSelect()\" [isReadable]=\"false\"\r\n [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </ng-template>\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n <!-- footer -->\r\n @if ((snapshot?.total ?? 0) > 0) {\r\n <div class=\"items-footer\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <mat-paginator #paginator class=\"paginator\" [hidePageSize]=\"true\" [length]=\"snapshot?.total ?? 0\"\r\n [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\" (page)=\"fetchMore($event)\">\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.sidenav{width:250px;background-color:#fff;border-left:0!important;border-right:0!important}.sidenav-facets{background-color:#f8f8f8!important}.search-info{padding-left:30px}\n"], 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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i6$2.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i6$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i11.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: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ClipperDocumentMenuComponent, selector: "clipper-document-menu", inputs: ["parent", "selectionSource", "useSelections", "item", "isReference", "isReadable", "isDeadline", "isLawInForce", "isLaw"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i12.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i12.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: ClipperSearchFacetsComponent, selector: "clipper-search-facets", outputs: ["changed"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ClipperSearchResultItemComponent, selector: "clipper-search-result-item", inputs: ["parent", "item"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3597
3597
|
}
|
|
3598
3598
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperBrowserDialogComponent, decorators: [{
|
|
3599
3599
|
type: Component,
|
|
@@ -3621,7 +3621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
3621
3621
|
NgClass,
|
|
3622
3622
|
ClipperSearchResultItemComponent,
|
|
3623
3623
|
MatPaginatorModule
|
|
3624
|
-
], template: "<div id=\"clipper-browser-fixed\">\r\n <div class=\"clipper-browser-header\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <a href=\"https://clipper.arsedizioni.it\" matTooltip=\"Apri Clipper in un nuovo tab\" target=\"_blank\">\r\n <img src=\"./../../../assets/images/clipper_logo.png\" alt=\"Clipper\" style=\"max-height: 50px; padding: 5px\" />\r\n </a>\r\n </div>\r\n @if (dialogData?.selectionMode > 0) {\r\n <div fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n </div>\r\n }\r\n <div fxFlex=\"150px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (clipperService.bag.length > 0) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Documenti di lavoro\" aria-label=\"'Documenti di lavoro'\"\r\n (click)=\"manageBag()\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"clipperService.bag.length\"\r\n matBadgeColor=\"accent\">work_outline</mat-icon>\r\n </button>\r\n }\r\n <button type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"padding: 15px 0 10px 15px\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxFlex.xs=\"62\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxFill>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Numero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"filterParams.number\" #number=\"ngModel\" name=\"number\" maxlength=\"10\"\r\n (keyup.Enter)=\"fetch(true)\">\r\n @if (filterParams.number) {\r\n <button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix aria-label=\"Azzera\"\r\n (click)=\"filterParams.number = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Anno</mat-label>\r\n <input type=\"number\" matInput [(ngModel)]=\"filterParams.year\" #year=\"ngModel\" name=\"year\" min=\"0\"\r\n maxlength=\"4\" (keyup.Enter)=\"fetch(true)\" />\r\n @if (filterParams.year) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.year = null\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (year.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"100\" subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Parole, frasi o concetti...</mat-label>\r\n <input matInput #searchInput=\"matInput\" type=\"text\" #text [(ngModel)]=\"filterParams.text\" maxlength=\"200\"\r\n (keyup.Enter)=\"search()\" autofocus />\r\n @if (filterParams.text) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.text = ''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Componi\" matTooltip=\"Componi\"\r\n (click)=\"text.focus(); composeSearch()\">\r\n <mat-icon>build</mat-icon>\r\n </button>\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Informazioni\"\r\n matTooltip=\"Come effettuare la ricerca in testo libero\" (click)=\"text.focus(); helpSearch()\">\r\n <mat-icon>help_outline</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex.xs=\"36\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <button type=\"button\" mat-icon-button (click)=\"search()\" [attr.aria-label]=\"'Avvia la ricerca'\"\r\n matTooltip=\"Avvia ricerca\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"advancedSearch()\" [attr.aria-label]=\"'Ricerca avanzata'\"\r\n matTooltip=\"Ricerca avanzata\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>settings</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n @if (snapshot.searchInfo && snapshot.searchInfo.length > 0) {\r\n <div fxHide.xs class=\"small\" style=\"padding-left: 15px;\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <b>RICERCA ATTIVA</b> \r\n @for (si of snapshot.searchInfo; track si) {\r\n <span>\r\n {{si.sep ? ' ' : ''}} {{si.field}}: <span class=\"accent lowercase\"><i>{{si.value}}</i></span>\r\n </span>\r\n }\r\n </div>\r\n <div fxFlexAlign=\"start\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Azzera ricerca\" (click)=\"clearSearch()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div fxLayout=\"row wrap-reverse\" fxLayoutAlign=\"space-between center\" fxFill style=\"padding-left: 15px;\">\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n @if (snapshot.total > 0) {\r\n <div fxFlexAlign=\"center\">\r\n <mat-checkbox (change)=\"$event ? selectAll($event) : null\"\r\n [indeterminate]=\"selection?.hasValue() && !allSelected()\" [attr.aria-label]=\"'Seleziona/deseleziona tutto'\"\r\n matTooltip=\"Seleziona/deseleziona tutto\" [disabled]=\"!snapshot.items || snapshot.items.length == 0\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div fxFlex=\"*\">\r\n @if (snapshot.total > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Ordina\" [attr.aria-label]=\"'Menu ordina'\"\r\n [matMenuTriggerFor]=\"menuSort\" [disabled]=\"!snapshot.total\">\r\n <span fxHide.lt-lg>Ordina per:</span>\r\n <mat-icon fxHide.gt-md>sort</mat-icon> {{currentSort}}\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSort=\"matMenu\">\r\n <button mat-menu-item (click)=\"sortBy(3)\" [attr.aria-label]=\"'Ordina per data decrescente'\">\r\n Data decrescente\r\n </button>\r\n <button mat-menu-item (click)=\"sortBy(2)\" [attr.aria-label]=\"'Ordina per data crescente'\">\r\n Data crescente\r\n </button>\r\n @if (filterParams.text) {\r\n <button mat-menu-item (click)=\"sortBy(1)\" [attr.aria-label]=\"'Ordina per rilevanza'\">\r\n Rilevanza\r\n </button>\r\n }\r\n <button mat-menu-item (click)=\"sortBy(5)\" [attr.aria-label]=\"'Ordina per popolarit\u00E0'\">\r\n Popolarit\u00E0\r\n </button>\r\n <!-- <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"sortBy(4)\"\r\n [attr.aria-label]=\"'Ordina per data di inserimento descrescente'\">\r\n Data di inserimento decrescente\r\n </button>-->\r\n </mat-menu>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Menu modello'\"\r\n [matMenuTriggerFor]=\"menuModels\">\r\n <span fxHide.lt-lg>Mostra:</span>\r\n <mat-icon fxHide.gt-md>filter_list</mat-icon> {{currentModel}}\r\n <mat-icon class=\" icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuModels=\"matMenu\">\r\n <button mat-menu-item (click)=\"changeModel(2)\" [attr.aria-label]=\"'Mostra aggiornamento normativo'\">\r\n Gazzette e bollettini\r\n </button>\r\n <button mat-menu-item (click)=\"changeModel(9)\" [attr.aria-label]=\"'Normativa vigente'\">\r\n Normativa vigente\r\n </button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"changeModel()\" [attr.aria-label]=\"'Mostra tutti i documenti'\">\r\n Tutto\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (selection?.hasValue()) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\r\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\r\n [disabled]=\"!snapshot.total\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"selection?.all.length\"\r\n matBadgeColor=\"accent\">playlist_add_check</mat-icon>\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSelections=\"matMenu\">\r\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"canSelect()\"\r\n [isReadable]=\"false\" [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </mat-menu>\r\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\"\r\n aria-label=\"'Affina ricerca'\" (click)=\"toggleFilterPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-browser-scrollable\">\r\n <mat-drawer-container>\r\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (filterBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (filterBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlexAlign=\"center\" class=\"title\">Affina ricerca</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button fxFlexAlign=\"center\" mat-icon-button (click)=\"toggleFilterPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <clipper-search-facets #facets></clipper-search-facets>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\" id=\"clipper-references-scroller\">\r\n @if (!snapshot.total) {\r\n <div style=\"padding:32px; text-align: center;\" class=\"accent\">\r\n <p>\r\n Non hai ancora effettuato\r\n la tua prima ricerca oppure la ricerca effettuata non ha prodotto alcun risultato.</p>\r\n <p>Inserisci nell'apposito campo ci\u00F2 che intendi cercare e fai click su <b>Trova</b> oppure utilizza\r\n la\r\n <b>Ricerca avanzata</b>\r\n </p>.\r\n </div>\r\n } @else {\r\n <div>\r\n @for (item of snapshot.items; track $index; let i = $index) {\r\n <div (contextmenu)=\"onContextMenu($event, item)\" (mouseenter)=\"item.isOver = true\"\r\n (mouseleave)=\"item.isOver = false\">\r\n @if (item.group) {\r\n <div class=\"items-group-title\">\r\n <div [ngClass]=\"{'spaced': i > 0}\">{{item.group}}</div>\r\n </div>\r\n }\r\n <div fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill class=\"item\"\r\n [ngClass]=\"{'item-selected': selection?.isSelected(item.documentId) }\">\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"center\">\r\n @if (screenService.isTouchable || item.isOver || selection?.isSelected(item.documentId)) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection?.toggle(item, item.documentId) : null\"\r\n [checked]=\"selection?.isSelected(item.documentId)\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"item-content\">\r\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\"></clipper-search-result-item>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item.isOver || item.isMenuOpen || selection?.isSelected(item.documentId)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\"\r\n [attr.aria-label]=\"'Menu opzioni'\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\" (click)=\"item.isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [useSelections]=\"canSelect()\" [isReadable]=\"false\"\r\n [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </ng-template>\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n <!-- footer -->\r\n @if ((snapshot?.total ?? 0) > 0) {\r\n <div class=\"items-footer\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <mat-paginator #paginator class=\"paginator\" [hidePageSize]=\"true\" [length]=\"snapshot?.total ?? 0\"\r\n [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\" (page)=\"fetchMore($event)\">\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.sidenav{width:250px;background-color:#fff;border-left:0!important;border-right:0!important}.sidenav-facets{background-color:#f8f8f8!important}.search-info{padding-left:30px}\n"] }]
|
|
3624
|
+
], template: "<div id=\"clipper-browser-fixed\">\r\n <div class=\"clipper-browser-header\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <a href=\"https://clipper.arsedizioni.it\" matTooltip=\"Apri Clipper in un nuovo tab\" target=\"_blank\">\r\n <img src=\"./../../../assets/images/clipper_logo.png\" alt=\"Clipper\" style=\"max-height: 50px; padding: 5px\" />\r\n </a>\r\n </div>\r\n @if (dialogData?.selectionMode > 0) {\r\n <div fxLayoutAlign=\"end\">\r\n @if (canSelect()) {\r\n <button type=\"button\" mat-flat-button (click)=\"select()\">\r\n Usa selezione\r\n </button>\r\n }\r\n </div>\r\n }\r\n <div fxFlex=\"150px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (clipperService.bag.length > 0) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Documenti di lavoro\" aria-label=\"'Documenti di lavoro'\"\r\n (click)=\"manageBag()\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"clipperService.bag.length\"\r\n matBadgeColor=\"accent\">work_outline</mat-icon>\r\n </button>\r\n }\r\n <button type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"padding: 15px 0 10px 15px\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxFlex.xs=\"62\">\r\n <div fxLayout=\"row\" fxLayoutGap='10px' fxFill>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Numero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"filterParams.number\" #number=\"ngModel\" name=\"number\" maxlength=\"10\"\r\n (keyup.Enter)=\"fetch(true)\">\r\n @if (filterParams.number) {\r\n <button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix aria-label=\"Azzera\"\r\n (click)=\"filterParams.number = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"130px\" fxHide.xs subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Anno</mat-label>\r\n <input type=\"number\" matInput [(ngModel)]=\"filterParams.year\" #year=\"ngModel\" name=\"year\" min=\"0\"\r\n maxlength=\"4\" (keyup.Enter)=\"fetch(true)\" />\r\n @if (filterParams.year) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.year = null\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (year.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"100\" subscriptSizing=\"dynamic\" appearance=\"outline\">\r\n <mat-label>Parole, frasi o concetti...</mat-label>\r\n <input matInput #searchInput=\"matInput\" type=\"text\" #text [(ngModel)]=\"filterParams.text\" maxlength=\"200\"\r\n (keyup.Enter)=\"search()\" autofocus />\r\n @if (filterParams.text) {\r\n <button type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Pulisci\"\r\n (click)=\"filterParams.text = ''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Componi\" matTooltip=\"Componi\"\r\n (click)=\"text.focus(); composeSearch()\">\r\n <mat-icon>build</mat-icon>\r\n </button>\r\n <button fxHide.xs type=\"button\" mat-icon-button matSuffix aria-label=\"Informazioni\"\r\n matTooltip=\"Come effettuare la ricerca in testo libero\" (click)=\"text.focus(); helpSearch()\">\r\n <mat-icon>help_outline</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex.xs=\"36\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <button type=\"button\" mat-icon-button (click)=\"search()\" [attr.aria-label]=\"'Avvia la ricerca'\"\r\n matTooltip=\"Avvia ricerca\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"advancedSearch()\" [attr.aria-label]=\"'Ricerca avanzata'\"\r\n matTooltip=\"Ricerca avanzata\" [disabled]=\"!clipperService.loggedIn\">\r\n <mat-icon>settings</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n @if (snapshot.searchInfo && snapshot.searchInfo.length > 0) {\r\n <div fxHide.xs class=\"small\" style=\"padding-left: 15px;\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\">\r\n <b>RICERCA ATTIVA</b> \r\n @for (si of snapshot.searchInfo; track si) {\r\n <span>\r\n {{si.sep ? ' ' : ''}} {{si.field}}: <span class=\"accent lowercase\"><i>{{si.value}}</i></span>\r\n </span>\r\n }\r\n </div>\r\n <div fxFlexAlign=\"start\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Azzera ricerca\" (click)=\"clearSearch()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div fxLayout=\"row wrap-reverse\" fxLayoutAlign=\"space-between center\" fxFill style=\"padding-left: 15px;\">\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\">\r\n @if (snapshot.total > 0) {\r\n <div fxFlexAlign=\"center\">\r\n <mat-checkbox (change)=\"$event ? selectAll($event) : null\"\r\n [indeterminate]=\"selection?.hasValue() && !allSelected()\" [attr.aria-label]=\"'Seleziona/deseleziona tutto'\"\r\n matTooltip=\"Seleziona/deseleziona tutto\" [disabled]=\"!snapshot.items || snapshot.items.length == 0\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div fxFlex=\"*\">\r\n @if (snapshot.total > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Ordina\" [attr.aria-label]=\"'Menu ordina'\"\r\n [matMenuTriggerFor]=\"menuSort\" [disabled]=\"!snapshot.total\">\r\n <span fxHide.lt-lg>Ordina per:</span>\r\n <mat-icon fxHide.gt-md>sort</mat-icon> {{currentSort}}\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSort=\"matMenu\">\r\n <button mat-menu-item (click)=\"sortBy(3)\" [attr.aria-label]=\"'Ordina per data decrescente'\">\r\n Data decrescente\r\n </button>\r\n <button mat-menu-item (click)=\"sortBy(2)\" [attr.aria-label]=\"'Ordina per data crescente'\">\r\n Data crescente\r\n </button>\r\n @if (filterParams.text) {\r\n <button mat-menu-item (click)=\"sortBy(1)\" [attr.aria-label]=\"'Ordina per rilevanza'\">\r\n Rilevanza\r\n </button>\r\n }\r\n <button mat-menu-item (click)=\"sortBy(5)\" [attr.aria-label]=\"'Ordina per popolarit\u00E0'\">\r\n Popolarit\u00E0\r\n </button>\r\n <!-- <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"sortBy(4)\"\r\n [attr.aria-label]=\"'Ordina per data di inserimento descrescente'\">\r\n Data di inserimento decrescente\r\n </button>-->\r\n </mat-menu>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button [attr.aria-label]=\"'Menu modello'\"\r\n [matMenuTriggerFor]=\"menuModels\">\r\n <span fxHide.lt-lg>Mostra:</span>\r\n <mat-icon fxHide.gt-md>filter_list</mat-icon> {{currentModel}}\r\n <mat-icon class=\" icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n <mat-menu #menuModels=\"matMenu\">\r\n <button mat-menu-item (click)=\"changeModel(2)\" [attr.aria-label]=\"'Mostra aggiornamento normativo'\">\r\n Gazzette e bollettini\r\n </button>\r\n <button mat-menu-item (click)=\"changeModel(9)\" [attr.aria-label]=\"'Normativa vigente'\">\r\n Normativa vigente\r\n </button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"changeModel()\" [attr.aria-label]=\"'Mostra tutti i documenti'\">\r\n Tutto\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (selection?.hasValue()) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-button matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\r\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\r\n [disabled]=\"!snapshot.total\">\r\n <mat-icon aria-hidden=\"false\" [matBadge]=\"selection?.all.length\"\r\n matBadgeColor=\"accent\">playlist_add_check</mat-icon>\r\n <mat-icon class=\"icon-menu-drop-down\">expand_more</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menuSelections=\"matMenu\">\r\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"canSelect()\"\r\n [isReadable]=\"false\" [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </mat-menu>\r\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\"\r\n aria-label=\"'Affina ricerca'\" (click)=\"toggleFilterPane()\">\r\n <mat-icon>menu_open</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content id=\"clipper-browser-scrollable\">\r\n <mat-drawer-container>\r\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\">\r\n @if (filterBusy()) {\r\n <div class=\"overlay\"></div>\r\n }\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"6px\">\r\n @if (filterBusy()) {\r\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\r\n </mat-progress-bar>\r\n }\r\n </div>\r\n <div fxFlex=\"48px\" class=\"title-container-with-loader\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlexAlign=\"center\" class=\"title\">Affina ricerca</div>\r\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\r\n <button fxFlexAlign=\"center\" mat-icon-button (click)=\"toggleFilterPane()\"\r\n matTooltip=\"Nascondi\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-hidden\">\r\n <clipper-search-facets #facets></clipper-search-facets>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\" id=\"clipper-browser-scroller\">\r\n @if (!snapshot.total) {\r\n <div style=\"padding:32px; text-align: center;\" class=\"accent\">\r\n <p>\r\n Non hai ancora effettuato\r\n la tua prima ricerca oppure la ricerca effettuata non ha prodotto alcun risultato.</p>\r\n <p>Inserisci nell'apposito campo ci\u00F2 che intendi cercare e fai click su <b>Trova</b> oppure utilizza\r\n la\r\n <b>Ricerca avanzata</b>\r\n </p>.\r\n </div>\r\n } @else {\r\n <div>\r\n @for (item of snapshot.items; track $index; let i = $index) {\r\n <div (contextmenu)=\"onContextMenu($event, item)\" (mouseenter)=\"item.isOver = true\"\r\n (mouseleave)=\"item.isOver = false\">\r\n @if (item.group) {\r\n <div class=\"items-group-title\">\r\n <div [ngClass]=\"{'spaced': i > 0}\">{{item.group}}</div>\r\n </div>\r\n }\r\n <div fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill class=\"item\"\r\n [ngClass]=\"{'item-selected': selection?.isSelected(item.documentId) }\">\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"center\">\r\n @if (screenService.isTouchable || item.isOver || selection?.isSelected(item.documentId)) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection?.toggle(item, item.documentId) : null\"\r\n [checked]=\"selection?.isSelected(item.documentId)\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"item-content\">\r\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\"></clipper-search-result-item>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item.isOver || item.isMenuOpen || selection?.isSelected(item.documentId)) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\"\r\n [attr.aria-label]=\"'Menu opzioni'\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\" (click)=\"item.isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\"\r\n [matMenuTriggerData]=\"{item: item}\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [useSelections]=\"canSelect()\" [isReadable]=\"false\"\r\n [isLawInForce]=\"true\">\r\n </clipper-document-menu>\r\n </ng-template>\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n <!-- footer -->\r\n @if ((snapshot?.total ?? 0) > 0) {\r\n <div class=\"items-footer\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end center\" fxFill>\r\n <mat-paginator #paginator class=\"paginator\" [hidePageSize]=\"true\" [length]=\"snapshot?.total ?? 0\"\r\n [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\" (page)=\"fetchMore($event)\">\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </mat-drawer-container>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%;width:100%}.fill{min-width:100%!important;max-width:100%;width:100%;min-height:100%!important;max-height:100%;height:100%}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accent{color:var(--ars-accent)!important}.primary{color:var(--ars-primary)!important}.secondary{color:var(--ars-secondary)!important}.error{color:var(--ars-error)!important}.warning{color:var(--ars-warning)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-contrast, white);opacity:.62}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 5px 5px;background-color:var(--ars-drawer-background-color)!important}.drawer .title-container,.drawer-small .title-container{padding:0 5px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.expired,.unread{color:var(--ars-error, #ff5449)!important}.expiring{color:var(--ars-warning, #FFC107)!important}.error-bg,.expired-bg,.unread-bg{background-color:var(--ars-error, #ff5449)}.expiring-bg{background-color:var(--ars-warning, #FFC107)}.popular-bg{background-color:#388e3c}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .spaced,.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 0;min-height:60px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item-content .info-1{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent, #7894ae)}.item-content .info-2{font-size:x-small;font-weight:700;line-height:15px;text-transform:uppercase;color:var(--ars-accent-low, #456179)}.item-content .title{font-size:small;line-height:18px}.item-content .details{margin-top:4px;font-size:x-small;font-weight:700;line-height:15px;color:var(--ars-accent-low, #456179);text-transform:uppercase;border-left:4px solid var(--ars-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-link, #03A9F4);font-weight:600}.item-content a.link{color:var(--ars-link, #03A9F4);cursor:pointer!important}.item-content:hover{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer;padding:10px 13px;margin-bottom:2px}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-error, #ff5449);margin:0 8px}.tile .image{height:180px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image .img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-item-opaque-background-color, rgba(255, 255, 255, .75));color:var(--ars-accent, #7894ae);font-size:small;font-weight:700;text-transform:uppercase}.tile .image .check{position:absolute;left:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .check-selected{background-color:var(--ars-primary-hi, #12c0ae)}.tile .image .read{position:absolute;right:0;top:0;height:42px;width:42px;background-color:var(--ars-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .date{padding:8px 0 6px;font-weight:700;text-transform:uppercase}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-divider, #757d87)}.tile .time{font-size:small;font-weight:700}.tile .title{text-decoration:none;font-size:small;min-height:72px;overflow:hidden}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:var(--ars-accent, #7894ae);text-transform:uppercase;white-space:nowrap;color:var(--ars-color-text, #191c1b)}.badge-red{background-color:var(--ars-error, #ff5449);color:var(--ars-color-text, #191c1b)}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .next{margin-left:8px}.special-date,.special-date-expired{border:2px var(--ars-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-error, #ff5449) solid!important}.sidenav{width:250px;background-color:#fff;border-left:0!important;border-right:0!important}.sidenav-facets{background-color:#f8f8f8!important}.search-info{padding-left:30px}\n"] }]
|
|
3625
3625
|
}], propDecorators: { filterPane: [{
|
|
3626
3626
|
type: ViewChild,
|
|
3627
3627
|
args: ['filterPane']
|