forked from GitMurf/obsidian-drag-and-drop-blocks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
118 lines (109 loc) · 2.69 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import { App, TFile, WorkspaceLeaf, SearchMatches, View, SearchComponent } from 'obsidian';
declare module "obsidian" {
interface WorkspaceLeaf {
containerEl: HTMLElement;
}
interface Editor {
posAtCoords(left: number, top: number): EditorPosition;
}
}
export type charPos = number;
export interface Info {
childTop: number;
computed: boolean;
height: number;
hidden: boolean;
queued: boolean;
width: number;
}
export interface SearchResultChild {
el: HTMLDivElement;
end: charPos;
info: Info;
matches: SearchMatches;
onMatchRender: null;
parent: {};
start: charPos;
}
export interface SearchResultByFile {
app: App;
children: Array<SearchResultChild>;
childrenEl: HTMLDivElement;
collapseEl: HTMLDivElement;
collapsed: boolean;
collapsible: boolean;
containerEl: HTMLDivElement;
content: string;
el: HTMLDivElement;
extraContext: boolean;
file: TFile;
info: Info;
onMatchRender: null;
parent: {};
pusherEl: HTMLDivElement;
result: {
content: SearchMatches;
separateMatches: boolean;
showTitle: boolean;
}
separateMatches: boolean;
showTitle: boolean;
}
export interface SearchLeaf extends WorkspaceLeaf {
view: SearchView;
}
export interface InfinityScroll {
height: number;
lastScroll: number;
queued: null;
rootEl: SearchViewDom;
scrollEl: HTMLDivElement;
setWidth: boolean;
width: number;
}
export interface SearchViewDom {
app: App;
changed: Function;
children: Array<SearchResultByFile>;
childrenEl: HTMLDivElement;
cleared: boolean;
collapseAll: boolean;
el: HTMLDivElement;
emptyStateEl: HTMLDivElement;
extraContext: boolean;
hoverPopover: null;
infinityScroll: InfinityScroll;
info: Info;
pusherEl: HTMLDivElement;
resultDomLookup: Array<SearchResultByFile>;
showingEmptyState: boolean;
sortOrder: string;
working: boolean;
}
export interface SearchView extends View {
collapseAllButtonEl: HTMLDivElement;
dom: SearchViewDom;
explainSearch: boolean;
explainSearchButtonEl: HTMLDivElement;
extraContextButtonEl: HTMLDivElement;
headerDom: {
app: App;
navButtonsEl: HTMLDivElement;
navHeaderEl: HTMLDivElement;
}
matchingCase: boolean;
matchingCaseButtonEl: HTMLDivElement;
queue: {}
recentSearches: Array<any>;
requestSaveSearch: Function;
searchComponent: SearchComponent;
searchInfoEl: HTMLDivElement;
searchQuery: {
caseSensitive: boolean;
matcher: {}
query: string;
requiredInputs: {
content: boolean;
}
}
}