@jbrowse/plugin-spreadsheet-view 3.7.0 → 4.0.1

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 (84) hide show
  1. package/esm/LaunchSpreadsheetView/index.js +6 -13
  2. package/esm/SpreadsheetView/ImportWizard.d.ts +11 -15
  3. package/esm/SpreadsheetView/ImportWizard.js +44 -46
  4. package/esm/SpreadsheetView/SpreadsheetModel.d.ts +13 -16
  5. package/esm/SpreadsheetView/SpreadsheetModel.js +14 -22
  6. package/esm/SpreadsheetView/SpreadsheetViewModel.d.ts +68 -171
  7. package/esm/SpreadsheetView/SpreadsheetViewModel.js +54 -16
  8. package/esm/SpreadsheetView/components/BreakpointSplitViewChoiceDialog.d.ts +1 -0
  9. package/esm/SpreadsheetView/components/BreakpointSplitViewChoiceDialog.js +1 -0
  10. package/esm/SpreadsheetView/components/FeatureMenu.js +6 -29
  11. package/esm/SpreadsheetView/components/ImportWizard.d.ts +1 -1
  12. package/esm/SpreadsheetView/components/ImportWizard.js +5 -6
  13. package/esm/SpreadsheetView/components/LocationCell.js +3 -3
  14. package/esm/SpreadsheetView/components/NumberEditor.d.ts +1 -1
  15. package/esm/SpreadsheetView/components/NumberEditor.js +2 -2
  16. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +1 -1
  17. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.js +3 -2
  18. package/esm/SpreadsheetView/components/SpreadsheetView.d.ts +1 -1
  19. package/esm/SpreadsheetView/components/SpreadsheetView.js +4 -5
  20. package/esm/SpreadsheetView/components/SpreadsheetViewActual.d.ts +1 -1
  21. package/esm/SpreadsheetView/components/SpreadsheetViewActual.js +3 -3
  22. package/esm/SpreadsheetView/components/TrackSelector.d.ts +1 -1
  23. package/esm/SpreadsheetView/components/TrackSelector.js +4 -5
  24. package/esm/SpreadsheetView/importAdapters/BedImport.js +4 -5
  25. package/esm/SpreadsheetView/importAdapters/BedpeImport.js +3 -4
  26. package/esm/SpreadsheetView/importAdapters/STARFusionImport.js +2 -2
  27. package/esm/SpreadsheetView/importAdapters/VcfImport.js +6 -4
  28. package/esm/SpreadsheetView/index.d.ts +1 -1
  29. package/esm/SpreadsheetView/index.js +2 -2
  30. package/esm/index.d.ts +1 -1
  31. package/esm/index.js +4 -6
  32. package/package.json +29 -36
  33. package/dist/LaunchSpreadsheetView/index.d.ts +0 -2
  34. package/dist/LaunchSpreadsheetView/index.js +0 -21
  35. package/dist/SpreadsheetView/ImportWizard.d.ts +0 -51
  36. package/dist/SpreadsheetView/ImportWizard.js +0 -250
  37. package/dist/SpreadsheetView/SpreadsheetModel.d.ts +0 -78
  38. package/dist/SpreadsheetView/SpreadsheetModel.js +0 -119
  39. package/dist/SpreadsheetView/SpreadsheetViewModel.d.ts +0 -299
  40. package/dist/SpreadsheetView/SpreadsheetViewModel.js +0 -101
  41. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +0 -1
  42. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +0 -5
  43. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +0 -1
  44. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +0 -5
  45. package/dist/SpreadsheetView/components/FeatureMenu.d.ts +0 -7
  46. package/dist/SpreadsheetView/components/FeatureMenu.js +0 -105
  47. package/dist/SpreadsheetView/components/ImportWizard.d.ts +0 -5
  48. package/dist/SpreadsheetView/components/ImportWizard.js +0 -47
  49. package/dist/SpreadsheetView/components/LocationCell.d.ts +0 -7
  50. package/dist/SpreadsheetView/components/LocationCell.js +0 -29
  51. package/dist/SpreadsheetView/components/NumberEditor.d.ts +0 -8
  52. package/dist/SpreadsheetView/components/NumberEditor.js +0 -32
  53. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +0 -5
  54. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.js +0 -23
  55. package/dist/SpreadsheetView/components/SpreadsheetView.d.ts +0 -5
  56. package/dist/SpreadsheetView/components/SpreadsheetView.js +0 -48
  57. package/dist/SpreadsheetView/components/SpreadsheetViewActual.d.ts +0 -5
  58. package/dist/SpreadsheetView/components/SpreadsheetViewActual.js +0 -34
  59. package/dist/SpreadsheetView/components/TrackSelector.d.ts +0 -6
  60. package/dist/SpreadsheetView/components/TrackSelector.js +0 -27
  61. package/dist/SpreadsheetView/components/util.d.ts +0 -1
  62. package/dist/SpreadsheetView/components/util.js +0 -17
  63. package/dist/SpreadsheetView/importAdapters/BedImport.d.ts +0 -26
  64. package/dist/SpreadsheetView/importAdapters/BedImport.js +0 -58
  65. package/dist/SpreadsheetView/importAdapters/BedpeImport.d.ts +0 -36
  66. package/dist/SpreadsheetView/importAdapters/BedpeImport.js +0 -79
  67. package/dist/SpreadsheetView/importAdapters/STARFusionImport.d.ts +0 -25
  68. package/dist/SpreadsheetView/importAdapters/STARFusionImport.js +0 -35
  69. package/dist/SpreadsheetView/importAdapters/VcfImport.d.ts +0 -20
  70. package/dist/SpreadsheetView/importAdapters/VcfImport.js +0 -66
  71. package/dist/SpreadsheetView/importAdapters/isNumber.d.ts +0 -1
  72. package/dist/SpreadsheetView/importAdapters/isNumber.js +0 -14
  73. package/dist/SpreadsheetView/importAdapters/util.d.ts +0 -2
  74. package/dist/SpreadsheetView/importAdapters/util.js +0 -22
  75. package/dist/SpreadsheetView/index.d.ts +0 -3
  76. package/dist/SpreadsheetView/index.js +0 -52
  77. package/dist/SpreadsheetView/util.d.ts +0 -7
  78. package/dist/SpreadsheetView/util.js +0 -13
  79. package/dist/index.d.ts +0 -8
  80. package/dist/index.js +0 -33
  81. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +0 -1
  82. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +0 -1
  83. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +0 -1
  84. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +0 -1
@@ -1,22 +1,27 @@
1
- import type { SpreadsheetModel } from './SpreadsheetModel';
1
+ import type { SpreadsheetModel } from './SpreadsheetModel.tsx';
2
2
  import type { MenuItem } from '@jbrowse/core/ui';
3
- import type { Instance } from 'mobx-state-tree';
4
- export default function stateModelFactory(): import("mobx-state-tree").IModelType<{
5
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
6
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
7
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
3
+ import type { Instance } from '@jbrowse/mobx-state-tree';
4
+ export interface SpreadsheetViewInit {
5
+ assembly: string;
6
+ uri: string;
7
+ fileType?: string;
8
+ }
9
+ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<{
10
+ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
11
+ displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
12
+ minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
8
13
  } & {
9
- type: import("mobx-state-tree").ISimpleType<"SpreadsheetView">;
10
- offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
11
- height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
12
- hideVerticalResizeHandle: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
13
- hideFilterControls: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
14
- importWizard: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
15
- fileType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
- hasColumnNameLine: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
17
- columnNameLineNumber: import("mobx-state-tree").IType<number | undefined, number, number>;
18
- selectedAssemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
19
- cachedFileLocation: import("mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
14
+ type: import("@jbrowse/mobx-state-tree").ISimpleType<"SpreadsheetView">;
15
+ offsetPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
16
+ height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
17
+ hideVerticalResizeHandle: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
18
+ hideFilterControls: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
19
+ importWizard: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
20
+ fileType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
21
+ hasColumnNameLine: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
22
+ columnNameLineNumber: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
23
+ selectedAssemblyName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
24
+ cachedFileLocation: import("@jbrowse/mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
20
25
  }, {
21
26
  fileTypes: string[];
22
27
  fileSource: any;
@@ -30,15 +35,11 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
30
35
  tracksForAssembly(selectedAssembly: string): {
31
36
  track: {
32
37
  [x: string]: any;
33
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
38
+ } & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject & {
34
39
  setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
35
40
  [x: string]: any;
36
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
37
- setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
38
- [x: string]: any;
39
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
40
- } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
41
- } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>;
41
+ } & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject & any & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
42
+ } & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>;
42
43
  label: string;
43
44
  assemblyNames: any;
44
45
  type: string;
@@ -57,18 +58,18 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
57
58
  import(assemblyName: string): Promise<void>;
58
59
  } & {
59
60
  afterAttach(): void;
60
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
61
- spreadsheet: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
62
- rowSet: import("mobx-state-tree").IType<import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined>;
63
- columns: import("mobx-state-tree").IType<{
61
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>, [undefined]>;
62
+ spreadsheet: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IModelType<{
63
+ rowSet: import("@jbrowse/mobx-state-tree").IType<import("./SpreadsheetModel.tsx").RowSet | undefined, import("./SpreadsheetModel.tsx").RowSet | undefined, import("./SpreadsheetModel.tsx").RowSet | undefined>;
64
+ columns: import("@jbrowse/mobx-state-tree").IType<{
64
65
  name: string;
65
66
  }[], {
66
67
  name: string;
67
68
  }[], {
68
69
  name: string;
69
70
  }[]>;
70
- assemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
71
- visibleColumns: import("mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
71
+ assemblyName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
72
+ visibleColumns: import("@jbrowse/mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
72
73
  }, {
73
74
  visibleRowFlags: Record<number, boolean> | undefined;
74
75
  } & {
@@ -85,10 +86,7 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
85
86
  } | {
86
87
  field: string;
87
88
  width: number;
88
- renderCell: ({ row }: import("@mui/x-data-grid").GridRenderCellParams<{
89
- id: number;
90
- feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
91
- }, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => import("react/jsx-runtime").JSX.Element | "N/A";
89
+ renderCell: ({ row }: import("@mui/x-data-grid").GridRenderCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => import("react/jsx-runtime").JSX.Element | "N/A";
92
90
  type?: undefined;
93
91
  valueGetter?: undefined;
94
92
  valueFormatter?: undefined;
@@ -110,18 +108,19 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
110
108
  } & {
111
109
  setVisibleRows(arg?: Record<number, boolean>): void;
112
110
  setVisibleColumns(arg: Record<string, boolean>): void;
113
- }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
114
- rowSet: import("mobx-state-tree").IType<import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined>;
115
- columns: import("mobx-state-tree").IType<{
111
+ }, import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<{
112
+ rowSet: import("@jbrowse/mobx-state-tree").IType<import("./SpreadsheetModel.tsx").RowSet | undefined, import("./SpreadsheetModel.tsx").RowSet | undefined, import("./SpreadsheetModel.tsx").RowSet | undefined>;
113
+ columns: import("@jbrowse/mobx-state-tree").IType<{
116
114
  name: string;
117
115
  }[], {
118
116
  name: string;
119
117
  }[], {
120
118
  name: string;
121
119
  }[]>;
122
- assemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
123
- visibleColumns: import("mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
124
- }>>, import("mobx-state-tree")._NotCustomized>>;
120
+ assemblyName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
121
+ visibleColumns: import("@jbrowse/mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
122
+ }>>, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
123
+ init: import("@jbrowse/mobx-state-tree").IType<SpreadsheetViewInit | undefined, SpreadsheetViewInit | undefined, SpreadsheetViewInit | undefined>;
125
124
  }, {
126
125
  width: number;
127
126
  } & {
@@ -142,6 +141,9 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
142
141
  resizeHeight(distance: number): number;
143
142
  resizeWidth(distance: number): number;
144
143
  displaySpreadsheet(spreadsheet?: SpreadsheetModel): void;
144
+ setInit(init?: SpreadsheetViewInit): void;
145
+ } & {
146
+ afterAttach(): void;
145
147
  } & {
146
148
  menuItems(): {
147
149
  label: string;
@@ -150,150 +152,45 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
150
152
  };
151
153
  onClick: () => void;
152
154
  }[];
153
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree").ModelSnapshotType<{
154
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
155
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
156
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
157
- } & {
158
- type: import("mobx-state-tree").ISimpleType<"SpreadsheetView">;
159
- offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
160
- height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
161
- hideVerticalResizeHandle: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
162
- hideFilterControls: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
163
- importWizard: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
164
- fileType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
165
- hasColumnNameLine: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
166
- columnNameLineNumber: import("mobx-state-tree").IType<number | undefined, number, number>;
167
- selectedAssemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
168
- cachedFileLocation: import("mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
169
- }, {
170
- fileTypes: string[];
171
- fileSource: any;
172
- error: unknown;
173
- loading: boolean;
174
- } & {
175
- readonly isReadyToOpen: any;
176
- readonly fileName: any;
177
- readonly requiresUnzip: any;
178
- isValidRefName(refName: string, assemblyName?: string): boolean;
179
- tracksForAssembly(selectedAssembly: string): {
180
- track: {
181
- [x: string]: any;
182
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
183
- setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
184
- [x: string]: any;
185
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
186
- setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
187
- [x: string]: any;
188
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
189
- } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
190
- } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>;
191
- label: string;
192
- assemblyNames: any;
193
- type: string;
194
- loc: import("@jbrowse/core/util").FileLocation;
195
- }[];
196
- } & {
197
- setSelectedAssemblyName(s: string): void;
198
- setFileSource(newSource: unknown): void;
199
- setColumnNameLineNumber(newnumber: number): void;
200
- setFileType(typeName: string): void;
201
- setError(error: unknown): void;
202
- setLoading(arg: boolean): void;
203
- cancelButton(): void;
204
- setCachedFileHandle(arg: import("@jbrowse/core/util").FileLocation): void;
205
- } & {
206
- import(assemblyName: string): Promise<void>;
207
- } & {
208
- afterAttach(): void;
209
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
210
- spreadsheet: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
211
- rowSet: import("mobx-state-tree").IType<import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined>;
212
- columns: import("mobx-state-tree").IType<{
213
- name: string;
214
- }[], {
215
- name: string;
216
- }[], {
217
- name: string;
218
- }[]>;
219
- assemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
220
- visibleColumns: import("mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
221
- }, {
222
- visibleRowFlags: Record<number, boolean> | undefined;
223
- } & {
224
- readonly rows: {
225
- id: number;
226
- feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
227
- }[] | undefined;
228
- readonly initialized: boolean | undefined;
229
- } & {
230
- readonly dataGridColumns: ({
231
- field: string;
232
- width: number;
233
- type: "number" | undefined;
234
- } | {
235
- field: string;
236
- width: number;
237
- renderCell: ({ row }: import("@mui/x-data-grid").GridRenderCellParams<{
238
- id: number;
239
- feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
240
- }, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => import("react/jsx-runtime").JSX.Element | "N/A";
241
- type?: undefined;
242
- valueGetter?: undefined;
243
- valueFormatter?: undefined;
244
- } | {
245
- field: string;
246
- type: "number";
247
- width: number;
248
- valueGetter: (_val: unknown, row: {
249
- feature?: import("@jbrowse/core/util").SimpleFeatureSerialized;
250
- }) => number | undefined;
251
- valueFormatter: (arg: never) => string;
252
- renderCell?: undefined;
253
- })[] | undefined;
254
- } & {
255
- readonly visibleRows: {
256
- id: number;
257
- feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
258
- }[] | undefined;
259
- } & {
260
- setVisibleRows(arg?: Record<number, boolean>): void;
261
- setVisibleColumns(arg: Record<string, boolean>): void;
262
- }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
263
- rowSet: import("mobx-state-tree").IType<import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined, import("./SpreadsheetModel").RowSet | undefined>;
264
- columns: import("mobx-state-tree").IType<{
265
- name: string;
266
- }[], {
267
- name: string;
268
- }[], {
269
- name: string;
270
- }[]>;
271
- assemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
272
- visibleColumns: import("mobx-state-tree").IType<Record<string, boolean>, Record<string, boolean>, Record<string, boolean>>;
273
- }>>, import("mobx-state-tree")._NotCustomized>>;
274
- }> | {
155
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
156
+ importWizard: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
157
+ fileType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
158
+ hasColumnNameLine: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
159
+ columnNameLineNumber: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
160
+ selectedAssemblyName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
161
+ cachedFileLocation: import("@jbrowse/mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
162
+ }>;
275
163
  spreadsheet: {
164
+ assemblyName: string | undefined;
276
165
  columns: {
277
166
  name: string;
278
167
  }[];
279
- assemblyName: string | undefined;
280
168
  visibleColumns: Record<string, boolean>;
281
169
  };
170
+ height: number;
282
171
  id: string;
283
172
  type: "SpreadsheetView";
284
- height: number;
285
173
  displayName: string | undefined;
286
174
  minimized: boolean;
287
- hideVerticalResizeHandle: boolean;
288
175
  offsetPx: number;
176
+ hideVerticalResizeHandle: boolean;
289
177
  hideFilterControls: boolean;
290
- importWizard: import("mobx-state-tree").ModelSnapshotType<{
291
- fileType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
292
- hasColumnNameLine: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
293
- columnNameLineNumber: import("mobx-state-tree").IType<number | undefined, number, number>;
294
- selectedAssemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
295
- cachedFileLocation: import("mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
178
+ } | {
179
+ importWizard: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
180
+ fileType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
181
+ hasColumnNameLine: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
182
+ columnNameLineNumber: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
183
+ selectedAssemblyName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
184
+ cachedFileLocation: import("@jbrowse/mobx-state-tree").IType<import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined, import("@jbrowse/core/util").FileLocation | undefined>;
296
185
  }>;
186
+ height: number;
187
+ id: string;
188
+ type: "SpreadsheetView";
189
+ displayName: string | undefined;
190
+ minimized: boolean;
191
+ offsetPx: number;
192
+ hideVerticalResizeHandle: boolean;
193
+ hideFilterControls: boolean;
297
194
  }>;
298
195
  export type SpreadsheetViewStateModel = ReturnType<typeof stateModelFactory>;
299
196
  export type SpreadsheetViewModel = Instance<SpreadsheetViewStateModel>;
@@ -1,9 +1,10 @@
1
1
  import { BaseViewModel } from '@jbrowse/core/pluggableElementTypes/models';
2
2
  import { getSession } from '@jbrowse/core/util';
3
+ import { addDisposer, cast, types } from '@jbrowse/mobx-state-tree';
3
4
  import FolderOpenIcon from '@mui/icons-material/FolderOpen';
4
- import { cast, types } from 'mobx-state-tree';
5
- import ImportWizard from './ImportWizard';
6
- import Spreadsheet from './SpreadsheetModel';
5
+ import { autorun } from 'mobx';
6
+ import ImportWizard from "./ImportWizard.js";
7
+ import Spreadsheet from "./SpreadsheetModel.js";
7
8
  const minHeight = 40;
8
9
  const defaultHeight = 440;
9
10
  function x() { }
@@ -19,6 +20,7 @@ export default function stateModelFactory() {
19
20
  hideFilterControls: false,
20
21
  importWizard: types.optional(ImportWizardModel, () => ImportWizardModel.create()),
21
22
  spreadsheet: types.maybe(Spreadsheet()),
23
+ init: types.frozen(),
22
24
  })
23
25
  .volatile(() => ({
24
26
  width: 400,
@@ -26,10 +28,9 @@ export default function stateModelFactory() {
26
28
  }))
27
29
  .views(self => ({
28
30
  get assembly() {
29
- var _a, _b;
30
- const name = (_a = self.spreadsheet) === null || _a === void 0 ? void 0 : _a.assemblyName;
31
+ const name = self.spreadsheet?.assemblyName;
31
32
  return name
32
- ? (_b = getSession(self).assemblyManager.get(name)) === null || _b === void 0 ? void 0 : _b.configuration
33
+ ? getSession(self).assemblyManager.get(name)?.configuration
33
34
  : undefined;
34
35
  },
35
36
  }))
@@ -58,6 +59,41 @@ export default function stateModelFactory() {
58
59
  displaySpreadsheet(spreadsheet) {
59
60
  self.spreadsheet = cast(spreadsheet);
60
61
  },
62
+ setInit(init) {
63
+ self.init = init;
64
+ },
65
+ }))
66
+ .actions(self => ({
67
+ afterAttach() {
68
+ addDisposer(self, autorun(async function spreadsheetViewInitAutorun() {
69
+ const { init, width } = self;
70
+ if (!width || !init) {
71
+ return;
72
+ }
73
+ const session = getSession(self);
74
+ try {
75
+ const exts = init.uri.split('.');
76
+ let ext = exts.pop()?.toUpperCase();
77
+ if (ext === 'GZ') {
78
+ ext = exts.pop()?.toUpperCase();
79
+ }
80
+ self.importWizard.setFileType(init.fileType || ext || '');
81
+ self.importWizard.setSelectedAssemblyName(init.assembly);
82
+ self.importWizard.setFileSource({
83
+ uri: init.uri,
84
+ locationType: 'UriLocation',
85
+ });
86
+ await self.importWizard.import(init.assembly);
87
+ }
88
+ catch (e) {
89
+ console.error(e);
90
+ session.notifyError(`${e}`, e);
91
+ }
92
+ finally {
93
+ self.setInit(undefined);
94
+ }
95
+ }, { name: 'SpreadsheetViewInit' }));
96
+ },
61
97
  }))
62
98
  .views(self => ({
63
99
  menuItems() {
@@ -73,23 +109,25 @@ export default function stateModelFactory() {
73
109
  },
74
110
  })))
75
111
  .postProcessSnapshot(snap => {
76
- const { importWizard, spreadsheet } = snap;
112
+ const { init, importWizard, spreadsheet, ...rest } = snap;
77
113
  if (importWizard.cachedFileLocation && spreadsheet) {
78
- const { rowSet, ...rest } = spreadsheet;
114
+ const { rowSet, ...spreadsheetRest } = spreadsheet;
79
115
  return {
80
- ...snap,
81
- spreadsheet: rest,
116
+ ...rest,
117
+ importWizard,
118
+ spreadsheet: spreadsheetRest,
82
119
  };
83
120
  }
84
121
  else if (spreadsheet) {
85
- const { rowSet, ...rest } = spreadsheet;
86
- return rowSet && JSON.stringify(rowSet).length > 1000000
122
+ const { rowSet, ...spreadsheetRest } = spreadsheet;
123
+ return rowSet && JSON.stringify(rowSet).length > 1_000_000
87
124
  ? {
88
- ...snap,
89
- spreadsheet: rest,
125
+ ...rest,
126
+ importWizard,
127
+ spreadsheet: spreadsheetRest,
90
128
  }
91
- : snap;
129
+ : { ...rest, importWizard, spreadsheet };
92
130
  }
93
- return snap;
131
+ return { ...rest, importWizard };
94
132
  });
95
133
  }
@@ -0,0 +1 @@
1
+ export { BreakpointSplitViewChoiceDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1 @@
1
+ export { BreakpointSplitViewChoiceDialog as default } from '@jbrowse/sv-core';
@@ -3,10 +3,8 @@ import { lazy } from 'react';
3
3
  import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
4
4
  import { SimpleFeature, assembleLocStringFast } from '@jbrowse/core/util';
5
5
  import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
6
- import { getEnv } from 'mobx-state-tree';
7
- import { locationLinkClick } from '../util';
8
- const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
9
- const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
6
+ import { locationLinkClick } from "../util.js";
7
+ const BreakpointSplitViewChoiceDialog = lazy(() => import("./BreakpointSplitViewChoiceDialog.js"));
10
8
  export default function FeatureMenu({ assemblyName, session, spreadsheetViewId, feature, }) {
11
9
  return (_jsx(CascadingMenuButton, { menuItems: [
12
10
  {
@@ -27,36 +25,15 @@ export default function FeatureMenu({ assemblyName, session, spreadsheetViewId,
27
25
  },
28
26
  },
29
27
  {
30
- label: 'Open in single-level split view',
31
- onClick: async () => {
32
- const { pluginManager } = getEnv(session);
33
- const viewType = pluginManager.getViewType('BreakpointSplitView');
34
- session.queueDialog(handleClose => [
35
- BreakendSingleLevelOptionDialog,
36
- {
37
- handleClose,
38
- session,
39
- stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview_singlelevel`,
40
- feature: new SimpleFeature(feature),
41
- viewType,
42
- assemblyName,
43
- },
44
- ]);
45
- },
46
- },
47
- {
48
- label: 'Open in multi-level split view',
49
- onClick: async () => {
50
- const { pluginManager } = getEnv(session);
51
- const viewType = pluginManager.getViewType('BreakpointSplitView');
28
+ label: 'Open in breakpoint split view',
29
+ onClick: () => {
52
30
  session.queueDialog(handleClose => [
53
- BreakendMultiLevelOptionDialog,
31
+ BreakpointSplitViewChoiceDialog,
54
32
  {
55
33
  handleClose,
56
34
  session,
57
- stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview_multilevel`,
35
+ stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview`,
58
36
  feature: new SimpleFeature(feature),
59
- viewType,
60
37
  assemblyName,
61
38
  },
62
39
  ]);
@@ -1,4 +1,4 @@
1
- import type { ImportWizardModel } from '../ImportWizard';
1
+ import type { ImportWizardModel } from '../ImportWizard.ts';
2
2
  declare const ImportWizard: ({ model, }: {
3
3
  model: ImportWizardModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { AssemblySelector, ErrorMessage, FileSelector, LoadingEllipses, } from '@jbrowse/core/ui';
4
4
  import { getSession } from '@jbrowse/core/util';
5
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
6
+ import { getRoot } from '@jbrowse/mobx-state-tree';
5
7
  import { Button, FormControl, FormControlLabel, FormGroup, FormLabel, Paper, Radio, RadioGroup, } from '@mui/material';
6
8
  import { observer } from 'mobx-react';
7
- import { getRoot } from 'mobx-state-tree';
8
- import { makeStyles } from 'tss-react/mui';
9
- import TrackSelector from './TrackSelector';
9
+ import TrackSelector from "./TrackSelector.js";
10
10
  const useStyles = makeStyles()({
11
11
  container: {
12
12
  margin: '0 auto',
@@ -14,15 +14,14 @@ const useStyles = makeStyles()({
14
14
  padding: 20,
15
15
  },
16
16
  });
17
- const ImportWizard = observer(function ({ model, }) {
18
- var _a;
17
+ const ImportWizard = observer(function ImportWizard({ model, }) {
19
18
  const session = getSession(model);
20
19
  const { classes } = useStyles();
21
20
  const { assemblyNames, assemblyManager } = session;
22
21
  const { loading, fileType, fileSource, isReadyToOpen, fileTypes, error } = model;
23
22
  const [selectedAssembly, setSelectedAssembly] = useState(assemblyNames[0]);
24
23
  const [selectorType, setSelectorType] = useState('custom');
25
- const err = ((_a = assemblyManager.get(selectedAssembly)) === null || _a === void 0 ? void 0 : _a.error) || error;
24
+ const err = assemblyManager.get(selectedAssembly)?.error || error;
26
25
  const rootModel = getRoot(model);
27
26
  return (_jsxs("div", { children: [err ? _jsx(ErrorMessage, { error: err }) : null, _jsxs(Paper, { className: classes.container, children: [loading ? _jsx(LoadingEllipses, { variant: "h6" }) : null, _jsx("div", { children: _jsx(FormControl, { component: "fieldset", children: _jsx(RadioGroup, { row: true, "aria-label": "file type", name: "type", value: fileType, onChange: event => {
28
27
  setSelectorType(event.target.value);
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { assembleLocString, getSession } from '@jbrowse/core/util';
3
+ import { getParent } from '@jbrowse/mobx-state-tree';
3
4
  import { Link } from '@mui/material';
4
- import { getParent } from 'mobx-state-tree';
5
- import { locationLinkClick } from '../util';
6
- import FeatureMenu from './FeatureMenu';
5
+ import { locationLinkClick } from "../util.js";
6
+ import FeatureMenu from "./FeatureMenu.js";
7
7
  export default function LocationCell({ model, feature, }) {
8
8
  return (_jsxs(_Fragment, { children: [_jsx(FeatureMenu, { session: getSession(model), spreadsheetViewId: getParent(model).id, assemblyName: model.assemblyName, feature: feature }), _jsx(Link, { href: "#", onClick: async (event) => {
9
9
  try {
@@ -1,4 +1,4 @@
1
- import type { ImportWizardModel } from '../ImportWizard';
1
+ import type { ImportWizardModel } from '../ImportWizard.ts';
2
2
  declare const NumberEditor: ({ model, disabled, modelPropName, modelSetterName, }: {
3
3
  model: ImportWizardModel;
4
4
  disabled: boolean;
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
3
4
  import { TextField } from '@mui/material';
4
5
  import { observer } from 'mobx-react';
5
- import { makeStyles } from 'tss-react/mui';
6
6
  const useStyles = makeStyles()({
7
7
  textField: {
8
8
  width: '2rem',
9
9
  verticalAlign: 'baseline',
10
10
  },
11
11
  });
12
- const NumberEditor = observer(function ({ model, disabled, modelPropName, modelSetterName, }) {
12
+ const NumberEditor = observer(function NumberEditor({ model, disabled, modelPropName, modelSetterName, }) {
13
13
  const [val, setVal] = useState(model[modelPropName]);
14
14
  const { classes } = useStyles();
15
15
  useEffect(() => {
@@ -1,4 +1,4 @@
1
- import type { SpreadsheetModel } from '../SpreadsheetModel';
1
+ import type { SpreadsheetModel } from '../SpreadsheetModel.tsx';
2
2
  declare const SpreadsheetDataGrid: ({ model, }: {
3
3
  model: SpreadsheetModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { startTransition } from 'react';
2
3
  import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
3
4
  import { observer } from 'mobx-react';
4
- const SpreadsheetDataGrid = observer(function ({ model, }) {
5
+ const SpreadsheetDataGrid = observer(function SpreadsheetDataGrid({ model, }) {
5
6
  const { rows, dataGridColumns, visibleColumns } = model;
6
7
  const apiRef = useGridApiRef();
7
8
  return rows && dataGridColumns ? (_jsx(DataGrid, { "data-testid": "spreadsheet-view-data-grid", apiRef: apiRef, checkboxSelection: true, disableRowSelectionOnClick: true, columnHeaderHeight: 35, columnVisibilityModel: visibleColumns, onFilterModelChange: () => {
8
- setTimeout(() => {
9
+ startTransition(() => {
9
10
  if (apiRef.current) {
10
11
  model.setVisibleRows(apiRef.current.state.visibleRowsLookup);
11
12
  }
@@ -1,4 +1,4 @@
1
- import type { SpreadsheetViewModel } from '../SpreadsheetViewModel';
1
+ import type { SpreadsheetViewModel } from '../SpreadsheetViewModel.ts';
2
2
  declare const SpreadsheetContainer: ({ model, }: {
3
3
  model: SpreadsheetViewModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Suspense, lazy } from 'react';
3
3
  import { observer } from 'mobx-react';
4
- import SpreadsheetViewActual from './SpreadsheetViewActual';
5
- const ImportWizard = lazy(() => import('./ImportWizard'));
6
- const SpreadsheetContainer = observer(function ({ model, }) {
7
- var _a;
8
- return !((_a = model.spreadsheet) === null || _a === void 0 ? void 0 : _a.initialized) ? (_jsx(Suspense, { fallback: null, children: _jsx(ImportWizard, { model: model.importWizard }) })) : (_jsx(SpreadsheetViewActual, { model: model }));
4
+ import SpreadsheetViewActual from "./SpreadsheetViewActual.js";
5
+ const ImportWizard = lazy(() => import("./ImportWizard.js"));
6
+ const SpreadsheetContainer = observer(function SpreadsheetContainer({ model, }) {
7
+ return !model.spreadsheet?.initialized ? (_jsx(Suspense, { fallback: null, children: _jsx(ImportWizard, { model: model.importWizard }) })) : (_jsx(SpreadsheetViewActual, { model: model }));
9
8
  });
10
9
  export default SpreadsheetContainer;
@@ -1,4 +1,4 @@
1
- import type { SpreadsheetViewModel } from '../SpreadsheetViewModel';
1
+ import type { SpreadsheetViewModel } from '../SpreadsheetViewModel.ts';
2
2
  declare const SpreadsheetViewActual: ({ model, }: {
3
3
  model: SpreadsheetViewModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;