@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,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionTracksManagerSessionMixin = SessionTracksManagerSessionMixin;
4
- exports.isSessionWithSessionTracks = isSessionWithSessionTracks;
5
- const mobx_state_tree_1 = require("mobx-state-tree");
6
- const BaseSession_1 = require("./BaseSession");
7
- const Tracks_1 = require("./Tracks");
8
- function SessionTracksManagerSessionMixin(pluginManager) {
9
- return (0, Tracks_1.TracksManagerSessionMixin)(pluginManager)
10
- .named('SessionTracksManagerSessionMixin')
11
- .props({
12
- sessionTracks: mobx_state_tree_1.types.array(pluginManager.pluggableConfigSchemaType('track')),
13
- })
14
- .views(self => ({
15
- get tracks() {
16
- return [...self.sessionTracks, ...self.jbrowse.tracks];
17
- },
18
- }))
19
- .actions(self => {
20
- const { addTrackConf: superAddTrackConf, deleteTrackConf: superDeleteTrackConf, } = self;
21
- return {
22
- addTrackConf(trackConf) {
23
- if (self.adminMode) {
24
- return superAddTrackConf(trackConf);
25
- }
26
- const { trackId, type } = trackConf;
27
- if (!type) {
28
- throw new Error(`unknown track type ${type}`);
29
- }
30
- const track = self.sessionTracks.find(t => t.trackId === trackId);
31
- if (track) {
32
- return track;
33
- }
34
- const length = self.sessionTracks.push(trackConf);
35
- return self.sessionTracks[length - 1];
36
- },
37
- deleteTrackConf(trackConf) {
38
- const found = superDeleteTrackConf(trackConf);
39
- if (found) {
40
- return found;
41
- }
42
- const { trackId } = trackConf;
43
- const idx = self.sessionTracks.findIndex(t => t.trackId === trackId);
44
- if (idx === -1) {
45
- return undefined;
46
- }
47
- return self.sessionTracks.splice(idx, 1);
48
- },
49
- };
50
- });
51
- }
52
- function isSessionWithSessionTracks(thing) {
53
- return (0, BaseSession_1.isBaseSession)(thing) && 'sessionTracks' in thing;
54
- }
@@ -1,18 +0,0 @@
1
- import type PluginManager from '@jbrowse/core/PluginManager';
2
- import type { ThemeOptions } from '@mui/material';
3
- import type { IAnyStateTreeNode, Instance } from 'mobx-state-tree';
4
- type ThemeMap = Record<string, ThemeOptions>;
5
- export declare function ThemeManagerSessionMixin(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{}, {
6
- sessionThemeName: string;
7
- } & {
8
- allThemes(): ThemeMap;
9
- readonly themeName: string;
10
- readonly theme: import("@mui/material").Theme;
11
- } & {
12
- setThemeName(name: string): void;
13
- afterAttach(): void;
14
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
15
- export type SessionWithThemesType = ReturnType<typeof ThemeManagerSessionMixin>;
16
- export type SessionWithThemes = Instance<SessionWithThemesType>;
17
- export declare function isSessionWithThemes(session: IAnyStateTreeNode): session is SessionWithThemes;
18
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThemeManagerSessionMixin = ThemeManagerSessionMixin;
4
- exports.isSessionWithThemes = isSessionWithThemes;
5
- const configuration_1 = require("@jbrowse/core/configuration");
6
- const ui_1 = require("@jbrowse/core/ui");
7
- const util_1 = require("@jbrowse/core/util");
8
- const mobx_1 = require("mobx");
9
- const mobx_state_tree_1 = require("mobx-state-tree");
10
- function ThemeManagerSessionMixin(_pluginManager) {
11
- return mobx_state_tree_1.types
12
- .model({})
13
- .volatile(() => ({
14
- sessionThemeName: (0, util_1.localStorageGetItem)('themeName') || 'default',
15
- }))
16
- .views(s => ({
17
- allThemes() {
18
- const self = s;
19
- const extraThemes = (0, configuration_1.getConf)(self.jbrowse, 'extraThemes');
20
- return { ...ui_1.defaultThemes, ...extraThemes };
21
- },
22
- get themeName() {
23
- const { sessionThemeName } = s;
24
- const all = this.allThemes();
25
- return all[sessionThemeName] ? sessionThemeName : 'default';
26
- },
27
- get theme() {
28
- const self = s;
29
- const configTheme = (0, configuration_1.getConf)(self.jbrowse, 'theme');
30
- const all = this.allThemes();
31
- return (0, ui_1.createJBrowseTheme)(configTheme, all, this.themeName);
32
- },
33
- }))
34
- .actions(self => ({
35
- setThemeName(name) {
36
- self.sessionThemeName = name;
37
- },
38
- afterAttach() {
39
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => {
40
- (0, util_1.localStorageSetItem)('themeName', self.themeName);
41
- }));
42
- },
43
- }));
44
- }
45
- function isSessionWithThemes(session) {
46
- return 'theme' in session;
47
- }