@jbrowse/plugin-spreadsheet-view 2.6.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 (279) hide show
  1. package/LICENSE +201 -0
  2. package/dist/LaunchSpreadsheetView/index.d.ts +3 -0
  3. package/dist/LaunchSpreadsheetView/index.js +26 -0
  4. package/dist/LaunchSpreadsheetView/index.js.map +1 -0
  5. package/dist/SpreadsheetView/components/CellData.d.ts +9 -0
  6. package/dist/SpreadsheetView/components/CellData.js +16 -0
  7. package/dist/SpreadsheetView/components/CellData.js.map +1 -0
  8. package/dist/SpreadsheetView/components/ColumnFilterControls.d.ts +3 -0
  9. package/dist/SpreadsheetView/components/ColumnFilterControls.js +62 -0
  10. package/dist/SpreadsheetView/components/ColumnFilterControls.js.map +1 -0
  11. package/dist/SpreadsheetView/components/ColumnMenu.d.ts +16 -0
  12. package/dist/SpreadsheetView/components/ColumnMenu.js +127 -0
  13. package/dist/SpreadsheetView/components/ColumnMenu.js.map +1 -0
  14. package/dist/SpreadsheetView/components/DataRow.d.ts +12 -0
  15. package/dist/SpreadsheetView/components/DataRow.js +82 -0
  16. package/dist/SpreadsheetView/components/DataRow.js.map +1 -0
  17. package/dist/SpreadsheetView/components/DataTable.d.ts +10 -0
  18. package/dist/SpreadsheetView/components/DataTable.js +43 -0
  19. package/dist/SpreadsheetView/components/DataTable.js.map +1 -0
  20. package/dist/SpreadsheetView/components/DataTableHeader.d.ts +6 -0
  21. package/dist/SpreadsheetView/components/DataTableHeader.js +102 -0
  22. package/dist/SpreadsheetView/components/DataTableHeader.js.map +1 -0
  23. package/dist/SpreadsheetView/components/GlobalFilterControls.d.ts +5 -0
  24. package/dist/SpreadsheetView/components/GlobalFilterControls.js +64 -0
  25. package/dist/SpreadsheetView/components/GlobalFilterControls.js.map +1 -0
  26. package/dist/SpreadsheetView/components/ImportWizard.d.ts +6 -0
  27. package/dist/SpreadsheetView/components/ImportWizard.js +81 -0
  28. package/dist/SpreadsheetView/components/ImportWizard.js.map +1 -0
  29. package/dist/SpreadsheetView/components/NumberEditor.d.ts +9 -0
  30. package/dist/SpreadsheetView/components/NumberEditor.js +54 -0
  31. package/dist/SpreadsheetView/components/NumberEditor.js.map +1 -0
  32. package/dist/SpreadsheetView/components/RowCountMessage.d.ts +8 -0
  33. package/dist/SpreadsheetView/components/RowCountMessage.js +33 -0
  34. package/dist/SpreadsheetView/components/RowCountMessage.js.map +1 -0
  35. package/dist/SpreadsheetView/components/RowMenu.d.ts +9 -0
  36. package/dist/SpreadsheetView/components/RowMenu.js +39 -0
  37. package/dist/SpreadsheetView/components/RowMenu.js.map +1 -0
  38. package/dist/SpreadsheetView/components/SortIndicator.d.ts +6 -0
  39. package/dist/SpreadsheetView/components/SortIndicator.js +28 -0
  40. package/dist/SpreadsheetView/components/SortIndicator.js.map +1 -0
  41. package/dist/SpreadsheetView/components/Spreadsheet.d.ts +11 -0
  42. package/dist/SpreadsheetView/components/Spreadsheet.js +25 -0
  43. package/dist/SpreadsheetView/components/Spreadsheet.js.map +1 -0
  44. package/dist/SpreadsheetView/components/SpreadsheetView.d.ts +6 -0
  45. package/dist/SpreadsheetView/components/SpreadsheetView.js +86 -0
  46. package/dist/SpreadsheetView/components/SpreadsheetView.js.map +1 -0
  47. package/dist/SpreadsheetView/components/StatusBar.d.ts +11 -0
  48. package/dist/SpreadsheetView/components/StatusBar.js +42 -0
  49. package/dist/SpreadsheetView/components/StatusBar.js.map +1 -0
  50. package/dist/SpreadsheetView/components/util.d.ts +1 -0
  51. package/dist/SpreadsheetView/components/util.js +19 -0
  52. package/dist/SpreadsheetView/components/util.js.map +1 -0
  53. package/dist/SpreadsheetView/importAdapters/BedImport.d.ts +17 -0
  54. package/dist/SpreadsheetView/importAdapters/BedImport.js +147 -0
  55. package/dist/SpreadsheetView/importAdapters/BedImport.js.map +1 -0
  56. package/dist/SpreadsheetView/importAdapters/ImportUtils.d.ts +42 -0
  57. package/dist/SpreadsheetView/importAdapters/ImportUtils.js +124 -0
  58. package/dist/SpreadsheetView/importAdapters/ImportUtils.js.map +1 -0
  59. package/dist/SpreadsheetView/importAdapters/STARFusionImport.d.ts +9 -0
  60. package/dist/SpreadsheetView/importAdapters/STARFusionImport.js +73 -0
  61. package/dist/SpreadsheetView/importAdapters/STARFusionImport.js.map +1 -0
  62. package/dist/SpreadsheetView/importAdapters/VcfImport.d.ts +13 -0
  63. package/dist/SpreadsheetView/importAdapters/VcfImport.js +111 -0
  64. package/dist/SpreadsheetView/importAdapters/VcfImport.js.map +1 -0
  65. package/dist/SpreadsheetView/index.d.ts +4 -0
  66. package/dist/SpreadsheetView/index.js +42 -0
  67. package/dist/SpreadsheetView/index.js.map +1 -0
  68. package/dist/SpreadsheetView/models/ColumnDataTypes/LocEnd.d.ts +13 -0
  69. package/dist/SpreadsheetView/models/ColumnDataTypes/LocEnd.js +21 -0
  70. package/dist/SpreadsheetView/models/ColumnDataTypes/LocEnd.js.map +1 -0
  71. package/dist/SpreadsheetView/models/ColumnDataTypes/LocRef.d.ts +13 -0
  72. package/dist/SpreadsheetView/models/ColumnDataTypes/LocRef.js +21 -0
  73. package/dist/SpreadsheetView/models/ColumnDataTypes/LocRef.js.map +1 -0
  74. package/dist/SpreadsheetView/models/ColumnDataTypes/LocStart.d.ts +13 -0
  75. package/dist/SpreadsheetView/models/ColumnDataTypes/LocStart.js +21 -0
  76. package/dist/SpreadsheetView/models/ColumnDataTypes/LocStart.js.map +1 -0
  77. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.d.ts +13 -0
  78. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.js +190 -0
  79. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.js.map +1 -0
  80. package/dist/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.d.ts +19 -0
  81. package/dist/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js +24 -0
  82. package/dist/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js.map +1 -0
  83. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.d.ts +30 -0
  84. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.js +130 -0
  85. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.js.map +1 -0
  86. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.d.ts +28 -0
  87. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.js +131 -0
  88. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.js.map +1 -0
  89. package/dist/SpreadsheetView/models/ColumnDataTypes/index.d.ts +72 -0
  90. package/dist/SpreadsheetView/models/ColumnDataTypes/index.js +38 -0
  91. package/dist/SpreadsheetView/models/ColumnDataTypes/index.js.map +1 -0
  92. package/dist/SpreadsheetView/models/FilterControls.d.ts +26 -0
  93. package/dist/SpreadsheetView/models/FilterControls.js +88 -0
  94. package/dist/SpreadsheetView/models/FilterControls.js.map +1 -0
  95. package/dist/SpreadsheetView/models/ImportWizard.d.ts +31 -0
  96. package/dist/SpreadsheetView/models/ImportWizard.js +193 -0
  97. package/dist/SpreadsheetView/models/ImportWizard.js.map +1 -0
  98. package/dist/SpreadsheetView/models/Row.d.ts +17 -0
  99. package/dist/SpreadsheetView/models/Row.js +46 -0
  100. package/dist/SpreadsheetView/models/Row.js.map +1 -0
  101. package/dist/SpreadsheetView/models/Spreadsheet.d.ts +256 -0
  102. package/dist/SpreadsheetView/models/Spreadsheet.js +176 -0
  103. package/dist/SpreadsheetView/models/Spreadsheet.js.map +1 -0
  104. package/dist/SpreadsheetView/models/SpreadsheetView.d.ts +485 -0
  105. package/dist/SpreadsheetView/models/SpreadsheetView.js +204 -0
  106. package/dist/SpreadsheetView/models/SpreadsheetView.js.map +1 -0
  107. package/dist/SpreadsheetView/models/StaticRowSet.d.ts +163 -0
  108. package/dist/SpreadsheetView/models/StaticRowSet.js +60 -0
  109. package/dist/SpreadsheetView/models/StaticRowSet.js.map +1 -0
  110. package/dist/index.d.ts +8 -0
  111. package/dist/index.js +36 -0
  112. package/dist/index.js.map +1 -0
  113. package/esm/LaunchSpreadsheetView/index.d.ts +3 -0
  114. package/esm/LaunchSpreadsheetView/index.js +24 -0
  115. package/esm/LaunchSpreadsheetView/index.js.map +1 -0
  116. package/esm/SpreadsheetView/components/CellData.d.ts +9 -0
  117. package/esm/SpreadsheetView/components/CellData.js +11 -0
  118. package/esm/SpreadsheetView/components/CellData.js.map +1 -0
  119. package/esm/SpreadsheetView/components/ColumnFilterControls.d.ts +3 -0
  120. package/esm/SpreadsheetView/components/ColumnFilterControls.js +57 -0
  121. package/esm/SpreadsheetView/components/ColumnFilterControls.js.map +1 -0
  122. package/esm/SpreadsheetView/components/ColumnMenu.d.ts +16 -0
  123. package/esm/SpreadsheetView/components/ColumnMenu.js +122 -0
  124. package/esm/SpreadsheetView/components/ColumnMenu.js.map +1 -0
  125. package/esm/SpreadsheetView/components/DataRow.d.ts +12 -0
  126. package/esm/SpreadsheetView/components/DataRow.js +77 -0
  127. package/esm/SpreadsheetView/components/DataRow.js.map +1 -0
  128. package/esm/SpreadsheetView/components/DataTable.d.ts +10 -0
  129. package/esm/SpreadsheetView/components/DataTable.js +38 -0
  130. package/esm/SpreadsheetView/components/DataTable.js.map +1 -0
  131. package/esm/SpreadsheetView/components/DataTableHeader.d.ts +6 -0
  132. package/esm/SpreadsheetView/components/DataTableHeader.js +74 -0
  133. package/esm/SpreadsheetView/components/DataTableHeader.js.map +1 -0
  134. package/esm/SpreadsheetView/components/GlobalFilterControls.d.ts +5 -0
  135. package/esm/SpreadsheetView/components/GlobalFilterControls.js +36 -0
  136. package/esm/SpreadsheetView/components/GlobalFilterControls.js.map +1 -0
  137. package/esm/SpreadsheetView/components/ImportWizard.d.ts +6 -0
  138. package/esm/SpreadsheetView/components/ImportWizard.js +53 -0
  139. package/esm/SpreadsheetView/components/ImportWizard.js.map +1 -0
  140. package/esm/SpreadsheetView/components/NumberEditor.d.ts +9 -0
  141. package/esm/SpreadsheetView/components/NumberEditor.js +29 -0
  142. package/esm/SpreadsheetView/components/NumberEditor.js.map +1 -0
  143. package/esm/SpreadsheetView/components/RowCountMessage.d.ts +8 -0
  144. package/esm/SpreadsheetView/components/RowCountMessage.js +28 -0
  145. package/esm/SpreadsheetView/components/RowCountMessage.js.map +1 -0
  146. package/esm/SpreadsheetView/components/RowMenu.d.ts +9 -0
  147. package/esm/SpreadsheetView/components/RowMenu.js +34 -0
  148. package/esm/SpreadsheetView/components/RowMenu.js.map +1 -0
  149. package/esm/SpreadsheetView/components/SortIndicator.d.ts +6 -0
  150. package/esm/SpreadsheetView/components/SortIndicator.js +22 -0
  151. package/esm/SpreadsheetView/components/SortIndicator.js.map +1 -0
  152. package/esm/SpreadsheetView/components/Spreadsheet.d.ts +11 -0
  153. package/esm/SpreadsheetView/components/Spreadsheet.js +20 -0
  154. package/esm/SpreadsheetView/components/Spreadsheet.js.map +1 -0
  155. package/esm/SpreadsheetView/components/SpreadsheetView.d.ts +6 -0
  156. package/esm/SpreadsheetView/components/SpreadsheetView.js +58 -0
  157. package/esm/SpreadsheetView/components/SpreadsheetView.js.map +1 -0
  158. package/esm/SpreadsheetView/components/StatusBar.d.ts +11 -0
  159. package/esm/SpreadsheetView/components/StatusBar.js +37 -0
  160. package/esm/SpreadsheetView/components/StatusBar.js.map +1 -0
  161. package/esm/SpreadsheetView/components/util.d.ts +1 -0
  162. package/esm/SpreadsheetView/components/util.js +15 -0
  163. package/esm/SpreadsheetView/components/util.js.map +1 -0
  164. package/esm/SpreadsheetView/importAdapters/BedImport.d.ts +17 -0
  165. package/esm/SpreadsheetView/importAdapters/BedImport.js +141 -0
  166. package/esm/SpreadsheetView/importAdapters/BedImport.js.map +1 -0
  167. package/esm/SpreadsheetView/importAdapters/ImportUtils.d.ts +42 -0
  168. package/esm/SpreadsheetView/importAdapters/ImportUtils.js +95 -0
  169. package/esm/SpreadsheetView/importAdapters/ImportUtils.js.map +1 -0
  170. package/esm/SpreadsheetView/importAdapters/STARFusionImport.d.ts +9 -0
  171. package/esm/SpreadsheetView/importAdapters/STARFusionImport.js +69 -0
  172. package/esm/SpreadsheetView/importAdapters/STARFusionImport.js.map +1 -0
  173. package/esm/SpreadsheetView/importAdapters/VcfImport.d.ts +13 -0
  174. package/esm/SpreadsheetView/importAdapters/VcfImport.js +103 -0
  175. package/esm/SpreadsheetView/importAdapters/VcfImport.js.map +1 -0
  176. package/esm/SpreadsheetView/index.d.ts +4 -0
  177. package/esm/SpreadsheetView/index.js +14 -0
  178. package/esm/SpreadsheetView/index.js.map +1 -0
  179. package/esm/SpreadsheetView/models/ColumnDataTypes/LocEnd.d.ts +13 -0
  180. package/esm/SpreadsheetView/models/ColumnDataTypes/LocEnd.js +16 -0
  181. package/esm/SpreadsheetView/models/ColumnDataTypes/LocEnd.js.map +1 -0
  182. package/esm/SpreadsheetView/models/ColumnDataTypes/LocRef.d.ts +13 -0
  183. package/esm/SpreadsheetView/models/ColumnDataTypes/LocRef.js +16 -0
  184. package/esm/SpreadsheetView/models/ColumnDataTypes/LocRef.js.map +1 -0
  185. package/esm/SpreadsheetView/models/ColumnDataTypes/LocStart.d.ts +13 -0
  186. package/esm/SpreadsheetView/models/ColumnDataTypes/LocStart.js +16 -0
  187. package/esm/SpreadsheetView/models/ColumnDataTypes/LocStart.js.map +1 -0
  188. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.d.ts +13 -0
  189. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.js +185 -0
  190. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.js.map +1 -0
  191. package/esm/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.d.ts +19 -0
  192. package/esm/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js +21 -0
  193. package/esm/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.js.map +1 -0
  194. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.d.ts +30 -0
  195. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.js +123 -0
  196. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.js.map +1 -0
  197. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.d.ts +28 -0
  198. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.js +124 -0
  199. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.js.map +1 -0
  200. package/esm/SpreadsheetView/models/ColumnDataTypes/index.d.ts +72 -0
  201. package/esm/SpreadsheetView/models/ColumnDataTypes/index.js +30 -0
  202. package/esm/SpreadsheetView/models/ColumnDataTypes/index.js.map +1 -0
  203. package/esm/SpreadsheetView/models/FilterControls.d.ts +26 -0
  204. package/esm/SpreadsheetView/models/FilterControls.js +86 -0
  205. package/esm/SpreadsheetView/models/FilterControls.js.map +1 -0
  206. package/esm/SpreadsheetView/models/ImportWizard.d.ts +31 -0
  207. package/esm/SpreadsheetView/models/ImportWizard.js +168 -0
  208. package/esm/SpreadsheetView/models/ImportWizard.js.map +1 -0
  209. package/esm/SpreadsheetView/models/Row.d.ts +17 -0
  210. package/esm/SpreadsheetView/models/Row.js +44 -0
  211. package/esm/SpreadsheetView/models/Row.js.map +1 -0
  212. package/esm/SpreadsheetView/models/Spreadsheet.d.ts +256 -0
  213. package/esm/SpreadsheetView/models/Spreadsheet.js +171 -0
  214. package/esm/SpreadsheetView/models/Spreadsheet.js.map +1 -0
  215. package/esm/SpreadsheetView/models/SpreadsheetView.d.ts +485 -0
  216. package/esm/SpreadsheetView/models/SpreadsheetView.js +199 -0
  217. package/esm/SpreadsheetView/models/SpreadsheetView.js.map +1 -0
  218. package/esm/SpreadsheetView/models/StaticRowSet.d.ts +163 -0
  219. package/esm/SpreadsheetView/models/StaticRowSet.js +55 -0
  220. package/esm/SpreadsheetView/models/StaticRowSet.js.map +1 -0
  221. package/esm/index.d.ts +8 -0
  222. package/esm/index.js +30 -0
  223. package/esm/index.js.map +1 -0
  224. package/package.json +65 -0
  225. package/src/LaunchSpreadsheetView/index.ts +40 -0
  226. package/src/SpreadsheetView/components/CellData.tsx +35 -0
  227. package/src/SpreadsheetView/components/ColumnFilterControls.tsx +84 -0
  228. package/src/SpreadsheetView/components/ColumnMenu.tsx +166 -0
  229. package/src/SpreadsheetView/components/DataRow.tsx +126 -0
  230. package/src/SpreadsheetView/components/DataTable.tsx +91 -0
  231. package/src/SpreadsheetView/components/DataTableHeader.tsx +122 -0
  232. package/src/SpreadsheetView/components/GlobalFilterControls.tsx +70 -0
  233. package/src/SpreadsheetView/components/ImportWizard.tsx +139 -0
  234. package/src/SpreadsheetView/components/NumberEditor.tsx +50 -0
  235. package/src/SpreadsheetView/components/RowCountMessage.tsx +44 -0
  236. package/src/SpreadsheetView/components/RowMenu.tsx +65 -0
  237. package/src/SpreadsheetView/components/SortIndicator.tsx +36 -0
  238. package/src/SpreadsheetView/components/Spreadsheet.test.ts +17 -0
  239. package/src/SpreadsheetView/components/Spreadsheet.tsx +46 -0
  240. package/src/SpreadsheetView/components/SpreadsheetView.tsx +119 -0
  241. package/src/SpreadsheetView/components/StatusBar.tsx +75 -0
  242. package/src/SpreadsheetView/components/util.ts +16 -0
  243. package/src/SpreadsheetView/importAdapters/BedImport.test.ts +14 -0
  244. package/src/SpreadsheetView/importAdapters/BedImport.ts +155 -0
  245. package/src/SpreadsheetView/importAdapters/ImportUtils.test.ts +25 -0
  246. package/src/SpreadsheetView/importAdapters/ImportUtils.ts +152 -0
  247. package/src/SpreadsheetView/importAdapters/STARFusionImport.test.ts +27 -0
  248. package/src/SpreadsheetView/importAdapters/STARFusionImport.ts +74 -0
  249. package/src/SpreadsheetView/importAdapters/VcfImport.test.ts +42 -0
  250. package/src/SpreadsheetView/importAdapters/VcfImport.ts +118 -0
  251. package/src/SpreadsheetView/importAdapters/__snapshots__/ImportUtils.test.ts.snap +6555 -0
  252. package/src/SpreadsheetView/importAdapters/__snapshots__/STARFusionImport.test.ts.snap +2354 -0
  253. package/src/SpreadsheetView/importAdapters/__snapshots__/VcfImport.test.ts.snap +16329 -0
  254. package/src/SpreadsheetView/index.ts +20 -0
  255. package/src/SpreadsheetView/models/ColumnDataTypes/LocEnd.ts +21 -0
  256. package/src/SpreadsheetView/models/ColumnDataTypes/LocRef.ts +21 -0
  257. package/src/SpreadsheetView/models/ColumnDataTypes/LocStart.ts +21 -0
  258. package/src/SpreadsheetView/models/ColumnDataTypes/LocString.tsx +328 -0
  259. package/src/SpreadsheetView/models/ColumnDataTypes/MakeSpreadsheetColumnType.tsx +38 -0
  260. package/src/SpreadsheetView/models/ColumnDataTypes/Number.tsx +177 -0
  261. package/src/SpreadsheetView/models/ColumnDataTypes/Text.tsx +173 -0
  262. package/src/SpreadsheetView/models/ColumnDataTypes/index.ts +34 -0
  263. package/src/SpreadsheetView/models/FilterControls.ts +95 -0
  264. package/src/SpreadsheetView/models/ImportWizard.ts +203 -0
  265. package/src/SpreadsheetView/models/Row.ts +46 -0
  266. package/src/SpreadsheetView/models/Spreadsheet.ts +209 -0
  267. package/src/SpreadsheetView/models/SpreadsheetView.test.ts +8 -0
  268. package/src/SpreadsheetView/models/SpreadsheetView.ts +243 -0
  269. package/src/SpreadsheetView/models/StaticRowSet.ts +65 -0
  270. package/src/SpreadsheetView/test_data/1801160099-N32519_26611_S51_56704.hard-filtered.vcf +174 -0
  271. package/src/SpreadsheetView/test_data/breast_cancer.subset.csv +50 -0
  272. package/src/SpreadsheetView/test_data/diabetes_target.csv.gz +0 -0
  273. package/src/SpreadsheetView/test_data/foo.bed +11 -0
  274. package/src/SpreadsheetView/test_data/location_test.csv +3 -0
  275. package/src/SpreadsheetView/test_data/location_test_2.csv +3 -0
  276. package/src/SpreadsheetView/test_data/reads_lr_skbr3.fa_ngmlr-0.2.3_mapped.bam.sniffles1kb_auto_l8_s5_noalt.bedpe +1405 -0
  277. package/src/SpreadsheetView/test_data/starfusion_example.fusion_predictions.tsv +25 -0
  278. package/src/SpreadsheetView/test_data/volvox.sort.bed +109 -0
  279. package/src/index.ts +38 -0
@@ -0,0 +1,123 @@
1
+ import React from 'react';
2
+ import { types } from 'mobx-state-tree';
3
+ import { observer } from 'mobx-react';
4
+ import { MenuItem, Select, TextField } from '@mui/material';
5
+ import { makeStyles } from 'tss-react/mui';
6
+ import MakeSpreadsheetColumnType from './MakeSpreadsheetColumnType';
7
+ const OPERATIONS = [
8
+ 'equals',
9
+ 'greater than',
10
+ 'less than',
11
+ 'between',
12
+ 'not between',
13
+ ];
14
+ // NOTE: assembly names, if present, are ignored in all of these predicates
15
+ const OPERATION_PREDICATES = {
16
+ equals: (numberInCell, firstNumber) => {
17
+ return numberInCell === firstNumber;
18
+ },
19
+ 'greater than': (numberInCell, firstNumber) => {
20
+ return numberInCell > firstNumber;
21
+ },
22
+ 'less than': (numberInCell, firstNumber) => {
23
+ return numberInCell < firstNumber;
24
+ },
25
+ between: (numberInCell, firstNumber, secondNumber) => {
26
+ return (numberInCell > firstNumber &&
27
+ secondNumber !== undefined &&
28
+ numberInCell < secondNumber);
29
+ },
30
+ };
31
+ OPERATION_PREDICATES['not between'] = (numberInCell, firstNumber, secondNumber) => {
32
+ return !OPERATION_PREDICATES.between(numberInCell, firstNumber, secondNumber);
33
+ };
34
+ const useStyles = makeStyles()({
35
+ textFilterControlAdornment: { marginRight: '-18px' },
36
+ textFilterControl: {
37
+ '& .MuiInput-formControl': {
38
+ marginTop: 8,
39
+ },
40
+ '& .MuiInputLabel-formControl': {
41
+ top: '-7px',
42
+ '&.MuiInputLabel-shrink': {
43
+ top: '-3px',
44
+ },
45
+ },
46
+ },
47
+ });
48
+ // React component for the column filter control
49
+ const FilterReactComponent = observer(
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ ({ filterModel }) => {
52
+ const { classes } = useStyles();
53
+ const operationChoices = OPERATIONS;
54
+ return (React.createElement(React.Fragment, null,
55
+ React.createElement(Select, { value: filterModel.operation, onChange: e => filterModel.setOperation(String(e.target.value)) }, operationChoices.map(name => (React.createElement(MenuItem, { key: name, value: name }, name)))),
56
+ ' ',
57
+ React.createElement(TextField, { label: "number", placeholder: "123", type: "number", error: filterModel.firstNumberIsInvalid, defaultValue: filterModel.firstNumber, onChange: evt => {
58
+ filterModel.setFirstNumber(parseFloat(evt.target.value));
59
+ }, className: classes.textFilterControl }),
60
+ filterModel.operation !== 'between' &&
61
+ filterModel.operation !== 'not between' ? null : (React.createElement(React.Fragment, null,
62
+ ' and ',
63
+ React.createElement(TextField, { label: "number", placeholder: "456", type: "number", error: filterModel.secondNumberIsInvalid, defaultValue: filterModel.secondNumber, onChange: evt => filterModel.setSecondNumber(parseFloat(evt.target.value)), className: classes.textFilterControl })))));
64
+ });
65
+ // MST model for the column filter control
66
+ const FilterModelType = types
67
+ .model('ColumnNumberFilter', {
68
+ type: types.literal('Number'),
69
+ columnNumber: types.integer,
70
+ firstNumber: types.maybe(types.number),
71
+ secondNumber: types.maybe(types.number),
72
+ operation: types.optional(types.enumeration(OPERATIONS), OPERATIONS[0]),
73
+ })
74
+ .views(self => ({
75
+ // returns a function that tests the given row
76
+ get predicate() {
77
+ if (typeof self.firstNumber !== 'number') {
78
+ return function alwaysTrue() {
79
+ return true;
80
+ };
81
+ }
82
+ const { firstNumber, secondNumber, operation, columnNumber } = self; // avoid closing over self
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
+ return function stringPredicate(_sheet, row) {
85
+ const { cellsWithDerived } = row;
86
+ const cell = cellsWithDerived[columnNumber];
87
+ if (!cell || !cell.text) {
88
+ return false;
89
+ }
90
+ const parsedCellText = parseFloat(cell.text);
91
+ if (typeof parsedCellText !== 'number') {
92
+ return false;
93
+ }
94
+ const predicate = OPERATION_PREDICATES[operation];
95
+ if (!predicate) {
96
+ throw new Error(`"${operation}" not implemented in location filter`);
97
+ }
98
+ return predicate(parsedCellText, firstNumber, secondNumber);
99
+ };
100
+ },
101
+ }))
102
+ .actions(self => ({
103
+ setFirstNumber(n) {
104
+ self.firstNumber =
105
+ Number.isNaN(n) || typeof n !== 'number' ? undefined : n;
106
+ },
107
+ setSecondNumber(n) {
108
+ self.secondNumber =
109
+ Number.isNaN(n) || typeof n !== 'number' ? undefined : n;
110
+ },
111
+ setOperation(op) {
112
+ self.operation = op;
113
+ },
114
+ }))
115
+ .volatile(() => ({ ReactComponent: FilterReactComponent }));
116
+ const NumberColumn = MakeSpreadsheetColumnType('Number', {
117
+ compare(cellA, cellB) {
118
+ return parseFloat(cellA.text) - parseFloat(cellB.text);
119
+ },
120
+ FilterModelType,
121
+ });
122
+ export { NumberColumn, FilterModelType };
123
+ //# sourceMappingURL=Number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Number.js","sourceRoot":"","sources":["../../../../src/SpreadsheetView/models/ColumnDataTypes/Number.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ declare const ColumnTextFilter: import("mobx-state-tree").IModelType<{
3
+ type: import("mobx-state-tree").ISimpleType<"Text">;
4
+ columnNumber: import("mobx-state-tree").ISimpleType<number>;
5
+ stringToFind: import("mobx-state-tree").IType<string | undefined, string, string>;
6
+ operation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
7
+ }, {
8
+ readonly predicate: (_sheet: any, row: any) => boolean;
9
+ } & {
10
+ setString(s: string): void;
11
+ setOperation(op: string): void;
12
+ } & {
13
+ ReactComponent: ({ filterModel }: {
14
+ filterModel: any;
15
+ }) => React.JSX.Element;
16
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
17
+ declare const TextColumnType: import("mobx-state-tree").IModelType<{
18
+ type: import("mobx-state-tree").ISimpleType<string>;
19
+ }, {
20
+ DataCellReactComponent: React.FC<any> | null;
21
+ FilterModelType: any;
22
+ displayName: string;
23
+ categoryName: string | undefined;
24
+ } & {
25
+ compare: any;
26
+ readonly hasFilter: boolean;
27
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
28
+ export { TextColumnType as TextColumn, ColumnTextFilter as FilterModelType };
@@ -0,0 +1,124 @@
1
+ import React from 'react';
2
+ import { IconButton, TextField, MenuItem, InputAdornment, Select, } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import MakeSpreadsheetColumnType from './MakeSpreadsheetColumnType';
5
+ import { types, getPropertyMembers } from 'mobx-state-tree';
6
+ import { observer } from 'mobx-react';
7
+ import { getPropertyType, getEnumerationValues, getSubType, } from '@jbrowse/core/util/mst-reflection';
8
+ // icons
9
+ import ClearIcon from '@mui/icons-material/Clear';
10
+ const OPERATIONS = [
11
+ 'equals',
12
+ 'contains',
13
+ 'does not contain',
14
+ 'does not equal',
15
+ 'starts with',
16
+ 'ends with',
17
+ ];
18
+ // NOTE: assembly names, if present, are ignored in all of these predicates
19
+ const OPERATION_PREDICATES = {
20
+ contains: (textInCell, stringToFind) => {
21
+ return textInCell.toLowerCase().includes(stringToFind);
22
+ },
23
+ equals: (textInCell, stringToFind) => {
24
+ return textInCell.toLowerCase() === stringToFind;
25
+ },
26
+ 'starts with': (textInCell, stringToFind) => {
27
+ return textInCell.toLowerCase().indexOf(stringToFind) === 0;
28
+ },
29
+ 'ends with': (textInCell, stringToFind) => {
30
+ const index = textInCell.toLowerCase().indexOf(stringToFind);
31
+ if (index === -1) {
32
+ return false;
33
+ }
34
+ return index === textInCell.length - stringToFind.length;
35
+ },
36
+ };
37
+ OPERATION_PREDICATES['does not contain'] = (textInCell, stringToFind) => {
38
+ return !OPERATION_PREDICATES.contains(textInCell, stringToFind);
39
+ };
40
+ OPERATION_PREDICATES['does not equal'] = (textInCell, stringToFind) => {
41
+ return !OPERATION_PREDICATES.equals(textInCell, stringToFind);
42
+ };
43
+ const useStyles = makeStyles()({
44
+ textFilterControlAdornment: { marginRight: '-18px' },
45
+ textFilterControl: {
46
+ margin: 0,
47
+ '& .MuiInput-formControl': {
48
+ marginTop: 8,
49
+ },
50
+ '& .MuiInputLabel-formControl': {
51
+ top: '-7px',
52
+ '&.MuiInputLabel-shrink': {
53
+ top: '-3px',
54
+ },
55
+ },
56
+ },
57
+ });
58
+ // React component for the column filter control
59
+ const FilterReactComponent = observer(
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
+ ({ filterModel }) => {
62
+ const { classes } = useStyles();
63
+ const operationChoices = getEnumerationValues(getSubType(getPropertyType(getPropertyMembers(filterModel), 'operation')));
64
+ return (React.createElement(React.Fragment, null,
65
+ React.createElement(Select, { value: filterModel.operation, onChange: event => {
66
+ filterModel.setOperation(String(event.target.value));
67
+ } }, operationChoices.map(name => (React.createElement(MenuItem, { key: name, value: name }, name)))),
68
+ ' ',
69
+ React.createElement(TextField, { label: "text", value: filterModel.stringToFind, onChange: evt => filterModel.setString(evt.target.value), className: classes.textFilterControl, InputProps: {
70
+ endAdornment: (React.createElement(InputAdornment, { className: classes.textFilterControlAdornment, position: "end" },
71
+ React.createElement(IconButton, { "aria-label": "clear filter", onClick: () => filterModel.setString('') },
72
+ React.createElement(ClearIcon, null)))),
73
+ } })));
74
+ });
75
+ // MST model for the column filter control
76
+ const ColumnTextFilter = types
77
+ .model('ColumnTextFilter', {
78
+ type: types.literal('Text'),
79
+ columnNumber: types.integer,
80
+ stringToFind: '',
81
+ operation: types.optional(types.enumeration(OPERATIONS), OPERATIONS[0]),
82
+ })
83
+ .views(self => ({
84
+ // returns a function that tests the given row
85
+ get predicate() {
86
+ const { stringToFind, columnNumber, operation } = self; // avoid closing over self
87
+ if (!stringToFind) {
88
+ return function alwaysTrue() {
89
+ return true;
90
+ };
91
+ }
92
+ const s = stringToFind.toLowerCase(); // case insensitive match
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
+ return function stringPredicate(_sheet, row) {
95
+ const { cellsWithDerived } = row;
96
+ const cell = cellsWithDerived[columnNumber];
97
+ if (!cell || !cell.text) {
98
+ return false;
99
+ }
100
+ const predicate = OPERATION_PREDICATES[operation];
101
+ if (!predicate) {
102
+ throw new Error(`"${operation}" not implemented in location filter`);
103
+ }
104
+ return predicate(cell.text, s);
105
+ };
106
+ },
107
+ }))
108
+ .actions(self => ({
109
+ setString(s) {
110
+ self.stringToFind = s;
111
+ },
112
+ setOperation(op) {
113
+ self.operation = op;
114
+ },
115
+ }))
116
+ .volatile(() => ({ ReactComponent: FilterReactComponent }));
117
+ const TextColumnType = MakeSpreadsheetColumnType('Text', {
118
+ compare(cellA, cellB) {
119
+ return cellA.text.localeCompare(cellB.text);
120
+ },
121
+ FilterModelType: ColumnTextFilter,
122
+ });
123
+ export { TextColumnType as TextColumn, ColumnTextFilter as FilterModelType };
124
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/SpreadsheetView/models/ColumnDataTypes/Text.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ declare const ColumnTypes: {
3
+ Number: import("mobx-state-tree").IModelType<{
4
+ type: import("mobx-state-tree").ISimpleType<string>;
5
+ }, {
6
+ DataCellReactComponent: import("react").FC<any> | null;
7
+ FilterModelType: any;
8
+ displayName: string;
9
+ categoryName: string | undefined;
10
+ } & {
11
+ compare: any;
12
+ readonly hasFilter: boolean;
13
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
14
+ Text: import("mobx-state-tree").IModelType<{
15
+ type: import("mobx-state-tree").ISimpleType<string>;
16
+ }, {
17
+ DataCellReactComponent: import("react").FC<any> | null;
18
+ FilterModelType: any;
19
+ displayName: string;
20
+ categoryName: string | undefined;
21
+ } & {
22
+ compare: any;
23
+ readonly hasFilter: boolean;
24
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
25
+ LocString: import("mobx-state-tree").IModelType<{
26
+ type: import("mobx-state-tree").ISimpleType<string>;
27
+ }, {
28
+ DataCellReactComponent: import("react").FC<any> | null;
29
+ FilterModelType: any;
30
+ displayName: string;
31
+ categoryName: string | undefined;
32
+ } & {
33
+ compare: any;
34
+ readonly hasFilter: boolean;
35
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
36
+ LocRef: import("mobx-state-tree").IModelType<{
37
+ type: import("mobx-state-tree").ISimpleType<string>;
38
+ }, {
39
+ DataCellReactComponent: import("react").FC<any> | null;
40
+ FilterModelType: any;
41
+ displayName: string;
42
+ categoryName: string | undefined;
43
+ } & {
44
+ compare: any;
45
+ readonly hasFilter: boolean;
46
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
47
+ LocStart: import("mobx-state-tree").IModelType<{
48
+ type: import("mobx-state-tree").ISimpleType<string>;
49
+ }, {
50
+ DataCellReactComponent: import("react").FC<any> | null;
51
+ FilterModelType: any;
52
+ displayName: string;
53
+ categoryName: string | undefined;
54
+ } & {
55
+ compare: any;
56
+ readonly hasFilter: boolean;
57
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
58
+ LocEnd: import("mobx-state-tree").IModelType<{
59
+ type: import("mobx-state-tree").ISimpleType<string>;
60
+ }, {
61
+ DataCellReactComponent: import("react").FC<any> | null;
62
+ FilterModelType: any;
63
+ displayName: string;
64
+ categoryName: string | undefined;
65
+ } & {
66
+ compare: any;
67
+ readonly hasFilter: boolean;
68
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
69
+ };
70
+ declare const AnyColumnType: import("mobx-state-tree").IAnyType;
71
+ declare const AnyFilterModelType: import("mobx-state-tree").IAnyType;
72
+ export { ColumnTypes, AnyColumnType, AnyFilterModelType };
@@ -0,0 +1,30 @@
1
+ import LocString from './LocString';
2
+ import LocRef from './LocRef';
3
+ import LocStart from './LocStart';
4
+ import LocEnd from './LocEnd';
5
+ import { NumberColumn as Number } from './Number';
6
+ import { TextColumn as Text } from './Text';
7
+ import { types } from 'mobx-state-tree';
8
+ const ColumnTypes = {
9
+ Number,
10
+ Text,
11
+ LocString,
12
+ LocRef,
13
+ LocStart,
14
+ LocEnd,
15
+ };
16
+ const allColumnTypes = Object.values(ColumnTypes);
17
+ const AnyColumnType = types.union(...allColumnTypes);
18
+ const AnyFilterModelType = types.union(...allColumnTypes
19
+ .map(columnType => {
20
+ // just instantiate the blank types to get their filter model types
21
+ const { FilterModelType } = columnType.create({
22
+ // @ts-expect-error
23
+ type: columnType.properties.type.value,
24
+ });
25
+ return FilterModelType;
26
+ })
27
+ // some column types might not have filter machinery, filter those out
28
+ .filter(t => !!t));
29
+ export { ColumnTypes, AnyColumnType, AnyFilterModelType };
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/SpreadsheetView/models/ColumnDataTypes/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,GAAG;IAClB,MAAM;IACN,IAAI;IACJ,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;CACP,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AACjD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAA;AACpD,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CACpC,GAAG,cAAc;KACd,GAAG,CAAC,UAAU,CAAC,EAAE;IAChB,mEAAmE;IACnE,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;QAC5C,mBAAmB;QACnB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK;KACvC,CAAC,CAAA;IACF,OAAO,eAA2C,CAAA;AACpD,CAAC,CAAC;IACF,sEAAsE;KACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { AnyFilterModelType as AnyColumnFilter } from './ColumnDataTypes';
2
+ declare const model: import("mobx-state-tree").IModelType<{
3
+ rowFullText: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
4
+ type: import("mobx-state-tree").ISimpleType<"RowFullText">;
5
+ stringToFind: import("mobx-state-tree").IType<string | undefined, string, string>;
6
+ }, {
7
+ readonly predicate: (_sheet: unknown, row: {
8
+ cellsWithDerived: {
9
+ text: string;
10
+ }[];
11
+ }) => boolean;
12
+ } & {
13
+ setString(s: string): void;
14
+ clear(): void;
15
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
16
+ columnFilters: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
17
+ }, {
18
+ readonly filters: any[];
19
+ setRowFullTextFilter(stringToFind: string): void;
20
+ rowPassesFilters(sheet: unknown, row: unknown): boolean;
21
+ } & {
22
+ addBlankColumnFilter(columnNumber: number): void;
23
+ removeColumnFilter(filter: typeof AnyColumnFilter): boolean;
24
+ clearAllFilters(): void;
25
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
26
+ export default model;
@@ -0,0 +1,86 @@
1
+ import { types, getParent } from 'mobx-state-tree';
2
+ import { AnyFilterModelType as AnyColumnFilter } from './ColumnDataTypes';
3
+ // filter that finds a simple string in any of the cells of a row
4
+ const RowFullTextFilter = types
5
+ .model('RowFullTextFilter', {
6
+ type: types.literal('RowFullText'),
7
+ stringToFind: '',
8
+ })
9
+ .views(self => ({
10
+ // returns a function that tests the given row
11
+ get predicate() {
12
+ let s = self.stringToFind; // avoid closing over self
13
+ if (!s) {
14
+ return function alwaysTrue() {
15
+ return true;
16
+ };
17
+ }
18
+ s = s.toLowerCase();
19
+ return function stringPredicate(_sheet, row) {
20
+ const { cellsWithDerived } = row;
21
+ for (const cell of cellsWithDerived) {
22
+ // note: case insensitive
23
+ if (cell.text && cell.text.toLowerCase().includes(s)) {
24
+ return true;
25
+ }
26
+ }
27
+ return false;
28
+ };
29
+ },
30
+ }))
31
+ .actions(self => ({
32
+ setString(s) {
33
+ self.stringToFind = s;
34
+ },
35
+ clear() {
36
+ self.stringToFind = '';
37
+ },
38
+ }));
39
+ const model = types
40
+ .model('SpreadsheetFilterControls', {
41
+ rowFullText: types.optional(RowFullTextFilter, () => ({
42
+ type: 'RowFullText',
43
+ stringToFind: '',
44
+ })),
45
+ columnFilters: types.array(AnyColumnFilter),
46
+ })
47
+ .views(self => ({
48
+ get filters() {
49
+ return [self.rowFullText, ...self.columnFilters].filter(f => !!f);
50
+ },
51
+ setRowFullTextFilter(stringToFind) {
52
+ // @ts-expect-error
53
+ self.rowFullText = {
54
+ type: 'RowFullText',
55
+ stringToFind,
56
+ };
57
+ },
58
+ rowPassesFilters(sheet, row) {
59
+ for (let i = 0; i < this.filters.length; i += 1) {
60
+ if (!this.filters[i].predicate(sheet, row)) {
61
+ return false;
62
+ }
63
+ }
64
+ return true;
65
+ },
66
+ }))
67
+ .actions(self => ({
68
+ addBlankColumnFilter(columnNumber) {
69
+ const { dataType } =
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+ getParent(self).spreadsheet.columns[columnNumber];
72
+ self.columnFilters.push({
73
+ type: dataType.type,
74
+ columnNumber,
75
+ });
76
+ },
77
+ removeColumnFilter(filter) {
78
+ return self.columnFilters.remove(filter);
79
+ },
80
+ clearAllFilters() {
81
+ self.columnFilters.clear();
82
+ self.rowFullText.clear();
83
+ },
84
+ }));
85
+ export default model;
86
+ //# sourceMappingURL=FilterControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterControls.js","sourceRoot":"","sources":["../../../src/SpreadsheetView/models/FilterControls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ declare const ImportWizard: import("mobx-state-tree").IModelType<{
3
+ fileType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
4
+ hasColumnNameLine: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
5
+ columnNameLineNumber: import("mobx-state-tree").IType<number | undefined, number, number>;
6
+ selectedAssemblyName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
7
+ }, {
8
+ fileTypes: string[];
9
+ fileSource: any;
10
+ error: unknown;
11
+ loading: boolean;
12
+ } & {
13
+ readonly isReadyToOpen: any;
14
+ readonly canCancel: any;
15
+ readonly fileName: any;
16
+ readonly requiresUnzip: any;
17
+ isValidRefName(refName: string, assemblyName?: string): boolean;
18
+ } & {
19
+ setSelectedAssemblyName(s: string): void;
20
+ setFileSource(newSource: unknown): void;
21
+ toggleHasColumnNameLine(): void;
22
+ setColumnNameLineNumber(newnumber: number): void;
23
+ setFileType(typeName: string): void;
24
+ setError(error: unknown): void;
25
+ setLoaded(): void;
26
+ cancelButton(): void;
27
+ import(assemblyName: string): Promise<void>;
28
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
29
+ export type ImportWizardStateModel = typeof ImportWizard;
30
+ export type ImportWizardModel = Instance<ImportWizardStateModel>;
31
+ export default ImportWizard;