@ui5/webcomponents 1.0.0-rc.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +550 -1
- package/README.md +144 -52
- package/csp.js +7 -0
- package/customI18n.js +50 -0
- package/dist/Assets-static.js +6 -0
- package/dist/Assets.js +2 -1
- package/dist/Avatar.js +190 -50
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +45 -19
- package/dist/Breadcrumbs.js +573 -0
- package/dist/BreadcrumbsItem.js +103 -0
- package/dist/BusyIndicator.js +121 -34
- package/dist/Button.js +110 -66
- package/dist/Calendar.js +324 -622
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +113 -59
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +38 -198
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +255 -96
- package/dist/CheckBox.js +140 -51
- package/dist/ColorPalette.js +493 -0
- package/dist/ColorPaletteItem.js +137 -0
- package/dist/ColorPalettePopover.js +219 -0
- package/dist/ColorPicker.js +524 -0
- package/dist/ComboBox.js +356 -147
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +11 -24
- package/dist/CustomListItem.js +36 -2
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +265 -494
- package/dist/DateRangePicker.js +189 -305
- package/dist/DateTimePicker.js +96 -414
- package/dist/DayPicker.js +450 -647
- package/dist/Dialog.js +369 -43
- package/dist/DurationPicker.js +110 -512
- package/dist/FileUploader.js +74 -35
- package/dist/GroupHeaderListItem.js +22 -13
- package/dist/Icon.js +128 -43
- package/dist/Input.js +349 -158
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +122 -29
- package/dist/List.js +377 -104
- package/dist/ListItem.js +62 -15
- package/dist/ListItemBase.js +29 -2
- package/dist/MessageStrip.js +48 -47
- package/dist/MonthPicker.js +173 -227
- package/dist/MultiComboBox.js +384 -148
- package/dist/MultiComboBoxItem.js +7 -2
- package/dist/MultiInput.js +55 -24
- package/dist/Option.js +48 -5
- package/dist/Panel.js +64 -74
- package/dist/Popover.js +195 -80
- package/dist/Popup.js +158 -64
- package/dist/ProgressIndicator.js +28 -20
- package/dist/RadioButton.js +126 -43
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +769 -0
- package/dist/RatingIndicator.js +27 -37
- package/dist/ResponsivePopover.js +57 -43
- package/dist/SegmentedButton.js +102 -68
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +278 -119
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +35 -9
- package/dist/StepInput.js +684 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +13 -26
- package/dist/SuggestionListItem.js +17 -6
- package/dist/Switch.js +55 -34
- package/dist/Tab.js +47 -26
- package/dist/TabContainer.js +98 -38
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +474 -22
- package/dist/TableCell.js +11 -9
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +210 -11
- package/dist/TextArea.js +86 -46
- package/dist/TimePicker.js +28 -743
- package/dist/TimePickerBase.js +463 -0
- package/dist/TimeSelection.js +493 -0
- package/dist/Title.js +16 -9
- package/dist/Toast.js +19 -8
- package/dist/ToggleButton.js +21 -8
- package/dist/Token.js +34 -18
- package/dist/Tokenizer.js +75 -42
- package/dist/Tree.js +97 -41
- package/dist/TreeItem.js +44 -9
- package/dist/TreeListItem.js +88 -4
- package/dist/WheelSlider.js +60 -60
- package/dist/YearPicker.js +188 -284
- package/dist/api.json +6871 -1
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +0 -1
- package/dist/features/InputSuggestions.js +137 -45
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/json-imports/Themes-static.js +35 -0
- package/dist/generated/json-imports/Themes.js +23 -19
- package/dist/generated/json-imports/i18n-static.js +162 -0
- package/dist/generated/json-imports/i18n.js +113 -89
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -17
- package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
- package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
- package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
- package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
- package/dist/generated/templates/DialogTemplate.lit.js +9 -14
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
- package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
- package/dist/generated/templates/IconTemplate.lit.js +6 -13
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
- package/dist/generated/templates/InputTemplate.lit.js +9 -15
- package/dist/generated/templates/LabelTemplate.lit.js +4 -11
- package/dist/generated/templates/LinkTemplate.lit.js +5 -12
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
- package/dist/generated/templates/ListTemplate.lit.js +12 -16
- package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
- package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
- package/dist/generated/templates/PanelTemplate.lit.js +9 -14
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
- package/dist/generated/templates/PopupTemplate.lit.js +4 -11
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
- package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
- package/dist/generated/templates/SelectTemplate.lit.js +6 -12
- package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
- package/dist/generated/templates/SliderTemplate.lit.js +12 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -27
- package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -29
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
- package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
- package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
- package/dist/generated/templates/TabTemplate.lit.js +4 -11
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
- package/dist/generated/templates/TableTemplate.lit.js +13 -15
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -17
- package/dist/generated/templates/ToastTemplate.lit.js +5 -11
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
- package/dist/generated/templates/TokenTemplate.lit.js +7 -14
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
- package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
- package/dist/generated/templates/TreeTemplate.lit.js +5 -12
- package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
- package/dist/generated/themes/Avatar.css.js +5 -5
- package/dist/generated/themes/AvatarGroup.css.js +8 -0
- package/dist/generated/themes/Badge.css.js +5 -5
- package/dist/generated/themes/Breadcrumbs.css.js +8 -0
- package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
- package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js +5 -5
- package/dist/generated/themes/Button.css.js +5 -5
- package/dist/generated/themes/Button.ie11.css.js +8 -0
- package/dist/generated/themes/Calendar.css.js +5 -5
- package/dist/generated/themes/CalendarHeader.css.js +5 -5
- package/dist/generated/themes/Card.css.js +5 -5
- package/dist/generated/themes/CardHeader.css.js +8 -0
- package/dist/generated/themes/Carousel.css.js +5 -5
- package/dist/generated/themes/CheckBox.css.js +5 -5
- package/dist/generated/themes/ColorPalette.css.js +8 -0
- package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
- package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
- package/dist/generated/themes/ColorPicker.css.js +8 -0
- package/dist/generated/themes/ComboBox.css.js +5 -5
- package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
- package/dist/generated/themes/CustomListItem.css.js +5 -5
- package/dist/generated/themes/DatePicker.css.js +5 -5
- package/dist/generated/themes/DatePickerPopover.css.js +5 -5
- package/dist/generated/themes/DateRangePicker.css.js +5 -5
- package/dist/generated/themes/DateTimePicker.css.js +5 -5
- package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
- package/dist/generated/themes/DayPicker.css.js +5 -5
- package/dist/generated/themes/Dialog.css.js +5 -5
- package/dist/generated/themes/FileUploader.css.js +5 -5
- package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +5 -5
- package/dist/generated/themes/Input.css.js +5 -5
- package/dist/generated/themes/InputIcon.css.js +5 -5
- package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
- package/dist/generated/themes/Label.css.js +5 -5
- package/dist/generated/themes/Link.css.js +5 -5
- package/dist/generated/themes/List.css.js +5 -5
- package/dist/generated/themes/ListItem.css.js +5 -5
- package/dist/generated/themes/ListItemBase.css.js +5 -5
- package/dist/generated/themes/MessageStrip.css.js +5 -5
- package/dist/generated/themes/MonthPicker.css.js +5 -5
- package/dist/generated/themes/MultiComboBox.css.js +5 -5
- package/dist/generated/themes/MultiInput.css.js +5 -5
- package/dist/generated/themes/Panel.css.js +5 -5
- package/dist/generated/themes/Popover.css.js +5 -5
- package/dist/generated/themes/Popup.css.js +5 -5
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
- package/dist/generated/themes/PopupsCommon.css.js +5 -5
- package/dist/generated/themes/ProgressIndicator.css.js +5 -5
- package/dist/generated/themes/RadioButton.css.js +5 -5
- package/dist/generated/themes/RatingIndicator.css.js +5 -5
- package/dist/generated/themes/ResponsivePopover.css.js +5 -5
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
- package/dist/generated/themes/SegmentedButton.css.js +5 -5
- package/dist/generated/themes/Select.css.js +5 -5
- package/dist/generated/themes/SelectPopover.css.js +5 -5
- package/dist/generated/themes/SliderBase.css.js +8 -0
- package/dist/generated/themes/StepInput.css.js +8 -0
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +5 -5
- package/dist/generated/themes/Tab.css.js +5 -5
- package/dist/generated/themes/TabContainer.css.js +5 -5
- package/dist/generated/themes/TabInOverflow.css.js +5 -5
- package/dist/generated/themes/TabInStrip.css.js +5 -5
- package/dist/generated/themes/Table.css.js +5 -5
- package/dist/generated/themes/TableCell.css.js +5 -5
- package/dist/generated/themes/TableColumn.css.js +5 -5
- package/dist/generated/themes/TableGroupRow.css.js +8 -0
- package/dist/generated/themes/TableRow.css.js +5 -5
- package/dist/generated/themes/TapHighlightColor.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js +5 -5
- package/dist/generated/themes/TimePicker.css.js +5 -5
- package/dist/generated/themes/TimePickerPopover.css.js +5 -5
- package/dist/generated/themes/TimeSelection.css.js +8 -0
- package/dist/generated/themes/Title.css.js +5 -5
- package/dist/generated/themes/Toast.css.js +5 -5
- package/dist/generated/themes/ToggleButton.css.js +5 -5
- package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
- package/dist/generated/themes/Token.css.js +5 -5
- package/dist/generated/themes/Tokenizer.css.js +5 -5
- package/dist/generated/themes/Tree.css.js +5 -5
- package/dist/generated/themes/TreeListItem.css.js +5 -5
- package/dist/generated/themes/ValueStateMessage.css.js +5 -5
- package/dist/generated/themes/WheelSlider.css.js +5 -5
- package/dist/generated/themes/YearPicker.css.js +5 -5
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
- package/dist/i18n/messagebundle.properties +335 -0
- package/dist/i18n/messagebundle_ar.properties +224 -0
- package/dist/i18n/messagebundle_bg.properties +224 -0
- package/dist/i18n/messagebundle_ca.properties +224 -0
- package/dist/i18n/messagebundle_cs.properties +224 -0
- package/dist/i18n/messagebundle_cy.properties +224 -0
- package/dist/i18n/messagebundle_da.properties +224 -0
- package/dist/i18n/messagebundle_de.properties +224 -0
- package/dist/i18n/messagebundle_el.properties +224 -0
- package/dist/i18n/messagebundle_en.properties +224 -0
- package/dist/i18n/messagebundle_en_GB.properties +224 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/dist/i18n/messagebundle_es.properties +224 -0
- package/dist/i18n/messagebundle_es_MX.properties +224 -0
- package/dist/i18n/messagebundle_et.properties +224 -0
- package/dist/i18n/messagebundle_fi.properties +224 -0
- package/dist/i18n/messagebundle_fr.properties +224 -0
- package/dist/i18n/messagebundle_fr_CA.properties +224 -0
- package/dist/i18n/messagebundle_hi.properties +224 -0
- package/dist/i18n/messagebundle_hr.properties +224 -0
- package/dist/i18n/messagebundle_hu.properties +224 -0
- package/dist/i18n/messagebundle_id.properties +224 -0
- package/dist/i18n/messagebundle_in.properties +172 -0
- package/dist/i18n/messagebundle_it.properties +224 -0
- package/dist/i18n/messagebundle_iw.properties +224 -0
- package/dist/i18n/messagebundle_ja.properties +224 -0
- package/dist/i18n/messagebundle_kk.properties +224 -0
- package/dist/i18n/messagebundle_ko.properties +224 -0
- package/dist/i18n/messagebundle_lt.properties +224 -0
- package/dist/i18n/messagebundle_lv.properties +224 -0
- package/dist/i18n/messagebundle_ms.properties +224 -0
- package/dist/i18n/messagebundle_nl.properties +224 -0
- package/dist/i18n/messagebundle_no.properties +224 -0
- package/dist/i18n/messagebundle_pl.properties +224 -0
- package/dist/i18n/messagebundle_pt.properties +224 -0
- package/dist/i18n/messagebundle_pt_PT.properties +224 -0
- package/dist/i18n/messagebundle_ro.properties +224 -0
- package/dist/i18n/messagebundle_ru.properties +224 -0
- package/dist/i18n/messagebundle_sh.properties +224 -0
- package/dist/i18n/messagebundle_sk.properties +224 -0
- package/dist/i18n/messagebundle_sl.properties +224 -0
- package/dist/i18n/messagebundle_sv.properties +224 -0
- package/dist/i18n/messagebundle_th.properties +224 -0
- package/dist/i18n/messagebundle_tr.properties +224 -0
- package/dist/i18n/messagebundle_uk.properties +224 -0
- package/dist/i18n/messagebundle_vi.properties +224 -0
- package/dist/i18n/messagebundle_zh_CN.properties +224 -0
- package/dist/i18n/messagebundle_zh_TW.properties +224 -0
- package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
- package/dist/popup-utils/PopoverRegistry.js +2 -4
- package/dist/timepicker-utils/TimeSlider.js +15 -13
- package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +3 -3
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +15 -0
- package/dist/types/ListItemType.js +1 -1
- package/dist/types/ListMode.js +1 -1
- package/dist/types/ListSeparators.js +1 -1
- package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/dist/types/PanelAccessibleRole.js +1 -1
- package/dist/types/PopoverHorizontalAlign.js +1 -1
- package/dist/types/PopoverPlacementType.js +2 -2
- package/dist/types/PopoverVerticalAlign.js +1 -2
- package/dist/types/Priority.js +1 -1
- package/dist/types/SemanticColor.js +1 -1
- package/dist/types/SwitchDesign.js +40 -0
- package/dist/types/TabContainerTabsPlacement.js +5 -5
- package/dist/types/TabLayout.js +1 -1
- package/dist/types/TableGrowingMode.js +15 -0
- package/dist/types/TableMode.js +47 -0
- package/dist/types/TableRowType.js +40 -0
- package/dist/types/TitleLevel.js +1 -1
- package/dist/types/ToastPlacement.js +1 -2
- package/dist/types/WrappingType.js +41 -0
- package/dist/webcomponentsjs/CHANGELOG.md +61 -0
- package/dist/webcomponentsjs/README.md +64 -47
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
- package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
- package/package-scripts.js +1 -0
- package/package.json +18 -7
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +2 -1
- package/src/Avatar.hbs +14 -3
- package/src/Avatar.js +190 -50
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +7 -4
- package/src/Badge.js +45 -19
- package/src/Breadcrumbs.hbs +42 -0
- package/src/Breadcrumbs.js +573 -0
- package/src/BreadcrumbsItem.js +103 -0
- package/src/BreadcrumbsPopover.hbs +28 -0
- package/src/BusyIndicator.hbs +28 -14
- package/src/BusyIndicator.js +121 -34
- package/src/Button.hbs +5 -3
- package/src/Button.js +110 -66
- package/src/Calendar.hbs +53 -47
- package/src/Calendar.js +324 -622
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +29 -35
- package/src/CalendarHeader.js +113 -59
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +7 -39
- package/src/Card.js +38 -198
- package/src/CardHeader.hbs +35 -0
- package/src/CardHeader.js +288 -0
- package/src/Carousel.hbs +23 -16
- package/src/Carousel.js +255 -96
- package/src/CheckBox.hbs +18 -7
- package/src/CheckBox.js +140 -51
- package/src/ColorPalette.hbs +52 -0
- package/src/ColorPalette.js +493 -0
- package/src/ColorPaletteDialog.hbs +18 -0
- package/src/ColorPaletteItem.hbs +11 -0
- package/src/ColorPaletteItem.js +137 -0
- package/src/ColorPalettePopover.hbs +29 -0
- package/src/ColorPalettePopover.js +219 -0
- package/src/ColorPicker.hbs +98 -0
- package/src/ColorPicker.js +524 -0
- package/src/ComboBox.hbs +7 -2
- package/src/ComboBox.js +356 -147
- package/src/ComboBoxFilters.js +8 -1
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +11 -24
- package/src/ComboBoxPopover.hbs +26 -16
- package/src/CustomListItem.js +36 -2
- package/src/DateComponentBase.js +170 -0
- package/src/DatePicker.hbs +5 -3
- package/src/DatePicker.js +265 -494
- package/src/DatePickerPopover.hbs +22 -17
- package/src/DateRangePicker.js +189 -305
- package/src/DateTimePicker.js +96 -414
- package/src/DateTimePickerPopover.hbs +28 -52
- package/src/DayPicker.hbs +18 -12
- package/src/DayPicker.js +450 -647
- package/src/Dialog.hbs +22 -10
- package/src/Dialog.js +369 -43
- package/src/DurationPicker.js +110 -512
- package/src/FileUploader.hbs +3 -0
- package/src/FileUploader.js +74 -35
- package/src/FileUploaderPopover.hbs +2 -1
- package/src/GroupHeaderListItem.hbs +4 -4
- package/src/GroupHeaderListItem.js +22 -13
- package/src/Icon.hbs +5 -4
- package/src/Icon.js +128 -43
- package/src/Input.hbs +17 -6
- package/src/Input.js +349 -158
- package/src/InputPopover.hbs +11 -7
- package/src/Interfaces.js +192 -0
- package/src/Label.hbs +1 -1
- package/src/Label.js +27 -12
- package/src/Link.hbs +4 -2
- package/src/Link.js +122 -29
- package/src/List.hbs +76 -37
- package/src/List.js +377 -104
- package/src/ListItem.hbs +20 -7
- package/src/ListItem.js +62 -15
- package/src/ListItemBase.js +29 -2
- package/src/MessageStrip.hbs +16 -13
- package/src/MessageStrip.js +48 -47
- package/src/MonthPicker.hbs +6 -6
- package/src/MonthPicker.js +173 -227
- package/src/MultiComboBox.hbs +13 -8
- package/src/MultiComboBox.js +384 -148
- package/src/MultiComboBoxItem.js +7 -2
- package/src/MultiComboBoxPopover.hbs +42 -18
- package/src/MultiInput.hbs +2 -1
- package/src/MultiInput.js +55 -24
- package/src/Option.js +48 -5
- package/src/Panel.hbs +23 -16
- package/src/Panel.js +64 -74
- package/src/Popover.js +195 -80
- package/src/Popup.hbs +5 -0
- package/src/Popup.js +158 -64
- package/src/ProgressIndicator.hbs +7 -1
- package/src/ProgressIndicator.js +28 -20
- package/src/RadioButton.hbs +7 -4
- package/src/RadioButton.js +126 -43
- package/src/RadioButtonGroup.js +53 -29
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +769 -0
- package/src/RatingIndicator.hbs +5 -3
- package/src/RatingIndicator.js +27 -37
- package/src/ResponsivePopover.hbs +13 -8
- package/src/ResponsivePopover.js +57 -43
- package/src/SegmentedButton.hbs +12 -5
- package/src/SegmentedButton.js +102 -68
- package/src/SegmentedButtonItem.hbs +42 -0
- package/src/SegmentedButtonItem.js +109 -0
- package/src/Select.hbs +26 -17
- package/src/Select.js +278 -119
- package/src/SelectPopover.hbs +27 -24
- package/src/Slider.hbs +42 -0
- package/src/Slider.js +320 -0
- package/src/SliderBase.hbs +38 -0
- package/src/SliderBase.js +842 -0
- package/src/StandardListItem.hbs +17 -9
- package/src/StandardListItem.js +35 -9
- package/src/StepInput.hbs +80 -0
- package/src/StepInput.js +684 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +13 -26
- package/src/SuggestionListItem.hbs +18 -10
- package/src/SuggestionListItem.js +17 -6
- package/src/Switch.hbs +19 -3
- package/src/Switch.js +55 -34
- package/src/Tab.js +47 -26
- package/src/TabContainer.hbs +43 -26
- package/src/TabContainer.js +98 -38
- package/src/TabContainerPopover.hbs +2 -1
- package/src/TabInStrip.hbs +1 -6
- package/src/TabSeparator.hbs +1 -1
- package/src/TabSeparator.js +1 -0
- package/src/Table.hbs +95 -25
- package/src/Table.js +474 -22
- package/src/TableCell.hbs +1 -0
- package/src/TableCell.js +11 -9
- package/src/TableColumn.hbs +2 -0
- package/src/TableColumn.js +13 -3
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +160 -0
- package/src/TableRow.hbs +29 -2
- package/src/TableRow.js +210 -11
- package/src/TextArea.hbs +1 -3
- package/src/TextArea.js +86 -46
- package/src/TextAreaPopover.hbs +2 -1
- package/src/TimePicker.hbs +6 -3
- package/src/TimePicker.js +28 -743
- package/src/TimePickerBase.js +463 -0
- package/src/TimePickerPopover.hbs +28 -52
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +493 -0
- package/src/Title.js +16 -9
- package/src/Toast.hbs +13 -11
- package/src/Toast.js +19 -8
- package/src/ToggleButton.js +21 -8
- package/src/Token.hbs +2 -0
- package/src/Token.js +34 -18
- package/src/Tokenizer.hbs +1 -0
- package/src/Tokenizer.js +75 -42
- package/src/TokenizerPopover.hbs +1 -1
- package/src/Tree.hbs +10 -2
- package/src/Tree.js +97 -41
- package/src/TreeItem.js +44 -9
- package/src/TreeListItem.hbs +15 -4
- package/src/TreeListItem.js +88 -4
- package/src/WheelSlider.hbs +17 -10
- package/src/WheelSlider.js +60 -60
- package/src/YearPicker.hbs +9 -7
- package/src/YearPicker.js +188 -284
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +0 -1
- package/src/features/InputSuggestions.js +137 -45
- package/src/i18n/messagebundle.properties +144 -189
- package/src/i18n/messagebundle_ar.properties +99 -115
- package/src/i18n/messagebundle_bg.properties +99 -115
- package/src/i18n/messagebundle_ca.properties +99 -115
- package/src/i18n/messagebundle_cs.properties +99 -115
- package/src/i18n/messagebundle_cy.properties +224 -0
- package/src/i18n/messagebundle_da.properties +99 -115
- package/src/i18n/messagebundle_de.properties +99 -115
- package/src/i18n/messagebundle_el.properties +99 -115
- package/src/i18n/messagebundle_en.properties +99 -115
- package/src/i18n/messagebundle_en_GB.properties +224 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
- package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
- package/src/i18n/messagebundle_es.properties +99 -115
- package/src/i18n/messagebundle_es_MX.properties +224 -0
- package/src/i18n/messagebundle_et.properties +99 -115
- package/src/i18n/messagebundle_fi.properties +99 -115
- package/src/i18n/messagebundle_fr.properties +99 -115
- package/src/i18n/messagebundle_fr_CA.properties +224 -0
- package/src/i18n/messagebundle_hi.properties +99 -115
- package/src/i18n/messagebundle_hr.properties +99 -115
- package/src/i18n/messagebundle_hu.properties +99 -115
- package/src/i18n/messagebundle_id.properties +224 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +99 -115
- package/src/i18n/messagebundle_iw.properties +99 -115
- package/src/i18n/messagebundle_ja.properties +100 -116
- package/src/i18n/messagebundle_kk.properties +99 -115
- package/src/i18n/messagebundle_ko.properties +99 -115
- package/src/i18n/messagebundle_lt.properties +99 -115
- package/src/i18n/messagebundle_lv.properties +99 -115
- package/src/i18n/messagebundle_ms.properties +99 -115
- package/src/i18n/messagebundle_nl.properties +99 -115
- package/src/i18n/messagebundle_no.properties +99 -115
- package/src/i18n/messagebundle_pl.properties +99 -115
- package/src/i18n/messagebundle_pt.properties +99 -115
- package/src/i18n/messagebundle_pt_PT.properties +224 -0
- package/src/i18n/messagebundle_ro.properties +98 -114
- package/src/i18n/messagebundle_ru.properties +99 -115
- package/src/i18n/messagebundle_sh.properties +99 -115
- package/src/i18n/messagebundle_sk.properties +99 -115
- package/src/i18n/messagebundle_sl.properties +99 -115
- package/src/i18n/messagebundle_sv.properties +99 -115
- package/src/i18n/messagebundle_th.properties +99 -115
- package/src/i18n/messagebundle_tr.properties +99 -115
- package/src/i18n/messagebundle_uk.properties +101 -117
- package/src/i18n/messagebundle_vi.properties +99 -115
- package/src/i18n/messagebundle_zh_CN.properties +99 -115
- package/src/i18n/messagebundle_zh_TW.properties +99 -115
- package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
- package/src/popup-utils/PopoverRegistry.js +2 -4
- package/src/timepicker-utils/TimeSlider.js +15 -13
- package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +1 -1
- package/src/types/AvatarSize.js +1 -1
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +1 -1
- package/src/types/ButtonDesign.js +8 -1
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +3 -3
- package/src/types/GrowingMode.js +48 -0
- package/src/types/InputType.js +7 -7
- package/src/types/LinkDesign.js +1 -1
- package/src/types/ListGrowingMode.js +15 -0
- package/src/types/ListItemType.js +1 -1
- package/src/types/ListMode.js +1 -1
- package/src/types/ListSeparators.js +1 -1
- package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/src/types/PanelAccessibleRole.js +1 -1
- package/src/types/PopoverHorizontalAlign.js +1 -1
- package/src/types/PopoverPlacementType.js +2 -2
- package/src/types/PopoverVerticalAlign.js +1 -2
- package/src/types/Priority.js +1 -1
- package/src/types/SemanticColor.js +1 -1
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +5 -5
- package/src/types/TabLayout.js +1 -1
- package/src/types/TableGrowingMode.js +15 -0
- package/src/types/TableMode.js +47 -0
- package/src/types/TableRowType.js +40 -0
- package/src/types/TitleLevel.js +1 -1
- package/src/types/ToastPlacement.js +1 -2
- package/src/types/WrappingType.js +41 -0
- package/dist/Timeline.js +0 -99
- package/dist/TimelineItem.js +0 -156
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
- package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
- package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
- package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
- package/dist/generated/themes/ComboBoxItem.css.js +0 -8
- package/dist/generated/themes/DurationPicker.css.js +0 -8
- package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
- package/dist/generated/themes/Timeline.css.js +0 -8
- package/dist/generated/themes/TimelineItem.css.js +0 -8
- package/dist/popup-utils/PopupUtils.js +0 -84
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/src/ComboBoxItem.hbs +0 -0
- package/src/DateRangePicker.hbs +0 -1
- package/src/DurationPicker.hbs +0 -29
- package/src/DurationPickerPopover.hbs +0 -48
- package/src/Timeline.hbs +0 -9
- package/src/Timeline.js +0 -99
- package/src/TimelineItem.hbs +0 -39
- package/src/TimelineItem.js +0 -156
- package/src/popup-utils/PopupUtils.js +0 -84
- package/src/types/AvatarFitType.js +0 -40
package/dist/Table.js
CHANGED
|
@@ -2,12 +2,34 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
2
2
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
3
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
4
4
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
5
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
5
6
|
import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
|
|
7
|
+
import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
|
|
8
|
+
import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
9
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
10
|
+
import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
|
|
11
|
+
import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
|
|
12
|
+
import TableGrowingMode from "./types/TableGrowingMode.js";
|
|
13
|
+
import BusyIndicator from "./BusyIndicator.js";
|
|
14
|
+
import TableMode from "./types/TableMode.js";
|
|
15
|
+
import CheckBox from "./CheckBox.js"; // Ensure the dependency as it is being used in the renderer
|
|
16
|
+
|
|
17
|
+
// Texts
|
|
18
|
+
import {
|
|
19
|
+
LOAD_MORE_TEXT,
|
|
20
|
+
ARIA_LABEL_SELECT_ALL_CHECKBOX,
|
|
21
|
+
TABLE_HEADER_ROW_TEXT,
|
|
22
|
+
TABLE_ROW_POSITION,
|
|
23
|
+
} from "./generated/i18n/i18n-defaults.js";
|
|
24
|
+
|
|
25
|
+
// Template
|
|
6
26
|
import TableTemplate from "./generated/templates/TableTemplate.lit.js";
|
|
7
27
|
|
|
8
28
|
// Styles
|
|
9
29
|
import styles from "./generated/themes/Table.css.js";
|
|
10
30
|
|
|
31
|
+
const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
|
|
32
|
+
|
|
11
33
|
/**
|
|
12
34
|
* @public
|
|
13
35
|
*/
|
|
@@ -17,12 +39,12 @@ const metadata = {
|
|
|
17
39
|
slots: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
|
|
18
40
|
|
|
19
41
|
/**
|
|
20
|
-
* Defines the
|
|
42
|
+
* Defines the component rows.
|
|
21
43
|
* <br><br>
|
|
22
44
|
* <b>Note:</b> Use <code>ui5-table-row</code> for the intended design.
|
|
23
45
|
*
|
|
24
|
-
* @type {
|
|
25
|
-
* @slot
|
|
46
|
+
* @type {sap.ui.webcomponents.main.ITableRow[]}
|
|
47
|
+
* @slot rows
|
|
26
48
|
* @public
|
|
27
49
|
*/
|
|
28
50
|
"default": {
|
|
@@ -32,24 +54,27 @@ const metadata = {
|
|
|
32
54
|
},
|
|
33
55
|
|
|
34
56
|
/**
|
|
35
|
-
* Defines the configuration for the columns of the
|
|
57
|
+
* Defines the configuration for the columns of the component.
|
|
36
58
|
* <br><br>
|
|
37
59
|
* <b>Note:</b> Use <code>ui5-table-column</code> for the intended design.
|
|
38
60
|
*
|
|
39
|
-
* @type {
|
|
61
|
+
* @type {sap.ui.webcomponents.main.ITableColumn[]}
|
|
40
62
|
* @slot
|
|
41
63
|
* @public
|
|
42
64
|
*/
|
|
43
65
|
columns: {
|
|
44
66
|
type: HTMLElement,
|
|
45
67
|
individualSlots: true,
|
|
46
|
-
|
|
68
|
+
invalidateOnChildChange: {
|
|
69
|
+
properties: true,
|
|
70
|
+
slots: false,
|
|
71
|
+
},
|
|
47
72
|
},
|
|
48
73
|
},
|
|
49
74
|
properties: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
|
|
50
75
|
|
|
51
76
|
/**
|
|
52
|
-
* Defines the text that will be displayed when there is no data and <code>
|
|
77
|
+
* Defines the text that will be displayed when there is no data and <code>hideNoData</code> is not present.
|
|
53
78
|
*
|
|
54
79
|
* @type {string}
|
|
55
80
|
* @defaultvalue ""
|
|
@@ -59,16 +84,104 @@ const metadata = {
|
|
|
59
84
|
type: String,
|
|
60
85
|
},
|
|
61
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Defines the text that will be displayed inside the growing button at the bottom of the table,
|
|
89
|
+
* meant for loading more rows upon press.
|
|
90
|
+
*
|
|
91
|
+
* <br><br>
|
|
92
|
+
* <b>Note:</b> If not specified a built-in text will be displayed.
|
|
93
|
+
* <br>
|
|
94
|
+
* <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
|
|
95
|
+
*
|
|
96
|
+
* @type {string}
|
|
97
|
+
* @defaultvalue ""
|
|
98
|
+
* @since 1.0.0-rc.15
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
growingButtonText: {
|
|
102
|
+
type: String,
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Defines the subtext that will be displayed under the <code>growingButtonText</code>.
|
|
107
|
+
*
|
|
108
|
+
* <br><br>
|
|
109
|
+
* <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
|
|
110
|
+
*
|
|
111
|
+
* @type {string}
|
|
112
|
+
* @defaultvalue ""
|
|
113
|
+
* @since 1.0.0-rc.15
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
growingButtonSubtext: {
|
|
117
|
+
type: String,
|
|
118
|
+
},
|
|
119
|
+
|
|
62
120
|
/**
|
|
63
121
|
* Defines if the value of <code>noDataText</code> will be diplayed when there is no rows present in the table.
|
|
64
122
|
*
|
|
65
123
|
* @type {boolean}
|
|
66
124
|
* @defaultvalue false
|
|
67
125
|
* @public
|
|
126
|
+
* @since 1.0.0-rc.15
|
|
68
127
|
*/
|
|
69
|
-
|
|
128
|
+
hideNoData: {
|
|
70
129
|
type: Boolean,
|
|
71
130
|
},
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Defines whether the table will have growing capability either by pressing a <code>More</code> button,
|
|
134
|
+
* or via user scroll. In both cases <code>load-more</code> event is fired.
|
|
135
|
+
* <br><br>
|
|
136
|
+
*
|
|
137
|
+
* Available options:
|
|
138
|
+
* <br><br>
|
|
139
|
+
* <code>Button</code> - Shows a <code>More</code> button at the bottom of the table, pressing of which triggers the <code>load-more</code> event.
|
|
140
|
+
* <br>
|
|
141
|
+
* <code>Scroll</code> - The <code>load-more</code> event is triggered when the user scrolls to the bottom of the table;
|
|
142
|
+
* <br>
|
|
143
|
+
* <code>None</code> (default) - The growing is off.
|
|
144
|
+
* <br><br>
|
|
145
|
+
*
|
|
146
|
+
* <b>Limitations:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
|
|
147
|
+
* and the component will fallback to <code>growing="Button"</code>.
|
|
148
|
+
* @type {TableGrowingMode}
|
|
149
|
+
* @defaultvalue "None"
|
|
150
|
+
* @since 1.0.0-rc.12
|
|
151
|
+
* @public
|
|
152
|
+
*/
|
|
153
|
+
growing: {
|
|
154
|
+
type: TableGrowingMode,
|
|
155
|
+
defaultValue: TableGrowingMode.None,
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Defines if the table is in busy state.
|
|
160
|
+
* <b>
|
|
161
|
+
*
|
|
162
|
+
* In this state the component's opacity is reduced
|
|
163
|
+
* and busy indicator is displayed at the bottom of the table.
|
|
164
|
+
* @type {boolean}
|
|
165
|
+
* @defaultvalue false
|
|
166
|
+
* @since 1.0.0-rc.12
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
169
|
+
busy: {
|
|
170
|
+
type: Boolean,
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Defines the delay in milliseconds, after which the busy indicator will show up for this component.
|
|
175
|
+
*
|
|
176
|
+
* @type {Integer}
|
|
177
|
+
* @defaultValue 1000
|
|
178
|
+
* @public
|
|
179
|
+
*/
|
|
180
|
+
busyDelay: {
|
|
181
|
+
type: Integer,
|
|
182
|
+
defaultValue: 1000,
|
|
183
|
+
},
|
|
184
|
+
|
|
72
185
|
/**
|
|
73
186
|
* Determines whether the column headers remain fixed at the top of the page during
|
|
74
187
|
* vertical scrolling as long as the Web Component is in the viewport.
|
|
@@ -99,6 +212,25 @@ const metadata = {
|
|
|
99
212
|
type: Boolean,
|
|
100
213
|
},
|
|
101
214
|
|
|
215
|
+
/**
|
|
216
|
+
* Defines the mode of the component.
|
|
217
|
+
* <br><br>
|
|
218
|
+
* Available options are:
|
|
219
|
+
* <ul>
|
|
220
|
+
* <li><code>MultiSelect</code></li>
|
|
221
|
+
* <li><code>SingleSelect</code></li>
|
|
222
|
+
* <li><code>None</code></li>
|
|
223
|
+
* <ul>
|
|
224
|
+
* @type {TableMode}
|
|
225
|
+
* @defaultvalue "None"
|
|
226
|
+
* @since 1.0.0-rc.15
|
|
227
|
+
* @public
|
|
228
|
+
*/
|
|
229
|
+
mode: {
|
|
230
|
+
type: TableMode,
|
|
231
|
+
defaultValue: TableMode.None,
|
|
232
|
+
},
|
|
233
|
+
|
|
102
234
|
_hiddenColumns: {
|
|
103
235
|
type: Object,
|
|
104
236
|
multiple: true,
|
|
@@ -107,13 +239,48 @@ const metadata = {
|
|
|
107
239
|
_noDataDisplayed: {
|
|
108
240
|
type: Boolean,
|
|
109
241
|
},
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Defines the active state of the <code>More</code> button.
|
|
245
|
+
* @private
|
|
246
|
+
*/
|
|
247
|
+
_loadMoreActive: {
|
|
248
|
+
type: Boolean,
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Used to represent the table column header for the purpose of the item navigation as it does not work with DOM objects directly
|
|
253
|
+
* @private
|
|
254
|
+
*/
|
|
255
|
+
_columnHeader: {
|
|
256
|
+
type: Object,
|
|
257
|
+
},
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Defines if the entire table is in view port.
|
|
261
|
+
* @private
|
|
262
|
+
*/
|
|
263
|
+
_inViewport: {
|
|
264
|
+
type: Boolean,
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Defines whether all rows are selected or not when table is in MultiSelect mode.
|
|
269
|
+
* @type {Boolean}
|
|
270
|
+
* @defaultvalue false
|
|
271
|
+
* @since 1.0.0-rc.15
|
|
272
|
+
* @private
|
|
273
|
+
*/
|
|
274
|
+
_allRowsSelected: {
|
|
275
|
+
type: Boolean,
|
|
276
|
+
},
|
|
110
277
|
},
|
|
111
278
|
events: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
|
|
112
279
|
/**
|
|
113
|
-
* Fired when a row is clicked.
|
|
280
|
+
* Fired when a row in <code>Active</code> mode is clicked or <code>Enter</code> key is pressed.
|
|
114
281
|
*
|
|
115
282
|
* @event sap.ui.webcomponents.main.Table#row-click
|
|
116
|
-
* @param {HTMLElement} row the
|
|
283
|
+
* @param {HTMLElement} row the activated row.
|
|
117
284
|
* @public
|
|
118
285
|
*/
|
|
119
286
|
"row-click": {
|
|
@@ -123,7 +290,7 @@ const metadata = {
|
|
|
123
290
|
},
|
|
124
291
|
|
|
125
292
|
/**
|
|
126
|
-
* Fired when
|
|
293
|
+
* Fired when <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
|
|
127
294
|
*
|
|
128
295
|
* @event sap.ui.webcomponents.main.Table#popin-change
|
|
129
296
|
* @param {Array} poppedColumns popped-in columns.
|
|
@@ -135,6 +302,34 @@ const metadata = {
|
|
|
135
302
|
poppedColumns: {},
|
|
136
303
|
},
|
|
137
304
|
},
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Fired when the user presses the <code>More</code> button or scrolls to the table's end.
|
|
308
|
+
* <br><br>
|
|
309
|
+
*
|
|
310
|
+
* <b>Note:</b> The event will be fired if <code>growing</code> is set to <code>Button</code> or <code>Scroll</code>.
|
|
311
|
+
* @event sap.ui.webcomponents.main.Table#load-more
|
|
312
|
+
* @public
|
|
313
|
+
* @since 1.0.0-rc.11
|
|
314
|
+
*/
|
|
315
|
+
"load-more": {},
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Fired when selection is changed by user interaction
|
|
319
|
+
* in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
|
|
320
|
+
*
|
|
321
|
+
* @event sap.ui.webcomponents.main.Table#selection-change
|
|
322
|
+
* @param {Array} selectedRows An array of the selected rows.
|
|
323
|
+
* @param {Array} previouslySelectedRows An array of the previously selected rows.
|
|
324
|
+
* @public
|
|
325
|
+
* @since 1.0.0-rc.15
|
|
326
|
+
*/
|
|
327
|
+
"selection-change": {
|
|
328
|
+
detail: {
|
|
329
|
+
selectedRows: { type: Array },
|
|
330
|
+
previouslySelectedRows: { type: Array },
|
|
331
|
+
},
|
|
332
|
+
},
|
|
138
333
|
},
|
|
139
334
|
};
|
|
140
335
|
|
|
@@ -153,6 +348,22 @@ const metadata = {
|
|
|
153
348
|
* On tablets, special consideration should be given to the number of visible columns
|
|
154
349
|
* and rows due to the limited performance of some devices.
|
|
155
350
|
*
|
|
351
|
+
* <h3>Selection</h3>
|
|
352
|
+
* To benefit from the selection mechanism of <code>ui5-table</code> component, you can use the available selection modes:
|
|
353
|
+
* <code>SingleSelect</code> and <code>MultiSelect</code>.
|
|
354
|
+
* <br>
|
|
355
|
+
* In additition to the used mode, you can also specify the <code>ui5-table-row</code> type choosing between
|
|
356
|
+
* <code>Active</code> or <code>Inactive</code>.
|
|
357
|
+
* <br><br>
|
|
358
|
+
* In <code>SingleSelect</code> mode, you can select both an <code>Active</code> and <code>Inactive</code> row via mouse or
|
|
359
|
+
* by pressing the <code>Space</code> or <code>Enter</code> keys.
|
|
360
|
+
* <br>
|
|
361
|
+
* In <code>MultiSelect</code> mode, you can select both an <code>Active</code> and <code>Inactive</code> row by pressing the
|
|
362
|
+
* <code>Space</code> key when a row is on focus or via mouse click over the selection checkbox of the row.
|
|
363
|
+
* In order to select all the available rows at once, you can use the selection checkbox presented in the table's header.
|
|
364
|
+
* <br><br>
|
|
365
|
+
* <b>Note:</b> Currently, when a column is shown as a pop-in, the visual indication for selection is not presented over it.
|
|
366
|
+
*
|
|
156
367
|
* <h3>ES6 Module Import</h3>
|
|
157
368
|
*
|
|
158
369
|
* <code>import "@ui5/webcomponents/dist/Table.js";</code>
|
|
@@ -168,7 +379,7 @@ const metadata = {
|
|
|
168
379
|
* @alias sap.ui.webcomponents.main.Table
|
|
169
380
|
* @extends sap.ui.webcomponents.base.UI5Element
|
|
170
381
|
* @tagname ui5-table
|
|
171
|
-
* @appenddocs TableColumn TableRow TableCell
|
|
382
|
+
* @appenddocs TableColumn TableRow TableGroupRow TableCell
|
|
172
383
|
* @public
|
|
173
384
|
*/
|
|
174
385
|
class Table extends UI5Element {
|
|
@@ -188,35 +399,53 @@ class Table extends UI5Element {
|
|
|
188
399
|
return TableTemplate;
|
|
189
400
|
}
|
|
190
401
|
|
|
402
|
+
static get dependencies() {
|
|
403
|
+
return [BusyIndicator, CheckBox];
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
static async onDefine() {
|
|
407
|
+
Table.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
408
|
+
}
|
|
409
|
+
|
|
191
410
|
constructor() {
|
|
192
411
|
super();
|
|
193
412
|
|
|
413
|
+
// The ItemNavigation requires each item to 1) have a "_tabIndex" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)
|
|
414
|
+
this._columnHeader = {
|
|
415
|
+
id: `${this._id}-columnHeader`,
|
|
416
|
+
_tabIndex: "0",
|
|
417
|
+
};
|
|
418
|
+
|
|
194
419
|
this._itemNavigation = new ItemNavigation(this, {
|
|
195
420
|
navigationMode: NavigationMode.Vertical,
|
|
421
|
+
affectedPropertiesNames: ["_columnHeader"],
|
|
422
|
+
getItemsCallback: () => [this._columnHeader, ...this.rows],
|
|
196
423
|
});
|
|
197
424
|
|
|
198
|
-
this._itemNavigation.getItemsCallback = function getItemsCallback() {
|
|
199
|
-
const columnHeader = this.getColumnHeader();
|
|
200
|
-
return columnHeader ? [columnHeader, ...this.rows] : this.rows;
|
|
201
|
-
}.bind(this);
|
|
202
|
-
|
|
203
425
|
this.fnOnRowFocused = this.onRowFocused.bind(this);
|
|
204
426
|
|
|
205
427
|
this._handleResize = this.popinContent.bind(this);
|
|
428
|
+
|
|
429
|
+
this.tableEndObserved = false;
|
|
430
|
+
this.addEventListener("ui5-selection-requested", this._handleSelect.bind(this));
|
|
206
431
|
}
|
|
207
432
|
|
|
208
433
|
onBeforeRendering() {
|
|
209
434
|
const columnSettings = this.getColumnPropagationSettings();
|
|
210
435
|
const columnSettingsString = JSON.stringify(columnSettings);
|
|
436
|
+
const rowsCount = this.rows.length;
|
|
211
437
|
|
|
212
|
-
this.rows.forEach(row => {
|
|
438
|
+
this.rows.forEach((row, index) => {
|
|
213
439
|
if (row._columnsInfoString !== columnSettingsString) {
|
|
214
440
|
row._columnsInfo = columnSettings;
|
|
215
441
|
row._columnsInfoString = JSON.stringify(row._columnsInfo);
|
|
216
442
|
}
|
|
217
443
|
|
|
444
|
+
row._ariaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 1, rowsCount);
|
|
445
|
+
row._busy = this.busy;
|
|
218
446
|
row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
|
|
219
447
|
row.addEventListener("ui5-_focused", this.fnOnRowFocused);
|
|
448
|
+
row.mode = this.mode;
|
|
220
449
|
});
|
|
221
450
|
|
|
222
451
|
this.visibleColumns = this.columns.filter((column, index) => {
|
|
@@ -224,31 +453,171 @@ class Table extends UI5Element {
|
|
|
224
453
|
return !this._hiddenColumns[index];
|
|
225
454
|
});
|
|
226
455
|
|
|
227
|
-
this._noDataDisplayed = !this.rows.length && this.
|
|
456
|
+
this._noDataDisplayed = !this.rows.length && !this.hideNoData;
|
|
228
457
|
this.visibleColumnsCount = this.visibleColumns.length;
|
|
229
458
|
}
|
|
230
459
|
|
|
460
|
+
onAfterRendering() {
|
|
461
|
+
if (this.growsOnScroll) {
|
|
462
|
+
this.observeTableEnd();
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
this.checkTableInViewport();
|
|
466
|
+
}
|
|
467
|
+
|
|
231
468
|
onEnterDOM() {
|
|
469
|
+
if (!isIE()) {
|
|
470
|
+
this.growingIntersectionObserver = this.getIntersectionObserver();
|
|
471
|
+
}
|
|
472
|
+
|
|
232
473
|
ResizeHandler.register(this.getDomRef(), this._handleResize);
|
|
233
474
|
}
|
|
234
475
|
|
|
235
476
|
onExitDOM() {
|
|
236
477
|
ResizeHandler.deregister(this.getDomRef(), this._handleResize);
|
|
478
|
+
|
|
479
|
+
if (!isIE()) {
|
|
480
|
+
this.growingIntersectionObserver.disconnect();
|
|
481
|
+
this.growingIntersectionObserver = null;
|
|
482
|
+
this.tableEndObserved = false;
|
|
483
|
+
}
|
|
237
484
|
}
|
|
238
485
|
|
|
239
486
|
onRowFocused(event) {
|
|
240
|
-
this._itemNavigation.
|
|
487
|
+
this._itemNavigation.setCurrentItem(event.target);
|
|
241
488
|
}
|
|
242
489
|
|
|
243
490
|
_onColumnHeaderClick(event) {
|
|
244
491
|
this.getColumnHeader().focus();
|
|
245
|
-
this._itemNavigation.
|
|
492
|
+
this._itemNavigation.setCurrentItem(this._columnHeader);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
_onLoadMoreKeydown(event) {
|
|
496
|
+
if (isSpace(event)) {
|
|
497
|
+
event.preventDefault();
|
|
498
|
+
this._loadMoreActive = true;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
if (isEnter(event)) {
|
|
502
|
+
this._onLoadMoreClick();
|
|
503
|
+
this._loadMoreActive = true;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
_onLoadMoreKeyup(event) {
|
|
508
|
+
if (isSpace(event)) {
|
|
509
|
+
this._onLoadMoreClick();
|
|
510
|
+
}
|
|
511
|
+
this._loadMoreActive = false;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
_onLoadMoreClick() {
|
|
515
|
+
this.fireEvent("load-more");
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
observeTableEnd() {
|
|
519
|
+
if (!this.tableEndObserved) {
|
|
520
|
+
this.getIntersectionObserver().observe(this.tableEndDOM);
|
|
521
|
+
this.tableEndObserved = true;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
onInteresection(entries) {
|
|
526
|
+
if (entries.some(entry => entry.isIntersecting)) {
|
|
527
|
+
debounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
loadMore() {
|
|
532
|
+
this.fireEvent("load-more");
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
_handleSingleSelect(event) {
|
|
536
|
+
const row = this.getRowParent(event.target);
|
|
537
|
+
if (!row.selected) {
|
|
538
|
+
const previouslySelectedRows = this.selectedRows;
|
|
539
|
+
this.rows.forEach(item => {
|
|
540
|
+
if (item.selected) {
|
|
541
|
+
item.selected = false;
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
row.selected = true;
|
|
545
|
+
this.fireEvent("selection-change", {
|
|
546
|
+
selectedRows: [row],
|
|
547
|
+
previouslySelectedRows,
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
_handleMultiSelect(event) {
|
|
553
|
+
const row = this.getRowParent(event.target);
|
|
554
|
+
const previouslySelectedRows = this.selectedRows;
|
|
555
|
+
|
|
556
|
+
row.selected = !row.selected;
|
|
557
|
+
|
|
558
|
+
const selectedRows = this.selectedRows;
|
|
559
|
+
|
|
560
|
+
if (selectedRows.length === this.rows.length) {
|
|
561
|
+
this._allRowsSelected = true;
|
|
562
|
+
} else {
|
|
563
|
+
this._allRowsSelected = false;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
this.fireEvent("selection-change", {
|
|
567
|
+
selectedRows,
|
|
568
|
+
previouslySelectedRows,
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
_handleSelect(event) {
|
|
573
|
+
this[`_handle${this.mode}`](event);
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
_selectAll(event) {
|
|
577
|
+
const bAllSelected = event.target.checked;
|
|
578
|
+
const previouslySelectedRows = this.rows.filter(row => row.selected);
|
|
579
|
+
|
|
580
|
+
this._allRowsSelected = bAllSelected;
|
|
581
|
+
|
|
582
|
+
this.rows.forEach(row => {
|
|
583
|
+
row.selected = bAllSelected;
|
|
584
|
+
});
|
|
585
|
+
|
|
586
|
+
const selectedRows = bAllSelected ? this.rows : [];
|
|
587
|
+
|
|
588
|
+
this.fireEvent("selection-change", {
|
|
589
|
+
selectedRows,
|
|
590
|
+
previouslySelectedRows,
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
getRowParent(child) {
|
|
595
|
+
const parent = child.parentElement;
|
|
596
|
+
|
|
597
|
+
if (child.hasAttribute("ui5-table-row")) {
|
|
598
|
+
return child;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
if (parent && parent.hasAttribute("ui5-table-row")) {
|
|
602
|
+
return parent;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
this.getRowParent(parent);
|
|
246
606
|
}
|
|
247
607
|
|
|
248
608
|
getColumnHeader() {
|
|
249
609
|
return this.getDomRef() && this.getDomRef().querySelector(`#${this._id}-columnHeader`);
|
|
250
610
|
}
|
|
251
611
|
|
|
612
|
+
handleResize(event) {
|
|
613
|
+
this.checkTableInViewport();
|
|
614
|
+
this.popinContent(event);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
checkTableInViewport() {
|
|
618
|
+
this._inViewport = isElementInView(this.getDomRef());
|
|
619
|
+
}
|
|
620
|
+
|
|
252
621
|
popinContent(_event) {
|
|
253
622
|
const clientRect = this.getDomRef().getBoundingClientRect();
|
|
254
623
|
const tableWidth = clientRect.width;
|
|
@@ -269,7 +638,9 @@ class Table extends UI5Element {
|
|
|
269
638
|
});
|
|
270
639
|
|
|
271
640
|
if (visibleColumnsIndexes.length) {
|
|
272
|
-
this.
|
|
641
|
+
if (!this.isMultiSelect) {
|
|
642
|
+
this.columns[visibleColumnsIndexes[0]].first = true;
|
|
643
|
+
}
|
|
273
644
|
this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
|
|
274
645
|
}
|
|
275
646
|
|
|
@@ -302,6 +673,87 @@ class Table extends UI5Element {
|
|
|
302
673
|
};
|
|
303
674
|
}, this);
|
|
304
675
|
}
|
|
676
|
+
|
|
677
|
+
getIntersectionObserver() {
|
|
678
|
+
if (!this.growingIntersectionObserver) {
|
|
679
|
+
this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
|
|
680
|
+
root: document,
|
|
681
|
+
rootMargin: "0px",
|
|
682
|
+
threshold: 1.0,
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
return this.growingIntersectionObserver;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
get styles() {
|
|
690
|
+
return {
|
|
691
|
+
table: {
|
|
692
|
+
height: "48px",
|
|
693
|
+
},
|
|
694
|
+
busy: {
|
|
695
|
+
position: this.busyIndPosition,
|
|
696
|
+
},
|
|
697
|
+
};
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
get growsWithButton() {
|
|
701
|
+
if (isIE()) {
|
|
702
|
+
// On IE fallback to "More" button, even if growing of type "Scroll" is set.
|
|
703
|
+
return this.growing === TableGrowingMode.Button || this.growing === TableGrowingMode.Scroll;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
return this.growing === TableGrowingMode.Button;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
get growsOnScroll() {
|
|
710
|
+
return !isIE() && this.growing === TableGrowingMode.Scroll;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
get _growingButtonText() {
|
|
714
|
+
return this.growingButtonText || Table.i18nBundle.getText(LOAD_MORE_TEXT);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
get ariaLabelText() {
|
|
718
|
+
const headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_TEXT);
|
|
719
|
+
const columnsTitle = this.columns.map(column => {
|
|
720
|
+
return column.textContent.trim();
|
|
721
|
+
}).join(" ");
|
|
722
|
+
|
|
723
|
+
return `${headerRowText} ${columnsTitle}`;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
get ariaLabelSelectAllText() {
|
|
727
|
+
return Table.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
get loadMoreAriaLabelledBy() {
|
|
731
|
+
if (this.moreDataText) {
|
|
732
|
+
return `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
return `${this._id}-growingButton-text`;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
get tableEndDOM() {
|
|
739
|
+
return this.shadowRoot.querySelector(".ui5-table-end-marker");
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
get busyIndPosition() {
|
|
743
|
+
if (isIE()) {
|
|
744
|
+
return "absolute";
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
return this._inViewport ? "absolute" : "sticky";
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
get isMultiSelect() {
|
|
751
|
+
return this.mode === "MultiSelect";
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
get selectedRows() {
|
|
755
|
+
return this.rows.filter(row => row.selected);
|
|
756
|
+
}
|
|
305
757
|
}
|
|
306
758
|
|
|
307
759
|
Table.define();
|
package/dist/TableCell.js
CHANGED
|
@@ -12,7 +12,7 @@ const metadata = {
|
|
|
12
12
|
tag: "ui5-table-cell",
|
|
13
13
|
slots: /** @lends sap.ui.webcomponents.main.TableCell.prototype */ {
|
|
14
14
|
/**
|
|
15
|
-
* Specifies the content of the
|
|
15
|
+
* Specifies the content of the component.
|
|
16
16
|
*
|
|
17
17
|
* @type {Node[]}
|
|
18
18
|
* @slot
|
|
@@ -23,14 +23,6 @@ const metadata = {
|
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
25
|
properties: /** @lends sap.ui.webcomponents.main.TableCell.prototype */ {
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @private
|
|
29
|
-
*/
|
|
30
|
-
firstInRow: {
|
|
31
|
-
type: Boolean,
|
|
32
|
-
},
|
|
33
|
-
|
|
34
26
|
/**
|
|
35
27
|
* @private
|
|
36
28
|
*/
|
|
@@ -56,11 +48,21 @@ const metadata = {
|
|
|
56
48
|
*
|
|
57
49
|
* The <code>ui5-table-cell</code> component defines the structure of the data in a single <code>ui5-table</code> cell.
|
|
58
50
|
*
|
|
51
|
+
* <h3>CSS Shadow Parts</h3>
|
|
52
|
+
*
|
|
53
|
+
* <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
|
|
54
|
+
* <br>
|
|
55
|
+
* The <code>ui5-table-cell</code> exposes the following CSS Shadow Parts:
|
|
56
|
+
* <ul>
|
|
57
|
+
* <li>cell - Used to style the native <code>td</code> element</li>
|
|
58
|
+
* </ul>
|
|
59
|
+
*
|
|
59
60
|
* @constructor
|
|
60
61
|
* @author SAP SE
|
|
61
62
|
* @alias sap.ui.webcomponents.main.TableCell
|
|
62
63
|
* @extends sap.ui.webcomponents.base.UI5Element
|
|
63
64
|
* @tagname ui5-table-cell
|
|
65
|
+
* @implements sap.ui.webcomponents.main.ITableCell
|
|
64
66
|
* @public
|
|
65
67
|
*/
|
|
66
68
|
class TableCell extends UI5Element {
|