mirror of
https://github.com/drawdb-io/drawdb.git
synced 2025-10-13 22:10:49 +00:00
Merge branch 'drawdb-io:main' into rtl-fix
This commit is contained in:
@@ -23,6 +23,7 @@ import {
|
||||
} from "../../hooks";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useEventListener } from "usehooks-ts";
|
||||
import { areFieldsCompatible } from "../../utils/utils";
|
||||
|
||||
export default function Canvas() {
|
||||
const { t } = useTranslation();
|
||||
@@ -34,7 +35,8 @@ export default function Canvas() {
|
||||
pointer,
|
||||
} = canvasContextValue;
|
||||
|
||||
const { tables, updateTable, relationships, addRelationship } = useDiagram();
|
||||
const { tables, updateTable, relationships, addRelationship, database } =
|
||||
useDiagram();
|
||||
const { areas, updateArea } = useAreas();
|
||||
const { notes, updateNote } = useNotes();
|
||||
const { layout } = useLayout();
|
||||
@@ -399,8 +401,11 @@ export default function Canvas() {
|
||||
if (hoveredTable.tableId < 0) return;
|
||||
if (hoveredTable.field < 0) return;
|
||||
if (
|
||||
tables[linkingLine.startTableId].fields[linkingLine.startFieldId].type !==
|
||||
tables[hoveredTable.tableId].fields[hoveredTable.field].type
|
||||
!areFieldsCompatible(
|
||||
database,
|
||||
tables[linkingLine.startTableId].fields[linkingLine.startFieldId],
|
||||
tables[hoveredTable.tableId].fields[hoveredTable.field],
|
||||
)
|
||||
) {
|
||||
Toast.info(t("cannot_connect"));
|
||||
return;
|
||||
|
@@ -299,6 +299,44 @@ export default function FieldDetails({ data, tid, index }) {
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
{databases[database].hasUnsignedTypes &&
|
||||
dbToTypes[database][data.type].signed && (
|
||||
<div className="flex justify-between items-center my-3">
|
||||
<div className="font-medium">{t("Unsigned")}</div>
|
||||
<Checkbox
|
||||
value="unsigned"
|
||||
checked={data.unsigned}
|
||||
onChange={(checkedValues) => {
|
||||
setUndoStack((prev) => [
|
||||
...prev,
|
||||
{
|
||||
action: Action.EDIT,
|
||||
element: ObjectType.TABLE,
|
||||
component: "field",
|
||||
tid: tid,
|
||||
fid: index,
|
||||
undo: {
|
||||
[checkedValues.target.value]:
|
||||
!checkedValues.target.checked,
|
||||
},
|
||||
redo: {
|
||||
[checkedValues.target.value]:
|
||||
checkedValues.target.checked,
|
||||
},
|
||||
message: t("edit_table", {
|
||||
tableName: tables[tid].name,
|
||||
extra: "[field]",
|
||||
}),
|
||||
},
|
||||
]);
|
||||
setRedoStack([]);
|
||||
updateField(tid, index, {
|
||||
unsigned: checkedValues.target.checked,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
<div className="font-semibold">{t("comment")}</div>
|
||||
<TextArea
|
||||
className="my-2"
|
||||
|
Reference in New Issue
Block a user