Sha256: 0d0d55cd4ddf185816d2c47875435b5b64bb2207ca9161fffa7ec51c08794c42

Contents?: true

Size: 1.02 KB

Versions: 94

Compression:

Stored size: 1.02 KB

Contents

import Rails from '@rails/ujs';

export default class LocaleSwitcher {
  constructor() {
    this.switcher = document.getElementById('locale-switcher');
    if (this.switcher) {
      this.setupEventListeners();
    }
  }

  setupEventListeners() {
    const self = this;

    window.addEventListener('load', function() {
      let dropdownBtn = self.switcher.querySelector('.Nxd-locale');
      let dropdownOptions = self.switcher.querySelectorAll('.Vlt-dropdown__link');
      let pannel = self.switcher.querySelector('.Vlt-dropdown__panel');

      dropdownOptions.forEach(function(option) {
        option.addEventListener("click", function(event) {
          event.stopPropagation();

          dropdownBtn.innerHTML = option.innerHTML;

          pannel.hidden = true;
          self.localeChangeHandler(option.dataset.locale);
        });
      });
    });
  }

  localeChangeHandler(locale) {
    Rails.ajax({
      url: "/set_user_locale",
      type: "PUT",
      dataType: 'json',
      data: `preferred_locale=${locale}`
    })
  }
}

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
station-0.5.16 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.15 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.14 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.13 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.12 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.11 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.10 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.9 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.8 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.7 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.6 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.5 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.4 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.3 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.2 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.1 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.5.0 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.4.9 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.4.8 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js
station-0.4.7 lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js