mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 08:43:57 +00:00
filter lookups improvements
This commit is contained in:
@@ -6,6 +6,8 @@ export type FilterMultipleValuesMode = 'is' | 'is_not' | 'contains' | 'begins' |
|
|||||||
export function getFilterValueExpression(value, dataType) {
|
export function getFilterValueExpression(value, dataType) {
|
||||||
if (value == null) return 'NULL';
|
if (value == null) return 'NULL';
|
||||||
if (isTypeDateTime(dataType)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
if (isTypeDateTime(dataType)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
if (value === true) return 'TRUE';
|
||||||
|
if (value === false) return 'FALSE';
|
||||||
return `="${value}"`;
|
return `="${value}"`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import { dumpSqlCondition } from './dumpSqlCondition';
|
|||||||
|
|
||||||
export function dumpSqlSelect(dmp: SqlDumper, cmd: Select) {
|
export function dumpSqlSelect(dmp: SqlDumper, cmd: Select) {
|
||||||
dmp.put('^select ');
|
dmp.put('^select ');
|
||||||
if (cmd.topRecords) {
|
|
||||||
if (!dmp.dialect.rangeSelect || dmp.dialect.offsetFetchRangeSyntax) dmp.put('^top %s ', cmd.topRecords);
|
|
||||||
}
|
|
||||||
if (cmd.distinct) {
|
if (cmd.distinct) {
|
||||||
dmp.put('^distinct ');
|
dmp.put('^distinct ');
|
||||||
}
|
}
|
||||||
|
if (cmd.topRecords) {
|
||||||
|
if (!dmp.dialect.rangeSelect || dmp.dialect.offsetFetchRangeSyntax) dmp.put('^top %s ', cmd.topRecords);
|
||||||
|
}
|
||||||
if (cmd.selectAll) {
|
if (cmd.selectAll) {
|
||||||
dmp.put('* ');
|
dmp.put('* ');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
import splitterDrag from '../utility/splitterDrag';
|
import splitterDrag from '../utility/splitterDrag';
|
||||||
|
|
||||||
import FilterMultipleValuesModal from '../modals/FilterMultipleValuesModal.svelte';
|
import FilterMultipleValuesModal from '../modals/FilterMultipleValuesModal.svelte';
|
||||||
|
import { getFilterValueExpression } from 'dbgate-filterparser';
|
||||||
|
|
||||||
import { showModal } from '../modals/modalTools';
|
import { showModal } from '../modals/modalTools';
|
||||||
import SetFilterModal from '../modals/SetFilterModal.svelte';
|
import SetFilterModal from '../modals/SetFilterModal.svelte';
|
||||||
@@ -223,7 +224,7 @@
|
|||||||
schemaName,
|
schemaName,
|
||||||
pureName,
|
pureName,
|
||||||
columnName,
|
columnName,
|
||||||
onConfirm: keys => setFilter(keys.map(x => `'${x}'`).join(',')),
|
onConfirm: keys => setFilter(keys.map(x => getFilterValueExpression(x)).join(',')),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@
|
|||||||
{
|
{
|
||||||
fieldName: 'value',
|
fieldName: 'value',
|
||||||
header: 'Value',
|
header: 'Value',
|
||||||
formatter: row => row[columnName],
|
formatter: row => (row[columnName] == null ? '(NULL)' : row[columnName]),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user