@rnacanvas/draw.bases.bonds 12.3.0 → 13.0.0

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/README.md CHANGED
@@ -14,3 +14,50 @@ All exports of this package can be accessed as named imports.
14
14
  // an example import
15
15
  import { StraightBond } from '@rnacanvas/draw.bases.bonds';
16
16
  ```
17
+
18
+ ## `class StraightBond`
19
+
20
+ A bond composed of an SVG line element
21
+ connecting two bases
22
+ (e.g., a primary or secondary bond).
23
+
24
+ ### `addEventListener()`
25
+
26
+ Can be used to listen for any changes to a straight bond.
27
+
28
+ ```javascript
29
+ var base1 = Nucleobase.create('G');
30
+ var base2 = Nucleobase.create('C');
31
+
32
+ var sb = StraightBond.between(base1, base2);
33
+
34
+ // any function
35
+ var listener = () => {};
36
+
37
+ sb.addEventListener('change', listener);
38
+
39
+ sb.basePadding1 += 10; // listener called
40
+ sb.setAttribute('stroke', 'blue'); // listener called
41
+
42
+ // even direct DOM node manipulations are listened for
43
+ sb.domNode.setAttribute('stroke-width', '5'); // listener called
44
+ ```
45
+
46
+ ### `removeEventListener()`
47
+
48
+ Allows event listeners to be removed.
49
+
50
+ ```javascript
51
+ var base1 = Nucleobase.create('A');
52
+ var base2 = Nucleobase.create('U');
53
+
54
+ var sb = StraightBond.between(base1, base2);
55
+
56
+ var listener = () => {};
57
+
58
+ sb.addEventListener('change', listener);
59
+ sb.basePadding1 += 10; // listener called
60
+
61
+ sb.removeEventListener('change', listener);
62
+ sb.basePadding1 += 10; // listener not called
63
+ ```