UNPKG

truly-ui

Version:

Web Components for Desktop Applications.

20 lines 3.43 kB
import { map } from 'rxjs/internal/operators'; import { ValueAccessorBase } from './value-accessor'; import { message, validate, } from './validate'; export class ElementBase extends ValueAccessorBase { constructor(validators, asyncValidators) { super(); this.validators = validators; this.asyncValidators = asyncValidators; } validate() { return validate(this.validators, this.asyncValidators)(this.model.control); } get invalid() { return this.validate().pipe(map(v => Object.keys(v || {}).length > 0)); } get failures() { return this.validate().pipe(map(v => Object.keys(v).map(k => message(v, k)))); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1bHktdWkvc3JjL2NvbXBvbmVudHMvaW5wdXQvY29yZS9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFJTCxPQUFPLEVBQ1AsUUFBUSxHQUNULE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sT0FBZ0IsV0FBZSxTQUFRLGlCQUFvQjtJQUcvRCxZQUNTLFVBQTBCLEVBQ3pCLGVBQW9DO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSEQsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBRzlDLENBQUM7SUFFUyxRQUFRO1FBQ2hCLE9BQU8sUUFBUSxDQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL2ludGVybmFsL29wZXJhdG9ycyc7XG5cblxuXG5cbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuXG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvckFycmF5LFxuICBWYWxpZGF0b3JBcnJheSxcbiAgVmFsaWRhdGlvblJlc3VsdCxcbiAgbWVzc2FnZSxcbiAgdmFsaWRhdGUsXG59IGZyb20gJy4vdmFsaWRhdGUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWxlbWVudEJhc2U8VD4gZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZTxUPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBtb2RlbDogTmdNb2RlbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdmFsaWRhdG9yczogVmFsaWRhdG9yQXJyYXksXG4gICAgcHJpdmF0ZSBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yQXJyYXksXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsaWRhdGUoKTogT2JzZXJ2YWJsZTxWYWxpZGF0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHZhbGlkYXRlXG4gICAgKHRoaXMudmFsaWRhdG9ycywgdGhpcy5hc3luY1ZhbGlkYXRvcnMpXG4gICAgKHRoaXMubW9kZWwuY29udHJvbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoKS5waXBlKFxuICAgICAgbWFwKHYgPT4gT2JqZWN0LmtleXModiB8fCB7fSkubGVuZ3RoID4gMClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmYWlsdXJlcygpOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZz4+IHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZSgpLnBpcGUoXG4gICAgICBtYXAodiA9PiBPYmplY3Qua2V5cyh2KS5tYXAoayA9PiBtZXNzYWdlKHYsIGspKSlcbiAgICApO1xuICB9XG59XG4iXX0=