diff --git a/src/components/canvas.jsx b/src/components/canvas.jsx index 5c74ff0..a73d6e0 100644 --- a/src/components/canvas.jsx +++ b/src/components/canvas.jsx @@ -169,6 +169,7 @@ export default function Canvas(props) { { name: "id", type: "UUID", + check: "", default: "", primary: true, unique: true, diff --git a/src/components/diagram_overview.jsx b/src/components/diagram_overview.jsx index 18269ea..db2d9f1 100644 --- a/src/components/diagram_overview.jsx +++ b/src/components/diagram_overview.jsx @@ -42,7 +42,17 @@ export default function DiagramOverview(props) { itemKey={`${i}`} > {t.fields.map((f, j) => ( -
+ { + const updatedTables = [...props.tables]; + updatedTables[i].fields = updatedTables[i].fields.map( + (field, index) => + index === j ? { ...field, ...value.values } : field + ); + props.setTables(updatedTables); + }} + > { return { @@ -75,18 +85,61 @@ export default function DiagramOverview(props) { > - - + - + { + const updatedTables = [...props.tables]; + updatedTables[i] = { + ...updatedTables[i], + fields: updatedTables[i].fields.map( + (field, index) => + index === j + ? { ...field, ...value.values } + : field + ), + }; + props.setTables(updatedTables); + }} + > +
+ + { + const updatedTables = [...props.tables]; + updatedTables[i].fields = updatedTables[ + i + ].fields.map((field, index) => + index === j + ? { + ...field, + [checkedValues.target.value]: + checkedValues.target.checked, + } + : field + ); + props.setTables(updatedTables); + }} + > +
} type="danger" block + onClick={() => { + const updatedTables = [...props.tables]; + const updatedFields = [...t.fields]; + updatedFields.splice(j, 1); + updatedTables[i] = { + ...t, + fields: [...updatedFields], + }; + props.setTables(updatedTables); + }} > Delete @@ -326,7 +429,28 @@ export default function DiagramOverview(props) { - +
diff --git a/src/components/editor_panel.jsx b/src/components/editor_panel.jsx index 1b1058a..1d51bbd 100644 --- a/src/components/editor_panel.jsx +++ b/src/components/editor_panel.jsx @@ -89,6 +89,7 @@ export default function EditorPanel(props) { name: "id", type: "UUID", default: "", + check: "", primary: true, unique: true, notNull: true, @@ -148,6 +149,7 @@ export default function EditorPanel(props) { name: "id", type: "UUID", default: "", + check: "", primary: true, unique: true, notNull: true,