irr-gh 0.1.10 → 0.1.12
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/README.md +6 -8
- package/dist/irr-gh.css +1 -1
- package/dist/irr-gh.js +3549 -2999
- package/dist/irr-gh.umd.cjs +14 -14
- package/package.json +67 -67
package/README.md
CHANGED
|
@@ -401,7 +401,7 @@ interface IrrigationData {
|
|
|
401
401
|
/** 河渠沟列表 */
|
|
402
402
|
canals: CanalEntity[]
|
|
403
403
|
/** 点位实体列表 */
|
|
404
|
-
points:
|
|
404
|
+
points: PointNodeUnion[]
|
|
405
405
|
/** 连接关系(可选,如不提供则自动生成) */
|
|
406
406
|
connections?: ConnectionData[]
|
|
407
407
|
}
|
|
@@ -441,7 +441,7 @@ interface CanalEntity {
|
|
|
441
441
|
#### 点位实体基础结构
|
|
442
442
|
|
|
443
443
|
```typescript
|
|
444
|
-
interface
|
|
444
|
+
interface PointNode {
|
|
445
445
|
id: string // 唯一标识
|
|
446
446
|
name: string // 名称
|
|
447
447
|
type: EntityType // 实体类型
|
|
@@ -563,14 +563,12 @@ interface IrrigationNodeData extends NodeData {
|
|
|
563
563
|
businessData?: IrrigationEntity // 原始业务数据
|
|
564
564
|
nodeShape?: 'rect' | 'circle' | 'ellipse' | 'diamond' | 'image'
|
|
565
565
|
styleConfig?: NodeStyleConfig
|
|
566
|
-
labelConfig?: LabelStyleConfig
|
|
567
566
|
}
|
|
568
567
|
|
|
569
568
|
interface IrrigationEdgeData extends EdgeData {
|
|
570
569
|
edgeShape?: 'line' | 'polyline' | 'quadratic' | 'cubic' | 'arc'
|
|
571
570
|
connectionType?: 'flow' | 'control' | 'supply'
|
|
572
571
|
styleConfig?: EdgeStyleConfig
|
|
573
|
-
labelConfig?: LabelStyleConfig
|
|
574
572
|
}
|
|
575
573
|
```
|
|
576
574
|
|
|
@@ -1051,9 +1049,9 @@ const demoData: IrrigationData = {
|
|
|
1051
1049
|
points: [
|
|
1052
1050
|
// 总干渠上的点位
|
|
1053
1051
|
{ id: 'intake', name: '进水闸', type: 'sluice', canalId: 'main', chainage: 0 },
|
|
1054
|
-
{ id: 'fork-A', name: 'A分叉', type: 'auxiliary', auxiliaryType: 'fork', canalId: 'main', chainage: 100,
|
|
1052
|
+
{ id: 'fork-A', name: 'A分叉', type: 'auxiliary', auxiliaryType: 'fork', canalId: 'main', chainage: 100, branchId: 'branch-A' },
|
|
1055
1053
|
{ id: 'pump-1', name: '1号泵站', type: 'pumpStation', canalId: 'main', chainage: 200 },
|
|
1056
|
-
{ id: 'fork-B', name: 'B分叉', type: 'auxiliary', auxiliaryType: 'fork', canalId: 'main', chainage: 300,
|
|
1054
|
+
{ id: 'fork-B', name: 'B分叉', type: 'auxiliary', auxiliaryType: 'fork', canalId: 'main', chainage: 300, branchId: 'branch-B' },
|
|
1057
1055
|
{ id: 'outlet', name: '出水闸', type: 'sluice', canalId: 'main', chainage: 400 },
|
|
1058
1056
|
|
|
1059
1057
|
// A支渠上的点位
|
|
@@ -1135,13 +1133,13 @@ import type {
|
|
|
1135
1133
|
// 业务数据类型
|
|
1136
1134
|
IrrigationData,
|
|
1137
1135
|
CanalEntity,
|
|
1138
|
-
|
|
1136
|
+
PointNodeUnion,
|
|
1139
1137
|
SluiceEntity,
|
|
1140
1138
|
PumpStationEntity,
|
|
1141
1139
|
ReservoirEntity,
|
|
1142
1140
|
DispatchUnitEntity,
|
|
1143
1141
|
DispatchNodeEntity,
|
|
1144
|
-
|
|
1142
|
+
AuxNode,
|
|
1145
1143
|
ConnectionData,
|
|
1146
1144
|
EntityType,
|
|
1147
1145
|
|
package/dist/irr-gh.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.irrigation-toolbar[data-v-d8adffac]{position:absolute;top:12px;left:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:24px;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1)}.irrigation-toolbar__section[data-v-d8adffac]{display:flex;align-items:center;gap:8px}.irrigation-toolbar__label[data-v-d8adffac]{color:#666;font-size:14px;white-space:nowrap}.irrigation-toolbar button[data-v-d8adffac]{padding:8px 12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:4px;min-height:32px}.irrigation-toolbar button[data-v-d8adffac]:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#f0f9ff}.irrigation-toolbar button[data-v-d8adffac]:active:not(:disabled){background:#e6f7ff}.irrigation-toolbar button[data-v-d8adffac]:disabled{opacity:.5;cursor:not-allowed}.irrigation-toolbar__icon[data-v-d8adffac]{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.irrigation-toolbar__btn-text[data-v-d8adffac]{font-size:12px;white-space:nowrap}@media(max-width:768px){.irrigation-toolbar__btn-text[data-v-d8adffac]{display:none}.irrigation-toolbar button[data-v-d8adffac]{padding:8px;min-height:auto}.irrigation-toolbar[data-v-d8adffac]{gap:12px;padding:8px}.irrigation-toolbar__section[data-v-d8adffac]{gap:6px}}.evolution-timeline[data-v-e89b8bda]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid #d9d9d9;border-radius:8px;padding:12px 16px;box-shadow:0 2px 8px #00000026;z-index:100;min-width:400px;-webkit-user-select:none;user-select:none}.timeline-controls[data-v-e89b8bda]{display:flex;align-items:center;gap:8px}.control-btn[data-v-e89b8bda]{width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.control-btn[data-v-e89b8bda]:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.control-btn[data-v-e89b8bda]:disabled{opacity:.5;cursor:not-allowed}.control-btn.active[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff;color:#fff}.play-btn[data-v-e89b8bda]{width:40px;background:#1890ff;border-color:#1890ff;color:#fff}.play-btn[data-v-e89b8bda]:hover{background:#40a9ff;border-color:#40a9ff;color:#fff}.icon-play[data-v-e89b8bda],.icon-pause[data-v-e89b8bda]{font-size:14px}.timeline-track[data-v-e89b8bda]{flex:1;height:24px;position:relative;cursor:pointer;padding:8px 0}.track-bg[data-v-e89b8bda]{position:absolute;top:50%;left:0;right:0;height:4px;background:#e8e8e8;border-radius:2px;transform:translateY(-50%)}.track-progress[data-v-e89b8bda]{position:absolute;top:50%;left:0;height:4px;background:#1890ff;border-radius:2px;transform:translateY(-50%);transition:width .2s}.track-points[data-v-e89b8bda]{position:absolute;inset:0}.track-point[data-v-e89b8bda]{position:absolute;transform:translate(-50%);cursor:pointer;display:flex;flex-direction:column;align-items:center}.point-dot[data-v-e89b8bda]{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #d9d9d9;transition:all .2s;margin-top:6px}.track-point:hover .point-dot[data-v-e89b8bda]{border-color:#1890ff;transform:scale(1.2)}.track-point.passed .point-dot[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff}.track-point.active .point-dot[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff;transform:scale(1.3);box-shadow:0 0 0 3px #1890ff33}.point-label[data-v-e89b8bda]{font-size:10px;color:#666;margin-top:4px;white-space:nowrap}.track-point.active .point-label[data-v-e89b8bda]{color:#1890ff;font-weight:700}.speed-control select[data-v-e89b8bda]{height:32px;padding:0 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.speed-control select[data-v-e89b8bda]:hover{border-color:#1890ff}.loop-btn[data-v-e89b8bda]{font-size:14px}.timeline-info[data-v-e89b8bda]{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;font-size:12px;color:#666}.current-label[data-v-e89b8bda]{color:#1890ff;font-weight:500}.irrigation-graph[data-v-
|
|
1
|
+
.irrigation-toolbar[data-v-d8adffac]{position:absolute;top:12px;left:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:24px;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1)}.irrigation-toolbar__section[data-v-d8adffac]{display:flex;align-items:center;gap:8px}.irrigation-toolbar__label[data-v-d8adffac]{color:#666;font-size:14px;white-space:nowrap}.irrigation-toolbar button[data-v-d8adffac]{padding:8px 12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:4px;min-height:32px}.irrigation-toolbar button[data-v-d8adffac]:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#f0f9ff}.irrigation-toolbar button[data-v-d8adffac]:active:not(:disabled){background:#e6f7ff}.irrigation-toolbar button[data-v-d8adffac]:disabled{opacity:.5;cursor:not-allowed}.irrigation-toolbar__icon[data-v-d8adffac]{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.irrigation-toolbar__btn-text[data-v-d8adffac]{font-size:12px;white-space:nowrap}@media(max-width:768px){.irrigation-toolbar__btn-text[data-v-d8adffac]{display:none}.irrigation-toolbar button[data-v-d8adffac]{padding:8px;min-height:auto}.irrigation-toolbar[data-v-d8adffac]{gap:12px;padding:8px}.irrigation-toolbar__section[data-v-d8adffac]{gap:6px}}.evolution-timeline[data-v-e89b8bda]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid #d9d9d9;border-radius:8px;padding:12px 16px;box-shadow:0 2px 8px #00000026;z-index:100;min-width:400px;-webkit-user-select:none;user-select:none}.timeline-controls[data-v-e89b8bda]{display:flex;align-items:center;gap:8px}.control-btn[data-v-e89b8bda]{width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.control-btn[data-v-e89b8bda]:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.control-btn[data-v-e89b8bda]:disabled{opacity:.5;cursor:not-allowed}.control-btn.active[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff;color:#fff}.play-btn[data-v-e89b8bda]{width:40px;background:#1890ff;border-color:#1890ff;color:#fff}.play-btn[data-v-e89b8bda]:hover{background:#40a9ff;border-color:#40a9ff;color:#fff}.icon-play[data-v-e89b8bda],.icon-pause[data-v-e89b8bda]{font-size:14px}.timeline-track[data-v-e89b8bda]{flex:1;height:24px;position:relative;cursor:pointer;padding:8px 0}.track-bg[data-v-e89b8bda]{position:absolute;top:50%;left:0;right:0;height:4px;background:#e8e8e8;border-radius:2px;transform:translateY(-50%)}.track-progress[data-v-e89b8bda]{position:absolute;top:50%;left:0;height:4px;background:#1890ff;border-radius:2px;transform:translateY(-50%);transition:width .2s}.track-points[data-v-e89b8bda]{position:absolute;inset:0}.track-point[data-v-e89b8bda]{position:absolute;transform:translate(-50%);cursor:pointer;display:flex;flex-direction:column;align-items:center}.point-dot[data-v-e89b8bda]{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #d9d9d9;transition:all .2s;margin-top:6px}.track-point:hover .point-dot[data-v-e89b8bda]{border-color:#1890ff;transform:scale(1.2)}.track-point.passed .point-dot[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff}.track-point.active .point-dot[data-v-e89b8bda]{background:#1890ff;border-color:#1890ff;transform:scale(1.3);box-shadow:0 0 0 3px #1890ff33}.point-label[data-v-e89b8bda]{font-size:10px;color:#666;margin-top:4px;white-space:nowrap}.track-point.active .point-label[data-v-e89b8bda]{color:#1890ff;font-weight:700}.speed-control select[data-v-e89b8bda]{height:32px;padding:0 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.speed-control select[data-v-e89b8bda]:hover{border-color:#1890ff}.loop-btn[data-v-e89b8bda]{font-size:14px}.timeline-info[data-v-e89b8bda]{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;font-size:12px;color:#666}.current-label[data-v-e89b8bda]{color:#1890ff;font-weight:500}.irrigation-graph[data-v-4f919e03]{position:relative;width:100%;height:100%;overflow:hidden}.irrigation-graph__canvas[data-v-4f919e03]{width:100%;height:100%}.irrigation-graph__loading[data-v-4f919e03]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fffc;z-index:20}
|