@teselagen/ove 0.3.10 → 0.3.12
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/index.js +453 -319
- package/index.mjs +453 -319
- package/index.umd.js +397 -287
- package/package.json +2 -2
- package/src/AlignmentView/AlignmentVisibilityTool.js +1 -1
- package/src/AlignmentView/EditTrackNameDialog.js +1 -5
- package/src/AlignmentView/HorizontalPanelDragHandle.js +2 -2
- package/src/AlignmentView/Minimap.js +12 -12
- package/src/AlignmentView/PairwiseAlignmentView.js +1 -1
- package/src/AlignmentView/getGapMap.js +1 -1
- package/src/AlignmentView/getTrackFromEvent.js +1 -1
- package/src/AlignmentView/index.js +32 -37
- package/src/AutoAnnotate.js +48 -48
- package/src/CircularView/Cutsites.js +3 -3
- package/src/CircularView/Labels/index.js +7 -7
- package/src/CircularView/Labels/relaxLabels_DEPRECATED.js +5 -5
- package/src/CircularView/RotateCircularViewSlider.js +1 -1
- package/src/CircularView/SelectionLayer.js +2 -2
- package/src/CircularView/drawAnnotations.js +3 -3
- package/src/CircularView/getAngleForPositionMidpoint.js +1 -1
- package/src/CircularView/index.d.ts +11 -11
- package/src/CircularView/index.js +9 -9
- package/src/CreateAnnotationsPage.js +7 -5
- package/src/CreateCustomEnzyme/index.js +1 -5
- package/src/CutsiteFilter/AdditionalCutsiteInfoDialog.js +11 -11
- package/src/CutsiteFilter/index.js +12 -12
- package/src/DigestTool/AddLaddersDialog.js +1 -1
- package/src/DigestTool/DigestTool.js +3 -3
- package/src/DigestTool/Ladder.js +8 -8
- package/src/DigestTool/ladderDefaults.js +1 -2
- package/src/Editor/CommandHotkeyHandler.js +1 -1
- package/src/Editor/DropHandler.js +2 -2
- package/src/Editor/index.js +14 -14
- package/src/Editor/userDefinedHandlersAndOpts.js +2 -0
- package/src/FindBar/index.js +6 -6
- package/src/GlobalDialogUtils.js +6 -0
- package/src/LinearView/ZoomLinearView.js +1 -1
- package/src/LinearView/index.js +7 -7
- package/src/MenuBar/index.js +1 -1
- package/src/MenuBar/viewSubmenu.js +1 -1
- package/src/PCRTool/PCRTool.js +19 -19
- package/src/Reflex/Browser.js +4 -5
- package/src/Reflex/ReflexContainer.js +3 -3
- package/src/Reflex/ReflexElement.js +2 -2
- package/src/RowItem/Axis.js +1 -1
- package/src/RowItem/Caret/index.js +1 -1
- package/src/RowItem/Chromatograms/Chromatogram.js +3 -3
- package/src/RowItem/CutsiteSelectionLayers.js +1 -1
- package/src/RowItem/Cutsites.js +1 -1
- package/src/RowItem/Labels.js +2 -2
- package/src/RowItem/Orfs.js +2 -2
- package/src/RowItem/Sequence.js +4 -4
- package/src/RowItem/StackedAnnotations/PointedAnnotation.js +3 -3
- package/src/RowItem/StackedAnnotations/getStructuredBases.js +1 -1
- package/src/RowItem/Translations/AASliver.js +71 -75
- package/src/RowItem/Translations/index.js +1 -1
- package/src/RowItem/getCutsiteLabelHeights.js +1 -1
- package/src/RowItem/index.js +14 -8
- package/src/RowView/estimateRowHeight.js +5 -5
- package/src/RowView/index.d.ts +7 -7
- package/src/RowView/index.js +11 -12
- package/src/SimpleCircularOrLinearView.js +6 -6
- package/src/StatusBar/MeltingTemp.js +3 -3
- package/src/ToolBar/ToolbarItem.js +2 -2
- package/src/ToolBar/alignmentTool.js +9 -9
- package/src/ToolBar/editTool.js +1 -1
- package/src/ToolBar/findTool.js +2 -2
- package/src/ToolBar/importTool.js +1 -1
- package/src/ToolBar/index.js +2 -2
- package/src/ToolBar/oligoTool.js +1 -1
- package/src/ToolBar/orfTool.js +1 -6
- package/src/ToolBar/printTool.js +2 -2
- package/src/ToolBar/visibilityTool.js +1 -1
- package/src/VersionHistoryView/index.js +2 -2
- package/src/commands/index.js +236 -230
- package/src/createVectorEditor/index.js +4 -4
- package/src/fileUtils.js +18 -18
- package/src/helperComponents/AddOrEditAnnotationDialog/index.js +22 -15
- package/src/helperComponents/AddOrEditFeatureDialog/index.js +2 -2
- package/src/helperComponents/AddOrEditPartDialog/index.js +2 -2
- package/src/helperComponents/AddOrEditPrimerDialog/index.js +5 -5
- package/src/helperComponents/EnzymesDialog/index.js +17 -22
- package/src/helperComponents/GoToDialog.js +5 -1
- package/src/helperComponents/MergeFeaturesDialog/index.js +3 -3
- package/src/helperComponents/PinchHelper/PinchHelper.js +1 -1
- package/src/helperComponents/PrintDialog/index.js +4 -4
- package/src/helperComponents/PropertiesDialog/CutsiteProperties.js +3 -3
- package/src/helperComponents/PropertiesDialog/GenbankView.js +1 -1
- package/src/helperComponents/PropertiesDialog/GeneralProperties.js +5 -5
- package/src/helperComponents/PropertiesDialog/GenericAnnotationProperties.js +136 -138
- package/src/helperComponents/PropertiesDialog/OrfProperties.js +3 -3
- package/src/helperComponents/PropertiesDialog/PrimerProperties.js +1 -1
- package/src/helperComponents/PropertiesDialog/TranslationProperties.js +2 -2
- package/src/helperComponents/PropertiesDialog/index.js +3 -3
- package/src/helperComponents/RemoveDuplicates/index.js +3 -3
- package/src/helperComponents/SelectDialog.js +3 -3
- package/src/helperComponents/UncontrolledSliderWithPlusMinusBtns.js +5 -5
- package/src/helperComponents/createSimpleDialog.js +1 -1
- package/src/helperComponents/partTagSearch.js +2 -5
- package/src/helperComponents/withHover.js +3 -3
- package/src/redux/alignments.js +6 -6
- package/src/redux/annotationVisibility.js +4 -4
- package/src/redux/featureLengthsToHide.js +1 -1
- package/src/redux/frameTranslations.js +3 -3
- package/src/redux/middleware.js +2 -2
- package/src/redux/panelsShown.js +19 -19
- package/src/redux/partLengthsToHide.js +1 -1
- package/src/redux/primerLengthsToHide.js +1 -1
- package/src/redux/readOnly.js +1 -4
- package/src/redux/selectionLayer.js +1 -1
- package/src/redux/sequenceData/features.js +1 -1
- package/src/redux/sequenceData/upsertDeleteActionGenerator.js +1 -1
- package/src/redux/sequenceDataHistory.js +5 -5
- package/src/redux/toolBar.js +2 -4
- package/src/redux/utils/createMetaAction.js +2 -2
- package/src/redux/versionHistory.js +1 -2
- package/src/selectors/annotationSearchSelector.js +4 -4
- package/src/selectors/circularSelector.js +1 -1
- package/src/selectors/cutsiteLabelColorSelector.js +1 -1
- package/src/selectors/filteredCutsitesSelector.js +6 -6
- package/src/selectors/filteredFeaturesSelector.js +4 -4
- package/src/selectors/filteredPartsSelector.js +5 -5
- package/src/selectors/filteredPrimersSelector.js +3 -3
- package/src/selectors/isEnzymeFilterAndSelector.js +1 -1
- package/src/selectors/orfsSelector.js +1 -1
- package/src/selectors/restrictionEnzymesSelector.js +2 -2
- package/src/selectors/searchLayersSelector.js +7 -7
- package/src/selectors/sequenceLengthSelector.js +1 -1
- package/src/selectors/sequenceSelector.js +1 -1
- package/src/selectors/tagsToBoldSelector.js +1 -1
- package/src/selectors/translationsSelector.js +7 -7
- package/src/updateEditor.js +1 -1
- package/src/utils/PassThrough.js +1 -1
- package/src/utils/addWrappedAddons.js +1 -1
- package/src/utils/annotationTypes.js +2 -2
- package/src/utils/combineReducersDontIgnoreKeys.js +1 -1
- package/src/utils/editorUtils.js +2 -2
- package/src/utils/massageTickSpacing.js +1 -1
- package/src/utils/onlyUpdateForKeysDeep.js +1 -1
- package/src/utils/pureNoFunc.js +1 -1
- package/src/utils/shouldRerender.js +1 -1
- package/src/utils/showFileDialog.js +6 -7
- package/src/utils/updateLabelsForInViewFeatures.js +1 -1
- package/src/utils/useAnnotationLimits.js +1 -1
- package/src/withEditorInteractions/Keyboard.js +2 -3
- package/src/withEditorInteractions/createSequenceInputPopup.js +4 -4
- package/src/withEditorInteractions/index.js +93 -55
- package/src/withEditorProps/index.js +40 -37
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from "./withEditorInteractions/clickAndDragUtils";
|
|
32
32
|
|
|
33
33
|
//this view is meant to be a helper for showing a simple (non-redux connected) circular or linear view!
|
|
34
|
-
export default
|
|
34
|
+
export default props => {
|
|
35
35
|
let {
|
|
36
36
|
sequenceData: _sequenceData,
|
|
37
37
|
annotationVisibility: _annotationVisibility = {},
|
|
@@ -281,13 +281,13 @@ export default (props) => {
|
|
|
281
281
|
return inner({});
|
|
282
282
|
};
|
|
283
283
|
|
|
284
|
-
const DownloadBtn = withHandlers({ exportSequenceToFile })(
|
|
284
|
+
const DownloadBtn = withHandlers({ exportSequenceToFile })(props => {
|
|
285
285
|
return (
|
|
286
286
|
<Tooltip content="Download">
|
|
287
287
|
<Button
|
|
288
288
|
className="veDownloadButton"
|
|
289
289
|
style={{ marginRight: 10 }}
|
|
290
|
-
onClick={
|
|
290
|
+
onClick={event =>
|
|
291
291
|
showContextMenu(
|
|
292
292
|
[
|
|
293
293
|
"exportSequenceAsGenbank",
|
|
@@ -337,7 +337,7 @@ const VisibilityOptions = ({
|
|
|
337
337
|
<Tooltip disabled={isPopoverOpen} content="Visibility Options">
|
|
338
338
|
<Popover
|
|
339
339
|
minimal
|
|
340
|
-
onInteraction={
|
|
340
|
+
onInteraction={isOpen => {
|
|
341
341
|
setPopoverOpen(isOpen);
|
|
342
342
|
}}
|
|
343
343
|
isOpen={isPopoverOpen}
|
|
@@ -345,11 +345,11 @@ const VisibilityOptions = ({
|
|
|
345
345
|
<Menu>
|
|
346
346
|
{flatMap(
|
|
347
347
|
["features", "parts", "primers", "translations", "cutsites"],
|
|
348
|
-
|
|
348
|
+
name => {
|
|
349
349
|
if (!map(sequenceData[name]).length) return [];
|
|
350
350
|
return (
|
|
351
351
|
<MenuItem
|
|
352
|
-
onClick={
|
|
352
|
+
onClick={e => {
|
|
353
353
|
setVisibilityOptions({
|
|
354
354
|
...annotationVisibility,
|
|
355
355
|
[name]: !annotationVisibility[name]
|
|
@@ -9,8 +9,8 @@ import useTmType from "../utils/useTmType";
|
|
|
9
9
|
|
|
10
10
|
export default function MeltingTemp({
|
|
11
11
|
sequence,
|
|
12
|
-
WrapperToUse =
|
|
13
|
-
InnerWrapper =
|
|
12
|
+
WrapperToUse = p => <div>{p.children}</div>,
|
|
13
|
+
InnerWrapper = p => (
|
|
14
14
|
<Button minimal small>
|
|
15
15
|
{p.children}
|
|
16
16
|
</Button>
|
|
@@ -46,7 +46,7 @@ export default function MeltingTemp({
|
|
|
46
46
|
{ value: "default", label: "Default Tm" },
|
|
47
47
|
{ value: "neb_tm", label: "NEB Tm" }
|
|
48
48
|
]}
|
|
49
|
-
onChange={
|
|
49
|
+
onChange={e => setTmType(e.target.value)}
|
|
50
50
|
selectedValue={tmType}
|
|
51
51
|
></RadioGroup>
|
|
52
52
|
{hasWarning && (
|
|
@@ -125,7 +125,7 @@ class ToolbarItem extends React.Component {
|
|
|
125
125
|
);
|
|
126
126
|
const content = (
|
|
127
127
|
<div
|
|
128
|
-
ref={
|
|
128
|
+
ref={n => {
|
|
129
129
|
if (n) this.dropdownNode = n;
|
|
130
130
|
}}
|
|
131
131
|
style={{ padding: 10, minWidth: 250, maxWidth: 350 }}
|
|
@@ -160,7 +160,7 @@ class ToolbarItem extends React.Component {
|
|
|
160
160
|
<Popover
|
|
161
161
|
disabled={popoverDisabled}
|
|
162
162
|
isOpen={!!Dropdown && isOpen}
|
|
163
|
-
onClose={
|
|
163
|
+
onClose={e => {
|
|
164
164
|
let srcElement;
|
|
165
165
|
if (e) {
|
|
166
166
|
srcElement = e.srcElement || e.target;
|
|
@@ -100,7 +100,7 @@ class AlignmentTool extends React.Component {
|
|
|
100
100
|
state = {
|
|
101
101
|
templateSeqIndex: 0
|
|
102
102
|
};
|
|
103
|
-
sendSelectedDataToBackendForAlignment = async
|
|
103
|
+
sendSelectedDataToBackendForAlignment = async values => {
|
|
104
104
|
const {
|
|
105
105
|
addedSequences,
|
|
106
106
|
isPairwiseAlignment,
|
|
@@ -175,7 +175,7 @@ class AlignmentTool extends React.Component {
|
|
|
175
175
|
// const j5server = process.env.REMOTE_J5 || "http://j5server.teselagen.com"
|
|
176
176
|
|
|
177
177
|
window.toastr.success("Alignment submitted.");
|
|
178
|
-
const replaceProtocol =
|
|
178
|
+
const replaceProtocol = url => {
|
|
179
179
|
return url.replace("http://", window.location.protocol + "//");
|
|
180
180
|
};
|
|
181
181
|
|
|
@@ -227,7 +227,7 @@ class AlignmentTool extends React.Component {
|
|
|
227
227
|
}),
|
|
228
228
|
alignmentTracks:
|
|
229
229
|
alignedSequences &&
|
|
230
|
-
alignedSequences.map(
|
|
230
|
+
alignedSequences.map(alignmentData => {
|
|
231
231
|
return {
|
|
232
232
|
sequenceData:
|
|
233
233
|
seqsToAlign[
|
|
@@ -254,12 +254,12 @@ class AlignmentTool extends React.Component {
|
|
|
254
254
|
|
|
255
255
|
handleFileUpload = (files, onChange) => {
|
|
256
256
|
const { array } = this.props;
|
|
257
|
-
flatMap(files, async
|
|
257
|
+
flatMap(files, async file => {
|
|
258
258
|
const results = await anyToJson(file.originalFileObj, {
|
|
259
259
|
fileName: file.name,
|
|
260
260
|
acceptParts: true
|
|
261
261
|
});
|
|
262
|
-
return results.forEach(
|
|
262
|
+
return results.forEach(result => {
|
|
263
263
|
if (result.success) {
|
|
264
264
|
array.push("addedSequences", result.parsedSequence);
|
|
265
265
|
} else {
|
|
@@ -278,7 +278,7 @@ class AlignmentTool extends React.Component {
|
|
|
278
278
|
<h6>Or enter sequences in plain text format</h6>
|
|
279
279
|
<div>
|
|
280
280
|
<AddYourOwnSeqForm
|
|
281
|
-
addSeq={
|
|
281
|
+
addSeq={newSeq => {
|
|
282
282
|
fields.push(newSeq);
|
|
283
283
|
}}
|
|
284
284
|
/>
|
|
@@ -327,7 +327,7 @@ class AlignmentTool extends React.Component {
|
|
|
327
327
|
)}
|
|
328
328
|
|
|
329
329
|
<Button
|
|
330
|
-
onClick={
|
|
330
|
+
onClick={e => {
|
|
331
331
|
e.stopPropagation();
|
|
332
332
|
e.preventDefault();
|
|
333
333
|
fields.remove(index);
|
|
@@ -443,7 +443,7 @@ const AddYourOwnSeqForm = reduxForm({
|
|
|
443
443
|
})(({ pristine, error, handleSubmit, reset, addSeq }) => {
|
|
444
444
|
return (
|
|
445
445
|
<form
|
|
446
|
-
onSubmit={handleSubmit(
|
|
446
|
+
onSubmit={handleSubmit(vals => {
|
|
447
447
|
reset();
|
|
448
448
|
addSeq(vals);
|
|
449
449
|
})}
|
|
@@ -490,7 +490,7 @@ function mottTrim(qualNums) {
|
|
|
490
490
|
totalScore = 0;
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
|
-
const firstPositiveValue = totalScoreInfo.find(
|
|
493
|
+
const firstPositiveValue = totalScoreInfo.find(e => {
|
|
494
494
|
return e > 0;
|
|
495
495
|
});
|
|
496
496
|
startPos = totalScoreInfo.indexOf(firstPositiveValue);
|
package/src/ToolBar/editTool.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Icon } from "@blueprintjs/core";
|
|
|
3
3
|
import ToolbarItem from "./ToolbarItem";
|
|
4
4
|
import { connectToEditor } from "../withEditorProps";
|
|
5
5
|
|
|
6
|
-
export default connectToEditor(
|
|
6
|
+
export default connectToEditor(editorState => {
|
|
7
7
|
return {
|
|
8
8
|
readOnly: editorState.readOnly
|
|
9
9
|
};
|
package/src/ToolBar/findTool.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import inlineFindTool from
|
|
2
|
-
export default inlineFindTool
|
|
1
|
+
import inlineFindTool from "./inlineFindTool";
|
|
2
|
+
export default inlineFindTool;
|
|
@@ -17,7 +17,7 @@ export default compose(
|
|
|
17
17
|
IconWrapperProps: {
|
|
18
18
|
multiple: false,
|
|
19
19
|
style: {},
|
|
20
|
-
onDrop:
|
|
20
|
+
onDrop: files => importSequenceFromFile(files[0])
|
|
21
21
|
},
|
|
22
22
|
tooltip: "Click or drag to import and view files (.fasta .gb .dna)",
|
|
23
23
|
...toolbarItemProps
|
package/src/ToolBar/index.js
CHANGED
|
@@ -66,7 +66,7 @@ export function ToolBar(props) {
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
const toolListToUse = useMemo(() => {
|
|
69
|
-
return flatMap(toolList,
|
|
69
|
+
return flatMap(toolList, toolNameOrOverrides => {
|
|
70
70
|
let toolName;
|
|
71
71
|
let toolOverride;
|
|
72
72
|
if (isString(toolNameOrOverrides)) {
|
|
@@ -196,7 +196,7 @@ export function ToolBar(props) {
|
|
|
196
196
|
</div>
|
|
197
197
|
);
|
|
198
198
|
}
|
|
199
|
-
const CloseFullscreenButton =
|
|
199
|
+
const CloseFullscreenButton = props => {
|
|
200
200
|
return (
|
|
201
201
|
<Tooltip content="Close Fullscreen Mode">
|
|
202
202
|
<Button
|
package/src/ToolBar/oligoTool.js
CHANGED
package/src/ToolBar/orfTool.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { Icon } from "@blueprintjs/core";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import {
|
|
4
|
-
orfIcon,
|
|
5
|
-
CmdCheckbox,
|
|
6
|
-
CmdDiv,
|
|
7
|
-
InfoHelper
|
|
8
|
-
} from "@teselagen/ui";
|
|
3
|
+
import { orfIcon, CmdCheckbox, CmdDiv, InfoHelper } from "@teselagen/ui";
|
|
9
4
|
import ToolbarItem from "./ToolbarItem";
|
|
10
5
|
import { connectToEditor } from "../withEditorProps";
|
|
11
6
|
import withEditorProps from "../withEditorProps";
|
package/src/ToolBar/printTool.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
//TNRTODO this needs to be fixed and implemented
|
|
1
|
+
//TNRTODO this needs to be fixed and implemented
|
|
2
2
|
import React from "react";
|
|
3
3
|
import print from "./veToolbarIcons/print.png";
|
|
4
4
|
|
|
5
5
|
export default () => {
|
|
6
6
|
return {
|
|
7
7
|
Icon: <img src={print} alt="Print Vector" />,
|
|
8
|
-
onIconClick: function() {
|
|
8
|
+
onIconClick: function () {
|
|
9
9
|
// var myPrintContent = document.getElementById('printdiv');
|
|
10
10
|
// var myPrintWindow = window.open(windowUrl, windowName, 'left=300,top=100,width=400,height=400');
|
|
11
11
|
// myPrintWindow.document.write(myPrintContent.innerHTML);
|
|
@@ -27,7 +27,7 @@ export default connectToEditor(({ toolBar = {} }) => {
|
|
|
27
27
|
);
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
const VisibilityOptions = withEditorProps(function(props) {
|
|
30
|
+
const VisibilityOptions = withEditorProps(function (props) {
|
|
31
31
|
return (
|
|
32
32
|
<Menu>
|
|
33
33
|
{createCommandMenu(viewSubmenu, getCommands({ props }), {
|
|
@@ -38,7 +38,7 @@ export class VersionHistoryView extends React.Component {
|
|
|
38
38
|
// ];
|
|
39
39
|
// }
|
|
40
40
|
// };
|
|
41
|
-
updateSeqData =
|
|
41
|
+
updateSeqData = sequenceData => {
|
|
42
42
|
this.activeSeqData = sequenceData;
|
|
43
43
|
this.props.vectorEditorInitialize(
|
|
44
44
|
{
|
|
@@ -81,7 +81,7 @@ export class VersionHistoryView extends React.Component {
|
|
|
81
81
|
this.setState({
|
|
82
82
|
versionList: [
|
|
83
83
|
currentVersion,
|
|
84
|
-
...versionList.map(
|
|
84
|
+
...versionList.map(r => {
|
|
85
85
|
return { ...r, id: r.versionId };
|
|
86
86
|
})
|
|
87
87
|
] //currentVersion should always come first
|