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