@openui5/sap.m 1.93.3 → 1.96.2
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/dep5 +6 -11
- package/THIRDPARTY.txt +10 -16
- package/package.json +4 -4
- package/src/sap/m/.library +1 -1
- package/src/sap/m/AccButton.js +1 -1
- package/src/sap/m/ActionListItem.js +1 -1
- package/src/sap/m/ActionSelect.js +1 -1
- package/src/sap/m/ActionSheet.js +1 -1
- package/src/sap/m/App.js +5 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +1 -4
- package/src/sap/m/Bar.js +13 -7
- package/src/sap/m/Breadcrumbs.js +2 -2
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +34 -1
- package/src/sap/m/Carousel.js +11 -3
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +1 -1
- package/src/sap/m/CheckBoxRenderer.js +12 -3
- package/src/sap/m/ColorPalette.js +7 -11
- package/src/sap/m/ColorPalettePopover.js +1 -6
- package/src/sap/m/Column.js +5 -1
- package/src/sap/m/ColumnHeaderPopover.js +1 -1
- package/src/sap/m/ColumnListItem.js +1 -1
- package/src/sap/m/ColumnPopoverActionItem.js +1 -1
- package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
- package/src/sap/m/ColumnPopoverItem.js +1 -1
- package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
- package/src/sap/m/ColumnPopoverSortItem.js +1 -1
- package/src/sap/m/ComboBox.js +1 -1
- package/src/sap/m/ComboBoxBase.js +5 -2
- package/src/sap/m/ComboBoxRenderer.js +25 -9
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/CustomDynamicDateOption.js +14 -2
- package/src/sap/m/CustomListItem.js +1 -1
- package/src/sap/m/CustomTile.js +1 -1
- package/src/sap/m/CustomTreeItem.js +1 -1
- package/src/sap/m/DatePicker.js +33 -11
- package/src/sap/m/DatePickerRenderer.js +1 -1
- package/src/sap/m/DateRangeSelection.js +6 -9
- package/src/sap/m/DateTimeField.js +1 -1
- package/src/sap/m/DateTimeInput.js +1 -1
- package/src/sap/m/DateTimePicker.js +6 -9
- package/src/sap/m/Dialog.js +44 -127
- package/src/sap/m/DialogRenderer.js +1 -1
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +15 -6
- package/src/sap/m/DynamicDateOption.js +58 -17
- package/src/sap/m/DynamicDateRange.js +47 -10
- package/src/sap/m/DynamicDateUtil.js +6 -3
- package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
- package/src/sap/m/ExpandableText.js +1 -1
- package/src/sap/m/FacetFilter.js +47 -16
- package/src/sap/m/FacetFilterItem.js +1 -1
- package/src/sap/m/FacetFilterList.js +1 -1
- package/src/sap/m/FeedContent.js +1 -1
- package/src/sap/m/FeedInput.js +1 -1
- package/src/sap/m/FeedListItem.js +1 -1
- package/src/sap/m/FeedListItemAction.js +1 -1
- package/src/sap/m/Fiori20Adapter.js +2 -2
- package/src/sap/m/FlexBox.js +1 -1
- package/src/sap/m/FlexItemData.js +1 -1
- package/src/sap/m/FormattedText.js +1 -1
- package/src/sap/m/GenericTag.js +1 -1
- package/src/sap/m/GenericTile.js +265 -53
- package/src/sap/m/GenericTileRenderer.js +228 -84
- package/src/sap/m/GroupHeaderListItem.js +1 -1
- package/src/sap/m/GrowingList.js +1 -1
- package/src/sap/m/HBox.js +1 -1
- package/src/sap/m/HeaderContainer.js +53 -1
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +8 -1
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +8 -6
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +16 -4
- package/src/sap/m/IconTabSeparator.js +1 -1
- package/src/sap/m/Image.js +1 -1
- package/src/sap/m/ImageContent.js +1 -1
- package/src/sap/m/Input.js +125 -28
- package/src/sap/m/InputBase.js +104 -17
- package/src/sap/m/InputBaseRenderer.js +8 -20
- package/src/sap/m/InputListItem.js +1 -1
- package/src/sap/m/Label.js +1 -1
- package/src/sap/m/LightBox.js +2 -2
- package/src/sap/m/LightBoxItem.js +1 -1
- package/src/sap/m/Link.js +1 -1
- package/src/sap/m/List.js +1 -1
- package/src/sap/m/ListBase.js +12 -5
- package/src/sap/m/ListItemBase.js +16 -16
- package/src/sap/m/MaskEnabler.js +106 -4
- package/src/sap/m/MaskInput.js +19 -4
- package/src/sap/m/MaskInputRule.js +1 -1
- package/src/sap/m/Menu.js +8 -6
- package/src/sap/m/MenuButton.js +20 -3
- package/src/sap/m/MenuButtonRenderer.js +1 -0
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageBox.js +1 -1
- package/src/sap/m/MessageItem.js +1 -1
- package/src/sap/m/MessageListItem.js +1 -1
- package/src/sap/m/MessagePage.js +1 -1
- package/src/sap/m/MessagePopover.js +1 -1
- package/src/sap/m/MessagePopoverItem.js +1 -1
- package/src/sap/m/MessageStrip.js +7 -3
- package/src/sap/m/MessageStripRenderer.js +2 -2
- package/src/sap/m/MessageToast.js +1 -1
- package/src/sap/m/MessageView.js +5 -5
- package/src/sap/m/MultiComboBox.js +343 -114
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +82 -7
- package/src/sap/m/NavContainer.js +24 -7
- package/src/sap/m/NewsContent.js +19 -10
- package/src/sap/m/NewsContentRenderer.js +1 -2
- package/src/sap/m/NotificationList.js +1 -1
- package/src/sap/m/NotificationListBase.js +1 -1
- package/src/sap/m/NotificationListGroup.js +1 -1
- package/src/sap/m/NotificationListItem.js +1 -1
- package/src/sap/m/NumericContent.js +1 -1
- package/src/sap/m/NumericContentRenderer.js +34 -17
- package/src/sap/m/ObjectAttribute.js +46 -5
- package/src/sap/m/ObjectHeader.js +3 -3
- package/src/sap/m/ObjectHeaderRenderer.js +6 -7
- package/src/sap/m/ObjectIdentifier.js +1 -1
- package/src/sap/m/ObjectListItem.js +1 -1
- package/src/sap/m/ObjectMarker.js +1 -1
- package/src/sap/m/ObjectNumber.js +13 -1
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/ObjectStatusRenderer.js +4 -1
- package/src/sap/m/OverflowToolbar.js +1 -1
- package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
- package/src/sap/m/OverflowToolbarButton.js +4 -2
- package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
- package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
- package/src/sap/m/P13nAnyFilterItem.js +1 -1
- package/src/sap/m/P13nColumnsItem.js +1 -1
- package/src/sap/m/P13nColumnsPanel.js +3 -3
- package/src/sap/m/P13nConditionPanel.js +23 -53
- package/src/sap/m/P13nDialog.js +1 -1
- package/src/sap/m/P13nDimMeasureItem.js +1 -1
- package/src/sap/m/P13nDimMeasurePanel.js +3 -3
- package/src/sap/m/P13nFilterItem.js +1 -1
- package/src/sap/m/P13nFilterPanel.js +1 -3
- package/src/sap/m/P13nGroupItem.js +1 -1
- package/src/sap/m/P13nGroupPanel.js +1 -3
- package/src/sap/m/P13nItem.js +1 -1
- package/src/sap/m/P13nPanel.js +1 -1
- package/src/sap/m/P13nSelectionItem.js +1 -1
- package/src/sap/m/P13nSelectionPanel.js +1 -1
- package/src/sap/m/P13nSortItem.js +1 -1
- package/src/sap/m/P13nSortPanel.js +1 -3
- package/src/sap/m/PDFViewer.js +14 -5
- package/src/sap/m/Page.js +1 -1
- package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/m/PagingButton.js +1 -1
- package/src/sap/m/Panel.js +1 -1
- package/src/sap/m/PlanningCalendar.js +139 -41
- package/src/sap/m/PlanningCalendarHeader.js +5 -8
- package/src/sap/m/PlanningCalendarLegend.js +1 -6
- package/src/sap/m/PlanningCalendarLegendRenderer.js +2 -5
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -6
- package/src/sap/m/Popover.js +7 -7
- package/src/sap/m/PopoverRenderer.js +3 -2
- package/src/sap/m/ProgressIndicator.js +1 -1
- package/src/sap/m/PullToRefresh.js +1 -1
- package/src/sap/m/QuickView.js +1 -1
- package/src/sap/m/QuickViewBase.js +1 -1
- package/src/sap/m/QuickViewCard.js +1 -1
- package/src/sap/m/QuickViewGroup.js +1 -1
- package/src/sap/m/QuickViewGroupElement.js +1 -1
- package/src/sap/m/QuickViewPage.js +1 -1
- package/src/sap/m/RadioButton.js +1 -1
- package/src/sap/m/RadioButtonGroup.js +1 -1
- package/src/sap/m/RangeSlider.js +1 -1
- package/src/sap/m/RatingIndicator.js +10 -8
- package/src/sap/m/ResponsivePopover.js +1 -1
- package/src/sap/m/ResponsiveScale.js +1 -1
- package/src/sap/m/ScrollBar.js +1 -1
- package/src/sap/m/ScrollContainer.js +1 -1
- package/src/sap/m/SearchField.js +6 -34
- package/src/sap/m/SearchFieldRenderer.js +16 -12
- package/src/sap/m/SegmentedButton.js +12 -17
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/Select.js +18 -8
- package/src/sap/m/SelectDialog.js +1 -1
- package/src/sap/m/SelectDialogBase.js +1 -1
- package/src/sap/m/SelectList.js +1 -1
- package/src/sap/m/SelectRenderer.js +6 -1
- package/src/sap/m/SelectionDetails.js +7 -9
- package/src/sap/m/SelectionDetailsFacade.js +2 -2
- package/src/sap/m/SelectionDetailsItem.js +8 -4
- package/src/sap/m/SelectionDetailsItemLine.js +1 -1
- package/src/sap/m/Shell.js +9 -17
- package/src/sap/m/SimpleFixFlex.js +1 -1
- package/src/sap/m/SinglePlanningCalendar.js +7 -10
- package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarGrid.js +15 -13
- package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
- package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
- package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
- package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
- package/src/sap/m/SinglePlanningCalendarView.js +1 -1
- package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
- package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
- package/src/sap/m/SlideTile.js +31 -3
- package/src/sap/m/SlideTileRenderer.js +9 -0
- package/src/sap/m/Slider.js +1 -1
- package/src/sap/m/SliderTooltip.js +1 -1
- package/src/sap/m/SliderTooltipBase.js +1 -1
- package/src/sap/m/SliderTooltipContainer.js +1 -1
- package/src/sap/m/SplitApp.js +1 -1
- package/src/sap/m/SplitButton.js +3 -7
- package/src/sap/m/SplitContainer.js +13 -8
- package/src/sap/m/StandardDynamicDateOption.js +50 -12
- package/src/sap/m/StandardListItem.js +69 -26
- package/src/sap/m/StandardListItemRenderer.js +21 -9
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +30 -14
- package/src/sap/m/Suggest.js +25 -25
- package/src/sap/m/SuggestionItem.js +1 -7
- package/src/sap/m/SuggestionsPopover.js +1 -1
- package/src/sap/m/Switch.js +2 -2
- package/src/sap/m/TabContainer.js +1 -1
- package/src/sap/m/TabContainerItem.js +1 -1
- package/src/sap/m/TabStrip.js +1 -1
- package/src/sap/m/TabStripItem.js +1 -1
- package/src/sap/m/Table.js +2 -4
- package/src/sap/m/TablePersoController.js +1 -1
- package/src/sap/m/TablePersoDialog.js +1 -1
- package/src/sap/m/TablePersoProvider.js +1 -1
- package/src/sap/m/TableRenderer.js +3 -3
- package/src/sap/m/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +2 -2
- package/src/sap/m/Tile.js +1 -1
- package/src/sap/m/TileContainer.js +1 -1
- package/src/sap/m/TileContent.js +22 -4
- package/src/sap/m/TileContentRenderer.js +73 -5
- package/src/sap/m/TimePicker.js +4 -3
- package/src/sap/m/TimePickerClock.js +2 -2
- package/src/sap/m/TimePickerClocks.js +2 -1
- package/src/sap/m/TimePickerInputs.js +3 -3
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +2 -2
- package/src/sap/m/TimePickerSliders.js +1 -1
- package/src/sap/m/Title.js +1 -1
- package/src/sap/m/TitlePropagationSupport.js +1 -1
- package/src/sap/m/ToggleButton.js +1 -1
- package/src/sap/m/Token.js +1 -1
- package/src/sap/m/Tokenizer.js +45 -3
- package/src/sap/m/TokenizerRenderer.js +5 -0
- package/src/sap/m/Toolbar.js +1 -1
- package/src/sap/m/ToolbarLayoutData.js +1 -1
- package/src/sap/m/ToolbarSeparator.js +1 -1
- package/src/sap/m/ToolbarSpacer.js +1 -1
- package/src/sap/m/Tree.js +1 -1
- package/src/sap/m/TreeItemBase.js +1 -1
- package/src/sap/m/UploadCollection.js +2 -7
- package/src/sap/m/UploadCollectionItem.js +1 -1
- package/src/sap/m/UploadCollectionParameter.js +1 -1
- package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
- package/src/sap/m/VBox.js +1 -1
- package/src/sap/m/ValueStateHeader.js +1 -1
- package/src/sap/m/ViewSettingsCustomItem.js +1 -1
- package/src/sap/m/ViewSettingsCustomTab.js +1 -1
- package/src/sap/m/ViewSettingsDialog.js +1 -1
- package/src/sap/m/ViewSettingsFilterItem.js +1 -1
- package/src/sap/m/ViewSettingsItem.js +1 -1
- package/src/sap/m/VisibleItem.js +1 -1
- package/src/sap/m/WheelSlider.js +2 -2
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +18 -8
- package/src/sap/m/WizardProgressNavigator.js +1 -1
- package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
- package/src/sap/m/WizardStep.js +1 -1
- package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
- package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
- package/src/sap/m/changeHandler/CombineButtons.js +16 -17
- package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +86 -0
- package/src/sap/m/changeHandler/SplitMenuButton.js +12 -6
- package/src/sap/m/delegate/DateNavigation.js +4 -5
- package/src/sap/m/delegate/ValueStateMessage.js +4 -7
- package/src/sap/m/designtime/IconTabBar.designtime.js +85 -2
- package/src/sap/m/designtime/IconTabBarSelectTab.fragment.xml +17 -0
- package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
- package/src/sap/m/designtime/ObjectIdentifier.designtime.js +16 -12
- package/src/sap/m/designtime/messagebundle.properties +9 -0
- package/src/sap/m/designtime/messagebundle_ar.properties +6 -0
- package/src/sap/m/designtime/messagebundle_bg.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ca.properties +6 -0
- package/src/sap/m/designtime/messagebundle_cs.properties +6 -0
- package/src/sap/m/designtime/messagebundle_cy.properties +6 -0
- package/src/sap/m/designtime/messagebundle_da.properties +6 -0
- package/src/sap/m/designtime/messagebundle_de.properties +8 -2
- package/src/sap/m/designtime/messagebundle_el.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_GB.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es_MX.properties +6 -0
- package/src/sap/m/designtime/messagebundle_et.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_fr_CA.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_hu.properties +6 -0
- package/src/sap/m/designtime/messagebundle_id.properties +6 -0
- package/src/sap/m/designtime/messagebundle_it.properties +6 -0
- package/src/sap/m/designtime/messagebundle_iw.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ja.properties +6 -0
- package/src/sap/m/designtime/messagebundle_kk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ko.properties +6 -0
- package/src/sap/m/designtime/messagebundle_lt.properties +6 -0
- package/src/sap/m/designtime/messagebundle_lv.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ms.properties +6 -0
- package/src/sap/m/designtime/messagebundle_nl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_no.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pt.properties +6 -0
- package/src/sap/m/designtime/messagebundle_pt_PT.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ro.properties +6 -0
- package/src/sap/m/designtime/messagebundle_ru.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sh.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sl.properties +6 -0
- package/src/sap/m/designtime/messagebundle_sv.properties +6 -0
- package/src/sap/m/designtime/messagebundle_th.properties +6 -0
- package/src/sap/m/designtime/messagebundle_tr.properties +6 -0
- package/src/sap/m/designtime/messagebundle_uk.properties +6 -0
- package/src/sap/m/designtime/messagebundle_vi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_zh_CN.properties +6 -0
- package/src/sap/m/designtime/messagebundle_zh_TW.properties +6 -0
- package/src/sap/m/flexibility/IconTabBar.flexibility.js +21 -0
- package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
- package/src/sap/m/inputUtils/ListHelpers.js +16 -3
- package/src/sap/m/library.js +60 -34
- package/src/sap/m/messagebundle.properties +62 -7
- package/src/sap/m/messagebundle_ar.properties +35 -6
- package/src/sap/m/messagebundle_bg.properties +35 -6
- package/src/sap/m/messagebundle_ca.properties +40 -11
- package/src/sap/m/messagebundle_cs.properties +46 -17
- package/src/sap/m/messagebundle_cy.properties +35 -6
- package/src/sap/m/messagebundle_da.properties +36 -7
- package/src/sap/m/messagebundle_de.properties +36 -7
- package/src/sap/m/messagebundle_el.properties +35 -6
- package/src/sap/m/messagebundle_en.properties +32 -3
- package/src/sap/m/messagebundle_en_GB.properties +32 -3
- package/src/sap/m/messagebundle_en_US_sappsd.properties +26 -3
- package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
- package/src/sap/m/messagebundle_en_US_saptrc.properties +14 -6
- package/src/sap/m/messagebundle_es.properties +35 -6
- package/src/sap/m/messagebundle_es_MX.properties +38 -9
- package/src/sap/m/messagebundle_et.properties +35 -6
- package/src/sap/m/messagebundle_fi.properties +35 -6
- package/src/sap/m/messagebundle_fr.properties +48 -19
- package/src/sap/m/messagebundle_fr_CA.properties +36 -7
- package/src/sap/m/messagebundle_hi.properties +35 -6
- package/src/sap/m/messagebundle_hr.properties +35 -6
- package/src/sap/m/messagebundle_hu.properties +35 -6
- package/src/sap/m/messagebundle_id.properties +37 -8
- package/src/sap/m/messagebundle_it.properties +41 -12
- package/src/sap/m/messagebundle_iw.properties +35 -6
- package/src/sap/m/messagebundle_ja.properties +35 -6
- package/src/sap/m/messagebundle_kk.properties +35 -6
- package/src/sap/m/messagebundle_ko.properties +36 -7
- package/src/sap/m/messagebundle_lt.properties +35 -6
- package/src/sap/m/messagebundle_lv.properties +35 -6
- package/src/sap/m/messagebundle_ms.properties +36 -7
- package/src/sap/m/messagebundle_nl.properties +37 -8
- package/src/sap/m/messagebundle_no.properties +47 -18
- package/src/sap/m/messagebundle_pl.properties +39 -10
- package/src/sap/m/messagebundle_pt.properties +38 -9
- package/src/sap/m/messagebundle_pt_PT.properties +35 -6
- package/src/sap/m/messagebundle_ro.properties +40 -11
- package/src/sap/m/messagebundle_ru.properties +36 -7
- package/src/sap/m/messagebundle_sh.properties +36 -7
- package/src/sap/m/messagebundle_sk.properties +35 -6
- package/src/sap/m/messagebundle_sl.properties +35 -6
- package/src/sap/m/messagebundle_sv.properties +35 -6
- package/src/sap/m/messagebundle_th.properties +35 -6
- package/src/sap/m/messagebundle_tr.properties +35 -6
- package/src/sap/m/messagebundle_uk.properties +42 -13
- package/src/sap/m/messagebundle_vi.properties +36 -7
- package/src/sap/m/messagebundle_zh_CN.properties +35 -6
- package/src/sap/m/messagebundle_zh_TW.properties +35 -6
- package/src/sap/m/p13n/AbstractContainer.js +243 -0
- package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
- package/src/sap/m/p13n/BasePanel.js +643 -0
- package/src/sap/m/p13n/Container.js +239 -0
- package/src/sap/m/p13n/GroupPanel.js +119 -0
- package/src/sap/m/p13n/QueryPanel.js +312 -0
- package/src/sap/m/p13n/SelectionPanel.js +403 -0
- package/src/sap/m/p13n/SortPanel.js +139 -0
- package/src/sap/m/plugins/ColumnResizer.js +23 -2
- package/src/sap/m/plugins/DataStateIndicator.js +1 -1
- package/src/sap/m/plugins/PasteProvider.js +9 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/routing/TargetHandler.js +24 -22
- package/src/sap/m/routing/async/Target.js +3 -2
- package/src/sap/m/semantic/AddAction.js +1 -1
- package/src/sap/m/semantic/CancelAction.js +1 -1
- package/src/sap/m/semantic/DeleteAction.js +1 -1
- package/src/sap/m/semantic/DetailPage.js +1 -1
- package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/m/semantic/EditAction.js +1 -1
- package/src/sap/m/semantic/FavoriteAction.js +1 -1
- package/src/sap/m/semantic/FilterAction.js +1 -1
- package/src/sap/m/semantic/FilterSelect.js +1 -1
- package/src/sap/m/semantic/FlagAction.js +1 -1
- package/src/sap/m/semantic/ForwardAction.js +1 -1
- package/src/sap/m/semantic/FullscreenPage.js +1 -1
- package/src/sap/m/semantic/GroupAction.js +1 -1
- package/src/sap/m/semantic/GroupSelect.js +1 -1
- package/src/sap/m/semantic/MainAction.js +1 -1
- package/src/sap/m/semantic/MasterPage.js +1 -1
- package/src/sap/m/semantic/MessagesIndicator.js +1 -1
- package/src/sap/m/semantic/MultiSelectAction.js +1 -1
- package/src/sap/m/semantic/NegativeAction.js +1 -1
- package/src/sap/m/semantic/OpenInAction.js +1 -1
- package/src/sap/m/semantic/PositiveAction.js +1 -1
- package/src/sap/m/semantic/PrintAction.js +1 -1
- package/src/sap/m/semantic/SaveAction.js +1 -1
- package/src/sap/m/semantic/Segment.js +1 -1
- package/src/sap/m/semantic/SegmentedContainer.js +1 -1
- package/src/sap/m/semantic/SemanticButton.js +1 -1
- package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
- package/src/sap/m/semantic/SemanticControl.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
- package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
- package/src/sap/m/semantic/SemanticPage.js +1 -1
- package/src/sap/m/semantic/SemanticSelect.js +1 -1
- package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
- package/src/sap/m/semantic/SendEmailAction.js +1 -1
- package/src/sap/m/semantic/SendMessageAction.js +1 -1
- package/src/sap/m/semantic/ShareInJamAction.js +1 -1
- package/src/sap/m/semantic/ShareMenu.js +1 -1
- package/src/sap/m/semantic/ShareMenuPage.js +1 -1
- package/src/sap/m/semantic/SortAction.js +1 -1
- package/src/sap/m/semantic/SortSelect.js +1 -1
- package/src/sap/m/table/Util.js +192 -0
- package/src/sap/m/themes/base/AbstractContainer.less +17 -0
- package/src/sap/m/themes/base/ColumnListItem.less +2 -2
- package/src/sap/m/themes/base/Dialog.less +11 -28
- package/src/sap/m/themes/base/GenericTile.less +453 -18
- package/src/sap/m/themes/base/IconTabBar.less +5 -6
- package/src/sap/m/themes/base/Input.less +12 -0
- package/src/sap/m/themes/base/ListBase.less +7 -5
- package/src/sap/m/themes/base/MessagePage.less +1 -7
- package/src/sap/m/themes/base/MessageView.less +4 -0
- package/src/sap/m/themes/base/MultiComboBox.less +17 -0
- package/src/sap/m/themes/base/NewsContent.less +48 -1
- package/src/sap/m/themes/base/NumericContent.less +87 -0
- package/src/sap/m/themes/base/ObjectMarker.less +3 -0
- package/src/sap/m/themes/base/ObjectNumber.less +10 -2
- package/src/sap/m/themes/base/ObjectStatus.less +14 -0
- package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +0 -6
- package/src/sap/m/themes/base/P13nContainer.less +17 -0
- package/src/sap/m/themes/base/P13nDialog.less +4 -0
- package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
- package/src/sap/m/themes/base/SlideTile.less +15 -0
- package/src/sap/m/themes/base/StandardListItem.less +5 -0
- package/src/sap/m/themes/base/Table.less +9 -19
- package/src/sap/m/themes/base/TextArea.less +1 -1
- package/src/sap/m/themes/base/TileContent.less +20 -0
- package/src/sap/m/themes/base/Token.less +0 -3
- package/src/sap/m/themes/base/Tokenizer.less +6 -0
- package/src/sap/m/themes/base/UploadSet.less +5 -0
- package/src/sap/m/themes/base/ViewSettingsDialog.less +28 -1
- package/src/sap/m/themes/base/library.source.less +4 -0
- package/src/sap/m/themes/base/p13n.Container.less +17 -0
- package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
- package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
- package/src/sap/m/themes/sap_hcb/IconTabBar.less +3 -3
- package/src/sap/m/upload/UploadSet.js +48 -23
- package/src/sap/m/upload/UploadSetItem.js +9 -4
- package/ui5.yaml +4 -1
- package/src/sap/m/ios7.js +0 -199
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ! OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"sap/m/p13n/AbstractContainer",
|
|
8
|
+
"sap/m/Bar",
|
|
9
|
+
"sap/m/Button",
|
|
10
|
+
"sap/m/List",
|
|
11
|
+
"sap/m/IconTabBar",
|
|
12
|
+
"sap/m/IconTabFilter",
|
|
13
|
+
"sap/m/p13n/AbstractContainerItem",
|
|
14
|
+
"sap/ui/Device",
|
|
15
|
+
"sap/m/library",
|
|
16
|
+
"sap/m/StandardListItem"
|
|
17
|
+
], function (AbstractContainer, Bar, Button, List, IconTabBar, IconTabFilter, ContainerItem, Device, mLibrary, StandardListItem) {
|
|
18
|
+
"use strict";
|
|
19
|
+
|
|
20
|
+
// shortcut for sap.m.ButtonType
|
|
21
|
+
var ButtonType = mLibrary.ButtonType;
|
|
22
|
+
|
|
23
|
+
// shortcut for sap.m.ListType
|
|
24
|
+
var ListItemType = mLibrary.ListType;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Constructor for a new <code>Container</code>.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
30
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
31
|
+
*
|
|
32
|
+
* @class
|
|
33
|
+
* This control serves as base class for personalization implementations.
|
|
34
|
+
* This base class is faceless and should be inherited to implement control specific personalization panels.
|
|
35
|
+
* Constructor for a new Container. The Container can be used
|
|
36
|
+
* to dynamically add personalization content to a switchable
|
|
37
|
+
* layout container, by allowing to switch the content using
|
|
38
|
+
* an <code>IconTabBar</code> or a <code>List</code> control,
|
|
39
|
+
* depending on the desired layout mode.
|
|
40
|
+
*
|
|
41
|
+
* @extends sap.m.p13n.AbstractContainer
|
|
42
|
+
*
|
|
43
|
+
* @author SAP SE
|
|
44
|
+
* @version 1.96.2
|
|
45
|
+
*
|
|
46
|
+
* @private
|
|
47
|
+
* @ui5-restricted
|
|
48
|
+
* @experimental
|
|
49
|
+
*
|
|
50
|
+
* @since 1.96
|
|
51
|
+
* @alias sap.m.p13n.Container
|
|
52
|
+
*/
|
|
53
|
+
var Container = AbstractContainer.extend("sap.m.p13n.Container", {
|
|
54
|
+
metadata: {
|
|
55
|
+
library: "sap.m",
|
|
56
|
+
properties: {
|
|
57
|
+
listLayout: {
|
|
58
|
+
type: "Boolean",
|
|
59
|
+
defaultValue: false
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
renderer: {
|
|
64
|
+
apiVersion: 2
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
Container.prototype.DEFAULT_KEY = "$default";
|
|
69
|
+
|
|
70
|
+
Container.prototype.init = function () {
|
|
71
|
+
AbstractContainer.prototype.init.apply(this, arguments);
|
|
72
|
+
this.addStyleClass("sapMP13nContainer");
|
|
73
|
+
this.setListLayout(Device.system.phone);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Determines whether a <code>List</code> control should be used
|
|
78
|
+
* as inner layout or a <code>IconTabBar</code> to display the different views.
|
|
79
|
+
*
|
|
80
|
+
* @param {boolean} bListLayout Defines which layout mode should be used.
|
|
81
|
+
* @returns {sap.ui.core.Control} The <code>Container</code> instance.
|
|
82
|
+
*/
|
|
83
|
+
Container.prototype.setListLayout = function (bListLayout) {
|
|
84
|
+
this.setProperty("listLayout", bListLayout);
|
|
85
|
+
|
|
86
|
+
//clear existing navigation items
|
|
87
|
+
this._getTabBar().removeAllItems();
|
|
88
|
+
this._getNavigationList().removeAllItems();
|
|
89
|
+
var oHeaderContent;
|
|
90
|
+
|
|
91
|
+
//update navigator control
|
|
92
|
+
if (bListLayout) {
|
|
93
|
+
this._getTabBar().setVisible(false);
|
|
94
|
+
this._getNavigationList();
|
|
95
|
+
this.switchView(this.DEFAULT_KEY);
|
|
96
|
+
oHeaderContent = this._getNavBackBtn();
|
|
97
|
+
} else {
|
|
98
|
+
this._getTabBar().setVisible(true);
|
|
99
|
+
var aViews = this.getViews();
|
|
100
|
+
if (aViews.length > 1) {
|
|
101
|
+
//0 is $default, use index 1 as the first "custom" added view
|
|
102
|
+
this.switchView(aViews[1].getKey());
|
|
103
|
+
}
|
|
104
|
+
oHeaderContent = this._getTabBar();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
var oHeader = this.getHeader();
|
|
108
|
+
if (!oHeader) {
|
|
109
|
+
var oBar = new Bar({
|
|
110
|
+
contentLeft: [oHeaderContent]
|
|
111
|
+
});
|
|
112
|
+
this.setHeader(oBar);
|
|
113
|
+
} else {
|
|
114
|
+
oHeader.removeAllContentLeft();
|
|
115
|
+
oHeader.addContentLeft(oHeaderContent);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
//recreate the navigation items
|
|
119
|
+
this.getViews().forEach(function (oView) {
|
|
120
|
+
this._addToNavigator(oView);
|
|
121
|
+
}.bind(this));
|
|
122
|
+
|
|
123
|
+
return this;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @override
|
|
128
|
+
*/
|
|
129
|
+
Container.prototype.switchView = function (sKey) {
|
|
130
|
+
AbstractContainer.prototype.switchView.apply(this, arguments);
|
|
131
|
+
var oParent = this.getParent();
|
|
132
|
+
if (oParent && oParent.isA("sap.ui.core.Control")){
|
|
133
|
+
oParent.focus();
|
|
134
|
+
oParent.invalidate();
|
|
135
|
+
}
|
|
136
|
+
this.oLayout.setShowHeader(sKey !== this.DEFAULT_KEY); //Don't show header in default view (avoid empty space),
|
|
137
|
+
this._getTabBar().setSelectedKey(sKey);
|
|
138
|
+
this._getNavBackBtn().setVisible(sKey !== this.DEFAULT_KEY);
|
|
139
|
+
this._getNavBackBtn().setText(sKey);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @override
|
|
144
|
+
*/
|
|
145
|
+
Container.prototype.addView = function (oContainerItem) {
|
|
146
|
+
AbstractContainer.prototype.addView.apply(this, arguments);
|
|
147
|
+
this._addToNavigator(oContainerItem);
|
|
148
|
+
return this;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
Container.prototype._getTabBar = function () {
|
|
152
|
+
if (!this._oTabBar) {
|
|
153
|
+
this._oTabBar = new IconTabBar({
|
|
154
|
+
expandable: false,
|
|
155
|
+
expanded: true,
|
|
156
|
+
select: function (oEvt) {
|
|
157
|
+
this.switchView(oEvt.getParameter("key"));
|
|
158
|
+
}.bind(this)
|
|
159
|
+
});
|
|
160
|
+
this.addDependent(this._oTabBar);
|
|
161
|
+
}
|
|
162
|
+
return this._oTabBar;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
Container.prototype._getNavigationList = function () {
|
|
166
|
+
if (!this._oNavigationList) {
|
|
167
|
+
this._oNavigationList = new List({
|
|
168
|
+
itemPress: function (oEvt) {
|
|
169
|
+
var oItem = oEvt.getParameter("listItem");
|
|
170
|
+
this.switchView(oItem._key);
|
|
171
|
+
}.bind(this)
|
|
172
|
+
}).addStyleClass("p13nContainerDefaultList");
|
|
173
|
+
this.addDependent(this._oNavigationList);
|
|
174
|
+
}
|
|
175
|
+
if (!this.getView(this.DEFAULT_KEY)) {
|
|
176
|
+
var oListContainer = new ContainerItem({
|
|
177
|
+
key: this.DEFAULT_KEY,
|
|
178
|
+
content: this._oNavigationList
|
|
179
|
+
});
|
|
180
|
+
this.addView(oListContainer);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return this._oNavigationList;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
Container.prototype._getNavBackBtn = function () {
|
|
187
|
+
if (!this._oNavBackBtn) {
|
|
188
|
+
this._oNavBackBtn = new Button({
|
|
189
|
+
type: ButtonType.Back,
|
|
190
|
+
press: function (oEvt) {
|
|
191
|
+
this.switchView(this.DEFAULT_KEY);
|
|
192
|
+
}.bind(this)
|
|
193
|
+
});
|
|
194
|
+
this.addDependent(this._oNavBackBtn);
|
|
195
|
+
}
|
|
196
|
+
return this._oNavBackBtn;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
Container.prototype._addToNavigator = function (oContainerItem) {
|
|
200
|
+
|
|
201
|
+
var sKey = oContainerItem.getKey(), sText = oContainerItem.getText(), sIcon = oContainerItem.getIcon();
|
|
202
|
+
|
|
203
|
+
if (sKey == this.DEFAULT_KEY) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (this.getListLayout()) {
|
|
208
|
+
this.getView(this.DEFAULT_KEY);
|
|
209
|
+
var oItem = new StandardListItem({
|
|
210
|
+
type: ListItemType.Navigation,
|
|
211
|
+
icon: sIcon,
|
|
212
|
+
title: sText
|
|
213
|
+
});
|
|
214
|
+
oItem._key = sKey;
|
|
215
|
+
this._getNavigationList().addItem(oItem);
|
|
216
|
+
} else {
|
|
217
|
+
this._getTabBar().addItem(new IconTabFilter({
|
|
218
|
+
key: sKey,
|
|
219
|
+
text: sText || sKey
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
Container.prototype.exit = function () {
|
|
225
|
+
AbstractContainer.prototype.exit.apply(this, arguments);
|
|
226
|
+
if (this._oTabBar) {
|
|
227
|
+
this._oTabBar.destroy();
|
|
228
|
+
this._oTabBar = null;
|
|
229
|
+
}
|
|
230
|
+
if (this._oNavigationList) {
|
|
231
|
+
this._oNavigationList.destroy();
|
|
232
|
+
this._oNavigationList = null;
|
|
233
|
+
}
|
|
234
|
+
this._oNavBackBtn = null;
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
return Container;
|
|
238
|
+
|
|
239
|
+
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ! OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"./QueryPanel", "sap/m/HBox", "sap/m/CheckBox", "sap/ui/layout/Grid"
|
|
8
|
+
], function (QueryPanel, HBox, CheckBox, Grid) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructor for a new <code>GroupPanel</code>.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
15
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
16
|
+
*
|
|
17
|
+
* @class
|
|
18
|
+
* This control can be used to customize group personalization content
|
|
19
|
+
* for an associated control instance.
|
|
20
|
+
*
|
|
21
|
+
* @extends sap.m.p13n.QueryPanel
|
|
22
|
+
*
|
|
23
|
+
* @author SAP SE
|
|
24
|
+
* @version 1.96.2
|
|
25
|
+
*
|
|
26
|
+
* @private
|
|
27
|
+
* @ui5-restricted
|
|
28
|
+
* @experimental
|
|
29
|
+
*
|
|
30
|
+
* @since 1.96
|
|
31
|
+
* @alias sap.m.p13n.GroupPanel
|
|
32
|
+
*/
|
|
33
|
+
var GroupPanel = QueryPanel.extend("sap.m.p13n.GroupPanel", {
|
|
34
|
+
metadata: {
|
|
35
|
+
properties: {
|
|
36
|
+
enableShowField: {
|
|
37
|
+
type: "boolean",
|
|
38
|
+
defaultValue: false
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
renderer: {}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
GroupPanel.prototype.PRESENCE_ATTRIBUTE = "grouped";
|
|
46
|
+
GroupPanel.prototype.CHANGE_REASON_SHOWIFGROUPED = "showifgrouped";
|
|
47
|
+
|
|
48
|
+
GroupPanel.prototype._createQueryRowGrid = function(oItem) {
|
|
49
|
+
var sKey = oItem.name;
|
|
50
|
+
var oSelect = this._createKeySelect(sKey);
|
|
51
|
+
|
|
52
|
+
var oGrid = new Grid({
|
|
53
|
+
containerQuery: true,
|
|
54
|
+
defaultSpan: this.getEnableShowField() ? "XL4 L4 M4 S4" : "XL6 L6 M6 S6",
|
|
55
|
+
content: [
|
|
56
|
+
oSelect
|
|
57
|
+
]
|
|
58
|
+
}).addStyleClass("sapUiTinyMargin");
|
|
59
|
+
|
|
60
|
+
if (this.getEnableShowField()){
|
|
61
|
+
var oCheckBox = this._createCheckBox(oItem);
|
|
62
|
+
oGrid.addContent(oCheckBox);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return oGrid;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
GroupPanel.prototype._createCheckBox = function(oItem) {
|
|
69
|
+
var sKey = oItem.name;
|
|
70
|
+
var oCheckBox = new HBox({
|
|
71
|
+
alignItems: "Center",
|
|
72
|
+
items: [
|
|
73
|
+
new CheckBox({
|
|
74
|
+
enabled: sKey ? true : false,
|
|
75
|
+
selected: oItem.hasOwnProperty("showIfGrouped") ? oItem.showIfGrouped : true,
|
|
76
|
+
select: function(oEvt) {
|
|
77
|
+
var oPanel = oEvt.getSource().getParent().getParent().getParent().getParent().getParent().getParent();
|
|
78
|
+
var sKey = oEvt.oSource.getParent().getParent().getContent()[0].getSelectedItem().getKey();
|
|
79
|
+
this._changeShowIfGrouped(sKey, oEvt.getParameter("selected"));
|
|
80
|
+
oPanel.fireChange({
|
|
81
|
+
reason: "change",
|
|
82
|
+
item: {
|
|
83
|
+
name: sKey,
|
|
84
|
+
grouped: true,
|
|
85
|
+
showIfGrouped: oEvt.getParameter("selected")
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}.bind(this),
|
|
89
|
+
text: this._getResourceText("p13n.GROUP_CHECKBOX")
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
return oCheckBox;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
GroupPanel.prototype._changeShowIfGrouped = function (sKey, bShow) {
|
|
98
|
+
var aItems = this._getP13nModel().getProperty("/items").filter(function (oItem) {
|
|
99
|
+
return oItem.name === sKey;
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
aItems[0].showIfGrouped = bShow;
|
|
103
|
+
|
|
104
|
+
this.fireChange({
|
|
105
|
+
reason: this.CHANGE_REASON_SHOWIFGROUPED,
|
|
106
|
+
item: aItems[0]
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
GroupPanel.prototype._selectKey = function(oEvt) {
|
|
111
|
+
QueryPanel.prototype._selectKey.apply(this, arguments);
|
|
112
|
+
//Enable CheckBox
|
|
113
|
+
var oListItem = oEvt.getSource().getParent().getParent();
|
|
114
|
+
var sNewKey = oEvt.getParameter("selectedItem").getKey();
|
|
115
|
+
oListItem.getContent()[0].getContent()[1].getItems()[0].setEnabled(sNewKey !== this.NONE_KEY);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
return GroupPanel;
|
|
119
|
+
});
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ! OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([
|
|
7
|
+
"sap/ui/layout/Grid", "./BasePanel", "sap/ui/core/Item", "sap/m/CustomListItem", "sap/m/Select", "sap/m/List", "sap/m/HBox", "sap/m/library", "sap/m/Button"
|
|
8
|
+
], function (Grid, BasePanel, Item, CustomListItem, Select, List, HBox, mLibrary, Button) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for a new <code>QueryPanel</code>.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
16
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
17
|
+
*
|
|
18
|
+
* @class
|
|
19
|
+
* This control serves as base class for a query builder like personalization implementation.
|
|
20
|
+
*
|
|
21
|
+
* @class
|
|
22
|
+
* @extends sap.m.p13n.BasePanel
|
|
23
|
+
*
|
|
24
|
+
* @author SAP SE
|
|
25
|
+
* @version 1.96.2
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
* @ui5-restricted
|
|
29
|
+
* @experimental
|
|
30
|
+
*
|
|
31
|
+
* @since 1.96
|
|
32
|
+
* @alias sap.m.p13n.QueryPanel
|
|
33
|
+
*/
|
|
34
|
+
var QueryPanel = BasePanel.extend("sap.m.p13n.QueryPanel", {
|
|
35
|
+
metadata: {
|
|
36
|
+
library: "sap.m",
|
|
37
|
+
properties: {
|
|
38
|
+
queryLimit: {
|
|
39
|
+
type: "int",
|
|
40
|
+
defaultValue: -1 //unlimited queries
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
renderer: {}
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// shortcut for sap.m.ListType
|
|
48
|
+
var ListItemType = mLibrary.ListType;
|
|
49
|
+
|
|
50
|
+
// shortcut for sap.m.FlexJustifyContent
|
|
51
|
+
var FlexJustifyContent = mLibrary.FlexJustifyContent;
|
|
52
|
+
|
|
53
|
+
// shortcut for sap.m.ButtonType
|
|
54
|
+
var ButtonType = mLibrary.ButtonType;
|
|
55
|
+
|
|
56
|
+
QueryPanel.prototype.NONE_KEY = "$_none";
|
|
57
|
+
|
|
58
|
+
QueryPanel.prototype.init = function () {
|
|
59
|
+
BasePanel.prototype.init.apply(this, arguments);
|
|
60
|
+
this.setEnableReorder(true);
|
|
61
|
+
this.addStyleClass("sapMP13nQueryPanel");
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
QueryPanel.prototype.setP13nData = function(aP13nData) {
|
|
65
|
+
BasePanel.prototype.setP13nData.apply(this, arguments);
|
|
66
|
+
|
|
67
|
+
this._oListControl.removeAllItems();
|
|
68
|
+
|
|
69
|
+
//Add rows for grouped items
|
|
70
|
+
if (aP13nData instanceof Array) {
|
|
71
|
+
aP13nData.forEach(function (oItem) {
|
|
72
|
+
if (oItem[this.PRESENCE_ATTRIBUTE]) {
|
|
73
|
+
this._addQueryRow(oItem);
|
|
74
|
+
}
|
|
75
|
+
}.bind(this));
|
|
76
|
+
|
|
77
|
+
this._addQueryRow();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return this;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
QueryPanel.prototype._moveTableItem = function (oItem, iNewIndex) {
|
|
84
|
+
BasePanel.prototype._moveTableItem.apply(this, arguments);
|
|
85
|
+
this._oListControl.removeItem(oItem);
|
|
86
|
+
this._oListControl.insertItem(oItem, iNewIndex);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
QueryPanel.prototype._updateEnableOfMoveButtons = function(oTableItem, bFocus) {
|
|
90
|
+
BasePanel.prototype._updateEnableOfMoveButtons.apply(this, arguments);
|
|
91
|
+
|
|
92
|
+
//The last item is always the "$_none" field, check if its the item before, if yes do not allow to reorder it below
|
|
93
|
+
if (this._oListControl.getItems().indexOf(oTableItem) === (this._oListControl.getItems().length - 2)) {
|
|
94
|
+
this._getMoveDownButton().setEnabled(false);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
QueryPanel.prototype._createInnerListControl = function () {
|
|
99
|
+
return new List(this.getId() + "-innerP13nList", {
|
|
100
|
+
itemPress: [this._onItemPressed, this],
|
|
101
|
+
dragDropConfig: this._getDragDropConfig()
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
QueryPanel.prototype._getModelEntry = function(oRow) {
|
|
106
|
+
var sKey = oRow.getContent()[0].getContent()[0]._key;
|
|
107
|
+
var oField = this._getP13nModel().getProperty("/items").find(function (o) {
|
|
108
|
+
return o.name == sKey;
|
|
109
|
+
});
|
|
110
|
+
return oField;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
QueryPanel.prototype._getAvailableItems = function (sKey) {
|
|
114
|
+
var aItems = this._getP13nModel().getProperty("/items");
|
|
115
|
+
|
|
116
|
+
var aAvailableItems = [new Item({
|
|
117
|
+
key: this.NONE_KEY,
|
|
118
|
+
text: this._getResourceText("p13n.QUERY_NONE"),
|
|
119
|
+
enabled: !sKey
|
|
120
|
+
})];
|
|
121
|
+
|
|
122
|
+
aItems.forEach(function (oNonPresent, iIndex) {
|
|
123
|
+
aAvailableItems.push(new Item({
|
|
124
|
+
key: oNonPresent.name,
|
|
125
|
+
text: oNonPresent.label,
|
|
126
|
+
enabled: {
|
|
127
|
+
path: this.P13N_MODEL + ">/items/" + iIndex + "/" + this.PRESENCE_ATTRIBUTE,
|
|
128
|
+
formatter: function(bQueried) {
|
|
129
|
+
return !bQueried; //Only enable the selection in case there is not yet a query present
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
133
|
+
}.bind(this));
|
|
134
|
+
|
|
135
|
+
return aAvailableItems;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
QueryPanel.prototype._getMoveDownButton = function() {
|
|
139
|
+
var oMoveBtn = BasePanel.prototype._getMoveDownButton.apply(this, arguments);
|
|
140
|
+
oMoveBtn.setIcon("sap-icon://navigation-down-arrow");
|
|
141
|
+
return oMoveBtn;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
QueryPanel.prototype._getMoveUpButton = function() {
|
|
145
|
+
var oMoveBtn = BasePanel.prototype._getMoveUpButton.apply(this, arguments);
|
|
146
|
+
oMoveBtn.setIcon("sap-icon://navigation-up-arrow");
|
|
147
|
+
return oMoveBtn;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
QueryPanel.prototype._addQueryRow = function (oItem) {
|
|
151
|
+
|
|
152
|
+
if (this.getQueryLimit() > -1 && this.getQueryLimit() === this._oListControl.getItems().length) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
oItem = oItem ? oItem : {name: null};
|
|
157
|
+
|
|
158
|
+
var oQueryRowGrid = this._createQueryRowGrid(oItem);
|
|
159
|
+
|
|
160
|
+
var oRow = new CustomListItem({
|
|
161
|
+
type: ListItemType.Active,
|
|
162
|
+
content: [
|
|
163
|
+
oQueryRowGrid
|
|
164
|
+
]
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
//We only need 'move' buttons if:
|
|
168
|
+
// 1) Reordering is enabled
|
|
169
|
+
// 2) At least 2 queries can be made
|
|
170
|
+
if (this.getEnableReorder() && (this.getQueryLimit() === -1 || this.getQueryLimit() > 1)){
|
|
171
|
+
this._addHover(oRow);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
oRow.getContent()[0].getContent()[0]._key = oItem.name;
|
|
175
|
+
|
|
176
|
+
this._oListControl.addItem(oRow);
|
|
177
|
+
|
|
178
|
+
var bShowRemoveBtn = !!oItem.name;
|
|
179
|
+
var oRemoveButton = this._createRemoveButton(bShowRemoveBtn);
|
|
180
|
+
oRow.getContent()[0].addContent(oRemoveButton);
|
|
181
|
+
|
|
182
|
+
return oRow;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
QueryPanel.prototype._createQueryRowGrid = function(oItem) {
|
|
186
|
+
var oSelect = this._createKeySelect(oItem.name);
|
|
187
|
+
return new Grid({
|
|
188
|
+
containerQuery: true,
|
|
189
|
+
defaultSpan: "XL6 L6 M6 S6",
|
|
190
|
+
content: [
|
|
191
|
+
oSelect
|
|
192
|
+
]
|
|
193
|
+
}).addStyleClass("sapUiTinyMargin");
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
QueryPanel.prototype._handleActivated = function(oHoveredItem) {
|
|
197
|
+
var oQueryRow = oHoveredItem.getContent()[0];
|
|
198
|
+
if (oQueryRow) {
|
|
199
|
+
var iItemLength = oQueryRow.getContent().length - 1;
|
|
200
|
+
var oButtonBox = oHoveredItem.getContent()[0].getContent()[iItemLength];
|
|
201
|
+
|
|
202
|
+
//Only add the buttons if 1) an hovered item is provided 2) the buttons are not already there
|
|
203
|
+
if (oHoveredItem && oButtonBox.getItems().length < 2) {
|
|
204
|
+
oButtonBox.insertItem(this._getMoveUpButton(), 0);
|
|
205
|
+
oButtonBox.insertItem(this._getMoveDownButton(), 1);
|
|
206
|
+
this._updateEnableOfMoveButtons(oHoveredItem, false);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
QueryPanel.prototype._createKeySelect = function (sKey) {
|
|
212
|
+
var oKeySelect = new Select({
|
|
213
|
+
width: "14rem",
|
|
214
|
+
items: this._getAvailableItems(sKey),
|
|
215
|
+
selectedKey: sKey,
|
|
216
|
+
change: this._selectKey.bind(this)
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
return oKeySelect;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
QueryPanel.prototype._selectKey = function(oEvt) {
|
|
223
|
+
|
|
224
|
+
var oListItem = oEvt.getSource().getParent().getParent();
|
|
225
|
+
|
|
226
|
+
var bIsLastRow = this._oListControl.getItems().length - 1 == this._oListControl.getItems().indexOf(oListItem);
|
|
227
|
+
var sNewKey = oEvt.getParameter("selectedItem").getKey();
|
|
228
|
+
var sOldKey = oEvt.getSource()._key;
|
|
229
|
+
|
|
230
|
+
var oBtnContainer = oListItem.getContent()[0].getContent()[oListItem.getContent()[0].getContent().length - 1];
|
|
231
|
+
//var oRemoveBtn = oBtnContainer.getItems()[oBtnContainer.getItems().length - 1];
|
|
232
|
+
|
|
233
|
+
oBtnContainer.setVisible(sNewKey !== this.NONE_KEY);
|
|
234
|
+
|
|
235
|
+
//Remove previous
|
|
236
|
+
if (sOldKey) {
|
|
237
|
+
this._updatePresence(sOldKey, false, undefined);
|
|
238
|
+
}
|
|
239
|
+
//store old key
|
|
240
|
+
oEvt.getSource()._key = sNewKey;
|
|
241
|
+
|
|
242
|
+
//add new
|
|
243
|
+
this._updatePresence(sNewKey, true, this._oListControl.getItems().indexOf(oListItem));
|
|
244
|
+
|
|
245
|
+
//Add a new row in case the last "empty" row has been configured
|
|
246
|
+
if (sNewKey !== this.NONE_KEY && bIsLastRow) {
|
|
247
|
+
this._addQueryRow();
|
|
248
|
+
var oSelect = oEvt.getSource();
|
|
249
|
+
var oNoneItem = oSelect.getItemByKey(this.NONE_KEY);
|
|
250
|
+
oNoneItem.setEnabled(false);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
QueryPanel.prototype._createRemoveButton = function (bVisible) {
|
|
255
|
+
var oRemoveBox = new HBox({
|
|
256
|
+
justifyContent: FlexJustifyContent.End,
|
|
257
|
+
width: "100%",
|
|
258
|
+
visible: bVisible,
|
|
259
|
+
items: [
|
|
260
|
+
new Button({
|
|
261
|
+
type: ButtonType.Transparent,
|
|
262
|
+
icon: "sap-icon://decline",
|
|
263
|
+
press: function (oEvt) {
|
|
264
|
+
var oRow = oEvt.getSource().getParent().getParent().getParent();
|
|
265
|
+
this._oListControl.removeItem(oRow);
|
|
266
|
+
this._updatePresence(oRow.getContent()[0].getContent()[0]._key, false, undefined);
|
|
267
|
+
if (this._oListControl.getItems().length === 0) {
|
|
268
|
+
this._addQueryRow();
|
|
269
|
+
} else {
|
|
270
|
+
//In case an item has been removed, focus the Select control of the new 'none' row
|
|
271
|
+
var iLastIndex = this._oListControl.getItems().length - 1;
|
|
272
|
+
this._oListControl.getItems()[iLastIndex].getContent()[0].getContent()[0].focus();
|
|
273
|
+
}
|
|
274
|
+
}.bind(this)
|
|
275
|
+
})
|
|
276
|
+
]
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
return oRemoveBox;
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
QueryPanel.prototype._moveSelectedItem = function(){
|
|
283
|
+
this._oSelectedItem = this._getMoveUpButton().getParent().getParent().getParent();
|
|
284
|
+
BasePanel.prototype._moveSelectedItem.apply(this, arguments);
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
QueryPanel.prototype._updatePresence = function (sKey, bAdd, iNewIndex) {
|
|
288
|
+
var aItems = this._getP13nModel().getProperty("/items");
|
|
289
|
+
var aRelevant = aItems.filter(function (oItem) {
|
|
290
|
+
return oItem.name === sKey;
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
if (aRelevant[0]) {
|
|
294
|
+
aRelevant[0][this.PRESENCE_ATTRIBUTE] = bAdd;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
if (iNewIndex !== undefined) {
|
|
298
|
+
var iOldIndex = aItems.indexOf(aRelevant[0]);
|
|
299
|
+
aItems.splice(iNewIndex, 0, aItems.splice(iOldIndex, 1)[0]);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
this._getP13nModel().setProperty("/items", aItems);
|
|
303
|
+
|
|
304
|
+
this.fireChange({
|
|
305
|
+
reason: bAdd ? this.CHANGE_REASON_ADD : this.CHANGE_REASON_REMOVE,
|
|
306
|
+
item: aRelevant[0]
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
return QueryPanel;
|
|
311
|
+
|
|
312
|
+
});
|