ngrx-forms
Version:
Proper integration of forms in Angular 4 applications using ngrx
93 lines • 10 kB
JavaScript
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==