@jbrowse/plugin-spreadsheet-view 2.17.0 → 3.0.0

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 (201) hide show
  1. package/dist/LaunchSpreadsheetView/index.d.ts +1 -1
  2. package/dist/LaunchSpreadsheetView/index.js +1 -3
  3. package/dist/SpreadsheetView/ImportWizard.d.ts +51 -0
  4. package/dist/SpreadsheetView/ImportWizard.js +250 -0
  5. package/dist/SpreadsheetView/SpreadsheetModel.d.ts +78 -0
  6. package/dist/SpreadsheetView/SpreadsheetModel.js +119 -0
  7. package/dist/SpreadsheetView/SpreadsheetViewModel.d.ts +299 -0
  8. package/dist/SpreadsheetView/SpreadsheetViewModel.js +101 -0
  9. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +1 -0
  10. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +5 -0
  11. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +1 -0
  12. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +5 -0
  13. package/dist/SpreadsheetView/components/FeatureMenu.d.ts +7 -0
  14. package/dist/SpreadsheetView/components/FeatureMenu.js +105 -0
  15. package/dist/SpreadsheetView/components/ImportWizard.d.ts +3 -4
  16. package/dist/SpreadsheetView/components/ImportWizard.js +25 -68
  17. package/dist/SpreadsheetView/components/LocationCell.d.ts +7 -0
  18. package/dist/SpreadsheetView/components/LocationCell.js +29 -0
  19. package/dist/SpreadsheetView/components/NumberEditor.d.ts +2 -3
  20. package/dist/SpreadsheetView/components/NumberEditor.js +4 -28
  21. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +5 -0
  22. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.js +23 -0
  23. package/dist/SpreadsheetView/components/SpreadsheetView.d.ts +4 -5
  24. package/dist/SpreadsheetView/components/SpreadsheetView.js +25 -63
  25. package/dist/SpreadsheetView/components/SpreadsheetViewActual.d.ts +5 -0
  26. package/dist/SpreadsheetView/components/SpreadsheetViewActual.js +34 -0
  27. package/dist/SpreadsheetView/components/TrackSelector.d.ts +6 -0
  28. package/dist/SpreadsheetView/components/TrackSelector.js +27 -0
  29. package/dist/SpreadsheetView/importAdapters/BedImport.d.ts +26 -17
  30. package/dist/SpreadsheetView/importAdapters/BedImport.js +53 -139
  31. package/dist/SpreadsheetView/importAdapters/BedpeImport.d.ts +36 -0
  32. package/dist/SpreadsheetView/importAdapters/BedpeImport.js +79 -0
  33. package/dist/SpreadsheetView/importAdapters/STARFusionImport.d.ts +25 -9
  34. package/dist/SpreadsheetView/importAdapters/STARFusionImport.js +27 -62
  35. package/dist/SpreadsheetView/importAdapters/VcfImport.d.ts +19 -12
  36. package/dist/SpreadsheetView/importAdapters/VcfImport.js +53 -98
  37. package/dist/SpreadsheetView/importAdapters/isNumber.d.ts +1 -0
  38. package/dist/SpreadsheetView/importAdapters/isNumber.js +14 -0
  39. package/dist/SpreadsheetView/importAdapters/util.d.ts +2 -0
  40. package/dist/SpreadsheetView/importAdapters/util.js +22 -0
  41. package/dist/SpreadsheetView/index.d.ts +2 -2
  42. package/dist/SpreadsheetView/index.js +19 -9
  43. package/dist/SpreadsheetView/util.d.ts +7 -0
  44. package/dist/SpreadsheetView/util.js +13 -0
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +1 -3
  47. package/esm/LaunchSpreadsheetView/index.d.ts +1 -1
  48. package/esm/LaunchSpreadsheetView/index.js +1 -3
  49. package/esm/SpreadsheetView/ImportWizard.d.ts +51 -0
  50. package/esm/SpreadsheetView/ImportWizard.js +214 -0
  51. package/esm/SpreadsheetView/SpreadsheetModel.d.ts +78 -0
  52. package/esm/SpreadsheetView/SpreadsheetModel.js +113 -0
  53. package/esm/SpreadsheetView/SpreadsheetViewModel.d.ts +299 -0
  54. package/esm/SpreadsheetView/SpreadsheetViewModel.js +95 -0
  55. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +1 -0
  56. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +1 -0
  57. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +1 -0
  58. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +1 -0
  59. package/esm/SpreadsheetView/components/FeatureMenu.d.ts +7 -0
  60. package/esm/SpreadsheetView/components/FeatureMenu.js +66 -0
  61. package/esm/SpreadsheetView/components/ImportWizard.d.ts +3 -4
  62. package/esm/SpreadsheetView/components/ImportWizard.js +26 -46
  63. package/esm/SpreadsheetView/components/LocationCell.d.ts +7 -0
  64. package/esm/SpreadsheetView/components/LocationCell.js +23 -0
  65. package/esm/SpreadsheetView/components/NumberEditor.d.ts +2 -3
  66. package/esm/SpreadsheetView/components/NumberEditor.js +4 -5
  67. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +5 -0
  68. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.js +21 -0
  69. package/esm/SpreadsheetView/components/SpreadsheetView.d.ts +4 -5
  70. package/esm/SpreadsheetView/components/SpreadsheetView.js +8 -56
  71. package/esm/SpreadsheetView/components/SpreadsheetViewActual.d.ts +5 -0
  72. package/esm/SpreadsheetView/components/SpreadsheetViewActual.js +29 -0
  73. package/esm/SpreadsheetView/components/TrackSelector.d.ts +6 -0
  74. package/esm/SpreadsheetView/components/TrackSelector.js +25 -0
  75. package/esm/SpreadsheetView/importAdapters/BedImport.d.ts +26 -17
  76. package/esm/SpreadsheetView/importAdapters/BedImport.js +53 -137
  77. package/esm/SpreadsheetView/importAdapters/BedpeImport.d.ts +36 -0
  78. package/esm/SpreadsheetView/importAdapters/BedpeImport.js +76 -0
  79. package/esm/SpreadsheetView/importAdapters/STARFusionImport.d.ts +25 -9
  80. package/esm/SpreadsheetView/importAdapters/STARFusionImport.js +27 -62
  81. package/esm/SpreadsheetView/importAdapters/VcfImport.d.ts +19 -12
  82. package/esm/SpreadsheetView/importAdapters/VcfImport.js +53 -97
  83. package/esm/SpreadsheetView/importAdapters/isNumber.d.ts +1 -0
  84. package/esm/SpreadsheetView/importAdapters/isNumber.js +11 -0
  85. package/esm/SpreadsheetView/importAdapters/util.d.ts +2 -0
  86. package/esm/SpreadsheetView/importAdapters/util.js +18 -0
  87. package/esm/SpreadsheetView/index.d.ts +2 -2
  88. package/esm/SpreadsheetView/index.js +2 -2
  89. package/esm/SpreadsheetView/util.d.ts +7 -0
  90. package/esm/SpreadsheetView/util.js +10 -0
  91. package/esm/index.d.ts +1 -1
  92. package/esm/index.js +1 -3
  93. package/package.json +7 -7
  94. package/dist/SpreadsheetView/components/CellData.d.ts +0 -9
  95. package/dist/SpreadsheetView/components/CellData.js +0 -14
  96. package/dist/SpreadsheetView/components/ColumnFilterControls.d.ts +0 -3
  97. package/dist/SpreadsheetView/components/ColumnFilterControls.js +0 -58
  98. package/dist/SpreadsheetView/components/ColumnMenu.d.ts +0 -16
  99. package/dist/SpreadsheetView/components/ColumnMenu.js +0 -140
  100. package/dist/SpreadsheetView/components/DataRow.d.ts +0 -12
  101. package/dist/SpreadsheetView/components/DataRow.js +0 -81
  102. package/dist/SpreadsheetView/components/DataTable.d.ts +0 -10
  103. package/dist/SpreadsheetView/components/DataTable.js +0 -42
  104. package/dist/SpreadsheetView/components/DataTableHeader.d.ts +0 -6
  105. package/dist/SpreadsheetView/components/DataTableHeader.js +0 -104
  106. package/dist/SpreadsheetView/components/GlobalFilterControls.d.ts +0 -5
  107. package/dist/SpreadsheetView/components/GlobalFilterControls.js +0 -68
  108. package/dist/SpreadsheetView/components/RowCountMessage.d.ts +0 -6
  109. package/dist/SpreadsheetView/components/RowCountMessage.js +0 -33
  110. package/dist/SpreadsheetView/components/RowMenu.d.ts +0 -9
  111. package/dist/SpreadsheetView/components/RowMenu.js +0 -39
  112. package/dist/SpreadsheetView/components/SortIndicator.d.ts +0 -6
  113. package/dist/SpreadsheetView/components/SortIndicator.js +0 -27
  114. package/dist/SpreadsheetView/components/Spreadsheet.d.ts +0 -11
  115. package/dist/SpreadsheetView/components/Spreadsheet.js +0 -25
  116. package/dist/SpreadsheetView/components/StatusBar.d.ts +0 -11
  117. package/dist/SpreadsheetView/components/StatusBar.js +0 -44
  118. package/dist/SpreadsheetView/importAdapters/ImportUtils.d.ts +0 -42
  119. package/dist/SpreadsheetView/importAdapters/ImportUtils.js +0 -123
  120. package/dist/SpreadsheetView/models/ColumnDataTypes/LocEnd.d.ts +0 -12
  121. package/dist/SpreadsheetView/models/ColumnDataTypes/LocEnd.js +0 -20
  122. package/dist/SpreadsheetView/models/ColumnDataTypes/LocRef.d.ts +0 -12
  123. package/dist/SpreadsheetView/models/ColumnDataTypes/LocRef.js +0 -20
  124. package/dist/SpreadsheetView/models/ColumnDataTypes/LocStart.d.ts +0 -12
  125. package/dist/SpreadsheetView/models/ColumnDataTypes/LocStart.js +0 -20
  126. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.d.ts +0 -13
  127. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.js +0 -183
  128. package/dist/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.d.ts +0 -19
  129. package/dist/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js +0 -23
  130. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.d.ts +0 -30
  131. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.js +0 -126
  132. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.d.ts +0 -28
  133. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.js +0 -129
  134. package/dist/SpreadsheetView/models/ColumnDataTypes/index.d.ts +0 -71
  135. package/dist/SpreadsheetView/models/ColumnDataTypes/index.js +0 -37
  136. package/dist/SpreadsheetView/models/FilterControls.d.ts +0 -26
  137. package/dist/SpreadsheetView/models/FilterControls.js +0 -85
  138. package/dist/SpreadsheetView/models/ImportWizard.d.ts +0 -31
  139. package/dist/SpreadsheetView/models/ImportWizard.js +0 -186
  140. package/dist/SpreadsheetView/models/Row.d.ts +0 -17
  141. package/dist/SpreadsheetView/models/Row.js +0 -43
  142. package/dist/SpreadsheetView/models/Spreadsheet.d.ts +0 -260
  143. package/dist/SpreadsheetView/models/Spreadsheet.js +0 -174
  144. package/dist/SpreadsheetView/models/SpreadsheetView.d.ts +0 -482
  145. package/dist/SpreadsheetView/models/SpreadsheetView.js +0 -199
  146. package/dist/SpreadsheetView/models/StaticRowSet.d.ts +0 -163
  147. package/dist/SpreadsheetView/models/StaticRowSet.js +0 -56
  148. package/esm/SpreadsheetView/components/CellData.d.ts +0 -9
  149. package/esm/SpreadsheetView/components/CellData.js +0 -9
  150. package/esm/SpreadsheetView/components/ColumnFilterControls.d.ts +0 -3
  151. package/esm/SpreadsheetView/components/ColumnFilterControls.js +0 -53
  152. package/esm/SpreadsheetView/components/ColumnMenu.d.ts +0 -16
  153. package/esm/SpreadsheetView/components/ColumnMenu.js +0 -135
  154. package/esm/SpreadsheetView/components/DataRow.d.ts +0 -12
  155. package/esm/SpreadsheetView/components/DataRow.js +0 -76
  156. package/esm/SpreadsheetView/components/DataTable.d.ts +0 -10
  157. package/esm/SpreadsheetView/components/DataTable.js +0 -37
  158. package/esm/SpreadsheetView/components/DataTableHeader.d.ts +0 -6
  159. package/esm/SpreadsheetView/components/DataTableHeader.js +0 -76
  160. package/esm/SpreadsheetView/components/GlobalFilterControls.d.ts +0 -5
  161. package/esm/SpreadsheetView/components/GlobalFilterControls.js +0 -40
  162. package/esm/SpreadsheetView/components/RowCountMessage.d.ts +0 -6
  163. package/esm/SpreadsheetView/components/RowCountMessage.js +0 -28
  164. package/esm/SpreadsheetView/components/RowMenu.d.ts +0 -9
  165. package/esm/SpreadsheetView/components/RowMenu.js +0 -34
  166. package/esm/SpreadsheetView/components/SortIndicator.d.ts +0 -6
  167. package/esm/SpreadsheetView/components/SortIndicator.js +0 -21
  168. package/esm/SpreadsheetView/components/Spreadsheet.d.ts +0 -11
  169. package/esm/SpreadsheetView/components/Spreadsheet.js +0 -20
  170. package/esm/SpreadsheetView/components/StatusBar.d.ts +0 -11
  171. package/esm/SpreadsheetView/components/StatusBar.js +0 -39
  172. package/esm/SpreadsheetView/importAdapters/ImportUtils.d.ts +0 -42
  173. package/esm/SpreadsheetView/importAdapters/ImportUtils.js +0 -95
  174. package/esm/SpreadsheetView/models/ColumnDataTypes/LocEnd.d.ts +0 -12
  175. package/esm/SpreadsheetView/models/ColumnDataTypes/LocEnd.js +0 -15
  176. package/esm/SpreadsheetView/models/ColumnDataTypes/LocRef.d.ts +0 -12
  177. package/esm/SpreadsheetView/models/ColumnDataTypes/LocRef.js +0 -15
  178. package/esm/SpreadsheetView/models/ColumnDataTypes/LocStart.d.ts +0 -12
  179. package/esm/SpreadsheetView/models/ColumnDataTypes/LocStart.js +0 -15
  180. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.d.ts +0 -13
  181. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.js +0 -178
  182. package/esm/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.d.ts +0 -19
  183. package/esm/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js +0 -20
  184. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.d.ts +0 -30
  185. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.js +0 -119
  186. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.d.ts +0 -28
  187. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.js +0 -122
  188. package/esm/SpreadsheetView/models/ColumnDataTypes/index.d.ts +0 -71
  189. package/esm/SpreadsheetView/models/ColumnDataTypes/index.js +0 -29
  190. package/esm/SpreadsheetView/models/FilterControls.d.ts +0 -26
  191. package/esm/SpreadsheetView/models/FilterControls.js +0 -83
  192. package/esm/SpreadsheetView/models/ImportWizard.d.ts +0 -31
  193. package/esm/SpreadsheetView/models/ImportWizard.js +0 -161
  194. package/esm/SpreadsheetView/models/Row.d.ts +0 -17
  195. package/esm/SpreadsheetView/models/Row.js +0 -41
  196. package/esm/SpreadsheetView/models/Spreadsheet.d.ts +0 -260
  197. package/esm/SpreadsheetView/models/Spreadsheet.js +0 -169
  198. package/esm/SpreadsheetView/models/SpreadsheetView.d.ts +0 -482
  199. package/esm/SpreadsheetView/models/SpreadsheetView.js +0 -194
  200. package/esm/SpreadsheetView/models/StaticRowSet.d.ts +0 -163
  201. package/esm/SpreadsheetView/models/StaticRowSet.js +0 -51
@@ -0,0 +1,299 @@
1
+ import type { SpreadsheetModel } from './SpreadsheetModel';
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>;
8
+ } & {
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>;
20
+ }, {
21
+ fileTypes: string[];
22
+ fileSource: any;
23
+ error: unknown;
24
+ loading: boolean;
25
+ } & {
26
+ readonly isReadyToOpen: any;
27
+ readonly fileName: any;
28
+ readonly requiresUnzip: any;
29
+ isValidRefName(refName: string, assemblyName?: string): boolean;
30
+ tracksForAssembly(selectedAssembly: string): {
31
+ track: {
32
+ [x: string]: any;
33
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
34
+ setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
35
+ [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>;
42
+ label: string;
43
+ assemblyNames: any;
44
+ type: string;
45
+ loc: import("@jbrowse/core/util").FileLocation;
46
+ }[];
47
+ } & {
48
+ setSelectedAssemblyName(s: string): void;
49
+ setFileSource(newSource: unknown): void;
50
+ setColumnNameLineNumber(newnumber: number): void;
51
+ setFileType(typeName: string): void;
52
+ setError(error: unknown): void;
53
+ setLoading(arg: boolean): void;
54
+ cancelButton(): void;
55
+ setCachedFileHandle(arg: import("@jbrowse/core/util").FileLocation): void;
56
+ } & {
57
+ import(assemblyName: string): Promise<void>;
58
+ } & {
59
+ 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<{
64
+ name: string;
65
+ }[], {
66
+ name: string;
67
+ }[], {
68
+ name: string;
69
+ }[]>;
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>>;
72
+ }, {
73
+ visibleRowFlags: Record<number, boolean> | undefined;
74
+ } & {
75
+ readonly rows: {
76
+ id: number;
77
+ feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
78
+ }[] | undefined;
79
+ readonly initialized: boolean | undefined;
80
+ } & {
81
+ readonly dataGridColumns: ({
82
+ field: string;
83
+ width: number;
84
+ type: "number" | undefined;
85
+ } | {
86
+ field: string;
87
+ 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";
92
+ type?: undefined;
93
+ valueGetter?: undefined;
94
+ valueFormatter?: undefined;
95
+ } | {
96
+ field: string;
97
+ type: "number";
98
+ width: number;
99
+ valueGetter: (_val: unknown, row: {
100
+ feature?: import("@jbrowse/core/util").SimpleFeatureSerialized;
101
+ }) => number | undefined;
102
+ valueFormatter: (arg: never) => string;
103
+ renderCell?: undefined;
104
+ })[] | undefined;
105
+ } & {
106
+ readonly visibleRows: {
107
+ id: number;
108
+ feature: import("@jbrowse/core/util").SimpleFeatureSerialized | undefined;
109
+ }[] | undefined;
110
+ } & {
111
+ setVisibleRows(arg?: Record<number, boolean>): void;
112
+ 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<{
116
+ name: string;
117
+ }[], {
118
+ name: string;
119
+ }[], {
120
+ name: string;
121
+ }[]>;
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>>;
125
+ }, {
126
+ width: number;
127
+ } & {
128
+ menuItems(): MenuItem[];
129
+ } & {
130
+ setDisplayName(name: string): void;
131
+ setWidth(newWidth: number): void;
132
+ setMinimized(flag: boolean): void;
133
+ } & {
134
+ width: number;
135
+ rowMenuItems: MenuItem[];
136
+ } & {
137
+ readonly assembly: any;
138
+ } & {
139
+ setRowMenuItems(newItems: MenuItem[]): void;
140
+ setWidth(newWidth: number): number;
141
+ setHeight(newHeight: number): number;
142
+ resizeHeight(distance: number): number;
143
+ resizeWidth(distance: number): number;
144
+ displaySpreadsheet(spreadsheet?: SpreadsheetModel): void;
145
+ } & {
146
+ menuItems(): {
147
+ label: string;
148
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
149
+ muiName: string;
150
+ };
151
+ onClick: () => void;
152
+ }[];
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
+ }> | {
275
+ spreadsheet: {
276
+ columns: {
277
+ name: string;
278
+ }[];
279
+ assemblyName: string | undefined;
280
+ visibleColumns: Record<string, boolean>;
281
+ };
282
+ id: string;
283
+ type: "SpreadsheetView";
284
+ height: number;
285
+ displayName: string | undefined;
286
+ minimized: boolean;
287
+ hideVerticalResizeHandle: boolean;
288
+ offsetPx: number;
289
+ 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>;
296
+ }>;
297
+ }>;
298
+ export type SpreadsheetViewStateModel = ReturnType<typeof stateModelFactory>;
299
+ export type SpreadsheetViewModel = Instance<SpreadsheetViewStateModel>;
@@ -0,0 +1,95 @@
1
+ import { BaseViewModel } from '@jbrowse/core/pluggableElementTypes/models';
2
+ import { getSession } from '@jbrowse/core/util';
3
+ 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';
7
+ const minHeight = 40;
8
+ const defaultHeight = 440;
9
+ function x() { }
10
+ export default function stateModelFactory() {
11
+ const ImportWizardModel = ImportWizard();
12
+ return types
13
+ .compose(BaseViewModel, types
14
+ .model('SpreadsheetView', {
15
+ type: types.literal('SpreadsheetView'),
16
+ offsetPx: 0,
17
+ height: types.optional(types.number, defaultHeight),
18
+ hideVerticalResizeHandle: false,
19
+ hideFilterControls: false,
20
+ importWizard: types.optional(ImportWizardModel, () => ImportWizardModel.create()),
21
+ spreadsheet: types.maybe(Spreadsheet()),
22
+ })
23
+ .volatile(() => ({
24
+ width: 400,
25
+ rowMenuItems: [],
26
+ }))
27
+ .views(self => ({
28
+ get assembly() {
29
+ var _a, _b;
30
+ const name = (_a = self.spreadsheet) === null || _a === void 0 ? void 0 : _a.assemblyName;
31
+ return name
32
+ ? (_b = getSession(self).assemblyManager.get(name)) === null || _b === void 0 ? void 0 : _b.configuration
33
+ : undefined;
34
+ },
35
+ }))
36
+ .actions(self => ({
37
+ setRowMenuItems(newItems) {
38
+ self.rowMenuItems = newItems;
39
+ },
40
+ setWidth(newWidth) {
41
+ self.width = newWidth;
42
+ return self.width;
43
+ },
44
+ setHeight(newHeight) {
45
+ self.height = Math.max(newHeight, minHeight);
46
+ return self.height;
47
+ },
48
+ resizeHeight(distance) {
49
+ const oldHeight = self.height;
50
+ const newHeight = this.setHeight(self.height + distance);
51
+ return newHeight - oldHeight;
52
+ },
53
+ resizeWidth(distance) {
54
+ const oldWidth = self.width;
55
+ const newWidth = this.setWidth(self.width + distance);
56
+ return newWidth - oldWidth;
57
+ },
58
+ displaySpreadsheet(spreadsheet) {
59
+ self.spreadsheet = cast(spreadsheet);
60
+ },
61
+ }))
62
+ .views(self => ({
63
+ menuItems() {
64
+ return [
65
+ {
66
+ label: 'Return to import form',
67
+ icon: FolderOpenIcon,
68
+ onClick: () => {
69
+ self.displaySpreadsheet(undefined);
70
+ },
71
+ },
72
+ ];
73
+ },
74
+ })))
75
+ .postProcessSnapshot(snap => {
76
+ const { importWizard, spreadsheet } = snap;
77
+ if (importWizard.cachedFileLocation && spreadsheet) {
78
+ const { rowSet, ...rest } = spreadsheet;
79
+ return {
80
+ ...snap,
81
+ spreadsheet: rest,
82
+ };
83
+ }
84
+ else if (spreadsheet) {
85
+ const { rowSet, ...rest } = spreadsheet;
86
+ return rowSet && JSON.stringify(rowSet).length > 1000000
87
+ ? {
88
+ ...snap,
89
+ spreadsheet: rest,
90
+ }
91
+ : snap;
92
+ }
93
+ return snap;
94
+ });
95
+ }
@@ -0,0 +1 @@
1
+ export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1 @@
1
+ export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1 @@
1
+ export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1 @@
1
+ export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1,7 @@
1
+ import type { AbstractSessionModel, SimpleFeatureSerialized } from '@jbrowse/core/util';
2
+ export default function FeatureMenu({ assemblyName, session, spreadsheetViewId, feature, }: {
3
+ spreadsheetViewId: string;
4
+ assemblyName: string;
5
+ session: AbstractSessionModel;
6
+ feature: SimpleFeatureSerialized;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { lazy } from 'react';
3
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
4
+ import { SimpleFeature, assembleLocStringFast } from '@jbrowse/core/util';
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'));
10
+ export default function FeatureMenu({ assemblyName, session, spreadsheetViewId, feature, }) {
11
+ return (_jsx(CascadingMenuButton, { menuItems: [
12
+ {
13
+ label: 'Open in linear genome view',
14
+ onClick: async () => {
15
+ try {
16
+ await locationLinkClick({
17
+ spreadsheetViewId,
18
+ assemblyName,
19
+ session,
20
+ locString: assembleLocStringFast(feature),
21
+ });
22
+ }
23
+ catch (e) {
24
+ console.error(e);
25
+ session.notifyError(`${e}`, e);
26
+ }
27
+ },
28
+ },
29
+ {
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');
52
+ session.queueDialog(handleClose => [
53
+ BreakendMultiLevelOptionDialog,
54
+ {
55
+ handleClose,
56
+ session,
57
+ stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview_multilevel`,
58
+ feature: new SimpleFeature(feature),
59
+ viewType,
60
+ assemblyName,
61
+ },
62
+ ]);
63
+ },
64
+ },
65
+ ], children: _jsx(ArrowDropDownIcon, {}) }));
66
+ }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { ImportWizardModel } from '../models/ImportWizard';
3
- declare const ImportWizard: ({ model }: {
1
+ import type { ImportWizardModel } from '../ImportWizard';
2
+ declare const ImportWizard: ({ model, }: {
4
3
  model: ImportWizardModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default ImportWizard;
@@ -1,62 +1,42 @@
1
- import React, { useState } from 'react';
2
- import { Button, Checkbox, FormControl, FormGroup, FormLabel, FormControlLabel, RadioGroup, Radio, } from '@mui/material';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { AssemblySelector, ErrorMessage, FileSelector, LoadingEllipses, } from '@jbrowse/core/ui';
4
+ import { getSession } from '@jbrowse/core/util';
5
+ import { Button, FormControl, FormControlLabel, FormGroup, FormLabel, Paper, Radio, RadioGroup, } from '@mui/material';
3
6
  import { observer } from 'mobx-react';
4
7
  import { getRoot } from 'mobx-state-tree';
5
- import { getSession } from '@jbrowse/core/util';
6
- import { FileSelector, ErrorMessage, AssemblySelector } from '@jbrowse/core/ui';
7
- import NumberEditor from './NumberEditor';
8
8
  import { makeStyles } from 'tss-react/mui';
9
+ import TrackSelector from './TrackSelector';
9
10
  const useStyles = makeStyles()({
10
11
  container: {
11
12
  margin: '0 auto',
12
- maxWidth: '25em',
13
+ maxWidth: '40em',
13
14
  padding: 20,
14
15
  },
15
16
  });
16
- const ImportWizard = observer(({ model }) => {
17
+ const ImportWizard = observer(function ({ model, }) {
17
18
  var _a;
18
19
  const session = getSession(model);
19
20
  const { classes } = useStyles();
20
21
  const { assemblyNames, assemblyManager } = session;
21
- const { fileType, canCancel, fileSource, isReadyToOpen, fileTypes, hasColumnNameLine, error, } = model;
22
- const [selected, setSelected] = useState(assemblyNames[0]);
23
- const err = ((_a = assemblyManager.get(selected)) === null || _a === void 0 ? void 0 : _a.error) || error;
24
- const showRowControls = fileType === 'CSV' || fileType === 'TSV';
22
+ const { loading, fileType, fileSource, isReadyToOpen, fileTypes, error } = model;
23
+ const [selectedAssembly, setSelectedAssembly] = useState(assemblyNames[0]);
24
+ const [selectorType, setSelectorType] = useState('custom');
25
+ const err = ((_a = assemblyManager.get(selectedAssembly)) === null || _a === void 0 ? void 0 : _a.error) || error;
25
26
  const rootModel = getRoot(model);
26
- return (React.createElement("div", { className: classes.container },
27
- err ? React.createElement(ErrorMessage, { error: err }) : null,
28
- React.createElement("div", null,
29
- React.createElement(FormControl, { component: "fieldset" },
30
- React.createElement(FormLabel, { component: "legend" }, "Tabular file"),
31
- React.createElement(FormGroup, null,
32
- React.createElement(FileSelector, { location: fileSource, setLocation: arg => {
33
- model.setFileSource(arg);
34
- }, rootModel: rootModel })))),
35
- React.createElement("div", null,
36
- React.createElement(FormControl, { component: "fieldset" },
37
- React.createElement(FormLabel, { component: "legend" }, "File Type"),
38
- React.createElement(RadioGroup, { row: true, "aria-label": "file type", name: "type", value: fileType }, fileTypes.map(fileTypeName => (React.createElement(FormControlLabel, { key: fileTypeName, checked: fileType === fileTypeName, value: fileTypeName, onClick: () => {
39
- model.setFileType(fileTypeName);
40
- }, control: React.createElement(Radio, null), label: fileTypeName })))))),
41
- showRowControls ? (React.createElement("div", null,
42
- React.createElement(FormControl, { component: "fieldset" },
43
- React.createElement(FormLabel, { component: "legend" }, "Column Names"),
44
- React.createElement(FormControlLabel, { disabled: !showRowControls, label: "has column names on line", labelPlacement: "end", control: React.createElement(Checkbox, { checked: hasColumnNameLine, onClick: () => {
45
- model.toggleHasColumnNameLine();
46
- } }) }),
47
- React.createElement(NumberEditor, { model: model, disabled: !hasColumnNameLine, modelPropName: "columnNameLineNumber", modelSetterName: "setColumnNameLineNumber" })))) : null,
48
- React.createElement("div", null,
49
- React.createElement(AssemblySelector, { session: session, selected: selected, onChange: val => {
50
- setSelected(val);
51
- } })),
52
- React.createElement("div", null,
53
- canCancel ? (React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
54
- model.cancelButton();
55
- }, disabled: !canCancel }, "Cancel")) : null,
56
- ' ',
57
- React.createElement(Button, { disabled: !isReadyToOpen || !!err, variant: "contained", "data-testid": "open_spreadsheet", color: "primary", onClick: () => {
58
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
59
- model.import(selected);
60
- } }, "Open"))));
27
+ 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
+ setSelectorType(event.target.value);
29
+ }, children: Object.entries({
30
+ custom: 'Open file from URL or local computer',
31
+ existing: 'Open from track',
32
+ }).map(([key, val]) => (_jsx(FormControlLabel, { checked: selectorType === key, value: key, control: _jsx(Radio, {}), label: val }, key))) }) }) }), selectorType === 'custom' ? (_jsx("div", { children: _jsx(FormControl, { component: "fieldset", children: _jsx(FormGroup, { children: _jsx(FileSelector, { inline: true, location: fileSource, rootModel: rootModel, setLocation: arg => {
33
+ model.setFileSource(arg);
34
+ } }) }) }) })) : selectedAssembly ? (_jsx(TrackSelector, { model: model, selectedAssembly: selectedAssembly })) : (_jsx("div", { children: "Select assembly" })), _jsx("div", { children: _jsxs(FormControl, { component: "fieldset", children: [_jsx(FormLabel, { component: "legend", children: "File Type" }), _jsx(RadioGroup, { row: true, "aria-label": "file type", name: "type", value: fileType, onChange: event => {
35
+ model.setFileType(event.target.value);
36
+ }, children: fileTypes.map(fileTypeName => (_jsx(FormControlLabel, { checked: fileType === fileTypeName, value: fileTypeName, control: _jsx(Radio, {}), label: fileTypeName }, fileTypeName))) })] }) }), _jsx("div", { children: _jsx(AssemblySelector, { session: session, selected: selectedAssembly, onChange: val => {
37
+ setSelectedAssembly(val);
38
+ } }) }), _jsx("div", { children: _jsx(Button, { disabled: !isReadyToOpen || !!err, variant: "contained", "data-testid": "open_spreadsheet", color: "primary", onClick: () => {
39
+ model.import(selectedAssembly);
40
+ }, children: "Open" }) })] })] }));
61
41
  });
62
42
  export default ImportWizard;
@@ -0,0 +1,7 @@
1
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
2
+ export default function LocationCell({ model, feature, }: {
3
+ model: {
4
+ assemblyName?: string;
5
+ };
6
+ feature: SimpleFeatureSerialized;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { assembleLocString, getSession } from '@jbrowse/core/util';
3
+ import { Link } from '@mui/material';
4
+ import { getParent } from 'mobx-state-tree';
5
+ import { locationLinkClick } from '../util';
6
+ import FeatureMenu from './FeatureMenu';
7
+ export default function LocationCell({ model, feature, }) {
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
+ try {
10
+ event.preventDefault();
11
+ await locationLinkClick({
12
+ spreadsheetViewId: getParent(model).id,
13
+ session: getSession(model),
14
+ locString: assembleLocString(feature),
15
+ assemblyName: model.assemblyName,
16
+ });
17
+ }
18
+ catch (e) {
19
+ console.error(e);
20
+ getSession(model).notifyError(`${e}`, e);
21
+ }
22
+ }, children: assembleLocString(feature) })] }));
23
+ }
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
- import { ImportWizardModel } from '../models/ImportWizard';
1
+ import type { ImportWizardModel } from '../ImportWizard';
3
2
  declare const NumberEditor: ({ model, disabled, modelPropName, modelSetterName, }: {
4
3
  model: ImportWizardModel;
5
4
  disabled: boolean;
6
5
  modelPropName: string;
7
6
  modelSetterName: string;
8
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export default NumberEditor;