getSavedPriceScaleMode: (target: PriceScaleTarget) => PriceScaleMode;
togglePriceScaleMode: (target: PriceScaleTarget, mode: PriceScaleMode) => void;
private priceScaleControlsController!: PriceScaleControlsController;
if (isMainPane) {
this.lwcPane = this.lwcChart.panes()[MAIN_PANE_INDEX];
} else {
this.lwcPane = this.lwcChart.addPane(true);
}
this.priceScaleControlsController = new PriceScaleControlsController({
getPaneElement: () => this.lwcPane.getHTMLElement(),
getPriceScale: (priceScaleId) => this.getPriceScale(priceScaleId),
getPriceScaleTarget: (priceScaleId) => this.getPriceScaleTarget(priceScaleId),
getSavedPriceScaleMode,
togglePriceScaleMode,
});
this.initializeLegend({ ohlcConfig });
public getPriceScale(priceScaleId: string): IPriceScaleApi {
return this.lwcChart.priceScale(priceScaleId, this.paneIndex());
}
public getPriceScaleTarget(priceScaleId: string): PriceScaleTarget {
return {
paneId: this.id,
priceScaleId,
};
}
public updatePriceScaleControls(): void {
this.priceScaleControlsController.update();
}
public resetPriceScalesAutoScale(): void {
this.priceScaleControlsController.resetAutoScale();
}
public updatePriceScaleControls(): void {
this.panesMap.forEach((pane) => {
pane.updatePriceScaleControls();
});
}
public resetPriceScalesAutoScale(): void {
this.panesMap.forEach((pane) => {
pane.resetPriceScalesAutoScale();
});
this.updatePriceScaleControls();
}
this.priceScaleModeController = new PriceScaleModeController({
getPaneById: (paneId) => this.paneManager?.getPaneById(paneId),
initialModes: priceScaleModes,
onChange: () => {
this.priceAxisLabelsController?.invalidate();
this.paneManager?.updatePriceScaleControls();
},
});
public getPriceScaleMode(target: PriceScaleTarget): PriceScaleMode {
return this.priceScaleModeController.getActiveMode(target);
}
public setPriceScaleMode(target: PriceScaleTarget, mode: PriceScaleMode): void {
this.priceScaleModeController.setSavedMode(target, mode);
}
public togglePriceScaleMode(target: PriceScaleTarget, mode: PriceScaleMode): void {
this.priceScaleModeController.toggleSavedMode(target, mode);
}
public getMainPriceScaleTarget(): PriceScaleTarget {
return this.paneManager.getMainPane().getPriceScaleTarget(Direction.Right);
}