Sha256: e96a18ebdb8b90864c9f6005382ca167d6be919b7aa335c645defa82d1c18295
Contents?: true
Size: 915 Bytes
Versions: 1
Compression:
Stored size: 915 Bytes
Contents
import {VBaseContainer} from "./base-container"; import {VBaseComponent, hookupComponents} from "./base-component"; import {eventHandlerMixin} from "./mixins/event-handler"; export function initFileInputs() { console.log('\tFile Inputs'); hookupComponents('.v-file-input', VFileInput, null); } export class VFileInput extends eventHandlerMixin(VBaseComponent) { constructor(element, mdcComponent) { super(element, mdcComponent); this.input = element.querySelector('input[type=file]'); this.label = element.querySelector('label'); ['change', 'mouseup'].forEach((e) => { element.addEventListener(e, () => this.handleFileSelection()); }); } // From an example based on: https://www.quirksmode.org/dom/inputfile.html handleFileSelection() { if (!this.input.value) return; var value = this.input.value.replace(/^.*[\\\/]/, ''); this.label.innerText = value; } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
voom-presenters-0.2.0 | views/mdc/assets/js/components/file-inputs.js |