@jbrowse/product-core 3.7.0 → 4.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.
Files changed (97) hide show
  1. package/esm/RootModel/BaseRootModel.d.ts +52 -37
  2. package/esm/RootModel/BaseRootModel.js +1 -1
  3. package/esm/RootModel/FormatAbout.d.ts +2 -2
  4. package/esm/RootModel/FormatDetails.d.ts +2 -2
  5. package/esm/RootModel/HierarchicalConfig.d.ts +6 -6
  6. package/esm/RootModel/InternetAccounts.d.ts +4 -4
  7. package/esm/RootModel/InternetAccounts.js +3 -3
  8. package/esm/RootModel/index.d.ts +5 -5
  9. package/esm/RootModel/index.js +5 -5
  10. package/esm/Session/BaseSession.d.ts +12 -8
  11. package/esm/Session/BaseSession.js +12 -2
  12. package/esm/Session/Connections.d.ts +7 -144
  13. package/esm/Session/Connections.js +13 -3
  14. package/esm/Session/DialogQueue.d.ts +3 -3
  15. package/esm/Session/DialogQueue.js +4 -6
  16. package/esm/Session/DrawerWidgets.d.ts +17 -9
  17. package/esm/Session/DrawerWidgets.js +32 -8
  18. package/esm/Session/MultipleViews.d.ts +189 -127
  19. package/esm/Session/MultipleViews.js +27 -10
  20. package/esm/Session/ReferenceManagement.d.ts +3 -3
  21. package/esm/Session/ReferenceManagement.js +10 -4
  22. package/esm/Session/SessionTracks.d.ts +178 -122
  23. package/esm/Session/SessionTracks.js +13 -3
  24. package/esm/Session/Themes.d.ts +3 -3
  25. package/esm/Session/Themes.js +3 -3
  26. package/esm/Session/Tracks.d.ts +175 -121
  27. package/esm/Session/Tracks.js +16 -3
  28. package/esm/Session/index.d.ts +10 -10
  29. package/esm/Session/index.js +10 -10
  30. package/esm/index.d.ts +4 -4
  31. package/esm/index.js +4 -4
  32. package/esm/rpcWorker.d.ts +6 -0
  33. package/esm/rpcWorker.js +12 -6
  34. package/esm/ui/AboutDialog.d.ts +4 -2
  35. package/esm/ui/AboutDialog.js +4 -5
  36. package/esm/ui/AboutDialogContents.d.ts +4 -2
  37. package/esm/ui/AboutDialogContents.js +13 -12
  38. package/esm/ui/FileInfoPanel.d.ts +4 -2
  39. package/esm/ui/FileInfoPanel.js +6 -7
  40. package/esm/ui/HeaderButtons.js +4 -4
  41. package/esm/ui/RefNameInfoDialog.d.ts +4 -2
  42. package/esm/ui/RefNameInfoDialog.js +13 -13
  43. package/esm/ui/index.d.ts +1 -1
  44. package/esm/ui/index.js +1 -1
  45. package/esm/ui/util.d.ts +5 -2
  46. package/esm/ui/util.js +23 -5
  47. package/package.json +24 -34
  48. package/dist/RootModel/BaseRootModel.d.ts +0 -534
  49. package/dist/RootModel/BaseRootModel.js +0 -57
  50. package/dist/RootModel/FormatAbout.d.ts +0 -12
  51. package/dist/RootModel/FormatAbout.js +0 -18
  52. package/dist/RootModel/FormatDetails.d.ts +0 -24
  53. package/dist/RootModel/FormatDetails.js +0 -30
  54. package/dist/RootModel/HierarchicalConfig.d.ts +0 -26
  55. package/dist/RootModel/HierarchicalConfig.js +0 -32
  56. package/dist/RootModel/InternetAccounts.d.ts +0 -15
  57. package/dist/RootModel/InternetAccounts.js +0 -79
  58. package/dist/RootModel/index.d.ts +0 -5
  59. package/dist/RootModel/index.js +0 -21
  60. package/dist/Session/BaseSession.d.ts +0 -31
  61. package/dist/Session/BaseSession.js +0 -63
  62. package/dist/Session/Connections.d.ts +0 -158
  63. package/dist/Session/Connections.js +0 -84
  64. package/dist/Session/DialogQueue.d.ts +0 -15
  65. package/dist/Session/DialogQueue.js +0 -37
  66. package/dist/Session/DrawerWidgets.d.ts +0 -28
  67. package/dist/Session/DrawerWidgets.js +0 -107
  68. package/dist/Session/MultipleViews.d.ts +0 -1681
  69. package/dist/Session/MultipleViews.js +0 -75
  70. package/dist/Session/ReferenceManagement.d.ts +0 -15
  71. package/dist/Session/ReferenceManagement.js +0 -71
  72. package/dist/Session/SessionTracks.d.ts +0 -1664
  73. package/dist/Session/SessionTracks.js +0 -54
  74. package/dist/Session/Themes.d.ts +0 -18
  75. package/dist/Session/Themes.js +0 -47
  76. package/dist/Session/Tracks.d.ts +0 -1657
  77. package/dist/Session/Tracks.js +0 -36
  78. package/dist/Session/index.d.ts +0 -10
  79. package/dist/Session/index.js +0 -26
  80. package/dist/index.d.ts +0 -4
  81. package/dist/index.js +0 -20
  82. package/dist/rpcWorker.d.ts +0 -6
  83. package/dist/rpcWorker.js +0 -57
  84. package/dist/ui/AboutDialog.d.ts +0 -5
  85. package/dist/ui/AboutDialog.js +0 -18
  86. package/dist/ui/AboutDialogContents.d.ts +0 -5
  87. package/dist/ui/AboutDialogContents.js +0 -41
  88. package/dist/ui/FileInfoPanel.d.ts +0 -4
  89. package/dist/ui/FileInfoPanel.js +0 -43
  90. package/dist/ui/HeaderButtons.d.ts +0 -6
  91. package/dist/ui/HeaderButtons.js +0 -31
  92. package/dist/ui/RefNameInfoDialog.d.ts +0 -6
  93. package/dist/ui/RefNameInfoDialog.js +0 -87
  94. package/dist/ui/index.d.ts +0 -1
  95. package/dist/ui/index.js +0 -17
  96. package/dist/ui/util.d.ts +0 -12
  97. package/dist/ui/util.js +0 -28
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TracksManagerSessionMixin = TracksManagerSessionMixin;
4
- exports.isSessionWithTracks = isSessionWithTracks;
5
- const mobx_state_tree_1 = require("mobx-state-tree");
6
- const BaseSession_1 = require("./BaseSession");
7
- const ReferenceManagement_1 = require("./ReferenceManagement");
8
- function TracksManagerSessionMixin(pluginManager) {
9
- return mobx_state_tree_1.types
10
- .compose('TracksManagerSessionMixin', (0, BaseSession_1.BaseSessionModel)(pluginManager), (0, ReferenceManagement_1.ReferenceManagementSessionMixin)(pluginManager))
11
- .views(self => ({
12
- get tracks() {
13
- return self.jbrowse.tracks;
14
- },
15
- }))
16
- .actions(self => ({
17
- addTrackConf(trackConf) {
18
- return self.jbrowse.addTrackConf(trackConf);
19
- },
20
- deleteTrackConf(trackConf) {
21
- const callbacksToDereferenceTrack = [];
22
- const dereferenceTypeCount = {};
23
- const referring = self.getReferring(trackConf);
24
- self.removeReferring(referring, trackConf, callbacksToDereferenceTrack, dereferenceTypeCount);
25
- for (const cb of callbacksToDereferenceTrack) {
26
- cb();
27
- }
28
- if (self.adminMode) {
29
- return self.jbrowse.deleteTrackConf(trackConf);
30
- }
31
- },
32
- }));
33
- }
34
- function isSessionWithTracks(thing) {
35
- return (0, BaseSession_1.isBaseSession)(thing) && 'tracks' in thing;
36
- }
@@ -1,10 +0,0 @@
1
- export * from './ReferenceManagement';
2
- export * from './Connections';
3
- export * from './DrawerWidgets';
4
- export * from './DialogQueue';
5
- export * from './Themes';
6
- export * from './Tracks';
7
- export * from './MultipleViews';
8
- export * from './BaseSession';
9
- export * from './SessionTracks';
10
- export * from './BaseSession';
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ReferenceManagement"), exports);
18
- __exportStar(require("./Connections"), exports);
19
- __exportStar(require("./DrawerWidgets"), exports);
20
- __exportStar(require("./DialogQueue"), exports);
21
- __exportStar(require("./Themes"), exports);
22
- __exportStar(require("./Tracks"), exports);
23
- __exportStar(require("./MultipleViews"), exports);
24
- __exportStar(require("./BaseSession"), exports);
25
- __exportStar(require("./SessionTracks"), exports);
26
- __exportStar(require("./BaseSession"), exports);
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './RootModel';
2
- export * from './Session';
3
- export * from './ui';
4
- export * from './rpcWorker';
package/dist/index.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./RootModel"), exports);
18
- __exportStar(require("./Session"), exports);
19
- __exportStar(require("./ui"), exports);
20
- __exportStar(require("./rpcWorker"), exports);
@@ -1,6 +0,0 @@
1
- import type { PluginConstructor } from '@jbrowse/core/Plugin';
2
- import type { LoadedPlugin } from '@jbrowse/core/PluginLoader';
3
- export declare function initializeWorker(corePlugins: PluginConstructor[], opts: {
4
- fetchESM?: (url: string) => Promise<LoadedPlugin>;
5
- fetchCJS?: (url: string) => Promise<LoadedPlugin>;
6
- }): Promise<void>;
package/dist/rpcWorker.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.initializeWorker = initializeWorker;
7
- const PluginLoader_1 = __importDefault(require("@jbrowse/core/PluginLoader"));
8
- const PluginManager_1 = __importDefault(require("@jbrowse/core/PluginManager"));
9
- const librpc_web_mod_1 = __importDefault(require("librpc-web-mod"));
10
- const serialize_error_1 = require("serialize-error");
11
- function receiveConfiguration() {
12
- const configurationP = new Promise(resolve => {
13
- function listener(e) {
14
- if (e.data.message === 'config') {
15
- resolve(e.data.config);
16
- removeEventListener('message', listener);
17
- }
18
- }
19
- self.addEventListener('message', listener);
20
- });
21
- postMessage({ message: 'readyForConfig' });
22
- return configurationP;
23
- }
24
- async function getPluginManager(corePlugins, opts) {
25
- const config = await receiveConfiguration();
26
- const pluginLoader = new PluginLoader_1.default(config.plugins, opts).installGlobalReExports(self);
27
- return new PluginManager_1.default([
28
- ...corePlugins.map(p => ({ plugin: p })),
29
- ...(await pluginLoader.load(config.windowHref)),
30
- ].map(P => new P.plugin()))
31
- .createPluggableElements()
32
- .configure();
33
- }
34
- function wrapForRpc(func) {
35
- return (args) => {
36
- const { channel, rpcDriverClassName } = args;
37
- return func({
38
- ...args,
39
- statusCallback: (message) => {
40
- self.rpcServer.emit(channel, message);
41
- },
42
- }, rpcDriverClassName);
43
- };
44
- }
45
- async function initializeWorker(corePlugins, opts) {
46
- try {
47
- const pluginManager = await getPluginManager(corePlugins, opts);
48
- const rpcConfig = Object.fromEntries(pluginManager
49
- .getRpcElements()
50
- .map(e => [e.name, wrapForRpc(e.execute.bind(e))]));
51
- self.rpcServer = new librpc_web_mod_1.default.Server(rpcConfig);
52
- postMessage({ message: 'ready' });
53
- }
54
- catch (e) {
55
- postMessage({ message: 'error', error: (0, serialize_error_1.serializeError)(e) });
56
- }
57
- }
@@ -1,5 +0,0 @@
1
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- export declare function AboutDialog({ config, handleClose, }: {
3
- config: AnyConfigurationModel;
4
- handleClose: () => void;
5
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AboutDialog = AboutDialog;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const Dialog_1 = __importDefault(require("@jbrowse/core/ui/Dialog"));
9
- const util_1 = require("@jbrowse/core/util");
10
- const tracks_1 = require("@jbrowse/core/util/tracks");
11
- const AboutDialogContents_1 = __importDefault(require("./AboutDialogContents"));
12
- function AboutDialog({ config, handleClose, }) {
13
- const session = (0, util_1.getSession)(config);
14
- const trackName = (0, tracks_1.getTrackName)(config, session);
15
- const { pluginManager } = (0, util_1.getEnv)(session);
16
- const AboutComponent = pluginManager.evaluateExtensionPoint('Core-replaceAbout', AboutDialogContents_1.default, { session, config });
17
- return ((0, jsx_runtime_1.jsx)(Dialog_1.default, { open: true, onClose: handleClose, title: trackName, maxWidth: "xl", children: (0, jsx_runtime_1.jsx)(AboutComponent, { config: config }) }));
18
- }
@@ -1,5 +0,0 @@
1
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- declare const AboutDialogContents: ({ config, }: {
3
- config: AnyConfigurationModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default AboutDialogContents;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const Attributes_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/Attributes"));
9
- const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
10
- const configuration_1 = require("@jbrowse/core/configuration");
11
- const util_1 = require("@jbrowse/core/util");
12
- const mobx_react_1 = require("mobx-react");
13
- const mui_1 = require("tss-react/mui");
14
- const FileInfoPanel_1 = __importDefault(require("./FileInfoPanel"));
15
- const HeaderButtons_1 = __importDefault(require("./HeaderButtons"));
16
- const RefNameInfoDialog_1 = __importDefault(require("./RefNameInfoDialog"));
17
- const util_2 = require("./util");
18
- const useStyles = (0, mui_1.makeStyles)()({
19
- content: {
20
- minWidth: 800,
21
- },
22
- });
23
- const AboutDialogContents = (0, mobx_react_1.observer)(function ({ config, }) {
24
- const conf = (0, configuration_1.readConfObject)(config);
25
- const session = (0, util_1.getSession)(config);
26
- const { classes } = useStyles();
27
- const [showRefNames, setShowRefNames] = (0, react_1.useState)(false);
28
- const hideUris = (0, configuration_1.getConf)(session, ['formatAbout', 'hideUris']) ||
29
- (0, configuration_1.readConfObject)(config, ['formatAbout', 'hideUris']);
30
- const { pluginManager } = (0, util_1.getEnv)(session);
31
- const confPostExt = (0, util_2.generateDisplayableConfig)({
32
- config,
33
- pluginManager,
34
- });
35
- const ExtraPanel = pluginManager.evaluateExtensionPoint('Core-extraAboutPanel', null, { session, config });
36
- const hideFields = ['displays', 'baseUri', 'refNames', 'formatAbout'];
37
- return ((0, jsx_runtime_1.jsxs)("div", { className: classes.content, children: [(0, jsx_runtime_1.jsxs)(BaseCard_1.default, { title: "Configuration", children: [!hideUris ? ((0, jsx_runtime_1.jsx)(HeaderButtons_1.default, { conf: conf, setShowRefNames: setShowRefNames })) : null, (0, jsx_runtime_1.jsx)(Attributes_1.default, { attributes: confPostExt.config, omit: [...hideFields, 'metadata'], hideUris: hideUris })] }), confPostExt.config.metadata ? ((0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: "Metadata", children: (0, jsx_runtime_1.jsx)(Attributes_1.default, { attributes: confPostExt.config.metadata, omit: hideFields, hideUris: hideUris }) })) : null, ExtraPanel ? ((0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: ExtraPanel.name, children: (0, jsx_runtime_1.jsx)(ExtraPanel.Component, { config: config }) })) : null, (0, jsx_runtime_1.jsx)(FileInfoPanel_1.default, { config: config }), showRefNames ? ((0, jsx_runtime_1.jsx)(RefNameInfoDialog_1.default, { config: config, onClose: () => {
38
- setShowRefNames(false);
39
- } })) : null] }));
40
- });
41
- exports.default = AboutDialogContents;
@@ -1,4 +0,0 @@
1
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- export default function FileInfoPanel({ config, }: {
3
- config: AnyConfigurationModel;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = FileInfoPanel;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const Attributes_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/Attributes"));
10
- const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
11
- const configuration_1 = require("@jbrowse/core/configuration");
12
- const ui_1 = require("@jbrowse/core/ui");
13
- const util_1 = require("@jbrowse/core/util");
14
- function FileInfoPanel({ config, }) {
15
- const [error, setError] = (0, react_1.useState)();
16
- const [info, setInfo] = (0, react_1.useState)();
17
- const session = (0, util_1.getSession)(config);
18
- const { rpcManager } = session;
19
- (0, react_1.useEffect)(() => {
20
- ;
21
- (async () => {
22
- try {
23
- const adapterConfig = (0, configuration_1.readConfObject)(config, 'adapter');
24
- const result = await rpcManager.call(config.trackId, 'CoreGetInfo', {
25
- adapterConfig,
26
- });
27
- setInfo(result);
28
- }
29
- catch (e) {
30
- console.error(e);
31
- setError(e);
32
- }
33
- })();
34
- }, [config, rpcManager]);
35
- const details = typeof info === 'string'
36
- ? {
37
- header: `<pre>${info
38
- .replaceAll('<', '&lt;')
39
- .replaceAll('>', '&gt;')}</pre>`,
40
- }
41
- : info || {};
42
- return ((0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: "File info", children: error ? ((0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: error })) : info === undefined ? ((0, jsx_runtime_1.jsx)(ui_1.LoadingEllipses, { message: "Loading file data" })) : ((0, jsx_runtime_1.jsx)(Attributes_1.default, { attributes: details })) }));
43
- }
@@ -1,6 +0,0 @@
1
- interface HeaderButtonsProps {
2
- conf: Record<string, unknown>;
3
- setShowRefNames: (show: boolean) => void;
4
- }
5
- declare function HeaderButtons({ conf, setShowRefNames }: HeaderButtonsProps): import("react/jsx-runtime").JSX.Element;
6
- export default HeaderButtons;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const material_1 = require("@mui/material");
9
- const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
10
- const mui_1 = require("tss-react/mui");
11
- const util_1 = require("./util");
12
- const useStyles = (0, mui_1.makeStyles)()({
13
- button: {
14
- float: 'right',
15
- },
16
- });
17
- function HeaderButtons({ conf, setShowRefNames }) {
18
- const [copied, setCopied] = (0, react_1.useState)(false);
19
- const { classes } = useStyles();
20
- return ((0, jsx_runtime_1.jsxs)("span", { className: classes.button, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: () => {
21
- setShowRefNames(true);
22
- }, children: "Show ref names" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", onClick: () => {
23
- const snap = (0, util_1.removeAttr)(structuredClone(conf), 'baseUri');
24
- (0, copy_to_clipboard_1.default)(JSON.stringify(snap, null, 2));
25
- setCopied(true);
26
- setTimeout(() => {
27
- setCopied(false);
28
- }, 1000);
29
- }, children: copied ? 'Copied to clipboard!' : 'Copy config' })] }));
30
- }
31
- exports.default = HeaderButtons;
@@ -1,6 +0,0 @@
1
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- declare const RefNameInfoDialog: ({ config, onClose, }: {
3
- config: AnyConfigurationModel;
4
- onClose: () => void;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
- export default RefNameInfoDialog;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const configuration_1 = require("@jbrowse/core/configuration");
9
- const ui_1 = require("@jbrowse/core/ui");
10
- const util_1 = require("@jbrowse/core/util");
11
- const tracks_1 = require("@jbrowse/core/util/tracks");
12
- const material_1 = require("@mui/material");
13
- const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
14
- const mobx_react_1 = require("mobx-react");
15
- const mui_1 = require("tss-react/mui");
16
- const MAX_REF_NAMES = 10000;
17
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
18
- container: {
19
- minWidth: 800,
20
- },
21
- refNames: {
22
- maxHeight: 300,
23
- overflow: 'auto',
24
- flexGrow: 1,
25
- background: theme.palette.background.default,
26
- },
27
- }));
28
- const RefNameInfoDialog = (0, mobx_react_1.observer)(function ({ config, onClose, }) {
29
- const { classes } = useStyles();
30
- const [error, setError] = (0, react_1.useState)();
31
- const [refNames, setRefNames] = (0, react_1.useState)();
32
- const [copied, setCopied] = (0, react_1.useState)(false);
33
- const { rpcManager } = (0, util_1.getSession)(config);
34
- (0, react_1.useEffect)(() => {
35
- ;
36
- (async () => {
37
- try {
38
- const map = await Promise.all([...new Set((0, tracks_1.getConfAssemblyNames)(config))].map(async (assemblyName) => {
39
- const adapterConfig = (0, configuration_1.readConfObject)(config, 'adapter');
40
- return [
41
- assemblyName,
42
- (await rpcManager.call(config.trackId, 'CoreGetRefNames', {
43
- adapterConfig,
44
- regions: [
45
- {
46
- assemblyName,
47
- },
48
- ],
49
- })),
50
- ];
51
- }));
52
- setRefNames(Object.fromEntries(map));
53
- }
54
- catch (e) {
55
- console.error(e);
56
- setError(e);
57
- }
58
- })();
59
- }, [config, rpcManager]);
60
- const names = refNames ? Object.entries(refNames) : [];
61
- const result = names
62
- .flatMap(([assemblyName, refNames]) => {
63
- return [
64
- `--- ${assemblyName} ---`,
65
- ...refNames.slice(0, MAX_REF_NAMES),
66
- refNames.length > MAX_REF_NAMES
67
- ? `\nToo many refNames to show in browser for ${assemblyName}, use "Copy ref names" button to copy to clipboard`
68
- : '',
69
- ];
70
- })
71
- .filter(f => !!f)
72
- .join('\n');
73
- return ((0, jsx_runtime_1.jsx)(ui_1.Dialog, { open: true, title: "Reference sequence names used in track", onClose: onClose, maxWidth: "xl", children: (0, jsx_runtime_1.jsx)(material_1.DialogContent, { className: classes.container, children: error ? ((0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: error })) : refNames === undefined ? ((0, jsx_runtime_1.jsx)(ui_1.LoadingEllipses, { message: "Loading refNames" })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", onClick: () => {
74
- (0, copy_to_clipboard_1.default)(names
75
- .flatMap(([assemblyName, refNames]) => [
76
- `--- ${assemblyName} ---`,
77
- ...refNames,
78
- ])
79
- .filter(f => !!f)
80
- .join('\n'));
81
- setCopied(true);
82
- setTimeout(() => {
83
- setCopied(false);
84
- }, 1000);
85
- }, children: copied ? 'Copied to clipboard!' : 'Copy ref names' }), (0, jsx_runtime_1.jsx)("pre", { className: classes.refNames, children: result })] })) }) }));
86
- });
87
- exports.default = RefNameInfoDialog;
@@ -1 +0,0 @@
1
- export * from './AboutDialog';
package/dist/ui/index.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AboutDialog"), exports);
package/dist/ui/util.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import type PluginManager from '@jbrowse/core/PluginManager';
2
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
- export declare function removeAttr(obj: Record<string, unknown>, attr: string): Record<string, unknown>;
4
- export declare function generateDisplayableConfig({ config, pluginManager, }: {
5
- config: AnyConfigurationModel;
6
- pluginManager: PluginManager;
7
- }): {
8
- config: {
9
- metadata?: Record<string, unknown>;
10
- [key: string]: unknown;
11
- };
12
- };
package/dist/ui/util.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeAttr = removeAttr;
4
- exports.generateDisplayableConfig = generateDisplayableConfig;
5
- const configuration_1 = require("@jbrowse/core/configuration");
6
- const util_1 = require("@jbrowse/core/util");
7
- function removeAttr(obj, attr) {
8
- for (const prop in obj) {
9
- if (prop === attr) {
10
- delete obj[prop];
11
- }
12
- else if (typeof obj[prop] === 'object') {
13
- removeAttr(obj[prop], attr);
14
- }
15
- }
16
- return obj;
17
- }
18
- function generateDisplayableConfig({ config, pluginManager, }) {
19
- const session = (0, util_1.getSession)(config);
20
- const conf = (0, configuration_1.readConfObject)(config);
21
- return pluginManager.evaluateExtensionPoint('Core-customizeAbout', {
22
- config: {
23
- ...conf,
24
- ...(0, configuration_1.getConf)(session, ['formatAbout', 'config'], { config: conf }),
25
- ...(0, configuration_1.readConfObject)(config, ['formatAbout', 'config'], { config: conf }),
26
- },
27
- }, { session, config });
28
- }