@teselagen/ove 0.0.13 → 0.0.15

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 (362) hide show
  1. package/index.umd.js +164751 -135808
  2. package/package.json +78 -2
  3. package/src/AlignmentTool/index.js +16 -0
  4. package/src/AlignmentView/AlignmentVisibilityTool.js +105 -0
  5. package/src/AlignmentView/EditTrackNameDialog.js +34 -0
  6. package/src/AlignmentView/HorizontalPanelDragHandle.js +35 -0
  7. package/src/AlignmentView/Minimap.js +520 -0
  8. package/src/AlignmentView/Mismatches.js +134 -0
  9. package/src/AlignmentView/PairwiseAlignmentView.js +68 -0
  10. package/src/AlignmentView/PerformantSelectionLayer.js +32 -0
  11. package/src/AlignmentView/coerceInitialValue.js +7 -0
  12. package/src/AlignmentView/getGapMap.js +12 -0
  13. package/src/AlignmentView/getGaps.js +27 -0
  14. package/src/AlignmentView/getPairwiseOverviewLinearViewOptions.js +38 -0
  15. package/src/AlignmentView/getTrackFromEvent.js +25 -0
  16. package/src/AlignmentView/index.js +2058 -0
  17. package/src/AlignmentView/isTargetWithinEl.js +6 -0
  18. package/src/AlignmentView/style.css +100 -0
  19. package/src/AlignmentView/updateTrackHelper.js +58 -0
  20. package/src/AutoAnnotate.js +500 -0
  21. package/src/AutoAnnotateBpMatchingDialog.js +208 -0
  22. package/src/CircularView/Axis.js +40 -0
  23. package/src/CircularView/AxisNumbers.js +35 -0
  24. package/src/CircularView/Caret.js +63 -0
  25. package/src/CircularView/CircularDnaSequence.js +73 -0
  26. package/src/CircularView/CircularZoomMinimap.js +16 -0
  27. package/src/CircularView/Cutsite.js +18 -0
  28. package/src/CircularView/Cutsites.js +113 -0
  29. package/src/CircularView/DeletionLayer.js +28 -0
  30. package/src/CircularView/Feature.js +83 -0
  31. package/src/CircularView/Labels/index.js +536 -0
  32. package/src/CircularView/Labels/relaxLabelAngles.js +157 -0
  33. package/src/CircularView/Labels/relaxLabels_DEPRECATED.js +105 -0
  34. package/src/CircularView/Labels/style.css +55 -0
  35. package/src/CircularView/Orf.js +25 -0
  36. package/src/CircularView/Part.js +34 -0
  37. package/src/CircularView/PositionAnnotationOnCircle.js +26 -0
  38. package/src/CircularView/Primer.js +41 -0
  39. package/src/CircularView/RotateCircularViewSlider.js +82 -0
  40. package/src/CircularView/SelectionLayer.js +132 -0
  41. package/src/CircularView/VeTopRightContainer.js +12 -0
  42. package/src/CircularView/ZoomCircularViewSlider.js +62 -0
  43. package/src/CircularView/drawAnnotations.js +433 -0
  44. package/src/CircularView/drawDirectedPiePiece.js +142 -0
  45. package/src/CircularView/getAngleForPositionMidpoint.js +3 -0
  46. package/src/CircularView/getInternalLabel.js +40 -0
  47. package/src/CircularView/getRangeAnglesSpecial.js +12 -0
  48. package/src/CircularView/getYOffset.js +15 -0
  49. package/src/CircularView/index.d.ts +20 -0
  50. package/src/CircularView/index.js +930 -0
  51. package/src/CircularView/normalizeAngle.js +3 -0
  52. package/src/CircularView/normalizeAngleRange.js +9 -0
  53. package/src/CircularView/positionCutsites.js +6 -0
  54. package/src/CircularView/shouldFlipText.js +4 -0
  55. package/src/CircularView/style.css +47 -0
  56. package/src/CircularView/utils/polarToSpecialCartesian.js +7 -0
  57. package/src/CreateAnnotationsPage.js +96 -0
  58. package/src/CreateCustomEnzyme/index.js +337 -0
  59. package/src/CreateCustomEnzyme/style.css +100 -0
  60. package/src/CutsiteFilter/AdditionalCutsiteInfoDialog.js +599 -0
  61. package/src/CutsiteFilter/index.js +408 -0
  62. package/src/CutsiteFilter/style.css +23 -0
  63. package/src/CutsiteFilter/withRestrictionEnzymes.js +15 -0
  64. package/src/DigestTool/AddLaddersDialog.js +82 -0
  65. package/src/DigestTool/DigestTool.js +223 -0
  66. package/src/DigestTool/Ladder.css +20 -0
  67. package/src/DigestTool/Ladder.js +303 -0
  68. package/src/DigestTool/createFragmentLines.js +120 -0
  69. package/src/DigestTool/ladderDefaults.js +26 -0
  70. package/src/DigestTool/ruler.css +89 -0
  71. package/src/Editor/CommandHotkeyHandler.js +44 -0
  72. package/src/Editor/DropHandler.css +21 -0
  73. package/src/Editor/DropHandler.js +64 -0
  74. package/src/Editor/FillWindow.js +46 -0
  75. package/src/Editor/darkmode.css +98 -0
  76. package/src/Editor/index.js +1005 -0
  77. package/src/Editor/style.css +235 -0
  78. package/src/Editor/userDefinedHandlersAndOpts.js +56 -0
  79. package/src/EnzymeViewer/index.js +81 -0
  80. package/src/EnzymeViewer/style.css +6 -0
  81. package/src/FindBar/index.js +411 -0
  82. package/src/FindBar/style.css +46 -0
  83. package/src/GlobalDialog.js +66 -0
  84. package/src/GlobalDialogUtils.js +85 -0
  85. package/src/LinearView/SequenceName.js +15 -0
  86. package/src/LinearView/ZoomLinearView.js +47 -0
  87. package/src/LinearView/index.js +374 -0
  88. package/src/LinearView/style.css +12 -0
  89. package/src/ManageEnzymes/index.js +326 -0
  90. package/src/ManageEnzymes/style.css +100 -0
  91. package/src/MenuBar/defaultConfig.js +149 -0
  92. package/src/MenuBar/index.js +98 -0
  93. package/src/MenuBar/viewSubmenu.js +479 -0
  94. package/src/PCRTool/PCRTool.js +173 -0
  95. package/src/Reflex/Browser.js +107 -0
  96. package/src/Reflex/ReflexContainer.js +802 -0
  97. package/src/Reflex/ReflexElement.js +160 -0
  98. package/src/Reflex/ReflexEvents.js +77 -0
  99. package/src/Reflex/ReflexSplitter.js +205 -0
  100. package/src/Reflex/index.js +5 -0
  101. package/src/Reflex/reflex-styles.css +128 -0
  102. package/src/Reflex/reflex-styles.css.map +9 -0
  103. package/src/RowItem/AnnotationContainerHolder.js +20 -0
  104. package/src/RowItem/AnnotationPositioner.js +27 -0
  105. package/src/RowItem/Axis.js +149 -0
  106. package/src/RowItem/Caret/index.js +64 -0
  107. package/src/RowItem/Caret/style.css +8 -0
  108. package/src/RowItem/Chromatograms/Chromatogram.js +289 -0
  109. package/src/RowItem/CutsiteSelectionLayers.js +47 -0
  110. package/src/RowItem/Cutsites.js +271 -0
  111. package/src/RowItem/DeletionLayers/index.js +113 -0
  112. package/src/RowItem/DeletionLayers/style.css +5 -0
  113. package/src/RowItem/Labels.js +327 -0
  114. package/src/RowItem/Orf.js +109 -0
  115. package/src/RowItem/Orfs.js +35 -0
  116. package/src/RowItem/ReplacementLayers/style.css +5 -0
  117. package/src/RowItem/SelectionLayer/index.js +184 -0
  118. package/src/RowItem/SelectionLayer/style.css +21 -0
  119. package/src/RowItem/Sequence.js +269 -0
  120. package/src/RowItem/StackedAnnotations/PointedAnnotation.js +347 -0
  121. package/src/RowItem/StackedAnnotations/getStructuredBases.js +97 -0
  122. package/src/RowItem/StackedAnnotations/index.js +182 -0
  123. package/src/RowItem/StackedAnnotations/primerBases.js +218 -0
  124. package/src/RowItem/StackedAnnotations/style.css +14 -0
  125. package/src/RowItem/Translations/AASliver.js +190 -0
  126. package/src/RowItem/Translations/Translation.js +162 -0
  127. package/src/RowItem/Translations/index.js +54 -0
  128. package/src/RowItem/Translations/style.css +3 -0
  129. package/src/RowItem/constants.js +3 -0
  130. package/src/RowItem/getCutsiteLabelHeights.js +56 -0
  131. package/src/RowItem/getXStartAndWidthFromNonCircularRange.js +12 -0
  132. package/src/RowItem/getXStartAndWidthOfRangeWrtRow.js +27 -0
  133. package/src/RowItem/getXStartAndWidthOfRowAnnotation.js +19 -0
  134. package/src/RowItem/index.js +647 -0
  135. package/src/RowItem/partOverhangs.js +6 -0
  136. package/src/RowItem/style.css +103 -0
  137. package/src/RowItem/utils.js +32 -0
  138. package/src/RowView/estimateRowHeight.js +184 -0
  139. package/src/RowView/index.d.ts +10 -0
  140. package/src/RowView/index.js +554 -0
  141. package/src/RowView/style.css +12 -0
  142. package/src/SimpleCircularOrLinearView.js +379 -0
  143. package/src/SimpleOligoPreview.js +39 -0
  144. package/src/StatusBar/MeltingTemp.js +81 -0
  145. package/src/StatusBar/index.js +275 -0
  146. package/src/StatusBar/style.css +38 -0
  147. package/src/ToolBar/ToolbarItem.js +194 -0
  148. package/src/ToolBar/alignmentTool.js +503 -0
  149. package/src/ToolBar/array_move.js +10 -0
  150. package/src/ToolBar/cutsiteTool.js +88 -0
  151. package/src/ToolBar/downloadTool.js +38 -0
  152. package/src/ToolBar/editTool.js +26 -0
  153. package/src/ToolBar/featureTool.js +34 -0
  154. package/src/ToolBar/findTool.js +2 -0
  155. package/src/ToolBar/importTool.js +27 -0
  156. package/src/ToolBar/index.js +231 -0
  157. package/src/ToolBar/inlineFindTool.js +38 -0
  158. package/src/ToolBar/oligoTool.js +30 -0
  159. package/src/ToolBar/orfTool.js +141 -0
  160. package/src/ToolBar/partTool.js +47 -0
  161. package/src/ToolBar/printTool.js +31 -0
  162. package/src/ToolBar/redoTool.js +30 -0
  163. package/src/ToolBar/saveTool.js +48 -0
  164. package/src/ToolBar/style.css +138 -0
  165. package/src/ToolBar/undoTool.js +30 -0
  166. package/src/ToolBar/veToolbarIcons/find.png +0 -0
  167. package/src/ToolBar/veToolbarIcons/fullscreen.png +0 -0
  168. package/src/ToolBar/veToolbarIcons/linear.png +0 -0
  169. package/src/ToolBar/veToolbarIcons/pie.png +0 -0
  170. package/src/ToolBar/veToolbarIcons/print.png +0 -0
  171. package/src/ToolBar/veToolbarIcons/save.png +0 -0
  172. package/src/ToolBar/veToolbarIcons/show_cut_sites.png +0 -0
  173. package/src/ToolBar/veToolbarIcons/show_features.png +0 -0
  174. package/src/ToolBar/veToolbarIcons/show_orfs.png +0 -0
  175. package/src/ToolBar/veToolbarIcons/show_primers.png +0 -0
  176. package/src/ToolBar/veToolbarIcons/toggle_views.svg +1 -0
  177. package/src/ToolBar/versionHistoryTool.js +20 -0
  178. package/src/ToolBar/visibilityTool.js +39 -0
  179. package/src/VersionHistoryView/index.js +215 -0
  180. package/src/addAlignment.js +6 -0
  181. package/src/commands/getOveHotkeyDefs.js +12 -0
  182. package/src/commands/index.js +1585 -0
  183. package/src/constants/constants.js +2 -0
  184. package/src/constants/dnaToColor.js +17 -0
  185. package/src/constants/draggableClassnames.js +5 -0
  186. package/src/constants/findToolConstants.js +1 -0
  187. package/src/constants/orfFrameToColorMap.js +10 -0
  188. package/src/constants/rowviewContants.js +3 -0
  189. package/src/constants/specialCutsiteFilterOptions.js +22 -0
  190. package/src/constants.js +1 -0
  191. package/src/createVectorEditor/index.js +138 -0
  192. package/src/createVectorEditor/makeStore.js +34 -0
  193. package/src/fileUtils.js +103 -0
  194. package/src/helperComponents/AddOrEditAnnotationDialog/index.js +711 -0
  195. package/src/helperComponents/AddOrEditAnnotationDialog/style.css +11 -0
  196. package/src/helperComponents/AddOrEditFeatureDialog/index.js +58 -0
  197. package/src/helperComponents/AddOrEditPartDialog/index.js +101 -0
  198. package/src/helperComponents/AddOrEditPrimerDialog/EditCaretPosition.js +234 -0
  199. package/src/helperComponents/AddOrEditPrimerDialog/index.js +329 -0
  200. package/src/helperComponents/AddOrEditPrimerDialog/style.css +41 -0
  201. package/src/helperComponents/EnzymesDialog/index.js +904 -0
  202. package/src/helperComponents/EnzymesDialog/style.css +21 -0
  203. package/src/helperComponents/GoToDialog.js +21 -0
  204. package/src/helperComponents/MergeFeaturesDialog/index.js +253 -0
  205. package/src/helperComponents/MergeFeaturesDialog/style.css +3 -0
  206. package/src/helperComponents/MultipleSeqsDetectedOnImportDialog.js +74 -0
  207. package/src/helperComponents/PinchHelper/PinchHelper.js +24 -0
  208. package/src/helperComponents/PrintDialog/index.js +396 -0
  209. package/src/helperComponents/PrintDialog/style.css +4 -0
  210. package/src/helperComponents/PropertiesDialog/ColorPicker.js +30 -0
  211. package/src/helperComponents/PropertiesDialog/CutsiteProperties.js +185 -0
  212. package/src/helperComponents/PropertiesDialog/FeatureProperties.js +6 -0
  213. package/src/helperComponents/PropertiesDialog/GenbankView.js +74 -0
  214. package/src/helperComponents/PropertiesDialog/GeneralProperties.js +140 -0
  215. package/src/helperComponents/PropertiesDialog/GenericAnnotationProperties.js +406 -0
  216. package/src/helperComponents/PropertiesDialog/OrfProperties.js +117 -0
  217. package/src/helperComponents/PropertiesDialog/PartProperties.js +9 -0
  218. package/src/helperComponents/PropertiesDialog/PrimerProperties.js +19 -0
  219. package/src/helperComponents/PropertiesDialog/SingleEnzymeCutsiteInfo.js +131 -0
  220. package/src/helperComponents/PropertiesDialog/TranslationProperties.js +149 -0
  221. package/src/helperComponents/PropertiesDialog/index.js +166 -0
  222. package/src/helperComponents/PropertiesDialog/style.css +68 -0
  223. package/src/helperComponents/PropertiesDialog/typeField.js +24 -0
  224. package/src/helperComponents/PropertiesDialog/utils.js +37 -0
  225. package/src/helperComponents/RemoveDuplicates/index.js +194 -0
  226. package/src/helperComponents/RenameSequenceDialog.js +7 -0
  227. package/src/helperComponents/SelectDialog.js +150 -0
  228. package/src/helperComponents/UncontrolledSliderWithPlusMinusBtns.css +5 -0
  229. package/src/helperComponents/UncontrolledSliderWithPlusMinusBtns.js +134 -0
  230. package/src/helperComponents/VeWarning/index.js +22 -0
  231. package/src/helperComponents/VeWarning/style.css +10 -0
  232. package/src/helperComponents/createSimpleDialog.js +89 -0
  233. package/src/helperComponents/partTagSearch.js +72 -0
  234. package/src/helperComponents/simpleDialog.css +13 -0
  235. package/src/helperComponents/withHover.js +90 -0
  236. package/src/index.js +60 -0
  237. package/src/redux/alignments.js +373 -0
  238. package/src/redux/annotationLabelVisibility.js +53 -0
  239. package/src/redux/annotationVisibility.js +196 -0
  240. package/src/redux/annotationsToSupport.js +104 -0
  241. package/src/redux/caretPosition.js +27 -0
  242. package/src/redux/charWidth.js +22 -0
  243. package/src/redux/copyOptions.js +34 -0
  244. package/src/redux/createYourOwnEnzyme.js +39 -0
  245. package/src/redux/deletionLayers.js +36 -0
  246. package/src/redux/digestTool.js +34 -0
  247. package/src/redux/featureLengthsToHide.js +27 -0
  248. package/src/redux/findTool.js +79 -0
  249. package/src/redux/frameTranslations.js +52 -0
  250. package/src/redux/hoveredAnnotation.js +24 -0
  251. package/src/redux/index.js +196 -0
  252. package/src/redux/labelLineIntensity.js +25 -0
  253. package/src/redux/labelSize.js +23 -0
  254. package/src/redux/lastSavedId.js +20 -0
  255. package/src/redux/middleware.js +112 -0
  256. package/src/redux/minimumOrfSize.js +24 -0
  257. package/src/redux/modalActions.js +3 -0
  258. package/src/redux/panelsShown.js +273 -0
  259. package/src/redux/partLengthsToHide.js +23 -0
  260. package/src/redux/primerLengthsToHide.js +27 -0
  261. package/src/redux/propertiesTool.js +40 -0
  262. package/src/redux/readOnly.js +28 -0
  263. package/src/redux/replacementLayers.js +36 -0
  264. package/src/redux/restrictionEnzymes.js +52 -0
  265. package/src/redux/selectedAnnotations.js +89 -0
  266. package/src/redux/selectedPartTags.js +21 -0
  267. package/src/redux/selectionLayer.js +46 -0
  268. package/src/redux/sequenceData/circular.js +19 -0
  269. package/src/redux/sequenceData/description.js +21 -0
  270. package/src/redux/sequenceData/features.js +19 -0
  271. package/src/redux/sequenceData/index.js +81 -0
  272. package/src/redux/sequenceData/lineageLines.js +11 -0
  273. package/src/redux/sequenceData/materiallyAvailable.js +19 -0
  274. package/src/redux/sequenceData/name.js +19 -0
  275. package/src/redux/sequenceData/parts.js +19 -0
  276. package/src/redux/sequenceData/primers.js +19 -0
  277. package/src/redux/sequenceData/sequence.js +12 -0
  278. package/src/redux/sequenceData/sharedActionCreators.js +0 -0
  279. package/src/redux/sequenceData/translations.js +20 -0
  280. package/src/redux/sequenceData/upsertDeleteActionGenerator.js +31 -0
  281. package/src/redux/sequenceDataHistory.js +43 -0
  282. package/src/redux/showGCContent.js +23 -0
  283. package/src/redux/toolBar.js +25 -0
  284. package/src/redux/uppercaseSequenceMapFont.js +25 -0
  285. package/src/redux/useAdditionalOrfStartCodons.js +24 -0
  286. package/src/redux/utils/addDashesForMatchStartAndEndForTracks/index.js +71 -0
  287. package/src/redux/utils/addMetaToActionCreators.js +12 -0
  288. package/src/redux/utils/createMergedDefaultStateReducer.js +30 -0
  289. package/src/redux/utils/createMetaAction.js +12 -0
  290. package/src/redux/versionHistory.js +27 -0
  291. package/src/selectors/annotationLabelVisibility.js +2 -0
  292. package/src/selectors/annotationSearchSelector.js +24 -0
  293. package/src/selectors/cdsFeaturesSelector.js +9 -0
  294. package/src/selectors/circularSelector.js +4 -0
  295. package/src/selectors/cutsiteLabelColorSelector.js +6 -0
  296. package/src/selectors/cutsitesByRangeSelector.js +5 -0
  297. package/src/selectors/cutsitesSelector.js +61 -0
  298. package/src/selectors/editorSelector.js +2 -0
  299. package/src/selectors/featuresSelector.js +8 -0
  300. package/src/selectors/filteredCutsitesSelector.js +137 -0
  301. package/src/selectors/filteredFeaturesSelector.js +32 -0
  302. package/src/selectors/filteredPartsSelector.js +57 -0
  303. package/src/selectors/filteredPrimersSelector.js +27 -0
  304. package/src/selectors/filteredRestrictionEnzymesSelector.js +1 -0
  305. package/src/selectors/getAdditionalEnzymesSelector.js +46 -0
  306. package/src/selectors/index.js +41 -0
  307. package/src/selectors/isEnzymeFilterAndSelector.js +1 -0
  308. package/src/selectors/minimumOrfSizeSelector.js +2 -0
  309. package/src/selectors/orfsSelector.js +15 -0
  310. package/src/selectors/partsSelector.js +8 -0
  311. package/src/selectors/primersSelector.js +8 -0
  312. package/src/selectors/restrictionEnzymesSelector.js +34 -0
  313. package/src/selectors/searchLayersSelector.js +71 -0
  314. package/src/selectors/selectedAnnotationsSelector.js +1 -0
  315. package/src/selectors/selectedCutsitesSelector.js +21 -0
  316. package/src/selectors/sequenceDataSelector.js +2 -0
  317. package/src/selectors/sequenceLengthSelector.js +5 -0
  318. package/src/selectors/sequenceSelector.js +4 -0
  319. package/src/selectors/tagsToBoldSelector.js +2 -0
  320. package/src/selectors/translationSearchMatchesSelector.js +14 -0
  321. package/src/selectors/translationsRawSelector.js +8 -0
  322. package/src/selectors/translationsSelector.js +137 -0
  323. package/src/style.css +82 -0
  324. package/src/updateEditor.js +198 -0
  325. package/src/utils/PassThrough.js +3 -0
  326. package/src/utils/addWrappedAddons.js +20 -0
  327. package/src/utils/annotationTypes.js +37 -0
  328. package/src/utils/arrayUtils.js +19 -0
  329. package/src/utils/calculateTickMarkPositionsForGivenRange.js +47 -0
  330. package/src/utils/cleanSequenceData_DEPRECATED/arrayToObjWithIds.js +17 -0
  331. package/src/utils/combineReducersDontIgnoreKeys.js +12 -0
  332. package/src/utils/commandUtils.js +18 -0
  333. package/src/utils/editorUtils.js +223 -0
  334. package/src/utils/getAnnotationClassnames.js +12 -0
  335. package/src/utils/getAnnotationNameAndStartStopString.js +61 -0
  336. package/src/utils/getVisibleStartEnd.js +7 -0
  337. package/src/utils/massageTickSpacing.js +19 -0
  338. package/src/utils/onlyUpdateForKeysDeep.js +31 -0
  339. package/src/utils/prepareRowData.js +64 -0
  340. package/src/utils/proteinUtils.js +3 -0
  341. package/src/utils/pureNoFunc.js +18 -0
  342. package/src/utils/selectionLayer.js +25 -0
  343. package/src/utils/shouldRerender.js +27 -0
  344. package/src/utils/showFileDialog.js +26 -0
  345. package/src/utils/updateLabelsForInViewFeatures.js +55 -0
  346. package/src/utils/updateLabelsForInViewFeaturesCircView.js +41 -0
  347. package/src/utils/useAAColorType.js +8 -0
  348. package/src/utils/useAnnotationLimits.js +42 -0
  349. package/src/utils/useChromatogramPrefs.js +31 -0
  350. package/src/utils/useLadders.js +6 -0
  351. package/src/utils/useMeltingTemp.js +7 -0
  352. package/src/utils/useTmType.js +10 -0
  353. package/src/withEditorInteractions/Keyboard.js +86 -0
  354. package/src/withEditorInteractions/clickAndDragUtils.js +576 -0
  355. package/src/withEditorInteractions/createSequenceInputPopup.js +296 -0
  356. package/src/withEditorInteractions/createSequenceInputPopupStyle.css +85 -0
  357. package/src/withEditorInteractions/getBpsPerRow.js +19 -0
  358. package/src/withEditorInteractions/index.js +1252 -0
  359. package/src/withEditorInteractions/isElementInViewport.js +29 -0
  360. package/src/withEditorInteractions/moveCaret.js +58 -0
  361. package/src/withEditorProps/index.js +1010 -0
  362. package/index.mjs +0 -193201
@@ -0,0 +1,196 @@
1
+ import { omit } from "lodash";
2
+
3
+ //./caretPosition.js
4
+
5
+ import createAction from "./utils/createMetaAction";
6
+ import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
7
+
8
+ export const visibilityDefaultValues = {
9
+ featureTypesToHide: {},
10
+ featureIndividualToHide: {},
11
+ partIndividualToHide: {},
12
+ primerIndividualToHide: {},
13
+ features: true,
14
+ warnings: true,
15
+ assemblyPieces: true,
16
+ chromatogram: true,
17
+ lineageAnnotations: true,
18
+ translations: true,
19
+ parts: true,
20
+ orfs: false,
21
+ orfTranslations: false,
22
+ cdsFeatureTranslations: true,
23
+ axis: true,
24
+ cutsites: true,
25
+ // cutsites: true,
26
+ cutsitesInSequence: true,
27
+ primers: true,
28
+ dnaColors: false,
29
+ sequence: true,
30
+ reverseSequence: true,
31
+ fivePrimeThreePrimeHints: true,
32
+ axisNumbers: true
33
+ };
34
+
35
+ // ------------------------------------
36
+ // Actions
37
+ // ------------------------------------
38
+ export const annotationVisibilityToggle = createAction(
39
+ "annotationVisibilityToggle"
40
+ );
41
+ //eg: annotationVisibilityToggle('features')
42
+ export const annotationVisibilityHide = createAction(
43
+ "annotationVisibilityHide"
44
+ );
45
+ export const annotationVisibilityShow = createAction(
46
+ "annotationVisibilityShow"
47
+ );
48
+ export const hideFeatureTypes = createAction("hideFeatureTypes");
49
+ export const showFeatureTypes = createAction("showFeatureTypes");
50
+ export const resetFeatureTypesToHide = createAction("resetFeatureTypesToHide");
51
+ export const hideFeatureIndividual = createAction("hideFeatureIndividual");
52
+ export const showFeatureIndividual = createAction("showFeatureIndividual");
53
+ export const resetFeatureIndividualToHide = createAction(
54
+ "resetFeatureIndividualToHide"
55
+ );
56
+ export const hidePrimerIndividual = createAction("hidePrimerIndividual");
57
+ export const showPrimerIndividual = createAction("showPrimerIndividual");
58
+ export const resetPrimerIndividualToHide = createAction(
59
+ "resetPrimerIndividualToHide"
60
+ );
61
+ export const hidePartIndividual = createAction("hidePartIndividual");
62
+ export const showPartIndividual = createAction("showPartIndividual");
63
+ export const resetPartIndividualToHide = createAction(
64
+ "resetPartIndividualToHide"
65
+ );
66
+
67
+ // ------------------------------------
68
+ // Reducer
69
+ // ------------------------------------
70
+ const annotationVisibility = createMergedDefaultStateReducer(
71
+ {
72
+ [resetPartIndividualToHide]: (state) => {
73
+ return {
74
+ ...state,
75
+ partIndividualToHide: {}
76
+ };
77
+ },
78
+ [showPartIndividual]: (state, payload) => {
79
+ return {
80
+ ...state,
81
+ parts: true,
82
+ partIndividualToHide: omit(state.partIndividualToHide, payload)
83
+ };
84
+ },
85
+ [hidePartIndividual]: (state, payload) => {
86
+ return {
87
+ ...state,
88
+ partIndividualToHide: {
89
+ ...state.partIndividualToHide,
90
+ ...payload.reduce((acc, key) => {
91
+ acc[key] = true;
92
+ return acc;
93
+ }, {})
94
+ }
95
+ };
96
+ },
97
+ [resetFeatureIndividualToHide]: (state) => {
98
+ return {
99
+ ...state,
100
+ featureIndividualToHide: {}
101
+ };
102
+ },
103
+ [showFeatureIndividual]: (state, payload) => {
104
+ return {
105
+ ...state,
106
+ features: true,
107
+ featureIndividualToHide: omit(state.featureIndividualToHide, payload)
108
+ };
109
+ },
110
+ [hideFeatureIndividual]: (state, payload) => {
111
+ return {
112
+ ...state,
113
+ featureIndividualToHide: {
114
+ ...state.featureIndividualToHide,
115
+ ...payload.reduce((acc, key) => {
116
+ acc[key] = true;
117
+ return acc;
118
+ }, {})
119
+ }
120
+ };
121
+ },
122
+ [resetPrimerIndividualToHide]: (state) => {
123
+ return {
124
+ ...state,
125
+ primerIndividualToHide: {}
126
+ };
127
+ },
128
+ [showPrimerIndividual]: (state, payload) => {
129
+ return {
130
+ ...state,
131
+ primers: true,
132
+ primerIndividualToHide: omit(state.primerIndividualToHide, payload)
133
+ };
134
+ },
135
+ [hidePrimerIndividual]: (state, payload) => {
136
+ return {
137
+ ...state,
138
+ primerIndividualToHide: {
139
+ ...state.primerIndividualToHide,
140
+ ...payload.reduce((acc, key) => {
141
+ acc[key] = true;
142
+ return acc;
143
+ }, {})
144
+ }
145
+ };
146
+ },
147
+ [resetFeatureTypesToHide]: (state) => {
148
+ return {
149
+ ...state,
150
+ featureTypesToHide: {}
151
+ };
152
+ },
153
+ [showFeatureTypes]: (state, payload) => {
154
+ return {
155
+ ...state,
156
+ featureTypesToHide: omit(state.featureTypesToHide, payload)
157
+ };
158
+ },
159
+ [hideFeatureTypes]: (state, payload) => {
160
+ return {
161
+ ...state,
162
+ featureTypesToHide: {
163
+ ...state.featureTypesToHide,
164
+ ...payload.reduce((acc, key) => {
165
+ acc[key] = true;
166
+ return acc;
167
+ }, {})
168
+ }
169
+ };
170
+ },
171
+ [annotationVisibilityToggle]: (state, payload) => {
172
+ return {
173
+ ...state,
174
+ [payload]: !state[payload],
175
+ ...(payload === "orfs" && state.orfs === state.orfTranslations
176
+ ? { orfTranslations: !state.orfTranslations }
177
+ : null)
178
+ };
179
+ },
180
+ [annotationVisibilityHide]: (state, payload) => {
181
+ return {
182
+ ...state,
183
+ [payload]: false
184
+ };
185
+ },
186
+ [annotationVisibilityShow]: (state, payload) => {
187
+ return {
188
+ ...state,
189
+ [payload]: true
190
+ };
191
+ }
192
+ },
193
+ visibilityDefaultValues
194
+ );
195
+
196
+ export default annotationVisibility;
@@ -0,0 +1,104 @@
1
+ import createAction from "./utils/createMetaAction";
2
+ import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
3
+
4
+ //this determines whether or not to
5
+ const initialSupportedTypes = {
6
+ parts: true,
7
+ features: true,
8
+ translations: true,
9
+ primers: true,
10
+ cutsites: true,
11
+ orfs: true,
12
+ warnings: true,
13
+ assemblyPieces: true,
14
+ lineageAnnotations: true
15
+ };
16
+
17
+ // ------------------------------------
18
+ // Actions
19
+ // ------------------------------------
20
+ export const annotationSupportToggle = createAction("annotationSupportToggle");
21
+ //eg: annotationSupportToggle('features')
22
+ export const annotationSupportOn = createAction("annotationSupportOn");
23
+ export const annotationSupportOff = createAction("annotationSupportOff");
24
+
25
+ // ------------------------------------
26
+ // Reducer
27
+ // ------------------------------------
28
+ export default createMergedDefaultStateReducer(
29
+ {
30
+ [annotationSupportToggle]: (state, payload) => {
31
+ return {
32
+ ...state,
33
+ [payload]: !state[payload]
34
+ };
35
+ },
36
+ [annotationSupportOn]: (state, payload) => {
37
+ return {
38
+ ...state,
39
+ [payload]: false
40
+ };
41
+ },
42
+ [annotationSupportOff]: (state, payload) => {
43
+ return {
44
+ ...state,
45
+ [payload]: true
46
+ };
47
+ }
48
+ },
49
+ initialSupportedTypes
50
+ );
51
+
52
+ // import createAction from "./utils/createMetaAction";
53
+ // import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
54
+
55
+ // //this determines whether or not to
56
+ // const initialSupportedTypes = {
57
+ // parts: true,
58
+ // features: true,
59
+ // translations: true,
60
+ // primers: true,
61
+ // cutsites: true,
62
+ // orfs: true,
63
+ // warnings: true,
64
+ // assemblyPieces: true,
65
+ // lineageAnnotations: true
66
+ // };
67
+
68
+ // // ------------------------------------
69
+ // // Actions
70
+ // // ------------------------------------
71
+ // export const annotationSupportToggle = createAction(
72
+ // "ANNOTATION_SUPPORT_TOGGLE"
73
+ // );
74
+
75
+ // export const annotationSupportOn = createAction("ANNOTATION_SUPPORT_ON");
76
+ // export const annotationSupportOff = createAction("ANNOTATION_SUPPORT_OFF");
77
+
78
+ // export default function (state = initialSupportedTypes, action) {
79
+ // switch (action.type) {
80
+ // case "ANNOTATION_SUPPORT_TOGGLE":
81
+ // return {
82
+ // ...state,
83
+ // [action.payload]: !state[action.payload]
84
+ // };
85
+ // case "ANNOTATION_SUPPORT_ON":
86
+ // return {
87
+ // ...state,
88
+ // [action.payload]: true
89
+ // };
90
+ // case "ANNOTATION_SUPPORT_OFF":
91
+ // return {
92
+ // ...state,
93
+ // [action.payload]: false
94
+ // };
95
+ // default:
96
+ // if (action.mergeStateDeep) {
97
+ // return {
98
+ // ...initialSupportedTypes,
99
+ // ...state
100
+ // };
101
+ // }
102
+ // return state;
103
+ // }
104
+ // }
@@ -0,0 +1,27 @@
1
+ import { createReducer } from "redux-act";
2
+ import createAction from "./utils/createMetaAction";
3
+
4
+ // ------------------------------------
5
+ // Actions
6
+ // ------------------------------------
7
+ export const caretPositionClear = createAction("CARET_POSITION_CLEAR");
8
+ export const caretPositionUpdate = createAction("CARET_POSITION_UPDATE");
9
+
10
+ // ------------------------------------
11
+ // Reducer
12
+ // ------------------------------------
13
+ export default createReducer(
14
+ {
15
+ SELECTION_LAYER_UPDATE: () => {
16
+ //clear the caret if the selection layer is updated!
17
+ return -1;
18
+ },
19
+ [caretPositionClear]: () => {
20
+ return -1;
21
+ },
22
+ [caretPositionUpdate]: (unused, payload) => {
23
+ return typeof payload === "string" ? parseInt(payload, 10) : payload;
24
+ }
25
+ },
26
+ -1
27
+ );
@@ -0,0 +1,22 @@
1
+ import { createReducer } from "redux-act";
2
+ import createAction from "./utils/createMetaAction";
3
+
4
+ // ------------------------------------
5
+ // Actions
6
+ // ------------------------------------
7
+ export const updateSequenceSpacing = createAction("updateSequenceSpacing");
8
+
9
+ const newVal = window.localStorage.getItem("charWidth");
10
+
11
+ // ------------------------------------
12
+ // Reducer
13
+ // ------------------------------------
14
+ export default createReducer(
15
+ {
16
+ [updateSequenceSpacing]: (state, payload) => {
17
+ localStorage.setItem("charWidth", payload);
18
+ return payload;
19
+ }
20
+ },
21
+ newVal || 9
22
+ );
@@ -0,0 +1,34 @@
1
+ //./caretPosition.js
2
+ import { createReducer } from "redux-act";
3
+ import createAction from "./utils/createMetaAction";
4
+
5
+ // ------------------------------------
6
+ // Actions
7
+ // ------------------------------------
8
+ export const toggleCopyOption = createAction("TOGGLE_COPY_OPTION"); //NOTE!!:: second argument sanitizes actions so no payload is passed
9
+
10
+ export const defaultCopyOptions = {
11
+ features: true,
12
+ partialFeatures: false,
13
+ parts: true,
14
+ partialParts: false
15
+ };
16
+
17
+ // ------------------------------------
18
+ // Reducer
19
+ // ------------------------------------
20
+ export default createReducer(
21
+ {
22
+ [toggleCopyOption]: (state, type) => {
23
+ return {
24
+ ...state,
25
+ ...(type === "partialFeatures" && !state[type] && { features: true }),
26
+ ...(type === "partialParts" && !state[type] && { parts: true }),
27
+ ...(type === "features" && { partialFeatures: !state[type] }),
28
+ ...(type === "parts" && { partialParts: !state[type] }),
29
+ [type]: !state[type]
30
+ };
31
+ }
32
+ },
33
+ defaultCopyOptions
34
+ );
@@ -0,0 +1,39 @@
1
+ //./selectionLayer.js
2
+ import { createReducer, createAction } from "redux-act";
3
+ // ------------------------------------
4
+ // Actions
5
+ // ------------------------------------
6
+ export const createYourOwnEnzymeUpdate = createAction(
7
+ "CREATE_YOUR_OWN_ENZYME_UPDATE"
8
+ );
9
+ export const createYourOwnEnzymeReset = createAction(
10
+ "CREATE_YOUR_OWN_ENZYME_RESET"
11
+ );
12
+ export const createYourOwnEnzymeClose = createAction(
13
+ "CREATE_YOUR_OWN_ENZYME_CLOSE"
14
+ );
15
+
16
+ // ------------------------------------
17
+ // Reducer
18
+ // ------------------------------------
19
+ const initialValues = {
20
+ name: "Example Enzyme",
21
+ sequence: "ggatcc",
22
+ chop_top_index: 1,
23
+ chop_bottom_index: 5,
24
+ isOpen: false
25
+ };
26
+ export default createReducer(
27
+ {
28
+ [createYourOwnEnzymeClose]: () => {
29
+ return { ...initialValues, isOpen: false };
30
+ },
31
+ [createYourOwnEnzymeReset]: (state, payload = {}) => {
32
+ return { ...initialValues, ...payload };
33
+ },
34
+ [createYourOwnEnzymeUpdate]: (state, payload) => {
35
+ return payload;
36
+ }
37
+ },
38
+ initialValues
39
+ );
@@ -0,0 +1,36 @@
1
+ //./deletionLayers.js
2
+ import { createReducer } from "redux-act";
3
+ import createAction from "./utils/createMetaAction";
4
+ import omit from "lodash/omit";
5
+
6
+ // ------------------------------------
7
+ // Actions
8
+ // ------------------------------------
9
+ export const deletionLayerClear = createAction("deletionLayerClear");
10
+ export const deletionLayerUpdate = createAction("DELETION_LAYER_UPDATE");
11
+ export const deletionLayerDelete = createAction("DELETION_LAYER_DELETE");
12
+
13
+ // ------------------------------------
14
+ // Reducer
15
+ // ------------------------------------
16
+ export default createReducer(
17
+ {
18
+ [deletionLayerClear]: () => {
19
+ return {};
20
+ },
21
+ [deletionLayerUpdate]: (state, payload) => {
22
+ return {
23
+ ...state,
24
+ [payload.id]: {
25
+ color: "firebrick",
26
+ id: payload.id,
27
+ ...payload.range
28
+ }
29
+ };
30
+ },
31
+ [deletionLayerDelete]: (state, payload) => {
32
+ return omit(state, payload.id);
33
+ }
34
+ },
35
+ {}
36
+ );
@@ -0,0 +1,34 @@
1
+ import createAction from "./utils/createMetaAction";
2
+ import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
3
+
4
+ // ------------------------------------
5
+ // Actions
6
+ // ------------------------------------
7
+ export const updateSelectedFragment = createAction("updateSelectedFragment");
8
+ export const updateComputePartialDigest = createAction(
9
+ "updateComputePartialDigest"
10
+ );
11
+
12
+ // ------------------------------------
13
+ // Reducer
14
+ // ------------------------------------
15
+ export default createMergedDefaultStateReducer(
16
+ {
17
+ [updateSelectedFragment]: (state, payload) => {
18
+ return {
19
+ ...state,
20
+ selectedFragment: payload
21
+ };
22
+ },
23
+ [updateComputePartialDigest]: (state, payload) => {
24
+ return {
25
+ ...state,
26
+ computePartialDigest: payload
27
+ };
28
+ }
29
+ },
30
+ {
31
+ selectedFragment: undefined,
32
+ computePartialDigest: false
33
+ }
34
+ );
@@ -0,0 +1,27 @@
1
+ import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
2
+ import createAction from "./utils/createMetaAction";
3
+
4
+ // ------------------------------------
5
+ // Actions
6
+ // ------------------------------------
7
+ export const updateFeatureLengthsToHide = createAction(
8
+ "updateFeatureLengthsToHide"
9
+ );
10
+ export const toggleFeatureLengthsToHide = createAction(
11
+ "toggleFeatureLengthsToHide"
12
+ );
13
+
14
+ // ------------------------------------
15
+ // Reducer
16
+ // ------------------------------------
17
+ export default createMergedDefaultStateReducer(
18
+ {
19
+ [updateFeatureLengthsToHide]: (state, payload) => {
20
+ return { ...state, ...payload };
21
+ },
22
+ [toggleFeatureLengthsToHide]: (state) => {
23
+ return { ...state, enabled: !state["enabled"] };
24
+ }
25
+ },
26
+ { enabled: false, min: 0, max: 800 }
27
+ );
@@ -0,0 +1,79 @@
1
+ import createAction from "./utils/createMetaAction";
2
+ import createMergedDefaultStateReducer from "./utils/createMergedDefaultStateReducer";
3
+ import { noop } from "lodash";
4
+
5
+ // ------------------------------------
6
+ // Actions
7
+ // ------------------------------------
8
+ export const toggleFindTool = createAction("TOGGLE_FIND_TOOL", noop); //NOTE!!:: second argument sanitizes actions so no payload is passed!
9
+ export const toggleHighlightAll = createAction("toggleHighlightAll", noop); //NOTE!!:: second argument sanitizes actions so no payload is passed!
10
+ export const toggleIsInline = createAction("toggleIsInline", noop); //NOTE!!:: second argument sanitizes actions so no payload is passed!
11
+ export const updateSearchText = createAction("updateSearchText");
12
+ export const updateAmbiguousOrLiteral = createAction(
13
+ "updateAmbiguousOrLiteral"
14
+ );
15
+ export const updateDnaOrAA = createAction("updateDnaOrAA");
16
+ export const updateMatchNumber = createAction("updateMatchNumber");
17
+
18
+ // ------------------------------------
19
+ // Reducer
20
+ // ------------------------------------
21
+ export default createMergedDefaultStateReducer(
22
+ {
23
+ [toggleFindTool]: state => {
24
+ return {
25
+ ...state,
26
+ isOpen: !state.isOpen
27
+ };
28
+ },
29
+ [toggleHighlightAll]: state => {
30
+ return {
31
+ ...state,
32
+ highlightAll: !state.highlightAll
33
+ };
34
+ },
35
+ [toggleIsInline]: state => {
36
+ localStorage.setItem("veFindBarIsExpanded", state.isInline);
37
+ return {
38
+ ...state,
39
+ isInline: !state.isInline
40
+ };
41
+ },
42
+ [updateAmbiguousOrLiteral]: (state, payload) => {
43
+ return {
44
+ ...state,
45
+ matchNumber: 0,
46
+ ambiguousOrLiteral: payload
47
+ };
48
+ },
49
+ [updateDnaOrAA]: (state, payload) => {
50
+ return {
51
+ ...state,
52
+ matchNumber: 0,
53
+ dnaOrAA: payload
54
+ };
55
+ },
56
+ [updateSearchText]: (state, payload) => {
57
+ return {
58
+ ...state,
59
+ matchNumber: 0,
60
+ searchText: payload
61
+ };
62
+ },
63
+ [updateMatchNumber]: (state, payload) => {
64
+ return {
65
+ ...state,
66
+ matchNumber: payload
67
+ };
68
+ }
69
+ },
70
+ {
71
+ isOpen: false,
72
+ isInline: !localStorage.getItem("veFindBarIsExpanded"),
73
+ searchText: "",
74
+ dnaOrAA: "DNA",
75
+ ambiguousOrLiteral: "LITERAL",
76
+ highlightAll: false,
77
+ matchNumber: 0
78
+ }
79
+ );
@@ -0,0 +1,52 @@
1
+ //./caretPosition.js
2
+ import { createReducer } from "redux-act";
3
+ import createAction from "./utils/createMetaAction";
4
+
5
+ // ------------------------------------
6
+ // Actions
7
+ // ------------------------------------
8
+ export const frameTranslationToggle = createAction("FRAME_TRANSLATION_TOGGLE");
9
+ export const frameTranslationToggleOn = createAction(
10
+ "FRAME_TRANSLATION_TOGGLE_ON"
11
+ );
12
+ export const frameTranslationToggleOff = createAction(
13
+ "FRAME_TRANSLATION_TOGGLE_OFF"
14
+ );
15
+
16
+ // ------------------------------------
17
+ // Reducer
18
+ // ------------------------------------
19
+ export default createReducer(
20
+ {
21
+ [frameTranslationToggle]: (state, payload) => {
22
+ return {
23
+ ...state,
24
+ [payload]: !state[payload]
25
+ };
26
+ },
27
+ [frameTranslationToggleOn]: (state, payload) => {
28
+ return {
29
+ ...state,
30
+ [payload]: true
31
+ };
32
+ },
33
+ [frameTranslationToggleOff]: (state, payload) => {
34
+ return {
35
+ ...state,
36
+ [payload]: false
37
+ };
38
+ }
39
+ },
40
+ {
41
+ "1": false,
42
+ "2": false,
43
+ "3": false,
44
+ "-1": false,
45
+ "-2": false,
46
+ "-3": false
47
+ }
48
+ );
49
+
50
+ export function getMinimumOrfSize(state) {
51
+ return state;
52
+ }
@@ -0,0 +1,24 @@
1
+ //./caretPosition.js
2
+ import { createReducer } from "redux-act";
3
+ import createAction from "./utils/createMetaAction";
4
+
5
+ // ------------------------------------
6
+ // Actions
7
+ // ------------------------------------
8
+ export const hoveredAnnotationUpdate = createAction("HOVEREDANNOTATIONUPDATE");
9
+ export const hoveredAnnotationClear = createAction("HOVEREDANNOTATIONCLEAR");
10
+
11
+ // ------------------------------------
12
+ // Reducer
13
+ // ------------------------------------
14
+ export default createReducer(
15
+ {
16
+ [hoveredAnnotationUpdate]: (state, payload) => {
17
+ return payload || null;
18
+ },
19
+ [hoveredAnnotationClear]: () => {
20
+ return "";
21
+ }
22
+ },
23
+ ""
24
+ );