verben-workflow-ui 0.5.78 → 0.5.79

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 (30) hide show
  1. package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +30 -13
  2. package/esm2022/src/lib/components/form-group/form-group.component.mjs +62 -11
  3. package/esm2022/src/lib/components/form-group/form-group.module.mjs +6 -2
  4. package/esm2022/src/lib/components/form-group/form-group.service.mjs +6 -1
  5. package/esm2022/src/lib/components/forms/forms.component.mjs +4 -4
  6. package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +3 -3
  7. package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +3 -38
  8. package/esm2022/src/lib/components/task-history/task-history.component.mjs +2 -2
  9. package/esm2022/src/lib/models/DataType.mjs +7 -1
  10. package/esm2022/src/lib/models/EAVEntity.mjs +2 -0
  11. package/esm2022/src/lib/models/FormEntity.mjs +1 -1
  12. package/esm2022/src/lib/models/public-api.mjs +2 -1
  13. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +97 -20
  14. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
  15. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
  16. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +4 -39
  17. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
  18. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +2 -2
  19. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
  20. package/fesm2022/verben-workflow-ui-src-lib-models.mjs +6 -0
  21. package/fesm2022/verben-workflow-ui-src-lib-models.mjs.map +1 -1
  22. package/package.json +40 -40
  23. package/src/lib/components/form-group/form-fields/form-fields.component.d.ts +1 -0
  24. package/src/lib/components/form-group/form-group.component.d.ts +6 -1
  25. package/src/lib/components/form-group/form-group.module.d.ts +3 -2
  26. package/src/lib/components/my-queue/my-queue.facade.d.ts +0 -1
  27. package/src/lib/models/DataType.d.ts +7 -1
  28. package/src/lib/models/EAVEntity.d.ts +4 -0
  29. package/src/lib/models/FormEntity.d.ts +1 -0
  30. package/src/lib/models/public-api.d.ts +1 -0
@@ -244,11 +244,11 @@ class TaskHistoryComponent {
244
244
  this.utilService.openFullRouteInNewWindow(`${this.envSvc.environment.FILE_BASE_URL}${fileUrl}`);
245
245
  }
246
246
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TaskHistoryComponent, deps: [{ token: i1$1.Location }, { token: TaskHistoryService }, { token: i1.EnvironmentService }, { token: i1.UtilService }], target: i0.ɵɵFactoryTarget.Component });
247
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TaskHistoryComponent, selector: "lib-task-history", inputs: { taskCode: { classPropertyName: "taskCode", publicName: "taskCode", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n", styles: [".bg-\\[#D4A00773\\]{background-color:#d4a00773}.bg-\\[var(--vbn-color-surface)\\]{background-color:var(--vbn-color-surface)}.bg-\\[#d3d3d32a\\]{background-color:#d3d3d32a}.bg-\\[var(--vbn-color-surface-alt)\\]{background-color:var(--vbn-color-surface-alt)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\\[#D9AEAE\\]{--tw-gradient-from: #d9aeae;--tw-gradient-to: rgb(217 174 174 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\\[#E3C79F\\]{--tw-gradient-to: rgb(227 199 159 / 0);--tw-gradient-stops: var(--tw-gradient-from), #e3c79f, var(--tw-gradient-to)}.to-\\[var(--vbn-color-primary)\\]{--tw-gradient-to: var(--vbn-color-primary)}.mx-8{margin-left:2rem;margin-right:2rem}.rounded-lg{border-radius:.5rem}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.font-semibold{font-weight:600}.cursor-pointer{cursor:pointer}.grid{display:grid}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-7{grid-column:span 7 / span 7}.col-span-5{grid-column:span 5 / span 5}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pt-10{padding-top:2.5rem}.relative{position:relative}.absolute{position:absolute}.block{display:block}.h-ninety{height:90%}.border{border-width:1px}.border-secondary-200{border-color:var(--vbn-color-border)}.left-\\[150px\\]{left:150px}.mb-7{margin-bottom:1.75rem}.w-\\[100px\\]{width:100px}.ml-24{margin-left:6rem}.min-w-\\[250px\\]{min-width:250px}.p-6{padding:1.5rem}.rounded-md{border-radius:.375rem}.after\\:absolute:after{content:\"\";position:absolute}.after\\:-left-\\[90px\\]:after{left:-90px}.after\\:top-0:after{top:0}.after\\:h-full:after{height:100%}.after\\:border-l-2:after{border-left-width:2px}.border-none{border-style:none}.font-bold{font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[var(--vbn-color-text-muted)\\]{color:var(--vbn-color-text-muted)}.gap-2{gap:.5rem}.w-fit{width:fit-content}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.mt-2{margin-top:.5rem}.border-\\[var(--vbn-color-border)\\]{border-color:var(--vbn-color-border)}.ml-\\[3px\\]{margin-left:3px}.underline{text-decoration-line:underline}.text-\\[var(--vbn-color-border-focus)\\]{color:var(--vbn-color-border-focus)}.mt-\\[4px\\]{margin-top:4px}.z-\\[10000\\]{z-index:10000}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.w-\\[326px\\]{width:326px}.gap-4{gap:1rem}.w-\\[50px\\]{width:50px}.rounded-full{border-radius:9999px}.gap-3{gap:.75rem}.mt-4{margin-top:1rem}.h-\\[50px\\]{height:50px}.w-\\[480px\\]{width:480px}.text-xs{font-size:.75rem;line-height:1rem}.text-right{text-align:right}.text-\\[var(--vbn-color-text)\\]{color:var(--vbn-color-text)}.leading-relaxed{line-height:1.625}.p-8{padding:2rem}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i6.FileUploadComponent, selector: "file-upload", inputs: ["multiple", "label", "accept", "selectedFiles", "disabled"], outputs: ["selectedFilesChange"] }, { kind: "component", type: i4.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "zIndex", "border", "width", "top", "bottom", "left", "right"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
247
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TaskHistoryComponent, selector: "lib-task-history", inputs: { taskCode: { classPropertyName: "taskCode", publicName: "taskCode", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n", styles: [".bg-\\[#D4A00773\\]{background-color:#d4a00773}.bg-\\[var\\(--vbn-color-surface\\)\\]{background-color:var(--vbn-color-surface)}.bg-\\[#d3d3d32a\\]{background-color:#d3d3d32a}.bg-\\[var\\(--vbn-color-surface-alt\\)\\]{background-color:var(--vbn-color-surface-alt)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\\[#D9AEAE\\]{--tw-gradient-from: #d9aeae;--tw-gradient-to: rgb(217 174 174 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\\[#E3C79F\\]{--tw-gradient-to: rgb(227 199 159 / 0);--tw-gradient-stops: var(--tw-gradient-from), #e3c79f, var(--tw-gradient-to)}.to-\\[var\\(--vbn-color-primary\\)\\]{--tw-gradient-to: var(--vbn-color-primary)}.mx-8{margin-left:2rem;margin-right:2rem}.rounded-lg{border-radius:.5rem}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.font-semibold{font-weight:600}.cursor-pointer{cursor:pointer}.grid{display:grid}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-7{grid-column:span 7 / span 7}.col-span-5{grid-column:span 5 / span 5}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pt-10{padding-top:2.5rem}.relative{position:relative}.absolute{position:absolute}.block{display:block}.h-ninety{height:90%}.border{border-width:1px}.border-secondary-200{border-color:var(--vbn-color-border)}.left-\\[150px\\]{left:150px}.mb-7{margin-bottom:1.75rem}.w-\\[100px\\]{width:100px}.ml-24{margin-left:6rem}.min-w-\\[250px\\]{min-width:250px}.p-6{padding:1.5rem}.rounded-md{border-radius:.375rem}.after\\:absolute:after{content:\"\";position:absolute}.after\\:-left-\\[90px\\]:after{left:-90px}.after\\:top-0:after{top:0}.after\\:h-full:after{height:100%}.after\\:border-l-2:after{border-left-width:2px}.border-none{border-style:none}.font-bold{font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[var\\(--vbn-color-text-muted\\)\\]{color:var(--vbn-color-text-muted)}.gap-2{gap:.5rem}.w-fit{width:fit-content}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.mt-2{margin-top:.5rem}.border-\\[var\\(--vbn-color-border\\)\\]{border-color:var(--vbn-color-border)}.ml-\\[3px\\]{margin-left:3px}.underline{text-decoration-line:underline}.text-\\[var\\(--vbn-color-border-focus\\)\\]{color:var(--vbn-color-border-focus)}.mt-\\[4px\\]{margin-top:4px}.z-\\[10000\\]{z-index:10000}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.w-\\[326px\\]{width:326px}.gap-4{gap:1rem}.w-\\[50px\\]{width:50px}.rounded-full{border-radius:9999px}.gap-3{gap:.75rem}.mt-4{margin-top:1rem}.h-\\[50px\\]{height:50px}.w-\\[480px\\]{width:480px}.text-xs{font-size:.75rem;line-height:1rem}.text-right{text-align:right}.text-\\[var\\(--vbn-color-text\\)\\]{color:var(--vbn-color-text)}.leading-relaxed{line-height:1.625}.p-8{padding:2rem}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i6.FileUploadComponent, selector: "file-upload", inputs: ["multiple", "label", "accept", "selectedFiles", "disabled"], outputs: ["selectedFilesChange"] }, { kind: "component", type: i4.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "zIndex", "border", "width", "top", "bottom", "left", "right"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
248
248
  }
249
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TaskHistoryComponent, decorators: [{
250
250
  type: Component,
251
- args: [{ selector: 'lib-task-history', template: "<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n", styles: [".bg-\\[#D4A00773\\]{background-color:#d4a00773}.bg-\\[var(--vbn-color-surface)\\]{background-color:var(--vbn-color-surface)}.bg-\\[#d3d3d32a\\]{background-color:#d3d3d32a}.bg-\\[var(--vbn-color-surface-alt)\\]{background-color:var(--vbn-color-surface-alt)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\\[#D9AEAE\\]{--tw-gradient-from: #d9aeae;--tw-gradient-to: rgb(217 174 174 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\\[#E3C79F\\]{--tw-gradient-to: rgb(227 199 159 / 0);--tw-gradient-stops: var(--tw-gradient-from), #e3c79f, var(--tw-gradient-to)}.to-\\[var(--vbn-color-primary)\\]{--tw-gradient-to: var(--vbn-color-primary)}.mx-8{margin-left:2rem;margin-right:2rem}.rounded-lg{border-radius:.5rem}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.font-semibold{font-weight:600}.cursor-pointer{cursor:pointer}.grid{display:grid}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-7{grid-column:span 7 / span 7}.col-span-5{grid-column:span 5 / span 5}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pt-10{padding-top:2.5rem}.relative{position:relative}.absolute{position:absolute}.block{display:block}.h-ninety{height:90%}.border{border-width:1px}.border-secondary-200{border-color:var(--vbn-color-border)}.left-\\[150px\\]{left:150px}.mb-7{margin-bottom:1.75rem}.w-\\[100px\\]{width:100px}.ml-24{margin-left:6rem}.min-w-\\[250px\\]{min-width:250px}.p-6{padding:1.5rem}.rounded-md{border-radius:.375rem}.after\\:absolute:after{content:\"\";position:absolute}.after\\:-left-\\[90px\\]:after{left:-90px}.after\\:top-0:after{top:0}.after\\:h-full:after{height:100%}.after\\:border-l-2:after{border-left-width:2px}.border-none{border-style:none}.font-bold{font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[var(--vbn-color-text-muted)\\]{color:var(--vbn-color-text-muted)}.gap-2{gap:.5rem}.w-fit{width:fit-content}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.mt-2{margin-top:.5rem}.border-\\[var(--vbn-color-border)\\]{border-color:var(--vbn-color-border)}.ml-\\[3px\\]{margin-left:3px}.underline{text-decoration-line:underline}.text-\\[var(--vbn-color-border-focus)\\]{color:var(--vbn-color-border-focus)}.mt-\\[4px\\]{margin-top:4px}.z-\\[10000\\]{z-index:10000}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.w-\\[326px\\]{width:326px}.gap-4{gap:1rem}.w-\\[50px\\]{width:50px}.rounded-full{border-radius:9999px}.gap-3{gap:.75rem}.mt-4{margin-top:1rem}.h-\\[50px\\]{height:50px}.w-\\[480px\\]{width:480px}.text-xs{font-size:.75rem;line-height:1rem}.text-right{text-align:right}.text-\\[var(--vbn-color-text)\\]{color:var(--vbn-color-text)}.leading-relaxed{line-height:1.625}.p-8{padding:2rem}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"] }]
251
+ args: [{ selector: 'lib-task-history', template: "<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n", styles: [".bg-\\[#D4A00773\\]{background-color:#d4a00773}.bg-\\[var\\(--vbn-color-surface\\)\\]{background-color:var(--vbn-color-surface)}.bg-\\[#d3d3d32a\\]{background-color:#d3d3d32a}.bg-\\[var\\(--vbn-color-surface-alt\\)\\]{background-color:var(--vbn-color-surface-alt)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\\[#D9AEAE\\]{--tw-gradient-from: #d9aeae;--tw-gradient-to: rgb(217 174 174 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\\[#E3C79F\\]{--tw-gradient-to: rgb(227 199 159 / 0);--tw-gradient-stops: var(--tw-gradient-from), #e3c79f, var(--tw-gradient-to)}.to-\\[var\\(--vbn-color-primary\\)\\]{--tw-gradient-to: var(--vbn-color-primary)}.mx-8{margin-left:2rem;margin-right:2rem}.rounded-lg{border-radius:.5rem}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.font-semibold{font-weight:600}.cursor-pointer{cursor:pointer}.grid{display:grid}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-7{grid-column:span 7 / span 7}.col-span-5{grid-column:span 5 / span 5}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pt-10{padding-top:2.5rem}.relative{position:relative}.absolute{position:absolute}.block{display:block}.h-ninety{height:90%}.border{border-width:1px}.border-secondary-200{border-color:var(--vbn-color-border)}.left-\\[150px\\]{left:150px}.mb-7{margin-bottom:1.75rem}.w-\\[100px\\]{width:100px}.ml-24{margin-left:6rem}.min-w-\\[250px\\]{min-width:250px}.p-6{padding:1.5rem}.rounded-md{border-radius:.375rem}.after\\:absolute:after{content:\"\";position:absolute}.after\\:-left-\\[90px\\]:after{left:-90px}.after\\:top-0:after{top:0}.after\\:h-full:after{height:100%}.after\\:border-l-2:after{border-left-width:2px}.border-none{border-style:none}.font-bold{font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[var\\(--vbn-color-text-muted\\)\\]{color:var(--vbn-color-text-muted)}.gap-2{gap:.5rem}.w-fit{width:fit-content}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.mt-2{margin-top:.5rem}.border-\\[var\\(--vbn-color-border\\)\\]{border-color:var(--vbn-color-border)}.ml-\\[3px\\]{margin-left:3px}.underline{text-decoration-line:underline}.text-\\[var\\(--vbn-color-border-focus\\)\\]{color:var(--vbn-color-border-focus)}.mt-\\[4px\\]{margin-top:4px}.z-\\[10000\\]{z-index:10000}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.w-\\[326px\\]{width:326px}.gap-4{gap:1rem}.w-\\[50px\\]{width:50px}.rounded-full{border-radius:9999px}.gap-3{gap:.75rem}.mt-4{margin-top:1rem}.h-\\[50px\\]{height:50px}.w-\\[480px\\]{width:480px}.text-xs{font-size:.75rem;line-height:1rem}.text-right{text-align:right}.text-\\[var\\(--vbn-color-text\\)\\]{color:var(--vbn-color-text)}.leading-relaxed{line-height:1.625}.p-8{padding:2rem}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"] }]
252
252
  }], ctorParameters: () => [{ type: i1$1.Location }, { type: TaskHistoryService }, { type: i1.EnvironmentService }, { type: i1.UtilService }] });
253
253
 
254
254
  class TaskHistoryModule {
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-components-task-history.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.service.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.component.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.component.html","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.module.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActionHistory } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskHistoryService {\n constructor(\n private httpService: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n getTaskHistory(taskCode: string): Promise<any> {\n const url = `GetTaskHistory/${taskCode}`;\n return this.httpService.get(url) as Promise<ActionHistory[]>;\n }\n\n saveActionHistory(actionHistory: ActionHistory[]): Promise<any> {\n const url = `SaveActionHistories`;\n return this.httpService.post(url, actionHistory);\n }\n\n uploadFiles(files: any[]): Promise<any> {\n const url = `SaveFiles`;\n return this.httpService.post(\n url,\n files,\n this.envSvc.environment.FILE_BASE_URL\n );\n }\n}\n","import { Location } from '@angular/common';\nimport { Component, input, OnInit } from '@angular/core';\nimport { ActionHistory, ActionType, Actor, File as FileData, ObjectState, OperationType } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { TaskHistoryService } from './task-history.service';\n\n@Component({\n selector: 'lib-task-history',\n templateUrl: './task-history.component.html',\n styleUrl: './task-history.component.css',\n})\nexport class TaskHistoryComponent implements OnInit {\n taskCode = input.required<string>();\n operationType = OperationType;\n active: number = 0;\n showCommentBox: boolean = false;\n newComment: string = '';\n selectedFiles: FileData[] = [];\n // ActionType = ActionType;\n\n constructor(\n private _location: Location,\n private service: TaskHistoryService,\n private envSvc: EnvironmentService,\n private utilService: UtilService\n ) { }\n // singleHistory: TimelineEvent[] = [\n // {\n // Date: '4:05 PM',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // {\n // Date: 'Yesterday',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // {\n // Date: 'Mar 2',\n // Operation: OperationType.Forms,\n // Details: {\n // FilledBy: 'Anonymous',\n // },\n // Actions: [{ Label: 'View Form', Type: 'button', Action: 'viewForm' }],\n // },\n // {\n // Date: 'Nov 4',\n // Operation: OperationType.Assignment,\n // Details: {\n // From: 'John Doe',\n // To: 'Jane Doe',\n // },\n // Actions: [],\n // },\n // {\n // Date: 'Nov 6',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // ];\n\n history: ActionHistory[] = [];\n\n ngOnInit(): void {\n this.service.getTaskHistory(this.taskCode()).then((res) => {\n this.history = res;\n console.log(this.history);\n });\n }\n\n goBack() {\n this._location.back();\n }\n\n setActive(i: number) {\n this.active = i;\n }\n\n getTagsFromActor(actor: Actor) {\n return actor.Tags.map((tag) => tag.Name).join(', ');\n }\n\n addComment() {\n this.showCommentBox = !this.showCommentBox;\n }\n\n async saveComment() {\n console.log(this.newComment);\n if (!this.newComment.trim() && this.selectedFiles.length === 0) {\n return;\n }\n\n let uploadedFiles: string[] = [];\n if (this.selectedFiles.length > 0) {\n try {\n this.utilService.sendBI(true);\n const res = await this.service.uploadFiles(this.selectedFiles);\n if (res) {\n uploadedFiles = res;\n }\n } catch (error) {\n console.error('File upload failed', error);\n this.utilService.sendBI(false);\n return;\n } finally {\n this.utilService.sendBI(false);\n }\n }\n\n const actionHistory = {\n TaskCode: this.taskCode() ?? '',\n Description: this.newComment,\n ActionType: ActionType.Comment,\n DataState: ObjectState.New,\n Files: uploadedFiles,\n // Actor: {\n // Id: this.selectedDetail.ActorId,\n // Name: this.selectedDetail.ActorName,\n // Tags: this.selectedDetail.Tags,\n // },\n Workflow: '',\n FromStage: '',\n ToStage: '',\n Code: '',\n TenantId: '',\n } as ActionHistory;\n\n this.service.saveActionHistory([actionHistory]).then(() => {\n this.newComment = '';\n this.selectedFiles = [];\n this.showCommentBox = false;\n this.service.getTaskHistory(this.taskCode()).then((res) => {\n this.history = res;\n });\n });\n }\n\n onFileSelect(data: any): void {\n const files: any = data;\n\n if (!files || files.length === 0) return;\n\n const fileArray: FileData[] = [];\n const readers: Promise<void>[] = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n const reader = new FileReader();\n\n const promise = new Promise<void>((resolve, reject) => {\n reader.onload = () => {\n const base64 = reader.result as string;\n fileArray.push({\n Extension: file.name.split('.').pop(),\n Name: this.generateRandomCode(),\n Data: base64,\n DataState: ObjectState.New,\n });\n resolve();\n };\n\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(file);\n });\n\n readers.push(promise);\n }\n\n Promise.all(readers).then(() => {\n console.log('Files ready to upload:', fileArray);\n this.selectedFiles = fileArray;\n });\n }\n\n private generateRandomCode(length: number = 10): string {\n const chars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n for (let i = 0; i < length; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n return result;\n }\n\n getFileExtension(fileUrl: string): string {\n const parts = fileUrl.split('.');\n return parts[parts.length - 1].toLowerCase();\n }\n\n setPreview(val: string): string {\n if (!val) return '';\n const first = val.split(',')[0].trim();\n\n if (first.startsWith('http') || first.startsWith('data:')) {\n return first;\n }\n return `${this.envSvc.environment.FILE_URL}/${first}`;\n }\n\n showFromAndTo(actionType: ActionType): boolean {\n switch (actionType) {\n case ActionType.PassOn:\n case ActionType.PassBack:\n case ActionType.SkipForward:\n case ActionType.SkipBackward:\n return true;\n case ActionType.Comment:\n case ActionType.FormFilling:\n case ActionType.StatusChange:\n return false;\n }\n }\n\n getFileName(fileUrl: string): string {\n if (!fileUrl) return '';\n return fileUrl.split('/').pop() || '';\n }\n\n openFile(fileUrl: string) {\n if (!fileUrl) {\n return;\n }\n this.utilService.openFullRouteInNewWindow(\n `${this.envSvc.environment.FILE_BASE_URL}${fileUrl}`\n );\n }\n}\n","<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TooltipModule } from 'verben-ng-ui';\nimport { FileUploadModule } from 'verben-workflow-ui/src/lib/components/file-upload';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { TaskHistoryComponent } from './task-history.component';\n@NgModule({\n declarations: [TaskHistoryComponent],\n imports: [SharedModule, FileUploadModule, TooltipModule],\n exports: [TaskHistoryComponent],\n})\nexport class TaskHistoryModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TaskHistoryService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-components-task-history.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.service.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.component.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.component.html","../../../projects/verben-workflow-ui/src/lib/components/task-history/task-history.module.ts","../../../projects/verben-workflow-ui/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActionHistory } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskHistoryService {\n constructor(\n private httpService: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n getTaskHistory(taskCode: string): Promise<any> {\n const url = `GetTaskHistory/${taskCode}`;\n return this.httpService.get(url) as Promise<ActionHistory[]>;\n }\n\n saveActionHistory(actionHistory: ActionHistory[]): Promise<any> {\n const url = `SaveActionHistories`;\n return this.httpService.post(url, actionHistory);\n }\n\n uploadFiles(files: any[]): Promise<any> {\n const url = `SaveFiles`;\n return this.httpService.post(\n url,\n files,\n this.envSvc.environment.FILE_BASE_URL\n );\n }\n}\n","import { Location } from '@angular/common';\nimport { Component, input, OnInit } from '@angular/core';\nimport { ActionHistory, ActionType, Actor, File as FileData, ObjectState, OperationType } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { TaskHistoryService } from './task-history.service';\n\n@Component({\n selector: 'lib-task-history',\n templateUrl: './task-history.component.html',\n styleUrl: './task-history.component.css',\n})\nexport class TaskHistoryComponent implements OnInit {\n taskCode = input.required<string>();\n operationType = OperationType;\n active: number = 0;\n showCommentBox: boolean = false;\n newComment: string = '';\n selectedFiles: FileData[] = [];\n // ActionType = ActionType;\n\n constructor(\n private _location: Location,\n private service: TaskHistoryService,\n private envSvc: EnvironmentService,\n private utilService: UtilService\n ) { }\n // singleHistory: TimelineEvent[] = [\n // {\n // Date: '4:05 PM',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // {\n // Date: 'Yesterday',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // {\n // Date: 'Mar 2',\n // Operation: OperationType.Forms,\n // Details: {\n // FilledBy: 'Anonymous',\n // },\n // Actions: [{ Label: 'View Form', Type: 'button', Action: 'viewForm' }],\n // },\n // {\n // Date: 'Nov 4',\n // Operation: OperationType.Assignment,\n // Details: {\n // From: 'John Doe',\n // To: 'Jane Doe',\n // },\n // Actions: [],\n // },\n // {\n // Date: 'Nov 6',\n // Operation: OperationType.Comment,\n // Details: {},\n // Actions: [\n // { Label: 'View Comments', Type: 'button', Action: 'viewComments' },\n // ],\n // },\n // ];\n\n history: ActionHistory[] = [];\n\n ngOnInit(): void {\n this.service.getTaskHistory(this.taskCode()).then((res) => {\n this.history = res;\n console.log(this.history);\n });\n }\n\n goBack() {\n this._location.back();\n }\n\n setActive(i: number) {\n this.active = i;\n }\n\n getTagsFromActor(actor: Actor) {\n return actor.Tags.map((tag) => tag.Name).join(', ');\n }\n\n addComment() {\n this.showCommentBox = !this.showCommentBox;\n }\n\n async saveComment() {\n console.log(this.newComment);\n if (!this.newComment.trim() && this.selectedFiles.length === 0) {\n return;\n }\n\n let uploadedFiles: string[] = [];\n if (this.selectedFiles.length > 0) {\n try {\n this.utilService.sendBI(true);\n const res = await this.service.uploadFiles(this.selectedFiles);\n if (res) {\n uploadedFiles = res;\n }\n } catch (error) {\n console.error('File upload failed', error);\n this.utilService.sendBI(false);\n return;\n } finally {\n this.utilService.sendBI(false);\n }\n }\n\n const actionHistory = {\n TaskCode: this.taskCode() ?? '',\n Description: this.newComment,\n ActionType: ActionType.Comment,\n DataState: ObjectState.New,\n Files: uploadedFiles,\n // Actor: {\n // Id: this.selectedDetail.ActorId,\n // Name: this.selectedDetail.ActorName,\n // Tags: this.selectedDetail.Tags,\n // },\n Workflow: '',\n FromStage: '',\n ToStage: '',\n Code: '',\n TenantId: '',\n } as ActionHistory;\n\n this.service.saveActionHistory([actionHistory]).then(() => {\n this.newComment = '';\n this.selectedFiles = [];\n this.showCommentBox = false;\n this.service.getTaskHistory(this.taskCode()).then((res) => {\n this.history = res;\n });\n });\n }\n\n onFileSelect(data: any): void {\n const files: any = data;\n\n if (!files || files.length === 0) return;\n\n const fileArray: FileData[] = [];\n const readers: Promise<void>[] = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n const reader = new FileReader();\n\n const promise = new Promise<void>((resolve, reject) => {\n reader.onload = () => {\n const base64 = reader.result as string;\n fileArray.push({\n Extension: file.name.split('.').pop(),\n Name: this.generateRandomCode(),\n Data: base64,\n DataState: ObjectState.New,\n });\n resolve();\n };\n\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(file);\n });\n\n readers.push(promise);\n }\n\n Promise.all(readers).then(() => {\n console.log('Files ready to upload:', fileArray);\n this.selectedFiles = fileArray;\n });\n }\n\n private generateRandomCode(length: number = 10): string {\n const chars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n for (let i = 0; i < length; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n return result;\n }\n\n getFileExtension(fileUrl: string): string {\n const parts = fileUrl.split('.');\n return parts[parts.length - 1].toLowerCase();\n }\n\n setPreview(val: string): string {\n if (!val) return '';\n const first = val.split(',')[0].trim();\n\n if (first.startsWith('http') || first.startsWith('data:')) {\n return first;\n }\n return `${this.envSvc.environment.FILE_URL}/${first}`;\n }\n\n showFromAndTo(actionType: ActionType): boolean {\n switch (actionType) {\n case ActionType.PassOn:\n case ActionType.PassBack:\n case ActionType.SkipForward:\n case ActionType.SkipBackward:\n return true;\n case ActionType.Comment:\n case ActionType.FormFilling:\n case ActionType.StatusChange:\n return false;\n }\n }\n\n getFileName(fileUrl: string): string {\n if (!fileUrl) return '';\n return fileUrl.split('/').pop() || '';\n }\n\n openFile(fileUrl: string) {\n if (!fileUrl) {\n return;\n }\n this.utilService.openFullRouteInNewWindow(\n `${this.envSvc.environment.FILE_BASE_URL}${fileUrl}`\n );\n }\n}\n","<div class=\"bg-[var(--vbn-color-surface-alt)]\">\n <header class=\"mx-8 rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\">\n <h4 class=\"font-semibold\">{{ taskCode() }}</h4>\n <div class=\"flex gap-4 items-center\">\n <verbena-button (click)=\"addComment()\" text=\"+ Add Comment\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verben-svg (click)=\"goBack()\" class=\"cursor-pointer\" [width]=\"17\" [height]=\"17\" [icon]=\"'go-back'\"></verben-svg>\n </div>\n </header>\n <section class=\"grid grid-cols-12\">\n <div class=\"bg-[var(--vbn-color-surface)] col-span-7 pl-16 pt-20 relative\">\n <div *ngIf=\"showCommentBox\" class=\"mb-6 mr-10\">\n <h4 class=\"font-bold text-lg mb-2\">Add Comment</h4>\n <!-- <verbena-textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full\"></verbena-textarea> -->\n <textarea [(ngModel)]=\"newComment\" label=\"Comment\" class=\"w-full border rounded-md p-2\"></textarea>\n <div class=\"mt-4\">\n <file-upload (selectedFilesChange)=\"onFileSelect($event)\" [multiple]=\"true\" label=\"Attach Files\">\n </file-upload>\n <div *ngIf=\"selectedFiles.length > 0\" class=\"flex flex-wrap gap-3 mt-3\">\n <div *ngFor=\"let file of selectedFiles\">\n <ng-container [ngSwitch]=\"file.Extension\">\n <img *ngSwitchCase=\"'jpg'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <img *ngSwitchCase=\"'png'\" [src]=\"file.Data\"\n class=\"w-[100px] h-[100px] object-cover rounded-md border\" />\n <video *ngSwitchCase=\"'mp4'\" [src]=\"file.Data\" class=\"w-[150px] rounded-md shadow\" controls></video>\n <audio *ngSwitchCase=\"'mp3'\" [src]=\"file.Data\" controls class=\"w-[150px]\"></audio>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"flex justify-end gap-2 mt-2\">\n <verbena-button (click)=\"addComment()\" text=\"Cancel\" styleType=\"ylw-outline\"></verbena-button>\n <verbena-button (click)=\"saveComment()\" text=\"Save\" bgColor=\"var(--vbn-color-primary)\" textColor=\"var(--vbn-color-on-primary)\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\"></verbena-button>\n </div>\n </div>\n <span class=\"absolute block h-[90%] h-ninety border border-secondary-200 left-[150px]\"></span>\n <div *ngFor=\"let timeline of history; let i = index\">\n <div>\n <div class=\"flex mb-7\">\n <h5 class=\"w-[100px] cursor-pointer\" (click)=\"setActive(i)\">\n {{ timeline?.CreatedAt | date }}\n </h5>\n <div class=\"ml-24 cursor-pointer min-w-[250px] p-6 rounded-md border-l-2\" [ngClass]=\"{\n 'bg-[#FEFAF1] border-[var(--vbn-color-primary)]': active === i,\n 'bg-transparent border-transparent hover:bg-[var(--vbn-color-surface-alt)]': active !== i\n }\" (click)=\"setActive(i)\">\n <!-- ActionName as primary heading, fallback to ActionType -->\n <h4 class=\"font-bold text-xl text-[var(--vbn-color-text)] mb-2\">\n {{ timeline.ActionName || timeline.ActionType }}\n </h4>\n\n <!-- Actor information with tooltip -->\n <div class=\"mb-3\">\n <verben-tooltip [top]=\"'0px'\" [left]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-surface)'\"\n [tooltipContent]=\"actorTooltipTemplate\">\n <p class=\"text-sm text-[var(--vbn-color-text-muted)] cursor-help inline-flex items-center gap-2\">\n <verben-svg [width]=\"14\" [height]=\"14\" [icon]=\"'user'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span class=\"font-medium text-[var(--vbn-color-text)]\">{{ timeline.Actor.Name }}</span>\n </p>\n </verben-tooltip>\n\n <ng-template #actorTooltipTemplate>\n <div class=\"bg-white border border-[var(--vbn-color-border)] rounded-lg p-4 shadow-lg w-[280px]\">\n <div class=\"flex gap-3 items-start\">\n <div\n class=\"w-[40px] h-[40px] rounded-full bg-gradient-to-r from-[#D9AEAE] via-[#E3C79F] to-[var(--vbn-color-primary)] flex-shrink-0\">\n </div>\n <div class=\"flex-1 min-w-0\">\n <p class=\"font-bold text-sm text-[var(--vbn-color-text)] mb-1\">\n {{ timeline.Actor.Name }}\n </p>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] break-words flex items-start gap-1\">\n <verben-svg [width]=\"12\" [height]=\"12\" [icon]=\"'mail'\" stroke=\"var(--vbn-color-text-muted)\"></verben-svg>\n <span>{{ timeline.Actor.Identifier }}</span>\n </p>\n <p *ngIf=\"getTagsFromActor(timeline.Actor)\" class=\"text-xs text-[var(--vbn-color-text-muted)] mt-2\">\n <span class=\"font-medium\">Tags:</span> {{ getTagsFromActor(timeline.Actor) }}\n </p>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n\n <!-- Action Type (if different from ActionName) -->\n <p *ngIf=\"timeline.ActionName\" class=\"text-sm text-[var(--vbn-color-text-muted)] mb-2\">\n <span class=\"font-medium\">Operation:</span> {{ timeline.ActionType }}\n </p>\n\n <!-- Stage information for transfer actions -->\n @if (showFromAndTo(timeline.ActionType)) {\n <div class=\"bg-[var(--vbn-color-surface-alt)] rounded-md p-3 mt-2 space-y-1.5\">\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">From:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.FromStage }}</span>\n </p>\n <p class=\"text-sm flex items-center gap-2\">\n <span class=\"text-[var(--vbn-color-text-muted)] font-medium\">To:</span>\n <span class=\"text-[var(--vbn-color-border-focus)] font-mono text-xs\">{{ timeline.ToStage }}</span>\n </p>\n </div>\n }\n\n <!-- View comments button -->\n <button *ngIf=\"timeline.Description\"\n class=\"flex gap-2 items-center w-fit text-[var(--vbn-color-text-muted)] text-sm border px-3 py-2 rounded-lg bg-[var(--vbn-color-surface-alt)] mt-3 border-[var(--vbn-color-border)] hover:bg-[var(--vbn-color-surface-alt)] hover:border-[var(--vbn-color-border)] transition-colors\">\n <verben-svg [width]=\"15\" [height]=\"15\" [icon]=\"'chat'\"></verben-svg>\n View comments\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-5\">\n <div class=\"h-[50px] bg-[var(--vbn-color-surface)]\"></div>\n <div *ngIf=\"active >= 0\" class=\"w-[480px] pl-16 pt-10\">\n <h1 class=\"font-bold text-lg py-2\">Comments</h1>\n <p class=\"text-xs text-[var(--vbn-color-text-muted)] text-right py-2\">\n {{ history[active].CreatedAt | date }}\n </p>\n <div class=\"bg-[var(--vbn-color-surface)] text-[var(--vbn-color-text)] leading-relaxed p-8 shadow-md rounded-md\">\n {{ history[active].Description }}\n\n <div *ngIf=\"history[active]?.Files?.length\" class=\"mt-4 border-t pt-4\">\n <h5 class=\"font-bold text-sm mb-2\">Attachments</h5>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let file of history[active]?.Files\"\n class=\"file-container p-2 flex items-center justify-between gap-3 border rounded-md bg-gray-50\">\n <div class=\"text-sm overflow-x-auto font-semibold\">\n {{ getFileName(file) }}\n </div>\n <span (click)=\"openFile(file)\" class=\"cursor-pointer\">\n <verben-svg [icon]=\"'download-icon'\" [width]=\"20\" [height]=\"20\"></verben-svg>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TooltipModule } from 'verben-ng-ui';\nimport { FileUploadModule } from 'verben-workflow-ui/src/lib/components/file-upload';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { TaskHistoryComponent } from './task-history.component';\n@NgModule({\n declarations: [TaskHistoryComponent],\n imports: [SharedModule, FileUploadModule, TooltipModule],\n exports: [TaskHistoryComponent],\n})\nexport class TaskHistoryModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TaskHistoryService","i3"],"mappings":"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"}
@@ -35,6 +35,12 @@ var DataType;
35
35
  DataType["Audio"] = "Audio";
36
36
  DataType["SingleFileSelection"] = "SingleFileSelection";
37
37
  DataType["MultiFileSelection"] = "MultiFileSelection";
38
+ DataType["DateTime"] = "DateTime";
39
+ DataType["DateTimeOffset"] = "DateTimeOffset";
40
+ DataType["None"] = "None";
41
+ DataType["JSON"] = "JSON";
42
+ DataType["Boolean"] = "Boolean";
43
+ DataType["SmallInt"] = "SmallInt";
38
44
  })(DataType || (DataType = {}));
39
45
 
40
46
  class ErrorResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-models.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/models/ActionType.ts","../../../projects/verben-workflow-ui/src/lib/models/auth-mechanism.ts","../../../projects/verben-workflow-ui/src/lib/models/DataType.ts","../../../projects/verben-workflow-ui/src/lib/models/ErrorResponse.ts","../../../projects/verben-workflow-ui/src/lib/models/EscalationType.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchPropertySign.ts","../../../projects/verben-workflow-ui/src/lib/models/FilterTypes.ts","../../../projects/verben-workflow-ui/src/lib/models/FormFill.ts","../../../projects/verben-workflow-ui/src/lib/models/MessageMedium.ts","../../../projects/verben-workflow-ui/src/lib/models/object-state.ts","../../../projects/verben-workflow-ui/src/lib/models/operation-type.ts","../../../projects/verben-workflow-ui/src/lib/models/PeriodMode.ts","../../../projects/verben-workflow-ui/src/lib/models/ReportType.ts","../../../projects/verben-workflow-ui/src/lib/models/Resource.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchOperator.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchPropertyValueType.ts","../../../projects/verben-workflow-ui/src/lib/models/SortDirection.ts","../../../projects/verben-workflow-ui/src/lib/models/StageActorRule.ts","../../../projects/verben-workflow-ui/src/lib/models/status.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskAssignmentType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskNotificationMessageType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskNotificationType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskStatus.ts","../../../projects/verben-workflow-ui/src/lib/models/user-access-request-status.ts","../../../projects/verben-workflow-ui/src/lib/models/verben-workflow-ui-src-lib-models.ts"],"sourcesContent":["export enum ActionType {\n PassOn = 'PassOn',\n PassBack = 'PassBack',\n SkipForward = 'SkipForward',\n SkipBackward = 'SkipBackward',\n Comment = 'Comment',\n FormFilling = 'FormFilling',\n StatusChange = 'StatusChange',\n}\n","export enum MechanismType {\n InApp = 'InApp',\n Google = 'Google',\n Apple = 'Apple',\n MicrosoftAD = 'MicrosoftAD',\n}\n\nexport interface AuthMechanism {\n AuthMechanism: string;\n ClientId: string;\n ClientSecret: string;\n RedirectUri: string;\n Scope: string;\n}\n","export enum DataType{\n Text='Text',\n MultilineText='MultilineText',\n MailAddress='MailAddress',\n PhoneNumber='PhoneNumber',\n Number='Number',\n Decimal='Decimal',\n YesNo='YesNo',\n URL='URL',\n Image='Image',\n SingleSelection='SingleSelection',\n MultiSelection='MultiSelection',\n Colour='Colour',\n Video='Video',\n Audio='Audio',\n SingleFileSelection='SingleFileSelection',\n MultiFileSelection='MultiFileSelection'\n}","export class ErrorResponse {\n constructor(\n public ErrorMsg: string,\n public StatusCode?: number,\n public FullLog?: any\n ) {}\n}\n","export enum EscalationType {\n OnEntry = \"OnEntry\",\n OnExit = \"OnExit\",\n OnException = \"OnException\",\n}\n","export enum SearchPropertySign {\n EQ = 'EQ',\n NEQ = 'NEQ',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n LIKE = 'LIKE',\n}\n","import { SearchPropertySign } from './SearchPropertySign';\n\nexport enum FilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n NEQ = SearchPropertySign.NEQ,\n}\n","import { BaseModel } from './base';\nimport { FormEntity } from './FormEntity';\n\nexport interface FormFill extends BaseModel {\n Name: string;\n MailAddress: string;\n PhoneNumber: string;\n Address: string;\n Product: string;\n Status: FormFillStatus;\n Groups: FormEntity[];\n}\nexport enum FormFillStatus {\n Completed = 'Completed',\n Saved = 'Saved',\n}\n","export enum MessageMedium {\n Mail = 'Mail',\n SMS = 'SMS',\n}\n","export enum ObjectState {\n New = 'New',\n Changed = 'Changed',\n Unchanged = 'Unchanged',\n Removed = 'Removed',\n}\n","export enum OperationType {\n Comment = 'Comment',\n Forms = 'Forms',\n Assignment = 'Assignment'\n }\n ","export enum PeriodMode {\n Quarterly = 'Quarterly',\n Monthly = 'Monthly',\n Weekly = 'Weekly',\n Yearly = 'Yearly',\n Daily = 'Daily',\n Hourly = 'Hourly',\n Minutes = 'Minutes',\n Seconds = 'Seconds',\n}\n","export enum ReportType {\n Report = 'Report',\n Messaging = 'Messaging',\n All = 'All',\n}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { BaseModel } from './base';\nimport { ObjectState } from './object-state';\n\nexport abstract class ResourceModel<T extends BaseModel> implements BaseModel {\n public Id: string;\n public CreatedAt: Date;\n public readonly UpdatedAt: Date;\n public readonly TenantId: string;\n public readonly Code: string;\n public readonly ServiceName: string;\n public readonly id: string;\n public readonly DataState: ObjectState;\n\n // public columns: ColumnDefinition<T>[];\n\n constructor(model?: Partial<T>) {\n if (model) {\n Object.assign(this, model);\n }\n this.Id = model?.Id || '';\n this.CreatedAt = model?.CreatedAt ? new Date(model.CreatedAt) : new Date();\n this.UpdatedAt = model?.UpdatedAt ? new Date(model.UpdatedAt) : new Date();\n this.DataState =\n model?.DataState === ObjectState.Unchanged\n ? ObjectState.Changed\n : model?.DataState ?? ObjectState.New;\n this.TenantId = model?.TenantId ?? '';\n this.Code = model?.Code ?? '';\n this.ServiceName = model?.ServiceName ?? '';\n this.id = this._key() ?? new Date();\n }\n\n // public get DataState(): ObjectState {\n // return this.DataState;\n // }\n\n // public set DataState(value: ObjectState) {\n // this.DataState =\n // value === ObjectState.Unchanged ? ObjectState.Changed : value;\n // }\n\n /**\n * Override to set custom unique identifier\n * E.g this.Name + this.CreatedAt.toString()\n * @returns unique string identifier for this resource\n */\n protected _key() {\n return this.Code;\n }\n\n public toJson(): any {\n return JSON.parse(JSON.stringify(this));\n }\n\n /** Possibly make DataState private and use a setter */\n}\n","export enum SearchOperator {\n And = 'And',\n Or = 'Or',\n}\n","export enum SearchPropertyValueType {\n Int = 'Int',\n Float = 'Float',\n Decimal = 'Decimal',\n Double = 'Double',\n String = 'String',\n Bool = 'Bool',\n Date = 'Date',\n}\n","export enum SortDirection {\n Asc = 'Asc',\n Desc = 'Desc',\n None = 'None',\n}\n","export enum StageActorRule {\n None = 'None',\n Any = 'Any',\n All = 'All',\n MinimumNumber = 'MinimumNumber',\n}\n","export enum Status {\n InActive = \"InActive\",\n Active = \"Active\",\n }\n ","export enum TaskAssignmentType {\n Queue = 'Queue',\n AutoRoute = 'AutoRoute',\n}\n","export enum TaskNotificationMessageType {\n New = \"New\",\n Existing = \"Existing\"\n}","export enum TaskNotificationType {\n Assignment = 'Assignment',\n Escalation = 'Escalation',\n Follow = 'Follow',\n PossibleAssignment = 'PossibleAssignment',\n}\n","export enum TaskStatus {\n Active = 'Active',\n InActive = 'InActive',\n OnHold = 'OnHold',\n Cancelled = 'Cancelled',\n Completed = 'Completed',\n}\n","export enum UserAccessRequestStatus {\n Pending = 'Pending',\n Approved = 'Approved',\n Declined = 'Declined',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-models.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/models/ActionType.ts","../../../projects/verben-workflow-ui/src/lib/models/auth-mechanism.ts","../../../projects/verben-workflow-ui/src/lib/models/DataType.ts","../../../projects/verben-workflow-ui/src/lib/models/ErrorResponse.ts","../../../projects/verben-workflow-ui/src/lib/models/EscalationType.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchPropertySign.ts","../../../projects/verben-workflow-ui/src/lib/models/FilterTypes.ts","../../../projects/verben-workflow-ui/src/lib/models/FormFill.ts","../../../projects/verben-workflow-ui/src/lib/models/MessageMedium.ts","../../../projects/verben-workflow-ui/src/lib/models/object-state.ts","../../../projects/verben-workflow-ui/src/lib/models/operation-type.ts","../../../projects/verben-workflow-ui/src/lib/models/PeriodMode.ts","../../../projects/verben-workflow-ui/src/lib/models/ReportType.ts","../../../projects/verben-workflow-ui/src/lib/models/Resource.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchOperator.ts","../../../projects/verben-workflow-ui/src/lib/models/SearchPropertyValueType.ts","../../../projects/verben-workflow-ui/src/lib/models/SortDirection.ts","../../../projects/verben-workflow-ui/src/lib/models/StageActorRule.ts","../../../projects/verben-workflow-ui/src/lib/models/status.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskAssignmentType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskNotificationMessageType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskNotificationType.ts","../../../projects/verben-workflow-ui/src/lib/models/TaskStatus.ts","../../../projects/verben-workflow-ui/src/lib/models/user-access-request-status.ts","../../../projects/verben-workflow-ui/src/lib/models/verben-workflow-ui-src-lib-models.ts"],"sourcesContent":["export enum ActionType {\n PassOn = 'PassOn',\n PassBack = 'PassBack',\n SkipForward = 'SkipForward',\n SkipBackward = 'SkipBackward',\n Comment = 'Comment',\n FormFilling = 'FormFilling',\n StatusChange = 'StatusChange',\n}\n","export enum MechanismType {\n InApp = 'InApp',\n Google = 'Google',\n Apple = 'Apple',\n MicrosoftAD = 'MicrosoftAD',\n}\n\nexport interface AuthMechanism {\n AuthMechanism: string;\n ClientId: string;\n ClientSecret: string;\n RedirectUri: string;\n Scope: string;\n}\n","export enum DataType {\n Text = 'Text',\n MultilineText = 'MultilineText',\n MailAddress = 'MailAddress',\n PhoneNumber = 'PhoneNumber',\n Number = 'Number',\n Decimal = 'Decimal',\n YesNo = 'YesNo',\n URL = 'URL',\n Image = 'Image',\n SingleSelection = 'SingleSelection',\n MultiSelection = 'MultiSelection',\n Colour = 'Colour',\n Video = 'Video',\n Audio = 'Audio',\n SingleFileSelection = 'SingleFileSelection',\n MultiFileSelection = 'MultiFileSelection',\n DateTime = 'DateTime',\n DateTimeOffset = 'DateTimeOffset',\n None = 'None',\n JSON = 'JSON',\n Boolean = 'Boolean',\n SmallInt = 'SmallInt',\n}\n","export class ErrorResponse {\n constructor(\n public ErrorMsg: string,\n public StatusCode?: number,\n public FullLog?: any\n ) {}\n}\n","export enum EscalationType {\n OnEntry = \"OnEntry\",\n OnExit = \"OnExit\",\n OnException = \"OnException\",\n}\n","export enum SearchPropertySign {\n EQ = 'EQ',\n NEQ = 'NEQ',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n LIKE = 'LIKE',\n}\n","import { SearchPropertySign } from './SearchPropertySign';\n\nexport enum FilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n NEQ = SearchPropertySign.NEQ,\n}\n","import { BaseModel } from './base';\nimport { FormEntity } from './FormEntity';\n\nexport interface FormFill extends BaseModel {\n Name: string;\n MailAddress: string;\n PhoneNumber: string;\n Address: string;\n Product: string;\n Status: FormFillStatus;\n Groups: FormEntity[];\n}\nexport enum FormFillStatus {\n Completed = 'Completed',\n Saved = 'Saved',\n}\n","export enum MessageMedium {\n Mail = 'Mail',\n SMS = 'SMS',\n}\n","export enum ObjectState {\n New = 'New',\n Changed = 'Changed',\n Unchanged = 'Unchanged',\n Removed = 'Removed',\n}\n","export enum OperationType {\n Comment = 'Comment',\n Forms = 'Forms',\n Assignment = 'Assignment'\n }\n ","export enum PeriodMode {\n Quarterly = 'Quarterly',\n Monthly = 'Monthly',\n Weekly = 'Weekly',\n Yearly = 'Yearly',\n Daily = 'Daily',\n Hourly = 'Hourly',\n Minutes = 'Minutes',\n Seconds = 'Seconds',\n}\n","export enum ReportType {\n Report = 'Report',\n Messaging = 'Messaging',\n All = 'All',\n}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { BaseModel } from './base';\nimport { ObjectState } from './object-state';\n\nexport abstract class ResourceModel<T extends BaseModel> implements BaseModel {\n public Id: string;\n public CreatedAt: Date;\n public readonly UpdatedAt: Date;\n public readonly TenantId: string;\n public readonly Code: string;\n public readonly ServiceName: string;\n public readonly id: string;\n public readonly DataState: ObjectState;\n\n // public columns: ColumnDefinition<T>[];\n\n constructor(model?: Partial<T>) {\n if (model) {\n Object.assign(this, model);\n }\n this.Id = model?.Id || '';\n this.CreatedAt = model?.CreatedAt ? new Date(model.CreatedAt) : new Date();\n this.UpdatedAt = model?.UpdatedAt ? new Date(model.UpdatedAt) : new Date();\n this.DataState =\n model?.DataState === ObjectState.Unchanged\n ? ObjectState.Changed\n : model?.DataState ?? ObjectState.New;\n this.TenantId = model?.TenantId ?? '';\n this.Code = model?.Code ?? '';\n this.ServiceName = model?.ServiceName ?? '';\n this.id = this._key() ?? new Date();\n }\n\n // public get DataState(): ObjectState {\n // return this.DataState;\n // }\n\n // public set DataState(value: ObjectState) {\n // this.DataState =\n // value === ObjectState.Unchanged ? ObjectState.Changed : value;\n // }\n\n /**\n * Override to set custom unique identifier\n * E.g this.Name + this.CreatedAt.toString()\n * @returns unique string identifier for this resource\n */\n protected _key() {\n return this.Code;\n }\n\n public toJson(): any {\n return JSON.parse(JSON.stringify(this));\n }\n\n /** Possibly make DataState private and use a setter */\n}\n","export enum SearchOperator {\n And = 'And',\n Or = 'Or',\n}\n","export enum SearchPropertyValueType {\n Int = 'Int',\n Float = 'Float',\n Decimal = 'Decimal',\n Double = 'Double',\n String = 'String',\n Bool = 'Bool',\n Date = 'Date',\n}\n","export enum SortDirection {\n Asc = 'Asc',\n Desc = 'Desc',\n None = 'None',\n}\n","export enum StageActorRule {\n None = 'None',\n Any = 'Any',\n All = 'All',\n MinimumNumber = 'MinimumNumber',\n}\n","export enum Status {\n InActive = \"InActive\",\n Active = \"Active\",\n }\n ","export enum TaskAssignmentType {\n Queue = 'Queue',\n AutoRoute = 'AutoRoute',\n}\n","export enum TaskNotificationMessageType {\n New = \"New\",\n Existing = \"Existing\"\n}","export enum TaskNotificationType {\n Assignment = 'Assignment',\n Escalation = 'Escalation',\n Follow = 'Follow',\n PossibleAssignment = 'PossibleAssignment',\n}\n","export enum TaskStatus {\n Active = 'Active',\n InActive = 'InActive',\n OnHold = 'OnHold',\n Cancelled = 'Cancelled',\n Completed = 'Completed',\n}\n","export enum UserAccessRequestStatus {\n Pending = 'Pending',\n Approved = 'Approved',\n Declined = 'Declined',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-workflow-ui",
3
- "version": "0.5.78",
3
+ "version": "0.5.79",
4
4
  "style": "styles/styles.css",
5
5
  "exports": {
6
6
  "./styles": {
@@ -15,29 +15,17 @@
15
15
  "esm": "./esm2022/verben-workflow-ui.mjs",
16
16
  "default": "./fesm2022/verben-workflow-ui.mjs"
17
17
  },
18
- "./src/lib/pipes": {
19
- "types": "./src/lib/pipes/index.d.ts",
20
- "esm2022": "./esm2022/src/lib/pipes/verben-workflow-ui-src-lib-pipes.mjs",
21
- "esm": "./esm2022/src/lib/pipes/verben-workflow-ui-src-lib-pipes.mjs",
22
- "default": "./fesm2022/verben-workflow-ui-src-lib-pipes.mjs"
23
- },
24
18
  "./src/lib/models": {
25
19
  "types": "./src/lib/models/index.d.ts",
26
20
  "esm2022": "./esm2022/src/lib/models/verben-workflow-ui-src-lib-models.mjs",
27
21
  "esm": "./esm2022/src/lib/models/verben-workflow-ui-src-lib-models.mjs",
28
22
  "default": "./fesm2022/verben-workflow-ui-src-lib-models.mjs"
29
23
  },
30
- "./src/lib/services": {
31
- "types": "./src/lib/services/index.d.ts",
32
- "esm2022": "./esm2022/src/lib/services/verben-workflow-ui-src-lib-services.mjs",
33
- "esm": "./esm2022/src/lib/services/verben-workflow-ui-src-lib-services.mjs",
34
- "default": "./fesm2022/verben-workflow-ui-src-lib-services.mjs"
35
- },
36
- "./src/lib/components/designer": {
37
- "types": "./src/lib/components/designer/index.d.ts",
38
- "esm2022": "./esm2022/src/lib/components/designer/verben-workflow-ui-src-lib-components-designer.mjs",
39
- "esm": "./esm2022/src/lib/components/designer/verben-workflow-ui-src-lib-components-designer.mjs",
40
- "default": "./fesm2022/verben-workflow-ui-src-lib-components-designer.mjs"
24
+ "./src/lib/pipes": {
25
+ "types": "./src/lib/pipes/index.d.ts",
26
+ "esm2022": "./esm2022/src/lib/pipes/verben-workflow-ui-src-lib-pipes.mjs",
27
+ "esm": "./esm2022/src/lib/pipes/verben-workflow-ui-src-lib-pipes.mjs",
28
+ "default": "./fesm2022/verben-workflow-ui-src-lib-pipes.mjs"
41
29
  },
42
30
  "./src/lib/shared": {
43
31
  "types": "./src/lib/shared/index.d.ts",
@@ -45,30 +33,42 @@
45
33
  "esm": "./esm2022/src/lib/shared/verben-workflow-ui-src-lib-shared.mjs",
46
34
  "default": "./fesm2022/verben-workflow-ui-src-lib-shared.mjs"
47
35
  },
36
+ "./src/lib/services": {
37
+ "types": "./src/lib/services/index.d.ts",
38
+ "esm2022": "./esm2022/src/lib/services/verben-workflow-ui-src-lib-services.mjs",
39
+ "esm": "./esm2022/src/lib/services/verben-workflow-ui-src-lib-services.mjs",
40
+ "default": "./fesm2022/verben-workflow-ui-src-lib-services.mjs"
41
+ },
48
42
  "./src/lib/components/actors": {
49
43
  "types": "./src/lib/components/actors/index.d.ts",
50
44
  "esm2022": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
51
45
  "esm": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
52
46
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-actors.mjs"
53
47
  },
48
+ "./src/lib/components/designer": {
49
+ "types": "./src/lib/components/designer/index.d.ts",
50
+ "esm2022": "./esm2022/src/lib/components/designer/verben-workflow-ui-src-lib-components-designer.mjs",
51
+ "esm": "./esm2022/src/lib/components/designer/verben-workflow-ui-src-lib-components-designer.mjs",
52
+ "default": "./fesm2022/verben-workflow-ui-src-lib-components-designer.mjs"
53
+ },
54
54
  "./src/lib/components/expiration": {
55
55
  "types": "./src/lib/components/expiration/index.d.ts",
56
56
  "esm2022": "./esm2022/src/lib/components/expiration/verben-workflow-ui-src-lib-components-expiration.mjs",
57
57
  "esm": "./esm2022/src/lib/components/expiration/verben-workflow-ui-src-lib-components-expiration.mjs",
58
58
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs"
59
59
  },
60
- "./src/lib/components/file-render": {
61
- "types": "./src/lib/components/file-render/index.d.ts",
62
- "esm2022": "./esm2022/src/lib/components/file-render/verben-workflow-ui-src-lib-components-file-render.mjs",
63
- "esm": "./esm2022/src/lib/components/file-render/verben-workflow-ui-src-lib-components-file-render.mjs",
64
- "default": "./fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs"
65
- },
66
60
  "./src/lib/components/file-upload": {
67
61
  "types": "./src/lib/components/file-upload/index.d.ts",
68
62
  "esm2022": "./esm2022/src/lib/components/file-upload/verben-workflow-ui-src-lib-components-file-upload.mjs",
69
63
  "esm": "./esm2022/src/lib/components/file-upload/verben-workflow-ui-src-lib-components-file-upload.mjs",
70
64
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs"
71
65
  },
66
+ "./src/lib/components/file-render": {
67
+ "types": "./src/lib/components/file-render/index.d.ts",
68
+ "esm2022": "./esm2022/src/lib/components/file-render/verben-workflow-ui-src-lib-components-file-render.mjs",
69
+ "esm": "./esm2022/src/lib/components/file-render/verben-workflow-ui-src-lib-components-file-render.mjs",
70
+ "default": "./fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs"
71
+ },
72
72
  "./src/lib/components/flowable-status": {
73
73
  "types": "./src/lib/components/flowable-status/index.d.ts",
74
74
  "esm2022": "./esm2022/src/lib/components/flowable-status/verben-workflow-ui-src-lib-components-flowable-status.mjs",
@@ -99,6 +99,12 @@
99
99
  "esm": "./esm2022/src/lib/components/form-timer/verben-workflow-ui-src-lib-components-form-timer.mjs",
100
100
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs"
101
101
  },
102
+ "./src/lib/components/forms": {
103
+ "types": "./src/lib/components/forms/index.d.ts",
104
+ "esm2022": "./esm2022/src/lib/components/forms/verben-workflow-ui-src-lib-components-forms.mjs",
105
+ "esm": "./esm2022/src/lib/components/forms/verben-workflow-ui-src-lib-components-forms.mjs",
106
+ "default": "./fesm2022/verben-workflow-ui-src-lib-components-forms.mjs"
107
+ },
102
108
  "./src/lib/components/journal": {
103
109
  "types": "./src/lib/components/journal/index.d.ts",
104
110
  "esm2022": "./esm2022/src/lib/components/journal/verben-workflow-ui-src-lib-components-journal.mjs",
@@ -111,23 +117,17 @@
111
117
  "esm": "./esm2022/src/lib/components/my-queue/verben-workflow-ui-src-lib-components-my-queue.mjs",
112
118
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs"
113
119
  },
114
- "./src/lib/components/forms": {
115
- "types": "./src/lib/components/forms/index.d.ts",
116
- "esm2022": "./esm2022/src/lib/components/forms/verben-workflow-ui-src-lib-components-forms.mjs",
117
- "esm": "./esm2022/src/lib/components/forms/verben-workflow-ui-src-lib-components-forms.mjs",
118
- "default": "./fesm2022/verben-workflow-ui-src-lib-components-forms.mjs"
119
- },
120
120
  "./src/lib/components/operation-popup": {
121
121
  "types": "./src/lib/components/operation-popup/index.d.ts",
122
122
  "esm2022": "./esm2022/src/lib/components/operation-popup/verben-workflow-ui-src-lib-components-operation-popup.mjs",
123
123
  "esm": "./esm2022/src/lib/components/operation-popup/verben-workflow-ui-src-lib-components-operation-popup.mjs",
124
124
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs"
125
125
  },
126
- "./src/lib/components/task-history": {
127
- "types": "./src/lib/components/task-history/index.d.ts",
128
- "esm2022": "./esm2022/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.mjs",
129
- "esm": "./esm2022/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.mjs",
130
- "default": "./fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs"
126
+ "./src/lib/components/stage-details": {
127
+ "types": "./src/lib/components/stage-details/index.d.ts",
128
+ "esm2022": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
129
+ "esm": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
130
+ "default": "./fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs"
131
131
  },
132
132
  "./src/lib/components/task-form": {
133
133
  "types": "./src/lib/components/task-form/index.d.ts",
@@ -135,11 +135,11 @@
135
135
  "esm": "./esm2022/src/lib/components/task-form/verben-workflow-ui-src-lib-components-task-form.mjs",
136
136
  "default": "./fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs"
137
137
  },
138
- "./src/lib/components/stage-details": {
139
- "types": "./src/lib/components/stage-details/index.d.ts",
140
- "esm2022": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
141
- "esm": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
142
- "default": "./fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs"
138
+ "./src/lib/components/task-history": {
139
+ "types": "./src/lib/components/task-history/index.d.ts",
140
+ "esm2022": "./esm2022/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.mjs",
141
+ "esm": "./esm2022/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.mjs",
142
+ "default": "./fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs"
143
143
  },
144
144
  "./src/lib/components/task-notification": {
145
145
  "types": "./src/lib/components/task-notification/index.d.ts",
@@ -130,6 +130,7 @@ export declare class FormFieldsComponent implements OnInit {
130
130
  }): void;
131
131
  handleExport(exportedData: Partial<any>[]): void;
132
132
  private downloadCSV;
133
+ publishEAV(entity: FormEntity): Promise<void>;
133
134
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldsComponent, never>;
134
135
  static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldsComponent, "lib-form-fields", never, { "path": { "alias": "path"; "required": false; }; "application": { "alias": "application"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "searchDebounceTime": { "alias": "searchDebounceTime"; "required": false; }; }, { "onViewProcessClicked": "onViewProcessClicked"; }, never, never, false, never>;
135
136
  }