Sha256: 84955c0319450d73c84c6966233b27c457190d019742dae72b3c771dbd30f686

Contents?: true

Size: 1.02 KB

Versions: 37

Compression:

Stored size: 1.02 KB

Contents

class Format {
  constructor() {
    this.formatSelector = document.getElementsByClassName('js-format-selector')[0]
    if (this.formatSelector) {
      this.formatChanged(this.formatSelector.value, false)
      this.formatSelector.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) {
        this.formatSelector.value = format
        this.formatChanged(format, false)
      }
    }
  }
}

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
nexmo-oas-renderer-0.11.3 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.11.2 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.11.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.11.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.10.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.9.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.8.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.7.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.7.0 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.6 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.5 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.4 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.3 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.2 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.6.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.5.6 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.5.5 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.5.4 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.5.2 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js
nexmo-oas-renderer-0.5.1 lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js