ngrx-forms
Version:
Proper integration of forms in Angular 4 applications using ngrx
11 lines • 2.18 kB
JavaScript
import { StartAsyncValidationAction } from '../../actions';
export function startAsyncValidationReducer(state, action) {
if (action.type !== StartAsyncValidationAction.TYPE) {
return state;
}
if (state.pendingValidations.indexOf(action.name) >= 0) {
return state;
}
return Object.assign(Object.assign({}, state), { pendingValidations: [...state.pendingValidations, action.name], isValidationPending: true });
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtYXN5bmMtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250cm9sL3JlZHVjZXIvc3RhcnQtYXN5bmMtdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEUsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxLQUErQixFQUMvQixNQUF1QjtJQUV2QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssMEJBQTBCLENBQUMsSUFBSSxFQUFFO1FBQ25ELE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0RCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsdUNBQ0ssS0FBSyxLQUNSLGtCQUFrQixFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUM5RCxtQkFBbUIsRUFBRSxJQUFJLElBQ3pCO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMsIFN0YXJ0QXN5bmNWYWxpZGF0aW9uQWN0aW9uIH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sU3RhdGUsIEZvcm1Db250cm9sVmFsdWVUeXBlcyB9IGZyb20gJy4uLy4uL3N0YXRlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdGFydEFzeW5jVmFsaWRhdGlvblJlZHVjZXI8VFZhbHVlIGV4dGVuZHMgRm9ybUNvbnRyb2xWYWx1ZVR5cGVzPihcclxuICBzdGF0ZTogRm9ybUNvbnRyb2xTdGF0ZTxUVmFsdWU+LFxyXG4gIGFjdGlvbjogQWN0aW9uczxUVmFsdWU+LFxyXG4pOiBGb3JtQ29udHJvbFN0YXRlPFRWYWx1ZT4ge1xyXG4gIGlmIChhY3Rpb24udHlwZSAhPT0gU3RhcnRBc3luY1ZhbGlkYXRpb25BY3Rpb24uVFlQRSkge1xyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxuXHJcbiAgaWYgKHN0YXRlLnBlbmRpbmdWYWxpZGF0aW9ucy5pbmRleE9mKGFjdGlvbi5uYW1lKSA+PSAwKSB7XHJcbiAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgLi4uc3RhdGUsXHJcbiAgICBwZW5kaW5nVmFsaWRhdGlvbnM6IFsuLi5zdGF0ZS5wZW5kaW5nVmFsaWRhdGlvbnMsIGFjdGlvbi5uYW1lXSxcclxuICAgIGlzVmFsaWRhdGlvblBlbmRpbmc6IHRydWUsXHJcbiAgfTtcclxufVxyXG4iXX0=