@opengeoweb/soundings 19.3.0 → 19.5.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/dist/index.esm.js +1326 -906
- package/dist/src/lib/api/edr-api/queryOptions.d.ts +12 -4
- package/dist/src/lib/components/MenuBar/LocationsMenu.d.ts +16 -1
- package/dist/src/lib/components/MenuBar/MenuBar.d.ts +3 -1
- package/dist/src/lib/components/MenuBar/SoundingsSourceMenu.d.ts +1 -0
- package/dist/src/lib/components/Soundings/SharedMouseYProvider.d.ts +8 -0
- package/dist/src/lib/components/Soundings/Soundings.d.ts +1 -1
- package/dist/src/lib/components/Soundings/constants.d.ts +1 -1
- package/dist/src/lib/components/Soundings/drawUtils.d.ts +2 -1
- package/dist/src/lib/components/Soundings/useSoundingsDiagramSize.d.ts +1 -1
- package/dist/src/lib/components/SoundingsTooltip/utils.d.ts +4 -2
- package/dist/src/lib/components/StaticLines/drawIsotherms.d.ts +2 -1
- package/dist/src/lib/components/StaticLines/utils.d.ts +2 -1
- package/dist/src/lib/components/WindBarbs/utils.d.ts +7 -2
- package/dist/src/lib/store/reducer.d.ts +4 -1
- package/dist/src/lib/store/selectors.d.ts +87 -0
- package/dist/src/lib/store/types.d.ts +30 -0
- package/package.json +1 -1
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import type { SoundingsInstances } from './types';
|
|
1
|
+
import type { CollectionDetails, SoundingsInstances } from './types';
|
|
2
2
|
export declare const soundingsQueryOptions: {
|
|
3
|
-
readonly getCollectionInstances: (collectionId: string, url: string) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<SoundingsInstances, Error, SoundingsInstances,
|
|
4
|
-
queryFn?: import("@tanstack/query-core").QueryFunction<SoundingsInstances,
|
|
3
|
+
readonly getCollectionInstances: (collectionId: string, url: string) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<SoundingsInstances, Error, SoundingsInstances, string[]>, "queryFn"> & {
|
|
4
|
+
queryFn?: import("@tanstack/query-core").QueryFunction<SoundingsInstances, string[], never> | undefined;
|
|
5
5
|
} & {
|
|
6
|
-
queryKey:
|
|
6
|
+
queryKey: string[] & {
|
|
7
7
|
[dataTagSymbol]: SoundingsInstances;
|
|
8
8
|
[dataTagErrorSymbol]: Error;
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
+
readonly getCollectionDetails: (collectionId: string, url: string) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<CollectionDetails, Error, CollectionDetails, string[]>, "queryFn"> & {
|
|
12
|
+
queryFn?: import("@tanstack/query-core").QueryFunction<CollectionDetails, string[], never> | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
queryKey: string[] & {
|
|
15
|
+
[dataTagSymbol]: CollectionDetails;
|
|
16
|
+
[dataTagErrorSymbol]: Error;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
11
19
|
};
|
|
@@ -15,6 +15,21 @@ interface Props {
|
|
|
15
15
|
order?: number;
|
|
16
16
|
isLoading?: boolean;
|
|
17
17
|
error?: Error | null;
|
|
18
|
+
locationMenuSize?: {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
};
|
|
22
|
+
locationMenuPosition?: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
};
|
|
26
|
+
onSizeChange?: (size: {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
}, position: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
}) => void;
|
|
18
33
|
}
|
|
19
|
-
export declare const LocationsMenu: ({ services, selectedSourcesAmount, selectedLocations, isOpen, onClose, updateSelectedLocation, onMouseDown, order, isLoading, error, }: Props) => React.ReactElement;
|
|
34
|
+
export declare const LocationsMenu: ({ services, selectedSourcesAmount, selectedLocations, isOpen, onClose, updateSelectedLocation, onMouseDown, order, isLoading, error, locationMenuSize, onSizeChange, locationMenuPosition, }: Props) => React.ReactElement;
|
|
20
35
|
export {};
|
|
@@ -11,6 +11,8 @@ interface SoundingsMenuBarProps {
|
|
|
11
11
|
selectedSourcesAmount?: number;
|
|
12
12
|
shouldHideMarkers: boolean;
|
|
13
13
|
toggleMarkers: (shouldHideMarkers: boolean) => void;
|
|
14
|
+
isLegendVisible: boolean;
|
|
15
|
+
toggleLegend: () => void;
|
|
14
16
|
}
|
|
15
|
-
export declare const SoundingsMenuBar: ({ handleClick, isOpen, selectedSourcesAmount, shouldHideMarkers, toggleMarkers, }: SoundingsMenuBarProps) => React.ReactElement;
|
|
17
|
+
export declare const SoundingsMenuBar: ({ handleClick, isOpen, selectedSourcesAmount, shouldHideMarkers, toggleMarkers, isLegendVisible, toggleLegend, }: SoundingsMenuBarProps) => React.ReactElement;
|
|
16
18
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SourceSelection } from '@opengeoweb/shared';
|
|
3
3
|
import type { SoundingsCollectionsWithInstances } from '../Soundings/types';
|
|
4
|
+
export declare const defaultInstanceId = "latest-0";
|
|
4
5
|
interface SoundingsSourceMenuProps {
|
|
5
6
|
soundingsCollections: SoundingsCollectionsWithInstances[] | undefined;
|
|
6
7
|
isOpen?: boolean;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
interface SharedVerticalZoom {
|
|
3
|
+
scale: number;
|
|
4
|
+
y: number;
|
|
5
|
+
sourceId: string | null;
|
|
6
|
+
}
|
|
2
7
|
interface MouseYCtx {
|
|
3
8
|
clientY: number | null;
|
|
9
|
+
verticalZoom: SharedVerticalZoom;
|
|
10
|
+
publishVerticalZoom: (sourceId: string, scale: number, y: number) => void;
|
|
11
|
+
resetVerticalZoom: (sourceId: string) => void;
|
|
4
12
|
}
|
|
5
13
|
export declare const useSharedMouseY: () => MouseYCtx;
|
|
6
14
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { Margin } from './drawUtils';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SoundingDiagramType, SoundingFeature } from '../../api/edr-api/types';
|
|
4
4
|
export interface SoundingProps {
|
|
5
5
|
d3GraphId: string;
|
|
6
6
|
data: SoundingFeature[][];
|
|
@@ -18,5 +18,5 @@ export declare const REFERENCE_PRESSURE: number;
|
|
|
18
18
|
export declare const EARTH_MEAN_RADIUS = 6371;
|
|
19
19
|
export declare const MAX_PROXIMITY_RADIUS = 100;
|
|
20
20
|
export declare const SAME_POINT_DISTANCE_KM = 0.05;
|
|
21
|
-
export declare const SOUNDINGS_CONTAINER_BREAKPOINT_PX = "
|
|
21
|
+
export declare const SOUNDINGS_CONTAINER_BREAKPOINT_PX = "720px";
|
|
22
22
|
export declare const SOUNDINGS_CONTAINER_NAME = "soundings-container";
|
|
@@ -29,6 +29,7 @@ interface PlotSounding {
|
|
|
29
29
|
pressureValues: number[];
|
|
30
30
|
color: string;
|
|
31
31
|
lineStyle: string;
|
|
32
|
+
d3GraphId: string;
|
|
32
33
|
xScale: ScalesType;
|
|
33
34
|
yScale: ScalesType;
|
|
34
35
|
height: number;
|
|
@@ -40,6 +41,6 @@ export declare const initializeSvg: ({ svgRef, width, height, margin, diagramTyp
|
|
|
40
41
|
export declare const createScales: (diagramType: SoundingDiagramType, width: number, height: number, minPressure: number, maxPressure: number, minTemperature: number, maxTemperature: number) => [ScalesType, ScalesType];
|
|
41
42
|
export declare const drawAxes: ({ svg, xScale, yScale, height, diagramType, }: DrawAxis) => void;
|
|
42
43
|
export declare const mapToPlot: (diagramType: SoundingDiagramType, filteredPressureValues: number[], filteredTemperatureValues: number[], xScale: ScalesType, yScale: ScalesType, height: number) => [number, number][];
|
|
43
|
-
export declare const plotSounding: ({ temperatureValues, pressureValues, color, lineStyle, xScale, yScale, height, svg, diagramType, }: PlotSounding) => void;
|
|
44
|
+
export declare const plotSounding: ({ temperatureValues, pressureValues, color, lineStyle, d3GraphId, xScale, yScale, height, svg, diagramType, }: PlotSounding) => void;
|
|
44
45
|
export declare const filterDomainRangeForParameter: (pressureDomain: number[], parameterDomain: number[]) => [number[], number[]];
|
|
45
46
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const useSoundingsDiagramSize: (ref: React.RefObject<HTMLDivElement | null
|
|
2
|
+
export declare const useSoundingsDiagramSize: (ref: React.RefObject<HTMLDivElement | null>, useWidth?: boolean) => number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as d3 from 'd3';
|
|
2
2
|
import type { SoundingDiagramType, SoundingFeature } from '../../api/edr-api/types';
|
|
3
3
|
import type { Margin } from '../Soundings/drawUtils';
|
|
4
|
+
import type { ScalesType } from '../Soundings/types';
|
|
4
5
|
interface DrawSoundingsTooltipData {
|
|
5
6
|
pressureData: number[];
|
|
6
7
|
interpolatePressure: (value: number) => number;
|
|
@@ -16,10 +17,10 @@ interface DrawSoundingsTooltipProps {
|
|
|
16
17
|
pageY: number;
|
|
17
18
|
clientY: number;
|
|
18
19
|
};
|
|
19
|
-
yScale: d3.ScaleLinear<number, number>;
|
|
20
20
|
svgRectangle: DOMRect;
|
|
21
21
|
margin: Margin;
|
|
22
22
|
width: number;
|
|
23
|
+
hoveredPressure: number;
|
|
23
24
|
pressureRefd3?: d3.Selection<HTMLDivElement | null, unknown, null, undefined>;
|
|
24
25
|
tempRefd3?: d3.Selection<HTMLDivElement | null, unknown, null, undefined>;
|
|
25
26
|
dewpointRefd3?: d3.Selection<HTMLDivElement | null, unknown, null, undefined>;
|
|
@@ -27,5 +28,6 @@ interface DrawSoundingsTooltipProps {
|
|
|
27
28
|
tooltipData: DrawSoundingsTooltipData[];
|
|
28
29
|
diagramType: SoundingDiagramType;
|
|
29
30
|
}
|
|
30
|
-
export declare const
|
|
31
|
+
export declare const extractPressureFromY: (diagramType: SoundingDiagramType, y: number, yScale: ScalesType) => number;
|
|
32
|
+
export declare const drawSoundingsTooltip: ({ event, svgRectangle, hoveredPressure, pressureRefd3, tempRefd3, dewpointRefd3, windRefd3, margin, width, tooltipData, diagramType, }: DrawSoundingsTooltipProps) => void;
|
|
31
33
|
export {};
|
|
@@ -17,7 +17,8 @@ interface DrawIsothermsBijvoetProps {
|
|
|
17
17
|
yScale: ScalesType;
|
|
18
18
|
height: number;
|
|
19
19
|
svg: d3.Selection<SVGElement, unknown, HTMLElement, unknown>;
|
|
20
|
+
labelSvg?: d3.Selection<SVGElement, unknown, HTMLElement, unknown>;
|
|
20
21
|
d3GraphId: string;
|
|
21
22
|
}
|
|
22
|
-
export declare const drawIsothermsBijvoet: ({ staticPressureArray, xScale, yScale, svg, height, d3GraphId, }: DrawIsothermsBijvoetProps) => void;
|
|
23
|
+
export declare const drawIsothermsBijvoet: ({ staticPressureArray, xScale, yScale, svg, labelSvg, height, d3GraphId, }: DrawIsothermsBijvoetProps) => void;
|
|
23
24
|
export {};
|
|
@@ -13,7 +13,8 @@ interface DrawStaticLinesProps {
|
|
|
13
13
|
xScale: ScalesType;
|
|
14
14
|
yScale: ScalesType;
|
|
15
15
|
svg: d3.Selection<SVGElement, unknown, HTMLElement, unknown>;
|
|
16
|
+
bijvoetLabelSvg?: d3.Selection<SVGElement, unknown, HTMLElement, unknown>;
|
|
16
17
|
d3GraphId: string;
|
|
17
18
|
}
|
|
18
|
-
export declare const drawStaticLines: ({ diagramType, dp, staticPressureArray, minTemperature, maxTemperature, height, width, xScale, yScale, minPressure, maxPressure, svg, d3GraphId, }: DrawStaticLinesProps) => void;
|
|
19
|
+
export declare const drawStaticLines: ({ diagramType, dp, staticPressureArray, minTemperature, maxTemperature, height, width, xScale, yScale, minPressure, maxPressure, svg, bijvoetLabelSvg, d3GraphId, }: DrawStaticLinesProps) => void;
|
|
19
20
|
export {};
|
|
@@ -16,7 +16,12 @@ export interface DrawWindBarbsProps {
|
|
|
16
16
|
margin: Margin;
|
|
17
17
|
barbColor?: string;
|
|
18
18
|
columnOffsetX?: number;
|
|
19
|
+
verticalScale?: number;
|
|
19
20
|
}
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
21
|
+
export declare const MIN_VERTICAL_SCALE = 1;
|
|
22
|
+
export declare const MAX_VERTICAL_SCALE = 7;
|
|
23
|
+
export declare const getThinningBaseForVerticalScale: (verticalScale: number) => number;
|
|
24
|
+
export declare const drawWindBarbs: ({ svgRef, plotGroup, yScale, data, width, margin, barbColor, columnOffsetX, verticalScale, }: DrawWindBarbsProps) => void;
|
|
25
|
+
export declare const removeItemsExponential: (array: WindDataType[], base?: number) => WindDataType[];
|
|
26
|
+
export declare const getVisibleWindItemsForVerticalScale: (data: WindDataType[], verticalScale: number) => WindDataType[];
|
|
22
27
|
export declare const getWindSymbol: (value: number) => Node | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Draft, PayloadAction } from '@reduxjs/toolkit';
|
|
2
2
|
import type { SoundingsCollection } from '@opengeoweb/shared';
|
|
3
|
-
import type { SoundingsState, SoundingsViewState, RegisterSoundingsPresetPayload, UpdateLocationPayload, UpdateSourcePayload, UpdateTimePayload, UpdateDiagramTypePayload, ToggleLocationMarkersPayload, ToggleTimeSliderVisibilityPayload, UpdateProfileDataPreferencesPayload, AddSoundingPanelsPayload, ChangeSoundingPanelOrderPayload } from './types';
|
|
3
|
+
import type { SoundingsState, SoundingsViewState, RegisterSoundingsPresetPayload, UpdateLocationPayload, UpdateSourcePayload, UpdateTimePayload, UpdateDiagramTypePayload, ToggleLocationMarkersPayload, ToggleTimeSliderVisibilityPayload, ToggleLegendVisibilityPayload, UpdateProfileDataPreferencesPayload, AddSoundingPanelsPayload, ChangeSoundingPanelOrderPayload, SetLocationMenuSizeAndPositionPayload, SetLocationsMenuOpenPayload } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* Default state every new soundings view starts with. Views are created
|
|
6
6
|
* dynamically when a soundings view mounts, so this serves as the template
|
|
@@ -19,6 +19,7 @@ export declare const soundingsActions: import("@reduxjs/toolkit").CaseReducerAct
|
|
|
19
19
|
updateDiagramType: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<UpdateDiagramTypePayload>) => void;
|
|
20
20
|
toggleLocationMarkers: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<ToggleLocationMarkersPayload>) => void;
|
|
21
21
|
toggleTimeSliderVisibility: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<ToggleTimeSliderVisibilityPayload>) => void;
|
|
22
|
+
toggleLegendVisibility: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<ToggleLegendVisibilityPayload>) => void;
|
|
22
23
|
updateProfileDataPreferences: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<UpdateProfileDataPreferencesPayload>) => void;
|
|
23
24
|
addSoundingPanelsFromPreset: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<AddSoundingPanelsPayload>) => void;
|
|
24
25
|
changeSoundingPanelOrder: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<ChangeSoundingPanelOrderPayload>) => void;
|
|
@@ -39,6 +40,8 @@ export declare const soundingsActions: import("@reduxjs/toolkit").CaseReducerAct
|
|
|
39
40
|
customWidth: number;
|
|
40
41
|
origin?: string;
|
|
41
42
|
}>) => void;
|
|
43
|
+
setLocationMenuSizeAndPosition: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<SetLocationMenuSizeAndPositionPayload>) => void;
|
|
44
|
+
setLocationsMenuOpen: (draft: Draft<SoundingsState>, payloadAction: PayloadAction<SetLocationsMenuOpenPayload>) => void;
|
|
42
45
|
notifyViewClosed: (draft: Draft<SoundingsState>) => void;
|
|
43
46
|
}, "soundings">;
|
|
44
47
|
export declare const soundingsReducer: import("redux").Reducer<SoundingsState>;
|
|
@@ -171,6 +171,27 @@ export declare const getIsTimeSliderVisible: ((state: SoundingsModuleState, view
|
|
|
171
171
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
172
172
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
173
173
|
};
|
|
174
|
+
export declare const getIsLegendVisible: ((state: SoundingsModuleState, viewId?: string | undefined) => boolean) & {
|
|
175
|
+
clearCache: () => void;
|
|
176
|
+
resultsCount: () => number;
|
|
177
|
+
resetResultsCount: () => void;
|
|
178
|
+
} & {
|
|
179
|
+
resultFunc: (resultFuncArgs_0: SoundingsViewState) => boolean;
|
|
180
|
+
memoizedResultFunc: ((resultFuncArgs_0: SoundingsViewState) => boolean) & {
|
|
181
|
+
clearCache: () => void;
|
|
182
|
+
resultsCount: () => number;
|
|
183
|
+
resetResultsCount: () => void;
|
|
184
|
+
};
|
|
185
|
+
lastResult: () => boolean;
|
|
186
|
+
dependencies: [(store: SoundingsModuleState, viewId?: string) => SoundingsViewState];
|
|
187
|
+
recomputations: () => number;
|
|
188
|
+
resetRecomputations: () => void;
|
|
189
|
+
dependencyRecomputations: () => number;
|
|
190
|
+
resetDependencyRecomputations: () => void;
|
|
191
|
+
} & {
|
|
192
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
193
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
194
|
+
};
|
|
174
195
|
export declare const getProfileDataPreferences: ((state: SoundingsModuleState, viewId?: string | undefined) => SoundingsProfileDataPreferences) & {
|
|
175
196
|
clearCache: () => void;
|
|
176
197
|
resultsCount: () => number;
|
|
@@ -295,6 +316,72 @@ export declare const getSelectedSourcesIds: ((state: SoundingsModuleState, viewI
|
|
|
295
316
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
296
317
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
297
318
|
};
|
|
319
|
+
export declare const getLocationMenuSize: ((state: SoundingsModuleState, viewId?: string | undefined) => {
|
|
320
|
+
width: number;
|
|
321
|
+
height: number;
|
|
322
|
+
} | undefined) & {
|
|
323
|
+
clearCache: () => void;
|
|
324
|
+
resultsCount: () => number;
|
|
325
|
+
resetResultsCount: () => void;
|
|
326
|
+
} & {
|
|
327
|
+
resultFunc: (resultFuncArgs_0: SoundingsViewState) => {
|
|
328
|
+
width: number;
|
|
329
|
+
height: number;
|
|
330
|
+
} | undefined;
|
|
331
|
+
memoizedResultFunc: ((resultFuncArgs_0: SoundingsViewState) => {
|
|
332
|
+
width: number;
|
|
333
|
+
height: number;
|
|
334
|
+
} | undefined) & {
|
|
335
|
+
clearCache: () => void;
|
|
336
|
+
resultsCount: () => number;
|
|
337
|
+
resetResultsCount: () => void;
|
|
338
|
+
};
|
|
339
|
+
lastResult: () => {
|
|
340
|
+
width: number;
|
|
341
|
+
height: number;
|
|
342
|
+
} | undefined;
|
|
343
|
+
dependencies: [(store: SoundingsModuleState, viewId?: string) => SoundingsViewState];
|
|
344
|
+
recomputations: () => number;
|
|
345
|
+
resetRecomputations: () => void;
|
|
346
|
+
dependencyRecomputations: () => number;
|
|
347
|
+
resetDependencyRecomputations: () => void;
|
|
348
|
+
} & {
|
|
349
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
350
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
351
|
+
};
|
|
352
|
+
export declare const getLocationMenuPosition: ((state: SoundingsModuleState, viewId?: string | undefined) => {
|
|
353
|
+
x: number;
|
|
354
|
+
y: number;
|
|
355
|
+
} | undefined) & {
|
|
356
|
+
clearCache: () => void;
|
|
357
|
+
resultsCount: () => number;
|
|
358
|
+
resetResultsCount: () => void;
|
|
359
|
+
} & {
|
|
360
|
+
resultFunc: (resultFuncArgs_0: SoundingsViewState) => {
|
|
361
|
+
x: number;
|
|
362
|
+
y: number;
|
|
363
|
+
} | undefined;
|
|
364
|
+
memoizedResultFunc: ((resultFuncArgs_0: SoundingsViewState) => {
|
|
365
|
+
x: number;
|
|
366
|
+
y: number;
|
|
367
|
+
} | undefined) & {
|
|
368
|
+
clearCache: () => void;
|
|
369
|
+
resultsCount: () => number;
|
|
370
|
+
resetResultsCount: () => void;
|
|
371
|
+
};
|
|
372
|
+
lastResult: () => {
|
|
373
|
+
x: number;
|
|
374
|
+
y: number;
|
|
375
|
+
} | undefined;
|
|
376
|
+
dependencies: [(store: SoundingsModuleState, viewId?: string) => SoundingsViewState];
|
|
377
|
+
recomputations: () => number;
|
|
378
|
+
resetRecomputations: () => void;
|
|
379
|
+
dependencyRecomputations: () => number;
|
|
380
|
+
resetDependencyRecomputations: () => void;
|
|
381
|
+
} & {
|
|
382
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
383
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
384
|
+
};
|
|
298
385
|
export declare const getSoundingsPreset: ((state: SoundingsModuleState, viewId?: string | undefined) => SoundingsViewState) & {
|
|
299
386
|
clearCache: () => void;
|
|
300
387
|
resultsCount: () => number;
|
|
@@ -41,9 +41,25 @@ export interface ToggleLocationMarkersPayload extends SoundingsPayload {
|
|
|
41
41
|
export interface ToggleTimeSliderVisibilityPayload extends SoundingsPayload {
|
|
42
42
|
isTimeSliderVisible: boolean;
|
|
43
43
|
}
|
|
44
|
+
export interface ToggleLegendVisibilityPayload extends SoundingsPayload {
|
|
45
|
+
isLegendVisible: boolean;
|
|
46
|
+
}
|
|
44
47
|
export interface UpdateProfileDataPreferencesPayload extends SoundingsPayload {
|
|
45
48
|
profileDataPreferences: SoundingsProfileDataPreferences;
|
|
46
49
|
}
|
|
50
|
+
export interface SetLocationMenuSizeAndPositionPayload extends SoundingsPayload {
|
|
51
|
+
size: {
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
};
|
|
55
|
+
position?: {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export interface SetLocationsMenuOpenPayload extends SoundingsPayload {
|
|
61
|
+
isLocationsDialogOpen: boolean;
|
|
62
|
+
}
|
|
47
63
|
export interface RegisterSoundingsPresetPayload extends SoundingsPayload {
|
|
48
64
|
preset: SoundingsViewState;
|
|
49
65
|
}
|
|
@@ -84,9 +100,23 @@ export interface SoundingsViewState {
|
|
|
84
100
|
shouldHideLocationMarkers?: boolean;
|
|
85
101
|
/** Whether the timeslider is shown below the panels (defaults to true) */
|
|
86
102
|
isTimeSliderVisible?: boolean;
|
|
103
|
+
/** Whether the legend is shown above the panels (defaults to true) */
|
|
104
|
+
isLegendVisible?: boolean;
|
|
87
105
|
/** Per-view profile data table preferences: visible columns + units */
|
|
88
106
|
profileDataPreferences?: SoundingsProfileDataPreferences;
|
|
89
107
|
syncGroupsIds: string[];
|
|
108
|
+
/** Persisted size of the location menu dialog */
|
|
109
|
+
locationMenuSize?: {
|
|
110
|
+
width: number;
|
|
111
|
+
height: number;
|
|
112
|
+
};
|
|
113
|
+
/** Persisted drag position of the location menu dialog */
|
|
114
|
+
locationMenuPosition?: {
|
|
115
|
+
x: number;
|
|
116
|
+
y: number;
|
|
117
|
+
};
|
|
118
|
+
/** Whether the locations dialog was open when the preset was saved */
|
|
119
|
+
isLocationsDialogOpen?: boolean;
|
|
90
120
|
}
|
|
91
121
|
/**
|
|
92
122
|
* Root state for the soundings slice. Views are added dynamically when
|