mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-27 10:16:03 +00:00
changed table ctx menu for redonly connections
This commit is contained in:
@@ -47,18 +47,22 @@
|
|||||||
{
|
{
|
||||||
label: 'Drop table',
|
label: 'Drop table',
|
||||||
isDrop: true,
|
isDrop: true,
|
||||||
|
requiresWriteAccess: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Rename table',
|
label: 'Rename table',
|
||||||
isRename: true,
|
isRename: true,
|
||||||
|
requiresWriteAccess: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Create table backup',
|
label: 'Create table backup',
|
||||||
isDuplicateTable: true,
|
isDuplicateTable: true,
|
||||||
|
requiresWriteAccess: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Query designer',
|
label: 'Query designer',
|
||||||
isQueryDesigner: true,
|
isQueryDesigner: true,
|
||||||
|
requiresWriteAccess: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Show diagram',
|
label: 'Show diagram',
|
||||||
@@ -75,6 +79,7 @@
|
|||||||
{
|
{
|
||||||
label: 'Import',
|
label: 'Import',
|
||||||
isImport: true,
|
isImport: true,
|
||||||
|
requiresWriteAccess: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Open as data sheet',
|
label: 'Open as data sheet',
|
||||||
@@ -613,7 +618,7 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createDatabaseObjectMenu(data) {
|
export function createDatabaseObjectMenu(data, connection = null) {
|
||||||
const { objectTypeField } = data;
|
const { objectTypeField } = data;
|
||||||
return menus[objectTypeField]
|
return menus[objectTypeField]
|
||||||
.filter(x => x)
|
.filter(x => x)
|
||||||
@@ -652,6 +657,9 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (connection?.isReadOnly && menu.requiresWriteAccess) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
text: menu.label,
|
text: menu.label,
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
@@ -712,7 +720,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createMenu() {
|
function createMenu() {
|
||||||
return createDatabaseObjectMenu(data);
|
return createDatabaseObjectMenu(data, passProps?.connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
$: isPinned = !!$pinnedTables.find(x => testEqual(data, x));
|
$: isPinned = !!$pinnedTables.find(x => testEqual(data, x));
|
||||||
|
|||||||
@@ -145,7 +145,7 @@
|
|||||||
data.objectTypeField == 'tables' || data.objectTypeField == 'views' || data.objectTypeField == 'matviews'}
|
data.objectTypeField == 'tables' || data.objectTypeField == 'views' || data.objectTypeField == 'matviews'}
|
||||||
expandIconFunc={chevronExpandIcon}
|
expandIconFunc={chevronExpandIcon}
|
||||||
{filter}
|
{filter}
|
||||||
passProps={{ showPinnedInsteadOfUnpin: true }}
|
passProps={{ showPinnedInsteadOfUnpin: true, connection: $connection }}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
</WidgetsInnerContainer>
|
</WidgetsInnerContainer>
|
||||||
|
|||||||
Reference in New Issue
Block a user