react-msaview 3.2.0 → 3.2.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 (154) hide show
  1. package/bundle/index.js +12 -12
  2. package/dist/colorSchemes.js +2 -2
  3. package/dist/colorSchemes.js.map +1 -1
  4. package/dist/components/Loading.js +3 -1
  5. package/dist/components/Loading.js.map +1 -1
  6. package/dist/components/ResizeHandles.js +6 -2
  7. package/dist/components/ResizeHandles.js.map +1 -1
  8. package/dist/components/SequenceTextArea.js +9 -3
  9. package/dist/components/SequenceTextArea.js.map +1 -1
  10. package/dist/components/TextTrack.js +1 -1
  11. package/dist/components/TextTrack.js.map +1 -1
  12. package/dist/components/Track.js +6 -2
  13. package/dist/components/Track.js.map +1 -1
  14. package/dist/components/VerticalScrollbar.js +5 -1
  15. package/dist/components/VerticalScrollbar.js.map +1 -1
  16. package/dist/components/dialogs/AboutDialog.js +3 -1
  17. package/dist/components/dialogs/AboutDialog.js.map +1 -1
  18. package/dist/components/dialogs/AddTrackDialog.d.ts +2 -2
  19. package/dist/components/dialogs/AddTrackDialog.js +8 -3
  20. package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
  21. package/dist/components/dialogs/DomainDialog.js +6 -2
  22. package/dist/components/dialogs/DomainDialog.js.map +1 -1
  23. package/dist/components/dialogs/ExportSVGDialog.js +29 -17
  24. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  25. package/dist/components/dialogs/FeatureDialog.js +8 -4
  26. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  27. package/dist/components/dialogs/InterProScanDialog.js +23 -9
  28. package/dist/components/dialogs/InterProScanDialog.js.map +1 -1
  29. package/dist/components/dialogs/MetadataDialog.js +3 -1
  30. package/dist/components/dialogs/MetadataDialog.js.map +1 -1
  31. package/dist/components/dialogs/SettingsDialog.js +61 -23
  32. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  33. package/dist/components/dialogs/TracklistDialog.d.ts +2 -2
  34. package/dist/components/dialogs/TracklistDialog.js +8 -3
  35. package/dist/components/dialogs/TracklistDialog.js.map +1 -1
  36. package/dist/components/dialogs/UserProvidedDomainsDialog.js +10 -4
  37. package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -1
  38. package/dist/components/header/Header.js +3 -1
  39. package/dist/components/header/Header.js.map +1 -1
  40. package/dist/components/header/HeaderInfoArea.js +5 -2
  41. package/dist/components/header/HeaderInfoArea.js.map +1 -1
  42. package/dist/components/header/HeaderMenu.js +12 -4
  43. package/dist/components/header/HeaderMenu.js.map +1 -1
  44. package/dist/components/header/HeaderMenuExtra.js +34 -16
  45. package/dist/components/header/HeaderMenuExtra.js.map +1 -1
  46. package/dist/components/header/ZoomControls.js +18 -6
  47. package/dist/components/header/ZoomControls.js.map +1 -1
  48. package/dist/components/import/ImportForm.d.ts +2 -2
  49. package/dist/components/import/ImportForm.js +15 -2
  50. package/dist/components/import/ImportForm.js.map +1 -1
  51. package/dist/components/import/ImportFormExamples.js +44 -31
  52. package/dist/components/import/ImportFormExamples.js.map +1 -1
  53. package/dist/components/minimap/Minimap.js +12 -4
  54. package/dist/components/minimap/Minimap.js.map +1 -1
  55. package/dist/components/msa/MSACanvasBlock.js +5 -3
  56. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  57. package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
  58. package/dist/components/msa/MSAMouseoverCanvas.js +1 -1
  59. package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
  60. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +2 -2
  61. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  62. package/dist/components/msa/renderMSABlock.js +4 -4
  63. package/dist/components/msa/renderMSABlock.js.map +1 -1
  64. package/dist/components/msa/renderMSAMouseover.js +3 -3
  65. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  66. package/dist/components/tree/TreeBranchMenu.js +6 -3
  67. package/dist/components/tree/TreeBranchMenu.js.map +1 -1
  68. package/dist/components/tree/TreeCanvasBlock.js +11 -4
  69. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  70. package/dist/components/tree/TreeNodeMenu.js +1 -1
  71. package/dist/components/tree/TreeNodeMenu.js.map +1 -1
  72. package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +2 -2
  73. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +5 -2
  74. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
  75. package/dist/components/util.js +0 -3
  76. package/dist/components/util.js.map +1 -1
  77. package/dist/ggplotPalettes.js.map +1 -1
  78. package/dist/launchInterProScan.js +4 -4
  79. package/dist/launchInterProScan.js.map +1 -1
  80. package/dist/model/DialogQueue.js +0 -1
  81. package/dist/model/DialogQueue.js.map +1 -1
  82. package/dist/model.d.ts +57 -22
  83. package/dist/model.js +87 -50
  84. package/dist/model.js.map +1 -1
  85. package/dist/parseGFF.js +8 -6
  86. package/dist/parseGFF.js.map +1 -1
  87. package/dist/parseNewick.js +0 -1
  88. package/dist/parseNewick.js.map +1 -1
  89. package/dist/parsers/ClustalMSA.d.ts +1 -1
  90. package/dist/parsers/ClustalMSA.js.map +1 -1
  91. package/dist/parsers/FastaMSA.js +3 -3
  92. package/dist/parsers/FastaMSA.js.map +1 -1
  93. package/dist/parsers/StockholmMSA.d.ts +6 -6
  94. package/dist/parsers/StockholmMSA.js +4 -4
  95. package/dist/parsers/StockholmMSA.js.map +1 -1
  96. package/dist/renderToSvg.js +3 -6
  97. package/dist/renderToSvg.js.map +1 -1
  98. package/dist/rowCoordinateCalculations.d.ts +2 -0
  99. package/dist/rowCoordinateCalculations.js +26 -0
  100. package/dist/rowCoordinateCalculations.js.map +1 -0
  101. package/dist/rowCoordinateCalculations.test.d.ts +1 -0
  102. package/dist/rowCoordinateCalculations.test.js +18 -0
  103. package/dist/rowCoordinateCalculations.test.js.map +1 -0
  104. package/dist/version.d.ts +1 -1
  105. package/dist/version.js +1 -1
  106. package/package.json +7 -3
  107. package/src/colorSchemes.ts +4 -4
  108. package/src/components/Loading.tsx +7 -1
  109. package/src/components/ResizeHandles.tsx +6 -2
  110. package/src/components/SequenceTextArea.tsx +10 -4
  111. package/src/components/TextTrack.tsx +2 -2
  112. package/src/components/Track.tsx +8 -4
  113. package/src/components/VerticalScrollbar.tsx +6 -2
  114. package/src/components/dialogs/AboutDialog.tsx +7 -1
  115. package/src/components/dialogs/AddTrackDialog.tsx +13 -3
  116. package/src/components/dialogs/DomainDialog.tsx +9 -2
  117. package/src/components/dialogs/ExportSVGDialog.tsx +36 -17
  118. package/src/components/dialogs/FeatureDialog.tsx +7 -5
  119. package/src/components/dialogs/InterProScanDialog.tsx +20 -10
  120. package/src/components/dialogs/MetadataDialog.tsx +8 -1
  121. package/src/components/dialogs/SettingsDialog.tsx +76 -32
  122. package/src/components/dialogs/TracklistDialog.tsx +17 -3
  123. package/src/components/dialogs/UserProvidedDomainsDialog.tsx +11 -5
  124. package/src/components/header/Header.tsx +3 -1
  125. package/src/components/header/HeaderInfoArea.tsx +3 -2
  126. package/src/components/header/HeaderMenu.tsx +12 -7
  127. package/src/components/header/HeaderMenuExtra.tsx +28 -16
  128. package/src/components/header/ZoomControls.tsx +22 -6
  129. package/src/components/import/ImportForm.tsx +14 -2
  130. package/src/components/import/ImportFormExamples.tsx +59 -48
  131. package/src/components/minimap/Minimap.tsx +21 -9
  132. package/src/components/msa/MSACanvasBlock.tsx +5 -3
  133. package/src/components/msa/MSAMouseoverCanvas.tsx +5 -1
  134. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +4 -4
  135. package/src/components/msa/renderMSABlock.ts +10 -10
  136. package/src/components/msa/renderMSAMouseover.ts +3 -3
  137. package/src/components/tree/TreeBranchMenu.tsx +5 -3
  138. package/src/components/tree/TreeCanvasBlock.tsx +11 -4
  139. package/src/components/tree/TreeNodeMenu.tsx +1 -1
  140. package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +11 -2
  141. package/src/components/util.ts +1 -4
  142. package/src/ggplotPalettes.ts +1 -1
  143. package/src/launchInterProScan.ts +5 -5
  144. package/src/model/DialogQueue.ts +0 -1
  145. package/src/model.ts +99 -56
  146. package/src/parseGFF.ts +13 -11
  147. package/src/parseNewick.ts +3 -3
  148. package/src/parsers/ClustalMSA.ts +2 -2
  149. package/src/parsers/FastaMSA.ts +4 -4
  150. package/src/parsers/StockholmMSA.ts +10 -10
  151. package/src/renderToSvg.tsx +1 -2
  152. package/src/rowCoordinateCalculations.test.ts +19 -0
  153. package/src/rowCoordinateCalculations.ts +26 -0
  154. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parseNewick.js","sourceRoot":"","sources":["../src/parseNewick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAS;IACrC,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,8DAA8D;IAC9D,IAAI,IAAI,GAAG,EAAyB,CAAA;IACpC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,GAAG,EAAE,gBAAgB;gBACxB,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,IAAI,GAAG,OAAO,CAAA;gBACd,MAAK;YACP,KAAK,GAAG,EAAE,iBAAiB;gBACzB,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACzC,IAAI,GAAG,OAAO,CAAA;gBACd,MAAK;YACP,KAAK,GAAG,EAAE,qBAAqB;gBAC7B,IAAI,GAAG,SAAS,CAAC,GAAG,EAAG,CAAA;gBACvB,MAAK;YACP,KAAK,GAAG,EAAE,uBAAuB;gBAC/B,MAAK;YACP,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;gBACnB,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"parseNewick.js","sourceRoot":"","sources":["../src/parseNewick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAS;IACrC,MAAM,SAAS,GAAG,EAAE,CAAA;IAEpB,IAAI,IAAI,GAAG,EAAyB,CAAA;IACpC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACxB,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,GAAG,EAAE,gBAAgB;gBACxB,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,IAAI,GAAG,OAAO,CAAA;gBACd,MAAK;YACP,KAAK,GAAG,EAAE,iBAAiB;gBACzB,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACzC,IAAI,GAAG,OAAO,CAAA;gBACd,MAAK;YACP,KAAK,GAAG,EAAE,qBAAqB;gBAC7B,IAAI,GAAG,SAAS,CAAC,GAAG,EAAG,CAAA;gBACvB,MAAK;YACP,KAAK,GAAG,EAAE,uBAAuB;gBAC/B,MAAK;YACP,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;gBACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;gBACnB,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -13,7 +13,7 @@ export default class ClustalMSA {
13
13
  version: string;
14
14
  };
15
15
  };
16
- getRow(name: string): any;
16
+ getRow(name: string): string;
17
17
  getWidth(): any;
18
18
  getRowData(): undefined;
19
19
  getHeader(): {
@@ -1 +1 @@
1
- {"version":3,"file":"ClustalMSA.js","sourceRoot":"","sources":["../../src/parsers/ClustalMSA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,UAAU;IACrB,GAAG,CAA0B;IAErC,YAAY,IAAY;QACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAC9D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;IACpC,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,aAAa;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,IAAI;gBACR,IAAI;gBACJ,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;IAC3B,CAAC;IACD,IAAI,2BAA2B;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"ClustalMSA.js","sourceRoot":"","sources":["../../src/parsers/ClustalMSA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,UAAU;IACrB,GAAG,CAA0B;IAErC,YAAY,IAAY;QACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAC9D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAA;IACrC,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,aAAa;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,IAAI;gBACR,IAAI;gBACJ,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;IAC3B,CAAC;IACD,IAAI,2BAA2B;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -15,7 +15,7 @@ export default class FastaMSA {
15
15
  MSA;
16
16
  constructor(text) {
17
17
  this.MSA = {
18
- seqdata: Object.fromEntries(parseSmallFasta(text).map(m => [`${m.id}`, m.sequence])),
18
+ seqdata: Object.fromEntries(parseSmallFasta(text).map(m => [m.id, m.sequence])),
19
19
  };
20
20
  }
21
21
  getMSA() {
@@ -28,10 +28,10 @@ export default class FastaMSA {
28
28
  return Object.keys(this.MSA.seqdata);
29
29
  }
30
30
  getRow(name) {
31
- return this.MSA?.seqdata[name] || '';
31
+ return this.MSA.seqdata[name] || '';
32
32
  }
33
33
  getWidth() {
34
- const name = Object.keys(this.MSA?.seqdata)[0];
34
+ const name = Object.keys(this.MSA.seqdata)[0];
35
35
  return this.getRow(name).length;
36
36
  }
37
37
  getStructures() {
@@ -1 +1 @@
1
- {"version":3,"file":"FastaMSA.js","sourceRoot":"","sources":["../../src/parsers/FastaMSA.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;AACN,CAAC;AACD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACnB,GAAG,CAAqC;IAChD,YAAY,IAAY;QACtB,IAAI,CAAC,GAAG,GAAG;YACT,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACxD;SACF,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IACjC,CAAC;IAED,aAAa;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,EAAE;gBACb,IAAI;aACL,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,2BAA2B;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"FastaMSA.js","sourceRoot":"","sources":["../../src/parsers/FastaMSA.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;AACN,CAAC;AACD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACnB,GAAG,CAAqC;IAChD,YAAY,IAAY;QACtB,IAAI,CAAC,GAAG,GAAG;YACT,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACnD;SACF,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACrC,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAA;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IACjC,CAAC;IAED,aAAa;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,EAAE;gBACb,IAAI;aACL,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,2BAA2B;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -4,9 +4,9 @@ interface StockholmEntry {
4
4
  DE?: string[];
5
5
  NH?: string[];
6
6
  };
7
- gs: {
7
+ gs?: {
8
8
  AC: Record<string, string>;
9
- DR: Record<string, string>;
9
+ DR?: Record<string, string>;
10
10
  };
11
11
  gc?: {
12
12
  SS_cons?: string;
@@ -27,13 +27,13 @@ export default class StockholmMSA {
27
27
  DE?: string[];
28
28
  NH?: string[];
29
29
  };
30
- Accessions: Record<string, string>;
31
- Dbxref: Record<string, string>;
30
+ Accessions: Record<string, string> | undefined;
31
+ Dbxref: Record<string, string> | undefined;
32
32
  };
33
33
  getRowData(rowName: string): {
34
34
  name: string;
35
- accession: string;
36
- dbxref: string;
35
+ accession: string | undefined;
36
+ dbxref: string | undefined;
37
37
  };
38
38
  getNames(): string[];
39
39
  getSeqCoords(): void;
@@ -13,10 +13,10 @@ export default class StockholmMSA {
13
13
  return this.MSA;
14
14
  }
15
15
  getRow(name) {
16
- return this.MSA?.seqdata[name] || '';
16
+ return this.MSA.seqdata[name] || '';
17
17
  }
18
18
  getWidth() {
19
- const name = Object.keys(this.MSA?.seqdata)[0];
19
+ const name = Object.keys(this.MSA.seqdata)[0];
20
20
  return this.getRow(name).length;
21
21
  }
22
22
  get alignmentNames() {
@@ -32,7 +32,7 @@ export default class StockholmMSA {
32
32
  getRowData(rowName) {
33
33
  return {
34
34
  name: rowName,
35
- accession: this.MSA.gs?.AC?.[rowName],
35
+ accession: this.MSA.gs?.AC[rowName],
36
36
  dbxref: this.MSA.gs?.DR?.[rowName],
37
37
  };
38
38
  }
@@ -64,7 +64,7 @@ export default class StockholmMSA {
64
64
  return ret;
65
65
  }
66
66
  getTree() {
67
- const tree = this.MSA?.gf?.NH?.[0];
67
+ const tree = this.MSA.gf.NH?.[0];
68
68
  return tree
69
69
  ? generateNodeIds(parseNewick(tree))
70
70
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"StockholmMSA.js","sourceRoot":"","sources":["../../src/parsers/StockholmMSA.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StockholmMSA.js","sourceRoot":"","sources":["../../src/parsers/StockholmMSA.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react-refresh/only-export-components */
1
2
  import React from 'react';
2
3
  import { createRoot } from 'react-dom/client';
3
4
  import { when } from 'mobx';
@@ -84,12 +85,8 @@ function CoreRendering({ model, theme, width, height, offsetX, offsetY, Context,
84
85
  React.createElement("defs", null,
85
86
  React.createElement("clipPath", { id: clipId2 },
86
87
  React.createElement("rect", { x: 0, y: 0, width: msaAreaWidth, height: height }))),
87
- React.createElement("g", { clipPath: `url(#${clipId1})`,
88
- /* eslint-disable-next-line react/no-danger */
89
- dangerouslySetInnerHTML: { __html: ctx1.getSvg().innerHTML } }),
90
- React.createElement("g", { clipPath: `url(#${clipId2})`, transform: `translate(${treeAreaWidth} 0)`,
91
- /* eslint-disable-next-line react/no-danger */
92
- dangerouslySetInnerHTML: { __html: ctx2.getSvg().innerHTML } })));
88
+ React.createElement("g", { clipPath: `url(#${clipId1})`, dangerouslySetInnerHTML: { __html: ctx1.getSvg().innerHTML } }),
89
+ React.createElement("g", { clipPath: `url(#${clipId2})`, transform: `translate(${treeAreaWidth} 0)`, dangerouslySetInnerHTML: { __html: ctx2.getSvg().innerHTML } })));
93
90
  }
94
91
  function MinimapWrapper({ model, children, }) {
95
92
  const { minimapHeight, treeAreaWidth } = model;
@@ -1 +1 @@
1
- {"version":3,"file":"renderToSvg.js","sourceRoot":"","sources":["../src/renderToSvg.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderToSvg.js","sourceRoot":"","sources":["../src/renderToSvg.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mouseOverCoordToGlobalCoord(blanks: number[], pos: number): number;
2
+ export declare function globalCoordToRowSpecificCoord(seq: string, pos: number): number;
@@ -0,0 +1,26 @@
1
+ export function mouseOverCoordToGlobalCoord(blanks, pos) {
2
+ let i = 0; // 'mouse over coord'
3
+ let j = 0; // 'position in blanks array'
4
+ let k = 0; // 'global coord'/return value
5
+ for (; i < pos; i++, k++) {
6
+ // skip multiple gaps in a row
7
+ while (j < blanks.length && blanks[j] - 1 === k) {
8
+ j++;
9
+ k++;
10
+ }
11
+ }
12
+ return k;
13
+ }
14
+ export function globalCoordToRowSpecificCoord(seq, pos) {
15
+ let k = 0;
16
+ for (let i = 0; i < pos; i++) {
17
+ if (seq[i] !== '-') {
18
+ k++;
19
+ }
20
+ else if (k >= pos) {
21
+ break;
22
+ }
23
+ }
24
+ return k;
25
+ }
26
+ //# sourceMappingURL=rowCoordinateCalculations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowCoordinateCalculations.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,MAAgB,EAAE,GAAW;IACvE,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,qBAAqB;IAC/B,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,6BAA6B;IACvC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,8BAA8B;IAExC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,8BAA8B;QAC9B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,CAAC,EAAE,CAAA;YACH,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW,EAAE,GAAW;IACpE,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { expect, test } from 'vitest';
2
+ import { mouseOverCoordToGlobalCoord } from './rowCoordinateCalculations';
3
+ test('blanks3', () => {
4
+ const blanks = [2, 5, 8];
5
+ [
6
+ [0, 0],
7
+ [1, 1],
8
+ [2, 3],
9
+ [3, 4],
10
+ [4, 6],
11
+ [5, 7],
12
+ [6, 9],
13
+ [7, 10],
14
+ ].forEach(r => {
15
+ expect(mouseOverCoordToGlobalCoord(blanks, r[0])).toBe(r[1]);
16
+ });
17
+ });
18
+ //# sourceMappingURL=rowCoordinateCalculations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowCoordinateCalculations.test.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB;IACC;QACE,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,EAAE,CAAC;KAEV,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACZ,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "3.2.0";
1
+ export declare const version = "3.2.1";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '3.2.0';
1
+ export const version = '3.2.1';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-msaview",
3
3
  "author": "Colin",
4
- "version": "3.2.0",
4
+ "version": "3.2.1",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -23,8 +23,7 @@
23
23
  "build": "npm run build:esm && npm run build:bundle",
24
24
  "prepack": "npm run build",
25
25
  "postversion": "git push --follow-tags",
26
- "prestatedocs": "yarn tsc --build docgen/tsconfig.json",
27
- "statedocs": "rm -rf apidocs && mkdir apidocs && node docgen/dist/generateStateModelDocs.js",
26
+ "statedocs": "rm -rf apidocs && mkdir apidocs && yarn tsx docgen/generateStateModelDocs.ts",
28
27
  "poststatedocs": "npm run format"
29
28
  },
30
29
  "peerDependencies": {
@@ -38,11 +37,16 @@
38
37
  "react-dom": ">=16.8.0"
39
38
  },
40
39
  "dependencies": {
40
+ "@eslint/js": "^9.8.0",
41
+ "@mui/icons-material": "^5.16.6",
42
+ "@mui/material": "^5.16.6",
43
+ "@types/node": "^22.1.0",
41
44
  "clustal-js": "^2.0.0",
42
45
  "colord": "^2.9.3",
43
46
  "copy-to-clipboard": "^3.3.1",
44
47
  "d3-array": "^3.2.3",
45
48
  "d3-hierarchy": "^3.1.2",
49
+ "eslint": "^9.8.0",
46
50
  "file-saver": "^2.0.5",
47
51
  "pako": "^2.1.0",
48
52
  "rbush": "^3.0.1",
@@ -357,7 +357,7 @@ export function getClustalXColor(
357
357
  row: string,
358
358
  col: number,
359
359
  ) {
360
- const l = model.columns[row][col]
360
+ const l = model.columns[row]![col]!
361
361
  const {
362
362
  W = 0,
363
363
  L = 0,
@@ -495,8 +495,8 @@ export function getClustalXColor(
495
495
  // info http://www.jalview.org/help/html/colourSchemes/clustal.html
496
496
  // modifications:
497
497
  // reference to clustalX source code scheme modifies what the jalview.org
498
- // scheme says there the jalview.org colorscheme says WLVIMAFCHP but it
499
- // should be WLVIMAFCHPY, colprot.xml says e.g. %#ACFHILMVWYPp" which has Y
498
+ // scheme says there the jalview.org colorscheme says WLVIMAFCHP but it should
499
+ // be WLVIMAFCHPY, colprot.xml says e.g. %#ACFHILMVWYPp" which has Y
500
500
  export function getPercentIdentityColor(
501
501
  stats: Record<string, number>,
502
502
  total: number,
@@ -504,7 +504,7 @@ export function getPercentIdentityColor(
504
504
  row: string,
505
505
  col: number,
506
506
  ) {
507
- const l = model.columns[row][col]
507
+ const l = model.columns[row]![col]!
508
508
  const entries = Object.entries(stats)
509
509
  let ent = 0
510
510
  let letter = ''
@@ -19,7 +19,13 @@ const Reset = observer(function ({
19
19
  return (
20
20
  <div>
21
21
  <ErrorMessage error={error} />
22
- <Button variant="contained" color="primary" onClick={() => model.reset()}>
22
+ <Button
23
+ variant="contained"
24
+ color="primary"
25
+ onClick={() => {
26
+ model.reset()
27
+ }}
28
+ >
23
29
  Return to import form
24
30
  </Button>
25
31
  </div>
@@ -57,7 +57,9 @@ export const VerticalResizeHandle = observer(function ({
57
57
  return (
58
58
  <div>
59
59
  <div
60
- onMouseDown={() => setMouseDragging(true)}
60
+ onMouseDown={() => {
61
+ setMouseDragging(true)
62
+ }}
61
63
  style={{
62
64
  cursor: 'ew-resize',
63
65
  height: '100%',
@@ -123,7 +125,9 @@ export const HorizontalResizeHandle = observer(function ({
123
125
  return (
124
126
  <div>
125
127
  <div
126
- onMouseDown={() => setMouseDragging(true)}
128
+ onMouseDown={() => {
129
+ setMouseDragging(true)
130
+ }}
127
131
  style={{
128
132
  cursor: 'ns-resize',
129
133
  width: '100%',
@@ -25,7 +25,7 @@ export default function SequenceTextArea({ str }: { str: [string, string][] }) {
25
25
  const [showEmpty, setShowEmpty] = useState(false)
26
26
 
27
27
  const disp = str
28
- .map(([s1, s2]) => [s1, showGaps ? s2 : s2.replaceAll('-', '')])
28
+ .map(([s1, s2]) => [s1, showGaps ? s2 : s2.replaceAll('-', '')] as const)
29
29
  .filter(f => (showEmpty ? true : !!f[1]))
30
30
  .map(([s1, s2]) => `>${s1}\n${showGaps ? s2 : s2.replaceAll('-', '')}`)
31
31
  .join('\n')
@@ -37,7 +37,9 @@ export default function SequenceTextArea({ str }: { str: [string, string][] }) {
37
37
  onClick={() => {
38
38
  copy(disp)
39
39
  setCopied(true)
40
- setTimeout(() => setCopied(false), 500)
40
+ setTimeout(() => {
41
+ setCopied(false)
42
+ }, 500)
41
43
  }}
42
44
  >
43
45
  {copied ? 'Copied!' : 'Copy to clipboard'}
@@ -45,12 +47,16 @@ export default function SequenceTextArea({ str }: { str: [string, string][] }) {
45
47
  <Checkbox2
46
48
  label="Show gaps"
47
49
  checked={showGaps}
48
- onChange={() => setShowGaps(!showGaps)}
50
+ onChange={() => {
51
+ setShowGaps(!showGaps)
52
+ }}
49
53
  />
50
54
  <Checkbox2
51
55
  label="Show empty"
52
56
  checked={showEmpty}
53
- onChange={() => setShowEmpty(!showEmpty)}
57
+ onChange={() => {
58
+ setShowEmpty(!showEmpty)
59
+ }}
54
60
  />
55
61
  <TextField
56
62
  variant="outlined"
@@ -55,9 +55,9 @@ const AnnotationBlock = observer(function ({
55
55
 
56
56
  const xStart = Math.max(0, Math.floor(offsetX / colWidth))
57
57
  const xEnd = Math.max(0, Math.ceil((offsetX + blockSize) / colWidth))
58
- const str = data?.slice(xStart, xEnd)
58
+ const str = data.slice(xStart, xEnd)
59
59
  for (let i = 0; str && i < str.length; i++) {
60
- const letter = str[i]
60
+ const letter = str[i]!
61
61
  const color = colorScheme[letter.toUpperCase()]
62
62
  if (bgColor) {
63
63
  const x = i * colWidth + offsetX - (offsetX % colWidth)
@@ -24,7 +24,7 @@ export const TrackLabel = observer(function ({
24
24
  track,
25
25
  }: {
26
26
  model: MsaViewModel
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+
28
28
  track: any
29
29
  }) {
30
30
  const [anchorEl, setAnchorEl] = useState<HTMLButtonElement>()
@@ -53,7 +53,9 @@ export const TrackLabel = observer(function ({
53
53
  width: trackLabelHeight,
54
54
  height: trackLabelHeight,
55
55
  }}
56
- onClick={event => setAnchorEl(event.currentTarget)}
56
+ onClick={event => {
57
+ setAnchorEl(event.currentTarget)
58
+ }}
57
59
  >
58
60
  <ArrowDropDownIcon />
59
61
  </IconButton>
@@ -62,7 +64,9 @@ export const TrackLabel = observer(function ({
62
64
  anchorEl={anchorEl}
63
65
  transitionDuration={0}
64
66
  open
65
- onClose={() => setAnchorEl(undefined)}
67
+ onClose={() => {
68
+ setAnchorEl(undefined)
69
+ }}
66
70
  >
67
71
  <MenuItem
68
72
  dense
@@ -96,7 +100,7 @@ const Track = observer(function ({
96
100
  track,
97
101
  }: {
98
102
  model: MsaViewModel
99
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
+
100
104
  track: any
101
105
  }) {
102
106
  const { resizeHandleWidth } = model
@@ -70,8 +70,12 @@ const VerticalScrollbar = observer(({ model }: { model: MsaViewModel }) => {
70
70
  height: Math.max(b - t, 20),
71
71
  zIndex: 100,
72
72
  }}
73
- onMouseOver={() => setHovered(true)}
74
- onMouseOut={() => setHovered(false)}
73
+ onMouseOver={() => {
74
+ setHovered(true)
75
+ }}
76
+ onMouseOut={() => {
77
+ setHovered(false)
78
+ }}
75
79
  onMouseDown={event => {
76
80
  setMouseDown({
77
81
  clientY: event.clientY,
@@ -5,7 +5,13 @@ import { version } from '../../version'
5
5
 
6
6
  export default function AboutDialog({ onClose }: { onClose: () => void }) {
7
7
  return (
8
- <Dialog onClose={() => onClose()} open title="About this plugin">
8
+ <Dialog
9
+ onClose={() => {
10
+ onClose()
11
+ }}
12
+ open
13
+ title="About this plugin"
14
+ >
9
15
  <DialogContent>
10
16
  <Typography>
11
17
  MSAView {version} (
@@ -12,7 +12,7 @@ import type { FileLocation } from '@jbrowse/core/util/types'
12
12
  import { observer } from 'mobx-react'
13
13
  import type { MsaViewModel } from '../../model'
14
14
 
15
- export default observer(function ({
15
+ const AddTrackDialog = observer(function ({
16
16
  model,
17
17
  onClose,
18
18
  open,
@@ -26,7 +26,13 @@ export default observer(function ({
26
26
  const [currentOption, setCurrentOption] = useState('')
27
27
 
28
28
  return (
29
- <Dialog onClose={() => onClose()} open={open} title="Add track">
29
+ <Dialog
30
+ onClose={() => {
31
+ onClose()
32
+ }}
33
+ open={open}
34
+ title="Add track"
35
+ >
30
36
  <DialogContent>
31
37
  <Typography>
32
38
  Open relevant per-alignment tracks e.g. protein domains
@@ -62,7 +68,9 @@ export default observer(function ({
62
68
  <Button
63
69
  color="secondary"
64
70
  variant="contained"
65
- onClick={() => onClose()}
71
+ onClick={() => {
72
+ onClose()
73
+ }}
66
74
  >
67
75
  Cancel
68
76
  </Button>
@@ -71,3 +79,5 @@ export default observer(function ({
71
79
  </Dialog>
72
80
  )
73
81
  })
82
+
83
+ export default AddTrackDialog
@@ -20,10 +20,17 @@ export default function LaunchDomainViewDialog({
20
20
  <Dialog
21
21
  maxWidth="xl"
22
22
  title="Launch protein view"
23
- onClose={() => handleClose()}
23
+ onClose={() => {
24
+ handleClose()
25
+ }}
24
26
  open
25
27
  >
26
- <Tabs value={choice} onChange={(_, val) => setChoice(val)}>
28
+ <Tabs
29
+ value={choice}
30
+ onChange={(_, val) => {
31
+ setChoice(val)
32
+ }}
33
+ >
27
34
  <Tab value={0} label="Automatic lookup" />
28
35
  <Tab value={1} label="Manual" />
29
36
  </Tabs>
@@ -28,7 +28,13 @@ export default function ExportSVGDialog({
28
28
  const [error, setError] = useState<unknown>()
29
29
  const theme = useTheme()
30
30
  return (
31
- <Dialog onClose={() => onClose()} open title="Export SVG">
31
+ <Dialog
32
+ onClose={() => {
33
+ onClose()
34
+ }}
35
+ open
36
+ title="Export SVG"
37
+ >
32
38
  <DialogContent>
33
39
  {error ? <ErrorMessage error={error} /> : null}
34
40
  <Typography>Settings:</Typography>
@@ -36,14 +42,18 @@ export default function ExportSVGDialog({
36
42
  label="Include minimap?"
37
43
  disabled={exportType === 'entire'}
38
44
  checked={includeMinimap}
39
- onChange={() => setIncludeMinimap(!includeMinimap)}
45
+ onChange={() => {
46
+ setIncludeMinimap(!includeMinimap)
47
+ }}
40
48
  />
41
49
  <div>
42
50
  <FormControl>
43
51
  <FormLabel>Export type</FormLabel>
44
52
  <RadioGroup
45
53
  value={exportType}
46
- onChange={event => setExportType(event.target.value)}
54
+ onChange={event => {
55
+ setExportType(event.target.value)
56
+ }}
47
57
  >
48
58
  <FormControlLabel
49
59
  value="entire"
@@ -63,24 +73,33 @@ export default function ExportSVGDialog({
63
73
  <Button
64
74
  variant="contained"
65
75
  color="primary"
66
- onClick={async () => {
67
- try {
68
- await model.exportSVG({
69
- theme,
70
- includeMinimap:
71
- exportType === 'entire' ? false : includeMinimap,
72
- exportType,
73
- })
74
- } catch (e) {
75
- console.error(e)
76
- setError(e)
77
- }
78
- onClose()
76
+ onClick={() => {
77
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
78
+ ;(async () => {
79
+ try {
80
+ await model.exportSVG({
81
+ theme,
82
+ includeMinimap:
83
+ exportType === 'entire' ? false : includeMinimap,
84
+ exportType,
85
+ })
86
+ } catch (e) {
87
+ console.error(e)
88
+ setError(e)
89
+ }
90
+ onClose()
91
+ })()
79
92
  }}
80
93
  >
81
94
  Submit
82
95
  </Button>
83
- <Button variant="contained" color="secondary" onClick={() => onClose()}>
96
+ <Button
97
+ variant="contained"
98
+ color="secondary"
99
+ onClick={() => {
100
+ onClose()
101
+ }}
102
+ >
84
103
  Cancel
85
104
  </Button>
86
105
  </DialogActions>