Sha256: 78de0028f5a30f70d2384ba015e690cf4f0113d56a659db4b93d88edb625c493
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
import {VErrors} from './errors'; import {VUrls} from '../../utils/urls'; export class VBase extends VUrls { constructor(options) { super(); this.options = options; } clearErrors() { new VErrors().clearErrors(); } parentElement() { return document.getElementById(this.options.__parent_id__); } inputValues(form) { let params = []; // If tagged input is asked for. Fetch all the matching tag elements and then call any bound components if (this.options.input_tag !== undefined) { var taggedInputs = document.querySelectorAll('[data-input-tag=' + this.options.input_tag + ']'); for (let input of taggedInputs) { if (input.vComponent && typeof input.vComponent.prepareSubmit === 'function') { input.vComponent.prepareSubmit(params); } } } // Let input components push parameters let vComp = this.component(); if (vComp && typeof vComp.prepareSubmit === 'function') { vComp.prepareSubmit(params); } return params; } component() { let parent = this.parentElement(); return parent ? parent.vComponent : null; } validate() { let errors = []; let comp = this.component(); if (comp) { errors = comp.validate(); } return errors; } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
voom-presenters-0.2.0 | views/mdc/assets/js/components/events/base.js |