react-edit-text
Advanced tools
Comparing version 3.0.1 to 4.0.0
@@ -0,1 +1,14 @@ | ||
# [4.0.0](https://github.com/bymi15/react-edit-text/compare/v3.0.1...v4.0.0) (2021-02-19) | ||
### Features | ||
* add previousValue field to onSave callback response ([3057b92](https://github.com/bymi15/react-edit-text/commit/3057b92078bc95e4cb3a6ddb654c0611df2e3f67)) | ||
* move cursor to end of text on focus ([3fde4bd](https://github.com/bymi15/react-edit-text/commit/3fde4bde2ab8dc1f6065bc7900d5bddfbf090a24)) | ||
### BREAKING CHANGES | ||
* fix handleBlur to correctly revert changes when escape key is pressed | ||
## [3.0.1](https://github.com/bymi15/react-edit-text/compare/v3.0.0...v3.0.1) (2021-01-13) | ||
@@ -2,0 +15,0 @@ |
@@ -1135,11 +1135,17 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
if (!!save && _this.state.savedText !== value || _this.props.value !== null) { | ||
_this.setState({ | ||
savedText: value | ||
}); | ||
if (save && _this.state.previousValue !== value) { | ||
_this.props.onSave({ | ||
name: name, | ||
value: value | ||
value: value, | ||
previousValue: _this.state.previousValue | ||
}); | ||
_this.setState({ | ||
savedText: value, | ||
previousValue: value | ||
}); | ||
} else if (!save) { | ||
if (_this.props.onChange) { | ||
_this.props.onChange(_this.state.previousValue); | ||
} | ||
} | ||
@@ -1162,2 +1168,3 @@ | ||
_this.state = { | ||
previousValue: props.defaultValue || '', | ||
savedText: props.defaultValue || '', | ||
@@ -1172,5 +1179,12 @@ editMode: false | ||
if (props.value !== state.savedText && props.value !== null) { | ||
return { | ||
savedText: props.value | ||
}; | ||
if (state.editMode) { | ||
return { | ||
savedText: props.value | ||
}; | ||
} else { | ||
return { | ||
previousValue: props.value, | ||
savedText: props.value | ||
}; | ||
} | ||
} | ||
@@ -1216,3 +1230,6 @@ | ||
}, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1232,3 +1249,6 @@ } else { | ||
defaultValue: savedText, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1305,14 +1325,20 @@ } | ||
if (!!save && _this.state.savedText !== value || _this.props.value !== null) { | ||
if (save && _this.state.previousValue !== value) { | ||
var lines = value === '' ? [] : value.split(/\r?\n/); | ||
_this.props.onSave({ | ||
name: name, | ||
value: value, | ||
previousValue: _this.state.previousValue | ||
}); | ||
_this.setState({ | ||
previousValue: value, | ||
savedText: value, | ||
savedTextLines: lines | ||
}); | ||
_this.props.onSave({ | ||
name: name, | ||
value: value | ||
}); | ||
} else if (!save) { | ||
if (_this.props.onChange) { | ||
_this.props.onChange(_this.state.previousValue); | ||
} | ||
} | ||
@@ -1333,3 +1359,4 @@ | ||
_this.state = { | ||
savedText: props.defaultValue, | ||
previousValue: props.defaultValue || '', | ||
savedText: props.defaultValue || '', | ||
savedTextLines: props.defaultValue ? props.defaultValue.split(/\r?\n/) : [], | ||
@@ -1344,6 +1371,14 @@ editMode: false | ||
if (props.value !== state.savedText && props.value !== null) { | ||
return { | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
if (state.editMode) { | ||
return { | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
} else { | ||
return { | ||
previousValue: props.value, | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
} | ||
} | ||
@@ -1391,3 +1426,6 @@ | ||
}, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1405,3 +1443,6 @@ } else { | ||
defaultValue: savedText, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1408,0 +1449,0 @@ } |
@@ -1133,11 +1133,17 @@ import React from 'react'; | ||
if (!!save && _this.state.savedText !== value || _this.props.value !== null) { | ||
_this.setState({ | ||
savedText: value | ||
}); | ||
if (save && _this.state.previousValue !== value) { | ||
_this.props.onSave({ | ||
name: name, | ||
value: value | ||
value: value, | ||
previousValue: _this.state.previousValue | ||
}); | ||
_this.setState({ | ||
savedText: value, | ||
previousValue: value | ||
}); | ||
} else if (!save) { | ||
if (_this.props.onChange) { | ||
_this.props.onChange(_this.state.previousValue); | ||
} | ||
} | ||
@@ -1160,2 +1166,3 @@ | ||
_this.state = { | ||
previousValue: props.defaultValue || '', | ||
savedText: props.defaultValue || '', | ||
@@ -1170,5 +1177,12 @@ editMode: false | ||
if (props.value !== state.savedText && props.value !== null) { | ||
return { | ||
savedText: props.value | ||
}; | ||
if (state.editMode) { | ||
return { | ||
savedText: props.value | ||
}; | ||
} else { | ||
return { | ||
previousValue: props.value, | ||
savedText: props.value | ||
}; | ||
} | ||
} | ||
@@ -1214,3 +1228,6 @@ | ||
}, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1230,3 +1247,6 @@ } else { | ||
defaultValue: savedText, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1303,14 +1323,20 @@ } | ||
if (!!save && _this.state.savedText !== value || _this.props.value !== null) { | ||
if (save && _this.state.previousValue !== value) { | ||
var lines = value === '' ? [] : value.split(/\r?\n/); | ||
_this.props.onSave({ | ||
name: name, | ||
value: value, | ||
previousValue: _this.state.previousValue | ||
}); | ||
_this.setState({ | ||
previousValue: value, | ||
savedText: value, | ||
savedTextLines: lines | ||
}); | ||
_this.props.onSave({ | ||
name: name, | ||
value: value | ||
}); | ||
} else if (!save) { | ||
if (_this.props.onChange) { | ||
_this.props.onChange(_this.state.previousValue); | ||
} | ||
} | ||
@@ -1331,3 +1357,4 @@ | ||
_this.state = { | ||
savedText: props.defaultValue, | ||
previousValue: props.defaultValue || '', | ||
savedText: props.defaultValue || '', | ||
savedTextLines: props.defaultValue ? props.defaultValue.split(/\r?\n/) : [], | ||
@@ -1342,6 +1369,14 @@ editMode: false | ||
if (props.value !== state.savedText && props.value !== null) { | ||
return { | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
if (state.editMode) { | ||
return { | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
} else { | ||
return { | ||
previousValue: props.value, | ||
savedText: props.value, | ||
savedTextLines: props.value ? props.value.split(/\r?\n/) : [] | ||
}; | ||
} | ||
} | ||
@@ -1389,3 +1424,6 @@ | ||
}, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1403,3 +1441,6 @@ } else { | ||
defaultValue: savedText, | ||
autoFocus: true | ||
autoFocus: true, | ||
onFocus: function onFocus(e) { | ||
return e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length); | ||
} | ||
}); | ||
@@ -1406,0 +1447,0 @@ } |
{ | ||
"name": "react-edit-text", | ||
"version": "3.0.1", | ||
"version": "4.0.0", | ||
"description": "Simple editable text component for React", | ||
@@ -69,3 +69,3 @@ "author": "Brian Min <bymi15@yahoo.com> (https://github.com/bymi15)", | ||
"react-scripts": "^4.0.0", | ||
"semantic-release": "^17.2.1" | ||
"semantic-release": "^17.3.9" | ||
}, | ||
@@ -72,0 +72,0 @@ "files": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
307195
2748