|
1 | | -import { formatShortDateTime } from '../helpers/timezone.helper'; |
| 1 | +import { getAdminUiConfig } from '@ibexa-admin-ui/src/bundle/Resources/public/js/scripts/helpers/context.helper'; |
| 2 | +import { convertDateToTimezone, formatShortDateTime, getBrowserTimezone } from '../helpers/timezone.helper'; |
2 | 3 | import { setInstance } from '../helpers/object.instances'; |
3 | 4 |
|
4 | 5 | const { ibexa, document } = window; |
@@ -29,7 +30,11 @@ class DateTimeRangeSingle { |
29 | 30 | } |
30 | 31 |
|
31 | 32 | getUnixTimestampUTC(dateObject) { |
32 | | - return Math.floor(dateObject.getTime() / 1000); |
| 33 | + const { timezone } = getAdminUiConfig(); |
| 34 | + const selectedDateWithUserTimezone = convertDateToTimezone(dateObject, timezone, true); |
| 35 | + const timestamp = Math.floor(selectedDateWithUserTimezone.valueOf() / 1000); |
| 36 | + |
| 37 | + return timestamp; |
33 | 38 | } |
34 | 39 |
|
35 | 40 | setDates(dates) { |
@@ -82,7 +87,18 @@ class DateTimeRangeSingle { |
82 | 87 |
|
83 | 88 | init() { |
84 | 89 | const { start, end } = this.container.dataset; |
85 | | - const defaultDate = start && end ? [start, end] : []; |
| 90 | + let defaultDate = []; |
| 91 | + |
| 92 | + if (start && end) { |
| 93 | + const defaultStartDateWithUserTimezone = convertDateToTimezone(start * 1000); |
| 94 | + const defaultEndDateWithUserTimezone = convertDateToTimezone(end * 1000); |
| 95 | + const browserTimezone = getBrowserTimezone(); |
| 96 | + |
| 97 | + defaultDate = [ |
| 98 | + new Date(convertDateToTimezone(defaultStartDateWithUserTimezone, browserTimezone, true)), |
| 99 | + new Date(convertDateToTimezone(defaultEndDateWithUserTimezone, browserTimezone, true)), |
| 100 | + ]; |
| 101 | + } |
86 | 102 |
|
87 | 103 | this.dateTimePickerWidget = new ibexa.core.DateTimePicker({ |
88 | 104 | container: this.dateTimePickerInputWrapper, |
|
0 commit comments