From ab0dc2c44e8c5fc5749d0b688d7147b622002789 Mon Sep 17 00:00:00 2001 From: 1ilit Date: Tue, 19 Sep 2023 15:50:45 +0300 Subject: [PATCH] uuuugh --- src/components/reference_overview.jsx | 2 +- src/components/table.jsx | 51 ++++++++++++++++++++++--- src/components/table_overview.jsx | 54 ++++++++++++++++++++++++--- src/pages/editor.jsx | 2 +- src/schemas/index.js | 3 +- src/utils/index.js | 38 +++++++++++++++---- 6 files changed, 129 insertions(+), 21 deletions(-) diff --git a/src/components/reference_overview.jsx b/src/components/reference_overview.jsx index c918a47..8a33aaf 100644 --- a/src/components/reference_overview.jsx +++ b/src/components/reference_overview.jsx @@ -201,7 +201,7 @@ export default function ReferenceOverview(props) { setRelationships((prev) => prev.map((e, idx) => diff --git a/src/components/table.jsx b/src/components/table.jsx index f511337..a05b4a1 100644 --- a/src/components/table.jsx +++ b/src/components/table.jsx @@ -350,7 +350,7 @@ export default function Table(props) { value === "SMALLINT"); updateField(props.tableData.id, j, { type: value, - length: value === "VARCHAR" ? 255 : "n/a", + length: value === "VARCHAR" ? 255 : "", increment: incr, }); }} @@ -522,6 +522,7 @@ export default function Table(props) { className="my-2" placeholder="Set constraint" value={f.check} + disabled={f.increment} onChange={(value) => updateField(props.tableData.id, j, { check: value }) } @@ -547,7 +548,7 @@ export default function Table(props) {
Unique
{ setUndoStack((prev) => [ ...prev, @@ -579,7 +580,7 @@ export default function Table(props) {
Autoincrement
+
Index name:
+
+
Unique
+ { + setUndoStack((prev) => [ + ...prev, + { + action: Action.EDIT, + element: ObjectType.TABLE, + component: "index", + tid: props.tableData.id, + iid: k, + undo: { + [checkedValues.target.value]: + !checkedValues.target.checked, + }, + redo: { + [checkedValues.target.value]: + checkedValues.target.checked, + }, + }, + ]); + setRedoStack([]); + updateTable(props.tableData.id, { + indices: props.tableData.indices.map((index) => + index.id === k + ? { + ...index, + [checkedValues.target.value]: + checkedValues.target.checked, + } + : index + ), + }); + }} + > +