mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 14:16:01 +00:00
JSON filters view
This commit is contained in:
30
packages/web/src/jsonview/JsonViewFilterColumn.svelte
Normal file
30
packages/web/src/jsonview/JsonViewFilterColumn.svelte
Normal file
@@ -0,0 +1,30 @@
|
||||
<script lang="ts">
|
||||
import DataFilterControl from '../datagrid/DataFilterControl.svelte';
|
||||
|
||||
import ColumnLabel from '../elements/ColumnLabel.svelte';
|
||||
import InlineButton from '../elements/InlineButton.svelte';
|
||||
import FontIcon from '../icons/FontIcon.svelte';
|
||||
|
||||
export let uniqueName;
|
||||
export let display;
|
||||
export let filters;
|
||||
</script>
|
||||
|
||||
<div class="m-1">
|
||||
<div class="space-between">
|
||||
<ColumnLabel columnName={uniqueName} />
|
||||
<InlineButton
|
||||
square
|
||||
on:click={() => {
|
||||
display.removeFilter(uniqueName);
|
||||
}}
|
||||
>
|
||||
<FontIcon icon="icon delete" />
|
||||
</InlineButton>
|
||||
</div>
|
||||
<DataFilterControl
|
||||
filterType="mongo"
|
||||
filter={filters[uniqueName]}
|
||||
setFilter={value => display.setFilter(uniqueName, value)}
|
||||
/>
|
||||
</div>
|
||||
19
packages/web/src/jsonview/JsonViewFilters.svelte
Normal file
19
packages/web/src/jsonview/JsonViewFilters.svelte
Normal file
@@ -0,0 +1,19 @@
|
||||
<script lang="ts">
|
||||
import _ from 'lodash';
|
||||
|
||||
import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte';
|
||||
import JsonViewFilterColumn from './JsonViewFilterColumn.svelte';
|
||||
|
||||
export let managerSize;
|
||||
export let display;
|
||||
|
||||
$: filters = display?.config?.filters;
|
||||
|
||||
$: allFilterNames = _.keys(filters || {});
|
||||
</script>
|
||||
|
||||
<ManagerInnerContainer width={managerSize}>
|
||||
{#each allFilterNames as uniqueName}
|
||||
<JsonViewFilterColumn {uniqueName} {display} {filters} />
|
||||
{/each}
|
||||
</ManagerInnerContainer>
|
||||
Reference in New Issue
Block a user