@363045841yyt/klinechart-core 0.7.5-alpha.2 → 0.7.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"subPaneManager.js","sourceRoot":"","sources":["../../src/engine/subPaneManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subPaneManager.js","sourceRoot":"","sources":["../../src/engine/subPaneManager.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.5-alpha.0";
1
+ export declare const VERSION = "0.7.5";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA"}
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.7.5-alpha.0";
1
+ export const VERSION = "0.7.5";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@363045841yyt/klinechart-core",
3
- "version": "0.7.5-alpha.2",
3
+ "version": "0.7.5",
4
4
  "description": "Headless K-line chart engine + reactive controllers. Zero framework dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -17,3 +17,4 @@ export type {
17
17
  } from './types'
18
18
 
19
19
  export { createChartController } from './createChartController'
20
+ export { createIndicatorSelectorController } from './createIndicatorSelectorController'
@@ -1,6 +1,6 @@
1
1
  import type { KLineData } from '../types/price'
2
2
  import type { ChartSettings } from '../config/chartSettings'
3
- import { createSignal, type Signal } from '../reactivity/signal'
3
+ import { createSignal, computed, type Signal, type Computed } from '../reactivity/signal'
4
4
  import { getVisibleRange } from './viewport/viewport'
5
5
  import { Pane, type VisibleRange, UpdateLevel } from './layout/pane'
6
6
  import { InteractionController, type InteractionSnapshot } from './controller/interaction'
@@ -165,6 +165,11 @@ type FrameData = {
165
165
  useCachedFrame: boolean
166
166
  }
167
167
 
168
+ /** 主图指标条目,存在 = 激活 */
169
+ interface MainIndicatorEntry {
170
+ params: Record<string, number | boolean | string>
171
+ }
172
+
168
173
  export class Chart {
169
174
  private dom: ChartDom
170
175
  private opt: ResolvedChartOptions
@@ -249,13 +254,13 @@ export class Chart {
249
254
  } | null = null
250
255
 
251
256
  /** 副图管理器 */
252
- private subPaneManager: SubPaneManager
257
+ private subPaneManager = new SubPaneManager()
253
258
 
254
- /** 当前激活的主图指标列表(如 ['boll', 'ma']) */
255
- private activeMainIndicators: Set<string> = new Set()
259
+ /** 主图指标激活状态与参数(存在即激活,默认参数在 enable 时初始化) */
260
+ private _mainIndicatorsSignal: Signal<Map<string, MainIndicatorEntry>> = createSignal<Map<string, MainIndicatorEntry>>(new Map())
256
261
 
257
- /** 主图指标参数配置 */
258
- private mainIndicatorParams: Record<string, Record<string, number | boolean | string>> = {
262
+ /** 主图指标默认参数 */
263
+ private static DEFAULT_MAIN_PARAMS: Record<string, Record<string, number | boolean | string>> = {
259
264
  MA: { ma5: true, ma10: true, ma20: true, ma30: true, ma60: true },
260
265
  BOLL: { period: 20, multiplier: 2, showUpper: true, showMiddle: true, showLower: true, showBand: true },
261
266
  EXPMA: { fastPeriod: 12, slowPeriod: 50 },
@@ -289,22 +294,26 @@ export class Chart {
289
294
  return false
290
295
  }
291
296
 
292
- if (this.activeMainIndicators.has(id)) {
297
+ const map = this._mainIndicatorsSignal.peek()
298
+ const existing = map.get(id)
299
+
300
+ if (existing) {
293
301
  // 已启用,更新参数
294
302
  if (params) {
295
- this.mainIndicatorParams[id] = { ...this.mainIndicatorParams[id], ...params }
303
+ const next = new Map(map)
304
+ next.set(id, { params: { ...existing.params, ...params } })
305
+ this._mainIndicatorsSignal.set(next)
296
306
  this.updateIndicatorSchedulerConfig(id)
297
- this.syncIndicatorsSignal()
298
307
  }
299
308
  return true
300
309
  }
301
310
 
302
- this.activeMainIndicators.add(id)
303
-
304
311
  // 合并默认参数和传入参数
305
- if (params) {
306
- this.mainIndicatorParams[id] = { ...this.mainIndicatorParams[id], ...params }
307
- }
312
+ const defaults = Chart.DEFAULT_MAIN_PARAMS[id] ?? {}
313
+ const merged = params ? { ...defaults, ...params } : defaults
314
+ const next = new Map(map)
315
+ next.set(id, { params: merged })
316
+ this._mainIndicatorsSignal.set(next)
308
317
 
309
318
  // 启用对应的渲染器
310
319
  this.enableMainIndicatorRenderer(id)
@@ -313,7 +322,6 @@ export class Chart {
313
322
  this.updateIndicatorSchedulerConfig(id)
314
323
 
315
324
  this.scheduleDraw()
316
- this.syncIndicatorsSignal()
317
325
  return true
318
326
  }
319
327
 
@@ -324,9 +332,12 @@ export class Chart {
324
332
  */
325
333
  disableMainIndicator(indicatorId: string): boolean {
326
334
  const id = indicatorId.toUpperCase()
327
- if (!this.activeMainIndicators.has(id)) return false
335
+ const map = this._mainIndicatorsSignal.peek()
336
+ if (!map.has(id)) return false
328
337
 
329
- this.activeMainIndicators.delete(id)
338
+ const next = new Map(map)
339
+ next.delete(id)
340
+ this._mainIndicatorsSignal.set(next)
330
341
 
331
342
  // 禁用对应的渲染器
332
343
  this.disableMainIndicatorRenderer(id)
@@ -335,7 +346,6 @@ export class Chart {
335
346
  this.updateIndicatorSchedulerConfig(id)
336
347
 
337
348
  this.scheduleDraw()
338
- this.syncIndicatorsSignal()
339
349
  return true
340
350
  }
341
351
 
@@ -357,7 +367,7 @@ export class Chart {
357
367
  * @returns 激活的指标ID数组
358
368
  */
359
369
  getActiveMainIndicators(): string[] {
360
- return Array.from(this.activeMainIndicators)
370
+ return [...this._mainIndicatorsSignal.peek().keys()]
361
371
  }
362
372
 
363
373
  /**
@@ -365,7 +375,7 @@ export class Chart {
365
375
  * @param indicatorId 指标ID
366
376
  */
367
377
  isMainIndicatorActive(indicatorId: string): boolean {
368
- return this.activeMainIndicators.has(indicatorId.toUpperCase())
378
+ return this._mainIndicatorsSignal.peek().has(indicatorId.toUpperCase())
369
379
  }
370
380
 
371
381
  /**
@@ -375,22 +385,25 @@ export class Chart {
375
385
  */
376
386
  updateMainIndicatorParams(indicatorId: string, params: Record<string, number | boolean | string>): void {
377
387
  const id = indicatorId.toUpperCase()
378
- if (!this.mainIndicatorParams[id]) {
379
- this.mainIndicatorParams[id] = {}
380
- }
381
- this.mainIndicatorParams[id] = { ...this.mainIndicatorParams[id], ...params }
388
+ const map = this._mainIndicatorsSignal.peek()
389
+ const entry = map.get(id)
390
+ if (!entry) return
391
+
392
+ const merged = { ...entry.params, ...params }
393
+ const next = new Map(map)
394
+ next.set(id, { params: merged })
395
+ this._mainIndicatorsSignal.set(next)
382
396
 
383
397
  // 同步更新渲染器配置
384
398
  const rendererName = id.toLowerCase()
385
399
  const renderer = this.getRenderer(rendererName)
386
400
  if (renderer && renderer.setConfig) {
387
- renderer.setConfig(this.mainIndicatorParams[id])
401
+ renderer.setConfig(merged)
388
402
  }
389
403
 
390
404
  // 更新调度器
391
405
  this.updateIndicatorSchedulerConfig(id)
392
406
  this.scheduleDraw()
393
- this.syncIndicatorsSignal()
394
407
  }
395
408
 
396
409
  /**
@@ -398,19 +411,19 @@ export class Chart {
398
411
  * @param indicatorId 指标ID
399
412
  */
400
413
  getMainIndicatorParams(indicatorId: string): Record<string, number | boolean | string> | null {
401
- return this.mainIndicatorParams[indicatorId.toUpperCase()] ?? null
414
+ return this._mainIndicatorsSignal.peek().get(indicatorId.toUpperCase())?.params ?? null
402
415
  }
403
416
 
404
417
  /**
405
418
  * 清除所有主图指标
406
419
  */
407
420
  clearMainIndicators(): void {
408
- for (const id of this.activeMainIndicators) {
421
+ const map = this._mainIndicatorsSignal.peek()
422
+ for (const id of map.keys()) {
409
423
  this.disableMainIndicatorRenderer(id)
410
424
  }
411
- this.activeMainIndicators.clear()
425
+ this._mainIndicatorsSignal.set(new Map())
412
426
  this.scheduleDraw()
413
- this.syncIndicatorsSignal()
414
427
  }
415
428
 
416
429
  /**
@@ -572,8 +585,9 @@ export class Chart {
572
585
  * 更新调度器配置(内部方法)
573
586
  */
574
587
  private updateIndicatorSchedulerConfig(indicatorId: string): void {
575
- const isActive = this.activeMainIndicators.has(indicatorId)
576
- const params = this.mainIndicatorParams[indicatorId] || {}
588
+ const entry = this._mainIndicatorsSignal.peek().get(indicatorId)
589
+ const isActive = entry !== undefined
590
+ const params = entry?.params ?? {}
577
591
 
578
592
  switch (indicatorId) {
579
593
  case 'MA':
@@ -653,7 +667,7 @@ export class Chart {
653
667
  setActiveMainIndicators(indicators: string[]): void {
654
668
  // 计算需要启用和禁用的指标
655
669
  const newSet = new Set(indicators.map(i => i.toUpperCase()))
656
- const currentSet = new Set(this.activeMainIndicators)
670
+ const currentSet = new Set(this._mainIndicatorsSignal.peek().keys())
657
671
 
658
672
  // 禁用不再激活的
659
673
  for (const id of currentSet) {
@@ -709,14 +723,25 @@ export class Chart {
709
723
  }
710
724
  this.indicatorScheduler.setInvalidateCallback(() => this.scheduleDraw())
711
725
 
712
- // 初始化副图管理器
713
- this.subPaneManager = new SubPaneManager()
714
726
  // 注册副图活跃列表提供者,调度器据此只计算启用的副图
715
727
  this.indicatorScheduler.setActiveSubPaneProvider(
716
728
  () => this.subPaneManager.getPaneIds(),
717
729
  )
718
730
 
719
731
  this.initPanes()
732
+
733
+ // dev: 主副图状态变更日志
734
+ if ((import.meta as any).env?.MODE !== 'production') {
735
+ this._indicatorsComputed.subscribe(() => {
736
+ const instances = this._indicatorsComputed.peek()
737
+ console.log('[Chart] indicators signal changed:', instances)
738
+ })
739
+ this._subPanesComputed.subscribe(() => {
740
+ const subPanes = this._subPanesComputed.peek()
741
+ console.log('[Chart] subPanes signal changed:', subPanes)
742
+ })
743
+ }
744
+
720
745
  // 注册绘图主插件(负责绘制 shape,layer: 'main')
721
746
  this.useRenderer(createDrawingRendererPlugin({ store: this.drawingStore }))
722
747
  // 注册绘图标签插件(负责推送选中绘图的轴标签,layer: 'overlay')
@@ -929,7 +954,7 @@ export class Chart {
929
954
  this.interaction.setKLinePositions(kLinePositions, range, kWidthPx)
930
955
 
931
956
  // 4. 通知调度器当前活跃主图指标 + 获取价格范围
932
- this.indicatorScheduler.setActiveMainIndicators(Array.from(this.activeMainIndicators))
957
+ this.indicatorScheduler.setActiveMainIndicators([...this._mainIndicatorsSignal.peek().keys()])
933
958
  const mainIndicatorRange = useCachedFrame ? null : this.indicatorScheduler.getMainIndicatorPriceRange()
934
959
  const hasCrosshair = this.interaction.getCrosshairIndex() !== null
935
960
 
@@ -1410,7 +1435,6 @@ export class Chart {
1410
1435
  ratios[id] = ratio
1411
1436
  })
1412
1437
  this._paneRatiosSignal.set(ratios)
1413
- this.syncSubPanesSignal()
1414
1438
 
1415
1439
  this.onPaneLayoutChange?.(this.getPaneLayoutSpecs())
1416
1440
  }
@@ -1586,8 +1610,6 @@ export class Chart {
1586
1610
  this.upsertPane({ id: paneId, ratio: this._internalPaneRatios.get(paneId) ?? 1, visible: true, role: 'indicator' })
1587
1611
 
1588
1612
  const success = this.subPaneManager.create(this, paneId, indicatorId, params ?? this.getDefaultSubPaneParams(indicatorId))
1589
- this.syncIndicatorsSignal()
1590
- this.syncSubPanesSignal()
1591
1613
  return success
1592
1614
  }
1593
1615
 
@@ -1597,9 +1619,6 @@ export class Chart {
1597
1619
  */
1598
1620
  removeSubPane(paneId: string): void {
1599
1621
  this.subPaneManager.remove(this, paneId)
1600
- this._internalPaneRatios.delete(paneId)
1601
- this.syncIndicatorsSignal()
1602
- this.syncSubPanesSignal()
1603
1622
  }
1604
1623
 
1605
1624
  /**
@@ -1610,8 +1629,6 @@ export class Chart {
1610
1629
  */
1611
1630
  replaceSubPaneIndicator(paneId: string, newIndicatorId: SubIndicatorType, params?: Record<string, number | boolean | string>): void {
1612
1631
  this.subPaneManager.replaceIndicator(this, paneId, newIndicatorId, params ?? this.getDefaultSubPaneParams(newIndicatorId))
1613
- this.syncIndicatorsSignal()
1614
- this.syncSubPanesSignal()
1615
1632
  }
1616
1633
 
1617
1634
  /**
@@ -1621,7 +1638,6 @@ export class Chart {
1621
1638
  */
1622
1639
  updateSubPaneParams(paneId: string, params: Record<string, unknown>): void {
1623
1640
  this.subPaneManager.updateParams(this, paneId, params)
1624
- this.syncIndicatorsSignal()
1625
1641
  }
1626
1642
 
1627
1643
  /**
@@ -1643,8 +1659,6 @@ export class Chart {
1643
1659
 
1644
1660
  // 更新布局,移除所有副图 pane
1645
1661
  this.applyPaneLayoutSpecs(this.opt.panes.filter((spec) => !subPaneIds.includes(spec.id)))
1646
- this.syncIndicatorsSignal()
1647
- this.syncSubPanesSignal()
1648
1662
  }
1649
1663
 
1650
1664
  /**
@@ -2263,8 +2277,6 @@ export class Chart {
2263
2277
 
2264
2278
  private _dataSignal = createSignal<ReadonlyArray<KLineData>>([])
2265
2279
  private _themeSignal = createSignal<'light' | 'dark'>('light')
2266
- private _indicatorsSignal = createSignal<ReadonlyArray<IndicatorInstance>>([])
2267
- private _subPanesSignal = createSignal<ReadonlyArray<SubPaneInfo>>([])
2268
2280
  private _drawingToolSignal = createSignal<DrawingToolType | null>(null)
2269
2281
  private _drawingsSignal = createSignal<ReadonlyArray<import('../plugin').DrawingObject>>([])
2270
2282
  private _paneRatiosSignal = createSignal<Readonly<Record<string, number>>>({})
@@ -2285,6 +2297,38 @@ export class Chart {
2285
2297
  isHoveringRightAxis: false,
2286
2298
  })
2287
2299
 
2300
+ private _indicatorsComputed = computed<ReadonlyArray<IndicatorInstance>>(() => {
2301
+ const mainIndicators: IndicatorInstance[] = [...this._mainIndicatorsSignal().entries()].map(([id, entry]) => ({
2302
+ id,
2303
+ definitionId: id,
2304
+ label: id,
2305
+ name: id,
2306
+ role: 'main' as const,
2307
+ params: { ...entry.params },
2308
+ }))
2309
+
2310
+ const subIndicators: IndicatorInstance[] = this.subPaneManager.entriesSignal().map(entry => ({
2311
+ id: entry.paneId,
2312
+ definitionId: entry.indicatorId,
2313
+ label: entry.indicatorId,
2314
+ name: entry.indicatorId,
2315
+ role: 'sub' as const,
2316
+ paneId: entry.paneId,
2317
+ params: { ...entry.params },
2318
+ }))
2319
+
2320
+ return [...mainIndicators, ...subIndicators]
2321
+ })
2322
+ private _subPanesComputed = computed<ReadonlyArray<SubPaneInfo>>(() => {
2323
+ const ratios = this._paneRatiosSignal()
2324
+ return this.subPaneManager.entriesSignal().map(entry => ({
2325
+ paneId: entry.paneId,
2326
+ indicatorId: entry.indicatorId,
2327
+ params: { ...entry.params },
2328
+ ratio: ratios[entry.paneId] ?? 1,
2329
+ }))
2330
+ })
2331
+
2288
2332
  /** 视口状态信号 */
2289
2333
  get viewport(): Signal<ViewportState> {
2290
2334
  return this._viewportSignal
@@ -2300,14 +2344,14 @@ export class Chart {
2300
2344
  return this._themeSignal
2301
2345
  }
2302
2346
 
2303
- /** 指标实例列表信号 */
2304
- get indicators(): Signal<ReadonlyArray<IndicatorInstance>> {
2305
- return this._indicatorsSignal
2347
+ /** 指标实例列表信号(派生信号,自动随主/副图状态更新) */
2348
+ get indicators(): Computed<ReadonlyArray<IndicatorInstance>> {
2349
+ return this._indicatorsComputed
2306
2350
  }
2307
2351
 
2308
- /** 子图信息信号 */
2309
- get subPanes(): Signal<ReadonlyArray<SubPaneInfo>> {
2310
- return this._subPanesSignal
2352
+ /** 子图信息信号(派生信号,自动随副图条目/比例更新) */
2353
+ get subPanes(): Computed<ReadonlyArray<SubPaneInfo>> {
2354
+ return this._subPanesComputed
2311
2355
  }
2312
2356
 
2313
2357
  /** 当前绘图工具信号 */
@@ -2576,9 +2620,6 @@ export class Chart {
2576
2620
  if (role === 'main') {
2577
2621
  const success = this.enableMainIndicator(definitionId, params as Record<string, number | boolean | string>)
2578
2622
  if (!success) return null
2579
-
2580
- // 更新 indicators signal
2581
- this.syncIndicatorsSignal()
2582
2623
  return definitionId.toUpperCase()
2583
2624
  } else {
2584
2625
  // 副图指标
@@ -2589,10 +2630,6 @@ export class Chart {
2589
2630
  params as Record<string, number | boolean | string>,
2590
2631
  )
2591
2632
  if (!success) return null
2592
-
2593
- // 更新 signals
2594
- this.syncIndicatorsSignal()
2595
- this.syncSubPanesSignal()
2596
2633
  return paneId
2597
2634
  }
2598
2635
  }
@@ -2605,25 +2642,18 @@ export class Chart {
2605
2642
  removeIndicator(instanceId: string): boolean {
2606
2643
  const id = instanceId.toUpperCase()
2607
2644
 
2608
- // 先尝试作为主图指标移除(直接检查内部状态,不依赖 signal)
2609
- if (this.activeMainIndicators.has(id)) {
2610
- const success = this.disableMainIndicator(instanceId)
2611
- if (success) {
2612
- this.syncIndicatorsSignal()
2613
- }
2614
- return success
2645
+ // 先尝试作为主图指标移除
2646
+ if (this._mainIndicatorsSignal.peek().has(id)) {
2647
+ return this.disableMainIndicator(instanceId)
2615
2648
  }
2616
2649
 
2617
- // 再尝试作为副图指标移除(检查 sub pane 是否存在)
2650
+ // 再尝试作为副图指标移除
2618
2651
  const subPaneEntry = this.getSubPaneEntry(instanceId)
2619
2652
  if (subPaneEntry) {
2620
2653
  this.removeSubPane(instanceId)
2621
- this.syncIndicatorsSignal()
2622
- this.syncSubPanesSignal()
2623
2654
  return true
2624
2655
  }
2625
2656
 
2626
- // 都没找到,返回 false
2627
2657
  return false
2628
2658
  }
2629
2659
 
@@ -2636,10 +2666,9 @@ export class Chart {
2636
2666
  updateIndicatorParams(instanceId: string, params: Record<string, unknown>): boolean {
2637
2667
  const id = instanceId.toUpperCase()
2638
2668
 
2639
- // 先尝试作为主图指标更新(直接检查内部状态)
2640
- if (this.activeMainIndicators.has(id)) {
2669
+ // 先尝试作为主图指标更新
2670
+ if (this._mainIndicatorsSignal.peek().has(id)) {
2641
2671
  this.updateMainIndicatorParams(instanceId, params as Record<string, number | boolean | string>)
2642
- this.syncIndicatorsSignal()
2643
2672
  return true
2644
2673
  }
2645
2674
 
@@ -2647,11 +2676,9 @@ export class Chart {
2647
2676
  const subPaneEntry = this.getSubPaneEntry(instanceId)
2648
2677
  if (subPaneEntry) {
2649
2678
  this.updateSubPaneParams(instanceId, params)
2650
- this.syncIndicatorsSignal()
2651
2679
  return true
2652
2680
  }
2653
2681
 
2654
- // 都没找到
2655
2682
  return false
2656
2683
  }
2657
2684
 
@@ -2667,46 +2694,7 @@ export class Chart {
2667
2694
  return false
2668
2695
  }
2669
2696
 
2670
- /**
2671
- * 同步 indicators signal
2672
- */
2673
- private syncIndicatorsSignal(): void {
2674
- const mainIndicators: IndicatorInstance[] = this.getActiveMainIndicators().map(id => ({
2675
- id,
2676
- definitionId: id,
2677
- label: id,
2678
- name: id,
2679
- role: 'main',
2680
- params: this.getMainIndicatorParams(id) ?? {},
2681
- }))
2682
2697
 
2683
- const subIndicators: IndicatorInstance[] = this.getSubPaneEntries().map(entry => ({
2684
- id: entry.paneId,
2685
- definitionId: entry.indicatorId,
2686
- label: entry.indicatorId,
2687
- name: entry.indicatorId,
2688
- role: 'sub',
2689
- paneId: entry.paneId,
2690
- params: entry.params,
2691
- }))
2692
-
2693
- this._indicatorsSignal.set([...mainIndicators, ...subIndicators])
2694
- }
2695
-
2696
- /**
2697
- * 同步 sub panes signal
2698
- */
2699
- private syncSubPanesSignal(): void {
2700
- const entries = this.getSubPaneEntries()
2701
- const subPanes: SubPaneInfo[] = entries.map(entry => ({
2702
- paneId: entry.paneId,
2703
- indicatorId: entry.indicatorId,
2704
- params: entry.params,
2705
- ratio: this._internalPaneRatios.get(entry.paneId) ?? 1,
2706
- }))
2707
-
2708
- this._subPanesSignal.set(subPanes)
2709
- }
2710
2698
 
2711
2699
  // ---------- Sub Panes ----------
2712
2700
 
@@ -18,7 +18,7 @@ export interface Indicator {
18
18
  params?: ParamConfig[]
19
19
  }
20
20
 
21
- const allIndicators: Indicator[] = [
21
+ export const allIndicators: Indicator[] = [
22
22
  { id: 'MA', label: 'MA', name: '均线', pane: 'main' },
23
23
  {
24
24
  id: 'VOLUME',
@@ -1,5 +1,6 @@
1
1
  import type { Chart } from './chart'
2
2
  import type { SubIndicatorType } from './renderers/Indicator'
3
+ import { createSignal, type Signal } from '../reactivity/signal'
3
4
  import { createSubIndicatorRenderer } from './renderers/Indicator'
4
5
  import { createVolumeScaleRendererPlugin } from './renderers/Indicator/scale/volume_scale'
5
6
  import { createMacdScaleRendererPlugin } from './renderers/Indicator/scale/macd_scale'
@@ -60,6 +61,15 @@ export interface SubPaneEntry {
60
61
 
61
62
  export class SubPaneManager {
62
63
  private entries = new Map<string, SubPaneEntry>()
64
+ private _entriesSignal = createSignal<ReadonlyArray<SubPaneEntry>>([])
65
+
66
+ get entriesSignal(): Signal<ReadonlyArray<SubPaneEntry>> {
67
+ return this._entriesSignal
68
+ }
69
+
70
+ private syncEntriesSignal(): void {
71
+ this._entriesSignal.set(this.getAll())
72
+ }
63
73
 
64
74
  create(chart: Chart, paneId: string, indicatorId: SubIndicatorType, params: Record<string, unknown>): boolean {
65
75
  if (this.entries.has(paneId)) {
@@ -90,6 +100,7 @@ export class SubPaneManager {
90
100
 
91
101
  chart.getIndicatorScheduler().onSubPaneChanged()
92
102
 
103
+ this.syncEntriesSignal()
93
104
  return true
94
105
  }
95
106
 
@@ -107,6 +118,7 @@ export class SubPaneManager {
107
118
  }
108
119
 
109
120
  chart.getIndicatorScheduler().onSubPaneChanged()
121
+ this.syncEntriesSignal()
110
122
  }
111
123
 
112
124
  replaceIndicator(chart: Chart, paneId: string, newIndicatorId: SubIndicatorType, newParams: Record<string, unknown>): void {
@@ -137,6 +149,7 @@ export class SubPaneManager {
137
149
  })
138
150
 
139
151
  chart.getIndicatorScheduler().onSubPaneChanged()
152
+ this.syncEntriesSignal()
140
153
  }
141
154
 
142
155
  updateParams(chart: Chart, paneId: string, params: Record<string, unknown>): void {
@@ -148,6 +161,7 @@ export class SubPaneManager {
148
161
  chart.updateRendererConfig(entry.rendererName, params)
149
162
 
150
163
  this.syncSchedulerConfig(chart, paneId, entry.indicatorId, entry.params)
164
+ this.syncEntriesSignal()
151
165
  }
152
166
 
153
167
  getByPaneId(paneId: string): SubPaneEntry | undefined {
@@ -169,6 +183,7 @@ export class SubPaneManager {
169
183
  }
170
184
  this.entries.clear()
171
185
  chart.getIndicatorScheduler().onSubPaneChanged()
186
+ this.syncEntriesSignal()
172
187
  }
173
188
 
174
189
  private syncSchedulerConfig(
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = "0.7.5-alpha.0"
1
+ export const VERSION = "0.7.5"