@opengeoweb/time-slider 15.0.0 → 15.2.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/index.esm.js +23 -17
- package/package.json +3 -3
package/index.esm.js
CHANGED
|
@@ -626,16 +626,20 @@ var onsetNewDateDebounced = debounce(function (dateToSet, onSetNewDate) {
|
|
|
626
626
|
maxWait: 40
|
|
627
627
|
});
|
|
628
628
|
var setPreviousTimeStep = function setPreviousTimeStep(timeStep, currentTime, dataStartTime, onSetNewDate) {
|
|
629
|
-
|
|
630
|
-
var
|
|
631
|
-
var
|
|
629
|
+
// timeStep is in minutes, convert to seconds
|
|
630
|
+
var timeStepInSeconds = timeStep * 60;
|
|
631
|
+
var nextTime = currentTime - timeStepInSeconds;
|
|
632
|
+
// Don't round - just step by the timestep amount from current position
|
|
633
|
+
var newTime = Math.max(nextTime, dataStartTime || nextTime);
|
|
632
634
|
var selectedTimeString = dateUtils.fromUnix(newTime).toISOString();
|
|
633
635
|
onSetNewDate(selectedTimeString);
|
|
634
636
|
};
|
|
635
637
|
var setNextTimeStep = function setNextTimeStep(timeStep, currentTime, dataEndTime, onSetNewDate) {
|
|
636
|
-
|
|
637
|
-
var
|
|
638
|
-
var
|
|
638
|
+
// timeStep is in minutes, convert to seconds
|
|
639
|
+
var timeStepInSeconds = timeStep * 60;
|
|
640
|
+
var nextTime = currentTime + timeStepInSeconds;
|
|
641
|
+
// Don't round - just step by the timestep amount from current position
|
|
642
|
+
var newTime = Math.min(nextTime, dataEndTime || nextTime);
|
|
639
643
|
var selectedTimeString = dateUtils.fromUnix(newTime).toISOString();
|
|
640
644
|
onSetNewDate(selectedTimeString);
|
|
641
645
|
};
|
|
@@ -1670,7 +1674,8 @@ var TimeSliderLegend = function TimeSliderLegend(_ref) {
|
|
|
1670
1674
|
var startDraggingPosition = useRef(0);
|
|
1671
1675
|
var popperRef = useRef(null);
|
|
1672
1676
|
var isClickOrDrag = useRef();
|
|
1673
|
-
|
|
1677
|
+
// Display unfilteredSelectedTime (already snapped to available timestep)
|
|
1678
|
+
var displayTime = unfilteredSelectedTime;
|
|
1674
1679
|
var start = localAnimationStartTime;
|
|
1675
1680
|
var end = localAnimationEndTime;
|
|
1676
1681
|
var pixelsBetweenViewportAndTimesliderOnTop = (_getTimeSliderLegendE = getTimeSliderLegendElement(mapId)) == null ? void 0 : _getTimeSliderLegendE.getBoundingClientRect()['top'];
|
|
@@ -2009,7 +2014,7 @@ var TimeSliderLegend = function TimeSliderLegend(_ref) {
|
|
|
2009
2014
|
onMouseUp: onMouseUp,
|
|
2010
2015
|
onRenderCanvas: function onRenderCanvas(ctx, width, height) {
|
|
2011
2016
|
updateCanvasWidth(canvasWidth, width);
|
|
2012
|
-
drawTimeSliderLegend(ctx, theme, width, height, centerTime, secondsPerPx, timeSliderSpan,
|
|
2017
|
+
drawTimeSliderLegend(ctx, theme, width, height, centerTime, secondsPerPx, timeSliderSpan, displayTime, currentTime, start, end, dataStartTime, dataEndTime);
|
|
2013
2018
|
},
|
|
2014
2019
|
onWheel: onWheelOverCanvas,
|
|
2015
2020
|
ref: node
|
|
@@ -3387,9 +3392,9 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
|
|
|
3387
3392
|
_ref$secondsPerPx = _ref.secondsPerPx,
|
|
3388
3393
|
secondsPerPx = _ref$secondsPerPx === void 0 ? 50 : _ref$secondsPerPx,
|
|
3389
3394
|
_ref$span = _ref.span,
|
|
3390
|
-
span = _ref$span === void 0 ? defaultTimeSpan : _ref$span
|
|
3391
|
-
|
|
3392
|
-
dataStartTime = _ref.dataStartTime,
|
|
3395
|
+
span = _ref$span === void 0 ? defaultTimeSpan : _ref$span;
|
|
3396
|
+
_ref.timeStep;
|
|
3397
|
+
var dataStartTime = _ref.dataStartTime,
|
|
3393
3398
|
dataEndTime = _ref.dataEndTime,
|
|
3394
3399
|
unfilteredSelectedTime = _ref.unfilteredSelectedTime,
|
|
3395
3400
|
linkedMapAnimationInfo = _ref.linkedMapAnimationInfo,
|
|
@@ -3462,8 +3467,9 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
|
|
|
3462
3467
|
document.removeEventListener('mouseup', handleMouseUp);
|
|
3463
3468
|
};
|
|
3464
3469
|
}, [canvasWidth, centerTime, mouseDownInTimeBox, secondsPerPx, setUnfilteredSelectedTime, unfilteredSelectedTime]);
|
|
3465
|
-
|
|
3466
|
-
var
|
|
3470
|
+
// Display unfilteredSelectedTime (already snapped to available timestep)
|
|
3471
|
+
var displayTime = unfilteredSelectedTime;
|
|
3472
|
+
var timePx = timestampToPixel(displayTime, centerTime, canvasWidth, secondsPerPx);
|
|
3467
3473
|
var currentTimeBoxWidth = getTimeBoxWidth(span);
|
|
3468
3474
|
var calendarIconPx = timePx - currentTimeBoxWidth / 2 + CALENDAR_ICON_LEFT_SPACING;
|
|
3469
3475
|
return jsxs(Box$1, {
|
|
@@ -3488,8 +3494,8 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
|
|
|
3488
3494
|
},
|
|
3489
3495
|
onRenderCanvas: function onRenderCanvas(ctx, width, height) {
|
|
3490
3496
|
setCanvasWidth(width);
|
|
3491
|
-
|
|
3492
|
-
renderTimeSliderCurrentTimeBox(ctx, theme, width, height, centerTime,
|
|
3497
|
+
// Use the actual selected time without rounding to timestep
|
|
3498
|
+
renderTimeSliderCurrentTimeBox(ctx, theme, width, height, centerTime, unfilteredSelectedTime, secondsPerPx, span, isAutoUpdating);
|
|
3493
3499
|
},
|
|
3494
3500
|
ref: node
|
|
3495
3501
|
}), jsx(CalendarButton, {
|
|
@@ -3500,11 +3506,11 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
|
|
|
3500
3506
|
if (newSelectedTime) {
|
|
3501
3507
|
onCalendarSelect(newSelectedTime);
|
|
3502
3508
|
if (onSetCenterTime) {
|
|
3503
|
-
onSetCenterTime(newSelectedTime -
|
|
3509
|
+
onSetCenterTime(newSelectedTime - displayTime + centerTime);
|
|
3504
3510
|
}
|
|
3505
3511
|
}
|
|
3506
3512
|
},
|
|
3507
|
-
selectedTime:
|
|
3513
|
+
selectedTime: displayTime
|
|
3508
3514
|
})]
|
|
3509
3515
|
});
|
|
3510
3516
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/time-slider",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.2.0",
|
|
4
4
|
"description": "GeoWeb time-slider library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@opengeoweb/shared": "15.
|
|
11
|
+
"@opengeoweb/shared": "15.2.0",
|
|
12
12
|
"lodash": "^4.17.21",
|
|
13
|
-
"@opengeoweb/theme": "15.
|
|
13
|
+
"@opengeoweb/theme": "15.2.0",
|
|
14
14
|
"@mui/x-date-pickers": "^8.11.2",
|
|
15
15
|
"@mui/system": "^7.3.2",
|
|
16
16
|
"i18next": "^25.0.1",
|