mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-28 00:16:24 +00:00
feat(diagram): show data type and nullability
This commit is contained in:
@@ -137,6 +137,20 @@
|
|||||||
{#if designerColumn?.isGrouped}
|
{#if designerColumn?.isGrouped}
|
||||||
<FontIcon icon="img group" />
|
<FontIcon icon="img group" />
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
{#if designer?.style?.showNullability || designer?.style?.showDataType}
|
||||||
|
<div class="space" />
|
||||||
|
{#if designer?.style?.showDataType && column?.dataType}
|
||||||
|
<div class="ml-2">
|
||||||
|
{column?.dataType.toLowerCase()}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{#if designer?.style?.showNullability}
|
||||||
|
<div class="ml-2">
|
||||||
|
{column?.notNull ? 'NOT NULL' : 'NULL'}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -149,4 +163,10 @@
|
|||||||
:global(.dbgate-screen) .line.isDragTarget {
|
:global(.dbgate-screen) .line.isDragTarget {
|
||||||
background: var(--theme-bg-gold);
|
background: var(--theme-bg-gold);
|
||||||
}
|
}
|
||||||
|
.line {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.space {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -701,9 +701,43 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const changeStyleFunc = (name, value) => () => {
|
||||||
|
callChange(current => {
|
||||||
|
return {
|
||||||
|
...current,
|
||||||
|
style: {
|
||||||
|
...current?.style,
|
||||||
|
[name]: value,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function createMenu() {
|
||||||
|
return [
|
||||||
|
menu,
|
||||||
|
settings?.chooseColumnProperties && [
|
||||||
|
{ divider: true },
|
||||||
|
{
|
||||||
|
text: 'Column properties',
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
text: `Nullability: ${value?.style?.showNullability ? 'YES' : 'NO'}`,
|
||||||
|
onClick: changeStyleFunc('showNullability', !value?.style?.showNullability),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: `Data type: ${value?.style?.showDataType ? 'YES' : 'NO'}`,
|
||||||
|
onClick: changeStyleFunc('showDataType', !value?.style?.showDataType),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="wrapper noselect" use:contextMenu={menu}>
|
<div class="wrapper noselect" use:contextMenu={createMenu}>
|
||||||
{#if !(tables?.length > 0)}
|
{#if !(tables?.length > 0)}
|
||||||
<div class="empty">Drag & drop tables or views from left panel here</div>
|
<div class="empty">Drag & drop tables or views from left panel here</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
canSelectTables: true,
|
canSelectTables: true,
|
||||||
allowChangeColor: true,
|
allowChangeColor: true,
|
||||||
appendTableSystemMenu: true,
|
appendTableSystemMenu: true,
|
||||||
|
chooseColumnProperties: true,
|
||||||
}}
|
}}
|
||||||
referenceComponent={DiagramDesignerReference}
|
referenceComponent={DiagramDesignerReference}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
canSelectTables: false,
|
canSelectTables: false,
|
||||||
allowChangeColor: false,
|
allowChangeColor: false,
|
||||||
appendTableSystemMenu: false,
|
appendTableSystemMenu: false,
|
||||||
|
chooseColumnProperties: false,
|
||||||
}}
|
}}
|
||||||
referenceComponent={QueryDesignerReference}
|
referenceComponent={QueryDesignerReference}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user