@jbrowse/plugin-linear-comparative-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 (276) hide show
  1. package/LICENSE +201 -0
  2. package/dist/LGVSyntenyDisplay/configSchemaF.d.ts +52 -0
  3. package/dist/LGVSyntenyDisplay/configSchemaF.js +18 -0
  4. package/dist/LGVSyntenyDisplay/configSchemaF.js.map +1 -0
  5. package/dist/LGVSyntenyDisplay/index.d.ts +3 -0
  6. package/dist/LGVSyntenyDisplay/index.js +24 -0
  7. package/dist/LGVSyntenyDisplay/index.js.map +1 -0
  8. package/dist/LGVSyntenyDisplay/model.d.ts +380 -0
  9. package/dist/LGVSyntenyDisplay/model.js +154 -0
  10. package/dist/LGVSyntenyDisplay/model.js.map +1 -0
  11. package/dist/LaunchLinearSyntenyView.d.ts +2 -0
  12. package/dist/LaunchLinearSyntenyView.js +58 -0
  13. package/dist/LaunchLinearSyntenyView.js.map +1 -0
  14. package/dist/LinearComparativeDisplay/configSchemaF.d.ts +5 -0
  15. package/dist/LinearComparativeDisplay/configSchemaF.js +18 -0
  16. package/dist/LinearComparativeDisplay/configSchemaF.js.map +1 -0
  17. package/dist/LinearComparativeDisplay/index.d.ts +3 -0
  18. package/dist/LinearComparativeDisplay/index.js +24 -0
  19. package/dist/LinearComparativeDisplay/index.js.map +1 -0
  20. package/dist/LinearComparativeDisplay/stateModelFactory.d.ts +275 -0
  21. package/dist/LinearComparativeDisplay/stateModelFactory.js +172 -0
  22. package/dist/LinearComparativeDisplay/stateModelFactory.js.map +1 -0
  23. package/dist/LinearComparativeView/components/Header.d.ts +7 -0
  24. package/dist/LinearComparativeView/components/Header.js +89 -0
  25. package/dist/LinearComparativeView/components/Header.js.map +1 -0
  26. package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +8 -0
  27. package/dist/LinearComparativeView/components/LinearComparativeView.js +99 -0
  28. package/dist/LinearComparativeView/components/LinearComparativeView.js.map +1 -0
  29. package/dist/LinearComparativeView/components/Rubberband.d.ts +9 -0
  30. package/dist/LinearComparativeView/components/Rubberband.js +225 -0
  31. package/dist/LinearComparativeView/components/Rubberband.js.map +1 -0
  32. package/dist/LinearComparativeView/index.d.ts +3 -0
  33. package/dist/LinearComparativeView/index.js +42 -0
  34. package/dist/LinearComparativeView/index.js.map +1 -0
  35. package/dist/LinearComparativeView/model.d.ts +326 -0
  36. package/dist/LinearComparativeView/model.js +346 -0
  37. package/dist/LinearComparativeView/model.js.map +1 -0
  38. package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +7 -0
  39. package/dist/LinearReadVsRef/LinearReadVsRef.js +284 -0
  40. package/dist/LinearReadVsRef/LinearReadVsRef.js.map +1 -0
  41. package/dist/LinearReadVsRef/index.d.ts +2 -0
  42. package/dist/LinearReadVsRef/index.js +55 -0
  43. package/dist/LinearReadVsRef/index.js.map +1 -0
  44. package/dist/LinearSyntenyDisplay/afterAttach.d.ts +2 -0
  45. package/dist/LinearSyntenyDisplay/afterAttach.js +108 -0
  46. package/dist/LinearSyntenyDisplay/afterAttach.js.map +1 -0
  47. package/dist/LinearSyntenyDisplay/components/Component.d.ts +6 -0
  48. package/dist/LinearSyntenyDisplay/components/Component.js +87 -0
  49. package/dist/LinearSyntenyDisplay/components/Component.js.map +1 -0
  50. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +6 -0
  51. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +160 -0
  52. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js.map +1 -0
  53. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +7 -0
  54. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +83 -0
  55. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js.map +1 -0
  56. package/dist/LinearSyntenyDisplay/components/util.d.ts +27 -0
  57. package/dist/LinearSyntenyDisplay/components/util.js +84 -0
  58. package/dist/LinearSyntenyDisplay/components/util.js.map +1 -0
  59. package/dist/LinearSyntenyDisplay/configSchemaF.d.ts +23 -0
  60. package/dist/LinearSyntenyDisplay/configSchemaF.js +36 -0
  61. package/dist/LinearSyntenyDisplay/configSchemaF.js.map +1 -0
  62. package/dist/LinearSyntenyDisplay/drawSynteny.d.ts +5 -0
  63. package/dist/LinearSyntenyDisplay/drawSynteny.js +235 -0
  64. package/dist/LinearSyntenyDisplay/drawSynteny.js.map +1 -0
  65. package/dist/LinearSyntenyDisplay/index.d.ts +3 -0
  66. package/dist/LinearSyntenyDisplay/index.js +47 -0
  67. package/dist/LinearSyntenyDisplay/index.js.map +1 -0
  68. package/dist/LinearSyntenyDisplay/model.d.ts +333 -0
  69. package/dist/LinearSyntenyDisplay/model.js +179 -0
  70. package/dist/LinearSyntenyDisplay/model.js.map +1 -0
  71. package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +8 -0
  72. package/dist/LinearSyntenyView/components/ExportSvgDialog.js +86 -0
  73. package/dist/LinearSyntenyView/components/ExportSvgDialog.js.map +1 -0
  74. package/dist/LinearSyntenyView/components/Icons.d.ts +4 -0
  75. package/dist/LinearSyntenyView/components/Icons.js +19 -0
  76. package/dist/LinearSyntenyView/components/Icons.js.map +1 -0
  77. package/dist/LinearSyntenyView/components/ImportCustomTrack.d.ts +11 -0
  78. package/dist/LinearSyntenyView/components/ImportCustomTrack.js +180 -0
  79. package/dist/LinearSyntenyView/components/ImportCustomTrack.js.map +1 -0
  80. package/dist/LinearSyntenyView/components/ImportForm.d.ts +6 -0
  81. package/dist/LinearSyntenyView/components/ImportForm.js +127 -0
  82. package/dist/LinearSyntenyView/components/ImportForm.js.map +1 -0
  83. package/dist/LinearSyntenyView/components/ImportSyntenyTrackSelector.d.ts +9 -0
  84. package/dist/LinearSyntenyView/components/ImportSyntenyTrackSelector.js +63 -0
  85. package/dist/LinearSyntenyView/components/ImportSyntenyTrackSelector.js.map +1 -0
  86. package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +7 -0
  87. package/dist/LinearSyntenyView/components/LinearSyntenyView.js +38 -0
  88. package/dist/LinearSyntenyView/components/LinearSyntenyView.js.map +1 -0
  89. package/dist/LinearSyntenyView/index.d.ts +3 -0
  90. package/dist/LinearSyntenyView/index.js +42 -0
  91. package/dist/LinearSyntenyView/index.js.map +1 -0
  92. package/dist/LinearSyntenyView/model.d.ts +754 -0
  93. package/dist/LinearSyntenyView/model.js +170 -0
  94. package/dist/LinearSyntenyView/model.js.map +1 -0
  95. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +6 -0
  96. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +13 -0
  97. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js.map +1 -0
  98. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +4 -0
  99. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +85 -0
  100. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js.map +1 -0
  101. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +5 -0
  102. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js +66 -0
  103. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js.map +1 -0
  104. package/dist/SyntenyFeatureDetail/index.d.ts +3 -0
  105. package/dist/SyntenyFeatureDetail/index.js +58 -0
  106. package/dist/SyntenyFeatureDetail/index.js.map +1 -0
  107. package/dist/SyntenyTrack/configSchema.d.ts +75 -0
  108. package/dist/SyntenyTrack/configSchema.js +16 -0
  109. package/dist/SyntenyTrack/configSchema.js.map +1 -0
  110. package/dist/SyntenyTrack/index.d.ts +3 -0
  111. package/dist/SyntenyTrack/index.js +19 -0
  112. package/dist/SyntenyTrack/index.js.map +1 -0
  113. package/dist/index.d.ts +7 -0
  114. package/dist/index.js +47 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/util.d.ts +25 -0
  117. package/dist/util.js +77 -0
  118. package/dist/util.js.map +1 -0
  119. package/esm/LGVSyntenyDisplay/configSchemaF.d.ts +52 -0
  120. package/esm/LGVSyntenyDisplay/configSchemaF.js +16 -0
  121. package/esm/LGVSyntenyDisplay/configSchemaF.js.map +1 -0
  122. package/esm/LGVSyntenyDisplay/index.d.ts +3 -0
  123. package/esm/LGVSyntenyDisplay/index.js +19 -0
  124. package/esm/LGVSyntenyDisplay/index.js.map +1 -0
  125. package/esm/LGVSyntenyDisplay/model.d.ts +380 -0
  126. package/esm/LGVSyntenyDisplay/model.js +152 -0
  127. package/esm/LGVSyntenyDisplay/model.js.map +1 -0
  128. package/esm/LaunchLinearSyntenyView.d.ts +2 -0
  129. package/esm/LaunchLinearSyntenyView.js +55 -0
  130. package/esm/LaunchLinearSyntenyView.js.map +1 -0
  131. package/esm/LinearComparativeDisplay/configSchemaF.d.ts +5 -0
  132. package/esm/LinearComparativeDisplay/configSchemaF.js +16 -0
  133. package/esm/LinearComparativeDisplay/configSchemaF.js.map +1 -0
  134. package/esm/LinearComparativeDisplay/index.d.ts +3 -0
  135. package/esm/LinearComparativeDisplay/index.js +19 -0
  136. package/esm/LinearComparativeDisplay/index.js.map +1 -0
  137. package/esm/LinearComparativeDisplay/stateModelFactory.d.ts +275 -0
  138. package/esm/LinearComparativeDisplay/stateModelFactory.js +170 -0
  139. package/esm/LinearComparativeDisplay/stateModelFactory.js.map +1 -0
  140. package/esm/LinearComparativeView/components/Header.d.ts +7 -0
  141. package/esm/LinearComparativeView/components/Header.js +61 -0
  142. package/esm/LinearComparativeView/components/Header.js.map +1 -0
  143. package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +8 -0
  144. package/esm/LinearComparativeView/components/LinearComparativeView.js +94 -0
  145. package/esm/LinearComparativeView/components/LinearComparativeView.js.map +1 -0
  146. package/esm/LinearComparativeView/components/Rubberband.d.ts +9 -0
  147. package/esm/LinearComparativeView/components/Rubberband.js +200 -0
  148. package/esm/LinearComparativeView/components/Rubberband.js.map +1 -0
  149. package/esm/LinearComparativeView/index.d.ts +3 -0
  150. package/esm/LinearComparativeView/index.js +14 -0
  151. package/esm/LinearComparativeView/index.js.map +1 -0
  152. package/esm/LinearComparativeView/model.d.ts +326 -0
  153. package/esm/LinearComparativeView/model.js +318 -0
  154. package/esm/LinearComparativeView/model.js.map +1 -0
  155. package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +7 -0
  156. package/esm/LinearReadVsRef/LinearReadVsRef.js +258 -0
  157. package/esm/LinearReadVsRef/LinearReadVsRef.js.map +1 -0
  158. package/esm/LinearReadVsRef/index.d.ts +2 -0
  159. package/esm/LinearReadVsRef/index.js +49 -0
  160. package/esm/LinearReadVsRef/index.js.map +1 -0
  161. package/esm/LinearSyntenyDisplay/afterAttach.d.ts +2 -0
  162. package/esm/LinearSyntenyDisplay/afterAttach.js +104 -0
  163. package/esm/LinearSyntenyDisplay/afterAttach.js.map +1 -0
  164. package/esm/LinearSyntenyDisplay/components/Component.d.ts +6 -0
  165. package/esm/LinearSyntenyDisplay/components/Component.js +59 -0
  166. package/esm/LinearSyntenyDisplay/components/Component.js.map +1 -0
  167. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +6 -0
  168. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +132 -0
  169. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js.map +1 -0
  170. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +7 -0
  171. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +58 -0
  172. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js.map +1 -0
  173. package/esm/LinearSyntenyDisplay/components/util.d.ts +27 -0
  174. package/esm/LinearSyntenyDisplay/components/util.js +77 -0
  175. package/esm/LinearSyntenyDisplay/components/util.js.map +1 -0
  176. package/esm/LinearSyntenyDisplay/configSchemaF.d.ts +23 -0
  177. package/esm/LinearSyntenyDisplay/configSchemaF.js +31 -0
  178. package/esm/LinearSyntenyDisplay/configSchemaF.js.map +1 -0
  179. package/esm/LinearSyntenyDisplay/drawSynteny.d.ts +5 -0
  180. package/esm/LinearSyntenyDisplay/drawSynteny.js +229 -0
  181. package/esm/LinearSyntenyDisplay/drawSynteny.js.map +1 -0
  182. package/esm/LinearSyntenyDisplay/index.d.ts +3 -0
  183. package/esm/LinearSyntenyDisplay/index.js +19 -0
  184. package/esm/LinearSyntenyDisplay/index.js.map +1 -0
  185. package/esm/LinearSyntenyDisplay/model.d.ts +333 -0
  186. package/esm/LinearSyntenyDisplay/model.js +151 -0
  187. package/esm/LinearSyntenyDisplay/model.js.map +1 -0
  188. package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +8 -0
  189. package/esm/LinearSyntenyView/components/ExportSvgDialog.js +60 -0
  190. package/esm/LinearSyntenyView/components/ExportSvgDialog.js.map +1 -0
  191. package/esm/LinearSyntenyView/components/Icons.d.ts +4 -0
  192. package/esm/LinearSyntenyView/components/Icons.js +11 -0
  193. package/esm/LinearSyntenyView/components/Icons.js.map +1 -0
  194. package/esm/LinearSyntenyView/components/ImportCustomTrack.d.ts +11 -0
  195. package/esm/LinearSyntenyView/components/ImportCustomTrack.js +152 -0
  196. package/esm/LinearSyntenyView/components/ImportCustomTrack.js.map +1 -0
  197. package/esm/LinearSyntenyView/components/ImportForm.d.ts +6 -0
  198. package/esm/LinearSyntenyView/components/ImportForm.js +99 -0
  199. package/esm/LinearSyntenyView/components/ImportForm.js.map +1 -0
  200. package/esm/LinearSyntenyView/components/ImportSyntenyTrackSelector.d.ts +9 -0
  201. package/esm/LinearSyntenyView/components/ImportSyntenyTrackSelector.js +38 -0
  202. package/esm/LinearSyntenyView/components/ImportSyntenyTrackSelector.js.map +1 -0
  203. package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +7 -0
  204. package/esm/LinearSyntenyView/components/LinearSyntenyView.js +10 -0
  205. package/esm/LinearSyntenyView/components/LinearSyntenyView.js.map +1 -0
  206. package/esm/LinearSyntenyView/index.d.ts +3 -0
  207. package/esm/LinearSyntenyView/index.js +14 -0
  208. package/esm/LinearSyntenyView/index.js.map +1 -0
  209. package/esm/LinearSyntenyView/model.d.ts +754 -0
  210. package/esm/LinearSyntenyView/model.js +141 -0
  211. package/esm/LinearSyntenyView/model.js.map +1 -0
  212. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +6 -0
  213. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +7 -0
  214. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js.map +1 -0
  215. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +4 -0
  216. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +78 -0
  217. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js.map +1 -0
  218. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +5 -0
  219. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js +38 -0
  220. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js.map +1 -0
  221. package/esm/SyntenyFeatureDetail/index.d.ts +3 -0
  222. package/esm/SyntenyFeatureDetail/index.js +30 -0
  223. package/esm/SyntenyFeatureDetail/index.js.map +1 -0
  224. package/esm/SyntenyTrack/configSchema.d.ts +75 -0
  225. package/esm/SyntenyTrack/configSchema.js +14 -0
  226. package/esm/SyntenyTrack/configSchema.js.map +1 -0
  227. package/esm/SyntenyTrack/index.d.ts +3 -0
  228. package/esm/SyntenyTrack/index.js +14 -0
  229. package/esm/SyntenyTrack/index.js.map +1 -0
  230. package/esm/index.d.ts +7 -0
  231. package/esm/index.js +41 -0
  232. package/esm/index.js.map +1 -0
  233. package/esm/util.d.ts +25 -0
  234. package/esm/util.js +69 -0
  235. package/esm/util.js.map +1 -0
  236. package/package.json +67 -0
  237. package/src/LGVSyntenyDisplay/configSchemaF.ts +22 -0
  238. package/src/LGVSyntenyDisplay/index.ts +20 -0
  239. package/src/LGVSyntenyDisplay/model.ts +177 -0
  240. package/src/LaunchLinearSyntenyView.ts +86 -0
  241. package/src/LinearComparativeDisplay/configSchemaF.ts +22 -0
  242. package/src/LinearComparativeDisplay/index.ts +21 -0
  243. package/src/LinearComparativeDisplay/stateModelFactory.ts +212 -0
  244. package/src/LinearComparativeView/components/Header.tsx +103 -0
  245. package/src/LinearComparativeView/components/LinearComparativeView.tsx +152 -0
  246. package/src/LinearComparativeView/components/Rubberband.tsx +329 -0
  247. package/src/LinearComparativeView/index.ts +15 -0
  248. package/src/LinearComparativeView/model.ts +395 -0
  249. package/src/LinearReadVsRef/LinearReadVsRef.tsx +360 -0
  250. package/src/LinearReadVsRef/index.ts +58 -0
  251. package/src/LinearSyntenyDisplay/afterAttach.ts +149 -0
  252. package/src/LinearSyntenyDisplay/components/Component.tsx +75 -0
  253. package/src/LinearSyntenyDisplay/components/LinearSyntenyRendering.tsx +200 -0
  254. package/src/LinearSyntenyDisplay/components/SyntenyTooltip.tsx +82 -0
  255. package/src/LinearSyntenyDisplay/components/util.ts +142 -0
  256. package/src/LinearSyntenyDisplay/configSchemaF.ts +38 -0
  257. package/src/LinearSyntenyDisplay/drawSynteny.ts +266 -0
  258. package/src/LinearSyntenyDisplay/index.ts +21 -0
  259. package/src/LinearSyntenyDisplay/model.ts +187 -0
  260. package/src/LinearSyntenyView/components/ExportSvgDialog.tsx +148 -0
  261. package/src/LinearSyntenyView/components/Icons.tsx +24 -0
  262. package/src/LinearSyntenyView/components/ImportCustomTrack.tsx +262 -0
  263. package/src/LinearSyntenyView/components/ImportForm.tsx +221 -0
  264. package/src/LinearSyntenyView/components/ImportSyntenyTrackSelector.tsx +82 -0
  265. package/src/LinearSyntenyView/components/LinearSyntenyView.tsx +20 -0
  266. package/src/LinearSyntenyView/index.ts +15 -0
  267. package/src/LinearSyntenyView/model.test.ts +1605 -0
  268. package/src/LinearSyntenyView/model.ts +169 -0
  269. package/src/LinearSyntenyView/svgcomponents/SVGBackground.tsx +21 -0
  270. package/src/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.tsx +176 -0
  271. package/src/SyntenyFeatureDetail/SyntenyFeatureDetail.tsx +64 -0
  272. package/src/SyntenyFeatureDetail/index.ts +36 -0
  273. package/src/SyntenyTrack/configSchema.ts +23 -0
  274. package/src/SyntenyTrack/index.tsx +15 -0
  275. package/src/index.tsx +42 -0
  276. package/src/util.ts +124 -0
@@ -0,0 +1,24 @@
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
+ const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
7
+ const configSchemaF_1 = __importDefault(require("./configSchemaF"));
8
+ const stateModelFactory_1 = __importDefault(require("./stateModelFactory"));
9
+ exports.default = (pluginManager) => {
10
+ pluginManager.addDisplayType(() => {
11
+ const configSchema = (0, configSchemaF_1.default)(pluginManager);
12
+ return new DisplayType_1.default({
13
+ name: 'LinearComparativeDisplay',
14
+ configSchema,
15
+ stateModel: (0, stateModelFactory_1.default)(configSchema),
16
+ trackType: 'SyntenyTrack',
17
+ viewType: 'LinearComparativeView',
18
+ ReactComponent: () => {
19
+ return null;
20
+ },
21
+ });
22
+ });
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearComparativeDisplay/index.ts"],"names":[],"mappings":";;;;;AAAA,kGAAyE;AAGzE,oEAAiD;AACjD,4EAAmD;AAEnD,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,uBAAmB,EAAC,aAAa,CAAC,CAAA;QACvD,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,0BAA0B;YAChC,YAAY;YACZ,UAAU,EAAE,IAAA,2BAAiB,EAAC,YAAY,CAAC;YAC3C,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,uBAAuB;YACjC,cAAc,EAAE,GAAG,EAAE;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,275 @@
1
+ /// <reference types="react" />
2
+ import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
3
+ import { Instance } from 'mobx-state-tree';
4
+ import { Feature } from '@jbrowse/core/util';
5
+ /**
6
+ * #stateModel LinearComparativeDisplay
7
+ */
8
+ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
9
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
10
+ type: import("mobx-state-tree").ISimpleType<string>;
11
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
12
+ } & {
13
+ type: import("mobx-state-tree").ISimpleType<"LinearComparativeDisplay">;
14
+ configuration: AnyConfigurationSchemaType;
15
+ height: import("mobx-state-tree").IType<number | undefined, number, number>;
16
+ }, {
17
+ rendererTypeName: string;
18
+ error: unknown;
19
+ message: string | undefined;
20
+ } & {
21
+ readonly RenderingComponent: import("react").FC<{
22
+ model: {
23
+ id: string;
24
+ type: string;
25
+ rpcDriverName: string | undefined;
26
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
27
+ rendererTypeName: string;
28
+ error: unknown;
29
+ message: string | undefined;
30
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
31
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
32
+ type: import("mobx-state-tree").ISimpleType<string>;
33
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
34
+ * #action
35
+ * controlled by a reaction
36
+ */
37
+ }, {
38
+ rendererTypeName: string;
39
+ error: unknown;
40
+ message: string | undefined;
41
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
42
+ onHorizontalScroll?: Function | undefined;
43
+ blockState?: Record<string, any> | undefined;
44
+ }>;
45
+ readonly DisplayBlurb: import("react").FC<{
46
+ model: {
47
+ id: string;
48
+ type: string;
49
+ rpcDriverName: string | undefined;
50
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
51
+ rendererTypeName: string; /**
52
+ * #action
53
+ * controlled by a reaction
54
+ */
55
+ error: unknown;
56
+ message: string | undefined;
57
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
58
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
59
+ type: import("mobx-state-tree").ISimpleType<string>;
60
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
61
+ }, {
62
+ rendererTypeName: string;
63
+ error: unknown;
64
+ message: string | undefined;
65
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
66
+ }> | null;
67
+ readonly adapterConfig: any;
68
+ readonly parentTrack: any;
69
+ renderProps(): any;
70
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
71
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
72
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
73
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
74
+ regionCannotBeRendered(): null;
75
+ } & {
76
+ setMessage(arg?: string | undefined): void;
77
+ setError(error?: unknown): void;
78
+ setRpcDriverName(rpcDriverName: string): void;
79
+ reload(): void;
80
+ } & {
81
+ renderInProgress: AbortController | undefined;
82
+ features: Feature[] | undefined;
83
+ message: string | undefined;
84
+ } & {
85
+ /**
86
+ * #getter
87
+ */
88
+ renderProps(): {
89
+ rpcDriverName: string | undefined;
90
+ displayModel: {
91
+ id: string;
92
+ type: "LinearComparativeDisplay";
93
+ rpcDriverName: string | undefined;
94
+ configuration: {
95
+ [x: string]: any;
96
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
97
+ setSubschema(slotName: string, data: unknown): any;
98
+ } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
99
+ height: number;
100
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
101
+ rendererTypeName: string;
102
+ error: unknown;
103
+ message: string | undefined;
104
+ } & {
105
+ readonly RenderingComponent: import("react").FC<{
106
+ model: {
107
+ id: string;
108
+ type: string;
109
+ rpcDriverName: string | undefined;
110
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
111
+ rendererTypeName: string;
112
+ error: unknown;
113
+ message: string | undefined;
114
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
115
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
116
+ type: import("mobx-state-tree").ISimpleType<string>;
117
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
118
+ * #action
119
+ * controlled by a reaction
120
+ */
121
+ }, {
122
+ rendererTypeName: string;
123
+ error: unknown;
124
+ message: string | undefined;
125
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
126
+ onHorizontalScroll?: Function | undefined;
127
+ blockState?: Record<string, any> | undefined;
128
+ }>;
129
+ readonly DisplayBlurb: import("react").FC<{
130
+ model: {
131
+ id: string;
132
+ type: string;
133
+ rpcDriverName: string | undefined;
134
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
135
+ rendererTypeName: string; /**
136
+ * #action
137
+ * controlled by a reaction
138
+ */
139
+ error: unknown;
140
+ message: string | undefined;
141
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
142
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
143
+ type: import("mobx-state-tree").ISimpleType<string>;
144
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
145
+ }, {
146
+ rendererTypeName: string;
147
+ error: unknown;
148
+ message: string | undefined;
149
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
150
+ }> | null;
151
+ readonly adapterConfig: any;
152
+ readonly parentTrack: any;
153
+ renderProps(): any;
154
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
155
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
156
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
157
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
158
+ regionCannotBeRendered(): null;
159
+ } & {
160
+ setMessage(arg?: string | undefined): void;
161
+ setError(error?: unknown): void;
162
+ setRpcDriverName(rpcDriverName: string): void;
163
+ reload(): void;
164
+ } & {
165
+ renderInProgress: AbortController | undefined;
166
+ features: Feature[] | undefined;
167
+ message: string | undefined;
168
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
169
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
170
+ type: import("mobx-state-tree").ISimpleType<string>;
171
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
172
+ } & {
173
+ type: import("mobx-state-tree").ISimpleType<"LinearComparativeDisplay">;
174
+ configuration: AnyConfigurationSchemaType;
175
+ height: import("mobx-state-tree").IType<number | undefined, number, number>;
176
+ }, {
177
+ rendererTypeName: string;
178
+ error: unknown;
179
+ message: string | undefined;
180
+ } & {
181
+ readonly RenderingComponent: import("react").FC<{
182
+ model: {
183
+ id: string;
184
+ type: string;
185
+ rpcDriverName: string | undefined;
186
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
187
+ rendererTypeName: string;
188
+ error: unknown;
189
+ message: string | undefined;
190
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
191
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
192
+ type: import("mobx-state-tree").ISimpleType<string>;
193
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
194
+ * #action
195
+ * controlled by a reaction
196
+ */
197
+ }, {
198
+ rendererTypeName: string;
199
+ error: unknown;
200
+ message: string | undefined;
201
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
202
+ onHorizontalScroll?: Function | undefined;
203
+ blockState?: Record<string, any> | undefined;
204
+ }>;
205
+ readonly DisplayBlurb: import("react").FC<{
206
+ model: {
207
+ id: string;
208
+ type: string;
209
+ rpcDriverName: string | undefined;
210
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
211
+ rendererTypeName: string; /**
212
+ * #action
213
+ * controlled by a reaction
214
+ */
215
+ error: unknown;
216
+ message: string | undefined;
217
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
218
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
219
+ type: import("mobx-state-tree").ISimpleType<string>;
220
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
221
+ }, {
222
+ rendererTypeName: string;
223
+ error: unknown;
224
+ message: string | undefined;
225
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
226
+ }> | null;
227
+ readonly adapterConfig: any;
228
+ readonly parentTrack: any;
229
+ renderProps(): any;
230
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
231
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
232
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
233
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
234
+ regionCannotBeRendered(): null;
235
+ } & {
236
+ setMessage(arg?: string | undefined): void;
237
+ setError(error?: unknown): void;
238
+ setRpcDriverName(rpcDriverName: string): void;
239
+ reload(): void;
240
+ } & {
241
+ renderInProgress: AbortController | undefined;
242
+ features: Feature[] | undefined;
243
+ message: string | undefined;
244
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
245
+ highResolutionScaling: number;
246
+ };
247
+ } & {
248
+ /**
249
+ * #action
250
+ * controlled by a reaction
251
+ */
252
+ setLoading(abortController: AbortController): void;
253
+ /**
254
+ * #action
255
+ * controlled by a reaction
256
+ */
257
+ setMessage(messageText: string): void;
258
+ /**
259
+ * #action
260
+ * controlled by a reaction
261
+ */
262
+ setRendered(args?: {
263
+ features: Feature[];
264
+ }): void;
265
+ /**
266
+ * #action
267
+ * controlled by a reaction
268
+ */
269
+ setError(error: unknown): void;
270
+ } & {
271
+ afterAttach(): void;
272
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
273
+ export default stateModelFactory;
274
+ export type LinearComparativeDisplayModel = ReturnType<typeof stateModelFactory>;
275
+ export type LinearComparativeDisplay = Instance<LinearComparativeDisplayModel>;
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const configuration_1 = require("@jbrowse/core/configuration");
4
+ const mobx_state_tree_1 = require("mobx-state-tree");
5
+ const util_1 = require("@jbrowse/core/util");
6
+ const tracks_1 = require("@jbrowse/core/util/tracks");
7
+ const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
8
+ /**
9
+ * #stateModel LinearComparativeDisplay
10
+ */
11
+ function stateModelFactory(configSchema) {
12
+ return mobx_state_tree_1.types
13
+ .compose('LinearComparativeDisplay', models_1.BaseDisplay, mobx_state_tree_1.types.model({
14
+ /**
15
+ * #property
16
+ */
17
+ type: mobx_state_tree_1.types.literal('LinearComparativeDisplay'),
18
+ /**
19
+ * #property
20
+ */
21
+ configuration: (0, configuration_1.ConfigurationReference)(configSchema),
22
+ /**
23
+ * #property
24
+ */
25
+ height: 100,
26
+ }))
27
+ .volatile(( /* self */) => ({
28
+ renderInProgress: undefined,
29
+ features: undefined,
30
+ message: undefined,
31
+ }))
32
+ .views(self => ({
33
+ /**
34
+ * #getter
35
+ */
36
+ renderProps() {
37
+ return {
38
+ rpcDriverName: self.rpcDriverName,
39
+ displayModel: self,
40
+ highResolutionScaling: 2,
41
+ };
42
+ },
43
+ }))
44
+ .actions(self => {
45
+ let renderInProgress;
46
+ return {
47
+ /**
48
+ * #action
49
+ * controlled by a reaction
50
+ */
51
+ setLoading(abortController) {
52
+ self.message = undefined;
53
+ self.error = undefined;
54
+ renderInProgress = abortController;
55
+ },
56
+ /**
57
+ * #action
58
+ * controlled by a reaction
59
+ */
60
+ setMessage(messageText) {
61
+ if (renderInProgress && !renderInProgress.signal.aborted) {
62
+ renderInProgress.abort();
63
+ }
64
+ self.message = messageText;
65
+ self.error = undefined;
66
+ renderInProgress = undefined;
67
+ },
68
+ /**
69
+ * #action
70
+ * controlled by a reaction
71
+ */
72
+ setRendered(args) {
73
+ if (!args) {
74
+ return;
75
+ }
76
+ const { features } = args;
77
+ const existingFeatures = self.features || [];
78
+ const featIds = new Set(existingFeatures.map(f => f.id()) || []);
79
+ const newFeatIds = new Set((features === null || features === void 0 ? void 0 : features.map(f => f.id())) || []);
80
+ let foundNewFeatureNotInExistingMap = false;
81
+ let foundExistingFeatureNotInNewMap = false;
82
+ for (let i = 0; i < features.length; i++) {
83
+ if (!featIds.has(features[i].id())) {
84
+ foundNewFeatureNotInExistingMap = true;
85
+ break;
86
+ }
87
+ }
88
+ for (let i = 0; i < existingFeatures.length; i++) {
89
+ if (!newFeatIds.has(existingFeatures[i].id())) {
90
+ foundExistingFeatureNotInNewMap = true;
91
+ break;
92
+ }
93
+ }
94
+ self.message = undefined;
95
+ self.error = undefined;
96
+ renderInProgress = undefined;
97
+ if (foundNewFeatureNotInExistingMap ||
98
+ foundExistingFeatureNotInNewMap ||
99
+ !self.features) {
100
+ self.features = features;
101
+ }
102
+ },
103
+ /**
104
+ * #action
105
+ * controlled by a reaction
106
+ */
107
+ setError(error) {
108
+ console.error(error);
109
+ if (renderInProgress && !renderInProgress.signal.aborted) {
110
+ renderInProgress.abort();
111
+ }
112
+ // the rendering failed for some reason
113
+ self.message = undefined;
114
+ self.error = error;
115
+ renderInProgress = undefined;
116
+ },
117
+ };
118
+ })
119
+ .actions(self => ({
120
+ afterAttach() {
121
+ (0, util_1.makeAbortableReaction)(
122
+ // @ts-expect-error
123
+ self, renderBlockData, renderBlockEffect, {
124
+ name: `${self.type} ${self.id} rendering`,
125
+ delay: 1000,
126
+ fireImmediately: true,
127
+ }, self.setLoading, self.setRendered, self.setError);
128
+ },
129
+ }));
130
+ }
131
+ function renderBlockData(self) {
132
+ const { rpcManager } = (0, util_1.getSession)(self);
133
+ const display = self;
134
+ // Alternative to readConfObject(config) is below used because renderProps is
135
+ // something under our control. Compare to serverSideRenderedBlock
136
+ (0, configuration_1.readConfObject)(self.configuration);
137
+ const { adapterConfig } = self;
138
+ const parent = (0, util_1.getContainingView)(self);
139
+ const sessionId = (0, tracks_1.getRpcSessionId)(self);
140
+ (0, mobx_state_tree_1.getSnapshot)(parent);
141
+ return parent.initialized
142
+ ? {
143
+ rpcManager,
144
+ renderProps: {
145
+ ...display.renderProps(),
146
+ view: parent,
147
+ adapterConfig,
148
+ sessionId,
149
+ timeout: 1000000,
150
+ self,
151
+ },
152
+ }
153
+ : undefined;
154
+ }
155
+ async function renderBlockEffect(props) {
156
+ if (!props) {
157
+ return;
158
+ }
159
+ const { rpcManager, renderProps } = props;
160
+ const { adapterConfig } = renderProps;
161
+ const view0 = renderProps.view.views[0];
162
+ const features = (await rpcManager.call('getFeats', 'CoreGetFeatures', {
163
+ regions: view0.staticBlocks.contentBlocks,
164
+ sessionId: 'getFeats',
165
+ adapterConfig,
166
+ }));
167
+ return {
168
+ features: (0, util_1.dedupe)(features, f => f.id()),
169
+ };
170
+ }
171
+ exports.default = stateModelFactory;
172
+ //# sourceMappingURL=stateModelFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../src/LinearComparativeDisplay/stateModelFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { LinearComparativeViewModel } from '../model';
3
+ type LCV = LinearComparativeViewModel;
4
+ declare const Header: ({ model }: {
5
+ model: LCV;
6
+ }) => React.JSX.Element;
7
+ export default Header;
@@ -0,0 +1,89 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const material_1 = require("@mui/material");
31
+ const mui_1 = require("tss-react/mui");
32
+ const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
33
+ const mobx_react_1 = require("mobx-react");
34
+ const ui_1 = require("@jbrowse/core/ui");
35
+ // icons
36
+ const MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
37
+ const Icons_1 = require("@jbrowse/core/ui/Icons");
38
+ const useStyles = (0, mui_1.makeStyles)()(() => ({
39
+ headerBar: {
40
+ gridArea: '1/1/auto/span 2',
41
+ display: 'flex',
42
+ },
43
+ spacer: {
44
+ flexGrow: 1,
45
+ },
46
+ iconButton: {
47
+ margin: 5,
48
+ },
49
+ bp: {
50
+ display: 'flex',
51
+ alignItems: 'center',
52
+ marginLeft: 10,
53
+ },
54
+ searchContainer: {
55
+ marginLeft: 5,
56
+ },
57
+ searchBox: {
58
+ display: 'flex',
59
+ },
60
+ }));
61
+ const TrackSelector = (0, mobx_react_1.observer)(({ model }) => {
62
+ return (react_1.default.createElement(material_1.IconButton, { onClick: model.activateTrackSelector, title: "Open track selector" },
63
+ react_1.default.createElement(Icons_1.TrackSelector, null)));
64
+ });
65
+ const Header = (0, mobx_react_1.observer)(function ({ model }) {
66
+ const { classes } = useStyles();
67
+ const [menuAnchorEl, setMenuAnchorEl] = (0, react_1.useState)();
68
+ const anyShowHeaders = model.views.some(view => !view.hideHeader);
69
+ return (react_1.default.createElement("div", { className: classes.headerBar },
70
+ react_1.default.createElement(TrackSelector, { model: model }),
71
+ react_1.default.createElement(material_1.IconButton, { onClick: event => setMenuAnchorEl(event.currentTarget), className: classes.iconButton },
72
+ react_1.default.createElement(MoreVert_1.default, null)),
73
+ !anyShowHeaders
74
+ ? model.views.map(view => (react_1.default.createElement("div", { key: view.id, className: classes.searchBox },
75
+ react_1.default.createElement("div", { className: classes.searchContainer },
76
+ react_1.default.createElement(plugin_linear_genome_view_1.SearchBox, { model: view, showHelp: false })),
77
+ react_1.default.createElement("div", { className: classes.bp },
78
+ react_1.default.createElement(material_1.Typography, { variant: "body2", color: "textSecondary", className: classes.bp },
79
+ Math.round(view.coarseTotalBp).toLocaleString('en-US'),
80
+ " bp")))))
81
+ : null,
82
+ react_1.default.createElement("div", { className: classes.spacer }),
83
+ menuAnchorEl ? (react_1.default.createElement(ui_1.Menu, { anchorEl: menuAnchorEl, open: true, onMenuItemClick: (_event, callback) => {
84
+ callback();
85
+ setMenuAnchorEl(undefined);
86
+ }, menuItems: model.headerMenuItems(), onClose: () => setMenuAnchorEl(undefined) })) : null));
87
+ });
88
+ exports.default = Header;
89
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/LinearComparativeView/components/Header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,4CAAsD;AACtD,uCAA0C;AAC1C,kFAA8D;AAC9D,2CAAqC;AACrC,yCAAuC;AAEvC,QAAQ;AACR,4EAAuD;AAIvD,kDAA2E;AAI3E,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,SAAS,EAAE;QACT,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,MAAM;KAChB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC;KACZ;IACD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;KACV;IACD,EAAE,EAAE;QACF,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,EAAE;KACf;IACD,eAAe,EAAE;QACf,UAAU,EAAE,CAAC;KACd;IACD,SAAS,EAAE;QACT,OAAO,EAAE,MAAM;KAChB;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,IAAA,qBAAQ,EAAC,CAAC,EAAE,KAAK,EAAkB,EAAE,EAAE;IAC3D,OAAO,CACL,8BAAC,qBAAU,IACT,OAAO,EAAE,KAAK,CAAC,qBAAqB,EACpC,KAAK,EAAC,qBAAqB;QAE3B,8BAAC,qBAAiB,OAAG,CACV,CACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,IAAA,qBAAQ,EAAC,UAAU,EAAE,KAAK,EAAkB;IACzD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjE,OAAO,CACL,uCAAK,SAAS,EAAE,OAAO,CAAC,SAAS;QAC/B,8BAAC,aAAa,IAAC,KAAK,EAAE,KAAK,GAAI;QAE/B,8BAAC,qBAAU,IACT,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,EACtD,SAAS,EAAE,OAAO,CAAC,UAAU;YAE7B,8BAAC,kBAAY,OAAG,CACL;QACZ,CAAC,cAAc;YACd,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtB,uCAAK,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC7C,uCAAK,SAAS,EAAE,OAAO,CAAC,eAAe;oBACrC,8BAAC,qCAAS,IAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAI,CACvC;gBACN,uCAAK,SAAS,EAAE,OAAO,CAAC,EAAE;oBACxB,8BAAC,qBAAU,IACT,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,eAAe,EACrB,SAAS,EAAE,OAAO,CAAC,EAAE;wBAEpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;8BAC5C,CACT,CACF,CACP,CAAC;YACJ,CAAC,CAAC,IAAI;QAER,uCAAK,SAAS,EAAE,OAAO,CAAC,MAAM,GAAI;QAEjC,YAAY,CAAC,CAAC,CAAC,CACd,8BAAC,SAAI,IACH,QAAQ,EAAE,YAAY,EACtB,IAAI,QACJ,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACpC,QAAQ,EAAE,CAAA;gBACV,eAAe,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC,EACD,SAAS,EAAE,KAAK,CAAC,eAAe,EAAE,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,GACzC,CACH,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { LinearComparativeViewModel } from '../model';
3
+ type LCV = LinearComparativeViewModel;
4
+ declare const _default: (props: {
5
+ ExtraButtons?: React.ReactNode;
6
+ model: LCV;
7
+ }) => React.JSX.Element;
8
+ export default _default;