@jbrowse/plugin-circular-view 1.7.11 → 2.0.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.
- package/dist/BaseChordDisplay/components/BaseChordDisplay.d.ts +2 -7
- package/dist/BaseChordDisplay/components/BaseChordDisplay.js +18 -48
- package/dist/BaseChordDisplay/components/BaseChordDisplay.js.map +1 -0
- package/dist/BaseChordDisplay/components/DisplayError.d.ts +9 -4
- package/dist/BaseChordDisplay/components/DisplayError.js +24 -67
- package/dist/BaseChordDisplay/components/DisplayError.js.map +1 -0
- package/dist/BaseChordDisplay/components/Loading.d.ts +2 -3
- package/dist/BaseChordDisplay/components/Loading.js +98 -112
- package/dist/BaseChordDisplay/components/Loading.js.map +1 -0
- package/dist/BaseChordDisplay/components/RpcRenderedSvgGroup.d.ts +3 -3
- package/dist/BaseChordDisplay/components/RpcRenderedSvgGroup.js +80 -91
- package/dist/BaseChordDisplay/components/RpcRenderedSvgGroup.js.map +1 -0
- package/dist/BaseChordDisplay/index.d.ts +1 -1
- package/dist/BaseChordDisplay/index.js +12 -30
- package/dist/BaseChordDisplay/index.js.map +1 -0
- package/dist/BaseChordDisplay/models/BaseChordDisplayModel.d.ts +10 -10
- package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js +204 -232
- package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js.map +1 -0
- package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js +12 -18
- package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js.map +1 -0
- package/dist/BaseChordDisplay/models/renderReaction.js +115 -138
- package/dist/BaseChordDisplay/models/renderReaction.js.map +1 -0
- package/dist/CircularView/components/CircularView.js +111 -185
- package/dist/CircularView/components/CircularView.js.map +1 -0
- package/dist/CircularView/components/ImportForm.js +77 -92
- package/dist/CircularView/components/ImportForm.js.map +1 -0
- package/dist/CircularView/components/Ruler.js +148 -194
- package/dist/CircularView/components/Ruler.js.map +1 -0
- package/dist/CircularView/models/CircularView.d.ts +3 -3
- package/dist/CircularView/models/CircularView.js +346 -409
- package/dist/CircularView/models/CircularView.js.map +1 -0
- package/dist/CircularView/models/slices.js +90 -104
- package/dist/CircularView/models/slices.js.map +1 -0
- package/dist/CircularView/models/viewportVisibleRegion.js +229 -264
- package/dist/CircularView/models/viewportVisibleRegion.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +147 -176
- package/dist/index.js.map +1 -0
- package/esm/BaseChordDisplay/components/BaseChordDisplay.d.ts +4 -0
- package/esm/BaseChordDisplay/components/BaseChordDisplay.js +17 -0
- package/esm/BaseChordDisplay/components/BaseChordDisplay.js.map +1 -0
- package/esm/BaseChordDisplay/components/DisplayError.d.ts +9 -0
- package/esm/BaseChordDisplay/components/DisplayError.js +21 -0
- package/esm/BaseChordDisplay/components/DisplayError.js.map +1 -0
- package/esm/BaseChordDisplay/components/Loading.d.ts +9 -0
- package/esm/BaseChordDisplay/components/Loading.js +66 -0
- package/esm/BaseChordDisplay/components/Loading.js.map +1 -0
- package/esm/BaseChordDisplay/components/RpcRenderedSvgGroup.d.ts +4 -0
- package/esm/BaseChordDisplay/components/RpcRenderedSvgGroup.js +48 -0
- package/esm/BaseChordDisplay/components/RpcRenderedSvgGroup.js.map +1 -0
- package/esm/BaseChordDisplay/index.d.ts +3 -0
- package/esm/BaseChordDisplay/index.js +4 -0
- package/esm/BaseChordDisplay/index.js.map +1 -0
- package/esm/BaseChordDisplay/models/BaseChordDisplayModel.d.ts +99 -0
- package/esm/BaseChordDisplay/models/BaseChordDisplayModel.js +181 -0
- package/esm/BaseChordDisplay/models/BaseChordDisplayModel.js.map +1 -0
- package/esm/BaseChordDisplay/models/baseChordDisplayConfig.d.ts +2 -0
- package/esm/BaseChordDisplay/models/baseChordDisplayConfig.js +11 -0
- package/esm/BaseChordDisplay/models/baseChordDisplayConfig.js.map +1 -0
- package/esm/BaseChordDisplay/models/renderReaction.d.ts +30 -0
- package/esm/BaseChordDisplay/models/renderReaction.js +52 -0
- package/esm/BaseChordDisplay/models/renderReaction.js.map +1 -0
- package/esm/CircularView/components/CircularView.d.ts +4 -0
- package/esm/CircularView/components/CircularView.js +121 -0
- package/esm/CircularView/components/CircularView.js.map +1 -0
- package/esm/CircularView/components/ImportForm.d.ts +5 -0
- package/esm/CircularView/components/ImportForm.js +40 -0
- package/esm/CircularView/components/ImportForm.js.map +1 -0
- package/esm/CircularView/components/Ruler.d.ts +5 -0
- package/esm/CircularView/components/Ruler.js +126 -0
- package/esm/CircularView/components/Ruler.js.map +1 -0
- package/esm/CircularView/models/CircularView.d.ts +97 -0
- package/esm/CircularView/models/CircularView.js +317 -0
- package/esm/CircularView/models/CircularView.js.map +1 -0
- package/esm/CircularView/models/slices.d.ts +27 -0
- package/esm/CircularView/models/slices.js +53 -0
- package/esm/CircularView/models/slices.js.map +1 -0
- package/esm/CircularView/models/viewportVisibleRegion.d.ts +6 -0
- package/esm/CircularView/models/viewportVisibleRegion.js +223 -0
- package/esm/CircularView/models/viewportVisibleRegion.js.map +1 -0
- package/esm/index.d.ts +10 -0
- package/esm/index.js +49 -0
- package/esm/index.js.map +1 -0
- package/package.json +19 -11
- package/src/BaseChordDisplay/components/BaseChordDisplay.tsx +13 -25
- package/src/BaseChordDisplay/components/DisplayError.js +64 -66
- package/src/BaseChordDisplay/components/Loading.tsx +104 -107
- package/src/BaseChordDisplay/components/RpcRenderedSvgGroup.js +44 -51
- package/src/BaseChordDisplay/index.ts +1 -1
- package/src/BaseChordDisplay/models/BaseChordDisplayModel.ts +2 -1
- package/src/CircularView/components/CircularView.js +17 -16
- package/src/CircularView/components/ImportForm.tsx +5 -5
- package/src/CircularView/components/Ruler.js +4 -3
- package/src/CircularView/models/CircularView.ts +29 -42
- package/src/CircularView/models/slices.ts +2 -7
- package/src/index.ts +5 -2
- package/dist/CircularView/models/slices.test.js +0 -83
- package/dist/CircularView/models/viewportVisibleRegion.test.js +0 -130
|
@@ -1,142 +1,119 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
|
-
var _excluded = ["html"];
|
|
19
|
-
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
-
|
|
24
|
-
var _default = function _default(_ref) {
|
|
25
|
-
var jbrequire = _ref.jbrequire;
|
|
26
|
-
|
|
27
|
-
var _jbrequire = jbrequire('@jbrowse/core/util/tracks'),
|
|
28
|
-
getRpcSessionId = _jbrequire.getRpcSessionId;
|
|
29
|
-
|
|
30
|
-
var _jbrequire2 = jbrequire('@jbrowse/core/util'),
|
|
31
|
-
getContainingView = _jbrequire2.getContainingView;
|
|
32
|
-
|
|
33
|
-
var _jbrequire3 = jbrequire('@jbrowse/core/util'),
|
|
34
|
-
getSession = _jbrequire3.getSession;
|
|
35
|
-
|
|
36
|
-
function renderReactionData(self) {
|
|
37
|
-
var _view$displayedRegion;
|
|
38
|
-
|
|
39
|
-
var view = getContainingView(self);
|
|
40
|
-
var rendererType = self.rendererType;
|
|
41
|
-
|
|
42
|
-
var _getSession = getSession(view),
|
|
43
|
-
rpcManager = _getSession.rpcManager;
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
rendererType: rendererType,
|
|
47
|
-
rpcManager: rpcManager,
|
|
48
|
-
renderProps: self.renderProps(),
|
|
49
|
-
renderArgs: {
|
|
50
|
-
assemblyName: (_view$displayedRegion = view.displayedRegions[0]) === null || _view$displayedRegion === void 0 ? void 0 : _view$displayedRegion.assemblyName,
|
|
51
|
-
adapterConfig: JSON.parse(JSON.stringify(self.adapterConfig)),
|
|
52
|
-
rendererType: rendererType.name,
|
|
53
|
-
regions: JSON.parse(JSON.stringify(view.displayedRegions)),
|
|
54
|
-
blockDefinitions: self.blockDefinitions,
|
|
55
|
-
sessionId: getRpcSessionId(self),
|
|
56
|
-
timeout: 1000000
|
|
57
|
-
}
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
58
10
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
throw new Error("renderer ".concat(rendererType.name, " is not compatible with this display type"));
|
|
109
|
-
|
|
110
|
-
case 9:
|
|
111
|
-
_context.next = 11;
|
|
112
|
-
return rendererType.renderInClient(rpcManager, _objectSpread(_objectSpread(_objectSpread({}, renderArgs), renderProps), {}, {
|
|
113
|
-
signal: signal
|
|
114
|
-
}));
|
|
115
|
-
|
|
116
|
-
case 11:
|
|
117
|
-
_yield$rendererType$r = _context.sent;
|
|
118
|
-
html = _yield$rendererType$r.html;
|
|
119
|
-
data = (0, _objectWithoutProperties2.default)(_yield$rendererType$r, _excluded);
|
|
120
|
-
return _context.abrupt("return", {
|
|
121
|
-
html: html,
|
|
122
|
-
data: data,
|
|
123
|
-
renderingComponent: rendererType.ReactComponent
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
case 15:
|
|
127
|
-
case "end":
|
|
128
|
-
return _context.stop();
|
|
129
|
-
}
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
130
57
|
}
|
|
131
|
-
|
|
132
|
-
}));
|
|
133
|
-
return _renderReactionEffect.apply(this, arguments);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return {
|
|
137
|
-
renderReactionData: renderReactionData,
|
|
138
|
-
renderReactionEffect: renderReactionEffect
|
|
139
|
-
};
|
|
58
|
+
return t;
|
|
140
59
|
};
|
|
141
|
-
|
|
142
|
-
exports.default =
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.default = (function (_a) {
|
|
62
|
+
var jbrequire = _a.jbrequire;
|
|
63
|
+
var getRpcSessionId = jbrequire('@jbrowse/core/util/tracks').getRpcSessionId;
|
|
64
|
+
var getContainingView = jbrequire('@jbrowse/core/util').getContainingView;
|
|
65
|
+
var getSession = jbrequire('@jbrowse/core/util').getSession;
|
|
66
|
+
function renderReactionData(self) {
|
|
67
|
+
var _a;
|
|
68
|
+
var view = getContainingView(self);
|
|
69
|
+
var rendererType = self.rendererType;
|
|
70
|
+
var rpcManager = getSession(view).rpcManager;
|
|
71
|
+
return {
|
|
72
|
+
rendererType: rendererType,
|
|
73
|
+
rpcManager: rpcManager,
|
|
74
|
+
renderProps: self.renderProps(),
|
|
75
|
+
renderArgs: {
|
|
76
|
+
assemblyName: (_a = view.displayedRegions[0]) === null || _a === void 0 ? void 0 : _a.assemblyName,
|
|
77
|
+
adapterConfig: JSON.parse(JSON.stringify(self.adapterConfig)),
|
|
78
|
+
rendererType: rendererType.name,
|
|
79
|
+
regions: JSON.parse(JSON.stringify(view.displayedRegions)),
|
|
80
|
+
blockDefinitions: self.blockDefinitions,
|
|
81
|
+
sessionId: getRpcSessionId(self),
|
|
82
|
+
timeout: 1000000,
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function renderReactionEffect(props, signal, self) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
88
|
+
var rendererType, rpcManager, cannotBeRenderedReason, renderArgs, renderProps, _a, html, data;
|
|
89
|
+
return __generator(this, function (_b) {
|
|
90
|
+
switch (_b.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
if (!props) {
|
|
93
|
+
throw new Error('cannot render with no props');
|
|
94
|
+
}
|
|
95
|
+
rendererType = props.rendererType, rpcManager = props.rpcManager, cannotBeRenderedReason = props.cannotBeRenderedReason, renderArgs = props.renderArgs, renderProps = props.renderProps;
|
|
96
|
+
if (cannotBeRenderedReason) {
|
|
97
|
+
return [2 /*return*/, { message: cannotBeRenderedReason }];
|
|
98
|
+
}
|
|
99
|
+
// don't try to render 0 or NaN radius or no regions
|
|
100
|
+
if (!props.renderProps.radius ||
|
|
101
|
+
!props.renderArgs.regions ||
|
|
102
|
+
!props.renderArgs.regions.length) {
|
|
103
|
+
return [2 /*return*/, { message: 'Skipping render' }];
|
|
104
|
+
}
|
|
105
|
+
// check renderertype compatibility
|
|
106
|
+
if (!self.isCompatibleWithRenderer(rendererType)) {
|
|
107
|
+
throw new Error("renderer ".concat(rendererType.name, " is not compatible with this display type"));
|
|
108
|
+
}
|
|
109
|
+
return [4 /*yield*/, rendererType.renderInClient(rpcManager, __assign(__assign(__assign({}, renderArgs), renderProps), { signal: signal }))];
|
|
110
|
+
case 1:
|
|
111
|
+
_a = _b.sent(), html = _a.html, data = __rest(_a, ["html"]);
|
|
112
|
+
return [2 /*return*/, { html: html, data: data, renderingComponent: rendererType.ReactComponent }];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return { renderReactionData: renderReactionData, renderReactionEffect: renderReactionEffect };
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=renderReaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderReaction.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/models/renderReaction.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mBAAe,UAAC,EAAa;QAAX,SAAS,eAAA;IACjB,IAAA,eAAe,GAAK,SAAS,CAAC,2BAA2B,CAAC,gBAA3C,CAA2C;IAC1D,IAAA,iBAAiB,GAAK,SAAS,CAAC,oBAAoB,CAAC,kBAApC,CAAoC;IACrD,IAAA,UAAU,GAAK,SAAS,CAAC,oBAAoB,CAAC,WAApC,CAAoC;IAEtD,SAAS,kBAAkB,CAAC,IAAI;;QAC9B,IAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAA,YAAY,GAAK,IAAI,aAAT,CAAS;QACrB,IAAA,UAAU,GAAK,UAAU,CAAC,IAAI,CAAC,WAArB,CAAqB;QAEvC,OAAO;YACL,YAAY,cAAA;YACZ,UAAU,YAAA;YACV,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,UAAU,EAAE;gBACV,YAAY,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0CAAE,YAAY;gBACpD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,IAAI;gBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC;gBAChC,OAAO,EAAE,OAAO;aACjB;SACF,CAAA;IACH,CAAC;IAED,SAAe,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI;;;;;;wBACrD,IAAI,CAAC,KAAK,EAAE;4BACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;yBAC/C;wBAGC,YAAY,GAKV,KAAK,aALK,EACZ,UAAU,GAIR,KAAK,WAJG,EACV,sBAAsB,GAGpB,KAAK,uBAHe,EACtB,UAAU,GAER,KAAK,WAFG,EACV,WAAW,GACT,KAAK,YADI,CACJ;wBAET,IAAI,sBAAsB,EAAE;4BAC1B,sBAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAA;yBAC3C;wBAED,oDAAoD;wBACpD,IACE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;4BACzB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO;4BACzB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAChC;4BACA,sBAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAA;yBACtC;wBAED,mCAAmC;wBACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE;4BAChD,MAAM,IAAI,KAAK,CACb,mBAAY,YAAY,CAAC,IAAI,8CAA2C,CACzE,CAAA;yBACF;wBAEyB,qBAAM,YAAY,CAAC,cAAc,CAAC,UAAU,iCACjE,UAAU,GACV,WAAW,KACd,MAAM,QAAA,IACN,EAAA;;wBAJI,KAAoB,SAIxB,EAJM,IAAI,UAAA,EAAK,IAAI,cAAf,QAAiB,CAAF;wBAMrB,sBAAO,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,kBAAkB,EAAE,YAAY,CAAC,cAAc,EAAE,EAAA;;;;KACvE;IAED,OAAO,EAAE,kBAAkB,oBAAA,EAAE,oBAAoB,sBAAA,EAAE,CAAA;AACrD,CAAC,EAAA"}
|
|
@@ -1,203 +1,129 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _ui = require("@jbrowse/core/ui");
|
|
15
|
-
|
|
16
|
-
var _util = require("@jbrowse/core/util");
|
|
17
|
-
|
|
18
|
-
var _core = require("@material-ui/core");
|
|
19
|
-
|
|
20
|
-
var _colors = require("@material-ui/core/colors");
|
|
21
|
-
|
|
22
|
-
var _ZoomOut = _interopRequireDefault(require("@material-ui/icons/ZoomOut"));
|
|
23
|
-
|
|
24
|
-
var _ZoomIn = _interopRequireDefault(require("@material-ui/icons/ZoomIn"));
|
|
25
|
-
|
|
26
|
-
var _RotateLeft = _interopRequireDefault(require("@material-ui/icons/RotateLeft"));
|
|
27
|
-
|
|
28
|
-
var _RotateRight = _interopRequireDefault(require("@material-ui/icons/RotateRight"));
|
|
29
|
-
|
|
30
|
-
var _LockOutlined = _interopRequireDefault(require("@material-ui/icons/LockOutlined"));
|
|
31
|
-
|
|
32
|
-
var _LockOpen = _interopRequireDefault(require("@material-ui/icons/LockOpen"));
|
|
33
|
-
|
|
34
|
-
var _Icons = require("@jbrowse/core/ui/Icons");
|
|
35
|
-
|
|
36
|
-
var _Ruler = _interopRequireDefault(require("./Ruler"));
|
|
37
|
-
|
|
38
|
-
var _ImportForm = _interopRequireDefault(require("./ImportForm"));
|
|
39
|
-
|
|
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
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var mobx_react_1 = require("mobx-react");
|
|
8
|
+
var ui_1 = require("@jbrowse/core/ui");
|
|
9
|
+
var util_1 = require("@jbrowse/core/util");
|
|
10
|
+
var material_1 = require("@mui/material");
|
|
11
|
+
var mui_1 = require("tss-react/mui");
|
|
12
|
+
var colors_1 = require("@mui/material/colors");
|
|
40
13
|
// icons
|
|
14
|
+
var ZoomOut_1 = __importDefault(require("@mui/icons-material/ZoomOut"));
|
|
15
|
+
var ZoomIn_1 = __importDefault(require("@mui/icons-material/ZoomIn"));
|
|
16
|
+
var RotateLeft_1 = __importDefault(require("@mui/icons-material/RotateLeft"));
|
|
17
|
+
var RotateRight_1 = __importDefault(require("@mui/icons-material/RotateRight"));
|
|
18
|
+
var LockOpen_1 = __importDefault(require("@mui/icons-material/LockOpen"));
|
|
19
|
+
var Lock_1 = __importDefault(require("@mui/icons-material/Lock"));
|
|
20
|
+
var Icons_1 = require("@jbrowse/core/ui/Icons");
|
|
41
21
|
// locals
|
|
22
|
+
var Ruler_1 = __importDefault(require("./Ruler"));
|
|
23
|
+
var ImportForm_1 = __importDefault(require("./ImportForm"));
|
|
42
24
|
var dragHandleHeight = 3;
|
|
43
|
-
var useStyles = (0,
|
|
44
|
-
return {
|
|
25
|
+
var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
|
|
45
26
|
root: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
27
|
+
position: 'relative',
|
|
28
|
+
marginBottom: theme.spacing(1),
|
|
29
|
+
overflow: 'hidden',
|
|
30
|
+
background: 'white',
|
|
50
31
|
},
|
|
51
32
|
scroller: {
|
|
52
|
-
|
|
33
|
+
overflow: 'auto',
|
|
53
34
|
},
|
|
54
35
|
sliceRoot: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
background: 'none',
|
|
37
|
+
// background: theme.palette.background.paper,
|
|
38
|
+
boxSizing: 'content-box',
|
|
39
|
+
display: 'block',
|
|
59
40
|
},
|
|
60
41
|
iconButton: {
|
|
61
|
-
|
|
62
|
-
|
|
42
|
+
padding: '4px',
|
|
43
|
+
margin: '0 2px 0 2px',
|
|
63
44
|
},
|
|
64
45
|
controls: {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
46
|
+
overflow: 'hidden',
|
|
47
|
+
whiteSpace: 'nowrap',
|
|
48
|
+
position: 'absolute',
|
|
49
|
+
background: colors_1.grey[200],
|
|
50
|
+
boxSizing: 'border-box',
|
|
51
|
+
borderRight: '1px solid #a2a2a2',
|
|
52
|
+
borderBottom: '1px solid #a2a2a2',
|
|
53
|
+
left: 0,
|
|
54
|
+
top: 0,
|
|
74
55
|
},
|
|
75
56
|
importFormContainer: {
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
}), model.tracks.map(function (track) {
|
|
89
|
-
var display = track.displays[0];
|
|
90
|
-
return /*#__PURE__*/_react.default.createElement(display.RenderingComponent, {
|
|
91
|
-
key: display.id,
|
|
92
|
-
display: display,
|
|
93
|
-
view: model
|
|
94
|
-
});
|
|
95
|
-
}));
|
|
57
|
+
marginBottom: theme.spacing(4),
|
|
58
|
+
},
|
|
59
|
+
}); });
|
|
60
|
+
var Slices = (0, mobx_react_1.observer)(function (_a) {
|
|
61
|
+
var model = _a.model;
|
|
62
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
63
|
+
model.staticSlices.map(function (slice) { return (react_1.default.createElement(Ruler_1.default, { key: (0, util_1.assembleLocString)(slice.region.elided ? slice.region.regions[0] : slice.region), model: model, slice: slice })); }),
|
|
64
|
+
model.tracks.map(function (track) {
|
|
65
|
+
var display = track.displays[0];
|
|
66
|
+
return (react_1.default.createElement(display.RenderingComponent, { key: display.id, display: display, view: model }));
|
|
67
|
+
})));
|
|
96
68
|
});
|
|
97
|
-
var Controls = (0,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
color: "secondary"
|
|
115
|
-
}, /*#__PURE__*/_react.default.createElement(_ZoomIn.default, null)), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
116
|
-
onClick: model.rotateCounterClockwiseButton,
|
|
117
|
-
className: classes.iconButton,
|
|
118
|
-
title: "rotate counter-clockwise",
|
|
119
|
-
disabled: !showingFigure,
|
|
120
|
-
color: "secondary"
|
|
121
|
-
}, /*#__PURE__*/_react.default.createElement(_RotateLeft.default, null)), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
122
|
-
onClick: model.rotateClockwiseButton,
|
|
123
|
-
className: classes.iconButton,
|
|
124
|
-
title: "rotate clockwise",
|
|
125
|
-
disabled: !showingFigure,
|
|
126
|
-
color: "secondary"
|
|
127
|
-
}, /*#__PURE__*/_react.default.createElement(_RotateRight.default, null)), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
128
|
-
onClick: model.toggleFitToWindowLock,
|
|
129
|
-
className: classes.iconButton,
|
|
130
|
-
title: model.lockedFitToWindow ? 'locked model to window size' : 'unlocked model to zoom further',
|
|
131
|
-
disabled: model.tooSmallToLock,
|
|
132
|
-
color: "secondary"
|
|
133
|
-
}, model.lockedFitToWindow ? /*#__PURE__*/_react.default.createElement(_LockOutlined.default, null) : /*#__PURE__*/_react.default.createElement(_LockOpen.default, null)), model.hideTrackSelectorButton ? null : /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
134
|
-
onClick: model.activateTrackSelector,
|
|
135
|
-
title: "Open track selector",
|
|
136
|
-
"data-testid": "circular_track_select",
|
|
137
|
-
color: "secondary"
|
|
138
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.TrackSelector, null)));
|
|
69
|
+
var Controls = (0, mobx_react_1.observer)(function (_a) {
|
|
70
|
+
var model = _a.model, showingFigure = _a.showingFigure;
|
|
71
|
+
var classes = useStyles().classes;
|
|
72
|
+
return (react_1.default.createElement("div", { className: classes.controls },
|
|
73
|
+
react_1.default.createElement(material_1.IconButton, { onClick: model.zoomOutButton, className: classes.iconButton, title: model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out', disabled: !showingFigure || model.atMaxBpPerPx || model.lockedFitToWindow, color: "secondary" },
|
|
74
|
+
react_1.default.createElement(ZoomOut_1.default, null)),
|
|
75
|
+
react_1.default.createElement(material_1.IconButton, { onClick: model.zoomInButton, className: classes.iconButton, title: "zoom in", disabled: !showingFigure || model.atMinBpPerPx, color: "secondary" },
|
|
76
|
+
react_1.default.createElement(ZoomIn_1.default, null)),
|
|
77
|
+
react_1.default.createElement(material_1.IconButton, { onClick: model.rotateCounterClockwiseButton, className: classes.iconButton, title: "rotate counter-clockwise", disabled: !showingFigure, color: "secondary" },
|
|
78
|
+
react_1.default.createElement(RotateLeft_1.default, null)),
|
|
79
|
+
react_1.default.createElement(material_1.IconButton, { onClick: model.rotateClockwiseButton, className: classes.iconButton, title: "rotate clockwise", disabled: !showingFigure, color: "secondary" },
|
|
80
|
+
react_1.default.createElement(RotateRight_1.default, null)),
|
|
81
|
+
react_1.default.createElement(material_1.IconButton, { onClick: model.toggleFitToWindowLock, className: classes.iconButton, title: model.lockedFitToWindow
|
|
82
|
+
? 'locked model to window size'
|
|
83
|
+
: 'unlocked model to zoom further', disabled: model.tooSmallToLock, color: "secondary" }, model.lockedFitToWindow ? react_1.default.createElement(Lock_1.default, null) : react_1.default.createElement(LockOpen_1.default, null)),
|
|
84
|
+
model.hideTrackSelectorButton ? null : (react_1.default.createElement(material_1.IconButton, { onClick: model.activateTrackSelector, title: "Open track selector", "data-testid": "circular_track_select", color: "secondary" },
|
|
85
|
+
react_1.default.createElement(Icons_1.TrackSelector, null)))));
|
|
139
86
|
});
|
|
140
|
-
var CircularView = (0,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
height: "".concat(model.figureHeight, "px"),
|
|
181
|
-
version: "1.1"
|
|
182
|
-
}, /*#__PURE__*/_react.default.createElement("g", {
|
|
183
|
-
transform: "translate(".concat(model.centerXY, ")")
|
|
184
|
-
}, /*#__PURE__*/_react.default.createElement(Slices, {
|
|
185
|
-
model: model
|
|
186
|
-
}))))), /*#__PURE__*/_react.default.createElement(Controls, {
|
|
187
|
-
model: model,
|
|
188
|
-
showingFigure: showFigure
|
|
189
|
-
}), model.hideVerticalResizeHandle ? null : /*#__PURE__*/_react.default.createElement(_ui.ResizeHandle, {
|
|
190
|
-
onDrag: model.resizeHeight,
|
|
191
|
-
style: {
|
|
192
|
-
height: dragHandleHeight,
|
|
193
|
-
position: 'absolute',
|
|
194
|
-
bottom: 0,
|
|
195
|
-
left: 0,
|
|
196
|
-
background: '#ccc',
|
|
197
|
-
boxSizing: 'border-box',
|
|
198
|
-
borderTop: '1px solid #fafafa'
|
|
199
|
-
}
|
|
200
|
-
}))));
|
|
87
|
+
var CircularView = (0, mobx_react_1.observer)(function (_a) {
|
|
88
|
+
var model = _a.model;
|
|
89
|
+
var classes = useStyles().classes;
|
|
90
|
+
var initialized = !!model.displayedRegions.length && model.figureWidth && model.figureHeight;
|
|
91
|
+
var showImportForm = !initialized && !model.disableImportForm;
|
|
92
|
+
var showFigure = initialized && !showImportForm;
|
|
93
|
+
return (react_1.default.createElement("div", { className: classes.root, style: {
|
|
94
|
+
width: model.width,
|
|
95
|
+
height: model.height,
|
|
96
|
+
}, "data-testid": model.id }, model.error ? (react_1.default.createElement(ui_1.ErrorMessage, { error: model.error })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
97
|
+
showImportForm ? react_1.default.createElement(ImportForm_1.default, { model: model }) : null,
|
|
98
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
99
|
+
!showFigure ? null : (react_1.default.createElement("div", { className: classes.scroller, style: {
|
|
100
|
+
width: model.width,
|
|
101
|
+
height: model.height,
|
|
102
|
+
} },
|
|
103
|
+
react_1.default.createElement("div", { className: classes.rotator, style: {
|
|
104
|
+
transform: ["rotate(".concat(model.offsetRadians, "rad)")].join(' '),
|
|
105
|
+
transition: 'transform 0.5s',
|
|
106
|
+
transformOrigin: model.centerXY
|
|
107
|
+
.map(function (x) { return "".concat(x, "px"); })
|
|
108
|
+
.join(' '),
|
|
109
|
+
} },
|
|
110
|
+
react_1.default.createElement("svg", { style: {
|
|
111
|
+
position: 'absolute',
|
|
112
|
+
left: 0,
|
|
113
|
+
top: 0,
|
|
114
|
+
}, className: classes.sliceRoot, width: "".concat(model.figureWidth, "px"), height: "".concat(model.figureHeight, "px"), version: "1.1" },
|
|
115
|
+
react_1.default.createElement("g", { transform: "translate(".concat(model.centerXY, ")") },
|
|
116
|
+
react_1.default.createElement(Slices, { model: model })))))),
|
|
117
|
+
react_1.default.createElement(Controls, { model: model, showingFigure: showFigure }),
|
|
118
|
+
model.hideVerticalResizeHandle ? null : (react_1.default.createElement(ui_1.ResizeHandle, { onDrag: model.resizeHeight, style: {
|
|
119
|
+
height: dragHandleHeight,
|
|
120
|
+
position: 'absolute',
|
|
121
|
+
bottom: 0,
|
|
122
|
+
left: 0,
|
|
123
|
+
background: '#ccc',
|
|
124
|
+
boxSizing: 'border-box',
|
|
125
|
+
borderTop: '1px solid #fafafa',
|
|
126
|
+
} })))))));
|
|
201
127
|
});
|
|
202
|
-
|
|
203
|
-
|
|
128
|
+
exports.default = CircularView;
|
|
129
|
+
//# sourceMappingURL=CircularView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircularView.js","sourceRoot":"","sources":["../../../src/CircularView/components/CircularView.js"],"names":[],"mappings":"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"}
|