ngrx-forms
Version:
Proper integration of forms in Angular 4 applications using ngrx
11 lines • 3.06 kB
JavaScript
import { SwapArrayControlAction } from '../actions';
import { formArrayReducer } from '../array/reducer';
import { isArrayState } from '../state';
import { ensureState } from './util';
export function swapArrayControl(indexOrState, fromIndex, toIndex) {
if (isArrayState(indexOrState)) {
return formArrayReducer(indexOrState, new SwapArrayControlAction(indexOrState.id, fromIndex, toIndex));
}
return (s) => swapArrayControl(ensureState(s), indexOrState, fromIndex);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhcC1hcnJheS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VwZGF0ZS1mdW5jdGlvbi9zd2FwLWFycmF5LWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFjckMsTUFBTSxVQUFVLGdCQUFnQixDQUFTLFlBQTZDLEVBQUUsU0FBaUIsRUFBRSxPQUFnQjtJQUN6SCxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUM5QixPQUFPLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQVEsQ0FBQyxDQUFDLENBQUM7S0FDekc7SUFFRCxPQUFPLENBQUMsQ0FBeUIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQXNCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN3YXBBcnJheUNvbnRyb2xBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgZm9ybUFycmF5UmVkdWNlciB9IGZyb20gJy4uL2FycmF5L3JlZHVjZXInO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXlTdGF0ZSwgaXNBcnJheVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xyXG5pbXBvcnQgeyBlbnN1cmVTdGF0ZSB9IGZyb20gJy4vdXRpbCc7XHJcblxyXG4vKipcclxuICogVGhpcyB1cGRhdGUgZnVuY3Rpb24gdGFrZXMgdHdvIGluZGljZXMgYW5kIHJldHVybnMgYSBwcm9qZWN0aW9uIGZ1bmN0aW9uIHRoYXQgc3dhcHMgdGhlXHJcbiAqIGNoaWxkIGNvbnRyb2xzIGF0IHRob3NlIGluZGljZXMgaW4gYSBmb3JtIGFycmF5IHN0YXRlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHN3YXBBcnJheUNvbnRyb2woZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IDxUVmFsdWU+KHN0YXRlOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+KSA9PiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+O1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgdXBkYXRlIGZ1bmN0aW9uIHRha2VzIGEgZm9ybSBhcnJheSBzdGF0ZSBhbmQgdHdvIGluZGljZXMgYW5kIHN3YXBzIHRoZVxyXG4gKiBjaGlsZCBjb250cm9scyBhdCB0aG9zZSBpbmRpY2VzIGluIHRoZSBzdGF0ZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzd2FwQXJyYXlDb250cm9sPFRWYWx1ZT4oc3RhdGU6IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT4sIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN3YXBBcnJheUNvbnRyb2w8VFZhbHVlPihpbmRleE9yU3RhdGU6IG51bWJlciB8IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT4sIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4PzogbnVtYmVyKSB7XHJcbiAgaWYgKGlzQXJyYXlTdGF0ZShpbmRleE9yU3RhdGUpKSB7XHJcbiAgICByZXR1cm4gZm9ybUFycmF5UmVkdWNlcihpbmRleE9yU3RhdGUsIG5ldyBTd2FwQXJyYXlDb250cm9sQWN0aW9uKGluZGV4T3JTdGF0ZS5pZCwgZnJvbUluZGV4LCB0b0luZGV4ISkpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChzOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+KSA9PiBzd2FwQXJyYXlDb250cm9sKGVuc3VyZVN0YXRlKHMpLCBpbmRleE9yU3RhdGUgYXMgbnVtYmVyLCBmcm9tSW5kZXgpO1xyXG59XHJcbiJdfQ==