Sha256: 2683bed0c01472b320fecffb1a255a5d588cc9bf23c7f890a7ef496670dfa929
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
import {MDCSelect} from '@material/select'; import {VBaseComponent, hookupComponents} from './base-component'; import {eventHandlerMixin} from './mixins/event-handler'; export function initSelects() { console.log('\tSelects'); hookupComponents('.v-select', VSelect, MDCSelect); } export class VSelect extends eventHandlerMixin(VBaseComponent) { constructor(element, mdcComponent) { super(element, mdcComponent); this.select = element.querySelector('select'); this.select.vComponent = this; } prepareSubmit(params) { params.push([this.name(), this.value()]); } name() { return this.select.name; } value() { return this.select.options.length === 0 ? null : this.select.options[this.select.selectedIndex].value; } clear() { let before = this.select.selectedIndex; this.select.selectedIndex = 0; if (before !== 0) { var event = new InputEvent('input', { view: window, bubbles: true, cancelable: true }); this.select .dispatchEvent(event); } } setValue(value) { this.select.value = value; } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
voom-presenters-0.2.0 | views/mdc/assets/js/components/selects.js |