@ui5/webcomponents 0.0.0-aeb93167c → 0.0.0-b053ad005
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 +343 -0
- 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 +189 -49
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +45 -19
- package/dist/Breadcrumbs.js +563 -0
- package/dist/BreadcrumbsItem.js +109 -0
- package/dist/BusyIndicator.js +121 -34
- package/dist/Button.js +110 -66
- package/dist/Calendar.js +324 -648
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +110 -59
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +38 -198
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +253 -94
- package/dist/CheckBox.js +138 -70
- 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 +348 -144
- 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 +264 -519
- package/dist/DateRangePicker.js +162 -426
- package/dist/DateTimePicker.js +94 -413
- package/dist/DayPicker.js +443 -648
- package/dist/Dialog.js +220 -58
- package/dist/DurationPicker.js +109 -511
- package/dist/FileUploader.js +70 -31
- package/dist/GroupHeaderListItem.js +22 -13
- package/dist/Icon.js +103 -41
- package/dist/Input.js +346 -155
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +105 -43
- package/dist/List.js +377 -104
- package/dist/ListItem.js +60 -13
- package/dist/ListItemBase.js +29 -2
- package/dist/MessageStrip.js +47 -46
- package/dist/MonthPicker.js +171 -225
- package/dist/MultiComboBox.js +356 -135
- package/dist/MultiComboBoxItem.js +7 -2
- package/dist/MultiInput.js +55 -24
- package/dist/Option.js +48 -5
- package/dist/Panel.js +63 -73
- package/dist/Popover.js +195 -80
- package/dist/Popup.js +151 -61
- 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 +56 -42
- package/dist/SegmentedButton.js +102 -68
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +275 -116
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +35 -9
- package/dist/StepInput.js +681 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +13 -26
- package/dist/SuggestionListItem.js +17 -6
- package/dist/Switch.js +52 -32
- package/dist/Tab.js +47 -26
- package/dist/TabContainer.js +94 -34
- 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 +27 -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 +32 -16
- package/dist/Tokenizer.js +75 -42
- package/dist/Tree.js +97 -41
- package/dist/TreeItem.js +44 -9
- package/dist/TreeListItem.js +86 -2
- package/dist/WheelSlider.js +58 -58
- package/dist/YearPicker.js +188 -284
- package/dist/api.json +6877 -1
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +0 -1
- package/dist/features/InputSuggestions.js +131 -30
- 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 -15
- 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 -28
- package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -31
- 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 +189 -49
- 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 +563 -0
- package/src/BreadcrumbsItem.js +109 -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 -48
- package/src/Calendar.js +324 -648
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +29 -36
- package/src/CalendarHeader.js +110 -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 +253 -94
- package/src/CheckBox.hbs +10 -7
- package/src/CheckBox.js +138 -70
- 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 +348 -144
- 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 -4
- package/src/DatePicker.js +264 -519
- package/src/DatePickerPopover.hbs +22 -17
- package/src/DateRangePicker.js +162 -426
- package/src/DateTimePicker.js +94 -413
- package/src/DateTimePickerPopover.hbs +28 -52
- package/src/DayPicker.hbs +18 -12
- package/src/DayPicker.js +443 -648
- package/src/Dialog.hbs +14 -10
- package/src/Dialog.js +220 -58
- package/src/DurationPicker.js +109 -511
- package/src/FileUploader.hbs +3 -0
- package/src/FileUploader.js +70 -31
- package/src/FileUploaderPopover.hbs +2 -1
- package/src/GroupHeaderListItem.hbs +4 -4
- package/src/GroupHeaderListItem.js +22 -13
- package/src/Icon.hbs +4 -3
- package/src/Icon.js +103 -41
- package/src/Input.hbs +17 -6
- package/src/Input.js +346 -155
- 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 +3 -2
- package/src/Link.js +105 -43
- package/src/List.hbs +76 -37
- package/src/List.js +377 -104
- package/src/ListItem.hbs +20 -7
- package/src/ListItem.js +60 -13
- package/src/ListItemBase.js +29 -2
- package/src/MessageStrip.hbs +10 -11
- package/src/MessageStrip.js +47 -46
- package/src/MonthPicker.hbs +6 -6
- package/src/MonthPicker.js +171 -225
- package/src/MultiComboBox.hbs +10 -6
- package/src/MultiComboBox.js +356 -135
- 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 +63 -73
- package/src/Popover.js +195 -80
- package/src/Popup.hbs +5 -0
- package/src/Popup.js +151 -61
- 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 +56 -42
- 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 +275 -116
- 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 +7 -5
- package/src/StandardListItem.js +35 -9
- package/src/StepInput.hbs +77 -0
- package/src/StepInput.js +681 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +13 -26
- package/src/SuggestionListItem.hbs +4 -4
- package/src/SuggestionListItem.js +17 -6
- package/src/Switch.hbs +19 -3
- package/src/Switch.js +52 -32
- package/src/Tab.js +47 -26
- package/src/TabContainer.hbs +43 -26
- package/src/TabContainer.js +94 -34
- 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 +27 -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 +32 -16
- 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 +86 -2
- package/src/WheelSlider.hbs +17 -10
- package/src/WheelSlider.js +58 -58
- 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 +131 -30
- 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/Calendar.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
2
|
+
import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
|
|
3
|
+
import {
|
|
4
|
+
isF4,
|
|
5
|
+
isF4Shift,
|
|
6
|
+
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
7
|
+
import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
|
|
5
8
|
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
|
6
9
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
|
10
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
11
|
-
import { isF4, isF4Shift } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
10
|
+
import * as CalendarDateComponent from "./CalendarDate.js";
|
|
11
|
+
import CalendarPart from "./CalendarPart.js";
|
|
12
12
|
import CalendarHeader from "./CalendarHeader.js";
|
|
13
13
|
import DayPicker from "./DayPicker.js";
|
|
14
14
|
import MonthPicker from "./MonthPicker.js";
|
|
15
15
|
import YearPicker from "./YearPicker.js";
|
|
16
|
+
import CalendarSelectionMode from "./types/CalendarSelectionMode.js";
|
|
16
17
|
|
|
17
18
|
// Default calendar for bundling
|
|
18
19
|
import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js";
|
|
@@ -30,175 +31,213 @@ const metadata = {
|
|
|
30
31
|
tag: "ui5-calendar",
|
|
31
32
|
properties: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
|
|
32
33
|
/**
|
|
33
|
-
* Defines the
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
* Defines the calendar type used for display.
|
|
43
|
-
* If not defined, the calendar type of the global configuration is used.
|
|
44
|
-
* Available options are: "Gregorian", "Islamic", "Japanese", "Buddhist" and "Persian".
|
|
45
|
-
* @type {CalendarType}
|
|
34
|
+
* Defines the type of selection used in the calendar component.
|
|
35
|
+
* Accepted property values are:<br>
|
|
36
|
+
* <ul>
|
|
37
|
+
* <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>
|
|
38
|
+
* <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>
|
|
39
|
+
* <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>
|
|
40
|
+
* </ul>
|
|
41
|
+
* @type {CalendarSelectionMode}
|
|
42
|
+
* @defaultvalue "Single"
|
|
46
43
|
* @public
|
|
47
44
|
*/
|
|
48
|
-
|
|
49
|
-
type:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Defines the selected dates as UTC timestamps.
|
|
54
|
-
* @type {Array}
|
|
55
|
-
* @public
|
|
56
|
-
*/
|
|
57
|
-
selectedDates: {
|
|
58
|
-
type: Integer,
|
|
59
|
-
multiple: true,
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Determines the мinimum date available for selection.
|
|
64
|
-
*
|
|
65
|
-
* @type {string}
|
|
66
|
-
* @defaultvalue ""
|
|
67
|
-
* @since 1.0.0-rc.6
|
|
68
|
-
* @public
|
|
69
|
-
*/
|
|
70
|
-
minDate: {
|
|
71
|
-
type: String,
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Determines the maximum date available for selection.
|
|
76
|
-
*
|
|
77
|
-
* @type {string}
|
|
78
|
-
* @defaultvalue ""
|
|
79
|
-
* @since 1.0.0-rc.6
|
|
80
|
-
* @public
|
|
81
|
-
*/
|
|
82
|
-
maxDate: {
|
|
83
|
-
type: String,
|
|
45
|
+
selectionMode: {
|
|
46
|
+
type: CalendarSelectionMode,
|
|
47
|
+
defaultValue: CalendarSelectionMode.Single,
|
|
84
48
|
},
|
|
85
49
|
|
|
86
50
|
/**
|
|
87
51
|
* Defines the visibility of the week numbers column.
|
|
88
52
|
* <br><br>
|
|
89
53
|
*
|
|
90
|
-
* <b>Note
|
|
54
|
+
* <b>Note:</b> For calendars other than Gregorian,
|
|
91
55
|
* the week numbers are not displayed regardless of what is set.
|
|
92
56
|
*
|
|
93
57
|
* @type {boolean}
|
|
94
58
|
* @defaultvalue false
|
|
95
59
|
* @public
|
|
96
|
-
* @since 1.0.0-rc.8
|
|
97
60
|
*/
|
|
98
61
|
hideWeekNumbers: {
|
|
99
62
|
type: Boolean,
|
|
100
63
|
},
|
|
101
64
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Which picker is currently visible to the user: day/month/year
|
|
67
|
+
*/
|
|
68
|
+
_currentPicker: {
|
|
69
|
+
type: String,
|
|
70
|
+
defaultValue: "day",
|
|
108
71
|
},
|
|
109
72
|
|
|
110
|
-
|
|
111
|
-
type:
|
|
73
|
+
_previousButtonDisabled: {
|
|
74
|
+
type: Boolean,
|
|
112
75
|
},
|
|
113
76
|
|
|
114
|
-
|
|
115
|
-
type:
|
|
77
|
+
_nextButtonDisabled: {
|
|
78
|
+
type: Boolean,
|
|
116
79
|
},
|
|
117
80
|
|
|
118
|
-
|
|
81
|
+
_headerMonthButtonText: {
|
|
119
82
|
type: String,
|
|
120
|
-
noAttribute: true,
|
|
121
83
|
},
|
|
122
84
|
|
|
123
|
-
|
|
85
|
+
_headerYearButtonText: {
|
|
124
86
|
type: String,
|
|
125
|
-
noAttribute: true,
|
|
126
87
|
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
88
|
+
},
|
|
89
|
+
managedSlots: true,
|
|
90
|
+
slots: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
|
|
91
|
+
/**
|
|
92
|
+
* Defines the selected date or dates (depending on the <code>selectionMode</code> property) for this calendar as instances of <code>ui5-date</code>
|
|
93
|
+
*
|
|
94
|
+
* @type {sap.ui.webcomponents.main.ICalendarDate[]}
|
|
95
|
+
* @slot dates
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
"default": {
|
|
99
|
+
propertyName: "dates",
|
|
100
|
+
type: HTMLElement,
|
|
101
|
+
invalidateOnChildChange: true,
|
|
130
102
|
},
|
|
131
103
|
},
|
|
132
104
|
events: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
|
|
133
105
|
/**
|
|
134
|
-
* Fired when the selected dates
|
|
106
|
+
* Fired when the selected dates change.
|
|
107
|
+
* <b>Note:</b> If you call <code>preventDefault()</code> for this event, the component will not
|
|
108
|
+
* create instances of <code>ui5-date</code> for the newly selected dates. In that case you should do this manually.
|
|
109
|
+
*
|
|
135
110
|
* @event sap.ui.webcomponents.main.Calendar#selected-dates-change
|
|
136
|
-
* @
|
|
111
|
+
* @allowPreventDefault
|
|
112
|
+
* @param {Array} values The selected dates
|
|
113
|
+
* @param {Array} dates The selected dates as UTC timestamps
|
|
137
114
|
* @public
|
|
138
115
|
*/
|
|
139
|
-
"selected-dates-change": {
|
|
116
|
+
"selected-dates-change": {
|
|
117
|
+
detail: {
|
|
118
|
+
dates: { type: Array },
|
|
119
|
+
values: { type: Array },
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
"show-month-press": {},
|
|
124
|
+
"show-year-press": {},
|
|
140
125
|
},
|
|
141
126
|
};
|
|
142
127
|
|
|
143
128
|
/**
|
|
144
129
|
* @class
|
|
145
130
|
*
|
|
131
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
132
|
+
*
|
|
133
|
+
* The <code>ui5-calendar</code> component allows users to select one or more dates.
|
|
134
|
+
* <br><br>
|
|
135
|
+
* Currently selected dates are represented with instances of <code>ui5-date</code> as
|
|
136
|
+
* children of the <code>ui5-calendar</code>. The value property of each <code>ui5-date</code> must be a
|
|
137
|
+
* date string, correctly formatted according to the <code>ui5-calendar</code>'s <code>formatPattern</code> property.
|
|
138
|
+
* Whenever the user changes the date selection, <code>ui5-calendar</code> will automatically create/remove instances
|
|
139
|
+
* of <code>ui5-date</code> in itself, unless you prevent this behavior by calling <code>preventDefault()</code> for the
|
|
140
|
+
* <code>selected-dates-change</code> event. This is useful if you want to control the selected dates externally.
|
|
141
|
+
* <br><br>
|
|
142
|
+
*
|
|
143
|
+
* <h3>Usage</h3>
|
|
144
|
+
*
|
|
145
|
+
* The user can navigate to a particular date by:
|
|
146
|
+
* <br>
|
|
147
|
+
* <ul>
|
|
148
|
+
* <li>Pressing over a month inside the months view</li>
|
|
149
|
+
* <li>Pressing over an year inside the years view</li>
|
|
150
|
+
* </ul>
|
|
151
|
+
* <br>
|
|
152
|
+
* The user can confirm a date selection by pressing over a date inside the days view.
|
|
153
|
+
* <br><br>
|
|
154
|
+
*
|
|
146
155
|
* <h3>Keyboard Handling</h3>
|
|
147
|
-
* The <code>ui5-calendar</code> provides advanced keyboard handling.
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
* <
|
|
151
|
-
*
|
|
152
|
-
* <
|
|
153
|
-
* <
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
* <
|
|
157
|
-
* -
|
|
158
|
-
* <
|
|
159
|
-
* <li>[PAGEUP] - Navigate
|
|
160
|
-
* <li>[PAGEDOWN] - Navigate
|
|
161
|
-
* <li>[
|
|
162
|
-
* <li>[
|
|
163
|
-
* <li>[CTRL] + [
|
|
164
|
-
* <li>[CTRL] + [
|
|
165
|
-
* </ul>
|
|
166
|
-
* <br>
|
|
167
|
-
* - Month picker: <br>
|
|
168
|
-
* <ul>
|
|
169
|
-
* <li>[PAGEUP] - Navigate to the previous
|
|
170
|
-
* <li>[PAGEDOWN] - Navigate to the next
|
|
171
|
-
* </
|
|
172
|
-
* <
|
|
173
|
-
* -
|
|
174
|
-
* <
|
|
175
|
-
*
|
|
176
|
-
* <
|
|
177
|
-
*
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
*
|
|
156
|
+
* The <code>ui5-calendar</code> provides advanced keyboard handling.
|
|
157
|
+
* When a picker is showed and focused the user can use the following keyboard
|
|
158
|
+
* shortcuts in order to perform a navigation:
|
|
159
|
+
* <br>
|
|
160
|
+
* - Day picker: <br>
|
|
161
|
+
* <ul>
|
|
162
|
+
* <li>[F4] - Shows month picker</li>
|
|
163
|
+
* <li>[SHIFT] + [F4] - Shows year picker</li>
|
|
164
|
+
* <li>[PAGEUP] - Navigate to the previous month</li>
|
|
165
|
+
* <li>[PAGEDOWN] - Navigate to the next month</li>
|
|
166
|
+
* <li>[SHIFT] + [PAGEUP] - Navigate to the previous year</li>
|
|
167
|
+
* <li>[SHIFT] + [PAGEDOWN] - Navigate to the next year</li>
|
|
168
|
+
* <li>[CTRL] + [SHIFT] + [PAGEUP] - Navigate ten years backwards</li>
|
|
169
|
+
* <li>[CTRL] + [SHIFT] + [PAGEDOWN] - Navigate ten years forwards</li>
|
|
170
|
+
* <li>[HOME] - Navigate to the first day of the week</li>
|
|
171
|
+
* <li>[END] - Navigate to the last day of the week</li>
|
|
172
|
+
* <li>[CTRL] + [HOME] - Navigate to the first day of the month</li>
|
|
173
|
+
* <li>[CTRL] + [END] - Navigate to the last day of the month</li>
|
|
174
|
+
* </ul>
|
|
175
|
+
* <br>
|
|
176
|
+
* - Month picker: <br>
|
|
177
|
+
* <ul>
|
|
178
|
+
* <li>[PAGEUP] - Navigate to the previous year</li>
|
|
179
|
+
* <li>[PAGEDOWN] - Navigate to the next year</li>
|
|
180
|
+
* <li>[HOME] - Navigate to the first month of the current row</li>
|
|
181
|
+
* <li>[END] - Navigate to the last month of the current row</li>
|
|
182
|
+
* <li>[CTRL] + [HOME] - Navigate to the first month of the current year</li>
|
|
183
|
+
* <li>[CTRL] + [END] - Navigate to the last month of the year</li>
|
|
184
|
+
* </ul>
|
|
185
|
+
* <br>
|
|
186
|
+
* - Year picker: <br>
|
|
187
|
+
* <ul>
|
|
188
|
+
* <li>[PAGEUP] - Navigate to the previous year range</li>
|
|
189
|
+
* <li>[PAGEDOWN] - Navigate the next year range</li>
|
|
190
|
+
* <li>[HOME] - Navigate to the first year of the current row</li>
|
|
191
|
+
* <li>[END] - Navigate to the last year of the current row</li>
|
|
192
|
+
* <li>[CTRL] + [HOME] - Navigate to the first year of the current year range</li>
|
|
193
|
+
* <li>[CTRL] + [END] - Navigate to the last year of the current year range</li>
|
|
194
|
+
* </ul>
|
|
195
|
+
* <br>
|
|
196
|
+
*
|
|
197
|
+
* <h3>Calendar types</h3>
|
|
198
|
+
* The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.
|
|
199
|
+
* By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,
|
|
200
|
+
* you need to set the <code>primaryCalendarType</code> property and import one or more of the following modules:
|
|
201
|
+
* <br><br>
|
|
202
|
+
*
|
|
203
|
+
* <code>import "@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js";</code>
|
|
204
|
+
* <br>
|
|
205
|
+
* <code>import "@ui5/webcomponents-localization/dist/features/calendar/Islamic.js";</code>
|
|
206
|
+
* <br>
|
|
207
|
+
* <code>import "@ui5/webcomponents-localization/dist/features/calendar/Japanese.js";</code>
|
|
208
|
+
* <br>
|
|
209
|
+
* <code>import "@ui5/webcomponents-localization/dist/features/calendar/Persian.js";</code>
|
|
210
|
+
* <br><br>
|
|
211
|
+
*
|
|
212
|
+
* Or, you can use the global configuration and set the <code>calendarType</code> key:
|
|
213
|
+
* <br>
|
|
214
|
+
* <code>
|
|
215
|
+
* <script data-id="sap-ui-config" type="application/json">
|
|
216
|
+
* {
|
|
217
|
+
* "calendarType": "Japanese"
|
|
218
|
+
* }
|
|
219
|
+
* </script>
|
|
220
|
+
* </code>
|
|
221
|
+
*
|
|
222
|
+
*
|
|
223
|
+
* <h3>ES6 Module Import</h3>
|
|
182
224
|
*
|
|
183
|
-
*
|
|
184
|
-
* but the main purpose of the <code>ui5-calendar</code> is to be used within a <code>ui5-date-picker</code>.
|
|
225
|
+
* <code>import "@ui5/webcomponents/dist/Calendar";</code>
|
|
185
226
|
*
|
|
186
227
|
* @constructor
|
|
187
228
|
* @author SAP SE
|
|
188
229
|
* @alias sap.ui.webcomponents.main.Calendar
|
|
189
|
-
* @extends
|
|
230
|
+
* @extends CalendarPart
|
|
190
231
|
* @tagname ui5-calendar
|
|
232
|
+
* @appenddocs CalendarDate
|
|
191
233
|
* @public
|
|
234
|
+
* @since 1.0.0-rc.11
|
|
192
235
|
*/
|
|
193
|
-
class Calendar extends
|
|
236
|
+
class Calendar extends CalendarPart {
|
|
194
237
|
static get metadata() {
|
|
195
238
|
return metadata;
|
|
196
239
|
}
|
|
197
240
|
|
|
198
|
-
static get render() {
|
|
199
|
-
return litRender;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
241
|
static get template() {
|
|
203
242
|
return CalendarTemplate;
|
|
204
243
|
}
|
|
@@ -207,605 +246,242 @@ class Calendar extends UI5Element {
|
|
|
207
246
|
return calendarCSS;
|
|
208
247
|
}
|
|
209
248
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
this.
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
this._oMonth = {};
|
|
219
|
-
this._oMonth.onSelectedDatesChange = this._handleSelectedDatesChange.bind(this);
|
|
220
|
-
this._oMonth.onNavigate = this._handleMonthNavigate.bind(this);
|
|
221
|
-
|
|
222
|
-
this._monthPicker = {};
|
|
223
|
-
this._monthPicker._hidden = true;
|
|
224
|
-
this._monthPicker.onSelectedMonthChange = this._handleSelectedMonthChange.bind(this);
|
|
225
|
-
this._monthPicker.onNavigate = this._handleYearNavigate.bind(this);
|
|
226
|
-
|
|
227
|
-
this._yearPicker = {};
|
|
228
|
-
this._yearPicker._hidden = true;
|
|
229
|
-
this._yearPicker.onSelectedYearChange = this._handleSelectedYearChange.bind(this);
|
|
230
|
-
this._yearPicker.onNavigate = this._handleYearNavigate.bind(this);
|
|
231
|
-
|
|
232
|
-
this._isShiftingYears = false;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
onBeforeRendering() {
|
|
236
|
-
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
237
|
-
const oYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType });
|
|
238
|
-
const firstDayOfCalendarTimeStamp = this._getMinCalendarDate();
|
|
239
|
-
|
|
240
|
-
if ((this.minDate || this.maxDate) && this._timestamp && !this.isInValidRange(this._timestamp * 1000)) {
|
|
241
|
-
if (this._minDate) {
|
|
242
|
-
this.timestamp = this._minDate / 1000;
|
|
243
|
-
} else {
|
|
244
|
-
this.timestamp = (new Date(firstDayOfCalendarTimeStamp)).getTime() / 1000;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
this._oMonth.formatPattern = this._formatPattern;
|
|
249
|
-
this._oMonth.timestamp = this._timestamp;
|
|
250
|
-
this._oMonth.selectedDates = [...this._selectedDates];
|
|
251
|
-
this._oMonth.primaryCalendarType = this._primaryCalendarType;
|
|
252
|
-
this._oMonth.minDate = this.minDate;
|
|
253
|
-
this._oMonth.maxDate = this.maxDate;
|
|
254
|
-
this._header.monthText = localeData.getMonths("wide", this._primaryCalendarType)[this._month];
|
|
255
|
-
this._header.yearText = oYearFormat.format(this._localDate, true);
|
|
256
|
-
|
|
257
|
-
// month picker
|
|
258
|
-
this._monthPicker.primaryCalendarType = this._primaryCalendarType;
|
|
259
|
-
this._monthPicker.timestamp = this._timestamp;
|
|
260
|
-
|
|
261
|
-
this._yearPicker.primaryCalendarType = this._primaryCalendarType;
|
|
262
|
-
|
|
263
|
-
if (!this._isShiftingYears) {
|
|
264
|
-
// year picker
|
|
265
|
-
this._yearPicker.timestamp = this._timestamp;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
this._isShiftingYears = false;
|
|
269
|
-
|
|
270
|
-
this._refreshNavigationButtonsState();
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
_refreshNavigationButtonsState() {
|
|
274
|
-
const minDateParsed = this.minDate && this.getFormat().parse(this.minDate);
|
|
275
|
-
const maxDateParsed = this.maxDate && this.getFormat().parse(this.maxDate);
|
|
276
|
-
let currentMonth = 0;
|
|
277
|
-
let currentYear = 1;
|
|
278
|
-
|
|
279
|
-
currentMonth = this.timestamp && CalendarDate.fromTimestamp(this.timestamp * 1000).getMonth();
|
|
280
|
-
currentYear = this.timestamp && CalendarDate.fromTimestamp(this.timestamp * 1000).getYear();
|
|
281
|
-
|
|
282
|
-
if (!this._oMonth._hidden) {
|
|
283
|
-
if (this.minDate
|
|
284
|
-
&& minDateParsed.getMonth() === currentMonth
|
|
285
|
-
&& minDateParsed.getFullYear() === currentYear) {
|
|
286
|
-
this._header._isPrevButtonDisabled = true;
|
|
287
|
-
} else {
|
|
288
|
-
this._header._isPrevButtonDisabled = false;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
if (this.maxDate
|
|
292
|
-
&& maxDateParsed.getMonth() === currentMonth
|
|
293
|
-
&& maxDateParsed.getFullYear() === currentYear) {
|
|
294
|
-
this._header._isNextButtonDisabled = true;
|
|
295
|
-
} else {
|
|
296
|
-
this._header._isNextButtonDisabled = false;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
if (!this._monthPicker._hidden) {
|
|
301
|
-
if (this.minDate
|
|
302
|
-
&& currentYear === minDateParsed.getFullYear()) {
|
|
303
|
-
this._header._isPrevButtonDisabled = true;
|
|
304
|
-
} else {
|
|
305
|
-
this._header._isPrevButtonDisabled = false;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
if (this.maxDate
|
|
309
|
-
&& currentYear === maxDateParsed.getFullYear()) {
|
|
310
|
-
this._header._isNextButtonDisabled = true;
|
|
311
|
-
} else {
|
|
312
|
-
this._header._isNextButtonDisabled = false;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
if (!this._yearPicker._hidden) {
|
|
317
|
-
const cellsFromTheStart = 7;
|
|
318
|
-
const cellsToTheEnd = 12;
|
|
319
|
-
|
|
320
|
-
currentYear = this._yearPicker.timestamp && CalendarDate.fromTimestamp(this._yearPicker.timestamp * 1000).getYear();
|
|
321
|
-
if (this.minDate
|
|
322
|
-
&& (currentYear - minDateParsed.getFullYear()) < cellsFromTheStart) {
|
|
323
|
-
this._header._isPrevButtonDisabled = true;
|
|
324
|
-
} else {
|
|
325
|
-
this._header._isPrevButtonDisabled = false;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
if (this.maxDate
|
|
329
|
-
&& (maxDateParsed.getFullYear() - currentYear) < cellsToTheEnd) {
|
|
330
|
-
this._header._isNextButtonDisabled = true;
|
|
331
|
-
} else {
|
|
332
|
-
this._header._isNextButtonDisabled = false;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
249
|
+
/**
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
get _selectedDatesTimestamps() {
|
|
253
|
+
return this.dates.map(date => {
|
|
254
|
+
const value = date.value;
|
|
255
|
+
return value && !!this.getFormat().parse(value) ? this._getTimeStampFromString(value) / 1000 : undefined;
|
|
256
|
+
}).filter(date => !!date);
|
|
335
257
|
}
|
|
336
258
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
259
|
+
/**
|
|
260
|
+
* @private
|
|
261
|
+
*/
|
|
262
|
+
_setSelectedDates(selectedDates) {
|
|
263
|
+
const selectedValues = selectedDates.map(timestamp => this.getFormat().format(new Date(timestamp * 1000), true)); // Format as UTC
|
|
264
|
+
const valuesInDOM = [...this.dates].map(dateElement => dateElement.value);
|
|
340
265
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
266
|
+
// Remove all elements for dates that are no longer selected
|
|
267
|
+
this.dates.filter(dateElement => !selectedValues.includes(dateElement.value)).forEach(dateElement => {
|
|
268
|
+
this.removeChild(dateElement);
|
|
269
|
+
});
|
|
344
270
|
|
|
345
|
-
|
|
346
|
-
|
|
271
|
+
// Create tags for the selected dates that don't already exist in DOM
|
|
272
|
+
selectedValues.filter(value => !valuesInDOM.includes(value)).forEach(value => {
|
|
273
|
+
const dateElement = document.createElement("ui5-date");
|
|
274
|
+
dateElement.value = value;
|
|
275
|
+
this.appendChild(dateElement);
|
|
276
|
+
});
|
|
347
277
|
}
|
|
348
278
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
279
|
+
async onAfterRendering() {
|
|
280
|
+
await renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages
|
|
281
|
+
this._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();
|
|
282
|
+
this._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();
|
|
352
283
|
|
|
353
|
-
|
|
284
|
+
const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this.primaryCalendarType });
|
|
354
285
|
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
355
|
-
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
get _formatPattern() {
|
|
359
|
-
return this.formatPattern || "medium"; // get from config
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
get _isPattern() {
|
|
363
|
-
return this._formatPattern !== "medium" && this._formatPattern !== "short" && this._formatPattern !== "long";
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
get _selectedDates() {
|
|
367
|
-
return this.selectedDates || [];
|
|
368
|
-
}
|
|
286
|
+
this._headerMonthButtonText = localeData.getMonths("wide", this.primaryCalendarType)[this._calendarDate.getMonth()];
|
|
369
287
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
return this.minDate ? this._getTimeStampFromString(this.minDate) : this._getMinCalendarDate();
|
|
376
|
-
}
|
|
288
|
+
if (this._currentPicker === "year") {
|
|
289
|
+
const rangeStart = new CalendarDate(this._calendarDate, this._primaryCalendarType);
|
|
290
|
+
const rangeEnd = new CalendarDate(this._calendarDate, this._primaryCalendarType);
|
|
291
|
+
rangeStart.setYear(this._currentPickerDOM._firstYear);
|
|
292
|
+
rangeEnd.setYear(this._currentPickerDOM._lastYear);
|
|
377
293
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
return CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType).toUTCJSDate().valueOf();
|
|
294
|
+
this._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;
|
|
295
|
+
} else {
|
|
296
|
+
this._headerYearButtonText = String(yearFormat.format(this._localDate, true));
|
|
382
297
|
}
|
|
383
|
-
return undefined;
|
|
384
298
|
}
|
|
385
299
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
300
|
+
/**
|
|
301
|
+
* The user clicked the "month" button in the header
|
|
302
|
+
*/
|
|
303
|
+
onHeaderShowMonthPress(event) {
|
|
304
|
+
this._currentPickerDOM._autoFocus = false;
|
|
305
|
+
this._currentPicker = "month";
|
|
306
|
+
this.fireEvent("show-month-press", event);
|
|
392
307
|
}
|
|
393
308
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
maxDate.setDate(tempDate.getDate());// 31st for Gregorian Calendar
|
|
402
|
-
return maxDate.valueOf();
|
|
309
|
+
/**
|
|
310
|
+
* The user clicked the "year" button in the header
|
|
311
|
+
*/
|
|
312
|
+
onHeaderShowYearPress(event) {
|
|
313
|
+
this._currentPickerDOM._autoFocus = false;
|
|
314
|
+
this._currentPicker = "year";
|
|
315
|
+
this.fireEvent("show-year-press", event);
|
|
403
316
|
}
|
|
404
317
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
this._showMonthPicker();
|
|
408
|
-
if (!this._yearPicker._hidden) {
|
|
409
|
-
this._hideYearPicker();
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
if (isF4Shift(event) && this._yearPicker._hidden) {
|
|
414
|
-
this._showYearPicker();
|
|
415
|
-
if (!this._monthPicker._hidden) {
|
|
416
|
-
this._hideMonthPicker();
|
|
417
|
-
}
|
|
418
|
-
}
|
|
318
|
+
get _currentPickerDOM() {
|
|
319
|
+
return this.shadowRoot.querySelector(`[ui5-${this._currentPicker}picker]`);
|
|
419
320
|
}
|
|
420
321
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
322
|
+
/**
|
|
323
|
+
* The year clicked the "Previous" button in the header
|
|
324
|
+
*/
|
|
325
|
+
onHeaderPreviousPress() {
|
|
326
|
+
this._currentPickerDOM._showPreviousPage();
|
|
425
327
|
}
|
|
426
328
|
|
|
427
|
-
|
|
428
|
-
|
|
329
|
+
/**
|
|
330
|
+
* The year clicked the "Next" button in the header
|
|
331
|
+
*/
|
|
332
|
+
onHeaderNextPress() {
|
|
333
|
+
this._currentPickerDOM._showNextPage();
|
|
429
334
|
}
|
|
430
335
|
|
|
431
|
-
|
|
432
|
-
if (
|
|
433
|
-
|
|
336
|
+
get secondaryCalendarTypeButtonText() {
|
|
337
|
+
if (!this.secondaryCalendarType) {
|
|
338
|
+
return;
|
|
434
339
|
}
|
|
435
340
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
this._primaryCalendarType
|
|
446
|
-
).getMonth();
|
|
447
|
-
|
|
448
|
-
oNewDate.setMonth(newMonthIndex);
|
|
449
|
-
this.timestamp = oNewDate.valueOf() / 1000;
|
|
450
|
-
|
|
451
|
-
this._hideMonthPicker();
|
|
452
|
-
|
|
453
|
-
this._focusFirstDayOfMonth(oNewDate);
|
|
341
|
+
const localDate = new Date(this._timestamp * 1000);
|
|
342
|
+
const secondYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType });
|
|
343
|
+
const secondMonthInfo = this._getDisplayedSecondaryMonthText();
|
|
344
|
+
const secondYearText = secondYearFormat.format(localDate, true);
|
|
345
|
+
return {
|
|
346
|
+
yearButtonText: secondYearText,
|
|
347
|
+
monthButtonText: secondMonthInfo.text,
|
|
348
|
+
monthButtonInfo: secondMonthInfo.info,
|
|
349
|
+
};
|
|
454
350
|
}
|
|
455
351
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
const
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
352
|
+
_getDisplayedSecondaryMonthText() {
|
|
353
|
+
const month = this._getDisplayedSecondaryMonths();
|
|
354
|
+
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
355
|
+
const pattern = localeData.getIntervalPattern();
|
|
356
|
+
const secondaryMonthsNames = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("abbreviated", this.secondaryCalendarType);
|
|
357
|
+
const secondaryMonthsNamesWide = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("wide", this.secondaryCalendarType);
|
|
358
|
+
|
|
359
|
+
if (month.startMonth === month.endMonth) {
|
|
360
|
+
return {
|
|
361
|
+
text: localeData.getMonths("abbreviated", this.secondaryCalendarType)[month.startMonth],
|
|
362
|
+
textInfo: localeData.getMonths("wide", this.secondaryCalendarType)[month.startMonth],
|
|
363
|
+
};
|
|
364
|
+
}
|
|
467
365
|
|
|
468
|
-
|
|
469
|
-
|
|
366
|
+
return {
|
|
367
|
+
text: pattern.replace(/\{0\}/, secondaryMonthsNames[month.startMonth]).replace(/\{1\}/, secondaryMonthsNames[month.endMonth]),
|
|
368
|
+
textInfo: pattern.replace(/\{0\}/, secondaryMonthsNamesWide[month.startMonth]).replace(/\{1\}/, secondaryMonthsNamesWide[month.endMonth]),
|
|
369
|
+
};
|
|
470
370
|
}
|
|
471
371
|
|
|
472
|
-
|
|
473
|
-
const
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
);
|
|
477
|
-
|
|
478
|
-
oNewDate.setDate(1);
|
|
479
|
-
|
|
480
|
-
this.timestamp = oNewDate.valueOf() / 1000;
|
|
372
|
+
_getDisplayedSecondaryMonths() {
|
|
373
|
+
const localDate = new Date(this._timestamp * 1000);
|
|
374
|
+
let firstDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
|
|
375
|
+
firstDate.setDate(1);
|
|
376
|
+
firstDate = new CalendarDate(firstDate, this.secondaryCalendarType);
|
|
377
|
+
const startMonth = firstDate.getMonth();
|
|
481
378
|
|
|
482
|
-
this.
|
|
379
|
+
let lastDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
|
|
380
|
+
lastDate.setDate(this._getDaysInMonth(lastDate));
|
|
381
|
+
lastDate = new CalendarDate(lastDate, this.secondaryCalendarType);
|
|
382
|
+
const endMonth = lastDate.getMonth();
|
|
483
383
|
|
|
484
|
-
|
|
384
|
+
return { startMonth, endMonth };
|
|
485
385
|
}
|
|
486
386
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
387
|
+
_getDaysInMonth(date) {
|
|
388
|
+
const tempCalendarDate = new CalendarDate(date);
|
|
389
|
+
tempCalendarDate.setDate(1);
|
|
390
|
+
tempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);
|
|
391
|
+
tempCalendarDate.setDate(0);
|
|
392
|
+
return tempCalendarDate.getDate();
|
|
492
393
|
}
|
|
493
394
|
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
395
|
+
/**
|
|
396
|
+
* The month button is hidden when the month picker or year picker is shown
|
|
397
|
+
* @returns {boolean}
|
|
398
|
+
* @private
|
|
399
|
+
*/
|
|
400
|
+
get _isHeaderMonthButtonHidden() {
|
|
401
|
+
return this._currentPicker === "month" || this._currentPicker === "year";
|
|
498
402
|
}
|
|
499
403
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
this._showPrevMonth();
|
|
503
|
-
} else if (this._monthPicker._hidden && !this._yearPicker._hidden) {
|
|
504
|
-
this._showPrevPageYears();
|
|
505
|
-
} else if (!this._monthPicker._hidden && this._yearPicker._hidden) {
|
|
506
|
-
this._showPrevYear();
|
|
507
|
-
}
|
|
404
|
+
get _isDayPickerHidden() {
|
|
405
|
+
return this._currentPicker !== "day";
|
|
508
406
|
}
|
|
509
407
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
this._showNextMonth();
|
|
513
|
-
} else if (this._monthPicker._hidden && !this._yearPicker._hidden) {
|
|
514
|
-
this._showNextPageYears();
|
|
515
|
-
} else if (!this._monthPicker._hidden && this._yearPicker._hidden) {
|
|
516
|
-
this._showNextYear();
|
|
517
|
-
}
|
|
408
|
+
get _isMonthPickerHidden() {
|
|
409
|
+
return this._currentPicker !== "month";
|
|
518
410
|
}
|
|
519
411
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
const maxCalendarDateYear = CalendarDate.fromTimestamp(this._getMaxCalendarDate(), this._primaryCalendarType).getYear();
|
|
523
|
-
nextMonth.setDate(1);
|
|
524
|
-
nextMonth.setMonth(nextMonth.getMonth() + 1);
|
|
525
|
-
|
|
526
|
-
if (nextMonth.getYear() > maxCalendarDateYear) {
|
|
527
|
-
return;
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
if (!this.isInValidRange(nextMonth.toLocalJSDate().valueOf())) {
|
|
531
|
-
return;
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
this._focusFirstDayOfMonth(nextMonth);
|
|
535
|
-
this.timestamp = nextMonth.valueOf() / 1000;
|
|
412
|
+
get _isYearPickerHidden() {
|
|
413
|
+
return this._currentPicker !== "year";
|
|
536
414
|
}
|
|
537
415
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
// focus first day of the month
|
|
545
|
-
const dayPicker = this.shadowRoot.querySelector("[ui5-daypicker]");
|
|
546
|
-
const currentMonthDate = dayPicker._calendarDate.setMonth(dayPicker._calendarDate.getMonth());
|
|
547
|
-
const lastMonthDate = dayPicker._calendarDate.setMonth(dayPicker._calendarDate.getMonth() - 1);
|
|
548
|
-
|
|
549
|
-
// set the date to last day of last month
|
|
550
|
-
currentMonthDate.setDate(-1);
|
|
551
|
-
|
|
552
|
-
// find the index of the last day
|
|
553
|
-
let lastDayOfMonthIndex = -1;
|
|
554
|
-
|
|
555
|
-
if (!this.isInValidRange(currentMonthDate.toLocalJSDate().valueOf())) {
|
|
556
|
-
return;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
dayPicker._getVisibleDays(lastMonthDate).forEach((date, index) => {
|
|
560
|
-
const isSameDate = currentMonthDate.getDate() === date.getDate();
|
|
561
|
-
const isSameMonth = currentMonthDate.getMonth() === date.getMonth();
|
|
562
|
-
|
|
563
|
-
if (isSameDate && isSameMonth) {
|
|
564
|
-
lastDayOfMonthIndex = (index + 1);
|
|
565
|
-
}
|
|
416
|
+
onSelectedDatesChange(event) {
|
|
417
|
+
const timestamp = event.detail.timestamp;
|
|
418
|
+
const selectedDates = event.detail.dates;
|
|
419
|
+
const datesValues = selectedDates.map(ts => {
|
|
420
|
+
const calendarDate = CalendarDate.fromTimestamp(ts * 1000, this._primaryCalendarType);
|
|
421
|
+
return this.getFormat().format(calendarDate.toUTCJSDate(), true);
|
|
566
422
|
});
|
|
567
423
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
if (
|
|
571
|
-
|
|
572
|
-
const lastDay = dayPicker.shadowRoot.querySelector(".ui5-dp-content").children[parseInt(lastDayOfMonthIndex / weekDaysCount) + 1].children[(lastDayOfMonthIndex % weekDaysCount)];
|
|
573
|
-
|
|
574
|
-
// update current item in ItemNavigation
|
|
575
|
-
dayPicker._itemNav.current = lastDayOfMonthIndex;
|
|
576
|
-
|
|
577
|
-
// focus the item
|
|
578
|
-
lastDay.focus();
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
if (iNewMonth > 11) {
|
|
582
|
-
iNewMonth = 0;
|
|
583
|
-
iNewYear = this._calendarDate.getYear() + 1;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
if (iNewMonth < 0) {
|
|
587
|
-
iNewMonth = 11;
|
|
588
|
-
iNewYear = this._calendarDate.getYear() - 1;
|
|
424
|
+
this.timestamp = timestamp;
|
|
425
|
+
const defaultPrevented = !this.fireEvent("selected-dates-change", { timestamp, dates: [...selectedDates], values: datesValues }, true);
|
|
426
|
+
if (!defaultPrevented) {
|
|
427
|
+
this._setSelectedDates(selectedDates);
|
|
589
428
|
}
|
|
590
|
-
|
|
591
|
-
const oNewDate = this._calendarDate;
|
|
592
|
-
oNewDate.setYear(iNewYear);
|
|
593
|
-
oNewDate.setMonth(iNewMonth);
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
if (oNewDate.getYear() < minCalendarDateYear) {
|
|
597
|
-
return;
|
|
598
|
-
}
|
|
599
|
-
this.timestamp = oNewDate.valueOf() / 1000;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
_showNextYear() {
|
|
603
|
-
const maxCalendarDateYear = CalendarDate.fromTimestamp(this._getMaxCalendarDate(), this._primaryCalendarType).getYear();
|
|
604
|
-
if (this._calendarDate.getYear() === maxCalendarDateYear) {
|
|
605
|
-
return;
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
const newDate = this._calendarDate;
|
|
609
|
-
newDate.setYear(this._calendarDate.getYear() + 1);
|
|
610
|
-
|
|
611
|
-
this.timestamp = newDate.valueOf() / 1000;
|
|
612
429
|
}
|
|
613
430
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
const oNewDate = this._calendarDate;
|
|
621
|
-
oNewDate.setYear(this._calendarDate.getYear() - 1);
|
|
622
|
-
|
|
623
|
-
this.timestamp = oNewDate.valueOf() / 1000;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
_showNextPageYears() {
|
|
627
|
-
if (!this._isYearInRange(this._yearPicker.timestamp,
|
|
628
|
-
YearPicker._ITEMS_COUNT - YearPicker._MIDDLE_ITEM_INDEX,
|
|
629
|
-
CalendarDate.fromTimestamp(this._minDate, this._primaryCalendarType).getYear(),
|
|
630
|
-
CalendarDate.fromTimestamp(this._maxDate, this._primaryCalendarType).getYear())) {
|
|
631
|
-
return;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
const newDate = CalendarDate.fromTimestamp(this._yearPicker.timestamp * 1000, this._primaryCalendarType);
|
|
635
|
-
newDate.setYear(newDate.getYear() + YearPicker._ITEMS_COUNT);
|
|
636
|
-
|
|
637
|
-
this._yearPicker = Object.assign({}, this._yearPicker, {
|
|
638
|
-
timestamp: newDate.valueOf() / 1000,
|
|
639
|
-
});
|
|
640
|
-
|
|
641
|
-
this.timestamp = this._yearPicker.timestamp;
|
|
642
|
-
|
|
643
|
-
this._isShiftingYears = true;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
_showPrevPageYears() {
|
|
647
|
-
if (!this._isYearInRange(this._yearPicker.timestamp,
|
|
648
|
-
-YearPicker._MIDDLE_ITEM_INDEX - 1,
|
|
649
|
-
CalendarDate.fromTimestamp(this._minDate, this._primaryCalendarType).getYear(),
|
|
650
|
-
CalendarDate.fromTimestamp(this._maxDate, this._primaryCalendarType).getYear())) {
|
|
651
|
-
return;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
const newDate = CalendarDate.fromTimestamp(this._yearPicker.timestamp * 1000, this._primaryCalendarType);
|
|
655
|
-
newDate.setYear(newDate.getYear() - YearPicker._ITEMS_COUNT);
|
|
656
|
-
|
|
657
|
-
this._yearPicker = Object.assign({}, this._yearPicker, {
|
|
658
|
-
timestamp: newDate.valueOf() / 1000,
|
|
659
|
-
});
|
|
660
|
-
|
|
661
|
-
this.timestamp = this._yearPicker.timestamp;
|
|
662
|
-
|
|
663
|
-
this._isShiftingYears = true;
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
_showMonthPicker() {
|
|
667
|
-
this._monthPicker = Object.assign({}, this._monthPicker);
|
|
668
|
-
this._oMonth = Object.assign({}, this._oMonth);
|
|
669
|
-
|
|
670
|
-
this._monthPicker.timestamp = this._timestamp;
|
|
671
|
-
this._monthPicker._hidden = false;
|
|
672
|
-
this._oMonth._hidden = true;
|
|
673
|
-
|
|
674
|
-
const calendarRect = this.shadowRoot.querySelector(".ui5-cal-root").getBoundingClientRect();
|
|
675
|
-
|
|
676
|
-
this._calendarWidth = calendarRect.width.toString();
|
|
677
|
-
this._calendarHeight = calendarRect.height.toString();
|
|
678
|
-
this._header._isMonthButtonHidden = true;
|
|
431
|
+
onSelectedMonthChange(event) {
|
|
432
|
+
this.timestamp = event.detail.timestamp;
|
|
433
|
+
this._currentPicker = "day";
|
|
434
|
+
this._currentPickerDOM._autoFocus = true;
|
|
679
435
|
}
|
|
680
436
|
|
|
681
|
-
|
|
682
|
-
this.
|
|
683
|
-
this.
|
|
684
|
-
|
|
685
|
-
this._yearPicker.timestamp = this._timestamp;
|
|
686
|
-
this._yearPicker._selectedYear = this._calendarDate.getYear();
|
|
687
|
-
this._yearPicker._hidden = false;
|
|
688
|
-
this._oMonth._hidden = true;
|
|
689
|
-
|
|
690
|
-
const calendarRect = this.shadowRoot.querySelector(".ui5-cal-root").getBoundingClientRect();
|
|
691
|
-
|
|
692
|
-
this._calendarWidth = calendarRect.width.toString();
|
|
693
|
-
this._calendarHeight = calendarRect.height.toString();
|
|
437
|
+
onSelectedYearChange(event) {
|
|
438
|
+
this.timestamp = event.detail.timestamp;
|
|
439
|
+
this._currentPicker = "day";
|
|
440
|
+
this._currentPickerDOM._autoFocus = true;
|
|
694
441
|
}
|
|
695
442
|
|
|
696
|
-
|
|
697
|
-
this.
|
|
698
|
-
this._oMonth = Object.assign({}, this._oMonth);
|
|
699
|
-
|
|
700
|
-
if (this._yearPicker._hidden) {
|
|
701
|
-
this._oMonth._hidden = false;
|
|
702
|
-
}
|
|
703
|
-
this._monthPicker._hidden = true;
|
|
704
|
-
this._header._isMonthButtonHidden = false;
|
|
443
|
+
onNavigate(event) {
|
|
444
|
+
this.timestamp = event.detail.timestamp;
|
|
705
445
|
}
|
|
706
446
|
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
if (this._monthPicker._hidden) {
|
|
712
|
-
this._oMonth._hidden = false;
|
|
447
|
+
_onkeydown(event) {
|
|
448
|
+
if (isF4(event) && this._currentPicker !== "month") {
|
|
449
|
+
this._currentPicker = "month";
|
|
713
450
|
}
|
|
714
|
-
this._yearPicker._hidden = true;
|
|
715
|
-
}
|
|
716
451
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
const oCalDate = CalendarDate.fromTimestamp(timestamp * 1000, this._primaryCalendarType);
|
|
720
|
-
oCalDate.setMonth(0);
|
|
721
|
-
oCalDate.setDate(1);
|
|
722
|
-
oCalDate.setYear(oCalDate.getYear() + yearsoffset);
|
|
723
|
-
return oCalDate.getYear() >= minYear && oCalDate.getYear() <= maxYear;
|
|
452
|
+
if (isF4Shift(event) && this._currentPicker !== "year") {
|
|
453
|
+
this._currentPicker = "year";
|
|
724
454
|
}
|
|
725
455
|
}
|
|
726
456
|
|
|
727
|
-
get classes() {
|
|
728
|
-
return {
|
|
729
|
-
main: {
|
|
730
|
-
"ui5-cal-root": true,
|
|
731
|
-
},
|
|
732
|
-
dayPicker: {
|
|
733
|
-
".ui5-daypicker--hidden": !this._yearPicker._hidden || !this._monthPicker._hidden,
|
|
734
|
-
},
|
|
735
|
-
yearPicker: {
|
|
736
|
-
"ui5-yearpicker--hidden": this._yearPicker._hidden,
|
|
737
|
-
},
|
|
738
|
-
monthPicker: {
|
|
739
|
-
"ui5-monthpicker--hidden": this._monthPicker._hidden,
|
|
740
|
-
},
|
|
741
|
-
};
|
|
742
|
-
}
|
|
743
|
-
|
|
744
457
|
/**
|
|
745
|
-
*
|
|
746
|
-
* @
|
|
747
|
-
* @
|
|
458
|
+
* Returns an array of UTC timestamps, representing the selected dates.
|
|
459
|
+
* @protected
|
|
460
|
+
* @deprecated
|
|
748
461
|
*/
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
minDate = this._minDate && new Date(this._minDate),
|
|
752
|
-
maxDate = this._maxDate && new Date(this._maxDate);
|
|
753
|
-
|
|
754
|
-
if (minDate && maxDate) {
|
|
755
|
-
if (minDate <= pickedDate && maxDate >= pickedDate) {
|
|
756
|
-
return true;
|
|
757
|
-
}
|
|
758
|
-
} else if (minDate && !maxDate) {
|
|
759
|
-
if (minDate <= pickedDate) {
|
|
760
|
-
return true;
|
|
761
|
-
}
|
|
762
|
-
} else if (maxDate && !minDate) {
|
|
763
|
-
if (maxDate >= pickedDate) {
|
|
764
|
-
return true;
|
|
765
|
-
}
|
|
766
|
-
} else if (!maxDate && !minDate) {
|
|
767
|
-
return true;
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
return false;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
getFormat() {
|
|
774
|
-
if (this._isPattern) {
|
|
775
|
-
this._oDateFormat = DateFormat.getInstance({
|
|
776
|
-
pattern: this._formatPattern,
|
|
777
|
-
calendarType: this._primaryCalendarType,
|
|
778
|
-
});
|
|
779
|
-
} else {
|
|
780
|
-
this._oDateFormat = DateFormat.getInstance({
|
|
781
|
-
style: this._formatPattern,
|
|
782
|
-
calendarType: this._primaryCalendarType,
|
|
783
|
-
});
|
|
784
|
-
}
|
|
785
|
-
return this._oDateFormat;
|
|
462
|
+
get selectedDates() {
|
|
463
|
+
return this._selectedDatesTimestamps;
|
|
786
464
|
}
|
|
787
465
|
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
466
|
+
/**
|
|
467
|
+
* Creates instances of <code>ui5-date</code> inside this <code>ui5-calendar</code> with values, equal to the provided UTC timestamps
|
|
468
|
+
* @protected
|
|
469
|
+
* @deprecated
|
|
470
|
+
* @param selectedDates Array of UTC timestamps
|
|
471
|
+
*/
|
|
472
|
+
set selectedDates(selectedDates) {
|
|
473
|
+
this._setSelectedDates(selectedDates);
|
|
795
474
|
}
|
|
796
475
|
|
|
797
476
|
static get dependencies() {
|
|
798
477
|
return [
|
|
478
|
+
CalendarDateComponent.default,
|
|
799
479
|
CalendarHeader,
|
|
800
480
|
DayPicker,
|
|
801
481
|
MonthPicker,
|
|
802
482
|
YearPicker,
|
|
803
483
|
];
|
|
804
484
|
}
|
|
805
|
-
|
|
806
|
-
static async onDefine() {
|
|
807
|
-
await fetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript());
|
|
808
|
-
}
|
|
809
485
|
}
|
|
810
486
|
|
|
811
487
|
Calendar.define();
|