@363045841yyt/klinechart-core 0.8.6 → 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 (501) hide show
  1. package/dist/config/chartSettings.d.ts +18 -2
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +8 -1
  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 +56 -2
  7. package/dist/controllers/createChartController.js.map +1 -1
  8. package/dist/controllers/types.d.ts +36 -23
  9. package/dist/controllers/types.d.ts.map +1 -1
  10. package/dist/data-fetchers/baostock.d.ts +0 -3
  11. package/dist/data-fetchers/baostock.d.ts.map +1 -1
  12. package/dist/data-fetchers/baostock.js +0 -1
  13. package/dist/data-fetchers/baostock.js.map +1 -1
  14. package/dist/data-fetchers/dataBuffer.d.ts +13 -2
  15. package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
  16. package/dist/data-fetchers/dataBuffer.js +41 -7
  17. package/dist/data-fetchers/dataBuffer.js.map +1 -1
  18. package/dist/data-fetchers/dataBufferTypes.d.ts +11 -0
  19. package/dist/data-fetchers/dataBufferTypes.d.ts.map +1 -0
  20. package/dist/data-fetchers/dataBufferTypes.js +2 -0
  21. package/dist/data-fetchers/dataBufferTypes.js.map +1 -0
  22. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts +4 -3
  23. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +1 -1
  24. package/dist/data-fetchers/fetcherDefinitionRegistry.js +9 -2
  25. package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +1 -1
  26. package/dist/data-fetchers/gotdx/gotdx.d.ts +7 -0
  27. package/dist/data-fetchers/gotdx/gotdx.d.ts.map +1 -0
  28. package/dist/data-fetchers/gotdx/gotdx.js +7 -0
  29. package/dist/data-fetchers/gotdx/gotdx.js.map +1 -0
  30. package/dist/data-fetchers/gotdx.d.ts +0 -8
  31. package/dist/data-fetchers/gotdx.d.ts.map +1 -1
  32. package/dist/data-fetchers/gotdx.js +40 -3
  33. package/dist/data-fetchers/gotdx.js.map +1 -1
  34. package/dist/data-fetchers/hundred-mock.d.ts +0 -3
  35. package/dist/data-fetchers/hundred-mock.d.ts.map +1 -1
  36. package/dist/data-fetchers/hundred-mock.js +0 -1
  37. package/dist/data-fetchers/hundred-mock.js.map +1 -1
  38. package/dist/data-fetchers/index.d.ts +10 -8
  39. package/dist/data-fetchers/index.d.ts.map +1 -1
  40. package/dist/data-fetchers/index.js +8 -7
  41. package/dist/data-fetchers/index.js.map +1 -1
  42. package/dist/data-fetchers/router.d.ts +2 -0
  43. package/dist/data-fetchers/router.d.ts.map +1 -1
  44. package/dist/data-fetchers/router.js +8 -1
  45. package/dist/data-fetchers/router.js.map +1 -1
  46. package/dist/data-fetchers/thousand-mock.d.ts +0 -3
  47. package/dist/data-fetchers/thousand-mock.d.ts.map +1 -1
  48. package/dist/data-fetchers/thousand-mock.js +0 -1
  49. package/dist/data-fetchers/thousand-mock.js.map +1 -1
  50. package/dist/data-fetchers/timeShareBuffer.d.ts +27 -0
  51. package/dist/data-fetchers/timeShareBuffer.d.ts.map +1 -0
  52. package/dist/data-fetchers/timeShareBuffer.js +79 -0
  53. package/dist/data-fetchers/timeShareBuffer.js.map +1 -0
  54. package/dist/data-fetchers/tradingview.d.ts +0 -8
  55. package/dist/data-fetchers/tradingview.d.ts.map +1 -1
  56. package/dist/data-fetchers/tradingview.js +1 -2
  57. package/dist/data-fetchers/tradingview.js.map +1 -1
  58. package/dist/data-fetchers/types.d.ts +9 -1
  59. package/dist/data-fetchers/types.d.ts.map +1 -1
  60. package/dist/engine/chart.d.ts +32 -1
  61. package/dist/engine/chart.d.ts.map +1 -1
  62. package/dist/engine/chart.js +148 -7
  63. package/dist/engine/chart.js.map +1 -1
  64. package/dist/engine/chartTypes.d.ts +3 -0
  65. package/dist/engine/chartTypes.d.ts.map +1 -1
  66. package/dist/engine/controller/interaction.d.ts +6 -1
  67. package/dist/engine/controller/interaction.d.ts.map +1 -1
  68. package/dist/engine/controller/interaction.js +76 -28
  69. package/dist/engine/controller/interaction.js.map +1 -1
  70. package/dist/engine/data/chartDataManager.d.ts +39 -14
  71. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  72. package/dist/engine/data/chartDataManager.js +494 -202
  73. package/dist/engine/data/chartDataManager.js.map +1 -1
  74. package/dist/engine/draw/pixelAlign.d.ts +0 -27
  75. package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
  76. package/dist/engine/draw/pixelAlign.js +1 -1
  77. package/dist/engine/draw/pixelAlign.js.map +1 -1
  78. package/dist/engine/indicators/calculators.d.ts +0 -104
  79. package/dist/engine/indicators/calculators.d.ts.map +1 -1
  80. package/dist/engine/indicators/calculators.js +57 -168
  81. package/dist/engine/indicators/calculators.js.map +1 -1
  82. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  83. package/dist/engine/indicators/chartIndicatorManager.js +3 -2
  84. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  85. package/dist/engine/indicators/macdState.d.ts +0 -5
  86. package/dist/engine/indicators/macdState.d.ts.map +1 -1
  87. package/dist/engine/indicators/macdState.js +1 -1
  88. package/dist/engine/indicators/macdState.js.map +1 -1
  89. package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
  90. package/dist/engine/indicators/registerBuiltins.js +1 -0
  91. package/dist/engine/indicators/registerBuiltins.js.map +1 -1
  92. package/dist/engine/indicators/rsiState.d.ts +0 -4
  93. package/dist/engine/indicators/rsiState.d.ts.map +1 -1
  94. package/dist/engine/indicators/rsiState.js +1 -1
  95. package/dist/engine/indicators/rsiState.js.map +1 -1
  96. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  97. package/dist/engine/indicators/scheduler.js +1 -7
  98. package/dist/engine/indicators/scheduler.js.map +1 -1
  99. package/dist/engine/layout/chartPaneLayout.d.ts +2 -0
  100. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  101. package/dist/engine/layout/chartPaneLayout.js +24 -6
  102. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  103. package/dist/engine/modes/kLineMode.d.ts +37 -0
  104. package/dist/engine/modes/kLineMode.d.ts.map +1 -0
  105. package/dist/engine/modes/kLineMode.js +22 -0
  106. package/dist/engine/modes/kLineMode.js.map +1 -0
  107. package/dist/engine/modes/timeShareMode.d.ts +37 -0
  108. package/dist/engine/modes/timeShareMode.d.ts.map +1 -0
  109. package/dist/engine/modes/timeShareMode.js +59 -0
  110. package/dist/engine/modes/timeShareMode.js.map +1 -0
  111. package/dist/engine/modes/types.d.ts +47 -0
  112. package/dist/engine/modes/types.d.ts.map +1 -0
  113. package/dist/engine/modes/types.js +2 -0
  114. package/dist/engine/modes/types.js.map +1 -0
  115. package/dist/engine/paneRenderer.d.ts +4 -0
  116. package/dist/engine/paneRenderer.d.ts.map +1 -1
  117. package/dist/engine/paneRenderer.js +27 -40
  118. package/dist/engine/paneRenderer.js.map +1 -1
  119. package/dist/engine/render/chartRenderer.d.ts +4 -23
  120. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  121. package/dist/engine/render/chartRenderer.js +113 -18
  122. package/dist/engine/render/chartRenderer.js.map +1 -1
  123. package/dist/engine/renderers/Indicator/atr.d.ts +1 -18
  124. package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
  125. package/dist/engine/renderers/Indicator/atr.js +3 -22
  126. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  127. package/dist/engine/renderers/Indicator/boll.d.ts +1 -4
  128. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  129. package/dist/engine/renderers/Indicator/boll.js +3 -18
  130. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  131. package/dist/engine/renderers/Indicator/cci.d.ts +1 -22
  132. package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
  133. package/dist/engine/renderers/Indicator/cci.js +8 -20
  134. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  135. package/dist/engine/renderers/Indicator/chaikinVol.d.ts +1 -7
  136. package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
  137. package/dist/engine/renderers/Indicator/chaikinVol.js +3 -16
  138. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  139. package/dist/engine/renderers/Indicator/cmf.d.ts +1 -7
  140. package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
  141. package/dist/engine/renderers/Indicator/cmf.js +3 -15
  142. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  143. package/dist/engine/renderers/Indicator/dema.d.ts +1 -7
  144. package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
  145. package/dist/engine/renderers/Indicator/dema.js +3 -17
  146. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  147. package/dist/engine/renderers/Indicator/donchian.d.ts +1 -8
  148. package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
  149. package/dist/engine/renderers/Indicator/donchian.js +2 -2
  150. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  151. package/dist/engine/renderers/Indicator/ene.d.ts +1 -12
  152. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  153. package/dist/engine/renderers/Indicator/ene.js +3 -18
  154. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  155. package/dist/engine/renderers/Indicator/expma.d.ts +1 -4
  156. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  157. package/dist/engine/renderers/Indicator/expma.js +2 -2
  158. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  159. package/dist/engine/renderers/Indicator/fastk.d.ts +1 -22
  160. package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
  161. package/dist/engine/renderers/Indicator/fastk.js +11 -64
  162. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  163. package/dist/engine/renderers/Indicator/fib.d.ts +1 -6
  164. package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
  165. package/dist/engine/renderers/Indicator/fib.js +2 -2
  166. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  167. package/dist/engine/renderers/Indicator/hma.d.ts +1 -7
  168. package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
  169. package/dist/engine/renderers/Indicator/hma.js +3 -17
  170. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  171. package/dist/engine/renderers/Indicator/hv.d.ts +1 -7
  172. package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
  173. package/dist/engine/renderers/Indicator/hv.js +3 -16
  174. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  175. package/dist/engine/renderers/Indicator/ichimoku.d.ts +1 -8
  176. package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
  177. package/dist/engine/renderers/Indicator/ichimoku.js +2 -2
  178. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  179. package/dist/engine/renderers/Indicator/kama.d.ts +1 -7
  180. package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
  181. package/dist/engine/renderers/Indicator/kama.js +3 -17
  182. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  183. package/dist/engine/renderers/Indicator/keltner.d.ts +1 -8
  184. package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
  185. package/dist/engine/renderers/Indicator/keltner.js +2 -2
  186. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  187. package/dist/engine/renderers/Indicator/kst.d.ts +1 -22
  188. package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
  189. package/dist/engine/renderers/Indicator/kst.js +2 -2
  190. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  191. package/dist/engine/renderers/Indicator/ma.d.ts +1 -4
  192. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  193. package/dist/engine/renderers/Indicator/ma.js +1 -1
  194. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  195. package/dist/engine/renderers/Indicator/macd.d.ts +1 -49
  196. package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
  197. package/dist/engine/renderers/Indicator/macd.js +2 -12
  198. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  199. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  200. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +114 -1
  201. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  202. package/dist/engine/renderers/Indicator/mfi.d.ts +1 -7
  203. package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
  204. package/dist/engine/renderers/Indicator/mfi.js +3 -15
  205. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  206. package/dist/engine/renderers/Indicator/mom.d.ts +1 -22
  207. package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
  208. package/dist/engine/renderers/Indicator/mom.js +8 -23
  209. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  210. package/dist/engine/renderers/Indicator/obv.d.ts +1 -7
  211. package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
  212. package/dist/engine/renderers/Indicator/obv.js +3 -14
  213. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  214. package/dist/engine/renderers/Indicator/parkinson.d.ts +1 -7
  215. package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
  216. package/dist/engine/renderers/Indicator/parkinson.js +3 -16
  217. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  218. package/dist/engine/renderers/Indicator/pivot.d.ts +1 -6
  219. package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
  220. package/dist/engine/renderers/Indicator/pivot.js +2 -2
  221. package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
  222. package/dist/engine/renderers/Indicator/pvt.d.ts +1 -7
  223. package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
  224. package/dist/engine/renderers/Indicator/pvt.js +3 -14
  225. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  226. package/dist/engine/renderers/Indicator/roc.d.ts +1 -8
  227. package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
  228. package/dist/engine/renderers/Indicator/roc.js +3 -15
  229. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  230. package/dist/engine/renderers/Indicator/rsi.d.ts +0 -32
  231. package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
  232. package/dist/engine/renderers/Indicator/rsi.js +3 -3
  233. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  234. package/dist/engine/renderers/Indicator/sar.d.ts +1 -8
  235. package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
  236. package/dist/engine/renderers/Indicator/sar.js +2 -2
  237. package/dist/engine/renderers/Indicator/sar.js.map +1 -1
  238. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +2 -0
  239. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
  240. package/dist/engine/renderers/Indicator/scale/indicator_scale.js +10 -6
  241. package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
  242. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts +4 -0
  243. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -0
  244. package/dist/engine/renderers/Indicator/shared/dashedLines.js +50 -0
  245. package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -0
  246. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +14 -0
  247. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -0
  248. package/dist/engine/renderers/Indicator/shared/titleInfo.js +25 -0
  249. package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -0
  250. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +5 -0
  251. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -0
  252. package/dist/engine/renderers/Indicator/shared/webglBand.js +17 -0
  253. package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -0
  254. package/dist/engine/renderers/Indicator/stoch.d.ts +1 -22
  255. package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
  256. package/dist/engine/renderers/Indicator/stoch.js +5 -46
  257. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  258. package/dist/engine/renderers/Indicator/structure.d.ts +1 -7
  259. package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
  260. package/dist/engine/renderers/Indicator/structure.js +2 -2
  261. package/dist/engine/renderers/Indicator/structure.js.map +1 -1
  262. package/dist/engine/renderers/Indicator/supertrend.d.ts +1 -8
  263. package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
  264. package/dist/engine/renderers/Indicator/supertrend.js +2 -2
  265. package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
  266. package/dist/engine/renderers/Indicator/tema.d.ts +1 -7
  267. package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
  268. package/dist/engine/renderers/Indicator/tema.js +3 -17
  269. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  270. package/dist/engine/renderers/Indicator/trix.d.ts +1 -8
  271. package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
  272. package/dist/engine/renderers/Indicator/trix.js +2 -2
  273. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  274. package/dist/engine/renderers/Indicator/vma.d.ts +1 -7
  275. package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
  276. package/dist/engine/renderers/Indicator/vma.js +3 -15
  277. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  278. package/dist/engine/renderers/Indicator/volumeProfile.d.ts +1 -7
  279. package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
  280. package/dist/engine/renderers/Indicator/volumeProfile.js +2 -2
  281. package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
  282. package/dist/engine/renderers/Indicator/vwap.d.ts +1 -7
  283. package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
  284. package/dist/engine/renderers/Indicator/vwap.js +3 -14
  285. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  286. package/dist/engine/renderers/Indicator/wma.d.ts +1 -7
  287. package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
  288. package/dist/engine/renderers/Indicator/wma.js +3 -17
  289. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  290. package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -22
  291. package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
  292. package/dist/engine/renderers/Indicator/wmsr.js +8 -23
  293. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  294. package/dist/engine/renderers/Indicator/zones.d.ts +1 -6
  295. package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
  296. package/dist/engine/renderers/Indicator/zones.js +2 -2
  297. package/dist/engine/renderers/Indicator/zones.js.map +1 -1
  298. package/dist/engine/renderers/candle.d.ts +0 -16
  299. package/dist/engine/renderers/candle.d.ts.map +1 -1
  300. package/dist/engine/renderers/candle.js +1 -1
  301. package/dist/engine/renderers/candle.js.map +1 -1
  302. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
  303. package/dist/engine/renderers/comparisonLine.js +2 -0
  304. package/dist/engine/renderers/comparisonLine.js.map +1 -1
  305. package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
  306. package/dist/engine/renderers/extremaMarkers.js +2 -0
  307. package/dist/engine/renderers/extremaMarkers.js.map +1 -1
  308. package/dist/engine/renderers/gridLines.d.ts.map +1 -1
  309. package/dist/engine/renderers/gridLines.js +7 -35
  310. package/dist/engine/renderers/gridLines.js.map +1 -1
  311. package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
  312. package/dist/engine/renderers/lastPrice.js +7 -2
  313. package/dist/engine/renderers/lastPrice.js.map +1 -1
  314. package/dist/engine/renderers/leftYAxis.d.ts +11 -0
  315. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -0
  316. package/dist/engine/renderers/leftYAxis.js +79 -0
  317. package/dist/engine/renderers/leftYAxis.js.map +1 -0
  318. package/dist/engine/renderers/subVolume.d.ts +1 -13
  319. package/dist/engine/renderers/subVolume.d.ts.map +1 -1
  320. package/dist/engine/renderers/subVolume.js +1 -1
  321. package/dist/engine/renderers/subVolume.js.map +1 -1
  322. package/dist/engine/renderers/timeAxis.d.ts +0 -2
  323. package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
  324. package/dist/engine/renderers/timeAxis.js +4 -1
  325. package/dist/engine/renderers/timeAxis.js.map +1 -1
  326. package/dist/engine/renderers/timeShare.d.ts +3 -0
  327. package/dist/engine/renderers/timeShare.d.ts.map +1 -0
  328. package/dist/engine/renderers/timeShare.js +260 -0
  329. package/dist/engine/renderers/timeShare.js.map +1 -0
  330. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  331. package/dist/engine/renderers/yAxis.js +25 -23
  332. package/dist/engine/renderers/yAxis.js.map +1 -1
  333. package/dist/engine/scale/price.d.ts +0 -7
  334. package/dist/engine/scale/price.d.ts.map +1 -1
  335. package/dist/engine/scale/price.js +3 -2
  336. package/dist/engine/scale/price.js.map +1 -1
  337. package/dist/engine/theme/fonts.d.ts +0 -2
  338. package/dist/engine/theme/fonts.d.ts.map +1 -1
  339. package/dist/engine/theme/fonts.js +1 -1
  340. package/dist/engine/theme/fonts.js.map +1 -1
  341. package/dist/engine/utils/klineConfig.d.ts.map +1 -1
  342. package/dist/engine/utils/klineConfig.js +1 -5
  343. package/dist/engine/utils/klineConfig.js.map +1 -1
  344. package/dist/engine/utils/tickPosition.d.ts +12 -0
  345. package/dist/engine/utils/tickPosition.d.ts.map +1 -1
  346. package/dist/engine/utils/tickPosition.js +15 -0
  347. package/dist/engine/utils/tickPosition.js.map +1 -1
  348. package/dist/engine/viewport/chartViewportManager.d.ts +0 -4
  349. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  350. package/dist/engine/viewport/chartViewportManager.js +10 -13
  351. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  352. package/dist/plugin/types.d.ts +10 -0
  353. package/dist/plugin/types.d.ts.map +1 -1
  354. package/dist/plugin/types.js.map +1 -1
  355. package/dist/semantic/types.d.ts +1 -1
  356. package/dist/semantic/types.d.ts.map +1 -1
  357. package/dist/tokens/theme-base.d.ts +5 -0
  358. package/dist/tokens/theme-base.d.ts.map +1 -0
  359. package/dist/tokens/theme-base.js +31 -0
  360. package/dist/tokens/theme-base.js.map +1 -0
  361. package/dist/tokens/theme-china.d.ts.map +1 -1
  362. package/dist/tokens/theme-china.js +3 -0
  363. package/dist/tokens/theme-china.js.map +1 -1
  364. package/dist/tokens/theme-dark.d.ts.map +1 -1
  365. package/dist/tokens/theme-dark.js +11 -30
  366. package/dist/tokens/theme-dark.js.map +1 -1
  367. package/dist/tokens/theme-light.d.ts.map +1 -1
  368. package/dist/tokens/theme-light.js +11 -30
  369. package/dist/tokens/theme-light.js.map +1 -1
  370. package/dist/tokens/types.d.ts +7 -0
  371. package/dist/tokens/types.d.ts.map +1 -1
  372. package/dist/types/price.d.ts +8 -0
  373. package/dist/types/price.d.ts.map +1 -1
  374. package/dist/types/price.js +4 -0
  375. package/dist/types/price.js.map +1 -1
  376. package/dist/utils/dateFormat.d.ts +5 -42
  377. package/dist/utils/dateFormat.d.ts.map +1 -1
  378. package/dist/utils/dateFormat.js +24 -4
  379. package/dist/utils/dateFormat.js.map +1 -1
  380. package/dist/utils/kLineDraw/axis.d.ts +9 -28
  381. package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
  382. package/dist/utils/kLineDraw/axis.js +33 -58
  383. package/dist/utils/kLineDraw/axis.js.map +1 -1
  384. package/dist/utils/volumePrice.d.ts +0 -40
  385. package/dist/utils/volumePrice.d.ts.map +1 -1
  386. package/dist/utils/volumePrice.js +2 -2
  387. package/dist/utils/volumePrice.js.map +1 -1
  388. package/dist/version.d.ts +1 -1
  389. package/dist/version.js +1 -1
  390. package/package.json +1 -1
  391. package/src/config/chartSettings.ts +8 -1
  392. package/src/controllers/createChartController.ts +59 -2
  393. package/src/controllers/types.ts +38 -17
  394. package/src/data-fetchers/__tests__/dataBuffer.test.ts +39 -5
  395. package/src/data-fetchers/baostock.ts +1 -1
  396. package/src/data-fetchers/dataBuffer.ts +48 -11
  397. package/src/data-fetchers/dataBufferTypes.ts +11 -0
  398. package/src/data-fetchers/fetcherDefinitionRegistry.ts +14 -4
  399. package/src/data-fetchers/gotdx/gotdx.ts +6 -0
  400. package/src/data-fetchers/gotdx.ts +45 -7
  401. package/src/data-fetchers/hundred-mock.ts +1 -1
  402. package/src/data-fetchers/index.ts +10 -20
  403. package/src/data-fetchers/router.ts +12 -1
  404. package/src/data-fetchers/thousand-mock.ts +1 -1
  405. package/src/data-fetchers/timeShareBuffer.ts +92 -0
  406. package/src/data-fetchers/tradingview.ts +2 -2
  407. package/src/data-fetchers/types.ts +15 -2
  408. package/src/engine/__tests__/chart.dpr.test.ts +1 -0
  409. package/src/engine/chart.ts +167 -9
  410. package/src/engine/chartTypes.ts +3 -0
  411. package/src/engine/controller/__tests__/interaction.dpr.test.ts +2 -0
  412. package/src/engine/controller/interaction.ts +80 -28
  413. package/src/engine/data/chartDataManager.ts +560 -229
  414. package/src/engine/draw/pixelAlign.ts +1 -1
  415. package/src/engine/indicators/__tests__/_propertyAssertions.ts +2 -2
  416. package/src/engine/indicators/__tests__/registerBuiltins.test.ts +1 -1
  417. package/src/engine/indicators/calculators.ts +83 -233
  418. package/src/engine/indicators/chartIndicatorManager.ts +3 -2
  419. package/src/engine/indicators/macdState.ts +1 -1
  420. package/src/engine/indicators/registerBuiltins.ts +1 -0
  421. package/src/engine/indicators/rsiState.ts +1 -1
  422. package/src/engine/indicators/scheduler.ts +1 -7
  423. package/src/engine/layout/chartPaneLayout.ts +26 -6
  424. package/src/engine/modes/kLineMode.ts +57 -0
  425. package/src/engine/modes/timeShareMode.ts +95 -0
  426. package/src/engine/modes/types.ts +63 -0
  427. package/src/engine/paneRenderer.ts +37 -46
  428. package/src/engine/render/chartRenderer.ts +120 -22
  429. package/src/engine/renderers/Indicator/atr.ts +4 -29
  430. package/src/engine/renderers/Indicator/boll.ts +3 -24
  431. package/src/engine/renderers/Indicator/cci.ts +9 -27
  432. package/src/engine/renderers/Indicator/chaikinVol.ts +3 -23
  433. package/src/engine/renderers/Indicator/cmf.ts +3 -22
  434. package/src/engine/renderers/Indicator/dema.ts +5 -26
  435. package/src/engine/renderers/Indicator/donchian.ts +3 -3
  436. package/src/engine/renderers/Indicator/ene.ts +3 -24
  437. package/src/engine/renderers/Indicator/expma.ts +2 -2
  438. package/src/engine/renderers/Indicator/fastk.ts +12 -95
  439. package/src/engine/renderers/Indicator/fib.ts +2 -2
  440. package/src/engine/renderers/Indicator/hma.ts +5 -26
  441. package/src/engine/renderers/Indicator/hv.ts +3 -23
  442. package/src/engine/renderers/Indicator/ichimoku.ts +3 -3
  443. package/src/engine/renderers/Indicator/kama.ts +5 -26
  444. package/src/engine/renderers/Indicator/keltner.ts +3 -3
  445. package/src/engine/renderers/Indicator/kst.ts +3 -3
  446. package/src/engine/renderers/Indicator/ma.ts +1 -1
  447. package/src/engine/renderers/Indicator/macd.ts +4 -21
  448. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +127 -2
  449. package/src/engine/renderers/Indicator/mfi.ts +3 -22
  450. package/src/engine/renderers/Indicator/mom.ts +9 -30
  451. package/src/engine/renderers/Indicator/obv.ts +3 -21
  452. package/src/engine/renderers/Indicator/parkinson.ts +3 -23
  453. package/src/engine/renderers/Indicator/pivot.ts +2 -2
  454. package/src/engine/renderers/Indicator/pvt.ts +3 -21
  455. package/src/engine/renderers/Indicator/roc.ts +4 -23
  456. package/src/engine/renderers/Indicator/rsi.ts +4 -4
  457. package/src/engine/renderers/Indicator/sar.ts +3 -3
  458. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +11 -4
  459. package/src/engine/renderers/Indicator/shared/dashedLines.ts +81 -0
  460. package/src/engine/renderers/Indicator/shared/titleInfo.ts +52 -0
  461. package/src/engine/renderers/Indicator/shared/webglBand.ts +23 -0
  462. package/src/engine/renderers/Indicator/stoch.ts +6 -71
  463. package/src/engine/renderers/Indicator/structure.ts +2 -2
  464. package/src/engine/renderers/Indicator/supertrend.ts +3 -3
  465. package/src/engine/renderers/Indicator/tema.ts +5 -26
  466. package/src/engine/renderers/Indicator/trix.ts +3 -3
  467. package/src/engine/renderers/Indicator/vma.ts +3 -22
  468. package/src/engine/renderers/Indicator/volumeProfile.ts +2 -2
  469. package/src/engine/renderers/Indicator/vwap.ts +3 -21
  470. package/src/engine/renderers/Indicator/wma.ts +5 -26
  471. package/src/engine/renderers/Indicator/wmsr.ts +9 -30
  472. package/src/engine/renderers/Indicator/zones.ts +2 -2
  473. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +30 -26
  474. package/src/engine/renderers/candle.ts +1 -1
  475. package/src/engine/renderers/comparisonLine.ts +1 -0
  476. package/src/engine/renderers/extremaMarkers.ts +1 -0
  477. package/src/engine/renderers/gridLines.ts +7 -36
  478. package/src/engine/renderers/lastPrice.ts +5 -2
  479. package/src/engine/renderers/leftYAxis.ts +93 -0
  480. package/src/engine/renderers/subVolume.ts +3 -3
  481. package/src/engine/renderers/timeAxis.ts +16 -13
  482. package/src/engine/renderers/timeShare.ts +271 -0
  483. package/src/engine/renderers/yAxis.ts +28 -24
  484. package/src/engine/scale/price.ts +2 -2
  485. package/src/engine/theme/fonts.ts +1 -1
  486. package/src/engine/utils/klineConfig.ts +1 -5
  487. package/src/engine/utils/tickPosition.ts +34 -0
  488. package/src/engine/viewport/chartViewportManager.ts +11 -15
  489. package/src/plugin/types.ts +11 -0
  490. package/src/semantic/types.ts +1 -1
  491. package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +14 -0
  492. package/src/tokens/theme-base.ts +36 -0
  493. package/src/tokens/theme-china.ts +4 -0
  494. package/src/tokens/theme-dark.ts +12 -32
  495. package/src/tokens/theme-light.ts +13 -33
  496. package/src/tokens/types.ts +9 -0
  497. package/src/types/price.ts +13 -0
  498. package/src/utils/dateFormat.ts +27 -4
  499. package/src/utils/kLineDraw/axis.ts +40 -107
  500. package/src/utils/volumePrice.ts +2 -2
  501. package/src/version.ts +1 -1
@@ -36,10 +36,27 @@ export class PaneRenderer {
36
36
  mainCtx: this.dom.mainCanvas.getContext('2d'),
37
37
  overlayCtx: this.dom.overlayCanvas.getContext('2d'),
38
38
  yAxisCtx: this.dom.yAxisCanvas.getContext('2d'),
39
+ leftAxisCtx: this.dom.leftYAxisCanvas?.getContext('2d') ?? null,
39
40
  };
40
41
  }
41
42
  return this.contexts;
42
43
  }
44
+ static resizeCanvas(canvas, widthPx, heightPx, dpr) {
45
+ if (canvas.width !== widthPx) {
46
+ canvas.width = widthPx;
47
+ }
48
+ if (canvas.height !== heightPx) {
49
+ canvas.height = heightPx;
50
+ }
51
+ const cssW = `${widthPx / dpr}px`;
52
+ if (canvas.style.width !== cssW) {
53
+ canvas.style.width = cssW;
54
+ }
55
+ const cssH = `${heightPx / dpr}px`;
56
+ if (canvas.style.height !== cssH) {
57
+ canvas.style.height = cssH;
58
+ }
59
+ }
43
60
  getWebGL() {
44
61
  return this.webgl;
45
62
  }
@@ -63,50 +80,20 @@ export class PaneRenderer {
63
80
  const canvasYAxisWidth = parentClientWidth > 0 ? parentClientWidth : fallbackYAxisWidth;
64
81
  // Main Canvas
65
82
  const mainWidth = Math.round(width * dpr);
66
- if (mainCanvas.width !== mainWidth) {
67
- mainCanvas.width = mainWidth;
68
- }
69
83
  const mainHeight = Math.round(height * dpr);
70
- if (mainCanvas.height !== mainHeight) {
71
- mainCanvas.height = mainHeight;
72
- }
73
- const mainCssWidth = `${mainWidth / dpr}px`;
74
- if (mainCanvas.style.width !== mainCssWidth) {
75
- mainCanvas.style.width = mainCssWidth;
76
- }
77
- const mainCssHeight = `${mainHeight / dpr}px`;
78
- if (mainCanvas.style.height !== mainCssHeight) {
79
- mainCanvas.style.height = mainCssHeight;
80
- }
84
+ PaneRenderer.resizeCanvas(mainCanvas, mainWidth, mainHeight, dpr);
81
85
  // Overlay Canvas - 与 Main Canvas 相同尺寸
82
- if (overlayCanvas.width !== mainWidth) {
83
- overlayCanvas.width = mainWidth;
84
- }
85
- if (overlayCanvas.height !== mainHeight) {
86
- overlayCanvas.height = mainHeight;
87
- }
88
- if (overlayCanvas.style.width !== mainCssWidth) {
89
- overlayCanvas.style.width = mainCssWidth;
90
- }
91
- if (overlayCanvas.style.height !== mainCssHeight) {
92
- overlayCanvas.style.height = mainCssHeight;
93
- }
86
+ PaneRenderer.resizeCanvas(overlayCanvas, mainWidth, mainHeight, dpr);
94
87
  // YAxis Canvas
95
88
  const yAxisWidth = Math.round(canvasYAxisWidth * dpr);
96
- if (yAxisCanvas.width !== yAxisWidth) {
97
- yAxisCanvas.width = yAxisWidth;
98
- }
99
- const yAxisHeight = Math.round(height * dpr);
100
- if (yAxisCanvas.height !== yAxisHeight) {
101
- yAxisCanvas.height = yAxisHeight;
102
- }
103
- const yAxisCssWidth = `${yAxisWidth / dpr}px`;
104
- if (yAxisCanvas.style.width !== yAxisCssWidth) {
105
- yAxisCanvas.style.width = yAxisCssWidth;
106
- }
107
- const yAxisCssHeight = `${yAxisHeight / dpr}px`;
108
- if (yAxisCanvas.style.height !== yAxisCssHeight) {
109
- yAxisCanvas.style.height = yAxisCssHeight;
89
+ PaneRenderer.resizeCanvas(yAxisCanvas, yAxisWidth, Math.round(height * dpr), dpr);
90
+ // Left YAxis Canvas
91
+ const leftCanvas = this.dom.leftYAxisCanvas;
92
+ if (leftCanvas) {
93
+ const fallbackLeftAxisWidth = this.opt.leftAxisWidth;
94
+ const leftParentWidth = leftCanvas.parentElement?.clientWidth ?? 0;
95
+ const canvasLeftAxisWidth = leftParentWidth > 0 ? leftParentWidth : fallbackLeftAxisWidth;
96
+ PaneRenderer.resizeCanvas(leftCanvas, Math.round(Math.max(canvasLeftAxisWidth, 0) * dpr), Math.round(height * dpr), dpr);
110
97
  }
111
98
  this.webgl.candleSurface?.resize(width, height, dpr);
112
99
  this.webgl.lineSurface?.resize(width, height, dpr);
@@ -1 +1 @@
1
- {"version":3,"file":"paneRenderer.js","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paneRenderer.js","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import type { KLineData } from '../../types/price';
2
1
  import type { ChartSettings } from '../../config/chartSettings';
3
2
  import type { PluginHostImpl } from '../../plugin';
4
3
  import { RendererPluginManager } from '../../plugin';
5
- import type { ChartDom, ChartOptions, KLinePositions, Viewport } from '../chartTypes';
4
+ import type { ChartDom, ChartOptions } from '../chartTypes';
6
5
  import { PaneRenderer } from '../paneRenderer';
7
6
  import { SharedWebGLSurface } from '../renderers/webgl/sharedWebGLSurface';
8
7
  import { MarkerManager } from '../marker/registry';
@@ -11,32 +10,12 @@ import { ChartDataManager } from '../data/chartDataManager';
11
10
  import { ChartIndicatorManager } from '../indicators/chartIndicatorManager';
12
11
  import { InteractionController } from '../controller/interaction';
13
12
  import { UpdateLevel } from '../layout/pane';
14
- import type { VisibleRange } from '../layout/pane';
15
13
  import { DrawingStore } from '../drawing';
14
+ import type { ChartModeHandler } from '../modes/types';
16
15
  type ResolvedChartOptions = Omit<ChartOptions, 'kWidth' | 'kGap'> & {
17
16
  kWidth: number;
18
17
  kGap: number;
19
18
  };
20
- export type FrameContext = {
21
- vp: Viewport;
22
- range: VisibleRange;
23
- kLinePositions: KLinePositions;
24
- kLineCenters: number[];
25
- kBarRects: Array<{
26
- x: number;
27
- width: number;
28
- }>;
29
- kWidthPx: number;
30
- useCachedFrame: boolean;
31
- data: KLineData[];
32
- mainIndicatorRange: {
33
- min: number;
34
- max: number;
35
- } | null;
36
- hasCrosshair: boolean;
37
- zoomLevel: number;
38
- zoomLevelCount: number;
39
- };
40
19
  export interface RendererDependencies {
41
20
  getDom: () => ChartDom;
42
21
  getOption: () => ResolvedChartOptions;
@@ -51,6 +30,7 @@ export interface RendererDependencies {
51
30
  getViewportManager: () => ChartViewportManager;
52
31
  getDataManager: () => ChartDataManager;
53
32
  getIndicatorManager: () => ChartIndicatorManager;
33
+ getActiveMode: () => ChartModeHandler;
54
34
  }
55
35
  export declare class ChartRenderer {
56
36
  private deps;
@@ -73,6 +53,7 @@ export declare class ChartRenderer {
73
53
  scheduleDraw(level?: UpdateLevel): void;
74
54
  draw(level?: UpdateLevel): void;
75
55
  private prepareFrameData;
56
+ private clearAxisCtx;
76
57
  clearAllCanvases(): void;
77
58
  private renderPanes;
78
59
  private renderXAxis;
@@ -1 +1 @@
1
- {"version":3,"file":"chartRenderer.d.ts","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,KAAK,EAA0C,cAAc,EAAiE,MAAM,cAAc,CAAA;AACzJ,OAAO,EAAE,qBAAqB,EAAgB,MAAM,cAAc,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAY,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAA;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAazC,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,kBAAkB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,QAAQ,CAAA;IACtB,SAAS,EAAE,MAAM,oBAAoB,CAAA;IACrC,gBAAgB,EAAE,MAAM,YAAY,EAAE,CAAA;IACtC,cAAc,EAAE,MAAM,qBAAqB,CAAA;IAC3C,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;IAC/C,aAAa,EAAE,MAAM,cAAc,CAAA;IACnC,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;IACrD,QAAQ,EAAE,MAAM,OAAO,GAAG,MAAM,CAAA;IAChC,mBAAmB,EAAE,MAAM,MAAM,CAAA;IACjC,iBAAiB,EAAE,MAAM,MAAM,CAAA;IAC/B,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;IAC9C,cAAc,EAAE,MAAM,gBAAgB,CAAA;IACtC,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;CACjD;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAsB;IAElC,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,kBAAkB,CAA+B;IAEzD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAwC;IAExD,OAAO,CAAC,eAAe,CAOR;gBAEH,IAAI,EAAE,oBAAoB;IAMtC,iBAAiB,IAAI,IAAI;IAiDzB,sBAAsB,IAAI,IAAI;IAK9B,OAAO,CAAC,gBAAgB;IAOxB,gBAAgB,IAAI,aAAa;IAIjC,eAAe,IAAI,YAAY;IAI/B,WAAW,IAAI,aAAa;IAI5B,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI7C,YAAY,CAAC,KAAK,GAAE,WAA6B,GAAG,IAAI;IA8BxD,IAAI,CAAC,KAAK,GAAE,WAA6B,GAAG,IAAI;IA6BhD,OAAO,CAAC,gBAAgB;IAyFxB,gBAAgB,IAAI,IAAI;IAkBxB,OAAO,CAAC,WAAW;IAsHnB,OAAO,CAAC,WAAW;IA4EnB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,kBAAkB;IAY1B,gBAAgB,IAAI,IAAI;IAIxB,OAAO,IAAI,IAAI;CAQhB"}
1
+ {"version":3,"file":"chartRenderer.d.ts","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getVisibleRange } from '../viewport/viewport';
2
+ import { calculateTickCount } from '../utils/tickCount';
2
3
  import { wrapPaneInfo } from '../../plugin';
3
4
  import { MarkerManager } from '../marker/registry';
4
5
  import { getPhysicalKLineConfig } from '../utils/klineConfig';
@@ -13,6 +14,7 @@ import { createLastPriceLineRendererPlugin, createLastPriceLabelRegistrarPlugin
13
14
  import { createCustomMarkersRenderer } from '../renderers/customMarkers';
14
15
  import { createExtremaMarkersRendererPlugin } from '../renderers/extremaMarkers';
15
16
  import { createYAxisRendererPlugin } from '../renderers/yAxis';
17
+ import { createLeftYAxisRendererPlugin } from '../renderers/leftYAxis';
16
18
  import { createCrosshairRendererPlugin } from '../renderers/crosshair';
17
19
  import { createTimeAxisRendererPlugin } from '../renderers/timeAxis';
18
20
  export class ChartRenderer {
@@ -65,6 +67,19 @@ export class ChartRenderer {
65
67
  price: interaction.crosshairPrice,
66
68
  }),
67
69
  }));
70
+ this.useDrawingPlugin(createLeftYAxisRendererPlugin({
71
+ axisWidth: opt.leftAxisWidth,
72
+ yPaddingPx: opt.yPaddingPx,
73
+ getCrosshair: () => {
74
+ const pos = interaction.crosshairPos;
75
+ const price = interaction.crosshairPrice;
76
+ const activePaneId = interaction.activePaneId;
77
+ if (pos && price !== null) {
78
+ return { y: pos.y, price, activePaneId };
79
+ }
80
+ return null;
81
+ },
82
+ }));
68
83
  this.useDrawingPlugin(createTimeAxisRendererPlugin({
69
84
  height: opt.bottomAxisHeight,
70
85
  getCrosshair: () => {
@@ -120,8 +135,16 @@ export class ChartRenderer {
120
135
  const levelToDraw = this.pendingUpdateLevel;
121
136
  this.pendingUpdateLevel = UpdateLevel.All;
122
137
  this.draw(levelToDraw);
123
- const c = this.deps.getDom().container;
138
+ const dom = this.deps.getDom();
139
+ const c = dom.container;
124
140
  if (c) {
141
+ const scrollContent = dom.scrollContent;
142
+ if (scrollContent) {
143
+ const dataManager = this.deps.getDataManager();
144
+ const w = Math.max(dataManager.getContentWidth(), dataManager.getLeftLoadBufferWidth()) + 'px';
145
+ if (scrollContent.style.width !== w)
146
+ scrollContent.style.width = w;
147
+ }
125
148
  this.deps.getViewportManager().applyPendingScrollLeft(c);
126
149
  }
127
150
  });
@@ -130,15 +153,20 @@ export class ChartRenderer {
130
153
  this.markerManager.clear();
131
154
  const frame = this.prepareFrameData(level);
132
155
  if (!frame) {
133
- if (this.deps.getDataManager().getInternalData().length === 0)
156
+ const dataManager = this.deps.getDataManager();
157
+ if (dataManager.getInternalData().length === 0 && dataManager.getTimeShareData().length === 0)
134
158
  this.clearAllCanvases();
135
159
  return;
136
160
  }
137
161
  const { vp, range, kLinePositions, kLineCenters, kBarRects, kWidthPx, useCachedFrame } = frame;
138
- this.deps.getInteraction().setKLinePositions(kLinePositions, range, kWidthPx);
139
- const indicatorManager = this.deps.getIndicatorManager();
140
- indicatorManager.indicatorSchedulerAccessor.setActiveMainIndicators([...indicatorManager.mainIndicatorsSignalPeek.entries()].map(([id, entry]) => ({ id, params: entry.params })));
141
- const mainIndicatorRange = useCachedFrame ? null : indicatorManager.indicatorSchedulerAccessor.getMainIndicatorPriceRange();
162
+ this.deps.getInteraction().setKLinePositions(kLinePositions, range, kWidthPx, kLineCenters);
163
+ const dataManager = this.deps.getDataManager();
164
+ const mode = this.deps.getActiveMode();
165
+ if (mode.useIndicatorScheduler) {
166
+ const indicatorManager = this.deps.getIndicatorManager();
167
+ indicatorManager.indicatorSchedulerAccessor.setActiveMainIndicators([...indicatorManager.mainIndicatorsSignalPeek.entries()].map(([id, entry]) => ({ id, params: entry.params })));
168
+ }
169
+ const mainIndicatorRange = useCachedFrame ? null : this.deps.getIndicatorManager().indicatorSchedulerAccessor.getMainIndicatorPriceRange();
142
170
  const hasCrosshair = this.deps.getInteraction().getCrosshairIndex() !== null;
143
171
  const { sharedXAxisLabels, sharedXAxisRanges } = this.renderPanes(vp, range, kLinePositions, kLineCenters, kBarRects, kWidthPx, mainIndicatorRange, hasCrosshair, useCachedFrame, level);
144
172
  this.overlayHadCrosshair = hasCrosshair;
@@ -149,7 +177,7 @@ export class ChartRenderer {
149
177
  const vp = useCachedFrame ? this.cachedDrawFrame.viewport : this.deps.getViewportManager().computeViewport();
150
178
  if (!vp)
151
179
  return null;
152
- const internalData = this.deps.getDataManager().getInternalData();
180
+ const internalData = this.deps.getDataManager().getRenderData();
153
181
  if (internalData.length === 0)
154
182
  return null;
155
183
  const opt = this.deps.getOption();
@@ -161,11 +189,14 @@ export class ChartRenderer {
161
189
  })();
162
190
  const range = { start: Math.max(0, rawRange.start), end: rawRange.end };
163
191
  const dataManager = this.deps.getDataManager();
192
+ const mode = this.deps.getActiveMode();
164
193
  if (!useCachedFrame && (range.start !== dataManager.lastVisibleRange.start
165
194
  || range.end !== dataManager.lastVisibleRange.end
166
195
  || rawRange.start !== dataManager.lastRawVisibleRange.start
167
196
  || rawRange.end !== dataManager.lastRawVisibleRange.end)) {
168
- this.deps.getIndicatorManager().indicatorSchedulerAccessor.updateVisibleRange(range);
197
+ if (mode.useIndicatorScheduler) {
198
+ this.deps.getIndicatorManager().indicatorSchedulerAccessor.updateVisibleRange(range);
199
+ }
169
200
  dataManager.lastVisibleRange = range;
170
201
  dataManager.lastRawVisibleRange = rawRange;
171
202
  this.checkVisibleRangeGapWhenIdle();
@@ -196,7 +227,35 @@ export class ChartRenderer {
196
227
  const barLeftPx = wickXPx - (barWidthPx - 1) / 2;
197
228
  kBarRects[i] = { x: barLeftPx / vp.dpr, width: barWidthPx / vp.dpr };
198
229
  }
199
- kWidthPx = getPhysicalKLineConfig(opt.kWidth, opt.kGap, vp.dpr).kWidthPx;
230
+ if (mode.debugName === 'TimeShare') {
231
+ const totalWidth = vp.plotWidth;
232
+ const count = kLineCenters.length;
233
+ if (count > 0) {
234
+ const dpr = vp.dpr;
235
+ const step = totalWidth / count;
236
+ for (let i = 0; i < count; i++) {
237
+ kLineCenters[i] = Math.round((i + 0.5) * step * dpr) / dpr;
238
+ kLinePositions[i] = Math.round(i * step * dpr) / dpr;
239
+ }
240
+ kWidthPx = Math.round(totalWidth * dpr / count);
241
+ const logicalBarWidth = Math.max(1, step * 0.6);
242
+ const barWidthPx = Math.round(logicalBarWidth * dpr);
243
+ const halfBarPx = Math.floor(barWidthPx / 2);
244
+ for (let i = 0; i < count; i++) {
245
+ const centerPx = Math.round(kLineCenters[i] * dpr);
246
+ kBarRects[i] = {
247
+ x: (centerPx - halfBarPx) / dpr,
248
+ width: barWidthPx / dpr,
249
+ };
250
+ }
251
+ }
252
+ else {
253
+ kWidthPx = getPhysicalKLineConfig(opt.kWidth, opt.kGap, vp.dpr).kWidthPx;
254
+ }
255
+ }
256
+ else {
257
+ kWidthPx = getPhysicalKLineConfig(opt.kWidth, opt.kGap, vp.dpr).kWidthPx;
258
+ }
200
259
  this.cachedDrawFrame = {
201
260
  viewport: { ...vp },
202
261
  range: { ...range },
@@ -215,16 +274,28 @@ export class ChartRenderer {
215
274
  zoomLevelCount: this.deps.getZoomLevelCount(),
216
275
  };
217
276
  }
277
+ clearAxisCtx(ctx, dpr, width, height) {
278
+ ctx.setTransform(1, 0, 0, 1, 0, 0);
279
+ ctx.scale(dpr, dpr);
280
+ ctx.clearRect(0, 0, width, height + 2 / dpr);
281
+ }
218
282
  clearAllCanvases() {
219
283
  const vp = this.deps.getViewportManager().computeViewport();
220
284
  if (!vp)
221
285
  return;
222
286
  for (const r of this.deps.getPaneRenderers()) {
223
- const { mainCtx, overlayCtx, yAxisCtx } = r.getContexts();
287
+ const { mainCtx, overlayCtx, yAxisCtx, leftAxisCtx } = r.getContexts();
224
288
  const pane = r.getPane();
225
289
  mainCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
226
290
  overlayCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
227
291
  yAxisCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
292
+ if (leftAxisCtx) {
293
+ const leftCanvas = leftAxisCtx.canvas;
294
+ if (leftCanvas) {
295
+ const laW = leftCanvas.width / vp.dpr;
296
+ leftAxisCtx.clearRect(0, 0, laW, pane.height + 2 / vp.dpr);
297
+ }
298
+ }
228
299
  }
229
300
  const xCtx = this.xAxisCtx;
230
301
  if (xCtx) {
@@ -241,15 +312,16 @@ export class ChartRenderer {
241
312
  const dataManager = this.deps.getDataManager();
242
313
  const rendererPluginManager = this.deps.getRendererPluginManager();
243
314
  const pluginHost = this.deps.getPluginHost();
315
+ const mode = this.deps.getActiveMode();
244
316
  for (const renderer of this.deps.getPaneRenderers()) {
245
317
  const pane = renderer.getPane();
246
- const { mainCtx, overlayCtx, yAxisCtx } = renderer.getContexts();
318
+ const { mainCtx, overlayCtx, yAxisCtx, leftAxisCtx } = renderer.getContexts();
247
319
  const { candleSurface, lineSurface } = renderer.getWebGL();
248
320
  if (!useCachedFrame) {
249
- const indicatorRange = pane.role === 'price' ? mainIndicatorRange : null;
321
+ const indicatorRange = pane.role === 'price' && mode.useIndicatorScheduler ? mainIndicatorRange : null;
250
322
  const comparisonRange = pane.id === 'main' ? dataManager.getComparisonEquivalentPriceRange(range) : null;
251
323
  const mergedRange = this.mergeNumericRanges(indicatorRange, comparisonRange);
252
- pane.updateRange(dataManager.getInternalData(), range, mergedRange);
324
+ mode.updatePaneRange(pane, range, dataManager, mergedRange);
253
325
  if (pane.id === 'main' && this.settings.disableMainPaneVerticalScroll) {
254
326
  pane.yAxis.resetTransform();
255
327
  }
@@ -271,16 +343,18 @@ export class ChartRenderer {
271
343
  }
272
344
  if (yAxisCtx && !useCachedFrame) {
273
345
  const yAxisWidth = yAxisCtx.canvas.width / vp.dpr;
274
- yAxisCtx.setTransform(1, 0, 0, 1, 0, 0);
275
- yAxisCtx.scale(vp.dpr, vp.dpr);
276
- yAxisCtx.clearRect(0, 0, yAxisWidth, pane.height + 2 / vp.dpr);
346
+ this.clearAxisCtx(yAxisCtx, vp.dpr, yAxisWidth, pane.height);
347
+ }
348
+ if (leftAxisCtx && !useCachedFrame) {
349
+ const leftAxisWidth = leftAxisCtx.canvas.width / vp.dpr;
350
+ this.clearAxisCtx(leftAxisCtx, vp.dpr, leftAxisWidth, pane.height);
277
351
  }
278
352
  const opt = this.deps.getOption();
279
353
  const context = {
280
354
  ctx: mainCtx,
281
355
  overlayCtx: overlayCtx ?? undefined,
282
356
  pane: wrapPaneInfo(pane),
283
- data: dataManager.getInternalData(),
357
+ data: dataManager.getRenderData(),
284
358
  period: dataManager.currentPeriod,
285
359
  comparisonData: dataManager.getComparisonData(),
286
360
  comparisonSymbols: dataManager.getComparisonSpecs(),
@@ -297,6 +371,7 @@ export class ChartRenderer {
297
371
  markerManager: this.markerManager,
298
372
  crosshairIndex: this.deps.getInteraction().getCrosshairIndex(),
299
373
  yAxisCtx: yAxisCtx ?? undefined,
374
+ leftAxisCtx: leftAxisCtx ?? undefined,
300
375
  candleWebGLSurface: candleSurface ?? undefined,
301
376
  lineWebGLSurface: lineSurface ?? undefined,
302
377
  zoomLevel: this.deps.getCurrentZoomLevel(),
@@ -315,6 +390,22 @@ export class ChartRenderer {
315
390
  isAsiaMarket: this.settings.isAsiaMarket,
316
391
  colorPresetSettings: this.settings.colorPresetSettings,
317
392
  };
393
+ {
394
+ const pt = pane.yAxis.getPaddingTop();
395
+ const pb = pane.yAxis.getPaddingBottom();
396
+ const yStart = pt;
397
+ const yEnd = Math.max(pt, pane.height - pb);
398
+ const viewH = Math.max(0, yEnd - yStart);
399
+ const tickCount = Math.max(2, calculateTickCount(pane.height, pane.role === 'price'));
400
+ const yAxisTicks = [];
401
+ for (let i = 0; i < tickCount; i++) {
402
+ const t = tickCount <= 1 ? 0 : i / (tickCount - 1);
403
+ const y = yStart + t * viewH;
404
+ const value = pane.yAxis.yToPrice(y);
405
+ yAxisTicks.push({ y, value });
406
+ }
407
+ context.yAxisTicks = yAxisTicks;
408
+ }
318
409
  if (shouldUpdateMain || shouldUpdateOverlay) {
319
410
  const errors = rendererPluginManager.render(pane.id, context, level);
320
411
  if (errors.length > 0) {
@@ -324,6 +415,10 @@ export class ChartRenderer {
324
415
  if (yAxisErrors.length > 0) {
325
416
  pluginHost.events.emit('renderer:error', { paneId: pane.id, errors: yAxisErrors });
326
417
  }
418
+ const leftAxisErrors = rendererPluginManager.renderPlugin('leftYAxis', context);
419
+ if (leftAxisErrors.length > 0) {
420
+ pluginHost.events.emit('renderer:error', { paneId: pane.id, errors: leftAxisErrors });
421
+ }
327
422
  }
328
423
  }
329
424
  return { sharedXAxisLabels, sharedXAxisRanges };
@@ -365,7 +460,7 @@ export class ChartRenderer {
365
460
  priceRange: { maxPrice: 0, minPrice: 0 },
366
461
  },
367
462
  period: this.deps.getDataManager().currentPeriod,
368
- data: this.deps.getDataManager().getInternalData(),
463
+ data: this.deps.getDataManager().getRenderData(),
369
464
  range,
370
465
  scrollLeft: vp.scrollLeft,
371
466
  kWidth: opt.kWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"chartRenderer.js","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartRenderer.js","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,2 @@
1
- import type { RendererPluginWithHost, PluginHost } from '../../../plugin';
2
- import type { KLineData } from '../../../types/price';
3
- export interface ATRRendererOptions {
4
- paneId?: string;
5
- }
6
- export declare function createATRRendererPlugin(options?: ATRRendererOptions): RendererPluginWithHost;
7
- /**
8
- * 获取 ATR 标题信息(供 paneTitle 使用)
9
- */
10
- export declare function getATRTitleInfo(_data: KLineData[], index: number | null, params: Record<string, number | boolean | string>, pluginHost: PluginHost, paneId: string): {
11
- name: string;
12
- params: number[];
13
- values: Array<{
14
- label: string;
15
- value: number;
16
- color: string;
17
- }>;
18
- } | null;
1
+ export {};
19
2
  //# sourceMappingURL=atr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atr.d.ts","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/atr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAiB,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAYxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMrD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAgBD,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,kBAAuB,GAAG,sBAAsB,CAmJhG;AAyBD;;GAEG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,EACjD,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAgB3G"}
1
+ {"version":3,"file":"atr.d.ts","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/atr.ts"],"names":[],"mappings":""}
@@ -41,6 +41,7 @@ import { Indicator } from '../../indicators/indicatorDefinitionRegistry';
41
41
  import { resolveStateKey } from '../../indicators/indicatorMetadata';
42
42
  import { createAtrScaleRendererPlugin } from './scale/atr_scale';
43
43
  import { calcATRData } from '../../indicators/calculators';
44
+ import { createSingleLineTitleInfo } from './shared/titleInfo';
44
45
  const ATR_COLOR = '#d97706';
45
46
  function getATRStateKey(host, paneId) {
46
47
  const scheduler = host?.getService('indicatorScheduler');
@@ -55,7 +56,7 @@ function getATRStateKey(host, paneId) {
55
56
  }
56
57
  return resolveStateKey(meta.stateKey, paneId);
57
58
  }
58
- export function createATRRendererPlugin(options = {}) {
59
+ function createATRRendererPlugin(options = {}) {
59
60
  const { paneId = 'sub_ATR' } = options;
60
61
  let pluginHost = null;
61
62
  function resolveKey() {
@@ -193,27 +194,7 @@ function drawWithCanvas2D(ctx, scrollLeft, points, atrColor) {
193
194
  ctx.stroke();
194
195
  ctx.restore();
195
196
  }
196
- /**
197
- * 获取 ATR 标题信息(供 paneTitle 使用)
198
- */
199
- export function getATRTitleInfo(_data, index, params, pluginHost, paneId) {
200
- if (index === null)
201
- return null;
202
- const period = params.period ?? 14;
203
- const state = pluginHost.getSharedState(createATRStateKey(paneId));
204
- if (!state)
205
- return null;
206
- const atr = state.series[index];
207
- if (atr === undefined)
208
- return null;
209
- return {
210
- name: 'ATR',
211
- params: [period],
212
- values: [
213
- { label: 'ATR', value: atr, color: ATR_COLOR },
214
- ],
215
- };
216
- }
197
+ const getATRTitleInfo = createSingleLineTitleInfo({ createStateKey: createATRStateKey, name: 'ATR', defaultPeriod: 14, color: ATR_COLOR });
217
198
  let ATRIndicatorDefinition = (() => {
218
199
  let _classDecorators = [Indicator({
219
200
  name: 'atr',