@jbrowse/plugin-variants 2.18.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 (272) hide show
  1. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +1 -1
  2. package/dist/LinearVariantDisplay/model.d.ts +5 -5
  3. package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  4. package/dist/MultiLinearVariantDisplay/components/Crosshair.js +35 -0
  5. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +1 -2
  6. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +5 -49
  7. package/dist/MultiLinearVariantDisplay/index.js +18 -8
  8. package/dist/MultiLinearVariantDisplay/model.d.ts +113 -40
  9. package/dist/MultiLinearVariantDisplay/model.js +24 -176
  10. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +1 -2
  11. package/dist/MultiLinearVariantDisplay/renderSvg.js +2 -5
  12. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  13. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +28 -0
  14. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +1 -2
  15. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +13 -16
  16. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +1 -2
  17. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +6 -56
  18. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +109 -27
  19. package/dist/MultiLinearVariantMatrixDisplay/model.js +31 -136
  20. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +1 -2
  21. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +3 -7
  22. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +4 -32
  23. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +44 -63
  24. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +3 -2
  25. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +31 -5
  26. package/dist/MultiLinearVariantMatrixRenderer/index.js +2 -2
  27. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  28. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +100 -0
  29. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  30. package/dist/MultiLinearVariantMatrixRenderer/types.js +2 -0
  31. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +4 -21
  32. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +38 -25
  33. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +7 -3
  34. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +36 -27
  35. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +1 -33
  36. package/dist/MultiLinearVariantRenderer/configSchema.js +0 -5
  37. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  38. package/dist/MultiLinearVariantRenderer/makeImageData.js +67 -0
  39. package/dist/MultiLinearVariantRenderer/types.d.ts +19 -0
  40. package/dist/MultiLinearVariantRenderer/types.js +2 -0
  41. package/dist/MultiVariantBaseRenderer.d.ts +4 -4
  42. package/dist/StructuralVariantChordRenderer/Chord.d.ts +2 -19
  43. package/dist/StructuralVariantChordRenderer/Chord.js +3 -25
  44. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
  45. package/dist/StructuralVariantChordRenderer/ReactComponent.js +7 -29
  46. package/dist/StructuralVariantChordRenderer/types.d.ts +17 -0
  47. package/dist/StructuralVariantChordRenderer/types.js +2 -0
  48. package/dist/Tooltip.d.ts +2 -2
  49. package/dist/Tooltip.js +6 -32
  50. package/dist/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  51. package/dist/VariantFeatureWidget/Checkbox2.js +2 -5
  52. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -3
  53. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +66 -69
  54. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  55. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.js +60 -0
  56. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  57. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.js +15 -0
  58. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  59. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +20 -0
  60. package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  61. package/dist/VariantFeatureWidget/VariantConsequencePanel.js +15 -0
  62. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -2
  63. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +47 -36
  64. package/dist/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  65. package/dist/VariantFeatureWidget/VariantSampleFilters.js +10 -0
  66. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +9 -7
  67. package/dist/VariantFeatureWidget/VariantSampleGrid.js +14 -44
  68. package/dist/VariantFeatureWidget/index.js +17 -7
  69. package/dist/VariantFeatureWidget/types.d.ts +16 -0
  70. package/dist/VariantFeatureWidget/types.js +2 -0
  71. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +10 -27
  72. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +12 -7
  73. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +27 -37
  74. package/dist/VcfAdapter/VcfAdapter.d.ts +7 -0
  75. package/dist/VcfAdapter/VcfAdapter.js +29 -3
  76. package/dist/VcfAdapter/configSchema.d.ts +8 -0
  77. package/dist/VcfAdapter/configSchema.js +12 -1
  78. package/dist/VcfAdapter/index.js +17 -7
  79. package/dist/VcfFeature/index.js +2 -1
  80. package/dist/VcfFeature/util.js +3 -4
  81. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +38 -12
  82. package/dist/VcfTabixAdapter/configSchema.d.ts +8 -0
  83. package/dist/VcfTabixAdapter/configSchema.js +8 -0
  84. package/dist/VcfTabixAdapter/index.js +17 -7
  85. package/dist/extensionPoints.js +21 -33
  86. package/dist/getMultiVariantFeaturesAutorun.d.ts +4 -7
  87. package/dist/getMultiVariantFeaturesAutorun.js +16 -15
  88. package/dist/getMultiVariantSourcesAutorun.d.ts +1 -6
  89. package/dist/shared/BulkEditPanel.d.ts +4 -5
  90. package/dist/shared/BulkEditPanel.js +69 -88
  91. package/dist/shared/ClusterDialog.d.ts +4 -5
  92. package/dist/shared/ClusterDialog.js +45 -86
  93. package/dist/shared/ColorLegend.d.ts +2 -3
  94. package/dist/shared/ColorLegend.js +8 -10
  95. package/dist/shared/HelpfulTips.d.ts +1 -0
  96. package/dist/shared/HelpfulTips.js +7 -0
  97. package/dist/shared/LegendBar.d.ts +3 -3
  98. package/dist/shared/LegendBar.js +6 -12
  99. package/dist/shared/MAFFilterDialog.d.ts +2 -3
  100. package/dist/shared/MAFFilterDialog.js +14 -42
  101. package/dist/shared/MultiVariantBaseModel.d.ts +341 -0
  102. package/dist/shared/MultiVariantBaseModel.js +316 -0
  103. package/dist/shared/MultiVariantTooltip.d.ts +6 -0
  104. package/dist/shared/MultiVariantTooltip.js +23 -0
  105. package/dist/shared/RectBg.d.ts +2 -3
  106. package/dist/shared/RectBg.js +3 -7
  107. package/dist/shared/RowPalettizer.d.ts +2 -3
  108. package/dist/shared/RowPalettizer.js +30 -28
  109. package/dist/shared/SetColorDialog.d.ts +2 -3
  110. package/dist/shared/SetColorDialog.js +26 -65
  111. package/dist/shared/SetMinMaxDialog.d.ts +1 -2
  112. package/dist/shared/SetMinMaxDialog.js +11 -41
  113. package/dist/shared/SetRowHeightDialog.d.ts +8 -0
  114. package/dist/shared/SetRowHeightDialog.js +18 -0
  115. package/dist/shared/SharedVariantMixin.d.ts +7 -7
  116. package/dist/shared/SourcesDataGrid.d.ts +6 -0
  117. package/dist/shared/SourcesDataGrid.js +68 -0
  118. package/dist/shared/SourcesGrid.d.ts +2 -3
  119. package/dist/shared/SourcesGrid.js +5 -134
  120. package/dist/shared/SourcesGridHeader.d.ts +7 -0
  121. package/dist/shared/SourcesGridHeader.js +41 -0
  122. package/dist/shared/multiVariantColor.d.ts +3 -0
  123. package/dist/shared/multiVariantColor.js +50 -0
  124. package/dist/types.d.ts +14 -0
  125. package/dist/types.js +2 -0
  126. package/dist/util.d.ts +6 -9
  127. package/dist/util.js +47 -14
  128. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +1 -1
  129. package/esm/LinearVariantDisplay/model.d.ts +5 -5
  130. package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  131. package/esm/MultiLinearVariantDisplay/components/Crosshair.js +30 -0
  132. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +1 -2
  133. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +5 -26
  134. package/esm/MultiLinearVariantDisplay/index.js +1 -1
  135. package/esm/MultiLinearVariantDisplay/model.d.ts +113 -40
  136. package/esm/MultiLinearVariantDisplay/model.js +7 -169
  137. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +1 -2
  138. package/esm/MultiLinearVariantDisplay/renderSvg.js +2 -5
  139. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  140. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +23 -0
  141. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +1 -2
  142. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +13 -13
  143. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +1 -2
  144. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +6 -33
  145. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +109 -27
  146. package/esm/MultiLinearVariantMatrixDisplay/model.js +14 -129
  147. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +1 -2
  148. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +3 -7
  149. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +4 -32
  150. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +11 -63
  151. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +3 -2
  152. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +31 -2
  153. package/esm/MultiLinearVariantMatrixRenderer/index.js +1 -1
  154. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  155. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +97 -0
  156. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  157. package/esm/MultiLinearVariantMatrixRenderer/types.js +1 -0
  158. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +4 -21
  159. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +6 -26
  160. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +7 -3
  161. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +34 -5
  162. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +1 -33
  163. package/esm/MultiLinearVariantRenderer/configSchema.js +0 -2
  164. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  165. package/esm/MultiLinearVariantRenderer/makeImageData.js +61 -0
  166. package/esm/MultiLinearVariantRenderer/types.d.ts +19 -0
  167. package/esm/MultiLinearVariantRenderer/types.js +1 -0
  168. package/esm/MultiVariantBaseRenderer.d.ts +4 -4
  169. package/esm/StructuralVariantChordRenderer/Chord.d.ts +2 -19
  170. package/esm/StructuralVariantChordRenderer/Chord.js +3 -2
  171. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
  172. package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -6
  173. package/esm/StructuralVariantChordRenderer/types.d.ts +17 -0
  174. package/esm/StructuralVariantChordRenderer/types.js +1 -0
  175. package/esm/Tooltip.d.ts +2 -2
  176. package/esm/Tooltip.js +6 -9
  177. package/esm/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  178. package/esm/VariantFeatureWidget/Checkbox2.js +2 -2
  179. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -3
  180. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +48 -61
  181. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  182. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.js +24 -0
  183. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  184. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.js +9 -0
  185. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  186. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +17 -0
  187. package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  188. package/esm/VariantFeatureWidget/VariantConsequencePanel.js +9 -0
  189. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -2
  190. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +30 -29
  191. package/esm/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  192. package/esm/VariantFeatureWidget/VariantSampleFilters.js +7 -0
  193. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +9 -7
  194. package/esm/VariantFeatureWidget/VariantSampleGrid.js +15 -22
  195. package/esm/VariantFeatureWidget/types.d.ts +16 -0
  196. package/esm/VariantFeatureWidget/types.js +1 -0
  197. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +10 -27
  198. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +12 -7
  199. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +27 -37
  200. package/esm/VcfAdapter/VcfAdapter.d.ts +7 -0
  201. package/esm/VcfAdapter/VcfAdapter.js +31 -5
  202. package/esm/VcfAdapter/configSchema.d.ts +8 -0
  203. package/esm/VcfAdapter/configSchema.js +12 -1
  204. package/esm/VcfFeature/index.js +2 -1
  205. package/esm/VcfFeature/util.js +3 -4
  206. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +38 -12
  207. package/esm/VcfTabixAdapter/configSchema.d.ts +8 -0
  208. package/esm/VcfTabixAdapter/configSchema.js +8 -0
  209. package/esm/extensionPoints.js +21 -33
  210. package/esm/getMultiVariantFeaturesAutorun.d.ts +4 -7
  211. package/esm/getMultiVariantFeaturesAutorun.js +16 -15
  212. package/esm/getMultiVariantSourcesAutorun.d.ts +1 -6
  213. package/esm/shared/BulkEditPanel.d.ts +4 -5
  214. package/esm/shared/BulkEditPanel.js +70 -66
  215. package/esm/shared/ClusterDialog.d.ts +4 -5
  216. package/esm/shared/ClusterDialog.js +44 -62
  217. package/esm/shared/ColorLegend.d.ts +2 -3
  218. package/esm/shared/ColorLegend.js +8 -10
  219. package/esm/shared/HelpfulTips.d.ts +1 -0
  220. package/esm/shared/HelpfulTips.js +4 -0
  221. package/esm/shared/LegendBar.d.ts +3 -3
  222. package/esm/shared/LegendBar.js +7 -13
  223. package/esm/shared/MAFFilterDialog.d.ts +2 -3
  224. package/esm/shared/MAFFilterDialog.js +14 -19
  225. package/esm/shared/MultiVariantBaseModel.d.ts +341 -0
  226. package/esm/shared/MultiVariantBaseModel.js +277 -0
  227. package/esm/shared/MultiVariantTooltip.d.ts +6 -0
  228. package/esm/shared/MultiVariantTooltip.js +17 -0
  229. package/esm/shared/RectBg.d.ts +2 -3
  230. package/esm/shared/RectBg.js +3 -4
  231. package/esm/shared/RowPalettizer.d.ts +2 -3
  232. package/esm/shared/RowPalettizer.js +30 -25
  233. package/esm/shared/SetColorDialog.d.ts +2 -3
  234. package/esm/shared/SetColorDialog.js +26 -42
  235. package/esm/shared/SetMinMaxDialog.d.ts +1 -2
  236. package/esm/shared/SetMinMaxDialog.js +11 -18
  237. package/esm/shared/SetRowHeightDialog.d.ts +8 -0
  238. package/esm/shared/SetRowHeightDialog.js +15 -0
  239. package/esm/shared/SharedVariantMixin.d.ts +7 -7
  240. package/esm/shared/SourcesDataGrid.d.ts +6 -0
  241. package/esm/shared/SourcesDataGrid.js +62 -0
  242. package/esm/shared/SourcesGrid.d.ts +2 -3
  243. package/esm/shared/SourcesGrid.js +5 -111
  244. package/esm/shared/SourcesGridHeader.d.ts +7 -0
  245. package/esm/shared/SourcesGridHeader.js +35 -0
  246. package/esm/shared/multiVariantColor.d.ts +3 -0
  247. package/esm/shared/multiVariantColor.js +45 -0
  248. package/esm/types.d.ts +14 -0
  249. package/esm/types.js +1 -0
  250. package/esm/util.d.ts +6 -9
  251. package/esm/util.js +43 -13
  252. package/package.json +6 -7
  253. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  254. package/dist/VariantFeatureWidget/AnnotGrid.js +0 -39
  255. package/dist/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  256. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +0 -16
  257. package/dist/configSchema.d.ts +0 -34
  258. package/dist/configSchema.js +0 -44
  259. package/dist/shared/DraggableDialog.d.ts +0 -6
  260. package/dist/shared/DraggableDialog.js +0 -62
  261. package/dist/shared/Tooltip.d.ts +0 -18
  262. package/dist/shared/Tooltip.js +0 -38
  263. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  264. package/esm/VariantFeatureWidget/AnnotGrid.js +0 -13
  265. package/esm/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  266. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +0 -10
  267. package/esm/configSchema.d.ts +0 -34
  268. package/esm/configSchema.js +0 -42
  269. package/esm/shared/DraggableDialog.d.ts +0 -6
  270. package/esm/shared/DraggableDialog.js +0 -34
  271. package/esm/shared/Tooltip.d.ts +0 -18
  272. package/esm/shared/Tooltip.js +0 -33
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = MultiVariantTooltip;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const ui_1 = require("@jbrowse/core/ui");
9
+ const BaseTooltip_1 = __importDefault(require("@jbrowse/core/ui/BaseTooltip"));
10
+ function MultiVariantTooltip({ source, }) {
11
+ return ((0, jsx_runtime_1.jsxs)(BaseTooltip_1.default, { children: [source.color ? ((0, jsx_runtime_1.jsx)("div", { style: {
12
+ width: 10,
13
+ height: 10,
14
+ backgroundColor: source.color,
15
+ } })) : null, (0, jsx_runtime_1.jsx)(ui_1.SanitizedHTML, { html: Object.entries(source)
16
+ .filter(([key, val]) => key !== 'color' &&
17
+ key !== 'name' &&
18
+ key !== 'HP' &&
19
+ key !== 'id' &&
20
+ val !== undefined)
21
+ .map(([key, value]) => `${key}:${value}`)
22
+ .join('<br/>') })] }));
23
+ }
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
- declare const RectBg: (props: {
1
+ declare const RectBg: ({ x, y, width, height, color, }: {
3
2
  x: number;
4
3
  y: number;
5
4
  width: number;
6
5
  height: number;
7
6
  color?: string;
8
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export default RectBg;
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
4
  const util_1 = require("@jbrowse/core/util");
8
- const RectBg = (props) => {
9
- const { color = 'rgb(255,255,255)' } = props;
10
- return react_1.default.createElement("rect", { pointerEvents: "auto", ...props, ...(0, util_1.getFillProps)(color) });
5
+ const RectBg = ({ x, y, width, height, color = 'rgba(255,255,255,0.5)', }) => {
6
+ return ((0, jsx_runtime_1.jsx)("rect", { pointerEvents: "auto", x: x, y: y, width: width, height: height, ...(0, util_1.getFillProps)(color) }));
11
7
  };
12
8
  exports.default = RectBg;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { type Source } from '../util';
1
+ import type { Source } from '../types';
3
2
  export default function RowPalettizer({ setCurrLayout, currLayout, }: {
4
3
  currLayout: Source[];
5
4
  setCurrLayout: (arg: Source[]) => void;
6
- }): React.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,38 +1,40 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.default = RowPalettizer;
7
- const react_1 = __importDefault(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
5
  const colors_1 = require("@jbrowse/core/ui/colors");
9
6
  const material_1 = require("@mui/material");
10
7
  const util_1 = require("../util");
11
8
  function RowPalettizer({ setCurrLayout, currLayout, }) {
12
9
  var _a;
13
- return (react_1.default.createElement("div", null, Object.keys((_a = currLayout[0]) !== null && _a !== void 0 ? _a : [])
14
- .filter(f => f !== 'name' && f !== 'color')
15
- .map(r => {
16
- return (react_1.default.createElement(material_1.Button, { key: r, onClick: () => {
17
- const map = new Map();
18
- for (const row of currLayout) {
19
- const val = map.get(row[r]);
20
- if (!val) {
21
- map.set(row[r], 1);
10
+ return ((0, jsx_runtime_1.jsxs)("div", { children: ["Create color palette based on...", Object.keys((_a = currLayout[0]) !== null && _a !== void 0 ? _a : [])
11
+ .filter(f => f !== 'name' &&
12
+ f !== 'color' &&
13
+ f !== 'label' &&
14
+ f !== 'id' &&
15
+ f !== 'HP')
16
+ .map(r => ((0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "inherit", onClick: () => {
17
+ const map = new Map();
18
+ for (const row of currLayout) {
19
+ const val = map.get(row[r]);
20
+ if (!val) {
21
+ map.set(row[r], 1);
22
+ }
23
+ else {
24
+ map.set(row[r], val + 1);
25
+ }
22
26
  }
23
- else {
24
- map.set(row[r], val + 1);
25
- }
26
- }
27
- const ret = Object.fromEntries([...map.entries()]
28
- .sort((a, b) => a[1] - b[1])
29
- .map((r, idx) => [r[0], colors_1.set1[idx] || (0, util_1.randomColor)(r[0])]));
30
- setCurrLayout(currLayout.map(row => ({
31
- ...row,
32
- color: ret[row[r]],
33
- })));
34
- } },
35
- "Palettize ",
36
- r));
37
- })));
27
+ const ret = Object.fromEntries([...map.entries()]
28
+ .sort((a, b) => a[1] - b[1])
29
+ .map((r, idx) => [r[0], colors_1.set1[idx] || (0, util_1.randomColor)(r[0])]));
30
+ setCurrLayout(currLayout.map(row => ({
31
+ ...row,
32
+ color: ret[row[r]],
33
+ })));
34
+ }, children: r }, r))), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: () => {
35
+ setCurrLayout(currLayout.map(row => ({
36
+ ...row,
37
+ color: undefined,
38
+ })));
39
+ }, children: "Clear colors" })] }));
38
40
  }
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { type Source } from '../util';
1
+ import type { Source } from '../types';
3
2
  interface ReducedModel {
4
3
  sources?: Source[];
5
4
  setLayout: (s: Source[]) => void;
@@ -8,5 +7,5 @@ interface ReducedModel {
8
7
  export default function SetColorDialog({ model, handleClose, }: {
9
8
  model: ReducedModel;
10
9
  handleClose: () => void;
11
- }): React.JSX.Element;
10
+ }): import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -1,46 +1,27 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.default = SetColorDialog;
30
- const react_1 = __importStar(require("react"));
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const DraggableDialog_1 = __importDefault(require("@jbrowse/core/ui/DraggableDialog"));
31
10
  const util_1 = require("@jbrowse/core/util");
32
11
  const material_1 = require("@mui/material");
33
12
  const mui_1 = require("tss-react/mui");
34
- const DraggableDialog_1 = __importDefault(require("./DraggableDialog"));
35
- const SourcesGrid_1 = __importDefault(require("./SourcesGrid"));
36
13
  const BulkEditPanel_1 = __importDefault(require("./BulkEditPanel"));
14
+ const HelpfulTips_1 = __importDefault(require("./HelpfulTips"));
37
15
  const RowPalettizer_1 = __importDefault(require("./RowPalettizer"));
16
+ const SourcesGrid_1 = __importDefault(require("./SourcesGrid"));
38
17
  const useStyles = (0, mui_1.makeStyles)()({
39
18
  content: {
40
19
  minWidth: 800,
41
20
  },
42
21
  fr: {
43
22
  float: 'right',
23
+ display: 'flex',
24
+ gap: 8,
44
25
  },
45
26
  textAreaFont: {
46
27
  fontFamily: 'Courier New',
@@ -52,43 +33,23 @@ function SetColorDialog({ model, handleClose, }) {
52
33
  const [showBulkEditor, setShowBulkEditor] = (0, react_1.useState)(false);
53
34
  const [currLayout, setCurrLayout] = (0, react_1.useState)(sources || []);
54
35
  const [showTips, setShowTips] = (0, util_1.useLocalStorage)('multivariant-showTips', false);
55
- return (react_1.default.createElement(DraggableDialog_1.default, { open: true, onClose: handleClose, maxWidth: "xl", title: "Multi-variant color/arrangement editor" },
56
- react_1.default.createElement(material_1.DialogContent, { className: classes.content },
57
- react_1.default.createElement("div", { className: classes.fr },
58
- react_1.default.createElement(material_1.Button, { variant: "contained", onClick: () => {
59
- setShowTips(!showTips);
60
- } }, showTips ? 'Hide tips' : 'Show tips'),
61
- react_1.default.createElement(material_1.Button, { color: "secondary", variant: "contained", onClick: () => {
62
- setShowBulkEditor(!showBulkEditor);
63
- } }, showBulkEditor ? 'Hide bulk row editor' : 'Show Bulk row editor')),
64
- react_1.default.createElement("br", null),
65
- showTips ? react_1.default.createElement(HelpfulTips, null) : null,
66
- showBulkEditor ? (react_1.default.createElement(BulkEditPanel_1.default, { currLayout: currLayout, setCurrLayout: setCurrLayout })) : null,
67
- react_1.default.createElement(RowPalettizer_1.default, { currLayout: currLayout, setCurrLayout: setCurrLayout }),
68
- react_1.default.createElement(SourcesGrid_1.default, { rows: currLayout, onChange: setCurrLayout, showTips: showTips })),
69
- react_1.default.createElement(material_1.DialogActions, null,
70
- react_1.default.createElement(material_1.Button, { variant: "contained", type: "submit", color: "inherit", onClick: () => {
71
- model.clearLayout();
72
- setCurrLayout(model.sources || []);
73
- } }, "Clear custom settings"),
74
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: () => {
75
- handleClose();
76
- setCurrLayout([...(model.sources || [])]);
77
- } }, "Cancel"),
78
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", type: "submit", onClick: () => {
79
- model.setLayout(currLayout);
80
- handleClose();
81
- } }, "Submit"))));
82
- }
83
- function HelpfulTips() {
84
- return (react_1.default.createElement(react_1.default.Fragment, null,
85
- "Helpful tips",
86
- react_1.default.createElement("ul", null,
87
- react_1.default.createElement("li", null, "You can select rows in the table with the checkboxes"),
88
- react_1.default.createElement("li", null, "Multi-select is enabled with shift-click and control-click"),
89
- react_1.default.createElement("li", null, "The \"Move selected items up/down\" can re-arrange subtracks"),
90
- react_1.default.createElement("li", null, "Sorting the data grid itself can also re-arrange subtracks"),
91
- react_1.default.createElement("li", null, "Changes are applied when you hit Submit"),
92
- react_1.default.createElement("li", null, "You can click and drag the dialog box to move it on the screen"),
93
- react_1.default.createElement("li", null, "Columns in the table can be hidden using a vertical '...' menu on the right side of each column"))));
36
+ return ((0, jsx_runtime_1.jsx)(DraggableDialog_1.default, { open: true, onClose: handleClose, maxWidth: "xl", title: "Multi-variant color/arrangement editor", children: showBulkEditor ? ((0, jsx_runtime_1.jsx)(BulkEditPanel_1.default, { currLayout: currLayout, onClose: arg => {
37
+ if (arg) {
38
+ setCurrLayout(arg);
39
+ }
40
+ setShowBulkEditor(false);
41
+ } })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.DialogContent, { className: classes.content, children: [(0, jsx_runtime_1.jsxs)("div", { className: classes.fr, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", onClick: () => {
42
+ setShowTips(!showTips);
43
+ }, children: showTips ? 'Hide tips' : 'Show tips' }), (0, jsx_runtime_1.jsx)(material_1.Button, { color: "secondary", variant: "contained", onClick: () => {
44
+ setShowBulkEditor(!showBulkEditor);
45
+ }, children: "Show Bulk row editor" })] }), showTips ? (0, jsx_runtime_1.jsx)(HelpfulTips_1.default, {}) : null, (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(RowPalettizer_1.default, { currLayout: currLayout, setCurrLayout: setCurrLayout }), (0, jsx_runtime_1.jsx)(SourcesGrid_1.default, { rows: currLayout, onChange: setCurrLayout, showTips: showTips })] }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", type: "submit", color: "inherit", onClick: () => {
46
+ model.clearLayout();
47
+ setCurrLayout(model.sources || []);
48
+ }, children: "Clear custom settings" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: () => {
49
+ handleClose();
50
+ setCurrLayout([...(model.sources || [])]);
51
+ }, children: "Cancel" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", type: "submit", onClick: () => {
52
+ model.setLayout(currLayout);
53
+ handleClose();
54
+ }, children: "Submit" })] })] })) }));
94
55
  }
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  export default function SetMinMaxDialog(props: {
3
2
  model: {
4
3
  minScore: number;
@@ -8,4 +7,4 @@ export default function SetMinMaxDialog(props: {
8
7
  setMaxScore: (arg?: number) => void;
9
8
  };
10
9
  handleClose: () => void;
11
- }): React.JSX.Element;
10
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,30 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.default = SetMinMaxDialog;
27
- const react_1 = __importStar(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
28
6
  const ui_1 = require("@jbrowse/core/ui");
29
7
  const material_1 = require("@mui/material");
30
8
  function SetMinMaxDialog(props) {
@@ -36,21 +14,13 @@ function SetMinMaxDialog(props) {
36
14
  ? +max > +min
37
15
  : true;
38
16
  const logOk = scaleType === 'log' && min !== '' && !Number.isNaN(+min) ? +min > 0 : true;
39
- return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, title: "Set min/max score for track" },
40
- react_1.default.createElement(material_1.DialogContent, null,
41
- react_1.default.createElement(material_1.Typography, null, "Enter min/max score: "),
42
- !ok ? (react_1.default.createElement(material_1.Typography, { color: "error" }, "Max is greater than or equal to min")) : null,
43
- !logOk ? (react_1.default.createElement(material_1.Typography, { color: "error" }, "Min score should be greater than 0 for log scale")) : null,
44
- react_1.default.createElement(material_1.TextField, { value: min, onChange: event => {
45
- setMin(event.target.value);
46
- }, placeholder: "Enter min score" }),
47
- react_1.default.createElement(material_1.TextField, { value: max, onChange: event => {
48
- setMax(event.target.value);
49
- }, placeholder: "Enter max score" })),
50
- react_1.default.createElement(material_1.DialogActions, null,
51
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", type: "submit", style: { marginLeft: 20 }, disabled: !ok, onClick: () => {
52
- model.setMinScore(min !== '' && !Number.isNaN(+min) ? +min : undefined);
53
- model.setMaxScore(max !== '' && !Number.isNaN(+max) ? +max : undefined);
54
- handleClose();
55
- } }, "Submit"))));
17
+ return ((0, jsx_runtime_1.jsxs)(ui_1.Dialog, { open: true, onClose: handleClose, title: "Set min/max score for track", children: [(0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: "Enter min/max score: " }), !ok ? ((0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: "Max is greater than or equal to min" })) : null, !logOk ? ((0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: "Min score should be greater than 0 for log scale" })) : null, (0, jsx_runtime_1.jsx)(material_1.TextField, { value: min, onChange: event => {
18
+ setMin(event.target.value);
19
+ }, placeholder: "Enter min score" }), (0, jsx_runtime_1.jsx)(material_1.TextField, { value: max, onChange: event => {
20
+ setMax(event.target.value);
21
+ }, placeholder: "Enter max score" })] }), (0, jsx_runtime_1.jsx)(material_1.DialogActions, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", type: "submit", style: { marginLeft: 20 }, disabled: !ok, onClick: () => {
22
+ model.setMinScore(min !== '' && !Number.isNaN(+min) ? +min : undefined);
23
+ model.setMaxScore(max !== '' && !Number.isNaN(+max) ? +max : undefined);
24
+ handleClose();
25
+ }, children: "Submit" }) })] }));
56
26
  }
@@ -0,0 +1,8 @@
1
+ import type { Source } from '../types';
2
+ export default function SetRowHeight({ model, handleClose, }: {
3
+ model: {
4
+ rowHeight?: Source[];
5
+ setRowHeight: (arg: number) => void;
6
+ };
7
+ handleClose: () => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = SetRowHeight;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const ui_1 = require("@jbrowse/core/ui");
7
+ const material_1 = require("@mui/material");
8
+ function SetRowHeight({ model, handleClose, }) {
9
+ const [value, setValue] = (0, react_1.useState)(`${model.rowHeight}`);
10
+ return ((0, jsx_runtime_1.jsxs)(ui_1.Dialog, { open: true, title: "Set row height", onClose: handleClose, children: [(0, jsx_runtime_1.jsx)(material_1.DialogContent, { children: (0, jsx_runtime_1.jsx)(material_1.TextField, { value: value, onChange: event => {
11
+ setValue(event.target.value);
12
+ } }) }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { disabled: Number.isNaN(+value), variant: "contained", onClick: () => {
13
+ model.setRowHeight(+value);
14
+ handleClose();
15
+ }, children: "Submit" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: () => {
16
+ handleClose();
17
+ }, children: "Cancel" })] })] }));
18
+ }
@@ -35,7 +35,7 @@ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaT
35
35
  status?: string;
36
36
  reactElement?: React.ReactElement;
37
37
  };
38
- }) => import("react").JSX.Element | undefined;
38
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
39
39
  renderProps: any;
40
40
  } & {
41
41
  doReload(): void;
@@ -172,13 +172,13 @@ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaT
172
172
  } & {
173
173
  readonly statsReadyAndRegionNotTooLarge: boolean;
174
174
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
175
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
175
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
176
176
  } & {
177
177
  featureIdUnderMouse: undefined | string;
178
178
  contextMenuFeature: undefined | Feature;
179
179
  } & {
180
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
181
- readonly blockType: "dynamicBlocks" | "staticBlocks";
180
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
181
+ readonly blockType: "staticBlocks" | "dynamicBlocks";
182
182
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
183
183
  } & {
184
184
  readonly renderDelay: number;
@@ -205,7 +205,7 @@ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaT
205
205
  contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
206
206
  renderProps(): any;
207
207
  } & {
208
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
208
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
209
209
  afterAttach(): void;
210
210
  } & {
211
211
  message: undefined | string;
@@ -257,7 +257,7 @@ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaT
257
257
  status?: string;
258
258
  reactElement?: React.ReactElement;
259
259
  };
260
- }) => import("react").JSX.Element | undefined;
260
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
261
261
  renderProps: any;
262
262
  } & {
263
263
  doReload(): void;
@@ -299,8 +299,8 @@ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaT
299
299
  };
300
300
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
301
301
  }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, {
302
- type: string;
303
302
  id: string;
303
+ type: string;
304
304
  configuration: import("mobx-state-tree").ModelSnapshotType<Record<string, any>>;
305
305
  rpcDriverName: string | undefined;
306
306
  heightPreConfig: number | undefined;
@@ -0,0 +1,6 @@
1
+ import type { Source } from '../types';
2
+ export default function SourcesDataGrid({ rows, onChange, setSelected, }: {
3
+ rows: Source[];
4
+ onChange: (arg: Source[]) => void;
5
+ setSelected: (arg: string[]) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = SourcesDataGrid;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const ui_1 = require("@jbrowse/core/ui");
10
+ const ColorPicker_1 = __importDefault(require("@jbrowse/core/ui/ColorPicker"));
11
+ const util_1 = require("@jbrowse/core/util");
12
+ const x_data_grid_1 = require("@mui/x-data-grid");
13
+ const mui_1 = require("tss-react/mui");
14
+ const useStyles = (0, mui_1.makeStyles)()({
15
+ cell: {
16
+ whiteSpace: 'nowrap',
17
+ overflow: 'hidden',
18
+ textOverflow: 'ellipsis',
19
+ },
20
+ });
21
+ function SourcesDataGrid({ rows, onChange, setSelected, }) {
22
+ const { classes } = useStyles();
23
+ const { id: _id, name: _name, label: _label, color: _color, baseUri: _baseUri, HP: _HP, ...rest } = rows[0];
24
+ const [currSort, setCurrSort] = (0, react_1.useState)({
25
+ idx: 0,
26
+ field: null,
27
+ });
28
+ return ((0, jsx_runtime_1.jsx)("div", { style: { height: 400, width: '100%' }, children: (0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { checkboxSelection: true, disableRowSelectionOnClick: true, onRowSelectionModelChange: arg => {
29
+ setSelected(arg);
30
+ }, rows: rows, rowHeight: 25, columnHeaderHeight: 33, columns: [
31
+ {
32
+ field: 'color',
33
+ headerName: 'Color',
34
+ renderCell: params => {
35
+ const { value, id } = params;
36
+ return ((0, jsx_runtime_1.jsx)(ColorPicker_1.default, { color: value || 'blue', onChange: c => {
37
+ const elt = rows.find(f => f.name === id);
38
+ if (elt) {
39
+ elt.color = c;
40
+ }
41
+ onChange([...rows]);
42
+ } }));
43
+ },
44
+ },
45
+ {
46
+ field: 'label',
47
+ headerName: 'Name',
48
+ width: (0, util_1.measureGridWidth)(rows.map(r => r.label)),
49
+ },
50
+ ...Object.keys(rest).map(val => ({
51
+ field: val,
52
+ renderCell: ({ value }) => ((0, jsx_runtime_1.jsx)("div", { className: classes.cell, children: (0, jsx_runtime_1.jsx)(ui_1.SanitizedHTML, { html: (0, util_1.getStr)(value) }) })),
53
+ width: (0, util_1.measureGridWidth)(rows.map(r => `${r[val]}`)),
54
+ })),
55
+ ], sortModel: [], onSortModelChange: args => {
56
+ const sort = args[0];
57
+ const idx = (currSort.idx + 1) % 2;
58
+ const field = sort.field || currSort.field;
59
+ setCurrSort({ idx, field });
60
+ onChange(field
61
+ ? [...rows].sort((a, b) => {
62
+ const aa = (0, util_1.getStr)(a[field]);
63
+ const bb = (0, util_1.getStr)(b[field]);
64
+ return idx === 1 ? aa.localeCompare(bb) : bb.localeCompare(aa);
65
+ })
66
+ : rows);
67
+ } }) }));
68
+ }
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
- import type { Source } from '../util';
1
+ import type { Source } from '../types';
3
2
  declare function SourcesGrid({ rows, onChange, showTips, }: {
4
3
  rows: Source[];
5
4
  onChange: (arg: Source[]) => void;
6
5
  showTips: boolean;
7
- }): React.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
8
7
  export default SourcesGrid;