@teselagen/ove 0.7.28 → 0.7.29

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 (285) hide show
  1. package/index.cjs.js +1055 -996
  2. package/index.es.js +1055 -996
  3. package/index.umd.js +189036 -0
  4. package/ove.css +1 -1
  5. package/package.json +2 -6
  6. package/src/helperComponents/PropertiesDialog/TranslationProperties.js +1 -1
  7. package/AASliver.js +0 -187
  8. package/AddLaddersDialog.js +0 -82
  9. package/AdditionalCutsiteInfoDialog.js +0 -599
  10. package/AlignmentVisibilityTool.js +0 -105
  11. package/AnnotationContainerHolder.js +0 -20
  12. package/AnnotationPositioner.js +0 -27
  13. package/AutoAnnotate.js +0 -501
  14. package/AutoAnnotateBpMatchingDialog.js +0 -208
  15. package/Axis.js +0 -151
  16. package/AxisNumbers.js +0 -35
  17. package/Browser.js +0 -106
  18. package/Caret.js +0 -63
  19. package/Chromatogram.js +0 -293
  20. package/CircularDnaSequence.js +0 -73
  21. package/CircularZoomMinimap.js +0 -16
  22. package/ColorPicker.js +0 -30
  23. package/CommandHotkeyHandler.js +0 -44
  24. package/CreateAnnotationsPage.js +0 -98
  25. package/Cutsite.js +0 -18
  26. package/CutsiteProperties.js +0 -176
  27. package/CutsiteSelectionLayers.js +0 -47
  28. package/Cutsites.js +0 -271
  29. package/DeletionLayer.js +0 -28
  30. package/DropHandler.css +0 -21
  31. package/DropHandler.js +0 -64
  32. package/EditCaretPosition.js +0 -234
  33. package/EditTrackNameDialog.js +0 -30
  34. package/Feature.js +0 -83
  35. package/FeatureProperties.js +0 -6
  36. package/FillWindow.js +0 -47
  37. package/GenbankView.js +0 -74
  38. package/GeneralProperties.js +0 -117
  39. package/GenericAnnotationProperties.js +0 -406
  40. package/GlobalDialog.js +0 -73
  41. package/GlobalDialogUtils.js +0 -110
  42. package/GoToDialog.js +0 -25
  43. package/HorizontalPanelDragHandle.js +0 -35
  44. package/Keyboard.js +0 -85
  45. package/Labels.js +0 -327
  46. package/Ladder.css +0 -20
  47. package/Ladder.js +0 -303
  48. package/MeltingTemp.js +0 -85
  49. package/Menlo.ttf +0 -0
  50. package/Minimap.js +0 -515
  51. package/Mismatches.js +0 -134
  52. package/Monaco.ttf +0 -0
  53. package/MultipleSeqsDetectedOnImportDialog.js +0 -74
  54. package/Orf.js +0 -109
  55. package/OrfProperties.js +0 -117
  56. package/Orfs.js +0 -35
  57. package/PCRTool.js +0 -179
  58. package/PairwiseAlignmentView.js +0 -68
  59. package/Part.js +0 -34
  60. package/PartProperties.js +0 -9
  61. package/PassThrough.js +0 -3
  62. package/PerformantSelectionLayer.js +0 -32
  63. package/PinchHelper.js +0 -24
  64. package/PointedAnnotation.js +0 -347
  65. package/PositionAnnotationOnCircle.js +0 -26
  66. package/Primer.js +0 -41
  67. package/PrimerProperties.js +0 -19
  68. package/ReflexContainer.js +0 -802
  69. package/ReflexElement.js +0 -160
  70. package/ReflexEvents.js +0 -77
  71. package/ReflexSplitter.js +0 -205
  72. package/RenameSequenceDialog.js +0 -7
  73. package/RotateCircularViewSlider.js +0 -93
  74. package/SelectDialog.js +0 -150
  75. package/SequenceName.js +0 -15
  76. package/SimpleCircularOrLinearView.js +0 -381
  77. package/SimpleOligoPreview.js +0 -39
  78. package/SingleEnzymeCutsiteInfo.js +0 -139
  79. package/ToolbarItem.js +0 -192
  80. package/Translation.js +0 -198
  81. package/TranslationProperties.js +0 -149
  82. package/UncontrolledSliderWithPlusMinusBtns.css +0 -5
  83. package/UncontrolledSliderWithPlusMinusBtns.js +0 -134
  84. package/VeTopRightContainer.js +0 -12
  85. package/ZoomCircularViewSlider.js +0 -62
  86. package/ZoomLinearView.js +0 -47
  87. package/addAlignment.js +0 -6
  88. package/addMetaToActionCreators.js +0 -12
  89. package/addWrappedAddons.js +0 -20
  90. package/alignmentTool.js +0 -503
  91. package/alignments.js +0 -379
  92. package/annotationLabelVisibility.js +0 -2
  93. package/annotationSearchSelector.js +0 -24
  94. package/annotationTypes.js +0 -35
  95. package/annotationVisibility.js +0 -196
  96. package/annotationsToSupport.js +0 -104
  97. package/arrayToObjWithIds.js +0 -17
  98. package/arrayUtils.js +0 -19
  99. package/array_move.js +0 -10
  100. package/calculateTickMarkPositionsForGivenRange.js +0 -47
  101. package/caretPosition.js +0 -27
  102. package/cdsFeaturesSelector.js +0 -9
  103. package/charWidth.js +0 -22
  104. package/circular.js +0 -19
  105. package/circularSelector.js +0 -4
  106. package/clickAndDragUtils.js +0 -576
  107. package/coerceInitialValue.js +0 -7
  108. package/combineReducersDontIgnoreKeys.js +0 -12
  109. package/commandUtils.js +0 -20
  110. package/constants.js +0 -2
  111. package/copyOptions.js +0 -34
  112. package/createFragmentLines.js +0 -120
  113. package/createMergedDefaultStateReducer.js +0 -30
  114. package/createMetaAction.js +0 -12
  115. package/createSequenceInputPopup.js +0 -290
  116. package/createSequenceInputPopupStyle.css +0 -87
  117. package/createSimpleDialog.js +0 -89
  118. package/createYourOwnEnzyme.js +0 -39
  119. package/cutsiteLabelColorSelector.js +0 -6
  120. package/cutsiteTool.js +0 -88
  121. package/cutsitesByRangeSelector.js +0 -5
  122. package/cutsitesSelector.js +0 -61
  123. package/darkmode.css +0 -98
  124. package/defaultConfig.js +0 -150
  125. package/deletionLayers.js +0 -36
  126. package/description.js +0 -21
  127. package/digestTool.js +0 -34
  128. package/dnaToColor.js +0 -17
  129. package/downloadTool.js +0 -39
  130. package/draggableClassnames.js +0 -5
  131. package/drawAnnotations.js +0 -440
  132. package/drawDirectedPiePiece.js +0 -142
  133. package/editTool.js +0 -49
  134. package/editorSelector.js +0 -2
  135. package/editorUtils.js +0 -205
  136. package/estimateRowHeight.js +0 -184
  137. package/featureLengthsToHide.js +0 -27
  138. package/featureTool.js +0 -34
  139. package/features.js +0 -19
  140. package/featuresSelector.js +0 -8
  141. package/filteredCutsitesSelector.js +0 -136
  142. package/filteredFeaturesSelector.js +0 -32
  143. package/filteredPartsSelector.js +0 -57
  144. package/filteredPrimersSelector.js +0 -27
  145. package/filteredRestrictionEnzymesSelector.js +0 -1
  146. package/find.png +0 -0
  147. package/findTool.js +0 -79
  148. package/findToolConstants.js +0 -1
  149. package/frameTranslations.js +0 -52
  150. package/fullscreen.png +0 -0
  151. package/getAdditionalEnzymesSelector.js +0 -46
  152. package/getAngleForPositionMidpoint.js +0 -3
  153. package/getAnnotationClassnames.js +0 -12
  154. package/getAnnotationNameAndStartStopString.js +0 -61
  155. package/getBpsPerRow.js +0 -19
  156. package/getCutsiteLabelHeights.js +0 -56
  157. package/getGapMap.js +0 -12
  158. package/getGaps.js +0 -27
  159. package/getInternalLabel.js +0 -40
  160. package/getOveHotkeyDefs.js +0 -12
  161. package/getPairwiseOverviewLinearViewOptions.js +0 -38
  162. package/getRangeAnglesSpecial.js +0 -12
  163. package/getStructuredBases.js +0 -97
  164. package/getTrackFromEvent.js +0 -25
  165. package/getVisibleStartEnd.js +0 -7
  166. package/getXStartAndWidthFromNonCircularRange.js +0 -12
  167. package/getXStartAndWidthOfRangeWrtRow.js +0 -27
  168. package/getXStartAndWidthOfRowAnnotation.js +0 -19
  169. package/getYOffset.js +0 -15
  170. package/hoveredAnnotation.js +0 -24
  171. package/importTool.js +0 -27
  172. package/index.js +0 -71
  173. package/inlineFindTool.js +0 -38
  174. package/isElementInViewport.js +0 -29
  175. package/isEnzymeFilterAndSelector.js +0 -1
  176. package/isTargetWithinEl.js +0 -6
  177. package/labelLineIntensity.js +0 -25
  178. package/labelSize.js +0 -23
  179. package/ladderDefaults.js +0 -25
  180. package/lastSavedId.js +0 -20
  181. package/lineageLines.js +0 -11
  182. package/linear.png +0 -0
  183. package/makeStore.js +0 -34
  184. package/massageTickSpacing.js +0 -19
  185. package/materiallyAvailable.js +0 -19
  186. package/middleware.js +0 -112
  187. package/minimumOrfSize.js +0 -24
  188. package/minimumOrfSizeSelector.js +0 -2
  189. package/modalActions.js +0 -3
  190. package/moveCaret.js +0 -58
  191. package/name.js +0 -19
  192. package/normalizeAngle.js +0 -3
  193. package/normalizeAngleRange.js +0 -9
  194. package/oligoTool.js +0 -30
  195. package/onlyUpdateForKeysDeep.js +0 -31
  196. package/orfFrameToColorMap.js +0 -10
  197. package/orfTool.js +0 -136
  198. package/orfsSelector.js +0 -15
  199. package/panelsShown.js +0 -294
  200. package/partLengthsToHide.js +0 -23
  201. package/partOverhangs.js +0 -6
  202. package/partTagSearch.js +0 -69
  203. package/partTool.js +0 -45
  204. package/parts.js +0 -19
  205. package/partsSelector.js +0 -8
  206. package/pie.png +0 -0
  207. package/polarToSpecialCartesian.js +0 -7
  208. package/positionCutsites.js +0 -6
  209. package/prepareRowData.js +0 -64
  210. package/primerBases.js +0 -221
  211. package/primerLengthsToHide.js +0 -27
  212. package/primers.js +0 -19
  213. package/primersSelector.js +0 -8
  214. package/print.png +0 -0
  215. package/printTool.js +0 -31
  216. package/propertiesTool.js +0 -40
  217. package/proteinUtils.js +0 -3
  218. package/pureNoFunc.js +0 -18
  219. package/readOnly.js +0 -25
  220. package/redoTool.js +0 -30
  221. package/reflex-styles.css +0 -128
  222. package/reflex-styles.css.map +0 -9
  223. package/relaxLabelAngles.js +0 -157
  224. package/relaxLabels_DEPRECATED.js +0 -105
  225. package/replacementLayers.js +0 -36
  226. package/restrictionEnzymes.js +0 -52
  227. package/restrictionEnzymesSelector.js +0 -34
  228. package/rowviewContants.js +0 -3
  229. package/ruler.css +0 -89
  230. package/save.png +0 -0
  231. package/saveTool.js +0 -44
  232. package/searchLayersSelector.js +0 -71
  233. package/selectedAnnotations.js +0 -89
  234. package/selectedAnnotationsSelector.js +0 -1
  235. package/selectedCutsitesSelector.js +0 -21
  236. package/selectedPartTags.js +0 -21
  237. package/selectionLayer.js +0 -25
  238. package/sequence.js +0 -12
  239. package/sequenceDataHistory.js +0 -43
  240. package/sequenceDataSelector.js +0 -2
  241. package/sequenceLengthSelector.js +0 -5
  242. package/sequenceSelector.js +0 -4
  243. package/sharedActionCreators.js +0 -0
  244. package/shouldFlipText.js +0 -4
  245. package/shouldRerender.js +0 -27
  246. package/showFileDialog.js +0 -25
  247. package/showGCContent.js +0 -23
  248. package/show_cut_sites.png +0 -0
  249. package/show_features.png +0 -0
  250. package/show_orfs.png +0 -0
  251. package/show_primers.png +0 -0
  252. package/simpleDialog.css +0 -13
  253. package/specialCutsiteFilterOptions.js +0 -22
  254. package/style.css +0 -10
  255. package/tagsToBoldSelector.js +0 -2
  256. package/toggle_views.svg +0 -1
  257. package/toolBar.js +0 -23
  258. package/translationSearchMatchesSelector.js +0 -14
  259. package/translations.js +0 -20
  260. package/translationsRawSelector.js +0 -8
  261. package/translationsSelector.js +0 -137
  262. package/typeField.js +0 -24
  263. package/undoTool.js +0 -30
  264. package/updateEditor.js +0 -200
  265. package/updateLabelsForInViewFeatures.js +0 -55
  266. package/updateLabelsForInViewFeaturesCircView.js +0 -41
  267. package/updateTrackHelper.js +0 -58
  268. package/uppercaseSequenceMapFont.js +0 -25
  269. package/upsertDeleteActionGenerator.js +0 -31
  270. package/useAAColorType.js +0 -8
  271. package/useAdditionalOrfStartCodons.js +0 -24
  272. package/useAnnotationLimits.js +0 -42
  273. package/useChromatogramPrefs.js +0 -31
  274. package/useFormValue.js +0 -7
  275. package/useLadders.js +0 -6
  276. package/useMeltingTemp.js +0 -7
  277. package/useTmType.js +0 -10
  278. package/userDefinedHandlersAndOpts.js +0 -61
  279. package/utils.js +0 -37
  280. package/versionHistory.js +0 -26
  281. package/versionHistoryTool.js +0 -21
  282. package/viewSubmenu.js +0 -479
  283. package/visibilityTool.js +0 -39
  284. package/withHover.js +0 -113
  285. package/withRestrictionEnzymes.js +0 -15
@@ -1,347 +0,0 @@
1
- import Color from "color";
2
- import classnames from "classnames";
3
- import withHover from "../../helperComponents/withHover";
4
- import getAnnotationNameAndStartStopString from "../../utils/getAnnotationNameAndStartStopString";
5
-
6
- import React, { useState } from "react";
7
- import { doesLabelFitInAnnotation } from "../utils";
8
- import { noop } from "lodash-es";
9
- import getAnnotationClassnames from "../../utils/getAnnotationClassnames";
10
- import { getStripedPattern } from "../../utils/editorUtils";
11
- import { ANNOTATION_LABEL_FONT_WIDTH } from "../constants";
12
- import { partOverhangs } from "../partOverhangs";
13
- import { Tooltip } from "@blueprintjs/core";
14
-
15
- function PointedAnnotation(props) {
16
- const {
17
- className,
18
- widthInBps,
19
- charWidth,
20
- height,
21
- rangeType,
22
- forward,
23
- arrowheadType,
24
- name: _name = "",
25
- customName,
26
- type,
27
- readOnly,
28
- isStriped,
29
- onMouseLeave,
30
- onMouseOver,
31
- isProtein,
32
- id,
33
- extraHeight,
34
- flipAnnotation,
35
- insertPaths,
36
- insertTicks,
37
- hideName,
38
- color = "orange",
39
- fill,
40
- stroke,
41
- opacity,
42
- onClick = noop,
43
- onDoubleClick = noop,
44
- textColor,
45
- onRightClick = noop,
46
- gapsInside,
47
- gapsBefore,
48
- annotation,
49
- truncateLabelsThatDoNotFit,
50
- onlyShowLabelsThatDoNotFit
51
- } = props;
52
-
53
- const name = customName || _name;
54
- let pointiness = props.pointiness || 4;
55
- let arrowPointiness = props.arrowPointiness || 1;
56
- const [isOpen, setOpen] = useState(false);
57
- const [isOpen2, setOpen2] = useState(false);
58
- if (arrowheadType === "NONE") {
59
- pointiness = 0;
60
- arrowPointiness = 0;
61
- }
62
- const _rangeType = annotation.rangeTypeOverride || rangeType;
63
-
64
- const classNames = getAnnotationClassnames(annotation, {
65
- isProtein,
66
- type,
67
- viewName: "RowView"
68
- });
69
- let partOverhangStart;
70
- let partOverhangEnd;
71
-
72
- partOverhangs.forEach(h => {
73
- const overhangBps = props[h];
74
- if (overhangBps) {
75
- if (h.includes("fivePrime")) {
76
- partOverhangStart = overhangBps;
77
- if (h.includes("Underhang")) {
78
- partOverhangStart += " Underhang";
79
- } else if (h.includes("Overhang")) {
80
- partOverhangStart += " Overhang";
81
- }
82
- } else {
83
- partOverhangEnd = overhangBps;
84
- if (h.includes("Underhang")) {
85
- partOverhangEnd += " Underhang";
86
- } else if (h.includes("Overhang")) {
87
- partOverhangEnd += " Overhang";
88
- }
89
- }
90
- }
91
- });
92
-
93
- const width = (widthInBps + gapsInside) * charWidth;
94
- let charWN = charWidth; //charWN is normalized
95
- if (charWidth < 15) {
96
- //allow the arrow width to adapt
97
- if (width > 15) {
98
- charWN = 15; //tnr: replace 15 here with a non-hardcoded number..
99
- } else {
100
- charWN = width;
101
- }
102
- }
103
- charWN = arrowPointiness * charWN;
104
-
105
- const widthMinusOne = width - charWN;
106
- let path;
107
- let hasAPoint = false;
108
- const endLine = annotation.overlapsSelf
109
- ? `L 0,${height / 2}
110
- L -10,${height / 2}
111
- L 0,${height / 2} `
112
- : "";
113
- const bottomLine = `${insertTicks || ""} L 0,${height}`;
114
- const startLines = `M 0,0
115
- ${insertPaths || ""}`;
116
- const arrowLine = annotation.overlapsSelf
117
- ? `L ${width + 10},${height / 2}
118
- L ${width},${height / 2} `
119
- : "";
120
-
121
- // starting from the top left of the annotation
122
- if (_rangeType === "middle") {
123
- //draw a rectangle
124
- path = `
125
- ${startLines}
126
- L ${width - pointiness / 2},0
127
- Q ${width + pointiness / 2},${height / 2} ${
128
- width - pointiness / 2
129
- },${height}
130
- ${bottomLine}
131
- Q ${pointiness},${height / 2} ${0},${0}
132
- z`;
133
- } else if (_rangeType === "start") {
134
- path = `
135
- ${startLines}
136
- L ${width - pointiness / 2},0
137
-
138
- Q ${width + pointiness / 2},${height / 2} ${
139
- width - pointiness / 2
140
- },${height}
141
-
142
- ${bottomLine}
143
- ${endLine}
144
- z`;
145
- } else if (_rangeType === "beginningAndEnd") {
146
- hasAPoint = true;
147
- path = `
148
- ${startLines}
149
- L ${widthMinusOne},0
150
- L ${width},${height / 2}
151
- ${arrowLine}
152
- L ${widthMinusOne},${height}
153
- ${bottomLine}
154
- ${endLine}
155
- z`;
156
- } else {
157
- hasAPoint = true;
158
- path = `
159
- ${startLines}
160
- L ${widthMinusOne},0
161
- L ${width},${height / 2}
162
- ${arrowLine}
163
- L ${widthMinusOne},${height}
164
- ${bottomLine}
165
- Q ${pointiness},${height / 2} ${0},${0}
166
- z`;
167
- }
168
- let nameToDisplay = name;
169
- let textOffset =
170
- width / 2 -
171
- (name.length * 5) / 2 -
172
- (hasAPoint ? (pointiness / 2) * (forward ? 1 : -1) : 0);
173
- if (
174
- !doesLabelFitInAnnotation(name, { width }, charWidth) ||
175
- (!onlyShowLabelsThatDoNotFit &&
176
- ["parts", "features"].includes(annotation.annotationTypePlural))
177
- ) {
178
- if (truncateLabelsThatDoNotFit) {
179
- const fractionToDisplay =
180
- width / (name.length * ANNOTATION_LABEL_FONT_WIDTH);
181
- const numLetters = Math.floor(fractionToDisplay * name.length);
182
- nameToDisplay = name.slice(0, numLetters);
183
- if (nameToDisplay.length > 3) {
184
- if (nameToDisplay.length !== name.length) {
185
- nameToDisplay += "..";
186
- }
187
-
188
- textOffset =
189
- width / 2 -
190
- (nameToDisplay.length * 5) / 2 -
191
- (hasAPoint ? (pointiness / 2) * (forward ? 1 : -1) : 0);
192
- } else {
193
- textOffset = 0;
194
- nameToDisplay = "";
195
- }
196
- } else {
197
- textOffset = 0;
198
- nameToDisplay = "";
199
- }
200
- }
201
- let _textColor = textColor;
202
- if (!textColor) {
203
- try {
204
- _textColor = Color(color).isDark() ? "white" : "black";
205
- } catch (error) {
206
- _textColor = "white";
207
- }
208
- }
209
-
210
- return (
211
- <g
212
- {...{ onMouseLeave, onMouseOver }}
213
- className={` clickable ${className} ${classNames} ${
214
- forward ? "ann-forward" : `ann-reverse`
215
- }`}
216
- data-id={id}
217
- onClick={function (event) {
218
- onClick({ annotation, event, gapsBefore, gapsInside });
219
- }}
220
- onDoubleClick={function (event) {
221
- onDoubleClick &&
222
- onDoubleClick({ annotation, event, gapsBefore, gapsInside });
223
- }}
224
- onContextMenu={function (event) {
225
- onRightClick({ annotation, event, gapsBefore, gapsInside });
226
- }}
227
- >
228
- {!(isOpen || isOpen2) && (
229
- <title>
230
- {getAnnotationNameAndStartStopString(annotation, {
231
- isProtein,
232
- readOnly
233
- })}
234
- </title>
235
- )}
236
- {isStriped && getStripedPattern({ color, id })}
237
-
238
- <path
239
- strokeWidth="1"
240
- stroke={stroke || "black"}
241
- opacity={opacity}
242
- fill={isStriped ? `url(#diagonalHatch-${id})` : fill || color}
243
- transform={
244
- forward
245
- ? null
246
- : "translate(" +
247
- width +
248
- `,${flipAnnotation ? -extraHeight + 10 : 0}) scale(-1,${
249
- flipAnnotation ? "-" : ""
250
- }1) `
251
- }
252
- d={path}
253
- />
254
- {partOverhangStart &&
255
- (rangeType === (forward ? "start" : "end") ||
256
- rangeType === "beginningAndEnd") && (
257
- <Tooltip
258
- onInteraction={isOpen => {
259
- setOpen(isOpen);
260
- }}
261
- isOpen={isOpen}
262
- wrapperTagName="g"
263
- targetTagName="g"
264
- content={partOverhangStart}
265
- >
266
- <circle
267
- className="partWithOverhangsIndicator"
268
- style={{ fillOpacity: 1 }}
269
- fill="#ac68cc"
270
- cx={(forward ? -7 : 0) + 15}
271
- cy={7}
272
- r={4}
273
- ></circle>
274
- </Tooltip>
275
- )}
276
- {partOverhangEnd &&
277
- (rangeType === (forward ? "end" : "start") ||
278
- rangeType === "beginningAndEnd") && (
279
- <Tooltip
280
- onInteraction={isOpen => {
281
- setOpen2(isOpen);
282
- }}
283
- isOpen={isOpen2}
284
- wrapperTagName="g"
285
- targetTagName="g"
286
- content={partOverhangEnd}
287
- >
288
- <circle
289
- className="partWithOverhangsIndicator"
290
- style={{ fillOpacity: 1 }}
291
- fill="#ac68cc"
292
- cx={(forward ? -7 : 0) + width - 10}
293
- cy={7}
294
- r={4}
295
- ></circle>
296
- </Tooltip>
297
- )}
298
- {!hideName && nameToDisplay && (
299
- <text
300
- className={classnames(
301
- "veLabelText ve-monospace-font",
302
- annotation.labelClassName
303
- )}
304
- style={{
305
- // fontSize: ".8em",
306
- fill: _textColor
307
- }}
308
- transform={`translate(${textOffset},${height - 2})`}
309
- >
310
- {nameToDisplay}
311
- </text>
312
- )}
313
- </g>
314
- );
315
- }
316
-
317
- export default withHover(PointedAnnotation);
318
-
319
- // {/* <Tooltip
320
- // wrapperTagName="g"
321
- // targetTagName="g"
322
- // content={"asdfasdfasdfasfdp"}
323
- // >
324
- // <rect
325
- // style={{ fillOpacity: 1 }}
326
- // stroke="#ac68cc"
327
- // fill="none"
328
- // x={-10}
329
- // width={10}
330
- // height={5}
331
- // ></rect>
332
- // </Tooltip>
333
- // <Tooltip
334
- // wrapperTagName="g"
335
- // targetTagName="g"
336
- // content={"asdfasdfasdfasfdp"}
337
- // >
338
- // <rect
339
- // style={{ fillOpacity: 1 }}
340
- // stroke="#ac68cc"
341
- // fill="none"
342
- // x={ width + 2 }
343
- // y={7}
344
- // width={10}
345
- // height={5}
346
- // ></rect>
347
- // </Tooltip> */}
@@ -1,26 +0,0 @@
1
- import React from "react";
2
- export default function PositionAnnotationOnCircle({
3
- children,
4
- height = 0,
5
- sAngle = 0,
6
- eAngle = 0,
7
- forward = true,
8
- ...rest
9
- }) {
10
- const sAngleDegs = (sAngle * 360) / Math.PI / 2;
11
- const eAngleDegs = (eAngle * 360) / Math.PI / 2;
12
- let transform;
13
- let revTransform;
14
- if (forward) {
15
- transform = `translate(0,${-height}) rotate(${sAngleDegs},0,${height})`;
16
- } else {
17
- transform = `scale(-1,1) translate(0,${-height}) rotate(${-eAngleDegs},0,${height}) `;
18
- revTransform = ` rotate(${eAngleDegs},0,${height}) scale(-1,1) rotate(${sAngleDegs}, 0,${height})`;
19
- }
20
- const props = { transform, ...rest };
21
- /* eslint-disable */
22
- if (!children) return { transform, revTransform };
23
- /* eslint-enable */
24
-
25
- return React.cloneElement(children, props);
26
- }
package/Primer.js DELETED
@@ -1,41 +0,0 @@
1
- import React from "react";
2
- import { getStripedPattern } from "../utils/editorUtils";
3
- import drawDirectedPiePiece from "./drawDirectedPiePiece";
4
- import { getInternalLabel } from "./getInternalLabel";
5
-
6
- export default function CircularPrimer(props) {
7
- const {
8
- color = "orange",
9
- radius,
10
- arrowheadLength = 0.5,
11
- annotationHeight,
12
- totalAngle,
13
- id,
14
- labelNeedsFlip,
15
- ellipsizedName
16
- } = props;
17
- const [path, textPath] = drawDirectedPiePiece({
18
- radius,
19
- annotationHeight,
20
- totalAngle,
21
- arrowheadLength,
22
- tailThickness: 1, //feature specific
23
- returnTextPath: true,
24
- hasLabel: ellipsizedName,
25
- labelNeedsFlip
26
- });
27
- return (
28
- <React.Fragment>
29
- {getStripedPattern({ color, id })}
30
- <path
31
- className="vePrimer veCircularViewPrimer"
32
- id={id}
33
- strokeWidth=".5"
34
- stroke="black"
35
- fill={`url(#diagonalHatch-${id})`}
36
- d={path.print()}
37
- />
38
- {getInternalLabel({ ...props, colorToUse: color, textPath })}
39
- </React.Fragment>
40
- );
41
- }
@@ -1,19 +0,0 @@
1
- import { Button } from "@blueprintjs/core";
2
- import React from "react";
3
- import { primersSubmenu } from "../../MenuBar/viewSubmenu";
4
-
5
- import genericAnnotationProperties from "./GenericAnnotationProperties";
6
- export default genericAnnotationProperties({
7
- annotationType: "primer",
8
- noColor: true,
9
- visSubmenu: primersSubmenu,
10
- noType: true,
11
- withBases: true,
12
- additionalFooterEls: props => {
13
- return (
14
- <Button onClick={props.createNewPCR} intent="success">
15
- Simulate PCR
16
- </Button>
17
- );
18
- }
19
- });