Skip to content

Commit

Permalink
Apply saved query
Browse files Browse the repository at this point in the history
  • Loading branch information
dkumiszhan committed Aug 17, 2023
1 parent 04f33ad commit 128a980
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 17 deletions.
11 changes: 9 additions & 2 deletions frontend/components/Filter.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@
import QueryModal from './QueryModal.svelte';
import { parseDSL } from '../dsl';
import { debounce } from '../util';
import { parsedFilter, stringFilter, filterActive, isAuthenticated } from '../store';
import { parsedFilter, stringFilter, filterActive, isAuthenticated, activeFilterId } from '../store';
let filter: string = '';
let filterValid: boolean = false;
let saveModal: QueryModal;
stringFilter.subscribe((value) => {
filter = value;
applyFilter();
});
function filterChangeHandler(): () => void {
return debounce(() => {
// TODO: validate queries as user types them.
Expand All @@ -29,10 +35,11 @@
function applyFilter() {
console.log(`Going to parse ${filter}`);
stringFilter.set(filter);
if (filter == '') {
filterActive.set(false);
parsedFilter.set(undefined);
stringFilter.set('');
activeFilterId.set(undefined);
return;
}
Expand Down
23 changes: 9 additions & 14 deletions frontend/components/QueryList.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<script lang="ts">
import { onMount } from 'svelte';
import { token, userQueries } from '../store';
import { Query, deleteQuery, getQueries, updateQuery } from '../query';
import { token, userQueries, stringFilter, activeFilterId } from '../store';
import { Query, deleteQuery, getQueries } from '../query';
import { parseDSL } from '../dsl';
import QueryModal from './QueryModal.svelte';
let saveModal: QueryModal;
Expand All @@ -20,17 +21,11 @@
await reloadQueries();
}
async function toggleActive(query: Query) {
console.log('toggling active in query', query);
async function activate(query: Query) {
console.log('activating query', query);
await updateQuery(
{
id: query.id,
active: !query.active,
},
$token,
);
await reloadQueries();
stringFilter.set(query.content);
activeFilterId.set(query.id);
}
</script>

Expand All @@ -46,15 +41,15 @@
{#if query.description}{query.description}{/if}
</p>
<p class="queryList__info-field queryList__active">
{#if query.active}active{:else}inactive{/if}
{#if query.id == $activeFilterId}active{:else}inactive{/if}
</p>
</div>
</div>
<div class="queryList__buttons-container">
<QueryModal bind:this={saveModal} />
<button on:click={() => saveModal.showModal(query)}>edit</button>
<button on:click={() => deleteQueryAndReload(query.id)}>Delete</button>
<button on:click={() => toggleActive(query)}>Toggle</button>
<button on:click={() => activate(query)}>Activate</button>
</div>
</li>
{/each}
Expand Down
13 changes: 12 additions & 1 deletion frontend/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,24 @@ export const maxNumberOfMessages = writable(50);

export const userQueries: Writable<Query[]> = writable([]);

export const stringFilter: Writable<string> = writable('');
const storedStringFilter = localStorage.getItem('stringFilter');
export const stringFilter: Writable<string> = writable(storedStringFilter || '');
stringFilter.subscribe((value) => {
localStorage.setItem('stringFilter', value);
});

export const filterActive: Writable<boolean> = writable(false);

export const env: Writable<String> = writable(ENV_DEV);
export const parsedFilter: Writable<QueryCstNode | undefined> = writable(undefined);
export const currentEvent: Writable<Event | undefined> = writable(undefined);

const storedActiveFilterId = localStorage.getItem('activeFilterId');
export const activeFilterId: Writable<string | undefined> = writable(storedActiveFilterId || undefined);
activeFilterId.subscribe((value) => {
localStorage.setItem('activeFilterId', value);
});

const storedToken = localStorage.getItem('token');
export const token = writable(storedToken);
token.subscribe((value) => {
Expand Down

0 comments on commit 128a980

Please sign in to comment.