Sha256: c7e7b084da50df943699dfb7f58d31efc5d41702aff4a3fc5916b5fdf5d46e25

Contents?: true

Size: 1.14 KB

Versions: 15

Compression:

Stored size: 1.14 KB

Contents

class Format {
  constructor() {
    this.formatSelectors = document.getElementsByClassName('js-format-selector');

    if (this.formatSelectors.length) {
      this.formatChanged(this.formatSelectors[0].value, false)
      for (let selector of this.formatSelectors) {
        selector.addEventListener('change', (event) => {
          this.formatChanged(event.target.value)
        })
      }

      this.restoreFormat()
    }
  }

  formatChanged(format, persist = true) {
    for (var item of document.getElementsByClassName('js-format')) {
      item.hidden = true
    }
    for (var item of document.querySelectorAll(`.js-format[data-format='${format}']`)) {
      item.hidden = false
    }

    if (persist) {
      this.persistFormat(format)
    }
  }

  persistFormat(format) {
    if (window.localStorage) {
      window.localStorage.setItem('format', format)
    }
  }

  restoreFormat() {
    if (window.localStorage) {
      const format = window.localStorage.getItem('format')
      if (format) {
        for (let selector of this.formatSelectors) {
          selector.value = format
        }
        this.formatChanged(format, false)
      }
    }
  }
}

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
nexmo-oas-renderer-2.7.2 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.7.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.7.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.6.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.5.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.4.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.4.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.3.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.2.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.1.3 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.1.2 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.1.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.1.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.0.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-2.0.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js