diff --git a/src/lib/components/Facets/Facets.svelte b/src/lib/components/Facets/Facets.svelte
index 24d9f85f..f4fa6e5c 100644
--- a/src/lib/components/Facets/Facets.svelte
+++ b/src/lib/components/Facets/Facets.svelte
@@ -11,18 +11,14 @@
export let showAll = false;
export let open = false;
- let selected: { [key: string]: SelectedFacetGroup };
- let selectedItems: {
- [key: string]: {
- [key: string]: boolean;
- };
- } = {};
- let selectedGroups: { [key: string]: boolean } = {};
+ export const showMore = (groupName: string) => {
+ const group: SelectedFacetGroup = selected[groupName];
- const dispatch = createEventDispatcher();
+ dispatch('showMoreOpenChange', {
+ group: group.name,
+ open: true
+ });
- const modalStore = getModalStore();
- const showMore = (group: SelectedFacetGroup) => {
modalStore.trigger({
type: 'component',
title: `${group.displayName}`,
@@ -37,14 +33,50 @@
});
};
+ let selected: { [key: string]: SelectedFacetGroup };
+ let selectedItems: {
+ [key: string]: {
+ [key: string]: boolean;
+ };
+ } = {};
+ let selectedGroups: { [key: string]: boolean } = {};
+
+ const dispatch = createEventDispatcher();
+
+ const modalStore = getModalStore();
+
const handleSave = (group: SelectedFacetGroup) => {
- Object.keys(group.children).forEach((key) => {
- selectedItems[group.name][key] = group.children[key].selected || false;
+ const { name: groupName, children } = group;
+
+ dispatch('showMoreOpenChange', {
+ group: groupName,
+ open: false
});
+
+ for (const key in children) {
+ const selectedValue = children[key].selected || false;
+ selectedItems[groupName][key] = selectedValue;
+
+ if (selected[groupName].children[key].selected !== selectedValue) {
+ selected[groupName].children[key].selected = selectedValue;
+ }
+ }
+
+ dispatch('showMoreSelect', [
+ {
+ parent: groupName,
+ selected: Object.keys(children).map((key) => children[key].selected)
+ }
+ ]);
+
modalStore.close();
};
- const handleCancel = () => {
+ const handleCancel = (groupName: string) => {
+ dispatch('showMoreOpenChange', {
+ group: groupName,
+ open: false
+ });
modalStore.close();
};
@@ -75,9 +107,10 @@
});
}
- changed.length && dispatch('change', changed);
+ changed.length && dispatch('facetSelect', changed);
};
+ // Keeping the sorting function, but stays unused for now
const sortOptions = () => {
// Sort facets in a descending order if count exits, or sort alphabetically
Object.keys(selected).forEach((group) => {
@@ -139,7 +172,7 @@
});
$: displayedGroups = structuredClone($groups);
- $: selectedItems, mapSelected('items'), sortOptions();
+ $: selectedItems, mapSelected('items'); // sortOptions(); // Sorting is not used for now
$: selectedGroups, mapSelected('groups');
@@ -177,7 +210,7 @@
{#if group.children.length > 5}
- showMore(group.name)}>more
{/if}
diff --git a/src/lib/components/Facets/ShowMore.svelte b/src/lib/components/Facets/ShowMore.svelte
index 41067b65..24598fbe 100644
--- a/src/lib/components/Facets/ShowMore.svelte
+++ b/src/lib/components/Facets/ShowMore.svelte
@@ -3,7 +3,7 @@
export let group: SelectedFacetGroup;
export let handleSave: (group: SelectedFacetGroup) => {};
- export let handleCancel: () => {};
+ export let handleCancel: (groupName: string) => {};
let selected = structuredClone(group.children);
@@ -25,7 +25,7 @@
const onCancel = () => {
console.log(selected, group.children);
selected = structuredClone(group.children);
- handleCancel();
+ handleCancel(group.name);
};
const gridClass = (items: any[]) => {
diff --git a/src/lib/components/Table/TableContent.svelte b/src/lib/components/Table/TableContent.svelte
index be841d6b..291eb0b4 100644
--- a/src/lib/components/Table/TableContent.svelte
+++ b/src/lib/components/Table/TableContent.svelte
@@ -390,10 +390,11 @@
class="flex gap-2"
on:submit|preventDefault={() => {
if (serverSide && !sendModel) {
-throw new Error('Server-side configuration is missing');
-} else {
-sendModel.q = searchValue;
-}
+ throw new Error('Server-side configuration is missing');
+ } else {
+ sendModel.q = searchValue;
+ }
+
$filterValue = searchValue;
}}
>
@@ -410,12 +411,10 @@ sendModel.q = searchValue;
class="absolute right-3 items-center"
on:click|preventDefault={() => {
if (serverSide && !sendModel) {
-throw new Error('Server-side configuration is missing');
-} else {
-sendModel.q = '';
-}
-
- $filterValue = searchValue;
+ throw new Error('Server-side configuration is missing');
+ } else {
+ sendModel.q = '';
+ }
searchValue = '';
$filterValue = '';
@@ -428,10 +427,10 @@ sendModel.q = '';
class="btn variant-filled-primary"
on:click|preventDefault={() => {
if (serverSide && !sendModel) {
-throw new Error('Server-side configuration is missing');
-} else {
-sendModel.q = searchValue;
-}
+ throw new Error('Server-side configuration is missing');
+ } else {
+ sendModel.q = searchValue;
+ }
$filterValue = searchValue;
}}>Search
+ {#if $pageRows.length === 0}
+
+ No rows available
+
+ {/if}
{:else}
diff --git a/src/lib/components/Table/TablePagination.svelte b/src/lib/components/Table/TablePagination.svelte
index 977f69f3..be2c7ac1 100644
--- a/src/lib/components/Table/TablePagination.svelte
+++ b/src/lib/components/Table/TablePagination.svelte
@@ -117,11 +117,7 @@
{#if $pageCount > 0}
- {#if $pageCount == 1}
- 1 page
- {:else}
- {$pageCount} pages
- {/if}
+ Page {$pageIndex + 1} of {$pageCount}
{:else}
No pages
{/if}
diff --git a/src/routes/components/facets/examples/FacetsGroupSelection.svelte b/src/routes/components/facets/examples/FacetsGroupSelection.svelte
index c0d2864f..2407bda4 100644
--- a/src/routes/components/facets/examples/FacetsGroupSelection.svelte
+++ b/src/routes/components/facets/examples/FacetsGroupSelection.svelte
@@ -15,6 +15,13 @@
svelte={facetsGroupSelectionSvelte}
data={facetsNoGroupSelectionData}
>
- console.log(e)} />
+ console.log(e)}
+ on:showMoreSelect={(e) => console.log(e)}
+ on:showMoreOpenChange={(e) => console.log(e)}
+ />
diff --git a/src/routes/components/facets/examples/FacetsNoGroupSelection.svelte b/src/routes/components/facets/examples/FacetsNoGroupSelection.svelte
index ef32a66f..f98fd089 100644
--- a/src/routes/components/facets/examples/FacetsNoGroupSelection.svelte
+++ b/src/routes/components/facets/examples/FacetsNoGroupSelection.svelte
@@ -15,6 +15,6 @@
svelte={facetsNoGroupSelectionSvelte}
data={facetsNoGroupSelectionData}
>
- console.log(e)} />
+ console.log(e)} />
diff --git a/src/routes/components/table/docs/TableExamplesDocs.svelte b/src/routes/components/table/docs/TableExamplesDocs.svelte
index fc21fa95..963355f2 100644
--- a/src/routes/components/table/docs/TableExamplesDocs.svelte
+++ b/src/routes/components/table/docs/TableExamplesDocs.svelte
@@ -13,7 +13,7 @@
import TableServer from '../examples/TableServer.svelte';
-
+
Examples
@@ -30,7 +30,8 @@
-
diff --git a/src/routes/components/table/examples/TableServer.svelte b/src/routes/components/table/examples/TableServer.svelte
index 26bd2ccf..74fb25e5 100644
--- a/src/routes/components/table/examples/TableServer.svelte
+++ b/src/routes/components/table/examples/TableServer.svelte
@@ -1,8 +1,10 @@
-
+ {#if serverTableConfig}
+
+ {/if}