@neovici/cosmoz-treenode-navigator 9.0.2 → 9.1.0

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.
@@ -27,20 +27,28 @@ const useSearch = (value, minLength, timeout) => {
27
27
  const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeout = 500, opened, }) => {
28
28
  const host = useHost();
29
29
  const view = useRef();
30
+ const input = useRef();
30
31
  const [nodePath, setNodePath] = useProperty('nodePath', '');
31
32
  const nodeSource = useMemo(() => source ?? treeSource(tree), [source, tree]);
32
33
  const [value, setValue] = useState('');
33
34
  const query = useSearch(value, searchMinLength, searchDebounceTimeout);
34
- const { model, expanded, setExpanded, highlighted, setHighlighted, error, loading, retry: retryPath, } = useSourceTree(nodeSource, nodePath, opened);
35
- const search = useSearchTree(nodeSource, query);
35
+ const { model, expanded, setExpanded, highlighted, setHighlighted, scope, setScope, error, loading, retry: retryPath, } = useSourceTree(nodeSource, nodePath, opened);
36
+ const [everywhere, setEverywhere] = useState(false);
37
+ useEffect(() => setEverywhere(false), [opened, scope]);
38
+ const within = nodeSource.scopedSearch && !everywhere ? (scope?.pathLocator ?? '') : '';
39
+ const search = useSearchTree(nodeSource, query, within);
40
+ const widened = query && !everywhere && !!search.found?.widened;
36
41
  const [searchExpanded, setSearchExpanded] = useState([]);
37
42
  const { nodes: path } = useNodes(() => (highlighted ? nodeSource.getPath(highlighted) : []), [nodeSource, highlighted]);
38
43
  useEffect(() => {
39
44
  setSearchExpanded(search.found?.expanded ?? []);
40
45
  }, [search.found]);
46
+ // `autofocus` can't reach into this shadow root from the dialog.
41
47
  useEffect(() => {
42
- if (opened)
43
- setValue('');
48
+ if (!opened)
49
+ return;
50
+ setValue('');
51
+ input.current?.focus();
44
52
  }, [opened]);
45
53
  useEffect(() => {
46
54
  notifyProperty(host, 'highlightedNodePath', highlighted);
@@ -53,19 +61,26 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
53
61
  if (path)
54
62
  setNodePath(path);
55
63
  }, []);
56
- const isLoading = query ? search.loading : loading || model.pending.size > 0;
64
+ const isLoading = (query ? search.loading : loading) || model.pending.size > 0;
57
65
  const hasError = query ? search.error : error || model.errors.size > 0;
58
- const items = query ? (search.found?.roots ?? []) : model.roots();
66
+ const browsed = scope ? [scope] : model.roots();
67
+ const items = query ? (search.found?.roots ?? []) : browsed;
68
+ // A result without matches below it browses its own children.
69
+ const found = (node) => search.found?.getChildren(node) ?? [];
70
+ const getChildren = (node) => {
71
+ const children = found(node);
72
+ return children.length ? children : model.getChildren(node);
73
+ };
74
+ const hasChildren = (node) => found(node).length > 0 || model.hasChildren(node);
59
75
  const expand = (paths) => {
60
- if (query) {
61
- setSearchExpanded(paths);
62
- return;
63
- }
76
+ const current = query ? searchExpanded : expanded;
77
+ const matched = query ? (search.found?.expanded ?? []) : [];
64
78
  for (const path of paths) {
65
- if (!expanded.includes(path))
79
+ if (!current.includes(path) && !matched.includes(path)) {
66
80
  model.loadLevel(path);
81
+ }
67
82
  }
68
- setExpanded(paths);
83
+ (query ? setSearchExpanded : setExpanded)(paths);
69
84
  };
70
85
  const retry = () => {
71
86
  if (query) {
@@ -80,18 +95,30 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
80
95
  model.loadLevel(path);
81
96
  }
82
97
  };
83
- const pickAncestor = (path) => {
84
- setHighlighted(path);
85
- if (!query) {
86
- setExpanded((current) => [...new Set([...current, path])]);
87
- model.loadLevel(path);
98
+ // A step above the listed node moves the list up to it; the first step lists the top level.
99
+ const pickAncestor = (node, index) => {
100
+ const { pathLocator } = node;
101
+ setHighlighted(pathLocator);
102
+ if (query)
103
+ return;
104
+ if (scope && index === 0) {
105
+ setScope(undefined);
106
+ model.loadLevel('');
107
+ }
108
+ else if (scope &&
109
+ index < path.findIndex((step) => step.pathLocator === scope.pathLocator)) {
110
+ setScope(node);
88
111
  }
112
+ setExpanded((current) => [...new Set([...current, pathLocator])]);
113
+ model.loadLevel(pathLocator);
89
114
  };
90
115
  return html `
91
116
  <div class="header">
92
117
  <cosmoz-input
93
- autofocus
94
118
  data-testid="search-input"
119
+ ${ref((el) => {
120
+ input.current = el;
121
+ })}
95
122
  label=${t('Search nodes')}
96
123
  .value=${value}
97
124
  .placeholder=${t('Search nodes')}
@@ -109,6 +136,27 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
109
136
  >
110
137
  ${searchMdIcon({ slot: 'prefix', width: '20', height: '20' })}
111
138
  </cosmoz-input>
139
+ ${when(nodeSource.scopedSearch && scope, () => html `<div class="scope" role="group" aria-label=${t('Search in')}>
140
+ <span aria-hidden="true">${t('Search in')}</span>
141
+ <button
142
+ type="button"
143
+ data-testid="search-within"
144
+ title=${nodeSource.label(scope)}
145
+ aria-pressed=${String(!everywhere && !widened)}
146
+ ?disabled=${widened}
147
+ @click=${() => setEverywhere(false)}
148
+ >
149
+ ${nodeSource.label(scope)}
150
+ </button>
151
+ <button
152
+ type="button"
153
+ data-testid="search-everywhere"
154
+ aria-pressed=${String(everywhere || widened)}
155
+ @click=${() => setEverywhere(true)}
156
+ >
157
+ ${t('All nodes')}
158
+ </button>
159
+ </div>`)}
112
160
  <div class="crumbs">
113
161
  ${when(path.length, () => html `<nav class="path" aria-label=${t('Path')} data-testid="path">
114
162
  ${path.map((node, index) => html `${index
@@ -119,15 +167,16 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
119
167
  aria-current=${index === path.length - 1
120
168
  ? 'location'
121
169
  : nothing}
122
- @click=${() => pickAncestor(node.pathLocator)}
170
+ title=${nodeSource.label(node)}
171
+ @click=${() => pickAncestor(node, index)}
123
172
  >
124
173
  ${nodeSource.label(node)}
125
174
  </button>`)}
126
- </nav>`, () => html `<span class="hint"
127
- >${query
128
- ? t('Pick a node from the results.')
129
- : t('Search, or browse the tree.')}</span
130
- >`)}
175
+ </nav>`, () => query
176
+ ? nothing
177
+ : html `<span class="hint"
178
+ >${t('Search, or browse the tree.')}</span
179
+ >`)}
131
180
  </div>
132
181
  </div>
133
182
  <div class="list">
@@ -138,10 +187,8 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
138
187
  .items=${items}
139
188
  .getId=${(node) => node.pathLocator}
140
189
  .getLabel=${nodeSource.label}
141
- .getChildren=${query ? search.found?.getChildren : model.getChildren}
142
- .hasChildren=${query
143
- ? (node) => (search.found?.getChildren(node).length ?? 0) > 0
144
- : model.hasChildren}
190
+ .getChildren=${query ? getChildren : model.getChildren}
191
+ .hasChildren=${query ? hasChildren : model.hasChildren}
145
192
  .expanded=${query ? searchExpanded : expanded}
146
193
  .selected=${highlighted || undefined}
147
194
  @expanded-changed=${(event) => {
@@ -170,11 +217,13 @@ const NodeNavigator = ({ tree, source, searchMinLength = 3, searchDebounceTimeou
170
217
  data-testid="loading"
171
218
  role="img"
172
219
  aria-label=${t('Loading...')}
173
- ></cosmoz-spinner>`, () => when(!items.length, () => html `<span data-testid=${query ? 'no-results' : 'empty'}
220
+ ></cosmoz-spinner>`, () => html `${when(!items.length, () => html `<span data-testid=${query ? 'no-results' : 'empty'}
174
221
  >${query
175
222
  ? t('No nodes match the search')
176
223
  : t('Search to find a node.')}</span
177
- >`)))}
224
+ >`)}${when(widened && items.length, () => html `<span data-testid="widened"
225
+ >${t('No matches in this node. Showing all nodes.')}</span
226
+ >`)}`))}
178
227
  </div>
179
228
  </div>
180
229
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"cosmoz-treenode-navigator.js","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmoz-treenode-navigator.js","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmoz-treenode-navigator.styles.d.ts","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.styles.ts"],"names":[],"mappings":";AAEA,wBA6HE"}
1
+ {"version":3,"file":"cosmoz-treenode-navigator.styles.d.ts","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.styles.ts"],"names":[],"mappings":";AAEA,wBAkME"}
@@ -28,26 +28,89 @@ export default css `
28
28
  color: var(--cz-color-fg-quaternary);
29
29
  }
30
30
 
31
- /* Reserved while the path loads, so the list below doesn't shift. */
31
+ .scope {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: calc(var(--cz-spacing) * 2);
35
+ min-width: 0;
36
+ font-size: var(--cz-text-xs);
37
+ line-height: var(--cz-text-xs-line-height);
38
+ color: var(--cz-color-text-tertiary);
39
+ }
40
+
41
+ .scope span {
42
+ flex: none;
43
+ }
44
+
45
+ .scope button {
46
+ all: unset;
47
+ cursor: pointer;
48
+ padding: 2px calc(var(--cz-spacing) * 2.5);
49
+ border: 1px solid var(--cz-color-border-primary);
50
+ border-radius: var(--cz-radius-full);
51
+ font-weight: var(--cz-font-weight-medium);
52
+ color: var(--cz-color-text-secondary);
53
+ overflow: hidden;
54
+ white-space: nowrap;
55
+ text-overflow: ellipsis;
56
+ }
57
+
58
+ .scope button:first-of-type {
59
+ min-width: 0;
60
+ max-width: 60%;
61
+ }
62
+
63
+ .scope button:last-of-type {
64
+ flex: none;
65
+ }
66
+
67
+ .scope button:hover:not(:disabled, [aria-pressed='true']) {
68
+ background: var(--cz-color-bg-primary-hover);
69
+ }
70
+
71
+ .scope button[aria-pressed='true'] {
72
+ border-color: var(--cz-color-text-primary);
73
+ background: var(--cz-color-bg-secondary);
74
+ color: var(--cz-color-text-primary);
75
+ }
76
+
77
+ .scope button:disabled {
78
+ cursor: default;
79
+ color: var(--cz-color-text-quaternary);
80
+ }
81
+
82
+ .scope button:focus-visible {
83
+ box-shadow: var(--cz-focus-ring);
84
+ }
85
+
86
+ /* One line, reserved while the path loads, so the list below never shifts. */
32
87
  .crumbs {
33
- min-height: 1lh;
88
+ height: 1lh;
34
89
  font-size: var(--cz-text-sm);
35
90
  line-height: var(--cz-text-sm-line-height);
36
91
  }
37
92
 
93
+ /* The padding keeps the focus ring clear of the clipping. */
38
94
  .path {
39
95
  display: flex;
40
- flex-wrap: wrap;
41
96
  align-items: center;
42
97
  gap: 2px;
98
+ overflow: hidden;
99
+ padding: 3px;
100
+ margin: -3px;
43
101
  color: var(--cz-color-text-tertiary);
44
102
  }
45
103
 
46
104
  .hint {
105
+ display: block;
106
+ overflow: hidden;
107
+ white-space: nowrap;
108
+ text-overflow: ellipsis;
47
109
  color: var(--cz-color-text-tertiary);
48
110
  }
49
111
 
50
112
  .slash {
113
+ flex: none;
51
114
  color: var(--cz-color-text-quaternary);
52
115
  }
53
116
 
@@ -57,6 +120,9 @@ export default css `
57
120
  padding: 0 4px;
58
121
  border-radius: var(--cz-radius-xs);
59
122
  font-weight: var(--cz-font-weight-medium);
123
+ overflow: hidden;
124
+ white-space: nowrap;
125
+ text-overflow: ellipsis;
60
126
  }
61
127
 
62
128
  .crumb:hover {
@@ -68,7 +134,10 @@ export default css `
68
134
  box-shadow: var(--cz-focus-ring);
69
135
  }
70
136
 
137
+ /* Ancestors give way first. */
71
138
  .crumb[aria-current] {
139
+ flex-shrink: 0;
140
+ max-width: 60%;
72
141
  color: var(--cz-color-text-primary);
73
142
  font-weight: var(--cz-font-weight-semibold);
74
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cosmoz-treenode-navigator.styles.js","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6HjB,CAAC"}
1
+ {"version":3,"file":"cosmoz-treenode-navigator.styles.js","sourceRoot":"","sources":["../src/cosmoz-treenode-navigator.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkMjB,CAAC"}
@@ -15,17 +15,21 @@ export declare const useSourceTree: (source: NodeSource, path: string, opened?:
15
15
  setExpanded: import("@pionjs/pion").StateUpdater<readonly string[]>;
16
16
  highlighted: string;
17
17
  setHighlighted: import("@pionjs/pion").StateUpdater<string>;
18
+ scope: Node | undefined;
19
+ setScope: import("@pionjs/pion").StateUpdater<Node | undefined>;
18
20
  error: boolean;
19
21
  loading: boolean;
20
22
  retry: () => void;
21
23
  };
22
- export declare const useSearchTree: (source: NodeSource, query: string) => {
23
- found: {
24
+ export declare const useSearchTree: (source: NodeSource, query: string, scope?: string) => {
25
+ found: ({
24
26
  matches: number;
25
27
  roots: Node[];
26
28
  getChildren: (node: Node) => Node[];
27
29
  expanded: string[];
28
- } | undefined;
30
+ } & {
31
+ widened?: boolean;
32
+ }) | undefined;
29
33
  loading: boolean;
30
34
  error: boolean;
31
35
  retry: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useSourceTree.d.ts","sourceRoot":"","sources":["../../src/hooks/useSourceTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,aAAa,GACzB,QAAQ,UAAU,EAClB,MAAM,MAAM,EACZ,SAAS,OAAO;;;;;;;;;;;;;;;;;;CAkEhB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,UAAU,EAAE,OAAO,MAAM;;;;;;;;;;CAsC9D,CAAC"}
1
+ {"version":3,"file":"useSourceTree.d.ts","sourceRoot":"","sources":["../../src/hooks/useSourceTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,aAAa,GACzB,QAAQ,UAAU,EAClB,MAAM,MAAM,EACZ,SAAS,OAAO;;;;;;;;;;;;;;;;;;;;CA8EhB,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,QAAQ,UAAU,EAClB,OAAO,MAAM,EACb,cAAU;;;;;;;kBAG4C,OAAO;;;;;CA4C7D,CAAC"}
@@ -5,6 +5,8 @@ export const useSourceTree = (source, path, opened) => {
5
5
  const model = useMemo(() => sourceTree(source), [source, opened]);
6
6
  const [expanded, setExpanded] = useState([]);
7
7
  const [highlighted, setHighlighted] = useState('');
8
+ // Opened below the top level, only that node and what is below it are listed.
9
+ const [scope, setScope] = useState();
8
10
  const [error, setError] = useState(false);
9
11
  const [loading, setLoading] = useState(false);
10
12
  const [attempt, setAttempt] = useState(0);
@@ -12,6 +14,7 @@ export const useSourceTree = (source, path, opened) => {
12
14
  useEffect(() => {
13
15
  setHighlighted('');
14
16
  setExpanded([]);
17
+ setScope(undefined);
15
18
  if (opened === false)
16
19
  return;
17
20
  const controller = new AbortController();
@@ -23,9 +26,18 @@ export const useSourceTree = (source, path, opened) => {
23
26
  if (controller.signal.aborted)
24
27
  return;
25
28
  const current = parts[parts.length - 1];
26
- setExpanded(parts.map((node) => node.pathLocator));
27
- setHighlighted(current?.pathLocator === path ? path : '');
28
- if (current) {
29
+ if (current?.pathLocator === path && parts.length > 1) {
30
+ setScope(current);
31
+ setExpanded([path]);
32
+ setHighlighted(path);
33
+ if (source.hasChildren(current) !== false) {
34
+ await model.loadLevel(path);
35
+ }
36
+ }
37
+ else if (current) {
38
+ if (current.pathLocator === path)
39
+ setHighlighted(path);
40
+ setExpanded(parts.map((node) => node.pathLocator));
29
41
  await Promise.all([
30
42
  model.loadLevel(''),
31
43
  ...parts
@@ -59,12 +71,14 @@ export const useSourceTree = (source, path, opened) => {
59
71
  setExpanded,
60
72
  highlighted,
61
73
  setHighlighted,
74
+ scope,
75
+ setScope,
62
76
  error,
63
77
  loading,
64
78
  retry: () => setAttempt((value) => value + 1),
65
79
  };
66
80
  };
67
- export const useSearchTree = (source, query) => {
81
+ export const useSearchTree = (source, query, scope = '') => {
68
82
  const [found, setFound] = useState();
69
83
  const [loading, setLoading] = useState(false);
70
84
  const [error, setError] = useState(false);
@@ -79,7 +93,11 @@ export const useSearchTree = (source, query) => {
79
93
  }
80
94
  setLoading(true);
81
95
  setFound(undefined);
82
- searchTree(source, query)
96
+ // A scoped search that misses widens to all nodes rather than dead-ending.
97
+ searchTree(source, query, scope)
98
+ .then(async (result) => scope && !result.roots.length
99
+ ? { ...(await searchTree(source, query)), widened: true }
100
+ : result)
83
101
  .then((result) => {
84
102
  if (!controller.signal.aborted)
85
103
  setFound(result);
@@ -94,7 +112,7 @@ export const useSearchTree = (source, query) => {
94
112
  setLoading(false);
95
113
  });
96
114
  return () => controller.abort();
97
- }, [source, query, attempt]);
115
+ }, [source, query, scope, attempt]);
98
116
  return {
99
117
  found,
100
118
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"useSourceTree.js","sourceRoot":"","sources":["../../src/hooks/useSourceTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSourceTree.js","sourceRoot":"","sources":["../../src/hooks/useSourceTree.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,11 @@ export declare const sourceTree: (source: NodeSource) => {
16
16
  loadPath: (path: string) => Promise<Node[]>;
17
17
  loadLevel: (path: string) => Promise<void>;
18
18
  };
19
- /** Ancestors are inserted in match order, preserving the source's ranking. */
20
- export declare const searchTree: (source: NodeSource, query: string) => Promise<{
19
+ /**
20
+ * Ancestors are inserted in match order, preserving the source's ranking.
21
+ * Within a scope, the results start at it, as the browsed tree does.
22
+ */
23
+ export declare const searchTree: (source: NodeSource, query: string, scope?: string) => Promise<{
21
24
  matches: number;
22
25
  roots: Node[];
23
26
  getChildren: (node: Node) => Node[];
@@ -1 +1 @@
1
- {"version":3,"file":"source-tree.d.ts","sourceRoot":"","sources":["../../src/util/source-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,EAAE,OAAO,SAAS,IAAI,EAAE;;wBAgB3C,IAAI;;CAGzB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU;0BAarB,MAAM,IAAI;;wBAeZ,IAAI;wBAEJ,IAAI;;;qBAMD,MAAM;sBAMX,MAAM;CAyBzB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GAAU,QAAQ,UAAU,EAAE,OAAO,MAAM;;;wBA5E5C,IAAI;;EAwFzB,CAAC"}
1
+ {"version":3,"file":"source-tree.d.ts","sourceRoot":"","sources":["../../src/util/source-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,EAAE,OAAO,SAAS,IAAI,EAAE;;wBAgB3C,IAAI;;CAGzB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU;0BAarB,MAAM,IAAI;;wBAeZ,IAAI;wBAEJ,IAAI;;;qBAMD,MAAM;sBAMX,MAAM;CAyBzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GACtB,QAAQ,UAAU,EAClB,OAAO,MAAM,EACb,cAAU;;;wBAlFW,IAAI;;EAsGzB,CAAC"}
@@ -83,9 +83,15 @@ export const sourceTree = (source) => {
83
83
  },
84
84
  };
85
85
  };
86
- /** Ancestors are inserted in match order, preserving the source's ranking. */
87
- export const searchTree = async (source, query) => {
88
- const matches = await source.search(query, '');
86
+ /**
87
+ * Ancestors are inserted in match order, preserving the source's ranking.
88
+ * Within a scope, the results start at it, as the browsed tree does.
89
+ */
90
+ export const searchTree = async (source, query, scope = '') => {
91
+ const matches = await source.search(query, scope);
92
+ const inScope = (node) => !scope ||
93
+ node.pathLocator === scope ||
94
+ node.pathLocator.startsWith(`${scope}.`);
89
95
  const paths = await Promise.all(matches.map(async (node) => {
90
96
  try {
91
97
  return [...(await source.getPath(node.pathLocator)), node];
@@ -94,6 +100,9 @@ export const searchTree = async (source, query) => {
94
100
  return [node];
95
101
  }
96
102
  }));
97
- return { ...forest(source, paths.flat()), matches: matches.length };
103
+ return {
104
+ ...forest(source, paths.flat().filter(inScope)),
105
+ matches: matches.length,
106
+ };
98
107
  };
99
108
  //# sourceMappingURL=source-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-tree.js","sourceRoot":"","sources":["../../src/util/source-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-tree.js","sourceRoot":"","sources":["../../src/util/source-tree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neovici/cosmoz-treenode-navigator",
3
- "version": "9.0.2",
3
+ "version": "9.1.0",
4
4
  "type": "module",
5
5
  "description": "A Pion component that lets you navigate and search through hierarchically structured data-nodes and select one of them.",
6
6
  "keywords": [