@ui5/webcomponents 2.27.0-rc.2 → 2.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/ListItemGroupBase.d.ts +1 -1
- package/dist/ListItemGroupBase.js +1 -1
- package/dist/ListItemGroupBase.js.map +1 -1
- package/dist/MultiComboBox.js +1 -1
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/NumberInput.d.ts +2 -2
- package/dist/NumberInput.js +1 -1
- package/dist/NumberInput.js.map +1 -1
- package/dist/RatingIndicator.d.ts +1 -5
- package/dist/RatingIndicator.js +6 -11
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/RatingIndicatorTemplate.js +1 -1
- package/dist/RatingIndicatorTemplate.js.map +1 -1
- package/dist/Select.d.ts +1 -0
- package/dist/Select.js.map +1 -1
- package/dist/Token.d.ts +1 -0
- package/dist/Token.js +6 -0
- package/dist/Token.js.map +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarItemBase.d.ts +3 -3
- package/dist/ToolbarItemBase.js +5 -29
- package/dist/ToolbarItemBase.js.map +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/DynamicDateRangePopover.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Token.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_auto/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +2 -2
- 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 +42 -79
- package/dist/custom-elements.json +45 -83
- package/dist/dynamic-date-range-options/DateRange.js +3 -4
- package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
- package/dist/dynamic-date-range-options/FromDateTime.js +4 -5
- package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -1
- package/dist/dynamic-date-range-options/SingleDate.js +2 -2
- package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
- package/dist/dynamic-date-range-options/ToDateTime.js +4 -5
- package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -1
- package/dist/dynamic-date-range-options/toDates.d.ts +2 -1
- package/dist/dynamic-date-range-options/toDates.js +5 -1
- package/dist/dynamic-date-range-options/toDates.js.map +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_auto/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_hc_auto/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/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/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/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/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/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/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_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_auto/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_hc_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +2 -2
- package/dist/generated/themes/sap_horizon_hc_auto/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 +0 -10
- package/dist/web-types.json +11 -31
- package/package.json +9 -9
- package/src/RatingIndicatorTemplate.tsx +0 -1
- package/src/themes/CalendarHeader.css +7 -6
- package/src/themes/DynamicDateRangePopover.css +2 -3
- package/src/themes/ListItemBase.css +1 -1
- package/src/themes/RatingIndicator.css +2 -1
- package/src/themes/Token.css +6 -3
- package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +3 -4
- package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +3 -4
- package/src/themes/sap_horizon/CalendarHeader-parameters.css +0 -1
- package/src/themes/sap_horizon_dark/CalendarHeader-parameters.css +0 -1
- package/src/themes/sap_horizon_hcb/CalendarHeader-parameters.css +3 -3
- package/src/themes/sap_horizon_hcw/CalendarHeader-parameters.css +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/DateRange.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,OAAO,UAAU,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/DateRange.ts"],"names":[],"mappings":"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","sourcesContent":["import DateRangeTemplate from \"./DateRangeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATERANGE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateRangeOptionToDates, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass DateRange implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = DateRangeTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = this.getFormat().parse(value) as 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 || valuesArray.length !== 2 || !valuesArray[1]) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray);\n\n\t\treturn formattedValue;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateRangeOptionToDates(value);\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATERANGE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATERANGE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dates = this.getFormat().parse(value) as Array<Date>;\n\n\t\tif (!dates[0] || !dates[1] || Number.isNaN(dates[0].getTime()) || Number.isNaN(dates[1].getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t\tinterval: true,\n\t\t\tintervalDelimiter: \" - \",\n\t\t});\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] = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t}\n\n\t\tif (e.detail.selectedDates[1]) {\n\t\t\tcurrentValue.values[1] = calendarTimestampToLocalDate(e.detail.selectedDates[1] as number);\n\t\t}\n\n\t\t// Handle backwards date ranges by automatically flipping them\n\t\tif (currentValue.values.length === 2 && currentValue.values[0] && currentValue.values[1]) {\n\t\t\tconst startDate = currentValue.values[0] as UI5Date;\n\t\t\tconst endDate = currentValue.values[1] as UI5Date;\n\n\t\t\t// If start date is after end date, flip them\n\t\t\tif (startDate.getTime() > endDate.getTime()) {\n\t\t\t\tcurrentValue.values = [endDate, startDate];\n\t\t\t}\n\t\t}\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"DATERANGE\", DateRange);\n\nexport default DateRange;\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
|
|
2
2
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
|
-
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
4
3
|
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";
|
|
4
|
+
import { dateTimeOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
|
|
6
5
|
import DynamicDateRange from "../DynamicDateRange.js";
|
|
7
6
|
/**
|
|
8
7
|
* @class
|
|
@@ -18,7 +17,7 @@ class FromDateTime {
|
|
|
18
17
|
};
|
|
19
18
|
this.template = FromDateTimeTemplate;
|
|
20
19
|
this._showTimeView = false;
|
|
21
|
-
this._currentDateValue =
|
|
20
|
+
this._currentDateValue = new Date();
|
|
22
21
|
}
|
|
23
22
|
parse(value) {
|
|
24
23
|
const dateText = value.replace(this.fromText, "").trim();
|
|
@@ -112,8 +111,8 @@ class FromDateTime {
|
|
|
112
111
|
}
|
|
113
112
|
if (target.hasAttribute("ui5-calendar")) {
|
|
114
113
|
if (e.detail.selectedDates[0]) {
|
|
115
|
-
const
|
|
116
|
-
this._currentDateValue.setFullYear(
|
|
114
|
+
const localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
|
|
115
|
+
this._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
|
|
117
116
|
currentValue.values = [this._currentDateValue];
|
|
118
117
|
}
|
|
119
118
|
}
|
|
@@ -1 +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 * @implements {IDynamicDateRangeOption}\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"]}
|
|
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 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, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\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 = new Date();\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 localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t\t\tthis._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.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"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import SingleDateTemplate from "./SingleDateTemplate.js";
|
|
2
2
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
3
|
import { DYNAMIC_DATE_RANGE_DATE_TEXT, } from "../generated/i18n/i18n-defaults.js";
|
|
4
|
-
import { dateOptionToDates } from "./toDates.js";
|
|
4
|
+
import { dateOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
|
|
5
5
|
import DynamicDateRange from "../DynamicDateRange.js";
|
|
6
6
|
/**
|
|
7
7
|
* @class
|
|
@@ -53,7 +53,7 @@ class SingleDate {
|
|
|
53
53
|
currentValue.values = [];
|
|
54
54
|
currentValue.operator = this.operator;
|
|
55
55
|
if (e.detail.selectedDates[0]) {
|
|
56
|
-
currentValue.values[0] =
|
|
56
|
+
currentValue.values[0] = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
|
|
57
57
|
}
|
|
58
58
|
return currentValue;
|
|
59
59
|
}
|
|
@@ -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;
|
|
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,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;;GAMG;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,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAW,CAAC,CAAC;QAC5F,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, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\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] = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\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"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
|
|
2
2
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
3
|
-
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
4
3
|
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";
|
|
4
|
+
import { dateTimeOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
|
|
6
5
|
import DynamicDateRange from "../DynamicDateRange.js";
|
|
7
6
|
/**
|
|
8
7
|
* @class
|
|
@@ -18,7 +17,7 @@ class ToDateTime {
|
|
|
18
17
|
};
|
|
19
18
|
this.template = FromDateTimeTemplate;
|
|
20
19
|
this._showTimeView = false;
|
|
21
|
-
this._currentDateValue =
|
|
20
|
+
this._currentDateValue = new Date();
|
|
22
21
|
}
|
|
23
22
|
parse(value) {
|
|
24
23
|
const dateText = value.replace(this.toText, "").trim();
|
|
@@ -112,8 +111,8 @@ class ToDateTime {
|
|
|
112
111
|
}
|
|
113
112
|
if (target.hasAttribute("ui5-calendar")) {
|
|
114
113
|
if (e.detail.selectedDates[0]) {
|
|
115
|
-
const
|
|
116
|
-
this._currentDateValue.setFullYear(
|
|
114
|
+
const localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
|
|
115
|
+
this._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
|
|
117
116
|
currentValue.values = [this._currentDateValue];
|
|
118
117
|
}
|
|
119
118
|
}
|
|
@@ -1 +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 * @implements {IDynamicDateRangeOption}\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
|
+
{"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 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, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\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 = new Date();\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 localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t\t\tthis._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.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,4 +1,5 @@
|
|
|
1
1
|
import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
|
|
2
|
+
declare const calendarTimestampToLocalDate: (timestampSeconds: number) => Date;
|
|
2
3
|
declare const dateOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
3
4
|
declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
4
5
|
declare const dateTimeRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
@@ -12,4 +13,4 @@ declare const lastNextToDates: (value: DynamicDateRangeValue, unit: string, dire
|
|
|
12
13
|
*/
|
|
13
14
|
declare const toDatesLastNext: (value: DynamicDateRangeValue, option: IDynamicDateRangeOption) => Array<Date>;
|
|
14
15
|
declare const dateTimeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
|
|
15
|
-
export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
16
|
+
export { calendarTimestampToLocalDate, dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
2
|
+
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
3
|
+
const calendarTimestampToLocalDate = (timestampSeconds) => {
|
|
4
|
+
return CalendarDate.fromTimestamp(timestampSeconds * 1000).toLocalJSDate();
|
|
5
|
+
};
|
|
2
6
|
const dateOptionToDates = (value) => {
|
|
3
7
|
if (!value || !value.values || value.values.length !== 1) {
|
|
4
8
|
return [];
|
|
@@ -178,5 +182,5 @@ const dateTimeOptionToDates = (value) => {
|
|
|
178
182
|
endDate.setMilliseconds(999);
|
|
179
183
|
return [startDate, endDate];
|
|
180
184
|
};
|
|
181
|
-
export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
185
|
+
export { calendarTimestampToLocalDate, dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
|
|
182
186
|
//# 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\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"]}
|
|
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\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\n\nconst calendarTimestampToLocalDate = (timestampSeconds: number): Date => {\n\treturn CalendarDate.fromTimestamp(timestampSeconds * 1000).toLocalJSDate();\n};\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\tcalendarTimestampToLocalDate,\n\tdateOptionToDates,\n\tdateRangeOptionToDates,\n\tdateTimeRangeOptionToDates,\n\ttodayToDates,\n\ttomorrowToDates,\n\tyesterdayToDates,\n\tlastNextToDates,\n\ttoDatesLastNext,\n\tdateTimeOptionToDates,\n};\n"]}
|