@rfkit/charts 1.1.41 → 1.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/components/Dropdown/index.d.ts +1 -1
- package/components/StationAllocation/SegmentContainer.d.ts +3 -0
- package/hooks/useHeatmapHeight.d.ts +7 -1
- package/hooks/useSeriesManager/index.d.ts +6 -0
- package/hooks/useSeriesManager/useFilteredSeries.d.ts +19 -0
- package/hooks/useSeriesManager/useSeriesManager.d.ts +42 -0
- package/hooks/useZoomMinSimulateWave.d.ts +7 -1
- package/index.js +819 -586
- package/modules/Spectrum/render.d.ts +6 -2
- package/package.json +1 -1
- package/types/store.d.ts +1 -2
- package/utils/series/events.d.ts +77 -0
- package/utils/series/index.d.ts +65 -0
- package/utils/series/modes.d.ts +48 -0
- package/utils/subscription.d.ts +1 -9
- package/hooks/useSeries.d.ts +0 -8
package/index.js
CHANGED
|
@@ -61,12 +61,15 @@ var __webpack_modules__ = {
|
|
|
61
61
|
}
|
|
62
62
|
function throttleRequestAnimationFrame(func = ()=>{}) {
|
|
63
63
|
let scheduled = false;
|
|
64
|
+
let latestEvent = null;
|
|
64
65
|
return (e)=>{
|
|
66
|
+
latestEvent = e;
|
|
65
67
|
if (!scheduled) {
|
|
66
68
|
scheduled = true;
|
|
67
69
|
requestAnimationFrame(()=>{
|
|
68
|
-
func(
|
|
70
|
+
func(latestEvent);
|
|
69
71
|
scheduled = false;
|
|
72
|
+
latestEvent = null;
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
75
|
};
|
|
@@ -1314,7 +1317,7 @@ var __webpack_modules__ = {
|
|
|
1314
1317
|
background: var(--theme-bg-base);
|
|
1315
1318
|
border: 1px solid var(--theme-border-base);
|
|
1316
1319
|
border-radius: var(--size-border-radius-base);
|
|
1317
|
-
min-width:
|
|
1320
|
+
min-width: 140px;
|
|
1318
1321
|
box-shadow: var(--theme-box-shadow-base);
|
|
1319
1322
|
padding: calc(var(--size-gap-base) / 2);
|
|
1320
1323
|
z-index: 11;
|
|
@@ -1490,7 +1493,7 @@ var __webpack_modules__ = {
|
|
|
1490
1493
|
background: none;
|
|
1491
1494
|
align-items: center;
|
|
1492
1495
|
width: 100%;
|
|
1493
|
-
height:
|
|
1496
|
+
height: 14px;
|
|
1494
1497
|
display: flex;
|
|
1495
1498
|
position: absolute;
|
|
1496
1499
|
bottom: 0;
|
|
@@ -1525,7 +1528,7 @@ var __webpack_modules__ = {
|
|
|
1525
1528
|
text-align: center;
|
|
1526
1529
|
height: 100%;
|
|
1527
1530
|
color: var(--theme-color-base);
|
|
1528
|
-
opacity: .
|
|
1531
|
+
opacity: .5;
|
|
1529
1532
|
-webkit-backdrop-filter: blur(4px);
|
|
1530
1533
|
backdrop-filter: blur(4px);
|
|
1531
1534
|
will-change: opacity, box-shadow;
|
|
@@ -2685,6 +2688,7 @@ var __webpack_modules__ = {
|
|
|
2685
2688
|
height: 100%;
|
|
2686
2689
|
display: flex;
|
|
2687
2690
|
position: absolute;
|
|
2691
|
+
top: 0;
|
|
2688
2692
|
left: 0;
|
|
2689
2693
|
overflow: hidden;
|
|
2690
2694
|
}
|
|
@@ -2707,27 +2711,46 @@ var __webpack_modules__ = {
|
|
|
2707
2711
|
|
|
2708
2712
|
.segmentContainer-gDwnhB .item-ybDTIt {
|
|
2709
2713
|
box-sizing: border-box;
|
|
2710
|
-
|
|
2711
|
-
|
|
2714
|
+
white-space: nowrap;
|
|
2715
|
+
text-overflow: ellipsis;
|
|
2716
|
+
text-align: center;
|
|
2712
2717
|
height: 100%;
|
|
2718
|
+
color: var(--theme-color-base);
|
|
2719
|
+
opacity: .68;
|
|
2720
|
+
justify-content: center;
|
|
2721
|
+
align-items: center;
|
|
2722
|
+
height: 4px;
|
|
2723
|
+
font-size: 12px;
|
|
2724
|
+
display: flex;
|
|
2713
2725
|
position: absolute;
|
|
2726
|
+
top: 0;
|
|
2727
|
+
overflow: hidden;
|
|
2714
2728
|
}
|
|
2715
2729
|
|
|
2716
|
-
.segmentContainer-gDwnhB .item-ybDTIt
|
|
2717
|
-
border-top: 1px dashed var(--theme-color-primary);
|
|
2718
|
-
border-bottom: 1px dashed var(--theme-color-primary);
|
|
2719
|
-
}
|
|
2720
|
-
|
|
2721
|
-
.segmentContainer-gDwnhB .item-ybDTIt.active-qDPFJm:after {
|
|
2730
|
+
.segmentContainer-gDwnhB .item-ybDTIt:after {
|
|
2722
2731
|
content: "";
|
|
2723
|
-
opacity: .
|
|
2724
|
-
background: var(--theme-color-
|
|
2732
|
+
opacity: .32;
|
|
2733
|
+
background: var(--theme-color-base);
|
|
2725
2734
|
width: 100%;
|
|
2726
2735
|
height: 100%;
|
|
2727
2736
|
position: absolute;
|
|
2728
2737
|
top: 0;
|
|
2729
2738
|
left: 0;
|
|
2730
2739
|
}
|
|
2740
|
+
|
|
2741
|
+
.segmentContainer-gDwnhB .item-ybDTIt.active-qDPFJm {
|
|
2742
|
+
opacity: 1;
|
|
2743
|
+
height: 100%;
|
|
2744
|
+
}
|
|
2745
|
+
|
|
2746
|
+
.segmentContainer-gDwnhB .item-ybDTIt.active-qDPFJm:after {
|
|
2747
|
+
opacity: .68;
|
|
2748
|
+
background: var(--theme-color-primary);
|
|
2749
|
+
}
|
|
2750
|
+
|
|
2751
|
+
.segmentContainer-gDwnhB .item-ybDTIt:hover {
|
|
2752
|
+
opacity: 1;
|
|
2753
|
+
}
|
|
2731
2754
|
`,
|
|
2732
2755
|
""
|
|
2733
2756
|
]);
|
|
@@ -4067,7 +4090,6 @@ function defaultState_createParams() {
|
|
|
4067
4090
|
weaken: weakenDefault,
|
|
4068
4091
|
zoomMinSimulateWave: false,
|
|
4069
4092
|
dataRate: dataRateDefault,
|
|
4070
|
-
data: new Map(),
|
|
4071
4093
|
forceDisplay: false,
|
|
4072
4094
|
legendExternal: [
|
|
4073
4095
|
constants_SeriesType.ThresholdData,
|
|
@@ -4215,22 +4237,17 @@ function subscription_openData(globalID, data, defaultData) {
|
|
|
4215
4237
|
return o[globalID] || defaultData || void 0;
|
|
4216
4238
|
}
|
|
4217
4239
|
subscription_c.subscriptions = {};
|
|
4218
|
-
const
|
|
4240
|
+
const subscription_subscriptions = subscription_c.subscriptions;
|
|
4219
4241
|
function subscription_createSubscriptionManager(id, name, func) {
|
|
4220
4242
|
if (!id) throw new Error("createSubscriptionManager 订阅失效");
|
|
4221
|
-
if (!
|
|
4222
|
-
if ('function' == typeof func && name)
|
|
4243
|
+
if (!subscription_subscriptions[id]) subscription_subscriptions[id] = {};
|
|
4244
|
+
if ('function' == typeof func && name) subscription_subscriptions[id][name] = func;
|
|
4223
4245
|
return (...args)=>{
|
|
4224
|
-
const funcs =
|
|
4246
|
+
const funcs = subscription_subscriptions[id];
|
|
4225
4247
|
for(const key in funcs)funcs[key](...args);
|
|
4226
4248
|
};
|
|
4227
4249
|
}
|
|
4228
4250
|
const getDefaultData = ()=>({
|
|
4229
|
-
spectrumExtra: new Map(),
|
|
4230
|
-
occupancy: {
|
|
4231
|
-
data: new Float32Array(),
|
|
4232
|
-
totalOccupancy: 0
|
|
4233
|
-
},
|
|
4234
4251
|
getAllRawData: ()=>({
|
|
4235
4252
|
realData: new Float32Array(),
|
|
4236
4253
|
maxData: new Float32Array(),
|
|
@@ -4243,7 +4260,9 @@ const getDefaultData = ()=>({
|
|
|
4243
4260
|
probabilityRangeData: new Float32Array(),
|
|
4244
4261
|
spectrumData: new Float32Array(),
|
|
4245
4262
|
timestampData: new Float32Array()
|
|
4246
|
-
}
|
|
4263
|
+
},
|
|
4264
|
+
occupancyData: new Float32Array(),
|
|
4265
|
+
extraData: {}
|
|
4247
4266
|
})
|
|
4248
4267
|
});
|
|
4249
4268
|
function withDatabase(globalID, data) {
|
|
@@ -7404,6 +7423,397 @@ const ZoomOffsetContainer = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.
|
|
|
7404
7423
|
});
|
|
7405
7424
|
});
|
|
7406
7425
|
const Zoom_ZoomOffsetContainer = ZoomOffsetContainer;
|
|
7426
|
+
const events_SeriesEventName = {
|
|
7427
|
+
UPDATED: 'series:updated',
|
|
7428
|
+
ADDED: 'series:added',
|
|
7429
|
+
REMOVED: 'series:removed',
|
|
7430
|
+
MODE_CHANGED: 'series:mode-changed',
|
|
7431
|
+
TYPE_OVERRIDE_CHANGED: 'series:type-override-changed',
|
|
7432
|
+
BATCH_UPDATED: 'series:batch-updated',
|
|
7433
|
+
RESET: 'series:reset'
|
|
7434
|
+
};
|
|
7435
|
+
class EventManager {
|
|
7436
|
+
listeners = new Map();
|
|
7437
|
+
on(event, listener) {
|
|
7438
|
+
if (!this.listeners.has(event)) this.listeners.set(event, new Set());
|
|
7439
|
+
const eventListeners = this.listeners.get(event);
|
|
7440
|
+
if (!eventListeners) throw new Error(`Failed to get event listeners for ${event}`);
|
|
7441
|
+
eventListeners.add(listener);
|
|
7442
|
+
return ()=>{
|
|
7443
|
+
eventListeners.delete(listener);
|
|
7444
|
+
if (0 === eventListeners.size) this.listeners.delete(event);
|
|
7445
|
+
};
|
|
7446
|
+
}
|
|
7447
|
+
emit(event, data) {
|
|
7448
|
+
const eventListeners = this.listeners.get(event);
|
|
7449
|
+
if (eventListeners) eventListeners.forEach((listener)=>{
|
|
7450
|
+
try {
|
|
7451
|
+
listener(data);
|
|
7452
|
+
} catch (error) {
|
|
7453
|
+
console.error(`Error in event listener for ${event}:`, error);
|
|
7454
|
+
}
|
|
7455
|
+
});
|
|
7456
|
+
}
|
|
7457
|
+
removeAllListeners(event) {
|
|
7458
|
+
if (event) this.listeners.delete(event);
|
|
7459
|
+
else this.listeners.clear();
|
|
7460
|
+
}
|
|
7461
|
+
getListenerCount(event) {
|
|
7462
|
+
return this.listeners.get(event)?.size || 0;
|
|
7463
|
+
}
|
|
7464
|
+
}
|
|
7465
|
+
const globalEventManager = new EventManager();
|
|
7466
|
+
const seriesEvents = {
|
|
7467
|
+
on: globalEventManager.on.bind(globalEventManager),
|
|
7468
|
+
emit: globalEventManager.emit.bind(globalEventManager),
|
|
7469
|
+
removeAllListeners: globalEventManager.removeAllListeners.bind(globalEventManager),
|
|
7470
|
+
getListenerCount: globalEventManager.getListenerCount.bind(globalEventManager)
|
|
7471
|
+
};
|
|
7472
|
+
function subscribeToSeries(globalID, event, listener) {
|
|
7473
|
+
return seriesEvents.on(event, (data)=>{
|
|
7474
|
+
if (data.globalID === globalID) listener(data);
|
|
7475
|
+
});
|
|
7476
|
+
}
|
|
7477
|
+
function events_emitSeriesEvent(event, data) {
|
|
7478
|
+
seriesEvents.emit(event, data);
|
|
7479
|
+
}
|
|
7480
|
+
var modes_SeriesMode = /*#__PURE__*/ function(SeriesMode) {
|
|
7481
|
+
SeriesMode["Line"] = "line";
|
|
7482
|
+
SeriesMode["StepLine"] = "stepline";
|
|
7483
|
+
SeriesMode["Bar"] = "bar";
|
|
7484
|
+
SeriesMode["Area"] = "area";
|
|
7485
|
+
return SeriesMode;
|
|
7486
|
+
}({});
|
|
7487
|
+
const SERIES_MODES = {
|
|
7488
|
+
["line"]: {
|
|
7489
|
+
name: 'line',
|
|
7490
|
+
label: "\u7EBF\u56FE",
|
|
7491
|
+
icon: 'line',
|
|
7492
|
+
realData: type_GraphicType.Line,
|
|
7493
|
+
minData: type_GraphicType.Line,
|
|
7494
|
+
maxData: type_GraphicType.Line,
|
|
7495
|
+
avgData: type_GraphicType.Line
|
|
7496
|
+
},
|
|
7497
|
+
["stepline"]: {
|
|
7498
|
+
name: 'stepline',
|
|
7499
|
+
label: "\u9636\u68AF\u7EBF\u56FE",
|
|
7500
|
+
icon: 'stepline',
|
|
7501
|
+
realData: type_GraphicType.Stepline,
|
|
7502
|
+
minData: type_GraphicType.Stepline,
|
|
7503
|
+
maxData: type_GraphicType.Stepline,
|
|
7504
|
+
avgData: type_GraphicType.Stepline
|
|
7505
|
+
},
|
|
7506
|
+
["bar"]: {
|
|
7507
|
+
name: 'bar',
|
|
7508
|
+
label: "\u67F1\u72B6\u56FE",
|
|
7509
|
+
icon: 'bar',
|
|
7510
|
+
realData: type_GraphicType.Bar,
|
|
7511
|
+
minData: type_GraphicType.Line,
|
|
7512
|
+
maxData: type_GraphicType.Line,
|
|
7513
|
+
avgData: type_GraphicType.Line
|
|
7514
|
+
},
|
|
7515
|
+
["area"]: {
|
|
7516
|
+
name: 'area',
|
|
7517
|
+
label: "\u9762\u79EF\u56FE",
|
|
7518
|
+
icon: 'area',
|
|
7519
|
+
realData: type_GraphicType.Area,
|
|
7520
|
+
minData: type_GraphicType.Stepline,
|
|
7521
|
+
maxData: type_GraphicType.Stepline,
|
|
7522
|
+
avgData: type_GraphicType.Stepline
|
|
7523
|
+
}
|
|
7524
|
+
};
|
|
7525
|
+
const seriesModes = new Map();
|
|
7526
|
+
function modes_getSeriesMode(globalID) {
|
|
7527
|
+
return seriesModes.get(globalID) || "line";
|
|
7528
|
+
}
|
|
7529
|
+
function getNextMode(currentMode) {
|
|
7530
|
+
const modes = Object.values(modes_SeriesMode);
|
|
7531
|
+
const currentIndex = modes.indexOf(currentMode);
|
|
7532
|
+
const nextIndex = (currentIndex + 1) % modes.length;
|
|
7533
|
+
return modes[nextIndex];
|
|
7534
|
+
}
|
|
7535
|
+
function setSeriesMode(globalID, mode) {
|
|
7536
|
+
seriesModes.set(globalID, mode);
|
|
7537
|
+
const modeConfig = SERIES_MODES[mode];
|
|
7538
|
+
events_emitSeriesEvent(events_SeriesEventName.MODE_CHANGED, {
|
|
7539
|
+
globalID,
|
|
7540
|
+
mode,
|
|
7541
|
+
config: modeConfig
|
|
7542
|
+
});
|
|
7543
|
+
}
|
|
7544
|
+
function toggleSeriesMode(globalID, currentMode) {
|
|
7545
|
+
const mode = currentMode || modes_getSeriesMode(globalID);
|
|
7546
|
+
const nextMode = getNextMode(mode);
|
|
7547
|
+
setSeriesMode(globalID, nextMode);
|
|
7548
|
+
}
|
|
7549
|
+
const chartTypeSeriesOverrides = new Map();
|
|
7550
|
+
function setChartTypeSeriesOverride(globalID, seriesName, type) {
|
|
7551
|
+
if (!chartTypeSeriesOverrides.has(globalID)) chartTypeSeriesOverrides.set(globalID, new Map());
|
|
7552
|
+
chartTypeSeriesOverrides.get(globalID)?.set(seriesName, type);
|
|
7553
|
+
events_emitSeriesEvent(events_SeriesEventName.TYPE_OVERRIDE_CHANGED, {
|
|
7554
|
+
globalID,
|
|
7555
|
+
seriesName,
|
|
7556
|
+
type
|
|
7557
|
+
});
|
|
7558
|
+
}
|
|
7559
|
+
function clearChartTypeSeriesOverrides(globalID) {
|
|
7560
|
+
const hadOverrides = chartTypeSeriesOverrides.has(globalID);
|
|
7561
|
+
chartTypeSeriesOverrides.delete(globalID);
|
|
7562
|
+
if (hadOverrides) events_emitSeriesEvent(events_SeriesEventName.TYPE_OVERRIDE_CHANGED, {
|
|
7563
|
+
globalID
|
|
7564
|
+
});
|
|
7565
|
+
}
|
|
7566
|
+
const managers = new Map();
|
|
7567
|
+
function getDefaultSeriesConfigs() {
|
|
7568
|
+
const lineConfigs = getSeriesConfig();
|
|
7569
|
+
return Object.values(lineConfigs).map((config)=>({
|
|
7570
|
+
name: config.name,
|
|
7571
|
+
label: config.label,
|
|
7572
|
+
color: config.color,
|
|
7573
|
+
thickness: config.thickness,
|
|
7574
|
+
display: config.display,
|
|
7575
|
+
type: type_GraphicType.Line
|
|
7576
|
+
}));
|
|
7577
|
+
}
|
|
7578
|
+
function getSeriesManager(globalID) {
|
|
7579
|
+
if (!globalID) throw new Error("globalID \u4E0D\u80FD\u4E3A\u7A7A");
|
|
7580
|
+
if (!managers.has(globalID)) {
|
|
7581
|
+
const manager = new __WEBPACK_EXTERNAL_MODULE__rfkit_spectrum_analyzer_159ab12b__.SeriesManager([]);
|
|
7582
|
+
const defaultConfigs = getDefaultSeriesConfigs();
|
|
7583
|
+
defaultConfigs.forEach((config)=>{
|
|
7584
|
+
manager.addSeries({
|
|
7585
|
+
name: config.name,
|
|
7586
|
+
label: config.label,
|
|
7587
|
+
color: config.color,
|
|
7588
|
+
display: config.display,
|
|
7589
|
+
type: config.type || type_GraphicType.Line,
|
|
7590
|
+
thickness: config.thickness
|
|
7591
|
+
});
|
|
7592
|
+
});
|
|
7593
|
+
managers.set(globalID, manager);
|
|
7594
|
+
}
|
|
7595
|
+
const managerInstance = managers.get(globalID);
|
|
7596
|
+
if (!managerInstance) throw new Error(`SeriesManager for globalID "${globalID}" not found`);
|
|
7597
|
+
return managerInstance;
|
|
7598
|
+
}
|
|
7599
|
+
function series_getSeriesMap(globalID) {
|
|
7600
|
+
const manager = getSeriesManager(globalID);
|
|
7601
|
+
const allSeries = manager.getAllSeries();
|
|
7602
|
+
const seriesMap = new Map();
|
|
7603
|
+
if (Array.isArray(allSeries)) allSeries.forEach((series)=>{
|
|
7604
|
+
seriesMap.set(series.name, {
|
|
7605
|
+
name: series.name,
|
|
7606
|
+
label: series.label || '',
|
|
7607
|
+
color: series.color,
|
|
7608
|
+
display: void 0 !== series.display ? series.display : true,
|
|
7609
|
+
type: series.type || type_GraphicType.Line,
|
|
7610
|
+
thickness: series.thickness || 1
|
|
7611
|
+
});
|
|
7612
|
+
});
|
|
7613
|
+
return seriesMap;
|
|
7614
|
+
}
|
|
7615
|
+
function mergeSeriesConfig(config, existing) {
|
|
7616
|
+
const defaults = {
|
|
7617
|
+
label: '',
|
|
7618
|
+
display: true,
|
|
7619
|
+
type: type_GraphicType.Line,
|
|
7620
|
+
thickness: 1
|
|
7621
|
+
};
|
|
7622
|
+
return {
|
|
7623
|
+
name: config.name,
|
|
7624
|
+
label: config.label ?? existing?.label ?? defaults.label,
|
|
7625
|
+
color: config.color ?? existing?.color ?? (()=>{
|
|
7626
|
+
throw new Error(`Series "${config.name}" does not exist and must have a color defined`);
|
|
7627
|
+
})(),
|
|
7628
|
+
display: config.display ?? existing?.display ?? defaults.display,
|
|
7629
|
+
type: config.type ?? existing?.type ?? defaults.type,
|
|
7630
|
+
thickness: config.thickness ?? existing?.thickness ?? defaults.thickness
|
|
7631
|
+
};
|
|
7632
|
+
}
|
|
7633
|
+
function updateSeries(globalID, config) {
|
|
7634
|
+
if (!config?.name) return;
|
|
7635
|
+
const manager = getSeriesManager(globalID);
|
|
7636
|
+
const existing = manager.getSeries(config.name);
|
|
7637
|
+
const finalConfig = mergeSeriesConfig(config, existing);
|
|
7638
|
+
if (existing) manager.removeSeries(config.name);
|
|
7639
|
+
manager.addSeries(finalConfig);
|
|
7640
|
+
events_emitSeriesEvent(events_SeriesEventName.UPDATED, {
|
|
7641
|
+
globalID,
|
|
7642
|
+
seriesName: config.name,
|
|
7643
|
+
config: {
|
|
7644
|
+
name: finalConfig.name,
|
|
7645
|
+
label: finalConfig.label,
|
|
7646
|
+
color: finalConfig.color,
|
|
7647
|
+
thickness: finalConfig.thickness,
|
|
7648
|
+
display: finalConfig.display,
|
|
7649
|
+
type: finalConfig.type
|
|
7650
|
+
}
|
|
7651
|
+
});
|
|
7652
|
+
}
|
|
7653
|
+
function resetSeries(globalID) {
|
|
7654
|
+
const manager = getSeriesManager(globalID);
|
|
7655
|
+
manager.clear();
|
|
7656
|
+
const defaultConfigs = getDefaultSeriesConfigs();
|
|
7657
|
+
defaultConfigs.forEach((config)=>{
|
|
7658
|
+
manager.addSeries({
|
|
7659
|
+
name: config.name,
|
|
7660
|
+
label: config.label,
|
|
7661
|
+
color: config.color,
|
|
7662
|
+
display: config.display,
|
|
7663
|
+
type: config.type || type_GraphicType.Line,
|
|
7664
|
+
thickness: config.thickness
|
|
7665
|
+
});
|
|
7666
|
+
});
|
|
7667
|
+
}
|
|
7668
|
+
function getSeriesWithGraphicType(globalID) {
|
|
7669
|
+
const seriesMap = series_getSeriesMap(globalID);
|
|
7670
|
+
const currentMode = modes_getSeriesMode(globalID);
|
|
7671
|
+
const modeConfig = SERIES_MODES[currentMode];
|
|
7672
|
+
const chartTypeOverrides = chartTypeSeriesOverrides.get(globalID);
|
|
7673
|
+
const result = new Map();
|
|
7674
|
+
seriesMap.forEach((config)=>{
|
|
7675
|
+
const updatedConfig = {
|
|
7676
|
+
...config
|
|
7677
|
+
};
|
|
7678
|
+
const overrideType = chartTypeOverrides?.get(config.name);
|
|
7679
|
+
if (overrideType) {
|
|
7680
|
+
updatedConfig.type = overrideType;
|
|
7681
|
+
result.set(config.name, updatedConfig);
|
|
7682
|
+
return;
|
|
7683
|
+
}
|
|
7684
|
+
if ('templateData' === config.name) updatedConfig.type = type_GraphicType.Area;
|
|
7685
|
+
else {
|
|
7686
|
+
const graphicType = modeConfig[config.name];
|
|
7687
|
+
if (graphicType) updatedConfig.type = graphicType;
|
|
7688
|
+
}
|
|
7689
|
+
result.set(config.name, updatedConfig);
|
|
7690
|
+
});
|
|
7691
|
+
return result;
|
|
7692
|
+
}
|
|
7693
|
+
function useSeriesManager(globalID, options = {}) {
|
|
7694
|
+
const { subscribeToMode = true, subscribeToData = true, watchSeries } = options;
|
|
7695
|
+
const [, setUpdateCounter] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(0);
|
|
7696
|
+
const [mode, setMode] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(()=>globalID ? modes_getSeriesMode(globalID) : 'line');
|
|
7697
|
+
const forceUpdate = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
7698
|
+
setUpdateCounter((prev)=>prev + 1);
|
|
7699
|
+
}, []);
|
|
7700
|
+
const series = globalID ? series_getSeriesMap(globalID) : new Map();
|
|
7701
|
+
const handleUpdateSeries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((config)=>{
|
|
7702
|
+
if (globalID) updateSeries(globalID, config);
|
|
7703
|
+
}, [
|
|
7704
|
+
globalID
|
|
7705
|
+
]);
|
|
7706
|
+
const getSeries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((name)=>series.get(name), [
|
|
7707
|
+
series
|
|
7708
|
+
]);
|
|
7709
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
7710
|
+
if (!globalID) return;
|
|
7711
|
+
const unsubscribers = [];
|
|
7712
|
+
if (subscribeToMode) {
|
|
7713
|
+
setMode(modes_getSeriesMode(globalID));
|
|
7714
|
+
const unsubscribeMode = subscribeToSeries(globalID, events_SeriesEventName.MODE_CHANGED, (data)=>{
|
|
7715
|
+
setMode(data.mode);
|
|
7716
|
+
});
|
|
7717
|
+
unsubscribers.push(unsubscribeMode);
|
|
7718
|
+
}
|
|
7719
|
+
if (subscribeToData) {
|
|
7720
|
+
const unsubscribeUpdated = subscribeToSeries(globalID, events_SeriesEventName.UPDATED, (data)=>{
|
|
7721
|
+
if (watchSeries && !watchSeries.includes(data.seriesName)) return;
|
|
7722
|
+
forceUpdate();
|
|
7723
|
+
});
|
|
7724
|
+
unsubscribers.push(unsubscribeUpdated);
|
|
7725
|
+
const unsubscribeAdded = subscribeToSeries(globalID, events_SeriesEventName.ADDED, (data)=>{
|
|
7726
|
+
if (watchSeries && !watchSeries.includes(data.seriesName)) return;
|
|
7727
|
+
forceUpdate();
|
|
7728
|
+
});
|
|
7729
|
+
unsubscribers.push(unsubscribeAdded);
|
|
7730
|
+
const unsubscribeRemoved = subscribeToSeries(globalID, events_SeriesEventName.REMOVED, (data)=>{
|
|
7731
|
+
if (watchSeries && !watchSeries.includes(data.seriesName)) return;
|
|
7732
|
+
forceUpdate();
|
|
7733
|
+
});
|
|
7734
|
+
unsubscribers.push(unsubscribeRemoved);
|
|
7735
|
+
const unsubscribeBatchUpdated = subscribeToSeries(globalID, events_SeriesEventName.BATCH_UPDATED, ()=>{
|
|
7736
|
+
forceUpdate();
|
|
7737
|
+
});
|
|
7738
|
+
unsubscribers.push(unsubscribeBatchUpdated);
|
|
7739
|
+
const unsubscribeReset = subscribeToSeries(globalID, events_SeriesEventName.RESET, ()=>{
|
|
7740
|
+
forceUpdate();
|
|
7741
|
+
});
|
|
7742
|
+
unsubscribers.push(unsubscribeReset);
|
|
7743
|
+
}
|
|
7744
|
+
return ()=>{
|
|
7745
|
+
for (const unsubscribe of unsubscribers)unsubscribe();
|
|
7746
|
+
};
|
|
7747
|
+
}, [
|
|
7748
|
+
globalID,
|
|
7749
|
+
subscribeToMode,
|
|
7750
|
+
subscribeToData,
|
|
7751
|
+
watchSeries,
|
|
7752
|
+
forceUpdate
|
|
7753
|
+
]);
|
|
7754
|
+
return {
|
|
7755
|
+
series,
|
|
7756
|
+
mode,
|
|
7757
|
+
updateSeries: handleUpdateSeries,
|
|
7758
|
+
forceUpdate,
|
|
7759
|
+
getSeries
|
|
7760
|
+
};
|
|
7761
|
+
}
|
|
7762
|
+
function useSeriesForComponent(globalID) {
|
|
7763
|
+
return useSeriesManager(globalID, {
|
|
7764
|
+
subscribeToMode: true,
|
|
7765
|
+
subscribeToData: true
|
|
7766
|
+
});
|
|
7767
|
+
}
|
|
7768
|
+
const stableOrderMap = new Map();
|
|
7769
|
+
function getStableOrder(globalID, currentNames) {
|
|
7770
|
+
const stored = stableOrderMap.get(globalID) || [];
|
|
7771
|
+
const needsUpdate = 0 === stored.length || currentNames.some((name)=>!stored.includes(name)) || stored.some((name)=>!currentNames.includes(name));
|
|
7772
|
+
if (needsUpdate) {
|
|
7773
|
+
const newOrder = [
|
|
7774
|
+
...stored.filter((name)=>currentNames.includes(name)),
|
|
7775
|
+
...currentNames.filter((name)=>!stored.includes(name))
|
|
7776
|
+
];
|
|
7777
|
+
stableOrderMap.set(globalID, newOrder);
|
|
7778
|
+
return newOrder;
|
|
7779
|
+
}
|
|
7780
|
+
return stored;
|
|
7781
|
+
}
|
|
7782
|
+
function useFilteredSeries(globalID, filter) {
|
|
7783
|
+
const { series } = useSeriesManager(globalID);
|
|
7784
|
+
const { state: { series: { legendExternal } } } = useStore_useStore();
|
|
7785
|
+
const filteredData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
7786
|
+
const filtered = Array.from(series.values()).filter((config)=>{
|
|
7787
|
+
if (legendExternal.includes(config.name)) return false;
|
|
7788
|
+
if (config.name === constants_SeriesType.TemplateData) return false;
|
|
7789
|
+
return filter ? filter(config) : true;
|
|
7790
|
+
});
|
|
7791
|
+
if (!globalID) return filtered.map((config, index)=>({
|
|
7792
|
+
...config,
|
|
7793
|
+
originalIndex: index
|
|
7794
|
+
}));
|
|
7795
|
+
const currentNames = filtered.map((s)=>s.name);
|
|
7796
|
+
const stableOrder = getStableOrder(globalID, currentNames);
|
|
7797
|
+
const orderMap = new Map(stableOrder.map((name, i)=>[
|
|
7798
|
+
name,
|
|
7799
|
+
i
|
|
7800
|
+
]));
|
|
7801
|
+
return filtered.sort((a, b)=>{
|
|
7802
|
+
const orderA = orderMap.get(a.name) ?? Number.MAX_SAFE_INTEGER;
|
|
7803
|
+
const orderB = orderMap.get(b.name) ?? Number.MAX_SAFE_INTEGER;
|
|
7804
|
+
return orderA - orderB;
|
|
7805
|
+
}).map((config, index)=>({
|
|
7806
|
+
...config,
|
|
7807
|
+
originalIndex: index
|
|
7808
|
+
}));
|
|
7809
|
+
}, [
|
|
7810
|
+
series,
|
|
7811
|
+
legendExternal,
|
|
7812
|
+
filter,
|
|
7813
|
+
globalID
|
|
7814
|
+
]);
|
|
7815
|
+
return filteredData;
|
|
7816
|
+
}
|
|
7407
7817
|
var StationInfo_styles_module = __webpack_require__("../../../../node_modules/.pnpm/@rsbuild+core@1.3.18/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[11].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[11].use[2]!../../../../node_modules/.pnpm/@rsbuild+plugin-less@1.5.0_@rsbuild+core@1.5.17/node_modules/@rsbuild/plugin-less/compiled/less-loader/index.js??ruleSet[1].rules[11].use[3]!./src/components/FrequencyDataBoard/StationInfo/styles.module.less");
|
|
7408
7818
|
var StationInfo_styles_module_options = {};
|
|
7409
7819
|
StationInfo_styles_module_options.styleTagTransform = styleTagTransform_default();
|
|
@@ -7413,7 +7823,7 @@ StationInfo_styles_module_options.domAPI = styleDomAPI_default();
|
|
|
7413
7823
|
StationInfo_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
7414
7824
|
injectStylesIntoStyleTag_default()(StationInfo_styles_module.Z, StationInfo_styles_module_options);
|
|
7415
7825
|
const FrequencyDataBoard_StationInfo_styles_module = StationInfo_styles_module.Z && StationInfo_styles_module.Z.locals ? StationInfo_styles_module.Z.locals : void 0;
|
|
7416
|
-
const
|
|
7826
|
+
const StationInfo = ({ stationInfo })=>{
|
|
7417
7827
|
if (!stationInfo) return null;
|
|
7418
7828
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
7419
7829
|
className: FrequencyDataBoard_StationInfo_styles_module.stationInfo,
|
|
@@ -7465,7 +7875,7 @@ const StationInfo_StationInfo = ({ stationInfo })=>{
|
|
|
7465
7875
|
]
|
|
7466
7876
|
});
|
|
7467
7877
|
};
|
|
7468
|
-
const
|
|
7878
|
+
const FrequencyDataBoard_StationInfo = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__["default"].memo(StationInfo);
|
|
7469
7879
|
var FrequencyDataBoard_styles_module = __webpack_require__("../../../node_modules/.pnpm/@rsbuild+core@1.3.18/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[11].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[11].use[2]!../../../node_modules/.pnpm/@rsbuild+plugin-less@1.5.0_@rsbuild+core@1.5.17/node_modules/@rsbuild/plugin-less/compiled/less-loader/index.js??ruleSet[1].rules[11].use[3]!./src/components/FrequencyDataBoard/styles.module.less");
|
|
7470
7880
|
var FrequencyDataBoard_styles_module_options = {};
|
|
7471
7881
|
FrequencyDataBoard_styles_module_options.styleTagTransform = styleTagTransform_default();
|
|
@@ -7476,7 +7886,8 @@ FrequencyDataBoard_styles_module_options.insertStyleElement = insertStyleElement
|
|
|
7476
7886
|
injectStylesIntoStyleTag_default()(FrequencyDataBoard_styles_module.Z, FrequencyDataBoard_styles_module_options);
|
|
7477
7887
|
const components_FrequencyDataBoard_styles_module = FrequencyDataBoard_styles_module.Z && FrequencyDataBoard_styles_module.Z.locals ? FrequencyDataBoard_styles_module.Z.locals : void 0;
|
|
7478
7888
|
const FrequencyDataBoard = ({ left, updateKey, onChange })=>{
|
|
7479
|
-
const { state: { axisY, axisX: { frequencyFormat, unit },
|
|
7889
|
+
const { state: { axisY, axisX: { frequencyFormat, unit }, globalID, stationInfo } } = useStore_useStore();
|
|
7890
|
+
const filteredSeries = useFilteredSeries(globalID);
|
|
7480
7891
|
const index = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(Number.NaN);
|
|
7481
7892
|
const calculateIndex = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((data, n, series)=>{
|
|
7482
7893
|
const values = data[n] || [];
|
|
@@ -7492,7 +7903,7 @@ const FrequencyDataBoard = ({ left, updateKey, onChange })=>{
|
|
|
7492
7903
|
children: [
|
|
7493
7904
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
|
|
7494
7905
|
className: components_FrequencyDataBoard_styles_module.label,
|
|
7495
|
-
children: series?.label
|
|
7906
|
+
children: series?.label || n
|
|
7496
7907
|
}),
|
|
7497
7908
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
7498
7909
|
children: [
|
|
@@ -7517,28 +7928,24 @@ const FrequencyDataBoard = ({ left, updateKey, onChange })=>{
|
|
|
7517
7928
|
const db = withDatabase(globalID);
|
|
7518
7929
|
if (!db) return null;
|
|
7519
7930
|
const rawData = db.getAllRawData();
|
|
7520
|
-
const {
|
|
7521
|
-
const renderedSeries =
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
if (
|
|
7525
|
-
|
|
7526
|
-
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
[name]: d
|
|
7530
|
-
}, name, series));
|
|
7531
|
-
}
|
|
7931
|
+
const { extraData } = rawData;
|
|
7932
|
+
const renderedSeries = filteredSeries.map((seriesItem)=>{
|
|
7933
|
+
const seriesData = rawData[seriesItem.name];
|
|
7934
|
+
if (seriesData) return calculateIndex(rawData, seriesItem.name, seriesItem);
|
|
7935
|
+
if (extraData?.[seriesItem.name]) return calculateIndex({
|
|
7936
|
+
[seriesItem.name]: extraData[seriesItem.name]
|
|
7937
|
+
}, seriesItem.name, seriesItem);
|
|
7938
|
+
return null;
|
|
7939
|
+
}).filter((item)=>null !== item);
|
|
7532
7940
|
return renderedSeries;
|
|
7533
7941
|
}, [
|
|
7534
7942
|
calculateIndex,
|
|
7535
7943
|
globalID,
|
|
7536
7944
|
SERIES_NAMES,
|
|
7537
|
-
|
|
7945
|
+
filteredSeries,
|
|
7538
7946
|
updateKey,
|
|
7539
7947
|
left,
|
|
7540
|
-
axisY.unit
|
|
7541
|
-
legendExternal
|
|
7948
|
+
axisY.unit
|
|
7542
7949
|
]);
|
|
7543
7950
|
const frequency = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>frequencyFormat(left), [
|
|
7544
7951
|
left,
|
|
@@ -7569,7 +7976,11 @@ const FrequencyDataBoard = ({ left, updateKey, onChange })=>{
|
|
|
7569
7976
|
frequency,
|
|
7570
7977
|
stationInfo
|
|
7571
7978
|
]);
|
|
7572
|
-
|
|
7979
|
+
const hasValue = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>value && (Array.isArray(value) ? value.length > 0 : true), [
|
|
7980
|
+
value
|
|
7981
|
+
]);
|
|
7982
|
+
if (left < 0) return null;
|
|
7983
|
+
if (!frequency && !hasValue) return null;
|
|
7573
7984
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(Mask, {
|
|
7574
7985
|
children: [
|
|
7575
7986
|
frequency && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
@@ -7580,7 +7991,7 @@ const FrequencyDataBoard = ({ left, updateKey, onChange })=>{
|
|
|
7580
7991
|
]
|
|
7581
7992
|
}),
|
|
7582
7993
|
value,
|
|
7583
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(
|
|
7994
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(FrequencyDataBoard_StationInfo, {
|
|
7584
7995
|
stationInfo: sf
|
|
7585
7996
|
})
|
|
7586
7997
|
]
|
|
@@ -7615,11 +8026,12 @@ const SpectrumPopover = ({ id })=>{
|
|
|
7615
8026
|
});
|
|
7616
8027
|
};
|
|
7617
8028
|
const HeatmapPopover = ({ id })=>{
|
|
7618
|
-
const { state: { cursor: { coord }, axisX: { frequencyFormat, unit: axisXUnit }, globalID, axisY: { unit: axisYUnit }
|
|
8029
|
+
const { state: { cursor: { coord }, axisX: { frequencyFormat, unit: axisXUnit }, globalID, axisY: { unit: axisYUnit } } } = useStore_useStore();
|
|
7619
8030
|
const { left, top } = coord;
|
|
7620
8031
|
const updateKey = useUpdateKey('HeatmapPopover', id);
|
|
7621
8032
|
const [value, setValue] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)('');
|
|
7622
8033
|
const [timestamp, setTimestamp] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)('');
|
|
8034
|
+
const { getSeries } = useSeriesForComponent(globalID);
|
|
7623
8035
|
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
7624
8036
|
if (globalID && 0 !== left && 0 !== top) {
|
|
7625
8037
|
const { waterfallData } = withDatabase(globalID).getAllRawData();
|
|
@@ -7644,8 +8056,8 @@ const HeatmapPopover = ({ id })=>{
|
|
|
7644
8056
|
left,
|
|
7645
8057
|
frequencyFormat
|
|
7646
8058
|
]);
|
|
7647
|
-
const attr = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>
|
|
7648
|
-
|
|
8059
|
+
const attr = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>getSeries(REAL_DATA_NAME), [
|
|
8060
|
+
getSeries
|
|
7649
8061
|
]);
|
|
7650
8062
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(Mask, {
|
|
7651
8063
|
children: [
|
|
@@ -7692,14 +8104,14 @@ const LevelStreamPopover = ({ id })=>{
|
|
|
7692
8104
|
const [timestamp, setTimestamp] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)('');
|
|
7693
8105
|
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
7694
8106
|
if (globalID && 0 !== left) {
|
|
7695
|
-
const
|
|
7696
|
-
if (
|
|
7697
|
-
const index = Math.ceil(left / 100 *
|
|
7698
|
-
const clampedIndex = Math.max(0, Math.min(index,
|
|
7699
|
-
const dataValue =
|
|
8107
|
+
const { levelStreamData } = withDatabase(globalID).getAllRawData();
|
|
8108
|
+
if (levelStreamData?.spectrumData && levelStreamData.spectrumData.length > 0) {
|
|
8109
|
+
const index = Math.ceil(left / 100 * levelStreamData.spectrumData.length) - 1;
|
|
8110
|
+
const clampedIndex = Math.max(0, Math.min(index, levelStreamData.spectrumData.length - 1));
|
|
8111
|
+
const dataValue = levelStreamData.spectrumData[clampedIndex];
|
|
7700
8112
|
setValue(Number.isFinite(dataValue) ? dataValue.toFixed(1) : '');
|
|
7701
|
-
if (
|
|
7702
|
-
const timestampValue =
|
|
8113
|
+
if (levelStreamData.timestampData && levelStreamData.timestampData.length > clampedIndex) {
|
|
8114
|
+
const timestampValue = levelStreamData.timestampData[clampedIndex];
|
|
7703
8115
|
if (timestampValue) setTimestamp((0, utils.Fc)(timestampValue));
|
|
7704
8116
|
}
|
|
7705
8117
|
}
|
|
@@ -7743,13 +8155,12 @@ const OccupancyPopover = ()=>{
|
|
|
7743
8155
|
const { state: { cursor: { coord }, axisX: { frequencyFormat, unit: axisXUnit }, globalID } } = useStore_useStore();
|
|
7744
8156
|
const { left } = coord;
|
|
7745
8157
|
const value = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
7746
|
-
const {
|
|
7747
|
-
|
|
7748
|
-
if (data && data.length > 0) {
|
|
8158
|
+
const { occupancyData } = withDatabase(globalID).getAllRawData();
|
|
8159
|
+
if (occupancyData && occupancyData.length > 0) {
|
|
7749
8160
|
const { left } = coord;
|
|
7750
|
-
let index = Math.ceil(left / 100 *
|
|
7751
|
-
index = Math.max(0, Math.min(index,
|
|
7752
|
-
const item = Number.parseFloat(Number(
|
|
8161
|
+
let index = Math.ceil(left / 100 * occupancyData.length) - 1;
|
|
8162
|
+
index = Math.max(0, Math.min(index, occupancyData.length - 1));
|
|
8163
|
+
const item = Number.parseFloat(Number(occupancyData[index]).toFixed(1));
|
|
7753
8164
|
return item;
|
|
7754
8165
|
}
|
|
7755
8166
|
return '';
|
|
@@ -7987,7 +8398,7 @@ const EventBus_EventBus = ({ id })=>{
|
|
|
7987
8398
|
}, [
|
|
7988
8399
|
EID
|
|
7989
8400
|
]);
|
|
7990
|
-
const handleMouseMove = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((0, utils.
|
|
8401
|
+
const handleMouseMove = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((0, utils.uA)((e)=>{
|
|
7991
8402
|
createMoveEventManager(EID)(e, calculateEventRelativePosition(e));
|
|
7992
8403
|
updateCursor();
|
|
7993
8404
|
if (dragState.current.isDragging && dragState.current.startPoint.event) {
|
|
@@ -8170,7 +8581,7 @@ Area_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
|
8170
8581
|
injectStylesIntoStyleTag_default()(Area_styles_module.Z, Area_styles_module_options);
|
|
8171
8582
|
const HeatmapCapture_Area_styles_module = Area_styles_module.Z && Area_styles_module.Z.locals ? Area_styles_module.Z.locals : void 0;
|
|
8172
8583
|
const Area_COMPONENT_KEY = constants_ToolType.HeatmapCapture;
|
|
8173
|
-
const
|
|
8584
|
+
const Area = (props)=>{
|
|
8174
8585
|
const { state: { heatmapCapture, segments, axisX: { frequencyFormat, unit }, system, globalID } } = useStore_useStore();
|
|
8175
8586
|
const { id } = props;
|
|
8176
8587
|
const { type, show, sync, onChange } = heatmapCapture;
|
|
@@ -8337,7 +8748,7 @@ const Area_Area = (props)=>{
|
|
|
8337
8748
|
]
|
|
8338
8749
|
});
|
|
8339
8750
|
};
|
|
8340
|
-
const
|
|
8751
|
+
const HeatmapCapture_Area = Area;
|
|
8341
8752
|
var RowIndex_styles_module = __webpack_require__("../../../../node_modules/.pnpm/@rsbuild+core@1.3.18/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[11].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[11].use[2]!../../../../node_modules/.pnpm/@rsbuild+plugin-less@1.5.0_@rsbuild+core@1.5.17/node_modules/@rsbuild/plugin-less/compiled/less-loader/index.js??ruleSet[1].rules[11].use[3]!./src/components/HeatmapCapture/RowIndex/styles.module.less");
|
|
8342
8753
|
var RowIndex_styles_module_options = {};
|
|
8343
8754
|
RowIndex_styles_module_options.styleTagTransform = styleTagTransform_default();
|
|
@@ -8721,7 +9132,7 @@ const HeatmapCapture_HeatmapCapture = (props)=>{
|
|
|
8721
9132
|
...props
|
|
8722
9133
|
}) : type === store_HeatmapCaptureType.RowIndex ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(HeatmapCapture_RowIndex, {
|
|
8723
9134
|
...props
|
|
8724
|
-
}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(
|
|
9135
|
+
}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(HeatmapCapture_Area, {
|
|
8725
9136
|
...props
|
|
8726
9137
|
});
|
|
8727
9138
|
};
|
|
@@ -8735,7 +9146,7 @@ PluginBox_styles_module_options.domAPI = styleDomAPI_default();
|
|
|
8735
9146
|
PluginBox_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
8736
9147
|
injectStylesIntoStyleTag_default()(PluginBox_styles_module.Z, PluginBox_styles_module_options);
|
|
8737
9148
|
const components_PluginBox_styles_module = PluginBox_styles_module.Z && PluginBox_styles_module.Z.locals ? PluginBox_styles_module.Z.locals : void 0;
|
|
8738
|
-
const
|
|
9149
|
+
const PluginBox_PluginBox = (props)=>{
|
|
8739
9150
|
const { children } = props;
|
|
8740
9151
|
const { pluginBoxWidth } = useAxisYWidth_useAxisYWidth();
|
|
8741
9152
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
@@ -8746,7 +9157,7 @@ const PluginBox = (props)=>{
|
|
|
8746
9157
|
children: children
|
|
8747
9158
|
});
|
|
8748
9159
|
};
|
|
8749
|
-
const
|
|
9160
|
+
const PluginBox = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__["default"].memo(PluginBox_PluginBox);
|
|
8750
9161
|
const info2step = (info)=>{
|
|
8751
9162
|
const { min, max } = info;
|
|
8752
9163
|
const diff = max - min;
|
|
@@ -8804,10 +9215,13 @@ class Range {
|
|
|
8804
9215
|
const { realRange } = axisY;
|
|
8805
9216
|
if (!realRange || !globalID) return;
|
|
8806
9217
|
const db = withDatabase(globalID).getAllRawData?.();
|
|
9218
|
+
const realData = db[SERIES.realData.name] || new Float32Array();
|
|
9219
|
+
const maxData = db[SERIES.maxData.name] || new Float32Array();
|
|
9220
|
+
const minData = db[SERIES.minData.name] || new Float32Array();
|
|
8807
9221
|
const allData = [
|
|
8808
|
-
...
|
|
8809
|
-
...
|
|
8810
|
-
...
|
|
9222
|
+
...Array.from(realData),
|
|
9223
|
+
...Array.from(maxData),
|
|
9224
|
+
...Array.from(minData)
|
|
8811
9225
|
];
|
|
8812
9226
|
const allInfo = (0, utils.kL)(allData);
|
|
8813
9227
|
let { avg } = allInfo;
|
|
@@ -9176,7 +9590,7 @@ const Heatmap_Heatmap = (props)=>{
|
|
|
9176
9590
|
id: id,
|
|
9177
9591
|
chart: chart
|
|
9178
9592
|
}),
|
|
9179
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(
|
|
9593
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(PluginBox, {
|
|
9180
9594
|
children: [
|
|
9181
9595
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Boundary, {}),
|
|
9182
9596
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Chart, {}),
|
|
@@ -9657,12 +10071,12 @@ const useRange = ({ chart })=>{
|
|
|
9657
10071
|
return ranging;
|
|
9658
10072
|
};
|
|
9659
10073
|
const spectrum_useRanging = useRange;
|
|
9660
|
-
const passThroughSeries = (globalID, series)=>subscription_openData(`passThroughSeries-${globalID}`, series, {});
|
|
9661
10074
|
class Spectrum {
|
|
9662
10075
|
state;
|
|
9663
10076
|
useRangeAutoFocus;
|
|
9664
10077
|
useRangeSet;
|
|
9665
10078
|
firstRenderAutoFocus;
|
|
10079
|
+
seriesUnsubscribe;
|
|
9666
10080
|
constructor(props){
|
|
9667
10081
|
this.state = {
|
|
9668
10082
|
chart: null,
|
|
@@ -9677,6 +10091,32 @@ class Spectrum {
|
|
|
9677
10091
|
};
|
|
9678
10092
|
this.firstRenderAutoFocus = false;
|
|
9679
10093
|
this.init();
|
|
10094
|
+
this.initSeriesSubscription();
|
|
10095
|
+
}
|
|
10096
|
+
initSeriesSubscription() {
|
|
10097
|
+
if (!this.state.globalID) return;
|
|
10098
|
+
const subscriptions = [];
|
|
10099
|
+
subscriptions.push(subscribeToSeries(this.state.globalID, events_SeriesEventName.UPDATED, (data)=>{
|
|
10100
|
+
this.setSeries(data.config, true);
|
|
10101
|
+
}));
|
|
10102
|
+
subscriptions.push(subscribeToSeries(this.state.globalID, events_SeriesEventName.MODE_CHANGED, ()=>{
|
|
10103
|
+
this.initSeries();
|
|
10104
|
+
}));
|
|
10105
|
+
subscriptions.push(subscribeToSeries(this.state.globalID, events_SeriesEventName.TYPE_OVERRIDE_CHANGED, ()=>{
|
|
10106
|
+
this.initSeries();
|
|
10107
|
+
}));
|
|
10108
|
+
subscriptions.push(subscribeToSeries(this.state.globalID, events_SeriesEventName.BATCH_UPDATED, (data)=>{
|
|
10109
|
+
data.configs.forEach((config)=>{
|
|
10110
|
+
this.setSeries(config, true);
|
|
10111
|
+
});
|
|
10112
|
+
}));
|
|
10113
|
+
subscriptions.push(subscribeToSeries(this.state.globalID, events_SeriesEventName.RESET, ()=>{
|
|
10114
|
+
this.state.series = {};
|
|
10115
|
+
this.initSeries();
|
|
10116
|
+
}));
|
|
10117
|
+
this.seriesUnsubscribe = ()=>{
|
|
10118
|
+
for (const unsubscribe of subscriptions)unsubscribe();
|
|
10119
|
+
};
|
|
9680
10120
|
}
|
|
9681
10121
|
init() {
|
|
9682
10122
|
const { id, renderRange } = this.state;
|
|
@@ -9695,10 +10135,11 @@ class Spectrum {
|
|
|
9695
10135
|
});
|
|
9696
10136
|
}
|
|
9697
10137
|
initSeries() {
|
|
9698
|
-
|
|
9699
|
-
|
|
9700
|
-
|
|
9701
|
-
|
|
10138
|
+
const { globalID } = this.state;
|
|
10139
|
+
if (!globalID) throw new Error('globalID is required for series initialization');
|
|
10140
|
+
const seriesWithTypes = getSeriesWithGraphicType(globalID);
|
|
10141
|
+
seriesWithTypes.forEach((config)=>{
|
|
10142
|
+
this.setSeries(config);
|
|
9702
10143
|
});
|
|
9703
10144
|
}
|
|
9704
10145
|
updateSeries(d, extraData) {
|
|
@@ -9717,13 +10158,17 @@ class Spectrum {
|
|
|
9717
10158
|
}
|
|
9718
10159
|
}
|
|
9719
10160
|
}
|
|
9720
|
-
if (extraData)
|
|
9721
|
-
const
|
|
9722
|
-
|
|
9723
|
-
|
|
9724
|
-
name
|
|
9725
|
-
|
|
9726
|
-
|
|
10161
|
+
if (extraData) {
|
|
10162
|
+
const extraDataArray = Object.entries(extraData);
|
|
10163
|
+
for(let i = 0; i < extraDataArray.length; i += 1){
|
|
10164
|
+
const [name, outputData] = extraDataArray[i];
|
|
10165
|
+
const seriesConfig = series[name];
|
|
10166
|
+
if (outputData) chart.render({
|
|
10167
|
+
...seriesConfig,
|
|
10168
|
+
name,
|
|
10169
|
+
data: outputData
|
|
10170
|
+
});
|
|
10171
|
+
}
|
|
9727
10172
|
}
|
|
9728
10173
|
}
|
|
9729
10174
|
updateMainSeries(data) {
|
|
@@ -9746,7 +10191,7 @@ class Spectrum {
|
|
|
9746
10191
|
...params
|
|
9747
10192
|
};
|
|
9748
10193
|
}
|
|
9749
|
-
setSeries(config) {
|
|
10194
|
+
setSeries(config, skipEventEmit = false) {
|
|
9750
10195
|
const { chart, series, globalID } = this.state;
|
|
9751
10196
|
const { name } = config;
|
|
9752
10197
|
if (!chart || !name || !config) return;
|
|
@@ -9763,7 +10208,18 @@ class Spectrum {
|
|
|
9763
10208
|
};
|
|
9764
10209
|
series[name] = c;
|
|
9765
10210
|
chart.setSeries(c);
|
|
9766
|
-
|
|
10211
|
+
if (!skipEventEmit && globalID) try {
|
|
10212
|
+
updateSeries(globalID, {
|
|
10213
|
+
name,
|
|
10214
|
+
label: config.label || name,
|
|
10215
|
+
color,
|
|
10216
|
+
thickness,
|
|
10217
|
+
display,
|
|
10218
|
+
type
|
|
10219
|
+
});
|
|
10220
|
+
} catch (error) {
|
|
10221
|
+
console.warn('Failed to update series in new management system:', error);
|
|
10222
|
+
}
|
|
9767
10223
|
}
|
|
9768
10224
|
setDisabledClearRect(disabledClearRect) {
|
|
9769
10225
|
const { chart } = this.state;
|
|
@@ -9794,6 +10250,10 @@ class Spectrum {
|
|
|
9794
10250
|
this.state.chart.resize();
|
|
9795
10251
|
}
|
|
9796
10252
|
clear() {
|
|
10253
|
+
if (this.seriesUnsubscribe) {
|
|
10254
|
+
this.seriesUnsubscribe();
|
|
10255
|
+
this.seriesUnsubscribe = void 0;
|
|
10256
|
+
}
|
|
9797
10257
|
const { chart } = this.state;
|
|
9798
10258
|
chart.clear();
|
|
9799
10259
|
}
|
|
@@ -10681,7 +11141,7 @@ const components_Dropdown_styles_module = Dropdown_styles_module.Z && Dropdown_s
|
|
|
10681
11141
|
const Dropdown = ({ value, options, onChange, placeholder = "\u8BF7\u9009\u62E9", closeOnSelect = true })=>{
|
|
10682
11142
|
const [isOpen, setIsOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
|
|
10683
11143
|
const handleSelect = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((value)=>{
|
|
10684
|
-
onChange(value);
|
|
11144
|
+
onChange?.(value);
|
|
10685
11145
|
if (closeOnSelect) setIsOpen(false);
|
|
10686
11146
|
}, [
|
|
10687
11147
|
onChange,
|
|
@@ -10920,150 +11380,126 @@ const SegmentsDisplayControl_SegmentsDisplayControl = ()=>{
|
|
|
10920
11380
|
};
|
|
10921
11381
|
const SegmentsDisplayControl = SegmentsDisplayControl_SegmentsDisplayControl;
|
|
10922
11382
|
const SeriesControl = ({ type })=>{
|
|
10923
|
-
const
|
|
10924
|
-
const {
|
|
10925
|
-
const seriesModes = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>({
|
|
10926
|
-
line: {
|
|
10927
|
-
realData: type_GraphicType.Line,
|
|
10928
|
-
minData: type_GraphicType.Line,
|
|
10929
|
-
maxData: type_GraphicType.Line,
|
|
10930
|
-
avgData: type_GraphicType.Line,
|
|
10931
|
-
label: "\u6298\u7EBF\u6A21\u5F0F"
|
|
10932
|
-
},
|
|
10933
|
-
stepline: {
|
|
10934
|
-
realData: type_GraphicType.Stepline,
|
|
10935
|
-
minData: type_GraphicType.Stepline,
|
|
10936
|
-
maxData: type_GraphicType.Stepline,
|
|
10937
|
-
avgData: type_GraphicType.Stepline,
|
|
10938
|
-
label: "\u9636\u68AF\u7EBF\u6A21\u5F0F"
|
|
10939
|
-
},
|
|
10940
|
-
bar: {
|
|
10941
|
-
realData: type_GraphicType.Bar,
|
|
10942
|
-
minData: type_GraphicType.Line,
|
|
10943
|
-
maxData: type_GraphicType.Line,
|
|
10944
|
-
avgData: type_GraphicType.Line,
|
|
10945
|
-
label: "\u67F1\u72B6\u56FE\u6A21\u5F0F"
|
|
10946
|
-
},
|
|
10947
|
-
area: {
|
|
10948
|
-
realData: type_GraphicType.Area,
|
|
10949
|
-
minData: type_GraphicType.Stepline,
|
|
10950
|
-
maxData: type_GraphicType.Stepline,
|
|
10951
|
-
avgData: type_GraphicType.Stepline,
|
|
10952
|
-
label: "\u9762\u79EF\u56FE\u6A21\u5F0F"
|
|
10953
|
-
}
|
|
10954
|
-
}), []);
|
|
11383
|
+
const { state: { globalID } } = useStore_useStore();
|
|
11384
|
+
const { mode: currentMode } = useSeriesManager(globalID);
|
|
10955
11385
|
const handleSeriesControl = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
10956
11386
|
if (type === constants_ChartType.MScan || type === constants_ChartType.ScanDF360) return;
|
|
10957
|
-
|
|
10958
|
-
|
|
10959
|
-
'stepline',
|
|
10960
|
-
'line',
|
|
10961
|
-
'area'
|
|
10962
|
-
];
|
|
10963
|
-
const currentIndex = modes.indexOf(currentMode);
|
|
10964
|
-
const nextMode = modes[(currentIndex + 1) % modes.length];
|
|
10965
|
-
setCurrentMode(nextMode);
|
|
10966
|
-
const modeConfig = seriesModes[nextMode];
|
|
10967
|
-
if (publish) {
|
|
10968
|
-
publish({
|
|
10969
|
-
pstype: constants_PSType.Series,
|
|
10970
|
-
name: 'realData',
|
|
10971
|
-
type: modeConfig.realData
|
|
10972
|
-
});
|
|
10973
|
-
publish({
|
|
10974
|
-
pstype: constants_PSType.Series,
|
|
10975
|
-
name: 'minData',
|
|
10976
|
-
type: modeConfig.minData
|
|
10977
|
-
});
|
|
10978
|
-
publish({
|
|
10979
|
-
pstype: constants_PSType.Series,
|
|
10980
|
-
name: 'maxData',
|
|
10981
|
-
type: modeConfig.maxData
|
|
10982
|
-
});
|
|
10983
|
-
publish({
|
|
10984
|
-
pstype: constants_PSType.Series,
|
|
10985
|
-
name: 'avgData',
|
|
10986
|
-
type: modeConfig.avgData
|
|
10987
|
-
});
|
|
10988
|
-
}
|
|
11387
|
+
if (!globalID) return;
|
|
11388
|
+
toggleSeriesMode(globalID);
|
|
10989
11389
|
}, [
|
|
10990
|
-
|
|
10991
|
-
publish,
|
|
10992
|
-
seriesModes,
|
|
11390
|
+
globalID,
|
|
10993
11391
|
type
|
|
10994
11392
|
]);
|
|
10995
11393
|
const title = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
10996
11394
|
if (type === constants_ChartType.MScan || type === constants_ChartType.ScanDF360) return `\u{56FE}\u{5F62}\u{6A21}\u{5F0F}\u{5207}\u{6362}\u{5DF2}\u{7981}\u{7528}`;
|
|
10997
|
-
return
|
|
11395
|
+
return `\u{5F53}\u{524D}\u{56FE}\u{5F62}\u{6A21}\u{5F0F}\u{FF1A}${SERIES_MODES[currentMode]?.label || currentMode}`;
|
|
10998
11396
|
}, [
|
|
10999
11397
|
currentMode,
|
|
11000
|
-
seriesModes,
|
|
11001
11398
|
type
|
|
11002
11399
|
]);
|
|
11003
|
-
const
|
|
11400
|
+
const renderIcon = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>()=>{
|
|
11401
|
+
switch(currentMode){
|
|
11402
|
+
case modes_SeriesMode.Bar:
|
|
11403
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("svg", {
|
|
11404
|
+
width: "16",
|
|
11405
|
+
height: "16",
|
|
11406
|
+
viewBox: "0 0 16 16",
|
|
11407
|
+
fill: "none",
|
|
11408
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11409
|
+
children: [
|
|
11410
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("rect", {
|
|
11411
|
+
x: "2",
|
|
11412
|
+
y: "8",
|
|
11413
|
+
width: "2",
|
|
11414
|
+
height: "6",
|
|
11415
|
+
fill: "currentColor"
|
|
11416
|
+
}),
|
|
11417
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("rect", {
|
|
11418
|
+
x: "5",
|
|
11419
|
+
y: "4",
|
|
11420
|
+
width: "2",
|
|
11421
|
+
height: "10",
|
|
11422
|
+
fill: "currentColor"
|
|
11423
|
+
}),
|
|
11424
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("rect", {
|
|
11425
|
+
x: "8",
|
|
11426
|
+
y: "6",
|
|
11427
|
+
width: "2",
|
|
11428
|
+
height: "8",
|
|
11429
|
+
fill: "currentColor"
|
|
11430
|
+
}),
|
|
11431
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("rect", {
|
|
11432
|
+
x: "11",
|
|
11433
|
+
y: "2",
|
|
11434
|
+
width: "2",
|
|
11435
|
+
height: "12",
|
|
11436
|
+
fill: "currentColor"
|
|
11437
|
+
})
|
|
11438
|
+
]
|
|
11439
|
+
});
|
|
11440
|
+
case modes_SeriesMode.StepLine:
|
|
11441
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
|
|
11442
|
+
width: "16",
|
|
11443
|
+
height: "16",
|
|
11444
|
+
viewBox: "0 0 16 16",
|
|
11445
|
+
fill: "none",
|
|
11446
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11447
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11448
|
+
d: "M2 12H4V8H6V8H8V4H10V4H12V2H14",
|
|
11449
|
+
stroke: "currentColor",
|
|
11450
|
+
strokeWidth: "1.5",
|
|
11451
|
+
fill: "none"
|
|
11452
|
+
})
|
|
11453
|
+
});
|
|
11454
|
+
case modes_SeriesMode.Line:
|
|
11455
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
|
|
11456
|
+
width: "16",
|
|
11457
|
+
height: "16",
|
|
11458
|
+
viewBox: "0 0 16 16",
|
|
11459
|
+
fill: "none",
|
|
11460
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11461
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11462
|
+
d: "M2 12L5 8L8 10L11 4L14 6",
|
|
11463
|
+
stroke: "currentColor",
|
|
11464
|
+
strokeWidth: "1.5",
|
|
11465
|
+
fill: "none"
|
|
11466
|
+
})
|
|
11467
|
+
});
|
|
11468
|
+
case modes_SeriesMode.Area:
|
|
11469
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("svg", {
|
|
11470
|
+
width: "16",
|
|
11471
|
+
height: "16",
|
|
11472
|
+
viewBox: "0 0 16 16",
|
|
11473
|
+
fill: "none",
|
|
11474
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11475
|
+
children: [
|
|
11476
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11477
|
+
d: "M2 12L5 8L8 10L11 4L14 6V14H2V12Z",
|
|
11478
|
+
fill: "currentColor",
|
|
11479
|
+
opacity: "0.6"
|
|
11480
|
+
}),
|
|
11481
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11482
|
+
d: "M2 12L5 8L8 10L11 4L14 6",
|
|
11483
|
+
stroke: "currentColor",
|
|
11484
|
+
strokeWidth: "1.5",
|
|
11485
|
+
fill: "none"
|
|
11486
|
+
})
|
|
11487
|
+
]
|
|
11488
|
+
});
|
|
11489
|
+
default:
|
|
11490
|
+
return null;
|
|
11491
|
+
}
|
|
11492
|
+
}, [
|
|
11493
|
+
currentMode
|
|
11494
|
+
]);
|
|
11004
11495
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ToolsBar_IconBox, {
|
|
11005
|
-
onClick: isDisabled ? void 0 : handleSeriesControl,
|
|
11006
11496
|
title: title,
|
|
11007
|
-
|
|
11497
|
+
onClick: type === constants_ChartType.MScan || type === constants_ChartType.ScanDF360 ? void 0 : handleSeriesControl,
|
|
11498
|
+
style: type === constants_ChartType.MScan || type === constants_ChartType.ScanDF360 ? {
|
|
11008
11499
|
opacity: 0.5,
|
|
11009
11500
|
cursor: 'not-allowed'
|
|
11010
11501
|
} : void 0,
|
|
11011
|
-
children:
|
|
11012
|
-
viewBox: "0 0 1024 1024",
|
|
11013
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
11014
|
-
children: [
|
|
11015
|
-
'bar' === currentMode && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("g", {
|
|
11016
|
-
children: [
|
|
11017
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11018
|
-
d: "M556.8 128l128 0 0 768-128 0 0-768Z",
|
|
11019
|
-
fill: "var(--theme-color-primary)"
|
|
11020
|
-
}),
|
|
11021
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11022
|
-
d: "M768 512l128 0 0 384-128 0 0-384Z",
|
|
11023
|
-
fill: "var(--theme-color-primary)"
|
|
11024
|
-
}),
|
|
11025
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11026
|
-
d: "M352 384l128 0 0 512-128 0 0-512Z",
|
|
11027
|
-
fill: "var(--theme-color-primary)"
|
|
11028
|
-
}),
|
|
11029
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11030
|
-
d: "M128 640l128 0 0 256-128 0 0-256Z",
|
|
11031
|
-
fill: "var(--theme-color-primary)"
|
|
11032
|
-
})
|
|
11033
|
-
]
|
|
11034
|
-
}),
|
|
11035
|
-
'line' === currentMode && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("g", {
|
|
11036
|
-
children: [
|
|
11037
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11038
|
-
d: "M62.1 844.9H959v60.7H62.1zM275.8 606.5L494 763.7 956.1 491l-51.4-83.5-404.3 240.7-231-163.7L64 651.4l61 77z",
|
|
11039
|
-
fill: "var(--theme-color-primary)"
|
|
11040
|
-
}),
|
|
11041
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11042
|
-
d: "M275.8 317.7L494 474.9l462.1-272.7-51.4-83.5-404.3 240.7-231-163.6L64 362.6l61 77z",
|
|
11043
|
-
fill: "var(--theme-color-primary)"
|
|
11044
|
-
})
|
|
11045
|
-
]
|
|
11046
|
-
}),
|
|
11047
|
-
'stepline' === currentMode && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("g", {
|
|
11048
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11049
|
-
d: "M375.466667 930.133333H136.533333v-268.8h68.266667v200.533334h102.4v-768h238.933333v512h102.4v-384h238.933334v610.133333h-68.266667V290.133333h-102.4v384h-238.933333v-512H375.466667z",
|
|
11050
|
-
fill: "var(--theme-color-primary)"
|
|
11051
|
-
})
|
|
11052
|
-
}),
|
|
11053
|
-
'area' === currentMode && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("g", {
|
|
11054
|
-
children: [
|
|
11055
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11056
|
-
d: "M128 512l256-256 256 256 256-256v640H128V512z",
|
|
11057
|
-
fill: "var(--theme-color-primary)"
|
|
11058
|
-
}),
|
|
11059
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11060
|
-
d: "M896 928H128a32 32 0 0 1-32-32V512a32 32 0 0 1 9.28-22.72l256-256a32 32 0 0 1 45.44 0l233.28 233.6 233.28-233.6a32 32 0 0 1 34.88-6.72A32 32 0 0 1 928 256v640a32 32 0 0 1-32 32zM160 864h704V333.12l-201.28 201.6a32 32 0 0 1-45.44 0L384 301.12l-224 224z",
|
|
11061
|
-
fill: "var(--theme-color-primary)"
|
|
11062
|
-
})
|
|
11063
|
-
]
|
|
11064
|
-
})
|
|
11065
|
-
]
|
|
11066
|
-
})
|
|
11502
|
+
children: renderIcon()
|
|
11067
11503
|
});
|
|
11068
11504
|
};
|
|
11069
11505
|
const ToolsBar_SeriesControl = SeriesControl;
|
|
@@ -11076,197 +11512,137 @@ SeriesDisplayControl_styles_module_options.domAPI = styleDomAPI_default();
|
|
|
11076
11512
|
SeriesDisplayControl_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
11077
11513
|
injectStylesIntoStyleTag_default()(SeriesDisplayControl_styles_module.Z, SeriesDisplayControl_styles_module_options);
|
|
11078
11514
|
const ToolsBar_SeriesDisplayControl_styles_module = SeriesDisplayControl_styles_module.Z && SeriesDisplayControl_styles_module.Z.locals ? SeriesDisplayControl_styles_module.Z.locals : void 0;
|
|
11079
|
-
const
|
|
11080
|
-
const { state: { globalID, series }
|
|
11081
|
-
const
|
|
11082
|
-
const
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
|
|
11086
|
-
|
|
11087
|
-
|
|
11088
|
-
|
|
11089
|
-
});
|
|
11090
|
-
return snapshot;
|
|
11091
|
-
}, [
|
|
11092
|
-
data,
|
|
11093
|
-
updateCounter
|
|
11094
|
-
]);
|
|
11095
|
-
const seriesArray = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>Object.keys(dataSnapshot).filter((name)=>!legendExternal.includes(name)).filter((name)=>name !== constants_SeriesType.TemplateData), [
|
|
11096
|
-
dataSnapshot,
|
|
11097
|
-
legendExternal
|
|
11098
|
-
]);
|
|
11099
|
-
const seriesDataSnapshot = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
11100
|
-
const snapshot = {};
|
|
11101
|
-
seriesArray.forEach((name)=>{
|
|
11102
|
-
const item = dataSnapshot[name];
|
|
11103
|
-
if (item) snapshot[name] = {
|
|
11104
|
-
display: item.display,
|
|
11105
|
-
label: item.label || name,
|
|
11106
|
-
color: item.color || 'var(--theme-color-primary)'
|
|
11107
|
-
};
|
|
11108
|
-
});
|
|
11109
|
-
return snapshot;
|
|
11110
|
-
}, [
|
|
11111
|
-
seriesArray,
|
|
11112
|
-
dataSnapshot
|
|
11113
|
-
]);
|
|
11114
|
-
const handleDropdownClick = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
11115
|
-
setUpdateCounter((prev)=>prev + 1);
|
|
11116
|
-
}, []);
|
|
11117
|
-
const handleSeriesToggle = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((name, isDisplayTrue)=>{
|
|
11118
|
-
if (globalID) {
|
|
11119
|
-
const item = data.get(name);
|
|
11120
|
-
if (item) {
|
|
11121
|
-
const newDisplay = isDisplayTrue ? true : !item.display;
|
|
11122
|
-
data.set(name, {
|
|
11123
|
-
...item,
|
|
11124
|
-
display: newDisplay
|
|
11125
|
-
});
|
|
11126
|
-
series.data = data;
|
|
11127
|
-
setUpdateCounter((prev)=>prev + 1);
|
|
11128
|
-
dispatch({
|
|
11129
|
-
payload: {
|
|
11130
|
-
series
|
|
11131
|
-
}
|
|
11132
|
-
});
|
|
11133
|
-
tools(globalID, constants_ModuleType.Spectrum)({
|
|
11134
|
-
pstype: constants_PSType.Series,
|
|
11515
|
+
const SeriesDisplayControl = ()=>{
|
|
11516
|
+
const { state: { globalID, series: seriesConfig } } = useStore_useStore();
|
|
11517
|
+
const filteredSeries = useFilteredSeries(globalID);
|
|
11518
|
+
const { forceUpdate } = useSeriesForComponent(globalID);
|
|
11519
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
11520
|
+
if (!globalID || !seriesConfig?.forceDisplay) return;
|
|
11521
|
+
const hiddenSeries = filteredSeries.filter((item)=>!item.display);
|
|
11522
|
+
if (hiddenSeries.length > 0) {
|
|
11523
|
+
hiddenSeries.forEach(({ name })=>{
|
|
11524
|
+
updateSeries(globalID, {
|
|
11135
11525
|
name,
|
|
11136
|
-
display:
|
|
11526
|
+
display: true
|
|
11137
11527
|
});
|
|
11138
|
-
}
|
|
11528
|
+
});
|
|
11529
|
+
forceUpdate();
|
|
11139
11530
|
}
|
|
11140
11531
|
}, [
|
|
11141
|
-
series,
|
|
11142
|
-
data,
|
|
11143
11532
|
globalID,
|
|
11144
|
-
|
|
11533
|
+
seriesConfig?.forceDisplay,
|
|
11534
|
+
filteredSeries.length
|
|
11145
11535
|
]);
|
|
11146
|
-
(0, __WEBPACK_EXTERNAL_MODULE_react__.
|
|
11147
|
-
|
|
11148
|
-
|
|
11149
|
-
|
|
11150
|
-
|
|
11536
|
+
const updateSeriesDisplay = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((updates)=>{
|
|
11537
|
+
updates.forEach(({ name, display })=>{
|
|
11538
|
+
updateSeries(globalID, {
|
|
11539
|
+
name,
|
|
11540
|
+
display
|
|
11541
|
+
});
|
|
11151
11542
|
});
|
|
11543
|
+
forceUpdate();
|
|
11152
11544
|
}, [
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
handleSeriesToggle
|
|
11545
|
+
globalID,
|
|
11546
|
+
forceUpdate
|
|
11156
11547
|
]);
|
|
11157
|
-
const
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
|
|
11161
|
-
|
|
11162
|
-
}
|
|
11163
|
-
|
|
11164
|
-
handleSeriesToggle(name, !allDisplayed);
|
|
11165
|
-
});
|
|
11166
|
-
} else if ('string' == typeof value) handleSeriesToggle(value);
|
|
11548
|
+
const handleSeriesToggle = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((seriesName, display)=>{
|
|
11549
|
+
updateSeriesDisplay([
|
|
11550
|
+
{
|
|
11551
|
+
name: seriesName,
|
|
11552
|
+
display
|
|
11553
|
+
}
|
|
11554
|
+
]);
|
|
11167
11555
|
}, [
|
|
11168
|
-
|
|
11169
|
-
data,
|
|
11170
|
-
handleSeriesToggle
|
|
11556
|
+
updateSeriesDisplay
|
|
11171
11557
|
]);
|
|
11172
|
-
const
|
|
11173
|
-
const
|
|
11174
|
-
|
|
11175
|
-
|
|
11176
|
-
|
|
11177
|
-
|
|
11558
|
+
const handleSelectAll = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((selectAll)=>{
|
|
11559
|
+
const updates = filteredSeries.filter((item)=>item.display !== selectAll).map((item)=>({
|
|
11560
|
+
name: item.name,
|
|
11561
|
+
display: selectAll
|
|
11562
|
+
}));
|
|
11563
|
+
if (updates.length > 0) updateSeriesDisplay(updates);
|
|
11178
11564
|
}, [
|
|
11179
|
-
|
|
11180
|
-
|
|
11565
|
+
filteredSeries,
|
|
11566
|
+
updateSeriesDisplay
|
|
11181
11567
|
]);
|
|
11182
|
-
const
|
|
11183
|
-
const
|
|
11184
|
-
const
|
|
11185
|
-
|
|
11186
|
-
value: null,
|
|
11187
|
-
label: allDisplayed ? "\u9690\u85CF\u6240\u6709\u7CFB\u5217" : "\u663E\u793A\u6240\u6709\u7CFB\u5217"
|
|
11188
|
-
}
|
|
11189
|
-
];
|
|
11190
|
-
const seriesOptions = seriesArray.map((name)=>{
|
|
11191
|
-
const itemSnapshot = seriesDataSnapshot[name];
|
|
11568
|
+
const dropdownOptions = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
11569
|
+
const allVisible = filteredSeries.every((item)=>item.display);
|
|
11570
|
+
const seriesOptions = filteredSeries.map((item)=>{
|
|
11571
|
+
const displayClass = item.display ? ToolsBar_SeriesDisplayControl_styles_module.displayed : ToolsBar_SeriesDisplayControl_styles_module.hidden;
|
|
11192
11572
|
return {
|
|
11193
|
-
|
|
11194
|
-
|
|
11195
|
-
render: ()
|
|
11196
|
-
const currentSnapshot = seriesDataSnapshot[name];
|
|
11197
|
-
const isDisplayed = currentSnapshot?.display;
|
|
11198
|
-
if (!currentSnapshot) return null;
|
|
11199
|
-
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
11573
|
+
label: item.label || item.name,
|
|
11574
|
+
value: item.name,
|
|
11575
|
+
render: ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
11200
11576
|
className: ToolsBar_SeriesDisplayControl_styles_module.seriesOption,
|
|
11577
|
+
onClick: ()=>handleSeriesToggle(item.name, !item.display),
|
|
11201
11578
|
children: [
|
|
11202
11579
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
11203
|
-
className: `${ToolsBar_SeriesDisplayControl_styles_module.seriesIndicator} ${
|
|
11580
|
+
className: `${ToolsBar_SeriesDisplayControl_styles_module.seriesIndicator} ${displayClass}`,
|
|
11204
11581
|
style: {
|
|
11205
|
-
backgroundColor:
|
|
11582
|
+
backgroundColor: item.display ? item.color : 'transparent'
|
|
11206
11583
|
}
|
|
11207
11584
|
}),
|
|
11208
11585
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
|
|
11209
|
-
className: `${ToolsBar_SeriesDisplayControl_styles_module.seriesLabel} ${
|
|
11210
|
-
children:
|
|
11586
|
+
className: `${ToolsBar_SeriesDisplayControl_styles_module.seriesLabel} ${displayClass}`,
|
|
11587
|
+
children: item.label || item.name
|
|
11211
11588
|
})
|
|
11212
11589
|
]
|
|
11213
|
-
})
|
|
11214
|
-
}
|
|
11590
|
+
})
|
|
11215
11591
|
};
|
|
11216
11592
|
});
|
|
11217
11593
|
return [
|
|
11218
|
-
|
|
11594
|
+
{
|
|
11595
|
+
label: allVisible ? "\u5168\u4E0D\u9009" : "\u5168\u9009",
|
|
11596
|
+
value: 'select-all',
|
|
11597
|
+
render: ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
11598
|
+
className: ToolsBar_SeriesDisplayControl_styles_module.selectAllOption,
|
|
11599
|
+
onClick: ()=>handleSelectAll(!allVisible),
|
|
11600
|
+
children: allVisible ? "\u5168\u4E0D\u9009" : "\u5168\u9009"
|
|
11601
|
+
})
|
|
11602
|
+
},
|
|
11219
11603
|
...seriesOptions
|
|
11220
11604
|
];
|
|
11221
11605
|
}, [
|
|
11222
|
-
|
|
11223
|
-
|
|
11606
|
+
filteredSeries,
|
|
11607
|
+
handleSeriesToggle,
|
|
11608
|
+
handleSelectAll
|
|
11224
11609
|
]);
|
|
11225
11610
|
const currentValue = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
11226
|
-
|
|
11227
|
-
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
}
|
|
11232
|
-
const value = `${displayedSeries.length} \u{4E2A}\u{7CFB}\u{5217}`;
|
|
11233
|
-
return value;
|
|
11611
|
+
const visibleCount = filteredSeries.filter((item)=>item.display).length;
|
|
11612
|
+
const totalCount = filteredSeries.length;
|
|
11613
|
+
if (0 === visibleCount) return "\u65E0\u9009\u62E9";
|
|
11614
|
+
if (visibleCount === totalCount) return "\u5168\u90E8";
|
|
11615
|
+
return `${visibleCount}/${totalCount}`;
|
|
11234
11616
|
}, [
|
|
11235
|
-
|
|
11236
|
-
seriesDataSnapshot
|
|
11617
|
+
filteredSeries
|
|
11237
11618
|
]);
|
|
11238
|
-
|
|
11239
|
-
|
|
11240
|
-
|
|
11241
|
-
|
|
11242
|
-
|
|
11243
|
-
|
|
11244
|
-
|
|
11245
|
-
|
|
11246
|
-
|
|
11247
|
-
|
|
11248
|
-
|
|
11249
|
-
|
|
11250
|
-
|
|
11251
|
-
|
|
11252
|
-
|
|
11253
|
-
|
|
11254
|
-
|
|
11255
|
-
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11259
|
-
|
|
11260
|
-
|
|
11261
|
-
|
|
11262
|
-
]
|
|
11263
|
-
})
|
|
11264
|
-
}),
|
|
11265
|
-
closeOnSelect: false
|
|
11266
|
-
})
|
|
11619
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(components_Dropdown, {
|
|
11620
|
+
value: currentValue,
|
|
11621
|
+
options: dropdownOptions,
|
|
11622
|
+
placeholder: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ToolsBar_IconBox, {
|
|
11623
|
+
title: "\u7CFB\u5217\u663E\u793A\u63A7\u5236",
|
|
11624
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("svg", {
|
|
11625
|
+
viewBox: "0 0 1024 1024",
|
|
11626
|
+
version: "1.1",
|
|
11627
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11628
|
+
width: "16",
|
|
11629
|
+
height: "16",
|
|
11630
|
+
children: [
|
|
11631
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11632
|
+
d: "M930.909091 896H93.090909c-18.618182 0-34.909091-16.290909-34.909091-34.909091V162.909091c0-18.618182 16.290909-34.909091 34.909091-34.909091h837.818182c18.618182 0 34.909091 16.290909 34.909091 34.909091v698.181818c0 18.618182-16.290909 34.909091-34.909091 34.909091z m-802.909091-69.818182h770.327273v-628.363636H128v628.363636z",
|
|
11633
|
+
fill: "var(--theme-color-primary)"
|
|
11634
|
+
}),
|
|
11635
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
|
|
11636
|
+
d: "M232.727273 640c-4.654545 0-9.309091 0-13.963637-2.327273-16.290909-6.981818-25.6-27.927273-18.618181-44.218182l116.363636-279.272727c4.654545-11.636364 16.290909-20.945455 30.254545-20.945454 13.963636 0 25.6 4.654545 32.581819 16.290909l83.781818 146.618182H814.545455c18.618182 0 34.909091 16.290909 34.90909 34.90909s-16.290909 34.909091-34.90909 34.909091H442.181818c-11.636364 0-23.272727-6.981818-30.254545-16.290909l-58.181818-102.4-90.763637 216.436364c-4.654545 6.981818-16.290909 16.290909-30.254545 16.290909zM814.545455 663.272727H488.727273c-18.618182 0-34.909091-16.290909-34.909091-34.909091s16.290909-34.909091 34.909091-34.909091h325.818182c18.618182 0 34.909091 16.290909 34.90909 34.909091s-16.290909 34.909091-34.90909 34.909091z",
|
|
11637
|
+
fill: "var(--theme-color-primary)"
|
|
11638
|
+
})
|
|
11639
|
+
]
|
|
11640
|
+
})
|
|
11641
|
+
}),
|
|
11642
|
+
closeOnSelect: false
|
|
11267
11643
|
});
|
|
11268
11644
|
};
|
|
11269
|
-
const
|
|
11645
|
+
const ToolsBar_SeriesDisplayControl = SeriesDisplayControl;
|
|
11270
11646
|
const SpacerLine = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
11271
11647
|
className: components_ToolsBar_styles_module.spacerLine
|
|
11272
11648
|
});
|
|
@@ -11404,7 +11780,7 @@ const TOOL_CONFIGS = [
|
|
|
11404
11780
|
]
|
|
11405
11781
|
},
|
|
11406
11782
|
{
|
|
11407
|
-
component:
|
|
11783
|
+
component: ToolsBar_SeriesDisplayControl,
|
|
11408
11784
|
toolType: constants_ToolsBarItemType.SeriesDisplayControl,
|
|
11409
11785
|
supportedCharts: [
|
|
11410
11786
|
constants_ChartType.SingleFrequency,
|
|
@@ -14223,23 +14599,27 @@ StationAllocation_styles_module_options.domAPI = styleDomAPI_default();
|
|
|
14223
14599
|
StationAllocation_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
14224
14600
|
injectStylesIntoStyleTag_default()(StationAllocation_styles_module.Z, StationAllocation_styles_module_options);
|
|
14225
14601
|
const components_StationAllocation_styles_module = StationAllocation_styles_module.Z && StationAllocation_styles_module.Z.locals ? StationAllocation_styles_module.Z.locals : void 0;
|
|
14226
|
-
const StationAllocation_SegmentContainer_SegmentContainer = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.memo)(({ style, stationPositions, currentFrequency, segmentIndex, isCurrentSegment })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
14602
|
+
const StationAllocation_SegmentContainer_SegmentContainer = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.memo)(({ style, stationPositions, currentFrequency, segmentIndex, isCurrentSegment, onStationMouseEnter, onStationMouseLeave, isStationInHoverRange })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
14227
14603
|
className: components_StationAllocation_styles_module.segmentContainer,
|
|
14228
14604
|
style: style,
|
|
14229
14605
|
children: stationPositions.map(({ station, position }, index)=>{
|
|
14230
14606
|
const isActive = isCurrentSegment && currentFrequency >= station.startFrequency && currentFrequency <= station.stopFrequency;
|
|
14607
|
+
const isHovered = isStationInHoverRange(station);
|
|
14231
14608
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
14232
|
-
className: `${components_StationAllocation_styles_module.item} ${isActive ? components_StationAllocation_styles_module.active : ''}`,
|
|
14609
|
+
className: `${components_StationAllocation_styles_module.item} ${isActive ? components_StationAllocation_styles_module.active : ''} ${isHovered ? components_StationAllocation_styles_module.hovered : ''}`,
|
|
14233
14610
|
style: {
|
|
14234
14611
|
left: position.left,
|
|
14235
14612
|
width: position.width
|
|
14236
14613
|
},
|
|
14237
|
-
title: `${station.signalName} - ${station.frequency}${station.orgName ? ` (${station.orgName})` : ''}
|
|
14614
|
+
title: `${station.signalName} - ${station.frequency}${station.orgName ? ` (${station.orgName})` : ''}`,
|
|
14615
|
+
onMouseEnter: ()=>onStationMouseEnter(station),
|
|
14616
|
+
onMouseLeave: onStationMouseLeave
|
|
14238
14617
|
}, `segment-${segmentIndex}-station-${station.signalName}-${station.frequency}-${index}`);
|
|
14239
14618
|
})
|
|
14240
14619
|
}));
|
|
14241
14620
|
const StationAllocation_SegmentContainer = StationAllocation_SegmentContainer_SegmentContainer;
|
|
14242
14621
|
const StationAllocation_StationAllocation = ({ show = true, display = true })=>{
|
|
14622
|
+
const [hoveredFrequencyRange, setHoveredFrequencyRange] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
|
|
14243
14623
|
const { state: { segments, axisX: { frequencyFormat }, zoom: { style: zoomOffStyle }, cursor: { coord: { left } }, stationInfo } } = useStore_useStore();
|
|
14244
14624
|
const stationData = stationInfo.data;
|
|
14245
14625
|
const shouldDisplay = stationInfo.show && display;
|
|
@@ -14247,6 +14627,25 @@ const StationAllocation_StationAllocation = ({ show = true, display = true })=>{
|
|
|
14247
14627
|
left,
|
|
14248
14628
|
frequencyFormat
|
|
14249
14629
|
]);
|
|
14630
|
+
const handleStationMouseEnter = (station)=>{
|
|
14631
|
+
const yian = station.bandwidth / 2 / 1000;
|
|
14632
|
+
const startFreq = station.frequency - yian;
|
|
14633
|
+
const stopFreq = station.frequency + yian;
|
|
14634
|
+
setHoveredFrequencyRange({
|
|
14635
|
+
start: startFreq,
|
|
14636
|
+
stop: stopFreq
|
|
14637
|
+
});
|
|
14638
|
+
};
|
|
14639
|
+
const handleStationMouseLeave = ()=>{
|
|
14640
|
+
setHoveredFrequencyRange(null);
|
|
14641
|
+
};
|
|
14642
|
+
const isStationInHoverRange = (station)=>{
|
|
14643
|
+
if (!hoveredFrequencyRange) return false;
|
|
14644
|
+
const yian = station.bandwidth / 2 / 1000;
|
|
14645
|
+
const startFreq = station.frequency - yian;
|
|
14646
|
+
const stopFreq = station.frequency + yian;
|
|
14647
|
+
return !(stopFreq < hoveredFrequencyRange.start || startFreq > hoveredFrequencyRange.stop);
|
|
14648
|
+
};
|
|
14250
14649
|
const currentSegmentIndex = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
14251
14650
|
if (!segments?.length) return -1;
|
|
14252
14651
|
let totalPoints = 0;
|
|
@@ -14327,7 +14726,7 @@ const StationAllocation_StationAllocation = ({ show = true, display = true })=>{
|
|
|
14327
14726
|
segments,
|
|
14328
14727
|
stationData
|
|
14329
14728
|
]);
|
|
14330
|
-
if (!show || !shouldDisplay
|
|
14729
|
+
if (!show || !shouldDisplay) return null;
|
|
14331
14730
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
14332
14731
|
className: components_StationAllocation_styles_module.StationAllocation,
|
|
14333
14732
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
@@ -14338,7 +14737,10 @@ const StationAllocation_StationAllocation = ({ show = true, display = true })=>{
|
|
|
14338
14737
|
stationPositions: stationPositions,
|
|
14339
14738
|
currentFrequency: currentFrequency,
|
|
14340
14739
|
segmentIndex: segmentIndex,
|
|
14341
|
-
isCurrentSegment: currentSegmentIndex === segmentIndex
|
|
14740
|
+
isCurrentSegment: currentSegmentIndex === segmentIndex,
|
|
14741
|
+
onStationMouseEnter: handleStationMouseEnter,
|
|
14742
|
+
onStationMouseLeave: handleStationMouseLeave,
|
|
14743
|
+
isStationInHoverRange: isStationInHoverRange
|
|
14342
14744
|
}, `segment-${segmentIndex}`))
|
|
14343
14745
|
})
|
|
14344
14746
|
});
|
|
@@ -14354,7 +14756,7 @@ Stripe_styles_module_options.insertStyleElement = insertStyleElement_default();
|
|
|
14354
14756
|
injectStylesIntoStyleTag_default()(Stripe_styles_module.Z, Stripe_styles_module_options);
|
|
14355
14757
|
const components_Stripe_styles_module = Stripe_styles_module.Z && Stripe_styles_module.Z.locals ? Stripe_styles_module.Z.locals : void 0;
|
|
14356
14758
|
const Stripe_COMPONENT_KEY = constants_ToolType.Stripe;
|
|
14357
|
-
const
|
|
14759
|
+
const Stripe_Stripe = ({ id })=>{
|
|
14358
14760
|
const { state: { stripe, axisX: { frequencyFormat, unit } }, dispatch } = useStore_useStore();
|
|
14359
14761
|
const { show, display, left, right, defaultLeft, defaultRight, onChange } = stripe;
|
|
14360
14762
|
const [isDown, setIsDown] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(0);
|
|
@@ -14467,7 +14869,7 @@ const Stripe = ({ id })=>{
|
|
|
14467
14869
|
})
|
|
14468
14870
|
});
|
|
14469
14871
|
};
|
|
14470
|
-
const
|
|
14872
|
+
const Stripe = Stripe_Stripe;
|
|
14471
14873
|
function usePoints() {
|
|
14472
14874
|
const { dispatch, state: { axisX } } = useStore_useStore();
|
|
14473
14875
|
const setPoints = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((points)=>{
|
|
@@ -14556,7 +14958,7 @@ const Spectrum_Spectrum = (props)=>{
|
|
|
14556
14958
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(AxisYByCanvas, {
|
|
14557
14959
|
chart: chart
|
|
14558
14960
|
}),
|
|
14559
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(
|
|
14961
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(PluginBox, {
|
|
14560
14962
|
children: [
|
|
14561
14963
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(components_GridLines, {}),
|
|
14562
14964
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Chart, {}),
|
|
@@ -14585,7 +14987,7 @@ const Spectrum_Spectrum = (props)=>{
|
|
|
14585
14987
|
}),
|
|
14586
14988
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Band, {}),
|
|
14587
14989
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(components_Scope, {}),
|
|
14588
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(
|
|
14990
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Stripe, {
|
|
14589
14991
|
id: id
|
|
14590
14992
|
}),
|
|
14591
14993
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(FrequencyTagLine, {
|
|
@@ -14628,7 +15030,7 @@ const LevelStream_Chart_Chart = (props)=>{
|
|
|
14628
15030
|
}),
|
|
14629
15031
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(components_FlexBox, {
|
|
14630
15032
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(modules_Spectrum, {
|
|
14631
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(
|
|
15033
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(PluginBox, {
|
|
14632
15034
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Level, {
|
|
14633
15035
|
opacity: 0.5
|
|
14634
15036
|
})
|
|
@@ -14713,7 +15115,7 @@ const AxisYOccupancy = (props)=>{
|
|
|
14713
15115
|
if (false === show || disabled) return null;
|
|
14714
15116
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(occupancy_type_Default, {});
|
|
14715
15117
|
};
|
|
14716
|
-
const
|
|
15118
|
+
const occupancy = AxisYOccupancy;
|
|
14717
15119
|
var Occdahsed_styles_module = __webpack_require__("../../../../node_modules/.pnpm/@rsbuild+core@1.3.18/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[11].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[11].use[2]!../../../../node_modules/.pnpm/@rsbuild+plugin-less@1.5.0_@rsbuild+core@1.5.17/node_modules/@rsbuild/plugin-less/compiled/less-loader/index.js??ruleSet[1].rules[11].use[3]!./src/components/GridLines/Occdahsed/styles.module.less");
|
|
14718
15120
|
var Occdahsed_styles_module_options = {};
|
|
14719
15121
|
Occdahsed_styles_module_options.styleTagTransform = styleTagTransform_default();
|
|
@@ -14788,7 +15190,7 @@ const Occupancy_Occupancy = (props)=>{
|
|
|
14788
15190
|
{
|
|
14789
15191
|
const { data, totalOccupancy } = d;
|
|
14790
15192
|
if (data) chart.updateSeries(data);
|
|
14791
|
-
if (void 0 !== totalOccupancy) setValue(totalOccupancy);
|
|
15193
|
+
if (void 0 !== totalOccupancy && totalOccupancy !== value) setValue(totalOccupancy);
|
|
14792
15194
|
}
|
|
14793
15195
|
break;
|
|
14794
15196
|
case constants_PSType.Reset:
|
|
@@ -14808,10 +15210,10 @@ const Occupancy_Occupancy = (props)=>{
|
|
|
14808
15210
|
useZoomEvent(id, constants_ModuleType.Occupancy);
|
|
14809
15211
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(components_FlexBox, {
|
|
14810
15212
|
children: [
|
|
14811
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(
|
|
15213
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(occupancy, {
|
|
14812
15214
|
disabled: occupancyAxisYDisabled
|
|
14813
15215
|
}),
|
|
14814
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(
|
|
15216
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(PluginBox, {
|
|
14815
15217
|
children: [
|
|
14816
15218
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Occdahsed, {}),
|
|
14817
15219
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Chart, {}),
|
|
@@ -15184,7 +15586,7 @@ const Zoom_Zoom = ()=>{
|
|
|
15184
15586
|
return null;
|
|
15185
15587
|
};
|
|
15186
15588
|
const Zoom = Zoom_Zoom;
|
|
15187
|
-
const
|
|
15589
|
+
const useMarkerPublish = ({ globalID })=>{
|
|
15188
15590
|
const handleMarkerPublish = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((e)=>{
|
|
15189
15591
|
if (!globalID) return;
|
|
15190
15592
|
switch(e.pstype){
|
|
@@ -15206,91 +15608,7 @@ const useMarkerPublish_useMarkerPublish = ({ globalID })=>{
|
|
|
15206
15608
|
handleMarkerPublish
|
|
15207
15609
|
};
|
|
15208
15610
|
};
|
|
15209
|
-
const
|
|
15210
|
-
const SET_SERIES = (globalID, func)=>subscription_createSubscriptionManager(`SET_SERIES-${globalID}`, '0', func);
|
|
15211
|
-
const SERIES_DEFAULT_CONFIG = {
|
|
15212
|
-
label: '',
|
|
15213
|
-
color: '#11111150',
|
|
15214
|
-
thickness: 1,
|
|
15215
|
-
display: true,
|
|
15216
|
-
type: type_GraphicType.Line
|
|
15217
|
-
};
|
|
15218
|
-
function useSeries() {
|
|
15219
|
-
const { state: { globalID, series: seriesStore }, dispatch } = useStore_useStore();
|
|
15220
|
-
const seriesRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(new Map());
|
|
15221
|
-
const globalIDRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(globalID);
|
|
15222
|
-
const handleSeriesChange = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
15223
|
-
seriesRef.current.clear();
|
|
15224
|
-
globalIDRef.current = globalID;
|
|
15225
|
-
Object.values(SERIES).forEach((config)=>{
|
|
15226
|
-
const newConfig = {
|
|
15227
|
-
...SERIES_DEFAULT_CONFIG,
|
|
15228
|
-
...JSON.parse(JSON.stringify(config))
|
|
15229
|
-
};
|
|
15230
|
-
seriesRef.current.set(config.name, newConfig);
|
|
15231
|
-
seriesStore.data = seriesRef.current;
|
|
15232
|
-
dispatch({
|
|
15233
|
-
payload: {
|
|
15234
|
-
series: seriesStore
|
|
15235
|
-
}
|
|
15236
|
-
});
|
|
15237
|
-
tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15238
|
-
pstype: constants_PSType.Series,
|
|
15239
|
-
...newConfig
|
|
15240
|
-
});
|
|
15241
|
-
});
|
|
15242
|
-
}, [
|
|
15243
|
-
globalID,
|
|
15244
|
-
seriesStore
|
|
15245
|
-
]);
|
|
15246
|
-
const updateSeries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((config)=>{
|
|
15247
|
-
if (!config?.name) return;
|
|
15248
|
-
const { name, label, data } = config;
|
|
15249
|
-
const existingSeries = seriesRef.current.get(name);
|
|
15250
|
-
const newConfig = {
|
|
15251
|
-
...SERIES_DEFAULT_CONFIG,
|
|
15252
|
-
...existingSeries,
|
|
15253
|
-
...config,
|
|
15254
|
-
label: label || existingSeries?.label || name || existingSeries?.name,
|
|
15255
|
-
data: data || existingSeries?.data
|
|
15256
|
-
};
|
|
15257
|
-
if (!SERIES_NAMES.includes(name) && !seriesStore.data.has(name) && void 0 === config.display) newConfig.display = true;
|
|
15258
|
-
seriesRef.current.set(name, newConfig);
|
|
15259
|
-
seriesStore.data = seriesRef.current;
|
|
15260
|
-
dispatch({
|
|
15261
|
-
payload: {
|
|
15262
|
-
series: seriesStore
|
|
15263
|
-
}
|
|
15264
|
-
});
|
|
15265
|
-
tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15266
|
-
pstype: constants_PSType.Series,
|
|
15267
|
-
...newConfig
|
|
15268
|
-
});
|
|
15269
|
-
}, [
|
|
15270
|
-
seriesStore
|
|
15271
|
-
]);
|
|
15272
|
-
const resetSeries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
15273
|
-
handleSeriesChange();
|
|
15274
|
-
}, [
|
|
15275
|
-
handleSeriesChange
|
|
15276
|
-
]);
|
|
15277
|
-
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
15278
|
-
if (globalID) {
|
|
15279
|
-
handleSeriesChange();
|
|
15280
|
-
SET_SERIES(globalID, (config)=>{
|
|
15281
|
-
updateSeries(config);
|
|
15282
|
-
});
|
|
15283
|
-
}
|
|
15284
|
-
}, [
|
|
15285
|
-
globalID,
|
|
15286
|
-
updateSeries
|
|
15287
|
-
]);
|
|
15288
|
-
return {
|
|
15289
|
-
series: seriesRef.current,
|
|
15290
|
-
updateSeries,
|
|
15291
|
-
resetSeries
|
|
15292
|
-
};
|
|
15293
|
-
}
|
|
15611
|
+
const hooks_useMarkerPublish = useMarkerPublish;
|
|
15294
15612
|
function useTemplateComparison() {
|
|
15295
15613
|
const { state: { globalID, axisX: { frequencyFormat }, signal: { onChange } } } = useStore_useStore();
|
|
15296
15614
|
const frequencyFormatRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(frequencyFormat);
|
|
@@ -15342,71 +15660,7 @@ function useSpectrumAnalyzer(props) {
|
|
|
15342
15660
|
const analyzer = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
15343
15661
|
const globalIDRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(globalID);
|
|
15344
15662
|
const intervalRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(interval);
|
|
15345
|
-
const srcIndexCache = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(new Uint32Array());
|
|
15346
|
-
const extraOutputData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(new Map());
|
|
15347
|
-
const occupancyData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(new Float32Array());
|
|
15348
15663
|
const totalOccupancyData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(0);
|
|
15349
|
-
const { series, updateSeries, resetSeries } = useSeries();
|
|
15350
|
-
const getExtraData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((data)=>{
|
|
15351
|
-
const len = srcIndexCache.current?.length;
|
|
15352
|
-
if (len) {
|
|
15353
|
-
const outputData = new Float32Array(len);
|
|
15354
|
-
const start = Math.floor(intervalRef.current.start);
|
|
15355
|
-
const end = Math.ceil(intervalRef.current.end);
|
|
15356
|
-
const float32Data = new Float32Array(data);
|
|
15357
|
-
const dataSubarray = float32Data.subarray(start, end + 1);
|
|
15358
|
-
for(let i = 0; i < len; i++){
|
|
15359
|
-
const dataIndex = srcIndexCache.current[i];
|
|
15360
|
-
outputData[i] = dataSubarray[dataIndex];
|
|
15361
|
-
}
|
|
15362
|
-
return outputData;
|
|
15363
|
-
}
|
|
15364
|
-
return data;
|
|
15365
|
-
}, []);
|
|
15366
|
-
const updateExtraData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((extraData)=>{
|
|
15367
|
-
if (!extraData) return;
|
|
15368
|
-
Object.entries(extraData).forEach(([name, data])=>{
|
|
15369
|
-
if (!data) return;
|
|
15370
|
-
updateSeries({
|
|
15371
|
-
name,
|
|
15372
|
-
data
|
|
15373
|
-
});
|
|
15374
|
-
if (data && !SERIES_NAMES.includes(name) && globalIDRef.current) {
|
|
15375
|
-
extraOutputData.current.set(name, {
|
|
15376
|
-
outputData: getExtraData(data),
|
|
15377
|
-
originalData: data
|
|
15378
|
-
});
|
|
15379
|
-
tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15380
|
-
pstype: constants_PSType.Render,
|
|
15381
|
-
extraData: extraOutputData.current
|
|
15382
|
-
});
|
|
15383
|
-
const db = withDatabase(globalIDRef.current);
|
|
15384
|
-
db.spectrumExtra = extraOutputData.current;
|
|
15385
|
-
}
|
|
15386
|
-
});
|
|
15387
|
-
}, [
|
|
15388
|
-
updateSeries,
|
|
15389
|
-
getExtraData
|
|
15390
|
-
]);
|
|
15391
|
-
const updateOccupancyData = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(({ totalOccupancy, data })=>{
|
|
15392
|
-
if (!data) return;
|
|
15393
|
-
if (globalIDRef.current) {
|
|
15394
|
-
occupancyData.current = new Float32Array(data);
|
|
15395
|
-
totalOccupancyData.current = totalOccupancy;
|
|
15396
|
-
tools(globalIDRef.current, constants_ModuleType.Occupancy)({
|
|
15397
|
-
pstype: constants_PSType.Render,
|
|
15398
|
-
data: getExtraData(occupancyData.current),
|
|
15399
|
-
totalOccupancy
|
|
15400
|
-
});
|
|
15401
|
-
const db = withDatabase(globalIDRef.current);
|
|
15402
|
-
db.occupancy = {
|
|
15403
|
-
data: occupancyData.current,
|
|
15404
|
-
totalOccupancy
|
|
15405
|
-
};
|
|
15406
|
-
}
|
|
15407
|
-
}, [
|
|
15408
|
-
getExtraData
|
|
15409
|
-
]);
|
|
15410
15664
|
const updateStationInfo = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((data)=>{
|
|
15411
15665
|
if (!data) return;
|
|
15412
15666
|
if (globalIDRef.current) dispatch({
|
|
@@ -15429,12 +15683,9 @@ function useSpectrumAnalyzer(props) {
|
|
|
15429
15683
|
const updateSpectrum = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((renderData)=>{
|
|
15430
15684
|
tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15431
15685
|
pstype: constants_PSType.Render,
|
|
15432
|
-
data: renderData
|
|
15433
|
-
extraData: extraOutputData.current
|
|
15686
|
+
data: renderData
|
|
15434
15687
|
});
|
|
15435
|
-
}, [
|
|
15436
|
-
srcIndexCache
|
|
15437
|
-
]);
|
|
15688
|
+
}, []);
|
|
15438
15689
|
const updateWaterfall = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((waterfallData)=>{
|
|
15439
15690
|
tools(globalIDRef.current, constants_ModuleType.Heatmap)({
|
|
15440
15691
|
pstype: constants_PSType.Render,
|
|
@@ -15464,6 +15715,15 @@ function useSpectrumAnalyzer(props) {
|
|
|
15464
15715
|
fluorescenceMaxCount: data.fluorescenceMaxCount
|
|
15465
15716
|
}
|
|
15466
15717
|
});
|
|
15718
|
+
if (data.occupancyData) tools(globalIDRef.current, constants_ModuleType.Occupancy)({
|
|
15719
|
+
pstype: constants_PSType.Render,
|
|
15720
|
+
data: data.occupancyData,
|
|
15721
|
+
totalOccupancy: totalOccupancyData.current
|
|
15722
|
+
});
|
|
15723
|
+
if (data.extraData) tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15724
|
+
pstype: constants_PSType.Render,
|
|
15725
|
+
extraData: data.extraData
|
|
15726
|
+
});
|
|
15467
15727
|
}, [
|
|
15468
15728
|
updateSpectrum,
|
|
15469
15729
|
updateWaterfall,
|
|
@@ -15500,25 +15760,10 @@ function useSpectrumAnalyzer(props) {
|
|
|
15500
15760
|
const oldEnd = Math.ceil(intervalRef.current.end);
|
|
15501
15761
|
if ((newStart !== oldStart || newEnd !== oldEnd) && analyzer.current) {
|
|
15502
15762
|
intervalRef.current = interval;
|
|
15503
|
-
|
|
15504
|
-
for (const [name, item] of series)if (!SERIES_NAMES.includes(name) && item.data) extraOutputData.current?.set(name, {
|
|
15505
|
-
outputData: getExtraData(item.data),
|
|
15506
|
-
originalData: item.data
|
|
15507
|
-
});
|
|
15508
|
-
if (extraOutputData.current.size > 0) tools(globalIDRef.current, constants_ModuleType.Spectrum)({
|
|
15509
|
-
pstype: constants_PSType.Render,
|
|
15510
|
-
extraData: extraOutputData.current
|
|
15511
|
-
});
|
|
15512
|
-
if (occupancyData.current) tools(globalIDRef.current, constants_ModuleType.Occupancy)({
|
|
15513
|
-
pstype: constants_PSType.Render,
|
|
15514
|
-
data: getExtraData(occupancyData.current),
|
|
15515
|
-
totalOccupancy: totalOccupancyData.current
|
|
15516
|
-
});
|
|
15763
|
+
analyzer.current.updateSamplingRange(newStart, newEnd + 1);
|
|
15517
15764
|
}
|
|
15518
15765
|
}, [
|
|
15519
|
-
interval
|
|
15520
|
-
series,
|
|
15521
|
-
getExtraData
|
|
15766
|
+
interval
|
|
15522
15767
|
]);
|
|
15523
15768
|
const resetAll = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(async (haveSeries = false)=>{
|
|
15524
15769
|
setTimeout(()=>{
|
|
@@ -15531,15 +15776,9 @@ function useSpectrumAnalyzer(props) {
|
|
|
15531
15776
|
tools(globalIDRef.current, constants_ModuleType.Occupancy)({
|
|
15532
15777
|
pstype: constants_PSType.Reset
|
|
15533
15778
|
});
|
|
15534
|
-
|
|
15535
|
-
db.spectrumExtra = getDefaultData().spectrumExtra;
|
|
15536
|
-
if (haveSeries) resetSeries();
|
|
15537
|
-
extraOutputData.current.clear();
|
|
15779
|
+
if (haveSeries) resetSeries(globalIDRef.current);
|
|
15538
15780
|
}, 1);
|
|
15539
|
-
}, [
|
|
15540
|
-
series,
|
|
15541
|
-
resetSeries
|
|
15542
|
-
]);
|
|
15781
|
+
}, []);
|
|
15543
15782
|
const handlePublish = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(async (e)=>{
|
|
15544
15783
|
if (!analyzer.current) return;
|
|
15545
15784
|
switch(e.pstype){
|
|
@@ -15556,7 +15795,7 @@ function useSpectrumAnalyzer(props) {
|
|
|
15556
15795
|
if (e.avgData) analyzer.current.setAvgData(e.avgData);
|
|
15557
15796
|
if (e.templateData) analyzer.current.setTemplateData(e.templateData);
|
|
15558
15797
|
if (e.backgroundNoiseData) analyzer.current.setBackgroundNoiseData(e.backgroundNoiseData);
|
|
15559
|
-
if (e.extraData)
|
|
15798
|
+
if (e.extraData) analyzer.current?.setExtraData(e.extraData);
|
|
15560
15799
|
break;
|
|
15561
15800
|
case constants_PSType.Heatmap:
|
|
15562
15801
|
if (e.data) {
|
|
@@ -15566,7 +15805,8 @@ function useSpectrumAnalyzer(props) {
|
|
|
15566
15805
|
}
|
|
15567
15806
|
break;
|
|
15568
15807
|
case constants_PSType.Occupancy:
|
|
15569
|
-
|
|
15808
|
+
analyzer.current?.setOccupancyData(e.data);
|
|
15809
|
+
totalOccupancyData.current = e.totalOccupancy;
|
|
15570
15810
|
break;
|
|
15571
15811
|
case constants_PSType.Segments:
|
|
15572
15812
|
analyzer.current.initializeSegments(e.data);
|
|
@@ -15577,7 +15817,7 @@ function useSpectrumAnalyzer(props) {
|
|
|
15577
15817
|
analyzer.current.reset();
|
|
15578
15818
|
break;
|
|
15579
15819
|
case constants_PSType.Series:
|
|
15580
|
-
updateSeries(e);
|
|
15820
|
+
updateSeries(globalIDRef.current, e);
|
|
15581
15821
|
break;
|
|
15582
15822
|
case constants_PSType.Reset:
|
|
15583
15823
|
analyzer.current.reset();
|
|
@@ -15594,8 +15834,6 @@ function useSpectrumAnalyzer(props) {
|
|
|
15594
15834
|
}
|
|
15595
15835
|
}, [
|
|
15596
15836
|
updateStationInfo,
|
|
15597
|
-
updateExtraData,
|
|
15598
|
-
updateOccupancyData,
|
|
15599
15837
|
updateSeries,
|
|
15600
15838
|
resetAll
|
|
15601
15839
|
]);
|
|
@@ -15610,20 +15848,15 @@ function useSpectrumAnalyzer(props) {
|
|
|
15610
15848
|
function useSpectrumChartType({ type, heatmapElementID }) {
|
|
15611
15849
|
const { state: { axisY, limit, signal, marker, cursor, frequencyAllocation, zoom, toolsBar, globalID }, dispatch } = useStore_useStore();
|
|
15612
15850
|
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
15613
|
-
if (
|
|
15614
|
-
|
|
15615
|
-
|
|
15616
|
-
|
|
15617
|
-
|
|
15618
|
-
}, 100);
|
|
15619
|
-
if (type === constants_ChartType.ScanDF360 && globalID) setTimeout(()=>{
|
|
15620
|
-
SET_SERIES(globalID)({
|
|
15621
|
-
name: REAL_DATA_NAME,
|
|
15622
|
-
type: type_GraphicType.Rect
|
|
15623
|
-
});
|
|
15851
|
+
if (!globalID) return;
|
|
15852
|
+
clearChartTypeSeriesOverrides(globalID);
|
|
15853
|
+
if (type === constants_ChartType.MScan) setChartTypeSeriesOverride(globalID, REAL_DATA_NAME, type_GraphicType.Bar);
|
|
15854
|
+
if (type === constants_ChartType.ScanDF360) {
|
|
15855
|
+
setChartTypeSeriesOverride(globalID, REAL_DATA_NAME, type_GraphicType.Rect);
|
|
15624
15856
|
setScanDF360Prob(globalID)(true);
|
|
15625
|
-
}
|
|
15857
|
+
}
|
|
15626
15858
|
}, [
|
|
15859
|
+
type,
|
|
15627
15860
|
globalID
|
|
15628
15861
|
]);
|
|
15629
15862
|
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
@@ -15645,7 +15878,7 @@ function useSpectrumChartType({ type, heatmapElementID }) {
|
|
|
15645
15878
|
0,
|
|
15646
15879
|
1
|
|
15647
15880
|
];
|
|
15648
|
-
axisY.unitDisabled =
|
|
15881
|
+
axisY.unitDisabled = false;
|
|
15649
15882
|
}
|
|
15650
15883
|
if (type === constants_ChartType.MScan) {
|
|
15651
15884
|
limit.show = false;
|
|
@@ -15897,7 +16130,7 @@ const Spectrum_Chart_Chart = (props)=>{
|
|
|
15897
16130
|
}
|
|
15898
16131
|
});
|
|
15899
16132
|
const handleSpectrumRule = useSpectrumRule();
|
|
15900
|
-
const { handleMarkerPublish } =
|
|
16133
|
+
const { handleMarkerPublish } = hooks_useMarkerPublish({
|
|
15901
16134
|
globalID
|
|
15902
16135
|
});
|
|
15903
16136
|
hooks_usePublish({
|
|
@@ -15929,7 +16162,7 @@ const Spectrum_Chart_Chart = (props)=>{
|
|
|
15929
16162
|
type: type,
|
|
15930
16163
|
occupancyElementID: occupancyElementID
|
|
15931
16164
|
}),
|
|
15932
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(
|
|
16165
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(PluginBox, {
|
|
15933
16166
|
children: [
|
|
15934
16167
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Zoom, {}),
|
|
15935
16168
|
type === constants_ChartType.Scan && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
|