@arsedizioni/ars-utils 21.2.278 → 21.2.281
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.
|
@@ -502,6 +502,7 @@ class ClipperDocumentManager {
|
|
|
502
502
|
this.broadcastService = inject(BroadcastService);
|
|
503
503
|
this.dialogService = inject(ApplicationDialogService);
|
|
504
504
|
this.canUseArchive = signal(false, ...(ngDevMode ? [{ debugName: "canUseArchive" }] : /* istanbul ignore next */ []));
|
|
505
|
+
this.canUseNotes = signal(false, ...(ngDevMode ? [{ debugName: "canUseNotes" }] : /* istanbul ignore next */ []));
|
|
505
506
|
this.canHandleTooManyResults = signal(false, ...(ngDevMode ? [{ debugName: "canHandleTooManyResults" }] : /* istanbul ignore next */ []));
|
|
506
507
|
this.canPopulateContacts = signal(false, ...(ngDevMode ? [{ debugName: "canPopulateContacts" }] : /* istanbul ignore next */ []));
|
|
507
508
|
}
|
|
@@ -1520,7 +1521,7 @@ class ClipperSearchResultManager extends ClipperDocumentManager {
|
|
|
1520
1521
|
if (((this.filterParams.flags ?? 0) & ClipperQueryDocumentFlags.UseSemanticSearch) > 0) {
|
|
1521
1522
|
query = '$' + query;
|
|
1522
1523
|
}
|
|
1523
|
-
ClipperDocumentsUtils.openDocument(this.injector, documentId, query, queryChunks, this.selectionMode(), undefined, this.themeService.getTheme(), this.canUseArchive(), this.canHandleTooManyResults());
|
|
1524
|
+
ClipperDocumentsUtils.openDocument(this.injector, documentId, query, queryChunks, this.selectionMode(), undefined, this.themeService.getTheme(), this.canUseArchive(), this.canUseNotes(), this.canHandleTooManyResults());
|
|
1524
1525
|
}
|
|
1525
1526
|
///
|
|
1526
1527
|
// Restorable
|
|
@@ -2051,7 +2052,7 @@ class ClipperNoteBadgeComponent {
|
|
|
2051
2052
|
});
|
|
2052
2053
|
}
|
|
2053
2054
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ClipperNoteBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2054
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ClipperNoteBadgeComponent, isStandalone: true, selector: "clipper-note-badge", inputs: { note: { classPropertyName: "note", publicName: "note", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { populateContacts: "populateContacts", note: "noteChange" }, viewQueries: [{ propertyName: "popupTpl", first: true, predicate: ["popupTpl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"note-wrapper\">\r\n <div class=\"note\" [style.border-left-color]=\"note().color\" [style.background-color]=\"backgroundColor()\"\r\n (click)=\"showPopup($event)\">\r\n {{note().name}}\r\n @if (trackingUnopenedCount() >= 0) {\r\n @if (trackingUnopenedCount() === 0) {\r\n <span class=\"tracking-badge tracking-badge--all-open\"\r\n [matTooltip]=\"'Mail tutte aperte'\"><mat-icon>check_circle</mat-icon></span>\r\n } @else {\r\n <span class=\"tracking-badge tracking-badge--missing\"\r\n [matTooltip]=\"'Mail non aperte: ' + trackingUnopenedCount()\">{{-trackingUnopenedCount()}}</span>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #popupTpl>\r\n <div class=\"popup\">\r\n <div class=\"popup-header\" [style.border-left-color]=\"note().color\">\r\n <span class=\"popup-name\">{{note().name}}</span>\r\n <button mat-icon-button (click)=\"closePopup($event)\" aria-label=\"Chiudi\" matTooltip=\"Chiudi\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"popup-content\">\r\n @if (note().note) {\r\n <div class=\"popup-note\">{{note().note}}</div>\r\n }\r\n @if (totalTrackings() > 0) {\r\n <div class=\"popup-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFill>\r\n <div class=\"tracking-summary\" matTooltip=\"Aperture mail\">\r\n <mat-icon class=\"open-yes\">mark_email_read</mat-icon>\r\n {{trackingOpenedCount()}} / {{totalTrackings()}}\r\n </div>\r\n <div>\r\n <button mat-icon-button (click)=\"refresh($event)\" aria-label=\"Aggiorna\" matTooltip=\"Aggiorna stato aperture\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tracking-table-wrapper\">\r\n <table class=\"tracking-table\">\r\n <thead>\r\n <tr>\r\n <th>Destinatario</th>\r\n <th fxHide.xs>Inviato il</th>\r\n <th>Apertura</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (t of note().trackings; track t.id) {\r\n <tr>\r\n <td>{{t.email ?? '-'}}</td>\r\n <td fxHide.xs class=\"center\">{{t.sentDate | format:'D':'dd/MM/yyyy HH:mm'}}</td>\r\n <td class=\"open-cell\">\r\n @if (t.openDate) {\r\n <mat-icon class=\"open-yes\"\r\n [matTooltip]=\"t.openDate | format:'D':'dd/MM/yyyy HH:mm'\">check_circle</mat-icon>\r\n } @else {\r\n <mat-icon class=\"open-no\">radio_button_unchecked</mat-icon>\r\n }\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n <div class=\"popup-footer\">\r\n <button mat-icon-button (click)=\"edit($event)\" aria-label=\"Modifica\" matTooltip=\"Modifica\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"delete($event)\" aria-label=\"Elimina\" matTooltip=\"Elimina\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"sendTo($event)\" aria-label=\"Invia\" matTooltip=\"Invia per email\">\r\n <mat-icon>send</mat-icon>\r\n </button>\r\n @if(totalTrackings() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, false)\" aria-label=\"Invia di nuovo\"\r\n matTooltip=\"Invia di nuovo per email\">\r\n <mat-icon>forward</mat-icon>\r\n </button>\r\n @if (trackingUnopenedCount() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, true)\" aria-label=\"Invia se non aperto\"\r\n matTooltip=\"Invia una nuova mail a coloro che non hanno ancora aperto la mail precedente.\">\r\n <mat-icon>notifications_active</mat-icon>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".note-wrapper{display:inline-flex;align-items:center;gap:3px}.tracking-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex-shrink:0}.tracking-badge--all-open{background:#2e7d32;width:16px;height:16px}.tracking-badge--all-open mat-icon{font-size:16px;width:16px;height:16px;line-height:16px}.tracking-badge--missing{background:#c62828;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px}.note{display:inline-flex;align-items:center;gap:10px;padding:2px 6px;border-radius:4px;border-left:4px solid;font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;transition:filter .15s ease,box-shadow .15s ease}.note:hover{filter:brightness(.92);box-shadow:0 1px 4px #0000002e}:host-context(.dark) .note:hover{filter:brightness(1.15);box-shadow:0 1px 4px #0006}.popup{background:var(--ars-drawer-background-color);border-radius:6px;box-shadow:0 4px 16px #00000038;min-width:300px;max-width:600px;width:100%;padding:12px 0 4px 12px}.popup .popup-header{display:flex;align-items:center;justify-content:space-between;border-left:6px solid;padding-left:8px;padding-right:4px}.popup .popup-header .popup-name{font-weight:600;font-size:14px;flex:1;color:var(--ars-color-accent)}.popup .popup-toolbar{padding-right:4px}.popup .popup-footer{display:flex;justify-content:center;column-gap:6px;align-items:center;padding-top:30px;padding-bottom:8px;padding-right:26px}.popup .popup-content{font-size:13px;padding:12px 0 0 14px}.popup .popup-note{white-space:pre-wrap;margin:10px 12px 10px 0}.popup .tracking-summary{display:inline-flex;align-items:center;gap:6px;color:var(--ars-color-secondary);margin-top:10px;font-weight:700}.popup .tracking-summary mat-icon{font-size:16px;font-weight:700;width:16px;height:16px}.popup .tracking-table-wrapper{max-height:300px;overflow-y:auto;margin-top:10px;padding-right:26px}.popup .tracking-table{width:100%;border-collapse:collapse;font-size:12px}.popup .tracking-table th{position:sticky;top:0;background:var(--ars-drawer-background-color);z-index:1;box-shadow:inset 0 -1px 0 var(--ars-color-divider);text-align:left;padding:0 8px 8px;font-weight:600;color:var(--ars-color-secondary);white-space:nowrap}.popup .tracking-table th:last-child{text-align:center}.popup .tracking-table td{padding:8px 8px 0;vertical-align:middle;text-align:left}.popup .tracking-table tbody tr:nth-child(2n){background:#00000008}.popup .tracking-table .open-cell{text-align:center}.popup .tracking-table .open-yes{font-size:16px;width:16px;height:16px;color:#4caf50}.popup .tracking-table .open-no{font-size:16px;width:16px;height:16px;color:#bdbdbd}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FlexLayoutModule }, { 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.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: i5.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: OverlayModule }, { kind: "pipe", type: FormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2055
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ClipperNoteBadgeComponent, isStandalone: true, selector: "clipper-note-badge", inputs: { note: { classPropertyName: "note", publicName: "note", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { populateContacts: "populateContacts", note: "noteChange" }, viewQueries: [{ propertyName: "popupTpl", first: true, predicate: ["popupTpl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"note-wrapper\">\r\n <div class=\"note\" [style.border-left-color]=\"note().color\" [style.background-color]=\"backgroundColor()\"\r\n (click)=\"showPopup($event)\">\r\n {{note().name}}\r\n @if (trackingUnopenedCount() >= 0) {\r\n @if (trackingUnopenedCount() === 0) {\r\n <span class=\"tracking-badge tracking-badge--all-open\"\r\n [matTooltip]=\"'Mail tutte aperte'\"><mat-icon>check_circle</mat-icon></span>\r\n } @else {\r\n <span class=\"tracking-badge tracking-badge--missing\"\r\n [matTooltip]=\"'Mail non aperte: ' + trackingUnopenedCount()\">{{-trackingUnopenedCount()}}</span>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #popupTpl>\r\n <div class=\"popup\">\r\n <div class=\"popup-header\" [style.border-left-color]=\"note().color\">\r\n <span class=\"popup-name\">{{note().name}}</span>\r\n <button mat-icon-button (click)=\"closePopup($event)\" aria-label=\"Chiudi\" matTooltip=\"Chiudi\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"popup-content\">\r\n @if (note().note) {\r\n <div class=\"popup-note\">{{note().note}}</div>\r\n }\r\n @if (totalTrackings() > 0) {\r\n <div class=\"popup-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFill>\r\n <div class=\"tracking-summary\" matTooltip=\"Aperture mail\">\r\n <mat-icon class=\"open-yes\">mark_email_read</mat-icon>\r\n {{trackingOpenedCount()}} / {{totalTrackings()}}\r\n </div>\r\n <div>\r\n <button mat-icon-button (click)=\"refresh($event)\" aria-label=\"Aggiorna\" matTooltip=\"Aggiorna stato aperture\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tracking-table-wrapper\">\r\n <table class=\"tracking-table\">\r\n <thead>\r\n <tr>\r\n <th>Destinatario</th>\r\n <th fxHide.xs>Inviato il</th>\r\n <th>Apertura</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (t of note().trackings; track t.id) {\r\n <tr>\r\n <td>{{t.email ?? '-'}}</td>\r\n <td fxHide.xs class=\"center\">{{t.sentDate | format:'D':'dd/MM/yyyy HH:mm'}}</td>\r\n <td class=\"open-cell\">\r\n @if (t.openDate) {\r\n <mat-icon class=\"open-yes\"\r\n [matTooltip]=\"t.openDate | format:'D':'dd/MM/yyyy HH:mm'\">check_circle</mat-icon>\r\n } @else {\r\n <mat-icon class=\"open-no\">radio_button_unchecked</mat-icon>\r\n }\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n <div class=\"popup-footer\">\r\n <button mat-icon-button (click)=\"edit($event)\" aria-label=\"Modifica\" matTooltip=\"Modifica\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"delete($event)\" aria-label=\"Elimina\" matTooltip=\"Elimina\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"sendTo($event)\" aria-label=\"Invia\" matTooltip=\"Invia per email\">\r\n <mat-icon>send</mat-icon>\r\n </button>\r\n @if(totalTrackings() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, false)\" aria-label=\"Invia di nuovo\"\r\n matTooltip=\"Invia di nuovo per email\">\r\n <mat-icon>forward</mat-icon>\r\n </button>\r\n @if (trackingUnopenedCount() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, true)\" aria-label=\"Invia se non aperto\"\r\n matTooltip=\"Invia una nuova mail a coloro che non hanno ancora aperto la mail precedente.\">\r\n <mat-icon>notifications_active</mat-icon>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".note-wrapper{display:inline-flex;align-items:center;gap:3px}.tracking-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex-shrink:0}.tracking-badge--all-open{background:#2e7d32;width:16px;height:16px}.tracking-badge--all-open mat-icon{font-size:16px;width:16px;height:16px;line-height:16px}.tracking-badge--missing{background:#c62828;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px}.note{display:inline-flex;align-items:center;gap:10px;padding:2px 6px;border-radius:4px;border-left:4px solid;font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;transition:filter .15s ease,box-shadow .15s ease}.note:hover{filter:brightness(.92);box-shadow:0 1px 4px #0000002e}:host-context(.dark) .note:hover{filter:brightness(1.15);box-shadow:0 1px 4px #0006}.popup{background:var(--ars-drawer-background-color);border-radius:6px;box-shadow:0 4px 16px #00000038;min-width:300px;max-width:600px;width:100%;padding:12px 0 4px 12px}.popup .popup-header{display:flex;align-items:center;justify-content:space-between;border-left:6px solid;padding-left:8px;padding-right:4px}.popup .popup-header .popup-name{font-weight:600;font-size:14px;flex:1;color:var(--ars-color-accent)}.popup .popup-toolbar{padding-right:4px}.popup .popup-footer{display:flex;justify-content:center;column-gap:6px;align-items:center;padding-top:30px;padding-bottom:8px;padding-right:26px}.popup .popup-content{font-size:13px;padding:12px 0 0 14px}.popup .popup-note{white-space:pre-wrap;margin:10px 12px 10px 0}.popup .tracking-summary{display:inline-flex;align-items:center;gap:6px;color:var(--ars-color-secondary);margin-top:10px;font-weight:700}.popup .tracking-summary mat-icon{font-size:16px;font-weight:700;width:16px;height:16px}.popup .tracking-table-wrapper{max-height:300px;overflow-y:auto;margin-top:10px;padding-right:26px}.popup .tracking-table{width:100%;border-collapse:collapse;font-size:12px}.popup .tracking-table tr:first-child td{padding-top:6px}.popup .tracking-table th{position:sticky;top:0;background:var(--ars-drawer-background-color);z-index:1;box-shadow:inset 0 -1px 0 var(--ars-color-divider);text-align:left;padding:0 6px 9px;font-weight:600;color:var(--ars-color-secondary);white-space:nowrap}.popup .tracking-table th:last-child{text-align:center}.popup .tracking-table td{padding:3px 6px;vertical-align:middle;text-align:left}.popup .tracking-table tbody tr:nth-child(2n){background:#00000008}.popup .tracking-table .open-cell{text-align:center}.popup .tracking-table .open-yes{font-size:16px;width:16px;height:16px;color:#4caf50}.popup .tracking-table .open-no{font-size:16px;width:16px;height:16px;color:#bdbdbd}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FlexLayoutModule }, { 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.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: i5.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: OverlayModule }, { kind: "pipe", type: FormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2055
2056
|
}
|
|
2056
2057
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ClipperNoteBadgeComponent, decorators: [{
|
|
2057
2058
|
type: Component,
|
|
@@ -2060,7 +2061,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
2060
2061
|
MatTooltipModule,
|
|
2061
2062
|
FormatPipe,
|
|
2062
2063
|
FlexLayoutModule,
|
|
2063
|
-
OverlayModule], template: "<div class=\"note-wrapper\">\r\n <div class=\"note\" [style.border-left-color]=\"note().color\" [style.background-color]=\"backgroundColor()\"\r\n (click)=\"showPopup($event)\">\r\n {{note().name}}\r\n @if (trackingUnopenedCount() >= 0) {\r\n @if (trackingUnopenedCount() === 0) {\r\n <span class=\"tracking-badge tracking-badge--all-open\"\r\n [matTooltip]=\"'Mail tutte aperte'\"><mat-icon>check_circle</mat-icon></span>\r\n } @else {\r\n <span class=\"tracking-badge tracking-badge--missing\"\r\n [matTooltip]=\"'Mail non aperte: ' + trackingUnopenedCount()\">{{-trackingUnopenedCount()}}</span>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #popupTpl>\r\n <div class=\"popup\">\r\n <div class=\"popup-header\" [style.border-left-color]=\"note().color\">\r\n <span class=\"popup-name\">{{note().name}}</span>\r\n <button mat-icon-button (click)=\"closePopup($event)\" aria-label=\"Chiudi\" matTooltip=\"Chiudi\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"popup-content\">\r\n @if (note().note) {\r\n <div class=\"popup-note\">{{note().note}}</div>\r\n }\r\n @if (totalTrackings() > 0) {\r\n <div class=\"popup-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFill>\r\n <div class=\"tracking-summary\" matTooltip=\"Aperture mail\">\r\n <mat-icon class=\"open-yes\">mark_email_read</mat-icon>\r\n {{trackingOpenedCount()}} / {{totalTrackings()}}\r\n </div>\r\n <div>\r\n <button mat-icon-button (click)=\"refresh($event)\" aria-label=\"Aggiorna\" matTooltip=\"Aggiorna stato aperture\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tracking-table-wrapper\">\r\n <table class=\"tracking-table\">\r\n <thead>\r\n <tr>\r\n <th>Destinatario</th>\r\n <th fxHide.xs>Inviato il</th>\r\n <th>Apertura</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (t of note().trackings; track t.id) {\r\n <tr>\r\n <td>{{t.email ?? '-'}}</td>\r\n <td fxHide.xs class=\"center\">{{t.sentDate | format:'D':'dd/MM/yyyy HH:mm'}}</td>\r\n <td class=\"open-cell\">\r\n @if (t.openDate) {\r\n <mat-icon class=\"open-yes\"\r\n [matTooltip]=\"t.openDate | format:'D':'dd/MM/yyyy HH:mm'\">check_circle</mat-icon>\r\n } @else {\r\n <mat-icon class=\"open-no\">radio_button_unchecked</mat-icon>\r\n }\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n <div class=\"popup-footer\">\r\n <button mat-icon-button (click)=\"edit($event)\" aria-label=\"Modifica\" matTooltip=\"Modifica\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"delete($event)\" aria-label=\"Elimina\" matTooltip=\"Elimina\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"sendTo($event)\" aria-label=\"Invia\" matTooltip=\"Invia per email\">\r\n <mat-icon>send</mat-icon>\r\n </button>\r\n @if(totalTrackings() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, false)\" aria-label=\"Invia di nuovo\"\r\n matTooltip=\"Invia di nuovo per email\">\r\n <mat-icon>forward</mat-icon>\r\n </button>\r\n @if (trackingUnopenedCount() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, true)\" aria-label=\"Invia se non aperto\"\r\n matTooltip=\"Invia una nuova mail a coloro che non hanno ancora aperto la mail precedente.\">\r\n <mat-icon>notifications_active</mat-icon>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".note-wrapper{display:inline-flex;align-items:center;gap:3px}.tracking-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex-shrink:0}.tracking-badge--all-open{background:#2e7d32;width:16px;height:16px}.tracking-badge--all-open mat-icon{font-size:16px;width:16px;height:16px;line-height:16px}.tracking-badge--missing{background:#c62828;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px}.note{display:inline-flex;align-items:center;gap:10px;padding:2px 6px;border-radius:4px;border-left:4px solid;font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;transition:filter .15s ease,box-shadow .15s ease}.note:hover{filter:brightness(.92);box-shadow:0 1px 4px #0000002e}:host-context(.dark) .note:hover{filter:brightness(1.15);box-shadow:0 1px 4px #0006}.popup{background:var(--ars-drawer-background-color);border-radius:6px;box-shadow:0 4px 16px #00000038;min-width:300px;max-width:600px;width:100%;padding:12px 0 4px 12px}.popup .popup-header{display:flex;align-items:center;justify-content:space-between;border-left:6px solid;padding-left:8px;padding-right:4px}.popup .popup-header .popup-name{font-weight:600;font-size:14px;flex:1;color:var(--ars-color-accent)}.popup .popup-toolbar{padding-right:4px}.popup .popup-footer{display:flex;justify-content:center;column-gap:6px;align-items:center;padding-top:30px;padding-bottom:8px;padding-right:26px}.popup .popup-content{font-size:13px;padding:12px 0 0 14px}.popup .popup-note{white-space:pre-wrap;margin:10px 12px 10px 0}.popup .tracking-summary{display:inline-flex;align-items:center;gap:6px;color:var(--ars-color-secondary);margin-top:10px;font-weight:700}.popup .tracking-summary mat-icon{font-size:16px;font-weight:700;width:16px;height:16px}.popup .tracking-table-wrapper{max-height:300px;overflow-y:auto;margin-top:10px;padding-right:26px}.popup .tracking-table{width:100%;border-collapse:collapse;font-size:12px}.popup .tracking-table th{position:sticky;top:0;background:var(--ars-drawer-background-color);z-index:1;box-shadow:inset 0 -1px 0 var(--ars-color-divider);text-align:left;padding:0
|
|
2064
|
+
OverlayModule], template: "<div class=\"note-wrapper\">\r\n <div class=\"note\" [style.border-left-color]=\"note().color\" [style.background-color]=\"backgroundColor()\"\r\n (click)=\"showPopup($event)\">\r\n {{note().name}}\r\n @if (trackingUnopenedCount() >= 0) {\r\n @if (trackingUnopenedCount() === 0) {\r\n <span class=\"tracking-badge tracking-badge--all-open\"\r\n [matTooltip]=\"'Mail tutte aperte'\"><mat-icon>check_circle</mat-icon></span>\r\n } @else {\r\n <span class=\"tracking-badge tracking-badge--missing\"\r\n [matTooltip]=\"'Mail non aperte: ' + trackingUnopenedCount()\">{{-trackingUnopenedCount()}}</span>\r\n }\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #popupTpl>\r\n <div class=\"popup\">\r\n <div class=\"popup-header\" [style.border-left-color]=\"note().color\">\r\n <span class=\"popup-name\">{{note().name}}</span>\r\n <button mat-icon-button (click)=\"closePopup($event)\" aria-label=\"Chiudi\" matTooltip=\"Chiudi\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"popup-content\">\r\n @if (note().note) {\r\n <div class=\"popup-note\">{{note().note}}</div>\r\n }\r\n @if (totalTrackings() > 0) {\r\n <div class=\"popup-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFill>\r\n <div class=\"tracking-summary\" matTooltip=\"Aperture mail\">\r\n <mat-icon class=\"open-yes\">mark_email_read</mat-icon>\r\n {{trackingOpenedCount()}} / {{totalTrackings()}}\r\n </div>\r\n <div>\r\n <button mat-icon-button (click)=\"refresh($event)\" aria-label=\"Aggiorna\" matTooltip=\"Aggiorna stato aperture\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tracking-table-wrapper\">\r\n <table class=\"tracking-table\">\r\n <thead>\r\n <tr>\r\n <th>Destinatario</th>\r\n <th fxHide.xs>Inviato il</th>\r\n <th>Apertura</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (t of note().trackings; track t.id) {\r\n <tr>\r\n <td>{{t.email ?? '-'}}</td>\r\n <td fxHide.xs class=\"center\">{{t.sentDate | format:'D':'dd/MM/yyyy HH:mm'}}</td>\r\n <td class=\"open-cell\">\r\n @if (t.openDate) {\r\n <mat-icon class=\"open-yes\"\r\n [matTooltip]=\"t.openDate | format:'D':'dd/MM/yyyy HH:mm'\">check_circle</mat-icon>\r\n } @else {\r\n <mat-icon class=\"open-no\">radio_button_unchecked</mat-icon>\r\n }\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n <div class=\"popup-footer\">\r\n <button mat-icon-button (click)=\"edit($event)\" aria-label=\"Modifica\" matTooltip=\"Modifica\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"delete($event)\" aria-label=\"Elimina\" matTooltip=\"Elimina\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"sendTo($event)\" aria-label=\"Invia\" matTooltip=\"Invia per email\">\r\n <mat-icon>send</mat-icon>\r\n </button>\r\n @if(totalTrackings() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, false)\" aria-label=\"Invia di nuovo\"\r\n matTooltip=\"Invia di nuovo per email\">\r\n <mat-icon>forward</mat-icon>\r\n </button>\r\n @if (trackingUnopenedCount() > 0) {\r\n <button mat-icon-button (click)=\"sendAgain($event, true)\" aria-label=\"Invia se non aperto\"\r\n matTooltip=\"Invia una nuova mail a coloro che non hanno ancora aperto la mail precedente.\">\r\n <mat-icon>notifications_active</mat-icon>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".note-wrapper{display:inline-flex;align-items:center;gap:3px}.tracking-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex-shrink:0}.tracking-badge--all-open{background:#2e7d32;width:16px;height:16px}.tracking-badge--all-open mat-icon{font-size:16px;width:16px;height:16px;line-height:16px}.tracking-badge--missing{background:#c62828;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px}.note{display:inline-flex;align-items:center;gap:10px;padding:2px 6px;border-radius:4px;border-left:4px solid;font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;transition:filter .15s ease,box-shadow .15s ease}.note:hover{filter:brightness(.92);box-shadow:0 1px 4px #0000002e}:host-context(.dark) .note:hover{filter:brightness(1.15);box-shadow:0 1px 4px #0006}.popup{background:var(--ars-drawer-background-color);border-radius:6px;box-shadow:0 4px 16px #00000038;min-width:300px;max-width:600px;width:100%;padding:12px 0 4px 12px}.popup .popup-header{display:flex;align-items:center;justify-content:space-between;border-left:6px solid;padding-left:8px;padding-right:4px}.popup .popup-header .popup-name{font-weight:600;font-size:14px;flex:1;color:var(--ars-color-accent)}.popup .popup-toolbar{padding-right:4px}.popup .popup-footer{display:flex;justify-content:center;column-gap:6px;align-items:center;padding-top:30px;padding-bottom:8px;padding-right:26px}.popup .popup-content{font-size:13px;padding:12px 0 0 14px}.popup .popup-note{white-space:pre-wrap;margin:10px 12px 10px 0}.popup .tracking-summary{display:inline-flex;align-items:center;gap:6px;color:var(--ars-color-secondary);margin-top:10px;font-weight:700}.popup .tracking-summary mat-icon{font-size:16px;font-weight:700;width:16px;height:16px}.popup .tracking-table-wrapper{max-height:300px;overflow-y:auto;margin-top:10px;padding-right:26px}.popup .tracking-table{width:100%;border-collapse:collapse;font-size:12px}.popup .tracking-table tr:first-child td{padding-top:6px}.popup .tracking-table th{position:sticky;top:0;background:var(--ars-drawer-background-color);z-index:1;box-shadow:inset 0 -1px 0 var(--ars-color-divider);text-align:left;padding:0 6px 9px;font-weight:600;color:var(--ars-color-secondary);white-space:nowrap}.popup .tracking-table th:last-child{text-align:center}.popup .tracking-table td{padding:3px 6px;vertical-align:middle;text-align:left}.popup .tracking-table tbody tr:nth-child(2n){background:#00000008}.popup .tracking-table .open-cell{text-align:center}.popup .tracking-table .open-yes{font-size:16px;width:16px;height:16px;color:#4caf50}.popup .tracking-table .open-no{font-size:16px;width:16px;height:16px;color:#bdbdbd}\n"] }]
|
|
2064
2065
|
}], ctorParameters: () => [], propDecorators: { populateContacts: [{ type: i0.Output, args: ["populateContacts"] }], popupTpl: [{ type: i0.ViewChild, args: ['popupTpl', { isSignal: true }] }], note: [{ type: i0.Input, args: [{ isSignal: true, alias: "note", required: true }] }, { type: i0.Output, args: ["noteChange"] }] } });
|
|
2065
2066
|
|
|
2066
2067
|
var ClipperSearchResultItemDisplayMode;
|