@opengeoweb/core 4.20.0 → 4.21.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 +237 -124
- package/index.umd.js +279 -165
- package/lib/components/TimeSliderLite/TimeSliderLite.d.ts +1 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteBackground/TimeSliderLiteBackgroundSvg.d.ts +1 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteButtons/ControlButtonGroup/ControlButtonGroup.d.ts +2 -2
- package/lib/components/TimeSliderLite/TimeSliderLiteButtons/PlayButton/PlayButton.d.ts +1 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteButtons/StepButton/StepButton.d.ts +1 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteConnect.d.ts +10 -2
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/SubmenuWrapper.d.ts +8 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeRangeOptions/DayHourSelector.d.ts +21 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeRangeOptions/DayHourSelector.spec.d.ts +1 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeRangeOptions/TimeRangeOptions.d.ts +15 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeSliderLiteOptionsMenu.d.ts +27 -0
- package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeSliderLiteOptionsMenu.spec.d.ts +1 -0
- package/lib/components/TimeSliderLite/index.d.ts +2 -1
- package/lib/components/TimeSliderLite/timeSliderLiteUtils.d.ts +37 -1
- package/package.json +7 -7
- package/lib/components/LayerManager/LayerSelect/LayerList/SearchHighlight.d.ts +0 -7
- /package/lib/components/{LayerManager/LayerSelect/LayerList/SearchHighlight.spec.d.ts → TimeSliderLite/TimeSliderLiteOptionsMenu/SubmenuWrapper.spec.d.ts} +0 -0
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps } from '@mui/material';
|
|
2
3
|
import { TimeSliderLiteProps } from './TimeSliderLite';
|
|
3
4
|
export declare const TIME_SLIDER_LITE_DEFAULT_TIME_RANGE: number;
|
|
4
5
|
export interface TimeSliderConnectLiteProps extends Partial<TimeSliderLiteProps> {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
overrideUseTimeRange?: [
|
|
7
|
+
[
|
|
8
|
+
number,
|
|
9
|
+
number
|
|
10
|
+
] | null,
|
|
11
|
+
(timeRange: [number, number] | null) => void
|
|
12
|
+
];
|
|
7
13
|
sourceId: string;
|
|
8
14
|
mapId: string;
|
|
9
15
|
isAlwaysVisible?: boolean;
|
|
16
|
+
menuSx?: SxProps;
|
|
17
|
+
subMenuSx?: SxProps;
|
|
10
18
|
}
|
|
11
19
|
declare const TimeSliderLiteConnect: React.FC<TimeSliderConnectLiteProps>;
|
|
12
20
|
export default TimeSliderLiteConnect;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CardProps } from '@mui/material';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface SubmenuWrapperProps extends CardProps {
|
|
4
|
+
closeButtonIcon?: React.ReactNode;
|
|
5
|
+
setSubmenu?: (value: string | null) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const SubmenuWrapper: React.FC<SubmenuWrapperProps>;
|
|
8
|
+
export default SubmenuWrapper;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SelectProps, SxProps } from '@mui/material';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface CustomSelectProps extends SelectProps {
|
|
4
|
+
amountOfOptions: number;
|
|
5
|
+
dropdownButtonIcon?: React.ElementType;
|
|
6
|
+
itemPostFix: string;
|
|
7
|
+
value: number;
|
|
8
|
+
setValue: (value: number) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const CustomSelect: React.FC<CustomSelectProps>;
|
|
11
|
+
interface DayHourSelectorProps {
|
|
12
|
+
isDisabled?: boolean;
|
|
13
|
+
dropdownButtonIcon?: React.ElementType;
|
|
14
|
+
label: string;
|
|
15
|
+
maxHours?: number;
|
|
16
|
+
sx?: SxProps;
|
|
17
|
+
useDays: [number, (value: number) => void];
|
|
18
|
+
useHours: [number, (value: number) => void];
|
|
19
|
+
}
|
|
20
|
+
declare const DayHourSelector: React.FC<DayHourSelectorProps>;
|
|
21
|
+
export default DayHourSelector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IProps {
|
|
3
|
+
currentTime: number;
|
|
4
|
+
useTimeRange?: [
|
|
5
|
+
[
|
|
6
|
+
number,
|
|
7
|
+
number
|
|
8
|
+
] | null,
|
|
9
|
+
(timeRange: [number, number] | null) => void
|
|
10
|
+
];
|
|
11
|
+
defaultTimeRange: [number, number];
|
|
12
|
+
dropdownButtonIcon?: React.ElementType;
|
|
13
|
+
}
|
|
14
|
+
declare const TimeRangeOptions: React.FC<IProps>;
|
|
15
|
+
export default TimeRangeOptions;
|
package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeSliderLiteOptionsMenu.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SxProps } from '@mui/material';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface TimeSliderLiteOptionsMenuProps {
|
|
4
|
+
closeButtonIcon?: React.ReactNode;
|
|
5
|
+
currentTime?: number;
|
|
6
|
+
defaultTimeRange: [number, number];
|
|
7
|
+
dropdownButtonIcon?: React.ElementType;
|
|
8
|
+
menuOpen?: boolean;
|
|
9
|
+
setMenuOpen?: (menuOpen: boolean) => void;
|
|
10
|
+
submenuSx?: SxProps;
|
|
11
|
+
sx?: SxProps;
|
|
12
|
+
useTimeRange?: [
|
|
13
|
+
[
|
|
14
|
+
number,
|
|
15
|
+
number
|
|
16
|
+
] | null,
|
|
17
|
+
(timeRange: [number, number] | null) => void
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
export declare enum Submenu {
|
|
21
|
+
TIME_RANGE = "Time range",
|
|
22
|
+
TIME_STEP = "Time step",
|
|
23
|
+
SPEED = "Speed",
|
|
24
|
+
UPDATE_INTERVAL = "Update interval"
|
|
25
|
+
}
|
|
26
|
+
declare const TimeSliderLiteOptionsMenu: React.FC<TimeSliderLiteOptionsMenuProps>;
|
|
27
|
+
export default TimeSliderLiteOptionsMenu;
|
package/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeSliderLiteOptionsMenu.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as TimeSliderLiteOptionsMenu } from './TimeSliderLiteOptionsMenu/TimeSliderLiteOptionsMenu';
|
|
2
|
+
export { default as TimeSliderLiteConnect } from './TimeSliderLiteConnect';
|
|
2
3
|
export { default as TimeSliderLite } from './TimeSliderLite';
|
|
3
4
|
export * from './timeSliderLiteUtils';
|
|
@@ -1,14 +1,44 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ElementType, ReactNode } from 'react';
|
|
2
|
+
import { ReduxLayer } from '../../store/mapStore/types';
|
|
3
|
+
export declare const DAY_TO_MILLISECOND: number;
|
|
4
|
+
export declare const DAY_TO_SECOND = 86400;
|
|
5
|
+
export declare const HOUR_TO_SECOND = 3600;
|
|
6
|
+
export declare const MILLISECOND_TO_DAY: number;
|
|
2
7
|
export declare const MILLISECOND_TO_SECOND: number;
|
|
8
|
+
export declare const MINUTE_TO_SECOND = 60;
|
|
9
|
+
export declare const SECOND_TO_DAY: number;
|
|
10
|
+
export declare const SECOND_TO_HOUR: number;
|
|
11
|
+
export declare const SECOND_TO_MILLISECOND = 1000;
|
|
12
|
+
export declare const SEVEN_DAYS_IN_SECONDS: number;
|
|
3
13
|
/**
|
|
4
14
|
* Reformats a date that has capitalized first letter and colon separator for time
|
|
5
15
|
* @param dateString Date string from Date.toLocaleDateString
|
|
6
16
|
* @returns Reformatted date string
|
|
7
17
|
*/
|
|
8
18
|
export declare const reformatFinnishDateString: (dateString: string) => string;
|
|
19
|
+
export declare const getMonthChanges: (startDate: Date, endDate: Date) => number[];
|
|
9
20
|
export declare const getSelectedTimePx: (startTime: number, endTime: number, selectedTime: number, width: number) => number;
|
|
10
21
|
export declare const boundedValue: (value: number, bounds: [number, number]) => number;
|
|
11
22
|
export declare const getSelectedTimeFromPx: (startTime: number, endTime: number, selectedTimePx: number, width: number) => number;
|
|
23
|
+
export declare const secondsToDaysAndHours: (seconds: number) => {
|
|
24
|
+
days: number;
|
|
25
|
+
hours: number;
|
|
26
|
+
};
|
|
27
|
+
export declare const hoursAndDaysToSeconds: (hours: number, days: number) => number;
|
|
28
|
+
export declare const TIME_SLIDER_LITE_DEFAULT_MAX_FORECAST_RANGE: number;
|
|
29
|
+
export declare const TIME_SLIDER_LITE_DEFAULT_MAX_OBSERVED_RANGE: number;
|
|
30
|
+
/**
|
|
31
|
+
* Checks which layers have observed/forecasted data and returns a default time range
|
|
32
|
+
* @param layers ReduxLayer[] Map layers
|
|
33
|
+
* @param currentTime Current time in seconds
|
|
34
|
+
* @param overrideDefaultTimeRange [observedTimeRange, forecastTime] in seconds from current time
|
|
35
|
+
* @returns [startTime, endTime] in seconds
|
|
36
|
+
*/
|
|
37
|
+
export declare const defaultTimeRange: (layers: ReduxLayer[], currentTime?: number, overrideDefaultTimeRange?: [number, number] | undefined) => [number, number];
|
|
38
|
+
export declare const useDefaultTimeRange: (layers: ReduxLayer[], updateThreshold: number, currentTime?: number) => [number, number];
|
|
39
|
+
export declare const subTicksPerDay: (dayWidthInPixels: number) => number;
|
|
40
|
+
export declare const maxSubTicksPerDay: (dayWidthInPixels: number, timeStep: number) => number;
|
|
41
|
+
export declare const getRemainingHours: (maxHours: number | undefined, days: number) => number;
|
|
12
42
|
export interface TimeSliderLiteCustomSettings {
|
|
13
43
|
menuButton?: {
|
|
14
44
|
label?: string;
|
|
@@ -44,4 +74,10 @@ export interface TimeSliderLiteCustomSettings {
|
|
|
44
74
|
show?: ReactNode;
|
|
45
75
|
};
|
|
46
76
|
};
|
|
77
|
+
closeButton?: {
|
|
78
|
+
icon?: ReactNode;
|
|
79
|
+
};
|
|
80
|
+
dropdownButton?: {
|
|
81
|
+
icon?: ElementType;
|
|
82
|
+
};
|
|
47
83
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.21.0",
|
|
4
4
|
"description": "GeoWeb Core library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -13,30 +13,30 @@
|
|
|
13
13
|
"dependencies": {},
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"react": "^18.2.0",
|
|
16
|
-
"@opengeoweb/shared": "4.
|
|
16
|
+
"@opengeoweb/shared": "4.21.0",
|
|
17
17
|
"@mui/material": "^5.12.0",
|
|
18
|
-
"@opengeoweb/theme": "4.
|
|
18
|
+
"@opengeoweb/theme": "4.21.0",
|
|
19
19
|
"@mui/system": "^5.12.0",
|
|
20
20
|
"@mui/x-date-pickers": "^6.2.1",
|
|
21
21
|
"react-draggable": "^4.4.5",
|
|
22
22
|
"re-resizable": "^6.9.0",
|
|
23
|
+
"lodash": "^4.17.20",
|
|
23
24
|
"@redux-eggs/core": "^2.2.0",
|
|
24
25
|
"react-redux": "^8.0.4",
|
|
25
|
-
"lodash": "^4.17.20",
|
|
26
26
|
"axios": "^0.25.0",
|
|
27
27
|
"date-fns": "^2.29.3",
|
|
28
28
|
"moment": "^2.29.0",
|
|
29
|
-
"@opengeoweb/webmap": "4.
|
|
29
|
+
"@opengeoweb/webmap": "4.21.0",
|
|
30
30
|
"throttle-debounce": "^3.0.1",
|
|
31
31
|
"proj4": "^2.6.2",
|
|
32
|
-
"@opengeoweb/api": "4.
|
|
32
|
+
"@opengeoweb/api": "4.21.0",
|
|
33
33
|
"react-intl": "^5.17.5",
|
|
34
34
|
"react-sortablejs": "^6.1.4",
|
|
35
35
|
"sortablejs": "^1.15.0",
|
|
36
36
|
"immer": "^9.0.15",
|
|
37
37
|
"@reduxjs/toolkit": "^1.8.3",
|
|
38
38
|
"react-window": "^1.8.7",
|
|
39
|
-
"@opengeoweb/form-fields": "4.
|
|
39
|
+
"@opengeoweb/form-fields": "4.21.0",
|
|
40
40
|
"react-hook-form": "^7.41.5",
|
|
41
41
|
"moment-timezone": "^0.5.31",
|
|
42
42
|
"react-resize-detector": "^9.1.0",
|