mobx-view-model-devtools 0.0.1 → 0.0.2

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.
@@ -0,0 +1,79 @@
1
+ import * as mobx_view_model from 'mobx-view-model';
2
+ import { AnyViewModel, AnyViewModelSimple, ViewModelBase, ViewModelStoreBase, ViewModelParams } from 'mobx-view-model';
3
+ import * as yummies_types from 'yummies/types';
4
+ import { AnyObject, EmptyObject, Maybe } from 'yummies/types';
5
+ import * as yummies_mobx from 'yummies/mobx';
6
+ import * as mobx from 'mobx';
7
+ import { ChangeEventHandler } from 'react';
8
+ import { KeyboardHandler, KeyboardHandlerAction } from 'mobx-swiss-knife';
9
+
10
+ declare class KeyHanders extends KeyboardHandler<KeyboardHandlerAction> {
11
+ constructor(vm: DevtoolsVM);
12
+ }
13
+
14
+ declare class DevtoolsVMImpl<Payload extends AnyObject = EmptyObject, ParentViewModel extends AnyViewModel | AnyViewModelSimple | null = null, ComponentProps extends AnyObject = AnyObject> extends ViewModelBase<Payload, ParentViewModel, ComponentProps> {
15
+ }
16
+
17
+ type AnyVM = AnyViewModelSimple | AnyViewModel;
18
+ type VmTreeItem = {
19
+ parent: Maybe<VmTreeItem>;
20
+ vm: AnyVM;
21
+ displayName: string;
22
+ children: VmTreeItem[];
23
+ depth: number;
24
+ key: string;
25
+ properties: string[];
26
+ };
27
+ interface VMFittedInfo {
28
+ isFitted: boolean;
29
+ isFittedById?: boolean;
30
+ isFittedByName?: boolean;
31
+ isFittedByPropertyPath?: boolean;
32
+ fittedProperties: string[];
33
+ }
34
+
35
+ declare class DevtoolsVM extends DevtoolsVMImpl<{
36
+ viewModels?: ViewModelStoreBase;
37
+ position?: 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right';
38
+ buttonClassName?: string;
39
+ }> {
40
+ isOpened: boolean;
41
+ displayType: string;
42
+ vmStore: ViewModelStoreBase<mobx_view_model.AnyViewModel>;
43
+ projectVmStore: mobx_view_model.ViewModelStore<mobx_view_model.AnyViewModel>;
44
+ handleToggleOpen: () => void;
45
+ private expandedVmsSet;
46
+ isAllVmsExpandedByDefault: boolean;
47
+ expandedVmItemsPaths: mobx.ObservableSet<string>;
48
+ logoUrl: string;
49
+ inputRef: yummies_mobx.Ref<HTMLInputElement, {
50
+ focused: boolean;
51
+ }>;
52
+ containerRef: yummies_mobx.Ref<HTMLDivElement, {
53
+ focused: boolean;
54
+ }>;
55
+ buttonRef: yummies_mobx.Ref<any, yummies_types.AnyObject>;
56
+ keyboardHandler: KeyHanders;
57
+ constructor(vmParams: ViewModelParams);
58
+ private get vmMap();
59
+ get allVms(): AnyVM[];
60
+ get rootVms(): AnyVM[];
61
+ search: string;
62
+ get formattedSearch(): string;
63
+ get vmTree(): VmTreeItem[];
64
+ get isInSearch(): boolean;
65
+ private get searchCache();
66
+ getVMFittedInfo(vmTreeItem: VmTreeItem): VMFittedInfo;
67
+ checkIsPropertyFitted(vmItem: VmTreeItem, property: string): boolean;
68
+ isExpanded(vmItem: VmTreeItem): boolean;
69
+ checkIsPathExpanded(vmItem: VmTreeItem, path: string): boolean;
70
+ handleExpandPropertyClick(vmItem: VmTreeItem, path: string): void;
71
+ handleVmItemHeaderClick(vmItem: VmTreeItem): void;
72
+ handleSearchChange: ChangeEventHandler<HTMLInputElement>;
73
+ private getVmParams;
74
+ private getViewModelsMap;
75
+ }
76
+
77
+ declare const ViewModelDevTools: mobx_view_model.VMComponent<DevtoolsVM, yummies_types.AnyObject, unknown>;
78
+
79
+ export { ViewModelDevTools };