Sha256: 150fdc4f5c9b398d5b0c2384f6adc1aaa887767735235aabbc070330b29413e8

Contents?: true

Size: 906 Bytes

Versions: 6

Compression:

Stored size: 906 Bytes

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) {
        var params = [];
        // Let input component push parameters
        var vComp = this.component();
        if (vComp) {
            vComp.prepareSubmit(form, params);
        }
        return params;
    }

    component() {
        let parent = this.parentElement();
        return parent ? this.parentElement().vComponent : null;
    }

    validate() {
        var errors = [];
        var comp = this.component();
        if (comp) {
            errors = comp.validate();
        }
        return errors;
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
voom-presenters-0.1.5 views/mdc/assets/js/components/events/base.js
voom-presenters-0.1.4 views/mdc/assets/js/components/events/base.js
voom-presenters-0.1.3 views/mdc/assets/js/components/events/base.js
voom-presenters-0.1.2 views/mdc/assets/js/components/events/base.js
voom-presenters-0.1.1 views/mdc/assets/js/components/events/base.js
voom-presenters-0.1.0 views/mdc/assets/js/components/events/base.js