@fundamental-ngx/platform 0.47.4 → 0.48.0-rc.0
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/esm2022/action-bar/action-bar.component.mjs +8 -9
- package/esm2022/action-bar/action-bar.module.mjs +4 -4
- package/esm2022/action-button-group/action-button-group.component.mjs +4 -4
- package/esm2022/action-button-group/action-button-group.module.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +6 -11
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +6 -8
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +5 -6
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +5 -5
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +8 -11
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +6 -8
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +5 -7
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +5 -6
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +6 -6
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +6 -7
- package/esm2022/approval-flow/approval-flow.component.mjs +8 -10
- package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
- package/esm2022/button/button.component.mjs +5 -5
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +5 -5
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +5 -5
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.component.mjs +8 -10
- package/esm2022/dynamic-page/dynamic-page.config.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.service.mjs +3 -3
- package/esm2022/feed-input/feed-input.component.mjs +6 -7
- package/esm2022/feed-input/feed-input.module.mjs +4 -4
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +5 -5
- package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/form/checkbox/checkbox.component.mjs +6 -6
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -8
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
- package/esm2022/form/combobox/combobox/combobox.component.mjs +9 -11
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +13 -15
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2022/form/combobox/combobox.config.mjs +4 -4
- package/esm2022/form/combobox/combobox.module.mjs +4 -4
- package/esm2022/form/combobox/commons/base-combobox.mjs +8 -6
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
- package/esm2022/form/date-picker/date-picker.component.mjs +6 -6
- package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +6 -6
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +6 -7
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +4 -4
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +5 -5
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +6 -6
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +9 -11
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +7 -8
- package/esm2022/form/form-generator/form-generator.service.mjs +5 -5
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +5 -5
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
- package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
- package/esm2022/form/form-group/form-field/form-field.component.mjs +10 -10
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +6 -6
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +6 -6
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +5 -5
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +6 -6
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +6 -6
- package/esm2022/form/form-group/form-group.component.mjs +8 -10
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +5 -5
- package/esm2022/form/input/fdp-input.module.mjs +4 -4
- package/esm2022/form/input/input.component.mjs +6 -6
- package/esm2022/form/input-group/addon-body.component.mjs +5 -5
- package/esm2022/form/input-group/addon.component.mjs +5 -5
- package/esm2022/form/input-group/input-group.component.mjs +12 -12
- package/esm2022/form/input-group/input-group.config.mjs +4 -4
- package/esm2022/form/input-group/input-group.module.mjs +4 -4
- package/esm2022/form/input-group/input.component.mjs +3 -3
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +7 -7
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +6 -6
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +10 -12
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +8 -9
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
- package/esm2022/form/multi-input/base-multi-input.mjs +6 -6
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +12 -12
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.component.mjs +9 -11
- package/esm2022/form/multi-input/multi-input.config.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
- package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +6 -6
- package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +4 -4
- package/esm2022/form/radio-group/radio/radio.component.mjs +8 -8
- package/esm2022/form/radio-group/radio-group.component.mjs +8 -8
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
- package/esm2022/form/select/commons/base-select.mjs +6 -6
- package/esm2022/form/select/select/select.component.mjs +8 -8
- package/esm2022/form/select/select.config.mjs +4 -4
- package/esm2022/form/select/select.module.mjs +4 -4
- package/esm2022/form/step-input/base.step-input.mjs +5 -5
- package/esm2022/form/step-input/number/number-step-input.component.mjs +9 -10
- package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
- package/esm2022/form/step-input/step-input-control.directive.mjs +6 -6
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +5 -5
- package/esm2022/form/step-input/step-input-increment.directive.mjs +5 -5
- package/esm2022/form/step-input/step-input.config.mjs +3 -3
- package/esm2022/form/step-input/step-input.module.mjs +4 -4
- package/esm2022/form/switch/switch/switch.component.mjs +6 -6
- package/esm2022/form/switch/switch/switch.config.mjs +3 -3
- package/esm2022/form/switch/switch.module.mjs +4 -4
- package/esm2022/form/text-area/text-area.component.mjs +8 -9
- package/esm2022/form/text-area/text-area.config.mjs +3 -3
- package/esm2022/form/text-area/text-area.module.mjs +4 -4
- package/esm2022/form/time-picker/time-picker.component.mjs +6 -6
- package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/fundamental-ngx.module.mjs +5 -5
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +5 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +6 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +6 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +5 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +7 -9
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +6 -15
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +5 -9
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +6 -8
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -9
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
- package/esm2022/info-label/info-label.component.mjs +5 -5
- package/esm2022/info-label/info-label.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
- package/esm2022/list/base-list-item.mjs +11 -11
- package/esm2022/list/display-list-item/display-list-item.component.mjs +6 -7
- package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +4 -4
- package/esm2022/list/list-group-footer.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +9 -11
- package/esm2022/list/list.config.mjs +3 -3
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/load-more-content.directive.mjs +4 -4
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +4 -4
- package/esm2022/list/object-list-item/object-list-item.component.mjs +6 -7
- package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +6 -7
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
- package/esm2022/menu/menu-item.component.mjs +7 -7
- package/esm2022/menu/menu-trigger.directive.mjs +6 -6
- package/esm2022/menu/menu.component.mjs +6 -6
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu-button/menu-button.component.mjs +5 -5
- package/esm2022/menu-button/menu-button.module.mjs +4 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +6 -6
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +8 -10
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -6
- package/esm2022/message-popover/message-popover.component.mjs +7 -9
- package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
- package/esm2022/object-marker/object-marker.component.mjs +6 -7
- package/esm2022/object-marker/object-marker.module.mjs +4 -4
- package/esm2022/object-status/object-status.component.mjs +8 -8
- package/esm2022/object-status/object-status.module.mjs +4 -4
- package/esm2022/page-footer/page-footer.component.mjs +6 -6
- package/esm2022/page-footer/page-footer.module.mjs +4 -4
- package/esm2022/panel/panel-actions.component.mjs +3 -3
- package/esm2022/panel/panel-content/panel-content.component.mjs +4 -4
- package/esm2022/panel/panel.component.mjs +5 -5
- package/esm2022/panel/panel.config.mjs +4 -4
- package/esm2022/panel/panel.module.mjs +4 -4
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +8 -9
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
- package/esm2022/search-field/search-field.component.mjs +16 -18
- package/esm2022/search-field/search-field.module.mjs +4 -4
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +9 -16
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +5 -6
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +6 -9
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +6 -8
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +7 -7
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.component.mjs +9 -9
- package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
- package/esm2022/settings-generator/settings-generator.service.mjs +4 -4
- package/esm2022/shared/base.mjs +5 -5
- package/esm2022/shared/form/base.input.mjs +6 -6
- package/esm2022/shared/form/collection-base.input.mjs +6 -6
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +13 -13
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
- package/esm2022/shared/pipes/pipe.module.mjs +4 -4
- package/esm2022/shared/platform.config.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +6 -6
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -9
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +7 -9
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +5 -5
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +8 -10
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +4 -4
- package/esm2022/split-menu-button/split-menu-button.component.mjs +6 -6
- package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
- package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -5
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -8
- package/esm2022/table/components/table-column/table-column.component.mjs +6 -6
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -6
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +5 -15
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +7 -7
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +6 -6
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +11 -13
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +7 -9
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +6 -9
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +6 -8
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +5 -5
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -9
- package/esm2022/table/components/table-row/table-row.component.mjs +8 -12
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +7 -8
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +6 -6
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +5 -6
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +5 -14
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +5 -8
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +5 -7
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +7 -10
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -8
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +5 -5
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
- package/esm2022/table/table.component.mjs +9 -14
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +6 -6
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -5
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +16 -16
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header.directive.mjs +7 -7
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
- package/esm2022/table-helpers/enums/collection-filter.enum.mjs +16 -1
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +5 -5
- package/esm2022/table-helpers/services/table-responsive.service.mjs +5 -5
- package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
- package/esm2022/table-helpers/services/table.service.mjs +3 -3
- package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
- package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +6 -8
- package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +8 -8
- package/esm2022/thumbnail/thumbnail.component.mjs +7 -8
- package/esm2022/thumbnail/thumbnail.module.mjs +4 -4
- package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +6 -9
- package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +6 -8
- package/esm2022/upload-collection/directives/upload-collection-dragndrop.directive.mjs +5 -5
- package/esm2022/upload-collection/services/files-validator.service.mjs +3 -3
- package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +7 -11
- package/esm2022/upload-collection/upload-collection.module.mjs +4 -4
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +5 -5
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +6 -10
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +13 -15
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +5 -5
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +12 -17
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +5 -5
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -8
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +4 -4
- package/esm2022/variant-management/variant-management.component.mjs +8 -10
- package/esm2022/variant-management/variant-management.module.mjs +4 -4
- package/esm2022/wizard-generator/base-wizard-generator.mjs +5 -5
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +7 -8
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -9
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +6 -7
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +6 -7
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +5 -6
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +7 -7
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs +11 -12
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-action-button-group.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +62 -74
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +54 -56
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -10
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +453 -464
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +59 -87
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +73 -78
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +20 -20
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +29 -33
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +9 -10
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +12 -12
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -19
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +29 -32
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +45 -56
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +36 -36
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +48 -53
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +115 -100
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +168 -218
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +22 -23
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +27 -34
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +41 -52
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +28 -31
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +58 -61
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform.mjs +5 -5
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -2
- package/form/form-group/form-group.component.d.ts +1 -1
- package/form/input-group/input-group.component.d.ts +2 -2
- package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
- package/fundamental-ngx-platform-v0.48.0-rc.0.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +0 -2
- package/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.d.ts +0 -2
- package/list/list.component.d.ts +1 -1
- package/package.json +4 -4
- package/page-footer/page-footer.component.d.ts +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
- package/settings-generator/settings-generator.component.d.ts +2 -2
- package/table/components/table-p13-dialog/filtering/filter-rule.component.d.ts +2 -0
- package/table/table.component.d.ts +1 -1
- package/table-helpers/enums/collection-filter.enum.d.ts +2 -0
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -1
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +2 -2
- package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +2 -2
- package/fundamental-ngx-platform-v0.47.4.tgz +0 -0
|
@@ -2,14 +2,14 @@ import { CdkDrag } from '@angular/cdk/drag-drop';
|
|
|
2
2
|
import { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ViewChildren, Injectable, Directive, Optional, HostBinding, ContentChild, Inject, NgModule } from '@angular/core';
|
|
5
|
-
import { combineLatest, Subscription, Subject,
|
|
6
|
-
import { throttleTime, startWith,
|
|
5
|
+
import { combineLatest, Subscription, Subject, fromEvent, merge } from 'rxjs';
|
|
6
|
+
import { throttleTime, startWith, mapTo, switchMap, map, distinctUntilChanged } from 'rxjs/operators';
|
|
7
7
|
import * as i1$2 from '@fundamental-ngx/cdk/utils';
|
|
8
8
|
import { TemplateDirective, KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
9
9
|
import * as i1$1 from '@fundamental-ngx/core/dialog';
|
|
10
10
|
import { DialogComponent, DialogHeaderComponent, DialogBodyComponent, DialogFooterComponent } from '@fundamental-ngx/core/dialog';
|
|
11
11
|
import { GridListItemComponent, GridListComponent, GridListTitleBarComponent, GridListTitleBarSpacerComponent, GridListItemToolbarComponent, GridListItemImageDirective, GridListItemBodyDirective } from '@fundamental-ngx/core/grid-list';
|
|
12
|
-
import {
|
|
12
|
+
import { NgTemplateOutlet, AsyncPipe } from '@angular/common';
|
|
13
13
|
import * as i1 from '@angular/forms';
|
|
14
14
|
import { FormsModule } from '@angular/forms';
|
|
15
15
|
import { AvatarComponent } from '@fundamental-ngx/core/avatar';
|
|
@@ -121,10 +121,10 @@ class ApprovalFlowTeamListComponent {
|
|
|
121
121
|
_showTeamDetails(team) {
|
|
122
122
|
this.onTeamClick.emit(team);
|
|
123
123
|
}
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowTeamListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowTeamListComponent, isStandalone: true, selector: "fdp-approval-flow-team-list", inputs: { teams: "teams", isRtl: "isRtl", selectedTeamId: "selectedTeamId" }, outputs: { onTeamClick: "onTeamClick", onTeamRadioClick: "onTeamRadioClick" }, host: { classAttribute: "fdp-approval-flow-team-list" }, ngImport: i0, template: "<fdp-list [hasByLine]=\"true\" fdCompact>\n <fd-form-group>\n @for (team of teams; track _trackByFn(i, team); let i = $index) {\n <div fd-form-item>\n <fd-radio-button\n [value]=\"team.id\"\n [attr.id]=\"'team-radio' + i\"\n [name]=\"'team-radio' + i\"\n [(ngModel)]=\"selectedTeamId\"\n (click)=\"onTeamRadioClick.emit(team)\"\n >\n </fd-radio-button>\n <fdp-standard-list-item\n [attr.id]=\"'approval-team-' + team.id\"\n [avatar]=\"{ image: '', ariaLabel: team.name }\"\n [description]=\"team.description || team.members.length + ' members'\"\n [title]=\"team.name\"\n (click)=\"_showTeamDetails(team)\"\n >\n </fdp-standard-list-item>\n <fd-icon [glyph]=\"'navigation-' + (isRtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </div>\n }\n </fd-form-group>\n</fdp-list>\n", styles: [".fdp-approval-flow-team-list .fd-form-item{position:relative;margin-bottom:0}.fdp-approval-flow-team-list .fd-form-item fd-radio-button{position:absolute;z-index:1;top:1.4rem}.fdp-approval-flow-team-list .fd-form-item .fd-list__item{padding-left:2rem!important;cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-icon{position:absolute;right:1rem;top:2rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-avatar{color:#fff;color:var(--sapBaseColor, #fff)}[dir=rtl] .fdp-approval-flow-team-list .fd-form-item fd-icon,.fdp-approval-flow-team-list[dir=rtl] .fd-form-item fd-icon{right:auto;left:1rem}[dir=rtl] .fdp-approval-flow-team-list .fd-list__item,.fdp-approval-flow-team-list[dir=rtl] .fd-list__item{padding-right:2rem!important;padding-left:0!important}\n"], dependencies: [{ kind: "component", type: ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "directive", type: 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: FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
126
126
|
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowTeamListComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
129
|
args: [{ selector: 'fdp-approval-flow-team-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
130
130
|
class: 'fdp-approval-flow-team-list'
|
|
@@ -132,13 +132,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
132
132
|
ListComponent,
|
|
133
133
|
ContentDensityDirective,
|
|
134
134
|
FormGroupComponent,
|
|
135
|
-
NgFor,
|
|
136
135
|
FormItemComponent,
|
|
137
136
|
RadioButtonComponent,
|
|
138
137
|
FormsModule,
|
|
139
138
|
StandardListItemComponent,
|
|
140
139
|
IconComponent
|
|
141
|
-
], template: "<fdp-list [hasByLine]=\"true\" fdCompact>\n <fd-form-group>\n
|
|
140
|
+
], template: "<fdp-list [hasByLine]=\"true\" fdCompact>\n <fd-form-group>\n @for (team of teams; track _trackByFn(i, team); let i = $index) {\n <div fd-form-item>\n <fd-radio-button\n [value]=\"team.id\"\n [attr.id]=\"'team-radio' + i\"\n [name]=\"'team-radio' + i\"\n [(ngModel)]=\"selectedTeamId\"\n (click)=\"onTeamRadioClick.emit(team)\"\n >\n </fd-radio-button>\n <fdp-standard-list-item\n [attr.id]=\"'approval-team-' + team.id\"\n [avatar]=\"{ image: '', ariaLabel: team.name }\"\n [description]=\"team.description || team.members.length + ' members'\"\n [title]=\"team.name\"\n (click)=\"_showTeamDetails(team)\"\n >\n </fdp-standard-list-item>\n <fd-icon [glyph]=\"'navigation-' + (isRtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </div>\n }\n </fd-form-group>\n</fdp-list>\n", styles: [".fdp-approval-flow-team-list .fd-form-item{position:relative;margin-bottom:0}.fdp-approval-flow-team-list .fd-form-item fd-radio-button{position:absolute;z-index:1;top:1.4rem}.fdp-approval-flow-team-list .fd-form-item .fd-list__item{padding-left:2rem!important;cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-icon{position:absolute;right:1rem;top:2rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-avatar{color:#fff;color:var(--sapBaseColor, #fff)}[dir=rtl] .fdp-approval-flow-team-list .fd-form-item fd-icon,.fdp-approval-flow-team-list[dir=rtl] .fd-form-item fd-icon{right:auto;left:1rem}[dir=rtl] .fdp-approval-flow-team-list .fd-list__item,.fdp-approval-flow-team-list[dir=rtl] .fd-list__item{padding-right:2rem!important;padding-left:0!important}\n"] }]
|
|
142
141
|
}], propDecorators: { teams: [{
|
|
143
142
|
type: Input
|
|
144
143
|
}], isRtl: [{
|
|
@@ -160,14 +159,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
160
159
|
* ApprovalFlowUserDetails component is deprecated since version 0.40.0
|
|
161
160
|
*/
|
|
162
161
|
class ApprovalFlowUserDetailsComponent {
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowUserDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowUserDetailsComponent, isStandalone: true, selector: "fdp-approval-flow-user-details", inputs: { user: "user", details: "details", detailsTemplate: "detailsTemplate" }, host: { classAttribute: "fdp-approval-flow-user-details" }, ngImport: i0, template: "<div class=\"fdp-approval-flow-user-details__user-info\">\n <fd-avatar [image]=\"user.imgUrl\" size=\"s\"> </fd-avatar>\n <div>\n <div class=\"fdp-approval-flow-user-details__name\">{{ user.name }}</div>\n <div class=\"fdp-approval-flow-user-details__description\">{{ user.description }}</div>\n </div>\n</div>\n@if (detailsTemplate) {\n <ng-template [ngTemplateOutlet]=\"detailsTemplate\" [ngTemplateOutletContext]=\"{ data: details | async }\">\n </ng-template>\n}\n", styles: [".fdp-approval-flow-user-details__user-info{display:flex;align-items:center;margin-bottom:1rem}.fdp-approval-flow-user-details__name{font-size:1rem}.fdp-approval-flow-user-details__description{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
165
164
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowUserDetailsComponent, decorators: [{
|
|
167
166
|
type: Component,
|
|
168
167
|
args: [{ selector: 'fdp-approval-flow-user-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
169
168
|
class: 'fdp-approval-flow-user-details'
|
|
170
|
-
}, standalone: true, imports: [AvatarComponent,
|
|
169
|
+
}, standalone: true, imports: [AvatarComponent, NgTemplateOutlet, AsyncPipe], template: "<div class=\"fdp-approval-flow-user-details__user-info\">\n <fd-avatar [image]=\"user.imgUrl\" size=\"s\"> </fd-avatar>\n <div>\n <div class=\"fdp-approval-flow-user-details__name\">{{ user.name }}</div>\n <div class=\"fdp-approval-flow-user-details__description\">{{ user.description }}</div>\n </div>\n</div>\n@if (detailsTemplate) {\n <ng-template [ngTemplateOutlet]=\"detailsTemplate\" [ngTemplateOutletContext]=\"{ data: details | async }\">\n </ng-template>\n}\n", styles: [".fdp-approval-flow-user-details__user-info{display:flex;align-items:center;margin-bottom:1rem}.fdp-approval-flow-user-details__name{font-size:1rem}.fdp-approval-flow-user-details__description{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}\n"] }]
|
|
171
170
|
}], propDecorators: { user: [{
|
|
172
171
|
type: Input
|
|
173
172
|
}], details: [{
|
|
@@ -270,15 +269,15 @@ class ApprovalFlowUserListComponent {
|
|
|
270
269
|
clearInterval(this._intervalID);
|
|
271
270
|
}
|
|
272
271
|
}
|
|
273
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
274
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
272
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowUserListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
273
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowUserListComponent, isStandalone: true, selector: "fdp-approval-flow-user-list", inputs: { users: "users", selectedUsers: "selectedUsers", isSelectable: "isSelectable" }, outputs: { onUserClick: "onUserClick", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "fdp-approval-flow-user-list" }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true }, { propertyName: "listItems", predicate: StandardListItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (_selectedItems.length) {\n <div class=\"fdp-approval-flow-user-list__selected-count\">\n @if (_selectedItems.length === 1) {\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n } @else {\n {{\n 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate: { count: _selectedItems.length }\n }}\n }\n </div>\n}\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n @for (_user of _displayUsers; track _trackByFn($index, _user)) {\n <fdp-standard-list-item\n [attr.id]=\"_idPrefix + _user.id\"\n [avatar]=\"{ image: _user.imgUrl, ariaLabel: _user.name }\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n }\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"], dependencies: [{ kind: "component", type: ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
275
274
|
}
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowUserListComponent, decorators: [{
|
|
277
276
|
type: Component,
|
|
278
277
|
args: [{ selector: 'fdp-approval-flow-user-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
279
278
|
class: 'fdp-approval-flow-user-list'
|
|
280
|
-
}, standalone: true, imports: [
|
|
281
|
-
}], ctorParameters:
|
|
279
|
+
}, standalone: true, imports: [ListComponent, FormsModule, StandardListItemComponent, FdTranslatePipe], template: "@if (_selectedItems.length) {\n <div class=\"fdp-approval-flow-user-list__selected-count\">\n @if (_selectedItems.length === 1) {\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n } @else {\n {{\n 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate: { count: _selectedItems.length }\n }}\n }\n </div>\n}\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n @for (_user of _displayUsers; track _trackByFn($index, _user)) {\n <fdp-standard-list-item\n [attr.id]=\"_idPrefix + _user.id\"\n [avatar]=\"{ image: _user.imgUrl, ariaLabel: _user.name }\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n }\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"] }]
|
|
280
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { users: [{
|
|
282
281
|
type: Input
|
|
283
282
|
}], selectedUsers: [{
|
|
284
283
|
type: Input
|
|
@@ -350,10 +349,10 @@ class ApprovalFlowAddNodeViewService {
|
|
|
350
349
|
resetTeam() {
|
|
351
350
|
this.selectedTeam = undefined;
|
|
352
351
|
}
|
|
353
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
354
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
352
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowAddNodeViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
353
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowAddNodeViewService }); }
|
|
355
354
|
}
|
|
356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowAddNodeViewService, decorators: [{
|
|
357
356
|
type: Injectable
|
|
358
357
|
}] });
|
|
359
358
|
|
|
@@ -600,10 +599,10 @@ class ApprovalFlowAddNodeComponent {
|
|
|
600
599
|
this._filteredTeamMembers = [...users];
|
|
601
600
|
this._cdr.detectChanges();
|
|
602
601
|
}
|
|
603
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
604
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ApprovalFlowAddNodeComponent, isStandalone: true, selector: "fdp-approval-flow-add-node", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-add-node" }, ngImport: i0, template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n <ng-container *ngIf=\"!_selectMode && !_data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"!_selectMode && _data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isSelectTeamMode\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n </ng-container>\n </p>\n\n <fdp-search-field\n *ngIf=\"_selectMode && !_userToShowDetails\"\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n <ng-container *ngIf=\"!_selectMode\">\n <div fd-form-item *ngIf=\"_data.showNodeTypeSelect\">\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_nodeType\">\n <ng-container *ngFor=\"let option of _nodeTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_nodeTypes.SERIAL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_nodeTypes.PARALLEL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_approverType\">\n <ng-container *ngFor=\"let option of _approverTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_approverTypes.SINGLE_USER\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.ANYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.EVERYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n\n <fd-multi-input\n *ngIf=\"_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n\n <fd-multi-input\n *ngIf=\"!_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n </div>\n\n <div *ngIf=\"_nodeType === _nodeTypes.PARALLEL\" fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n\n <div *ngIf=\"_checkDueDate\" fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fdp-approval-flow-team-list\n *ngIf=\"!_data.teamDataSource.isDataLoading; else loadingTpl\"\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isTeamMembersMode\">\n <fdp-approval-flow-user-list\n *ngIf=\"viewService.isSelectUserMode || !_data.userDataSource.isDataLoading; else loadingTpl\"\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n </ng-container>\n\n <fdp-approval-flow-user-details\n *ngIf=\"viewService.isUserDetailsMode && _userToShowDetails\"\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n </ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-container *ngIf=\"!_selectMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n >\n </fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectUserMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></fd-button-bar>\n </ng-container>\n </ng-container>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n</ng-template>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "directive", type: 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: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "message", "messageTriggers", "selectedDate", "selectedRangeDate", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "isOpen", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedRangeDateChange", "activeViewChange"] }, { kind: "component", type: ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: ["teams", "isRtl", "selectedTeamId"], outputs: ["onTeamClick", "onTeamRadioClick"] }, { kind: "component", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: ["users", "selectedUsers", "isSelectable"], outputs: ["onUserClick", "onSelectionChange"] }, { kind: "component", type: ApprovalFlowUserDetailsComponent, selector: "fdp-approval-flow-user-details", inputs: ["user", "details", "detailsTemplate"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
602
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowAddNodeComponent, deps: [{ token: i1$1.DialogRef }, { token: ApprovalFlowAddNodeViewService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
603
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowAddNodeComponent, isStandalone: true, selector: "fdp-approval-flow-add-node", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-add-node" }, ngImport: i0, template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n @if (!_selectMode && !_data.isEdit) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n }\n @if (!_selectMode && _data.isEdit) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n }\n @if (viewService.isSelectUserMode || viewService.isSelectTeamMode) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n }\n @if (viewService.isTeamMembersMode) {\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n }\n @if (viewService.isUserDetailsMode) {\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n }\n </p>\n @if (_selectMode && !_userToShowDetails) {\n <fdp-search-field\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n }\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n @if (!_selectMode) {\n @if (_data.showNodeTypeSelect) {\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n <fd-select [(value)]=\"_nodeType\">\n @for (option of _nodeTypesArray; track option) {\n @switch (option) {\n @case (_nodeTypes.SERIAL) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n }\n @case (_nodeTypes.PARALLEL) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n }\n }\n }\n </fd-select>\n </div>\n }\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n <fd-select [(value)]=\"_approverType\">\n @for (option of _approverTypesArray; track option) {\n @switch (option) {\n @case (_approverTypes.SINGLE_USER) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n }\n @case (_approverTypes.ANYONE) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n }\n @case (_approverTypes.EVERYONE) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n }\n }\n }\n </fd-select>\n </div>\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n @if (_isSingleUserMode) {\n <fd-multi-input\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n }\n @if (!_isSingleUserMode) {\n <fd-multi-input\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n }\n </div>\n @if (_nodeType === _nodeTypes.PARALLEL) {\n <div fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n }\n @if (_checkDueDate) {\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n }\n }\n @if (_selectMode) {\n @if (viewService.isSelectTeamMode) {\n @if (!_data.teamDataSource.isDataLoading) {\n <fdp-approval-flow-team-list\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n } @else {\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n }\n }\n @if (viewService.isSelectUserMode || viewService.isTeamMembersMode) {\n @if (viewService.isSelectUserMode || !_data.userDataSource.isDataLoading) {\n <fdp-approval-flow-user-list\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n } @else {\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n }\n }\n @if (viewService.isUserDetailsMode && _userToShowDetails) {\n <fdp-approval-flow-user-details\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n }\n }\n </fd-dialog-body>\n <fd-dialog-footer>\n @if (!_selectMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n >\n </fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></fd-button-bar>\n }\n @if (_selectMode) {\n @if (viewService.isSelectUserMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isSelectTeamMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isTeamMembersMode) {\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isUserDetailsMode) {\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></fd-button-bar>\n }\n }\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "directive", type: 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: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "message", "messageTriggers", "selectedDate", "selectedRangeDate", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "isOpen", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedRangeDateChange", "activeViewChange"] }, { kind: "component", type: ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: ["teams", "isRtl", "selectedTeamId"], outputs: ["onTeamClick", "onTeamRadioClick"] }, { kind: "component", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: ["users", "selectedUsers", "isSelectable"], outputs: ["onUserClick", "onSelectionChange"] }, { kind: "component", type: ApprovalFlowUserDetailsComponent, selector: "fdp-approval-flow-user-details", inputs: ["user", "details", "detailsTemplate"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
605
604
|
}
|
|
606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowAddNodeComponent, decorators: [{
|
|
607
606
|
type: Component,
|
|
608
607
|
args: [{ selector: 'fdp-approval-flow-add-node', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
609
608
|
class: 'fdp-approval-flow-dialog fdp-approval-flow-add-node'
|
|
@@ -612,7 +611,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
612
611
|
ContentDensityDirective,
|
|
613
612
|
DialogHeaderComponent,
|
|
614
613
|
TemplateDirective,
|
|
615
|
-
NgIf,
|
|
616
614
|
IconComponent,
|
|
617
615
|
SearchFieldComponent,
|
|
618
616
|
CdkScrollable,
|
|
@@ -621,9 +619,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
621
619
|
FormItemComponent,
|
|
622
620
|
FormLabelComponent,
|
|
623
621
|
SelectComponent,
|
|
624
|
-
NgFor,
|
|
625
|
-
NgSwitch,
|
|
626
|
-
NgSwitchCase,
|
|
627
622
|
OptionComponent,
|
|
628
623
|
MultiInputComponent,
|
|
629
624
|
FormsModule,
|
|
@@ -636,8 +631,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
636
631
|
ButtonBarComponent,
|
|
637
632
|
BusyIndicatorComponent,
|
|
638
633
|
FdTranslatePipe
|
|
639
|
-
], template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n <ng-container *ngIf=\"!_selectMode && !_data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"!_selectMode && _data.isEdit\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isSelectTeamMode\">\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n </ng-container>\n </p>\n\n <fdp-search-field\n *ngIf=\"_selectMode && !_userToShowDetails\"\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n <ng-container *ngIf=\"!_selectMode\">\n <div fd-form-item *ngIf=\"_data.showNodeTypeSelect\">\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_nodeType\">\n <ng-container *ngFor=\"let option of _nodeTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_nodeTypes.SERIAL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_nodeTypes.PARALLEL\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n\n <fd-select [(value)]=\"_approverType\">\n <ng-container *ngFor=\"let option of _approverTypesArray\">\n <ng-container [ngSwitch]=\"option\">\n <li fd-option *ngSwitchCase=\"_approverTypes.SINGLE_USER\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.ANYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n\n <li fd-option *ngSwitchCase=\"_approverTypes.EVERYONE\" [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n </ng-container>\n </ng-container>\n </fd-select>\n </div>\n\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n\n <fd-multi-input\n *ngIf=\"_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n\n <fd-multi-input\n *ngIf=\"!_isSingleUserMode\"\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n </div>\n\n <div *ngIf=\"_nodeType === _nodeTypes.PARALLEL\" fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n\n <div *ngIf=\"_checkDueDate\" fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fdp-approval-flow-team-list\n *ngIf=\"!_data.teamDataSource.isDataLoading; else loadingTpl\"\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectUserMode || viewService.isTeamMembersMode\">\n <fdp-approval-flow-user-list\n *ngIf=\"viewService.isSelectUserMode || !_data.userDataSource.isDataLoading; else loadingTpl\"\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n </ng-container>\n\n <fdp-approval-flow-user-details\n *ngIf=\"viewService.isUserDetailsMode && _userToShowDetails\"\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n </ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <ng-container *ngIf=\"!_selectMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n >\n </fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"_selectMode\">\n <ng-container *ngIf=\"viewService.isSelectUserMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isSelectTeamMode\">\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isTeamMembersMode\">\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></fd-button-bar>\n </ng-container>\n\n <ng-container *ngIf=\"viewService.isUserDetailsMode\">\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></fd-button-bar>\n </ng-container>\n </ng-container>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n</ng-template>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"] }]
|
|
640
|
-
}], ctorParameters:
|
|
634
|
+
], template: "<fd-dialog fdCompact>\n <fd-dialog-header [class.show-search]=\"_selectMode && !_userToShowDetails\">\n <ng-template fdkTemplate=\"header\">\n <p>\n @if (!_selectMode && !_data.isEdit) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApprovers' | fdTranslate }}\n }\n @if (!_selectMode && _data.isEdit) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderEditApprover' | fdTranslate }}\n }\n @if (viewService.isSelectUserMode || viewService.isSelectTeamMode) {\n {{ 'platformApprovalFlow.addNodeDialogHeaderAddApproverTeam' | fdTranslate }}\n }\n @if (viewService.isTeamMembersMode) {\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitTeamMembersMode()\"></fd-icon>\n {{ viewService.team?.name ?? '' }} ({{ viewService.team?.members?.length ?? 0 }})\n }\n @if (viewService.isUserDetailsMode) {\n <fd-icon [glyph]=\"_headerArrowGlyph\" (click)=\"_exitUserDetailsMode()\"></fd-icon>\n {{ 'platformApprovalFlow.addNodeDialogHeaderDetail' | fdTranslate }}\n }\n </p>\n @if (_selectMode && !_userToShowDetails) {\n <fdp-search-field\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n }\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [class.fd-dialog__body--auto-height]=\"viewService.isUserDetailsMode\">\n @if (!_selectMode) {\n @if (_data.showNodeTypeSelect) {\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogNodeType' | fdTranslate }}\n </label>\n <fd-select [(value)]=\"_nodeType\">\n @for (option of _nodeTypesArray; track option) {\n @switch (option) {\n @case (_nodeTypes.SERIAL) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeSerial' | fdTranslate }}\n </li>\n }\n @case (_nodeTypes.PARALLEL) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogNodeTypeParallel' | fdTranslate }}\n </li>\n }\n }\n }\n </fd-select>\n </div>\n }\n <div fd-form-item>\n <label fd-form-label>\n {{ 'platformApprovalFlow.addNodeDialogApproverType' | fdTranslate }}\n </label>\n <fd-select [(value)]=\"_approverType\">\n @for (option of _approverTypesArray; track option) {\n @switch (option) {\n @case (_approverTypes.SINGLE_USER) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeUser' | fdTranslate }}\n </li>\n }\n @case (_approverTypes.ANYONE) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamAnyone' | fdTranslate }}\n </li>\n }\n @case (_approverTypes.EVERYONE) {\n <li fd-option [value]=\"option\">\n {{ 'platformApprovalFlow.addNodeDialogApproverTypeTeamEveryone' | fdTranslate }}\n </li>\n }\n }\n }\n </fd-select>\n </div>\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogUserOrTeam' | fdTranslate }}</label>\n @if (_isSingleUserMode) {\n <fd-multi-input\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedApprovers\"\n [(ngModel)]=\"_selectedApprovers\"\n [displayFn]=\"_displayUserFn\"\n (openChange)=\"_goToSelectMode()\"\n (selectedChange)=\"_setSelectedApprovers($event)\"\n ></fd-multi-input>\n }\n @if (!_isSingleUserMode) {\n <fd-multi-input\n [showAllButton]=\"false\"\n [dropdownValues]=\"_selectedTeamArray\"\n [(ngModel)]=\"_selectedTeamArray\"\n [displayFn]=\"_displayTeamFn\"\n (openChange)=\"_goToSelectMode()\"\n ></fd-multi-input>\n }\n </div>\n @if (_nodeType === _nodeTypes.PARALLEL) {\n <div fd-form-item>\n <fd-checkbox [(ngModel)]=\"_addToNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n }\n @if (_checkDueDate) {\n <div fd-form-item>\n <label fd-form-label>{{ 'platformApprovalFlow.addNodeDialogDueDate' | fdTranslate }}</label>\n <fd-date-picker type=\"single\" [state]=\"!this._dueDate ? 'error' : null\" [(ngModel)]=\"_dueDate\">\n </fd-date-picker>\n </div>\n }\n }\n @if (_selectMode) {\n @if (viewService.isSelectTeamMode) {\n @if (!_data.teamDataSource.isDataLoading) {\n <fdp-approval-flow-team-list\n [isRtl]=\"_data.rtl\"\n [teams]=\"_teams\"\n [selectedTeamId]=\"_selectedTeam?.id\"\n (onTeamClick)=\"_viewTeamMembers($event)\"\n (onTeamRadioClick)=\"_setSelectedTeam($event)\"\n ></fdp-approval-flow-team-list>\n } @else {\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n }\n }\n @if (viewService.isSelectUserMode || viewService.isTeamMembersMode) {\n @if (viewService.isSelectUserMode || !_data.userDataSource.isDataLoading) {\n <fdp-approval-flow-user-list\n [users]=\"viewService.isSelectUserMode ? _approvers : _filteredTeamMembers\"\n [isSelectable]=\"viewService.isSelectUserMode\"\n [selectedUsers]=\"_selectedApprovers\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedApprovers = $event\"\n ></fdp-approval-flow-user-list>\n } @else {\n <fd-busy-indicator [loading]=\"true\" [block]=\"true\"> </fd-busy-indicator>\n }\n }\n @if (viewService.isUserDetailsMode && _userToShowDetails) {\n <fdp-approval-flow-user-details\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n }\n }\n </fd-dialog-body>\n <fd-dialog-footer>\n @if (!_selectMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeAddActionBtnLabel' | fdTranslate\"\n [disabled]=\"_isMainSubmitButtonDisabled\"\n (click)=\"_submit()\"\n >\n </fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelActionBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close()\"\n ></fd-button-bar>\n }\n @if (_selectMode) {\n @if (viewService.isSelectUserMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedApprovers.length\"\n (click)=\"_confirmSelectedApprovers()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isSelectTeamMode) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.addNodeSelectApproverActionBtnLabel' | fdTranslate\"\n [disabled]=\"!_selectedTeam && !viewService.team\"\n (click)=\"_confirmSelectedTeam()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeCancelApproverSelectionActionBtnLabel' | fdTranslate\"\n (click)=\"_exitSelectMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isTeamMembersMode) {\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitTeamMembersMode()\"\n ></fd-button-bar>\n }\n @if (viewService.isUserDetailsMode) {\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.addNodeApproverOrTeamDetailsCloseActionBtnLabel' | fdTranslate\"\n (click)=\"_exitUserDetailsMode()\"\n ></fd-button-bar>\n }\n }\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-add-node .fd-dialog__body{width:20rem;height:27rem}.fdp-approval-flow-add-node .fd-dialog__body--auto-height{height:auto}\n"] }]
|
|
635
|
+
}], ctorParameters: () => [{ type: i1$1.DialogRef }, { type: ApprovalFlowAddNodeViewService }, { type: i0.ChangeDetectorRef }] });
|
|
641
636
|
|
|
642
637
|
/**
|
|
643
638
|
* @deprecated
|
|
@@ -706,10 +701,10 @@ class ApprovalFlowApproverDetailsComponent {
|
|
|
706
701
|
}
|
|
707
702
|
this._setListItems(this._data.node?.approvers.filter((user) => filterByName(user, searchString)));
|
|
708
703
|
}
|
|
709
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
710
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowApproverDetailsComponent, deps: [{ token: i1$1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
705
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowApproverDetailsComponent, isStandalone: true, selector: "fdp-approval-flow-approver-details", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-approver-details" }, ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header [class.show-search]=\"!_userToShowDetails && _isListMode\">\n <ng-template fdkTemplate=\"header\">\n <p>\n @if (_userToShowDetails && _data.node?.approvers && _data.node!.approvers!.length > 1) {\n <fd-icon\n [glyph]=\"'navigation-' + (_data.rtl ? 'right' : 'left') + '-arrow'\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"_exitUserDetailsMode()\"\n (keyup.space)=\"_exitUserDetailsMode()\"\n (keyup.enter)=\"_exitUserDetailsMode()\"\n ></fd-icon>\n }\n @if (_isListMode && !_userToShowDetails) {\n {{ _data.node?.description }} ({{ _data.node?.approvers?.length ?? 0 }})\n } @else {\n {{ 'platformApprovalFlow.userDetailsHeader' | fdTranslate }}\n }\n </p>\n @if (!_userToShowDetails && _isListMode) {\n <fdp-search-field\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n fdCompact\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n }\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n @if (_userToShowDetails) {\n <fdp-approval-flow-user-details\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n }\n @if (_isListMode) {\n <fdp-approval-flow-user-list\n [users]=\"_listItems\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedUsers = $event\"\n ></fdp-approval-flow-user-list>\n }\n </fd-dialog-body>\n <fd-dialog-footer fdCompact>\n @if (_isListMode || (_userToShowDetails && _data.node?.approvers?.length === 1)) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.userDetailsSendReminderBtnLabel' | fdTranslate\"\n [disabled]=\"!_data.allowSendReminder || (_isListMode && !_selectedUsers.length)\"\n (click)=\"_sendReminder()\"\n ></fd-button-bar>\n }\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.userDetailsCancelBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close('Cancel')\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: 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: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: ApprovalFlowUserDetailsComponent, selector: "fdp-approval-flow-user-details", inputs: ["user", "details", "detailsTemplate"] }, { kind: "component", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: ["users", "selectedUsers", "isSelectable"], outputs: ["onUserClick", "onSelectionChange"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
711
706
|
}
|
|
712
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowApproverDetailsComponent, decorators: [{
|
|
713
708
|
type: Component,
|
|
714
709
|
args: [{ selector: 'fdp-approval-flow-approver-details', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
715
710
|
class: 'fdp-approval-flow-dialog fdp-approval-flow-approver-details'
|
|
@@ -717,7 +712,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
717
712
|
DialogComponent,
|
|
718
713
|
DialogHeaderComponent,
|
|
719
714
|
TemplateDirective,
|
|
720
|
-
NgIf,
|
|
721
715
|
IconComponent,
|
|
722
716
|
SearchFieldComponent,
|
|
723
717
|
ContentDensityDirective,
|
|
@@ -729,8 +723,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
729
723
|
DialogFooterComponent,
|
|
730
724
|
ButtonBarComponent,
|
|
731
725
|
FdTranslatePipe
|
|
732
|
-
], template: "<fd-dialog>\n <fd-dialog-header [class.show-search]=\"!_userToShowDetails && _isListMode\">\n <ng-template fdkTemplate=\"header\">\n <p>\n
|
|
733
|
-
}], ctorParameters:
|
|
726
|
+
], template: "<fd-dialog>\n <fd-dialog-header [class.show-search]=\"!_userToShowDetails && _isListMode\">\n <ng-template fdkTemplate=\"header\">\n <p>\n @if (_userToShowDetails && _data.node?.approvers && _data.node!.approvers!.length > 1) {\n <fd-icon\n [glyph]=\"'navigation-' + (_data.rtl ? 'right' : 'left') + '-arrow'\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"_exitUserDetailsMode()\"\n (keyup.space)=\"_exitUserDetailsMode()\"\n (keyup.enter)=\"_exitUserDetailsMode()\"\n ></fd-icon>\n }\n @if (_isListMode && !_userToShowDetails) {\n {{ _data.node?.description }} ({{ _data.node?.approvers?.length ?? 0 }})\n } @else {\n {{ 'platformApprovalFlow.userDetailsHeader' | fdTranslate }}\n }\n </p>\n @if (!_userToShowDetails && _isListMode) {\n <fdp-search-field\n [placeholder]=\"'platformApprovalFlow.addNodeSearchPlaceholder' | fdTranslate\"\n fdCompact\n [suggestions]=\"[]\"\n (inputChange)=\"_onSearchStringChange($event.text)\"\n ></fdp-search-field>\n }\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n @if (_userToShowDetails) {\n <fdp-approval-flow-user-details\n [user]=\"_userToShowDetails\"\n [detailsTemplate]=\"_data.userDetailsTemplate\"\n [details]=\"_userToShowDetailsData$\"\n ></fdp-approval-flow-user-details>\n }\n @if (_isListMode) {\n <fdp-approval-flow-user-list\n [users]=\"_listItems\"\n (onUserClick)=\"_seeUserDetails($event)\"\n (onSelectionChange)=\"_selectedUsers = $event\"\n ></fdp-approval-flow-user-list>\n }\n </fd-dialog-body>\n <fd-dialog-footer fdCompact>\n @if (_isListMode || (_userToShowDetails && _data.node?.approvers?.length === 1)) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.userDetailsSendReminderBtnLabel' | fdTranslate\"\n [disabled]=\"!_data.allowSendReminder || (_isListMode && !_selectedUsers.length)\"\n (click)=\"_sendReminder()\"\n ></fd-button-bar>\n }\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.userDetailsCancelBtnLabel' | fdTranslate\"\n (click)=\"dialogRef.close('Cancel')\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n"] }]
|
|
727
|
+
}], ctorParameters: () => [{ type: i1$1.DialogRef }, { type: i0.ChangeDetectorRef }] });
|
|
734
728
|
|
|
735
729
|
/** Algorithm in short:
|
|
736
730
|
* 1. Find all possible paths (longest path length = amount of the columns in the graph)
|
|
@@ -1136,14 +1130,14 @@ class ApprovalFlowMessagesComponent {
|
|
|
1136
1130
|
this._dismissMessage(messageIndex);
|
|
1137
1131
|
this.undoLastAction.emit();
|
|
1138
1132
|
}
|
|
1139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowMessagesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowMessagesComponent, isStandalone: true, selector: "fdp-approval-flow-messages", inputs: { messages: "messages", undoLastActionAvailable: "undoLastActionAvailable" }, outputs: { messagesChange: "messagesChange", undoLastAction: "undoLastAction" }, host: { classAttribute: "fdp-approval-flow-messages" }, ngImport: i0, template: "@for (message of messages; track message; let i = $index) {\n <fd-message-strip\n class=\"fdp-approval-flow-messages__item\"\n [type]=\"message.type === 'error' ? 'error' : 'success'\"\n [dismissible]=\"message.type !== 'error'\"\n (onDismiss)=\"_dismissMessage(i)\"\n >\n <bdi>\n <span>\n @switch (message.type) {\n @case ('approverAddSuccess') {\n {{ 'platformApprovalFlow.messagesApproverAddedSuccess' | fdTranslate }}\n }\n @case ('teamAddSuccess') {\n {{ 'platformApprovalFlow.messagesTeamAddedSuccess' | fdTranslate }}\n }\n @case ('nodeEdit') {\n {{ 'platformApprovalFlow.messagesNodeEdited' | fdTranslate }}\n }\n @case ('nodeRemove') {\n {{ 'platformApprovalFlow.messagesNodeRemovedSingular' | fdTranslate }}\n }\n @case ('nodesRemove') {\n {{ 'platformApprovalFlow.messagesNodeRemovedPlural' | fdTranslate }}\n }\n @case ('teamRemove') {\n {{ 'platformApprovalFlow.messagesTeamRemoved' | fdTranslate }}\n }\n @case ('error') {\n {{ 'platformApprovalFlow.messagesErrorBuildGraph' | fdTranslate }}\n }\n }\n </span>\n @if (undoLastActionAvailable) {\n <a\n href=\"#\"\n (click)=\"_undoLastAction(i, $event)\"\n (keyup.enter)=\"_undoLastAction(i, $event)\"\n (keyup.space)=\"_undoLastAction(i, $event)\"\n >\n {{ 'platformApprovalFlow.messagesUndoAction' | fdTranslate }}\n </a>\n }\n </bdi>\n </fd-message-strip>\n}\n", styles: [".fdp-approval-flow-messages__item:not(:last-child){margin-bottom:1rem}\n"], dependencies: [{ kind: "component", type: MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1141
1135
|
}
|
|
1142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowMessagesComponent, decorators: [{
|
|
1143
1137
|
type: Component,
|
|
1144
1138
|
args: [{ selector: 'fdp-approval-flow-messages', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1145
1139
|
class: 'fdp-approval-flow-messages'
|
|
1146
|
-
}, standalone: true, imports: [
|
|
1140
|
+
}, standalone: true, imports: [MessageStripComponent, FdTranslatePipe], template: "@for (message of messages; track message; let i = $index) {\n <fd-message-strip\n class=\"fdp-approval-flow-messages__item\"\n [type]=\"message.type === 'error' ? 'error' : 'success'\"\n [dismissible]=\"message.type !== 'error'\"\n (onDismiss)=\"_dismissMessage(i)\"\n >\n <bdi>\n <span>\n @switch (message.type) {\n @case ('approverAddSuccess') {\n {{ 'platformApprovalFlow.messagesApproverAddedSuccess' | fdTranslate }}\n }\n @case ('teamAddSuccess') {\n {{ 'platformApprovalFlow.messagesTeamAddedSuccess' | fdTranslate }}\n }\n @case ('nodeEdit') {\n {{ 'platformApprovalFlow.messagesNodeEdited' | fdTranslate }}\n }\n @case ('nodeRemove') {\n {{ 'platformApprovalFlow.messagesNodeRemovedSingular' | fdTranslate }}\n }\n @case ('nodesRemove') {\n {{ 'platformApprovalFlow.messagesNodeRemovedPlural' | fdTranslate }}\n }\n @case ('teamRemove') {\n {{ 'platformApprovalFlow.messagesTeamRemoved' | fdTranslate }}\n }\n @case ('error') {\n {{ 'platformApprovalFlow.messagesErrorBuildGraph' | fdTranslate }}\n }\n }\n </span>\n @if (undoLastActionAvailable) {\n <a\n href=\"#\"\n (click)=\"_undoLastAction(i, $event)\"\n (keyup.enter)=\"_undoLastAction(i, $event)\"\n (keyup.space)=\"_undoLastAction(i, $event)\"\n >\n {{ 'platformApprovalFlow.messagesUndoAction' | fdTranslate }}\n </a>\n }\n </bdi>\n </fd-message-strip>\n}\n", styles: [".fdp-approval-flow-messages__item:not(:last-child){margin-bottom:1rem}\n"] }]
|
|
1147
1141
|
}], propDecorators: { messages: [{
|
|
1148
1142
|
type: Input
|
|
1149
1143
|
}], undoLastActionAvailable: [{
|
|
@@ -1172,10 +1166,10 @@ class ApprovalFlowDropZoneDirective {
|
|
|
1172
1166
|
this.active = true;
|
|
1173
1167
|
}
|
|
1174
1168
|
}
|
|
1175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1176
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowDropZoneDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: ApprovalFlowDropZoneDirective, isStandalone: true, selector: "[fdp-approval-flow-drop-zone]", inputs: { placement: "placement" }, exportAs: ["fdp-approval-flow-drop-zone"], ngImport: i0 }); }
|
|
1177
1171
|
}
|
|
1178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowDropZoneDirective, decorators: [{
|
|
1179
1173
|
type: Directive,
|
|
1180
1174
|
args: [{
|
|
1181
1175
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1183,7 +1177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
1183
1177
|
exportAs: 'fdp-approval-flow-drop-zone',
|
|
1184
1178
|
standalone: true
|
|
1185
1179
|
}]
|
|
1186
|
-
}], ctorParameters:
|
|
1180
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { placement: [{
|
|
1187
1181
|
type: Input
|
|
1188
1182
|
}] } });
|
|
1189
1183
|
|
|
@@ -1397,17 +1391,16 @@ class ApprovalFlowNodeComponent {
|
|
|
1397
1391
|
? this.statusColorMapping[this.node.status]
|
|
1398
1392
|
: NODE_STATUS_CLASS_MAP[this.node.status]);
|
|
1399
1393
|
}
|
|
1400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ApprovalFlowNodeComponent, isStandalone: true, selector: "fdp-approval-flow-node", inputs: { node: "node", meta: "meta", renderArrow: "renderArrow", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allNodesInColumnApproved: "allNodesInColumnApproved", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", isEdit: "isEdit", isNextNodeBlank: "isNextNodeBlank" }, outputs: { onAdd: "onAdd", onEdit: "onEdit", onDelete: "onDelete" }, host: { properties: { "class.fdp-approval-flow-node--first-root": "meta?.firstOfMultipleRootNodes", "class.fdp-approval-flow-node--first-final": "meta?.firstOfMultipleFinalNodes", "class.fdp-approval-flow-node--edit-mode": "this.isEdit", "class.fdp-approval-flow-node--next-blank": "this.isNextNodeBlank", "class.fdp-approval-flow-node--blank": "this._blank", "class.fdp-approval-flow-node--space": "this._space", "class.fdp-approval-flow-node--root": "this._isRoot", "class.fdp-approval-flow-node--final": "this._isFinal", "class.fdp-approval-flow-node--line-before": "this._renderLineBefore", "class.fdp-approval-flow-node--line-after": "this._renderLineAfter", "class.fdp-approval-flow-node--approved": "this._isApproved", "class.fdp-approval-flow-node--parent-approved": "this._isParentApproved", "class.fdp-approval-flow-node--selected": "this._isNodeSelected", "class.fdp-approval-flow-node--parallel-start": "this._isParallelStart", "class.fdp-approval-flow-node--parallel-end": "this._isParallelEnd", "class.fdp-approval-flow-node--first-in-parallel": "this._isFirstInParallel", "class.fdp-approval-flow-node--last-in-parallel": "this._isLastInParallel", "class.fdp-approval-flow-node--last-blank": "this._lastBlank" }, classAttribute: "fdp-approval-flow-node" }, queries: [{ propertyName: "_gridListItem", first: true, predicate: GridListItemComponent, descendants: true }], viewQueries: [{ propertyName: "_menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowMenuButton", first: true, predicate: ["overflowMenuButton"], descendants: true }, { propertyName: "_nodeContent", first: true, predicate: ["nodeContent"], descendants: true }, { propertyName: "_dropZones", predicate: ApprovalFlowDropZoneDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"meta?.renderVerticalLineBefore\"\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n></div>\n\n<div\n *ngIf=\"meta?.renderVerticalLineAfter\"\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n></div>\n\n<ng-container *ngIf=\"!_blank && !_space\">\n <div *ngIf=\"renderArrow\" class=\"fdp-approval-flow-node__arrow\"></div>\n\n <div *ngIf=\"_isRoot && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n\n <div *ngIf=\"_isFinal && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n\n <ng-content></ng-content>\n</ng-container>\n\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n <button\n *ngIf=\"!node?.disableActions\"\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n</ng-template>\n\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n <ng-container *ngIf=\"node.approvers.length === 1; else multipleApprovers\">\n {{ node.approvers[0].name }}\n </ng-container>\n\n <ng-template #multipleApprovers>\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate : { count: node.approvers.length } }}\n </ng-template>\n </div>\n\n <div class=\"fdp-approval-flow-node__description\">\n <ng-container *ngIf=\"!node.variousTeams; else variousTeams\">\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n </ng-container>\n\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n <ng-container *ngIf=\"approvalStatusTemplate; then userStatusTemplate; else defaultStatusTemplate\">\n </ng-container>\n\n <ng-container *ngIf=\"checkDueDate && _showDueDateWarning\">\n <ng-container *ngIf=\"_dueIn === dueDateThreshold\">\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn < dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate : { count: dueDateThreshold - _dueIn }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn > dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate : { count: _dueIn - dueDateThreshold }\n }}\n </ng-container>\n </ng-container>\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before-all' }\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAddButton &&\n meta?.canAddNodeAfter &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after-all' }\"></ng-container>\n</ng-container>\n\n<ng-template #addNodeButton let-placement=\"placement\">\n <button\n *ngIf=\"node.status !== 'approved'\"\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n\n<ng-template #defaultStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container [ngSwitch]=\"node.status\">\n <ng-container *ngSwitchCase=\"'approved'\">{{\n 'platformApprovalFlow.statusApproved' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'rejected'\">{{\n 'platformApprovalFlow.statusRejected' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'in progress'\">{{\n 'platformApprovalFlow.statusInProgress' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'not started'\">{{\n 'platformApprovalFlow.statusNotStarted' | fdTranslate\n }}</ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #userStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container\n *ngIf=\"approvalStatusTemplate\"\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n <li\n *ngIf=\"meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('before')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('after')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('parallel')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"_isNotStarted && !this.node?.actionsConfig?.disableEdit\"\n fd-menu-item\n (click)=\"menu.close(); onEdit.emit()\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n\n <li *ngIf=\"!this.node?.actionsConfig?.disableRemove\" fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: 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: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: ObjectStatusComponent, selector: "fdp-object-status", inputs: ["status", "glyph", "indicationColor", "secondaryIndication", "clickable", "inverted", "large", "label", "ariaLabel", "title"], outputs: ["objectStatusClick"] }, { kind: "directive", type: PlatformObjectStatusTextDirective, selector: "[fdpObjectStatusText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ApprovalFlowDropZoneDirective, selector: "[fdp-approval-flow-drop-zone]", inputs: ["placement"], exportAs: ["fdp-approval-flow-drop-zone"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1394
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowNodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1395
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowNodeComponent, isStandalone: true, selector: "fdp-approval-flow-node", inputs: { node: "node", meta: "meta", renderArrow: "renderArrow", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allNodesInColumnApproved: "allNodesInColumnApproved", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", isEdit: "isEdit", isNextNodeBlank: "isNextNodeBlank" }, outputs: { onAdd: "onAdd", onEdit: "onEdit", onDelete: "onDelete" }, host: { properties: { "class.fdp-approval-flow-node--first-root": "meta?.firstOfMultipleRootNodes", "class.fdp-approval-flow-node--first-final": "meta?.firstOfMultipleFinalNodes", "class.fdp-approval-flow-node--edit-mode": "this.isEdit", "class.fdp-approval-flow-node--next-blank": "this.isNextNodeBlank", "class.fdp-approval-flow-node--blank": "this._blank", "class.fdp-approval-flow-node--space": "this._space", "class.fdp-approval-flow-node--root": "this._isRoot", "class.fdp-approval-flow-node--final": "this._isFinal", "class.fdp-approval-flow-node--line-before": "this._renderLineBefore", "class.fdp-approval-flow-node--line-after": "this._renderLineAfter", "class.fdp-approval-flow-node--approved": "this._isApproved", "class.fdp-approval-flow-node--parent-approved": "this._isParentApproved", "class.fdp-approval-flow-node--selected": "this._isNodeSelected", "class.fdp-approval-flow-node--parallel-start": "this._isParallelStart", "class.fdp-approval-flow-node--parallel-end": "this._isParallelEnd", "class.fdp-approval-flow-node--first-in-parallel": "this._isFirstInParallel", "class.fdp-approval-flow-node--last-in-parallel": "this._isLastInParallel", "class.fdp-approval-flow-node--last-blank": "this._lastBlank" }, classAttribute: "fdp-approval-flow-node" }, queries: [{ propertyName: "_gridListItem", first: true, predicate: GridListItemComponent, descendants: true }], viewQueries: [{ propertyName: "_menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowMenuButton", first: true, predicate: ["overflowMenuButton"], descendants: true }, { propertyName: "_nodeContent", first: true, predicate: ["nodeContent"], descendants: true }, { propertyName: "_dropZones", predicate: ApprovalFlowDropZoneDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (meta?.renderVerticalLineBefore) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n ></div>\n}\n@if (meta?.renderVerticalLineAfter) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n ></div>\n}\n@if (!_blank && !_space) {\n @if (renderArrow) {\n <div class=\"fdp-approval-flow-node__arrow\"></div>\n }\n @if (_isRoot && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n }\n @if (_isFinal && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n }\n <ng-content></ng-content>\n}\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n @if (!node?.disableActions) {\n <button\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n }\n</ng-template>\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n @if (node.approvers.length === 1) {\n {{ node.approvers[0].name }}\n } @else {\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate: { count: node.approvers.length } }}\n }\n </div>\n <div class=\"fdp-approval-flow-node__description\">\n @if (!node.variousTeams) {\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n } @else {\n {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }}\n }\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n @if (approvalStatusTemplate) {\n @if (!checkDueDate || !_showDueDateWarning) {\n @if (approvalStatusTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-template>\n }\n }\n } @else {\n @if (!checkDueDate || !_showDueDateWarning) {\n @switch (node.status) {\n @case ('approved') {\n {{ 'platformApprovalFlow.statusApproved' | fdTranslate }}\n }\n @case ('rejected') {\n {{ 'platformApprovalFlow.statusRejected' | fdTranslate }}\n }\n @case ('in progress') {\n {{ 'platformApprovalFlow.statusInProgress' | fdTranslate }}\n }\n @case ('not started') {\n {{ 'platformApprovalFlow.statusNotStarted' | fdTranslate }}\n }\n }\n }\n }\n @if (checkDueDate && _showDueDateWarning) {\n @if (_dueIn === dueDateThreshold) {\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n }\n @if (_dueIn < dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate: { count: dueDateThreshold - _dueIn }\n }}\n }\n @if (_dueIn > dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate: { count: _dueIn - dueDateThreshold }\n }}\n }\n }\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n@if (_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'before-all' }\"\n ></ng-template>\n}\n@if (_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'before' }\"></ng-template>\n}\n@if (\n _showAddButton && meta?.canAddNodeAfter && meta?.renderAddNodeAfterButton && !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'after' }\"></ng-template>\n}\n@if (\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'after-all' }\"\n ></ng-template>\n}\n<ng-template #addNodeButton let-placement=\"placement\">\n @if (node.status !== 'approved') {\n <button\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n }\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n @if (meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('before')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('after')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('parallel')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (_isNotStarted && !this.node?.actionsConfig?.disableEdit) {\n <li fd-menu-item (click)=\"menu.close(); onEdit.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (!this.node?.actionsConfig?.disableRemove) {\n <li fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n }\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: 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: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: ObjectStatusComponent, selector: "fdp-object-status", inputs: ["status", "glyph", "indicationColor", "secondaryIndication", "clickable", "inverted", "large", "label", "ariaLabel", "title"], outputs: ["objectStatusClick"] }, { kind: "directive", type: PlatformObjectStatusTextDirective, selector: "[fdpObjectStatusText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ApprovalFlowDropZoneDirective, selector: "[fdp-approval-flow-drop-zone]", inputs: ["placement"], exportAs: ["fdp-approval-flow-drop-zone"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1402
1396
|
}
|
|
1403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowNodeComponent, decorators: [{
|
|
1404
1398
|
type: Component,
|
|
1405
1399
|
args: [{ selector: 'fdp-approval-flow-node', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
1406
1400
|
class: 'fdp-approval-flow-node',
|
|
1407
1401
|
'[class.fdp-approval-flow-node--first-root]': 'meta?.firstOfMultipleRootNodes',
|
|
1408
1402
|
'[class.fdp-approval-flow-node--first-final]': 'meta?.firstOfMultipleFinalNodes'
|
|
1409
1403
|
}, standalone: true, imports: [
|
|
1410
|
-
NgIf,
|
|
1411
1404
|
ButtonComponent,
|
|
1412
1405
|
ContentDensityDirective,
|
|
1413
1406
|
MenuTriggerDirective,
|
|
@@ -1415,17 +1408,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
1415
1408
|
PlatformObjectStatusTextDirective,
|
|
1416
1409
|
NgTemplateOutlet,
|
|
1417
1410
|
ApprovalFlowDropZoneDirective,
|
|
1418
|
-
NgSwitch,
|
|
1419
|
-
NgSwitchCase,
|
|
1420
1411
|
MenuComponent,
|
|
1421
1412
|
MenuItemComponent,
|
|
1422
1413
|
MenuInteractiveComponent,
|
|
1423
1414
|
MenuTitleDirective,
|
|
1424
1415
|
FdTranslatePipe
|
|
1425
|
-
], template: "<div\n *ngIf=\"meta?.renderVerticalLineBefore\"\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n></div>\n\n<div\n *ngIf=\"meta?.renderVerticalLineAfter\"\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n></div>\n\n<ng-container *ngIf=\"!_blank && !_space\">\n <div *ngIf=\"renderArrow\" class=\"fdp-approval-flow-node__arrow\"></div>\n\n <div *ngIf=\"_isRoot && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n\n <div *ngIf=\"_isFinal && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n\n <ng-content></ng-content>\n</ng-container>\n\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n <button\n *ngIf=\"!node?.disableActions\"\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n</ng-template>\n\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n <ng-container *ngIf=\"node.approvers.length === 1; else multipleApprovers\">\n {{ node.approvers[0].name }}\n </ng-container>\n\n <ng-template #multipleApprovers>\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate : { count: node.approvers.length } }}\n </ng-template>\n </div>\n\n <div class=\"fdp-approval-flow-node__description\">\n <ng-container *ngIf=\"!node.variousTeams; else variousTeams\">\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n </ng-container>\n\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n <ng-container *ngIf=\"approvalStatusTemplate; then userStatusTemplate; else defaultStatusTemplate\">\n </ng-container>\n\n <ng-container *ngIf=\"checkDueDate && _showDueDateWarning\">\n <ng-container *ngIf=\"_dueIn === dueDateThreshold\">\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn < dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate : { count: dueDateThreshold - _dueIn }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn > dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate : { count: _dueIn - dueDateThreshold }\n }}\n </ng-container>\n </ng-container>\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before-all' }\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAddButton &&\n meta?.canAddNodeAfter &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after-all' }\"></ng-container>\n</ng-container>\n\n<ng-template #addNodeButton let-placement=\"placement\">\n <button\n *ngIf=\"node.status !== 'approved'\"\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n\n<ng-template #defaultStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container [ngSwitch]=\"node.status\">\n <ng-container *ngSwitchCase=\"'approved'\">{{\n 'platformApprovalFlow.statusApproved' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'rejected'\">{{\n 'platformApprovalFlow.statusRejected' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'in progress'\">{{\n 'platformApprovalFlow.statusInProgress' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'not started'\">{{\n 'platformApprovalFlow.statusNotStarted' | fdTranslate\n }}</ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #userStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container\n *ngIf=\"approvalStatusTemplate\"\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n <li\n *ngIf=\"meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('before')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('after')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('parallel')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"_isNotStarted && !this.node?.actionsConfig?.disableEdit\"\n fd-menu-item\n (click)=\"menu.close(); onEdit.emit()\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n\n <li *ngIf=\"!this.node?.actionsConfig?.disableRemove\" fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"] }]
|
|
1426
|
-
}], ctorParameters:
|
|
1416
|
+
], template: "@if (meta?.renderVerticalLineBefore) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n ></div>\n}\n@if (meta?.renderVerticalLineAfter) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n ></div>\n}\n@if (!_blank && !_space) {\n @if (renderArrow) {\n <div class=\"fdp-approval-flow-node__arrow\"></div>\n }\n @if (_isRoot && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n }\n @if (_isFinal && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n }\n <ng-content></ng-content>\n}\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n @if (!node?.disableActions) {\n <button\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n }\n</ng-template>\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n @if (node.approvers.length === 1) {\n {{ node.approvers[0].name }}\n } @else {\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate: { count: node.approvers.length } }}\n }\n </div>\n <div class=\"fdp-approval-flow-node__description\">\n @if (!node.variousTeams) {\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n } @else {\n {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }}\n }\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n @if (approvalStatusTemplate) {\n @if (!checkDueDate || !_showDueDateWarning) {\n @if (approvalStatusTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-template>\n }\n }\n } @else {\n @if (!checkDueDate || !_showDueDateWarning) {\n @switch (node.status) {\n @case ('approved') {\n {{ 'platformApprovalFlow.statusApproved' | fdTranslate }}\n }\n @case ('rejected') {\n {{ 'platformApprovalFlow.statusRejected' | fdTranslate }}\n }\n @case ('in progress') {\n {{ 'platformApprovalFlow.statusInProgress' | fdTranslate }}\n }\n @case ('not started') {\n {{ 'platformApprovalFlow.statusNotStarted' | fdTranslate }}\n }\n }\n }\n }\n @if (checkDueDate && _showDueDateWarning) {\n @if (_dueIn === dueDateThreshold) {\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n }\n @if (_dueIn < dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate: { count: dueDateThreshold - _dueIn }\n }}\n }\n @if (_dueIn > dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate: { count: _dueIn - dueDateThreshold }\n }}\n }\n }\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n@if (_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'before-all' }\"\n ></ng-template>\n}\n@if (_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'before' }\"></ng-template>\n}\n@if (\n _showAddButton && meta?.canAddNodeAfter && meta?.renderAddNodeAfterButton && !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'after' }\"></ng-template>\n}\n@if (\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'after-all' }\"\n ></ng-template>\n}\n<ng-template #addNodeButton let-placement=\"placement\">\n @if (node.status !== 'approved') {\n <button\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n }\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n @if (meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('before')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('after')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('parallel')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (_isNotStarted && !this.node?.actionsConfig?.disableEdit) {\n <li fd-menu-item (click)=\"menu.close(); onEdit.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (!this.node?.actionsConfig?.disableRemove) {\n <li fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n }\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"] }]
|
|
1417
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$2.RtlService, decorators: [{
|
|
1427
1418
|
type: Optional
|
|
1428
|
-
}] }]
|
|
1419
|
+
}] }], propDecorators: { node: [{
|
|
1429
1420
|
type: Input
|
|
1430
1421
|
}], meta: [{
|
|
1431
1422
|
type: Input
|
|
@@ -1541,10 +1532,10 @@ class ApprovalFlowSelectTypeComponent {
|
|
|
1541
1532
|
_submit() {
|
|
1542
1533
|
this._dialogRef.close({ type: this._nodeType, toNextSerial: this._toNextSerial });
|
|
1543
1534
|
}
|
|
1544
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1535
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowSelectTypeComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1536
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowSelectTypeComponent, isStandalone: true, selector: "fdp-approval-flow-select-type", host: { classAttribute: "fdp-approval-flow-dialog fdp-approval-flow-select-type" }, ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <p>{{ 'platformApprovalFlow.selectTypeDialogMoveApproverAs' | fdTranslate }}</p>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body fdCompact>\n <span class=\"fd-form-label\">\n {{ 'platformApprovalFlow.selectTypeDialogParallelOrSerial' | fdTranslate }}\n </span>\n <fd-form-group class=\"fdp-approval-flow-select-type__form\">\n <div fd-form-item>\n <fd-radio-button\n [value]=\"_nodeTypes.PARALLEL\"\n [(ngModel)]=\"_nodeType\"\n id=\"select-type-parallel\"\n name=\"select-type-parallel\"\n >\n {{ 'platformApprovalFlow.selectTypeDialogNodeTypeParallel' | fdTranslate }}\n </fd-radio-button>\n </div>\n <div fd-form-item>\n <fd-radio-button\n [value]=\"_nodeTypes.SERIAL\"\n [(ngModel)]=\"_nodeType\"\n id=\"select-type-serial\"\n name=\"select-type-serial\"\n >\n {{ 'platformApprovalFlow.selectTypeDialogNodeTypeSerial' | fdTranslate }}\n </fd-radio-button>\n </div>\n @if (_nodeType === _nodeTypes.PARALLEL) {\n <div fd-form-item>\n <fd-checkbox [(ngModel)]=\"_toNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n }\n </fd-form-group>\n </fd-dialog-body>\n <fd-dialog-footer fdCompact>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.selectTypeDialogConfirmButton' | fdTranslate\"\n (click)=\"_submit()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.selectTypeDialogCancelButton' | fdTranslate\"\n (click)=\"_dialogRef.close()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-select-type .fd-dialog__body{width:24rem}.fdp-approval-flow-select-type .fd-dialog__body .fd-form-item{margin-bottom:0}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "directive", type: 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: FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1546
1537
|
}
|
|
1547
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowSelectTypeComponent, decorators: [{
|
|
1548
1539
|
type: Component,
|
|
1549
1540
|
args: [{ selector: 'fdp-approval-flow-select-type', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
1550
1541
|
class: 'fdp-approval-flow-dialog fdp-approval-flow-select-type'
|
|
@@ -1560,13 +1551,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
1560
1551
|
FormItemComponent,
|
|
1561
1552
|
RadioButtonComponent,
|
|
1562
1553
|
FormsModule,
|
|
1563
|
-
NgIf,
|
|
1564
1554
|
CheckboxComponent,
|
|
1565
1555
|
DialogFooterComponent,
|
|
1566
1556
|
ButtonBarComponent,
|
|
1567
1557
|
FdTranslatePipe
|
|
1568
|
-
], template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <p>{{ 'platformApprovalFlow.selectTypeDialogMoveApproverAs' | fdTranslate }}</p>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body fdCompact>\n <span class=\"fd-form-label\">\n {{ 'platformApprovalFlow.selectTypeDialogParallelOrSerial' | fdTranslate }}\n </span>\n
|
|
1569
|
-
}], ctorParameters:
|
|
1558
|
+
], template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <p>{{ 'platformApprovalFlow.selectTypeDialogMoveApproverAs' | fdTranslate }}</p>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body fdCompact>\n <span class=\"fd-form-label\">\n {{ 'platformApprovalFlow.selectTypeDialogParallelOrSerial' | fdTranslate }}\n </span>\n <fd-form-group class=\"fdp-approval-flow-select-type__form\">\n <div fd-form-item>\n <fd-radio-button\n [value]=\"_nodeTypes.PARALLEL\"\n [(ngModel)]=\"_nodeType\"\n id=\"select-type-parallel\"\n name=\"select-type-parallel\"\n >\n {{ 'platformApprovalFlow.selectTypeDialogNodeTypeParallel' | fdTranslate }}\n </fd-radio-button>\n </div>\n <div fd-form-item>\n <fd-radio-button\n [value]=\"_nodeTypes.SERIAL\"\n [(ngModel)]=\"_nodeType\"\n id=\"select-type-serial\"\n name=\"select-type-serial\"\n >\n {{ 'platformApprovalFlow.selectTypeDialogNodeTypeSerial' | fdTranslate }}\n </fd-radio-button>\n </div>\n @if (_nodeType === _nodeTypes.PARALLEL) {\n <div fd-form-item>\n <fd-checkbox [(ngModel)]=\"_toNextSerial\">\n {{ 'platformApprovalFlow.addNodeDialogAddToNext' | fdTranslate }}\n </fd-checkbox>\n </div>\n }\n </fd-form-group>\n </fd-dialog-body>\n <fd-dialog-footer fdCompact>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformApprovalFlow.selectTypeDialogConfirmButton' | fdTranslate\"\n (click)=\"_submit()\"\n ></fd-button-bar>\n <fd-button-bar\n fdkInitialFocus\n fdType=\"transparent\"\n [label]=\"'platformApprovalFlow.selectTypeDialogCancelButton' | fdTranslate\"\n (click)=\"_dialogRef.close()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-approval-flow-dialog a{color:#0a6ed1;color:var(--sapLinkColor, #0a6ed1)}.fdp-approval-flow-dialog .fd-list--byline .fd-list__byline-left{width:100%}.fdp-approval-flow-dialog fd-popover{width:100%}.fdp-approval-flow-dialog fd-dialog fd-dialog-header{margin-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header .fd-bar--header{flex-direction:column;padding-bottom:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p{font-size:1rem;margin:.65rem 0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header p fd-icon{font-size:.875rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);position:relative;cursor:pointer;margin-right:.75rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search{margin-bottom:0}.fdp-approval-flow-dialog fd-dialog fd-dialog-header.show-search .fd-bar--header{min-height:2.5rem;height:auto}.fdp-approval-flow-dialog fd-dialog fd-avatar{margin-right:.652rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body{padding:1rem}.fdp-approval-flow-dialog fd-dialog fd-dialog-body fdp-list{display:block;margin-left:-1rem;margin-right:-1rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item .fd-checkbox__label{position:relative;left:.3125rem}.fdp-approval-flow-dialog fd-dialog fdp-standard-list-item fd-avatar{margin-left:.1875rem}.fdp-approval-flow-dialog .fd-form-item{margin-bottom:1rem}[dir=rtl] .fdp-approval-flow-dialog fd-dialog-header p fd-icon,.fdp-approval-flow-dialog[dir=rtl] fd-dialog-header p fd-icon{margin-right:0;margin-left:.75rem}[dir=rtl] .fdp-approval-flow-dialog fd-avatar,.fdp-approval-flow-dialog[dir=rtl] fd-avatar{margin-right:0;margin-left:.652rem}[dir=rtl] .fdp-approval-flow-dialog fdp-standard-list-item .fd-checkbox__label,.fdp-approval-flow-dialog[dir=rtl] fdp-standard-list-item .fd-checkbox__label{left:auto;right:.3125rem}\n", ".fdp-approval-flow-select-type .fd-dialog__body{width:24rem}.fdp-approval-flow-select-type .fd-dialog__body .fd-form-item{margin-bottom:0}\n"] }]
|
|
1559
|
+
}], ctorParameters: () => [{ type: i1$1.DialogRef }] });
|
|
1570
1560
|
|
|
1571
1561
|
/**
|
|
1572
1562
|
* @deprecated
|
|
@@ -1645,14 +1635,14 @@ class ApprovalFlowToolbarActionsComponent {
|
|
|
1645
1635
|
const node = this.selectedNodes[0];
|
|
1646
1636
|
this.editSelectedNode.emit(node);
|
|
1647
1637
|
}
|
|
1648
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1649
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1638
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowToolbarActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1639
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowToolbarActionsComponent, isStandalone: true, selector: "fdp-approval-flow-toolbar-actions", inputs: { graph: "graph", graphMetadata: "graphMetadata", selectedNodes: "selectedNodes", isEditMode: "isEditMode" }, outputs: { enterEditMode: "enterEditMode", addNode: "addNode", editSelectedNode: "editSelectedNode", deleteSelectedNodes: "deleteSelectedNodes" }, host: { classAttribute: "fdp-approval-flow-toolbar-actions" }, ngImport: i0, template: "<ng-container fdCompact>\n @if (!graph?.columns?.length && !graph?.errors) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddStepButton' | fdTranslate\"\n (click)=\"_addNode('empty')\"\n ></button>\n }\n @if (!!graph?.columns?.length && !isEditMode) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarEditButton' | fdTranslate\"\n (click)=\"enterEditMode.emit()\"\n ></button>\n }\n @if (isEditMode) {\n @if (_canAddBefore) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversBefore' | fdTranslate\"\n (click)=\"_addNode('before')\"\n ></button>\n }\n @if (_canAddAfter) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversAfter' | fdTranslate\"\n (click)=\"_addNode('after')\"\n ></button>\n }\n @if (_canAddParallel) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversParallel' | fdTranslate\"\n (click)=\"_addNode('parallel')\"\n ></button>\n }\n @if (_canRemoveSelectedNodes) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarRemove' | fdTranslate\"\n (click)=\"deleteSelectedNodes.emit()\"\n ></button>\n }\n @if (_canEditNode) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarEditApprover' | fdTranslate\"\n (click)=\"_editSelectedNode()\"\n ></button>\n }\n }\n</ng-container>\n", styles: [".fdp-approval-flow-toolbar-actions .fd-button:not(:last-child){margin-right:.5rem}[dir=rtl] .fdp-approval-flow-toolbar-actions .fd-button:not(:last-child),.fdp-approval-flow-toolbar-actions[dir=rtl] .fd-button:not(:last-child){margin-right:0;margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: 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: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1650
1640
|
}
|
|
1651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowToolbarActionsComponent, decorators: [{
|
|
1652
1642
|
type: Component,
|
|
1653
1643
|
args: [{ selector: 'fdp-approval-flow-toolbar-actions', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1654
1644
|
class: 'fdp-approval-flow-toolbar-actions'
|
|
1655
|
-
}, standalone: true, imports: [ContentDensityDirective,
|
|
1645
|
+
}, standalone: true, imports: [ContentDensityDirective, ButtonComponent, FdTranslatePipe], template: "<ng-container fdCompact>\n @if (!graph?.columns?.length && !graph?.errors) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddStepButton' | fdTranslate\"\n (click)=\"_addNode('empty')\"\n ></button>\n }\n @if (!!graph?.columns?.length && !isEditMode) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarEditButton' | fdTranslate\"\n (click)=\"enterEditMode.emit()\"\n ></button>\n }\n @if (isEditMode) {\n @if (_canAddBefore) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversBefore' | fdTranslate\"\n (click)=\"_addNode('before')\"\n ></button>\n }\n @if (_canAddAfter) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversAfter' | fdTranslate\"\n (click)=\"_addNode('after')\"\n ></button>\n }\n @if (_canAddParallel) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarAddApproversParallel' | fdTranslate\"\n (click)=\"_addNode('parallel')\"\n ></button>\n }\n @if (_canRemoveSelectedNodes) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarRemove' | fdTranslate\"\n (click)=\"deleteSelectedNodes.emit()\"\n ></button>\n }\n @if (_canEditNode) {\n <button\n fd-button\n [label]=\"'platformApprovalFlow.toolbarEditApprover' | fdTranslate\"\n (click)=\"_editSelectedNode()\"\n ></button>\n }\n }\n</ng-container>\n", styles: [".fdp-approval-flow-toolbar-actions .fd-button:not(:last-child){margin-right:.5rem}[dir=rtl] .fdp-approval-flow-toolbar-actions .fd-button:not(:last-child),.fdp-approval-flow-toolbar-actions[dir=rtl] .fd-button:not(:last-child){margin-right:0;margin-left:.5rem}\n"] }]
|
|
1656
1646
|
}], propDecorators: { graph: [{
|
|
1657
1647
|
type: Input
|
|
1658
1648
|
}], graphMetadata: [{
|
|
@@ -2394,10 +2384,10 @@ class ApprovalFlowComponent {
|
|
|
2394
2384
|
});
|
|
2395
2385
|
this._subscriptions.add(sub);
|
|
2396
2386
|
}
|
|
2397
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2398
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ApprovalFlowComponent, isStandalone: true, 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" }, providers: [ApprovalFlowAddNodeViewService], 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.32.0\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: 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: ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { 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: "directive", type: 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: 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: GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "directive", type: IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2387
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowComponent, deps: [{ token: i1$1.DialogService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: DATA_PROVIDERS, optional: true }, { token: i1$2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2388
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowComponent, isStandalone: true, 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" }, providers: [ApprovalFlowAddNodeViewService], 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 <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 @if (isEditAvailable) {\n <fdp-approval-flow-toolbar-actions\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 }\n </fd-grid-list-title-bar>\n @if (_approvalProcess.watchers?.length || _isEditMode) {\n <div class=\"fdp-approval-flow__watchers\" [attr.aria-label]=\"watchersLabel\">\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n @if (!_isEditMode) {\n @for (watcher of _approvalProcess.watchers; track _trackByFn($index, watcher)) {\n <fd-avatar\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 }\n } @else {\n <div class=\"fdp-approval-flow__watchers-input-container\">\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 }\n </div>\n }\n @if (!_graph.errors) {\n @if (_graph.columns.length) {\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 @if (_scrollDiff > 0) {\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n @if (_carouselStepsLeft > 0) {\n <button\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 @if (_carouselStepsRight > 0) {\n <button\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 }\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 @for (column of _graph.columns; track column; let columnIndex = $index) {\n <div class=\"fdp-approval-flow__graph-column\">\n @for (\n node of column.nodes;\n track _trackByFn(nodeIndex, node);\n let nodeIndex = $index\n ) {\n <fdp-approval-flow-node\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 @if (_isEditMode) {\n <ng-template\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-template>\n }\n </fd-grid-list-item-toolbar>\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"\n node.approvers.length === 1 ? node.approvers[0].imgUrl : null\n \"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n <ng-template fd-grid-list-item-body>\n <ng-template\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-template>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n }\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\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 <!-- 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 }\n }\n </fd-grid-list>\n @if (_isEditMode) {\n <div fd-bar>\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 <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-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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: 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: ApprovalFlowMessagesComponent, selector: "fdp-approval-flow-messages", inputs: ["messages", "undoLastActionAvailable"], outputs: ["messagesChange", "undoLastAction"] }, { kind: "component", type: GridListComponent, selector: "fd-grid-list", inputs: ["id", "width", "ariaLabel", "selectionMode", "layoutPattern"], outputs: ["selectionChange"] }, { kind: "component", type: GridListTitleBarComponent, selector: "fd-grid-list-title-bar", inputs: ["title"] }, { kind: "component", type: GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "component", type: ApprovalFlowToolbarActionsComponent, selector: "fdp-approval-flow-toolbar-actions", inputs: ["graph", "graphMetadata", "selectedNodes", "isEditMode"], outputs: ["enterEditMode", "addNode", "editSelectedNode", "deleteSelectedNodes"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: MultiInputComponent, selector: "fd-multi-input", inputs: ["placeholder", "disabled", "required", "compactCollapse", "maxHeight", "glyph", "dropdownValues", "openDropdownOnAddOnClicked", "searchTerm", "inputId", "highlight", "selected", "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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { 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: "directive", type: 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: 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: GridListItemToolbarComponent, selector: "fd-grid-list-item-toolbar" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: GridListItemImageDirective, selector: "[fd-grid-list-item-image]" }, { kind: "directive", type: GridListItemBodyDirective, selector: "[fd-grid-list-item-body]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "noSvg", "id", "class"] }, { kind: "component", type: IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "directive", type: IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2399
2389
|
}
|
|
2400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowComponent, decorators: [{
|
|
2401
2391
|
type: Component,
|
|
2402
2392
|
args: [{ selector: 'fdp-approval-flow', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [ApprovalFlowAddNodeViewService], standalone: true, imports: [
|
|
2403
2393
|
ContentDensityDirective,
|
|
@@ -2405,9 +2395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
2405
2395
|
GridListComponent,
|
|
2406
2396
|
GridListTitleBarComponent,
|
|
2407
2397
|
GridListTitleBarSpacerComponent,
|
|
2408
|
-
NgIf,
|
|
2409
2398
|
ApprovalFlowToolbarActionsComponent,
|
|
2410
|
-
NgFor,
|
|
2411
2399
|
AvatarComponent,
|
|
2412
2400
|
MultiInputComponent,
|
|
2413
2401
|
FormsModule,
|
|
@@ -2428,15 +2416,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
2428
2416
|
IllustratedMessageTitleDirective,
|
|
2429
2417
|
IllustratedMessageTextDirective,
|
|
2430
2418
|
FdTranslatePipe
|
|
2431
|
-
], 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.32.0\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"] }]
|
|
2432
|
-
}], ctorParameters:
|
|
2419
|
+
], template: "<ng-container fdCompact>\n <fdp-approval-flow-messages\n [(messages)]=\"_messages\"\n [undoLastActionAvailable]=\"!!_previousApprovalProcess\"\n (undoLastAction)=\"_undoLastAction()\"\n ></fdp-approval-flow-messages>\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 @if (isEditAvailable) {\n <fdp-approval-flow-toolbar-actions\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 }\n </fd-grid-list-title-bar>\n @if (_approvalProcess.watchers?.length || _isEditMode) {\n <div class=\"fdp-approval-flow__watchers\" [attr.aria-label]=\"watchersLabel\">\n <p class=\"fdp-approval-flow__watchers-title\">\n {{ watchersLabel || ('platformApprovalFlow.defaultWatchersLabel' | fdTranslate) }}\n </p>\n @if (!_isEditMode) {\n @for (watcher of _approvalProcess.watchers; track _trackByFn($index, watcher)) {\n <fd-avatar\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 }\n } @else {\n <div class=\"fdp-approval-flow__watchers-input-container\">\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 }\n </div>\n }\n @if (!_graph.errors) {\n @if (_graph.columns.length) {\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 @if (_scrollDiff > 0) {\n <div\n class=\"fdp-approval-flow-carousel-controls\"\n [class.fdp-approval-flow-carousel-controls--edit-mode]=\"_isEditMode\"\n >\n @if (_carouselStepsLeft > 0) {\n <button\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 @if (_carouselStepsRight > 0) {\n <button\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 }\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 @for (column of _graph.columns; track column; let columnIndex = $index) {\n <div class=\"fdp-approval-flow__graph-column\">\n @for (\n node of column.nodes;\n track _trackByFn(nodeIndex, node);\n let nodeIndex = $index\n ) {\n <fdp-approval-flow-node\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 @if (_isEditMode) {\n <ng-template\n [ngTemplateOutlet]=\"approvalFlowNode._overflowMenuButton\"\n ></ng-template>\n }\n </fd-grid-list-item-toolbar>\n <fd-avatar\n fd-grid-list-item-image\n [image]=\"\n node.approvers.length === 1 ? node.approvers[0].imgUrl : null\n \"\n [label]=\"node.approvers.length > 1 ? node.description : null\"\n size=\"xs\"\n [circle]=\"true\"\n ></fd-avatar>\n <ng-template fd-grid-list-item-body>\n <ng-template\n [ngTemplateOutlet]=\"approvalFlowNode._nodeContent\"\n ></ng-template>\n </ng-template>\n </fd-grid-list-item>\n </fdp-approval-flow-node>\n }\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\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 <!-- 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 }\n }\n </fd-grid-list>\n @if (_isEditMode) {\n <div fd-bar>\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 <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-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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"] }]
|
|
2420
|
+
}], ctorParameters: () => [{ type: i1$1.DialogService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: Map, decorators: [{
|
|
2433
2421
|
type: Optional
|
|
2434
2422
|
}, {
|
|
2435
2423
|
type: Inject,
|
|
2436
2424
|
args: [DATA_PROVIDERS]
|
|
2437
2425
|
}] }, { type: i1$2.RtlService, decorators: [{
|
|
2438
2426
|
type: Optional
|
|
2439
|
-
}] }]
|
|
2427
|
+
}] }], propDecorators: { title: [{
|
|
2440
2428
|
type: Input
|
|
2441
2429
|
}], value: [{
|
|
2442
2430
|
type: Input
|
|
@@ -2503,8 +2491,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
2503
2491
|
}] } });
|
|
2504
2492
|
|
|
2505
2493
|
class PlatformApprovalFlowModule {
|
|
2506
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2507
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2494
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformApprovalFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2495
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: PlatformApprovalFlowModule, imports: [ApprovalFlowComponent,
|
|
2508
2496
|
ApprovalFlowNodeComponent,
|
|
2509
2497
|
ApprovalFlowApproverDetailsComponent,
|
|
2510
2498
|
ApprovalFlowAddNodeComponent,
|
|
@@ -2515,7 +2503,7 @@ class PlatformApprovalFlowModule {
|
|
|
2515
2503
|
ApprovalFlowSelectTypeComponent,
|
|
2516
2504
|
ApprovalFlowMessagesComponent,
|
|
2517
2505
|
ApprovalFlowToolbarActionsComponent], exports: [ApprovalFlowComponent] }); }
|
|
2518
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2506
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformApprovalFlowModule, imports: [ApprovalFlowComponent,
|
|
2519
2507
|
ApprovalFlowNodeComponent,
|
|
2520
2508
|
ApprovalFlowApproverDetailsComponent,
|
|
2521
2509
|
ApprovalFlowAddNodeComponent,
|
|
@@ -2526,7 +2514,7 @@ class PlatformApprovalFlowModule {
|
|
|
2526
2514
|
ApprovalFlowMessagesComponent,
|
|
2527
2515
|
ApprovalFlowToolbarActionsComponent] }); }
|
|
2528
2516
|
}
|
|
2529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformApprovalFlowModule, decorators: [{
|
|
2530
2518
|
type: NgModule,
|
|
2531
2519
|
args: [{
|
|
2532
2520
|
imports: [
|