@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/DateRangePicker.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
3
|
-
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
1
|
+
import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
|
|
4
2
|
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
5
|
-
import
|
|
3
|
+
import modifyDateBy from "@ui5/webcomponents-localization/dist/dates/modifyDateBy.js";
|
|
4
|
+
import getTodayUTCTimestamp from "@ui5/webcomponents-localization/dist/dates/getTodayUTCTimestamp.js";
|
|
5
|
+
import { DATERANGE_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
|
|
6
6
|
|
|
7
7
|
// Styles
|
|
8
8
|
import DateRangePickerCss from "./generated/themes/DateRangePicker.css.js";
|
|
@@ -16,38 +16,24 @@ const metadata = {
|
|
|
16
16
|
properties: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
|
|
17
17
|
/**
|
|
18
18
|
* Determines the symbol which separates the dates.
|
|
19
|
+
* If not supplied, the default time interval delimiter for the current locale will be used.
|
|
19
20
|
*
|
|
20
21
|
* @type {string}
|
|
21
|
-
* @defaultvalue "-"
|
|
22
22
|
* @public
|
|
23
23
|
*/
|
|
24
24
|
delimiter: {
|
|
25
25
|
type: String,
|
|
26
26
|
defaultValue: "-",
|
|
27
27
|
},
|
|
28
|
+
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
-
* @type {number}
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
_firstDateTimestamp: {
|
|
34
|
-
type: Integer,
|
|
35
|
-
},
|
|
36
|
-
/**
|
|
37
|
-
* Defines the UNIX timestamp of the second date- seconds since 00:00:00 UTC on Jan 1, 1970.
|
|
38
|
-
* @type {number}
|
|
30
|
+
* The first date in the range during selection (this is a temporary value, not the first date in the value range)
|
|
39
31
|
* @private
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
type:
|
|
32
|
+
*/
|
|
33
|
+
_tempValue: {
|
|
34
|
+
type: String,
|
|
43
35
|
},
|
|
44
36
|
},
|
|
45
|
-
slots: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
|
|
46
|
-
//
|
|
47
|
-
},
|
|
48
|
-
events: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
|
|
49
|
-
//
|
|
50
|
-
},
|
|
51
37
|
};
|
|
52
38
|
|
|
53
39
|
/**
|
|
@@ -62,7 +48,24 @@ const metadata = {
|
|
|
62
48
|
* For the <code>ui5-daterange-picker</code>
|
|
63
49
|
* <h3>ES6 Module Import</h3>
|
|
64
50
|
*
|
|
65
|
-
* <code>import @ui5/webcomponents/dist/DateRangePicker.js";</code>
|
|
51
|
+
* <code>import "@ui5/webcomponents/dist/DateRangePicker.js";</code>
|
|
52
|
+
*
|
|
53
|
+
* <h3>Keyboard Handling</h3>
|
|
54
|
+
* The <code>ui5-daterange-picker</code> provides advanced keyboard handling.
|
|
55
|
+
* <br>
|
|
56
|
+
*
|
|
57
|
+
* When the <code>ui5-daterange-picker</code> input field is focused the user can
|
|
58
|
+
* increment or decrement respectively the range start or end date, depending on where the cursor is.
|
|
59
|
+
* The following shortcuts are available:
|
|
60
|
+
* <br>
|
|
61
|
+
* <ul>
|
|
62
|
+
* <li>[PAGEDOWN] - Decrements the corresponding day of the month by one</li>
|
|
63
|
+
* <li>[SHIFT] + [PAGEDOWN] - Decrements the corresponding month by one</li>
|
|
64
|
+
* <li>[SHIFT] + [CTRL] + [PAGEDOWN] - Decrements the corresponding year by one</li>
|
|
65
|
+
* <li>[PAGEUP] - Increments the corresponding day of the month by one</li>
|
|
66
|
+
* <li>[SHIFT] + [PAGEUP] - Increments the corresponding month by one</li>
|
|
67
|
+
* <li>[SHIFT] + [CTRL] + [PAGEUP] - Increments the corresponding year by one</li>
|
|
68
|
+
* </ul>
|
|
66
69
|
*
|
|
67
70
|
* @constructor
|
|
68
71
|
* @author SAP SE
|
|
@@ -77,365 +80,246 @@ class DateRangePicker extends DatePicker {
|
|
|
77
80
|
return metadata;
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
static get render() {
|
|
81
|
-
return litRender;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
83
|
static get styles() {
|
|
85
84
|
return [DatePicker.styles, DateRangePickerCss];
|
|
86
85
|
}
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
return
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
constructor() {
|
|
93
|
-
super();
|
|
94
|
-
this.isFirstDatePick = true;
|
|
95
|
-
this._initialRendering = true;
|
|
96
|
-
this._oneTimeStampSelected = false; // Used to determine whether the first & last date is the same
|
|
97
|
-
this._dayPickerMouseoverHandler = this._itemMouseoverHandler.bind(this);
|
|
98
|
-
this._respPopoverConfig.beforeOpen = this.handleBeforeOpen;
|
|
99
|
-
this._respPopoverConfig.beforeClose = this.handleBeforeClose;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
async onAfterRendering() {
|
|
103
|
-
const daypicker = this.getDayPicker();
|
|
104
|
-
this._cleanHoveredAttributeFromVisibleItems(daypicker);
|
|
105
|
-
this._initialRendering = false;
|
|
87
|
+
get _startDateTimestamp() {
|
|
88
|
+
return this._extractFirstTimestamp(this.value);
|
|
106
89
|
}
|
|
107
90
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
daypicker.addEventListener("item-mouseover", this._dayPickerMouseoverHandler);
|
|
111
|
-
daypicker.addEventListener("daypickerrendered", this._keyboardNavigationHandler);
|
|
91
|
+
get _endDateTimestamp() {
|
|
92
|
+
return this._extractLastTimestamp(this.value);
|
|
112
93
|
}
|
|
113
94
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
daypicker.removeEventListener("item-mouseover", this._dayPickerMouseoverHandler);
|
|
117
|
-
daypicker.removeEventListener("daypickerrendered", this._keyboardNavigationHandler);
|
|
95
|
+
get _tempTimestamp() {
|
|
96
|
+
return this._tempValue && this.getFormat().parse(this._tempValue, true).getTime() / 1000;
|
|
118
97
|
}
|
|
119
98
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const firstDateTimestamp = event.target._selectedDates[0];
|
|
127
|
-
const lastDateTimestamp = event.detail.target.parentElement.dataset.sapTimestamp;
|
|
128
|
-
|
|
129
|
-
for (let i = 0; i < dayItems.length; i++) {
|
|
130
|
-
if ((dayItems[i].dataset.sapTimestamp < firstDateTimestamp && dayItems[i].dataset.sapTimestamp > lastDateTimestamp)
|
|
131
|
-
|| (dayItems[i].dataset.sapTimestamp > firstDateTimestamp && dayItems[i].dataset.sapTimestamp < lastDateTimestamp)) {
|
|
132
|
-
dayItems[i].setAttribute("hovered", "");
|
|
133
|
-
} else {
|
|
134
|
-
dayItems[i].removeAttribute("hovered");
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
_keyboardNavigationHandler(event) {
|
|
140
|
-
if (!event.detail.focusedItemIndex) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
const dayItems = event.target.shadowRoot.querySelectorAll(".ui5-dp-item");
|
|
145
|
-
const firstDateTimestamp = this._selectedDates[0];
|
|
146
|
-
const lastDateTimestamp = dayItems[event.detail.focusedItemIndex].dataset.sapTimestamp;
|
|
147
|
-
|
|
148
|
-
for (let i = 0; i < dayItems.length; i++) {
|
|
149
|
-
if ((dayItems[i].dataset.sapTimestamp < firstDateTimestamp && dayItems[i].dataset.sapTimestamp > lastDateTimestamp)
|
|
150
|
-
|| (dayItems[i].dataset.sapTimestamp > firstDateTimestamp && dayItems[i].dataset.sapTimestamp < lastDateTimestamp)) {
|
|
151
|
-
dayItems[i].setAttribute("hovered", "");
|
|
152
|
-
} else {
|
|
153
|
-
dayItems[i].removeAttribute("hovered");
|
|
154
|
-
}
|
|
155
|
-
}
|
|
99
|
+
/**
|
|
100
|
+
* Required by DatePicker.js
|
|
101
|
+
* @override
|
|
102
|
+
*/
|
|
103
|
+
get _calendarSelectionMode() {
|
|
104
|
+
return "Range";
|
|
156
105
|
}
|
|
157
106
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (this.delimiter) {
|
|
166
|
-
returnValue = String(value).split(this.delimiter);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return returnValue;
|
|
107
|
+
/**
|
|
108
|
+
* Required by DatePicker.js - set the calendar focus on the first selected date (or today if not set)
|
|
109
|
+
* @override
|
|
110
|
+
*/
|
|
111
|
+
get _calendarTimestamp() {
|
|
112
|
+
return this._tempTimestamp || this._startDateTimestamp || getTodayUTCTimestamp(this._primaryCalendarType);
|
|
170
113
|
}
|
|
171
114
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
if (
|
|
178
|
-
return this;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
if (!value) {
|
|
182
|
-
this.value = "";
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
dates = this._splitValueByDelimiter(value);
|
|
187
|
-
if (!isValid) {
|
|
188
|
-
this.valueState = ValueState.Error;
|
|
189
|
-
console.warn("Value can not be converted to a valid dates", this); // eslint-disable-line
|
|
190
|
-
return;
|
|
115
|
+
/**
|
|
116
|
+
* Required by DatePicker.js
|
|
117
|
+
* @override
|
|
118
|
+
*/
|
|
119
|
+
get _calendarSelectedDates() {
|
|
120
|
+
if (this._tempValue) {
|
|
121
|
+
return [this._tempValue];
|
|
191
122
|
}
|
|
192
|
-
this.
|
|
193
|
-
|
|
194
|
-
const firstDate = this.getFormat().parse(dates[0]);
|
|
195
|
-
const secondDate = this.getFormat().parse(dates[1]);
|
|
196
|
-
|
|
197
|
-
this._firstDateTimestamp = Date.UTC(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate(), firstDate.getHours()) / 1000;
|
|
198
|
-
this._lastDateTimestamp = Date.UTC(secondDate.getFullYear(), secondDate.getMonth(), secondDate.getDate(), secondDate.getHours()) / 1000;
|
|
199
|
-
|
|
200
|
-
if (this._firstDateTimestamp > this._lastDateTimestamp) {
|
|
201
|
-
const temp = this._firstDateTimestamp;
|
|
202
|
-
this._firstDateTimestamp = this._lastDateTimestamp;
|
|
203
|
-
this._lastDateTimestamp = temp;
|
|
123
|
+
if (this.value && this._checkValueValidity(this.value)) {
|
|
124
|
+
return this._splitValueByDelimiter(this.value);
|
|
204
125
|
}
|
|
205
|
-
|
|
206
|
-
this._calendar.selectedDates = this.dateIntervalArrayBuilder(this._firstDateTimestamp * 1000, this._lastDateTimestamp * 1000);
|
|
207
|
-
this.value = this._formatValue(this._firstDateTimestamp, this._lastDateTimestamp);
|
|
208
|
-
this.realValue = this.value;
|
|
209
|
-
this._prevValue = this.realValue;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
_changeCalendarSelection(focusTimestamp) {
|
|
213
|
-
if (this._calendarDate.getYear() < 1) {
|
|
214
|
-
// 0 is a valid year, but we cannot display it
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
const oCalDate = this._calendarDate,
|
|
219
|
-
timestamp = focusTimestamp || oCalDate.valueOf() / 1000,
|
|
220
|
-
dates = this._splitValueByDelimiter(this.realValue);
|
|
221
|
-
|
|
222
|
-
if (this._initialRendering) {
|
|
223
|
-
this._oneTimeStampSelected = dates[0].trim() === dates[1].trim();
|
|
224
|
-
this._setValue(this.realValue);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
this._calendar = Object.assign({}, this._calendar);
|
|
228
|
-
this._calendar.timestamp = timestamp;
|
|
229
|
-
if (this.realValue && this._checkValueValidity(this.realValue)) {
|
|
230
|
-
this._calendar.selectedDates = this.dateIntervalArrayBuilder(this._getTimeStampFromString(dates[0]), this._getTimeStampFromString(dates[1]));
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
get _calendarDate() {
|
|
235
|
-
const dates = this._splitValueByDelimiter(this.realValue),
|
|
236
|
-
value = this._checkValueValidity(this.realValue) ? dates[0] : this.getFormat().format(new Date()),
|
|
237
|
-
millisecondsUTCFirstDate = value ? this.getFormat().parse(value, true).getTime() : this.getFormat().parse(this.validValue, true).getTime(),
|
|
238
|
-
oCalDateFirst = CalendarDate.fromTimestamp(
|
|
239
|
-
millisecondsUTCFirstDate - (millisecondsUTCFirstDate % (24 * 60 * 60 * 1000)),
|
|
240
|
-
this._primaryCalendarType
|
|
241
|
-
);
|
|
242
|
-
|
|
243
|
-
return oCalDateFirst;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
get _shoudHideValueInInput() {
|
|
247
|
-
return this._firstDateTimestamp === this._lastDateTimestamp && this._firstDateTimestamp;
|
|
126
|
+
return [];
|
|
248
127
|
}
|
|
249
128
|
|
|
250
129
|
/**
|
|
251
|
-
*
|
|
130
|
+
* Returns the start date of the currently selected range as JavaScript Date instance.
|
|
252
131
|
*
|
|
253
132
|
* @readonly
|
|
254
133
|
* @type { Date }
|
|
255
134
|
* @public
|
|
256
135
|
*/
|
|
257
|
-
get
|
|
258
|
-
|
|
259
|
-
return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
|
|
136
|
+
get startDateValue() {
|
|
137
|
+
return CalendarDate.fromTimestamp(this._startDateTimestamp * 1000).toLocalJSDate();
|
|
260
138
|
}
|
|
261
139
|
|
|
262
140
|
/**
|
|
263
|
-
*
|
|
141
|
+
* Returns the end date of the currently selected range as JavaScript Date instance.
|
|
264
142
|
*
|
|
265
143
|
* @readonly
|
|
266
144
|
* @type { Date }
|
|
267
145
|
* @public
|
|
268
146
|
*/
|
|
269
|
-
get
|
|
270
|
-
|
|
271
|
-
return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
|
|
147
|
+
get endDateValue() {
|
|
148
|
+
return CalendarDate.fromTimestamp(this._endDateTimestamp * 1000).toLocalJSDate();
|
|
272
149
|
}
|
|
273
150
|
|
|
151
|
+
/**
|
|
152
|
+
* @override
|
|
153
|
+
*/
|
|
274
154
|
get _placeholder() {
|
|
275
|
-
return this.placeholder !== undefined ? this.placeholder : this._displayFormat
|
|
155
|
+
return this.placeholder !== undefined ? this.placeholder : `${this._displayFormat} ${this._effectiveDelimiter} ${this._displayFormat}`;
|
|
276
156
|
}
|
|
277
157
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
const calendar = this.responsivePopover.querySelector(`#${this._id}-calendar`);
|
|
281
|
-
return calendar.shadowRoot.querySelector(`#${calendar._id}-daypicker`);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
async _handleInputChange() {
|
|
285
|
-
const nextValue = await this._getInput().getInputValue();
|
|
286
|
-
const emptyValue = nextValue === "";
|
|
287
|
-
const isValid = emptyValue || this._checkValueValidity(nextValue);
|
|
288
|
-
const dates = this._splitValueByDelimiter(nextValue);
|
|
289
|
-
|
|
290
|
-
if (dates.length === 2) {
|
|
291
|
-
this._oneTimeStampSelected = dates[0].trim() === dates[1].trim();
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
if (isValid) {
|
|
295
|
-
this._setValue(nextValue);
|
|
296
|
-
this.valueState = ValueState.None;
|
|
297
|
-
} else {
|
|
298
|
-
this.valueState = ValueState.Error;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
this.fireEvent("change", { value: nextValue, valid: isValid });
|
|
302
|
-
// Angular two way data binding
|
|
303
|
-
this.fireEvent("value-changed", { value: nextValue, valid: isValid });
|
|
158
|
+
get dateAriaDescription() {
|
|
159
|
+
return DateRangePicker.i18nBundle.getText(DATERANGE_DESCRIPTION);
|
|
304
160
|
}
|
|
305
161
|
|
|
306
|
-
|
|
307
|
-
|
|
162
|
+
/**
|
|
163
|
+
* @override
|
|
164
|
+
*/
|
|
165
|
+
async _onInputSubmit(event) {
|
|
166
|
+
const input = this._getInput();
|
|
167
|
+
const caretPos = input.getCaretPosition();
|
|
168
|
+
await renderFinished();
|
|
169
|
+
input.setCaretPosition(caretPos); // Return the caret on the previous position after rendering
|
|
308
170
|
}
|
|
309
171
|
|
|
310
|
-
|
|
311
|
-
|
|
172
|
+
/**
|
|
173
|
+
* @override
|
|
174
|
+
*/
|
|
175
|
+
onResponsivePopoverAfterClose() {
|
|
176
|
+
this._tempValue = ""; // reset _tempValue on popover close
|
|
177
|
+
super.onResponsivePopoverAfterClose();
|
|
312
178
|
}
|
|
313
179
|
|
|
180
|
+
/**
|
|
181
|
+
* @override
|
|
182
|
+
*/
|
|
314
183
|
isValid(value) {
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
isLastDateValid = super.isValid(dateStrings[1]);
|
|
318
|
-
|
|
319
|
-
if (!dateStrings[1]) {
|
|
320
|
-
return isFirstDateValid;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
return isFirstDateValid && isLastDateValid;
|
|
184
|
+
const parts = this._splitValueByDelimiter(value);
|
|
185
|
+
return parts.length <= 2 && parts.every(dateString => super.isValid(dateString)); // must be at most 2 dates and each must be valid
|
|
324
186
|
}
|
|
325
187
|
|
|
188
|
+
/**
|
|
189
|
+
* @override
|
|
190
|
+
*/
|
|
326
191
|
isInValidRange(value) {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
isLastDateInValidRange = super.isInValidRange(this._getTimeStampFromString(dateStrings[1]));
|
|
192
|
+
return this._splitValueByDelimiter(value).every(dateString => super.isInValidRange(dateString));
|
|
193
|
+
}
|
|
330
194
|
|
|
331
|
-
|
|
332
|
-
|
|
195
|
+
/**
|
|
196
|
+
* Extract both dates as timestamps, flip if necessary, and build (which will use the desired format so we enforce the format too)
|
|
197
|
+
* @override
|
|
198
|
+
*/
|
|
199
|
+
normalizeValue(value) {
|
|
200
|
+
const firstDateTimestamp = this._extractFirstTimestamp(value);
|
|
201
|
+
const lastDateTimestamp = this._extractLastTimestamp(value);
|
|
202
|
+
if (firstDateTimestamp && lastDateTimestamp && firstDateTimestamp > lastDateTimestamp) { // if both are timestamps (not undefined), flip if necessary
|
|
203
|
+
return this._buildValue(lastDateTimestamp, firstDateTimestamp);
|
|
333
204
|
}
|
|
334
|
-
|
|
335
|
-
return isFirstDateInValidRange && isLastDateInValidRange;
|
|
205
|
+
return this._buildValue(firstDateTimestamp, lastDateTimestamp);
|
|
336
206
|
}
|
|
337
207
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
208
|
+
/**
|
|
209
|
+
* @override
|
|
210
|
+
*/
|
|
211
|
+
onSelectedDatesChange(event) {
|
|
212
|
+
event.preventDefault(); // never let the calendar update its own dates, the parent component controls them
|
|
213
|
+
const values = event.detail.values;
|
|
341
214
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
tempCalendarDate.setDate(tempCalendarDate.getDate() + 1);
|
|
215
|
+
if (values.length === 0) {
|
|
216
|
+
return;
|
|
345
217
|
}
|
|
346
218
|
|
|
347
|
-
|
|
219
|
+
if (values.length === 1) { // Do nothing until the user selects 2 dates, we don't change any state at all for one date
|
|
220
|
+
this._tempValue = values[0];
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
348
223
|
|
|
349
|
-
|
|
224
|
+
const newValue = this._buildValue(...event.detail.dates); // the value will be normalized so we don't need to order them here
|
|
225
|
+
this._updateValueAndFireEvents(newValue, true, ["change", "value-changed"]);
|
|
226
|
+
this.closePicker();
|
|
350
227
|
}
|
|
351
228
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
this.isFirstDatePick = true;
|
|
364
|
-
if (newValue < this._firstDateTimestamp) {
|
|
365
|
-
this._lastDateTimestamp = this._firstDateTimestamp;
|
|
366
|
-
this._firstDateTimestamp = newValue;
|
|
367
|
-
} else {
|
|
368
|
-
this._oneTimeStampSelected = newValue === this._firstDateTimestamp;
|
|
369
|
-
this._lastDateTimestamp = newValue;
|
|
370
|
-
}
|
|
371
|
-
const fireChange = this._handleCalendarSelectedDatesChange();
|
|
229
|
+
/**
|
|
230
|
+
* @override
|
|
231
|
+
*/
|
|
232
|
+
async _modifyDateValue(amount, unit) {
|
|
233
|
+
if (!this._endDateTimestamp) { // If empty or only one date -> treat as datepicker entirely
|
|
234
|
+
return super._modifyDateValue(amount, unit);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const input = this._getInput();
|
|
238
|
+
let caretPos = input.getCaretPosition();
|
|
239
|
+
let newValue;
|
|
372
240
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
241
|
+
if (caretPos <= this.value.indexOf(this._effectiveDelimiter)) { // The user is focusing the first date -> change it and keep the seoond date
|
|
242
|
+
const startDateModified = modifyDateBy(CalendarDate.fromTimestamp(this._startDateTimestamp * 1000), amount, unit, this._minDate, this._maxDate);
|
|
243
|
+
const newStartDateTimestamp = startDateModified.valueOf() / 1000;
|
|
244
|
+
if (newStartDateTimestamp > this._endDateTimestamp) { // dates flipped -> move the caret to the same position but on the last date
|
|
245
|
+
caretPos += Math.ceil(this.value.length / 2);
|
|
246
|
+
}
|
|
247
|
+
newValue = this._buildValue(newStartDateTimestamp, this._endDateTimestamp); // the value will be normalized so we don't try to order them here
|
|
248
|
+
} else {
|
|
249
|
+
const endDateModified = modifyDateBy(CalendarDate.fromTimestamp(this._endDateTimestamp * 1000), amount, unit, this._minDate, this._maxDate);
|
|
250
|
+
const newEndDateTimestamp = endDateModified.valueOf() / 1000;
|
|
251
|
+
newValue = this._buildValue(this._startDateTimestamp, newEndDateTimestamp); // the value will be normalized so we don't try to order them here
|
|
252
|
+
if (newEndDateTimestamp < this._startDateTimestamp) { // dates flipped -> move the caret to the same position but on the first date
|
|
253
|
+
caretPos -= Math.ceil(this.value.length / 2);
|
|
377
254
|
}
|
|
378
255
|
}
|
|
256
|
+
this._updateValueAndFireEvents(newValue, true, ["change", "value-changed"]);
|
|
257
|
+
|
|
258
|
+
await renderFinished();
|
|
259
|
+
input.setCaretPosition(caretPos); // Return the caret to the previous (or the adjusted, if dates flipped) position after rendering
|
|
379
260
|
}
|
|
380
261
|
|
|
381
|
-
|
|
382
|
-
this.
|
|
383
|
-
|
|
262
|
+
get _effectiveDelimiter() {
|
|
263
|
+
return this.delimiter || this.constructor.getMetadata().getProperties().delimiter.defaultValue; // treat empty string as the default value
|
|
264
|
+
}
|
|
384
265
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
266
|
+
_splitValueByDelimiter(value) {
|
|
267
|
+
const valuesArray = [];
|
|
268
|
+
const partsArray = value.split(this._effectiveDelimiter);
|
|
388
269
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
} else {
|
|
392
|
-
this.valueState = ValueState.Error;
|
|
393
|
-
}
|
|
270
|
+
valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);
|
|
271
|
+
valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);
|
|
394
272
|
|
|
395
|
-
return
|
|
273
|
+
return valuesArray;
|
|
396
274
|
}
|
|
397
275
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
276
|
+
/**
|
|
277
|
+
* Returns a UTC timestamp, representing the first date in the value string or undefined if the value is empty
|
|
278
|
+
* @private
|
|
279
|
+
*/
|
|
280
|
+
_extractFirstTimestamp(value) {
|
|
281
|
+
if (!value || !this._checkValueValidity(value)) {
|
|
282
|
+
return undefined;
|
|
401
283
|
}
|
|
402
284
|
|
|
403
|
-
const
|
|
404
|
-
|
|
285
|
+
const dateStrings = this._splitValueByDelimiter(value); // at least one item guaranteed due to the checks above (non-empty and valid)
|
|
286
|
+
return this.getFormat().parse(dateStrings[0], true).getTime() / 1000;
|
|
287
|
+
}
|
|
405
288
|
|
|
406
|
-
|
|
407
|
-
|
|
289
|
+
/**
|
|
290
|
+
* Returns a UTC timestamp, representing the last date in the value string or undefined if the value is empty or there is just one date
|
|
291
|
+
* @private
|
|
292
|
+
*/
|
|
293
|
+
_extractLastTimestamp(value) {
|
|
294
|
+
if (!value || !this._checkValueValidity(value)) {
|
|
295
|
+
return undefined;
|
|
408
296
|
}
|
|
409
|
-
}
|
|
410
297
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
this.value = this._formatValue(this._firstDateTimestamp, this._lastDateTimestamp);
|
|
298
|
+
const dateStrings = this._splitValueByDelimiter(value);
|
|
299
|
+
if (dateStrings[1]) {
|
|
300
|
+
return this.getFormat().parse(dateStrings[1], true).getTime() / 1000;
|
|
415
301
|
}
|
|
416
302
|
|
|
417
|
-
|
|
418
|
-
this._prevValue = this.realValue;
|
|
303
|
+
return undefined;
|
|
419
304
|
}
|
|
420
305
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
firstDateString =
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
if (delimiter && delimiter !== "" && lastDateString) {
|
|
432
|
-
value = firstDateString.concat(" ", delimiter, " ", lastDateString);
|
|
433
|
-
} else {
|
|
434
|
-
value = firstDateString;
|
|
306
|
+
/**
|
|
307
|
+
* Builds a string value out of two UTC timestamps - this method is the counterpart to _extractFirstTimestamp/_extractLastTimestamp
|
|
308
|
+
* @private
|
|
309
|
+
*/
|
|
310
|
+
_buildValue(firstDateTimestamp, lastDateTimestamp) {
|
|
311
|
+
if (firstDateTimestamp) {
|
|
312
|
+
const firstDateString = this._getStringFromTimestamp(firstDateTimestamp * 1000);
|
|
313
|
+
|
|
314
|
+
if (!lastDateTimestamp) {
|
|
315
|
+
return firstDateString;
|
|
435
316
|
}
|
|
317
|
+
|
|
318
|
+
const lastDateString = this._getStringFromTimestamp(lastDateTimestamp * 1000);
|
|
319
|
+
return `${firstDateString} ${this._effectiveDelimiter} ${lastDateString}`;
|
|
436
320
|
}
|
|
437
321
|
|
|
438
|
-
return
|
|
322
|
+
return "";
|
|
439
323
|
}
|
|
440
324
|
}
|
|
441
325
|
|