wuic-framework-lib 1.7.0 → 1.7.2

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.
Files changed (23) hide show
  1. package/fesm2022/{wuic-framework-lib-chart-list.component-Bl424n7x.mjs → wuic-framework-lib-chart-list.component-MeAS47VV.mjs} +4 -4
  2. package/fesm2022/{wuic-framework-lib-code-editor.component-N6HMl2mf.mjs → wuic-framework-lib-code-editor.component-WtZC2MZC.mjs} +6 -6
  3. package/fesm2022/{wuic-framework-lib-designer.component-Bd2fwl6H.mjs → wuic-framework-lib-designer.component-Dt7Yz5hn.mjs} +12 -12
  4. package/fesm2022/{wuic-framework-lib-first-run-wizard.component-NN6cWVHL.mjs → wuic-framework-lib-first-run-wizard.component-C8nhy5yK.mjs} +349 -33
  5. package/fesm2022/{wuic-framework-lib-framework-docs.component-B867JAYe.mjs → wuic-framework-lib-framework-docs.component-CGsugPCx.mjs} +1426 -979
  6. package/fesm2022/{wuic-framework-lib-pivot-builder.component-DWukH0L-.mjs → wuic-framework-lib-pivot-builder.component-S5zqy3vj.mjs} +164 -164
  7. package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-DWO1Rcgv.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-VY-gtgRW.mjs} +28 -28
  8. package/fesm2022/{wuic-framework-lib-report-designer.component-QcrU81m6.mjs → wuic-framework-lib-report-designer.component-QRxxueU-.mjs} +2 -2
  9. package/fesm2022/{wuic-framework-lib-report-scaffold-dialog.component-U-zdOoRV.mjs → wuic-framework-lib-report-scaffold-dialog.component-OGdglGPw.mjs} +246 -246
  10. package/fesm2022/{wuic-framework-lib-report-viewer.component-B4LhA3SL.mjs → wuic-framework-lib-report-viewer.component-CuXw3e0j.mjs} +4 -4
  11. package/fesm2022/{wuic-framework-lib-scene3d-designer.component-DjOfzKLo.mjs → wuic-framework-lib-scene3d-designer.component-LhC0KzWO.mjs} +20 -20
  12. package/fesm2022/{wuic-framework-lib-scene3d-light-baker-gpu-C96T9uIW.mjs → wuic-framework-lib-scene3d-light-baker-gpu-B5ywsrSp.mjs} +2 -2
  13. package/fesm2022/{wuic-framework-lib-scene3d-shader-effect-DjHyCAFK.mjs → wuic-framework-lib-scene3d-shader-effect-gBEFKNvi.mjs} +18 -18
  14. package/fesm2022/{wuic-framework-lib-scene3d-viewer.component-Dboz1fjl.mjs → wuic-framework-lib-scene3d-viewer.component-DiDqJO-P.mjs} +5 -5
  15. package/fesm2022/{wuic-framework-lib-scheduler-list.component--wY21R3o.mjs → wuic-framework-lib-scheduler-list.component-5JbxIBdp.mjs} +4 -4
  16. package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-Ek30J8v-.mjs → wuic-framework-lib-spreadsheet-list-sf.component-Dxk5d9au.mjs} +47 -47
  17. package/fesm2022/{wuic-framework-lib-timeline-list.component-aqCH4P0G.mjs → wuic-framework-lib-timeline-list.component-B1ro-16J.mjs} +6 -6
  18. package/fesm2022/{wuic-framework-lib-workflow-designer.component-DMM8BeXm.mjs → wuic-framework-lib-workflow-designer.component-D32ZMxq2.mjs} +6 -6
  19. package/fesm2022/{wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs → wuic-framework-lib-wuic-framework-lib-81WUtxz8.mjs} +847 -823
  20. package/fesm2022/wuic-framework-lib.mjs +1 -1
  21. package/package.json +19 -2
  22. package/styles/_wuic-tokens.scss +82 -82
  23. package/types/wuic-framework-lib.d.ts +5 -0
@@ -6,7 +6,7 @@ import { ButtonModule } from 'primeng/button';
6
6
  import * as i8 from '@ngx-translate/core';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
8
  import Gantt from 'frappe-gantt';
9
- import { u as TimelineOptions, g as MetadatiColonna, W as WtoolboxService, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs';
9
+ import { u as TimelineOptions, g as MetadatiColonna, W as WtoolboxService, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-81WUtxz8.mjs';
10
10
  import * as i1 from '@angular/router';
11
11
 
12
12
  /**
@@ -424,7 +424,7 @@ class TimelineListComponent {
424
424
  }
425
425
  try {
426
426
  ds.setCurrent(task.record);
427
- const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs').then(function (n) { return n.c9; });
427
+ const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-81WUtxz8.mjs').then(function (n) { return n.c9; });
428
428
  const header = `${this.t('timeline.popup.edit', 'Modifica')} ${this.metaInfo?.tableMetadata?.md_display_string || ''}`.trim();
429
429
  const ref = WtoolboxService.dialogService.open(ParametricDialogComponent, {
430
430
  data: {
@@ -477,7 +477,7 @@ class TimelineListComponent {
477
477
  // getModelFromObservable→setCurrent→getObservable e il valore torna null
478
478
  // al salvataggio (il chip resta visibile, ma il payload parte vuoto).
479
479
  const record = ds.addNewRecord(this.buildPredecessorPreset(task));
480
- const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs').then(function (n) { return n.c9; });
480
+ const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-81WUtxz8.mjs').then(function (n) { return n.c9; });
481
481
  const header = `${this.t('timeline.popup.add', 'Nuovo')} ${this.metaInfo?.tableMetadata?.md_display_string || ''}`.trim();
482
482
  const ref = WtoolboxService.dialogService.open(ParametricDialogComponent, {
483
483
  data: {
@@ -769,11 +769,11 @@ class TimelineListComponent {
769
769
  this.cdr.detectChanges();
770
770
  }
771
771
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TimelineListComponent, deps: [{ token: i1.Router }, { token: TranslationManagerService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
772
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: TimelineListComponent, isStandalone: true, selector: "wuic-timeline-list", inputs: { hardcodedRoute: "hardcodedRoute", parentRecord: "parentRecord", parentMetaInfo: "parentMetaInfo", datasource: "datasource", hardcodedDatasource: "hardcodedDatasource", hideToolbar: "hideToolbar" }, outputs: { onTimelineDataBound: "onTimelineDataBound", onTimelineTaskChange: "onTimelineTaskChange", onTimelineTaskClick: "onTimelineTaskClick", onTimelineBatchSave: "onTimelineBatchSave", onTimelineBatchCancel: "onTimelineBatchCancel" }, viewQueries: [{ propertyName: "ganttHost", first: true, predicate: ["ganttHost"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"wuic-timeline-wrapper\">\n @if (!hideToolbar) {\n <div class=\"wuic-timeline-toolbar\">\n <div class=\"wuic-timeline-toolbar-left\">\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.day' | translate\"\n [styleClass]=\"viewMode === 'day' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('day')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.week' | translate\"\n [styleClass]=\"viewMode === 'week' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('week')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.month' | translate\"\n [styleClass]=\"viewMode === 'month' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('month')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-map-marker\" [label]=\"'timeline.toolbar.today' | translate\"\n (onClick)=\"scrollToToday()\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-refresh\" (onClick)=\"refresh()\" />\n </div>\n @if (isBatchMode) {\n <div class=\"wuic-timeline-toolbar-right\">\n <p-button size=\"small\" icon=\"pi pi-check\" [label]=\"'timeline.toolbar.save' | translate\"\n [disabled]=\"!hasPendingChanges || savingBatch\" [loading]=\"savingBatch\"\n (onClick)=\"saveBatchChanges()\" />\n <p-button size=\"small\" severity=\"secondary\" icon=\"pi pi-times\" [label]=\"'timeline.toolbar.discard' | translate\"\n [disabled]=\"!hasPendingChanges || savingBatch\"\n (onClick)=\"cancelBatchChanges()\" />\n @if (hasPendingChanges) {\n <span class=\"wuic-timeline-pending-badge\">{{ pendingCount }}</span>\n }\n </div>\n }\n </div>\n }\n\n @if (warningMessage) {\n <div class=\"wuic-timeline-warning\">\n <i class=\"pi pi-exclamation-triangle\"></i>\n <span>{{ warningMessage }}</span>\n </div>\n }\n\n <!-- Il context menu del browser sull'area di disegno interferisce con\n drag/resize delle barre (un right-click accidentale durante il drag lo\n apre): sopprimiamo l'evento sull'host, non sulla toolbar. -->\n <div class=\"wuic-timeline-gantt-host\" #ganttHost (contextmenu)=\"onGanttContextMenu($event)\"></div>\n\n @if (!tasks.length && !warningMessage) {\n <div class=\"wuic-timeline-empty\">{{ 'timeline.empty' | translate }}</div>\n }\n</div>\n", styles: [":root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}html[data-theme=dark]{--g-arrow-color: #e5e5e5;--g-bar-color: #2a2a2a;--g-bar-border: #3a3a3a;--g-tick-color-thick: #1a1a1a;--g-tick-color: #0a0a0a;--g-actions-background: #1a1a1a;--g-border-color: #2a2a2a;--g-text-muted: #999999;--g-text-light: #ffffff;--g-text-dark: #f5f5f5;--g-progress-color: #4a4a4a;--g-handle-color: #d0d0d0;--g-weekend-label-color: #3a3a3a;--g-expected-progress: #5a5a5a;--g-header-background: #0a0a0a;--g-row-color: #141414;--g-row-border-color: #2a2a2a;--g-today-highlight: #999999;--g-popup-actions: #1a1a1a;--g-weekend-highlight-color: #0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}wuic-timeline-list{display:flex;flex:1 1 auto;width:100%;height:100%;min-height:0}wuic-timeline-list .wuic-timeline-wrapper{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0}wuic-timeline-list .wuic-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-toolbar-left,wuic-timeline-list .wuic-timeline-toolbar-right{display:flex;align-items:center;gap:.25rem}wuic-timeline-list .wuic-timeline-mode-active{font-weight:700;text-decoration:underline}wuic-timeline-list .wuic-timeline-pending-badge{background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #fff);border-radius:999px;font-size:.75rem;padding:.1rem .5rem}wuic-timeline-list .wuic-timeline-warning{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;color:#92400e;background:#fef3c7;border-radius:4px;margin:0 .5rem .25rem;font-size:.85rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-gantt-host{flex:1 1 auto;min-height:0;overflow:auto}wuic-timeline-list .wuic-timeline-empty{padding:1.5rem;text-align:center;opacity:.7}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar{fill:#7c3aed;transform-box:fill-box;transform-origin:center;transform:rotate(45deg) scale(.72)}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar-progress{display:none}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .handle{display:none}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
772
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: TimelineListComponent, isStandalone: true, selector: "wuic-timeline-list", inputs: { hardcodedRoute: "hardcodedRoute", parentRecord: "parentRecord", parentMetaInfo: "parentMetaInfo", datasource: "datasource", hardcodedDatasource: "hardcodedDatasource", hideToolbar: "hideToolbar" }, outputs: { onTimelineDataBound: "onTimelineDataBound", onTimelineTaskChange: "onTimelineTaskChange", onTimelineTaskClick: "onTimelineTaskClick", onTimelineBatchSave: "onTimelineBatchSave", onTimelineBatchCancel: "onTimelineBatchCancel" }, viewQueries: [{ propertyName: "ganttHost", first: true, predicate: ["ganttHost"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"wuic-timeline-wrapper\">\r\n @if (!hideToolbar) {\r\n <div class=\"wuic-timeline-toolbar\">\r\n <div class=\"wuic-timeline-toolbar-left\">\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.day' | translate\"\r\n [styleClass]=\"viewMode === 'day' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('day')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.week' | translate\"\r\n [styleClass]=\"viewMode === 'week' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('week')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.month' | translate\"\r\n [styleClass]=\"viewMode === 'month' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('month')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-map-marker\" [label]=\"'timeline.toolbar.today' | translate\"\r\n (onClick)=\"scrollToToday()\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-refresh\" (onClick)=\"refresh()\" />\r\n </div>\r\n @if (isBatchMode) {\r\n <div class=\"wuic-timeline-toolbar-right\">\r\n <p-button size=\"small\" icon=\"pi pi-check\" [label]=\"'timeline.toolbar.save' | translate\"\r\n [disabled]=\"!hasPendingChanges || savingBatch\" [loading]=\"savingBatch\"\r\n (onClick)=\"saveBatchChanges()\" />\r\n <p-button size=\"small\" severity=\"secondary\" icon=\"pi pi-times\" [label]=\"'timeline.toolbar.discard' | translate\"\r\n [disabled]=\"!hasPendingChanges || savingBatch\"\r\n (onClick)=\"cancelBatchChanges()\" />\r\n @if (hasPendingChanges) {\r\n <span class=\"wuic-timeline-pending-badge\">{{ pendingCount }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (warningMessage) {\r\n <div class=\"wuic-timeline-warning\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n <span>{{ warningMessage }}</span>\r\n </div>\r\n }\r\n\r\n <!-- Il context menu del browser sull'area di disegno interferisce con\r\n drag/resize delle barre (un right-click accidentale durante il drag lo\r\n apre): sopprimiamo l'evento sull'host, non sulla toolbar. -->\r\n <div class=\"wuic-timeline-gantt-host\" #ganttHost (contextmenu)=\"onGanttContextMenu($event)\"></div>\r\n\r\n @if (!tasks.length && !warningMessage) {\r\n <div class=\"wuic-timeline-empty\">{{ 'timeline.empty' | translate }}</div>\r\n }\r\n</div>\r\n", styles: [":root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}html[data-theme=dark]{--g-arrow-color: #e5e5e5;--g-bar-color: #2a2a2a;--g-bar-border: #3a3a3a;--g-tick-color-thick: #1a1a1a;--g-tick-color: #0a0a0a;--g-actions-background: #1a1a1a;--g-border-color: #2a2a2a;--g-text-muted: #999999;--g-text-light: #ffffff;--g-text-dark: #f5f5f5;--g-progress-color: #4a4a4a;--g-handle-color: #d0d0d0;--g-weekend-label-color: #3a3a3a;--g-expected-progress: #5a5a5a;--g-header-background: #0a0a0a;--g-row-color: #141414;--g-row-border-color: #2a2a2a;--g-today-highlight: #999999;--g-popup-actions: #1a1a1a;--g-weekend-highlight-color: #0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}wuic-timeline-list{display:flex;flex:1 1 auto;width:100%;height:100%;min-height:0}wuic-timeline-list .wuic-timeline-wrapper{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0}wuic-timeline-list .wuic-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-toolbar-left,wuic-timeline-list .wuic-timeline-toolbar-right{display:flex;align-items:center;gap:.25rem}wuic-timeline-list .wuic-timeline-mode-active{font-weight:700;text-decoration:underline}wuic-timeline-list .wuic-timeline-pending-badge{background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #fff);border-radius:999px;font-size:.75rem;padding:.1rem .5rem}wuic-timeline-list .wuic-timeline-warning{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;color:#92400e;background:#fef3c7;border-radius:4px;margin:0 .5rem .25rem;font-size:.85rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-gantt-host{flex:1 1 auto;min-height:0;overflow:auto}wuic-timeline-list .wuic-timeline-empty{padding:1.5rem;text-align:center;opacity:.7}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar{fill:#7c3aed;transform-box:fill-box;transform-origin:center;transform:rotate(45deg) scale(.72)}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar-progress{display:none}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .handle{display:none}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
773
773
  }
774
774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TimelineListComponent, decorators: [{
775
775
  type: Component,
776
- args: [{ selector: 'wuic-timeline-list', standalone: true, imports: [ButtonModule, TranslateModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"wuic-timeline-wrapper\">\n @if (!hideToolbar) {\n <div class=\"wuic-timeline-toolbar\">\n <div class=\"wuic-timeline-toolbar-left\">\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.day' | translate\"\n [styleClass]=\"viewMode === 'day' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('day')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.week' | translate\"\n [styleClass]=\"viewMode === 'week' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('week')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.month' | translate\"\n [styleClass]=\"viewMode === 'month' ? 'wuic-timeline-mode-active' : ''\"\n (onClick)=\"setViewMode('month')\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-map-marker\" [label]=\"'timeline.toolbar.today' | translate\"\n (onClick)=\"scrollToToday()\" />\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-refresh\" (onClick)=\"refresh()\" />\n </div>\n @if (isBatchMode) {\n <div class=\"wuic-timeline-toolbar-right\">\n <p-button size=\"small\" icon=\"pi pi-check\" [label]=\"'timeline.toolbar.save' | translate\"\n [disabled]=\"!hasPendingChanges || savingBatch\" [loading]=\"savingBatch\"\n (onClick)=\"saveBatchChanges()\" />\n <p-button size=\"small\" severity=\"secondary\" icon=\"pi pi-times\" [label]=\"'timeline.toolbar.discard' | translate\"\n [disabled]=\"!hasPendingChanges || savingBatch\"\n (onClick)=\"cancelBatchChanges()\" />\n @if (hasPendingChanges) {\n <span class=\"wuic-timeline-pending-badge\">{{ pendingCount }}</span>\n }\n </div>\n }\n </div>\n }\n\n @if (warningMessage) {\n <div class=\"wuic-timeline-warning\">\n <i class=\"pi pi-exclamation-triangle\"></i>\n <span>{{ warningMessage }}</span>\n </div>\n }\n\n <!-- Il context menu del browser sull'area di disegno interferisce con\n drag/resize delle barre (un right-click accidentale durante il drag lo\n apre): sopprimiamo l'evento sull'host, non sulla toolbar. -->\n <div class=\"wuic-timeline-gantt-host\" #ganttHost (contextmenu)=\"onGanttContextMenu($event)\"></div>\n\n @if (!tasks.length && !warningMessage) {\n <div class=\"wuic-timeline-empty\">{{ 'timeline.empty' | translate }}</div>\n }\n</div>\n", styles: [":root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}html[data-theme=dark]{--g-arrow-color: #e5e5e5;--g-bar-color: #2a2a2a;--g-bar-border: #3a3a3a;--g-tick-color-thick: #1a1a1a;--g-tick-color: #0a0a0a;--g-actions-background: #1a1a1a;--g-border-color: #2a2a2a;--g-text-muted: #999999;--g-text-light: #ffffff;--g-text-dark: #f5f5f5;--g-progress-color: #4a4a4a;--g-handle-color: #d0d0d0;--g-weekend-label-color: #3a3a3a;--g-expected-progress: #5a5a5a;--g-header-background: #0a0a0a;--g-row-color: #141414;--g-row-border-color: #2a2a2a;--g-today-highlight: #999999;--g-popup-actions: #1a1a1a;--g-weekend-highlight-color: #0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}wuic-timeline-list{display:flex;flex:1 1 auto;width:100%;height:100%;min-height:0}wuic-timeline-list .wuic-timeline-wrapper{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0}wuic-timeline-list .wuic-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-toolbar-left,wuic-timeline-list .wuic-timeline-toolbar-right{display:flex;align-items:center;gap:.25rem}wuic-timeline-list .wuic-timeline-mode-active{font-weight:700;text-decoration:underline}wuic-timeline-list .wuic-timeline-pending-badge{background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #fff);border-radius:999px;font-size:.75rem;padding:.1rem .5rem}wuic-timeline-list .wuic-timeline-warning{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;color:#92400e;background:#fef3c7;border-radius:4px;margin:0 .5rem .25rem;font-size:.85rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-gantt-host{flex:1 1 auto;min-height:0;overflow:auto}wuic-timeline-list .wuic-timeline-empty{padding:1.5rem;text-align:center;opacity:.7}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar{fill:#7c3aed;transform-box:fill-box;transform-origin:center;transform:rotate(45deg) scale(.72)}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar-progress{display:none}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .handle{display:none}\n"] }]
776
+ args: [{ selector: 'wuic-timeline-list', standalone: true, imports: [ButtonModule, TranslateModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"wuic-timeline-wrapper\">\r\n @if (!hideToolbar) {\r\n <div class=\"wuic-timeline-toolbar\">\r\n <div class=\"wuic-timeline-toolbar-left\">\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.day' | translate\"\r\n [styleClass]=\"viewMode === 'day' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('day')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.week' | translate\"\r\n [styleClass]=\"viewMode === 'week' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('week')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-calendar\" [label]=\"'timeline.toolbar.month' | translate\"\r\n [styleClass]=\"viewMode === 'month' ? 'wuic-timeline-mode-active' : ''\"\r\n (onClick)=\"setViewMode('month')\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-map-marker\" [label]=\"'timeline.toolbar.today' | translate\"\r\n (onClick)=\"scrollToToday()\" />\r\n <p-button [text]=\"true\" size=\"small\" icon=\"pi pi-refresh\" (onClick)=\"refresh()\" />\r\n </div>\r\n @if (isBatchMode) {\r\n <div class=\"wuic-timeline-toolbar-right\">\r\n <p-button size=\"small\" icon=\"pi pi-check\" [label]=\"'timeline.toolbar.save' | translate\"\r\n [disabled]=\"!hasPendingChanges || savingBatch\" [loading]=\"savingBatch\"\r\n (onClick)=\"saveBatchChanges()\" />\r\n <p-button size=\"small\" severity=\"secondary\" icon=\"pi pi-times\" [label]=\"'timeline.toolbar.discard' | translate\"\r\n [disabled]=\"!hasPendingChanges || savingBatch\"\r\n (onClick)=\"cancelBatchChanges()\" />\r\n @if (hasPendingChanges) {\r\n <span class=\"wuic-timeline-pending-badge\">{{ pendingCount }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (warningMessage) {\r\n <div class=\"wuic-timeline-warning\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n <span>{{ warningMessage }}</span>\r\n </div>\r\n }\r\n\r\n <!-- Il context menu del browser sull'area di disegno interferisce con\r\n drag/resize delle barre (un right-click accidentale durante il drag lo\r\n apre): sopprimiamo l'evento sull'host, non sulla toolbar. -->\r\n <div class=\"wuic-timeline-gantt-host\" #ganttHost (contextmenu)=\"onGanttContextMenu($event)\"></div>\r\n\r\n @if (!tasks.length && !warningMessage) {\r\n <div class=\"wuic-timeline-empty\">{{ 'timeline.empty' | translate }}</div>\r\n }\r\n</div>\r\n", styles: [":root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}html[data-theme=dark]{--g-arrow-color: #e5e5e5;--g-bar-color: #2a2a2a;--g-bar-border: #3a3a3a;--g-tick-color-thick: #1a1a1a;--g-tick-color: #0a0a0a;--g-actions-background: #1a1a1a;--g-border-color: #2a2a2a;--g-text-muted: #999999;--g-text-light: #ffffff;--g-text-dark: #f5f5f5;--g-progress-color: #4a4a4a;--g-handle-color: #d0d0d0;--g-weekend-label-color: #3a3a3a;--g-expected-progress: #5a5a5a;--g-header-background: #0a0a0a;--g-row-color: #141414;--g-row-border-color: #2a2a2a;--g-today-highlight: #999999;--g-popup-actions: #1a1a1a;--g-weekend-highlight-color: #0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}wuic-timeline-list{display:flex;flex:1 1 auto;width:100%;height:100%;min-height:0}wuic-timeline-list .wuic-timeline-wrapper{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0}wuic-timeline-list .wuic-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-toolbar-left,wuic-timeline-list .wuic-timeline-toolbar-right{display:flex;align-items:center;gap:.25rem}wuic-timeline-list .wuic-timeline-mode-active{font-weight:700;text-decoration:underline}wuic-timeline-list .wuic-timeline-pending-badge{background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #fff);border-radius:999px;font-size:.75rem;padding:.1rem .5rem}wuic-timeline-list .wuic-timeline-warning{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;color:#92400e;background:#fef3c7;border-radius:4px;margin:0 .5rem .25rem;font-size:.85rem;flex:0 0 auto}wuic-timeline-list .wuic-timeline-gantt-host{flex:1 1 auto;min-height:0;overflow:auto}wuic-timeline-list .wuic-timeline-empty{padding:1.5rem;text-align:center;opacity:.7}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar{fill:#7c3aed;transform-box:fill-box;transform-origin:center;transform:rotate(45deg) scale(.72)}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .bar-progress{display:none}wuic-timeline-list .gantt .bar-wrapper.wuic-timeline-milestone .handle{display:none}\n"] }]
777
777
  }], ctorParameters: () => [{ type: i1.Router }, { type: TranslationManagerService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { hardcodedRoute: [{
778
778
  type: Input
779
779
  }], parentRecord: [{
@@ -802,4 +802,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
802
802
  }] } });
803
803
 
804
804
  export { TimelineListComponent };
805
- //# sourceMappingURL=wuic-framework-lib-timeline-list.component-aqCH4P0G.mjs.map
805
+ //# sourceMappingURL=wuic-framework-lib-timeline-list.component-B1ro-16J.mjs.map