@jbrowse/plugin-grid-bookmark 1.7.10 → 2.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.
- package/dist/GridBookmarkWidget/components/AssemblySelector.js +40 -74
- package/dist/GridBookmarkWidget/components/AssemblySelector.js.map +1 -0
- package/dist/GridBookmarkWidget/components/ClearBookmarks.js +79 -80
- package/dist/GridBookmarkWidget/components/ClearBookmarks.js.map +1 -0
- package/dist/GridBookmarkWidget/components/DeleteBookmark.js +47 -61
- package/dist/GridBookmarkWidget/components/DeleteBookmark.js.map +1 -0
- package/dist/GridBookmarkWidget/components/DownloadBookmarks.js +85 -104
- package/dist/GridBookmarkWidget/components/DownloadBookmarks.js.map +1 -0
- package/dist/GridBookmarkWidget/components/GridBookmarkWidget.js +159 -185
- package/dist/GridBookmarkWidget/components/GridBookmarkWidget.js.map +1 -0
- package/dist/GridBookmarkWidget/components/ImportBookmarks.js +164 -181
- package/dist/GridBookmarkWidget/components/ImportBookmarks.js.map +1 -0
- package/dist/GridBookmarkWidget/index.d.ts +0 -1
- package/dist/GridBookmarkWidget/index.js +10 -28
- package/dist/GridBookmarkWidget/index.js.map +1 -0
- package/dist/GridBookmarkWidget/model.js +77 -67
- package/dist/GridBookmarkWidget/model.js.map +1 -0
- package/dist/GridBookmarkWidget/types.js +2 -4
- package/dist/GridBookmarkWidget/types.js.map +1 -0
- package/dist/GridBookmarkWidget/utils.js +129 -129
- package/dist/GridBookmarkWidget/utils.js.map +1 -0
- package/dist/index.js +181 -187
- package/dist/index.js.map +1 -0
- package/esm/GridBookmarkWidget/components/AssemblySelector.d.ts +7 -0
- package/esm/GridBookmarkWidget/components/AssemblySelector.js +41 -0
- package/esm/GridBookmarkWidget/components/AssemblySelector.js.map +1 -0
- package/esm/GridBookmarkWidget/components/ClearBookmarks.d.ts +7 -0
- package/esm/GridBookmarkWidget/components/ClearBookmarks.js +40 -0
- package/esm/GridBookmarkWidget/components/ClearBookmarks.js.map +1 -0
- package/esm/GridBookmarkWidget/components/DeleteBookmark.d.ts +9 -0
- package/esm/GridBookmarkWidget/components/DeleteBookmark.js +46 -0
- package/esm/GridBookmarkWidget/components/DeleteBookmark.js.map +1 -0
- package/esm/GridBookmarkWidget/components/DownloadBookmarks.d.ts +7 -0
- package/esm/GridBookmarkWidget/components/DownloadBookmarks.js +50 -0
- package/esm/GridBookmarkWidget/components/DownloadBookmarks.js.map +1 -0
- package/esm/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +7 -0
- package/esm/GridBookmarkWidget/components/GridBookmarkWidget.js +95 -0
- package/esm/GridBookmarkWidget/components/GridBookmarkWidget.js.map +1 -0
- package/esm/GridBookmarkWidget/components/ImportBookmarks.d.ts +8 -0
- package/esm/GridBookmarkWidget/components/ImportBookmarks.js +79 -0
- package/esm/GridBookmarkWidget/components/ImportBookmarks.js.map +1 -0
- package/esm/GridBookmarkWidget/index.d.ts +2 -0
- package/esm/GridBookmarkWidget/index.js +4 -0
- package/esm/GridBookmarkWidget/index.js.map +1 -0
- package/esm/GridBookmarkWidget/model.d.ts +35 -0
- package/esm/GridBookmarkWidget/model.js +54 -0
- package/esm/GridBookmarkWidget/model.js.map +1 -0
- package/esm/GridBookmarkWidget/types.d.ts +7 -0
- package/esm/GridBookmarkWidget/types.js +2 -0
- package/esm/GridBookmarkWidget/types.js.map +1 -0
- package/esm/GridBookmarkWidget/utils.d.ts +5 -0
- package/esm/GridBookmarkWidget/utils.js +77 -0
- package/esm/GridBookmarkWidget/utils.js.map +1 -0
- package/esm/index.d.ts +7 -0
- package/esm/index.js +116 -0
- package/esm/index.js.map +1 -0
- package/package.json +23 -15
- package/src/GridBookmarkWidget/components/AssemblySelector.tsx +9 -20
- package/src/GridBookmarkWidget/components/ClearBookmarks.tsx +6 -6
- package/src/GridBookmarkWidget/components/DeleteBookmark.tsx +5 -5
- package/src/GridBookmarkWidget/components/DownloadBookmarks.tsx +6 -6
- package/src/GridBookmarkWidget/components/GridBookmarkWidget.tsx +94 -111
- package/src/GridBookmarkWidget/components/ImportBookmarks.tsx +6 -6
- package/src/GridBookmarkWidget/index.js +0 -2
- package/src/index.ts +2 -2
- package/dist/GridBookmarkWidget/components/GridBookmarkWidget.test.js +0 -302
- package/dist/index.test.js +0 -35
|
@@ -1,136 +1,136 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return view.type === 'LinearGenomeView' && // @ts-ignore
|
|
33
|
-
view.assemblyNames[0] === selectedAssembly;
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
if (!lgv) {
|
|
37
|
-
_context.next = 6;
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
lgv.navToLocString(locString);
|
|
42
|
-
_context.next = 28;
|
|
43
|
-
break;
|
|
44
|
-
|
|
45
|
-
case 6:
|
|
46
|
-
session = (0, _util.getSession)(model);
|
|
47
|
-
assemblyManager = session.assemblyManager;
|
|
48
|
-
_context.next = 10;
|
|
49
|
-
return assemblyManager.waitForAssembly(selectedAssembly);
|
|
50
|
-
|
|
51
|
-
case 10:
|
|
52
|
-
assembly = _context.sent;
|
|
53
|
-
|
|
54
|
-
if (!assembly) {
|
|
55
|
-
_context.next = 28;
|
|
56
|
-
break;
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
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;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
57
32
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.downloadBookmarkFile = exports.navToBookmark = void 0;
|
|
40
|
+
var file_saver_1 = require("file-saver");
|
|
41
|
+
var util_1 = require("@jbrowse/core/util");
|
|
42
|
+
function navToBookmark(locString, views, model) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
+
var selectedAssembly, lgv, session_1, assemblyManager, assembly, loc, refName, regions, canonicalRefName_1, newDisplayedRegion, view_1, e_1;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
switch (_a.label) {
|
|
47
|
+
case 0:
|
|
48
|
+
selectedAssembly = model.selectedAssembly;
|
|
49
|
+
lgv = views.find(function (view) {
|
|
50
|
+
return view.type === 'LinearGenomeView' &&
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
view.assemblyNames[0] === selectedAssembly;
|
|
53
|
+
});
|
|
54
|
+
if (!lgv) return [3 /*break*/, 1];
|
|
55
|
+
lgv.navToLocString(locString);
|
|
56
|
+
return [3 /*break*/, 6];
|
|
57
|
+
case 1:
|
|
58
|
+
session_1 = (0, util_1.getSession)(model);
|
|
59
|
+
assemblyManager = session_1.assemblyManager;
|
|
60
|
+
return [4 /*yield*/, assemblyManager.waitForAssembly(selectedAssembly)];
|
|
61
|
+
case 2:
|
|
62
|
+
assembly = _a.sent();
|
|
63
|
+
if (!assembly) return [3 /*break*/, 6];
|
|
64
|
+
_a.label = 3;
|
|
65
|
+
case 3:
|
|
66
|
+
_a.trys.push([3, 5, , 6]);
|
|
67
|
+
loc = (0, util_1.parseLocString)(locString, function (refName) {
|
|
68
|
+
return session_1.assemblyManager.isValidRefName(refName, selectedAssembly);
|
|
69
|
+
});
|
|
70
|
+
refName = loc.refName;
|
|
71
|
+
regions = assembly.regions;
|
|
72
|
+
canonicalRefName_1 = assembly.getCanonicalRefName(refName);
|
|
73
|
+
newDisplayedRegion = void 0;
|
|
74
|
+
if (regions) {
|
|
75
|
+
newDisplayedRegion = regions.find(function (region) { return region.refName === canonicalRefName_1; });
|
|
76
|
+
}
|
|
77
|
+
view_1 = session_1.addView('LinearGenomeView', {
|
|
78
|
+
displayName: selectedAssembly,
|
|
79
|
+
});
|
|
80
|
+
return [4 /*yield*/, (0, util_1.when)(function () { return view_1.initialized; })];
|
|
81
|
+
case 4:
|
|
82
|
+
_a.sent();
|
|
83
|
+
view_1.setDisplayedRegions([
|
|
84
|
+
JSON.parse(JSON.stringify(newDisplayedRegion)),
|
|
85
|
+
]);
|
|
86
|
+
view_1.navToLocString(locString);
|
|
87
|
+
return [3 /*break*/, 6];
|
|
88
|
+
case 5:
|
|
89
|
+
e_1 = _a.sent();
|
|
90
|
+
session_1.notify("".concat(e_1), 'error');
|
|
91
|
+
return [3 /*break*/, 6];
|
|
92
|
+
case 6: return [2 /*return*/];
|
|
71
93
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
displayName: selectedAssembly
|
|
75
|
-
});
|
|
76
|
-
_context.next = 21;
|
|
77
|
-
return (0, _util.when)(function () {
|
|
78
|
-
return view.initialized;
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
case 21:
|
|
82
|
-
view.setDisplayedRegions([JSON.parse(JSON.stringify(newDisplayedRegion))]);
|
|
83
|
-
view.navToLocString(locString);
|
|
84
|
-
_context.next = 28;
|
|
85
|
-
break;
|
|
86
|
-
|
|
87
|
-
case 25:
|
|
88
|
-
_context.prev = 25;
|
|
89
|
-
_context.t0 = _context["catch"](12);
|
|
90
|
-
session.notify("".concat(_context.t0), 'error');
|
|
91
|
-
|
|
92
|
-
case 28:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, _callee, null, [[12, 25]]);
|
|
98
|
-
}));
|
|
99
|
-
return _navToBookmark.apply(this, arguments);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
100
96
|
}
|
|
101
|
-
|
|
97
|
+
exports.navToBookmark = navToBookmark;
|
|
102
98
|
function downloadBookmarkFile(bookmarkedRegions, fileFormat, model) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
99
|
+
var selectedAssembly = model.selectedAssembly;
|
|
100
|
+
var fileHeader = fileFormat === 'TSV'
|
|
101
|
+
? 'chrom\tstart\tend\tlabel\tassembly_name\tcoord_range\n'
|
|
102
|
+
: '';
|
|
103
|
+
var fileContents = bookmarkedRegions
|
|
104
|
+
.map(function (b) {
|
|
105
|
+
var label = b.label;
|
|
106
|
+
var labelVal = label === '' ? '.' : label;
|
|
107
|
+
var locString = (0, util_1.assembleLocString)(b);
|
|
108
|
+
if (fileFormat === 'BED') {
|
|
109
|
+
if (b.assemblyName === selectedAssembly || selectedAssembly === 'all') {
|
|
110
|
+
// the "name" column (column 4) in a BED has a max of 255 characters
|
|
111
|
+
// according to the new spec: https://github.com/samtools/hts-specs/pull/570
|
|
112
|
+
return "".concat(b.refName, "\t").concat(b.start, "\t").concat(b.end, "\t").concat(labelVal.slice(0, 255), "\n");
|
|
113
|
+
}
|
|
114
|
+
return '';
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return "".concat(b.refName, "\t").concat(b.start + 1, "\t").concat(b.end, "\t").concat(labelVal, "\t").concat(b.assemblyName, "\t").concat(locString, "\n");
|
|
118
|
+
}
|
|
119
|
+
})
|
|
120
|
+
.reduce(function (a, b) { return a + b; }, fileHeader);
|
|
121
|
+
var blob = new Blob([fileContents || ''], {
|
|
122
|
+
type: fileFormat === 'BED'
|
|
123
|
+
? 'text/x-bed;charset=utf-8'
|
|
124
|
+
: 'text/tab-separated-values;charset=utf-8',
|
|
125
|
+
});
|
|
126
|
+
var fileName;
|
|
110
127
|
if (fileFormat === 'BED') {
|
|
111
|
-
|
|
112
|
-
// the "name" column (column 4) in a BED has a max of 255 characters
|
|
113
|
-
// according to the new spec: https://github.com/samtools/hts-specs/pull/570
|
|
114
|
-
return "".concat(b.refName, "\t").concat(b.start, "\t").concat(b.end, "\t").concat(labelVal.slice(0, 255), "\n");
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return '';
|
|
118
|
-
} else {
|
|
119
|
-
return "".concat(b.refName, "\t").concat(b.start + 1, "\t").concat(b.end, "\t").concat(labelVal, "\t").concat(b.assemblyName, "\t").concat(locString, "\n");
|
|
128
|
+
fileName = "jbrowse_bookmarks_".concat(selectedAssembly, ".bed");
|
|
120
129
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (fileFormat === 'BED') {
|
|
130
|
-
fileName = "jbrowse_bookmarks_".concat(selectedAssembly, ".bed");
|
|
131
|
-
} else {
|
|
132
|
-
fileName = 'jbrowse_bookmarks.tsv';
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
(0, _fileSaver.saveAs)(blob, fileName);
|
|
136
|
-
}
|
|
130
|
+
else {
|
|
131
|
+
fileName = 'jbrowse_bookmarks.tsv';
|
|
132
|
+
}
|
|
133
|
+
(0, file_saver_1.saveAs)(blob, fileName);
|
|
134
|
+
}
|
|
135
|
+
exports.downloadBookmarkFile = downloadBookmarkFile;
|
|
136
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/GridBookmarkWidget/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,192 +1,186 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
9
32
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
|
-
var _react = require("react");
|
|
29
|
-
|
|
30
|
-
var _Bookmark = _interopRequireDefault(require("@material-ui/icons/Bookmark"));
|
|
31
|
-
|
|
32
|
-
var _Bookmarks = _interopRequireDefault(require("@material-ui/icons/Bookmarks"));
|
|
33
|
-
|
|
34
|
-
var _WidgetType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
|
|
35
|
-
|
|
36
|
-
var _Plugin2 = _interopRequireDefault(require("@jbrowse/core/Plugin"));
|
|
37
|
-
|
|
38
|
-
var _util = require("@jbrowse/core/util");
|
|
39
|
-
|
|
40
|
-
var _GridBookmarkWidget = require("./GridBookmarkWidget");
|
|
41
|
-
|
|
42
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
43
|
-
|
|
44
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
|
-
|
|
46
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
47
|
-
|
|
48
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
|
-
|
|
50
|
-
var _default = /*#__PURE__*/function (_Plugin) {
|
|
51
|
-
(0, _inherits2.default)(_default, _Plugin);
|
|
52
|
-
|
|
53
|
-
var _super = _createSuper(_default);
|
|
54
|
-
|
|
55
|
-
function _default() {
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
(0, _classCallCheck2.default)(this, _default);
|
|
59
|
-
|
|
60
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
|
-
args[_key] = arguments[_key];
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
41
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
42
|
+
if (!m) return o;
|
|
43
|
+
var i = m.call(o), r, ar = [], e;
|
|
44
|
+
try {
|
|
45
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
62
46
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
stateModel: (0, _GridBookmarkWidget.stateModelFactory)(pluginManager),
|
|
78
|
-
ReactComponent: /*#__PURE__*/(0, _react.lazy)(function () {
|
|
79
|
-
return Promise.resolve().then(function () {
|
|
80
|
-
return _interopRequireWildcard(require('./GridBookmarkWidget/components/GridBookmarkWidget'));
|
|
81
|
-
});
|
|
82
|
-
})
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
pluginManager.addToExtensionPoint('Core-extendPluggableElement', function (pluggableElement) {
|
|
86
|
-
if (pluggableElement.name === 'LinearGenomeView') {
|
|
87
|
-
var _ref = pluggableElement,
|
|
88
|
-
stateModel = _ref.stateModel;
|
|
89
|
-
var newStateModel = stateModel.extend(function (self) {
|
|
90
|
-
var superMenuItems = self.menuItems;
|
|
91
|
-
var superRubberBandMenuItems = self.rubberBandMenuItems;
|
|
92
|
-
return {
|
|
93
|
-
actions: {
|
|
94
|
-
activateBookmarkWidget: function activateBookmarkWidget() {
|
|
95
|
-
var session = (0, _util.getSession)(self);
|
|
96
|
-
|
|
97
|
-
if ((0, _util.isSessionModelWithWidgets)(session)) {
|
|
98
|
-
var bookmarkWidget = session.widgets.get('GridBookmark');
|
|
99
|
-
|
|
100
|
-
if (!bookmarkWidget) {
|
|
101
|
-
bookmarkWidget = session.addWidget('GridBookmarkWidget', 'GridBookmark', {
|
|
102
|
-
view: self
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
session.showWidget(bookmarkWidget);
|
|
107
|
-
return bookmarkWidget;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
throw new Error('Could not open bookmark widget');
|
|
111
|
-
},
|
|
112
|
-
bookmarkCurrentRegion: function bookmarkCurrentRegion() {
|
|
113
|
-
var selectedRegions = self.getSelectedRegions(self.leftOffset, self.rightOffset);
|
|
114
|
-
var firstRegion = selectedRegions[0];
|
|
115
|
-
var session = (0, _util.getSession)(self);
|
|
116
|
-
|
|
117
|
-
if ((0, _util.isSessionModelWithWidgets)(session)) {
|
|
118
|
-
var widgets = session.widgets;
|
|
119
|
-
var bookmarkWidget = widgets.get('GridBookmark');
|
|
120
|
-
|
|
121
|
-
if (!bookmarkWidget) {
|
|
122
|
-
this.activateBookmarkWidget();
|
|
123
|
-
bookmarkWidget = widgets.get('GridBookmark');
|
|
124
|
-
} // @ts-ignore
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
bookmarkWidget.addBookmark(firstRegion);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
views: {
|
|
132
|
-
menuItems: function menuItems() {
|
|
133
|
-
var newMenuItems = [].concat((0, _toConsumableArray2.default)(superMenuItems()), [{
|
|
134
|
-
type: 'divider'
|
|
135
|
-
}, {
|
|
136
|
-
label: 'Open bookmark widget',
|
|
137
|
-
icon: _Bookmarks.default,
|
|
138
|
-
// @ts-ignore
|
|
139
|
-
onClick: self.activateBookmarkWidget
|
|
140
|
-
}, {
|
|
141
|
-
label: 'Bookmark current region',
|
|
142
|
-
icon: _Bookmark.default,
|
|
143
|
-
// @ts-ignore
|
|
144
|
-
onClick: self.bookmarkCurrentRegion
|
|
145
|
-
}]);
|
|
146
|
-
return newMenuItems;
|
|
147
|
-
},
|
|
148
|
-
rubberBandMenuItems: function rubberBandMenuItems() {
|
|
149
|
-
var newRubberBandMenuItems = [].concat((0, _toConsumableArray2.default)(superRubberBandMenuItems()), [{
|
|
150
|
-
label: 'Bookmark region',
|
|
151
|
-
icon: _Bookmark.default,
|
|
152
|
-
onClick: function onClick() {
|
|
153
|
-
var leftOffset = self.leftOffset,
|
|
154
|
-
rightOffset = self.rightOffset;
|
|
155
|
-
var selectedRegions = self.getSelectedRegions(leftOffset, rightOffset);
|
|
156
|
-
var firstRegion = selectedRegions[0];
|
|
157
|
-
var session = (0, _util.getSession)(self);
|
|
158
|
-
|
|
159
|
-
if ((0, _util.isSessionModelWithWidgets)(session)) {
|
|
160
|
-
var widgets = session.widgets;
|
|
161
|
-
var bookmarkWidget = widgets.get('GridBookmark');
|
|
162
|
-
|
|
163
|
-
if (!bookmarkWidget) {
|
|
164
|
-
// @ts-ignore
|
|
165
|
-
self.activateBookmarkWidget();
|
|
166
|
-
bookmarkWidget = widgets.get('GridBookmark');
|
|
167
|
-
} // @ts-ignore
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
bookmarkWidget.addBookmark(firstRegion);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}]);
|
|
174
|
-
return newRubberBandMenuItems;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
|
-
pluggableElement.stateModel = newStateModel;
|
|
47
|
+
catch (error) { e = { error: error }; }
|
|
48
|
+
finally {
|
|
49
|
+
try {
|
|
50
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
51
|
+
}
|
|
52
|
+
finally { if (e) throw e.error; }
|
|
53
|
+
}
|
|
54
|
+
return ar;
|
|
55
|
+
};
|
|
56
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
57
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
58
|
+
if (ar || !(i in from)) {
|
|
59
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
60
|
+
ar[i] = from[i];
|
|
180
61
|
}
|
|
181
|
-
|
|
182
|
-
return pluggableElement;
|
|
183
|
-
});
|
|
184
62
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
|
|
63
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
64
|
+
};
|
|
65
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
66
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
67
|
+
};
|
|
68
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
+
var react_1 = require("react");
|
|
70
|
+
var Bookmark_1 = __importDefault(require("@mui/icons-material/Bookmark"));
|
|
71
|
+
var Bookmarks_1 = __importDefault(require("@mui/icons-material/Bookmarks"));
|
|
72
|
+
var WidgetType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
|
|
73
|
+
var Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
|
|
74
|
+
var util_1 = require("@jbrowse/core/util");
|
|
75
|
+
var GridBookmarkWidget_1 = require("./GridBookmarkWidget");
|
|
76
|
+
var default_1 = /** @class */ (function (_super) {
|
|
77
|
+
__extends(default_1, _super);
|
|
78
|
+
function default_1() {
|
|
79
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
80
|
+
_this.name = 'GridBookmarkPlugin';
|
|
81
|
+
return _this;
|
|
82
|
+
}
|
|
83
|
+
default_1.prototype.install = function (pluginManager) {
|
|
84
|
+
pluginManager.addWidgetType(function () {
|
|
85
|
+
return new WidgetType_1.default({
|
|
86
|
+
name: 'GridBookmarkWidget',
|
|
87
|
+
heading: 'Bookmarked regions',
|
|
88
|
+
configSchema: GridBookmarkWidget_1.configSchema,
|
|
89
|
+
stateModel: (0, GridBookmarkWidget_1.stateModelFactory)(pluginManager),
|
|
90
|
+
ReactComponent: (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./GridBookmarkWidget/components/GridBookmarkWidget')); }); }),
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
pluginManager.addToExtensionPoint('Core-extendPluggableElement', function (pluggableElement) {
|
|
94
|
+
if (pluggableElement.name === 'LinearGenomeView') {
|
|
95
|
+
var stateModel = pluggableElement.stateModel;
|
|
96
|
+
var newStateModel = stateModel.extend(function (self) {
|
|
97
|
+
var superMenuItems = self.menuItems;
|
|
98
|
+
var superRubberBandMenuItems = self.rubberBandMenuItems;
|
|
99
|
+
return {
|
|
100
|
+
actions: {
|
|
101
|
+
activateBookmarkWidget: function () {
|
|
102
|
+
var session = (0, util_1.getSession)(self);
|
|
103
|
+
if ((0, util_1.isSessionModelWithWidgets)(session)) {
|
|
104
|
+
var bookmarkWidget = session.widgets.get('GridBookmark');
|
|
105
|
+
if (!bookmarkWidget) {
|
|
106
|
+
bookmarkWidget = session.addWidget('GridBookmarkWidget', 'GridBookmark', { view: self });
|
|
107
|
+
}
|
|
108
|
+
session.showWidget(bookmarkWidget);
|
|
109
|
+
return bookmarkWidget;
|
|
110
|
+
}
|
|
111
|
+
throw new Error('Could not open bookmark widget');
|
|
112
|
+
},
|
|
113
|
+
bookmarkCurrentRegion: function () {
|
|
114
|
+
var selectedRegions = self.getSelectedRegions(self.leftOffset, self.rightOffset);
|
|
115
|
+
var firstRegion = selectedRegions[0];
|
|
116
|
+
var session = (0, util_1.getSession)(self);
|
|
117
|
+
if ((0, util_1.isSessionModelWithWidgets)(session)) {
|
|
118
|
+
var widgets = session.widgets;
|
|
119
|
+
var bookmarkWidget = widgets.get('GridBookmark');
|
|
120
|
+
if (!bookmarkWidget) {
|
|
121
|
+
this.activateBookmarkWidget();
|
|
122
|
+
bookmarkWidget = widgets.get('GridBookmark');
|
|
123
|
+
}
|
|
124
|
+
// @ts-ignore
|
|
125
|
+
bookmarkWidget.addBookmark(firstRegion);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
views: {
|
|
130
|
+
menuItems: function () {
|
|
131
|
+
var newMenuItems = __spreadArray(__spreadArray([], __read(superMenuItems()), false), [
|
|
132
|
+
{ type: 'divider' },
|
|
133
|
+
{
|
|
134
|
+
label: 'Open bookmark widget',
|
|
135
|
+
icon: Bookmarks_1.default,
|
|
136
|
+
// @ts-ignore
|
|
137
|
+
onClick: self.activateBookmarkWidget,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: 'Bookmark current region',
|
|
141
|
+
icon: Bookmark_1.default,
|
|
142
|
+
// @ts-ignore
|
|
143
|
+
onClick: self.bookmarkCurrentRegion,
|
|
144
|
+
},
|
|
145
|
+
], false);
|
|
146
|
+
return newMenuItems;
|
|
147
|
+
},
|
|
148
|
+
rubberBandMenuItems: function () {
|
|
149
|
+
var newRubberBandMenuItems = __spreadArray(__spreadArray([], __read(superRubberBandMenuItems()), false), [
|
|
150
|
+
{
|
|
151
|
+
label: 'Bookmark region',
|
|
152
|
+
icon: Bookmark_1.default,
|
|
153
|
+
onClick: function () {
|
|
154
|
+
var leftOffset = self.leftOffset, rightOffset = self.rightOffset;
|
|
155
|
+
var selectedRegions = self.getSelectedRegions(leftOffset, rightOffset);
|
|
156
|
+
var firstRegion = selectedRegions[0];
|
|
157
|
+
var session = (0, util_1.getSession)(self);
|
|
158
|
+
if ((0, util_1.isSessionModelWithWidgets)(session)) {
|
|
159
|
+
var widgets = session.widgets;
|
|
160
|
+
var bookmarkWidget = widgets.get('GridBookmark');
|
|
161
|
+
if (!bookmarkWidget) {
|
|
162
|
+
// @ts-ignore
|
|
163
|
+
self.activateBookmarkWidget();
|
|
164
|
+
bookmarkWidget = widgets.get('GridBookmark');
|
|
165
|
+
}
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
bookmarkWidget.addBookmark(firstRegion);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
], false);
|
|
172
|
+
return newRubberBandMenuItems;
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
});
|
|
177
|
+
pluggableElement.stateModel = newStateModel;
|
|
178
|
+
}
|
|
179
|
+
return pluggableElement;
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
default_1.prototype.configure = function (_pluginManager) { };
|
|
183
|
+
return default_1;
|
|
184
|
+
}(Plugin_1.default));
|
|
185
|
+
exports.default = default_1;
|
|
186
|
+
//# sourceMappingURL=index.js.map
|