mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-03 10:33:58 +00:00
activator used whereever possible
This commit is contained in:
@@ -56,7 +56,7 @@
|
|||||||
let managerSize;
|
let managerSize;
|
||||||
|
|
||||||
$: isFormView = !!(formDisplay && formDisplay.config && formDisplay.config.isFormView);
|
$: isFormView = !!(formDisplay && formDisplay.config && formDisplay.config.isFormView);
|
||||||
$: isJsonView = !!config.isJsonView;
|
$: isJsonView = !!config?.isJsonView;
|
||||||
|
|
||||||
const handleExecuteMacro = () => {
|
const handleExecuteMacro = () => {
|
||||||
onRunMacro($selectedMacro, extractMacroValuesForMacro($macroValues, $selectedMacro), selectedCellsPublished());
|
onRunMacro($selectedMacro, extractMacroValuesForMacro($macroValues, $selectedMacro), selectedCellsPublished());
|
||||||
|
|||||||
@@ -220,7 +220,6 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { GridDisplay } from 'dbgate-datalib';
|
import { GridDisplay } from 'dbgate-datalib';
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import registerCommand from '../commands/registerCommand';
|
import registerCommand from '../commands/registerCommand';
|
||||||
|
|||||||
@@ -149,7 +149,6 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
|
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
|
|
||||||
@@ -189,7 +188,6 @@
|
|||||||
$: rowHeight = $dataGridRowHeight;
|
$: rowHeight = $dataGridRowHeight;
|
||||||
let currentCell = [0, 0];
|
let currentCell = [0, 0];
|
||||||
|
|
||||||
const instance = get_current_component();
|
|
||||||
const tabVisible: any = getContext('tabVisible');
|
const tabVisible: any = getContext('tabVisible');
|
||||||
const domCells = {};
|
const domCells = {};
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('ChartTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerFileCommands({
|
registerFileCommands({
|
||||||
idPrefix: 'chart',
|
idPrefix: 'chart',
|
||||||
@@ -17,8 +15,6 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { getContext } from 'svelte';
|
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
import { derived } from 'svelte/store';
|
import { derived } from 'svelte/store';
|
||||||
import ChartEditor from '../charts/ChartEditor.svelte';
|
import ChartEditor from '../charts/ChartEditor.svelte';
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
@@ -29,15 +25,14 @@
|
|||||||
import LoadingInfo from '../elements/LoadingInfo.svelte';
|
import LoadingInfo from '../elements/LoadingInfo.svelte';
|
||||||
|
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { getActiveTabId } from '../stores';
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
import createUndoReducer from '../utility/createUndoReducer';
|
import createUndoReducer from '../utility/createUndoReducer';
|
||||||
|
|
||||||
export let tabid;
|
export let tabid;
|
||||||
export let conid;
|
export let conid;
|
||||||
export let database;
|
export let database;
|
||||||
|
|
||||||
const instance = get_current_component();
|
export const activator = createActivator('ChartTab', true);
|
||||||
const tabVisible: any = getContext('tabVisible');
|
|
||||||
|
|
||||||
export function getData() {
|
export function getData() {
|
||||||
return $editorState.value || '';
|
return $editorState.value || '';
|
||||||
@@ -58,8 +53,6 @@
|
|||||||
|
|
||||||
$: setEditorData($modelState.value);
|
$: setEditorData($modelState.value);
|
||||||
|
|
||||||
$: if ($tabVisible) lastFocusedEditor = instance;
|
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
$modelState;
|
$modelState;
|
||||||
invalidateCommands();
|
invalidateCommands();
|
||||||
@@ -97,10 +90,6 @@
|
|||||||
dispatchModel({ type: 'redo' });
|
dispatchModel({ type: 'redo' });
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getTabId() {
|
|
||||||
return tabid;
|
|
||||||
}
|
|
||||||
|
|
||||||
function createMenu() {
|
function createMenu() {
|
||||||
return [
|
return [
|
||||||
{ command: 'chart.save' },
|
{ command: 'chart.save' },
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('FavoriteEditorTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerFileCommands({
|
registerFileCommands({
|
||||||
idPrefix: 'favoriteJsonEditor',
|
idPrefix: 'favoriteJsonEditor',
|
||||||
@@ -33,26 +31,25 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import registerCommand from '../commands/registerCommand';
|
import registerCommand from '../commands/registerCommand';
|
||||||
import { registerFileCommands } from '../commands/stdCommands';
|
import { registerFileCommands } from '../commands/stdCommands';
|
||||||
|
|
||||||
import AceEditor from '../query/AceEditor.svelte';
|
import AceEditor from '../query/AceEditor.svelte';
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { getActiveTabId } from '../stores';
|
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
import axiosInstance from '../utility/axiosInstance';
|
import axiosInstance from '../utility/axiosInstance';
|
||||||
import { showModal } from '../modals/modalTools';
|
import { showModal } from '../modals/modalTools';
|
||||||
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
||||||
import { openFavorite } from '../appobj/FavoriteFileAppObject.svelte';
|
import { openFavorite } from '../appobj/FavoriteFileAppObject.svelte';
|
||||||
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
|
|
||||||
export let tabid;
|
export let tabid;
|
||||||
export let savedFile;
|
export let savedFile;
|
||||||
|
|
||||||
const tabVisible: any = getContext('tabVisible');
|
const tabVisible: any = getContext('tabVisible');
|
||||||
|
|
||||||
const instance = get_current_component();
|
export const activator = createActivator('FavoriteEditorTab', false);
|
||||||
|
|
||||||
let domEditor;
|
let domEditor;
|
||||||
|
|
||||||
@@ -117,7 +114,7 @@
|
|||||||
menu={createMenu()}
|
menu={createMenu()}
|
||||||
on:input={e => setEditorData(e.detail)}
|
on:input={e => setEditorData(e.detail)}
|
||||||
on:focus={() => {
|
on:focus={() => {
|
||||||
lastFocusedEditor = instance;
|
activator.activate();
|
||||||
invalidateCommands();
|
invalidateCommands();
|
||||||
}}
|
}}
|
||||||
bind:this={domEditor}
|
bind:this={domEditor}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('MarkdownEditorTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerFileCommands({
|
registerFileCommands({
|
||||||
idPrefix: 'markdown',
|
idPrefix: 'markdown',
|
||||||
@@ -28,23 +26,23 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import registerCommand from '../commands/registerCommand';
|
import registerCommand from '../commands/registerCommand';
|
||||||
import { registerFileCommands } from '../commands/stdCommands';
|
import { registerFileCommands } from '../commands/stdCommands';
|
||||||
|
|
||||||
import AceEditor from '../query/AceEditor.svelte';
|
import AceEditor from '../query/AceEditor.svelte';
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { getActiveTabId, openedTabs } from '../stores';
|
import { openedTabs } from '../stores';
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
import openNewTab from '../utility/openNewTab';
|
import openNewTab from '../utility/openNewTab';
|
||||||
import { setSelectedTab } from '../utility/common';
|
import { setSelectedTab } from '../utility/common';
|
||||||
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
|
|
||||||
export let tabid;
|
export let tabid;
|
||||||
|
|
||||||
const tabVisible: any = getContext('tabVisible');
|
const tabVisible: any = getContext('tabVisible');
|
||||||
|
|
||||||
const instance = get_current_component();
|
export const activator = createActivator('MarkdownEditorTab', false);
|
||||||
|
|
||||||
let domEditor;
|
let domEditor;
|
||||||
|
|
||||||
@@ -112,7 +110,7 @@
|
|||||||
menu={createMenu()}
|
menu={createMenu()}
|
||||||
on:input={e => setEditorData(e.detail)}
|
on:input={e => setEditorData(e.detail)}
|
||||||
on:focus={() => {
|
on:focus={() => {
|
||||||
lastFocusedEditor = instance;
|
activator.activate();
|
||||||
invalidateCommands();
|
invalidateCommands();
|
||||||
}}
|
}}
|
||||||
bind:this={domEditor}
|
bind:this={domEditor}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('QueryDesignTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerFileCommands({
|
registerFileCommands({
|
||||||
idPrefix: 'designer',
|
idPrefix: 'designer',
|
||||||
@@ -17,44 +15,35 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { get_current_component } from 'svelte/internal';
|
|
||||||
import { getContext } from 'svelte';
|
|
||||||
import sqlFormatter from 'sql-formatter';
|
import sqlFormatter from 'sql-formatter';
|
||||||
|
|
||||||
import { writable, derived, get } from 'svelte/store';
|
|
||||||
import registerCommand from '../commands/registerCommand';
|
|
||||||
|
|
||||||
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
||||||
import SqlEditor from '../query/SqlEditor.svelte';
|
import SqlEditor from '../query/SqlEditor.svelte';
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { activeTabId, extensions, getActiveTabId, nullStore } from '../stores';
|
import { extensions } from '../stores';
|
||||||
import applySqlTemplate from '../utility/applySqlTemplate';
|
|
||||||
import axiosInstance from '../utility/axiosInstance';
|
import axiosInstance from '../utility/axiosInstance';
|
||||||
import { changeTab } from '../utility/common';
|
import { changeTab } from '../utility/common';
|
||||||
import { useConnectionInfo } from '../utility/metadataLoaders';
|
import { useConnectionInfo } from '../utility/metadataLoaders';
|
||||||
import socket from '../utility/socket';
|
import socket from '../utility/socket';
|
||||||
import SocketMessageView from '../query/SocketMessageView.svelte';
|
import SocketMessageView from '../query/SocketMessageView.svelte';
|
||||||
import memberStore from '../utility/memberStore';
|
|
||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
import ResultTabs from '../query/ResultTabs.svelte';
|
import ResultTabs from '../query/ResultTabs.svelte';
|
||||||
import { registerFileCommands } from '../commands/stdCommands';
|
import { registerFileCommands } from '../commands/stdCommands';
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
import QueryDesigner from '../designer/QueryDesigner.svelte';
|
import QueryDesigner from '../designer/QueryDesigner.svelte';
|
||||||
import createReducer from '../utility/createReducer';
|
|
||||||
import createUndoReducer from '../utility/createUndoReducer';
|
import createUndoReducer from '../utility/createUndoReducer';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { findEngineDriver } from 'dbgate-tools';
|
import { findEngineDriver } from 'dbgate-tools';
|
||||||
import { generateDesignedQuery } from '../designer/designerTools';
|
import { generateDesignedQuery } from '../designer/designerTools';
|
||||||
import QueryDesignColumns from '../elements/QueryDesignColumns.svelte';
|
import QueryDesignColumns from '../elements/QueryDesignColumns.svelte';
|
||||||
import useTimerLabel from '../utility/useTimerLabel';
|
import useTimerLabel from '../utility/useTimerLabel';
|
||||||
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
|
|
||||||
export let tabid;
|
export let tabid;
|
||||||
export let conid;
|
export let conid;
|
||||||
export let database;
|
export let database;
|
||||||
export let initialArgs;
|
export let initialArgs;
|
||||||
|
|
||||||
const instance = get_current_component();
|
|
||||||
const tabVisible: any = getContext('tabVisible');
|
|
||||||
const timerLabel = useTimerLabel();
|
const timerLabel = useTimerLabel();
|
||||||
|
|
||||||
let busy = false;
|
let busy = false;
|
||||||
@@ -63,7 +52,7 @@
|
|||||||
let sessionId = null;
|
let sessionId = null;
|
||||||
let sqlPreview = '';
|
let sqlPreview = '';
|
||||||
|
|
||||||
let domEditor;
|
export const activator = createActivator('QueryDesignTab', true);
|
||||||
|
|
||||||
$: connection = useConnectionInfo({ conid });
|
$: connection = useConnectionInfo({ conid });
|
||||||
$: engine = findEngineDriver($connection, $extensions);
|
$: engine = findEngineDriver($connection, $extensions);
|
||||||
@@ -97,8 +86,6 @@
|
|||||||
|
|
||||||
$: generatePreview($modelState.value, engine);
|
$: generatePreview($modelState.value, engine);
|
||||||
|
|
||||||
$: if ($tabVisible) lastFocusedEditor = instance;
|
|
||||||
|
|
||||||
export function canKill() {
|
export function canKill() {
|
||||||
return !!sessionId;
|
return !!sessionId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('QueryTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerCommand({
|
registerCommand({
|
||||||
id: 'query.formatCode',
|
id: 'query.formatCode',
|
||||||
@@ -33,24 +31,21 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { get_current_component, insert } from 'svelte/internal';
|
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import sqlFormatter from 'sql-formatter';
|
import sqlFormatter from 'sql-formatter';
|
||||||
|
|
||||||
import { writable, derived, get } from 'svelte/store';
|
|
||||||
import registerCommand from '../commands/registerCommand';
|
import registerCommand from '../commands/registerCommand';
|
||||||
|
|
||||||
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
||||||
import SqlEditor from '../query/SqlEditor.svelte';
|
import SqlEditor from '../query/SqlEditor.svelte';
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { activeTabId, extensions, getActiveTabId, nullStore } from '../stores';
|
import { extensions } from '../stores';
|
||||||
import applySqlTemplate from '../utility/applySqlTemplate';
|
import applySqlTemplate from '../utility/applySqlTemplate';
|
||||||
import axiosInstance from '../utility/axiosInstance';
|
import axiosInstance from '../utility/axiosInstance';
|
||||||
import { changeTab } from '../utility/common';
|
import { changeTab } from '../utility/common';
|
||||||
import { getDatabaseInfo, useConnectionInfo } from '../utility/metadataLoaders';
|
import { getDatabaseInfo, useConnectionInfo } from '../utility/metadataLoaders';
|
||||||
import socket from '../utility/socket';
|
import socket from '../utility/socket';
|
||||||
import SocketMessageView from '../query/SocketMessageView.svelte';
|
import SocketMessageView from '../query/SocketMessageView.svelte';
|
||||||
import memberStore from '../utility/memberStore';
|
|
||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
import ResultTabs from '../query/ResultTabs.svelte';
|
import ResultTabs from '../query/ResultTabs.svelte';
|
||||||
import { registerFileCommands } from '../commands/stdCommands';
|
import { registerFileCommands } from '../commands/stdCommands';
|
||||||
@@ -58,13 +53,15 @@
|
|||||||
import { showModal } from '../modals/modalTools';
|
import { showModal } from '../modals/modalTools';
|
||||||
import InsertJoinModal from '../modals/InsertJoinModal.svelte';
|
import InsertJoinModal from '../modals/InsertJoinModal.svelte';
|
||||||
import useTimerLabel from '../utility/useTimerLabel';
|
import useTimerLabel from '../utility/useTimerLabel';
|
||||||
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
|
|
||||||
export let tabid;
|
export let tabid;
|
||||||
export let conid;
|
export let conid;
|
||||||
export let database;
|
export let database;
|
||||||
export let initialArgs;
|
export let initialArgs;
|
||||||
|
|
||||||
const instance = get_current_component();
|
export const activator = createActivator('QueryTab', false);
|
||||||
|
|
||||||
const tabVisible: any = getContext('tabVisible');
|
const tabVisible: any = getContext('tabVisible');
|
||||||
const timerLabel = useTimerLabel();
|
const timerLabel = useTimerLabel();
|
||||||
|
|
||||||
@@ -236,7 +233,7 @@
|
|||||||
menu={createMenu()}
|
menu={createMenu()}
|
||||||
on:input={e => setEditorData(e.detail)}
|
on:input={e => setEditorData(e.detail)}
|
||||||
on:focus={() => {
|
on:focus={() => {
|
||||||
lastFocusedEditor = instance;
|
activator.activate();
|
||||||
invalidateCommands();
|
invalidateCommands();
|
||||||
}}
|
}}
|
||||||
bind:this={domEditor}
|
bind:this={domEditor}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script lang="ts" context="module">
|
<script lang="ts" context="module">
|
||||||
let lastFocusedEditor = null;
|
const getCurrentEditor = () => getActiveComponent('ShellTab');
|
||||||
const getCurrentEditor = () =>
|
|
||||||
lastFocusedEditor?.getTabId && lastFocusedEditor?.getTabId() == getActiveTabId() ? lastFocusedEditor : null;
|
|
||||||
|
|
||||||
registerFileCommands({
|
registerFileCommands({
|
||||||
idPrefix: 'shell',
|
idPrefix: 'shell',
|
||||||
@@ -22,21 +20,18 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { getContext, get_current_component } from 'svelte/internal';
|
import { getContext } from 'svelte';
|
||||||
|
|
||||||
import { derived, writable } from 'svelte/store';
|
|
||||||
import invalidateCommands from '../commands/invalidateCommands';
|
import invalidateCommands from '../commands/invalidateCommands';
|
||||||
import registerCommand from '../commands/registerCommand';
|
|
||||||
import { registerFileCommands } from '../commands/stdCommands';
|
import { registerFileCommands } from '../commands/stdCommands';
|
||||||
|
|
||||||
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
|
||||||
import AceEditor from '../query/AceEditor.svelte';
|
import AceEditor from '../query/AceEditor.svelte';
|
||||||
import RunnerOutputPane from '../query/RunnerOutputPane.svelte';
|
import RunnerOutputPane from '../query/RunnerOutputPane.svelte';
|
||||||
import useEditorData from '../query/useEditorData';
|
import useEditorData from '../query/useEditorData';
|
||||||
import { activeTabId, getActiveTabId, nullStore } from '../stores';
|
|
||||||
import axiosInstance from '../utility/axiosInstance';
|
import axiosInstance from '../utility/axiosInstance';
|
||||||
import { changeTab } from '../utility/common';
|
import { changeTab } from '../utility/common';
|
||||||
import memberStore from '../utility/memberStore';
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
import socket from '../utility/socket';
|
import socket from '../utility/socket';
|
||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
import useTimerLabel from '../utility/useTimerLabel';
|
import useTimerLabel from '../utility/useTimerLabel';
|
||||||
@@ -48,7 +43,7 @@ import { changeTab } from '../utility/common';
|
|||||||
|
|
||||||
let runnerId;
|
let runnerId;
|
||||||
|
|
||||||
const instance = get_current_component();
|
export const activator = createActivator('ShellTab', false);
|
||||||
|
|
||||||
let busy = false;
|
let busy = false;
|
||||||
let executeNumber = 0;
|
let executeNumber = 0;
|
||||||
@@ -119,10 +114,6 @@ import { changeTab } from '../utility/common';
|
|||||||
domEditor.getEditor().execCommand('replace');
|
domEditor.getEditor().execCommand('replace');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getTabId() {
|
|
||||||
return tabid;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function isBusy() {
|
export function isBusy() {
|
||||||
return busy;
|
return busy;
|
||||||
}
|
}
|
||||||
@@ -179,7 +170,7 @@ import { changeTab } from '../utility/common';
|
|||||||
menu={createMenu()}
|
menu={createMenu()}
|
||||||
on:input={e => setEditorData(e.detail)}
|
on:input={e => setEditorData(e.detail)}
|
||||||
on:focus={() => {
|
on:focus={() => {
|
||||||
lastFocusedEditor = instance;
|
activator.activate();
|
||||||
invalidateCommands();
|
invalidateCommands();
|
||||||
}}
|
}}
|
||||||
bind:this={domEditor}
|
bind:this={domEditor}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import registerCommand from '../commands/registerCommand';
|
|||||||
|
|
||||||
export default function saveTabFile(editor, saveAs, folder, format, fileExtension) {
|
export default function saveTabFile(editor, saveAs, folder, format, fileExtension) {
|
||||||
const tabs = get(openedTabs);
|
const tabs = get(openedTabs);
|
||||||
const tabid = editor.getTabId();
|
const tabid = editor.activator.tabid;
|
||||||
const data = editor.getData();
|
const data = editor.getData();
|
||||||
const { savedFile, savedFilePath } = tabs.find(x => x.tabid == tabid).props || {};
|
const { savedFile, savedFilePath } = tabs.find(x => x.tabid == tabid).props || {};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user