Skip to content

Commit 422f86b

Browse files
committed
function refactored
1 parent 23c11bc commit 422f86b

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

app/javascript/components/data-tables/datastore/class-fields-editor.jsx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -148,28 +148,28 @@ export const ClassFieldsEditor = (props) => {
148148
};
149149

150150
const onModalSubmit = (values) => {
151-
if (state.selectedRowId !== undefined) {
152-
// Edit a field
153-
const data = formatFieldValues(values, state.selectedRowId);
151+
const isEdit = state.selectedRowId !== undefined;
152+
const data = formatFieldValues(values, isEdit ? state.selectedRowId : state.rows.length);
153+
154+
const updateState = (newData) => {
154155
setState((prevState) => ({
155156
...prevState,
156-
rows: prevState.rows.map((field) => (field.id === data.id ? data : field)),
157+
rows: isEdit
158+
? prevState.rows.map((field) => (field.id === newData.id ? newData : field))
159+
: [...prevState.rows, newData],
157160
}));
161+
handleModalClose();
162+
};
163+
164+
if (isEdit) {
165+
updateState(data);
158166
} else {
159-
// Add a field
160-
http.post(`/miq_ae_class/field_accept?button=accept`, values, {
161-
skipErrors: [400],
162-
}).then(() => {
163-
const data = formatFieldValues(values, state.rows.length);
164-
setState((prevState) => ({
165-
...prevState,
166-
rows: [...prevState.rows, data],
167-
}));
168-
}).catch((error) => {
169-
});
167+
http.post(`/miq_ae_class/field_accept?button=accept`, values, { skipErrors: [400] })
168+
.then(() => updateState(data))
169+
.catch((error) => {
170+
console.error('Failed to save new field:', error);
171+
});
170172
}
171-
172-
handleModalClose();
173173
};
174174

175175
// const onCancel = () => {

0 commit comments

Comments
 (0)