Your IP : 216.73.216.79


Current Path : /var/www/html/reddsis/node_modules/apexcharts/src/modules/helpers/
Upload File :
Current File : /var/www/html/reddsis/node_modules/apexcharts/src/modules/helpers/Localization.js

// @ts-check
import Utils from '../../utils/Utils'
import { Environment } from '../../utils/Environment.js'

import en from '../../locales/en.json'

export default class Localization {
  /**
   * @param {import('../../types/internal').ChartStateW} w
   */
  constructor(w) {
    this.w = w
  }

  /**
   * @param {string} localeName
   */
  setCurrentLocaleValues(localeName) {
    let locales = this.w.config.chart.locales

    // check if user has specified locales in global Apex variable
    // if yes - then extend those with local chart's locale
    const globalApex = Environment.getApex()
    if (
      globalApex.chart &&
      globalApex.chart.locales &&
      globalApex.chart.locales.length > 0
    ) {
      locales = this.w.config.chart.locales.concat(globalApex.chart.locales)
    }

    // find the locale from the array of locales which user has set (either by chart.defaultLocale or by calling setLocale() method.)
    const selectedLocale = locales.filter(
      (/** @type {{ name: string }} */ c) => c.name === localeName,
    )[0]

    if (selectedLocale) {
      // create a complete locale object by extending defaults so you don't get undefined errors.
      const ret = Utils.extend(en, selectedLocale)

      // store these locale options in global var for ease access
      this.w.globals.locale = ret.options
    } else {
      throw new Error(
        'Wrong locale name provided. Please make sure you set the correct locale name in options',
      )
    }
  }
}