@jbrowse/plugin-circular-view 3.7.0 → 4.0.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 (73) hide show
  1. package/esm/CircularView/components/CircularView.d.ts +2 -2
  2. package/esm/CircularView/components/CircularView.js +21 -15
  3. package/esm/CircularView/components/Controls.d.ts +2 -2
  4. package/esm/CircularView/components/Controls.js +3 -3
  5. package/esm/CircularView/components/ExportSvgDialog.d.ts +1 -1
  6. package/esm/CircularView/components/ImportForm.d.ts +2 -2
  7. package/esm/CircularView/components/ImportForm.js +4 -4
  8. package/esm/CircularView/components/Ruler.d.ts +2 -2
  9. package/esm/CircularView/components/Ruler.js +7 -7
  10. package/esm/CircularView/index.js +2 -2
  11. package/esm/CircularView/model.d.ts +73 -34
  12. package/esm/CircularView/model.js +146 -54
  13. package/esm/CircularView/slices.js +9 -1
  14. package/esm/CircularView/svgcomponents/SVGCircularView.d.ts +1 -1
  15. package/esm/CircularView/svgcomponents/SVGCircularView.js +3 -4
  16. package/esm/LaunchCircularView/index.js +6 -12
  17. package/esm/index.d.ts +1 -2
  18. package/esm/index.js +4 -7
  19. package/package.json +26 -32
  20. package/dist/BaseChordDisplay/components/BaseChordDisplay.d.ts +0 -11
  21. package/dist/BaseChordDisplay/components/BaseChordDisplay.js +0 -21
  22. package/dist/BaseChordDisplay/components/DisplayError.d.ts +0 -9
  23. package/dist/BaseChordDisplay/components/DisplayError.js +0 -9
  24. package/dist/BaseChordDisplay/components/Loading.d.ts +0 -8
  25. package/dist/BaseChordDisplay/components/Loading.js +0 -62
  26. package/dist/BaseChordDisplay/configSchema.d.ts +0 -9
  27. package/dist/BaseChordDisplay/configSchema.js +0 -16
  28. package/dist/BaseChordDisplay/index.d.ts +0 -3
  29. package/dist/BaseChordDisplay/index.js +0 -12
  30. package/dist/BaseChordDisplay/model.d.ts +0 -109
  31. package/dist/BaseChordDisplay/model.js +0 -166
  32. package/dist/BaseChordDisplay/renderReaction.d.ts +0 -27
  33. package/dist/BaseChordDisplay/renderReaction.js +0 -50
  34. package/dist/CircularView/components/CircularView.d.ts +0 -5
  35. package/dist/CircularView/components/CircularView.js +0 -60
  36. package/dist/CircularView/components/Controls.d.ts +0 -5
  37. package/dist/CircularView/components/Controls.js +0 -57
  38. package/dist/CircularView/components/ExportSvgDialog.d.ts +0 -7
  39. package/dist/CircularView/components/ExportSvgDialog.js +0 -53
  40. package/dist/CircularView/components/ImportForm.d.ts +0 -5
  41. package/dist/CircularView/components/ImportForm.js +0 -35
  42. package/dist/CircularView/components/Ruler.d.ts +0 -7
  43. package/dist/CircularView/components/Ruler.js +0 -106
  44. package/dist/CircularView/index.d.ts +0 -2
  45. package/dist/CircularView/index.js +0 -50
  46. package/dist/CircularView/model.d.ts +0 -107
  47. package/dist/CircularView/model.js +0 -376
  48. package/dist/CircularView/slices.d.ts +0 -45
  49. package/dist/CircularView/slices.js +0 -57
  50. package/dist/CircularView/svgcomponents/SVGBackground.d.ts +0 -5
  51. package/dist/CircularView/svgcomponents/SVGBackground.js +0 -10
  52. package/dist/CircularView/svgcomponents/SVGCircularView.d.ts +0 -4
  53. package/dist/CircularView/svgcomponents/SVGCircularView.js +0 -31
  54. package/dist/CircularView/viewportVisibleRegion.d.ts +0 -6
  55. package/dist/CircularView/viewportVisibleRegion.js +0 -153
  56. package/dist/LaunchCircularView/index.d.ts +0 -2
  57. package/dist/LaunchCircularView/index.js +0 -22
  58. package/dist/index.d.ts +0 -9
  59. package/dist/index.js +0 -37
  60. package/esm/BaseChordDisplay/components/BaseChordDisplay.d.ts +0 -11
  61. package/esm/BaseChordDisplay/components/BaseChordDisplay.js +0 -16
  62. package/esm/BaseChordDisplay/components/DisplayError.d.ts +0 -9
  63. package/esm/BaseChordDisplay/components/DisplayError.js +0 -7
  64. package/esm/BaseChordDisplay/components/Loading.d.ts +0 -8
  65. package/esm/BaseChordDisplay/components/Loading.js +0 -60
  66. package/esm/BaseChordDisplay/configSchema.d.ts +0 -9
  67. package/esm/BaseChordDisplay/configSchema.js +0 -13
  68. package/esm/BaseChordDisplay/index.d.ts +0 -3
  69. package/esm/BaseChordDisplay/index.js +0 -3
  70. package/esm/BaseChordDisplay/model.d.ts +0 -109
  71. package/esm/BaseChordDisplay/model.js +0 -163
  72. package/esm/BaseChordDisplay/renderReaction.d.ts +0 -27
  73. package/esm/BaseChordDisplay/renderReaction.js +0 -46
@@ -1,163 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
3
- import { BaseDisplay } from '@jbrowse/core/pluggableElementTypes/models';
4
- import { ReactRendering, getContainingView, getEnv, getSession, isFeature, makeAbortableReaction, } from '@jbrowse/core/util';
5
- import { getParentRenderProps, getRpcSessionId, getTrackAssemblyNames, } from '@jbrowse/core/util/tracks';
6
- import { getParent, isAlive, types } from 'mobx-state-tree';
7
- import { baseChordDisplayConfig } from './configSchema';
8
- import { renderReactionData, renderReactionEffect } from './renderReaction';
9
- function x() { }
10
- export const BaseChordDisplayModel = types
11
- .compose('BaseChordDisplay', BaseDisplay, types.model({
12
- bezierRadiusRatio: 0.1,
13
- assemblyName: types.maybe(types.string),
14
- configuration: ConfigurationReference(baseChordDisplayConfig),
15
- }))
16
- .volatile(() => ({
17
- filled: false,
18
- reactElement: undefined,
19
- data: undefined,
20
- html: undefined,
21
- message: '',
22
- renderingComponent: undefined,
23
- refNameMap: undefined,
24
- }))
25
- .actions(self => {
26
- const { pluginManager } = getEnv(self);
27
- const track = self;
28
- return {
29
- onChordClick(feature) {
30
- getConf(self, 'onChordClick', { feature, track, pluginManager });
31
- },
32
- };
33
- })
34
- .views(self => ({
35
- get blockDefinitions() {
36
- const view = getContainingView(self);
37
- const origSlices = view.staticSlices;
38
- if (!self.refNameMap) {
39
- return origSlices;
40
- }
41
- const slices = structuredClone(origSlices);
42
- for (const slice of slices) {
43
- const regions = slice.region.elided
44
- ? slice.region.regions
45
- : [slice.region];
46
- for (const region of regions) {
47
- const renamed = self.refNameMap[region.refName];
48
- if (renamed && region.refName !== renamed) {
49
- region.refName = renamed;
50
- }
51
- }
52
- }
53
- return slices;
54
- },
55
- renderProps() {
56
- const view = getContainingView(self);
57
- return {
58
- ...getParentRenderProps(self),
59
- rpcDriverName: self.rpcDriverName,
60
- bezierRadius: view.radiusPx * self.bezierRadiusRatio,
61
- radius: view.radiusPx,
62
- blockDefinitions: this.blockDefinitions,
63
- onChordClick: self.onChordClick,
64
- };
65
- },
66
- get rendererType() {
67
- return getEnv(self).pluginManager.getRendererType(self.rendererTypeName);
68
- },
69
- get selectedFeatureId() {
70
- if (!isAlive(self)) {
71
- return undefined;
72
- }
73
- const { selection } = getSession(self);
74
- return isFeature(selection) ? selection.id() : undefined;
75
- },
76
- }))
77
- .actions(self => ({
78
- renderStarted() {
79
- self.filled = false;
80
- self.message = '';
81
- self.reactElement = undefined;
82
- self.data = undefined;
83
- self.html = undefined;
84
- self.error = undefined;
85
- self.renderingComponent = undefined;
86
- },
87
- renderSuccess({ message, data, reactElement, html, renderingComponent, }) {
88
- if (message) {
89
- self.filled = false;
90
- self.message = message;
91
- self.reactElement = undefined;
92
- self.data = undefined;
93
- self.html = undefined;
94
- self.error = undefined;
95
- self.renderingComponent = undefined;
96
- }
97
- else {
98
- self.filled = true;
99
- self.message = '';
100
- self.reactElement = reactElement;
101
- self.data = data;
102
- self.html = html;
103
- self.error = undefined;
104
- self.renderingComponent = renderingComponent;
105
- }
106
- },
107
- renderError(error) {
108
- console.error(error);
109
- self.filled = false;
110
- self.message = '';
111
- self.reactElement = undefined;
112
- self.html = undefined;
113
- self.data = undefined;
114
- self.error = error;
115
- self.renderingComponent = undefined;
116
- },
117
- setRefNameMap(refNameMap) {
118
- self.refNameMap = refNameMap;
119
- },
120
- }))
121
- .actions(self => ({
122
- afterAttach() {
123
- makeAbortableReaction(self, renderReactionData, renderReactionEffect, {
124
- name: `${self.type} ${self.id} rendering`,
125
- fireImmediately: true,
126
- }, self.renderStarted, self.renderSuccess, self.renderError);
127
- makeAbortableReaction(self, () => {
128
- return {
129
- assemblyNames: getTrackAssemblyNames(self.parentTrack),
130
- adapter: getConf(getParent(self, 2), 'adapter'),
131
- assemblyManager: getSession(self).assemblyManager,
132
- };
133
- }, async (args, stopToken) => {
134
- return args
135
- ? args.assemblyManager.getRefNameMapForAdapter(args.adapter, args.assemblyNames[0], {
136
- stopToken,
137
- sessionId: getRpcSessionId(self),
138
- })
139
- : undefined;
140
- }, {
141
- name: `${self.type} ${self.id} getting refNames`,
142
- fireImmediately: true,
143
- }, () => { }, refNameMap => {
144
- if (refNameMap) {
145
- self.setRefNameMap(refNameMap);
146
- }
147
- }, error => {
148
- console.error(error);
149
- self.setError(error);
150
- });
151
- },
152
- }))
153
- .views(self => ({
154
- async renderSvg(opts) {
155
- const data = renderReactionData(self);
156
- const rendering = await renderReactionEffect({
157
- ...data,
158
- exportSVG: opts,
159
- theme: opts.theme || data.renderProps.theme,
160
- });
161
- return _jsx(ReactRendering, { rendering: rendering });
162
- },
163
- }));
@@ -1,27 +0,0 @@
1
- export declare function renderReactionData(self: any): {
2
- rendererType: any;
3
- rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
4
- renderProps: any;
5
- renderArgs: {
6
- assemblyName: string;
7
- adapterConfig: any;
8
- rendererType: any;
9
- regions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
10
- blockDefinitions: any;
11
- sessionId: string;
12
- timeout: number;
13
- };
14
- };
15
- export declare function renderReactionEffect(props?: any, stopToken?: string): Promise<{
16
- message: any;
17
- html?: undefined;
18
- data?: undefined;
19
- reactElement?: undefined;
20
- renderingComponent?: undefined;
21
- } | {
22
- html: any;
23
- data: any;
24
- reactElement: any;
25
- renderingComponent: any;
26
- message?: undefined;
27
- }>;
@@ -1,46 +0,0 @@
1
- import { getContainingView, getSession } from '@jbrowse/core/util';
2
- import { getRpcSessionId } from '@jbrowse/core/util/tracks';
3
- export function renderReactionData(self) {
4
- const view = getContainingView(self);
5
- const { rendererType } = self;
6
- const { rpcManager } = getSession(view);
7
- return {
8
- rendererType,
9
- rpcManager,
10
- renderProps: self.renderProps(),
11
- renderArgs: {
12
- assemblyName: view.displayedRegions[0].assemblyName,
13
- adapterConfig: structuredClone(self.adapterConfig),
14
- rendererType: rendererType.name,
15
- regions: structuredClone(view.displayedRegions),
16
- blockDefinitions: self.blockDefinitions,
17
- sessionId: getRpcSessionId(self),
18
- timeout: 1000000,
19
- },
20
- };
21
- }
22
- export async function renderReactionEffect(props, stopToken) {
23
- var _a;
24
- if (!props) {
25
- throw new Error('cannot render with no props');
26
- }
27
- const { rendererType, rpcManager, cannotBeRenderedReason, renderArgs, renderProps, exportSVG, } = props;
28
- if (cannotBeRenderedReason) {
29
- return { message: cannotBeRenderedReason };
30
- }
31
- if (!renderProps.radius || !((_a = renderArgs.regions) === null || _a === void 0 ? void 0 : _a.length)) {
32
- return { message: 'Skipping render' };
33
- }
34
- const { html, ...data } = await rendererType.renderInClient(rpcManager, {
35
- ...renderArgs,
36
- ...renderProps,
37
- exportSVG,
38
- stopToken,
39
- });
40
- return {
41
- html,
42
- data,
43
- reactElement: data.reactElement,
44
- renderingComponent: rendererType.ReactComponent,
45
- };
46
- }