@ui5/webcomponents 2.13.2 → 2.14.0-rc.1
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 +24 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/Button.js +2 -1
- package/dist/Button.js.map +1 -1
- package/dist/DateComponentBase.d.ts +24 -0
- package/dist/DateComponentBase.js +80 -1
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +32 -1
- package/dist/DatePicker.js +94 -10
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerInputTemplate.js +1 -1
- package/dist/DatePickerInputTemplate.js.map +1 -1
- package/dist/DateRangePicker.d.ts +35 -0
- package/dist/DateRangePicker.js +119 -9
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +10 -0
- package/dist/DateTimePicker.js +54 -4
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DynamicDateRange.d.ts +24 -9
- package/dist/DynamicDateRange.js +83 -22
- package/dist/DynamicDateRange.js.map +1 -1
- package/dist/DynamicDateRangeInputTemplate.js +1 -3
- package/dist/DynamicDateRangeInputTemplate.js.map +1 -1
- package/dist/DynamicDateRangePopoverTemplate.js +1 -3
- package/dist/DynamicDateRangePopoverTemplate.js.map +1 -1
- package/dist/List.d.ts +2 -0
- package/dist/List.js +13 -26
- package/dist/List.js.map +1 -1
- package/dist/ListItemGroup.d.ts +4 -0
- package/dist/ListItemGroup.js +20 -53
- package/dist/ListItemGroup.js.map +1 -1
- package/dist/Select.d.ts +1 -0
- package/dist/Select.js +3 -0
- package/dist/Select.js.map +1 -1
- package/dist/SelectPopoverTemplate.js +1 -1
- package/dist/SelectPopoverTemplate.js.map +1 -1
- package/dist/SelectTemplate.js +2 -2
- package/dist/SelectTemplate.js.map +1 -1
- package/dist/Tree.d.ts +7 -0
- package/dist/Tree.js +37 -38
- package/dist/Tree.js.map +1 -1
- package/dist/bundle.esm.js +2 -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/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/TableCellBase.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 +558 -9
- package/dist/custom-elements.json +527 -8
- package/dist/delegate/DragAndDropHandler.d.ts +33 -0
- package/dist/delegate/DragAndDropHandler.js +96 -0
- package/dist/delegate/DragAndDropHandler.js.map +1 -0
- package/dist/dynamic-date-range-options/DateRange.d.ts +3 -3
- package/dist/dynamic-date-range-options/DateRange.js +18 -8
- package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
- package/dist/dynamic-date-range-options/DateRangeTemplate.d.ts +1 -1
- package/dist/dynamic-date-range-options/DateRangeTemplate.js +1 -1
- package/dist/dynamic-date-range-options/DateRangeTemplate.js.map +1 -1
- package/dist/dynamic-date-range-options/LastNextTemplate.d.ts +2 -0
- package/dist/dynamic-date-range-options/LastNextTemplate.js +32 -0
- package/dist/dynamic-date-range-options/LastNextTemplate.js.map +1 -0
- package/dist/dynamic-date-range-options/LastNextUtils.d.ts +65 -0
- package/dist/dynamic-date-range-options/LastNextUtils.js +123 -0
- package/dist/dynamic-date-range-options/LastNextUtils.js.map +1 -0
- package/dist/dynamic-date-range-options/LastOptions.d.ts +32 -0
- package/dist/dynamic-date-range-options/LastOptions.js +107 -0
- package/dist/dynamic-date-range-options/LastOptions.js.map +1 -0
- package/dist/dynamic-date-range-options/NextOptions.d.ts +32 -0
- package/dist/dynamic-date-range-options/NextOptions.js +107 -0
- package/dist/dynamic-date-range-options/NextOptions.js.map +1 -0
- package/dist/dynamic-date-range-options/SingleDate.d.ts +1 -1
- package/dist/dynamic-date-range-options/SingleDate.js +1 -1
- package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
- package/dist/dynamic-date-range-options/Today.d.ts +1 -1
- package/dist/dynamic-date-range-options/Today.js.map +1 -1
- package/dist/dynamic-date-range-options/Tomorrow.d.ts +1 -1
- package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -1
- package/dist/dynamic-date-range-options/Yesterday.d.ts +1 -1
- package/dist/dynamic-date-range-options/Yesterday.js.map +1 -1
- package/dist/dynamic-date-range-options/toDates.d.ts +13 -7
- package/dist/dynamic-date-range-options/toDates.js +137 -20
- package/dist/dynamic-date-range-options/toDates.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.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 +21 -1
- package/dist/generated/i18n/i18n-defaults.js +21 -1
- 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/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/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/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/types/AvatarColorScheme.d.ts +5 -1
- package/dist/types/AvatarColorScheme.js +4 -0
- package/dist/types/AvatarColorScheme.js.map +1 -1
- package/dist/vscode.html-custom-data.json +70 -9
- package/dist/web-types.json +95 -15
- package/package.json +9 -9
- package/src/DatePickerInputTemplate.tsx +1 -1
- package/src/DynamicDateRangeInputTemplate.tsx +1 -6
- package/src/DynamicDateRangePopoverTemplate.tsx +7 -5
- package/src/SelectPopoverTemplate.tsx +1 -0
- package/src/SelectTemplate.tsx +7 -5
- package/src/dynamic-date-range-options/DateRangeTemplate.tsx +1 -1
- package/src/dynamic-date-range-options/LastNextTemplate.tsx +71 -0
- package/src/i18n/messagebundle.properties +60 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +7 -0
- package/src/themes/Avatar.css +6 -0
- package/src/themes/DayPicker.css +6 -1
- package/src/themes/DynamicDateRange.css +4 -0
- package/src/themes/DynamicDateRangePopover.css +85 -38
- package/src/themes/ListItem.css +1 -2
- package/src/themes/MonthPicker.css +1 -1
- package/src/themes/YearPicker.css +1 -1
- package/src/themes/YearRangePicker.css +1 -1
- package/src/themes/base/sizes-parameters.css +6 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import LastNextTemplate from "./LastNextTemplate.js";
|
|
2
|
+
import { handleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue, } from "./LastNextUtils.js";
|
|
3
|
+
import { toDatesLastNext } from "./toDates.js";
|
|
4
|
+
import DynamicDateRange from "../DynamicDateRange.js";
|
|
5
|
+
import { DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT, DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT, DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT, DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT, DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT, DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, DYNAMIC_DATE_RANGE_INCLUDED_TEXT, } from "../generated/i18n/i18n-defaults.js";
|
|
6
|
+
/**
|
|
7
|
+
* @class
|
|
8
|
+
* @constructor
|
|
9
|
+
* @public
|
|
10
|
+
* @since 2.14.0
|
|
11
|
+
*/
|
|
12
|
+
class LastOptions {
|
|
13
|
+
constructor(operators) {
|
|
14
|
+
this.template = LastNextTemplate;
|
|
15
|
+
this.options = [];
|
|
16
|
+
this.options = operators;
|
|
17
|
+
this._operator = this.options?.[0] || "LASTDAYS";
|
|
18
|
+
this.i18nKey = this._getI18nKeyForOperator(this._operator);
|
|
19
|
+
}
|
|
20
|
+
_getI18nKeyForOperator(operator) {
|
|
21
|
+
switch (operator) {
|
|
22
|
+
case "LASTDAYS":
|
|
23
|
+
return DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;
|
|
24
|
+
case "LASTWEEKS":
|
|
25
|
+
return DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT;
|
|
26
|
+
case "LASTMONTHS":
|
|
27
|
+
return DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT;
|
|
28
|
+
case "LASTQUARTERS":
|
|
29
|
+
return DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT;
|
|
30
|
+
case "LASTYEARS":
|
|
31
|
+
return DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT;
|
|
32
|
+
default:
|
|
33
|
+
return DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
parse(value) {
|
|
37
|
+
const matchingOption = this.availableOptions.find(optionInfo => {
|
|
38
|
+
const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
|
|
39
|
+
return isValidStringLastNext(value, tempOption);
|
|
40
|
+
});
|
|
41
|
+
if (matchingOption) {
|
|
42
|
+
const tempOption = { operator: matchingOption.operator, text: matchingOption.text };
|
|
43
|
+
return parseLastNext(value, tempOption);
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
format(value) {
|
|
48
|
+
return formatLastNextValue(value, this);
|
|
49
|
+
}
|
|
50
|
+
toDates(value) {
|
|
51
|
+
return toDatesLastNext(value, { operator: value.operator });
|
|
52
|
+
}
|
|
53
|
+
isValidString(value) {
|
|
54
|
+
return this.availableOptions.some(optionInfo => {
|
|
55
|
+
const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
|
|
56
|
+
return isValidStringLastNext(value, tempOption);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
handleSelectionChange(e) {
|
|
60
|
+
return handleSelectionChangeLastNext(e, this);
|
|
61
|
+
}
|
|
62
|
+
get text() {
|
|
63
|
+
if (this.options?.length && this.options.length > 1) {
|
|
64
|
+
const units = this.availableOptions
|
|
65
|
+
.filter(info => this.options?.includes(info.operator))
|
|
66
|
+
.map(info => info.unitText);
|
|
67
|
+
const unitsText = units.join(` / `);
|
|
68
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, unitsText);
|
|
69
|
+
}
|
|
70
|
+
const baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);
|
|
71
|
+
const includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);
|
|
72
|
+
return `${baseText} ${includedText}`;
|
|
73
|
+
}
|
|
74
|
+
get icon() {
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
// Simple getter that provides all available Last options based on current component options
|
|
78
|
+
get availableOptions() {
|
|
79
|
+
const allOptions = [
|
|
80
|
+
{ operator: "LASTDAYS", i18nKey: DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },
|
|
81
|
+
{ operator: "LASTWEEKS", i18nKey: DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },
|
|
82
|
+
{ operator: "LASTMONTHS", i18nKey: DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },
|
|
83
|
+
{ operator: "LASTQUARTERS", i18nKey: DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },
|
|
84
|
+
{ operator: "LASTYEARS", i18nKey: DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },
|
|
85
|
+
];
|
|
86
|
+
return allOptions.map(info => ({
|
|
87
|
+
operator: info.operator,
|
|
88
|
+
unitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),
|
|
89
|
+
text: DynamicDateRange.i18nBundle.getText(info.i18nKey),
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
get operator() {
|
|
93
|
+
return this._operator;
|
|
94
|
+
}
|
|
95
|
+
set operator(value) {
|
|
96
|
+
if (this.options?.includes(value)) {
|
|
97
|
+
this._operator = value;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
DynamicDateRange.register("LASTDAYS", LastOptions);
|
|
102
|
+
DynamicDateRange.register("LASTWEEKS", LastOptions);
|
|
103
|
+
DynamicDateRange.register("LASTMONTHS", LastOptions);
|
|
104
|
+
DynamicDateRange.register("LASTQUARTERS", LastOptions);
|
|
105
|
+
DynamicDateRange.register("LASTYEARS", LastOptions);
|
|
106
|
+
export default LastOptions;
|
|
107
|
+
//# sourceMappingURL=LastOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LastOptions.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/LastOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import LastNextTemplate from \"./LastNextTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nimport {\n\thandleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue,\n} from \"./LastNextUtils.js\";\nimport { toDatesLastNext } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_LAST_DAYS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_YEARS_TEXT,\n\tDYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT,\n\tDYNAMIC_DATE_RANGE_INCLUDED_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.14.0\n */\nclass LastOptions implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate = LastNextTemplate;\n\t_operator: string;\n\ti18nKey: I18nText;\n\toptions?: Array<string> = [];\n\n\tconstructor(operators?: Array<string>) {\n\t\tthis.options = operators;\n\t\tthis._operator = this.options?.[0] || \"LASTDAYS\";\n\t\tthis.i18nKey = this._getI18nKeyForOperator(this._operator);\n\t}\n\n\t_getI18nKeyForOperator(operator: string): I18nText {\n\t\tswitch (operator) {\n\t\tcase \"LASTDAYS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;\n\t\tcase \"LASTWEEKS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT;\n\t\tcase \"LASTMONTHS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT;\n\t\tcase \"LASTQUARTERS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT;\n\t\tcase \"LASTYEARS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT;\n\t\tdefault:\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;\n\t\t}\n\t}\n\n\tparse(value: string): DynamicDateRangeValue | undefined {\n\t\tconst matchingOption = this.availableOptions.find(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\n\t\tif (matchingOption) {\n\t\t\tconst tempOption = { operator: matchingOption.operator, text: matchingOption.text };\n\t\t\treturn parseLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\treturn formatLastNextValue(value, this);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn toDatesLastNext(value, { operator: value.operator } as IDynamicDateRangeOption);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn this.availableOptions.some(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\treturn handleSelectionChangeLastNext(e, this);\n\t}\n\n\tget text(): string {\n\t\tif (this.options?.length && this.options.length > 1) {\n\t\t\tconst units = this.availableOptions\n\t\t\t\t.filter(info => this.options?.includes(info.operator))\n\t\t\t\t.map(info => info.unitText);\n\t\t\tconst unitsText = units.join(` / `);\n\t\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, unitsText);\n\t\t}\n\n\t\tconst baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);\n\t\tconst includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);\n\t\treturn `${baseText} ${includedText}`;\n\t}\n\n\tget icon(): string {\n\t\treturn \"\";\n\t}\n\n\t// Simple getter that provides all available Last options based on current component options\n\tget availableOptions() {\n\t\tconst allOptions = [\n\t\t\t{ operator: \"LASTDAYS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTWEEKS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTMONTHS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTQUARTERS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTYEARS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },\n\t\t];\n\n\t\treturn allOptions.map(info => ({\n\t\t\toperator: info.operator,\n\t\t\tunitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),\n\t\t\ttext: DynamicDateRange.i18nBundle.getText(info.i18nKey),\n\t\t}));\n\t}\n\n\tget operator(): string {\n\t\treturn this._operator;\n\t}\n\n\tset operator(value: string) {\n\t\tif (this.options?.includes(value)) {\n\t\t\tthis._operator = value;\n\t\t}\n\t}\n}\n\nDynamicDateRange.register(\"LASTDAYS\", LastOptions);\nDynamicDateRange.register(\"LASTWEEKS\", LastOptions);\nDynamicDateRange.register(\"LASTMONTHS\", LastOptions);\nDynamicDateRange.register(\"LASTQUARTERS\", LastOptions);\nDynamicDateRange.register(\"LASTYEARS\", LastOptions);\n\nexport default LastOptions;\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
|
|
2
|
+
import type { JsxTemplate } from "@ui5/webcomponents-base/dist/index.js";
|
|
3
|
+
import type { I18nText } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
|
+
/**
|
|
5
|
+
* @class
|
|
6
|
+
* @constructor
|
|
7
|
+
* @public
|
|
8
|
+
* @since 2.14.0
|
|
9
|
+
*/
|
|
10
|
+
declare class NextOptions implements IDynamicDateRangeOption {
|
|
11
|
+
template: JsxTemplate;
|
|
12
|
+
_operator: string;
|
|
13
|
+
i18nKey: I18nText;
|
|
14
|
+
options?: Array<string>;
|
|
15
|
+
constructor(operators?: Array<string>);
|
|
16
|
+
_getI18nKeyForOperator(operator: string): I18nText;
|
|
17
|
+
parse(value: string): DynamicDateRangeValue | undefined;
|
|
18
|
+
format(value: DynamicDateRangeValue): string;
|
|
19
|
+
toDates(value: DynamicDateRangeValue): Array<Date>;
|
|
20
|
+
isValidString(value: string): boolean;
|
|
21
|
+
handleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined;
|
|
22
|
+
get text(): string;
|
|
23
|
+
get icon(): string;
|
|
24
|
+
get availableOptions(): {
|
|
25
|
+
operator: string;
|
|
26
|
+
unitText: string;
|
|
27
|
+
text: string;
|
|
28
|
+
}[];
|
|
29
|
+
get operator(): string;
|
|
30
|
+
set operator(value: string);
|
|
31
|
+
}
|
|
32
|
+
export default NextOptions;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import LastNextTemplate from "./LastNextTemplate.js";
|
|
2
|
+
import { handleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue, } from "./LastNextUtils.js";
|
|
3
|
+
import { toDatesLastNext } from "./toDates.js";
|
|
4
|
+
import DynamicDateRange from "../DynamicDateRange.js";
|
|
5
|
+
import { DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT, DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT, DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT, DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT, DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT, DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, DYNAMIC_DATE_RANGE_INCLUDED_TEXT, } from "../generated/i18n/i18n-defaults.js";
|
|
6
|
+
/**
|
|
7
|
+
* @class
|
|
8
|
+
* @constructor
|
|
9
|
+
* @public
|
|
10
|
+
* @since 2.14.0
|
|
11
|
+
*/
|
|
12
|
+
class NextOptions {
|
|
13
|
+
constructor(operators) {
|
|
14
|
+
this.template = LastNextTemplate;
|
|
15
|
+
this.options = [];
|
|
16
|
+
this.options = operators;
|
|
17
|
+
this._operator = this.options?.[0] || "NEXTDAYS";
|
|
18
|
+
this.i18nKey = this._getI18nKeyForOperator(this._operator);
|
|
19
|
+
}
|
|
20
|
+
_getI18nKeyForOperator(operator) {
|
|
21
|
+
switch (operator) {
|
|
22
|
+
case "NEXTDAYS":
|
|
23
|
+
return DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;
|
|
24
|
+
case "NEXTWEEKS":
|
|
25
|
+
return DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT;
|
|
26
|
+
case "NEXTMONTHS":
|
|
27
|
+
return DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT;
|
|
28
|
+
case "NEXTQUARTERS":
|
|
29
|
+
return DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT;
|
|
30
|
+
case "NEXTYEARS":
|
|
31
|
+
return DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT;
|
|
32
|
+
default:
|
|
33
|
+
return DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
parse(value) {
|
|
37
|
+
const matchingOption = this.availableOptions.find(optionInfo => {
|
|
38
|
+
const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
|
|
39
|
+
return isValidStringLastNext(value, tempOption);
|
|
40
|
+
});
|
|
41
|
+
if (matchingOption) {
|
|
42
|
+
const tempOption = { operator: matchingOption.operator, text: matchingOption.text };
|
|
43
|
+
return parseLastNext(value, tempOption);
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
format(value) {
|
|
48
|
+
return formatLastNextValue(value, this);
|
|
49
|
+
}
|
|
50
|
+
toDates(value) {
|
|
51
|
+
return toDatesLastNext(value, { operator: value.operator });
|
|
52
|
+
}
|
|
53
|
+
isValidString(value) {
|
|
54
|
+
return this.availableOptions.some(optionInfo => {
|
|
55
|
+
const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
|
|
56
|
+
return isValidStringLastNext(value, tempOption);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
handleSelectionChange(e) {
|
|
60
|
+
return handleSelectionChangeLastNext(e, this);
|
|
61
|
+
}
|
|
62
|
+
get text() {
|
|
63
|
+
if (this.options?.length && this.options.length > 1) {
|
|
64
|
+
const units = this.availableOptions
|
|
65
|
+
.filter(info => this.options?.includes(info.operator))
|
|
66
|
+
.map(info => info.unitText);
|
|
67
|
+
const unitsText = units.join(` / `);
|
|
68
|
+
return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, unitsText);
|
|
69
|
+
}
|
|
70
|
+
const baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);
|
|
71
|
+
const includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);
|
|
72
|
+
return `${baseText} ${includedText}`;
|
|
73
|
+
}
|
|
74
|
+
get icon() {
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
// Simple getter that provides all available Next options based on current component options
|
|
78
|
+
get availableOptions() {
|
|
79
|
+
const allOptions = [
|
|
80
|
+
{ operator: "NEXTDAYS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },
|
|
81
|
+
{ operator: "NEXTWEEKS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },
|
|
82
|
+
{ operator: "NEXTMONTHS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },
|
|
83
|
+
{ operator: "NEXTQUARTERS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },
|
|
84
|
+
{ operator: "NEXTYEARS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },
|
|
85
|
+
];
|
|
86
|
+
return allOptions.map(info => ({
|
|
87
|
+
operator: info.operator,
|
|
88
|
+
unitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),
|
|
89
|
+
text: DynamicDateRange.i18nBundle.getText(info.i18nKey),
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
get operator() {
|
|
93
|
+
return this._operator;
|
|
94
|
+
}
|
|
95
|
+
set operator(value) {
|
|
96
|
+
if (this.options?.includes(value)) {
|
|
97
|
+
this._operator = value;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
DynamicDateRange.register("NEXTDAYS", NextOptions);
|
|
102
|
+
DynamicDateRange.register("NEXTWEEKS", NextOptions);
|
|
103
|
+
DynamicDateRange.register("NEXTMONTHS", NextOptions);
|
|
104
|
+
DynamicDateRange.register("NEXTQUARTERS", NextOptions);
|
|
105
|
+
DynamicDateRange.register("NEXTYEARS", NextOptions);
|
|
106
|
+
export default NextOptions;
|
|
107
|
+
//# sourceMappingURL=NextOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextOptions.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/NextOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import LastNextTemplate from \"./LastNextTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nimport {\n\thandleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue,\n} from \"./LastNextUtils.js\";\nimport { toDatesLastNext } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT,\n\tDYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT,\n\tDYNAMIC_DATE_RANGE_INCLUDED_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.14.0\n */\nclass NextOptions implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate = LastNextTemplate;\n\t_operator: string;\n\ti18nKey: I18nText;\n\toptions?: Array<string> = [];\n\n\tconstructor(operators?: Array<string>) {\n\t\tthis.options = operators;\n\t\tthis._operator = this.options?.[0] || \"NEXTDAYS\";\n\t\tthis.i18nKey = this._getI18nKeyForOperator(this._operator);\n\t}\n\n\t_getI18nKeyForOperator(operator: string): I18nText {\n\t\tswitch (operator) {\n\t\tcase \"NEXTDAYS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;\n\t\tcase \"NEXTWEEKS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT;\n\t\tcase \"NEXTMONTHS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT;\n\t\tcase \"NEXTQUARTERS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT;\n\t\tcase \"NEXTYEARS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT;\n\t\tdefault:\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;\n\t\t}\n\t}\n\n\tparse(value: string): DynamicDateRangeValue | undefined {\n\t\tconst matchingOption = this.availableOptions.find(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\n\t\tif (matchingOption) {\n\t\t\tconst tempOption = { operator: matchingOption.operator, text: matchingOption.text };\n\t\t\treturn parseLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\treturn formatLastNextValue(value, this);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn toDatesLastNext(value, { operator: value.operator } as IDynamicDateRangeOption);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn this.availableOptions.some(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\treturn handleSelectionChangeLastNext(e, this);\n\t}\n\n\tget text(): string {\n\t\tif (this.options?.length && this.options.length > 1) {\n\t\t\tconst units = this.availableOptions\n\t\t\t\t.filter(info => this.options?.includes(info.operator))\n\t\t\t\t.map(info => info.unitText);\n\t\t\tconst unitsText = units.join(` / `);\n\t\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, unitsText);\n\t\t}\n\n\t\tconst baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);\n\t\tconst includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);\n\t\treturn `${baseText} ${includedText}`;\n\t}\n\n\tget icon(): string {\n\t\treturn \"\";\n\t}\n\n\t// Simple getter that provides all available Next options based on current component options\n\tget availableOptions() {\n\t\tconst allOptions = [\n\t\t\t{ operator: \"NEXTDAYS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTWEEKS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTMONTHS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTQUARTERS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTYEARS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },\n\t\t];\n\n\t\treturn allOptions.map(info => ({\n\t\t\toperator: info.operator,\n\t\t\tunitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),\n\t\t\ttext: DynamicDateRange.i18nBundle.getText(info.i18nKey),\n\t\t}));\n\t}\n\n\tget operator(): string {\n\t\treturn this._operator;\n\t}\n\n\tset operator(value: string) {\n\t\tif (this.options?.includes(value)) {\n\t\t\tthis._operator = value;\n\t\t}\n\t}\n}\n\nDynamicDateRange.register(\"NEXTDAYS\", NextOptions);\nDynamicDateRange.register(\"NEXTWEEKS\", NextOptions);\nDynamicDateRange.register(\"NEXTMONTHS\", NextOptions);\nDynamicDateRange.register(\"NEXTQUARTERS\", NextOptions);\nDynamicDateRange.register(\"NEXTYEARS\", NextOptions);\n\nexport default NextOptions;\n"]}
|
|
@@ -12,7 +12,7 @@ declare class SingleDate implements IDynamicDateRangeOption {
|
|
|
12
12
|
constructor();
|
|
13
13
|
parse(value: string): DynamicDateRangeValue;
|
|
14
14
|
format(value: DynamicDateRangeValue): string;
|
|
15
|
-
toDates(value: DynamicDateRangeValue): Date
|
|
15
|
+
toDates(value: DynamicDateRangeValue): Array<Date>;
|
|
16
16
|
isValidString(value: string): boolean;
|
|
17
17
|
get text(): string;
|
|
18
18
|
get operator(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAqB,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAA4B;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QAEnD,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACP,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC3E,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC,eAAe,CAAC;YACjC,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE9C,eAAe,UAAU,CAAC","sourcesContent":["import SingleDateTemplate from \"./SingleDateTemplate.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass SingleDate implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = SingleDateTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst date = this.getFormat().parse(value) 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) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst date = valuesArray[0];\n\n\t\treturn this.getFormat().format(date);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateOptionToDates(value);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst date = this.getFormat().parse(value) 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\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = new Date(e.detail.selectedDates[0] * 1000);\n\t\t}\n\n\t\treturn currentValue;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n}\n\nDynamicDateRange.register(\"DATE\", SingleDate);\n\nexport default SingleDate;\n"]}
|
|
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
|
|
|
8
8
|
declare class Today implements IDynamicDateRangeOption {
|
|
9
9
|
parse(): DynamicDateRangeValue;
|
|
10
10
|
format(): string;
|
|
11
|
-
toDates(): Date
|
|
11
|
+
toDates(): Array<Date>;
|
|
12
12
|
isValidString(value: string): boolean;
|
|
13
13
|
get text(): string;
|
|
14
14
|
get operator(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Today.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,KAAK;IACV,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO;QACN,OAAO,YAAY,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE1C,eAAe,KAAK,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { todayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TODAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Today implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Today\";\n\t}\n\n\ttoDates(): Date
|
|
1
|
+
{"version":3,"file":"Today.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,KAAK;IACV,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO;QACN,OAAO,YAAY,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE1C,eAAe,KAAK,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { todayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TODAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Today implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Today\";\n\t}\n\n\ttoDates(): Array<Date> {\n\t\treturn todayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TODAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TODAY\", Today);\n\nexport default Today;\n"]}
|
|
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
|
|
|
8
8
|
declare class Tomorrow implements IDynamicDateRangeOption {
|
|
9
9
|
parse(): DynamicDateRangeValue;
|
|
10
10
|
format(): string;
|
|
11
|
-
toDates(): Date
|
|
11
|
+
toDates(): Array<Date>;
|
|
12
12
|
isValidString(value: string): boolean;
|
|
13
13
|
get text(): string;
|
|
14
14
|
get operator(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tomorrow.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Tomorrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,gCAAgC,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,QAAQ;IACb,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,OAAO;QACN,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAe,QAAQ,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { tomorrowToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TOMORROW_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Tomorrow implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Tomorrow\";\n\t}\n\n\ttoDates(): Date
|
|
1
|
+
{"version":3,"file":"Tomorrow.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Tomorrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,gCAAgC,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,QAAQ;IACb,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,OAAO;QACN,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAe,QAAQ,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { tomorrowToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TOMORROW_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Tomorrow implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Tomorrow\";\n\t}\n\n\ttoDates() : Array<Date> {\n\t\treturn tomorrowToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TOMORROW_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TOMORROW\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TOMORROW\", Tomorrow);\n\nexport default Tomorrow;\n"]}
|
|
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
|
|
|
8
8
|
declare class Yesterday implements IDynamicDateRangeOption {
|
|
9
9
|
parse(): DynamicDateRangeValue;
|
|
10
10
|
format(): string;
|
|
11
|
-
toDates(): Date
|
|
11
|
+
toDates(): Array<Date>;
|
|
12
12
|
isValidString(value: string): boolean;
|
|
13
13
|
get text(): string;
|
|
14
14
|
get operator(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Yesterday.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Yesterday.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACN,iCAAiC,GACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,SAAS;IACd,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO;QACN,OAAO,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAElD,eAAe,SAAS,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { yesterdayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_YESTERDAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass Yesterday implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Yesterday\";\n\t}\n\n\ttoDates(): Date
|
|
1
|
+
{"version":3,"file":"Yesterday.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Yesterday.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACN,iCAAiC,GACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,SAAS;IACd,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO;QACN,OAAO,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAElD,eAAe,SAAS,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { yesterdayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_YESTERDAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass Yesterday implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Yesterday\";\n\t}\n\n\ttoDates() : Array<Date> {\n\t\treturn yesterdayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_YESTERDAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"YESTERDAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"YESTERDAY\", Yesterday);\n\nexport default Yesterday;\n"]}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import type { DynamicDateRangeValue } from "../DynamicDateRange.js";
|
|
2
|
-
declare const dateOptionToDates: (value: DynamicDateRangeValue) => Date
|
|
3
|
-
declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Date
|
|
4
|
-
declare const todayToDates: () => Date
|
|
5
|
-
declare const
|
|
6
|
-
declare const
|
|
7
|
-
|
|
1
|
+
import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
|
|
2
|
+
declare const dateOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
3
|
+
declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
4
|
+
declare const todayToDates: () => Array<Date>;
|
|
5
|
+
declare const yesterdayToDates: () => Array<Date>;
|
|
6
|
+
declare const tomorrowToDates: () => Array<Date>;
|
|
7
|
+
declare const lastNextToDates: (value: DynamicDateRangeValue, unit: string, direction: "last" | "next") => Array<Date>;
|
|
8
|
+
/**
|
|
9
|
+
* Converts DynamicDateRangeValue to dates for Last/Next options.
|
|
10
|
+
* Uses operator name to determine time unit and direction.
|
|
11
|
+
*/
|
|
12
|
+
declare const toDatesLastNext: (value: DynamicDateRangeValue, option: IDynamicDateRangeOption) => Array<Date>;
|
|
13
|
+
export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, };
|
|
@@ -1,41 +1,158 @@
|
|
|
1
|
+
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
1
2
|
const dateOptionToDates = (value) => {
|
|
2
|
-
const startDate = value.values ? value.values[0] :
|
|
3
|
-
const endDate =
|
|
3
|
+
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
4
|
+
const endDate = UI5Date.getInstance(startDate.getTime());
|
|
4
5
|
startDate?.setHours(0, 0, 0, 0);
|
|
5
6
|
endDate?.setHours(23, 59, 59, 999);
|
|
6
7
|
return [startDate, endDate];
|
|
7
8
|
};
|
|
8
9
|
const dateRangeOptionToDates = (value) => {
|
|
9
|
-
const startDate = value.values ? value.values[0] :
|
|
10
|
-
const endDate = value.values ? value.values[1] :
|
|
10
|
+
const startDate = value.values ? value.values[0] : UI5Date.getInstance();
|
|
11
|
+
const endDate = value.values ? value.values[1] : UI5Date.getInstance();
|
|
11
12
|
startDate?.setHours(0, 0, 0, 0);
|
|
12
13
|
endDate?.setHours(23, 59, 59, 999);
|
|
13
14
|
return [startDate, endDate];
|
|
14
15
|
};
|
|
15
16
|
const todayToDates = () => {
|
|
16
|
-
const startDate =
|
|
17
|
-
const endDate =
|
|
18
|
-
startDate
|
|
19
|
-
endDate
|
|
17
|
+
const startDate = UI5Date.getInstance();
|
|
18
|
+
const endDate = UI5Date.getInstance();
|
|
19
|
+
startDate.setHours(0, 0, 0, 0);
|
|
20
|
+
endDate.setHours(23, 59, 59, 999);
|
|
21
|
+
return [startDate, endDate];
|
|
22
|
+
};
|
|
23
|
+
const yesterdayToDates = () => {
|
|
24
|
+
const startDate = UI5Date.getInstance();
|
|
25
|
+
const endDate = UI5Date.getInstance();
|
|
26
|
+
startDate.setHours(0, 0, 0, 0);
|
|
27
|
+
startDate.setDate(startDate.getDate() - 1);
|
|
28
|
+
endDate.setHours(23, 59, 59, 999);
|
|
29
|
+
endDate.setDate(endDate.getDate() - 1);
|
|
20
30
|
return [startDate, endDate];
|
|
21
31
|
};
|
|
22
32
|
const tomorrowToDates = () => {
|
|
23
|
-
const startDate =
|
|
24
|
-
const endDate =
|
|
33
|
+
const startDate = UI5Date.getInstance();
|
|
34
|
+
const endDate = UI5Date.getInstance();
|
|
35
|
+
startDate.setHours(0, 0, 0, 0);
|
|
25
36
|
startDate.setDate(startDate.getDate() + 1);
|
|
37
|
+
endDate.setHours(23, 59, 59, 999);
|
|
26
38
|
endDate.setDate(endDate.getDate() + 1);
|
|
27
|
-
startDate?.setHours(0, 0, 0, 0);
|
|
28
|
-
endDate?.setHours(23, 59, 59, 999);
|
|
29
39
|
return [startDate, endDate];
|
|
30
40
|
};
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
const lastToDates = (value, unit) => {
|
|
42
|
+
const today = UI5Date.getInstance();
|
|
43
|
+
const startDate = UI5Date.getInstance(today.getTime());
|
|
44
|
+
const endDate = UI5Date.getInstance(today.getTime());
|
|
45
|
+
const amount = value.values?.[0] || 1;
|
|
46
|
+
switch (unit) {
|
|
47
|
+
case "days":
|
|
48
|
+
// For "Last X Days": start X days before today (inclusive), end today
|
|
49
|
+
// "Last 1 Day" = today only, "Last 2 Days" = yesterday + today, etc.
|
|
50
|
+
startDate.setDate(today.getDate() - (amount - 1));
|
|
51
|
+
break;
|
|
52
|
+
case "weeks": {
|
|
53
|
+
const currentDayOfWeek = today.getDay();
|
|
54
|
+
const daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;
|
|
55
|
+
startDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "months":
|
|
59
|
+
startDate.setMonth(today.getMonth() - (amount - 1));
|
|
60
|
+
startDate.setDate(1); // Start of the month
|
|
61
|
+
break;
|
|
62
|
+
case "quarters": {
|
|
63
|
+
const currentQuarter = Math.floor(today.getMonth() / 3);
|
|
64
|
+
const quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);
|
|
65
|
+
startDate.setMonth(quarterStartMonth);
|
|
66
|
+
startDate.setDate(1); // Start of the quarter
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case "years":
|
|
70
|
+
startDate.setFullYear(today.getFullYear() - (amount - 1));
|
|
71
|
+
startDate.setMonth(0); // January
|
|
72
|
+
startDate.setDate(1); // Start of the year
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
38
75
|
return [startDate, endDate];
|
|
39
76
|
};
|
|
40
|
-
|
|
77
|
+
const nextToDates = (value, unit) => {
|
|
78
|
+
const today = UI5Date.getInstance();
|
|
79
|
+
const startDate = UI5Date.getInstance(today.getTime());
|
|
80
|
+
const endDate = UI5Date.getInstance(today.getTime());
|
|
81
|
+
const amount = value.values?.[0] || 1;
|
|
82
|
+
switch (unit) {
|
|
83
|
+
case "days":
|
|
84
|
+
// For "Next X Days": start today, end X days from today (inclusive)
|
|
85
|
+
// "Next 1 Day" = today only, "Next 2 Days" = today + tomorrow, etc.
|
|
86
|
+
endDate.setDate(today.getDate() + (amount - 1));
|
|
87
|
+
break;
|
|
88
|
+
case "weeks": {
|
|
89
|
+
const currentDayOfWeek = today.getDay();
|
|
90
|
+
const daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;
|
|
91
|
+
endDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
case "months":
|
|
95
|
+
endDate.setMonth(today.getMonth() + amount);
|
|
96
|
+
endDate.setDate(0); // Last day of the previous month (the target month)
|
|
97
|
+
break;
|
|
98
|
+
case "quarters": {
|
|
99
|
+
const currentQuarter = Math.floor(today.getMonth() / 3);
|
|
100
|
+
const quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);
|
|
101
|
+
endDate.setMonth(quarterEndMonth + 1);
|
|
102
|
+
endDate.setDate(0); // Last day of the quarter
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
case "years":
|
|
106
|
+
endDate.setFullYear(today.getFullYear() + amount);
|
|
107
|
+
endDate.setMonth(0); // January of the next year
|
|
108
|
+
endDate.setDate(0); // Last day of December of the target year
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
return [startDate, endDate];
|
|
112
|
+
};
|
|
113
|
+
const lastNextToDates = (value, unit, direction) => {
|
|
114
|
+
return direction === "last" ? lastToDates(value, unit) : nextToDates(value, unit);
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Converts DynamicDateRangeValue to dates for Last/Next options.
|
|
118
|
+
* Uses operator name to determine time unit and direction.
|
|
119
|
+
*/
|
|
120
|
+
const toDatesLastNext = (value, option) => {
|
|
121
|
+
const operator = option.operator;
|
|
122
|
+
// Extract direction from operator name
|
|
123
|
+
let direction;
|
|
124
|
+
if (operator.startsWith("LAST")) {
|
|
125
|
+
direction = "last";
|
|
126
|
+
}
|
|
127
|
+
else if (operator.startsWith("NEXT")) {
|
|
128
|
+
direction = "next";
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// Not a LastNext option, return today's date range
|
|
132
|
+
return todayToDates();
|
|
133
|
+
}
|
|
134
|
+
// Extract time unit from operator name
|
|
135
|
+
let unit;
|
|
136
|
+
if (operator.includes("DAYS")) {
|
|
137
|
+
unit = "days";
|
|
138
|
+
}
|
|
139
|
+
else if (operator.includes("WEEKS")) {
|
|
140
|
+
unit = "weeks";
|
|
141
|
+
}
|
|
142
|
+
else if (operator.includes("MONTHS")) {
|
|
143
|
+
unit = "months";
|
|
144
|
+
}
|
|
145
|
+
else if (operator.includes("QUARTERS")) {
|
|
146
|
+
unit = "quarters";
|
|
147
|
+
}
|
|
148
|
+
else if (operator.includes("YEARS")) {
|
|
149
|
+
unit = "years";
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// Unknown time unit, return today's date range as fallback
|
|
153
|
+
return todayToDates();
|
|
154
|
+
}
|
|
155
|
+
return lastNextToDates(value, unit, direction);
|
|
156
|
+
};
|
|
157
|
+
export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, };
|
|
41
158
|
//# sourceMappingURL=toDates.js.map
|