TeselaGen / openVectorEditor

DEPRECATED - Teselagen's Open Source Vector/Plasmid Editor Component
https://teselagen.github.io/tg-oss/ove/#/Editor
MIT License
200 stars 72 forks source link

Custom extra props getter for annotation drawing #872

Closed AndresPrez closed 1 year ago

AndresPrez commented 1 year ago

Adds ability to pass a new extraAnnotationProps prop to the Editor component, so that it gets to the RowItem. The idea behind this mapper prop is to be able to customize extra props for the annotation drawing.

This was inspired by the need to make part type annotations draw the overhang and underhang purple dots on the part's annotation like in the screenshot below and a custom name for the annotation. OVE expects some special overhang props to be part of the annotation in order to so.

So this new extraAnnotationProps is a mapper with keys being the annotation type (part) in this case, and the values being a function that receives the original annotation and returns the extra props needed.

NOTE: from inspecting the library, I found this method to be decent, since it's specific to an annotation type and adds the ability to decouple from OVE's overhang props (fivePrimeOverhang, fivePrimeUnderhang, etc).

image

codecov-commenter commented 1 year ago

Codecov Report

Merging #872 (cb75aac) into master (ee5b144) will decrease coverage by 0.12%. The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master     #872      +/-   ##
==========================================
- Coverage   75.19%   75.07%   -0.13%     
==========================================
  Files         290      290              
  Lines       11176    11180       +4     
  Branches     4030     4032       +2     
==========================================
- Hits         8404     8393      -11     
- Misses       2435     2444       +9     
- Partials      337      343       +6     
Impacted Files Coverage Δ
src/DigestTool/DigestTool.js 77.77% <ø> (ø)
src/Editor/index.js 78.04% <ø> (ø)
src/RowItem/index.js 77.59% <75.00%> (-0.06%) :arrow_down:
...rc/RowItem/StackedAnnotations/PointedAnnotation.js 92.43% <100.00%> (ø)
src/withEditorInteractions/index.js 77.95% <0.00%> (-3.19%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

cypress[bot] commented 1 year ago



Test summary

258 5 1 0


Run details

Project openVectorEditor
Status Failed
Commit b563521236 ℹ️
Started Dec 27, 2022 10:41 PM
Ended Dec 27, 2022 11:12 PM
Duration 30:56 💡
OS Linux Ubuntu -
Browser Electron 106

View run in Cypress Dashboard ➡️


Failures

editor.spec.js Failed
1 editor > should handle clickOverrides correctly if they are passed
proteinEditor.spec.js Failed
1 proteinEditor > feature/part add/edit should be AA indexed
dialogs.spec.js Failed
1 dialogs > part dialog should -handle changing strand direction -todo handle notes add
onSavePng.spec.js Failed
1 onSavePng > generate a png onSave if pngGenerate option is set to true
chromatogram.spec.js Failed
1 chromatogram > the chromatogram visibility toggle shouldn't show up unless chromatogramData is present

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

tnrich commented 1 year ago

@AndresPrez looks good but I would say that we should probably add a test or it as well. Merging it now though so you can use it immediately

AndresPerezTesela commented 1 year ago

Yes, Ill take a look at the failing tests and make a new one