@363045841yyt/klinechart-core 0.8.7 → 0.8.8

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.
Files changed (60) hide show
  1. package/dist/config/chartSettings.d.ts +2 -5
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +1 -2
  4. package/dist/config/chartSettings.js.map +1 -1
  5. package/dist/controllers/createChartController.d.ts.map +1 -1
  6. package/dist/controllers/createChartController.js +7 -0
  7. package/dist/controllers/createChartController.js.map +1 -1
  8. package/dist/controllers/types.d.ts +2 -0
  9. package/dist/controllers/types.d.ts.map +1 -1
  10. package/dist/engine/chart.d.ts +3 -0
  11. package/dist/engine/chart.d.ts.map +1 -1
  12. package/dist/engine/chart.js +9 -3
  13. package/dist/engine/chart.js.map +1 -1
  14. package/dist/engine/controller/interaction.js +1 -1
  15. package/dist/engine/controller/interaction.js.map +1 -1
  16. package/dist/engine/data/chartDataManager.d.ts +1 -3
  17. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  18. package/dist/engine/data/chartDataManager.js +27 -38
  19. package/dist/engine/data/chartDataManager.js.map +1 -1
  20. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  21. package/dist/engine/render/chartRenderer.js +26 -1
  22. package/dist/engine/render/chartRenderer.js.map +1 -1
  23. package/dist/engine/renderers/gridLines.d.ts.map +1 -1
  24. package/dist/engine/renderers/gridLines.js +7 -35
  25. package/dist/engine/renderers/gridLines.js.map +1 -1
  26. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
  27. package/dist/engine/renderers/leftYAxis.js +32 -20
  28. package/dist/engine/renderers/leftYAxis.js.map +1 -1
  29. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  30. package/dist/engine/renderers/yAxis.js +16 -22
  31. package/dist/engine/renderers/yAxis.js.map +1 -1
  32. package/dist/engine/utils/tickPosition.d.ts +12 -0
  33. package/dist/engine/utils/tickPosition.d.ts.map +1 -1
  34. package/dist/engine/utils/tickPosition.js +15 -0
  35. package/dist/engine/utils/tickPosition.js.map +1 -1
  36. package/dist/engine/viewport/chartViewportManager.d.ts +0 -4
  37. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  38. package/dist/engine/viewport/chartViewportManager.js +4 -8
  39. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  40. package/dist/plugin/types.d.ts +9 -0
  41. package/dist/plugin/types.d.ts.map +1 -1
  42. package/dist/plugin/types.js.map +1 -1
  43. package/dist/version.d.ts +1 -1
  44. package/dist/version.js +1 -1
  45. package/package.json +1 -1
  46. package/src/config/chartSettings.ts +1 -2
  47. package/src/controllers/createChartController.ts +7 -0
  48. package/src/controllers/types.ts +2 -0
  49. package/src/engine/chart.ts +11 -3
  50. package/src/engine/controller/interaction.ts +1 -1
  51. package/src/engine/data/chartDataManager.ts +28 -40
  52. package/src/engine/render/chartRenderer.ts +27 -2
  53. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +30 -26
  54. package/src/engine/renderers/gridLines.ts +7 -36
  55. package/src/engine/renderers/leftYAxis.ts +37 -21
  56. package/src/engine/renderers/yAxis.ts +19 -23
  57. package/src/engine/utils/tickPosition.ts +34 -0
  58. package/src/engine/viewport/chartViewportManager.ts +5 -10
  59. package/src/plugin/types.ts +10 -0
  60. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAe;AACf,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA2JD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAQ5B;IACC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACrD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACjD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;YACrE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACjD,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;SAClE;QACD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAA;AACH,CAAC;AAiPD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAEnD,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,qCAAqC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,UAAU,EAAE,CAAC,EAAE,MAAM;IACrB,IAAI,EAAE,EAAE,EAAE,MAAM;IAChB;;;OAGG;IACH,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE,EAAE,SAAS;IACnB;;;OAGG;IACH,eAAe,EAAE,EAAE;IACnB,OAAO,EAAE,EAAE,EAAE,WAAW;IACxB,UAAU,EAAE,GAAG,EAAE,WAAW;IAC5B,aAAa,EAAE,GAAG,EAAE,UAAU;IAC9B,gBAAgB,EAAE,GAAG,EAAE,WAAW;CAC1B,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAe;AACf,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA2JD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAQ5B;IACC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACrD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACjD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;YACrE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACjD,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;SAClE;QACD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAA;AACH,CAAC;AA2PD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAEnD,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,qCAAqC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,UAAU,EAAE,CAAC,EAAE,MAAM;IACrB,IAAI,EAAE,EAAE,EAAE,MAAM;IAChB;;;OAGG;IACH,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE,EAAE,SAAS;IACnB;;;OAGG;IACH,eAAe,EAAE,EAAE;IACnB,OAAO,EAAE,EAAE,EAAE,WAAW;IACxB,UAAU,EAAE,GAAG,EAAE,WAAW;IAC5B,aAAa,EAAE,GAAG,EAAE,UAAU;IAC9B,gBAAgB,EAAE,GAAG,EAAE,WAAW;CAC1B,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.8.7";
1
+ export declare const VERSION = "0.8.8";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.8.7";
1
+ export const VERSION = "0.8.8";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@363045841yyt/klinechart-core",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Headless K-line chart engine + reactive controllers. Zero framework dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -61,8 +61,7 @@ export const DEFAULT_SETTINGS = [
61
61
  {
62
62
  key: 'leftAxisType', label: '左轴类型', type: 'select', default: 'none', group: 'main', options: [
63
63
  { value: 'none', label: '不显示' },
64
- { value: 'linear', label: '常规轴' },
65
- { value: 'log', label: '对数轴' },
64
+ { value: 'percent', label: '百分比轴' },
66
65
  ]
67
66
  },
68
67
  { key: 'disableMainPaneVerticalScroll', label: '主图纵轴刻度自适应调整', type: 'boolean', default: true, group: 'main' },
@@ -308,6 +308,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
308
308
  const mounted = hasExistingDom
309
309
  ? {
310
310
  container: opts.container as HTMLDivElement,
311
+ scrollContent: (opts.container as HTMLDivElement).querySelector<HTMLDivElement>('.scroll-content') ?? undefined,
311
312
  canvasLayer: opts.canvasLayer as HTMLDivElement,
312
313
  rightAxisLayer: opts.rightAxisLayer as HTMLDivElement,
313
314
  leftAxisLayer: opts.leftAxisLayer as HTMLDivElement | undefined,
@@ -684,6 +685,11 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
684
685
  return chart.getContentWidth()
685
686
  }
686
687
 
688
+ function getLeftLoadBufferWidth(): number {
689
+ if (disposed) return 0
690
+ return chart.getLeftLoadBufferWidth()
691
+ }
692
+
687
693
  function scrollToRight(): void {
688
694
  if (disposed) return
689
695
  chart.scrollToRight()
@@ -931,6 +937,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
931
937
  setTooltipAnchorPositioning,
932
938
  getIndicatorTitle,
933
939
  getContentWidth,
940
+ getLeftLoadBufferWidth,
934
941
  scrollToRight,
935
942
  setDrawingTool,
936
943
  clearDrawings,
@@ -338,6 +338,8 @@ export interface ChartController extends DrawingChartAdapter {
338
338
  getIndicatorTitle(instanceId: string): string | undefined
339
339
  /** total scrollable content width (replaces direct computeContentWidth imports) */
340
340
  getContentWidth(): number
341
+ /** left buffer width (viewport width) for pixel offset calculations */
342
+ getLeftLoadBufferWidth(): number
341
343
  /** scroll to the rightmost position (latest data) */
342
344
  scrollToRight(): void
343
345
 
@@ -194,8 +194,7 @@ export class Chart {
194
194
  getEffectiveDpr: () => this.viewportManager.getEffectiveDpr(),
195
195
  getLogicalScrollLeft: () => this.viewportManager.getLogicalScrollLeft(),
196
196
  getCachedScrollLeft: () => this.viewportManager.getCachedScrollLeft(),
197
- setCachedScrollLeft: (v) => { this.viewportManager.setCachedScrollLeft(v) },
198
- setPendingScrollLeft: (v) => { this.viewportManager.setPendingScrollLeft(v) },
197
+ setScrollLeft: (v) => { this.viewportManager.setScrollLeft(v) },
199
198
  getDom: () => this.dom,
200
199
  getObservedSize: () => this.viewportManager.getObservedSize(),
201
200
  getViewport: () => this.viewportManager.getViewport(),
@@ -352,7 +351,11 @@ export class Chart {
352
351
 
353
352
  /** 同步程序性 scrollLeft 写入后的缓存,避免等待异步 scroll 事件 */
354
353
  syncScrollLeft(scrollLeft: number): void {
355
- this.viewportManager.setCachedScrollLeft(scrollLeft)
354
+ this.viewportManager.setScrollLeft(scrollLeft)
355
+ }
356
+
357
+ setScrollLeft(v: number): void {
358
+ this.viewportManager.setScrollLeft(v)
356
359
  }
357
360
 
358
361
  /** 获取逻辑 scrollLeft(减去左侧加载缓冲宽度,可为负值) */
@@ -751,6 +754,11 @@ export class Chart {
751
754
  return this.dataManager.getContentWidth()
752
755
  }
753
756
 
757
+ /** 获取左侧加载缓冲宽度(视口宽度,用于计算 overlay 像素偏移) */
758
+ getLeftLoadBufferWidth(): number {
759
+ return this.dataManager.getLeftLoadBufferWidth()
760
+ }
761
+
754
762
  /** 滚动到最右侧(最新数据位置) */
755
763
  scrollToRight(): void {
756
764
  this.dataManager.scrollToRight()
@@ -47,7 +47,7 @@ export class InteractionController {
47
47
  const dpr = this.chart.getCurrentDpr()
48
48
  const rounded = Math.round(clampedScrollLeft * dpr) / dpr
49
49
  container.scrollLeft = rounded
50
- this.chart.syncScrollLeft(container.scrollLeft)
50
+ this.chart.setScrollLeft(container.scrollLeft)
51
51
  }
52
52
 
53
53
  /** 垂直拖动相关 */
@@ -18,8 +18,7 @@ export interface DataDependencies {
18
18
  getEffectiveDpr: () => number
19
19
  getLogicalScrollLeft: () => number
20
20
  getCachedScrollLeft: () => number
21
- setCachedScrollLeft: (v: number) => void
22
- setPendingScrollLeft: (v: number) => void
21
+ setScrollLeft: (v: number) => void
23
22
  getDom: () => ChartDom
24
23
  getObservedSize: () => { width: number; height: number }
25
24
  getViewport: () => Viewport | null
@@ -101,8 +100,9 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
101
100
  this._dataSignal.set([...buf.data.peek() as unknown[]])
102
101
  this._loadingSignal.set(buf.loading.peek())
103
102
  const unsubData = buf.data.subscribe(() => {
103
+ const prevDataLength = this._dataSignal.peek().length
104
104
  this._dataSignal.set([...buf.data.peek() as unknown[]])
105
- this.onBufferDataChanged(key)
105
+ this.onBufferDataChanged(key, prevDataLength)
106
106
  })
107
107
  const unsubLoading = buf.loading.subscribe(() => {
108
108
  this._loadingSignal.set(buf.loading.peek())
@@ -162,45 +162,30 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
162
162
 
163
163
  // ── Buffer data change handler ──
164
164
 
165
- private onBufferDataChanged(key: string): void {
165
+ private onBufferDataChanged(key: string, prevDataLength?: number): void {
166
166
  const buf = this._buffers.get(key)
167
167
  if (!buf) return
168
168
 
169
169
  if (buf instanceof DataBuffer) {
170
- this.onKLineBufferChanged(key, buf)
170
+ this.onKLineBufferChanged(key, buf, prevDataLength)
171
171
  } else if (buf instanceof TimeShareBuffer) {
172
172
  this.onTimeShareBufferChanged(key, buf)
173
173
  }
174
174
  }
175
175
 
176
- private onKLineBufferChanged(key: string, buf: DataBuffer): void {
176
+ private onKLineBufferChanged(key: string, buf: DataBuffer, prevDataLength?: number): void {
177
177
  if (!key.startsWith('main:')) return
178
178
 
179
- const prevLength = this.getActiveKLineLength()
180
179
  const bufferData = buf.getRawData() as KLineData[]
181
180
  const prependedCount = this.pendingPrependedCount
182
181
  this.pendingPrependedCount = 0
183
182
 
184
- if (this.deps.getCachedScrollLeft() < this.getLeftLoadBufferWidth()) {
185
- const desiredScrollLeft = this.getLeftLoadBufferWidth()
186
- this.deps.setCachedScrollLeft(desiredScrollLeft)
187
- this.deps.setPendingScrollLeft(desiredScrollLeft)
183
+ if (prependedCount === 0 && this.deps.getCachedScrollLeft() < this.getLeftLoadBufferWidth()) {
184
+ this.deps.setScrollLeft(this.getLeftLoadBufferWidth())
188
185
  }
189
186
 
190
- if (prevLength === 0 && bufferData.length > 0) {
191
- const dpr = this.deps.getEffectiveDpr()
192
- const opt = this.deps.getOption()
193
- const { unitPx, startXPx } = getPhysicalKLineConfig(opt.kWidth, opt.kGap, dpr)
194
- const lastKLineEndPx = (startXPx + bufferData.length * unitPx) / dpr
195
- const container = this.deps.getDom().container
196
- if (container) {
197
- const target = this.getLeftLoadBufferWidth() + Math.max(0, lastKLineEndPx - container.clientWidth)
198
- const contentWidth = this.getContentWidth()
199
- const maxScroll = Math.max(0, contentWidth - container.clientWidth)
200
- const scrollLeft = Math.round(Math.min(target, maxScroll) * dpr) / dpr
201
- this.deps.setCachedScrollLeft(scrollLeft)
202
- this.deps.setPendingScrollLeft(scrollLeft)
203
- }
187
+ if ((prevDataLength ?? this._dataSignal.peek().length) === 0 && bufferData.length > 0) {
188
+ this.scrollToRight()
204
189
  }
205
190
 
206
191
  this.deps.resetInteraction()
@@ -285,7 +270,7 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
285
270
  return 24
286
271
  }
287
272
 
288
- private static readonly TRAILING_DRAWING_SLOTS = 24
273
+
289
274
 
290
275
  private clearIncrementalLoadHintTimer(): void {
291
276
  if (this.incrementalLoadHintTimer !== null) {
@@ -312,7 +297,6 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
312
297
  const hint = ownerDoc.createElement('div')
313
298
  hint.className = 'klc-incremental-load-hint'
314
299
  hint.style.position = 'absolute'
315
- hint.style.left = '0'
316
300
  hint.style.top = '0'
317
301
  hint.style.height = '0px'
318
302
  hint.style.width = '0px'
@@ -336,7 +320,8 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
336
320
  const dpr = this.deps.getEffectiveDpr()
337
321
  const opt = this.deps.getOption()
338
322
  const { unitPx, startXPx } = getPhysicalKLineConfig(opt.kWidth, opt.kGap, dpr)
339
- const width = this.getLeftLoadBufferWidth() + (startXPx + count * unitPx) / dpr
323
+ hint.style.left = `${this.getLeftLoadBufferWidth()}px`
324
+ const width = (startXPx + count * unitPx) / dpr
340
325
  hint.style.width = `${Math.max(0, width)}px`
341
326
  hint.style.height = `${Math.max(
342
327
  0,
@@ -867,11 +852,8 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
867
852
  const opt = this.deps.getOption()
868
853
  const { unitPx } = getPhysicalKLineConfig(opt.kWidth, opt.kGap, dpr)
869
854
  const compensation = (count * unitPx) / dpr
870
- const container = this.deps.getDom().container
871
- if (container) {
872
- container.scrollLeft += compensation
873
- this.deps.setCachedScrollLeft(container.scrollLeft)
874
- }
855
+ const nextScrollLeft = this.deps.getCachedScrollLeft() + compensation
856
+ this.deps.setScrollLeft(nextScrollLeft)
875
857
  }
876
858
 
877
859
  buf.setSymbol(spec)
@@ -893,23 +875,29 @@ private _symbolsSignal = createSignal<ReadonlyArray<SymbolSpec>>([])
893
875
  const viewWidth = this.deps.getViewport()?.plotWidth ?? 0
894
876
  const dpr = this.deps.getEffectiveDpr()
895
877
  const { startXPx, unitPx } = getPhysicalKLineConfig(opt.kWidth, opt.kGap, dpr)
896
- const dataPlotWidth = (startXPx + (dataLength + ChartDataManager.TRAILING_DRAWING_SLOTS) * unitPx) / dpr
878
+ const dataPlotWidth = (startXPx + dataLength * unitPx) / dpr
897
879
  return this.getLeftLoadBufferWidth() + Math.max(dataPlotWidth, viewWidth)
898
880
  }
899
881
 
900
882
  scrollToRight(): void {
901
883
  const buf = this.getActiveDataBuffer()
902
884
  const dataLength = buf ? buf.getRawData().length : 0
903
- const container = this.deps.getDom().container
904
- if (!container || dataLength === 0) return
885
+ if (dataLength === 0) return
905
886
  const dpr = this.deps.getEffectiveDpr()
906
887
  const opt = this.deps.getOption()
907
888
  const { unitPx, startXPx } = getPhysicalKLineConfig(opt.kWidth, opt.kGap, dpr)
908
889
  const lastKLineEndPx = (startXPx + dataLength * unitPx) / dpr
909
- const target = this.getLeftLoadBufferWidth() + Math.max(0, lastKLineEndPx - container.clientWidth)
910
- const maxScroll = Math.max(0, container.scrollWidth - container.clientWidth)
911
- container.scrollLeft = Math.round(Math.min(target, maxScroll) * dpr) / dpr
912
- this.deps.setCachedScrollLeft(container.scrollLeft)
890
+ const viewport = this.deps.getViewport()
891
+ const clientWidth = viewport?.viewWidth
892
+ ?? (this.deps.getObservedSize().width > 0 ? this.deps.getObservedSize().width : undefined)
893
+ ?? Math.round(this.deps.getDom().container?.clientWidth ?? 0)
894
+ if (clientWidth <= 0) return
895
+ const target = this.getLeftLoadBufferWidth() + Math.max(0, lastKLineEndPx - clientWidth)
896
+ const contentWidth = this.getContentWidth()
897
+ const maxScroll = Math.max(0, contentWidth - clientWidth)
898
+ const scrollLeft = Math.round(Math.min(target, maxScroll) * dpr) / dpr
899
+ this.deps.setScrollLeft(scrollLeft)
900
+ this.deps.scheduleDraw()
913
901
  }
914
902
 
915
903
  // ── Comparison price range ──
@@ -2,7 +2,8 @@ import type { KLineData } from '../../types/price'
2
2
  import type { ChartSettings } from '../../config/chartSettings'
3
3
  import type { SymbolSpec } from '../../controllers/types'
4
4
  import { getVisibleRange } from '../viewport/viewport'
5
- import type { RendererPlugin, RendererPluginWithHost, PluginHostImpl, RenderContext, YAxisLabel, XAxisLabel, YAxisRange, XAxisRange } from '../../plugin'
5
+ import type { RendererPlugin, RendererPluginWithHost, PluginHostImpl, RenderContext, YAxisLabel, XAxisLabel, YAxisRange, XAxisRange, YAxisTick } from '../../plugin'
6
+ import { calculateTickCount } from '../utils/tickCount'
6
7
  import { RendererPluginManager, wrapPaneInfo } from '../../plugin'
7
8
  import type { ChartDom, PaneSpec, ChartOptions, KLinePositions, Viewport, ViewportState } from '../chartTypes'
8
9
  import { PaneRenderer } from '../paneRenderer'
@@ -207,8 +208,15 @@ export class ChartRenderer {
207
208
  const levelToDraw = this.pendingUpdateLevel
208
209
  this.pendingUpdateLevel = UpdateLevel.All
209
210
  this.draw(levelToDraw)
210
- const c = this.deps.getDom().container
211
+ const dom = this.deps.getDom()
212
+ const c = dom.container
211
213
  if (c) {
214
+ const scrollContent = dom.scrollContent
215
+ if (scrollContent) {
216
+ const dataManager = this.deps.getDataManager()
217
+ const w = Math.max(dataManager.getContentWidth(), dataManager.getLeftLoadBufferWidth()) + 'px'
218
+ if (scrollContent.style.width !== w) scrollContent.style.width = w
219
+ }
212
220
  this.deps.getViewportManager().applyPendingScrollLeft(c)
213
221
  }
214
222
  })
@@ -504,6 +512,23 @@ export class ChartRenderer {
504
512
  colorPresetSettings: this.settings.colorPresetSettings,
505
513
  }
506
514
 
515
+ {
516
+ const pt = pane.yAxis.getPaddingTop()
517
+ const pb = pane.yAxis.getPaddingBottom()
518
+ const yStart = pt
519
+ const yEnd = Math.max(pt, pane.height - pb)
520
+ const viewH = Math.max(0, yEnd - yStart)
521
+ const tickCount = Math.max(2, calculateTickCount(pane.height, pane.role === 'price'))
522
+ const yAxisTicks: YAxisTick[] = []
523
+ for (let i = 0; i < tickCount; i++) {
524
+ const t = tickCount <= 1 ? 0 : i / (tickCount - 1)
525
+ const y = yStart + t * viewH
526
+ const value = pane.yAxis.yToPrice(y)
527
+ yAxisTicks.push({ y, value })
528
+ }
529
+ context.yAxisTicks = yAxisTicks
530
+ }
531
+
507
532
  if (shouldUpdateMain || shouldUpdateOverlay) {
508
533
  const errors = rendererPluginManager.render(pane.id, context, level)
509
534
  if (errors.length > 0) {
@@ -1,23 +1,12 @@
1
1
  import { describe, it, expect, vi, beforeEach } from 'vitest'
2
2
  import { createYAxisRendererPlugin } from '@/core/renderers/yAxis'
3
- import type { RenderContext, PaneInfo } from '@/plugin'
4
-
5
- vi.mock('@/core/renderers/Indicator/scale/indicator_scale', async () => {
6
- const actual = await vi.importActual<typeof import('@/core/renderers/Indicator/scale/indicator_scale')>(
7
- '@/core/renderers/Indicator/scale/indicator_scale',
8
- )
9
- return {
10
- ...actual,
11
- drawScaleTicks: vi.fn(),
12
- }
13
- })
3
+ import type { RenderContext, PaneInfo, YAxisTick } from '@/plugin'
14
4
 
15
5
  vi.mock('@/utils/kLineDraw/axis', () => ({
16
6
  drawCrosshairPriceLabel: vi.fn(),
17
7
  drawAxisPriceLabel: vi.fn(),
18
8
  }))
19
9
 
20
- import { drawScaleTicks } from '@/core/renderers/Indicator/scale/indicator_scale'
21
10
  import { drawCrosshairPriceLabel, drawAxisPriceLabel } from '@/utils/kLineDraw/axis'
22
11
 
23
12
  function createPane(overrides: Partial<PaneInfo> = {}): PaneInfo {
@@ -53,12 +42,27 @@ function createPane(overrides: Partial<PaneInfo> = {}): PaneInfo {
53
42
  }
54
43
  }
55
44
 
45
+ const mockYAxisTicks: YAxisTick[] = [
46
+ { y: 10, value: 120 },
47
+ { y: 55, value: 110 },
48
+ { y: 100, value: 100 },
49
+ { y: 145, value: 90 },
50
+ { y: 190, value: 80 },
51
+ ]
52
+
53
+ function createCtx() {
54
+ return {
55
+ canvas: { width: 80, height: 200 },
56
+ clearRect: vi.fn(),
57
+ fillText: vi.fn(),
58
+ measureText: vi.fn(() => ({ width: 10 })),
59
+ save: vi.fn(),
60
+ restore: vi.fn(),
61
+ } as unknown as CanvasRenderingContext2D
62
+ }
63
+
56
64
  function createContext(overrides: Partial<RenderContext> = {}): RenderContext {
57
- const ctx = {} as CanvasRenderingContext2D
58
- Object.defineProperty(ctx, 'canvas', {
59
- value: { width: 80, height: 200 },
60
- configurable: true,
61
- })
65
+ const ctx = createCtx()
62
66
 
63
67
  return {
64
68
  ctx,
@@ -78,6 +82,7 @@ function createContext(overrides: Partial<RenderContext> = {}): RenderContext {
78
82
  xAxisLabels: [],
79
83
  period: 'daily',
80
84
  theme: 'light',
85
+ yAxisTicks: mockYAxisTicks,
81
86
  ...overrides,
82
87
  }
83
88
  }
@@ -93,7 +98,9 @@ describe('yAxis renderer', () => {
93
98
 
94
99
  plugin.draw(context)
95
100
 
96
- expect(drawScaleTicks).toHaveBeenCalledTimes(1)
101
+ const targetCtx = context.yAxisCtx!
102
+ expect(targetCtx.clearRect).toHaveBeenCalled()
103
+ expect(targetCtx.fillText).toHaveBeenCalled()
97
104
  })
98
105
 
99
106
  it('does not draw ticks when pane capability showPriceAxisTicks is false', () => {
@@ -111,21 +118,19 @@ describe('yAxis renderer', () => {
111
118
 
112
119
  plugin.draw(context)
113
120
 
114
- expect(drawScaleTicks).toHaveBeenCalledTimes(0)
121
+ const targetCtx = context.yAxisCtx!
122
+ expect(targetCtx.fillText).toHaveBeenCalledTimes(0)
115
123
  })
116
124
 
117
125
  it('uses ctx when yAxisCtx is not provided', () => {
118
126
  const plugin = createYAxisRendererPlugin({ axisWidth: 80, yPaddingPx: 0 })
119
- const fallbackCtx = {} as CanvasRenderingContext2D
127
+ const fallbackCtx = createCtx()
120
128
  const context = createContext({ ctx: fallbackCtx, yAxisCtx: undefined })
121
129
 
122
130
  plugin.draw(context)
123
131
 
124
- expect(drawScaleTicks).toHaveBeenCalledWith(
125
- expect.objectContaining({
126
- ctx: fallbackCtx,
127
- }),
128
- )
132
+ expect(fallbackCtx.clearRect).toHaveBeenCalled()
133
+ expect(fallbackCtx.fillText).toHaveBeenCalled()
129
134
  })
130
135
 
131
136
  it('draws last price label via drawAxisPriceLabel for main pane when yAxisLabels contains lastPrice', () => {
@@ -162,7 +167,6 @@ describe('yAxis renderer', () => {
162
167
 
163
168
  plugin.draw(context)
164
169
 
165
- // Last price now flows through drawAxisPriceLabel; only the crosshair label uses drawCrosshairPriceLabel
166
170
  expect(drawCrosshairPriceLabel).toHaveBeenCalledTimes(1)
167
171
  })
168
172
 
@@ -4,7 +4,7 @@ import type { KLineData } from '../../types/price'
4
4
  import { createHorizontalLineRect, createVerticalLineRect } from '../draw/pixelAlign'
5
5
  import { findMonthBoundaries } from '../../utils/dateFormat'
6
6
  import { resolveThemeColors } from '../../tokens'
7
- import { calculateTickPositions, calculateValueTickPositions, type ScaleType } from '../utils/tickPosition'
7
+
8
8
 
9
9
  /**
10
10
  * 创建网格线渲染器插件
@@ -34,41 +34,12 @@ export function createGridLinesRendererPlugin(): RendererPlugin {
34
34
  const plotWidth = ctx.canvas.width / dpr
35
35
  const startX = scrollLeft
36
36
  const endX = scrollLeft + plotWidth
37
- const pt = pane.yAxis.getPaddingTop()
38
- const pb = pane.yAxis.getPaddingBottom()
39
-
40
- // 水平网格线:与 Y 轴刻度对齐
41
- const scaleType = pane.yAxis.getScaleType()
42
- let yPositions: number[]
43
-
44
- if ((scaleType === 'log' || scaleType === 'percent') && pane.role === 'price') {
45
- const displayRange = pane.yAxis.getDisplayRange(pane.priceRange)
46
- const valueMin = scaleType === 'percent' ? pane.yAxis.getDisplayPercentRange().minPct : displayRange.minPrice
47
- const valueMax = scaleType === 'percent' ? pane.yAxis.getDisplayPercentRange().maxPct : displayRange.maxPrice
48
- const tickValues = calculateValueTickPositions({
49
- height: pane.height,
50
- paddingTop: pt,
51
- paddingBottom: pb,
52
- isMain: true,
53
- valueMin,
54
- valueMax,
55
- scaleType,
56
- })
57
- yPositions = tickValues.map(t => t.y)
58
- } else {
59
- // 线性模式:均匀分布
60
- const tickPositions = calculateTickPositions({
61
- height: pane.height,
62
- paddingTop: pt,
63
- paddingBottom: pb,
64
- isMain: pane.role === 'price',
65
- })
66
- yPositions = tickPositions.map(t => t.y)
67
- }
68
-
69
- for (const y of yPositions) {
70
- const h = createHorizontalLineRect(startX, endX, y, dpr)
71
- if (h) ctx.fillRect(h.x, h.y, h.width, h.height)
37
+ // 水平网格线:从预计算的 yAxisTicks 取 Y 位置,确保与轴刻度对齐
38
+ if (context.yAxisTicks) {
39
+ for (const tick of context.yAxisTicks) {
40
+ const h = createHorizontalLineRect(startX, endX, tick.y, dpr)
41
+ if (h) ctx.fillRect(h.x, h.y, h.width, h.height)
42
+ }
72
43
  }
73
44
 
74
45
  const boundaries = findMonthBoundaries(klineData)
@@ -1,9 +1,10 @@
1
1
  import type { RendererPlugin, RenderContext } from '../../plugin'
2
2
  import { RENDERER_PRIORITY, GLOBAL_PANE_ID } from '../../plugin'
3
- import { drawScaleTicks } from '../renderers/Indicator/scale/indicator_scale'
4
3
  import { drawCrosshairPriceLabel } from '../../utils/kLineDraw/axis'
5
4
  import { resolveThemeColors } from '../../tokens'
6
- import type { ScaleType } from '../utils/tickPosition'
5
+ import { getFont, setCanvasFont } from '../theme/fonts'
6
+ import { roundToPhysicalPixel } from '../draw/pixelAlign'
7
+ import { priceAtYForScaleType, type ScaleType } from '../utils/tickPosition'
7
8
 
8
9
  export function createLeftYAxisRendererPlugin(options: {
9
10
  axisWidth: number
@@ -32,29 +33,44 @@ export function createLeftYAxisRendererPlugin(options: {
32
33
  }
33
34
 
34
35
  const tokenColors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings)
35
- const displayRange = pane.yAxis.getDisplayRange()
36
- const { minPrice, maxPrice } = displayRange
37
36
 
38
37
  if (!pane.capabilities.showPriceAxisTicks) return
39
38
 
40
39
  const scaleType: ScaleType = period === 'timeshare' ? 'linear' : ((context.settings?.leftAxisType as ScaleType) ?? 'linear')
40
+ const paneScaleType = pane.yAxis.getScaleType()
41
41
 
42
- drawScaleTicks({
43
- tickColor: tokenColors.text.secondary,
44
- ctx: leftAxisCtx,
45
- dpr,
46
- axisWidth,
47
- height: pane.height,
48
- paddingTop: pane.yAxis.getPaddingTop(),
49
- paddingBottom: pane.yAxis.getPaddingBottom(),
50
- valueMin: minPrice,
51
- valueMax: maxPrice,
52
- isMain: true,
53
- decimals: 2,
54
- hideEdgeTicks: false,
55
- scaleType,
56
- textAlign: 'center',
57
- })
42
+ if (!context.yAxisTicks) return
43
+
44
+ leftAxisCtx.clearRect(0, 0, axisWidth, pane.height)
45
+
46
+ const font = getFont(12)
47
+ setCanvasFont(leftAxisCtx, font)
48
+ leftAxisCtx.textBaseline = 'middle'
49
+ leftAxisCtx.textAlign = 'center'
50
+ leftAxisCtx.fillStyle = tokenColors.text.secondary
51
+
52
+ const textX = roundToPhysicalPixel(axisWidth / 2, dpr)
53
+
54
+ const needsOwnValues = scaleType !== paneScaleType
55
+ const crosshairPriceRange = pane.yAxis.getDisplayRange()
56
+
57
+ for (const tick of context.yAxisTicks) {
58
+ let displayValue: number
59
+ if (needsOwnValues) {
60
+ if (scaleType === 'percent') {
61
+ displayValue = pane.yAxis.toPercent(tick.value)
62
+ } else {
63
+ const { minPrice, maxPrice } = crosshairPriceRange
64
+ displayValue = priceAtYForScaleType(
65
+ tick.y, minPrice, maxPrice, scaleType,
66
+ pane.height, pane.yAxis.getPaddingTop(), pane.yAxis.getPaddingBottom(),
67
+ )
68
+ }
69
+ } else {
70
+ displayValue = tick.value
71
+ }
72
+ leftAxisCtx.fillText(displayValue.toFixed(2), textX, tick.y)
73
+ }
58
74
 
59
75
  const crosshair = options.getCrosshair?.()
60
76
  if (!crosshair || crosshair.activePaneId !== pane.id || crosshair.price === null) return
@@ -65,7 +81,7 @@ export function createLeftYAxisRendererPlugin(options: {
65
81
  width: axisWidth,
66
82
  height: pane.height,
67
83
  crosshairY: crosshair.y,
68
- priceRange: displayRange,
84
+ priceRange: crosshairPriceRange,
69
85
  yPaddingPx: options.yPaddingPx,
70
86
  dpr,
71
87
  fontSize: 12,