mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-15 11:51:30 +00:00
@@ -228,8 +228,10 @@ export default class CodeEditor extends React.Component {
|
||||
CodeMirror.signal(this.editor, 'change', this.editor);
|
||||
}
|
||||
if (this.props.value !== prevProps.value && this.props.value !== this.cachedValue && this.editor) {
|
||||
const cursor = this.editor.getCursor();
|
||||
this.cachedValue = this.props.value;
|
||||
this.editor.setValue(this.props.value);
|
||||
this.editor.setCursor(cursor);
|
||||
}
|
||||
|
||||
if (this.editor) {
|
||||
|
||||
@@ -154,8 +154,10 @@ class MultiLineEditor extends Component {
|
||||
this.editor.setOption('readOnly', this.props.readOnly);
|
||||
}
|
||||
if (this.props.value !== prevProps.value && this.props.value !== this.cachedValue && this.editor) {
|
||||
const cursor = this.editor.getCursor();
|
||||
this.cachedValue = String(this.props.value);
|
||||
this.editor.setValue(String(this.props.value) || '');
|
||||
this.editor.setCursor(cursor);
|
||||
}
|
||||
if (!isEqual(this.props.isSecret, prevProps.isSecret)) {
|
||||
// If the secret flag has changed, update the editor to reflect the change
|
||||
|
||||
@@ -169,8 +169,10 @@ class SingleLineEditor extends Component {
|
||||
this.editor.setOption('theme', this.props.theme === 'dark' ? 'monokai' : 'default');
|
||||
}
|
||||
if (this.props.value !== prevProps.value && this.props.value !== this.cachedValue && this.editor) {
|
||||
const cursor = this.editor.getCursor();
|
||||
this.cachedValue = String(this.props.value);
|
||||
this.editor.setValue(String(this.props.value ?? ''));
|
||||
this.editor.setCursor(cursor);
|
||||
|
||||
// Update newline markers after value change
|
||||
if (this.props.showNewlineArrow) {
|
||||
|
||||
@@ -9,19 +9,23 @@ const actionsToIntercept = [
|
||||
'collections/moveQueryParam',
|
||||
'collections/updateQueryParam',
|
||||
'collections/deleteQueryParam',
|
||||
'collections/setQueryParams',
|
||||
'collections/updatePathParam',
|
||||
'collections/addRequestHeader',
|
||||
'collections/updateRequestHeader',
|
||||
'collections/deleteRequestHeader',
|
||||
'collections/moveRequestHeader',
|
||||
'collections/setRequestHeaders',
|
||||
'collections/addFormUrlEncodedParam',
|
||||
'collections/updateFormUrlEncodedParam',
|
||||
'collections/deleteFormUrlEncodedParam',
|
||||
'collections/moveFormUrlEncodedParam',
|
||||
'collections/setFormUrlEncodedParams',
|
||||
'collections/addMultipartFormParam',
|
||||
'collections/updateMultipartFormParam',
|
||||
'collections/deleteMultipartFormParam',
|
||||
'collections/moveMultipartFormParam',
|
||||
'collections/setMultipartFormParams',
|
||||
'collections/updateRequestAuthMode',
|
||||
'collections/updateRequestBodyMode',
|
||||
'collections/updateRequestBody',
|
||||
@@ -47,9 +51,11 @@ const actionsToIntercept = [
|
||||
'collections/addFolderHeader',
|
||||
'collections/updateFolderHeader',
|
||||
'collections/deleteFolderHeader',
|
||||
'collections/setFolderHeaders',
|
||||
'collections/addFolderVar',
|
||||
'collections/updateFolderVar',
|
||||
'collections/deleteFolderVar',
|
||||
'collections/setFolderVars',
|
||||
'collections/updateFolderRequestScript',
|
||||
'collections/updateFolderResponseScript',
|
||||
'collections/updateFolderTests',
|
||||
@@ -61,9 +67,11 @@ const actionsToIntercept = [
|
||||
'collections/addCollectionHeader',
|
||||
'collections/updateCollectionHeader',
|
||||
'collections/deleteCollectionHeader',
|
||||
'collections/setCollectionHeaders',
|
||||
'collections/addCollectionVar',
|
||||
'collections/updateCollectionVar',
|
||||
'collections/deleteCollectionVar',
|
||||
'collections/setCollectionVars',
|
||||
'collections/updateCollectionAuth',
|
||||
'collections/updateCollectionAuthMode',
|
||||
'collections/updateCollectionRequestScript',
|
||||
|
||||
@@ -8,19 +8,23 @@ const actionsToIntercept = [
|
||||
'collections/moveQueryParam',
|
||||
'collections/updateQueryParam',
|
||||
'collections/deleteQueryParam',
|
||||
'collections/setQueryParams',
|
||||
'collections/updatePathParam',
|
||||
'collections/addRequestHeader',
|
||||
'collections/updateRequestHeader',
|
||||
'collections/deleteRequestHeader',
|
||||
'collections/moveRequestHeader',
|
||||
'collections/setRequestHeaders',
|
||||
'collections/addFormUrlEncodedParam',
|
||||
'collections/updateFormUrlEncodedParam',
|
||||
'collections/deleteFormUrlEncodedParam',
|
||||
'collections/moveFormUrlEncodedParam',
|
||||
'collections/setFormUrlEncodedParams',
|
||||
'collections/addMultipartFormParam',
|
||||
'collections/updateMultipartFormParam',
|
||||
'collections/deleteMultipartFormParam',
|
||||
'collections/moveMultipartFormParam',
|
||||
'collections/setMultipartFormParams',
|
||||
'collections/updateRequestAuthMode',
|
||||
'collections/updateRequestBodyMode',
|
||||
'collections/updateRequestBody',
|
||||
@@ -45,9 +49,11 @@ const actionsToIntercept = [
|
||||
'collections/addFolderHeader',
|
||||
'collections/updateFolderHeader',
|
||||
'collections/deleteFolderHeader',
|
||||
'collections/setFolderHeaders',
|
||||
'collections/addFolderVar',
|
||||
'collections/updateFolderVar',
|
||||
'collections/deleteFolderVar',
|
||||
'collections/setFolderVars',
|
||||
'collections/updateFolderRequestScript',
|
||||
'collections/updateFolderResponseScript',
|
||||
'collections/updateFolderTests',
|
||||
@@ -59,9 +65,11 @@ const actionsToIntercept = [
|
||||
'collections/addCollectionHeader',
|
||||
'collections/updateCollectionHeader',
|
||||
'collections/deleteCollectionHeader',
|
||||
'collections/setCollectionHeaders',
|
||||
'collections/addCollectionVar',
|
||||
'collections/updateCollectionVar',
|
||||
'collections/deleteCollectionVar',
|
||||
'collections/setCollectionVars',
|
||||
'collections/updateCollectionAuth',
|
||||
'collections/updateCollectionAuthMode',
|
||||
'collections/updateCollectionRequestScript',
|
||||
|
||||
@@ -2683,7 +2683,12 @@ export const collectionsSlice = createSlice({
|
||||
item.examples = file.data.examples;
|
||||
item.filename = file.meta.name;
|
||||
item.pathname = file.meta.pathname;
|
||||
item.draft = null;
|
||||
|
||||
// Only clear draft if it matches the file content
|
||||
// This preserves characters typed during autosave
|
||||
if (item.draft && areItemsTheSameExceptSeqUpdate(item.draft, file.data)) {
|
||||
item.draft = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user