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

View File

@@ -73,5 +73,5 @@
{extInfo}
icon={getColumnIcon(data, true)}
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-outline': 'mdi mdi-home-alert-outline',
'icon download': 'mdi mdi-download',
'icon text': 'mdi mdi-text',
'icon run': 'mdi mdi-play',
'icon chevron-down': 'mdi mdi-chevron-down',

View File

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