@openui5/sap.m 1.95.0 → 1.96.3
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 +10 -5
- package/THIRDPARTY.txt +17 -8
- 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 +1 -1
- package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
- package/src/sap/m/Avatar.js +1 -1
- package/src/sap/m/Bar.js +1 -1
- package/src/sap/m/Breadcrumbs.js +1 -1
- package/src/sap/m/BusyDialog.js +1 -1
- package/src/sap/m/BusyIndicator.js +1 -1
- package/src/sap/m/Button.js +1 -1
- package/src/sap/m/Carousel.js +1 -1
- package/src/sap/m/CarouselLayout.js +1 -1
- package/src/sap/m/CheckBox.js +1 -1
- 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 +1 -1
- package/src/sap/m/ComboBoxTextField.js +1 -1
- package/src/sap/m/CustomDynamicDateOption.js +9 -1
- 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 +12 -10
- 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 +16 -37
- package/src/sap/m/DisplayListItem.js +1 -1
- package/src/sap/m/DraftIndicator.js +1 -1
- package/src/sap/m/DynamicDate.js +1 -1
- package/src/sap/m/DynamicDateOption.js +3 -2
- package/src/sap/m/DynamicDateRange.js +7 -4
- 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 +1 -1
- 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 +264 -57
- 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 +1 -1
- package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
- package/src/sap/m/IconTabBar.js +7 -1
- package/src/sap/m/IconTabBarSelectList.js +1 -1
- package/src/sap/m/IconTabFilter.js +1 -1
- package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
- package/src/sap/m/IconTabHeader.js +13 -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 +18 -7
- package/src/sap/m/InputBase.js +95 -13
- 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 +1 -1
- 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 +1 -1
- package/src/sap/m/ListItemBase.js +2 -2
- 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 +1 -1
- package/src/sap/m/MenuItem.js +1 -1
- package/src/sap/m/MenuListItem.js +1 -1
- package/src/sap/m/MessageItem.js +1 -16
- 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 +12 -23
- package/src/sap/m/MultiComboBox.js +348 -115
- package/src/sap/m/MultiEditField.js +1 -1
- package/src/sap/m/MultiInput.js +30 -4
- package/src/sap/m/NavContainer.js +13 -5
- 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/NumericInput.js +138 -0
- package/src/sap/m/NumericInputRenderer.js +120 -0
- package/src/sap/m/ObjectAttribute.js +46 -5
- package/src/sap/m/ObjectHeader.js +3 -3
- 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 +1 -1
- package/src/sap/m/ObjectStatus.js +1 -1
- package/src/sap/m/ObjectStatusRenderer.js +4 -1
- package/src/sap/m/OverflowToolbar.js +3 -5
- 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 +22 -52
- 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 +1 -1
- 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 +46 -31
- package/src/sap/m/PlanningCalendarHeader.js +5 -8
- package/src/sap/m/PlanningCalendarLegend.js +1 -6
- package/src/sap/m/PlanningCalendarLegendRenderer.js +0 -5
- package/src/sap/m/PlanningCalendarRow.js +1 -1
- package/src/sap/m/PlanningCalendarView.js +1 -6
- package/src/sap/m/Popover.js +3 -3
- package/src/sap/m/PopoverRenderer.js +3 -2
- package/src/sap/m/ProgressIndicator.js +13 -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 +1 -1
- 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 +2 -33
- package/src/sap/m/SegmentedButton.js +1 -1
- package/src/sap/m/SegmentedButtonItem.js +1 -1
- package/src/sap/m/SegmentedButtonRenderer.js +6 -0
- package/src/sap/m/Select.js +3 -4
- 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 +10 -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 +1 -1
- 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 +1 -6
- 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 +46 -3
- package/src/sap/m/SlideTileRenderer.js +13 -2
- 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 +1 -1
- package/src/sap/m/SplitButtonRenderer.js +5 -1
- package/src/sap/m/SplitContainer.js +10 -4
- package/src/sap/m/StandardDynamicDateOption.js +6 -3
- package/src/sap/m/StandardListItem.js +11 -18
- package/src/sap/m/StandardTile.js +1 -1
- package/src/sap/m/StandardTreeItem.js +1 -1
- package/src/sap/m/StepInput.js +67 -166
- package/src/sap/m/SuggestionItem.js +1 -7
- package/src/sap/m/SuggestionsPopover.js +44 -1
- package/src/sap/m/Switch.js +9 -1
- 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 +1 -1
- 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/TableSelectDialog.js +1 -1
- package/src/sap/m/Text.js +1 -1
- package/src/sap/m/TextArea.js +1 -1
- 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 +1 -1
- package/src/sap/m/TimePickerClock.js +1 -1
- package/src/sap/m/TimePickerClocks.js +1 -1
- package/src/sap/m/TimePickerInputs.js +1 -1
- package/src/sap/m/TimePickerInternals.js +1 -1
- package/src/sap/m/TimePickerSlider.js +1 -1
- 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 +2 -1
- 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 +1 -6
- 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 +1 -1
- package/src/sap/m/WheelSliderContainer.js +1 -1
- package/src/sap/m/Wizard.js +40 -12
- 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 +1 -1
- package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
- package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +24 -15
- package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
- 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 +4 -1
- package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
- package/src/sap/m/designtime/messagebundle_ar.properties +3 -3
- package/src/sap/m/designtime/messagebundle_bg.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ca.properties +3 -3
- package/src/sap/m/designtime/messagebundle_cs.properties +3 -3
- package/src/sap/m/designtime/messagebundle_cy.properties +3 -3
- package/src/sap/m/designtime/messagebundle_da.properties +3 -3
- package/src/sap/m/designtime/messagebundle_de.properties +5 -5
- package/src/sap/m/designtime/messagebundle_el.properties +3 -3
- package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
- package/src/sap/m/designtime/messagebundle_es.properties +3 -3
- package/src/sap/m/designtime/messagebundle_es_MX.properties +3 -3
- package/src/sap/m/designtime/messagebundle_et.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_fr_CA.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_hu.properties +3 -3
- package/src/sap/m/designtime/messagebundle_id.properties +3 -3
- package/src/sap/m/designtime/messagebundle_it.properties +3 -3
- package/src/sap/m/designtime/messagebundle_iw.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ja.properties +3 -3
- package/src/sap/m/designtime/messagebundle_kk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ko.properties +3 -3
- package/src/sap/m/designtime/messagebundle_lt.properties +3 -3
- package/src/sap/m/designtime/messagebundle_lv.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ms.properties +3 -3
- package/src/sap/m/designtime/messagebundle_nl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_no.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pt.properties +3 -3
- package/src/sap/m/designtime/messagebundle_pt_PT.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ro.properties +3 -3
- package/src/sap/m/designtime/messagebundle_ru.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sh.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sl.properties +3 -3
- package/src/sap/m/designtime/messagebundle_sv.properties +3 -3
- package/src/sap/m/designtime/messagebundle_th.properties +3 -3
- package/src/sap/m/designtime/messagebundle_tr.properties +3 -3
- package/src/sap/m/designtime/messagebundle_uk.properties +3 -3
- package/src/sap/m/designtime/messagebundle_vi.properties +3 -3
- package/src/sap/m/designtime/messagebundle_zh_CN.properties +3 -3
- package/src/sap/m/designtime/messagebundle_zh_TW.properties +3 -3
- 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 +58 -31
- package/src/sap/m/messagebundle.properties +50 -3
- package/src/sap/m/messagebundle_ar.properties +29 -6
- package/src/sap/m/messagebundle_bg.properties +29 -6
- package/src/sap/m/messagebundle_ca.properties +33 -10
- package/src/sap/m/messagebundle_cs.properties +31 -8
- package/src/sap/m/messagebundle_cy.properties +31 -8
- package/src/sap/m/messagebundle_da.properties +31 -8
- package/src/sap/m/messagebundle_de.properties +30 -7
- package/src/sap/m/messagebundle_el.properties +30 -7
- package/src/sap/m/messagebundle_en.properties +30 -7
- package/src/sap/m/messagebundle_en_GB.properties +30 -7
- package/src/sap/m/messagebundle_en_US_sappsd.properties +17 -1
- package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
- package/src/sap/m/messagebundle_en_US_saptrc.properties +3 -1
- package/src/sap/m/messagebundle_es.properties +29 -6
- package/src/sap/m/messagebundle_es_MX.properties +31 -8
- package/src/sap/m/messagebundle_et.properties +30 -7
- package/src/sap/m/messagebundle_fi.properties +31 -8
- package/src/sap/m/messagebundle_fr.properties +37 -14
- package/src/sap/m/messagebundle_fr_CA.properties +31 -8
- package/src/sap/m/messagebundle_hi.properties +31 -8
- package/src/sap/m/messagebundle_hr.properties +30 -7
- package/src/sap/m/messagebundle_hu.properties +30 -7
- package/src/sap/m/messagebundle_id.properties +31 -8
- package/src/sap/m/messagebundle_it.properties +29 -6
- package/src/sap/m/messagebundle_iw.properties +29 -6
- package/src/sap/m/messagebundle_ja.properties +30 -7
- package/src/sap/m/messagebundle_kk.properties +31 -8
- package/src/sap/m/messagebundle_ko.properties +31 -8
- package/src/sap/m/messagebundle_lt.properties +31 -8
- package/src/sap/m/messagebundle_lv.properties +31 -8
- package/src/sap/m/messagebundle_ms.properties +29 -6
- package/src/sap/m/messagebundle_nl.properties +29 -6
- package/src/sap/m/messagebundle_no.properties +29 -6
- package/src/sap/m/messagebundle_pl.properties +31 -8
- package/src/sap/m/messagebundle_pt.properties +31 -8
- package/src/sap/m/messagebundle_pt_PT.properties +29 -6
- package/src/sap/m/messagebundle_ro.properties +31 -8
- package/src/sap/m/messagebundle_ru.properties +31 -8
- package/src/sap/m/messagebundle_sh.properties +30 -7
- package/src/sap/m/messagebundle_sk.properties +30 -7
- package/src/sap/m/messagebundle_sl.properties +30 -7
- package/src/sap/m/messagebundle_sv.properties +30 -7
- package/src/sap/m/messagebundle_th.properties +31 -8
- package/src/sap/m/messagebundle_tr.properties +27 -4
- package/src/sap/m/messagebundle_uk.properties +35 -12
- package/src/sap/m/messagebundle_vi.properties +31 -8
- package/src/sap/m/messagebundle_zh_CN.properties +29 -6
- package/src/sap/m/messagebundle_zh_TW.properties +31 -8
- 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 +1 -1
- package/src/sap/m/plugins/DataStateIndicator.js +1 -1
- package/src/sap/m/plugins/PasteProvider.js +1 -1
- package/src/sap/m/plugins/PluginBase.js +1 -1
- package/src/sap/m/routing/TargetHandler.js +9 -4
- 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 +1 -1
- 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/Carousel.less +37 -2
- package/src/sap/m/themes/base/Dialog.less +11 -5
- package/src/sap/m/themes/base/GenericTile.less +441 -18
- package/src/sap/m/themes/base/IconTabBar.less +13 -7
- package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
- package/src/sap/m/themes/base/InputBase.less +0 -24
- package/src/sap/m/themes/base/Label.less +6 -0
- package/src/sap/m/themes/base/ListItemBase.less +4 -2
- 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/NotificationListBase.less +1 -1
- package/src/sap/m/themes/base/NumericContent.less +87 -0
- package/src/sap/m/themes/base/ObjectNumber.less +10 -2
- package/src/sap/m/themes/base/ObjectStatus.less +5 -1
- 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/SearchField.less +21 -14
- package/src/sap/m/themes/base/SegmentedButton.less +1 -1
- 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 +1 -1
- package/src/sap/m/themes/base/Table.less +9 -8
- package/src/sap/m/themes/base/Text.less +6 -0
- 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/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/InputBase.less +25 -0
- package/src/sap/m/upload/UploadSet.js +14 -18
- package/src/sap/m/upload/UploadSetItem.js +7 -2
- package/ui5.yaml +4 -1
- package/src/sap/m/ios7.js +0 -199
|
@@ -0,0 +1,643 @@
|
|
|
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
|
+
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
'sap/ui/model/json/JSONModel', 'sap/m/VBox', 'sap/ui/core/Control', 'sap/m/Column', 'sap/m/Text', 'sap/ui/model/Filter', "sap/m/Table", "sap/m/OverflowToolbar", "sap/m/SearchField", "sap/m/ToolbarSpacer", "sap/m/OverflowToolbarButton", "sap/m/OverflowToolbarLayoutData", "sap/base/util/merge", "sap/ui/core/dnd/DragDropInfo"
|
|
9
|
+
], function(JSONModel, VBox, Control, Column, Text, Filter, Table, OverflowToolbar, SearchField, ToolbarSpacer, OverflowToolbarButton, OverflowToolbarLayoutData, merge, DragDropInfo) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for a new <code>BasePanel</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 personalization implementations.
|
|
20
|
+
* This base class is faceless and should be inherited to implement control specific personalization panels.
|
|
21
|
+
*
|
|
22
|
+
* @extends sap.ui.core.Control
|
|
23
|
+
*
|
|
24
|
+
* @author SAP SE
|
|
25
|
+
* @version 1.96.3
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
* @ui5-restricted
|
|
29
|
+
* @experimental
|
|
30
|
+
*
|
|
31
|
+
* @since 1.96
|
|
32
|
+
* @alias sap.m.p13n.BasePanel
|
|
33
|
+
*/
|
|
34
|
+
var BasePanel = Control.extend("sap.m.p13n.BasePanel", {
|
|
35
|
+
metadata: {
|
|
36
|
+
library: "sap.m",
|
|
37
|
+
associations: {},
|
|
38
|
+
properties: {
|
|
39
|
+
/**
|
|
40
|
+
* Determines whether the reordering of personalization items should be enabled.
|
|
41
|
+
*/
|
|
42
|
+
enableReorder: {
|
|
43
|
+
type: "boolean",
|
|
44
|
+
defaultValue: true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
aggregations: {
|
|
48
|
+
/**
|
|
49
|
+
* Defines an optional message strip to be displayed in the content area
|
|
50
|
+
*/
|
|
51
|
+
messageStrip: {
|
|
52
|
+
type: "sap.m.MessageStrip",
|
|
53
|
+
multiple: false
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* Content to be set for the <code>BasePanel</code>.
|
|
57
|
+
*/
|
|
58
|
+
_content: {
|
|
59
|
+
type: "sap.ui.core.Control",
|
|
60
|
+
multiple: false,
|
|
61
|
+
visibility: "hidden"
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* This template is going to be set from the implementing panel using the <code>BasePanel</code> control, by setting the template
|
|
65
|
+
* for the columns of the inner <code>sap.m.Table</code>.
|
|
66
|
+
*/
|
|
67
|
+
_template: {
|
|
68
|
+
type: "sap.ui.core.Control",
|
|
69
|
+
multiple: false,
|
|
70
|
+
visibility: "hidden"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
events: {
|
|
74
|
+
/**
|
|
75
|
+
* This event is fired if there has been made any change within the <code>BasePanel</code> control.
|
|
76
|
+
*/
|
|
77
|
+
change: {
|
|
78
|
+
/**
|
|
79
|
+
* The reason why the panel state has changed, e.g. "Add", "Remove" or "Move".
|
|
80
|
+
*/
|
|
81
|
+
reason: {
|
|
82
|
+
type: "string"
|
|
83
|
+
},
|
|
84
|
+
/**
|
|
85
|
+
* An object containing information about the specific item that has been changed.
|
|
86
|
+
*/
|
|
87
|
+
item: {
|
|
88
|
+
type: "object"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
renderer: {
|
|
94
|
+
apiVersion: 2,
|
|
95
|
+
render: function(oRm, oControl) {
|
|
96
|
+
oRm.openStart("div", oControl);
|
|
97
|
+
oRm.style("height", "100%");
|
|
98
|
+
oRm.openEnd();
|
|
99
|
+
oRm.renderControl(oControl.getAggregation("_content"));
|
|
100
|
+
oRm.close("div");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
//inner model name
|
|
106
|
+
BasePanel.prototype.P13N_MODEL = "$p13n";
|
|
107
|
+
|
|
108
|
+
//constants for change event reasoning
|
|
109
|
+
BasePanel.prototype.CHANGE_REASON_ADD = "Add";
|
|
110
|
+
BasePanel.prototype.CHANGE_REASON_REMOVE = "Remove";
|
|
111
|
+
BasePanel.prototype.CHANGE_REASON_MOVE = "Move";
|
|
112
|
+
|
|
113
|
+
//defines the name of the attribute describing the presence/active state
|
|
114
|
+
BasePanel.prototype.PRESENCE_ATTRIBUTE = "visible";
|
|
115
|
+
|
|
116
|
+
BasePanel.prototype.init = function() {
|
|
117
|
+
Control.prototype.init.apply(this, arguments);
|
|
118
|
+
|
|
119
|
+
this._oP13nModel = new JSONModel({});
|
|
120
|
+
this._oP13nModel.setSizeLimit(10000);
|
|
121
|
+
this.setModel(this._oP13nModel, this.P13N_MODEL);
|
|
122
|
+
|
|
123
|
+
// list is necessary to set the template + model on
|
|
124
|
+
this._oListControl = this._createInnerListControl();
|
|
125
|
+
|
|
126
|
+
this._setInnerLayout();
|
|
127
|
+
|
|
128
|
+
// disable 'select all'
|
|
129
|
+
this._oListControl.setMultiSelectMode("ClearAll");
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Can be overwritten in case a different wrapping Control is required for the inner content
|
|
134
|
+
*/
|
|
135
|
+
BasePanel.prototype._setInnerLayout = function() {
|
|
136
|
+
this.setAggregation("_content", new VBox({
|
|
137
|
+
items: [
|
|
138
|
+
this._oListControl
|
|
139
|
+
]
|
|
140
|
+
}));
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* @param {Array} aP13nData An array containing the personalization state that should be represented by the <code>BasePanel</code>.
|
|
145
|
+
*
|
|
146
|
+
* @returns {sap.m.p13n.BasePanel} The BasePanel instance
|
|
147
|
+
*/
|
|
148
|
+
BasePanel.prototype.setP13nData = function(aP13nData) {
|
|
149
|
+
this._getP13nModel().setProperty("/items", merge([], aP13nData));
|
|
150
|
+
return this;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @returns {Array} An array containing the personalization state that is currently displayed by the <code>BasePanel</code>.
|
|
155
|
+
*/
|
|
156
|
+
BasePanel.prototype.getP13nData = function (bOnlyActive) {
|
|
157
|
+
var aItems = merge([], this._getP13nModel().getProperty("/items"));
|
|
158
|
+
if (bOnlyActive) {
|
|
159
|
+
aItems = aItems.filter(function(oItem){
|
|
160
|
+
return oItem[this.PRESENCE_ATTRIBUTE];
|
|
161
|
+
}.bind(this));
|
|
162
|
+
}
|
|
163
|
+
return aItems;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Displays a <code>sap.m.MessageStrip</code> instance in the content area of the <code>BasePanel</code>.
|
|
168
|
+
*
|
|
169
|
+
* @param {sap.m.MessageStrip} oStrip Instance of a sap.m.MessageStrip
|
|
170
|
+
*
|
|
171
|
+
* @returns {sap.m.p13n.BasePanel} The BasePanel instance
|
|
172
|
+
*/
|
|
173
|
+
BasePanel.prototype.setMessageStrip = function(oStrip){
|
|
174
|
+
if (!oStrip) {
|
|
175
|
+
this.getAggregation("_content").removeItem(this._oMessageStrip);
|
|
176
|
+
this._oMessageStrip = null;
|
|
177
|
+
} else {
|
|
178
|
+
oStrip.addStyleClass("sapUiSmallMargin");
|
|
179
|
+
if (this._oMessageStrip) {
|
|
180
|
+
this._oMessageStrip.destroy();
|
|
181
|
+
}
|
|
182
|
+
this._oMessageStrip = oStrip;
|
|
183
|
+
this.getAggregation("_content").insertItem(oStrip, 0);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return this;
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Getter for the <code>messageStrip</code> aggregation.
|
|
191
|
+
*
|
|
192
|
+
* @returns {sap.m.p13n.BasePanel} The BasePanel instance
|
|
193
|
+
*/
|
|
194
|
+
BasePanel.prototype.getMessageStrip = function(){
|
|
195
|
+
return this._oMessageStrip;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* The <code>enableReorder</code> property decides if additional move buttons should be shown on hovering over
|
|
200
|
+
* the inner list. In addition drag and drop will be enabled on the inner list control.
|
|
201
|
+
*
|
|
202
|
+
* @param {boolean} bEnableReorder Decies whether reordering should be enabled or disabled.
|
|
203
|
+
*
|
|
204
|
+
* @returns {sap.m.p13n.BasePanel} The BasePanel instance
|
|
205
|
+
*/
|
|
206
|
+
BasePanel.prototype.setEnableReorder = function(bEnableReorder) {
|
|
207
|
+
var oTemplate = this.getAggregation("_template");
|
|
208
|
+
if (bEnableReorder) {
|
|
209
|
+
this._addHover(oTemplate);
|
|
210
|
+
} else if (oTemplate && oTemplate.aDelegates && oTemplate.aDelegates.length > 0) {
|
|
211
|
+
oTemplate.removeEventDelegate(oTemplate.aDelegates[0].oDelegate);
|
|
212
|
+
}
|
|
213
|
+
this._getDragDropConfig().setEnabled(bEnableReorder);
|
|
214
|
+
this._setMoveButtonVisibility(bEnableReorder);
|
|
215
|
+
this.setProperty("enableReorder", bEnableReorder);
|
|
216
|
+
|
|
217
|
+
return this;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
BasePanel.prototype._getDragDropConfig = function() {
|
|
222
|
+
if (!this._oDragDropInfo){
|
|
223
|
+
this._oDragDropInfo = new DragDropInfo({
|
|
224
|
+
enabled: false,
|
|
225
|
+
sourceAggregation: "items",
|
|
226
|
+
targetAggregation: "items",
|
|
227
|
+
dropPosition: "Between",
|
|
228
|
+
drop: [this._onRearrange, this]
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
return this._oDragDropInfo;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
BasePanel.prototype._getMoveTopButton = function() {
|
|
235
|
+
if (!this._oMoveTopBtn) {
|
|
236
|
+
this._oMoveTopBtn = new OverflowToolbarButton(this.getId() + "-moveTopBtn",{
|
|
237
|
+
type: "Transparent",
|
|
238
|
+
tooltip: this._getResourceText("p13n.MOVE_TO_TOP"),
|
|
239
|
+
icon: "sap-icon://collapse-group",
|
|
240
|
+
press: [this._onPressButtonMoveToTop, this],
|
|
241
|
+
visible: false,
|
|
242
|
+
layoutData: new OverflowToolbarLayoutData({
|
|
243
|
+
moveToOverflow: true,
|
|
244
|
+
priority: "Low",
|
|
245
|
+
group: 2
|
|
246
|
+
})
|
|
247
|
+
});
|
|
248
|
+
this.addDependent(this._oMoveTopBtn);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return this._oMoveTopBtn;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
BasePanel.prototype._getMoveUpButton = function() {
|
|
255
|
+
if (!this._oMoveUpButton) {
|
|
256
|
+
this._oMoveUpButton = new OverflowToolbarButton(this.getId() + "-moveUpBtn",{
|
|
257
|
+
type: "Transparent",
|
|
258
|
+
tooltip: this._getResourceText("p13n.MOVE_UP"),
|
|
259
|
+
icon: "sap-icon://navigation-up-arrow",
|
|
260
|
+
press: [this._onPressButtonMoveUp, this],
|
|
261
|
+
visible: false,
|
|
262
|
+
layoutData: new OverflowToolbarLayoutData({
|
|
263
|
+
moveToOverflow: true,
|
|
264
|
+
priority: "High",
|
|
265
|
+
group: 1
|
|
266
|
+
})
|
|
267
|
+
});
|
|
268
|
+
this.addDependent(this._oMoveUpButton);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
return this._oMoveUpButton;
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
BasePanel.prototype._getMoveDownButton = function() {
|
|
275
|
+
if (!this._oMoveDownButton) {
|
|
276
|
+
this._oMoveDownButton = new OverflowToolbarButton(this.getId() + "-moveDownpBtn",{
|
|
277
|
+
type: "Transparent",
|
|
278
|
+
tooltip: this._getResourceText("p13n.MOVE_DOWN"),
|
|
279
|
+
icon: "sap-icon://navigation-down-arrow",
|
|
280
|
+
press: [this._onPressButtonMoveDown, this],
|
|
281
|
+
visible: false,
|
|
282
|
+
layoutData: new OverflowToolbarLayoutData({
|
|
283
|
+
moveToOverflow: true,
|
|
284
|
+
priority: "High",
|
|
285
|
+
group: 1
|
|
286
|
+
})
|
|
287
|
+
});
|
|
288
|
+
this.addDependent(this._oMoveDownButton);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return this._oMoveDownButton;
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
BasePanel.prototype._getMoveBottomButton = function() {
|
|
295
|
+
if (!this._oMoveBottomButton) {
|
|
296
|
+
this._oMoveBottomButton = new OverflowToolbarButton(this.getId() + "-moveBottomBtn",{
|
|
297
|
+
type: "Transparent",
|
|
298
|
+
tooltip: this._getResourceText("p13n.MOVE_TO_BOTTOM"),
|
|
299
|
+
icon: "sap-icon://expand-group",
|
|
300
|
+
press: [this._onPressButtonMoveToBottom, this],
|
|
301
|
+
visible: false,
|
|
302
|
+
layoutData: new OverflowToolbarLayoutData({
|
|
303
|
+
moveToOverflow: true,
|
|
304
|
+
priority: "Low",
|
|
305
|
+
group: 2
|
|
306
|
+
})
|
|
307
|
+
});
|
|
308
|
+
this.addDependent(this._oMoveBottomButton);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
return this._oMoveBottomButton;
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
BasePanel.prototype._createInnerListControl = function() {
|
|
315
|
+
return new Table(this.getId() + "-innerP13nList", Object.assign(this._getListControlConfig(), {
|
|
316
|
+
headerToolbar: new OverflowToolbar({
|
|
317
|
+
content: [
|
|
318
|
+
this._getSearchField(),
|
|
319
|
+
new ToolbarSpacer(),
|
|
320
|
+
this._getMoveTopButton(),
|
|
321
|
+
this._getMoveUpButton(),
|
|
322
|
+
this._getMoveDownButton(),
|
|
323
|
+
this._getMoveBottomButton()
|
|
324
|
+
]
|
|
325
|
+
})
|
|
326
|
+
}));
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
BasePanel.prototype._addHover = function(oRow) {
|
|
330
|
+
if (oRow && oRow.aDelegates.length < 1) {
|
|
331
|
+
oRow.addEventDelegate({
|
|
332
|
+
onmouseover: this._hoverHandler.bind(this),
|
|
333
|
+
onfocusin: this._focusHandler.bind(this)
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
BasePanel.prototype._focusHandler = function(oEvt) {
|
|
339
|
+
if (!this.getEnableReorder()){
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
//(new) hovered item
|
|
344
|
+
var oHoveredItem = sap.ui.getCore().byId(oEvt.currentTarget.id);
|
|
345
|
+
this._handleActivated(oHoveredItem);
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
BasePanel.prototype._hoverHandler = function(oEvt) {
|
|
349
|
+
//Only use hover if no item has been selected yet
|
|
350
|
+
if (this._oSelectedItem && !this._oSelectedItem.bIsDestroyed) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
if (!this.getEnableReorder()){
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
//(new) hovered item
|
|
359
|
+
var oHoveredItem = sap.ui.getCore().byId(oEvt.currentTarget.id);
|
|
360
|
+
|
|
361
|
+
this._handleActivated(oHoveredItem);
|
|
362
|
+
};
|
|
363
|
+
|
|
364
|
+
BasePanel.prototype._handleActivated = function(oHoveredItem) {
|
|
365
|
+
this._oHoveredItem = oHoveredItem;
|
|
366
|
+
//Implement custom hover handling in derivation here..
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
BasePanel.prototype._getListControlConfig = function() {
|
|
370
|
+
return {
|
|
371
|
+
mode:"MultiSelect",
|
|
372
|
+
rememberSelections: true,
|
|
373
|
+
itemPress: [this._onItemPressed, this],
|
|
374
|
+
selectionChange: [this._onSelectionChange, this],
|
|
375
|
+
sticky: ["HeaderToolbar", "ColumnHeaders", "InfoToolbar"],
|
|
376
|
+
dragDropConfig: this._getDragDropConfig()
|
|
377
|
+
};
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
BasePanel.prototype._getSearchField = function() {
|
|
381
|
+
if (!this._oSearchField) {
|
|
382
|
+
this._oSearchField = new SearchField(this.getId() + "-searchField",{
|
|
383
|
+
liveChange: [this._onSearchFieldLiveChange, this],
|
|
384
|
+
width: "100%",
|
|
385
|
+
layoutData: new OverflowToolbarLayoutData({
|
|
386
|
+
shrinkable: true,
|
|
387
|
+
moveToOverflow: true,
|
|
388
|
+
priority: "High",
|
|
389
|
+
maxWidth: "16rem"
|
|
390
|
+
})
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
return this._oSearchField;
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
BasePanel.prototype._setTemplate = function(oTemplate) {
|
|
397
|
+
oTemplate.setType("Active");
|
|
398
|
+
this.setAggregation("_template", oTemplate);
|
|
399
|
+
if (oTemplate) {
|
|
400
|
+
if (this.getEnableReorder()){
|
|
401
|
+
this._addHover(oTemplate);
|
|
402
|
+
}
|
|
403
|
+
this._oSelectionBindingInfo = oTemplate.getBindingInfo("selected");
|
|
404
|
+
// Extract the binding info parts
|
|
405
|
+
if (this._oSelectionBindingInfo && this._oSelectionBindingInfo.parts) {
|
|
406
|
+
this._oSelectionBindingInfo = {
|
|
407
|
+
parts: this._oSelectionBindingInfo.parts
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
this._bindListItems();
|
|
412
|
+
return this;
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
BasePanel.prototype._setPanelColumns = function(vColumns) {
|
|
416
|
+
var aColumns;
|
|
417
|
+
if (vColumns instanceof Array) {
|
|
418
|
+
aColumns = vColumns;
|
|
419
|
+
} else {
|
|
420
|
+
aColumns = [
|
|
421
|
+
vColumns
|
|
422
|
+
];
|
|
423
|
+
}
|
|
424
|
+
this._addTableColumns(aColumns);
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
BasePanel.prototype._getP13nModel = function() {
|
|
428
|
+
return this.getModel(this.P13N_MODEL);
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
BasePanel.prototype._getResourceText = function(sText, vValue) {
|
|
432
|
+
this.oResourceBundle = this.oResourceBundle ? this.oResourceBundle : sap.ui.getCore().getLibraryResourceBundle("sap.m");
|
|
433
|
+
return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
BasePanel.prototype._addTableColumns = function(aColumns) {
|
|
437
|
+
var aRemovedColumns = this._oListControl.removeAllColumns();
|
|
438
|
+
aRemovedColumns.forEach(function(oRemovedColumn){
|
|
439
|
+
oRemovedColumn.destroy();
|
|
440
|
+
});
|
|
441
|
+
aColumns.forEach(function(vColumn) {
|
|
442
|
+
var oColumn;
|
|
443
|
+
|
|
444
|
+
if (typeof vColumn == "string") {
|
|
445
|
+
oColumn = new Column({
|
|
446
|
+
header: new Text({
|
|
447
|
+
text: vColumn
|
|
448
|
+
})
|
|
449
|
+
});
|
|
450
|
+
} else {
|
|
451
|
+
oColumn = vColumn;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
this._oListControl.addColumn(oColumn);
|
|
455
|
+
}, this);
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
BasePanel.prototype._bindListItems = function(mBindingInfo) {
|
|
459
|
+
var oTemplate = this.getAggregation("_template");
|
|
460
|
+
if (oTemplate) {
|
|
461
|
+
this._oListControl.bindItems(Object.assign({
|
|
462
|
+
path: this.P13N_MODEL + ">/items",
|
|
463
|
+
key: "name",
|
|
464
|
+
templateShareable: false,
|
|
465
|
+
template: this.getAggregation("_template").clone()
|
|
466
|
+
}, mBindingInfo));
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
BasePanel.prototype._onSelectionChange = function(oEvent) {
|
|
471
|
+
|
|
472
|
+
var aListItems = oEvent.getParameter("listItems");
|
|
473
|
+
var bSelectAll = oEvent.getParameter("selectAll");
|
|
474
|
+
var bDeSelectAll = !bSelectAll && aListItems.length > 1;
|
|
475
|
+
|
|
476
|
+
aListItems.forEach(function(oTableItem) {
|
|
477
|
+
this._selectTableItem(oTableItem, bSelectAll || bDeSelectAll);
|
|
478
|
+
}, this);
|
|
479
|
+
|
|
480
|
+
if (bSelectAll || bDeSelectAll) {
|
|
481
|
+
this.fireChange();
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// in case of 'deselect all', the move buttons for positioning are going to be disabled
|
|
485
|
+
if (bDeSelectAll) {
|
|
486
|
+
this._getMoveTopButton().setEnabled(false);
|
|
487
|
+
this._getMoveUpButton().setEnabled(false);
|
|
488
|
+
this._getMoveDownButton().setEnabled(false);
|
|
489
|
+
this._getMoveBottomButton().setEnabled(false);
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
BasePanel.prototype._onItemPressed = function(oEvent) {
|
|
494
|
+
var oTableItem = oEvent.getParameter('listItem');
|
|
495
|
+
this._oSelectedItem = oTableItem;
|
|
496
|
+
|
|
497
|
+
var oContext = oTableItem.getBindingContext(this.P13N_MODEL);
|
|
498
|
+
if (this.getEnableReorder() && oContext && oContext.getProperty(this.PRESENCE_ATTRIBUTE)){
|
|
499
|
+
this._handleActivated(oTableItem);
|
|
500
|
+
this._updateEnableOfMoveButtons(oTableItem, true);
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
BasePanel.prototype._onSearchFieldLiveChange = function(oEvent) {
|
|
505
|
+
this._oListControl.getBinding("items").filter(new Filter("label", "Contains", oEvent.getSource().getValue()));
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
BasePanel.prototype._onPressButtonMoveToTop = function() {
|
|
509
|
+
this._moveSelectedItem(0);
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
BasePanel.prototype._onPressButtonMoveUp = function() {
|
|
513
|
+
this._moveSelectedItem("Up");
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
BasePanel.prototype._onPressButtonMoveDown = function() {
|
|
517
|
+
this._moveSelectedItem("Down");
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
BasePanel.prototype._onPressButtonMoveToBottom = function() {
|
|
521
|
+
var iIndex = this._oListControl.getItems().length - 1;
|
|
522
|
+
this._moveSelectedItem(iIndex);
|
|
523
|
+
};
|
|
524
|
+
|
|
525
|
+
BasePanel.prototype._setMoveButtonVisibility = function(bVisible) {
|
|
526
|
+
this._getMoveTopButton().setVisible(bVisible);
|
|
527
|
+
this._getMoveUpButton().setVisible(bVisible);
|
|
528
|
+
this._getMoveDownButton().setVisible(bVisible);
|
|
529
|
+
this._getMoveBottomButton().setVisible(bVisible);
|
|
530
|
+
};
|
|
531
|
+
|
|
532
|
+
BasePanel.prototype._filterBySelected = function(bShowSelected, oList) {
|
|
533
|
+
oList.getBinding("items").filter(bShowSelected ? new Filter(this.PRESENCE_ATTRIBUTE, "EQ", true) : []);
|
|
534
|
+
};
|
|
535
|
+
|
|
536
|
+
BasePanel.prototype._selectTableItem = function(oTableItem, bSelectAll) {
|
|
537
|
+
this._updateEnableOfMoveButtons(oTableItem, bSelectAll ? false : true);
|
|
538
|
+
this._oSelectedItem = oTableItem;
|
|
539
|
+
if (!bSelectAll) {
|
|
540
|
+
var oItem = this._getP13nModel().getProperty(this._oSelectedItem.getBindingContext(this.P13N_MODEL).sPath);
|
|
541
|
+
|
|
542
|
+
this.fireChange({
|
|
543
|
+
reason: oItem[this.PRESENCE_ATTRIBUTE] ? this.CHANGE_REASON_ADD : this.CHANGE_REASON_REMOVE,
|
|
544
|
+
item: oItem
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
BasePanel.prototype._moveSelectedItem = function(vNewIndex) {
|
|
550
|
+
var oSelectedItem = this._oSelectedItem;
|
|
551
|
+
var iSelectedIndex = this._oListControl.indexOfItem(oSelectedItem);
|
|
552
|
+
if (iSelectedIndex < 0) {
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
// determine the new index relative to selected index when "Up" or "Down" is passed as a parameter
|
|
557
|
+
var iNewIndex = (typeof vNewIndex == "number") ? vNewIndex : iSelectedIndex + (vNewIndex == "Up" ? -1 : 1);
|
|
558
|
+
this._moveTableItem(oSelectedItem, iNewIndex);
|
|
559
|
+
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
BasePanel.prototype._getModelEntry = function(oItem) {
|
|
563
|
+
return oItem.getBindingContext(this.P13N_MODEL).getObject();
|
|
564
|
+
};
|
|
565
|
+
|
|
566
|
+
BasePanel.prototype._moveTableItem = function(oItem, iNewIndex) {
|
|
567
|
+
var aItems = this._oListControl.getItems();
|
|
568
|
+
var aFields = this._getP13nModel().getProperty("/items");
|
|
569
|
+
|
|
570
|
+
// index of the item in the model not the index in the aggregation
|
|
571
|
+
var iOldIndex = aFields.indexOf(this._getModelEntry(oItem));
|
|
572
|
+
|
|
573
|
+
// limit the minumum and maximum index
|
|
574
|
+
iNewIndex = (iNewIndex <= 0) ? 0 : Math.min(iNewIndex, aItems.length - 1);
|
|
575
|
+
|
|
576
|
+
// new index of the item in the model
|
|
577
|
+
iNewIndex = aFields.indexOf(this._getModelEntry(aItems[iNewIndex]));
|
|
578
|
+
if (iNewIndex == iOldIndex) {
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// remove data from old position and insert it into new position
|
|
583
|
+
aFields.splice(iNewIndex, 0, aFields.splice(iOldIndex, 1)[0]);
|
|
584
|
+
this._getP13nModel().setProperty("/items", aFields);
|
|
585
|
+
|
|
586
|
+
// store the moved item again due to binding
|
|
587
|
+
this._oSelectedItem = this._oListControl.getItems()[iNewIndex];
|
|
588
|
+
|
|
589
|
+
this._updateEnableOfMoveButtons(this._oSelectedItem, true);
|
|
590
|
+
|
|
591
|
+
this._handleActivated(this._oSelectedItem);
|
|
592
|
+
|
|
593
|
+
this.fireChange({
|
|
594
|
+
reason: this.CHANGE_REASON_MOVE,
|
|
595
|
+
item: undefined
|
|
596
|
+
});
|
|
597
|
+
};
|
|
598
|
+
|
|
599
|
+
BasePanel.prototype._onRearrange = function(oEvent) {
|
|
600
|
+
var oDraggedItem = oEvent.getParameter("draggedControl");
|
|
601
|
+
var oDroppedItem = oEvent.getParameter("droppedControl");
|
|
602
|
+
var sDropPosition = oEvent.getParameter("dropPosition");
|
|
603
|
+
var iDraggedIndex = this._oListControl.indexOfItem(oDraggedItem);
|
|
604
|
+
var iDroppedIndex = this._oListControl.indexOfItem(oDroppedItem);
|
|
605
|
+
var iActualDroppedIndex = iDroppedIndex + (sDropPosition == "Before" ? 0 : 1) + (iDraggedIndex < iDroppedIndex ? -1 : 0);
|
|
606
|
+
|
|
607
|
+
this._moveTableItem(oDraggedItem, iActualDroppedIndex);
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
BasePanel.prototype._updateEnableOfMoveButtons = function(oTableItem, bFocus) {
|
|
611
|
+
var iTableItemPos = this._oListControl.getItems().indexOf(oTableItem);
|
|
612
|
+
var bUpEnabled = true, bDownEnabled = true;
|
|
613
|
+
if (iTableItemPos == 0) {
|
|
614
|
+
// disable move buttons upwards, if the item is at the top
|
|
615
|
+
bUpEnabled = false;
|
|
616
|
+
}
|
|
617
|
+
if (iTableItemPos == this._oListControl.getItems().length - 1) {
|
|
618
|
+
// disable move buttons downwards, if the item is at the bottom
|
|
619
|
+
bDownEnabled = false;
|
|
620
|
+
}
|
|
621
|
+
this._getMoveTopButton().setEnabled(bUpEnabled);
|
|
622
|
+
this._getMoveUpButton().setEnabled(bUpEnabled);
|
|
623
|
+
this._getMoveDownButton().setEnabled(bDownEnabled);
|
|
624
|
+
this._getMoveBottomButton().setEnabled(bDownEnabled);
|
|
625
|
+
if (bFocus) {
|
|
626
|
+
oTableItem.focus();
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
|
|
630
|
+
BasePanel.prototype.exit = function() {
|
|
631
|
+
Control.prototype.exit.apply(this, arguments);
|
|
632
|
+
this._oSelectionBindingInfo = null;
|
|
633
|
+
this._oSelectedItem = null;
|
|
634
|
+
this._oListControl = null;
|
|
635
|
+
this._oMoveTopBtn = null;
|
|
636
|
+
this._oMoveUpButton = null;
|
|
637
|
+
this._oMoveDownButton = null;
|
|
638
|
+
this._oMoveBottomButton = null;
|
|
639
|
+
this._oSearchField = null;
|
|
640
|
+
};
|
|
641
|
+
|
|
642
|
+
return BasePanel;
|
|
643
|
+
});
|