UNPKG

moh-common-lib

Version:

A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).

79 lines 5.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { AbstractBaseForm } from './abstract-base-form'; /** * @abstract */ export class AbstractReactForm extends AbstractBaseForm { /** * Constructor * @param {?} router */ constructor(router) { super(router); this.router = router; } /** * Determines if the Continue button is disabled on the form action bar * Can be overrided * @return {?} */ canContinue() { // Returns true if form is valid return this.formGroup.valid; } /** * Runs the angular 'markAsTouched()' on all form inputs. * @protected * @param {?=} fg * @return {?} */ markAllInputsTouched(fg = null) { // Passed in parameter, set each as touched if (fg) { if (Array.isArray(fg)) { // For each form mark as touched to display errors return fg.forEach((/** * @param {?} x * @return {?} */ x => { this._markAllAsTouched(x); })); } // Returns true if form is valid this._markAllAsTouched(fg); } else { this._markAllAsTouched(this.formGroup); } } // Temporary until libray forms updated to version. /** * @private * @param {?} fg * @return {?} */ _markAllAsTouched(fg) { /** @type {?} */ const controls = Object.keys(fg.controls); for (const control of controls) { fg.controls[control].markAsTouched(); } } } if (false) { /** * Access to the form elements for validation * @type {?} */ AbstractReactForm.prototype.formGroup; /** * @type {?} * @protected */ AbstractReactForm.prototype.router; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcmVhY3QtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9hYnN0cmFjdC1yZWFjdC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUd4RCxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGdCQUFnQjs7Ozs7SUFROUQsWUFBc0IsTUFBYztRQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFETSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBRXBDLENBQUM7Ozs7OztJQU1ELFdBQVc7UUFFVCxnQ0FBZ0M7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDOzs7Ozs7O0lBR1Msb0JBQW9CLENBQUMsS0FBOEIsSUFBSTtRQUUvRCwyQ0FBMkM7UUFDM0MsSUFBSyxFQUFFLEVBQUc7WUFDUixJQUFLLEtBQUssQ0FBQyxPQUFPLENBQUUsRUFBRSxDQUFFLEVBQUc7Z0JBQ3pCLGtEQUFrRDtnQkFDbEQsT0FBTyxFQUFFLENBQUMsT0FBTzs7OztnQkFBRSxDQUFDLENBQUMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFFLENBQUMsQ0FBRSxDQUFDO2dCQUM5QixDQUFDLEVBQUMsQ0FBQzthQUNKO1lBQ0QsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBRSxFQUFFLENBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFFLElBQUksQ0FBQyxTQUFTLENBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7Ozs7Ozs7SUFHTyxpQkFBaUIsQ0FBQyxFQUFhOztjQUMvQixRQUFRLEdBQWtCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUV4RCxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUM5QixFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztDQUNGOzs7Ozs7SUE3Q0Msc0NBQXFCOzs7OztJQUtULG1DQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWJzdHJhY3RCYXNlRm9ybSB9IGZyb20gJy4vYWJzdHJhY3QtYmFzZS1mb3JtJztcclxuXHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RSZWFjdEZvcm0gZXh0ZW5kcyBBYnN0cmFjdEJhc2VGb3JtIHtcclxuXHJcbiAgLyoqIEFjY2VzcyB0byB0aGUgZm9ybSBlbGVtZW50cyBmb3IgdmFsaWRhdGlvbiAqL1xyXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgc3VwZXIocm91dGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgaWYgdGhlIENvbnRpbnVlIGJ1dHRvbiBpcyBkaXNhYmxlZCBvbiB0aGUgZm9ybSBhY3Rpb24gYmFyXHJcbiAgICogQ2FuIGJlIG92ZXJyaWRlZFxyXG4gICAqL1xyXG4gIGNhbkNvbnRpbnVlKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBmb3JtIGlzIHZhbGlkXHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICAvKiogUnVucyB0aGUgYW5ndWxhciAnbWFya0FzVG91Y2hlZCgpJyBvbiBhbGwgZm9ybSBpbnB1dHMuICovXHJcbiAgcHJvdGVjdGVkIG1hcmtBbGxJbnB1dHNUb3VjaGVkKGZnOiBGb3JtR3JvdXAgfCBGb3JtR3JvdXBbXSA9IG51bGwpOiB2b2lkIHtcclxuXHJcbiAgICAvLyBQYXNzZWQgaW4gcGFyYW1ldGVyLCBzZXQgZWFjaCBhcyB0b3VjaGVkXHJcbiAgICBpZiAoIGZnICkge1xyXG4gICAgICBpZiAoIEFycmF5LmlzQXJyYXkoIGZnICkgKSB7XHJcbiAgICAgICAgLy8gRm9yIGVhY2ggZm9ybSBtYXJrIGFzIHRvdWNoZWQgdG8gZGlzcGxheSBlcnJvcnNcclxuICAgICAgICByZXR1cm4gZmcuZm9yRWFjaCggeCA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9tYXJrQWxsQXNUb3VjaGVkKCB4ICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGZvcm0gaXMgdmFsaWRcclxuICAgICAgdGhpcy5fbWFya0FsbEFzVG91Y2hlZCggZmcgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX21hcmtBbGxBc1RvdWNoZWQoIHRoaXMuZm9ybUdyb3VwICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUZW1wb3JhcnkgdW50aWwgbGlicmF5IGZvcm1zIHVwZGF0ZWQgdG8gdmVyc2lvbi5cclxuICBwcml2YXRlIF9tYXJrQWxsQXNUb3VjaGVkKGZnOiBGb3JtR3JvdXApIHtcclxuICAgIGNvbnN0IGNvbnRyb2xzOiBBcnJheTxzdHJpbmc+ID0gT2JqZWN0LmtleXMoZmcuY29udHJvbHMpO1xyXG5cclxuICAgIGZvciAoY29uc3QgY29udHJvbCBvZiBjb250cm9scykge1xyXG4gICAgICBmZy5jb250cm9sc1tjb250cm9sXS5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==