@jbrowse/product-core 3.7.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DrawerWidgetSessionMixin = DrawerWidgetSessionMixin;
4
- exports.isSessionWithDrawerWidgets = isSessionWithDrawerWidgets;
5
- const configuration_1 = require("@jbrowse/core/configuration");
6
- const util_1 = require("@jbrowse/core/util");
7
- const mobx_1 = require("mobx");
8
- const mobx_state_tree_1 = require("mobx-state-tree");
9
- const BaseSession_1 = require("./BaseSession");
10
- const minDrawerWidth = 128;
11
- function DrawerWidgetSessionMixin(pluginManager) {
12
- const widgetStateModelType = pluginManager.pluggableMstType('widget', 'stateModel');
13
- return mobx_state_tree_1.types
14
- .model({
15
- drawerPosition: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.string, () => (0, util_1.localStorageGetItem)('drawerPosition') || 'right'),
16
- drawerWidth: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.refinement(mobx_state_tree_1.types.integer, width => width >= minDrawerWidth), 384),
17
- widgets: mobx_state_tree_1.types.map(widgetStateModelType),
18
- activeWidgets: mobx_state_tree_1.types.map(mobx_state_tree_1.types.safeReference(widgetStateModelType)),
19
- minimized: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.boolean, false),
20
- })
21
- .views(self => ({
22
- get visibleWidget() {
23
- if ((0, mobx_state_tree_1.isAlive)(self)) {
24
- return [...self.activeWidgets.values()][self.activeWidgets.size - 1];
25
- }
26
- return undefined;
27
- },
28
- }))
29
- .actions(self => ({
30
- setDrawerPosition(arg) {
31
- self.drawerPosition = arg;
32
- localStorage.setItem('drawerPosition', arg);
33
- },
34
- updateDrawerWidth(drawerWidth) {
35
- if (drawerWidth === self.drawerWidth) {
36
- return self.drawerWidth;
37
- }
38
- let newDrawerWidth = drawerWidth;
39
- if (newDrawerWidth < minDrawerWidth) {
40
- newDrawerWidth = minDrawerWidth;
41
- }
42
- self.drawerWidth = newDrawerWidth;
43
- return newDrawerWidth;
44
- },
45
- resizeDrawer(distance) {
46
- if (self.drawerPosition === 'left') {
47
- distance *= -1;
48
- }
49
- const oldDrawerWidth = self.drawerWidth;
50
- const newDrawerWidth = this.updateDrawerWidth(oldDrawerWidth - distance);
51
- return oldDrawerWidth - newDrawerWidth;
52
- },
53
- addWidget(typeName, id, initialState = {}, conf) {
54
- const typeDefinition = pluginManager.getElementType('widget', typeName);
55
- if (!typeDefinition) {
56
- throw new Error(`unknown widget type ${typeName}`);
57
- }
58
- const data = {
59
- ...initialState,
60
- id,
61
- type: typeName,
62
- configuration: conf || { type: typeName },
63
- };
64
- self.widgets.set(id, data);
65
- return self.widgets.get(id);
66
- },
67
- showWidget(widget) {
68
- if (self.activeWidgets.has(widget.id)) {
69
- self.activeWidgets.delete(widget.id);
70
- }
71
- self.activeWidgets.set(widget.id, widget);
72
- self.minimized = false;
73
- },
74
- hasWidget(widget) {
75
- return self.activeWidgets.has(widget.id);
76
- },
77
- hideWidget(widget) {
78
- self.activeWidgets.delete(widget.id);
79
- },
80
- minimizeWidgetDrawer() {
81
- self.minimized = true;
82
- },
83
- showWidgetDrawer() {
84
- self.minimized = false;
85
- },
86
- hideAllWidgets() {
87
- self.activeWidgets.clear();
88
- },
89
- editConfiguration(configuration) {
90
- if (!(0, configuration_1.isConfigurationModel)(configuration)) {
91
- throw new Error('must pass a configuration model to editConfiguration');
92
- }
93
- const editor = this.addWidget('ConfigurationEditorWidget', 'configEditor', { target: configuration });
94
- this.showWidget(editor);
95
- },
96
- afterAttach() {
97
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => {
98
- (0, util_1.localStorageSetItem)('drawerPosition', self.drawerPosition);
99
- }));
100
- },
101
- }));
102
- }
103
- function isSessionWithDrawerWidgets(session) {
104
- return ((0, BaseSession_1.isBaseSession)(session) &&
105
- 'widgets' in session &&
106
- 'drawerPosition' in session);
107
- }