@jbrowse/app-core 4.3.0 → 5.0.0-beta.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.
Files changed (158) hide show
  1. package/esm/AppSession/AppRootModel.d.ts +30 -0
  2. package/esm/AppSession/AppRootModel.js +1 -0
  3. package/esm/AppSession/AppSessionMixin.d.ts +1598 -0
  4. package/esm/AppSession/AppSessionMixin.js +62 -0
  5. package/esm/AppSession/index.d.ts +2 -0
  6. package/esm/AppSession/index.js +1 -0
  7. package/esm/Assemblies/AssembliesMixin.d.ts +225 -0
  8. package/esm/Assemblies/AssembliesMixin.js +149 -0
  9. package/esm/Assemblies/index.d.ts +1 -2
  10. package/esm/Assemblies/index.js +1 -2
  11. package/esm/HistoryManagement/index.d.ts +19 -0
  12. package/esm/HistoryManagement/index.js +42 -5
  13. package/esm/JBrowseConfig/RootConfiguration.d.ts +171 -78
  14. package/esm/JBrowseConfig/RootConfiguration.js +85 -7
  15. package/esm/JBrowseConfig/index.d.ts +173 -84
  16. package/esm/JBrowseConfig/index.js +62 -2
  17. package/esm/JBrowseModel/index.d.ts +180 -95
  18. package/esm/JBrowseModel/index.js +122 -21
  19. package/esm/JbApi/index.d.ts +2 -0
  20. package/esm/JbApi/index.js +1 -0
  21. package/esm/JbApi/jbApi.d.ts +325 -0
  22. package/esm/JbApi/jbApi.js +748 -0
  23. package/esm/RootMenu/index.d.ts +69 -3
  24. package/esm/RootMenu/index.js +96 -61
  25. package/esm/SessionSpec/index.d.ts +6 -0
  26. package/esm/SessionSpec/index.js +3 -0
  27. package/esm/SessionSpec/lgvUrlInit.d.ts +79 -0
  28. package/esm/SessionSpec/lgvUrlInit.js +158 -0
  29. package/esm/SessionSpec/loadSessionSpec.d.ts +21 -0
  30. package/esm/SessionSpec/loadSessionSpec.js +392 -0
  31. package/esm/SessionSpec/parseSessionSpecUrl.d.ts +13 -0
  32. package/esm/SessionSpec/parseSessionSpecUrl.js +196 -0
  33. package/esm/SessionSpec/types.d.ts +31 -0
  34. package/esm/SessionSpec/types.js +1 -0
  35. package/esm/WorkspaceLayout/LayoutRenderer.d.ts +24 -0
  36. package/esm/WorkspaceLayout/LayoutRenderer.js +185 -0
  37. package/esm/WorkspaceLayout/PanelView.d.ts +13 -0
  38. package/esm/WorkspaceLayout/PanelView.js +99 -0
  39. package/esm/WorkspaceLayout/TabStrip.d.ts +14 -0
  40. package/esm/WorkspaceLayout/TabStrip.js +226 -0
  41. package/esm/WorkspaceLayout/WorkspaceContainer.d.ts +16 -0
  42. package/esm/WorkspaceLayout/WorkspaceContainer.js +105 -0
  43. package/esm/WorkspaceLayout/WorkspacePanelActions.d.ts +24 -0
  44. package/esm/WorkspaceLayout/WorkspacePanelActions.js +120 -0
  45. package/esm/WorkspaceLayout/WorkspaceTab.d.ts +27 -0
  46. package/esm/WorkspaceLayout/WorkspaceTab.js +109 -0
  47. package/esm/WorkspaceLayout/dockviewTheme.d.ts +69 -0
  48. package/esm/WorkspaceLayout/dockviewTheme.js +82 -0
  49. package/esm/WorkspaceLayout/dropZone.d.ts +105 -0
  50. package/esm/WorkspaceLayout/dropZone.js +113 -0
  51. package/esm/WorkspaceLayout/index.d.ts +8 -0
  52. package/esm/WorkspaceLayout/index.js +4 -0
  53. package/esm/WorkspaceLayout/model.d.ts +248 -0
  54. package/esm/WorkspaceLayout/model.js +562 -0
  55. package/esm/WorkspaceLayout/panelChrome.d.ts +19 -0
  56. package/esm/WorkspaceLayout/panelChrome.js +4 -0
  57. package/esm/WorkspaceLayout/spec.d.ts +88 -0
  58. package/esm/WorkspaceLayout/spec.js +226 -0
  59. package/esm/WorkspaceLayout/splitter.d.ts +25 -0
  60. package/esm/WorkspaceLayout/splitter.js +37 -0
  61. package/esm/WorkspaceLayout/tree.d.ts +158 -0
  62. package/esm/WorkspaceLayout/tree.js +379 -0
  63. package/esm/WorkspaceLayout/useLayoutDrag.d.ts +34 -0
  64. package/esm/WorkspaceLayout/useLayoutDrag.js +232 -0
  65. package/esm/index.d.ts +18 -9
  66. package/esm/index.js +16 -9
  67. package/esm/menus.d.ts +55 -68
  68. package/esm/menus.js +117 -86
  69. package/esm/queryParams.d.ts +9 -0
  70. package/esm/queryParams.js +92 -0
  71. package/esm/sessionModelFactory.d.ts +18 -0
  72. package/esm/sessionModelFactory.js +1 -0
  73. package/esm/ui/App/App.d.ts +3 -14
  74. package/esm/ui/App/App.js +30 -17
  75. package/esm/ui/App/AppFab.d.ts +12 -3
  76. package/esm/ui/App/AppFab.js +15 -8
  77. package/esm/ui/App/AppReadyMarker.d.ts +43 -0
  78. package/esm/ui/App/AppReadyMarker.js +56 -0
  79. package/esm/ui/App/AppToolbar.d.ts +2 -14
  80. package/esm/ui/App/AppToolbar.js +23 -24
  81. package/esm/ui/App/ClassicViewsContainer.d.ts +3 -9
  82. package/esm/ui/App/ClassicViewsContainer.js +9 -8
  83. package/esm/ui/App/DialogQueue.d.ts +17 -1
  84. package/esm/ui/App/DialogQueue.js +30 -1
  85. package/esm/ui/App/Drawer.d.ts +1 -1
  86. package/esm/ui/App/Drawer.js +10 -39
  87. package/esm/ui/App/DrawerControls.d.ts +1 -5
  88. package/esm/ui/App/DrawerControls.js +1 -25
  89. package/esm/ui/App/DrawerHeader.d.ts +2 -3
  90. package/esm/ui/App/DrawerHeader.js +24 -10
  91. package/esm/ui/App/DrawerHeaderHelpButton.d.ts +1 -1
  92. package/esm/ui/App/DrawerHeaderHelpButton.js +3 -3
  93. package/esm/ui/App/DrawerHeaderHelpDialog.d.ts +2 -2
  94. package/esm/ui/App/DrawerHeaderHelpDialog.js +3 -4
  95. package/esm/ui/App/DrawerWidget.d.ts +1 -1
  96. package/esm/ui/App/DrawerWidget.js +9 -21
  97. package/esm/ui/App/JBrowseTabMenu.d.ts +2 -3
  98. package/esm/ui/App/JBrowseTabMenu.js +24 -5
  99. package/esm/ui/App/ViewButtons.d.ts +2 -4
  100. package/esm/ui/App/ViewButtons.js +15 -3
  101. package/esm/ui/App/ViewContainer.d.ts +3 -2
  102. package/esm/ui/App/ViewContainer.js +144 -24
  103. package/esm/ui/App/ViewContainerTitle.d.ts +1 -1
  104. package/esm/ui/App/ViewContainerTitle.js +9 -2
  105. package/esm/ui/App/ViewErrorFallback.d.ts +18 -0
  106. package/esm/ui/App/ViewErrorFallback.js +42 -0
  107. package/esm/ui/App/ViewHeader.d.ts +3 -4
  108. package/esm/ui/App/ViewHeader.js +28 -17
  109. package/esm/ui/App/ViewLauncher.d.ts +2 -8
  110. package/esm/ui/App/ViewLauncher.js +7 -5
  111. package/esm/ui/App/ViewMenu.d.ts +3 -5
  112. package/esm/ui/App/ViewMenu.js +87 -92
  113. package/esm/ui/App/ViewStack.d.ts +7 -0
  114. package/esm/ui/App/ViewStack.js +42 -0
  115. package/esm/ui/App/ViewWrapper.d.ts +15 -1
  116. package/esm/ui/App/ViewWrapper.js +26 -10
  117. package/esm/ui/App/ViewsContainer.d.ts +3 -8
  118. package/esm/ui/App/ViewsContainer.js +9 -6
  119. package/esm/ui/App/copyView.js +1 -1
  120. package/esm/ui/App/index.d.ts +2 -1
  121. package/esm/ui/App/index.js +3 -2
  122. package/esm/ui/App/lazyChunk.d.ts +13 -0
  123. package/esm/ui/App/lazyChunk.js +91 -0
  124. package/esm/ui/App/types.d.ts +12 -3
  125. package/esm/ui/App/types.js +1 -1
  126. package/esm/ui/App/useViewVisibility.d.ts +34 -0
  127. package/esm/ui/App/useViewVisibility.js +87 -0
  128. package/esm/ui/App/viewTitle.d.ts +5 -0
  129. package/esm/ui/App/viewTitle.js +9 -0
  130. package/esm/ui/index.d.ts +1 -1
  131. package/esm/ui/index.js +1 -1
  132. package/package.json +12 -17
  133. package/esm/AppFocus/index.d.ts +0 -5
  134. package/esm/AppFocus/index.js +0 -12
  135. package/esm/Assemblies/SessionAssembliesMixin.d.ts +0 -92
  136. package/esm/Assemblies/SessionAssembliesMixin.js +0 -53
  137. package/esm/Assemblies/TemporaryAssembliesMixin.d.ts +0 -10
  138. package/esm/Assemblies/TemporaryAssembliesMixin.js +0 -37
  139. package/esm/DockviewLayout/index.d.ts +0 -35
  140. package/esm/DockviewLayout/index.js +0 -111
  141. package/esm/ui/App/DockviewContext.d.ts +0 -22
  142. package/esm/ui/App/DockviewContext.js +0 -29
  143. package/esm/ui/App/DockviewLeftHeaderActions.d.ts +0 -2
  144. package/esm/ui/App/DockviewLeftHeaderActions.js +0 -58
  145. package/esm/ui/App/DockviewRightHeaderActions.d.ts +0 -2
  146. package/esm/ui/App/DockviewRightHeaderActions.js +0 -100
  147. package/esm/ui/App/DrawerWidgetSelector.d.ts +0 -5
  148. package/esm/ui/App/DrawerWidgetSelector.js +0 -47
  149. package/esm/ui/App/JBrowseViewPanel.d.ts +0 -8
  150. package/esm/ui/App/JBrowseViewPanel.js +0 -40
  151. package/esm/ui/App/JBrowseViewTab.d.ts +0 -8
  152. package/esm/ui/App/JBrowseViewTab.js +0 -97
  153. package/esm/ui/App/ModalWidget.d.ts +0 -6
  154. package/esm/ui/App/ModalWidget.js +0 -48
  155. package/esm/ui/App/TiledViewsContainer.d.ts +0 -6
  156. package/esm/ui/App/TiledViewsContainer.js +0 -366
  157. package/esm/ui/App/dockviewUtils.d.ts +0 -46
  158. package/esm/ui/App/dockviewUtils.js +0 -55
@@ -0,0 +1,325 @@
1
+ import { getConf, readConfObject } from '@jbrowse/core/configuration';
2
+ import { getFeatureAdapterOrThrow } from '@jbrowse/core/data_adapters/getFeatureAdapter';
3
+ import { getRpcSessionId, parseLocString, renameRegionsIfNeeded } from '@jbrowse/core/util';
4
+ import { createStopToken, stopStopToken } from '@jbrowse/core/util/stopToken';
5
+ import * as mst from '@jbrowse/mobx-state-tree';
6
+ import * as mobx from 'mobx';
7
+ import type PluginManager from '@jbrowse/core/PluginManager';
8
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
9
+ import type { AbstractSessionModel } from '@jbrowse/core/util/types';
10
+ import type { IStateTreeNode } from '@jbrowse/mobx-state-tree';
11
+ /**
12
+ * What jb.getFeatures may pull before it refuses. An explicit request wins so
13
+ * an agent can mean it; otherwise the adapter's own declared limit, so this
14
+ * does not disagree with the size the track's display already refuses to
15
+ * render; otherwise the default.
16
+ */
17
+ export declare function agentByteLimit(declaredFetchSizeLimit: unknown, requested?: number): number;
18
+ interface DisplaySelf {
19
+ type: string;
20
+ configuration: AnyConfigurationModel;
21
+ displayPhase?: string;
22
+ regionTooLargeReason?: string;
23
+ height?: number;
24
+ error?: unknown;
25
+ }
26
+ interface TrackSelf extends IStateTreeNode {
27
+ type: string;
28
+ configuration: AnyConfigurationModel & {
29
+ trackId: string;
30
+ };
31
+ displays?: (Record<string, unknown> & DisplaySelf)[];
32
+ }
33
+ export declare function sessionOf(pluginManager: PluginManager | undefined): AbstractSessionModel | undefined;
34
+ export declare function safeJson(value: unknown): string;
35
+ export declare function undeliveredNotifications(session: AbstractSessionModel): {
36
+ level: string;
37
+ message: string;
38
+ }[];
39
+ export declare function waitReady(timeoutMs: number, session?: AbstractSessionModel, root?: ParentNode): Promise<{
40
+ settled: boolean;
41
+ notifications?: {
42
+ level: string;
43
+ message: string;
44
+ }[] | undefined;
45
+ notReady?: (({
46
+ trackId: string;
47
+ } & Record<"error", unknown>) | ({
48
+ trackId: string;
49
+ } & Record<"phase", unknown>))[] | undefined;
50
+ offscreen?: {
51
+ pageHeight: number;
52
+ windowHeight: number;
53
+ views: {
54
+ viewId: string;
55
+ top: number;
56
+ bottom: number;
57
+ }[];
58
+ note: string;
59
+ } | undefined;
60
+ } | {
61
+ settled: boolean;
62
+ note: string;
63
+ notifications?: {
64
+ level: string;
65
+ message: string;
66
+ }[] | undefined;
67
+ notReady?: (({
68
+ trackId: string;
69
+ } & Record<"error", unknown>) | ({
70
+ trackId: string;
71
+ } & Record<"phase", unknown>))[] | undefined;
72
+ offscreen?: {
73
+ pageHeight: number;
74
+ windowHeight: number;
75
+ views: {
76
+ viewId: string;
77
+ top: number;
78
+ bottom: number;
79
+ }[];
80
+ note: string;
81
+ } | undefined;
82
+ }>;
83
+ interface JbRegion {
84
+ refName: string;
85
+ start: number;
86
+ end: number;
87
+ assemblyName: string;
88
+ }
89
+ interface SlotDescription {
90
+ type: string;
91
+ description?: string;
92
+ defaultValue: unknown;
93
+ }
94
+ declare function describeSlots(conf: AnyConfigurationModel): Record<string, SlotDescription>;
95
+ export declare function ensureReExports(): Promise<void>;
96
+ export declare function createJbApi(pluginManager: PluginManager): {
97
+ readonly session: AbstractSessionModel;
98
+ readonly rootModel: import("@jbrowse/core/util").AbstractRootModel | undefined;
99
+ require: (lib: string | ((...args: any) => any) | {
100
+ default: (...args: any) => any;
101
+ }) => any;
102
+ ensureRequire: typeof ensureReExports;
103
+ mst: typeof mst;
104
+ mobx: typeof mobx;
105
+ readConfObject: typeof readConfObject;
106
+ getConf: typeof getConf;
107
+ describeSlots: typeof describeSlots;
108
+ parseLocString: typeof parseLocString;
109
+ getFeatureAdapterOrThrow: typeof getFeatureAdapterOrThrow;
110
+ getRpcSessionId: typeof getRpcSessionId;
111
+ renameRegionsIfNeeded: typeof renameRegionsIfNeeded;
112
+ createStopToken: typeof createStopToken;
113
+ stopStopToken: typeof stopStopToken;
114
+ waitReady: (timeoutMs: number) => Promise<{
115
+ settled: boolean;
116
+ notifications?: {
117
+ level: string;
118
+ message: string;
119
+ }[] | undefined;
120
+ notReady?: (({
121
+ trackId: string;
122
+ } & Record<"error", unknown>) | ({
123
+ trackId: string;
124
+ } & Record<"phase", unknown>))[] | undefined;
125
+ offscreen?: {
126
+ pageHeight: number;
127
+ windowHeight: number;
128
+ views: {
129
+ viewId: string;
130
+ top: number;
131
+ bottom: number;
132
+ }[];
133
+ note: string;
134
+ } | undefined;
135
+ } | {
136
+ settled: boolean;
137
+ note: string;
138
+ notifications?: {
139
+ level: string;
140
+ message: string;
141
+ }[] | undefined;
142
+ notReady?: (({
143
+ trackId: string;
144
+ } & Record<"error", unknown>) | ({
145
+ trackId: string;
146
+ } & Record<"phase", unknown>))[] | undefined;
147
+ offscreen?: {
148
+ pageHeight: number;
149
+ windowHeight: number;
150
+ views: {
151
+ viewId: string;
152
+ top: number;
153
+ bottom: number;
154
+ }[];
155
+ note: string;
156
+ } | undefined;
157
+ }>;
158
+ sessionSummary: () => {
159
+ name: string;
160
+ assemblyNames: string[];
161
+ views: Record<string, unknown>[];
162
+ };
163
+ inspect: (path?: string, maxInspectBytes?: number) => {
164
+ path: string;
165
+ modelType?: string | undefined;
166
+ bytes: number;
167
+ getters?: string[] | undefined;
168
+ actions?: string[] | undefined;
169
+ value: unknown;
170
+ } | {
171
+ path: string;
172
+ modelType?: string | undefined;
173
+ bytes: number;
174
+ getters?: string[] | undefined;
175
+ actions?: string[] | undefined;
176
+ note: string;
177
+ items: string[];
178
+ } | {
179
+ path: string;
180
+ modelType?: string | undefined;
181
+ bytes: number;
182
+ getters?: string[] | undefined;
183
+ actions?: string[] | undefined;
184
+ note: string;
185
+ keys: {
186
+ [k: string]: string;
187
+ };
188
+ };
189
+ listTracks: (search?: string, limit?: number) => {
190
+ total: number;
191
+ note?: string | undefined;
192
+ tracks: {
193
+ trackId: any;
194
+ name: string;
195
+ type: any;
196
+ adapterType?: any;
197
+ assemblyNames: string[];
198
+ }[];
199
+ };
200
+ trackModel: (trackId: string) => TrackSelf | undefined;
201
+ visibleRegions: (viewId?: string) => Promise<JbRegion[]>;
202
+ loadSessionSpec: (spec: Record<string, unknown>, settleMs?: number) => Promise<{
203
+ settled: boolean;
204
+ notifications?: {
205
+ level: string;
206
+ message: string;
207
+ }[] | undefined;
208
+ notReady?: (({
209
+ trackId: string;
210
+ } & Record<"error", unknown>) | ({
211
+ trackId: string;
212
+ } & Record<"phase", unknown>))[] | undefined;
213
+ offscreen?: {
214
+ pageHeight: number;
215
+ windowHeight: number;
216
+ views: {
217
+ viewId: string;
218
+ top: number;
219
+ bottom: number;
220
+ }[];
221
+ note: string;
222
+ } | undefined;
223
+ session?: {
224
+ name: string;
225
+ assemblyNames: string[];
226
+ views: Record<string, unknown>[];
227
+ } | undefined;
228
+ } | {
229
+ settled: boolean;
230
+ note: string;
231
+ notifications?: {
232
+ level: string;
233
+ message: string;
234
+ }[] | undefined;
235
+ notReady?: (({
236
+ trackId: string;
237
+ } & Record<"error", unknown>) | ({
238
+ trackId: string;
239
+ } & Record<"phase", unknown>))[] | undefined;
240
+ offscreen?: {
241
+ pageHeight: number;
242
+ windowHeight: number;
243
+ views: {
244
+ viewId: string;
245
+ top: number;
246
+ bottom: number;
247
+ }[];
248
+ note: string;
249
+ } | undefined;
250
+ session?: {
251
+ name: string;
252
+ assemblyNames: string[];
253
+ views: Record<string, unknown>[];
254
+ } | undefined;
255
+ }>;
256
+ addTrack: (opts: Record<string, unknown>) => Promise<{
257
+ trackId: string;
258
+ trackType: string;
259
+ adapterType: string;
260
+ assembly: string;
261
+ } | {
262
+ settled: boolean;
263
+ notifications?: {
264
+ level: string;
265
+ message: string;
266
+ }[] | undefined;
267
+ notReady?: (({
268
+ trackId: string;
269
+ } & Record<"error", unknown>) | ({
270
+ trackId: string;
271
+ } & Record<"phase", unknown>))[] | undefined;
272
+ offscreen?: {
273
+ pageHeight: number;
274
+ windowHeight: number;
275
+ views: {
276
+ viewId: string;
277
+ top: number;
278
+ bottom: number;
279
+ }[];
280
+ note: string;
281
+ } | undefined;
282
+ trackId: string;
283
+ trackType: string;
284
+ adapterType: string;
285
+ assembly: string;
286
+ shownInView: string;
287
+ } | {
288
+ settled: boolean;
289
+ note: string;
290
+ notifications?: {
291
+ level: string;
292
+ message: string;
293
+ }[] | undefined;
294
+ notReady?: (({
295
+ trackId: string;
296
+ } & Record<"error", unknown>) | ({
297
+ trackId: string;
298
+ } & Record<"phase", unknown>))[] | undefined;
299
+ offscreen?: {
300
+ pageHeight: number;
301
+ windowHeight: number;
302
+ views: {
303
+ viewId: string;
304
+ top: number;
305
+ bottom: number;
306
+ }[];
307
+ note: string;
308
+ } | undefined;
309
+ trackId: string;
310
+ trackType: string;
311
+ adapterType: string;
312
+ assembly: string;
313
+ shownInView: string;
314
+ }>;
315
+ getFeatures: (args: string | {
316
+ trackId: string;
317
+ loc?: string;
318
+ assembly?: string;
319
+ regions?: JbRegion[];
320
+ viewId?: string;
321
+ byteLimit?: number;
322
+ }, positionalLoc?: string) => Promise<import("@jbrowse/core/util").Feature[]>;
323
+ };
324
+ export type JbApi = ReturnType<typeof createJbApi>;
325
+ export {};