UNPKG

ngrx-forms

Version:

Proper integration of forms in Angular 4 applications using ngrx

22 lines 3.74 kB
import { EnableAction } from '../../actions'; import { computeArrayState } from '../../state'; import { childReducer, dispatchActionPerChild } from './util'; export function enableReducer(state, action) { if (action.type !== EnableAction.TYPE) { return state; } if (action.controlId !== state.id) { return childReducer(state, action); } const controls = dispatchActionPerChild(state.controls, controlId => new EnableAction(controlId)); if (controls === state.controls && state.isEnabled) { return state; } return computeArrayState(state.id, controls, state.value, state.errors, state.pendingValidations, state.userDefinedProperties, { wasOrShouldBeDirty: state.isDirty, wasOrShouldBeEnabled: true, wasOrShouldBeTouched: state.isTouched, wasOrShouldBeSubmitted: state.isSubmitted, }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FycmF5L3JlZHVjZXIvZW5hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFrQixNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlELE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQTZCLEVBQzdCLE1BQXlCO0lBRXpCLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxFQUFFO1FBQ3JDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNqQyxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDcEM7SUFFRCxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUVsRyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7UUFDbEQsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE9BQU8saUJBQWlCLENBQ3RCLEtBQUssQ0FBQyxFQUFFLEVBQ1IsUUFBUSxFQUNSLEtBQUssQ0FBQyxLQUFLLEVBQ1gsS0FBSyxDQUFDLE1BQU0sRUFDWixLQUFLLENBQUMsa0JBQWtCLEVBQ3hCLEtBQUssQ0FBQyxxQkFBcUIsRUFDM0I7UUFDRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNqQyxvQkFBb0IsRUFBRSxJQUFJO1FBQzFCLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQ3JDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxXQUFXO0tBQzFDLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25zLCBFbmFibGVBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgY29tcHV0ZUFycmF5U3RhdGUsIEZvcm1BcnJheVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xyXG5pbXBvcnQgeyBjaGlsZFJlZHVjZXIsIGRpc3BhdGNoQWN0aW9uUGVyQ2hpbGQgfSBmcm9tICcuL3V0aWwnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZVJlZHVjZXI8VFZhbHVlPihcclxuICBzdGF0ZTogRm9ybUFycmF5U3RhdGU8VFZhbHVlPixcclxuICBhY3Rpb246IEFjdGlvbnM8VFZhbHVlW10+LFxyXG4pOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+IHtcclxuICBpZiAoYWN0aW9uLnR5cGUgIT09IEVuYWJsZUFjdGlvbi5UWVBFKSB7XHJcbiAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBpZiAoYWN0aW9uLmNvbnRyb2xJZCAhPT0gc3RhdGUuaWQpIHtcclxuICAgIHJldHVybiBjaGlsZFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBjb25zdCBjb250cm9scyA9IGRpc3BhdGNoQWN0aW9uUGVyQ2hpbGQoc3RhdGUuY29udHJvbHMsIGNvbnRyb2xJZCA9PiBuZXcgRW5hYmxlQWN0aW9uKGNvbnRyb2xJZCkpO1xyXG5cclxuICBpZiAoY29udHJvbHMgPT09IHN0YXRlLmNvbnRyb2xzICYmIHN0YXRlLmlzRW5hYmxlZCkge1xyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbXB1dGVBcnJheVN0YXRlKFxyXG4gICAgc3RhdGUuaWQsXHJcbiAgICBjb250cm9scyxcclxuICAgIHN0YXRlLnZhbHVlLFxyXG4gICAgc3RhdGUuZXJyb3JzLFxyXG4gICAgc3RhdGUucGVuZGluZ1ZhbGlkYXRpb25zLFxyXG4gICAgc3RhdGUudXNlckRlZmluZWRQcm9wZXJ0aWVzLFxyXG4gICAge1xyXG4gICAgICB3YXNPclNob3VsZEJlRGlydHk6IHN0YXRlLmlzRGlydHksXHJcbiAgICAgIHdhc09yU2hvdWxkQmVFbmFibGVkOiB0cnVlLFxyXG4gICAgICB3YXNPclNob3VsZEJlVG91Y2hlZDogc3RhdGUuaXNUb3VjaGVkLFxyXG4gICAgICB3YXNPclNob3VsZEJlU3VibWl0dGVkOiBzdGF0ZS5pc1N1Ym1pdHRlZCxcclxuICAgIH0sXHJcbiAgKTtcclxufVxyXG4iXX0=