@eo-sdk/client 8.16.4 → 8.16.6

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.
@@ -5707,7 +5707,13 @@ class CodesystemComponent {
5707
5707
  onAutoCompleteBlur(e) {
5708
5708
  if (!this.multiselect && !this.readonly) {
5709
5709
  const existingNode = this.autocompleteValues.find(tNode => tNode.name === e.target.value);
5710
- this.selectedNodes = existingNode ? existingNode : null;
5710
+ if (existingNode) {
5711
+ this.selectedNodes = existingNode;
5712
+ }
5713
+ else {
5714
+ this.selectedNodes = null;
5715
+ e.target.value = null;
5716
+ }
5711
5717
  this.setFormControlValue();
5712
5718
  }
5713
5719
  }
@@ -7488,7 +7494,7 @@ class NumberRangeComponent {
7488
7494
  this.value = !this.isValid ? null : new RangeValue(this.searchOption, this.rangeForm.get('numberValueFrom').value, this.rangeForm.get('numberValue').value);
7489
7495
  }
7490
7496
  else {
7491
- this.value = !this.isValid || !this.rangeForm.get('numberValue').value ? null : new RangeValue(this.searchOption, this.rangeForm.get('numberValue').value);
7497
+ this.value = !this.isValid || this.rangeForm.get('numberValue').value === null ? null : new RangeValue(this.searchOption, this.rangeForm.get('numberValue').value);
7492
7498
  }
7493
7499
  this.propagateChange(this.value);
7494
7500
  }
@@ -10036,7 +10042,7 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10036
10042
  });
10037
10043
  this._cachedColumns = this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION) || [];
10038
10044
  this._cachedColumnsOverlay = this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY) || [];
10039
- this.showPreview = !!this.storageService.getItem('showPreview');
10045
+ this.showPreview = !!this.storageService.getItem('eo.table.showPreview');
10040
10046
  }
10041
10047
  set params(p) {
10042
10048
  if (p) {
@@ -10374,7 +10380,7 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10374
10380
  }
10375
10381
  togglePreview() {
10376
10382
  this.showPreview = !this.showPreview;
10377
- this.storageService.setItem('showPreview', this.showPreview);
10383
+ this.storageService.setItem('eo.table.showPreview', this.showPreview);
10378
10384
  }
10379
10385
  }
10380
10386
  FormElementTableComponent.COLUMNS_DEFINITION = 'eo.framework.cache.tables.columns.definition';
@@ -10382,7 +10388,7 @@ FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY = 'eo.framework.cache.table
10382
10388
  FormElementTableComponent.decorators = [
10383
10389
  { type: Component, args: [{
10384
10390
  selector: 'eo-table',
10385
- template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\" [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog\n[title]=\"params.element.label\"\n[visible]=\"showDialog\"\n[dirtyCheck]=\"rowEdit?.pendingTaskId\"\n[minWidth]=\"_params.situation !== 'SEARCH' ? '97vw' : 200\"\n[styleClass]=\"'object-form-table-dialog'\"\n(hide)=\"onClose()\"\n[isFormTable]=\"true\"\n[hasPreviewFile]=\"!!params.object?.content\"\n[showPreview]=\"showPreview\"\n(onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\">\n\n <eo-split [gutterSize]=\"16\" [switchable]=\"true\">\n\n <eo-split-area *ngIf=\"_params.situation !== 'SEARCH'\" class=\"table-area\" [size]=\"50\" [minSizePixel]=\"100\" [order]=\"1\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </eo-split-area>\n\n <eo-split-area [size]=\"15\" [minSizePixel]=\"300\" *ngIf=\"editingRow\" [order]=\"2\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" #rowEdit\n (onSave)=\"updateRow($event)\"\n (onSaveCopy)=\"copyRow($event)\"\n (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </eo-split-area>\n\n <eo-split-area *ngIf=\"editingRow && showPreview && !!params.object?.content\" [size]=\"10\" [minSizePixel]=\"150\" [order]=\"3\">\n <eo-media [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object.id === params.object.content?.id\"></eo-media>\n </eo-split-area>\n </eo-split>\n </div>\n</eo-dialog>\n\n",
10391
+ template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\" [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog\n[title]=\"params.element.label\"\n[visible]=\"showDialog\"\n[dirtyCheck]=\"rowEdit?.pendingTaskId\"\n[minWidth]=\"_params.situation !== 'SEARCH' ? '97vw' : 200\"\n[styleClass]=\"'object-form-table-dialog'\"\n(hide)=\"onClose()\"\n[isFormTable]=\"true\"\n[hasPreviewFile]=\"!!params.object?.content\"\n[showPreview]=\"showPreview\"\n(onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\">\n\n <eo-split [gutterSize]=\"16\" [switchable]=\"true\" [cacheLayout]=\"'table.state'\">\n\n <eo-split-area *ngIf=\"_params.situation !== 'SEARCH'\" class=\"table-area\" [size]=\"40\" [minSizePixel]=\"100\" [order]=\"1\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </eo-split-area>\n\n <eo-split-area [size]=\"20\" [minSizePixel]=\"300\" *ngIf=\"editingRow\" [order]=\"2\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" #rowEdit\n (onSave)=\"updateRow($event)\"\n (onSaveCopy)=\"copyRow($event)\"\n (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </eo-split-area>\n\n <eo-split-area *ngIf=\"showPreview && !!params.object?.content\" [size]=\"40\" [minSizePixel]=\"150\" [order]=\"3\">\n <eo-media [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object.id === params.object.content?.id\"></eo-media>\n </eo-split-area>\n </eo-split>\n </div>\n</eo-dialog>\n\n",
10386
10392
  providers: [
10387
10393
  {
10388
10394
  provide: NG_VALUE_ACCESSOR,
@@ -14336,13 +14342,13 @@ class MediaComponent extends UnsubscribeOnDestroy {
14336
14342
  // remove all special characters
14337
14343
  term = (term || '').replace(/[\"|\*]/g, '').trim();
14338
14344
  if (term && ((_b = (_a = win === null || win === void 0 ? void 0 : win.PDFViewerApplication) === null || _a === void 0 ? void 0 : _a.appConfig) === null || _b === void 0 ? void 0 : _b.findBar)) {
14339
- // win.PDFViewerApplication.findController.executeCommand('find', {
14340
- // caseSensitive: false,
14341
- // findPrevious: undefined,
14342
- // highlightAll: true,
14343
- // phraseSearch: true,
14344
- // query: term
14345
- // });
14345
+ win.PDFViewerApplication.findController.executeCommand('find', {
14346
+ caseSensitive: false,
14347
+ findPrevious: undefined,
14348
+ highlightAll: true,
14349
+ phraseSearch: true,
14350
+ query: term
14351
+ });
14346
14352
  win.PDFViewerApplication.appConfig.findBar.findField.value = term;
14347
14353
  win.PDFViewerApplication.appConfig.findBar.highlightAllCheckbox.checked = true;
14348
14354
  win.PDFViewerApplication.appConfig.findBar.caseSensitiveCheckbox.checked = false;
@@ -20773,11 +20779,16 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20773
20779
  * Removes the current item from the inbox.
20774
20780
  */
20775
20781
  confirmInboxItem() {
20782
+ this.preventClickThrough = true;
20783
+ setTimeout(() => {
20784
+ this.preventClickThrough = false;
20785
+ }, 1000);
20776
20786
  this.actionProcessing = this.inboxService
20777
20787
  .removeItem(this.item)
20778
20788
  .subscribe(() => {
20779
20789
  this.notify.success(this.translate.instant('eo.inbox.activity.confirm.success'));
20780
20790
  this.eventService.trigger(EnaioEvent.INBOX_ITEM_CONFIRMED, this.item);
20791
+ this.item = undefined;
20781
20792
  this.inboxService.refreshInboxState();
20782
20793
  }, Utils.catch(null, this.translate.instant('eo.process.item.remove.fail')));
20783
20794
  }
@@ -20843,7 +20854,7 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20843
20854
  InboxDetailsComponent.decorators = [
20844
20855
  { type: Component, args: [{
20845
20856
  selector: 'eo-inbox-details',
20846
- template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\" [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" *ngIf=\"initializing.closed\"\n (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <eo-tab-container *ngIf=\"item.type === 'BPM'; else dmsTask\"\n [pluginPanels]=\"externalPanels\"\n [enableSlave]=\"false\"\n [cacheLayout]=\"'inbox-details'\">\n\n <!-- TASK PANEL -->\n <eo-tab-panel [id]=\"'task'\" header=\"{{'eo.process.details.tab.task' | translate}}\">\n\n <div class=\"tab-panel\">\n <div class=\"panel\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <!-- show info when we have an overdue -->\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <!-- list of users that you got the inbox entry for (in substitute of / deputies) -->\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <!-- contents to show when the user has locked the work item -->\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <!-- work item form -->\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <!-- contents to show when work item isn't locked -->\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <!-- list of recipients -->\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length + workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <!-- groups -->\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <!-- roles -->\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <!-- users -->\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <!-- summary of workflows indexdata -->\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <!-- actions for bpm items -->\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <!-- de-personalize the work item -->\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <!-- save form data -->\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\" *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <!-- process actions -->\n <button class=\"primary btn-execute\"\n *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\"\n [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <!-- actions to show up, when the user has not personalized the work item -->\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <!-- personalize the work item -->\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </eo-tab-panel>\n\n <!-- HISTORY PANEL -->\n <eo-tab-panel [id]=\"'history'\" header=\"{{'eo.process.details.tab.progress' | translate}}\">\n\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </eo-tab-panel>\n\n <!-- FILE PANEL -->\n <eo-tab-panel [id]=\"'file'\" header=\"{{'eo.process.details.tab.attachments' | translate}}\">\n <div class=\"tab-panel\">\n <!-- list content attached to the work item -->\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\"\n [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
20857
+ template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\" [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" *ngIf=\"initializing.closed\"\n (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <eo-tab-container *ngIf=\"item.type === 'BPM'; else dmsTask\"\n [pluginPanels]=\"externalPanels\"\n [enableSlave]=\"false\"\n [cacheLayout]=\"'inbox-details'\">\n\n <!-- TASK PANEL -->\n <eo-tab-panel [id]=\"'task'\" header=\"{{'eo.process.details.tab.task' | translate}}\">\n\n <div class=\"tab-panel\">\n <div class=\"panel\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <!-- show info when we have an overdue -->\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <!-- list of users that you got the inbox entry for (in substitute of / deputies) -->\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <!-- contents to show when the user has locked the work item -->\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <!-- work item form -->\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <!-- contents to show when work item isn't locked -->\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <!-- list of recipients -->\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length + workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <!-- groups -->\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <!-- roles -->\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <!-- users -->\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <!-- summary of workflows indexdata -->\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <!-- actions for bpm items -->\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <!-- de-personalize the work item -->\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <!-- save form data -->\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\" *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <!-- process actions -->\n <button class=\"primary btn-execute\"\n *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\"\n [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <!-- actions to show up, when the user has not personalized the work item -->\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <!-- personalize the work item -->\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </eo-tab-panel>\n\n <!-- HISTORY PANEL -->\n <eo-tab-panel [id]=\"'history'\" header=\"{{'eo.process.details.tab.progress' | translate}}\">\n\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </eo-tab-panel>\n\n <!-- FILE PANEL -->\n <eo-tab-panel [id]=\"'file'\" header=\"{{'eo.process.details.tab.attachments' | translate}}\">\n <div class=\"tab-panel\">\n <!-- list content attached to the work item -->\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\"\n [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\" (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
20847
20858
  styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color);height:var(--app-pane-header-height)}.inbox-details:not(.bpm) .eo-body{top:var(--app-pane-header-height)}.inbox-details .eo-head{background-color:var(--color-white);height:calc(var(--app-pane-header-height) - 30px)}.inbox-details .eo-body{bottom:0;left:0;position:absolute;right:0;top:calc(var(--app-pane-header-height) - 30px)}.inbox-details .eo-body .load-error{align-items:center;background-color:var(--panel-background-grey);bottom:0;display:flex;flex-flow:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:5}.inbox-details .eo-body .load-error eo-icon{color:var(--text-color-hint);opacity:.5;width:20%}.inbox-details .eo-body .tab-panel{display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;padding:var(--app-pane-padding)}.inbox-details .eo-body .tab-panel .panel.process-files,.inbox-details .eo-body .tab-panel .panel.process-history{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-height:0;min-width:0;padding:0 calc(var(--app-pane-padding)*0.75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding)/8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{border-color:rgba(var(--color-white-rgb),.7);border-style:solid;border-width:2px 2px 0 0;box-sizing:border-box;content:\"\";height:calc(var(--app-pane-padding)*0.5);position:absolute;right:calc(var(--app-pane-padding)/8);top:calc(var(--app-pane-padding)/8);width:calc(var(--app-pane-padding)*0.5)}.inbox-details .eo-body .tab-panel .process-actions div.primary{display:flex;flex:none;flex:1 1 auto;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;min-height:0;min-width:0;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{opacity:.2;pointer-events:none}.inbox-details .eo-body .tab-panel .process-actions div.secondary{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{cursor:default;pointer-events:none}.inbox-details .eo-body h3{border-bottom:1px solid rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding)/2) 0;padding:0 0 calc(var(--app-pane-padding)/4) 0}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;margin-bottom:var(--app-pane-padding);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding)/2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding)/4) 0}.inbox-details .eo-body .process-performer .head{align-items:center;display:flex;flex-flow:row nowrap}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;border:1px solid rgba(var(--color-black-rgb),.1);border-radius:2px;cursor:pointer;display:flex;flex-flow:row nowrap;overflow:hidden;padding:0 0 0 calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action .count{color:var(--text-color-caption);line-height:1em}.inbox-details .eo-body .process-performer .head .action eo-icon{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding)/2) 0}.inbox-details .eo-body .process-performer .body .performer{-moz-user-select:none;-webkit-animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;align-items:center;animation:eoFadeInDown var(--app-default-transition-duration);background-color:var(--color-white);border-radius:2px;display:flex;flex-flow:row nowrap;margin-bottom:2px;padding:2px;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{background-color:var(--color-primary-3);border-radius:2px;color:var(--color-white);flex:0 0 auto;padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{background-color:rgba(var(--color-black-rgb),.08);border-radius:2px;color:var(--text-color-caption);display:inline-block;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/2);padding:2px calc(var(--app-pane-padding)/2)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}"]
20848
20859
  },] }
20849
20860
  ];
@@ -22380,10 +22391,10 @@ class AboutStateComponent {
22380
22391
  this.http = http;
22381
22392
  this.userService = userService;
22382
22393
  this.config = config;
22383
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.4", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22394
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.6", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22384
22395
  this.ctrl = {
22385
22396
  productName: 'yuuvis® RAD client',
22386
- clientVersion: '8.16.4'
22397
+ clientVersion: '8.16.6'
22387
22398
  };
22388
22399
  this.licenses = {
22389
22400
  'MIT': {