mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 00:56:02 +00:00
SYNC: Run macro context menu
This commit is contained in:
committed by
Diflow
parent
bc695f5af9
commit
a0b025cf59
@@ -45,7 +45,7 @@
|
|||||||
category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
|
category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
|
||||||
name: __t('command.datagrid.toggleCellDataView', { defaultMessage: 'Toggle cell data view' }),
|
name: __t('command.datagrid.toggleCellDataView', { defaultMessage: 'Toggle cell data view' }),
|
||||||
toolbarName: __t('command.datagrid.toggleCellDataView.toolbar', { defaultMessage: 'Cell Data' }),
|
toolbarName: __t('command.datagrid.toggleCellDataView.toolbar', { defaultMessage: 'Cell Data' }),
|
||||||
menuName: __t('command.datagrid.toggleCellDataView.menu', { defaultMessage: 'Show Cell Data' }),
|
menuName: __t('command.datagrid.toggleCellDataView.menu', { defaultMessage: 'Show cell data' }),
|
||||||
icon: 'icon cell-data',
|
icon: 'icon cell-data',
|
||||||
testEnabled: () => !!getCurrentEditor(),
|
testEnabled: () => !!getCurrentEditor(),
|
||||||
onClick: () => getCurrentEditor().toggleCellDataView(),
|
onClick: () => getCurrentEditor().toggleCellDataView(),
|
||||||
|
|||||||
@@ -354,7 +354,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { GridDisplay } from 'dbgate-datalib';
|
import { GridDisplay, MacroDefinition } from 'dbgate-datalib';
|
||||||
import {
|
import {
|
||||||
driverBase,
|
driverBase,
|
||||||
parseCellValue,
|
parseCellValue,
|
||||||
@@ -364,6 +364,7 @@
|
|||||||
base64ToHex,
|
base64ToHex,
|
||||||
} from 'dbgate-tools';
|
} from 'dbgate-tools';
|
||||||
import { getContext, onDestroy } from 'svelte';
|
import { getContext, onDestroy } from 'svelte';
|
||||||
|
import { type Writable } from 'svelte/store';
|
||||||
import _, { map } from 'lodash';
|
import _, { map } from 'lodash';
|
||||||
import registerCommand from '../commands/registerCommand';
|
import registerCommand from '../commands/registerCommand';
|
||||||
import ColumnHeaderControl from './ColumnHeaderControl.svelte';
|
import ColumnHeaderControl from './ColumnHeaderControl.svelte';
|
||||||
@@ -476,6 +477,7 @@
|
|||||||
export let overlayDefinition = null;
|
export let overlayDefinition = null;
|
||||||
export let onGetSelectionMenu = null;
|
export let onGetSelectionMenu = null;
|
||||||
export let onOpenChart = null;
|
export let onOpenChart = null;
|
||||||
|
export let macroCondition = null;
|
||||||
|
|
||||||
export const activator = createActivator('DataGridCore', false);
|
export const activator = createActivator('DataGridCore', false);
|
||||||
|
|
||||||
@@ -507,6 +509,7 @@
|
|||||||
let selectionMenu = null;
|
let selectionMenu = null;
|
||||||
|
|
||||||
const tabid = getContext('tabid');
|
const tabid = getContext('tabid');
|
||||||
|
const selectedMacro = getContext('selectedMacro') as Writable<MacroDefinition>;
|
||||||
|
|
||||||
let unsubscribeDbRefresh;
|
let unsubscribeDbRefresh;
|
||||||
|
|
||||||
@@ -1919,11 +1922,15 @@
|
|||||||
{ command: 'dataGrid.loadCellFromFile', hideDisabled: true },
|
{ command: 'dataGrid.loadCellFromFile', hideDisabled: true },
|
||||||
{ command: 'dataGrid.toggleCellDataView', hideDisabled: true },
|
{ command: 'dataGrid.toggleCellDataView', hideDisabled: true },
|
||||||
isProApp() && {
|
isProApp() && {
|
||||||
text: _t('datagrid.runMacro', { defaultMessage: 'Run macro' }),
|
text: _t('datagrid.useMacro', { defaultMessage: 'Use macro' }),
|
||||||
submenu: macros.map(macro => ({
|
submenu: macros
|
||||||
text: macro.name,
|
.filter(macro => !macroCondition || macroCondition(macro))
|
||||||
onClick: () => {},
|
.map(macro => ({
|
||||||
})),
|
text: _tval(macro.title),
|
||||||
|
onClick: () => {
|
||||||
|
selectedMacro.set(macro);
|
||||||
|
},
|
||||||
|
})),
|
||||||
},
|
},
|
||||||
// { command: 'dataGrid.copyJsonDocument', hideDisabled: true },
|
// { command: 'dataGrid.copyJsonDocument', hideDisabled: true },
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
import FormStringList from './FormStringList.svelte';
|
import FormStringList from './FormStringList.svelte';
|
||||||
import FormDropDownTextField from './FormDropDownTextField.svelte';
|
import FormDropDownTextField from './FormDropDownTextField.svelte';
|
||||||
import { getFormContext } from './FormProviderCore.svelte';
|
import { getFormContext } from './FormProviderCore.svelte';
|
||||||
|
import { _tval } from '../translations';
|
||||||
|
|
||||||
export let arg;
|
export let arg;
|
||||||
export let namePrefix;
|
export let namePrefix;
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
|
|
||||||
{#if arg.type == 'text'}
|
{#if arg.type == 'text'}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label={arg.label}
|
label={_tval(arg.label)}
|
||||||
{name}
|
{name}
|
||||||
defaultValue={arg.default}
|
defaultValue={arg.default}
|
||||||
focused={arg.focused}
|
focused={arg.focused}
|
||||||
@@ -26,10 +27,15 @@
|
|||||||
disabled={arg.disabledFn ? arg.disabledFn($values) : arg.disabled}
|
disabled={arg.disabledFn ? arg.disabledFn($values) : arg.disabled}
|
||||||
/>
|
/>
|
||||||
{:else if arg.type == 'stringlist'}
|
{:else if arg.type == 'stringlist'}
|
||||||
<FormStringList label={arg.label} addButtonLabel={arg.addButtonLabel} {name} placeholder={arg.placeholder} />
|
<FormStringList
|
||||||
|
label={_tval(arg.label)}
|
||||||
|
addButtonLabel={_tval(arg.addButtonLabel)}
|
||||||
|
{name}
|
||||||
|
placeholder={arg.placeholder}
|
||||||
|
/>
|
||||||
{:else if arg.type == 'number'}
|
{:else if arg.type == 'number'}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label={arg.label}
|
label={_tval(arg.label)}
|
||||||
type="number"
|
type="number"
|
||||||
{name}
|
{name}
|
||||||
defaultValue={arg.default}
|
defaultValue={arg.default}
|
||||||
@@ -39,14 +45,14 @@
|
|||||||
/>
|
/>
|
||||||
{:else if arg.type == 'checkbox'}
|
{:else if arg.type == 'checkbox'}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label={arg.label}
|
label={_tval(arg.label)}
|
||||||
{name}
|
{name}
|
||||||
defaultValue={arg.default}
|
defaultValue={arg.default}
|
||||||
disabled={arg.disabledFn ? arg.disabledFn($values) : arg.disabled}
|
disabled={arg.disabledFn ? arg.disabledFn($values) : arg.disabled}
|
||||||
/>
|
/>
|
||||||
{:else if arg.type == 'select'}
|
{:else if arg.type == 'select'}
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label={arg.label}
|
label={_tval(arg.label)}
|
||||||
isNative
|
isNative
|
||||||
{name}
|
{name}
|
||||||
defaultValue={arg.default}
|
defaultValue={arg.default}
|
||||||
@@ -57,7 +63,7 @@
|
|||||||
/>
|
/>
|
||||||
{:else if arg.type == 'dropdowntext'}
|
{:else if arg.type == 'dropdowntext'}
|
||||||
<FormDropDownTextField
|
<FormDropDownTextField
|
||||||
label={arg.label}
|
label={_tval(arg.label)}
|
||||||
{name}
|
{name}
|
||||||
defaultValue={arg.default}
|
defaultValue={arg.default}
|
||||||
menu={() => {
|
menu={() => {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import FontIcon from '../icons/FontIcon.svelte';
|
import FontIcon from '../icons/FontIcon.svelte';
|
||||||
import ToolbarButton from '../buttons/ToolbarButton.svelte';
|
import ToolbarButton from '../buttons/ToolbarButton.svelte';
|
||||||
import { _t } from '../translations';
|
import { _t, _tval } from '../translations';
|
||||||
|
|
||||||
export let onExecute;
|
export let onExecute;
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<div class="header">
|
<div class="header">
|
||||||
<FontIcon icon="img macro" />
|
<FontIcon icon="img macro" />
|
||||||
<div class="ml-2">
|
<div class="ml-2">
|
||||||
{$selectedMacro?.title}
|
{_tval($selectedMacro?.title)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
import WidgetTitle from '../widgets/WidgetTitle.svelte';
|
import WidgetTitle from '../widgets/WidgetTitle.svelte';
|
||||||
import MacroParameters from './MacroParameters.svelte';
|
import MacroParameters from './MacroParameters.svelte';
|
||||||
import { _t } from '../translations';
|
import { _t, _tval } from '../translations';
|
||||||
|
|
||||||
const selectedMacro = getContext('selectedMacro') as any;
|
const selectedMacro = getContext('selectedMacro') as any;
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<WidgetTitle>{_t('common.description', { defaultMessage: 'Description' })}</WidgetTitle>
|
<WidgetTitle>{_t('common.description', { defaultMessage: 'Description' })}</WidgetTitle>
|
||||||
<div class="m-1">{$selectedMacro?.description}</div>
|
<div class="m-1">{_tval($selectedMacro?.description)}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user