diff --git a/src/components/EditorSidePanel/EnumsTab/EnumDetails.jsx b/src/components/EditorSidePanel/EnumsTab/EnumDetails.jsx index b77bb96..c84e18e 100644 --- a/src/components/EditorSidePanel/EnumsTab/EnumDetails.jsx +++ b/src/components/EditorSidePanel/EnumsTab/EnumDetails.jsx @@ -22,10 +22,12 @@ export default function EnumDetails({ data, i }) { validateStatus={data.name.trim() === "" ? "error" : "default"} onChange={(value) => { updateEnum(i, { name: value }); - tables.forEach((table, i) => { - table.fields.forEach((field, j) => { + tables.forEach((table) => { + table.fields.forEach((field) => { if (field.type.toLowerCase() === data.name.toLowerCase()) { - updateField(i, j, { type: value.toUpperCase() }); + updateField(table.id, field.id, { + type: value.toUpperCase(), + }); } }); }); diff --git a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx index b0dc49c..dfaf709 100644 --- a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx +++ b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx @@ -30,7 +30,7 @@ export default function FieldDetails({ data, tid, index }) { placeholder={t("default_value")} value={data.default} disabled={dbToTypes[database][data.type].noDefault || data.increment} - onChange={(value) => updateField(tid, index, { default: value })} + onChange={(value) => updateField(tid, data.id, { default: value })} onFocus={(e) => setEditField({ default: e.target.value })} onBlur={(e) => { if (e.target.value === editField.default) return; @@ -67,7 +67,7 @@ export default function FieldDetails({ data, tid, index }) { addOnBlur className="my-2" placeholder={t("use_for_batch_input")} - onChange={(v) => updateField(tid, index, { values: v })} + onChange={(v) => updateField(tid, data.id, { values: v })} onFocus={() => setEditField({ values: data.values })} onBlur={() => { if ( @@ -102,7 +102,7 @@ export default function FieldDetails({ data, tid, index }) { className="my-2 w-full" placeholder={t("size")} value={data.size} - onChange={(value) => updateField(tid, index, { size: value })} + onChange={(value) => updateField(tid, data.id, { size: value })} onFocus={(e) => setEditField({ size: e.target.value })} onBlur={(e) => { if (e.target.value === editField.size) return; @@ -139,7 +139,7 @@ export default function FieldDetails({ data, tid, index }) { : "error" } value={data.size} - onChange={(value) => updateField(tid, index, { size: value })} + onChange={(value) => updateField(tid, data.id, { size: value })} onFocus={(e) => setEditField({ size: e.target.value })} onBlur={(e) => { if (e.target.value === editField.size) return; @@ -172,7 +172,7 @@ export default function FieldDetails({ data, tid, index }) { placeholder={t("check")} value={data.check} disabled={data.increment} - onChange={(value) => updateField(tid, index, { check: value })} + onChange={(value) => updateField(tid, data.id, { check: value })} onFocus={(e) => setEditField({ check: e.target.value })} onBlur={(e) => { if (e.target.value === editField.check) return; @@ -221,7 +221,7 @@ export default function FieldDetails({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { + updateField(tid, data.id, { [checkedValues.target.value]: checkedValues.target.checked, }); }} @@ -257,7 +257,7 @@ export default function FieldDetails({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { + updateField(tid, data.id, { increment: !data.increment, check: data.increment ? data.check : "", }); @@ -292,7 +292,7 @@ export default function FieldDetails({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { + updateField(tid, data.id, { isArray: checkedValues.target.checked, increment: data.isArray ? data.increment : false, }); @@ -331,7 +331,7 @@ export default function FieldDetails({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { + updateField(tid, data.id, { unsigned: checkedValues.target.checked, }); }} @@ -345,7 +345,7 @@ export default function FieldDetails({ data, tid, index }) { value={data.comment} autosize rows={2} - onChange={(value) => updateField(tid, index, { comment: value })} + onChange={(value) => updateField(tid, data.id, { comment: value })} onFocus={(e) => setEditField({ comment: e.target.value })} onBlur={(e) => { if (e.target.value === editField.comment) return; diff --git a/src/components/EditorSidePanel/TablesTab/TableField.jsx b/src/components/EditorSidePanel/TablesTab/TableField.jsx index abfef28..7365ea2 100644 --- a/src/components/EditorSidePanel/TablesTab/TableField.jsx +++ b/src/components/EditorSidePanel/TablesTab/TableField.jsx @@ -95,7 +95,7 @@ export default function TableField({ data, tid, index }) { data.increment && !!dbToTypes[database][value].canIncrement; if (value === "ENUM" || value === "SET") { - updateField(tid, index, { + updateField(tid, data.id, { type: value, default: "", values: data.values ? [...data.values] : [], @@ -105,13 +105,13 @@ export default function TableField({ data, tid, index }) { dbToTypes[database][value].isSized || dbToTypes[database][value].hasPrecision ) { - updateField(tid, index, { + updateField(tid, data.id, { type: value, size: dbToTypes[database][value].defaultSize, increment: incr, }); } else if (!dbToTypes[database][value].hasDefault || incr) { - updateField(tid, index, { + updateField(tid, data.id, { type: value, increment: incr, default: "", @@ -119,13 +119,13 @@ export default function TableField({ data, tid, index }) { values: [], }); } else if (dbToTypes[database][value].hasCheck) { - updateField(tid, index, { + updateField(tid, data.id, { type: value, check: "", increment: incr, }); } else { - updateField(tid, index, { + updateField(tid, data.id, { type: value, increment: incr, size: "", @@ -158,7 +158,7 @@ export default function TableField({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { notNull: !data.notNull }); + updateField(tid, data.id, { notNull: !data.notNull }); }} > ? @@ -187,7 +187,7 @@ export default function TableField({ data, tid, index }) { }, ]); setRedoStack([]); - updateField(tid, index, { primary: !data.primary }); + updateField(tid, data.id, { primary: !data.primary }); }} icon={} /> diff --git a/src/components/EditorSidePanel/TypesTab/TypeInfo.jsx b/src/components/EditorSidePanel/TypesTab/TypeInfo.jsx index 91bfb82..c05b75f 100644 --- a/src/components/EditorSidePanel/TypesTab/TypeInfo.jsx +++ b/src/components/EditorSidePanel/TypesTab/TypeInfo.jsx @@ -40,10 +40,12 @@ export default function TypeInfo({ index, data }) { className="ms-2" onChange={(value) => { updateType(index, { name: value }); - tables.forEach((table, i) => { - table.fields.forEach((field, j) => { + tables.forEach((table) => { + table.fields.forEach((field) => { if (field.type.toLowerCase() === data.name.toLowerCase()) { - updateField(i, j, { type: value.toUpperCase() }); + updateField(table.id, field.id, { + type: value.toUpperCase(), + }); } }); });