Загрузка данных


public hasPriceScaleSeries(priceScaleId: Direction): boolean {
  if (priceScaleId === Direction.Right && this.mainSeries.value) {
    return true;
  }

  const indicators = Array.from(this.indicatorsMap.value.values());

  for (let i = 0; i < indicators.length; i += 1) {
    const series = Array.from(indicators[i].getSeriesMap().values()) as PriceScaleSeriesLike[];

    for (let j = 0; j < series.length; j += 1) {
      if (this.isSeriesOnPriceScale(series[j], priceScaleId)) {
        return true;
      }
    }
  }

  return false;
}

private isSeriesOnPriceScale(series: PriceScaleSeriesLike, priceScaleId: Direction): boolean {
  const options = series.options();
  const seriesPriceScaleId = options.priceScaleId ?? Direction.Right;

  return options.visible !== false && seriesPriceScaleId === priceScaleId;
}


interface PriceScaleSeriesLike {
  options: () => {
    priceScaleId?: string;
    visible?: boolean;
  };
}