plotboilerplate 1.15.0 → 1.16.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.
Files changed (153) hide show
  1. package/changelog.md +24 -0
  2. package/dist/index.esm.js +574 -428
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +574 -428
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +1 -1
  11. package/src/cjs/BezierPath.d.ts +33 -1
  12. package/src/cjs/BezierPath.js +80 -13
  13. package/src/cjs/BezierPath.js.map +1 -1
  14. package/src/cjs/Circle.d.ts +25 -10
  15. package/src/cjs/Circle.js +38 -33
  16. package/src/cjs/Circle.js.map +1 -1
  17. package/src/cjs/CircleSector.d.ts +27 -13
  18. package/src/cjs/CircleSector.js +38 -23
  19. package/src/cjs/CircleSector.js.map +1 -1
  20. package/src/cjs/CubicBezierCurve.d.ts +17 -1
  21. package/src/cjs/CubicBezierCurve.js +78 -79
  22. package/src/cjs/CubicBezierCurve.js.map +1 -1
  23. package/src/cjs/KeyHandler.d.ts +10 -3
  24. package/src/cjs/KeyHandler.js +28 -23
  25. package/src/cjs/KeyHandler.js.map +1 -1
  26. package/src/cjs/Line.d.ts +2 -1
  27. package/src/cjs/Line.js +19 -18
  28. package/src/cjs/Line.js.map +1 -1
  29. package/src/cjs/MouseHandler.js +43 -53
  30. package/src/cjs/MouseHandler.js.map +1 -1
  31. package/src/cjs/PBImage.d.ts +16 -1
  32. package/src/cjs/PBImage.js +13 -3
  33. package/src/cjs/PBImage.js.map +1 -1
  34. package/src/cjs/PBText.d.ts +15 -1
  35. package/src/cjs/PBText.js +11 -1
  36. package/src/cjs/PBText.js.map +1 -1
  37. package/src/cjs/PlotBoilerplate.js +1 -1
  38. package/src/cjs/PlotBoilerplate.js.map +1 -1
  39. package/src/cjs/Polygon.d.ts +16 -1
  40. package/src/cjs/Polygon.js +37 -23
  41. package/src/cjs/Polygon.js.map +1 -1
  42. package/src/cjs/Triangle.d.ts +16 -1
  43. package/src/cjs/Triangle.js +50 -54
  44. package/src/cjs/Triangle.js.map +1 -1
  45. package/src/cjs/VEllipse.d.ts +16 -1
  46. package/src/cjs/VEllipse.js +25 -12
  47. package/src/cjs/VEllipse.js.map +1 -1
  48. package/src/cjs/VEllipseSector.d.ts +15 -1
  49. package/src/cjs/VEllipseSector.js +11 -1
  50. package/src/cjs/VEllipseSector.js.map +1 -1
  51. package/src/cjs/Vector.d.ts +3 -1
  52. package/src/cjs/Vector.js +32 -36
  53. package/src/cjs/Vector.js.map +1 -1
  54. package/src/cjs/VertTuple.d.ts +15 -1
  55. package/src/cjs/VertTuple.js +14 -19
  56. package/src/cjs/VertTuple.js.map +1 -1
  57. package/src/cjs/Vertex.d.ts +25 -1
  58. package/src/cjs/Vertex.js +38 -11
  59. package/src/cjs/Vertex.js.map +1 -1
  60. package/src/cjs/VertexListeners.d.ts +12 -8
  61. package/src/cjs/VertexListeners.js +18 -25
  62. package/src/cjs/VertexListeners.js.map +1 -1
  63. package/src/cjs/utils/creategui.js +1 -1
  64. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  65. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +55 -28
  66. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  67. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  68. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  69. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  70. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  71. package/src/cjs/utils/io/FileDrop.js +142 -0
  72. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  73. package/src/esm/BezierPath.d.ts +33 -1
  74. package/src/esm/BezierPath.js +80 -13
  75. package/src/esm/BezierPath.js.map +1 -1
  76. package/src/esm/Circle.d.ts +25 -10
  77. package/src/esm/Circle.js +38 -33
  78. package/src/esm/Circle.js.map +1 -1
  79. package/src/esm/CircleSector.d.ts +27 -13
  80. package/src/esm/CircleSector.js +38 -23
  81. package/src/esm/CircleSector.js.map +1 -1
  82. package/src/esm/CubicBezierCurve.d.ts +17 -1
  83. package/src/esm/CubicBezierCurve.js +78 -79
  84. package/src/esm/CubicBezierCurve.js.map +1 -1
  85. package/src/esm/KeyHandler.d.ts +10 -3
  86. package/src/esm/KeyHandler.js +28 -23
  87. package/src/esm/KeyHandler.js.map +1 -1
  88. package/src/esm/Line.d.ts +2 -1
  89. package/src/esm/Line.js +19 -18
  90. package/src/esm/Line.js.map +1 -1
  91. package/src/esm/MouseHandler.js +43 -53
  92. package/src/esm/MouseHandler.js.map +1 -1
  93. package/src/esm/PBImage.d.ts +16 -1
  94. package/src/esm/PBImage.js +13 -3
  95. package/src/esm/PBImage.js.map +1 -1
  96. package/src/esm/PBText.d.ts +15 -1
  97. package/src/esm/PBText.js +11 -1
  98. package/src/esm/PBText.js.map +1 -1
  99. package/src/esm/PlotBoilerplate.js +1 -1
  100. package/src/esm/PlotBoilerplate.js.map +1 -1
  101. package/src/esm/Polygon.d.ts +16 -1
  102. package/src/esm/Polygon.js +37 -23
  103. package/src/esm/Polygon.js.map +1 -1
  104. package/src/esm/Triangle.d.ts +16 -1
  105. package/src/esm/Triangle.js +50 -54
  106. package/src/esm/Triangle.js.map +1 -1
  107. package/src/esm/VEllipse.d.ts +16 -1
  108. package/src/esm/VEllipse.js +25 -12
  109. package/src/esm/VEllipse.js.map +1 -1
  110. package/src/esm/VEllipseSector.d.ts +15 -1
  111. package/src/esm/VEllipseSector.js +11 -1
  112. package/src/esm/VEllipseSector.js.map +1 -1
  113. package/src/esm/Vector.d.ts +3 -1
  114. package/src/esm/Vector.js +32 -36
  115. package/src/esm/Vector.js.map +1 -1
  116. package/src/esm/VertTuple.d.ts +15 -1
  117. package/src/esm/VertTuple.js +14 -19
  118. package/src/esm/VertTuple.js.map +1 -1
  119. package/src/esm/Vertex.d.ts +25 -1
  120. package/src/esm/Vertex.js +38 -11
  121. package/src/esm/Vertex.js.map +1 -1
  122. package/src/esm/VertexListeners.d.ts +12 -8
  123. package/src/esm/VertexListeners.js +18 -25
  124. package/src/esm/VertexListeners.js.map +1 -1
  125. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  126. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +54 -28
  127. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  128. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  129. package/src/esm/utils/io/DndFileHandler.js +106 -0
  130. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  131. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  132. package/src/esm/utils/io/FileDrop.js +136 -0
  133. package/src/esm/utils/io/FileDrop.js.map +1 -0
  134. package/src/ts/BezierPath.ts +96 -11
  135. package/src/ts/Circle.ts +213 -200
  136. package/src/ts/CircleSector.ts +171 -141
  137. package/src/ts/CubicBezierCurve.ts +777 -810
  138. package/src/ts/KeyHandler.ts +221 -212
  139. package/src/ts/Line.ts +77 -80
  140. package/src/ts/MouseHandler.ts +356 -368
  141. package/src/ts/PBImage.ts +81 -68
  142. package/src/ts/PBText.ts +20 -1
  143. package/src/ts/PlotBoilerplate.ts +1 -1
  144. package/src/ts/Polygon.ts +48 -22
  145. package/src/ts/Triangle.ts +484 -489
  146. package/src/ts/VEllipse.ts +36 -11
  147. package/src/ts/VEllipseSector.ts +20 -1
  148. package/src/ts/Vector.ts +164 -160
  149. package/src/ts/VertTuple.ts +333 -338
  150. package/src/ts/Vertex.ts +52 -10
  151. package/src/ts/VertexListeners.ts +248 -266
  152. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -30
  153. package/src/ts/utils/io/FileDrop.ts +178 -0
@@ -32,7 +32,6 @@ export class VertexListeners {
32
32
  this.dragEnd = [];
33
33
  this.vertex = vertex;
34
34
  }
35
- ;
36
35
  /**
37
36
  * Add a click listener.
38
37
  *
@@ -46,7 +45,6 @@ export class VertexListeners {
46
45
  VertexListeners._addListener(this.click, listener);
47
46
  return this;
48
47
  }
49
- ;
50
48
  /**
51
49
  * The click listener is a function with a single drag event param.
52
50
  * @callback VertexListeners~clickListener
@@ -65,7 +63,6 @@ export class VertexListeners {
65
63
  this.click = VertexListeners._removeListener(this.click, listener);
66
64
  return this;
67
65
  }
68
- ;
69
66
  /**
70
67
  * The click listener is a function with a single drag event param.
71
68
  * @callback VertexListeners~clickListener
@@ -84,7 +81,6 @@ export class VertexListeners {
84
81
  VertexListeners._addListener(this.drag, listener);
85
82
  return this;
86
83
  }
87
- ;
88
84
  /**
89
85
  * The drag listener is a function with a single drag event param.
90
86
  * @callback VertexListeners~dragListener
@@ -103,7 +99,6 @@ export class VertexListeners {
103
99
  this.drag = VertexListeners._removeListener(this.drag, listener);
104
100
  return this;
105
101
  }
106
- ;
107
102
  /**
108
103
  * Add a dragStart listener.
109
104
  *
@@ -117,7 +112,6 @@ export class VertexListeners {
117
112
  VertexListeners._addListener(this.dragStart, listener);
118
113
  return this;
119
114
  }
120
- ;
121
115
  /**
122
116
  * The drag-start listener is a function with a single drag event param.
123
117
  * @callback VertexListeners~dragStartListener
@@ -136,7 +130,6 @@ export class VertexListeners {
136
130
  this.dragStart = VertexListeners._removeListener(this.dragStart, listener);
137
131
  return this;
138
132
  }
139
- ;
140
133
  /**
141
134
  * Add a dragEnd listener.
142
135
  *
@@ -151,27 +144,25 @@ export class VertexListeners {
151
144
  VertexListeners._addListener(this.dragEnd, listener);
152
145
  return this;
153
146
  }
154
- ;
155
147
  /**
156
148
  * The drag-end listener is a function with a single drag event param.
157
149
  * @callback VertexListeners~dragEndListener
158
150
  * @param {Event} e - The (extended) drag event.
159
151
  */
160
152
  /**
161
- * Remove a drag listener.
162
- *
163
- * @method removeDragEndListener
164
- * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
165
- * @return {VertexListeners} this (for chaining)
166
- * @instance
167
- * @memberof VertexListeners
168
- **/
153
+ * Remove a drag listener.
154
+ *
155
+ * @method removeDragEndListener
156
+ * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
157
+ * @return {VertexListeners} this (for chaining)
158
+ * @instance
159
+ * @memberof VertexListeners
160
+ **/
169
161
  removeDragEndListener(listener) {
170
162
  // this.drag.push( listener );
171
163
  this.dragEnd = VertexListeners._removeListener(this.dragEnd, listener);
172
164
  return this;
173
165
  }
174
- ;
175
166
  /**
176
167
  * Fire a click event with the given event instance to all
177
168
  * installed click listeners.
@@ -185,7 +176,6 @@ export class VertexListeners {
185
176
  fireClickEvent(e) {
186
177
  VertexListeners._fireEvent(this, this.click, e);
187
178
  }
188
- ;
189
179
  /**
190
180
  * Fire a drag event with the given event instance to all
191
181
  * installed drag listeners.
@@ -199,7 +189,6 @@ export class VertexListeners {
199
189
  fireDragEvent(e) {
200
190
  VertexListeners._fireEvent(this, this.drag, e);
201
191
  }
202
- ;
203
192
  /**
204
193
  * Fire a dragStart event with the given event instance to all
205
194
  * installed drag-start listeners.
@@ -213,7 +202,6 @@ export class VertexListeners {
213
202
  fireDragStartEvent(e) {
214
203
  VertexListeners._fireEvent(this, this.dragStart, e);
215
204
  }
216
- ;
217
205
  /**
218
206
  * Fire a dragEnd event with the given event instance to all
219
207
  * installed drag-end listeners.
@@ -227,13 +215,21 @@ export class VertexListeners {
227
215
  fireDragEndEvent(e) {
228
216
  VertexListeners._fireEvent(this, this.dragEnd, e);
229
217
  }
230
- ;
218
+ /**
219
+ * Removes all listeners from this listeners object.
220
+ */
221
+ removeAllListeners() {
222
+ this.click = [];
223
+ this.drag = [];
224
+ this.dragStart = [];
225
+ this.dragEnd = [];
226
+ }
231
227
  /**
232
228
  * @private
233
229
  **/
234
230
  static _fireEvent(_self, listeners, e) {
235
231
  const ve = e;
236
- if (typeof ve.params == 'undefined')
232
+ if (typeof ve.params == "undefined")
237
233
  ve.params = { vertex: _self.vertex };
238
234
  else
239
235
  ve.params.vertex = _self.vertex;
@@ -241,7 +237,6 @@ export class VertexListeners {
241
237
  listeners[i](ve);
242
238
  }
243
239
  }
244
- ;
245
240
  /**
246
241
  * @private
247
242
  */
@@ -253,7 +248,6 @@ export class VertexListeners {
253
248
  listeners.push(newListener);
254
249
  return true;
255
250
  }
256
- ;
257
251
  /**
258
252
  * @private
259
253
  */
@@ -264,6 +258,5 @@ export class VertexListeners {
264
258
  }
265
259
  return listeners;
266
260
  }
267
- ;
268
261
  }
269
262
  //# sourceMappingURL=VertexListeners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;IAYI;AAeJ;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAQ1B;;;;;;QAMI;IACJ,YAAY,MAAc;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;QAQI;IACJ,gBAAgB,CAAC,QAAsB;QACrC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH;;;;;;;;QAQI;IACJ,mBAAmB,CAAC,QAAsB;QACxC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH;;;;;;;;QAQI;IACJ,eAAe,CAAC,QAAsB;QACpC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH;;;;;;;;QAQI;IACJ,kBAAkB,CAAC,QAAsB;QACvC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,oBAAoB,CAAC,QAAsB;QACzC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH;;;;;;;;QAQI;IACJ,uBAAuB,CAAC,QAAsB;QAC5C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,kBAAkB,CAAC,QAAgC;QACjD,iCAAiC;QACjC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH;;;;;;;;QAQI;IACJ,qBAAqB,CAAC,QAAgC;QACpD,8BAA8B;QAC9B,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;QASI;IACJ,cAAc,CAAC,CAA0B;QACvC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;QASI;IACJ,aAAa,CAAC,CAA0B;QACtC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;QASI;IACJ,kBAAkB,CAAC,CAA0B;QAC3C,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;QASI;IACJ,gBAAgB,CAAC,CAA0B;QACzC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;QAEI;IACI,MAAM,CAAC,UAAU,CAAC,KAAsB,EAAE,SAAwC,EAAE,CAA0B;QACpH,MAAM,EAAE,GAAc,CAAyB,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC,MAAM,IAAI,WAAW;YAAE,EAAE,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAgC,CAAC;;YACnG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;YACvB,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAClB;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,YAAY,CAAC,SAAwC,EAAE,WAAmC;QACvG,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;YACvB,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW;gBAAE,OAAO,KAAK,CAAC;SAC/C;QACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,eAAe,CAC5B,SAAwC,EACxC,WAAmC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW;gBAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -90,7 +90,11 @@ export declare class BezierPathInteractionHelper {
90
90
  private currentT;
91
91
  private currentA;
92
92
  private currentB;
93
+ private _mouseHandler;
94
+ private _touchHandler;
93
95
  private _keyHandler;
96
+ private _mouseEnterListener;
97
+ private _mouseLeaveListener;
94
98
  /**
95
99
  * Pre: all paths must have been added to the PlotBoilerplate's drawable buffer (use the add(Drawable) function).
96
100
  *
@@ -158,6 +162,17 @@ export declare class BezierPathInteractionHelper {
158
162
  * @return {void}
159
163
  **/
160
164
  update(): void;
165
+ /**
166
+ * This function should invalidate any installed listeners and invalidate this object.
167
+ * After calling this function the object might not hold valid data any more and
168
+ * should not be used any more.
169
+ *
170
+ * @method destroy
171
+ * @instance
172
+ * @memberof BezierPathInteractionHelper
173
+ * @return {void}
174
+ **/
175
+ destroy(): void;
161
176
  private _locatePath;
162
177
  private _handleDelete;
163
178
  private _handleSingleVertexDelete;
@@ -96,8 +96,15 @@ export class BezierPathInteractionHelper {
96
96
  for (var i = 0; i < paths.length; i++) {
97
97
  this.addPath(paths[i]);
98
98
  }
99
- this._installMouseListener();
100
- this._installTouchListener();
99
+ this._mouseEnterListener = () => {
100
+ this.mouseIsOver = true;
101
+ };
102
+ this._mouseLeaveListener = () => {
103
+ this.mouseIsOver = false;
104
+ this._clearMoveEvent();
105
+ };
106
+ this._mouseHandler = this._installMouseListener();
107
+ this._touchHandler = this._installTouchListener();
101
108
  this._keyHandler = this._installKeyListener();
102
109
  // Paths might have changed by auto-adjustment.
103
110
  if (this.autoAdjustPaths)
@@ -170,6 +177,27 @@ export class BezierPathInteractionHelper {
170
177
  // Just re-run the calculation with the recent mouse/touch position
171
178
  this._handleMoveEvent(this.currentB.x, this.currentB.y);
172
179
  }
180
+ /**
181
+ * This function should invalidate any installed listeners and invalidate this object.
182
+ * After calling this function the object might not hold valid data any more and
183
+ * should not be used any more.
184
+ *
185
+ * @method destroy
186
+ * @instance
187
+ * @memberof BezierPathInteractionHelper
188
+ * @return {void}
189
+ **/
190
+ destroy() {
191
+ for (var i = 0; i < this.paths.length; i++) {
192
+ this._removeDefaultPathListeners(this.paths[i]);
193
+ // removePathVertexDragStartListeners(this.paths[i], listener);
194
+ }
195
+ this.paths = [];
196
+ this.pb.canvas.removeEventListener("mouseenter", this._mouseEnterListener);
197
+ this.pb.canvas.removeEventListener("mouseleave", this._mouseLeaveListener);
198
+ this._mouseHandler.destroy();
199
+ this._keyHandler.destroy();
200
+ }
173
201
  // +---------------------------------------------------------------------------------
174
202
  // | A helper function to locate a given path instance inside the array.
175
203
  // |
@@ -253,6 +281,7 @@ export class BezierPathInteractionHelper {
253
281
  }
254
282
  }
255
283
  else {
284
+ // TODO: remove drag listener from removed vertex!
256
285
  deletedVertIndices.push(i);
257
286
  }
258
287
  }
@@ -278,6 +307,7 @@ export class BezierPathInteractionHelper {
278
307
  _replacePathAt(pathIndex, newPath) {
279
308
  const oldPath = this.paths[pathIndex];
280
309
  this.pb.remove(oldPath, false, true); // Remove with vertices
310
+ oldPath.destroy();
281
311
  this._removeDefaultPathListeners(oldPath);
282
312
  BezierPathInteractionHelper.setPathAutoAdjust(newPath);
283
313
  this.paths[pathIndex] = newPath;
@@ -315,32 +345,34 @@ export class BezierPathInteractionHelper {
315
345
  var _self = this;
316
346
  const afProps = {
317
347
  // Todo: which event types does AlloyFinger use?
318
- touchStart: function (e) {
348
+ touchStart: function (_event) {
319
349
  _self.mouseIsOver = true;
320
350
  },
321
- touchMove: function (e) {
322
- if (_self.pb.getDraggedElementCount() == 0 && e.touches.length > 0) {
351
+ touchMove: function (event) {
352
+ if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
323
353
  // console.log('touchmove');
324
- _self._handleMoveEvent(e.touches[0].clientX, e.touches[0].clientY);
354
+ _self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
325
355
  }
326
356
  },
327
- touchEnd: function (e) {
357
+ touchEnd: function (_event) {
328
358
  _self.mouseIsOver = false;
329
359
  _self._clearMoveEvent();
330
360
  }
331
361
  };
332
362
  // new AlloyFinger(this.pb.canvas, afProps);
333
- if (window["createAlloyFinger"])
334
- window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
335
- else
336
- new AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
363
+ if (window["createAlloyFinger"]) {
364
+ return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
365
+ }
366
+ else {
367
+ return new AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
368
+ }
337
369
  }
338
370
  // +---------------------------------------------------------------------------------
339
371
  // | Called once upon initialization.
340
372
  // +-------------------------------
341
373
  _installMouseListener() {
342
374
  var _self = this;
343
- new MouseHandler(this.pb.canvas)
375
+ var mouseHandler = new MouseHandler(this.pb.canvas)
344
376
  .up(function (e) {
345
377
  if (e.params.wasDragged)
346
378
  return;
@@ -385,13 +417,16 @@ export class BezierPathInteractionHelper {
385
417
  _self.mouseIsOver = true;
386
418
  _self._handleMoveEvent(e.params.pos.x, e.params.pos.y);
387
419
  });
388
- _self.pb.canvas.addEventListener("mouseenter", function () {
389
- _self.mouseIsOver = true;
390
- });
391
- _self.pb.canvas.addEventListener("mouseleave", function () {
392
- _self.mouseIsOver = false;
393
- _self._clearMoveEvent();
394
- });
420
+ // _self.pb.canvas.addEventListener("mouseenter", function () {
421
+ // _self.mouseIsOver = true;
422
+ // });
423
+ // _self.pb.canvas.addEventListener("mouseleave", function () {
424
+ // _self.mouseIsOver = false;
425
+ // _self._clearMoveEvent();
426
+ // });
427
+ this.pb.canvas.addEventListener("mouseenter", this._mouseEnterListener);
428
+ this.pb.canvas.addEventListener("mouseleave", this._mouseLeaveListener);
429
+ return mouseHandler;
395
430
  }
396
431
  // +---------------------------------------------------------------------------------
397
432
  // | Called once upon initialization.
@@ -405,15 +440,6 @@ export class BezierPathInteractionHelper {
405
440
  });
406
441
  }
407
442
  // +---------------------------------------------------------------------------------
408
- // | Adds vertex listeners to all path points.
409
- // |
410
- // | @param {BezierPath} path - The path to add vertex listeners to.
411
- // +-------------------------------
412
- // TODO: THIS CAN BE REMOVED?
413
- // private _addDefaultPathListeners( path:BezierPath ) : void {
414
- // BezierPathInteractionHelper.addPathVertexDragListeners( path, this._updateMinDistance );
415
- // };
416
- // +---------------------------------------------------------------------------------
417
443
  // | Removes vertex listeners from all path points.
418
444
  // |
419
445
  // | @param {BezierPath} path - The path to remove vertex listeners from.
@@ -1 +1 @@
1
- {"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * A basic IO handler for file drop (Drag-and-drop).
3
+ *
4
+ * @author Ikaros Kappler
5
+ * @date 2021-10-13
6
+ * @modified 2022-01-31 (ported from the ngdg project, then generalized)
7
+ * @version 2.0.0
8
+ */
9
+ declare type IDroppedCallbackJSON = (jsonData: object) => void;
10
+ declare type IDroppedCallbackText = (textData: string) => void;
11
+ export declare class ConfigIO {
12
+ /**
13
+ * The 'dropzone' element.
14
+ * @private
15
+ * @memberof ConfigIO
16
+ * @member {HTMLElement}
17
+ */
18
+ private element;
19
+ /**
20
+ * The JSON file drop callback.
21
+ * @private
22
+ * @memberof ConfigIO
23
+ * @member {HTMLElement}
24
+ */
25
+ private fileDroppedCallbackJSON;
26
+ private fileDroppedCallbackText;
27
+ /**
28
+ *
29
+ * @param {HTMLElement} element - The element you wish to operate as the drop zone (like <body/>).
30
+ */
31
+ constructor(element: HTMLElement);
32
+ /**
33
+ * Install the JSON (MIME type json*) file drop callback. Note than only one callback can be installed
34
+ * in this implementation. Calling this method multiple times will overwrite previously
35
+ * installed listeners.
36
+ *
37
+ * The callback will receive the dropped file content as an object (parsed JSON).
38
+ *
39
+ * @param {(data:object)=>void} callback
40
+ */
41
+ onFileJSONDropped(callback: IDroppedCallbackJSON): void;
42
+ /**
43
+ * Install the text file (MIME type text/plain) drop callback. Note than only one callback can be installed
44
+ * in this implementation. Calling this method multiple times will overwrite previously
45
+ * installed listeners.
46
+ *
47
+ * The callback will receive the dropped file content as a string.
48
+ *
49
+ * @param {(data:object)=>void} callback
50
+ */
51
+ onFileTextDropped(callback: IDroppedCallbackText): void;
52
+ /**
53
+ * Internally handle a drop event.
54
+ *
55
+ * @param {DragEvent} event
56
+ * @returns {void}
57
+ */
58
+ private handleDropEvent;
59
+ private handleDragOverEvent;
60
+ private handleDragLeaveEvent;
61
+ destroy(): void;
62
+ }
63
+ export {};
@@ -0,0 +1,106 @@
1
+ /**
2
+ * A basic IO handler for file drop (Drag-and-drop).
3
+ *
4
+ * @author Ikaros Kappler
5
+ * @date 2021-10-13
6
+ * @modified 2022-01-31 (ported from the ngdg project, then generalized)
7
+ * @version 2.0.0
8
+ */
9
+ export class ConfigIO {
10
+ /**
11
+ *
12
+ * @param {HTMLElement} element - The element you wish to operate as the drop zone (like <body/>).
13
+ */
14
+ constructor(element) {
15
+ /**
16
+ * Internally handle a drop event.
17
+ *
18
+ * @param {DragEvent} event
19
+ * @returns {void}
20
+ */
21
+ this.handleDropEvent = (event) => {
22
+ event.preventDefault();
23
+ event.stopPropagation();
24
+ this.element.style.opacity = "1.0";
25
+ if (!event.dataTransfer.files || event.dataTransfer.files.length === 0) {
26
+ // No files were dropped
27
+ return;
28
+ }
29
+ if (event.dataTransfer.files.length > 1) {
30
+ // Multiple file drop is not nupported
31
+ return;
32
+ }
33
+ if (!this.fileDroppedCallbackJSON) {
34
+ // No handling callback defined.
35
+ return;
36
+ }
37
+ if (event.dataTransfer.files[0]) {
38
+ const file = event.dataTransfer.files[0];
39
+ console.log("file", file);
40
+ if (file.type.match(/json.*/) && this.fileDroppedCallbackJSON) {
41
+ var reader = new FileReader();
42
+ reader.onload = (readEvent) => {
43
+ // Finished reading file data.
44
+ const jsonObject = JSON.parse(readEvent.target.result);
45
+ // TODO: what happens on fail?
46
+ this.fileDroppedCallbackJSON(jsonObject);
47
+ };
48
+ reader.readAsText(file); // start reading the file data.
49
+ }
50
+ else if (file.type.match(/text\/plain.*/) && this.fileDroppedCallbackText) {
51
+ var reader = new FileReader();
52
+ reader.onload = (readEvent) => {
53
+ // Finished reading file data.
54
+ this.fileDroppedCallbackText(readEvent.target.result);
55
+ };
56
+ reader.readAsText(file); // start reading the file data.
57
+ }
58
+ }
59
+ };
60
+ this.handleDragOverEvent = (event) => {
61
+ event.preventDefault();
62
+ event.stopPropagation();
63
+ this.element.style.opacity = "0.5";
64
+ };
65
+ this.handleDragLeaveEvent = (event) => {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ this.element.style.opacity = "1.0";
69
+ };
70
+ this.element = element;
71
+ // Init the drop listeners
72
+ element.addEventListener("drop", this.handleDropEvent.bind(this));
73
+ element.addEventListener("dragover", this.handleDragOverEvent.bind(this));
74
+ element.addEventListener("dragleave", this.handleDragLeaveEvent.bind(this));
75
+ }
76
+ /**
77
+ * Install the JSON (MIME type json*) file drop callback. Note than only one callback can be installed
78
+ * in this implementation. Calling this method multiple times will overwrite previously
79
+ * installed listeners.
80
+ *
81
+ * The callback will receive the dropped file content as an object (parsed JSON).
82
+ *
83
+ * @param {(data:object)=>void} callback
84
+ */
85
+ onFileJSONDropped(callback) {
86
+ this.fileDroppedCallbackJSON = callback;
87
+ }
88
+ /**
89
+ * Install the text file (MIME type text/plain) drop callback. Note than only one callback can be installed
90
+ * in this implementation. Calling this method multiple times will overwrite previously
91
+ * installed listeners.
92
+ *
93
+ * The callback will receive the dropped file content as a string.
94
+ *
95
+ * @param {(data:object)=>void} callback
96
+ */
97
+ onFileTextDropped(callback) {
98
+ this.fileDroppedCallbackText = callback;
99
+ }
100
+ destroy() {
101
+ this.element.removeEventListener("drop", this.handleDropEvent);
102
+ this.element.removeEventListener("dragover", this.handleDragOverEvent);
103
+ this.element.removeEventListener("dragleave", this.handleDragLeaveEvent);
104
+ }
105
+ }
106
+ //# sourceMappingURL=DndFileHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DndFileHandler.js","sourceRoot":"","sources":["../../../ts/utils/io/DndFileHandler.ts"],"names":[],"mappings":"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"}