mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 03:45:59 +00:00
lisgt matcher refactor
This commit is contained in:
@@ -29,8 +29,8 @@
|
||||
|
||||
export const extractKey = data => data.fileName;
|
||||
export const createMatcher =
|
||||
({ fileName }) =>
|
||||
filter =>
|
||||
({ fileName }) =>
|
||||
filterName(filter, fileName);
|
||||
const APP_ICONS = {
|
||||
'config.json': 'img json',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts" context="module">
|
||||
export const extractKey = data => data.name;
|
||||
export const createMatcher = data => filter => filterName(filter, data.name);
|
||||
export const createMatcher = filter => data => filterName(filter, data.name);
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
@@ -29,21 +29,12 @@
|
||||
export let collapsedGroupNames = writable([]);
|
||||
export let onChangeFilteredList;
|
||||
|
||||
$: filtered = !groupFunc
|
||||
? list.filter(data => {
|
||||
const matcher = module.createMatcher && module.createMatcher(data, passProps?.searchSettings);
|
||||
if (matcher && !matcher(filter)) return false;
|
||||
return true;
|
||||
})
|
||||
: null;
|
||||
$: matcher = module.createMatcher && module.createMatcher(filter, passProps?.searchSettings);
|
||||
$: childMatcher = module.createChildMatcher && module.createChildMatcher(filter, passProps?.searchSettings);
|
||||
|
||||
$: childrenMatched = !groupFunc
|
||||
? list.filter(data => {
|
||||
const matcher = module.createChildMatcher && module.createChildMatcher(data, passProps?.searchSettings);
|
||||
if (matcher && !matcher(filter)) return false;
|
||||
return true;
|
||||
})
|
||||
: null;
|
||||
$: filtered = !groupFunc ? list.filter(data => !matcher || matcher(data)) : null;
|
||||
|
||||
$: childrenMatched = !groupFunc ? list.filter(data => !childMatcher || childMatcher(data)) : null;
|
||||
|
||||
// let filtered = [];
|
||||
|
||||
@@ -62,8 +53,7 @@
|
||||
$: listGrouped = groupFunc
|
||||
? _.compact(
|
||||
(list || []).map(data => {
|
||||
const matcher = module.createMatcher && module.createMatcher(data, passProps?.searchSettings);
|
||||
const isMatched = matcher && !matcher(filter) ? false : true;
|
||||
const isMatched = matcher && !matcher(data) ? false : true;
|
||||
const group = groupFunc(data);
|
||||
return { group, data, isMatched };
|
||||
})
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
export const extractKey = data => data.fileName;
|
||||
export const createMatcher =
|
||||
({ fileName }) =>
|
||||
filter =>
|
||||
({ fileName }) =>
|
||||
filterName(filter, fileName);
|
||||
const ARCHIVE_ICONS = {
|
||||
'table.yaml': 'img table',
|
||||
@@ -70,7 +70,7 @@
|
||||
import { getExtensions } from '../stores';
|
||||
|
||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||
import { exportQuickExportFile, } from '../utility/exportFileTools';
|
||||
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||
import openNewTab from '../utility/openNewTab';
|
||||
import AppObjectCore from './AppObjectCore.svelte';
|
||||
import InputTextModal from '../modals/InputTextModal.svelte';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts" context="module">
|
||||
export const extractKey = data => data.name;
|
||||
export const createMatcher = data => filter => filterName(filter, data.name);
|
||||
export const createMatcher = filter => data => filterName(filter, data.name);
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<script context="module">
|
||||
export const extractKey = data => data._id;
|
||||
export const createMatcher = props => filter => {
|
||||
export const createMatcher = filter => props => {
|
||||
const { _id, displayName, server } = props;
|
||||
const databases = getLocalStorage(`database_list_${_id}`) || [];
|
||||
return filterName(filter, displayName, server, ...databases.map(x => x.name));
|
||||
};
|
||||
export const createChildMatcher = props => filter => {
|
||||
export const createChildMatcher = filter => props => {
|
||||
if (!filter) return false;
|
||||
const { _id } = props;
|
||||
const databases = getLocalStorage(`database_list_${_id}`) || [];
|
||||
|
||||
@@ -3,11 +3,8 @@
|
||||
|
||||
export const extractKey = ({ schemaName, pureName }) => (schemaName ? `${schemaName}.${pureName}` : pureName);
|
||||
export const createMatcher =
|
||||
(
|
||||
{ schemaName, pureName, objectComment, tableEngine, columns, objectTypeField, createSql },
|
||||
cfg = DEFAULT_SEARCH_SETTINGS
|
||||
) =>
|
||||
filter => {
|
||||
(filter, cfg = DEFAULT_SEARCH_SETTINGS) =>
|
||||
({ schemaName, pureName, objectComment, tableEngine, columns, objectTypeField, createSql }) => {
|
||||
const filterArgs = [];
|
||||
if (cfg.schemaName) filterArgs.push(schemaName);
|
||||
if (objectTypeField == 'tables') {
|
||||
@@ -25,7 +22,8 @@
|
||||
if (cfg.sqlObjectText) filterArgs.push(createSql);
|
||||
}
|
||||
|
||||
return filterName(filter, ...filterArgs);
|
||||
const res = filterName(filter, ...filterArgs);
|
||||
return res;
|
||||
};
|
||||
export const createTitle = ({ schemaName, pureName }) => (schemaName ? `${schemaName}.${pureName}` : pureName);
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<script lang="ts" context="module">
|
||||
export const extractKey = data => data.name;
|
||||
export const createMatcher = ({ name, title }) => filter => filterName(filter, name, title);
|
||||
export const createMatcher =
|
||||
filter =>
|
||||
({ name, title }) =>
|
||||
filterName(filter, name, title);
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
@@ -104,8 +104,8 @@
|
||||
|
||||
export const extractKey = data => data.file;
|
||||
export const createMatcher =
|
||||
({ file }) =>
|
||||
filter =>
|
||||
({ file }) =>
|
||||
filterName(filter, file);
|
||||
</script>
|
||||
|
||||
|
||||
@@ -150,11 +150,8 @@
|
||||
}));
|
||||
}
|
||||
|
||||
$: flatFilteredList = objectList.filter(data => {
|
||||
const matcher = databaseObjectAppObject.createMatcher(data, $databaseObjectAppObjectSearchSettings);
|
||||
if (matcher && !matcher(filter)) return false;
|
||||
return true;
|
||||
});
|
||||
$: matcher = databaseObjectAppObject.createMatcher(filter, $databaseObjectAppObjectSearchSettings);
|
||||
$: flatFilteredList = objectList.filter(data => !matcher || matcher(data));
|
||||
|
||||
export function focus() {
|
||||
domListHandler?.focusFirst();
|
||||
|
||||
Reference in New Issue
Block a user