저장팝업 텍스트 색상 수정
This commit is contained in:
@@ -1948,6 +1948,10 @@ export class ChartManager {
|
||||
}
|
||||
|
||||
entry.config = config;
|
||||
|
||||
if (this._candleOnlyLayout && this._isSubPaneIndicator(entry)) {
|
||||
this._hideSubPaneIndicator(entry);
|
||||
}
|
||||
}
|
||||
|
||||
/** 메인 차트(캔들) 색상 스타일 즉시 업데이트 */
|
||||
@@ -2146,6 +2150,7 @@ export class ChartManager {
|
||||
} catch { /* ok */ }
|
||||
this.container.style.height = '';
|
||||
this._resetPaneHeightsCandleFullscreen(availableHeight);
|
||||
this._hideAllSubPaneIndicators();
|
||||
} else {
|
||||
this.restoreFromCandleFullscreen(availableHeight);
|
||||
}
|
||||
@@ -2166,6 +2171,8 @@ export class ChartManager {
|
||||
|
||||
this._resetMainPricePan();
|
||||
|
||||
this._restoreSubPaneIndicatorVisibility();
|
||||
|
||||
const H = (availableHeight && availableHeight > 0)
|
||||
? availableHeight
|
||||
: this.container.clientHeight;
|
||||
@@ -2181,6 +2188,62 @@ export class ChartManager {
|
||||
this.autoScale();
|
||||
}
|
||||
|
||||
/** pane 2+ 하단 보조지표 여부 (pane 0 오버레이 제외) */
|
||||
private _isSubPaneIndicator(entry: IndicatorEntry): boolean {
|
||||
return (entry.paneIndex ?? 0) >= 2;
|
||||
}
|
||||
|
||||
/** 캔들 전체보기 — 하단 보조지표 pane 시리즈·기준선 숨김 */
|
||||
private _hideSubPaneIndicator(entry: IndicatorEntry): void {
|
||||
for (const series of entry.seriesList) {
|
||||
try {
|
||||
series.applyOptions({
|
||||
visible: false,
|
||||
lastValueVisible: false,
|
||||
title: '',
|
||||
} as Parameters<ISeriesApi<SeriesType>['applyOptions']>[0]);
|
||||
} catch { /* ok */ }
|
||||
}
|
||||
const first = entry.seriesList[0];
|
||||
if (first) {
|
||||
for (const pl of entry.hlineRefs) {
|
||||
try { first.removePriceLine(pl); } catch { /* ok */ }
|
||||
}
|
||||
entry.hlineRefs = [];
|
||||
if (entry.fillPrimitive) {
|
||||
try { first.detachPrimitive(entry.fillPrimitive); } catch { /* ok */ }
|
||||
}
|
||||
}
|
||||
if (entry.cloudPlugin) {
|
||||
for (const s of entry.seriesList) {
|
||||
try { s.detachPrimitive(entry.cloudPlugin); } catch { /* ok */ }
|
||||
}
|
||||
}
|
||||
detachBbBandFill(entry);
|
||||
}
|
||||
|
||||
private _hideAllSubPaneIndicators(): void {
|
||||
for (const entry of this.indicators.values()) {
|
||||
if (this._isSubPaneIndicator(entry)) {
|
||||
this._hideSubPaneIndicator(entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** 캔들 전체보기 해제 — 하단 보조지표 표시·스타일 복원 */
|
||||
private _restoreSubPaneIndicatorVisibility(): void {
|
||||
for (const entry of this.indicators.values()) {
|
||||
if (!this._isSubPaneIndicator(entry)) continue;
|
||||
if (entry.cloudPlugin) {
|
||||
const host = seriesByPlotId(entry, 'plot3') ?? entry.seriesList[0];
|
||||
if (host) {
|
||||
try { host.attachPrimitive(entry.cloudPlugin); } catch { /* ok */ }
|
||||
}
|
||||
}
|
||||
this.applyIndicatorStyle(entry.config);
|
||||
}
|
||||
}
|
||||
|
||||
/** 실제 보조지표가 붙어 있는 pane index 집합 (2+) */
|
||||
private _activeIndicatorPaneIndices(): Set<number> {
|
||||
const indices = new Set<number>();
|
||||
@@ -2954,6 +3017,8 @@ export class ChartManager {
|
||||
panes[i].setStretchFactor(i === 0 ? 1 : ORPHAN_STRETCH);
|
||||
}
|
||||
|
||||
this._hideAllSubPaneIndicators();
|
||||
|
||||
return H;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user