@jbrowse/plugin-circular-view 2.3.4 → 2.4.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 (107) hide show
  1. package/dist/BaseChordDisplay/components/Loading.js.map +1 -1
  2. package/dist/BaseChordDisplay/index.d.ts +2 -2
  3. package/dist/BaseChordDisplay/index.js +4 -4
  4. package/dist/BaseChordDisplay/index.js.map +1 -1
  5. package/dist/BaseChordDisplay/models/{baseChordDisplayConfig.js → configSchema.js} +1 -1
  6. package/dist/BaseChordDisplay/models/configSchema.js.map +1 -0
  7. package/dist/BaseChordDisplay/models/{BaseChordDisplayModel.d.ts → model.d.ts} +12 -0
  8. package/dist/BaseChordDisplay/models/{BaseChordDisplayModel.js → model.js} +33 -23
  9. package/dist/BaseChordDisplay/models/model.js.map +1 -0
  10. package/dist/BaseChordDisplay/models/renderReaction.d.ts +1 -1
  11. package/dist/BaseChordDisplay/models/renderReaction.js +4 -5
  12. package/dist/BaseChordDisplay/models/renderReaction.js.map +1 -1
  13. package/dist/CircularView/components/CircularView.js +9 -20
  14. package/dist/CircularView/components/CircularView.js.map +1 -1
  15. package/dist/CircularView/components/Controls.d.ts +2 -2
  16. package/dist/CircularView/components/Controls.js +60 -24
  17. package/dist/CircularView/components/Controls.js.map +1 -1
  18. package/dist/CircularView/components/ExportSvgDialog.d.ts +8 -0
  19. package/dist/CircularView/components/ExportSvgDialog.js +76 -0
  20. package/dist/CircularView/components/ExportSvgDialog.js.map +1 -0
  21. package/dist/CircularView/components/Ruler.d.ts +2 -2
  22. package/dist/CircularView/components/Ruler.js +12 -20
  23. package/dist/CircularView/components/Ruler.js.map +1 -1
  24. package/dist/CircularView/models/CircularView.d.ts +30 -26
  25. package/dist/CircularView/models/CircularView.js +66 -22
  26. package/dist/CircularView/models/CircularView.js.map +1 -1
  27. package/dist/CircularView/models/slices.d.ts +23 -10
  28. package/dist/CircularView/models/slices.js +10 -7
  29. package/dist/CircularView/models/slices.js.map +1 -1
  30. package/dist/CircularView/models/viewportVisibleRegion.js +2 -4
  31. package/dist/CircularView/models/viewportVisibleRegion.js.map +1 -1
  32. package/dist/CircularView/svgcomponents/SVGBackground.d.ts +6 -0
  33. package/dist/CircularView/svgcomponents/SVGBackground.js +13 -0
  34. package/dist/CircularView/svgcomponents/SVGBackground.js.map +1 -0
  35. package/dist/CircularView/svgcomponents/SVGCircularView.d.ts +4 -0
  36. package/dist/CircularView/svgcomponents/SVGCircularView.js +40 -0
  37. package/dist/CircularView/svgcomponents/SVGCircularView.js.map +1 -0
  38. package/dist/LaunchCircularView/index.js +1 -1
  39. package/dist/LaunchCircularView/index.js.map +1 -1
  40. package/dist/index.d.ts +1 -2
  41. package/dist/index.js +1 -0
  42. package/dist/index.js.map +1 -1
  43. package/esm/BaseChordDisplay/components/Loading.js.map +1 -1
  44. package/esm/BaseChordDisplay/index.d.ts +2 -2
  45. package/esm/BaseChordDisplay/index.js +2 -2
  46. package/esm/BaseChordDisplay/index.js.map +1 -1
  47. package/esm/BaseChordDisplay/models/{baseChordDisplayConfig.js → configSchema.js} +1 -1
  48. package/esm/BaseChordDisplay/models/configSchema.js.map +1 -0
  49. package/esm/BaseChordDisplay/models/{BaseChordDisplayModel.d.ts → model.d.ts} +12 -0
  50. package/esm/BaseChordDisplay/models/{BaseChordDisplayModel.js → model.js} +34 -24
  51. package/esm/BaseChordDisplay/models/model.js.map +1 -0
  52. package/esm/BaseChordDisplay/models/renderReaction.d.ts +1 -1
  53. package/esm/BaseChordDisplay/models/renderReaction.js +4 -5
  54. package/esm/BaseChordDisplay/models/renderReaction.js.map +1 -1
  55. package/esm/CircularView/components/CircularView.js +9 -20
  56. package/esm/CircularView/components/CircularView.js.map +1 -1
  57. package/esm/CircularView/components/Controls.d.ts +2 -2
  58. package/esm/CircularView/components/Controls.js +37 -24
  59. package/esm/CircularView/components/Controls.js.map +1 -1
  60. package/esm/CircularView/components/ExportSvgDialog.d.ts +8 -0
  61. package/esm/CircularView/components/ExportSvgDialog.js +50 -0
  62. package/esm/CircularView/components/ExportSvgDialog.js.map +1 -0
  63. package/esm/CircularView/components/Ruler.d.ts +2 -2
  64. package/esm/CircularView/components/Ruler.js +12 -20
  65. package/esm/CircularView/components/Ruler.js.map +1 -1
  66. package/esm/CircularView/models/CircularView.d.ts +30 -26
  67. package/esm/CircularView/models/CircularView.js +63 -22
  68. package/esm/CircularView/models/CircularView.js.map +1 -1
  69. package/esm/CircularView/models/slices.d.ts +23 -10
  70. package/esm/CircularView/models/slices.js +10 -7
  71. package/esm/CircularView/models/slices.js.map +1 -1
  72. package/esm/CircularView/models/viewportVisibleRegion.js +2 -4
  73. package/esm/CircularView/models/viewportVisibleRegion.js.map +1 -1
  74. package/esm/CircularView/svgcomponents/SVGBackground.d.ts +6 -0
  75. package/esm/CircularView/svgcomponents/SVGBackground.js +7 -0
  76. package/esm/CircularView/svgcomponents/SVGBackground.js.map +1 -0
  77. package/esm/CircularView/svgcomponents/SVGCircularView.d.ts +4 -0
  78. package/esm/CircularView/svgcomponents/SVGCircularView.js +33 -0
  79. package/esm/CircularView/svgcomponents/SVGCircularView.js.map +1 -0
  80. package/esm/LaunchCircularView/index.js +1 -1
  81. package/esm/LaunchCircularView/index.js.map +1 -1
  82. package/esm/index.d.ts +1 -2
  83. package/esm/index.js +1 -0
  84. package/esm/index.js.map +1 -1
  85. package/package.json +5 -3
  86. package/src/BaseChordDisplay/components/Loading.tsx +1 -0
  87. package/src/BaseChordDisplay/index.ts +2 -2
  88. package/src/BaseChordDisplay/models/{BaseChordDisplayModel.ts → model.tsx} +47 -25
  89. package/src/BaseChordDisplay/models/renderReaction.ts +4 -7
  90. package/src/CircularView/components/CircularView.tsx +11 -26
  91. package/src/CircularView/components/Controls.tsx +41 -28
  92. package/src/CircularView/components/ExportSvgDialog.tsx +132 -0
  93. package/src/CircularView/components/Ruler.tsx +187 -182
  94. package/src/CircularView/models/CircularView.ts +87 -45
  95. package/src/CircularView/models/slices.ts +32 -12
  96. package/src/CircularView/models/viewportVisibleRegion.ts +2 -4
  97. package/src/CircularView/svgcomponents/SVGBackground.tsx +21 -0
  98. package/src/CircularView/svgcomponents/SVGCircularView.tsx +58 -0
  99. package/src/LaunchCircularView/index.ts +1 -1
  100. package/src/index.ts +5 -5
  101. package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js.map +0 -1
  102. package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js.map +0 -1
  103. package/esm/BaseChordDisplay/models/BaseChordDisplayModel.js.map +0 -1
  104. package/esm/BaseChordDisplay/models/baseChordDisplayConfig.js.map +0 -1
  105. /package/dist/BaseChordDisplay/models/{baseChordDisplayConfig.d.ts → configSchema.d.ts} +0 -0
  106. /package/esm/BaseChordDisplay/models/{baseChordDisplayConfig.d.ts → configSchema.d.ts} +0 -0
  107. /package/src/BaseChordDisplay/models/{baseChordDisplayConfig.ts → configSchema.ts} +0 -0
@@ -0,0 +1,40 @@
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.renderToSvg = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const material_1 = require("@mui/material");
9
+ const server_1 = require("react-dom/server");
10
+ const mobx_1 = require("mobx");
11
+ const util_1 = require("@jbrowse/core/util");
12
+ const ui_1 = require("@jbrowse/core/ui");
13
+ const SVGBackground_1 = __importDefault(require("./SVGBackground"));
14
+ const Ruler_1 = __importDefault(require("../components/Ruler"));
15
+ async function renderToSvg(model, opts) {
16
+ var _a;
17
+ await (0, mobx_1.when)(() => model.initialized);
18
+ const { themeName = 'default', Wrapper = ({ children }) => react_1.default.createElement(react_1.default.Fragment, null, children) } = opts;
19
+ const session = (0, util_1.getSession)(model);
20
+ const theme = (_a = session.allThemes) === null || _a === void 0 ? void 0 : _a.call(session)[themeName];
21
+ const { width, tracks, height } = model;
22
+ const shift = 50;
23
+ const displayResults = await Promise.all(tracks.map(async (track) => {
24
+ const display = track.displays[0];
25
+ await (0, mobx_1.when)(() => (display.ready !== undefined ? display.ready : true));
26
+ return { track, result: await display.renderSvg({ ...opts, theme }) };
27
+ }));
28
+ const { staticSlices, offsetRadians, centerXY } = model;
29
+ const deg = (0, util_1.radToDeg)(offsetRadians);
30
+ // the xlink namespace is used for rendering <image> tag
31
+ return (0, server_1.renderToStaticMarkup)(react_1.default.createElement(material_1.ThemeProvider, { theme: (0, ui_1.createJBrowseTheme)(theme) },
32
+ react_1.default.createElement(Wrapper, null,
33
+ react_1.default.createElement("svg", { width: width, height: height, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, width + shift * 2, height].toString() },
34
+ react_1.default.createElement(SVGBackground_1.default, { width: width, height: height, shift: shift }),
35
+ react_1.default.createElement("g", { transform: `translate(${centerXY}) rotate(${deg})` },
36
+ staticSlices.map((slice, i) => (react_1.default.createElement(Ruler_1.default, { key: i, model: model, slice: slice }))),
37
+ displayResults.map(({ result }, i) => (react_1.default.createElement(react_1.default.Fragment, { key: i }, result))))))));
38
+ }
39
+ exports.renderToSvg = renderToSvg;
40
+ //# sourceMappingURL=SVGCircularView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGCircularView.js","sourceRoot":"","sources":["../../../src/CircularView/svgcomponents/SVGCircularView.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,4CAA6C;AAC7C,6CAAuD;AACvD,+BAA2B;AAC3B,6CAAyD;AACzD,yCAAqD;AAIrD,oEAA2C;AAC3C,gEAAuC;AAIhC,KAAK,UAAU,WAAW,CAAC,KAAU,EAAE,IAAsB;;IAClE,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,8DAAG,QAAQ,CAAI,EAAE,GAC1E,IAAI,CAAA;IACN,MAAM,OAAO,GAAG,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,SAAS,wDAAK,SAAS,CAAC,CAAA;IAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACvC,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACvE,CAAC,CAAC,CACH,CAAA;IAED,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACvD,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAA;IAEnC,wDAAwD;IACxD,OAAO,IAAA,6BAAoB,EACzB,8BAAC,wBAAa,IAAC,KAAK,EAAE,IAAA,uBAAkB,EAAC,KAAK,CAAC;QAC7C,8BAAC,OAAO;YACN,uCACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAC,4BAA4B,EAClC,UAAU,EAAC,8BAA8B,EACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE;gBAErD,8BAAC,uBAAa,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAI;gBAC7D,qCAAG,SAAS,EAAE,aAAa,QAAQ,YAAY,GAAG,GAAG;oBAClD,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,8BAAC,eAAK,IAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAC9C,CAAC;oBACD,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACrC,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,CAAC,IAAG,MAAM,CAAkB,CAClD,CAAC,CACA,CACA,CACE,CACI,CACjB,CAAA;AACH,CAAC;AA3CD,kCA2CC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const mobx_1 = require("mobx");
4
4
  exports.default = (pluginManager) => {
5
5
  pluginManager.addToExtensionPoint('LaunchView-CircularView',
6
- // @ts-ignore
6
+ // @ts-expect-error
7
7
  async ({ session, assembly, loc, tracks = [], }) => {
8
8
  const { assemblyManager } = session;
9
9
  const view = session.addView('CircularView', {});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LaunchCircularView/index.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAS3B,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,mBAAmB,CAC/B,yBAAyB;IACzB,aAAa;IACb,KAAK,EAAE,EACL,OAAO,EACP,QAAQ,EACR,GAAG,EACH,MAAM,GAAG,EAAE,GAMZ,EAAE,EAAE;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAQ,CAAA;QAEvD,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;SACF;QAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,iDAAiD,CACvE,CAAA;SACF;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LaunchCircularView/index.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAS3B,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,mBAAmB,CAC/B,yBAAyB;IACzB,mBAAmB;IACnB,KAAK,EAAE,EACL,OAAO,EACP,QAAQ,EACR,GAAG,EACH,MAAM,GAAG,EAAE,GAMZ,EAAE,EAAE;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAQ,CAAA;QAEvD,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;SACF;QAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,iDAAiD,CACvE,CAAA;SACF;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
2
  import Plugin from '@jbrowse/core/Plugin';
3
- import { CircularViewModel, CircularViewStateModel } from './CircularView/models/CircularView';
4
3
  export default class CircularViewPlugin extends Plugin {
5
4
  name: string;
6
5
  install(pluginManager: PluginManager): void;
7
6
  configure(pluginManager: PluginManager): void;
8
7
  }
9
8
  export { baseChordDisplayConfig, BaseChordDisplayModel, BaseChordDisplayComponent, } from './BaseChordDisplay';
10
- export type { CircularViewModel, CircularViewStateModel };
9
+ export { type CircularViewModel, type CircularViewStateModel, } from './CircularView/models/CircularView';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BaseChordDisplayComponent = exports.BaseChordDisplayModel = exports.baseChordDisplayConfig = void 0;
7
7
  const util_1 = require("@jbrowse/core/util");
8
8
  const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
9
+ // locals
9
10
  const CircularView_1 = __importDefault(require("./CircularView"));
10
11
  const LaunchCircularView_1 = __importDefault(require("./LaunchCircularView"));
11
12
  // icons
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAgF;AAEhF,kEAAyC;AAOzC,kEAA0C;AAC1C,8EAAsD;AAEtD,QAAQ;AACR,8EAAyD;AAEzD,MAAqB,kBAAmB,SAAQ,gBAAM;IAAtD;;QACE,SAAI,GAAG,oBAAoB,CAAA;IAkB7B,CAAC;IAhBC,OAAO,CAAC,aAA4B;QAClC,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QAC5B,IAAA,4BAAmB,EAAC,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,SAAS,CAAC,aAA4B;QACpC,IAAI,IAAA,4BAAqB,EAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAClD,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC/C,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,mBAAa;gBACnB,OAAO,EAAE,CAAC,OAA6B,EAAE,EAAE;oBACzC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;gBACrC,CAAC;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAnBD,qCAmBC;AAED,uDAI2B;AAHzB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,6HAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAgF;AAEhF,kEAAyC;AAEzC,SAAS;AAET,kEAA0C;AAC1C,8EAAsD;AAEtD,QAAQ;AACR,8EAAyD;AAEzD,MAAqB,kBAAmB,SAAQ,gBAAM;IAAtD;;QACE,SAAI,GAAG,oBAAoB,CAAA;IAkB7B,CAAC;IAhBC,OAAO,CAAC,aAA4B;QAClC,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QAC5B,IAAA,4BAAmB,EAAC,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,SAAS,CAAC,aAA4B;QACpC,IAAI,IAAA,4BAAqB,EAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAClD,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC/C,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,mBAAa;gBACnB,OAAO,EAAE,CAAC,OAA6B,EAAE,EAAE;oBACzC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;gBACrC,CAAC;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAnBD,qCAmBC;AAED,uDAI2B;AAHzB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,6HAAA,yBAAyB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/components/Loading.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/components/Loading.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { default as BaseChordDisplayComponent } from './components/BaseChordDisplay';
2
- export { BaseChordDisplayModel } from './models/BaseChordDisplayModel';
3
- export { baseChordDisplayConfig } from './models/baseChordDisplayConfig';
2
+ export { BaseChordDisplayModel } from './models/model';
3
+ export { baseChordDisplayConfig } from './models/configSchema';
@@ -1,4 +1,4 @@
1
1
  export { default as BaseChordDisplayComponent } from './components/BaseChordDisplay';
2
- export { BaseChordDisplayModel } from './models/BaseChordDisplayModel';
3
- export { baseChordDisplayConfig } from './models/baseChordDisplayConfig';
2
+ export { BaseChordDisplayModel } from './models/model';
3
+ export { baseChordDisplayConfig } from './models/configSchema';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/BaseChordDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/BaseChordDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -20,4 +20,4 @@ const baseChordDisplayConfig = ConfigurationSchema('BaseChordDisplay', {
20
20
  explicitIdentifier: 'displayId',
21
21
  });
22
22
  export { baseChordDisplayConfig };
23
- //# sourceMappingURL=baseChordDisplayConfig.js.map
23
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/models/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;GAEG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,sBAAsB,GAAG,mBAAmB,CAChD,kBAAkB,EAClB;IACE;;OAEG;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kEAAkE;QACpE,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC;KACvD;CACF,EACD;IACE;;OAEG;IACH,kBAAkB,EAAE,WAAW;CAChC,CACF,CAAA;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import RendererType from '@jbrowse/core/pluggableElementTypes/renderers/RendererType';
3
3
  import { AnyReactComponentType, Feature } from '@jbrowse/core/util';
4
+ import { ExportSvgOptions } from '../../CircularView/models/CircularView';
5
+ import { ThemeOptions } from '@mui/material';
4
6
  export declare const BaseChordDisplayModel: import("mobx-state-tree").IModelType<{
5
7
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
6
8
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -35,6 +37,9 @@ export declare const BaseChordDisplayModel: import("mobx-state-tree").IModelType
35
37
  model: {
36
38
  id: string;
37
39
  type: string;
40
+ /**
41
+ * #action
42
+ */
38
43
  rpcDriverName: string | undefined;
39
44
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
40
45
  rendererTypeName: string;
@@ -123,4 +128,11 @@ export declare const BaseChordDisplayModel: import("mobx-state-tree").IModelType
123
128
  setRefNameMap(refNameMap: Record<string, string>): void;
124
129
  } & {
125
130
  afterAttach(): void;
131
+ } & {
132
+ /**
133
+ * #method
134
+ */
135
+ renderSvg(opts: ExportSvgOptions & {
136
+ theme: ThemeOptions;
137
+ }): Promise<JSX.Element>;
126
138
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -1,10 +1,11 @@
1
+ import React from 'react';
1
2
  import clone from 'clone';
2
3
  import { getParent, isAlive, types } from 'mobx-state-tree';
3
4
  // jbrowse
4
5
  import { getConf } from '@jbrowse/core/configuration';
5
6
  import { BaseDisplay } from '@jbrowse/core/pluggableElementTypes/models';
6
7
  import CircularChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType';
7
- import { getContainingView, getSession, getEnv, isFeature, makeAbortableReaction, } from '@jbrowse/core/util';
8
+ import { getContainingView, getSession, getEnv, isFeature, makeAbortableReaction, ReactRendering, } from '@jbrowse/core/util';
8
9
  import { getParentRenderProps, getRpcSessionId, getTrackAssemblyNames, } from '@jbrowse/core/util/tracks';
9
10
  // locals
10
11
  import { renderReactionData, renderReactionEffect } from './renderReaction';
@@ -24,19 +25,17 @@ export const BaseChordDisplayModel = types
24
25
  */
25
26
  assemblyName: types.maybe(types.string),
26
27
  }))
27
- .volatile(() => {
28
- return {
29
- // NOTE: all this volatile stuff has to be filled in at once
30
- // so that it stays consistent
31
- filled: false,
32
- reactElement: undefined,
33
- data: undefined,
34
- html: undefined,
35
- message: '',
36
- renderingComponent: undefined,
37
- refNameMap: undefined,
38
- };
39
- })
28
+ .volatile(() => ({
29
+ // NOTE: all this volatile stuff has to be filled in at once
30
+ // so that it stays consistent
31
+ filled: false,
32
+ reactElement: undefined,
33
+ data: undefined,
34
+ html: undefined,
35
+ message: '',
36
+ renderingComponent: undefined,
37
+ refNameMap: undefined,
38
+ }))
40
39
  .actions(self => {
41
40
  const { pluginManager } = getEnv(self);
42
41
  const track = self;
@@ -54,18 +53,17 @@ export const BaseChordDisplayModel = types
54
53
  * #getter
55
54
  */
56
55
  get blockDefinitions() {
57
- const origSlices = getContainingView(self)
58
- .staticSlices;
56
+ const view = getContainingView(self);
57
+ const origSlices = view.staticSlices;
59
58
  if (!self.refNameMap) {
60
59
  return origSlices;
61
60
  }
62
61
  const slices = clone(origSlices);
63
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
- slices.forEach((slice) => {
62
+ slices.forEach(slice => {
65
63
  const regions = slice.region.elided
66
64
  ? slice.region.regions
67
65
  : [slice.region];
68
- regions.forEach((region) => {
66
+ regions.forEach(region => {
69
67
  var _a;
70
68
  const renamed = (_a = self.refNameMap) === null || _a === void 0 ? void 0 : _a[region.refName];
71
69
  if (renamed && region.refName !== renamed) {
@@ -194,7 +192,7 @@ export const BaseChordDisplayModel = types
194
192
  .actions(self => ({
195
193
  afterAttach() {
196
194
  makeAbortableReaction(self, renderReactionData,
197
- // @ts-ignore
195
+ // @ts-expect-error
198
196
  renderReactionEffect, {
199
197
  name: `${self.type} ${self.id} rendering`,
200
198
  // delay: self.renderDelay || 300,
@@ -212,12 +210,24 @@ export const BaseChordDisplayModel = types
212
210
  }, {
213
211
  name: `${self.type} ${self.id} getting refNames`,
214
212
  fireImmediately: true,
215
- }, () => { }, refNameMap => {
216
- self.setRefNameMap(refNameMap);
217
- }, error => {
213
+ }, () => { }, refNameMap => self.setRefNameMap(refNameMap), error => {
218
214
  console.error(error);
219
215
  self.setError(error);
220
216
  });
221
217
  },
218
+ }))
219
+ .views(self => ({
220
+ /**
221
+ * #method
222
+ */
223
+ async renderSvg(opts) {
224
+ const data = renderReactionData(self);
225
+ const rendering = await renderReactionEffect({
226
+ ...data,
227
+ exportSVG: opts,
228
+ theme: opts.theme || data.renderProps.theme,
229
+ }, undefined, self);
230
+ return React.createElement(ReactRendering, { rendering: rendering });
231
+ },
222
232
  }));
223
- //# sourceMappingURL=BaseChordDisplayModel.js.map
233
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/models/model.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare function renderReactionData(self: any): {
12
12
  timeout: number;
13
13
  };
14
14
  };
15
- export declare function renderReactionEffect(props: any, signal: AbortSignal, self: any): Promise<{
15
+ export declare function renderReactionEffect(props: any, signal: AbortSignal | undefined, self: any): Promise<{
16
16
  message: any;
17
17
  html?: undefined;
18
18
  data?: undefined;
@@ -27,17 +27,16 @@ export async function renderReactionEffect(
27
27
  props, signal,
28
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
29
  self) {
30
+ var _a;
30
31
  if (!props) {
31
32
  throw new Error('cannot render with no props');
32
33
  }
33
- const { rendererType, rpcManager, cannotBeRenderedReason, renderArgs, renderProps, } = props;
34
+ const { rendererType, rpcManager, cannotBeRenderedReason, renderArgs, renderProps, exportSVG, } = props;
34
35
  if (cannotBeRenderedReason) {
35
36
  return { message: cannotBeRenderedReason };
36
37
  }
37
38
  // don't try to render 0 or NaN radius or no regions
38
- if (!props.renderProps.radius ||
39
- !props.renderArgs.regions ||
40
- !props.renderArgs.regions.length) {
39
+ if (!renderProps.radius || !((_a = renderArgs.regions) === null || _a === void 0 ? void 0 : _a.length)) {
41
40
  return { message: 'Skipping render' };
42
41
  }
43
42
  // check renderertype compatibility
@@ -47,7 +46,7 @@ self) {
47
46
  const { html, ...data } = await rendererType.renderInClient(rpcManager, {
48
47
  ...renderArgs,
49
48
  ...renderProps,
50
- signal,
49
+ exportSVG,
51
50
  });
52
51
  return {
53
52
  html,
@@ -1 +1 @@
1
- {"version":3,"file":"renderReaction.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/models/renderReaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAElE,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,IAAS;;IAC1C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAEvC,OAAO;QACL,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;QAC/B,UAAU,EAAE;YACV,YAAY,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,YAAY;YACpD,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YACxC,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,OAAO;SACjB;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;AACxC,8DAA8D;AAC9D,KAAU,EACV,MAAmB;AACnB,8DAA8D;AAC9D,IAAS;IAET,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,MAAM,EACJ,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,WAAW,GACZ,GAAG,KAAK,CAAA;IAET,IAAI,sBAAsB,EAAE;QAC1B,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;KAC3C;IAED,oDAAoD;IACpD,IACE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;QACzB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO;QACzB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAChC;QACA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA;KACtC;IAED,mCAAmC;IACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,YAAY,YAAY,CAAC,IAAI,2CAA2C,CACzE,CAAA;KACF;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE;QACtE,GAAG,UAAU;QACb,GAAG,WAAW;QACd,MAAM;KACP,CAAC,CAAA;IAEF,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,kBAAkB,EAAE,YAAY,CAAC,cAAc;KAChD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"renderReaction.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/models/renderReaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAElE,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,IAAS;;IAC1C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAEvC,OAAO;QACL,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;QAC/B,UAAU,EAAE;YACV,YAAY,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,YAAY;YACpD,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YACxC,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,OAAO;SACjB;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;AACxC,8DAA8D;AAC9D,KAAU,EACV,MAA+B;AAC/B,8DAA8D;AAC9D,IAAS;;IAET,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,MAAM,EACJ,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,SAAS,GACV,GAAG,KAAK,CAAA;IAET,IAAI,sBAAsB,EAAE;QAC1B,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;KAC3C;IAED,oDAAoD;IACpD,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE;QACtD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA;KACtC;IAED,mCAAmC;IACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,YAAY,YAAY,CAAC,IAAI,2CAA2C,CACzE,CAAA;KACF;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE;QACtE,GAAG,UAAU;QACb,GAAG,WAAW;QACd,SAAS;KACV,CAAC,CAAA;IAEF,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,kBAAkB,EAAE,YAAY,CAAC,cAAc;KAChD,CAAA;AACH,CAAC"}
@@ -13,23 +13,14 @@ const useStyles = makeStyles()(theme => ({
13
13
  position: 'relative',
14
14
  marginBottom: theme.spacing(1),
15
15
  overflow: 'hidden',
16
- background: 'white',
17
16
  },
18
17
  scroller: {
19
18
  overflow: 'auto',
20
19
  },
21
- sliceRoot: {
22
- background: 'none',
23
- // background: theme.palette.background.paper,
24
- boxSizing: 'content-box',
25
- display: 'block',
26
- },
27
20
  }));
28
21
  const Slices = observer(({ model }) => {
29
22
  return (React.createElement(React.Fragment, null,
30
- model.staticSlices.map(slice => (React.createElement(Ruler, { key: assembleLocString(
31
- // @ts-ignore
32
- slice.region.elided ? slice.region.regions[0] : slice.region), model: model, slice: slice }))),
23
+ model.staticSlices.map(slice => (React.createElement(Ruler, { key: assembleLocString(slice.region.elided ? slice.region.regions[0] : slice.region), model: model, slice: slice }))),
33
24
  model.tracks.map(track => {
34
25
  const display = track.displays[0];
35
26
  return (React.createElement(display.RenderingComponent, { key: display.id, display: display, view: model }));
@@ -49,18 +40,16 @@ const CircularViewLoaded = observer(function ({ model, }) {
49
40
  const { classes } = useStyles();
50
41
  return (React.createElement("div", { className: classes.root, style: { width, height }, "data-testid": id },
51
42
  React.createElement("div", { className: classes.scroller, style: { width, height } },
52
- React.createElement("div", { style: {
53
- transform: [`rotate(${offsetRadians}rad)`].join(' '),
43
+ React.createElement("svg", { style: {
44
+ transform: `rotate(${offsetRadians}rad)`,
54
45
  transition: 'transform 0.5s',
55
46
  transformOrigin: centerXY.map(x => `${x}px`).join(' '),
56
- } },
57
- React.createElement("svg", { style: {
58
- position: 'absolute',
59
- left: 0,
60
- top: 0,
61
- }, className: classes.sliceRoot, width: figureWidth + 'px', height: figureHeight + 'px', version: "1.1" },
62
- React.createElement("g", { transform: `translate(${centerXY})` },
63
- React.createElement(Slices, { model: model }))))),
47
+ position: 'absolute',
48
+ left: 0,
49
+ top: 0,
50
+ }, width: figureWidth, height: figureHeight },
51
+ React.createElement("g", { transform: `translate(${centerXY})` },
52
+ React.createElement(Slices, { model: model })))),
64
53
  React.createElement(Controls, { model: model }),
65
54
  hideVerticalResizeHandle ? null : (React.createElement(ResizeHandle, { onDrag: model.resizeHeight, style: {
66
55
  height: dragHandleHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"CircularView.js","sourceRoot":"","sources":["../../../src/CircularView/components/CircularView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CircularView.js","sourceRoot":"","sources":["../../../src/CircularView/components/CircularView.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CircularViewModel } from '../models/CircularView';
3
- declare const Controls: ({ model }: {
3
+ declare const _default: ({ model }: {
4
4
  model: CircularViewModel;
5
5
  }) => JSX.Element;
6
- export default Controls;
6
+ export default _default;
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { observer } from 'mobx-react';
3
3
  import { IconButton } from '@mui/material';
4
4
  import { makeStyles } from 'tss-react/mui';
5
- import { grey } from '@mui/material/colors';
5
+ import JBrowseMenu from '@jbrowse/core/ui/Menu';
6
6
  // icons
7
7
  import ZoomOutIcon from '@mui/icons-material/ZoomOut';
8
8
  import ZoomInIcon from '@mui/icons-material/ZoomIn';
@@ -10,40 +10,53 @@ import RotateLeftIcon from '@mui/icons-material/RotateLeft';
10
10
  import RotateRightIcon from '@mui/icons-material/RotateRight';
11
11
  import LockOpenIcon from '@mui/icons-material/LockOpen';
12
12
  import LockIcon from '@mui/icons-material/Lock';
13
+ import PhotoCamera from '@mui/icons-material/PhotoCamera';
14
+ import MoreVert from '@mui/icons-material/MoreVert';
13
15
  import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
14
- const useStyles = makeStyles()({
15
- iconButton: {
16
- padding: '4px',
17
- margin: '0 2px 0 2px',
18
- },
16
+ import { getSession } from '@jbrowse/core/util';
17
+ import ExportSvgDlg from './ExportSvgDialog';
18
+ const useStyles = makeStyles()(theme => ({
19
19
  controls: {
20
- overflow: 'hidden',
21
- whiteSpace: 'nowrap',
22
20
  position: 'absolute',
23
- background: grey[200],
24
- boxSizing: 'border-box',
25
- borderRight: '1px solid #a2a2a2',
26
- borderBottom: '1px solid #a2a2a2',
21
+ borderRight: `1px solid ${theme.palette.divider}`,
22
+ borderBottom: `1px solid ${theme.palette.divider}`,
27
23
  left: 0,
28
24
  top: 0,
29
25
  },
30
- });
31
- const Controls = observer(function ({ model }) {
26
+ }));
27
+ export default observer(function ({ model }) {
32
28
  const { classes } = useStyles();
29
+ const [anchorEl, setAnchorEl] = useState(null);
33
30
  return (React.createElement("div", { className: classes.controls },
34
- React.createElement(IconButton, { onClick: model.zoomOutButton, className: classes.iconButton, title: model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out', disabled: model.atMaxBpPerPx || model.lockedFitToWindow, color: "secondary" },
31
+ React.createElement(IconButton, { onClick: model.zoomOutButton, title: model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out', disabled: model.atMaxBpPerPx || model.lockedFitToWindow },
35
32
  React.createElement(ZoomOutIcon, null)),
36
- React.createElement(IconButton, { onClick: model.zoomInButton, className: classes.iconButton, title: "zoom in", disabled: model.atMinBpPerPx, color: "secondary" },
33
+ React.createElement(IconButton, { onClick: model.zoomInButton, disabled: model.atMinBpPerPx, title: "zoom in" },
37
34
  React.createElement(ZoomInIcon, null)),
38
- React.createElement(IconButton, { onClick: model.rotateCounterClockwiseButton, className: classes.iconButton, title: "rotate counter-clockwise", color: "secondary" },
35
+ React.createElement(IconButton, { onClick: model.rotateCounterClockwiseButton, title: "rotate counter-clockwise" },
39
36
  React.createElement(RotateLeftIcon, null)),
40
- React.createElement(IconButton, { onClick: model.rotateClockwiseButton, className: classes.iconButton, title: "rotate clockwise", color: "secondary" },
37
+ React.createElement(IconButton, { onClick: model.rotateClockwiseButton, title: "rotate clockwise" },
41
38
  React.createElement(RotateRightIcon, null)),
42
- React.createElement(IconButton, { onClick: model.toggleFitToWindowLock, className: classes.iconButton, title: model.lockedFitToWindow
39
+ React.createElement(IconButton, { onClick: model.toggleFitToWindowLock, title: model.lockedFitToWindow
43
40
  ? 'locked model to window size'
44
- : 'unlocked model to zoom further', disabled: model.tooSmallToLock, color: "secondary" }, model.lockedFitToWindow ? React.createElement(LockIcon, null) : React.createElement(LockOpenIcon, null)),
45
- model.hideTrackSelectorButton ? null : (React.createElement(IconButton, { onClick: model.activateTrackSelector, title: "Open track selector", "data-testid": "circular_track_select", color: "secondary" },
46
- React.createElement(TrackSelectorIcon, null)))));
41
+ : 'unlocked model to zoom further', disabled: model.tooSmallToLock }, model.lockedFitToWindow ? React.createElement(LockIcon, null) : React.createElement(LockOpenIcon, null)),
42
+ React.createElement(IconButton, { onClick: event => setAnchorEl(event.currentTarget) },
43
+ React.createElement(MoreVert, null)),
44
+ model.hideTrackSelectorButton ? null : (React.createElement(IconButton, { onClick: model.activateTrackSelector, title: "Open track selector", "data-testid": "circular_track_select" },
45
+ React.createElement(TrackSelectorIcon, null))),
46
+ anchorEl ? (React.createElement(JBrowseMenu, { anchorEl: anchorEl, menuItems: [
47
+ {
48
+ label: 'Export SVG',
49
+ icon: PhotoCamera,
50
+ onClick: () => {
51
+ getSession(model).queueDialog(handleClose => [
52
+ ExportSvgDlg,
53
+ { model, handleClose },
54
+ ]);
55
+ },
56
+ },
57
+ ], onMenuItemClick: (_event, callback) => {
58
+ callback();
59
+ setAnchorEl(null);
60
+ }, open: Boolean(anchorEl), onClose: () => setAnchorEl(null) })) : null));
47
61
  });
48
- export default Controls;
49
62
  //# sourceMappingURL=Controls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/CircularView/components/Controls.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/CircularView/components/Controls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ExportSvgOptions } from '../models/CircularView';
3
+ export default function ExportSvgDlg({ model, handleClose, }: {
4
+ model: {
5
+ exportSvg(opts: ExportSvgOptions): Promise<void>;
6
+ };
7
+ handleClose: () => void;
8
+ }): JSX.Element;
@@ -0,0 +1,50 @@
1
+ import React, { useState } from 'react';
2
+ import { Button, Checkbox, CircularProgress, DialogActions, DialogContent, FormControlLabel, MenuItem, TextField, Typography, } from '@mui/material';
3
+ import { Dialog, ErrorMessage } from '@jbrowse/core/ui';
4
+ import { getSession, useLocalStorage } from '@jbrowse/core/util';
5
+ function LoadingMessage() {
6
+ return (React.createElement("div", null,
7
+ React.createElement(CircularProgress, { size: 20, style: { marginRight: 20 } }),
8
+ React.createElement(Typography, { display: "inline" }, "Creating SVG")));
9
+ }
10
+ function useSvgLocal(key, val) {
11
+ return useLocalStorage('svg-' + key, val);
12
+ }
13
+ export default function ExportSvgDlg({ model, handleClose, }) {
14
+ const session = getSession(model);
15
+ const offscreenCanvas = typeof OffscreenCanvas !== 'undefined';
16
+ const [rasterizeLayers, setRasterizeLayers] = useState(offscreenCanvas);
17
+ const [loading, setLoading] = useState(false);
18
+ const [error, setError] = useState();
19
+ const [filename, setFilename] = useSvgLocal('file', 'jbrowse.svg');
20
+ const [themeName, setThemeName] = useSvgLocal('theme', session.themeName || 'default');
21
+ return (React.createElement(Dialog, { open: true, onClose: handleClose, title: "Export SVG" },
22
+ React.createElement(DialogContent, null,
23
+ error ? (React.createElement(ErrorMessage, { error: error })) : loading ? (React.createElement(LoadingMessage, null)) : null,
24
+ React.createElement(TextField, { helperText: "filename", value: filename, onChange: event => setFilename(event.target.value) }),
25
+ React.createElement("br", null),
26
+ session.allThemes ? (React.createElement(TextField, { select: true, label: "Theme", value: themeName, onChange: event => setThemeName(event.target.value) }, Object.entries(session.allThemes()).map(([key, val]) => (React.createElement(MenuItem, { key: key, value: key },
27
+ // @ts-expect-error
28
+ val.name || '(Unknown name)'))))) : null,
29
+ offscreenCanvas ? (React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: rasterizeLayers, onChange: () => setRasterizeLayers(val => !val) }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : (React.createElement(Typography, null, "Note: rasterizing layers not yet supported in this browser, so SVG size may be large"))),
30
+ React.createElement(DialogActions, null,
31
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => handleClose() }, "Cancel"),
32
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", onClick: async () => {
33
+ setLoading(true);
34
+ setError(undefined);
35
+ try {
36
+ await model.exportSvg({
37
+ rasterizeLayers,
38
+ filename,
39
+ themeName,
40
+ });
41
+ handleClose();
42
+ }
43
+ catch (e) {
44
+ console.error(e);
45
+ setError(e);
46
+ setLoading(false);
47
+ }
48
+ } }, "Submit"))));
49
+ }
50
+ //# sourceMappingURL=ExportSvgDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportSvgDialog.js","sourceRoot":"","sources":["../../../src/CircularView/components/ExportSvgDialog.tsx"],"names":[],"mappings":"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"}