@ui5/webcomponents 2.16.0-rc.1 → 2.16.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Button.js +5 -3
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +9 -9
- package/dist/Calendar.js +46 -38
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarHeaderTemplate.js +3 -3
- package/dist/CalendarHeaderTemplate.js.map +1 -1
- package/dist/ComboBox.js +1 -1
- package/dist/ComboBox.js.map +1 -1
- package/dist/DatePicker.d.ts +2 -0
- package/dist/DatePicker.js +45 -5
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +4 -0
- package/dist/DateRangePicker.js +40 -10
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +2 -0
- package/dist/DateTimePicker.js +27 -1
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPickerTemplate.js +1 -1
- package/dist/DayPickerTemplate.js.map +1 -1
- package/dist/DynamicDateRange.d.ts +5 -1
- package/dist/DynamicDateRange.js +11 -2
- package/dist/DynamicDateRange.js.map +1 -1
- package/dist/FileUploader.d.ts +2 -0
- package/dist/FileUploader.js +13 -1
- package/dist/FileUploader.js.map +1 -1
- package/dist/Form.d.ts +1 -0
- package/dist/Form.js +3 -2
- package/dist/Form.js.map +1 -1
- package/dist/FormGroup.d.ts +11 -0
- package/dist/FormGroup.js +23 -2
- package/dist/FormGroup.js.map +1 -1
- package/dist/FormTemplate.js +1 -1
- package/dist/FormTemplate.js.map +1 -1
- package/dist/MonthPicker.d.ts +6 -1
- package/dist/MonthPicker.js +13 -5
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MonthPickerTemplate.js +1 -1
- package/dist/MonthPickerTemplate.js.map +1 -1
- package/dist/MultiInput.js +1 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/StepInput.d.ts +2 -0
- package/dist/StepInput.js +24 -4
- package/dist/StepInput.js.map +1 -1
- package/dist/Table.d.ts +22 -4
- package/dist/Table.js +27 -5
- package/dist/Table.js.map +1 -1
- package/dist/TableCellBase.d.ts +1 -2
- package/dist/TableCellBase.js +1 -4
- package/dist/TableCellBase.js.map +1 -1
- package/dist/TableCustomAnnouncement.js +4 -1
- package/dist/TableCustomAnnouncement.js.map +1 -1
- package/dist/TableHeaderCell.d.ts +1 -1
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderRowTemplate.js +4 -2
- package/dist/TableHeaderRowTemplate.js.map +1 -1
- package/dist/TableRow.js +3 -3
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowBase.d.ts +1 -0
- package/dist/TableRowBase.js +5 -1
- package/dist/TableRowBase.js.map +1 -1
- package/dist/TableRowTemplate.js +4 -2
- package/dist/TableRowTemplate.js.map +1 -1
- package/dist/TableSelection.js +1 -1
- package/dist/TableSelection.js.map +1 -1
- package/dist/TableSelectionMulti.js +1 -1
- package/dist/TableSelectionMulti.js.map +1 -1
- package/dist/TableTemplate.js +3 -6
- package/dist/TableTemplate.js.map +1 -1
- package/dist/TimePicker.d.ts +6 -0
- package/dist/TimePicker.js +23 -3
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerTemplate.js +1 -1
- package/dist/TimePickerTemplate.js.map +1 -1
- package/dist/Token.d.ts +0 -1
- package/dist/Token.js +0 -4
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.js +5 -0
- package/dist/Tokenizer.js.map +1 -1
- package/dist/YearPicker.d.ts +0 -1
- package/dist/YearPicker.js +0 -5
- package/dist/YearPicker.js.map +1 -1
- package/dist/YearRangePicker.d.ts +0 -1
- package/dist/YearRangePicker.js +0 -5
- package/dist/YearRangePicker.js.map +1 -1
- package/dist/bundle.esm.js +3 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ButtonBadge.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/DynamicDateRange.css +1 -1
- package/dist/css/themes/DynamicDateRangePopover.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxItem.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableGrowing.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowActionBase.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarButton.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/ToolbarSeparator.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/ValueStateVariables.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/YearRangePicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +111 -2
- package/dist/custom-elements.json +103 -2
- package/dist/dynamic-date-range-options/DateTimeRange.d.ts +25 -0
- package/dist/dynamic-date-range-options/DateTimeRange.js +82 -0
- package/dist/dynamic-date-range-options/DateTimeRange.js.map +1 -0
- package/dist/dynamic-date-range-options/DateTimeRangeTemplate.d.ts +2 -0
- package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js +38 -0
- package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js.map +1 -0
- package/dist/dynamic-date-range-options/FromDateTime.d.ts +36 -0
- package/dist/dynamic-date-range-options/FromDateTime.js +136 -0
- package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -0
- package/dist/dynamic-date-range-options/FromDateTimeTemplate.d.ts +2 -0
- package/dist/dynamic-date-range-options/FromDateTimeTemplate.js +24 -0
- package/dist/dynamic-date-range-options/FromDateTimeTemplate.js.map +1 -0
- package/dist/dynamic-date-range-options/ToDateTime.d.ts +36 -0
- package/dist/dynamic-date-range-options/ToDateTime.js +136 -0
- package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -0
- package/dist/dynamic-date-range-options/toDates.d.ts +3 -1
- package/dist/dynamic-date-range-options/toDates.js +25 -1
- package/dist/dynamic-date-range-options/toDates.js.map +1 -1
- 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_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- 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 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- 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 -1
- 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_id.json +1 -1
- 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_mk.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 -1
- 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_sr.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_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 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +28 -1
- package/dist/generated/i18n/i18n-defaults.js +30 -3
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
- package/dist/generated/themes/ButtonBadge.css.js +1 -1
- package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.d.ts +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.d.ts +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.d.ts +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.d.ts +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.d.ts +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.d.ts +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.d.ts +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.d.ts +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.d.ts +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.d.ts +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.d.ts +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.d.ts +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.d.ts +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.d.ts +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.d.ts +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.d.ts +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.d.ts +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.d.ts +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.d.ts +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.d.ts +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
- package/dist/generated/themes/TableGrowing.css.js +1 -1
- package/dist/generated/themes/TableGrowing.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.d.ts +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.d.ts +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.d.ts +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.d.ts +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarButton.css.js +1 -1
- package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.d.ts +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.d.ts +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
- package/dist/generated/themes/YearRangePicker.css.js +1 -1
- package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +12 -2
- package/dist/web-types.json +23 -3
- package/package.json +10 -10
- package/src/CalendarHeaderTemplate.tsx +3 -3
- package/src/DayPickerTemplate.tsx +0 -2
- package/src/FormTemplate.tsx +1 -1
- package/src/MonthPickerTemplate.tsx +1 -0
- package/src/TableHeaderRowTemplate.tsx +8 -9
- package/src/TableRowTemplate.tsx +5 -1
- package/src/TableTemplate.tsx +4 -20
- package/src/TimePickerTemplate.tsx +1 -0
- package/src/dynamic-date-range-options/DateTimeRangeTemplate.tsx +62 -0
- package/src/dynamic-date-range-options/FromDateTimeTemplate.tsx +53 -0
- package/src/i18n/messagebundle.properties +61 -2
- package/src/i18n/messagebundle_ar.properties +18 -6
- package/src/i18n/messagebundle_bg.properties +18 -6
- package/src/i18n/messagebundle_ca.properties +19 -7
- package/src/i18n/messagebundle_cnr.properties +18 -6
- package/src/i18n/messagebundle_cs.properties +18 -6
- package/src/i18n/messagebundle_cy.properties +18 -6
- package/src/i18n/messagebundle_da.properties +18 -6
- package/src/i18n/messagebundle_de.properties +19 -7
- package/src/i18n/messagebundle_el.properties +18 -6
- package/src/i18n/messagebundle_en.properties +2 -299
- package/src/i18n/messagebundle_en_GB.properties +20 -8
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -2
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -2
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -2
- package/src/i18n/messagebundle_es.properties +19 -7
- package/src/i18n/messagebundle_es_MX.properties +19 -7
- package/src/i18n/messagebundle_et.properties +18 -6
- package/src/i18n/messagebundle_fi.properties +18 -6
- package/src/i18n/messagebundle_fr.properties +18 -6
- package/src/i18n/messagebundle_fr_CA.properties +18 -6
- package/src/i18n/messagebundle_hi.properties +18 -6
- package/src/i18n/messagebundle_hr.properties +19 -7
- package/src/i18n/messagebundle_hu.properties +18 -6
- package/src/i18n/messagebundle_id.properties +19 -7
- package/src/i18n/messagebundle_it.properties +18 -6
- package/src/i18n/messagebundle_iw.properties +18 -6
- package/src/i18n/messagebundle_ja.properties +18 -6
- package/src/i18n/messagebundle_kk.properties +18 -6
- package/src/i18n/messagebundle_ko.properties +18 -6
- package/src/i18n/messagebundle_lt.properties +18 -6
- package/src/i18n/messagebundle_lv.properties +18 -6
- package/src/i18n/messagebundle_mk.properties +18 -6
- package/src/i18n/messagebundle_ms.properties +18 -6
- package/src/i18n/messagebundle_nl.properties +18 -6
- package/src/i18n/messagebundle_no.properties +18 -6
- package/src/i18n/messagebundle_pl.properties +18 -6
- package/src/i18n/messagebundle_pt.properties +18 -6
- package/src/i18n/messagebundle_pt_PT.properties +18 -6
- package/src/i18n/messagebundle_ro.properties +18 -6
- package/src/i18n/messagebundle_ru.properties +18 -6
- package/src/i18n/messagebundle_sh.properties +18 -6
- package/src/i18n/messagebundle_sk.properties +18 -6
- package/src/i18n/messagebundle_sl.properties +18 -6
- package/src/i18n/messagebundle_sr.properties +18 -6
- package/src/i18n/messagebundle_sv.properties +22 -10
- package/src/i18n/messagebundle_th.properties +20 -8
- package/src/i18n/messagebundle_tr.properties +18 -6
- package/src/i18n/messagebundle_uk.properties +19 -7
- package/src/i18n/messagebundle_vi.properties +18 -6
- package/src/i18n/messagebundle_zh_CN.properties +18 -6
- package/src/i18n/messagebundle_zh_TW.properties +19 -7
- package/src/themes/DynamicDateRangePopover.css +15 -5
- package/src/themes/StepInput.css +11 -4
- package/src/themes/Table.css +0 -14
- package/src/themes/TableGrowing.css +7 -14
- package/src/themes/TableHeaderRow.css +1 -0
- package/src/themes/TableRow.css +12 -8
- package/src/themes/base/Table-parameters.css +4 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
|
|
2
|
+
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
|
+
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
4
|
+
import { DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT, DYNAMIC_DATE_RANGE_FROM_TEXT, } from "../generated/i18n/i18n-defaults.js";
|
|
5
|
+
import { dateTimeOptionToDates } from "./toDates.js";
|
|
6
|
+
import DynamicDateRange from "../DynamicDateRange.js";
|
|
7
|
+
/**
|
|
8
|
+
* @class
|
|
9
|
+
* @constructor
|
|
10
|
+
* @public
|
|
11
|
+
* @since 2.11.0
|
|
12
|
+
*/
|
|
13
|
+
class FromDateTime {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.resetState = () => {
|
|
16
|
+
this._showTimeView = false;
|
|
17
|
+
};
|
|
18
|
+
this.template = FromDateTimeTemplate;
|
|
19
|
+
this._showTimeView = false;
|
|
20
|
+
this._currentDateValue = UI5Date.getInstance();
|
|
21
|
+
}
|
|
22
|
+
parse(value) {
|
|
23
|
+
const dateText = value.replace(this.fromText, "").trim();
|
|
24
|
+
const date = this.getFormat().parse(dateText);
|
|
25
|
+
const returnValue = { operator: "", values: [] };
|
|
26
|
+
returnValue.operator = this.operator;
|
|
27
|
+
returnValue.values = [date];
|
|
28
|
+
return returnValue;
|
|
29
|
+
}
|
|
30
|
+
format(value) {
|
|
31
|
+
const valuesArray = value?.values;
|
|
32
|
+
if (!valuesArray || valuesArray.length === 0) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
const formattedValue = this.getFormat().format(valuesArray[0]);
|
|
36
|
+
return `${this.fromText} ${formattedValue}`;
|
|
37
|
+
}
|
|
38
|
+
toDates(value) {
|
|
39
|
+
return dateTimeOptionToDates(value);
|
|
40
|
+
}
|
|
41
|
+
get text() {
|
|
42
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_TEXT);
|
|
43
|
+
}
|
|
44
|
+
get operator() {
|
|
45
|
+
return "FROMDATETIME";
|
|
46
|
+
}
|
|
47
|
+
get icon() {
|
|
48
|
+
return "appointment-2";
|
|
49
|
+
}
|
|
50
|
+
get showDateView() {
|
|
51
|
+
return !this._showTimeView;
|
|
52
|
+
}
|
|
53
|
+
get showTimeView() {
|
|
54
|
+
return this._showTimeView;
|
|
55
|
+
}
|
|
56
|
+
get btnDateLabel() {
|
|
57
|
+
return DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);
|
|
58
|
+
}
|
|
59
|
+
get btnTimeLabel() {
|
|
60
|
+
return DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);
|
|
61
|
+
}
|
|
62
|
+
get fromText() {
|
|
63
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT);
|
|
64
|
+
}
|
|
65
|
+
getDateValue(date) {
|
|
66
|
+
if (date) {
|
|
67
|
+
return this.getDateFormat().format(date);
|
|
68
|
+
}
|
|
69
|
+
return this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : "";
|
|
70
|
+
}
|
|
71
|
+
getTimeValue(date) {
|
|
72
|
+
if (date) {
|
|
73
|
+
return this.getFormat().format(date);
|
|
74
|
+
}
|
|
75
|
+
return this._currentDateValue ? this.getFormat().format(this._currentDateValue) : "";
|
|
76
|
+
}
|
|
77
|
+
_dateTimeSwitchChange() {
|
|
78
|
+
this._showTimeView = !this._showTimeView;
|
|
79
|
+
}
|
|
80
|
+
isValidString(value) {
|
|
81
|
+
const dateText = value.replace(this.fromText, "").trim();
|
|
82
|
+
const date = this.getFormat().parse(dateText);
|
|
83
|
+
if (!date || Number.isNaN(date.getTime())) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
getFormat() {
|
|
89
|
+
return DateFormat.getDateTimeInstance({
|
|
90
|
+
strictParsing: true,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
getDateFormat() {
|
|
94
|
+
return DateFormat.getDateInstance({
|
|
95
|
+
strictParsing: true,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getTimeFormat() {
|
|
99
|
+
return DateFormat.getTimeInstance({
|
|
100
|
+
strictParsing: true,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
handleSelectionChange(e, value) {
|
|
104
|
+
const currentValue = value || { operator: "", values: [] };
|
|
105
|
+
const target = e.target;
|
|
106
|
+
currentValue.values = this._currentDateValue ? [this._currentDateValue] : [];
|
|
107
|
+
currentValue.operator = this.operator;
|
|
108
|
+
if (target.hasAttribute("ui5-segmented-button")) {
|
|
109
|
+
this._dateTimeSwitchChange();
|
|
110
|
+
return currentValue;
|
|
111
|
+
}
|
|
112
|
+
if (target.hasAttribute("ui5-calendar")) {
|
|
113
|
+
if (e.detail.selectedDates[0]) {
|
|
114
|
+
const tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);
|
|
115
|
+
this._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
|
|
116
|
+
currentValue.values = [this._currentDateValue];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (target.hasAttribute("ui5-time-selection-clocks")) {
|
|
120
|
+
const tempValue = e.detail.value;
|
|
121
|
+
const tempDate = this.getFormat().parse(tempValue);
|
|
122
|
+
if (!this._currentDateValue && value?.values?.length) {
|
|
123
|
+
this._currentDateValue = value?.values[0];
|
|
124
|
+
}
|
|
125
|
+
if (tempDate) {
|
|
126
|
+
this._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());
|
|
127
|
+
currentValue.values = [this._currentDateValue];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
this._showTimeView = true;
|
|
131
|
+
return currentValue;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
DynamicDateRange.register("FROMDATETIME", FromDateTime);
|
|
135
|
+
export default FromDateTime;
|
|
136
|
+
//# sourceMappingURL=FromDateTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/FromDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_FROM_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_FROM_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass FromDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = UI5Date.getInstance();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.fromText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"FROMDATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget fromText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);\n\t\t\t\tthis._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"FROMDATETIME\", FromDateTime);\n\nexport default FromDateTime;\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import Calendar from "../Calendar.js";
|
|
3
|
+
import CalendarDate from "../CalendarDate.js";
|
|
4
|
+
import SegmentedButton from "../SegmentedButton.js";
|
|
5
|
+
import SegmentedButtonItem from "../SegmentedButtonItem.js";
|
|
6
|
+
import TimeSelectionClocks from "../TimeSelectionClocks.js";
|
|
7
|
+
export default function FromDateTime() {
|
|
8
|
+
const currentOption = this._currentOption;
|
|
9
|
+
const currentValue = this.value?.values ? this.value.values[0] : undefined;
|
|
10
|
+
return (_jsxs("div", { class: "ui5-dynamic-date-range-option-datetime-container", children: [_jsx("div", { class: "ui5-dt-picker-header", children: _jsxs(SegmentedButton, { class: "ui5-dt-picker-toggle-button", onSelectionChange: this.handleSelectionChange, children: [_jsx(SegmentedButtonItem, { "data-ui5-key": "Date", selected: currentOption.showDateView, children: currentOption.btnDateLabel }), _jsx(SegmentedButtonItem, { "data-ui5-key": "Time", selected: currentOption.showTimeView, children: currentOption.btnTimeLabel })] }) }), _jsxs("div", { class: {
|
|
11
|
+
"ui5-dt-picker-content": true,
|
|
12
|
+
}, children: [!!currentOption.showDateView &&
|
|
13
|
+
_jsx(Calendar, { class: {
|
|
14
|
+
"ui5-dt-cal": true,
|
|
15
|
+
"ui5-dt-cal--hidden": currentOption.showTimeView,
|
|
16
|
+
"ui5-dt-time--hidden": currentOption.showDateView,
|
|
17
|
+
}, onSelectionChange: this.handleSelectionChange, children: _jsx(CalendarDate, { value: currentOption.getDateValue(currentValue) }) }), !!currentOption.showTimeView &&
|
|
18
|
+
_jsx(TimeSelectionClocks, { class: {
|
|
19
|
+
"ui5-dt-time": true,
|
|
20
|
+
"ui5-dt-cal--hidden": currentOption.showTimeView,
|
|
21
|
+
"ui5-dt-time--hidden": currentOption.showDateView,
|
|
22
|
+
}, value: currentOption.getTimeValue(currentValue), onChange: this.handleSelectionChange })] })] }));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=FromDateTimeTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromDateTimeTemplate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/FromDateTimeTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,UAAU,YAAY;IACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAoC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO,CACN,eAAK,KAAK,EAAC,kDAAkD,aAC5D,cAAK,KAAK,EAAC,sBAAsB,YAChC,MAAC,eAAe,IAAC,KAAK,EAAC,6BAA6B,EAAC,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,aACjG,KAAC,mBAAmB,oBAAc,MAAM,EAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,YAAG,aAAa,CAAC,YAAY,GAAuB,EACjI,KAAC,mBAAmB,oBAAc,MAAM,EAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,YAAG,aAAa,CAAC,YAAY,GAAuB,IAChH,GACb,EAEN,eAAK,KAAK,EAAE;oBACX,uBAAuB,EAAE,IAAI;iBAC7B,aACC,CAAC,CAAC,aAAa,CAAC,YAAY;wBAC5B,KAAC,QAAQ,IACR,KAAK,EAAE;gCACN,YAAY,EAAE,IAAI;gCAClB,oBAAoB,EAAE,aAAa,CAAC,YAAY;gCAChD,qBAAqB,EAAE,aAAa,CAAC,YAAY;6BACjD,EACD,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,YAE7C,KAAC,YAAY,IACZ,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,GAChC,GACN,EAGX,CAAC,CAAC,aAAa,CAAC,YAAY;wBAC5B,KAAC,mBAAmB,IACnB,KAAK,EAAE;gCACN,aAAa,EAAE,IAAI;gCACnB,oBAAoB,EAAE,aAAa,CAAC,YAAY;gCAChD,qBAAqB,EAAE,aAAa,CAAC,YAAY;6BACjD,EACD,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,EAC/C,QAAQ,EAAE,IAAI,CAAC,qBAAqB,GACnC,IAEE,IACD,CACN,CAAC;AACH,CAAC","sourcesContent":["import type DynamicDateRange from \"../DynamicDateRange.js\";\nimport Calendar from \"../Calendar.js\";\nimport CalendarDate from \"../CalendarDate.js\";\nimport SegmentedButton from \"../SegmentedButton.js\";\nimport SegmentedButtonItem from \"../SegmentedButtonItem.js\";\nimport TimeSelectionClocks from \"../TimeSelectionClocks.js\";\nimport type FromDateTimeOption from \"./FromDateTime.js\";\n\nexport default function FromDateTime(this: DynamicDateRange) {\n\tconst currentOption = this._currentOption as FromDateTimeOption;\n\tconst currentValue = this.value?.values ? this.value.values[0] as Date : undefined;\n\treturn (\n\t\t<div class=\"ui5-dynamic-date-range-option-datetime-container\">\n\t\t\t<div class=\"ui5-dt-picker-header\">\n\t\t\t\t<SegmentedButton class=\"ui5-dt-picker-toggle-button\" onSelectionChange={this.handleSelectionChange}>\n\t\t\t\t\t<SegmentedButtonItem data-ui5-key=\"Date\" selected={currentOption.showDateView}>{currentOption.btnDateLabel}</SegmentedButtonItem>\n\t\t\t\t\t<SegmentedButtonItem data-ui5-key=\"Time\" selected={currentOption.showTimeView}>{currentOption.btnTimeLabel}</SegmentedButtonItem>\n\t\t\t\t</SegmentedButton>\n\t\t\t</div>\n\n\t\t\t<div class={{\n\t\t\t\t\"ui5-dt-picker-content\": true,\n\t\t\t}}>\n\t\t\t\t{!!currentOption.showDateView &&\n\t\t\t\t\t<Calendar\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-dt-cal\": true,\n\t\t\t\t\t\t\t\"ui5-dt-cal--hidden\": currentOption.showTimeView,\n\t\t\t\t\t\t\t\"ui5-dt-time--hidden\": currentOption.showDateView,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonSelectionChange={this.handleSelectionChange}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CalendarDate\n\t\t\t\t\t\t\tvalue={currentOption.getDateValue(currentValue)}\n\t\t\t\t\t\t></CalendarDate>\n\t\t\t\t\t</Calendar>\n\t\t\t\t}\n\n\t\t\t\t{!!currentOption.showTimeView &&\n\t\t\t\t\t<TimeSelectionClocks\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-dt-time\": true,\n\t\t\t\t\t\t\t\"ui5-dt-cal--hidden\": currentOption.showTimeView,\n\t\t\t\t\t\t\t\"ui5-dt-time--hidden\": currentOption.showDateView,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={currentOption.getTimeValue(currentValue)}\n\t\t\t\t\t\tonChange={this.handleSelectionChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
|
|
2
|
+
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
|
+
import type { JsxTemplate } from "@ui5/webcomponents-base/dist/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* @class
|
|
6
|
+
* @constructor
|
|
7
|
+
* @public
|
|
8
|
+
* @since 2.11.0
|
|
9
|
+
*/
|
|
10
|
+
declare class ToDateTime implements IDynamicDateRangeOption {
|
|
11
|
+
template: JsxTemplate;
|
|
12
|
+
private _showTimeView;
|
|
13
|
+
private _currentDateValue;
|
|
14
|
+
constructor();
|
|
15
|
+
parse(value: string): DynamicDateRangeValue;
|
|
16
|
+
format(value: DynamicDateRangeValue): string;
|
|
17
|
+
toDates(value: DynamicDateRangeValue): Array<Date>;
|
|
18
|
+
resetState?: (() => void) | undefined;
|
|
19
|
+
get text(): string;
|
|
20
|
+
get operator(): string;
|
|
21
|
+
get icon(): string;
|
|
22
|
+
get showDateView(): boolean;
|
|
23
|
+
get showTimeView(): boolean;
|
|
24
|
+
get btnDateLabel(): string;
|
|
25
|
+
get btnTimeLabel(): string;
|
|
26
|
+
get toText(): string;
|
|
27
|
+
getDateValue(date: Date | undefined): string;
|
|
28
|
+
getTimeValue(date: Date | undefined): string;
|
|
29
|
+
_dateTimeSwitchChange(): void;
|
|
30
|
+
isValidString(value: string): boolean;
|
|
31
|
+
getFormat(): DateFormat;
|
|
32
|
+
getDateFormat(): DateFormat;
|
|
33
|
+
getTimeFormat(): DateFormat;
|
|
34
|
+
handleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined;
|
|
35
|
+
}
|
|
36
|
+
export default ToDateTime;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
|
|
2
|
+
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
|
+
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
4
|
+
import { DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DYNAMIC_DATE_RANGE_TO_INPUT_TEXT, DYNAMIC_DATE_RANGE_TO_TEXT, } from "../generated/i18n/i18n-defaults.js";
|
|
5
|
+
import { dateTimeOptionToDates } from "./toDates.js";
|
|
6
|
+
import DynamicDateRange from "../DynamicDateRange.js";
|
|
7
|
+
/**
|
|
8
|
+
* @class
|
|
9
|
+
* @constructor
|
|
10
|
+
* @public
|
|
11
|
+
* @since 2.11.0
|
|
12
|
+
*/
|
|
13
|
+
class ToDateTime {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.resetState = () => {
|
|
16
|
+
this._showTimeView = false;
|
|
17
|
+
};
|
|
18
|
+
this.template = FromDateTimeTemplate;
|
|
19
|
+
this._showTimeView = false;
|
|
20
|
+
this._currentDateValue = UI5Date.getInstance();
|
|
21
|
+
}
|
|
22
|
+
parse(value) {
|
|
23
|
+
const dateText = value.replace(this.toText, "").trim();
|
|
24
|
+
const date = this.getFormat().parse(dateText);
|
|
25
|
+
const returnValue = { operator: "", values: [] };
|
|
26
|
+
returnValue.operator = this.operator;
|
|
27
|
+
returnValue.values = [date];
|
|
28
|
+
return returnValue;
|
|
29
|
+
}
|
|
30
|
+
format(value) {
|
|
31
|
+
const valuesArray = value?.values;
|
|
32
|
+
if (!valuesArray || valuesArray.length === 0) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
const formattedValue = this.getFormat().format(valuesArray[0]);
|
|
36
|
+
return `${this.toText} ${formattedValue}`;
|
|
37
|
+
}
|
|
38
|
+
toDates(value) {
|
|
39
|
+
return dateTimeOptionToDates(value);
|
|
40
|
+
}
|
|
41
|
+
get text() {
|
|
42
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_TEXT);
|
|
43
|
+
}
|
|
44
|
+
get operator() {
|
|
45
|
+
return "TODATETIME";
|
|
46
|
+
}
|
|
47
|
+
get icon() {
|
|
48
|
+
return "appointment-2";
|
|
49
|
+
}
|
|
50
|
+
get showDateView() {
|
|
51
|
+
return !this._showTimeView;
|
|
52
|
+
}
|
|
53
|
+
get showTimeView() {
|
|
54
|
+
return this._showTimeView;
|
|
55
|
+
}
|
|
56
|
+
get btnDateLabel() {
|
|
57
|
+
return DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);
|
|
58
|
+
}
|
|
59
|
+
get btnTimeLabel() {
|
|
60
|
+
return DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);
|
|
61
|
+
}
|
|
62
|
+
get toText() {
|
|
63
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_INPUT_TEXT);
|
|
64
|
+
}
|
|
65
|
+
getDateValue(date) {
|
|
66
|
+
if (date) {
|
|
67
|
+
return this.getDateFormat().format(date);
|
|
68
|
+
}
|
|
69
|
+
return this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : "";
|
|
70
|
+
}
|
|
71
|
+
getTimeValue(date) {
|
|
72
|
+
if (date) {
|
|
73
|
+
return this.getFormat().format(date);
|
|
74
|
+
}
|
|
75
|
+
return this._currentDateValue ? this.getFormat().format(this._currentDateValue) : "";
|
|
76
|
+
}
|
|
77
|
+
_dateTimeSwitchChange() {
|
|
78
|
+
this._showTimeView = !this._showTimeView;
|
|
79
|
+
}
|
|
80
|
+
isValidString(value) {
|
|
81
|
+
const dateText = value.replace(this.toText, "").trim();
|
|
82
|
+
const date = this.getFormat().parse(dateText);
|
|
83
|
+
if (!date || Number.isNaN(date.getTime())) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
getFormat() {
|
|
89
|
+
return DateFormat.getDateTimeInstance({
|
|
90
|
+
strictParsing: true,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
getDateFormat() {
|
|
94
|
+
return DateFormat.getDateInstance({
|
|
95
|
+
strictParsing: true,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getTimeFormat() {
|
|
99
|
+
return DateFormat.getTimeInstance({
|
|
100
|
+
strictParsing: true,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
handleSelectionChange(e, value) {
|
|
104
|
+
const currentValue = value || { operator: "", values: [] };
|
|
105
|
+
const target = e.target;
|
|
106
|
+
currentValue.values = this._currentDateValue ? [this._currentDateValue] : [];
|
|
107
|
+
currentValue.operator = this.operator;
|
|
108
|
+
if (target.hasAttribute("ui5-segmented-button")) {
|
|
109
|
+
this._dateTimeSwitchChange();
|
|
110
|
+
return currentValue;
|
|
111
|
+
}
|
|
112
|
+
if (target.hasAttribute("ui5-calendar")) {
|
|
113
|
+
if (e.detail.selectedDates[0]) {
|
|
114
|
+
const tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);
|
|
115
|
+
this._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
|
|
116
|
+
currentValue.values = [this._currentDateValue];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (target.hasAttribute("ui5-time-selection-clocks")) {
|
|
120
|
+
const tempValue = e.detail.value;
|
|
121
|
+
const tempDate = this.getFormat().parse(tempValue);
|
|
122
|
+
if (!this._currentDateValue && value?.values?.length) {
|
|
123
|
+
this._currentDateValue = value?.values[0];
|
|
124
|
+
}
|
|
125
|
+
if (tempDate) {
|
|
126
|
+
this._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());
|
|
127
|
+
currentValue.values = [this._currentDateValue];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
this._showTimeView = true;
|
|
131
|
+
return currentValue;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
DynamicDateRange.register("TODATETIME", ToDateTime);
|
|
135
|
+
export default ToDateTime;
|
|
136
|
+
//# sourceMappingURL=ToDateTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/ToDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_TO_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_TO_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass ToDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = UI5Date.getInstance();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.toText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget toText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string\t {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);\n\t\t\t\tthis._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"TODATETIME\", ToDateTime);\n\nexport default ToDateTime;\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
|
|
2
2
|
declare const dateOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
3
3
|
declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
4
|
+
declare const dateTimeRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
4
5
|
declare const todayToDates: () => Array<Date>;
|
|
5
6
|
declare const yesterdayToDates: () => Array<Date>;
|
|
6
7
|
declare const tomorrowToDates: () => Array<Date>;
|
|
@@ -10,4 +11,5 @@ declare const lastNextToDates: (value: DynamicDateRangeValue, unit: string, dire
|
|
|
10
11
|
* Uses operator name to determine time unit and direction.
|
|
11
12
|
*/
|
|
12
13
|
declare const toDatesLastNext: (value: DynamicDateRangeValue, option: IDynamicDateRangeOption) => Array<Date>;
|
|
13
|
-
|
|
14
|
+
declare const dateTimeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
15
|
+
export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
2
2
|
const dateOptionToDates = (value) => {
|
|
3
|
+
if (!value || !value.values || value.values.length !== 1) {
|
|
4
|
+
return [];
|
|
5
|
+
}
|
|
3
6
|
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
4
7
|
const endDate = UI5Date.getInstance(startDate.getTime());
|
|
5
8
|
startDate?.setHours(0, 0, 0, 0);
|
|
@@ -7,12 +10,23 @@ const dateOptionToDates = (value) => {
|
|
|
7
10
|
return [startDate, endDate];
|
|
8
11
|
};
|
|
9
12
|
const dateRangeOptionToDates = (value) => {
|
|
13
|
+
if (!value || !value.values || value.values.length !== 2) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
10
16
|
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
11
17
|
const endDate = value.values ? value.values[1] : UI5Date.getInstance();
|
|
12
18
|
startDate?.setHours(0, 0, 0, 0);
|
|
13
19
|
endDate?.setHours(23, 59, 59, 999);
|
|
14
20
|
return [startDate, endDate];
|
|
15
21
|
};
|
|
22
|
+
const dateTimeRangeOptionToDates = (value) => {
|
|
23
|
+
if (!value || !value.values || value.values.length !== 2) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
27
|
+
const endDate = value.values ? value.values[1] : UI5Date.getInstance();
|
|
28
|
+
return [startDate, endDate];
|
|
29
|
+
};
|
|
16
30
|
const todayToDates = () => {
|
|
17
31
|
const startDate = UI5Date.getInstance();
|
|
18
32
|
const endDate = UI5Date.getInstance();
|
|
@@ -154,5 +168,15 @@ const toDatesLastNext = (value, option) => {
|
|
|
154
168
|
}
|
|
155
169
|
return lastNextToDates(value, unit, direction);
|
|
156
170
|
};
|
|
157
|
-
|
|
171
|
+
const dateTimeOptionToDates = (value) => {
|
|
172
|
+
if (!value || !value.values || value.values.length === 0) {
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
176
|
+
const endDate = UI5Date.getInstance(startDate.getTime());
|
|
177
|
+
startDate.setMilliseconds(0);
|
|
178
|
+
endDate.setMilliseconds(999);
|
|
179
|
+
return [startDate, endDate];
|
|
180
|
+
};
|
|
181
|
+
export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
158
182
|
//# sourceMappingURL=toDates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDates.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/toDates.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\n\nconst dateOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst todayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tendDate.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst yesterdayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() - 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() - 1);\n\n\treturn [startDate, endDate];\n};\n\nconst tomorrowToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() + 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() + 1);\n\n\treturn [startDate, endDate];\n};\n\nconst lastToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Last X Days\": start X days before today (inclusive), end today\n\t\t// \"Last 1 Day\" = today only, \"Last 2 Days\" = yesterday + today, etc.\n\t\tstartDate.setDate(today.getDate() - (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;\n\t\tstartDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tstartDate.setMonth(today.getMonth() - (amount - 1));\n\t\tstartDate.setDate(1); // Start of the month\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);\n\t\tstartDate.setMonth(quarterStartMonth);\n\t\tstartDate.setDate(1); // Start of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tstartDate.setFullYear(today.getFullYear() - (amount - 1));\n\t\tstartDate.setMonth(0); // January\n\t\tstartDate.setDate(1); // Start of the year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst nextToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Next X Days\": start today, end X days from today (inclusive)\n\t\t// \"Next 1 Day\" = today only, \"Next 2 Days\" = today + tomorrow, etc.\n\t\tendDate.setDate(today.getDate() + (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;\n\t\tendDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tendDate.setMonth(today.getMonth() + amount);\n\t\tendDate.setDate(0); // Last day of the previous month (the target month)\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);\n\t\tendDate.setMonth(quarterEndMonth + 1);\n\t\tendDate.setDate(0); // Last day of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tendDate.setFullYear(today.getFullYear() + amount);\n\t\tendDate.setMonth(0); // January of the next year\n\t\tendDate.setDate(0); // Last day of December of the target year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst lastNextToDates = (value: DynamicDateRangeValue, unit: string, direction: \"last\" | \"next\"): Array<Date> => {\n\treturn direction === \"last\" ? lastToDates(value, unit) : nextToDates(value, unit);\n};\n\n/**\n * Converts DynamicDateRangeValue to dates for Last/Next options.\n * Uses operator name to determine time unit and direction.\n */\nconst toDatesLastNext = (value: DynamicDateRangeValue, option: IDynamicDateRangeOption): Array<Date> => {\n\tconst operator = option.operator;\n\n\t// Extract direction from operator name\n\tlet direction: \"last\" | \"next\";\n\tif (operator.startsWith(\"LAST\")) {\n\t\tdirection = \"last\";\n\t} else if (operator.startsWith(\"NEXT\")) {\n\t\tdirection = \"next\";\n\t} else {\n\t\t// Not a LastNext option, return today's date range\n\t\treturn todayToDates();\n\t}\n\n\t// Extract time unit from operator name\n\tlet unit: string;\n\tif (operator.includes(\"DAYS\")) {\n\t\tunit = \"days\";\n\t} else if (operator.includes(\"WEEKS\")) {\n\t\tunit = \"weeks\";\n\t} else if (operator.includes(\"MONTHS\")) {\n\t\tunit = \"months\";\n\t} else if (operator.includes(\"QUARTERS\")) {\n\t\tunit = \"quarters\";\n\t} else if (operator.includes(\"YEARS\")) {\n\t\tunit = \"years\";\n\t} else {\n\t\t// Unknown time unit, return today's date range as fallback\n\t\treturn todayToDates();\n\t}\n\n\treturn lastNextToDates(value, unit, direction);\n};\n\nexport {\n\tdateOptionToDates,\n\tdateRangeOptionToDates,\n\ttodayToDates,\n\ttomorrowToDates,\n\tyesterdayToDates,\n\tlastNextToDates,\n\ttoDatesLastNext,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"toDates.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/toDates.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\n\nconst dateOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 1) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateTimeRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\treturn [startDate, endDate];\n};\n\nconst todayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tendDate.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst yesterdayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() - 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() - 1);\n\n\treturn [startDate, endDate];\n};\n\nconst tomorrowToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() + 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() + 1);\n\n\treturn [startDate, endDate];\n};\n\nconst lastToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Last X Days\": start X days before today (inclusive), end today\n\t\t// \"Last 1 Day\" = today only, \"Last 2 Days\" = yesterday + today, etc.\n\t\tstartDate.setDate(today.getDate() - (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;\n\t\tstartDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tstartDate.setMonth(today.getMonth() - (amount - 1));\n\t\tstartDate.setDate(1); // Start of the month\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);\n\t\tstartDate.setMonth(quarterStartMonth);\n\t\tstartDate.setDate(1); // Start of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tstartDate.setFullYear(today.getFullYear() - (amount - 1));\n\t\tstartDate.setMonth(0); // January\n\t\tstartDate.setDate(1); // Start of the year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst nextToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Next X Days\": start today, end X days from today (inclusive)\n\t\t// \"Next 1 Day\" = today only, \"Next 2 Days\" = today + tomorrow, etc.\n\t\tendDate.setDate(today.getDate() + (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;\n\t\tendDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tendDate.setMonth(today.getMonth() + amount);\n\t\tendDate.setDate(0); // Last day of the previous month (the target month)\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);\n\t\tendDate.setMonth(quarterEndMonth + 1);\n\t\tendDate.setDate(0); // Last day of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tendDate.setFullYear(today.getFullYear() + amount);\n\t\tendDate.setMonth(0); // January of the next year\n\t\tendDate.setDate(0); // Last day of December of the target year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst lastNextToDates = (value: DynamicDateRangeValue, unit: string, direction: \"last\" | \"next\"): Array<Date> => {\n\treturn direction === \"last\" ? lastToDates(value, unit) : nextToDates(value, unit);\n};\n\n/**\n * Converts DynamicDateRangeValue to dates for Last/Next options.\n * Uses operator name to determine time unit and direction.\n */\nconst toDatesLastNext = (value: DynamicDateRangeValue, option: IDynamicDateRangeOption): Array<Date> => {\n\tconst operator = option.operator;\n\n\t// Extract direction from operator name\n\tlet direction: \"last\" | \"next\";\n\tif (operator.startsWith(\"LAST\")) {\n\t\tdirection = \"last\";\n\t} else if (operator.startsWith(\"NEXT\")) {\n\t\tdirection = \"next\";\n\t} else {\n\t\t// Not a LastNext option, return today's date range\n\t\treturn todayToDates();\n\t}\n\n\t// Extract time unit from operator name\n\tlet unit: string;\n\tif (operator.includes(\"DAYS\")) {\n\t\tunit = \"days\";\n\t} else if (operator.includes(\"WEEKS\")) {\n\t\tunit = \"weeks\";\n\t} else if (operator.includes(\"MONTHS\")) {\n\t\tunit = \"months\";\n\t} else if (operator.includes(\"QUARTERS\")) {\n\t\tunit = \"quarters\";\n\t} else if (operator.includes(\"YEARS\")) {\n\t\tunit = \"years\";\n\t} else {\n\t\t// Unknown time unit, return today's date range as fallback\n\t\treturn todayToDates();\n\t}\n\n\treturn lastNextToDates(value, unit, direction);\n};\n\nconst dateTimeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate.setMilliseconds(0);\n\tendDate.setMilliseconds(999);\n\n\treturn [startDate, endDate];\n};\n\nexport {\n\tdateOptionToDates,\n\tdateRangeOptionToDates,\n\tdateTimeRangeOptionToDates,\n\ttodayToDates,\n\ttomorrowToDates,\n\tyesterdayToDates,\n\tlastNextToDates,\n\ttoDatesLastNext,\n\tdateTimeOptionToDates,\n};\n"]}
|