@jbrowse/plugin-circular-view 2.3.4 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) 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} +32 -22
  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 +8 -17
  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 +10 -14
  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 +61 -17
  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/svgcomponents/SVGBackground.d.ts +6 -0
  31. package/dist/CircularView/svgcomponents/SVGBackground.js +13 -0
  32. package/dist/CircularView/svgcomponents/SVGBackground.js.map +1 -0
  33. package/dist/CircularView/svgcomponents/SVGCircularView.d.ts +4 -0
  34. package/dist/CircularView/svgcomponents/SVGCircularView.js +40 -0
  35. package/dist/CircularView/svgcomponents/SVGCircularView.js.map +1 -0
  36. package/esm/BaseChordDisplay/components/Loading.js.map +1 -1
  37. package/esm/BaseChordDisplay/index.d.ts +2 -2
  38. package/esm/BaseChordDisplay/index.js +2 -2
  39. package/esm/BaseChordDisplay/index.js.map +1 -1
  40. package/esm/BaseChordDisplay/models/{baseChordDisplayConfig.js → configSchema.js} +1 -1
  41. package/esm/BaseChordDisplay/models/configSchema.js.map +1 -0
  42. package/esm/BaseChordDisplay/models/{BaseChordDisplayModel.d.ts → model.d.ts} +12 -0
  43. package/esm/BaseChordDisplay/models/{BaseChordDisplayModel.js → model.js} +33 -23
  44. package/esm/BaseChordDisplay/models/model.js.map +1 -0
  45. package/esm/BaseChordDisplay/models/renderReaction.d.ts +1 -1
  46. package/esm/BaseChordDisplay/models/renderReaction.js +4 -5
  47. package/esm/BaseChordDisplay/models/renderReaction.js.map +1 -1
  48. package/esm/CircularView/components/CircularView.js +8 -17
  49. package/esm/CircularView/components/CircularView.js.map +1 -1
  50. package/esm/CircularView/components/Controls.d.ts +2 -2
  51. package/esm/CircularView/components/Controls.js +37 -24
  52. package/esm/CircularView/components/Controls.js.map +1 -1
  53. package/esm/CircularView/components/ExportSvgDialog.d.ts +8 -0
  54. package/esm/CircularView/components/ExportSvgDialog.js +50 -0
  55. package/esm/CircularView/components/ExportSvgDialog.js.map +1 -0
  56. package/esm/CircularView/components/Ruler.d.ts +2 -2
  57. package/esm/CircularView/components/Ruler.js +10 -14
  58. package/esm/CircularView/components/Ruler.js.map +1 -1
  59. package/esm/CircularView/models/CircularView.d.ts +30 -26
  60. package/esm/CircularView/models/CircularView.js +58 -17
  61. package/esm/CircularView/models/CircularView.js.map +1 -1
  62. package/esm/CircularView/models/slices.d.ts +23 -10
  63. package/esm/CircularView/models/slices.js +10 -7
  64. package/esm/CircularView/models/slices.js.map +1 -1
  65. package/esm/CircularView/svgcomponents/SVGBackground.d.ts +6 -0
  66. package/esm/CircularView/svgcomponents/SVGBackground.js +7 -0
  67. package/esm/CircularView/svgcomponents/SVGBackground.js.map +1 -0
  68. package/esm/CircularView/svgcomponents/SVGCircularView.d.ts +4 -0
  69. package/esm/CircularView/svgcomponents/SVGCircularView.js +33 -0
  70. package/esm/CircularView/svgcomponents/SVGCircularView.js.map +1 -0
  71. package/package.json +5 -3
  72. package/src/BaseChordDisplay/components/Loading.tsx +1 -0
  73. package/src/BaseChordDisplay/index.ts +2 -2
  74. package/src/BaseChordDisplay/models/{BaseChordDisplayModel.ts → model.tsx} +46 -24
  75. package/src/BaseChordDisplay/models/renderReaction.ts +4 -7
  76. package/src/CircularView/components/CircularView.tsx +11 -25
  77. package/src/CircularView/components/Controls.tsx +41 -28
  78. package/src/CircularView/components/ExportSvgDialog.tsx +132 -0
  79. package/src/CircularView/components/Ruler.tsx +193 -182
  80. package/src/CircularView/models/CircularView.ts +78 -40
  81. package/src/CircularView/models/slices.ts +32 -12
  82. package/src/CircularView/svgcomponents/SVGBackground.tsx +21 -0
  83. package/src/CircularView/svgcomponents/SVGCircularView.tsx +58 -0
  84. package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js.map +0 -1
  85. package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js.map +0 -1
  86. package/esm/BaseChordDisplay/models/BaseChordDisplayModel.js.map +0 -1
  87. package/esm/BaseChordDisplay/models/baseChordDisplayConfig.js.map +0 -1
  88. /package/dist/BaseChordDisplay/models/{baseChordDisplayConfig.d.ts → configSchema.d.ts} +0 -0
  89. /package/esm/BaseChordDisplay/models/{baseChordDisplayConfig.d.ts → configSchema.d.ts} +0 -0
  90. /package/src/BaseChordDisplay/models/{baseChordDisplayConfig.ts → configSchema.ts} +0 -0
@@ -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) {
@@ -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,17 +13,10 @@ 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,
@@ -49,18 +42,16 @@ const CircularViewLoaded = observer(function ({ model, }) {
49
42
  const { classes } = useStyles();
50
43
  return (React.createElement("div", { className: classes.root, style: { width, height }, "data-testid": id },
51
44
  React.createElement("div", { className: classes.scroller, style: { width, height } },
52
- React.createElement("div", { style: {
53
- transform: [`rotate(${offsetRadians}rad)`].join(' '),
45
+ React.createElement("svg", { style: {
46
+ transform: `rotate(${offsetRadians}rad)`,
54
47
  transition: 'transform 0.5s',
55
48
  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 }))))),
49
+ position: 'absolute',
50
+ left: 0,
51
+ top: 0,
52
+ }, width: figureWidth, height: figureHeight },
53
+ React.createElement("g", { transform: `translate(${centerXY})` },
54
+ React.createElement(Slices, { model: model })))),
64
55
  React.createElement(Controls, { model: model }),
65
56
  hideVerticalResizeHandle ? null : (React.createElement(ResizeHandle, { onDrag: model.resizeHeight, style: {
66
57
  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":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAE/C,QAAQ;AACR,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,OAAO,eAAe,MAAM,iCAAiC,CAAA;AAC7D,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAE5C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACjD,YAAY,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QAClD,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,CAAC;KACP;CACF,CAAC,CAAC,CAAA;AAEH,eAAe,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAgC;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAClE,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC9B,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,aAAa,EAC5B,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,EAClE,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,iBAAiB;YAEvD,oBAAC,WAAW,OAAG,CACJ;QAEb,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,YAAY,EAC3B,QAAQ,EAAE,KAAK,CAAC,YAAY,EAC5B,KAAK,EAAC,SAAS;YAEf,oBAAC,UAAU,OAAG,CACH;QAEb,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,4BAA4B,EAC3C,KAAK,EAAC,0BAA0B;YAEhC,oBAAC,cAAc,OAAG,CACP;QAEb,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,qBAAqB,EACpC,KAAK,EAAC,kBAAkB;YAExB,oBAAC,eAAe,OAAG,CACR;QAEb,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,qBAAqB,EACpC,KAAK,EACH,KAAK,CAAC,iBAAiB;gBACrB,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,gCAAgC,EAEtC,QAAQ,EAAE,KAAK,CAAC,cAAc,IAE7B,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAC,CAAC,CAAC,oBAAC,YAAY,OAAG,CAC/C;QAEb,oBAAC,UAAU,IAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;YAC5D,oBAAC,QAAQ,OAAG,CACD;QAEZ,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,oBAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,qBAAqB,EACpC,KAAK,EAAC,qBAAqB,iBACf,uBAAuB;YAEnC,oBAAC,iBAAiB,OAAG,CACV,CACd;QAEA,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,WAAW,IACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,GAAG,EAAE;wBACZ,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC3C,YAAY;4BACZ,EAAE,KAAK,EAAE,WAAW,EAAE;yBACvB,CAAC,CAAA;oBACJ,CAAC;iBACF;aACF,EACD,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACpC,QAAQ,EAAE,CAAA;gBACV,WAAW,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,EACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAChC,CACH,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -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-ignore
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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"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { Slice } from '../models/slices';
3
3
  import { CircularViewModel } from '../models/CircularView';
4
- declare const CircularRuler: ({ model, slice }: {
4
+ declare const _default: ({ model, slice, }: {
5
5
  model: CircularViewModel;
6
6
  slice: Slice;
7
7
  }) => JSX.Element;
8
- export default CircularRuler;
8
+ export default _default;
@@ -34,11 +34,11 @@ function sliceArcPath(slice, radiusPx, startBase, endBase) {
34
34
  ...endXY,
35
35
  ].join(' ');
36
36
  }
37
- const ElisionRulerArc = observer(({ model, slice }) => {
37
+ const ElisionRulerArc = observer(function ({ model, slice, region, }) {
38
38
  const theme = useTheme();
39
39
  const { radiusPx: modelRadiusPx } = model;
40
40
  const radiusPx = modelRadiusPx + 1;
41
- const { endRadians, startRadians, region } = slice;
41
+ const { endRadians, startRadians } = slice;
42
42
  const startXY = polarToCartesian(radiusPx, startRadians);
43
43
  const endXY = polarToCartesian(radiusPx, endRadians);
44
44
  const widthPx = (endRadians - startRadians) * radiusPx;
@@ -64,7 +64,7 @@ const ElisionRulerArc = observer(({ model, slice }) => {
64
64
  ...endXY,
65
65
  ].join(' '), stroke: theme.palette.text.secondary, strokeWidth: 2, strokeDasharray: "2,2", fill: "none" })));
66
66
  });
67
- const RulerLabel = observer(({ view, text, maxWidthPx, radians, radiusPx, title, color, }) => {
67
+ const RulerLabel = observer(function ({ view, text, maxWidthPx, radians, radiusPx, title, color, }) {
68
68
  const { classes } = useStyles();
69
69
  const textXY = polarToCartesian(radiusPx + 5, radians);
70
70
  if (!text) {
@@ -91,15 +91,15 @@ const RulerLabel = observer(({ view, text, maxWidthPx, radians, radiusPx, title,
91
91
  // if you get here there is no room for the text at all
92
92
  return null;
93
93
  });
94
- const RegionRulerArc = observer(({ model, slice }) => {
94
+ const RegionRulerArc = observer(function ({ model, slice, region, }) {
95
95
  const theme = useTheme();
96
96
  const { radiusPx } = model;
97
- const { region, endRadians, startRadians } = slice;
97
+ const { endRadians, startRadians } = slice;
98
98
  const centerRadians = (endRadians + startRadians) / 2;
99
99
  const widthPx = (endRadians - startRadians) * radiusPx;
100
100
  const session = getSession(model);
101
101
  let color;
102
- const assembly = session.assemblyManager.get(slice.region.assemblyName);
102
+ const assembly = session.assemblyManager.get(region.assemblyName);
103
103
  if (assembly) {
104
104
  color = assembly.getRefNameColor(region.refName);
105
105
  }
@@ -117,16 +117,12 @@ const RegionRulerArc = observer(({ model, slice }) => {
117
117
  // TODO: slice flipping
118
118
  return (React.createElement(React.Fragment, null,
119
119
  React.createElement(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }),
120
- React.createElement("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" },
121
- React.createElement("title", null, region.refName))));
120
+ React.createElement("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })));
122
121
  });
123
- const CircularRuler = observer(({ model, slice }) => {
122
+ export default observer(function ({ model, slice, }) {
124
123
  if (slice.region.elided) {
125
- return (React.createElement(ElisionRulerArc, { key:
126
- /* @ts-ignore */
127
- assembleLocString(slice.region.regions[0]), model: model, slice: slice }));
124
+ return (React.createElement(ElisionRulerArc, { key: assembleLocString(slice.region.regions[0]), model: model, region: slice.region, slice: slice }));
128
125
  }
129
- return (React.createElement(RegionRulerArc, { key: assembleLocString(slice.region), model: model, slice: slice }));
126
+ return (React.createElement(RegionRulerArc, { key: assembleLocString(slice.region), region: slice.region, model: model, slice: slice }));
130
127
  });
131
- export default CircularRuler;
132
128
  //# sourceMappingURL=Ruler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ruler.js","sourceRoot":"","sources":["../../../src/CircularView/components/Ruler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ruler.js","sourceRoot":"","sources":["../../../src/CircularView/components/Ruler.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
+ import React from 'react';
1
2
  import PluginManager from '@jbrowse/core/PluginManager';
2
3
  import { SnapshotOrInstance, Instance } from 'mobx-state-tree';
3
4
  import { Region } from '@jbrowse/core/util/types/mst';
4
5
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
5
- import { Region as IRegion } from '@jbrowse/core/util';
6
+ import { MenuItem } from '@jbrowse/core/ui';
7
+ import { SliceRegion } from './slices';
8
+ export interface ExportSvgOptions {
9
+ rasterizeLayers?: boolean;
10
+ filename?: string;
11
+ Wrapper?: React.FC<any>;
12
+ themeName?: string;
13
+ }
6
14
  /**
7
15
  * #stateModel CircularView
8
16
  * extends `BaseViewModel`
@@ -27,7 +35,9 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
27
35
  end: import("mobx-state-tree").ISimpleType<number>;
28
36
  reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
29
37
  } & {
30
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
38
+ assemblyName: import("mobx-state-tree").ISimpleType<string>; /**
39
+ * #property
40
+ */
31
41
  }, {
32
42
  setRefName(newRefName: string): void;
33
43
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -43,7 +53,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
43
53
  }, {
44
54
  width: number;
45
55
  } & {
46
- menuItems(): import("@jbrowse/core/ui").MenuItem[];
56
+ menuItems(): MenuItem[];
47
57
  } & {
48
58
  setDisplayName(name: string): void;
49
59
  setWidth(newWidth: number): void;
@@ -56,10 +66,6 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
56
66
  * #getter
57
67
  */
58
68
  readonly width: number;
59
- /**
60
- * #getter
61
- */
62
- readonly staticSlices: import("./slices").Slice[];
63
69
  /**
64
70
  * #getter
65
71
  */
@@ -132,17 +138,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
132
138
  * this is displayedRegions, post-processed to
133
139
  * elide regions that are too small to see reasonably
134
140
  */
135
- readonly elidedRegions: ({
136
- elided: true;
137
- widthBp: number;
138
- regions: IRegion[];
139
- } | {
140
- elided: false;
141
- widthBp: number;
142
- start: number;
143
- end: number;
144
- refName: string;
145
- })[];
141
+ readonly elidedRegions: SliceRegion[];
146
142
  /**
147
143
  * #getter
148
144
  */
@@ -151,6 +147,11 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
151
147
  * #getter
152
148
  */
153
149
  readonly initialized: boolean;
150
+ } & {
151
+ /**
152
+ * #getter
153
+ */
154
+ readonly staticSlices: import("./slices").Slice[];
154
155
  } & {
155
156
  /**
156
157
  * #getter
@@ -241,15 +242,18 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
241
242
  * #action
242
243
  */
243
244
  toggleFitToWindowLock(): boolean;
245
+ /**
246
+ * #action
247
+ * creates an svg export and save using FileSaver
248
+ */
249
+ exportSvg(opts?: ExportSvgOptions): Promise<void>;
250
+ } & {
251
+ /**
252
+ * #method
253
+ * return the view menu items
254
+ */
255
+ menuItems(): MenuItem[];
244
256
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
245
257
  export type CircularViewStateModel = ReturnType<typeof stateModelFactory>;
246
258
  export type CircularViewModel = Instance<CircularViewStateModel>;
247
- /**
248
- PLANS
249
-
250
- - tracks
251
- - ruler tick marks
252
- - set viewport scroll from state snapshot
253
-
254
- */
255
259
  export default stateModelFactory;