find in SQL text

This commit is contained in:
SPRINX0\prochazka
2024-12-16 14:45:38 +01:00
parent 20a5a50516
commit 2fc2ac491c
6 changed files with 51 additions and 3 deletions

View File

@@ -32,6 +32,7 @@
export let indentLevel = 0; export let indentLevel = 0;
export let disableBoldScroll = false; export let disableBoldScroll = false;
export let filter = null; export let filter = null;
export let disableHover = false;
$: isChecked = $: isChecked =
checkedObjectsStore && $checkedObjectsStore.find(x => module?.extractKey(data) == module?.extractKey(x)); checkedObjectsStore && $checkedObjectsStore.find(x => module?.extractKey(data) == module?.extractKey(x));
@@ -91,6 +92,7 @@
class="main" class="main"
class:isBold class:isBold
class:isChoosed class:isChoosed
class:disableHover
draggable={true} draggable={true}
on:click={handleClick} on:click={handleClick}
on:mouseup={handleMouseUp} on:mouseup={handleMouseUp}
@@ -197,7 +199,7 @@
white-space: nowrap; white-space: nowrap;
font-weight: normal; font-weight: normal;
} }
.main:hover { .main:hover:not(.disableHover) {
background-color: var(--theme-bg-hover); background-color: var(--theme-bg-hover);
} }
.isBold { .isBold {

View File

@@ -73,5 +73,5 @@
{extInfo} {extInfo}
icon={getColumnIcon(data, true)} icon={getColumnIcon(data, true)}
menu={createMenu} menu={createMenu}
disableHover \
/> />

View File

@@ -0,0 +1,23 @@
<script lang="ts" context="module">
export const extractKey = ({ columnName }) => columnName;
export const createMatcher =
(filter, cfg = DEFAULT_SEARCH_SETTINGS) =>
data => {
const filterArgs = [];
if (cfg.sqlObjectText) filterArgs.push(data.lineData);
const res = filterName(filter, ...filterArgs);
return res;
};
</script>
<script lang="ts">
import AppObjectCore from './AppObjectCore.svelte';
import { filterName } from 'dbgate-tools';
import { DEFAULT_SEARCH_SETTINGS } from '../stores';
export let data;
</script>
<AppObjectCore {...$$restProps} {data} icon="icon text" title={data.lineData?.substring(0, 100)} disableHover />

View File

@@ -0,0 +1,19 @@
<script lang="ts" context="module">
export const extractKey = ({ lineData }) => lineData;
</script>
<script lang="ts">
import AppObjectList from './AppObjectList.svelte';
import * as procedureLineAppObject from './ProcedureLineAppObject.svelte';
export let data;
export let filter;
</script>
<AppObjectList
list={(data.createSql?.split('\n') || []).map(lineData => ({
lineData,
}))}
module={procedureLineAppObject}
{filter}
/>

View File

@@ -143,6 +143,7 @@
'icon parent-filter': 'mdi mdi-home-alert', 'icon parent-filter': 'mdi mdi-home-alert',
'icon parent-filter-outline': 'mdi mdi-home-alert-outline', 'icon parent-filter-outline': 'mdi mdi-home-alert-outline',
'icon download': 'mdi mdi-download', 'icon download': 'mdi mdi-download',
'icon text': 'mdi mdi-text',
'icon run': 'mdi mdi-play', 'icon run': 'mdi mdi-play',
'icon chevron-down': 'mdi mdi-chevron-down', 'icon chevron-down': 'mdi mdi-chevron-down',

View File

@@ -55,6 +55,7 @@
import { matchDatabaseObjectAppObject } from '../appobj/appObjectTools'; import { matchDatabaseObjectAppObject } from '../appobj/appObjectTools';
import FocusedConnectionInfoWidget from './FocusedConnectionInfoWidget.svelte'; import FocusedConnectionInfoWidget from './FocusedConnectionInfoWidget.svelte';
import SubProcedureParamList from '../appobj/SubProcedureParamList.svelte'; import SubProcedureParamList from '../appobj/SubProcedureParamList.svelte';
import SubProcedureLineList from '../appobj/SubProcedureLineList.svelte';
export let conid; export let conid;
export let database; export let database;
@@ -270,7 +271,9 @@
groupFunc={data => getObjectTypeFieldLabel(data.objectTypeField, driver)} groupFunc={data => getObjectTypeFieldLabel(data.objectTypeField, driver)}
subItemsComponent={data => subItemsComponent={data =>
data.objectTypeField == 'procedures' || data.objectTypeField == 'functions' data.objectTypeField == 'procedures' || data.objectTypeField == 'functions'
? SubProcedureParamList ? filter
? SubProcedureLineList
: SubProcedureParamList
: SubTableColumnList} : SubTableColumnList}
isExpandable={data => isExpandable={data =>
data.objectTypeField == 'tables' || data.objectTypeField == 'tables' ||