final-form-arrays
Advanced tools
Comparing version 2.0.0 to 3.0.0
@@ -36,3 +36,4 @@ 'use strict'; | ||
value = _ref[2]; | ||
var changeValue = _ref2.changeValue; | ||
var changeValue = _ref2.changeValue, | ||
resetFieldState = _ref2.resetFieldState; | ||
changeValue(state, name, function (array) { | ||
@@ -55,9 +56,10 @@ var copy = [].concat(array || []); | ||
var incrementedKey = name + "[" + (fieldIndex + 1) + "]" + tokens[2]; | ||
changes[incrementedKey] = state.fields[key]; | ||
changes[incrementedKey] = _extends_1({}, state.fields[key]); // make copy of field state | ||
changes[incrementedKey].name = incrementedKey; | ||
changes[incrementedKey].forceUpdate = true; | ||
changes[incrementedKey].lastFieldState = undefined; | ||
} | ||
if (fieldIndex === index) { | ||
delete state.fields[key]; | ||
resetFieldState(key); | ||
} | ||
@@ -146,3 +148,2 @@ } | ||
focus: state.fields[destKey] && state.fields[destKey].focus, | ||
forceUpdate: true, | ||
lastFieldState: undefined // clearing lastFieldState forces renotification | ||
@@ -159,2 +160,3 @@ | ||
var result; | ||
var removedIndex; | ||
changeValue(state, name, function (array) { | ||
@@ -166,6 +168,17 @@ if (array) { | ||
result = array[array.length - 1]; | ||
return array.slice(0, array.length - 1); | ||
removedIndex = array.length - 1; | ||
result = array[removedIndex]; | ||
return array.slice(0, removedIndex); | ||
} | ||
}); | ||
}); // now we have to remove any subfields for our index, | ||
if (removedIndex !== undefined) { | ||
var pattern = new RegExp("^" + name + "\\[" + removedIndex + "].*"); | ||
Object.keys(state.fields).forEach(function (key) { | ||
if (pattern.test(key)) { | ||
delete state.fields[key]; | ||
} | ||
}); | ||
} | ||
return result; | ||
@@ -217,3 +230,3 @@ }; | ||
state.fields[decrementedKey].name = decrementedKey; | ||
state.fields[decrementedKey].forceUpdate = true; | ||
state.fields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -280,3 +293,3 @@ } | ||
newFields[decrementedKey].name = decrementedKey; | ||
newFields[decrementedKey].forceUpdate = true; | ||
newFields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -283,0 +296,0 @@ } else { |
@@ -24,3 +24,4 @@ function _extends() { | ||
value = _ref[2]; | ||
var changeValue = _ref2.changeValue; | ||
var changeValue = _ref2.changeValue, | ||
resetFieldState = _ref2.resetFieldState; | ||
changeValue(state, name, function (array) { | ||
@@ -43,9 +44,10 @@ var copy = [].concat(array || []); | ||
var incrementedKey = name + "[" + (fieldIndex + 1) + "]" + tokens[2]; | ||
changes[incrementedKey] = state.fields[key]; | ||
changes[incrementedKey] = _extends({}, state.fields[key]); // make copy of field state | ||
changes[incrementedKey].name = incrementedKey; | ||
changes[incrementedKey].forceUpdate = true; | ||
changes[incrementedKey].lastFieldState = undefined; | ||
} | ||
if (fieldIndex === index) { | ||
delete state.fields[key]; | ||
resetFieldState(key); | ||
} | ||
@@ -134,3 +136,2 @@ } | ||
focus: state.fields[destKey] && state.fields[destKey].focus, | ||
forceUpdate: true, | ||
lastFieldState: undefined // clearing lastFieldState forces renotification | ||
@@ -147,2 +148,3 @@ | ||
var result; | ||
var removedIndex; | ||
changeValue(state, name, function (array) { | ||
@@ -154,6 +156,17 @@ if (array) { | ||
result = array[array.length - 1]; | ||
return array.slice(0, array.length - 1); | ||
removedIndex = array.length - 1; | ||
result = array[removedIndex]; | ||
return array.slice(0, removedIndex); | ||
} | ||
}); | ||
}); // now we have to remove any subfields for our index, | ||
if (removedIndex !== undefined) { | ||
var pattern = new RegExp("^" + name + "\\[" + removedIndex + "].*"); | ||
Object.keys(state.fields).forEach(function (key) { | ||
if (pattern.test(key)) { | ||
delete state.fields[key]; | ||
} | ||
}); | ||
} | ||
return result; | ||
@@ -205,3 +218,3 @@ }; | ||
state.fields[decrementedKey].name = decrementedKey; | ||
state.fields[decrementedKey].forceUpdate = true; | ||
state.fields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -268,3 +281,3 @@ } | ||
newFields[decrementedKey].name = decrementedKey; | ||
newFields[decrementedKey].forceUpdate = true; | ||
newFields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -271,0 +284,0 @@ } else { |
@@ -30,3 +30,4 @@ (function (global, factory) { | ||
value = _ref[2]; | ||
var changeValue = _ref2.changeValue; | ||
var changeValue = _ref2.changeValue, | ||
resetFieldState = _ref2.resetFieldState; | ||
changeValue(state, name, function (array) { | ||
@@ -49,9 +50,10 @@ var copy = [].concat(array || []); | ||
var incrementedKey = name + "[" + (fieldIndex + 1) + "]" + tokens[2]; | ||
changes[incrementedKey] = state.fields[key]; | ||
changes[incrementedKey] = _extends({}, state.fields[key]); // make copy of field state | ||
changes[incrementedKey].name = incrementedKey; | ||
changes[incrementedKey].forceUpdate = true; | ||
changes[incrementedKey].lastFieldState = undefined; | ||
} | ||
if (fieldIndex === index) { | ||
delete state.fields[key]; | ||
resetFieldState(key); | ||
} | ||
@@ -140,3 +142,2 @@ } | ||
focus: state.fields[destKey] && state.fields[destKey].focus, | ||
forceUpdate: true, | ||
lastFieldState: undefined // clearing lastFieldState forces renotification | ||
@@ -153,2 +154,3 @@ | ||
var result; | ||
var removedIndex; | ||
changeValue(state, name, function (array) { | ||
@@ -160,6 +162,17 @@ if (array) { | ||
result = array[array.length - 1]; | ||
return array.slice(0, array.length - 1); | ||
removedIndex = array.length - 1; | ||
result = array[removedIndex]; | ||
return array.slice(0, removedIndex); | ||
} | ||
}); | ||
}); // now we have to remove any subfields for our index, | ||
if (removedIndex !== undefined) { | ||
var pattern = new RegExp("^" + name + "\\[" + removedIndex + "].*"); | ||
Object.keys(state.fields).forEach(function (key) { | ||
if (pattern.test(key)) { | ||
delete state.fields[key]; | ||
} | ||
}); | ||
} | ||
return result; | ||
@@ -211,3 +224,3 @@ }; | ||
state.fields[decrementedKey].name = decrementedKey; | ||
state.fields[decrementedKey].forceUpdate = true; | ||
state.fields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -274,3 +287,3 @@ } | ||
newFields[decrementedKey].name = decrementedKey; | ||
newFields[decrementedKey].forceUpdate = true; | ||
newFields[decrementedKey].lastFieldState = undefined; | ||
} | ||
@@ -277,0 +290,0 @@ } else { |
@@ -1,2 +0,2 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self)["final-form-arrays"]={})}(this,function(e){"use strict";function d(){return(d=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}function i(e,f,n){var i=e[0],c=e[1],r=e[2];(0,n.changeValue)(f,i,function(e){var n=[].concat(e||[]);return n.splice(c,0,r),n});var a=new RegExp("^"+i+"\\[(\\d+)\\](.*)"),s={};Object.keys(f.fields).forEach(function(e){var n=a.exec(e);if(n){var r=Number(n[1]);if(c<=r){var t=i+"["+(r+1)+"]"+n[2];s[t]=f.fields[e],s[t].name=t,s[t].forceUpdate=!0}r===c&&delete f.fields[e]}}),f.fields=d({},f.fields,{},s)}function f(e,f,n){var r,i=e[0],c=e[1];(0,n.changeValue)(f,i,function(e){var n=[].concat(e||[]);return r=n[c],n.splice(c,1),n});var a=new RegExp("^"+i+"\\[(\\d+)\\](.*)"),s=d({},f.fields);return Object.keys(f.fields).forEach(function(e){var n=a.exec(e);if(n){var r=Number(n[1]);if(r===c)delete f.fields[e];else if(c<r){delete f.fields[e];var t=i+"["+(r-1)+"]"+n[2];f.fields[t]=s[e],f.fields[t].name=t,f.fields[t].forceUpdate=!0}}}),r}var n={insert:i,concat:function(e,n,r){var t=e[0],f=e[1];(0,r.changeValue)(n,t,function(e){return e?[].concat(e,f):f})},move:function(e,c,n){var a=e[0],s=e[1],u=e[2],r=n.changeValue;if(s!==u){r(c,a,function(e){var n=[].concat(e||[]),r=n[s];return n.splice(s,1),n.splice(u,0,r),n});var o=a+"["+s+"]";Object.keys(c.fields).forEach(function(e){if(e.substring(0,o.length)===o){var n=e.substring(o.length),r=o+n,t=c.fields[r];if(s<u)for(var f=s;f<u;f++){l({destKey:a+"["+f+"]"+n,source:c.fields[a+"["+(f+1)+"]"+n]})}else for(var i=s;u<i;i--){l({destKey:a+"["+i+"]"+n,source:c.fields[a+"["+(i-1)+"]"+n]})}l({destKey:a+"["+u+"]"+n,source:t})}})}function l(e){var n=e.destKey,r=e.source;c.fields[n]=d({},r,{name:n,change:c.fields[n]&&c.fields[n].change,blur:c.fields[n]&&c.fields[n].blur,focus:c.fields[n]&&c.fields[n].focus,forceUpdate:!0,lastFieldState:void 0})}},pop:function(e,n,r){var t,f=e[0];return(0,r.changeValue)(n,f,function(e){if(e)return e.length?(t=e[e.length-1],e.slice(0,e.length-1)):[]}),t},push:function(e,n,r){var t=e[0],f=e[1];(0,r.changeValue)(n,t,function(e){return e?[].concat(e,[f]):[f]})},remove:f,removeBatch:function(e,f,n){var i=e[0],c=e[1],r=n.changeValue,a=[].concat(c);a.sort();for(var t=0;t<a.length;t++)0<t&&a[t]===a[t-1]&&a.splice(t--,1);var s=[];r(f,i,function(n){if(s=c.map(function(e){return n&&n[e]}),!n||!a.length)return n;var r=[].concat(n),t=[];return a.forEach(function(e){r.splice(e-t.length,1),t.push(n&&n[e])}),r});var u=new RegExp("^"+i+"\\[(\\d+)\\](.*)"),o={};return Object.keys(f.fields).forEach(function(e){var n=u.exec(e);if(n){var r=Number(n[1]);if(!~a.indexOf(r)){var t=i+"["+(r-function(e,r){return e.reduce(function(e,n){return n<r?e+1:e},0)}(a,r))+"]"+n[2];o[t]=f.fields[e],o[t].name=t,o[t].forceUpdate=!0}}else o[e]=f.fields[e]}),f.fields=o,s},shift:function(e,n,r){var t=e[0];return f([t,0],n,r)},swap:function(e,i,n){var r=e[0],t=e[1],f=e[2],c=n.changeValue;if(t!==f){c(i,r,function(e){var n=[].concat(e||[]),r=n[t];return n[t]=n[f],n[f]=r,n});var a=r+"["+t+"]",s=r+"["+f+"]";Object.keys(i.fields).forEach(function(e){if(e.substring(0,a.length)===a){var n=e.substring(a.length),r=a+n,t=s+n,f=i.fields[r];u({destKey:r,source:i.fields[t]}),u({destKey:t,source:f})}})}function u(e){var n=e.destKey,r=e.source;i.fields[n]=d({},r,{name:n,change:i.fields[n].change,blur:i.fields[n].blur,focus:i.fields[n].focus,lastFieldState:void 0})}},unshift:function(e,n,r){var t=e[0],f=e[1];return i([t,0,f],n,r)},update:function(e,n,r){var t=e[0],f=e[1],i=e[2];(0,r.changeValue)(n,t,function(e){var n=[].concat(e||[]);return n.splice(f,1,i),n})}};e.default=n,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self)["final-form-arrays"]={})}(this,function(e){"use strict";function d(){return(d=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function f(e,i,n){var f=e[0],a=e[1],t=e[2],r=n.changeValue,c=n.resetFieldState;r(i,f,function(e){var n=[].concat(e||[]);return n.splice(a,0,t),n});var s=new RegExp("^"+f+"\\[(\\d+)\\](.*)"),u={};Object.keys(i.fields).forEach(function(e){var n=s.exec(e);if(n){var t=Number(n[1]);if(a<=t){var r=f+"["+(t+1)+"]"+n[2];u[r]=d({},i.fields[e]),u[r].name=r,u[r].lastFieldState=void 0}t===a&&c(e)}}),i.fields=d({},i.fields,{},u)}function i(e,i,n){var t,f=e[0],a=e[1];(0,n.changeValue)(i,f,function(e){var n=[].concat(e||[]);return t=n[a],n.splice(a,1),n});var c=new RegExp("^"+f+"\\[(\\d+)\\](.*)"),s=d({},i.fields);return Object.keys(i.fields).forEach(function(e){var n=c.exec(e);if(n){var t=Number(n[1]);if(t===a)delete i.fields[e];else if(a<t){delete i.fields[e];var r=f+"["+(t-1)+"]"+n[2];i.fields[r]=s[e],i.fields[r].name=r,i.fields[r].lastFieldState=void 0}}}),t}var n={insert:f,concat:function(e,n,t){var r=e[0],i=e[1];(0,t.changeValue)(n,r,function(e){return e?[].concat(e,i):i})},move:function(e,a,n){var c=e[0],s=e[1],u=e[2],t=n.changeValue;if(s!==u){t(a,c,function(e){var n=[].concat(e||[]),t=n[s];return n.splice(s,1),n.splice(u,0,t),n});var o=c+"["+s+"]";Object.keys(a.fields).forEach(function(e){if(e.substring(0,o.length)===o){var n=e.substring(o.length),t=o+n,r=a.fields[t];if(s<u)for(var i=s;i<u;i++){l({destKey:c+"["+i+"]"+n,source:a.fields[c+"["+(i+1)+"]"+n]})}else for(var f=s;u<f;f--){l({destKey:c+"["+f+"]"+n,source:a.fields[c+"["+(f-1)+"]"+n]})}l({destKey:c+"["+u+"]"+n,source:r})}})}function l(e){var n=e.destKey,t=e.source;a.fields[n]=d({},t,{name:n,change:a.fields[n]&&a.fields[n].change,blur:a.fields[n]&&a.fields[n].blur,focus:a.fields[n]&&a.fields[n].focus,lastFieldState:void 0})}},pop:function(e,n,t){var r,i,f=e[0];if((0,t.changeValue)(n,f,function(e){if(e)return e.length?(i=e.length-1,r=e[i],e.slice(0,i)):[]}),void 0!==i){var a=new RegExp("^"+f+"\\["+i+"].*");Object.keys(n.fields).forEach(function(e){a.test(e)&&delete n.fields[e]})}return r},push:function(e,n,t){var r=e[0],i=e[1];(0,t.changeValue)(n,r,function(e){return e?[].concat(e,[i]):[i]})},remove:i,removeBatch:function(e,i,n){var f=e[0],a=e[1],t=n.changeValue,c=[].concat(a);c.sort();for(var r=0;r<c.length;r++)0<r&&c[r]===c[r-1]&&c.splice(r--,1);var s=[];t(i,f,function(n){if(s=a.map(function(e){return n&&n[e]}),!n||!c.length)return n;var t=[].concat(n),r=[];return c.forEach(function(e){t.splice(e-r.length,1),r.push(n&&n[e])}),t});var u=new RegExp("^"+f+"\\[(\\d+)\\](.*)"),o={};return Object.keys(i.fields).forEach(function(e){var n=u.exec(e);if(n){var t=Number(n[1]);if(!~c.indexOf(t)){var r=f+"["+(t-function(e,t){return e.reduce(function(e,n){return n<t?e+1:e},0)}(c,t))+"]"+n[2];o[r]=i.fields[e],o[r].name=r,o[r].lastFieldState=void 0}}else o[e]=i.fields[e]}),i.fields=o,s},shift:function(e,n,t){var r=e[0];return i([r,0],n,t)},swap:function(e,f,n){var t=e[0],r=e[1],i=e[2],a=n.changeValue;if(r!==i){a(f,t,function(e){var n=[].concat(e||[]),t=n[r];return n[r]=n[i],n[i]=t,n});var c=t+"["+r+"]",s=t+"["+i+"]";Object.keys(f.fields).forEach(function(e){if(e.substring(0,c.length)===c){var n=e.substring(c.length),t=c+n,r=s+n,i=f.fields[t];u({destKey:t,source:f.fields[r]}),u({destKey:r,source:i})}})}function u(e){var n=e.destKey,t=e.source;f.fields[n]=d({},t,{name:n,change:f.fields[n].change,blur:f.fields[n].blur,focus:f.fields[n].focus,lastFieldState:void 0})}},unshift:function(e,n,t){var r=e[0],i=e[1];return f([r,0,i],n,t)},update:function(e,n,t){var r=e[0],i=e[1],f=e[2];(0,t.changeValue)(n,r,function(e){var n=[].concat(e||[]);return n.splice(i,1,f),n})}};e.default=n,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=final-form-arrays.umd.min.js.map |
{ | ||
"name": "final-form-arrays", | ||
"version": "2.0.0", | ||
"version": "3.0.0", | ||
"description": "Array Mutators for 🏁 Final Form", | ||
@@ -55,3 +55,3 @@ "main": "dist/final-form-arrays.cjs.js", | ||
"eslint-plugin-react": "^7.13.0", | ||
"final-form": "^4.17.0", | ||
"final-form": "^4.18.0", | ||
"flow-bin": "^0.102.0", | ||
@@ -77,3 +77,3 @@ "glow": "^1.2.2", | ||
"peerDependencies": { | ||
"final-form": "^4.17.0" | ||
"final-form": "^4.18.0" | ||
}, | ||
@@ -80,0 +80,0 @@ "lint-staged": { |
Sorry, the diff of this file is not supported yet
48143
1064