diff --git a/src/components/control_panel.jsx b/src/components/control_panel.jsx
index 64f89eb..fee08d0 100644
--- a/src/components/control_panel.jsx
+++ b/src/components/control_panel.jsx
@@ -178,6 +178,12 @@ export default function ControlPanel(props) {
setSettings((prev) => ({ ...prev, strictMode: !prev.strictMode }));
},
},
+ "Field summary": {
+ children: [],
+ function: () => {
+ setSettings((prev) => ({ ...prev, showFieldSummary: !prev.showFieldSummary }));
+ },
+ },
"Reset view": {
children: [],
function: () => {},
diff --git a/src/components/table.jsx b/src/components/table.jsx
index 0babc2b..5afa7fd 100644
--- a/src/components/table.jsx
+++ b/src/components/table.jsx
@@ -29,7 +29,12 @@ import {
SideSheet,
Toast,
} from "@douyinfe/semi-ui";
-import { LayoutContext, TabContext, TableContext } from "../pages/editor";
+import {
+ LayoutContext,
+ SettingsContext,
+ TabContext,
+ TableContext,
+} from "../pages/editor";
export default function Table(props) {
const [isHovered, setIsHovered] = useState(false);
@@ -38,6 +43,7 @@ export default function Table(props) {
const { layout } = useContext(LayoutContext);
const { setTables } = useContext(TableContext);
const { tab, setTab } = useContext(TabContext);
+ const { settings } = useContext(SettingsContext);
const height = props.tableData.fields.length * 36 + 50 + 3;
@@ -199,7 +205,7 @@ export default function Table(props) {
)}
{props.tableData.fields.map((e, i) => {
- return (
+ return settings.showFieldSummary ? (
- {
- setHoveredField(i);
- props.setOnRect({
- tableId: props.tableData.id,
- field: i,
- });
- }}
- onMouseLeave={() => {
- setHoveredField(-1);
- }}
- >
-
-
- {e.name}
-
-
- {hoveredField === i ? (
-
- ) : (
- e.type
- )}
-
-
+ {field(e, i)}
+ ) : (
+ field(e, i)
);
})}
@@ -748,4 +691,71 @@ export default function Table(props) {
);
+
+ function field(fieldData, index) {
+ return (
+
{
+ setHoveredField(index);
+ props.setOnRect({
+ tableId: props.tableData.id,
+ field: index,
+ });
+ }}
+ onMouseLeave={() => {
+ setHoveredField(-1);
+ }}
+ >
+
+
+ {fieldData.name}
+
+
+ {hoveredField === index ? (
+
+ ) : (
+ fieldData.type
+ )}
+
+
+ );
+ }
}
diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx
index 7e1d5e5..c1834bf 100644
--- a/src/pages/editor.jsx
+++ b/src/pages/editor.jsx
@@ -38,6 +38,7 @@ export default function Editor(props) {
});
const [settings, setSettings] = useState({
strictMode: false,
+ showFieldSummary: true,
});
const dragHandler = (e) => {