@dosgato/dialog 0.0.57 → 0.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tree/treestore.d.ts +3 -4
- package/dist/tree/treestore.js +8 -11
- package/package.json +1 -1
package/dist/tree/treestore.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActiveStore } from '@txstate-mws/svelte-store';
|
|
1
|
+
import { ActiveStore, Store } from '@txstate-mws/svelte-store';
|
|
2
2
|
import type { IconifyIcon } from '@iconify/svelte';
|
|
3
3
|
import type { SvelteComponent } from 'svelte';
|
|
4
4
|
export declare const TREE_STORE_CONTEXT: {};
|
|
@@ -18,7 +18,6 @@ export interface ITreeStore<T extends TreeItemFromDB> {
|
|
|
18
18
|
loading?: boolean;
|
|
19
19
|
rootItems?: TypedTreeItem<T>[];
|
|
20
20
|
itemsById: Record<string, TypedTreeItem<T> | undefined>;
|
|
21
|
-
filter?: string;
|
|
22
21
|
focused?: TypedTreeItem<T>;
|
|
23
22
|
selected: Map<string, TypedTreeItem<T>>;
|
|
24
23
|
selectedItems: TypedTreeItem<T>[];
|
|
@@ -51,7 +50,7 @@ export declare class TreeStore<T extends TreeItemFromDB> extends ActiveStore<ITr
|
|
|
51
50
|
fetchChildren: FetchChildrenFn<T>;
|
|
52
51
|
treeElement?: HTMLElement;
|
|
53
52
|
rootItems: import("@txstate-mws/svelte-store").DerivedStore<TypedTreeItem<T>[] | undefined, ITreeStore<T>>;
|
|
54
|
-
filterTerm:
|
|
53
|
+
filterTerm: Store<string>;
|
|
55
54
|
filteredRootItems: import("svelte/store").Readable<TypedTreeItem<T>[] | undefined>;
|
|
56
55
|
draggable: import("@txstate-mws/svelte-store").DerivedStore<boolean, ITreeStore<T>>;
|
|
57
56
|
dragging: import("@txstate-mws/svelte-store").DerivedStore<boolean, ITreeStore<T>>;
|
|
@@ -83,7 +82,7 @@ export declare class TreeStore<T extends TreeItemFromDB> extends ActiveStore<ITr
|
|
|
83
82
|
trigger(): void;
|
|
84
83
|
fetch(item?: TypedTreeItem<T>): Promise<TypedTreeItem<T>[]>;
|
|
85
84
|
refresh(item?: TypedTreeItem<T>, skipNotify?: boolean): Promise<void>;
|
|
86
|
-
filter(term: string | undefined
|
|
85
|
+
filter(term: string | undefined): void;
|
|
87
86
|
focus(item: TypedTreeItem<T> | undefined, notify?: boolean): void;
|
|
88
87
|
select(item: TypedTreeItem<T>, { clear, notify, toggle }: {
|
|
89
88
|
clear?: boolean | undefined;
|
package/dist/tree/treestore.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ActiveStore, derivedStore } from '@txstate-mws/svelte-store';
|
|
1
|
+
import { ActiveStore, derivedStore, Store } from '@txstate-mws/svelte-store';
|
|
2
2
|
import { derived } from 'svelte/store';
|
|
3
|
-
import { hashid, isBlank, keyby, toArray } from 'txstate-utils';
|
|
3
|
+
import { hashid, isBlank, isNotBlank, keyby, toArray } from 'txstate-utils';
|
|
4
4
|
export const TREE_STORE_CONTEXT = {};
|
|
5
5
|
export class TreeStore extends ActiveStore {
|
|
6
6
|
fetchChildren;
|
|
7
7
|
treeElement;
|
|
8
8
|
rootItems = derivedStore(this, 'rootItems');
|
|
9
|
-
filterTerm =
|
|
9
|
+
filterTerm = new Store('');
|
|
10
10
|
filteredRootItems = derived([this.rootItems, this.filterTerm], ([rootItems, filter]) => {
|
|
11
11
|
if (!this.searchableFn || !rootItems?.length || isBlank(filter))
|
|
12
12
|
return this.value.rootItems;
|
|
@@ -142,10 +142,8 @@ export class TreeStore extends ActiveStore {
|
|
|
142
142
|
await this.refreshPromise;
|
|
143
143
|
this.refreshPromise = undefined;
|
|
144
144
|
}
|
|
145
|
-
filter(term
|
|
146
|
-
this.
|
|
147
|
-
if (notify)
|
|
148
|
-
this.trigger();
|
|
145
|
+
filter(term) {
|
|
146
|
+
this.filterTerm.set(term?.toLocaleLowerCase() ?? '');
|
|
149
147
|
}
|
|
150
148
|
focus(item, notify = true) {
|
|
151
149
|
this.value.focused = item;
|
|
@@ -380,12 +378,11 @@ export const lazyObserver = typeof IntersectionObserver !== 'undefined'
|
|
|
380
378
|
}, { rootMargin: '500px' })
|
|
381
379
|
: undefined;
|
|
382
380
|
export function transformSearchable(searchable) {
|
|
383
|
-
console.log('transformSearchable', searchable);
|
|
384
381
|
return searchable == null
|
|
385
382
|
? undefined
|
|
386
383
|
: (typeof searchable === 'function'
|
|
387
|
-
? (itm) => toArray(searchable(itm))
|
|
384
|
+
? (itm) => toArray(searchable(itm)).filter(isNotBlank)
|
|
388
385
|
: (Array.isArray(searchable)
|
|
389
|
-
? (itm) => searchable.map(k => itm[k])
|
|
390
|
-
: (itm) => [itm[searchable]]));
|
|
386
|
+
? (itm) => searchable.map(k => itm[k]).filter(isNotBlank)
|
|
387
|
+
: (itm) => isNotBlank(itm[searchable]) ? [itm[searchable]] : []));
|
|
391
388
|
}
|
package/package.json
CHANGED