Update tables to show EmptyFilter if filter returns 0 results

This commit is contained in:
Steven Nguyen
2023-12-19 17:59:15 -08:00
parent 4158a8a5be
commit 604b323042
10 changed files with 25 additions and 14 deletions
@@ -1,8 +1,7 @@
<script lang="ts">
import { page } from '$app/stores';
import { Empty, EmptySearch, Heading, PaginationWithLimit } from '$lib/components';
import Filters from '$lib/components/filters/filters.svelte';
import { hasPageQueries, queries } from '$lib/components/filters/store';
import { Filters, hasPageQueries, queries } from '$lib/components/filters';
import ViewSelector from '$lib/components/viewSelector.svelte';
import { Button } from '$lib/elements/forms';
import type { ColumnType } from '$lib/helpers/types';
@@ -3,7 +3,7 @@ import { getLimit, getPage, getQuery, getView, pageToOffset, View } from '$lib/h
import { sdk } from '$lib/stores/sdk';
import { Query } from '@appwrite.io/console';
import type { PageLoad } from './$types';
import { queries, queryParamToMap } from '$lib/components/filters/store';
import { queries, queryParamToMap } from '$lib/components/filters';
export const load: PageLoad = async ({ params, depends, url, route }) => {
depends(Dependencies.DOCUMENTS);
@@ -3,6 +3,7 @@
import { page } from '$app/stores';
import {
Empty,
EmptyFilter,
EmptySearch,
FloatingActionBar,
Heading,
@@ -30,7 +31,7 @@
import MessageStatusPill from './messageStatusPill.svelte';
import CreateMessageDropdown from './createMessageDropdown.svelte';
import ProviderType, { ProviderTypes } from './providerType.svelte';
import Filters from '$lib/components/filters/filters.svelte';
import { Filters, hasPageQueries } from '$lib/components/filters';
import FailedModal from './failedModal.svelte';
export let data: PageData;
@@ -183,6 +184,8 @@
limit={data.limit}
offset={data.offset}
total={data.messages.total} />
{:else if $hasPageQueries}
<EmptyFilter resource="messages" />
<!-- TODO: remove data.search != 'empty' when the API is ready with data -->
{:else if data.search && data.search != 'empty'}
<EmptySearch>
@@ -13,7 +13,7 @@ import { messages as data, providersById } from './store';
import type { Message } from './store';
import { Query } from '@appwrite.io/console';
import { sdk } from '$lib/stores/sdk';
import { queries, queryParamToMap } from '$lib/components/filters/store';
import { queries, queryParamToMap } from '$lib/components/filters';
export const load: PageLoad = async ({ url, route }) => {
const page = getPage(url);
@@ -7,12 +7,13 @@
SearchQuery,
PaginationWithLimit,
Heading,
ViewSelector
ViewSelector,
EmptyFilter
} from '$lib/components';
import { Container } from '$lib/layout';
import type { PageData } from './$types';
import { columns } from './store';
import Filters from '$lib/components/filters/filters.svelte';
import { Filters, hasPageQueries } from '$lib/components/filters';
import CreateProviderDropdown from './createProviderDropdown.svelte';
import Table from './table.svelte';
@@ -68,6 +69,8 @@
limit={data.limit}
offset={data.offset}
total={data.providers.total} />
{:else if $hasPageQueries}
<EmptyFilter resource="providers" />
{:else if data.search && data.search != 'empty'}
<EmptySearch>
<div class="u-text-center">
@@ -11,7 +11,7 @@ import {
} from '$lib/helpers/load';
import { Dependencies, PAGE_LIMIT } from '$lib/constants';
import { providersById, type Provider } from '../store';
import { queries, queryParamToMap } from '$lib/components/filters/store';
import { queries, queryParamToMap } from '$lib/components/filters';
const providers = Object.values(providersById);
@@ -7,7 +7,8 @@
SearchQuery,
PaginationWithLimit,
Heading,
ViewSelector
ViewSelector,
EmptyFilter
} from '$lib/components';
import Create from './create.svelte';
import { goto } from '$app/navigation';
@@ -17,7 +18,7 @@
import type { PageData } from './$types';
import { columns, showCreate } from './store';
import { View } from '$lib/helpers/load';
import Filters from '$lib/components/filters/filters.svelte';
import { Filters, hasPageQueries } from '$lib/components/filters';
import Table from './table.svelte';
export let data: PageData;
@@ -79,6 +80,8 @@
limit={data.limit}
offset={data.offset}
total={data.topics.total} />
{:else if $hasPageQueries}
<EmptyFilter resource="topics" />
<!-- TODO: remove data.search != 'empty' when the API is ready with data -->
{:else if data.search && data.search != 'empty'}
<EmptySearch>
@@ -2,7 +2,7 @@ import { Query } from '@appwrite.io/console';
import { sdk } from '$lib/stores/sdk';
import { getLimit, getPage, getQuery, getSearch, pageToOffset } from '$lib/helpers/load';
import { Dependencies, PAGE_LIMIT } from '$lib/constants';
import { queryParamToMap, queries } from '$lib/components/filters/store';
import { queryParamToMap, queries } from '$lib/components/filters';
import type { Topic } from '../store';
export const load = async ({ depends, url, route }) => {
@@ -7,7 +7,8 @@
SearchQuery,
PaginationWithLimit,
Heading,
ViewSelector
ViewSelector,
EmptyFilter
} from '$lib/components';
import { Container } from '$lib/layout';
import { ID } from '@appwrite.io/console';
@@ -22,7 +23,7 @@
import UserTargetsModal from '../../../userTargetsModal.svelte';
import { onMount } from 'svelte';
import type { Subscriber } from './+page';
import Filters from '$lib/components/filters/filters.svelte';
import { Filters, hasPageQueries } from '$lib/components/filters';
import { columns } from './store';
import { View } from '$lib/helpers/load';
@@ -137,6 +138,8 @@
limit={data.limit}
offset={data.offset}
total={data.subscribers.total} />
{:else if $hasPageQueries}
<EmptyFilter resource="subscribers" />
<!-- TODO: remove data.search != 'empty' when the API is ready with data -->
{:else if data.search && data.search != 'empty'}
<EmptySearch>
@@ -4,7 +4,7 @@ import { getLimit, getPage, getQuery, getSearch, pageToOffset } from '$lib/helpe
import { Dependencies, PAGE_LIMIT } from '$lib/constants';
import type { PageLoad } from './$types';
import type { Target } from '../../../store';
import { queryParamToMap, queries } from '$lib/components/filters/store';
import { queryParamToMap, queries } from '$lib/components/filters';
export type Subscriber = {
$id: string;