mobx-view-model-devtools 0.0.40 → 0.0.42

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/index.d.ts CHANGED
@@ -95,6 +95,7 @@ interface SearchEngineConfig {
95
95
  getItemOffset: (index: number) => number;
96
96
  scrollToOffset: (offset: number) => void;
97
97
  getRootItems: () => ListItem<any>[];
98
+ getPresentationMode: () => 'tree' | 'list';
98
99
  }
99
100
  declare class SearchEngine {
100
101
  private config;
@@ -102,6 +103,8 @@ declare class SearchEngine {
102
103
  searchText: string;
103
104
  searchCacheKey: string;
104
105
  isSearching: boolean;
106
+ private scrollToSearchMatchTimeout;
107
+ private static readonly itemHeight;
105
108
  get formattedSearchText(): string;
106
109
  /**
107
110
  * Сегменты поиска, разбитые по точке.
@@ -118,16 +121,34 @@ declare class SearchEngine {
118
121
  get suggestionSuffix(): string;
119
122
  handleSearchInput: (e: ChangeEvent<HTMLInputElement>) => void;
120
123
  handleKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
124
+ private scheduleScrollToFirstSearchMatch;
125
+ private scrollToFirstSearchMatch;
126
+ private scrollSimpleBarToOffset;
127
+ /**
128
+ * Рекурсивно собирает все VMListItem из дерева (включая вложенные).
129
+ */
130
+ private collectAllVMs;
121
131
  /**
122
132
  * Возвращает PropertyListItem на целевой глубине для получения подсказки.
123
133
  * pathSegments — все сегменты кроме последнего (путь навигации).
124
134
  */
125
135
  private getCandidatePropsAtDepth;
136
+ /**
137
+ * Уже введённый path-сегмент должен совпадать строго:
138
+ * `product.` заходит только в `product`, а не в `productAsyncTasks`
139
+ * или `serviceAndProductSearch`.
140
+ */
141
+ private getPathMatchingProps;
126
142
  /**
127
143
  * Навигация вглубь по цепочке свойств.
128
144
  * Возвращает свойства на нужной глубине.
129
145
  */
130
146
  private navigatePropertyPath;
147
+ /**
148
+ * Плоский список для режима 'list': все VM показываются независимо,
149
+ * сворачивание VM скрывает только его свойства, но не дочерние VM.
150
+ */
151
+ private getFlatListItems;
131
152
  getListItems(rootItems: ListItem<any>[]): ListItem<any>[];
132
153
  private getFilteredItemsForSearch;
133
154
  private getVMSearchItems;
@@ -144,15 +165,28 @@ declare class SearchEngine {
144
165
  isPropertyItemExpanded(item: PropertyListItem): boolean;
145
166
  isPropertyItemExpandable(item: PropertyListItem): boolean;
146
167
  isVmItemExpanded(item: VMListItem): boolean;
168
+ private isSearchTargetMatched;
169
+ private isVMSearchTargetMatched;
170
+ private isPropertySearchTargetMatched;
147
171
  /**
148
172
  * Определяет, должен ли элемент отображаться «нормально» (true)
149
173
  * или «затемнённо» (false — серым).
150
174
  *
151
175
  * Для PropertyListItem: проходим вверх по цепочке parentListItem,
152
- * чтобы определить уровень вложенности и соответствующий сегмент фильтра.
176
+ * собирая предков и вычисляя уровень вложенности.
177
+ * Затем проверяем, что вся цепочка предков соответствует сегментам поиска:
178
+ * если хотя бы один предок не совпадает с нужным сегментом —
179
+ * элемент находится в «несовпадающей ветке» и тоже должен быть серым.
153
180
  */
154
181
  isItemFitted(item: ListItem<any>): boolean;
182
+ /**
183
+ * Для path-сегмента exact-match важнее includes.
184
+ * Если среди соседей есть `product`, то `product.` должен подсветить только
185
+ * `product`, а не `serviceAndProductSearch`.
186
+ */
187
+ private isPropertyFittedToSegment;
155
188
  resetSearch: () => void;
189
+ focusInput: () => void;
156
190
  constructor(config: SearchEngineConfig);
157
191
  }
158
192