feat: 분봉 크로스헤어 툴팁에 '당일시가 대비 등락률' 추가
분봉 차트 클릭(세로선) 시 OHLC 팝업에 그 봉 종가의 당일 시가(첫 봉) 대비 등락률을 표시 — 그 시점까지의 오늘 누적 등락을 한눈에. 일봉은 미표시(분봉만). - render_svg_chart(intraday=) → meta.dayOpen(첫 봉 시가, 분봉만) 주입 - 분봉 엔드포인트 intraday=True - _setOhlcText: 당일시가대비 라인 + 팝업 박스/닫기버튼 동적 리사이즈 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7317,8 +7317,14 @@ def render_html() -> str:
|
||||
'xTipTxt.appendChild(_mkTspan({"font-size":24,"font-weight":500},_pctStr(c.l,c.o),lcol));'
|
||||
'xTipTxt.appendChild(_mkTspan({x:16,dy:34,"font-size":28,"font-weight":700},"종 "+c.c.toLocaleString()+" ",ccol));'
|
||||
'xTipTxt.appendChild(_mkTspan({"font-size":24,"font-weight":700},_pctStr(c.c,c.o),ccol));'
|
||||
# 분봉: 당일 시가(첫 봉) 대비 등락률 — 그 시점까지의 오늘 누적 등락.
|
||||
'var hasDO=meta.dayOpen&&meta.dayOpen>0;'
|
||||
'if(hasDO){xTipTxt.appendChild(_mkTspan({x:16,dy:32,"font-size":23,"font-weight":600},"당일시가대비 "+_pctStr(c.c,meta.dayOpen),_col(c.c,meta.dayOpen)));}'
|
||||
# 팝업 위치 — vline 의 반대 쪽으로 자동 배치 (좌/우). 화면 벗어남 방지 clamp.
|
||||
'var tipW=320,tipH=176,gap=10;'
|
||||
'var tipW=340,tipH=hasDO?212:176,gap=10;'
|
||||
# 당일시가 라인 유무에 따라 배경 박스·닫기버튼 위치 동적 조정.
|
||||
'xTipBg.setAttribute("width",tipW);xTipBg.setAttribute("height",tipH);'
|
||||
'closeG.setAttribute("transform","translate("+(tipW-20)+",20)");'
|
||||
'var tipX=xPos+gap;'
|
||||
'if(tipX+tipW>meta.chartW-meta.padR)tipX=xPos-gap-tipW;'
|
||||
'if(tipX<meta.padL)tipX=meta.padL+2;'
|
||||
@@ -10055,7 +10061,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
prev_close = _pc
|
||||
except Exception:
|
||||
pass
|
||||
svg = sa.render_svg_chart(snap, range_key='1Y', ref_price=prev_close)
|
||||
svg = sa.render_svg_chart(snap, range_key='1Y', ref_price=prev_close, intraday=True)
|
||||
body = svg.encode('utf-8')
|
||||
body, enc = _maybe_gzip(body, self.headers.get('Accept-Encoding'))
|
||||
self.send_response(200)
|
||||
|
||||
Reference in New Issue
Block a user