@fundamental-ngx/platform 0.43.28 → 0.43.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/approval-flow/approval-flow.component.d.ts +7 -1
- package/esm2020/approval-flow/approval-flow.component.mjs +24 -2
- package/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2020/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
- package/esm2020/form/input-message-group-with-template/input-message-group-with-template.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
- package/esm2020/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2020/form/multi-input/multi-input.component.mjs +1 -1
- package/esm2020/form/step-input/number/number-step-input.component.mjs +1 -1
- package/esm2020/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +1 -1
- package/esm2020/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +1 -1
- package/esm2020/message-popover/message-popover.component.mjs +1 -1
- package/esm2020/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
- package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
- package/esm2020/table/components/table-p13-dialog/filtering/filtering.component.mjs +9 -5
- package/esm2020/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
- package/esm2020/table/components/table-p13-dialog/grouping/grouping.component.mjs +3 -3
- package/esm2020/table/components/table-p13-dialog/sorting/sorting.component.mjs +3 -3
- package/esm2020/table/components/table-p13-dialog/table-p13-dialog.component.mjs +6 -3
- package/esm2020/table/components/table-p13-dialog/table-p13-filter.component.mjs +7 -5
- package/esm2020/table/components/table-row/table-row.component.mjs +6 -4
- package/esm2020/table-helpers/directives/index.mjs +1 -2
- package/esm2020/table-helpers/table-helpers.module.mjs +2 -5
- package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2020/value-help-dialog/components/define-tab/define-tab.component.mjs +1 -1
- package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +3 -3
- package/esm2020/variant-management/variant-management.component.mjs +1 -1
- package/esm2020/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +21 -1
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +8 -8
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-icon-tab-bar.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-search-field.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +3 -38
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +30 -19
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +3 -3
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-wizard-generator.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +23 -1
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +8 -8
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-icon-tab-bar.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-search-field.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +3 -38
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +30 -19
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +3 -3
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-wizard-generator.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.30.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/table/components/table-p13-dialog/filtering/filtering.model.d.ts +1 -0
- package/table/components/table-p13-dialog/table-p13-dialog.component.d.ts +2 -2
- package/table/components/table-p13-dialog/table-p13-filter.component.d.ts +6 -1
- package/table/components/table-row/table-row.component.d.ts +1 -1
- package/table-helpers/directives/index.d.ts +0 -1
- package/table-helpers/table-helpers.module.d.ts +11 -12
- package/esm2020/table-helpers/directives/table-cell-selectable.directive.mjs +0 -36
- package/fundamental-ngx-platform-v0.43.28.tgz +0 -0
- package/table-helpers/directives/table-cell-selectable.directive.d.ts +0 -9
|
@@ -1636,6 +1636,10 @@ class ApprovalFlowComponent {
|
|
|
1636
1636
|
this.disableSaveButton = false;
|
|
1637
1637
|
/** Disables exit button, exit button is enabled by default */
|
|
1638
1638
|
this.disableExitButton = false;
|
|
1639
|
+
/**
|
|
1640
|
+
* Should remove the space node from the graph
|
|
1641
|
+
*/
|
|
1642
|
+
this.removeSpaceNode = false;
|
|
1639
1643
|
/** Event emitted on approval flow node click. */
|
|
1640
1644
|
this.nodeClick = new EventEmitter();
|
|
1641
1645
|
/** Event emitted on approval flow node add */
|
|
@@ -2159,6 +2163,9 @@ class ApprovalFlowComponent {
|
|
|
2159
2163
|
}
|
|
2160
2164
|
this._approvalProcess = approvalProcess;
|
|
2161
2165
|
this._graph = generateApprovalFlowGraph(this._approvalProcess.nodes);
|
|
2166
|
+
if (this.removeSpaceNode) {
|
|
2167
|
+
this._graph.columns = this.removeSpaceNodesFromColumns(this._graph.columns);
|
|
2168
|
+
}
|
|
2162
2169
|
if (this._graph.errors) {
|
|
2163
2170
|
this._showMessage('error');
|
|
2164
2171
|
return;
|
|
@@ -2330,9 +2337,22 @@ class ApprovalFlowComponent {
|
|
|
2330
2337
|
});
|
|
2331
2338
|
this._subscriptions.add(sub);
|
|
2332
2339
|
}
|
|
2340
|
+
/** @hidden */
|
|
2341
|
+
removeSpaceNodesFromColumns(columns) {
|
|
2342
|
+
const filteredColumns = [];
|
|
2343
|
+
columns.forEach((column) => {
|
|
2344
|
+
const filteredNodes = column.nodes.filter((node) => !node.space);
|
|
2345
|
+
const updatedColumn = {
|
|
2346
|
+
...column,
|
|
2347
|
+
nodes: filteredNodes // Use the filtered list of nodes
|
|
2348
|
+
};
|
|
2349
|
+
filteredColumns.push(updatedColumn);
|
|
2350
|
+
});
|
|
2351
|
+
return filteredColumns;
|
|
2352
|
+
}
|
|
2333
2353
|
}
|
|
2334
2354
|
ApprovalFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowComponent, deps: [{ token: i1$1.DialogService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: DATA_PROVIDERS, optional: true }, { token: i6.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
2335
|
-
ApprovalFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowComponent, selector: "fdp-approval-flow", inputs: { title: "title", value: "value", userDataSource: "userDataSource", watcherDataSource: "watcherDataSource", teamDataSource: "teamDataSource", userDetailsTemplate: "userDetailsTemplate", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allowSendRemindersForStatuses: "allowSendRemindersForStatuses", isEditAvailable: "isEditAvailable", watchersLabel: "watchersLabel", allowAddParallelNodes: "allowAddParallelNodes", disableSaveButton: "disableSaveButton", disableExitButton: "disableExitButton", usersDataProviderEntityKey: "usersDataProviderEntityKey", teamsDataProviderEntityKey: "teamsDataProviderEntityKey", watchersDataProviderEntityKey: "watchersDataProviderEntityKey" }, outputs: { nodeClick: "nodeClick", afterNodeAdd: "afterNodeAdd", afterNodeEdit: "afterNodeEdit", valueChange: "valueChange", sendReminders: "sendReminders", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, viewQueries: [{ propertyName: "_graphContainerEl", first: true, predicate: ["graphContainerEl"], descendants: true }, { propertyName: "_graphEl", first: true, predicate: ["graphEl"], descendants: true }, { propertyName: "_gridList", first: true, predicate: ["gridList"], descendants: true }, { propertyName: "_nodeComponents", predicate: ApprovalFlowNodeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6$3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i6$3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i6$3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i10$2.GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: i10$2.GridListItemComponent, selector: "fd-grid-list-item", inputs: ["id", "width", "layoutItemPattern", "status", "counter", "value", "disableToolbarClick", "selected", "noPadding", "ariaLabel", "ariaLabelledBy", "type", "state", "isNavigated", "title", "description"], outputs: ["press", "detail", "delete", "navigate", "draft", "locked"] }, { kind: "component", type: i10$2.GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: i10$2.GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "component", type: i10$2.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "directive", type: i10$2.GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: i10$2.GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: i10$1.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "addonIconTitle", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "directive", type: i12$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i13$1.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: i13$1.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i13$1.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i13$1.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "component", type: ApprovalFlowNodeComponent, selector: "fdp-approval-flow-node", inputs: ["node", "meta", "renderArrow", "checkDueDate", "dueDateThreshold", "allNodesInColumnApproved", "approvalStatusTemplate", "statusColorMapping", "isEdit", "isNextNodeBlank"], outputs: ["onAdd", "onEdit", "onDelete"] }, { kind: "component", type: ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2355
|
+
ApprovalFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowComponent, selector: "fdp-approval-flow", inputs: { title: "title", value: "value", userDataSource: "userDataSource", watcherDataSource: "watcherDataSource", teamDataSource: "teamDataSource", userDetailsTemplate: "userDetailsTemplate", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allowSendRemindersForStatuses: "allowSendRemindersForStatuses", isEditAvailable: "isEditAvailable", watchersLabel: "watchersLabel", allowAddParallelNodes: "allowAddParallelNodes", disableSaveButton: "disableSaveButton", disableExitButton: "disableExitButton", usersDataProviderEntityKey: "usersDataProviderEntityKey", teamsDataProviderEntityKey: "teamsDataProviderEntityKey", watchersDataProviderEntityKey: "watchersDataProviderEntityKey", removeSpaceNode: "removeSpaceNode" }, outputs: { nodeClick: "nodeClick", afterNodeAdd: "afterNodeAdd", afterNodeEdit: "afterNodeEdit", valueChange: "valueChange", sendReminders: "sendReminders", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, viewQueries: [{ propertyName: "_graphContainerEl", first: true, predicate: ["graphContainerEl"], descendants: true }, { propertyName: "_graphEl", first: true, predicate: ["graphEl"], descendants: true }, { propertyName: "_gridList", first: true, predicate: ["gridList"], descendants: true }, { propertyName: "_nodeComponents", predicate: ApprovalFlowNodeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6$3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i6$3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i6$3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i10$2.GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: i10$2.GridListItemComponent, selector: "fd-grid-list-item", inputs: ["id", "width", "layoutItemPattern", "status", "counter", "value", "disableToolbarClick", "selected", "noPadding", "ariaLabel", "ariaLabelledBy", "type", "state", "isNavigated", "title", "description"], outputs: ["press", "detail", "delete", "navigate", "draft", "locked"] }, { kind: "component", type: i10$2.GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: i10$2.GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "component", type: i10$2.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "directive", type: i10$2.GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: i10$2.GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: i10$1.MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "addonIconTitle", "class", "filterFn", "valueFn", "displayFn", "newTokenParseFn", "optionItemIdentifier", "newTokenValidateFn", "ariaLabel", "ariaLabelledBy", "fillControlMode", "state", "buttonFocusable", "allowNewTokens", "mobile", "showAllButton", "bodyMaxWidth", "mobileConfig", "includes", "itemTemplate", "title", "byline", "autoComplete", "open", "displayAddonButton", "tokenHiddenId"], outputs: ["searchTermChange", "selectedChange", "openChange", "addOnButtonClicked", "allItemsSelectedChange"] }, { kind: "directive", type: i12$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i13$1.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: i13$1.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i13$1.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i13$1.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "component", type: ApprovalFlowNodeComponent, selector: "fdp-approval-flow-node", inputs: ["node", "meta", "renderArrow", "checkDueDate", "dueDateThreshold", "allNodesInColumnApproved", "approvalStatusTemplate", "statusColorMapping", "isEdit", "isNextNodeBlank"], outputs: ["onAdd", "onEdit", "onDelete"] }, { kind: "component", type: ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2336
2356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowComponent, decorators: [{
|
|
2337
2357
|
type: Component,
|
|
2338
2358
|
args: [{ selector: 'fdp-approval-flow', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\n\n <fd-grid-list\n #gridList\n class=\"fdp-approval-flow__toolbar\"\n [selectionMode]=\"_isEditMode ? 'multiSelect' : 'none'\"\n (selectionChange)=\"_onNodeSelectionChange($event)\"\n >\n <fd-grid-list-title-bar [title]=\"title || ('platformApprovalFlow.defaultTitle' | fdTranslate)\">\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <fdp-approval-flow-toolbar-actions\n *ngIf=\"isEditAvailable\"\n [graph]=\"_graph\"\n [selectedNodes]=\"_selectedNodes\"\n [graphMetadata]=\"_graphMetadata\"\n [isEditMode]=\"_isEditMode\"\n (enterEditMode)=\"_enterEditMode()\"\n (addNode)=\"_addNode($event.node, $event.target)\"\n (editSelectedNode)=\"_editNode($event)\"\n (deleteSelectedNodes)=\"_deleteSelectedNodes()\"\n ></fdp-approval-flow-toolbar-actions>\n </fd-grid-list-title-bar>\n\n <div\n class=\"fdp-approval-flow__watchers\"\n *ngIf=\"_approvalProcess?.watchers?.length || _isEditMode\"\n [attr.aria-label]=\"watchersLabel\"\n >\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n\n <ng-container *ngIf=\"!_isEditMode\">\n <fd-avatar\n *ngFor=\"let watcher of _approvalProcess?.watchers; trackBy: _trackByFn\"\n size=\"xs\"\n [image]=\"watcher.imgUrl || ''\"\n [label]=\"watcher.name\"\n [clickable]=\"true\"\n [circle]=\"true\"\n (avatarClicked)=\"_onWatcherClick(watcher, $event)\"\n ></fd-avatar>\n </ng-container>\n\n <div class=\"fdp-approval-flow__watchers-input-container\" *ngIf=\"_isEditMode\">\n <fd-multi-input\n [dropdownValues]=\"_usersForWatchersList\"\n [placeholder]=\"'platformApprovalFlow.watchersInputPlaceholder' | fdTranslate\"\n [displayFn]=\"_displayUserFn\"\n [valueFn]=\"_userValueFn\"\n [showAllButton]=\"true\"\n [(ngModel)]=\"_selectedWatcherIds\"\n (ngModelChange)=\"_watchersSelectionChanged($event)\"\n ></fd-multi-input>\n </div>\n </div>\n\n <ng-container *ngIf=\"!_graph.errors\">\n <ng-container *ngIf=\"_graph.columns.length; else emptyApprovalFlowGraph\">\n <div\n class=\"fdp-approval-flow__container\"\n [class.fdp-approval-flow__container--extra-padding-start]=\"true\"\n [class.fdp-approval-flow__container--extra-padding-end]=\"true\"\n >\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n *ngIf=\"_scrollDiff > 0\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n <button\n *ngIf=\"_carouselStepsLeft > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--prev-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.prevButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide(-1)\"\n >\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'right' : 'left') + '-arrow'\"></fd-icon>\n {{ _carouselStepsLeft }}\n </button>\n\n <button\n *ngIf=\"_carouselStepsRight > 0\"\n class=\"fdp-approval-flow-carousel-controls__button--next-slide\"\n [attr.aria-label]=\"'platformApprovalFlow.nextButtonAriaLabel' | fdTranslate\"\n (click)=\"nextSlide()\"\n >\n {{ _carouselStepsRight }}\n <fd-icon [glyph]=\"'navigation-' + (_rtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </button>\n </div>\n\n <div\n class=\"fdp-approval-flow__graph-container\"\n [class.fdp-approval-flow__graph-container--multiple-root-nodes]=\"_multipleRootNodes\"\n [class.fdp-approval-flow__graph-container--multiple-final-nodes]=\"_multipleFinalNodes\"\n [class.fd-scrollbar]=\"true\"\n #graphContainerEl\n >\n <div\n class=\"fdp-approval-flow__graph\"\n #graphEl\n [class.fdp-approval-flow__graph--edit-mode]=\"_isEditMode\"\n >\n <div\n class=\"fdp-approval-flow__graph-column\"\n *ngFor=\"let column of _graph.columns; let columnIndex = index\"\n >\n <fdp-approval-flow-node\n *ngFor=\"let node of column.nodes; let nodeIndex = index; trackBy: _trackByFn\"\n cdkDrag\n #approvalFlowNode\n [cdkDragDisabled]=\"_isCdkDragDisabled(node)\"\n [node]=\"node\"\n [meta]=\"_graphMetadata[node.id]\"\n [isEdit]=\"_isEditMode\"\n [isNextNodeBlank]=\"_isNextNodeBlank(node, columnIndex, nodeIndex)\"\n [checkDueDate]=\"checkDueDate\"\n [dueDateThreshold]=\"dueDateThreshold\"\n [renderArrow]=\"columnIndex > 0\"\n [allNodesInColumnApproved]=\"!!column.allNodesApproved\"\n [approvalStatusTemplate]=\"approvalStatusTemplate\"\n [statusColorMapping]=\"statusColorMapping\"\n (onAdd)=\"_addNode(node, $event)\"\n (onEdit)=\"_editNode(node)\"\n (onDelete)=\"_onNodeDelete(node)\"\n (keydown)=\"_onNodeKeyDown($event, node)\"\n (cdkDragStarted)=\"_dragDropInProgress = true\"\n (cdkDragReleased)=\"_onNodeDrop(node, $event.source)\"\n (cdkDragMoved)=\"_onNodeDragMoved(node)\"\n >\n <!-- Trick with using projection to make grid list items visible for the grid list -->\n <fd-grid-list-item\n type=\"active\"\n [value]=\"node\"\n [selected]=\"!!node.selected\"\n [ariaLabelledBy]=\"approvalFlowNode.approvalFlowNodeId\"\n [disableToolbarClick]=\"true\"\n class=\"fdp-approval-flow__graph-node-inner\"\n [class.fdp-approval-flow__graph-node-inner--edit]=\"_isEditMode\"\n (press)=\"_onNodeClick(node)\"\n >\n <fd-grid-list-item-toolbar>\n <ng-container *ngIf=\"_isEditMode\">\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-container>\n </ng-container>\n </fd-grid-list-item-toolbar>\n\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"node.approvers.length === 1 ? node.approvers[0].imgUrl : null\"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n\n <ng-template fd-grid-list-item-body>\n <ng-container\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-container>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </fd-grid-list>\n\n <div fd-bar *ngIf=\"_isEditMode\">\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeSaveButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [disabled]=\"disableSaveButton\"\n (click)=\"_saveEditModeChanges()\"\n ></button>\n </fd-bar-element>\n\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformApprovalFlow.editModeExitButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n [disabled]=\"disableExitButton\"\n (click)=\"_exitEditMode()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n\n <ng-template #emptyApprovalFlowGraph>\n <figure fd-illustrated-message type=\"spot\" [svgConfig]=\"_emptyApprovalFlowSpotConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>\n {{ 'platformApprovalFlow.emptyTitle' | fdTranslate }}\n </h3>\n <p fd-illustrated-message-text>\n {{ 'platformApprovalFlow.emptyHint' | fdTranslate }}\n </p>\n </figcaption>\n </figure>\n\n <!-- TODO #5178: Replace with illustrated image component after it gets fixed -->\n <div style=\"display: none\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n id=\"sapIllus-Spot-NoData\"\n >\n <path\n d=\"M41.6179,32.7174H84.6273a1,1,0,0,1,.723.3092l7.2445,7.5824,7.4817,7.8491a1,1,0,0,1,.2761.69l-.0046,55.6069a4.1038,4.1038,0,0,1-.8787,2.1212A4.0564,4.0564,0,0,1,98.1,107.9631l-56.3858.0313a2.6167,2.6167,0,0,1-3.0812-3.2309l-.0152-69.0594Z\"\n class=\"sapIllus_PatternShadow\"\n style=\"fill: var(--sapIllus_PatternShadow)\"\n ></path>\n <path\n d=\"M35.7928,27.4987H78.8022a1,1,0,0,1,.723.3092L86.77,35.39l7.4816,7.8492a1,1,0,0,1,.2762.69l-.0046,55.6069a3,3,0,0,1-3,3H35.808a2.9946,2.9946,0,0,1-3-2.9913c-.01-12.0564-.0423-57.0116-.0152-69.0595A2.9943,2.9943,0,0,1,35.7928,27.4987Z\"\n class=\"sapIllus_ObjectFillColor\"\n style=\"fill: var(--sapIllus_ObjectFillColor)\"\n ></path>\n <path\n d=\"M93.2978,44.5335H78.8208a.9925.9925,0,0,1-.974-1.01V28.5108a.97.97,0,0,1,1.6628-.7143L93.9865,42.8092A1.0151,1.0151,0,0,1,93.2978,44.5335Z\"\n class=\"sapIllus_BrandColorSecondary\"\n style=\"fill: var(--sapIllus_BrandColorSecondary)\"\n ></path>\n <path\n d=\"M104.608,38.9485l5.9157-1.7721c1.32-.3954.7584-2.5258-.5689-2.1282L104.0392,36.82c-1.32.3953-.7584,2.5258.5688,2.1282Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M85.2973,21.2465l.9718-5.9331c.2154-1.3151-1.777-1.8807-1.9941-.5554l-.9718,5.9332c-.2155,1.3151,1.777,1.8807,1.9941.5553Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M95.3034,29.0015a1.01,1.01,0,0,1-.6837-.267,1.0783,1.0783,0,0,1-.0864-1.4932l5.9511-6.8857a1.01,1.01,0,0,1,1.4538-.0884,1.0785,1.0785,0,0,1,.0865,1.4932l-5.9511,6.8858A1.0164,1.0164,0,0,1,95.3034,29.0015Z\"\n class=\"sapIllus_Layering1\"\n style=\"fill: var(--sapIllus_Layering1)\"\n ></path>\n <path\n d=\"M94.8747,42.8861,80.0855,27.4623a1.5152,1.5152,0,0,0-1.0885-.4636H35.807a3.509,3.509,0,0,0-3.5146,3.4836c-.0294,13.2857.0137,66.7559.0157,69.0257a3.5076,3.5076,0,0,0,3.5146,3.4894H91.7709a3.5106,3.5106,0,0,0,3.5146-3.4982l.005-55.5785A1.49,1.49,0,0,0,94.8747,42.8861Zm-16.21-14.8355a1.15,1.15,0,0,1,.2561-.0309,1.04,1.04,0,0,1,.51.2134l14.276,14.8837.0194.02a.5891.5891,0,0,1,.0968.6251c-.1016.1764-.4086.24-.69.24L78.8355,44a.6031.6031,0,0,1-.5472-.6131c-.0087-4.9588-.017-9.9015-.0035-14.8689A.5189.5189,0,0,1,78.6646,28.0506Zm13.1062,73.95H35.8188a2.5045,2.5045,0,0,1-2.5107-2.491c-.002-2.2694-.0451-55.74-.0157-69.0248a2.5054,2.5054,0,0,1,2.5107-2.4861H77.3684a1.49,1.49,0,0,0-.0976.5106V43.4934A1.5145,1.5145,0,0,0,78.7894,45H78.92L94.286,47.9749l-.0046,51.5269A2.5074,2.5074,0,0,1,91.7708,102.0006Z\"\n class=\"sapIllus_StrokeDetailColor\"\n style=\"fill: var(--sapIllus_StrokeDetailColor)\"\n ></path>\n </svg>\n </div>\n </ng-template>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-scrollbar{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:auto;padding:0;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-scrollbar:after,.fd-scrollbar:before{box-sizing:inherit;font-size:inherit}.fd-scrollbar.is-focus,.fd-scrollbar:focus{outline:none;z-index:5}.fd-scrollbar::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-scrollbar::-webkit-scrollbar-corner,.fd-scrollbar::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-scrollbar::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-scrollbar::-webkit-scrollbar-thumb:active,.fd-scrollbar::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-scrollbar--container::-webkit-scrollbar-corner,.fd-scrollbar--container::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color);border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-corner,.fd-scrollbar--container[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-corner,[dir=rtl] .fd-scrollbar--container::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fdp-approval-flow__watchers{margin-bottom:.5rem;padding-left:.5rem}.fdp-approval-flow__watchers-title{font-size:.875em;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin:1rem 0 .5rem}.fdp-approval-flow__watchers fd-avatar{margin-right:.5rem;cursor:pointer}.fdp-approval-flow__watchers fd-avatar:focus{outline-offset:.0625rem;outline-width:.0625rem;outline-style:dotted;outline-color:var(--sapContent_FocusColor, #0854a0)}.fdp-approval-flow__watchers .fdp-approval-flow__watchers-input-container{width:17.375rem}[dir=rtl] .fdp-approval-flow__watchers,.fdp-approval-flow__watchers[dir=rtl]{padding-right:.5rem}[dir=rtl] .fdp-approval-flow__watchers fd-avatar,.fdp-approval-flow__watchers[dir=rtl] fd-avatar{margin-left:.5rem;margin-right:0}.fdp-approval-flow__container{max-width:100%;position:relative;padding:0 .5rem}.fdp-approval-flow__container--extra-padding-start{padding-left:2rem}.fdp-approval-flow__container--extra-padding-end{padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start{padding-left:.5rem;padding-right:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-end{padding-right:.5rem;padding-left:2rem}[dir=rtl] .fdp-approval-flow__container.fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end,.fdp-approval-flow__container[dir=rtl].fdp-approval-flow__container--extra-padding-start.fdp-approval-flow__container--extra-padding-end{padding-right:2rem;padding-left:2rem}.fdp-approval-flow__graph-container{position:relative;overflow:auto;padding-top:.5rem;padding-bottom:2rem;padding-left:2rem}.fdp-approval-flow__graph-container--multiple-root-nodes{padding-left:4rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-root-nodes,.fdp-approval-flow__graph-container--multiple-root-nodes[dir=rtl]{padding-right:2rem}[dir=rtl] .fdp-approval-flow__graph-container--multiple-final-nodes,.fdp-approval-flow__graph-container--multiple-final-nodes[dir=rtl]{padding-left:0}.fdp-approval-flow-carousel-controls{position:absolute;display:flex;align-items:center;width:100%;height:6.375rem;padding-top:.5rem;left:0}.fdp-approval-flow-carousel-controls--edit-mode{height:8.375rem}.fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--next-slide{position:absolute;border:none;background:transparent;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);display:flex;justify-content:space-between;width:2rem;align-items:center;cursor:pointer}.fdp-approval-flow-carousel-controls__button--prev-slide fd-icon,.fdp-approval-flow-carousel-controls__button--next-slide fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;top:.0625rem}.fdp-approval-flow-carousel-controls__button--prev-slide{left:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--prev-slide,.fdp-approval-flow-carousel-controls__button--prev-slide[dir=rtl]{left:auto;right:0}.fdp-approval-flow-carousel-controls__button--next-slide{right:0}[dir=rtl] .fdp-approval-flow-carousel-controls__button--next-slide,.fdp-approval-flow-carousel-controls__button--next-slide[dir=rtl]{left:0;right:auto}.fdp-approval-flow__graph{display:flex;align-items:flex-start;position:relative;left:0;transition:left .3s}.fdp-approval-flow__graph-column{margin-right:4rem;position:relative}[dir=rtl] .fdp-approval-flow__graph-column:first-child,.fdp-approval-flow__graph-column[dir=rtl]:first-child{margin-right:2rem}.fdp-approval-flow__graph fdp-approval-flow-node+fdp-approval-flow-node:not(:last-child){margin-bottom:1rem}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner{padding:0}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content{margin-left:auto}[dir=rtl] .fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content,.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--extra-content[dir=rtl]{margin-left:0;margin-right:auto}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner .fd-grid-list__item-toolbar .fd-toolbar--actions{display:none}.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner:not(.fdp-approval-flow__graph .fdp-approval-flow__graph-node-inner--edit) .fd-toolbar.fd-grid-list__item-toolbar{display:none}.cdk-overlay-container{z-index:1002!important}\n"] }]
|
|
@@ -2381,6 +2401,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
2381
2401
|
type: Input
|
|
2382
2402
|
}], watchersDataProviderEntityKey: [{
|
|
2383
2403
|
type: Input
|
|
2404
|
+
}], removeSpaceNode: [{
|
|
2405
|
+
type: Input
|
|
2384
2406
|
}], nodeClick: [{
|
|
2385
2407
|
type: Output
|
|
2386
2408
|
}], afterNodeAdd: [{
|