@jbrowse/react-linear-genome-view2 3.2.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 (76) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +72 -0
  3. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.d.ts +5 -0
  4. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.js +19 -0
  5. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.test.d.ts +1 -0
  6. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.test.js +77 -0
  7. package/dist/JBrowseLinearGenomeView/index.d.ts +1 -0
  8. package/dist/JBrowseLinearGenomeView/index.js +8 -0
  9. package/dist/corePlugins.d.ts +3 -0
  10. package/dist/corePlugins.js +38 -0
  11. package/dist/createModel/AboutDialog.d.ts +1 -0
  12. package/dist/createModel/AboutDialog.js +5 -0
  13. package/dist/createModel/createConfigModel.d.ts +94 -0
  14. package/dist/createModel/createConfigModel.js +43 -0
  15. package/dist/createModel/createModel.d.ts +3165 -0
  16. package/dist/createModel/createModel.js +118 -0
  17. package/dist/createModel/createSessionModel.d.ts +1170 -0
  18. package/dist/createModel/createSessionModel.js +118 -0
  19. package/dist/createModel/index.d.ts +3 -0
  20. package/dist/createModel/index.js +12 -0
  21. package/dist/createViewState.d.ts +8683 -0
  22. package/dist/createViewState.js +79 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.js +14 -0
  25. package/dist/loadPlugins.d.ts +13 -0
  26. package/dist/loadPlugins.js +12 -0
  27. package/dist/react-linear-genome-view.umd.production.min.js +185 -0
  28. package/dist/react-linear-genome-view.umd.production.min.js.LICENSE.txt +198 -0
  29. package/dist/react-linear-genome-view.umd.production.min.js.map +1 -0
  30. package/dist/rpcWorker.d.ts +2 -0
  31. package/dist/rpcWorker.js +49 -0
  32. package/dist/types.d.ts +5 -0
  33. package/dist/types.js +2 -0
  34. package/dist/version.d.ts +1 -0
  35. package/dist/version.js +4 -0
  36. package/dist/webpack.d.ts +8 -0
  37. package/dist/webpack.js +53 -0
  38. package/dist/workerPolyfill.d.ts +0 -0
  39. package/dist/workerPolyfill.js +32 -0
  40. package/docs/example.md +91 -0
  41. package/docs/img/exampleView.png +0 -0
  42. package/esm/JBrowseLinearGenomeView/JBrowseLinearGenomeView.d.ts +5 -0
  43. package/esm/JBrowseLinearGenomeView/JBrowseLinearGenomeView.js +17 -0
  44. package/esm/JBrowseLinearGenomeView/index.d.ts +1 -0
  45. package/esm/JBrowseLinearGenomeView/index.js +1 -0
  46. package/esm/corePlugins.d.ts +3 -0
  47. package/esm/corePlugins.js +33 -0
  48. package/esm/createModel/AboutDialog.d.ts +1 -0
  49. package/esm/createModel/AboutDialog.js +1 -0
  50. package/esm/createModel/createConfigModel.d.ts +94 -0
  51. package/esm/createModel/createConfigModel.js +37 -0
  52. package/esm/createModel/createModel.d.ts +3165 -0
  53. package/esm/createModel/createModel.js +79 -0
  54. package/esm/createModel/createSessionModel.d.ts +1170 -0
  55. package/esm/createModel/createSessionModel.js +79 -0
  56. package/esm/createModel/index.d.ts +3 -0
  57. package/esm/createModel/index.js +3 -0
  58. package/esm/createViewState.d.ts +8683 -0
  59. package/esm/createViewState.js +73 -0
  60. package/esm/index.d.ts +5 -0
  61. package/esm/index.js +4 -0
  62. package/esm/loadPlugins.d.ts +13 -0
  63. package/esm/loadPlugins.js +6 -0
  64. package/esm/makeWorkerInstance.d.ts +1 -0
  65. package/esm/makeWorkerInstance.js +3 -0
  66. package/esm/rpcWorker.d.ts +2 -0
  67. package/esm/rpcWorker.js +10 -0
  68. package/esm/types.d.ts +5 -0
  69. package/esm/types.js +1 -0
  70. package/esm/version.d.ts +1 -0
  71. package/esm/version.js +1 -0
  72. package/esm/webpack.d.ts +8 -0
  73. package/esm/webpack.js +7 -0
  74. package/esm/workerPolyfill.d.ts +0 -0
  75. package/esm/workerPolyfill.js +32 -0
  76. package/package.json +84 -0
@@ -0,0 +1,79 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ import TextSearchManager from '@jbrowse/core/TextSearch/TextSearchManager';
3
+ import assemblyManagerFactory, { assemblyConfigSchemaFactory, } from '@jbrowse/core/assemblyManager';
4
+ import RpcManager from '@jbrowse/core/rpc/RpcManager';
5
+ import { cast, getSnapshot, types } from 'mobx-state-tree';
6
+ import corePlugins from '../corePlugins';
7
+ import createConfigModel from './createConfigModel';
8
+ import createSessionModel from './createSessionModel';
9
+ import { version } from '../version';
10
+ export default function createModel(runtimePlugins, makeWorkerInstance = () => {
11
+ throw new Error('no makeWorkerInstance supplied');
12
+ }) {
13
+ const pluginManager = new PluginManager([...corePlugins, ...runtimePlugins].map(P => new P())).createPluggableElements();
14
+ const Session = createSessionModel(pluginManager);
15
+ const assemblyConfig = assemblyConfigSchemaFactory(pluginManager);
16
+ const AssemblyManager = assemblyManagerFactory(assemblyConfig, pluginManager);
17
+ const rootModel = types
18
+ .model('ReactLinearGenomeView', {
19
+ config: createConfigModel(pluginManager, assemblyConfig),
20
+ session: Session,
21
+ assemblyManager: types.optional(AssemblyManager, {}),
22
+ disableAddTracks: types.optional(types.boolean, false),
23
+ internetAccounts: types.array(pluginManager.pluggableMstType('internet account', 'stateModel')),
24
+ })
25
+ .volatile(self => ({
26
+ error: undefined,
27
+ rpcManager: new RpcManager(pluginManager, self.config.configuration.rpc, {
28
+ WebWorkerRpcDriver: {
29
+ makeWorkerInstance,
30
+ },
31
+ MainThreadRpcDriver: {},
32
+ }),
33
+ textSearchManager: new TextSearchManager(pluginManager),
34
+ adminMode: false,
35
+ version,
36
+ }))
37
+ .actions(self => ({
38
+ setSession(sessionSnapshot) {
39
+ self.session = cast(sessionSnapshot);
40
+ },
41
+ renameCurrentSession(sessionName) {
42
+ this.setSession({
43
+ ...JSON.parse(JSON.stringify(getSnapshot(self.session))),
44
+ name: sessionName,
45
+ });
46
+ },
47
+ setError(error) {
48
+ self.error = error;
49
+ },
50
+ addInternetAccount(acct) {
51
+ self.internetAccounts.push(acct);
52
+ },
53
+ findAppropriateInternetAccount(location) {
54
+ const selectedId = location.internetAccountId;
55
+ if (selectedId) {
56
+ const selectedAccount = self.internetAccounts.find(a => a.internetAccountId === selectedId);
57
+ if (selectedAccount) {
58
+ return selectedAccount;
59
+ }
60
+ }
61
+ for (const account of self.internetAccounts) {
62
+ const handleResult = account.handlesLocation(location);
63
+ if (handleResult) {
64
+ return account;
65
+ }
66
+ }
67
+ return null;
68
+ },
69
+ }))
70
+ .views(self => ({
71
+ get jbrowse() {
72
+ return self.config;
73
+ },
74
+ }));
75
+ return {
76
+ model: rootModel,
77
+ pluginManager,
78
+ };
79
+ }