@openui5/sap.ui.mdc 1.134.0 → 1.136.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/REUSE.toml +649 -0
- package/THIRDPARTY.txt +23 -23
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +2 -2
- package/src/sap/ui/mdc/ActionToolbar.js +2 -2
- package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/BaseDelegate.js +1 -1
- package/src/sap/ui/mdc/Chart.js +2 -2
- package/src/sap/ui/mdc/ChartDelegate.js +1 -1
- package/src/sap/ui/mdc/ChartRenderer.js +1 -1
- package/src/sap/ui/mdc/Control.js +2 -2
- package/src/sap/ui/mdc/DefaultTypeMap.js +2 -2
- package/src/sap/ui/mdc/Element.js +2 -2
- package/src/sap/ui/mdc/Field.js +3 -3
- package/src/sap/ui/mdc/FilterBar.js +2 -2
- package/src/sap/ui/mdc/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +3 -3
- package/src/sap/ui/mdc/Link.js +2 -2
- package/src/sap/ui/mdc/LinkDelegate.js +1 -1
- package/src/sap/ui/mdc/MultiValueField.js +2 -2
- package/src/sap/ui/mdc/Table.js +54 -8
- package/src/sap/ui/mdc/TableDelegate.js +1 -1
- package/src/sap/ui/mdc/ValueHelp.js +105 -28
- package/src/sap/ui/mdc/ValueHelpDelegate.js +88 -19
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +10 -2
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +2 -2
- package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +2 -2
- package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +1 -1
- package/src/sap/ui/mdc/chart/Item.js +1 -1
- package/src/sap/ui/mdc/chart/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/chart/SelectionButton.js +1 -1
- package/src/sap/ui/mdc/chart/SelectionButtonDisplay.js +1 -1
- package/src/sap/ui/mdc/chart/SelectionButtonItem.js +1 -1
- package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +1 -1
- package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +3 -3
- package/src/sap/ui/mdc/chart/Util.js +1 -1
- package/src/sap/ui/mdc/condition/Condition.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionValidateException.js +1 -1
- package/src/sap/ui/mdc/condition/FilterConverter.js +91 -57
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +41 -4
- package/src/sap/ui/mdc/condition/Operator.js +18 -13
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +2 -2
- package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
- package/src/sap/ui/mdc/designtime/Util.js +1 -1
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +22 -18
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +12 -9
- package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +11 -8
- package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
- package/src/sap/ui/mdc/enum/BaseType.js +1 -1
- package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
- package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
- package/src/sap/ui/mdc/enum/EditMode.js +1 -1
- package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
- package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +1 -1
- package/src/sap/ui/mdc/enum/LinkType.js +1 -1
- package/src/sap/ui/mdc/enum/OperatorOverwrite.js +1 -1
- package/src/sap/ui/mdc/enum/OperatorValueType.js +1 -1
- package/src/sap/ui/mdc/enum/ProcessingStrategy.js +1 -1
- package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
- package/src/sap/ui/mdc/enum/ReasonMode.js +1 -1
- package/src/sap/ui/mdc/enum/SelectType.js +1 -1
- package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +1 -1
- package/src/sap/ui/mdc/enums/BaseType.js +1 -1
- package/src/sap/ui/mdc/enums/ChartItemRoleType.js +1 -1
- package/src/sap/ui/mdc/enums/ChartItemType.js +1 -1
- package/src/sap/ui/mdc/enums/ChartP13nMode.js +1 -1
- package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +1 -1
- package/src/sap/ui/mdc/enums/ConditionValidated.js +1 -1
- package/src/sap/ui/mdc/enums/ContentMode.js +1 -1
- package/src/sap/ui/mdc/enums/FieldDisplay.js +1 -1
- package/src/sap/ui/mdc/enums/FieldEditMode.js +1 -1
- package/src/sap/ui/mdc/enums/FilterBarP13nMode.js +1 -1
- package/src/sap/ui/mdc/enums/FilterBarValidationStatus.js +1 -1
- package/src/sap/ui/mdc/enums/LinkType.js +1 -1
- package/src/sap/ui/mdc/enums/OperatorName.js +1 -1
- package/src/sap/ui/mdc/enums/OperatorOverwrite.js +1 -1
- package/src/sap/ui/mdc/enums/OperatorValueType.js +1 -1
- package/src/sap/ui/mdc/enums/ProcessingStrategy.js +1 -1
- package/src/sap/ui/mdc/enums/ReasonMode.js +1 -1
- package/src/sap/ui/mdc/enums/RequestShowContainerReason.js +62 -0
- package/src/sap/ui/mdc/enums/TableGrowingMode.js +1 -1
- package/src/sap/ui/mdc/enums/TableMultiSelectMode.js +1 -1
- package/src/sap/ui/mdc/enums/TableP13nMode.js +1 -1
- package/src/sap/ui/mdc/enums/TableRowActionType.js +1 -1
- package/src/sap/ui/mdc/enums/TableRowCountMode.js +1 -1
- package/src/sap/ui/mdc/enums/TableSelectionMode.js +1 -1
- package/src/sap/ui/mdc/enums/TableType.js +1 -1
- package/src/sap/ui/mdc/enums/ValueHelpPropagationReason.js +1 -1
- package/src/sap/ui/mdc/enums/ValueHelpSelectionType.js +1 -1
- package/src/sap/ui/mdc/field/ConditionType.js +2 -2
- package/src/sap/ui/mdc/field/ConditionTypeMixin.js +2 -2
- package/src/sap/ui/mdc/field/ConditionsType.js +2 -2
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +2 -2
- package/src/sap/ui/mdc/field/FieldBase.js +104 -47
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -1
- package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
- package/src/sap/ui/mdc/field/FieldInput.js +44 -4
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
- package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +48 -4
- package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
- package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
- package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
- package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +1 -1
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +43 -3
- package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +1 -1
- package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
- package/src/sap/ui/mdc/field/content/ContentFactory.js +2 -2
- package/src/sap/ui/mdc/field/content/DateContent.js +1 -1
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +1 -1
- package/src/sap/ui/mdc/field/content/DefaultContent.js +1 -1
- package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
- package/src/sap/ui/mdc/field/content/SearchContent.js +1 -1
- package/src/sap/ui/mdc/field/content/TimeContent.js +1 -1
- package/src/sap/ui/mdc/field/content/UnitContent.js +1 -1
- package/src/sap/ui/mdc/field/splitValue.js +1 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +2 -2
- package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
- package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/filterbar/PropertyInfoValidator.js +1 -1
- package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +2 -2
- package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +2 -2
- package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/AggregateFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
- package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +2 -2
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
- package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/SortFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Table.flexibility.js +5 -1
- package/src/sap/ui/mdc/flexibility/Util.js +1 -1
- package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +2 -2
- package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +2 -2
- package/src/sap/ui/mdc/flexibility/helpers/addKeyOrName.js +1 -1
- package/src/sap/ui/mdc/flexibility/xConfigFlex.js +1 -1
- package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
- package/src/sap/ui/mdc/i18n/interaction.xml +43 -0
- package/src/sap/ui/mdc/library.js +8 -4
- package/src/sap/ui/mdc/library.support.js +1 -1
- package/src/sap/ui/mdc/link/Factory.js +2 -2
- package/src/sap/ui/mdc/link/LinkItem.js +2 -2
- package/src/sap/ui/mdc/link/Log.js +1 -1
- package/src/sap/ui/mdc/link/Panel.js +2 -2
- package/src/sap/ui/mdc/link/PanelItem.js +2 -2
- package/src/sap/ui/mdc/link/PanelRenderer.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMapping.js +2 -2
- package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +2 -2
- package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +2 -2
- package/src/sap/ui/mdc/messagebundle_bg.properties +14 -14
- package/src/sap/ui/mdc/messagebundle_de.properties +1 -1
- package/src/sap/ui/mdc/messagebundle_es.properties +1 -1
- package/src/sap/ui/mdc/messagebundle_sl.properties +3 -3
- package/src/sap/ui/mdc/messagebundle_th.properties +8 -8
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/delegate/FilterIntegrationDefault.js +1 -1
- package/src/sap/ui/mdc/odata/TypeMap.js +2 -2
- package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +52 -29
- package/src/sap/ui/mdc/odata/v4/TypeMap.js +2 -2
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +3 -3
- package/src/sap/ui/mdc/p13n/P13nBuilder.js +1 -1
- package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -1
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +2 -2
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +4 -4
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +161 -0
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +2 -2
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +1 -1
- package/src/sap/ui/mdc/rules/Table.support.js +1 -1
- package/src/sap/ui/mdc/table/Column.js +20 -6
- package/src/sap/ui/mdc/table/ColumnSettings.js +2 -2
- package/src/sap/ui/mdc/table/CreationRow.js +2 -2
- package/src/sap/ui/mdc/table/DragDropConfig.js +2 -2
- package/src/sap/ui/mdc/table/GridTableType.js +64 -2
- package/src/sap/ui/mdc/table/PropertyHelper.js +18 -4
- package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +2 -2
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +12 -6
- package/src/sap/ui/mdc/table/RowActionItem.js +2 -2
- package/src/sap/ui/mdc/table/RowSettings.js +2 -2
- package/src/sap/ui/mdc/table/TableSettings.js +1 -1
- package/src/sap/ui/mdc/table/TableTypeBase.js +1 -1
- package/src/sap/ui/mdc/table/TreeTableType.js +1 -1
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +114 -47
- package/src/sap/ui/mdc/table/menu/GroupHeaderRowContextMenu.js +1 -1
- package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +1 -1
- package/src/sap/ui/mdc/table/utils/Personalization.js +20 -2
- package/src/sap/ui/mdc/themes/base/AdaptFiltersPanel.less +13 -8
- package/src/sap/ui/mdc/themes/base/AdaptationFilterBar.less +7 -2
- package/src/sap/ui/mdc/themes/base/FieldBase.less +11 -5
- package/src/sap/ui/mdc/themes/base/FilterBar.less +5 -3
- package/src/sap/ui/mdc/themes/base/GroupView.less +37 -32
- package/src/sap/ui/mdc/themes/base/InfoPanel.less +28 -22
- package/src/sap/ui/mdc/themes/base/ListView.less +20 -15
- package/src/sap/ui/mdc/themes/base/PersonalizationDialog.less +6 -13
- package/src/sap/ui/mdc/themes/base/QueryPanel.less +5 -4
- package/src/sap/ui/mdc/themes/base/Table.less +6 -0
- package/src/sap/ui/mdc/themes/base/TokenDisplay.less +27 -29
- package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +18 -22
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +31 -27
- package/src/sap/ui/mdc/themes/base/library.source.less +1 -3
- package/src/sap/ui/mdc/ushell/LinkDelegate.js +23 -23
- package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +2 -2
- package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +2 -2
- package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +2 -2
- package/src/sap/ui/mdc/util/Common.js +1 -1
- package/src/sap/ui/mdc/util/DateUtil.js +1 -1
- package/src/sap/ui/mdc/util/DensityHelper.js +1 -1
- package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
- package/src/sap/ui/mdc/util/IdentifierUtil.js +1 -1
- package/src/sap/ui/mdc/util/InfoBar.js +2 -2
- package/src/sap/ui/mdc/util/InfoBarRenderer.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +2 -2
- package/src/sap/ui/mdc/util/PropertyHelper.js +38 -10
- package/src/sap/ui/mdc/util/PropertyHelperUtil.js +2 -2
- package/src/sap/ui/mdc/util/TypeMap.js +1 -1
- package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/util/loadModules.js +1 -1
- package/src/sap/ui/mdc/valuehelp/CollectiveSearchSelect.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +36 -17
- package/src/sap/ui/mdc/valuehelp/FilterBar.js +2 -2
- package/src/sap/ui/mdc/valuehelp/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/valuehelp/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Popover.js +73 -24
- package/src/sap/ui/mdc/valuehelp/base/Container.js +6 -20
- package/src/sap/ui/mdc/valuehelp/base/Content.js +13 -25
- package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +4 -3
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +6 -6
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -2
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +12 -2
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +12 -2
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +68 -34
- package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +2 -2
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +8 -4
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +165 -92
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +206 -1
- package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +2 -1
- package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +44 -0
- package/ui5.yaml +1 -1
- package/.reuse/dep5 +0 -471
- package/src/sap/ui/mdc/themes/base/SelectionDialog.less +0 -5
- package/src/sap/ui/mdc/themes/base/Wrapper.less +0 -17
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
@@ -35,7 +35,8 @@ sap.ui.define([
|
|
|
35
35
|
'sap/ui/model/base/ManagedObjectModel',
|
|
36
36
|
'sap/ui/base/ManagedObjectObserver',
|
|
37
37
|
'sap/ui/events/KeyCodes',
|
|
38
|
-
'sap/ui/Device'
|
|
38
|
+
'sap/ui/Device',
|
|
39
|
+
'sap/ui/mdc/enums/RequestShowContainerReason'
|
|
39
40
|
], (
|
|
40
41
|
Element,
|
|
41
42
|
Library,
|
|
@@ -68,7 +69,8 @@ sap.ui.define([
|
|
|
68
69
|
ManagedObjectModel,
|
|
69
70
|
ManagedObjectObserver,
|
|
70
71
|
KeyCodes,
|
|
71
|
-
Device
|
|
72
|
+
Device,
|
|
73
|
+
RequestShowContainerReason
|
|
72
74
|
) => {
|
|
73
75
|
"use strict";
|
|
74
76
|
|
|
@@ -99,7 +101,7 @@ sap.ui.define([
|
|
|
99
101
|
* @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent, sap.ui.core.ILabelable
|
|
100
102
|
*
|
|
101
103
|
* @author SAP SE
|
|
102
|
-
* @version 1.
|
|
104
|
+
* @version 1.136.0
|
|
103
105
|
*
|
|
104
106
|
* @constructor
|
|
105
107
|
* @alias sap.ui.mdc.field.FieldBase
|
|
@@ -664,7 +666,7 @@ sap.ui.define([
|
|
|
664
666
|
handleTokenUpdate: _handleTokenUpdate.bind(this),
|
|
665
667
|
handleContentChange: _handleContentChange.bind(this),
|
|
666
668
|
handleContentLiveChange: _handleContentLiveChange.bind(this),
|
|
667
|
-
handleValueHelpRequest:
|
|
669
|
+
handleValueHelpRequest: _handleContentValueHelpRequest.bind(this),
|
|
668
670
|
handleEnter: _handleEnter.bind(this),
|
|
669
671
|
handleContentPress: _handleContentPress.bind(this)
|
|
670
672
|
});
|
|
@@ -676,7 +678,7 @@ sap.ui.define([
|
|
|
676
678
|
const oValueHelp = _getValueHelp.call(this);
|
|
677
679
|
const oSuggestControl = this.getControlForSuggestion();
|
|
678
680
|
if (this.getEditMode() === FieldEditMode.Editable && oValueHelp && !this._iFocusTimer && !oValueHelp.isOpen() && containsOrEquals(oSuggestControl.getDomRef(), oEvent.target)) {
|
|
679
|
-
oValueHelp.
|
|
681
|
+
oValueHelp.requestShowTypeahead(RequestShowContainerReason.Focus).then((bShouldOpen) => {
|
|
680
682
|
if (bShouldOpen) {
|
|
681
683
|
this._iFocusTimer = setTimeout(() => {
|
|
682
684
|
if (!this.isFieldDestroyed() && !oValueHelp.isOpen() && _isFocused.call(this)) {
|
|
@@ -887,7 +889,7 @@ sap.ui.define([
|
|
|
887
889
|
this._handleNavigate(oEvent, 9999); // iStep are relative and can not be set to the last item
|
|
888
890
|
};
|
|
889
891
|
|
|
890
|
-
FieldBase.prototype._handleNavigate = function(oEvent, iStep) {
|
|
892
|
+
FieldBase.prototype._handleNavigate = async function(oEvent, iStep) {
|
|
891
893
|
|
|
892
894
|
if (this.getEditMode() === FieldEditMode.Editable) {
|
|
893
895
|
const oValueHelp = _getValueHelp.call(this);
|
|
@@ -899,10 +901,18 @@ sap.ui.define([
|
|
|
899
901
|
// if only type-ahead but no real value help, only navigate if open
|
|
900
902
|
const oContent = this.getControlForSuggestion();
|
|
901
903
|
const bFocusInField = oContent.hasStyleClass("sapMFocus");
|
|
904
|
+
const bOpen = oValueHelp.isOpen();
|
|
902
905
|
oEvent.preventDefault();
|
|
903
906
|
oEvent.stopPropagation();
|
|
904
|
-
|
|
905
|
-
|
|
907
|
+
if (!bOpen) {
|
|
908
|
+
oValueHelp.setFilterValue(this._sFilterValue); // to be sure to filter for typed value (only update if not already opened)
|
|
909
|
+
const bShowTypeahead = await oValueHelp.requestShowTypeahead(RequestShowContainerReason.Navigate);
|
|
910
|
+
if (!this.isFieldDestroyed() && !oValueHelp.isOpen() && bShowTypeahead) {
|
|
911
|
+
await _handleValueHelpRequest.call(this, oEvent, true);
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
}
|
|
915
|
+
oValueHelp.navigate(bOpen && bFocusInField && iStep === 1 ? 0 : iStep); // on first navigation just initial selected item should be navigated
|
|
906
916
|
}
|
|
907
917
|
}
|
|
908
918
|
}
|
|
@@ -942,12 +952,7 @@ sap.ui.define([
|
|
|
942
952
|
}
|
|
943
953
|
};
|
|
944
954
|
|
|
945
|
-
FieldBase.prototype.
|
|
946
|
-
|
|
947
|
-
if (oEvent.isMarked("tokenTap")) {
|
|
948
|
-
return; // only open if taped into input area (MultiInput case)
|
|
949
|
-
}
|
|
950
|
-
|
|
955
|
+
FieldBase.prototype._requestShowTypeahead = function(oEvent, sReason) {
|
|
951
956
|
// in "Select"-case the suggestion help should open on click into field
|
|
952
957
|
const oValueHelp = _getValueHelp.call(this);
|
|
953
958
|
const oSuggestControl = this.getControlForSuggestion();
|
|
@@ -957,7 +962,7 @@ sap.ui.define([
|
|
|
957
962
|
}
|
|
958
963
|
const bTapBeforeFocus = !_isFocused.call(this); // on thone the Focus event is triggered async after the Tap event
|
|
959
964
|
if (!oValueHelp.isOpen()) {
|
|
960
|
-
oValueHelp.
|
|
965
|
+
oValueHelp.requestShowTypeahead(sReason).then((bShouldOpen) => {
|
|
961
966
|
if (bShouldOpen && !this.isFieldDestroyed() && (bTapBeforeFocus || _isFocused.call(this)) && !oValueHelp.isOpen()) {
|
|
962
967
|
if (bTapBeforeFocus) {
|
|
963
968
|
oSuggestControl.focus(); // if focus not already set (on phone) set it now before the popover opens
|
|
@@ -968,7 +973,19 @@ sap.ui.define([
|
|
|
968
973
|
}
|
|
969
974
|
this._redirectFocus(oEvent, oValueHelp);
|
|
970
975
|
}
|
|
976
|
+
};
|
|
971
977
|
|
|
978
|
+
FieldBase.prototype.onkeyup = function(oEvent) {
|
|
979
|
+
if (oEvent.keyCode === KeyCodes.TAB) {
|
|
980
|
+
this._requestShowTypeahead(oEvent, RequestShowContainerReason.Tab);
|
|
981
|
+
}
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
FieldBase.prototype.ontap = function(oEvent) {
|
|
985
|
+
if (oEvent.isMarked("tokenTap") || oEvent.getMark("tokenizerMoreIndicatorTap") || oEvent.srcControl.isA("sap.ui.core.Icon")) {
|
|
986
|
+
return; // only open if taped into input area (MultiInput case) and not at ValueHelp-Icon
|
|
987
|
+
}
|
|
988
|
+
this._requestShowTypeahead(oEvent, RequestShowContainerReason.Tap);
|
|
972
989
|
};
|
|
973
990
|
|
|
974
991
|
FieldBase.prototype.clone = function(sIdSuffix, aLocalIds) {
|
|
@@ -1752,7 +1769,7 @@ sap.ui.define([
|
|
|
1752
1769
|
if (sRoleDescription) {
|
|
1753
1770
|
oAttributes.aria["roledescription"] = sRoleDescription;
|
|
1754
1771
|
}
|
|
1755
|
-
oAttributes.aria["haspopup"] = oAriaAttributes.ariaHasPopup;
|
|
1772
|
+
oAttributes.aria["haspopup"] = "dialog";// always dialog, like in Input, ComboBox etc. //oAriaAttributes.ariaHasPopup;
|
|
1756
1773
|
oAttributes["autocomplete"] = "off";
|
|
1757
1774
|
if (bOpen) {
|
|
1758
1775
|
if (oAriaAttributes.role) {
|
|
@@ -1806,6 +1823,7 @@ sap.ui.define([
|
|
|
1806
1823
|
const aLabels = LabelEnablement.getReferencingLabels(this);
|
|
1807
1824
|
for (let i = 0; i < aLabels.length; i++) {
|
|
1808
1825
|
const oLabel = Element.getElementById(aLabels[i]);
|
|
1826
|
+
oLabel.setLabelFor(oLabel.getLabelFor()); // to force Label to refresh the mapping
|
|
1809
1827
|
oLabel.invalidate();
|
|
1810
1828
|
}
|
|
1811
1829
|
|
|
@@ -1952,7 +1970,7 @@ sap.ui.define([
|
|
|
1952
1970
|
}
|
|
1953
1971
|
if (oContent.getMetadata().getAllEvents().valueHelpRequest) {
|
|
1954
1972
|
// content has valueHelpRequest event -> attach handler
|
|
1955
|
-
oContent.attachEvent("valueHelpRequest",
|
|
1973
|
+
oContent.attachEvent("valueHelpRequest", _handleContentValueHelpRequest, this);
|
|
1956
1974
|
}
|
|
1957
1975
|
if (oContent.getMetadata().getAllEvents().tokenUpdate) {
|
|
1958
1976
|
// content has tokenUpdate event -> attach handler
|
|
@@ -1965,6 +1983,7 @@ sap.ui.define([
|
|
|
1965
1983
|
|
|
1966
1984
|
}
|
|
1967
1985
|
|
|
1986
|
+
|
|
1968
1987
|
function _detachContentHandlers(oContent) {
|
|
1969
1988
|
|
|
1970
1989
|
if (oContent.getMetadata().getAllEvents().change) {
|
|
@@ -1981,7 +2000,7 @@ sap.ui.define([
|
|
|
1981
2000
|
}
|
|
1982
2001
|
if (oContent.getMetadata().getAllEvents().valueHelpRequest) {
|
|
1983
2002
|
// oldContent has valueHelpRequest event -> detach handler
|
|
1984
|
-
oContent.detachEvent("valueHelpRequest",
|
|
2003
|
+
oContent.detachEvent("valueHelpRequest", _handleContentValueHelpRequest, this);
|
|
1985
2004
|
}
|
|
1986
2005
|
if (oContent.getMetadata().getAllEvents().tokenUpdate) {
|
|
1987
2006
|
// content has tokenUpdate event -> deattach handler
|
|
@@ -2549,6 +2568,9 @@ sap.ui.define([
|
|
|
2549
2568
|
oValueHelp.setHighlightId();
|
|
2550
2569
|
this._oNavigateCondition = undefined; // navigation item is not longer valid
|
|
2551
2570
|
this.getContentFactory().updateConditionType();
|
|
2571
|
+
if (this.getMaxConditionsForHelp() === 1) {
|
|
2572
|
+
oValueHelp.setConditions([]); // remove navigation from ValueHelp
|
|
2573
|
+
}
|
|
2552
2574
|
}
|
|
2553
2575
|
|
|
2554
2576
|
if ("previousValue" in oEvent.getParameters()) {
|
|
@@ -2561,10 +2583,10 @@ sap.ui.define([
|
|
|
2561
2583
|
|
|
2562
2584
|
if (oValueHelp && (!this.getContentFactory().isMeasure() || oSource.getShowValueHelp())) {
|
|
2563
2585
|
if (bEscPressed) {
|
|
2586
|
+
_setConditionsOnValueHelp.call(this, this.getConditions(), oValueHelp); // reset conditions
|
|
2564
2587
|
// close ValueHelp if escape pressed and not repoen it for last typed characters
|
|
2565
2588
|
if (oValueHelp.isOpen()) {
|
|
2566
2589
|
oValueHelp.close();
|
|
2567
|
-
_setConditionsOnValueHelp.call(this, this.getConditions(), oValueHelp); // reset conditions
|
|
2568
2590
|
_clearLiveChangeTimer.call(this);
|
|
2569
2591
|
this._sFilterValue = "";
|
|
2570
2592
|
}
|
|
@@ -2642,23 +2664,18 @@ sap.ui.define([
|
|
|
2642
2664
|
}.bind(this);
|
|
2643
2665
|
|
|
2644
2666
|
if (this._bConnected && this.getCurrentContent()[0]) {
|
|
2645
|
-
oValueHelp.
|
|
2667
|
+
oValueHelp.requestShowTypeahead(RequestShowContainerReason.Typing).then((bTypeahead) => {
|
|
2646
2668
|
return !!bTypeahead && _handleTypeahead();
|
|
2647
2669
|
});
|
|
2648
2670
|
delete this._vLiveChangeValue;
|
|
2649
2671
|
}
|
|
2650
2672
|
}, 300, { leading: false, trailing: true });
|
|
2651
2673
|
}
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
this._fnLiveChangeTimer(); // if resolved while initial debounce-time frame, it will not triggered twice
|
|
2658
|
-
}
|
|
2659
|
-
this._bOpenByTyping = bOpenByTyping;
|
|
2660
|
-
});
|
|
2661
|
-
}
|
|
2674
|
+
oValueHelp.requestShowTypeahead(RequestShowContainerReason.Typing).then((bOpenByTyping) => { // keeping this for compatibility, as it allows service handling before the debounce interval
|
|
2675
|
+
if (_isFocused.call(this) && this._fnLiveChangeTimer) { // if destroyed this._fnLiveChangeTimer is removed
|
|
2676
|
+
this._fnLiveChangeTimer(); // if resolved while initial debounce-time frame, it will not triggered twice
|
|
2677
|
+
}
|
|
2678
|
+
});
|
|
2662
2679
|
this._fnLiveChangeTimer();
|
|
2663
2680
|
}
|
|
2664
2681
|
}
|
|
@@ -2788,6 +2805,12 @@ sap.ui.define([
|
|
|
2788
2805
|
|
|
2789
2806
|
}
|
|
2790
2807
|
|
|
2808
|
+
async function _handleContentValueHelpRequest(oEvent) {
|
|
2809
|
+
if (await _getValueHelp.call(this)?.requestShowValueHelp()) {
|
|
2810
|
+
_handleValueHelpRequest.call(this, oEvent, false);
|
|
2811
|
+
}
|
|
2812
|
+
}
|
|
2813
|
+
|
|
2791
2814
|
// TODO: remove this function and replace by getValueHelp once ValueHelp association is completetly removed.
|
|
2792
2815
|
FieldBase.prototype._getValueHelp = function() {
|
|
2793
2816
|
|
|
@@ -2865,19 +2888,43 @@ sap.ui.define([
|
|
|
2865
2888
|
this._oValueHelpRequestPromise = _waitForFormatting.call(this);
|
|
2866
2889
|
await this._oValueHelpRequestPromise;
|
|
2867
2890
|
if (!this.isFieldDestroyed()) {
|
|
2868
|
-
oValueHelp.
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2891
|
+
if (!oValueHelp.isOpen()) { // when closing clean up after close
|
|
2892
|
+
const bFromKeyboard = oEvent.getParameter?.("fromKeyboard");
|
|
2893
|
+
const bIsFocusInHelp = oValueHelp.isFocusInHelp();
|
|
2894
|
+
const iMaxConditions = this.getMaxConditionsForHelp();
|
|
2895
|
+
const oContent = oEvent.srcControl || oEvent.getSource(); // as, if called from Tap or other browser event getSource is not available
|
|
2896
|
+
|
|
2897
|
+
oValueHelp.setFilterValue(this._sFilterValue); // use typed value for filtering, even if reopening ValueHelp
|
|
2898
|
+
let aConditions;
|
|
2899
|
+
if (this._oNavigateCondition && iMaxConditions === 1) {
|
|
2900
|
+
aConditions = [this._oNavigateCondition]; // if navigated in closed state before, use navigated condition, In typeahed reopen with last suggested condition
|
|
2901
|
+
} else if (this._bDirty && iMaxConditions === 1) {
|
|
2902
|
+
aConditions = []; // if changed via typing (e.g. cleared) let typeahead do the work if needed
|
|
2903
|
+
} else {
|
|
2904
|
+
aConditions = this.getConditions();
|
|
2905
|
+
}
|
|
2906
|
+
|
|
2907
|
+
if (bFromKeyboard && this._sFilterValue && !bIsFocusInHelp) {
|
|
2908
|
+
this._sFilterValue = ""; // if dropdown manulally opened via F4 clear typeahed value
|
|
2909
|
+
const sDomValue = oContent.getDOMValue?.();
|
|
2910
|
+
if (oContent.selectText && sDomValue) {
|
|
2911
|
+
oContent.selectText(0, sDomValue.length); // highligh whole text
|
|
2912
|
+
}
|
|
2913
|
+
}
|
|
2914
|
+
|
|
2915
|
+
_setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
|
|
2916
|
+
|
|
2917
|
+
this._bFocusOnValueHelp = bFromKeyboard && !bIsFocusInHelp; // show focus on dropdown if opened via F4 (set it only after really opened)
|
|
2918
|
+
if (!bIsFocusInHelp) {
|
|
2919
|
+
// need to reset bValueHelpRequested in Input, otherwise on focusout no change event and navigation don't work
|
|
2920
|
+
if (oContent.bValueHelpRequested) {
|
|
2921
|
+
oContent.bValueHelpRequested = false; // TODO: need API
|
|
2922
|
+
}
|
|
2879
2923
|
}
|
|
2880
2924
|
}
|
|
2925
|
+
|
|
2926
|
+
oValueHelp.toggleOpen(!!bOpenAsTypeahed);
|
|
2927
|
+
|
|
2881
2928
|
this._oValueHelpRequestPromise = undefined;
|
|
2882
2929
|
}
|
|
2883
2930
|
}
|
|
@@ -3076,8 +3123,9 @@ sap.ui.define([
|
|
|
3076
3123
|
}
|
|
3077
3124
|
|
|
3078
3125
|
this._oNavigateCondition = _createNavigateCondition.call(this, oCondition, sItemId);
|
|
3079
|
-
if (this._oNavigateCondition) {
|
|
3126
|
+
if (this._oNavigateCondition && this.getMaxConditionsForHelp() === 1) {
|
|
3080
3127
|
[vKey, sValue] = this._oNavigateCondition.values;
|
|
3128
|
+
oValueHelp.setConditions([oCondition]); // in single selection, the navigated condition should be selected one (use condition returned from valuehelp to prevent unneccessry update if not changed)
|
|
3081
3129
|
}
|
|
3082
3130
|
|
|
3083
3131
|
this._bPreventGetDescription = true; // if no description in navigated condition, no description exist. Don't try to read one
|
|
@@ -3121,6 +3169,10 @@ sap.ui.define([
|
|
|
3121
3169
|
oContent._doSelect();
|
|
3122
3170
|
}
|
|
3123
3171
|
}
|
|
3172
|
+
|
|
3173
|
+
if (oValueHelp.isOpen() && oContent.hasStyleClass("sapMFocus")) { // happens if navigated back from "show All items"-button
|
|
3174
|
+
_setVisualFocusToValueHelp(oContent, oValueHelp);
|
|
3175
|
+
}
|
|
3124
3176
|
}
|
|
3125
3177
|
|
|
3126
3178
|
this._bPreventGetDescription = false; // back to default
|
|
@@ -3154,6 +3206,7 @@ sap.ui.define([
|
|
|
3154
3206
|
if (sOutput) { // only if something returned
|
|
3155
3207
|
const oValueHelp = _getValueHelp.call(this);
|
|
3156
3208
|
if (oValueHelp?.isOpen()) {
|
|
3209
|
+
_setVisualFocusToField(oContent, oValueHelp); // remove focus from dropdown
|
|
3157
3210
|
oValueHelp.setHighlightId(!this._bPreventAutocomplete && sItemId);
|
|
3158
3211
|
}
|
|
3159
3212
|
|
|
@@ -3280,8 +3333,10 @@ sap.ui.define([
|
|
|
3280
3333
|
|
|
3281
3334
|
// sync conditions with ValueHelp as we cannot e sure that it still is in sync
|
|
3282
3335
|
const oValueHelp = oEvent.getSource();
|
|
3283
|
-
|
|
3284
|
-
|
|
3336
|
+
if (!this._oNavigateCondition) { // if navigated keep state to allow closed navigation
|
|
3337
|
+
const aConditions = this.getConditions();
|
|
3338
|
+
_setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
|
|
3339
|
+
}
|
|
3285
3340
|
|
|
3286
3341
|
if (_isFocused.call(this)) { // restore focus visualization
|
|
3287
3342
|
_setVisualFocusToField(oContent, oValueHelp);
|
|
@@ -3306,8 +3361,10 @@ sap.ui.define([
|
|
|
3306
3361
|
sItemId = oEvent.getParameter("itemId");
|
|
3307
3362
|
}
|
|
3308
3363
|
|
|
3309
|
-
|
|
3310
|
-
|
|
3364
|
+
if (!this._sFilterValue && !this._oNavigateCondition && (this._bDirty || this.getConditions().length === 0)) {
|
|
3365
|
+
// to focus first item (if none selected)
|
|
3366
|
+
oValueHelp.navigate(0);
|
|
3367
|
+
}
|
|
3311
3368
|
}
|
|
3312
3369
|
_setAriaAttributes.call(this, true, sItemId);
|
|
3313
3370
|
_setShowValueStateMessage.call(this, false);// close ValueState message on opening, because opened is sometimes very delayed what would lead to strange effect
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* A <code>FieldInfoBase</code> element is a base class that shows any kind of information related to the <code>Field</code> control, for example, navigation targets or contact details.
|
|
32
32
|
* This is the basis for link-features. If the link is pressed a popover might be opened.
|
|
33
33
|
* @extends sap.ui.mdc.Element
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.136.0
|
|
35
35
|
* @constructor
|
|
36
36
|
* @since 1.54.0
|
|
37
37
|
* @public
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
'sap/m/Input',
|
|
8
|
+
'sap/m/Input',
|
|
9
|
+
'sap/ui/mdc/field/FieldInputRenderer',
|
|
10
|
+
'sap/ui/base/ManagedObjectObserver'
|
|
9
11
|
], (
|
|
10
12
|
Input,
|
|
11
|
-
FieldInputRenderer
|
|
13
|
+
FieldInputRenderer,
|
|
14
|
+
ManagedObjectObserver
|
|
12
15
|
) => {
|
|
13
16
|
"use strict";
|
|
14
17
|
|
|
@@ -21,7 +24,7 @@ sap.ui.define([
|
|
|
21
24
|
* The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
22
25
|
* It enhances the {@link sap.m.Input Input} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
23
26
|
* @extends sap.m.Input
|
|
24
|
-
* @version 1.
|
|
27
|
+
* @version 1.136.0
|
|
25
28
|
* @constructor
|
|
26
29
|
* @abstract
|
|
27
30
|
* @private
|
|
@@ -49,6 +52,43 @@ sap.ui.define([
|
|
|
49
52
|
renderer: FieldInputRenderer
|
|
50
53
|
});
|
|
51
54
|
|
|
55
|
+
FieldInput.prototype.init = function() {
|
|
56
|
+
|
|
57
|
+
Input.prototype.init.apply(this, arguments);
|
|
58
|
+
|
|
59
|
+
this._oObserver = new ManagedObjectObserver(_observeChanges.bind(this));
|
|
60
|
+
|
|
61
|
+
this._oObserver.observe(this, {
|
|
62
|
+
properties: ["ariaAttributes"]
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
FieldInput.prototype.exit = function() {
|
|
68
|
+
|
|
69
|
+
Input.prototype.exit.apply(this, arguments);
|
|
70
|
+
|
|
71
|
+
this._oObserver.disconnect();
|
|
72
|
+
this._oObserver = undefined;
|
|
73
|
+
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
function _observeChanges(oChanges) {
|
|
77
|
+
|
|
78
|
+
if (oChanges.name === "ariaAttributes") {
|
|
79
|
+
// set aria-activedescendant directly to prevent anouncement of old one
|
|
80
|
+
if (oChanges.current.aria?.activedescendant !== oChanges.old.aria?.activedescendant) {
|
|
81
|
+
const oDomRef = this.getFocusDomRef();
|
|
82
|
+
if (!oChanges.current.aria?.activedescendant) {
|
|
83
|
+
oDomRef.removeAttribute("aria-activedescendant");
|
|
84
|
+
} else {
|
|
85
|
+
oDomRef.setAttribute("aria-activedescendant", oChanges.current.aria.activedescendant);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
|
|
52
92
|
return FieldInput;
|
|
53
93
|
|
|
54
94
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@ sap.ui.define([
|
|
|
16
16
|
* @class Functions uses in <code>FieldInputRenderer</code> and <code>FieldMultiInputRenderer</code> to adjust aria attributes.
|
|
17
17
|
*
|
|
18
18
|
* @author SAP SE
|
|
19
|
-
* @version 1.
|
|
19
|
+
* @version 1.136.0
|
|
20
20
|
* @since 1.86.0
|
|
21
21
|
* @alias sap.ui.mdc.field.FieldInputRenderUtil
|
|
22
22
|
*
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
'sap/ui/core/Element',
|
|
9
9
|
'sap/m/MultiInput',
|
|
10
|
+
'sap/m/Tokenizer',
|
|
10
11
|
'sap/ui/mdc/field/FieldMultiInputRenderer',
|
|
11
12
|
'sap/ui/Device',
|
|
12
|
-
'sap/
|
|
13
|
+
'sap/ui/base/ManagedObjectObserver'
|
|
13
14
|
], (
|
|
14
15
|
Element,
|
|
15
16
|
MultiInput,
|
|
17
|
+
Tokenizer,
|
|
16
18
|
FieldMultiInputRenderer,
|
|
17
19
|
Device,
|
|
18
|
-
|
|
20
|
+
ManagedObjectObserver
|
|
21
|
+
|
|
19
22
|
) => {
|
|
20
23
|
"use strict";
|
|
21
24
|
|
|
@@ -28,7 +31,7 @@ sap.ui.define([
|
|
|
28
31
|
* The <code>FieldMultiInput</code> control is used to render a multi-input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
29
32
|
* It enhances the {@link sap.m.MultiInput MultiInput} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
30
33
|
* @extends sap.m.MultiInput
|
|
31
|
-
* @version 1.
|
|
34
|
+
* @version 1.136.0
|
|
32
35
|
* @constructor
|
|
33
36
|
* @abstract
|
|
34
37
|
* @private
|
|
@@ -83,6 +86,21 @@ sap.ui.define([
|
|
|
83
86
|
|
|
84
87
|
};
|
|
85
88
|
|
|
89
|
+
this._oObserver = new ManagedObjectObserver(_observeChanges.bind(this));
|
|
90
|
+
|
|
91
|
+
this._oObserver.observe(this, {
|
|
92
|
+
properties: ["ariaAttributes"]
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
FieldMultiInput.prototype.exit = function() {
|
|
98
|
+
|
|
99
|
+
MultiInput.prototype.exit.apply(this, arguments);
|
|
100
|
+
|
|
101
|
+
this._oObserver.disconnect();
|
|
102
|
+
this._oObserver = undefined;
|
|
103
|
+
|
|
86
104
|
};
|
|
87
105
|
|
|
88
106
|
FieldMultiInput.prototype.onfocusin = function(oEvent) {
|
|
@@ -108,6 +126,16 @@ sap.ui.define([
|
|
|
108
126
|
|
|
109
127
|
};
|
|
110
128
|
|
|
129
|
+
FieldMultiInput.prototype.ontap = function(oEvent) {
|
|
130
|
+
|
|
131
|
+
if (oEvent.target.classList.contains("sapMTokenizerIndicator")) {
|
|
132
|
+
oEvent.setMark("tokenizerMoreIndicatorTap");
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
MultiInput.prototype.ontap.apply(this, arguments);
|
|
136
|
+
|
|
137
|
+
};
|
|
138
|
+
|
|
111
139
|
FieldMultiInput.prototype.onAfterRendering = function () {
|
|
112
140
|
|
|
113
141
|
const {bDeletePressed, bTokensUpdated} = this;
|
|
@@ -244,6 +272,22 @@ sap.ui.define([
|
|
|
244
272
|
|
|
245
273
|
}
|
|
246
274
|
|
|
275
|
+
function _observeChanges(oChanges) {
|
|
276
|
+
|
|
277
|
+
if (oChanges.name === "ariaAttributes") {
|
|
278
|
+
// set aria-activedescendant directly to prevent anouncement of old one
|
|
279
|
+
if (oChanges.current.aria?.activedescendant !== oChanges.old.aria?.activedescendant) {
|
|
280
|
+
const oDomRef = this.getFocusDomRef();
|
|
281
|
+
if (!oChanges.current.aria?.activedescendant) {
|
|
282
|
+
oDomRef.removeAttribute("aria-activedescendant");
|
|
283
|
+
} else {
|
|
284
|
+
oDomRef.setAttribute("aria-activedescendant", oChanges.current.aria.activedescendant);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
}
|
|
290
|
+
|
|
247
291
|
return FieldMultiInput;
|
|
248
292
|
|
|
249
293
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @extends sap.ui.mdc.valuehelp.content.FixedListItem
|
|
24
24
|
*
|
|
25
25
|
* @author SAP SE
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.136.0
|
|
27
27
|
*
|
|
28
28
|
* @private
|
|
29
29
|
* @ui5-restricted sap.fe
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* Base type for <code>MultiValueFieldItem</code> control.
|
|
21
21
|
* The {@link sap.ui.mdc.MultiValueField MultiValueField} holds its values as items. The <code>MultiValueFieldItem</code> element defines these items.
|
|
22
22
|
* @extends sap.ui.core.Element
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.136.0
|
|
24
24
|
* @constructor
|
|
25
25
|
* @since 1.93.0
|
|
26
26
|
* @public
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright
|
|
3
|
+
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
* The <code>TokenDisplay</code> control is used to render a field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
23
23
|
* It enhances the {@link sap.m.Token Token} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
24
24
|
* @extends sap.m.Token
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.136.0
|
|
26
26
|
* @constructor
|
|
27
27
|
* @abstract
|
|
28
28
|
* @private
|