@jbrowse/plugin-data-management 1.6.9 → 1.7.3
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/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -9
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +178 -0
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +270 -0
- package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -2
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +35 -0
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -8
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +70 -0
- package/dist/AddConnectionWidget/index.d.ts +2 -2
- package/dist/AddConnectionWidget/index.js +21 -0
- package/dist/AddConnectionWidget/model.d.ts +5 -5
- package/dist/AddConnectionWidget/model.js +17 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +7 -7
- package/dist/AddTrackWidget/components/AddTrackWidget.js +215 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.test.js +218 -0
- package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +7 -7
- package/dist/AddTrackWidget/components/ConfirmTrack.js +277 -0
- package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -7
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +60 -0
- package/dist/AddTrackWidget/index.d.ts +2 -2
- package/dist/AddTrackWidget/index.js +21 -0
- package/dist/AddTrackWidget/index.test.js +291 -0
- package/dist/AddTrackWidget/model.d.ts +42 -42
- package/dist/AddTrackWidget/model.js +167 -0
- package/dist/AssemblyManager/AssemblyAddForm.d.ts +6 -6
- package/dist/AssemblyManager/AssemblyAddForm.js +299 -0
- package/dist/AssemblyManager/AssemblyEditor.d.ts +5 -5
- package/dist/AssemblyManager/AssemblyEditor.js +25 -0
- package/dist/AssemblyManager/AssemblyManager.d.ts +6 -6
- package/dist/AssemblyManager/AssemblyManager.js +144 -0
- package/dist/AssemblyManager/AssemblyManager.test.js +113 -0
- package/dist/AssemblyManager/AssemblyTable.d.ts +13 -13
- package/dist/AssemblyManager/AssemblyTable.js +92 -0
- package/dist/AssemblyManager/index.d.ts +1 -1
- package/dist/AssemblyManager/index.js +15 -0
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +7 -7
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +55 -0
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -13
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +46 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +6 -6
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +648 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +191 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +9 -9
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +80 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +10 -10
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +98 -0
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/index.js +21 -0
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +37 -37
- package/dist/HierarchicalTrackSelectorWidget/model.js +306 -0
- package/dist/HierarchicalTrackSelectorWidget/model.test.js +28 -0
- package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -9
- package/dist/PluginStoreWidget/components/CustomPluginForm.js +217 -0
- package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -11
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +138 -0
- package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -9
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +47 -0
- package/dist/PluginStoreWidget/components/PluginCard.d.ts +10 -10
- package/dist/PluginStoreWidget/components/PluginCard.js +121 -0
- package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -7
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +240 -0
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +201 -0
- package/dist/PluginStoreWidget/index.d.ts +3 -3
- package/dist/PluginStoreWidget/index.js +29 -0
- package/dist/PluginStoreWidget/model.d.ts +13 -13
- package/dist/PluginStoreWidget/model.js +28 -0
- package/dist/PluginStoreWidget/model.test.js +17 -0
- package/dist/SetDefaultSession/SetDefaultSession.d.ts +6 -6
- package/dist/SetDefaultSession/SetDefaultSession.js +64 -0
- package/dist/SetDefaultSession/SetDefaultSession.test.js +75 -0
- package/dist/SetDefaultSession/index.d.ts +1 -1
- package/dist/SetDefaultSession/index.js +15 -0
- package/dist/index.d.ts +27 -27
- package/dist/index.js +159 -6
- package/dist/index.test.js +56 -0
- package/dist/ucsc-trackhub/configSchema.d.ts +2 -2
- package/dist/ucsc-trackhub/configSchema.js +30 -0
- package/dist/ucsc-trackhub/index.d.ts +2 -2
- package/dist/ucsc-trackhub/index.js +23 -0
- package/dist/ucsc-trackhub/model.d.ts +15 -4
- package/dist/ucsc-trackhub/model.js +130 -0
- package/dist/ucsc-trackhub/ucscAssemblies.d.ts +2 -2
- package/dist/ucsc-trackhub/ucscAssemblies.js +13 -0
- package/dist/ucsc-trackhub/ucscTrackHub.d.ts +6 -6
- package/dist/ucsc-trackhub/ucscTrackHub.js +503 -0
- package/package.json +5 -7
- package/src/AddConnectionWidget/components/AddConnectionWidget.test.js +1 -0
- package/src/AddTrackWidget/components/AddTrackWidget.test.js +1 -0
- package/src/AddTrackWidget/components/AddTrackWidget.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -0
- package/src/PluginStoreWidget/components/CustomPluginForm.tsx +1 -1
- package/src/PluginStoreWidget/components/InstalledPlugin.tsx +4 -2
- package/src/PluginStoreWidget/components/PluginCard.tsx +4 -2
- package/src/PluginStoreWidget/components/PluginStoreWidget.test.js +1 -0
- package/src/PluginStoreWidget/model.test.js +1 -0
- package/src/SetDefaultSession/SetDefaultSession.tsx +4 -3
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.d.ts +0 -1
- package/dist/AddTrackWidget/components/AddTrackWidget.test.d.ts +0 -1
- package/dist/AddTrackWidget/index.test.d.ts +0 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.d.ts +0 -1
- package/dist/HierarchicalTrackSelectorWidget/model.test.d.ts +0 -1
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.d.ts +0 -1
- package/dist/PluginStoreWidget/model.test.d.ts +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/plugin-data-management.cjs.development.js +0 -4856
- package/dist/plugin-data-management.cjs.development.js.map +0 -1
- package/dist/plugin-data-management.cjs.production.min.js +0 -2
- package/dist/plugin-data-management.cjs.production.min.js.map +0 -1
- package/dist/plugin-data-management.esm.js +0 -4829
- package/dist/plugin-data-management.esm.js.map +0 -1
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _mobxReact = require("mobx-react");
|
|
17
|
+
|
|
18
|
+
var _styles = require("@material-ui/core/styles");
|
|
19
|
+
|
|
20
|
+
var _core = require("@material-ui/core");
|
|
21
|
+
|
|
22
|
+
var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
|
|
23
|
+
|
|
24
|
+
var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
|
|
25
|
+
|
|
26
|
+
var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
27
|
+
|
|
28
|
+
var _AssemblyTable = _interopRequireDefault(require("./AssemblyTable"));
|
|
29
|
+
|
|
30
|
+
var _AssemblyAddForm = _interopRequireDefault(require("./AssemblyAddForm"));
|
|
31
|
+
|
|
32
|
+
var _AssemblyEditor = _interopRequireDefault(require("./AssemblyEditor"));
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
39
|
+
return {
|
|
40
|
+
titleBox: {
|
|
41
|
+
color: '#fff',
|
|
42
|
+
backgroundColor: theme.palette.primary.main,
|
|
43
|
+
textAlign: 'center'
|
|
44
|
+
},
|
|
45
|
+
dialogContent: {
|
|
46
|
+
width: '100%'
|
|
47
|
+
},
|
|
48
|
+
backButton: {
|
|
49
|
+
color: '#fff',
|
|
50
|
+
position: 'absolute',
|
|
51
|
+
left: theme.spacing(4),
|
|
52
|
+
top: theme.spacing(4)
|
|
53
|
+
},
|
|
54
|
+
closeButton: {
|
|
55
|
+
position: 'absolute',
|
|
56
|
+
right: theme.spacing(1),
|
|
57
|
+
top: theme.spacing(1),
|
|
58
|
+
color: theme.palette.grey[500]
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
var AssemblyManager = (0, _mobxReact.observer)(function (_ref) {
|
|
63
|
+
var rootModel = _ref.rootModel,
|
|
64
|
+
_onClose = _ref.onClose;
|
|
65
|
+
var classes = useStyles();
|
|
66
|
+
|
|
67
|
+
var _useState = (0, _react.useState)(false),
|
|
68
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
69
|
+
isFormOpen = _useState2[0],
|
|
70
|
+
setFormOpen = _useState2[1];
|
|
71
|
+
|
|
72
|
+
var _useState3 = (0, _react.useState)(false),
|
|
73
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
74
|
+
isAssemblyBeingEdited = _useState4[0],
|
|
75
|
+
setIsAssemblyBeingEdited = _useState4[1];
|
|
76
|
+
|
|
77
|
+
var _useState5 = (0, _react.useState)(),
|
|
78
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
79
|
+
assemblyBeingEdited = _useState6[0],
|
|
80
|
+
setAssemblyBeingEdited = _useState6[1];
|
|
81
|
+
|
|
82
|
+
var showAssemblyTable = !isFormOpen && !isAssemblyBeingEdited;
|
|
83
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
84
|
+
open: true,
|
|
85
|
+
onClose: function onClose() {
|
|
86
|
+
return _onClose(false);
|
|
87
|
+
}
|
|
88
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, {
|
|
89
|
+
className: classes.titleBox
|
|
90
|
+
}, showAssemblyTable ? 'Assembly manager' : null, isFormOpen ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
91
|
+
"aria-label": "back",
|
|
92
|
+
className: classes.backButton,
|
|
93
|
+
onClick: function onClick() {
|
|
94
|
+
return setFormOpen(false);
|
|
95
|
+
}
|
|
96
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), "Add new assembly") : null, isAssemblyBeingEdited ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
97
|
+
"aria-label": "back",
|
|
98
|
+
className: classes.backButton,
|
|
99
|
+
onClick: function onClick() {
|
|
100
|
+
return setIsAssemblyBeingEdited(false);
|
|
101
|
+
}
|
|
102
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), returnAssemblyName(assemblyBeingEdited)) : null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
103
|
+
"aria-label": "close",
|
|
104
|
+
className: classes.closeButton,
|
|
105
|
+
onClick: function onClick() {
|
|
106
|
+
return _onClose(false);
|
|
107
|
+
}
|
|
108
|
+
}, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
109
|
+
className: classes.dialogContent
|
|
110
|
+
}, showAssemblyTable ? /*#__PURE__*/_react["default"].createElement(_AssemblyTable["default"], {
|
|
111
|
+
rootModel: rootModel,
|
|
112
|
+
setIsAssemblyBeingEdited: setIsAssemblyBeingEdited,
|
|
113
|
+
setAssemblyBeingEdited: setAssemblyBeingEdited
|
|
114
|
+
}) : null, isAssemblyBeingEdited ? /*#__PURE__*/_react["default"].createElement(_AssemblyEditor["default"], {
|
|
115
|
+
assembly: assemblyBeingEdited
|
|
116
|
+
}) : null, isFormOpen ? /*#__PURE__*/_react["default"].createElement(_AssemblyAddForm["default"], {
|
|
117
|
+
rootModel: rootModel,
|
|
118
|
+
setFormOpen: setFormOpen
|
|
119
|
+
}) : null)), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, showAssemblyTable ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
120
|
+
color: "secondary",
|
|
121
|
+
variant: "contained",
|
|
122
|
+
onClick: function onClick() {
|
|
123
|
+
return _onClose(false);
|
|
124
|
+
}
|
|
125
|
+
}, "Close"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
126
|
+
variant: "contained",
|
|
127
|
+
color: "secondary",
|
|
128
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_Add["default"], null),
|
|
129
|
+
onClick: function onClick() {
|
|
130
|
+
return setFormOpen(true);
|
|
131
|
+
}
|
|
132
|
+
}, "Add new assembly")) : null));
|
|
133
|
+
}); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
134
|
+
|
|
135
|
+
function returnAssemblyName(assembly) {
|
|
136
|
+
if (assembly !== undefined) {
|
|
137
|
+
return assembly.name;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
var _default = AssemblyManager;
|
|
144
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _AssemblyManager = _interopRequireDefault(require("./AssemblyManager"));
|
|
10
|
+
|
|
11
|
+
var mockRootModel = {
|
|
12
|
+
jbrowse: {
|
|
13
|
+
assemblies: [{
|
|
14
|
+
name: 'testAssembly',
|
|
15
|
+
sequence: {
|
|
16
|
+
type: 'testSequenceTrack',
|
|
17
|
+
trackId: '',
|
|
18
|
+
adapter: {
|
|
19
|
+
type: 'testSeqAdapter',
|
|
20
|
+
twoBitLocation: {
|
|
21
|
+
uri: 'test.2bit',
|
|
22
|
+
locationType: 'UriLocation'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}],
|
|
27
|
+
addAssemblyConf: jest.fn(),
|
|
28
|
+
removeAssemblyConf: jest.fn()
|
|
29
|
+
},
|
|
30
|
+
session: {
|
|
31
|
+
notify: jest.fn()
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
describe('AssemblyManager GUI', function () {
|
|
35
|
+
it('renders succesfully', function () {
|
|
36
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
37
|
+
rootModel: mockRootModel,
|
|
38
|
+
onClose: function onClose() {}
|
|
39
|
+
})),
|
|
40
|
+
getByText = _render.getByText;
|
|
41
|
+
|
|
42
|
+
expect(getByText('Assembly manager')).toBeTruthy();
|
|
43
|
+
});
|
|
44
|
+
it('opens up the Add Assembly Form when clicked', function () {
|
|
45
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
46
|
+
rootModel: mockRootModel,
|
|
47
|
+
onClose: function onClose() {}
|
|
48
|
+
})),
|
|
49
|
+
getByText = _render2.getByText;
|
|
50
|
+
|
|
51
|
+
_react2.fireEvent.click(getByText('Add new assembly'));
|
|
52
|
+
|
|
53
|
+
expect(getByText('Create new assembly')).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
it('calls addAssemblyConf from the Add Assembly form', function () {
|
|
56
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
57
|
+
rootModel: mockRootModel,
|
|
58
|
+
onClose: function onClose() {}
|
|
59
|
+
})),
|
|
60
|
+
getByText = _render3.getByText,
|
|
61
|
+
getByTestId = _render3.getByTestId;
|
|
62
|
+
|
|
63
|
+
_react2.fireEvent.click(getByText('Add new assembly')); // enter a new assembly and submit
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
_react2.fireEvent.change(getByTestId('assembly-name'), {
|
|
67
|
+
target: {
|
|
68
|
+
value: 'ce11'
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
_react2.fireEvent.click(getByText('Create new assembly'));
|
|
73
|
+
|
|
74
|
+
expect(mockRootModel.jbrowse.addAssemblyConf).toHaveBeenCalledTimes(1);
|
|
75
|
+
});
|
|
76
|
+
it("prompts the user for a name when adding assembly if they don't", function () {
|
|
77
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
78
|
+
rootModel: mockRootModel,
|
|
79
|
+
onClose: function onClose() {}
|
|
80
|
+
})),
|
|
81
|
+
getByText = _render4.getByText;
|
|
82
|
+
|
|
83
|
+
_react2.fireEvent.click(getByText('Add new assembly'));
|
|
84
|
+
|
|
85
|
+
_react2.fireEvent.click(getByText('Create new assembly'));
|
|
86
|
+
|
|
87
|
+
expect(mockRootModel.session.notify).toHaveBeenCalledWith("Can't create an assembly without a name");
|
|
88
|
+
});
|
|
89
|
+
it('deletes an assembly when delete button clicked', function () {
|
|
90
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
91
|
+
rootModel: mockRootModel,
|
|
92
|
+
onClose: function onClose() {}
|
|
93
|
+
})),
|
|
94
|
+
getByTestId = _render5.getByTestId;
|
|
95
|
+
|
|
96
|
+
_react2.fireEvent.click(getByTestId('testAssembly-delete'));
|
|
97
|
+
|
|
98
|
+
expect(mockRootModel.jbrowse.removeAssemblyConf).toHaveBeenCalledWith('testAssembly');
|
|
99
|
+
});
|
|
100
|
+
it('closes when the Close button is clicked', function () {
|
|
101
|
+
var onClose = jest.fn();
|
|
102
|
+
|
|
103
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AssemblyManager["default"], {
|
|
104
|
+
rootModel: mockRootModel,
|
|
105
|
+
onClose: onClose
|
|
106
|
+
})),
|
|
107
|
+
getByText = _render6.getByText;
|
|
108
|
+
|
|
109
|
+
_react2.fireEvent.click(getByText('Close'));
|
|
110
|
+
|
|
111
|
+
expect(onClose).toHaveBeenCalled();
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
3
|
-
declare const AssemblyTable: ({ rootModel, setIsAssemblyBeingEdited, setAssemblyBeingEdited, }: {
|
|
4
|
-
rootModel: {
|
|
5
|
-
jbrowse: {
|
|
6
|
-
removeAssemblyConf: (arg: string) => void;
|
|
7
|
-
assemblies: AnyConfigurationModel[];
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
setIsAssemblyBeingEdited(arg: boolean): void;
|
|
11
|
-
setAssemblyBeingEdited(arg: AnyConfigurationModel): void;
|
|
12
|
-
}) => JSX.Element;
|
|
13
|
-
export default AssemblyTable;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
3
|
+
declare const AssemblyTable: ({ rootModel, setIsAssemblyBeingEdited, setAssemblyBeingEdited, }: {
|
|
4
|
+
rootModel: {
|
|
5
|
+
jbrowse: {
|
|
6
|
+
removeAssemblyConf: (arg: string) => void;
|
|
7
|
+
assemblies: AnyConfigurationModel[];
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
setIsAssemblyBeingEdited(arg: boolean): void;
|
|
11
|
+
setAssemblyBeingEdited(arg: AnyConfigurationModel): void;
|
|
12
|
+
}) => JSX.Element;
|
|
13
|
+
export default AssemblyTable;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
|
|
14
|
+
var _core = require("@material-ui/core");
|
|
15
|
+
|
|
16
|
+
var _Create = _interopRequireDefault(require("@material-ui/icons/Create"));
|
|
17
|
+
|
|
18
|
+
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
19
|
+
|
|
20
|
+
var _configuration = require("@jbrowse/core/configuration");
|
|
21
|
+
|
|
22
|
+
// local
|
|
23
|
+
var useStyles = (0, _core.makeStyles)(function () {
|
|
24
|
+
return {
|
|
25
|
+
table: {
|
|
26
|
+
minWidth: 500,
|
|
27
|
+
minHeight: 150
|
|
28
|
+
},
|
|
29
|
+
buttonCell: {
|
|
30
|
+
padding: 3
|
|
31
|
+
},
|
|
32
|
+
button: {
|
|
33
|
+
display: 'inline-block',
|
|
34
|
+
padding: 3,
|
|
35
|
+
minHeight: 0,
|
|
36
|
+
minWidth: 0
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
var AssemblyTable = (0, _mobxReact.observer)(function (_ref) {
|
|
41
|
+
var rootModel = _ref.rootModel,
|
|
42
|
+
setIsAssemblyBeingEdited = _ref.setIsAssemblyBeingEdited,
|
|
43
|
+
setAssemblyBeingEdited = _ref.setAssemblyBeingEdited;
|
|
44
|
+
var classes = useStyles();
|
|
45
|
+
|
|
46
|
+
function removeAssembly(name) {
|
|
47
|
+
rootModel.jbrowse.removeAssemblyConf(name);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var rows = rootModel.jbrowse.assemblies.map(function (assembly) {
|
|
51
|
+
var name = (0, _configuration.readConfObject)(assembly, 'name');
|
|
52
|
+
var displayName = (0, _configuration.readConfObject)(assembly, 'displayName');
|
|
53
|
+
var aliases = (0, _configuration.readConfObject)(assembly, 'aliases');
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_core.TableRow, {
|
|
55
|
+
key: name
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, name), /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, displayName), /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, aliases ? aliases.toString() : ''), /*#__PURE__*/_react["default"].createElement(_core.TableCell, {
|
|
57
|
+
className: classes.buttonCell
|
|
58
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
59
|
+
"data-testid": "".concat(name, "-edit"),
|
|
60
|
+
className: classes.button,
|
|
61
|
+
onClick: function onClick() {
|
|
62
|
+
setIsAssemblyBeingEdited(true);
|
|
63
|
+
setAssemblyBeingEdited(assembly);
|
|
64
|
+
}
|
|
65
|
+
}, /*#__PURE__*/_react["default"].createElement(_Create["default"], {
|
|
66
|
+
color: "primary"
|
|
67
|
+
})), /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
68
|
+
"data-testid": "".concat(name, "-delete"),
|
|
69
|
+
className: classes.button,
|
|
70
|
+
onClick: function onClick() {
|
|
71
|
+
removeAssembly(name);
|
|
72
|
+
}
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
|
|
74
|
+
color: "error"
|
|
75
|
+
}))));
|
|
76
|
+
});
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(_core.TableContainer, {
|
|
78
|
+
component: _core.Paper
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Table, {
|
|
80
|
+
className: classes.table
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.TableHead, null, /*#__PURE__*/_react["default"].createElement(_core.TableRow, null, /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
82
|
+
variant: "h5"
|
|
83
|
+
}, "Name")), /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
84
|
+
variant: "h5"
|
|
85
|
+
}, "Display name")), /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
86
|
+
variant: "h5"
|
|
87
|
+
}, "Aliases")), /*#__PURE__*/_react["default"].createElement(_core.TableCell, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
88
|
+
variant: "h5"
|
|
89
|
+
}, "Actions")))), /*#__PURE__*/_react["default"].createElement(_core.TableBody, null, rows)));
|
|
90
|
+
});
|
|
91
|
+
var _default = AssemblyTable;
|
|
92
|
+
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from './AssemblyManager';
|
|
1
|
+
export { default } from './AssemblyManager';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _AssemblyManager["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _AssemblyManager = _interopRequireDefault(require("./AssemblyManager"));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare function CloseConnectionDialog({ modalInfo, setModalInfo, }: {
|
|
3
|
-
modalInfo: any;
|
|
4
|
-
setModalInfo: Function;
|
|
5
|
-
}): JSX.Element;
|
|
6
|
-
declare const _default: typeof CloseConnectionDialog;
|
|
7
|
-
export default _default;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare function CloseConnectionDialog({ modalInfo, setModalInfo, }: {
|
|
3
|
+
modalInfo: any;
|
|
4
|
+
setModalInfo: Function;
|
|
5
|
+
}): JSX.Element;
|
|
6
|
+
declare const _default: typeof CloseConnectionDialog;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _core = require("@material-ui/core");
|
|
15
|
+
|
|
16
|
+
var _mobxReact = require("mobx-react");
|
|
17
|
+
|
|
18
|
+
function CloseConnectionDialog(_ref) {
|
|
19
|
+
var _ref$modalInfo = _ref.modalInfo,
|
|
20
|
+
modalInfo = _ref$modalInfo === void 0 ? {} : _ref$modalInfo,
|
|
21
|
+
setModalInfo = _ref.setModalInfo;
|
|
22
|
+
var name = modalInfo.name,
|
|
23
|
+
dereferenceTypeCount = modalInfo.dereferenceTypeCount,
|
|
24
|
+
safelyBreakConnection = modalInfo.safelyBreakConnection;
|
|
25
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
26
|
+
open: true
|
|
27
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Close connection \"", name, "\""), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, dereferenceTypeCount ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.DialogContentText, null, "Closing this connection will close:"), /*#__PURE__*/_react["default"].createElement(_core.List, null, Object.entries(dereferenceTypeCount).map(function (_ref2) {
|
|
28
|
+
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
|
|
29
|
+
key = _ref3[0],
|
|
30
|
+
value = _ref3[1];
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement(_core.ListItem, {
|
|
33
|
+
key: key
|
|
34
|
+
}, "".concat(value, " ").concat(key));
|
|
35
|
+
}))) : null, /*#__PURE__*/_react["default"].createElement(_core.DialogContentText, null, "Are you sure you want to close this connection?")), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
36
|
+
onClick: function onClick() {
|
|
37
|
+
setModalInfo();
|
|
38
|
+
},
|
|
39
|
+
color: "primary"
|
|
40
|
+
}, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
41
|
+
variant: "contained",
|
|
42
|
+
onClick: modalInfo ? function () {
|
|
43
|
+
if (safelyBreakConnection) {
|
|
44
|
+
safelyBreakConnection();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
setModalInfo();
|
|
48
|
+
} : function () {},
|
|
49
|
+
color: "primary"
|
|
50
|
+
}, "OK")));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var _default = (0, _mobxReact.observer)(CloseConnectionDialog);
|
|
54
|
+
|
|
55
|
+
exports["default"] = _default;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
3
|
-
import { AbstractSessionModel } from '@jbrowse/core/util';
|
|
4
|
-
declare function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }: {
|
|
5
|
-
deleteDialogDetails: {
|
|
6
|
-
name: string;
|
|
7
|
-
connectionConf: AnyConfigurationModel;
|
|
8
|
-
};
|
|
9
|
-
session: AbstractSessionModel;
|
|
10
|
-
handleClose: Function;
|
|
11
|
-
}): JSX.Element;
|
|
12
|
-
declare const _default: typeof DeleteConnectionDialog;
|
|
13
|
-
export default _default;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
3
|
+
import { AbstractSessionModel } from '@jbrowse/core/util';
|
|
4
|
+
declare function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }: {
|
|
5
|
+
deleteDialogDetails: {
|
|
6
|
+
name: string;
|
|
7
|
+
connectionConf: AnyConfigurationModel;
|
|
8
|
+
};
|
|
9
|
+
session: AbstractSessionModel;
|
|
10
|
+
handleClose: Function;
|
|
11
|
+
}): JSX.Element;
|
|
12
|
+
declare const _default: typeof DeleteConnectionDialog;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _core = require("@material-ui/core");
|
|
13
|
+
|
|
14
|
+
var _mobxReact = require("mobx-react");
|
|
15
|
+
|
|
16
|
+
function DeleteConnectionDialog(_ref) {
|
|
17
|
+
var deleteDialogDetails = _ref.deleteDialogDetails,
|
|
18
|
+
session = _ref.session,
|
|
19
|
+
handleClose = _ref.handleClose;
|
|
20
|
+
var connectionConf = deleteDialogDetails.connectionConf,
|
|
21
|
+
name = deleteDialogDetails.name;
|
|
22
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
23
|
+
open: true
|
|
24
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Delete connection \"", name, "\""), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.DialogContentText, null, "Are you sure you want to delete this connection?")), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
25
|
+
onClick: function onClick() {
|
|
26
|
+
return handleClose();
|
|
27
|
+
},
|
|
28
|
+
color: "primary"
|
|
29
|
+
}, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
30
|
+
variant: "contained",
|
|
31
|
+
color: "primary",
|
|
32
|
+
onClick: function onClick() {
|
|
33
|
+
if (connectionConf) {
|
|
34
|
+
var _session$deleteConnec;
|
|
35
|
+
|
|
36
|
+
(_session$deleteConnec = session.deleteConnection) === null || _session$deleteConnec === void 0 ? void 0 : _session$deleteConnec.call(session, connectionConf);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
handleClose();
|
|
40
|
+
}
|
|
41
|
+
}, "OK")));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
var _default = (0, _mobxReact.observer)(DeleteConnectionDialog);
|
|
45
|
+
|
|
46
|
+
exports["default"] = _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export default HierarchicalTrackSelectorContainer;
|
|
2
|
-
declare function HierarchicalTrackSelectorContainer({ model, toolbarHeight, overrideDimensions }: {
|
|
3
|
-
model: any;
|
|
4
|
-
toolbarHeight: any;
|
|
5
|
-
overrideDimensions: any;
|
|
6
|
-
}): JSX.Element;
|
|
1
|
+
export default HierarchicalTrackSelectorContainer;
|
|
2
|
+
declare function HierarchicalTrackSelectorContainer({ model, toolbarHeight, overrideDimensions }: {
|
|
3
|
+
model: any;
|
|
4
|
+
toolbarHeight: any;
|
|
5
|
+
overrideDimensions: any;
|
|
6
|
+
}): JSX.Element;
|