@wenle_2523097/agri-map 1.0.2 → 1.0.3
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/components/ConfigProvider/index.d.ts +15 -0
- package/dist/components/ConfigProvider/index.d.ts.map +1 -0
- package/dist/components/DualScaleControl/index.d.ts +10 -0
- package/dist/components/DualScaleControl/index.d.ts.map +1 -0
- package/dist/components/Icons/SelectIcon.d.ts +68 -0
- package/dist/components/Icons/SelectIcon.d.ts.map +1 -0
- package/dist/components/Icons/index.d.ts +43 -0
- package/dist/components/Icons/index.d.ts.map +1 -0
- package/dist/components/Irrigation/index.d.ts +8 -0
- package/dist/components/Irrigation/index.d.ts.map +1 -0
- package/dist/components/Irrigation/toolbar.d.ts +6 -0
- package/dist/components/Irrigation/toolbar.d.ts.map +1 -0
- package/dist/components/Loading/index.d.ts +40 -0
- package/dist/components/Loading/index.d.ts.map +1 -0
- package/dist/components/MapContent/index.d.ts +17 -0
- package/dist/components/MapContent/index.d.ts.map +1 -0
- package/dist/components/MapSizeHandler/index.d.ts +24 -0
- package/dist/components/MapSizeHandler/index.d.ts.map +1 -0
- package/dist/components/Marker/ClusterView.d.ts +29 -0
- package/dist/components/Marker/ClusterView.d.ts.map +1 -0
- package/dist/components/Marker/MapClickHandler.d.ts +25 -0
- package/dist/components/Marker/MapClickHandler.d.ts.map +1 -0
- package/dist/components/Marker/index.d.ts +61 -0
- package/dist/components/Marker/index.d.ts.map +1 -0
- package/dist/components/Marker/parseClusterConfig.d.ts +25 -0
- package/dist/components/Marker/parseClusterConfig.d.ts.map +1 -0
- package/dist/components/Marker/toolbar.d.ts +6 -0
- package/dist/components/Marker/toolbar.d.ts.map +1 -0
- package/dist/components/Marker/useEditHandlers.d.ts +44 -0
- package/dist/components/Marker/useEditHandlers.d.ts.map +1 -0
- package/dist/components/Marker/useIconConfig.d.ts +23 -0
- package/dist/components/Marker/useIconConfig.d.ts.map +1 -0
- package/dist/components/Marker/useMarkerCommands.d.ts +30 -0
- package/dist/components/Marker/useMarkerCommands.d.ts.map +1 -0
- package/dist/components/Measurement/toolbar.d.ts +20 -0
- package/dist/components/Measurement/toolbar.d.ts.map +1 -0
- package/dist/components/MiniMap/index.d.ts +16 -0
- package/dist/components/MiniMap/index.d.ts.map +1 -0
- package/dist/components/Notification/index.d.ts +12 -0
- package/dist/components/Notification/index.d.ts.map +1 -0
- package/dist/components/PlotGroupLayer/index.d.ts +8 -0
- package/dist/components/PlotGroupLayer/index.d.ts.map +1 -0
- package/dist/components/PlotLayer/index.d.ts +7 -0
- package/dist/components/PlotLayer/index.d.ts.map +1 -0
- package/dist/components/PlotLayer/label.d.ts +12 -0
- package/dist/components/PlotLayer/label.d.ts.map +1 -0
- package/dist/components/PlotLayer/leaflet-types.d.ts +59 -0
- package/dist/components/PlotLayer/leaflet-types.d.ts.map +1 -0
- package/dist/components/PlotLayer/parseConfig.d.ts +15 -0
- package/dist/components/PlotLayer/parseConfig.d.ts.map +1 -0
- package/dist/components/PlotLayer/toolbar.d.ts +6 -0
- package/dist/components/PlotLayer/toolbar.d.ts.map +1 -0
- package/dist/components/PlotLayer/types.d.ts +10 -0
- package/dist/components/PlotLayer/types.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotCommands.d.ts +33 -0
- package/dist/components/PlotLayer/usePlotCommands.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotData.d.ts +32 -0
- package/dist/components/PlotLayer/usePlotData.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotEditMode.d.ts +92 -0
- package/dist/components/PlotLayer/usePlotEditMode.d.ts.map +1 -0
- package/dist/components/Road/index.d.ts +8 -0
- package/dist/components/Road/index.d.ts.map +1 -0
- package/dist/components/Road/toolbar.d.ts +6 -0
- package/dist/components/Road/toolbar.d.ts.map +1 -0
- package/dist/components/TianDiTuLayer/index.d.ts +15 -0
- package/dist/components/TianDiTuLayer/index.d.ts.map +1 -0
- package/dist/components/Track/ClusterView.d.ts +20 -0
- package/dist/components/Track/ClusterView.d.ts.map +1 -0
- package/dist/components/Track/TrackView.d.ts +24 -0
- package/dist/components/Track/TrackView.d.ts.map +1 -0
- package/dist/components/Track/commands.d.ts +53 -0
- package/dist/components/Track/commands.d.ts.map +1 -0
- package/dist/components/Track/constants.d.ts +34 -0
- package/dist/components/Track/constants.d.ts.map +1 -0
- package/dist/components/Track/index.d.ts +54 -0
- package/dist/components/Track/index.d.ts.map +1 -0
- package/dist/components/Track/parseConfig.d.ts +40 -0
- package/dist/components/Track/parseConfig.d.ts.map +1 -0
- package/dist/components/Track/types.d.ts +38 -0
- package/dist/components/Track/types.d.ts.map +1 -0
- package/dist/components/Track/useMarkerIcon.d.ts +14 -0
- package/dist/components/Track/useMarkerIcon.d.ts.map +1 -0
- package/dist/components/Track/useTrackCommands.d.ts +56 -0
- package/dist/components/Track/useTrackCommands.d.ts.map +1 -0
- package/dist/components/shared/BaseEditToolbar.d.ts +100 -0
- package/dist/components/shared/BaseEditToolbar.d.ts.map +1 -0
- package/dist/components/shared/ToolbarButton.d.ts +49 -0
- package/dist/components/shared/ToolbarButton.d.ts.map +1 -0
- package/dist/components/shared/index.d.ts +5 -0
- package/dist/components/shared/index.d.ts.map +1 -0
- package/dist/constants/device.d.ts +14 -0
- package/dist/constants/device.d.ts.map +1 -0
- package/dist/constants/index.d.ts +20 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/map.d.ts +13 -0
- package/dist/constants/map.d.ts.map +1 -0
- package/dist/constants/plot.d.ts +33 -0
- package/dist/constants/plot.d.ts.map +1 -0
- package/dist/constants/road.d.ts +12 -0
- package/dist/constants/road.d.ts.map +1 -0
- package/dist/constants/styles.d.ts +57 -0
- package/dist/constants/styles.d.ts.map +1 -0
- package/dist/constants/theme.d.ts +47 -0
- package/dist/constants/theme.d.ts.map +1 -0
- package/dist/constants/unit.d.ts +11 -0
- package/dist/constants/unit.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useEditMode.d.ts +75 -0
- package/dist/hooks/useEditMode.d.ts.map +1 -0
- package/dist/hooks/useLatestRef.d.ts +17 -0
- package/dist/hooks/useLatestRef.d.ts.map +1 -0
- package/dist/hooks/usePolylineEditor.d.ts +65 -0
- package/dist/hooks/usePolylineEditor.d.ts.map +1 -0
- package/dist/hooks/usePolylineRenderer.d.ts +34 -0
- package/dist/hooks/usePolylineRenderer.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts +13 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/index.d.ts +312 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/types/basic.d.ts +57 -0
- package/dist/types/basic.d.ts.map +1 -0
- package/dist/types/components.d.ts +56 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/config.d.ts +112 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/decorator.d.ts +26 -0
- package/dist/types/decorator.d.ts.map +1 -0
- package/dist/types/icon.d.ts +52 -0
- package/dist/types/icon.d.ts.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/irrigation.d.ts +315 -0
- package/dist/types/irrigation.d.ts.map +1 -0
- package/dist/types/layer.d.ts +40 -0
- package/dist/types/layer.d.ts.map +1 -0
- package/dist/types/loading.d.ts +62 -0
- package/dist/types/loading.d.ts.map +1 -0
- package/dist/types/marker.d.ts +299 -0
- package/dist/types/marker.d.ts.map +1 -0
- package/dist/types/measurement.d.ts +121 -0
- package/dist/types/measurement.d.ts.map +1 -0
- package/dist/types/notification.d.ts +50 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/plot.d.ts +479 -0
- package/dist/types/plot.d.ts.map +1 -0
- package/dist/types/road.d.ts +382 -0
- package/dist/types/road.d.ts.map +1 -0
- package/dist/types/toolbar.d.ts +176 -0
- package/dist/types/toolbar.d.ts.map +1 -0
- package/dist/types/track.d.ts +386 -0
- package/dist/types/track.d.ts.map +1 -0
- package/dist/utils/area.d.ts +57 -0
- package/dist/utils/area.d.ts.map +1 -0
- package/dist/utils/clusterIcon.d.ts +16 -0
- package/dist/utils/clusterIcon.d.ts.map +1 -0
- package/dist/utils/createAntPath.d.ts +13 -0
- package/dist/utils/createAntPath.d.ts.map +1 -0
- package/dist/utils/geometry.d.ts +41 -0
- package/dist/utils/geometry.d.ts.map +1 -0
- package/dist/utils/iconCache.d.ts +49 -0
- package/dist/utils/iconCache.d.ts.map +1 -0
- package/dist/utils/iconUtils.d.ts +46 -0
- package/dist/utils/iconUtils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/leafletIcons.d.ts +40 -0
- package/dist/utils/leafletIcons.d.ts.map +1 -0
- package/dist/utils/mapAnimation.d.ts +14 -0
- package/dist/utils/mapAnimation.d.ts.map +1 -0
- package/dist/utils/markerSvg.d.ts +19 -0
- package/dist/utils/markerSvg.d.ts.map +1 -0
- package/dist/utils/pulseIcon.d.ts +28 -0
- package/dist/utils/pulseIcon.d.ts.map +1 -0
- package/dist/utils/spatialIndex.d.ts +56 -0
- package/dist/utils/spatialIndex.d.ts.map +1 -0
- package/dist/utils/toggleItemState.d.ts +15 -0
- package/dist/utils/toggleItemState.d.ts.map +1 -0
- package/dist/utils/trackSimplify.d.ts +23 -0
- package/dist/utils/trackSimplify.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Track 组件配置解析
|
|
3
|
+
* @description 将 boolean | ObjectConfig 三态配置解析为统一的配置对象
|
|
4
|
+
* @module components/Track/parseConfig
|
|
5
|
+
*/
|
|
6
|
+
import type { PerformanceConfig, MarkerModeConfig, ClusterIconConfig, MarkerIconConfig } from '../../types';
|
|
7
|
+
export interface ParsedPerformanceConfig {
|
|
8
|
+
isVirtualized: boolean;
|
|
9
|
+
virtualMinZoom: number;
|
|
10
|
+
virtualMaxZoom: number;
|
|
11
|
+
simplifyTolerance: number;
|
|
12
|
+
duplicateTolerance: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ParsedMarkerModeConfig {
|
|
15
|
+
markerZoomThreshold: number;
|
|
16
|
+
markerZoomToLevel: number;
|
|
17
|
+
enableCluster: boolean;
|
|
18
|
+
clusterOptions: {
|
|
19
|
+
radius?: number;
|
|
20
|
+
maxZoom?: number;
|
|
21
|
+
minPoints?: number;
|
|
22
|
+
icon?: ClusterIconConfig;
|
|
23
|
+
} | undefined;
|
|
24
|
+
clusterIconConfig: ClusterIconConfig | undefined;
|
|
25
|
+
markerIconConfig: MarkerIconConfig | undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 解析 performance 配置
|
|
29
|
+
* - undefined / false → 关闭所有优化
|
|
30
|
+
* - true → 启用虚拟化(默认参数)
|
|
31
|
+
* - object → 自定义参数
|
|
32
|
+
*/
|
|
33
|
+
export declare function parsePerformanceConfig(performanceConfig: boolean | PerformanceConfig | undefined): ParsedPerformanceConfig;
|
|
34
|
+
/**
|
|
35
|
+
* 解析 markerMode 配置
|
|
36
|
+
* - undefined / false → 关闭 Marker 模式
|
|
37
|
+
* - true → 启用 Marker 模式 + 聚合
|
|
38
|
+
* - object → 自定义参数
|
|
39
|
+
*/
|
|
40
|
+
export declare function parseMarkerModeConfig(markerModeConfig: boolean | MarkerModeConfig | undefined): ParsedMarkerModeConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseConfig.d.ts","sourceRoot":"","sources":["../../../src/components/Track/parseConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5G,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,SAAS,CAAC;IAChH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GACzD,uBAAuB,CAwBzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,GACvD,sBAAsB,CAyCxB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Track 组件内部类型定义
|
|
3
|
+
* @module components/Track/types
|
|
4
|
+
*/
|
|
5
|
+
import type { BoundedItem } from '../../utils/spatialIndex';
|
|
6
|
+
/** 轨迹元数据,用于 Marker 模式和空间索引 */
|
|
7
|
+
export interface TrackMeta {
|
|
8
|
+
key: string;
|
|
9
|
+
imei: string;
|
|
10
|
+
date: string;
|
|
11
|
+
center: [number, number];
|
|
12
|
+
bounds: [[number, number], [number, number]];
|
|
13
|
+
}
|
|
14
|
+
/** 带边界框的轨迹索引项 */
|
|
15
|
+
export interface BoundedTrackItem extends BoundedItem {
|
|
16
|
+
key: string;
|
|
17
|
+
}
|
|
18
|
+
/** 轨迹点的自定义属性 */
|
|
19
|
+
export interface TrackPointProperties {
|
|
20
|
+
key: string;
|
|
21
|
+
imei: string;
|
|
22
|
+
date: string;
|
|
23
|
+
}
|
|
24
|
+
/** 筛选结果类型 */
|
|
25
|
+
export interface FilterResult {
|
|
26
|
+
tracks: Array<{
|
|
27
|
+
key: string;
|
|
28
|
+
imei: string;
|
|
29
|
+
date: string;
|
|
30
|
+
bounds: any;
|
|
31
|
+
pointCount: number;
|
|
32
|
+
}>;
|
|
33
|
+
imeis: string[];
|
|
34
|
+
dates: string[];
|
|
35
|
+
totalTracks: number;
|
|
36
|
+
totalPoints: number;
|
|
37
|
+
bounds: [number, number, number, number] | null;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Track/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9C;AAED,iBAAiB;AACjB,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Marker 图标创建 hook
|
|
3
|
+
* @module components/Track/useMarkerIcon
|
|
4
|
+
*/
|
|
5
|
+
import L from 'leaflet';
|
|
6
|
+
import type { MarkerIconConfig } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* 根据 MarkerIconConfig 创建 Leaflet DivIcon
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMarkerIcon(config?: MarkerIconConfig): L.DivIcon;
|
|
11
|
+
/**
|
|
12
|
+
* 自定义 hook:缓存 markerIcon 的创建结果
|
|
13
|
+
*/
|
|
14
|
+
export declare function useMarkerIcon(config?: MarkerIconConfig): L.DivIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMarkerIcon.d.ts","sourceRoot":"","sources":["../../../src/components/Track/useMarkerIcon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,CAAC,MAAM,SAAS,CAAC;AACxB,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAuBnE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAmFrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAElE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Track 组件命令式方法 hook
|
|
3
|
+
* @description 将 useImperativeHandle 中的方法逻辑提取为独立 hook,便于维护
|
|
4
|
+
* @module components/Track/useTrackCommands
|
|
5
|
+
*/
|
|
6
|
+
import { type MutableRefObject } from 'react';
|
|
7
|
+
import type L from 'leaflet';
|
|
8
|
+
import type { TrackRef } from '../../types';
|
|
9
|
+
import type { FilterResult } from './types';
|
|
10
|
+
interface UseTrackCommandsOptions {
|
|
11
|
+
map: L.Map | null;
|
|
12
|
+
parsedTracks: any[];
|
|
13
|
+
isControlled: boolean;
|
|
14
|
+
mode: 'single' | 'multiple';
|
|
15
|
+
currentValue: string | string[];
|
|
16
|
+
onChange?: (value: string | string[]) => void;
|
|
17
|
+
onClickRef: MutableRefObject<((key: string, track: any) => void) | undefined>;
|
|
18
|
+
setInternalValue: (value: string | string[]) => void;
|
|
19
|
+
visibleTracksRef: MutableRefObject<Set<string>>;
|
|
20
|
+
setVisibleTracksVersion: React.Dispatch<React.SetStateAction<number>>;
|
|
21
|
+
}
|
|
22
|
+
export interface TrackCommands {
|
|
23
|
+
/** 查询匹配的轨迹(纯查询,不修改任何状态) */
|
|
24
|
+
query: (filter?: string, callback?: (result: FilterResult) => void) => void;
|
|
25
|
+
/** 获取当前可见轨迹的 key 数组 */
|
|
26
|
+
getVisibleTracks: () => string[];
|
|
27
|
+
/** 获取当前选中轨迹的 key 数组 */
|
|
28
|
+
getSelectedTracks: () => string[];
|
|
29
|
+
/** 即时跳转视图到指定轨迹范围(无动画) */
|
|
30
|
+
fitBounds: (filter?: string, callback?: () => void) => void;
|
|
31
|
+
/** 带动画飞行到指定轨迹范围(callback 在飞行动画结束后触发) */
|
|
32
|
+
flyTo: (filter?: string, callback?: () => void) => void;
|
|
33
|
+
/** 设置可见轨迹(仅显示匹配的轨迹,隐藏其它) */
|
|
34
|
+
setVisibleTracks: (filter?: string) => void;
|
|
35
|
+
/** 恢复所有轨迹可见(清除可见性筛选,不影响选中状态) */
|
|
36
|
+
clearVisibleFilter: () => void;
|
|
37
|
+
/** 选中匹配的轨迹(修改 value + 触发 onClick,不移动地图) */
|
|
38
|
+
select: (filter?: string, callback?: () => void) => void;
|
|
39
|
+
/** 清除选中状态(不影响可见性筛选) */
|
|
40
|
+
deselect: () => void;
|
|
41
|
+
/** 全量重置(清除选中 + 恢复所有轨迹可见) */
|
|
42
|
+
reset: (callback?: () => void) => void;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated 请使用 query + setVisibleTracks 替代
|
|
45
|
+
*/
|
|
46
|
+
filter: (filter?: string, callback?: (result: FilterResult) => void) => void;
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated 请使用 select + flyTo + setVisibleTracks 组合替代
|
|
49
|
+
*/
|
|
50
|
+
flyToTrack: (filter?: string, filterVisible?: boolean, onComplete?: () => void) => void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Track 组件命令式方法 hook
|
|
54
|
+
*/
|
|
55
|
+
export declare function useTrackCommands(ref: React.Ref<TrackRef>, options: UseTrackCommandsOptions): void;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTrackCommands.d.ts","sourceRoot":"","sources":["../../../src/components/Track/useTrackCommands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,UAAU,uBAAuB;IAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;IAClB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9E,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,aAAa;IAE5B,2BAA2B;IAC3B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAC;IAC5E,uBAAuB;IACvB,gBAAgB,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,uBAAuB;IACvB,iBAAiB,EAAE,MAAM,MAAM,EAAE,CAAC;IAGlC,yBAAyB;IACzB,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5D,wCAAwC;IACxC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAGxD,4BAA4B;IAC5B,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzD,uBAAuB;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAGrB,4BAA4B;IAC5B,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAGvC;;OAEG;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAC;IAC7E;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CA6JN"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通用编辑工具栏组件
|
|
3
|
+
* @description 用于统一各编辑组件的工具栏实现
|
|
4
|
+
*/
|
|
5
|
+
import type { ReactNode } from 'react';
|
|
6
|
+
/** 按钮样式变体 */
|
|
7
|
+
export type ButtonVariant = 'default' | 'primary' | 'danger';
|
|
8
|
+
/** 预设色板(参照 Ant Design 5.x PresetColors) */
|
|
9
|
+
export type ToolbarPresetColors = 'success' | 'warning' | 'error' | 'magenta' | 'volcano' | 'gold' | 'orange' | 'cyan' | 'geekblue' | 'purple';
|
|
10
|
+
/** 按钮 color 属性类型(支持预设色和自定义颜色如 #ff0000、rgba(255,0,0,0.5)) */
|
|
11
|
+
export type ToolbarColor = 'default' | 'primary' | 'danger' | ToolbarPresetColors | string;
|
|
12
|
+
/** 预设颜色集合(用于区分预设色和自定义颜色) */
|
|
13
|
+
export declare const PRESET_COLOR_SET: Set<string>;
|
|
14
|
+
/** 单个按钮配置 */
|
|
15
|
+
export interface ToolbarButton<T extends string> {
|
|
16
|
+
/** 按钮操作类型 */
|
|
17
|
+
action: T;
|
|
18
|
+
/** 显示文本 */
|
|
19
|
+
label: string;
|
|
20
|
+
/** 图标组件 */
|
|
21
|
+
icon?: ReactNode;
|
|
22
|
+
/** 提示文本 */
|
|
23
|
+
tooltip?: string;
|
|
24
|
+
/** 按钮样式变体(兼容,优先使用 color) */
|
|
25
|
+
variant?: ButtonVariant;
|
|
26
|
+
/** 按钮颜色 */
|
|
27
|
+
color?: ToolbarColor;
|
|
28
|
+
/** 是否需要选中项才能点击 */
|
|
29
|
+
needsSelection?: boolean;
|
|
30
|
+
/** 编辑模式下是否显示 */
|
|
31
|
+
showInEdit?: boolean;
|
|
32
|
+
/** 是否禁用 */
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** 工具栏尺寸(支持预设尺寸和自定义数字,单位 px) */
|
|
36
|
+
export type ToolbarSize = 'large' | 'middle' | 'small' | number;
|
|
37
|
+
/** 工具栏属性 */
|
|
38
|
+
export interface BaseEditToolbarProps<T extends string> {
|
|
39
|
+
/** 是否可见 */
|
|
40
|
+
visible: boolean;
|
|
41
|
+
/** 工具栏尺寸 */
|
|
42
|
+
size?: ToolbarSize;
|
|
43
|
+
/** 当前选中ID */
|
|
44
|
+
selectedId: string | number | null;
|
|
45
|
+
/** 当前模式 */
|
|
46
|
+
currentMode: string;
|
|
47
|
+
/** 启用的按钮 */
|
|
48
|
+
enabledButtons: T[];
|
|
49
|
+
/** 按钮配置 */
|
|
50
|
+
buttons: ToolbarButton<T>[];
|
|
51
|
+
/** 编辑模式判断函数(默认 mode !== 'idle') */
|
|
52
|
+
isEditingFn?: (mode: string) => boolean;
|
|
53
|
+
/** 模式提示信息 */
|
|
54
|
+
modeHints?: Record<string, string>;
|
|
55
|
+
/** 类名前缀 */
|
|
56
|
+
classPrefix: string;
|
|
57
|
+
/** 保存按钮是否禁用 */
|
|
58
|
+
saveDisabled?: boolean;
|
|
59
|
+
/** 是否显示编辑模式提示 */
|
|
60
|
+
showHint?: boolean;
|
|
61
|
+
/** 警告提示信息(不受 showHint 控制,始终显示) */
|
|
62
|
+
warningHint?: string;
|
|
63
|
+
/** 内置按钮的统一颜色(覆盖各按钮自身的 variant/color),支持预设色和自定义颜色 */
|
|
64
|
+
color?: ToolbarColor;
|
|
65
|
+
/** 是否仅显示图标(不显示文字) */
|
|
66
|
+
iconOnly?: boolean;
|
|
67
|
+
/** 额外内容(自定义工具栏按钮) */
|
|
68
|
+
children?: ReactNode;
|
|
69
|
+
/** 标准动作:取消 */
|
|
70
|
+
onCancel?: () => void;
|
|
71
|
+
/** 标准动作:保存(自动传入 selectedId) */
|
|
72
|
+
onSave?: (id?: string | number | null) => void;
|
|
73
|
+
/** 标准动作:新建 */
|
|
74
|
+
onCreate?: () => void;
|
|
75
|
+
/** 标准动作:删除(自动传入 selectedId) */
|
|
76
|
+
onDelete?: (id?: string | number | null) => void;
|
|
77
|
+
/** 自定义动作映射表,key 为 action 名称,value 为回调(自动传入 selectedId) */
|
|
78
|
+
actionHandlers?: Partial<Record<T, (id?: string | number | null) => void>>;
|
|
79
|
+
}
|
|
80
|
+
/** 工具栏上下文 */
|
|
81
|
+
export interface ToolbarContextValue {
|
|
82
|
+
/** 类名前缀 */
|
|
83
|
+
classPrefix: string;
|
|
84
|
+
}
|
|
85
|
+
/** 工具栏上下文 */
|
|
86
|
+
export declare const ToolbarContext: import("react").Context<ToolbarContextValue | null>;
|
|
87
|
+
/**
|
|
88
|
+
* 获取工具栏上下文
|
|
89
|
+
*/
|
|
90
|
+
export declare function useToolbarContext(): ToolbarContextValue;
|
|
91
|
+
/** 工具栏 ref 方法 */
|
|
92
|
+
export interface BaseEditToolbarRef {
|
|
93
|
+
showNotification: (message: string, title?: string) => void;
|
|
94
|
+
clearNotification: () => void;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 通用编辑工具栏
|
|
98
|
+
*/
|
|
99
|
+
declare const BaseEditToolbar: import("react").ForwardRefExoticComponent<BaseEditToolbarProps<string> & import("react").RefAttributes<BaseEditToolbarRef>>;
|
|
100
|
+
export default BaseEditToolbar;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseEditToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BaseEditToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工具栏按钮组件
|
|
3
|
+
* @description 提供统一样式的工具栏按钮,避免与 Ant Design Button 命名冲突
|
|
4
|
+
*/
|
|
5
|
+
import type { ButtonVariant, ToolbarSize, ToolbarColor } from './BaseEditToolbar';
|
|
6
|
+
export interface ToolbarButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
|
+
/** 按钮样式变体(兼容,优先使用 color) */
|
|
8
|
+
variant?: ButtonVariant;
|
|
9
|
+
/** 按钮颜色 */
|
|
10
|
+
color?: ToolbarColor;
|
|
11
|
+
/** 按钮尺寸 */
|
|
12
|
+
size?: ToolbarSize;
|
|
13
|
+
/** 图标 */
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
/** 是否禁用 */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** 是否仅显示图标(不显示文字) */
|
|
18
|
+
iconOnly?: boolean;
|
|
19
|
+
/** 类名前缀(可选,默认从 Context 获取) */
|
|
20
|
+
classPrefix?: string;
|
|
21
|
+
/** 子元素 */
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 工具栏按钮组件
|
|
26
|
+
* @description 提供与 BaseEditToolbar 按钮一致的样式
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* // 在 Marker 组件中使用
|
|
31
|
+
* <Marker
|
|
32
|
+
* editMode={{
|
|
33
|
+
* enabled: ['create', 'move', 'delete'],
|
|
34
|
+
* toolbar: (
|
|
35
|
+
* <ToolbarButton variant="primary" onClick={() => console.log('clicked')}>
|
|
36
|
+
* 自定义按钮
|
|
37
|
+
* </ToolbarButton>
|
|
38
|
+
* )
|
|
39
|
+
* }}
|
|
40
|
+
* />
|
|
41
|
+
*
|
|
42
|
+
* // 带图标
|
|
43
|
+
* <ToolbarButton variant="danger" icon={<DeleteIcon />}>
|
|
44
|
+
* 删除
|
|
45
|
+
* </ToolbarButton>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
declare const ToolbarButton: import("react").ForwardRefExoticComponent<ToolbarButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
49
|
+
export default ToolbarButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/components/shared/ToolbarButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGlF,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACvF,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW;IACX,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW;IACX,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS;IACT,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU;IACV,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,aAAa,kHAoEjB,CAAC;AAIH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共享组件导出
|
|
3
|
+
*/
|
|
4
|
+
export { default as BaseEditToolbar, type BaseEditToolbarProps, type BaseEditToolbarRef, type ButtonVariant, type ToolbarColor, type ToolbarPresetColors, type ToolbarSize, ToolbarContext, useToolbarContext } from './BaseEditToolbar';
|
|
5
|
+
export { default as ToolbarButton, type ToolbarButtonProps } from './ToolbarButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzO,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 设备相关常量定义
|
|
3
|
+
*/
|
|
4
|
+
/** 设备类型枚举值映射 */
|
|
5
|
+
export declare const DeviceType: {
|
|
6
|
+
readonly TRACTOR: "tractor";
|
|
7
|
+
readonly HARVESTER: "harvester";
|
|
8
|
+
readonly SEEDER: "seeder";
|
|
9
|
+
readonly SPRAYER: "sprayer";
|
|
10
|
+
readonly DRONE: "drone";
|
|
11
|
+
readonly OTHER: "other";
|
|
12
|
+
};
|
|
13
|
+
/** 设备类型颜色配置 */
|
|
14
|
+
export declare const DEVICE_TYPE_COLORS: Record<string, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/constants/device.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,eAAe;AACf,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOrD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 常量定义
|
|
3
|
+
* @description 组件库中使用的各种常量配置
|
|
4
|
+
*
|
|
5
|
+
* 按领域拆分的常量模块:
|
|
6
|
+
* - plot.ts: 地块相关常量
|
|
7
|
+
* - road.ts: 道路相关常量
|
|
8
|
+
* - device.ts: 设备相关常量
|
|
9
|
+
* - map.ts: 地图配置常量
|
|
10
|
+
* - unit.ts: 单位换算常量
|
|
11
|
+
* - theme.ts: 主题配置常量
|
|
12
|
+
* - styles.ts: 默认 PathOptions 样式常量
|
|
13
|
+
*/
|
|
14
|
+
export { PlotType, PlotStatus, PLOT_TYPE_COLORS, getPlotTypeColor, type PlotTypeColorConfig, } from './plot';
|
|
15
|
+
export { RoadType, ROAD_TYPE_STYLES, } from './road';
|
|
16
|
+
export { DeviceType, DEVICE_TYPE_COLORS, } from './device';
|
|
17
|
+
export { DEFAULT_MAP_CONFIG, } from './map';
|
|
18
|
+
export { UNIT_CONVERSION, } from './unit';
|
|
19
|
+
export { THEME_CONFIG, THEME_CSS_VARS, getThemeColors, type ThemeMode, type ThemeColors, } from './theme';
|
|
20
|
+
export { PLOT_DEFAULT_PATH, PLOT_DEFAULT_SELECTED_PATH, PLOT_DEFAULT_EDIT_PATH, PLOT_DEFAULT_HIGHLIGHT_PATH, PLOT_FALLBACK_PATH, PLOT_PM_CREATE_OPTIONS, PLOT_CLIP_FRAGMENT_DEFAULT, PLOT_CLIP_FRAGMENT_SELECTED, ROAD_DEFAULT_PATH, ROAD_DEFAULT_SELECTED_PATH, ROAD_PM_PATH_OPTIONS, IRRIGATION_DEFAULT_PATH, IRRIGATION_DEFAULT_SELECTED_PATH, IRRIGATION_PM_PATH_OPTIONS, PM_TEMPLATE_LINE_STYLE, PM_HINT_LINE_STYLE, PM_DRAW_COMMON_OPTIONS, } from './styles';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,GACzB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,UAAU,EACV,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,GACnB,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,eAAe,GAChB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 地图配置常量定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 默认地图配置
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_MAP_CONFIG: {
|
|
8
|
+
readonly DEFAULT_CENTER: [number, number];
|
|
9
|
+
readonly DEFAULT_ZOOM: 13;
|
|
10
|
+
readonly MIN_ZOOM: 3;
|
|
11
|
+
readonly MAX_ZOOM: 18;
|
|
12
|
+
readonly TILE_LAYER_URL: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/constants/map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;6BACQ,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;CAK7C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 地块相关常量定义
|
|
3
|
+
*/
|
|
4
|
+
/** 地块类型枚举值映射 */
|
|
5
|
+
export declare const PlotType: {
|
|
6
|
+
readonly FARMLAND: "farmland";
|
|
7
|
+
readonly VEGETABLE: "vegetable";
|
|
8
|
+
readonly ORCHARD: "orchard";
|
|
9
|
+
readonly FOREST: "forest";
|
|
10
|
+
readonly GRASSLAND: "grassland";
|
|
11
|
+
readonly PADDY: "paddy";
|
|
12
|
+
readonly GREENHOUSE: "greenhouse";
|
|
13
|
+
};
|
|
14
|
+
/** 地块状态枚举值映射 */
|
|
15
|
+
export declare const PlotStatus: {
|
|
16
|
+
readonly CULTIVATING: "cultivating";
|
|
17
|
+
readonly FALLOW: "fallow";
|
|
18
|
+
readonly HARVESTING: "harvesting";
|
|
19
|
+
readonly PLANTING: "planting";
|
|
20
|
+
readonly IRRIGATING: "irrigating";
|
|
21
|
+
};
|
|
22
|
+
/** 地块类型颜色配置 */
|
|
23
|
+
export interface PlotTypeColorConfig {
|
|
24
|
+
fillColor: string;
|
|
25
|
+
color: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const PLOT_TYPE_COLORS: Record<string, PlotTypeColorConfig>;
|
|
28
|
+
/**
|
|
29
|
+
* 根据地块类型获取颜色配置
|
|
30
|
+
* @param type - 地块类型
|
|
31
|
+
* @returns 颜色配置 { fillColor, color }
|
|
32
|
+
*/
|
|
33
|
+
export declare const getPlotTypeColor: (type: string | undefined) => PlotTypeColorConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plot.d.ts","sourceRoot":"","sources":["../../src/constants/plot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,eAAe;AACf,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAQhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,mBAE3D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 道路相关常量定义
|
|
3
|
+
*/
|
|
4
|
+
import type { PathOptions } from '../types';
|
|
5
|
+
/** 道路类型枚举值映射 */
|
|
6
|
+
export declare const RoadType: {
|
|
7
|
+
readonly MAIN: "main";
|
|
8
|
+
readonly SECONDARY: "secondary";
|
|
9
|
+
readonly FOOTPATH: "footpath";
|
|
10
|
+
};
|
|
11
|
+
/** 道路类型样式配置 */
|
|
12
|
+
export declare const ROAD_TYPE_STYLES: Record<string, PathOptions>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"road.d.ts","sourceRoot":"","sources":["../../src/constants/road.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,gBAAgB;AAChB,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,eAAe;AACf,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAIxD,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 默认 PathOptions 样式常量
|
|
3
|
+
* @description 集中管理各组件的默认视觉样式,便于全局统一调整
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ 颜色值必须与 src/styles/_variables.scss 中的语义色变量保持同步:
|
|
6
|
+
* PLOT_DEFAULT_PATH.color/fillColor → $color-plot (#1668dc)
|
|
7
|
+
* PLOT_DEFAULT_SELECTED_PATH.color/fillColor → $color-plot-selected (#d32029)
|
|
8
|
+
* PLOT_DEFAULT_EDIT_PATH.color/fillColor → $color-plot-edit (#faad14)
|
|
9
|
+
* PLOT_DEFAULT_HIGHLIGHT_PATH.color/fillColor → $color-plot-highlight (#fa8c16)
|
|
10
|
+
* ROAD_PM_PATH_OPTIONS.color → $color-road-edit (#8B4513)
|
|
11
|
+
* IRRIGATION_DEFAULT_PATH.color → $color-irrigation (#1E90FF)
|
|
12
|
+
* IRRIGATION_PM_PATH_OPTIONS.color → $color-irrigation (#1E90FF)
|
|
13
|
+
* PM_*.color / IRRIGATION_DEFAULT_SELECTED_PATH.color → $color-primary (#1677ff)
|
|
14
|
+
* PLOT_CLIP_FRAGMENT_*.color → $color-success (#52c41a)
|
|
15
|
+
*/
|
|
16
|
+
import type { PathOptions } from '../types';
|
|
17
|
+
/** 地块默认样式 */
|
|
18
|
+
export declare const PLOT_DEFAULT_PATH: PathOptions;
|
|
19
|
+
/** 地块选中样式 */
|
|
20
|
+
export declare const PLOT_DEFAULT_SELECTED_PATH: PathOptions;
|
|
21
|
+
/** 地块编辑样式 */
|
|
22
|
+
export declare const PLOT_DEFAULT_EDIT_PATH: PathOptions;
|
|
23
|
+
/** 地块高亮样式(分组高亮) */
|
|
24
|
+
export declare const PLOT_DEFAULT_HIGHLIGHT_PATH: PathOptions;
|
|
25
|
+
/** 地块无类型时的回退样式 */
|
|
26
|
+
export declare const PLOT_FALLBACK_PATH: PathOptions;
|
|
27
|
+
/** 地块新建绘制时的 PM 样式 */
|
|
28
|
+
export declare const PLOT_PM_CREATE_OPTIONS: PathOptions;
|
|
29
|
+
/** 地块剪切碎片默认样式 */
|
|
30
|
+
export declare const PLOT_CLIP_FRAGMENT_DEFAULT: PathOptions;
|
|
31
|
+
/** 地块剪切碎片选中样式 */
|
|
32
|
+
export declare const PLOT_CLIP_FRAGMENT_SELECTED: PathOptions;
|
|
33
|
+
/** 道路默认样式 */
|
|
34
|
+
export declare const ROAD_DEFAULT_PATH: PathOptions;
|
|
35
|
+
/** 道路选中样式 */
|
|
36
|
+
export declare const ROAD_DEFAULT_SELECTED_PATH: PathOptions;
|
|
37
|
+
/** 道路编辑样式 */
|
|
38
|
+
export declare const ROAD_DEFAULT_EDIT_PATH: PathOptions;
|
|
39
|
+
/** 道路 PM 编辑器全局样式 */
|
|
40
|
+
export declare const ROAD_PM_PATH_OPTIONS: PathOptions;
|
|
41
|
+
/** 灌溉渠默认样式 */
|
|
42
|
+
export declare const IRRIGATION_DEFAULT_PATH: PathOptions;
|
|
43
|
+
/** 灌溉渠选中样式 */
|
|
44
|
+
export declare const IRRIGATION_DEFAULT_SELECTED_PATH: PathOptions;
|
|
45
|
+
/** 灌溉渠编辑样式 */
|
|
46
|
+
export declare const IRRIGATION_DEFAULT_EDIT_PATH: PathOptions;
|
|
47
|
+
/** 灌溉渠 PM 编辑器全局样式 */
|
|
48
|
+
export declare const IRRIGATION_PM_PATH_OPTIONS: PathOptions;
|
|
49
|
+
/** PM 绘制时的临时线样式(templineStyle) */
|
|
50
|
+
export declare const PM_TEMPLATE_LINE_STYLE: PathOptions;
|
|
51
|
+
/** PM 绘制时的提示线样式(hintlineStyle) */
|
|
52
|
+
export declare const PM_HINT_LINE_STYLE: PathOptions;
|
|
53
|
+
/** PM 绘制公共配置(snappable / snapDistance) */
|
|
54
|
+
export declare const PM_DRAW_COMMON_OPTIONS: {
|
|
55
|
+
readonly snappable: true;
|
|
56
|
+
readonly snapDistance: 20;
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/constants/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,aAAa;AACb,eAAO,MAAM,iBAAiB,EAAE,WAM/B,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,0BAA0B,EAAE,WAMxC,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,sBAAsB,EAAE,WAOpC,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,2BAA2B,EAAE,WAKzC,CAAC;AAEF,kBAAkB;AAClB,eAAO,MAAM,kBAAkB,EAAE,WAMhC,CAAC;AAEF,qBAAqB;AACrB,eAAO,MAAM,sBAAsB,EAAE,WAKpC,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,0BAA0B,EAAE,WAMxC,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,2BAA2B,EAAE,WAMzC,CAAC;AAIF,aAAa;AACb,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,0BAA0B,EAAE,WAIxC,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,sBAAsB,EAAE,WAIpC,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAC;AAIF,cAAc;AACd,eAAO,MAAM,uBAAuB,EAAE,WAIrC,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,gCAAgC,EAAE,WAI9C,CAAC;AAEF,cAAc;AACd,eAAO,MAAM,4BAA4B,EAAE,WAI1C,CAAC;AAEF,qBAAqB;AACrB,eAAO,MAAM,0BAA0B,EAAE,WAGxC,CAAC;AAIF,kCAAkC;AAClC,eAAO,MAAM,sBAAsB,EAAE,WAIpC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主题配置常量
|
|
3
|
+
* @description 集中管理所有主题相关的颜色和样式配置
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ 颜色值必须与 src/styles/_variables.scss 中的主题变量保持同步:
|
|
6
|
+
* light.controlBg → $theme-light-control-bg
|
|
7
|
+
* light.primaryColor → $theme-light-primary / $color-primary
|
|
8
|
+
* dark.controlBg → $theme-dark-control-bg
|
|
9
|
+
* dark.primaryColor → $theme-dark-primary / $dark-color-primary
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* 主题模式类型
|
|
13
|
+
*/
|
|
14
|
+
export type ThemeMode = 'light' | 'dark';
|
|
15
|
+
/**
|
|
16
|
+
* 主题颜色配置接口
|
|
17
|
+
* @deprecated 请使用 CSS 变量或 SCSS 变量获取主题颜色,此接口将在下个大版本移除
|
|
18
|
+
*/
|
|
19
|
+
export interface ThemeColors {
|
|
20
|
+
/** 控件背景色 */
|
|
21
|
+
controlBg: string;
|
|
22
|
+
/** 控件文字颜色 */
|
|
23
|
+
controlText: string;
|
|
24
|
+
/** 主色调 */
|
|
25
|
+
primaryColor: string;
|
|
26
|
+
/** 边框颜色 */
|
|
27
|
+
borderColor: string;
|
|
28
|
+
/** 阴影颜色 */
|
|
29
|
+
shadowColor: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 主题配置映射
|
|
33
|
+
* @deprecated 请使用 CSS 变量或 SCSS 变量获取主题颜色,此接口将在下个大版本移除
|
|
34
|
+
*/
|
|
35
|
+
export declare const THEME_CONFIG: Record<ThemeMode, ThemeColors>;
|
|
36
|
+
/**
|
|
37
|
+
* 根据主题获取颜色配置
|
|
38
|
+
* @deprecated 请使用 CSS 变量或 SCSS 变量获取主题颜色,此函数将在下个大版本移除
|
|
39
|
+
* @param theme 主题模式
|
|
40
|
+
* @returns 主题颜色配置
|
|
41
|
+
*/
|
|
42
|
+
export declare const getThemeColors: (theme: ThemeMode) => ThemeColors;
|
|
43
|
+
/**
|
|
44
|
+
* CSS 变量映射(用于 JS 运行时设置 CSS 变量给非 Leaflet 控件)
|
|
45
|
+
* ⚠️ 值必须与 src/styles/_variables.scss 保持同步
|
|
46
|
+
*/
|
|
47
|
+
export declare const THEME_CSS_VARS: Record<ThemeMode, Record<string, string>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/constants/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAevD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,WAEjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAapE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/constants/unit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 自定义 Hooks 导出
|
|
3
|
+
*/
|
|
4
|
+
export { useLatestRef } from './useLatestRef';
|
|
5
|
+
export { useEditMode, type EditModeConfig, type EditModeResult } from './useEditMode';
|
|
6
|
+
export { useTheme } from './useTheme';
|
|
7
|
+
export { usePolylineRenderer } from './usePolylineRenderer';
|
|
8
|
+
export { usePolylineEditor, usePolylineSave } from './usePolylineEditor';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|