ngrx-forms
Version:
Proper integration of forms in Angular 4 applications using ngrx
11 lines • 3.21 kB
JavaScript
import { MoveArrayControlAction } from '../actions';
import { formArrayReducer } from '../array/reducer';
import { isArrayState } from '../state';
import { ensureState } from './util';
export function moveArrayControl(indexOrState, fromIndex, toIndex) {
if (isArrayState(indexOrState)) {
return formArrayReducer(indexOrState, new MoveArrayControlAction(indexOrState.id, fromIndex, toIndex));
}
return (s) => moveArrayControl(ensureState(s), indexOrState, fromIndex);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1hcnJheS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VwZGF0ZS1mdW5jdGlvbi9tb3ZlLWFycmF5LWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFjckMsTUFBTSxVQUFVLGdCQUFnQixDQUFTLFlBQTZDLEVBQUUsU0FBaUIsRUFBRSxPQUFnQjtJQUN6SCxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUM5QixPQUFPLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQVEsQ0FBQyxDQUFDLENBQUM7S0FDekc7SUFFRCxPQUFPLENBQUMsQ0FBeUIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQXNCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vdmVBcnJheUNvbnRyb2xBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgZm9ybUFycmF5UmVkdWNlciB9IGZyb20gJy4uL2FycmF5L3JlZHVjZXInO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXlTdGF0ZSwgaXNBcnJheVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xyXG5pbXBvcnQgeyBlbnN1cmVTdGF0ZSB9IGZyb20gJy4vdXRpbCc7XHJcblxyXG4vKipcclxuICogVGhpcyB1cGRhdGUgZnVuY3Rpb24gdGFrZXMgYSBzb3VyY2UgaW5kZXgsIGEgZGVzdGluYXRpb24gaW5kZXgsIGFuZCByZXR1cm5zIGEgcHJvamVjdGlvbiBmdW5jdGlvblxyXG4gKiB0aGF0IG1vdmVzIHRoZSBjaGlsZCBjb250cm9sIGF0IHRoZSBzb3VyY2UgaW5kZXggdG8gdGhlIGRlc3RpbmF0aW9uIGluZGV4IGZyb20gYSBmb3JtIGFycmF5IHN0YXRlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVBcnJheUNvbnRyb2woZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IDxUVmFsdWU+KHN0YXRlOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+KSA9PiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+O1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgdXBkYXRlIGZ1bmN0aW9uIHRha2VzIGEgZm9ybSBhcnJheSBzdGF0ZSwgYSBzb3VyY2UgaW5kZXgsIGEgZGVzdGluYXRpb24gaW5kZXggYW5kIG1vdmVzIHRoZVxyXG4gKiBjaGlsZCBjb250cm9sIGF0IHRoZSBzb3VyY2UgaW5kZXggdG8gdGhlIGRlc3RpbmF0aW9uIGluZGV4IGluIHRoZSBmb3JtIGFycmF5IHN0YXRlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVBcnJheUNvbnRyb2w8VFZhbHVlPihzdGF0ZTogRm9ybUFycmF5U3RhdGU8VFZhbHVlPiwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT47XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbW92ZUFycmF5Q29udHJvbDxUVmFsdWU+KGluZGV4T3JTdGF0ZTogbnVtYmVyIHwgRm9ybUFycmF5U3RhdGU8VFZhbHVlPiwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg/OiBudW1iZXIpIHtcclxuICBpZiAoaXNBcnJheVN0YXRlKGluZGV4T3JTdGF0ZSkpIHtcclxuICAgIHJldHVybiBmb3JtQXJyYXlSZWR1Y2VyKGluZGV4T3JTdGF0ZSwgbmV3IE1vdmVBcnJheUNvbnRyb2xBY3Rpb24oaW5kZXhPclN0YXRlLmlkLCBmcm9tSW5kZXgsIHRvSW5kZXghKSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gKHM6IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT4pID0+IG1vdmVBcnJheUNvbnRyb2woZW5zdXJlU3RhdGUocyksIGluZGV4T3JTdGF0ZSBhcyBudW1iZXIsIGZyb21JbmRleCk7XHJcbn1cclxuIl19