mirror of
https://github.com/drawdb-io/drawdb.git
synced 2025-05-24 18:39:12 +00:00
Added created_at and updated_at fields to new tables as a feature
This commit is contained in:
parent
9c34e6c40d
commit
ae64b6b2bb
@ -8,6 +8,7 @@ import {
|
|||||||
IconUndo,
|
IconUndo,
|
||||||
IconRedo,
|
IconRedo,
|
||||||
IconEdit,
|
IconEdit,
|
||||||
|
IconClock,
|
||||||
} from "@douyinfe/semi-icons";
|
} from "@douyinfe/semi-icons";
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import icon from "../../assets/icon_dark_64.png";
|
import icon from "../../assets/icon_dark_64.png";
|
||||||
@ -85,6 +86,8 @@ export default function ControlPanel({
|
|||||||
tables,
|
tables,
|
||||||
setTables,
|
setTables,
|
||||||
addTable,
|
addTable,
|
||||||
|
addTimestamp,
|
||||||
|
toggleTimeStamp,
|
||||||
updateTable,
|
updateTable,
|
||||||
deleteTable,
|
deleteTable,
|
||||||
updateField,
|
updateField,
|
||||||
@ -1310,6 +1313,19 @@ export default function ControlPanel({
|
|||||||
<i className="fa-regular fa-calendar-check" />
|
<i className="fa-regular fa-calendar-check" />
|
||||||
</button>
|
</button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
<Divider layout="vertical" margin="8px" />
|
||||||
|
<Tooltip content="Add Timestamp to tables" position="bottom">
|
||||||
|
<button
|
||||||
|
className="py-1 px-2 hover-2 rounded flex items-center"
|
||||||
|
onClick={toggleTimeStamp}
|
||||||
|
>
|
||||||
|
<IconClock
|
||||||
|
size="large"
|
||||||
|
style={{ color: addTimestamp ? "" : "#9598a6" }}
|
||||||
|
/>
|
||||||
|
{/* <i className="fa-regular fa-clock" /> */}
|
||||||
|
</button>
|
||||||
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
onClick={() => invertLayout("header")}
|
onClick={() => invertLayout("header")}
|
||||||
|
@ -9,10 +9,14 @@ export const TablesContext = createContext(null);
|
|||||||
export default function TablesContextProvider({ children }) {
|
export default function TablesContextProvider({ children }) {
|
||||||
const [tables, setTables] = useState([]);
|
const [tables, setTables] = useState([]);
|
||||||
const [relationships, setRelationships] = useState([]);
|
const [relationships, setRelationships] = useState([]);
|
||||||
|
// By default Include created_at and updated_at to all new tables
|
||||||
|
const [addTimestamp, setAddTimeStamp] = useState(true);
|
||||||
const { transform } = useTransform();
|
const { transform } = useTransform();
|
||||||
const { setUndoStack, setRedoStack } = useUndoRedo();
|
const { setUndoStack, setRedoStack } = useUndoRedo();
|
||||||
const { selectedElement, setSelectedElement } = useSelect();
|
const { selectedElement, setSelectedElement } = useSelect();
|
||||||
|
|
||||||
|
const toggleTimeStamp = () => setAddTimeStamp(ts => !ts);
|
||||||
|
|
||||||
const addTable = (addToHistory = true, data) => {
|
const addTable = (addToHistory = true, data) => {
|
||||||
if (data) {
|
if (data) {
|
||||||
setTables((prev) => {
|
setTables((prev) => {
|
||||||
@ -21,6 +25,32 @@ export default function TablesContextProvider({ children }) {
|
|||||||
return temp.map((t, i) => ({ ...t, id: i }));
|
return temp.map((t, i) => ({ ...t, id: i }));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
const timestamp = !addTimestamp ? [] : [
|
||||||
|
{
|
||||||
|
name: "created_at",
|
||||||
|
type: "TIMESTAMP",
|
||||||
|
default: "",
|
||||||
|
check: "",
|
||||||
|
primary: false,
|
||||||
|
unique: false,
|
||||||
|
notNull: true,
|
||||||
|
increment: false,
|
||||||
|
comment: "",
|
||||||
|
id: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "updated_at",
|
||||||
|
type: "TIMESTAMP",
|
||||||
|
default: "",
|
||||||
|
check: "",
|
||||||
|
primary: false,
|
||||||
|
unique: false,
|
||||||
|
notNull: true,
|
||||||
|
increment: false,
|
||||||
|
comment: "",
|
||||||
|
id: 2,
|
||||||
|
},
|
||||||
|
];
|
||||||
setTables((prev) => [
|
setTables((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
@ -41,6 +71,7 @@ export default function TablesContextProvider({ children }) {
|
|||||||
comment: "",
|
comment: "",
|
||||||
id: 0,
|
id: 0,
|
||||||
},
|
},
|
||||||
|
...timestamp
|
||||||
],
|
],
|
||||||
comment: "",
|
comment: "",
|
||||||
indices: [],
|
indices: [],
|
||||||
@ -222,6 +253,8 @@ export default function TablesContextProvider({ children }) {
|
|||||||
value={{
|
value={{
|
||||||
tables,
|
tables,
|
||||||
setTables,
|
setTables,
|
||||||
|
toggleTimeStamp,
|
||||||
|
addTimestamp,
|
||||||
addTable,
|
addTable,
|
||||||
updateTable,
|
updateTable,
|
||||||
updateField,
|
updateField,
|
||||||
|
Loading…
Reference in New Issue
Block a user