UNPKG

ngrx-forms

Version:

Proper integration of forms in Angular 4 applications using ngrx

93 lines 10 kB
import { Directive, HostBinding, Input } from '@angular/core'; import * as i0 from "@angular/core"; /** * Lists the available status class names based on the property * they are depending on. */ export const NGRX_STATUS_CLASS_NAMES = { isValid: 'ngrx-forms-valid', isInvalid: 'ngrx-forms-invalid', isDirty: 'ngrx-forms-dirty', isPristine: 'ngrx-forms-pristine', isTouched: 'ngrx-forms-touched', isUntouched: 'ngrx-forms-untouched', isSubmitted: 'ngrx-forms-submitted', isUnsubmitted: 'ngrx-forms-unsubmitted', isValidationPending: 'ngrx-forms-validation-pending', }; export class NgrxStatusCssClassesDirective { set ngrxFormControlState(state) { this.state = state; } set ngrxFormState(state) { this.state = state; } get isValid() { return this.state.isValid; } get isInvalid() { return this.state.isInvalid; } get isDirty() { return this.state.isDirty; } get isPristine() { return this.state.isPristine; } get isTouched() { return this.state.isTouched; } get isUntouched() { return this.state.isUntouched; } get isSubmitted() { return this.state.isSubmitted; } get isUnsubmitted() { return this.state.isUnsubmitted; } get isValidationPending() { return this.state.isValidationPending; } } NgrxStatusCssClassesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgrxStatusCssClassesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); NgrxStatusCssClassesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgrxStatusCssClassesDirective, selector: "form[ngrxFormState],[ngrxFormControlState]", inputs: { ngrxFormControlState: "ngrxFormControlState", ngrxFormState: "ngrxFormState" }, host: { properties: { "class.ngrx-forms-valid": "this.isValid", "class.ngrx-forms-invalid": "this.isInvalid", "class.ngrx-forms-dirty": "this.isDirty", "class.ngrx-forms-pristine": "this.isPristine", "class.ngrx-forms-touched": "this.isTouched", "class.ngrx-forms-untouched": "this.isUntouched", "class.ngrx-forms-submitted": "this.isSubmitted", "class.ngrx-forms-unsubmitted": "this.isUnsubmitted", "class.ngrx-forms-validation-pending": "this.isValidationPending" } }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgrxStatusCssClassesDirective, decorators: [{ type: Directive, args: [{ // tslint:disable-next-line:directive-selector selector: 'form[ngrxFormState],[ngrxFormControlState]', }] }], propDecorators: { ngrxFormControlState: [{ type: Input }], ngrxFormState: [{ type: Input }], isValid: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isValid}`] }], isInvalid: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isInvalid}`] }], isDirty: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isDirty}`] }], isPristine: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isPristine}`] }], isTouched: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isTouched}`] }], isUntouched: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isUntouched}`] }], isSubmitted: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isSubmitted}`] }], isUnsubmitted: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isUnsubmitted}`] }], isValidationPending: [{ type: HostBinding, args: [`class.${NGRX_STATUS_CLASS_NAMES.isValidationPending}`] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWNzcy1jbGFzc2VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0dXMtY3NzLWNsYXNzZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHOUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixTQUFTLEVBQUUsb0JBQW9CO0lBQy9CLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsVUFBVSxFQUFFLHFCQUFxQjtJQUNqQyxTQUFTLEVBQUUsb0JBQW9CO0lBQy9CLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxhQUFhLEVBQUUsd0JBQXdCO0lBQ3ZDLG1CQUFtQixFQUFFLCtCQUErQjtDQUNyRCxDQUFDO0FBTUYsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUNJLG9CQUFvQixDQUFDLEtBQWdDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNJLGFBQWEsQ0FBQyxLQUFnQztRQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDO0lBQ3hDLENBQUM7OzJIQXhEVSw2QkFBNkI7K0dBQTdCLDZCQUE2Qjs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLDRDQUE0QztpQkFDdkQ7OEJBS0ssb0JBQW9CO3NCQUR2QixLQUFLO2dCQU1GLGFBQWE7c0JBRGhCLEtBQUs7Z0JBTUYsT0FBTztzQkFEVixXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLENBQUMsT0FBTyxFQUFFO2dCQU1uRCxTQUFTO3NCQURaLFdBQVc7dUJBQUMsU0FBUyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUU7Z0JBTXJELE9BQU87c0JBRFYsV0FBVzt1QkFBQyxTQUFTLHVCQUF1QixDQUFDLE9BQU8sRUFBRTtnQkFNbkQsVUFBVTtzQkFEYixXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLENBQUMsVUFBVSxFQUFFO2dCQU10RCxTQUFTO3NCQURaLFdBQVc7dUJBQUMsU0FBUyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUU7Z0JBTXJELFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxTQUFTLHVCQUF1QixDQUFDLFdBQVcsRUFBRTtnQkFNdkQsV0FBVztzQkFEZCxXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLENBQUMsV0FBVyxFQUFFO2dCQU12RCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLENBQUMsYUFBYSxFQUFFO2dCQU16RCxtQkFBbUI7c0JBRHRCLFdBQVc7dUJBQUMsU0FBUyx1QkFBdUIsQ0FBQyxtQkFBbUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbFN0YXRlIH0gZnJvbSAnLi9zdGF0ZSc7XHJcblxyXG4vKipcclxuICogTGlzdHMgdGhlIGF2YWlsYWJsZSBzdGF0dXMgY2xhc3MgbmFtZXMgYmFzZWQgb24gdGhlIHByb3BlcnR5XHJcbiAqIHRoZXkgYXJlIGRlcGVuZGluZyBvbi5cclxuICovXHJcbmV4cG9ydCBjb25zdCBOR1JYX1NUQVRVU19DTEFTU19OQU1FUyA9IHtcclxuICBpc1ZhbGlkOiAnbmdyeC1mb3Jtcy12YWxpZCcsXHJcbiAgaXNJbnZhbGlkOiAnbmdyeC1mb3Jtcy1pbnZhbGlkJyxcclxuICBpc0RpcnR5OiAnbmdyeC1mb3Jtcy1kaXJ0eScsXHJcbiAgaXNQcmlzdGluZTogJ25ncngtZm9ybXMtcHJpc3RpbmUnLFxyXG4gIGlzVG91Y2hlZDogJ25ncngtZm9ybXMtdG91Y2hlZCcsXHJcbiAgaXNVbnRvdWNoZWQ6ICduZ3J4LWZvcm1zLXVudG91Y2hlZCcsXHJcbiAgaXNTdWJtaXR0ZWQ6ICduZ3J4LWZvcm1zLXN1Ym1pdHRlZCcsXHJcbiAgaXNVbnN1Ym1pdHRlZDogJ25ncngtZm9ybXMtdW5zdWJtaXR0ZWQnLFxyXG4gIGlzVmFsaWRhdGlvblBlbmRpbmc6ICduZ3J4LWZvcm1zLXZhbGlkYXRpb24tcGVuZGluZycsXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdmb3JtW25ncnhGb3JtU3RhdGVdLFtuZ3J4Rm9ybUNvbnRyb2xTdGF0ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdyeFN0YXR1c0Nzc0NsYXNzZXNEaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgc3RhdGU6IEFic3RyYWN0Q29udHJvbFN0YXRlPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5ncnhGb3JtQ29udHJvbFN0YXRlKHN0YXRlOiBBYnN0cmFjdENvbnRyb2xTdGF0ZTxhbnk+KSB7XHJcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBuZ3J4Rm9ybVN0YXRlKHN0YXRlOiBBYnN0cmFjdENvbnRyb2xTdGF0ZTxhbnk+KSB7XHJcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7TkdSWF9TVEFUVVNfQ0xBU1NfTkFNRVMuaXNWYWxpZH1gKVxyXG4gIGdldCBpc1ZhbGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNWYWxpZDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtOR1JYX1NUQVRVU19DTEFTU19OQU1FUy5pc0ludmFsaWR9YClcclxuICBnZXQgaXNJbnZhbGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNJbnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke05HUlhfU1RBVFVTX0NMQVNTX05BTUVTLmlzRGlydHl9YClcclxuICBnZXQgaXNEaXJ0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmlzRGlydHk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7TkdSWF9TVEFUVVNfQ0xBU1NfTkFNRVMuaXNQcmlzdGluZX1gKVxyXG4gIGdldCBpc1ByaXN0aW5lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNQcmlzdGluZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtOR1JYX1NUQVRVU19DTEFTU19OQU1FUy5pc1RvdWNoZWR9YClcclxuICBnZXQgaXNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNUb3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke05HUlhfU1RBVFVTX0NMQVNTX05BTUVTLmlzVW50b3VjaGVkfWApXHJcbiAgZ2V0IGlzVW50b3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNVbnRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7TkdSWF9TVEFUVVNfQ0xBU1NfTkFNRVMuaXNTdWJtaXR0ZWR9YClcclxuICBnZXQgaXNTdWJtaXR0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1N1Ym1pdHRlZDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtOR1JYX1NUQVRVU19DTEFTU19OQU1FUy5pc1Vuc3VibWl0dGVkfWApXHJcbiAgZ2V0IGlzVW5zdWJtaXR0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1Vuc3VibWl0dGVkO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke05HUlhfU1RBVFVTX0NMQVNTX05BTUVTLmlzVmFsaWRhdGlvblBlbmRpbmd9YClcclxuICBnZXQgaXNWYWxpZGF0aW9uUGVuZGluZygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmlzVmFsaWRhdGlvblBlbmRpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==