Fix field indexes

This commit is contained in:
1ilit 2025-05-09 04:40:42 +04:00
parent fe76229c99
commit 9c40ae31f0
4 changed files with 27 additions and 23 deletions

View File

@ -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(),
});
}
});
});

View File

@ -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;

View File

@ -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={<IconKeyStroked />}
/>

View File

@ -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(),
});
}
});
});