plotboilerplate 1.15.0 → 1.17.1

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 (237) hide show
  1. package/README.md +1 -0
  2. package/changelog.md +65 -0
  3. package/dist/index.esm.js +760 -667
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/dist/plotboilerplate.browser.min.js +1 -1
  8. package/dist/plotboilerplate.browser.min.js.map +1 -1
  9. package/dist/plotboilerplate.js +765 -571
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +32 -14
  13. package/src/cjs/BezierPath.js +65 -24
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Bounds.d.ts +33 -1
  16. package/src/cjs/Bounds.js +38 -1
  17. package/src/cjs/Bounds.js.map +1 -1
  18. package/src/cjs/Circle.d.ts +15 -13
  19. package/src/cjs/Circle.js +16 -34
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +17 -16
  22. package/src/cjs/CircleSector.js +12 -24
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +16 -15
  25. package/src/cjs/CubicBezierCurve.js +57 -94
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/KeyHandler.d.ts +10 -3
  28. package/src/cjs/KeyHandler.js +28 -23
  29. package/src/cjs/KeyHandler.js.map +1 -1
  30. package/src/cjs/Line.d.ts +2 -15
  31. package/src/cjs/Line.js +6 -31
  32. package/src/cjs/Line.js.map +1 -1
  33. package/src/cjs/MouseHandler.js +43 -53
  34. package/src/cjs/MouseHandler.js.map +1 -1
  35. package/src/cjs/PBImage.d.ts +15 -13
  36. package/src/cjs/PBImage.js +11 -15
  37. package/src/cjs/PBImage.js.map +1 -1
  38. package/src/cjs/PBText.d.ts +13 -12
  39. package/src/cjs/PBText.js +8 -12
  40. package/src/cjs/PBText.js.map +1 -1
  41. package/src/cjs/PlotBoilerplate.d.ts +3 -1
  42. package/src/cjs/PlotBoilerplate.js +9 -2
  43. package/src/cjs/PlotBoilerplate.js.map +1 -1
  44. package/src/cjs/Polygon.d.ts +23 -14
  45. package/src/cjs/Polygon.js +22 -35
  46. package/src/cjs/Polygon.js.map +1 -1
  47. package/src/cjs/Triangle.d.ts +15 -13
  48. package/src/cjs/Triangle.js +23 -64
  49. package/src/cjs/Triangle.js.map +1 -1
  50. package/src/cjs/VEllipse.d.ts +14 -9
  51. package/src/cjs/VEllipse.js +10 -18
  52. package/src/cjs/VEllipse.js.map +1 -1
  53. package/src/cjs/VEllipseSector.d.ts +15 -1
  54. package/src/cjs/VEllipseSector.js +11 -1
  55. package/src/cjs/VEllipseSector.js.map +1 -1
  56. package/src/cjs/Vector.d.ts +3 -15
  57. package/src/cjs/Vector.js +9 -49
  58. package/src/cjs/Vector.js.map +1 -1
  59. package/src/cjs/VertTuple.d.ts +15 -1
  60. package/src/cjs/VertTuple.js +14 -19
  61. package/src/cjs/VertTuple.js.map +1 -1
  62. package/src/cjs/Vertex.d.ts +23 -13
  63. package/src/cjs/Vertex.js +24 -22
  64. package/src/cjs/Vertex.js.map +1 -1
  65. package/src/cjs/VertexListeners.d.ts +12 -8
  66. package/src/cjs/VertexListeners.js +18 -25
  67. package/src/cjs/VertexListeners.js.map +1 -1
  68. package/src/cjs/draw.d.ts +45 -3
  69. package/src/cjs/draw.js +149 -6
  70. package/src/cjs/draw.js.map +1 -1
  71. package/src/cjs/drawgl.d.ts +41 -3
  72. package/src/cjs/drawgl.js +45 -3
  73. package/src/cjs/drawgl.js.map +1 -1
  74. package/src/cjs/drawutilssvg.d.ts +69 -4
  75. package/src/cjs/drawutilssvg.js +147 -16
  76. package/src/cjs/drawutilssvg.js.map +1 -1
  77. package/src/cjs/index.d.ts +0 -1
  78. package/src/cjs/index.js +0 -1
  79. package/src/cjs/index.js.map +1 -1
  80. package/src/cjs/interfaces/DrawLib.d.ts +64 -27
  81. package/src/cjs/interfaces/DrawLib.js +3 -0
  82. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  83. package/src/cjs/interfaces/core.d.ts +2 -12
  84. package/src/cjs/interfaces/core.js +1 -0
  85. package/src/cjs/interfaces/core.js.map +1 -1
  86. package/src/cjs/module.d.ts +1 -3
  87. package/src/cjs/module.js +2 -5
  88. package/src/cjs/module.js.map +1 -1
  89. package/src/cjs/utils/creategui.js +16 -2
  90. package/src/cjs/utils/datastructures/Color.d.ts +3 -1
  91. package/src/cjs/utils/datastructures/Color.js +17 -6
  92. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  93. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  94. package/src/cjs/utils/datastructures/Girih.js +18 -14
  95. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  96. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  97. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  98. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  99. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  100. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  101. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
  102. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  103. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  104. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  105. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  106. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  107. package/src/cjs/utils/io/FileDrop.js +142 -0
  108. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  109. package/src/esm/BezierPath.d.ts +32 -14
  110. package/src/esm/BezierPath.js +65 -24
  111. package/src/esm/BezierPath.js.map +1 -1
  112. package/src/esm/Bounds.d.ts +33 -1
  113. package/src/esm/Bounds.js +38 -1
  114. package/src/esm/Bounds.js.map +1 -1
  115. package/src/esm/Circle.d.ts +15 -13
  116. package/src/esm/Circle.js +16 -34
  117. package/src/esm/Circle.js.map +1 -1
  118. package/src/esm/CircleSector.d.ts +17 -16
  119. package/src/esm/CircleSector.js +12 -24
  120. package/src/esm/CircleSector.js.map +1 -1
  121. package/src/esm/CubicBezierCurve.d.ts +16 -15
  122. package/src/esm/CubicBezierCurve.js +57 -94
  123. package/src/esm/CubicBezierCurve.js.map +1 -1
  124. package/src/esm/KeyHandler.d.ts +10 -3
  125. package/src/esm/KeyHandler.js +28 -23
  126. package/src/esm/KeyHandler.js.map +1 -1
  127. package/src/esm/Line.d.ts +2 -15
  128. package/src/esm/Line.js +6 -31
  129. package/src/esm/Line.js.map +1 -1
  130. package/src/esm/MouseHandler.js +43 -53
  131. package/src/esm/MouseHandler.js.map +1 -1
  132. package/src/esm/PBImage.d.ts +15 -13
  133. package/src/esm/PBImage.js +11 -15
  134. package/src/esm/PBImage.js.map +1 -1
  135. package/src/esm/PBText.d.ts +13 -12
  136. package/src/esm/PBText.js +8 -12
  137. package/src/esm/PBText.js.map +1 -1
  138. package/src/esm/PlotBoilerplate.d.ts +3 -1
  139. package/src/esm/PlotBoilerplate.js +9 -2
  140. package/src/esm/PlotBoilerplate.js.map +1 -1
  141. package/src/esm/Polygon.d.ts +23 -14
  142. package/src/esm/Polygon.js +22 -35
  143. package/src/esm/Polygon.js.map +1 -1
  144. package/src/esm/Triangle.d.ts +15 -13
  145. package/src/esm/Triangle.js +23 -64
  146. package/src/esm/Triangle.js.map +1 -1
  147. package/src/esm/VEllipse.d.ts +14 -9
  148. package/src/esm/VEllipse.js +10 -18
  149. package/src/esm/VEllipse.js.map +1 -1
  150. package/src/esm/VEllipseSector.d.ts +15 -1
  151. package/src/esm/VEllipseSector.js +11 -1
  152. package/src/esm/VEllipseSector.js.map +1 -1
  153. package/src/esm/Vector.d.ts +3 -15
  154. package/src/esm/Vector.js +9 -49
  155. package/src/esm/Vector.js.map +1 -1
  156. package/src/esm/VertTuple.d.ts +15 -1
  157. package/src/esm/VertTuple.js +14 -19
  158. package/src/esm/VertTuple.js.map +1 -1
  159. package/src/esm/Vertex.d.ts +23 -13
  160. package/src/esm/Vertex.js +24 -22
  161. package/src/esm/Vertex.js.map +1 -1
  162. package/src/esm/VertexListeners.d.ts +12 -8
  163. package/src/esm/VertexListeners.js +18 -25
  164. package/src/esm/VertexListeners.js.map +1 -1
  165. package/src/esm/draw.d.ts +45 -3
  166. package/src/esm/draw.js +147 -6
  167. package/src/esm/draw.js.map +1 -1
  168. package/src/esm/drawgl.d.ts +41 -3
  169. package/src/esm/drawgl.js +44 -3
  170. package/src/esm/drawgl.js.map +1 -1
  171. package/src/esm/drawutilssvg.d.ts +69 -4
  172. package/src/esm/drawutilssvg.js +146 -16
  173. package/src/esm/drawutilssvg.js.map +1 -1
  174. package/src/esm/index.d.ts +0 -1
  175. package/src/esm/index.js +0 -1
  176. package/src/esm/index.js.map +1 -1
  177. package/src/esm/interfaces/DrawLib.d.ts +64 -27
  178. package/src/esm/interfaces/DrawLib.js +3 -0
  179. package/src/esm/interfaces/DrawLib.js.map +1 -1
  180. package/src/esm/interfaces/core.d.ts +2 -12
  181. package/src/esm/interfaces/core.js +1 -0
  182. package/src/esm/interfaces/core.js.map +1 -1
  183. package/src/esm/module.d.ts +1 -3
  184. package/src/esm/module.js +5 -4
  185. package/src/esm/module.js.map +1 -1
  186. package/src/esm/utils/datastructures/Color.d.ts +3 -1
  187. package/src/esm/utils/datastructures/Color.js +17 -6
  188. package/src/esm/utils/datastructures/Color.js.map +1 -1
  189. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  190. package/src/esm/utils/datastructures/Girih.js +18 -14
  191. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  192. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  193. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  194. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  195. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  196. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  197. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
  198. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  199. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  200. package/src/esm/utils/io/DndFileHandler.js +106 -0
  201. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  202. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  203. package/src/esm/utils/io/FileDrop.js +136 -0
  204. package/src/esm/utils/io/FileDrop.js.map +1 -0
  205. package/src/ts/BezierPath.ts +78 -22
  206. package/src/ts/Bounds.ts +40 -1
  207. package/src/ts/Circle.ts +187 -200
  208. package/src/ts/CircleSector.ts +141 -141
  209. package/src/ts/CubicBezierCurve.ts +738 -810
  210. package/src/ts/KeyHandler.ts +221 -212
  211. package/src/ts/Line.ts +48 -80
  212. package/src/ts/MouseHandler.ts +356 -368
  213. package/src/ts/PBImage.ts +67 -69
  214. package/src/ts/PBText.ts +16 -14
  215. package/src/ts/PlotBoilerplate.ts +9 -2
  216. package/src/ts/Polygon.ts +34 -34
  217. package/src/ts/Triangle.ts +444 -489
  218. package/src/ts/VEllipse.ts +18 -17
  219. package/src/ts/VEllipseSector.ts +20 -1
  220. package/src/ts/Vector.ts +124 -160
  221. package/src/ts/VertTuple.ts +333 -338
  222. package/src/ts/Vertex.ts +35 -21
  223. package/src/ts/VertexListeners.ts +248 -266
  224. package/src/ts/draw.ts +201 -6
  225. package/src/ts/drawgl.ts +47 -3
  226. package/src/ts/drawutilssvg.ts +187 -16
  227. package/src/ts/index.ts +0 -1
  228. package/src/ts/interfaces/DrawLib.ts +72 -27
  229. package/src/ts/interfaces/core.ts +3 -13
  230. package/src/ts/module.ts +2 -4
  231. package/src/ts/utils/datastructures/Color.ts +17 -6
  232. package/src/ts/utils/datastructures/Girih.ts +204 -209
  233. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  234. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  235. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
  236. package/src/ts/utils/io/FileDrop.ts +178 -0
  237. package/src/ts/SVGBuilder.ts +0 -109
@@ -20,7 +20,8 @@
20
20
  * @modified 2021-01-03 Changed property to `autoAdjustPaths` in the HandlerOptions interface (typo).
21
21
  * @modified 2021-01-03 Added following new functions: `addPathVertexDragStartListeners`, `removePathVertexDragStartListeners`, `addPathVertexDragEndListeners` and `removePathVertexDragEndListeners`.
22
22
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
23
- * @version 1.1.1
23
+ * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
24
+ * @version 1.1.2
24
25
  *
25
26
  * @file BezierPathInteractionHelper
26
27
  * @public
@@ -96,8 +97,15 @@ export class BezierPathInteractionHelper {
96
97
  for (var i = 0; i < paths.length; i++) {
97
98
  this.addPath(paths[i]);
98
99
  }
99
- this._installMouseListener();
100
- this._installTouchListener();
100
+ this._mouseEnterListener = () => {
101
+ this.mouseIsOver = true;
102
+ };
103
+ this._mouseLeaveListener = () => {
104
+ this.mouseIsOver = false;
105
+ this._clearMoveEvent();
106
+ };
107
+ this._mouseHandler = this._installMouseListener();
108
+ this._touchHandler = this._installTouchListener();
101
109
  this._keyHandler = this._installKeyListener();
102
110
  // Paths might have changed by auto-adjustment.
103
111
  if (this.autoAdjustPaths)
@@ -170,6 +178,27 @@ export class BezierPathInteractionHelper {
170
178
  // Just re-run the calculation with the recent mouse/touch position
171
179
  this._handleMoveEvent(this.currentB.x, this.currentB.y);
172
180
  }
181
+ /**
182
+ * This function should invalidate any installed listeners and invalidate this object.
183
+ * After calling this function the object might not hold valid data any more and
184
+ * should not be used any more.
185
+ *
186
+ * @method destroy
187
+ * @instance
188
+ * @memberof BezierPathInteractionHelper
189
+ * @return {void}
190
+ **/
191
+ destroy() {
192
+ for (var i = 0; i < this.paths.length; i++) {
193
+ this._removeDefaultPathListeners(this.paths[i]);
194
+ // removePathVertexDragStartListeners(this.paths[i], listener);
195
+ }
196
+ this.paths = [];
197
+ this.pb.eventCatcher.removeEventListener("mouseenter", this._mouseEnterListener);
198
+ this.pb.eventCatcher.removeEventListener("mouseleave", this._mouseLeaveListener);
199
+ this._mouseHandler.destroy();
200
+ this._keyHandler.destroy();
201
+ }
173
202
  // +---------------------------------------------------------------------------------
174
203
  // | A helper function to locate a given path instance inside the array.
175
204
  // |
@@ -253,6 +282,7 @@ export class BezierPathInteractionHelper {
253
282
  }
254
283
  }
255
284
  else {
285
+ // TODO: remove drag listener from removed vertex!
256
286
  deletedVertIndices.push(i);
257
287
  }
258
288
  }
@@ -278,6 +308,7 @@ export class BezierPathInteractionHelper {
278
308
  _replacePathAt(pathIndex, newPath) {
279
309
  const oldPath = this.paths[pathIndex];
280
310
  this.pb.remove(oldPath, false, true); // Remove with vertices
311
+ oldPath.destroy();
281
312
  this._removeDefaultPathListeners(oldPath);
282
313
  BezierPathInteractionHelper.setPathAutoAdjust(newPath);
283
314
  this.paths[pathIndex] = newPath;
@@ -315,32 +346,33 @@ export class BezierPathInteractionHelper {
315
346
  var _self = this;
316
347
  const afProps = {
317
348
  // Todo: which event types does AlloyFinger use?
318
- touchStart: function (e) {
349
+ touchStart: function (_event) {
319
350
  _self.mouseIsOver = true;
320
351
  },
321
- touchMove: function (e) {
322
- if (_self.pb.getDraggedElementCount() == 0 && e.touches.length > 0) {
352
+ touchMove: function (event) {
353
+ if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
323
354
  // console.log('touchmove');
324
- _self._handleMoveEvent(e.touches[0].clientX, e.touches[0].clientY);
355
+ _self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
325
356
  }
326
357
  },
327
- touchEnd: function (e) {
358
+ touchEnd: function (_event) {
328
359
  _self.mouseIsOver = false;
329
360
  _self._clearMoveEvent();
330
361
  }
331
362
  };
332
- // 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.eventCatcher, afProps);
365
+ }
366
+ else {
367
+ return new AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, 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.eventCatcher)
344
376
  .up(function (e) {
345
377
  if (e.params.wasDragged)
346
378
  return;
@@ -380,18 +412,12 @@ export class BezierPathInteractionHelper {
380
412
  _self.onVertexInserted(_self.currentPathIndex, leftPath.bezierCurves.length, newPath, oldPath);
381
413
  })
382
414
  .move(function (e) {
383
- // console.log('moved');
384
- // if( _self.pb.getDraggedElementCount() == 0 )
385
415
  _self.mouseIsOver = true;
386
416
  _self._handleMoveEvent(e.params.pos.x, e.params.pos.y);
387
417
  });
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
- });
418
+ this.pb.eventCatcher.addEventListener("mouseenter", this._mouseEnterListener);
419
+ this.pb.eventCatcher.addEventListener("mouseleave", this._mouseLeaveListener);
420
+ return mouseHandler;
395
421
  }
396
422
  // +---------------------------------------------------------------------------------
397
423
  // | Called once upon initialization.
@@ -405,15 +431,6 @@ export class BezierPathInteractionHelper {
405
431
  });
406
432
  }
407
433
  // +---------------------------------------------------------------------------------
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
434
  // | Removes vertex listeners from all path points.
418
435
  // |
419
436
  // | @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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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * A basic IO handler for file drop (Drag-and-drop).
3
+ *
4
+ * Example use:
5
+ * ```javascript
6
+ * var body = document.getElememtByTagName("body")[0];
7
+ * var fileDrop = new FileDrop(body);
8
+ * fileDrop.onFileJSONDropped(function (jsonObject) {
9
+ * console.log("jsonObject", jsonObject);
10
+ * });
11
+ * ```
12
+ *
13
+ * @author Ikaros Kappler
14
+ * @date 2021-10-13
15
+ * @modified 2022-01-31 (ported from the ngdg project, then generalized)
16
+ * @version 2.0.0
17
+ */
18
+ declare type IDroppedCallbackJSON = (jsonData: object) => void;
19
+ declare type IDroppedCallbackText = (textData: string) => void;
20
+ export declare class FileDrop {
21
+ /**
22
+ * The 'dropzone' element.
23
+ * @private
24
+ * @memberof FileDrop
25
+ * @member {HTMLElement}
26
+ */
27
+ private element;
28
+ /**
29
+ * The JSON file drop callback.
30
+ * @private
31
+ * @memberof FileDrop
32
+ * @member {HTMLElement}
33
+ */
34
+ private fileDroppedCallbackJSON;
35
+ /**
36
+ * The text file drop callback.
37
+ * @private
38
+ * @memberof FileDrop
39
+ * @member {HTMLElement}
40
+ */
41
+ private fileDroppedCallbackText;
42
+ /**
43
+ * The binary file drop callback.
44
+ * @private
45
+ * @memberof FileDrop
46
+ * @member {HTMLElement}
47
+ */
48
+ private fileDroppedCallbackBinary;
49
+ /**
50
+ *
51
+ * @param {HTMLElement} element - The element you wish to operate as the drop zone (like <body/>).
52
+ */
53
+ constructor(element: HTMLElement);
54
+ /**
55
+ * Install the JSON (MIME type json*) file drop callback. Note than only one callback can be installed
56
+ * in this implementation. Calling this method multiple times will overwrite previously
57
+ * installed listeners.
58
+ *
59
+ * The callback will receive the dropped file content as an object (parsed JSON).
60
+ *
61
+ * @param {(data:object)=>void} callback
62
+ */
63
+ onFileJSONDropped(callback: IDroppedCallbackJSON): void;
64
+ /**
65
+ * Install the text file (MIME type text/plain) drop callback. Note than only one callback can be installed
66
+ * in this implementation. Calling this method multiple times will overwrite previously
67
+ * installed listeners.
68
+ *
69
+ * The callback will receive the dropped file content as a string.
70
+ *
71
+ * @param {(data:object)=>void} callback
72
+ */
73
+ onFileTextDropped(callback: IDroppedCallbackText): void;
74
+ /**
75
+ * Internally handle a drop event.
76
+ *
77
+ * @param {DragEvent} event
78
+ * @returns {void}
79
+ */
80
+ private handleDropEvent;
81
+ /**
82
+ * Toggles the drop sensitive element's opacity to 0.5.
83
+ *
84
+ * @param {DragEvent} event - The event.
85
+ */
86
+ private handleDragOverEvent;
87
+ /**
88
+ * Restored the drop sensitive element's opacity back to 1.0.
89
+ *
90
+ * @param {DragEvent} event - The event.
91
+ */
92
+ private handleDragLeaveEvent;
93
+ /**
94
+ * Removes all listeners (drop, dragover and dragleave).
95
+ */
96
+ destroy(): void;
97
+ }
98
+ export {};
@@ -0,0 +1,136 @@
1
+ /**
2
+ * A basic IO handler for file drop (Drag-and-drop).
3
+ *
4
+ * Example use:
5
+ * ```javascript
6
+ * var body = document.getElememtByTagName("body")[0];
7
+ * var fileDrop = new FileDrop(body);
8
+ * fileDrop.onFileJSONDropped(function (jsonObject) {
9
+ * console.log("jsonObject", jsonObject);
10
+ * });
11
+ * ```
12
+ *
13
+ * @author Ikaros Kappler
14
+ * @date 2021-10-13
15
+ * @modified 2022-01-31 (ported from the ngdg project, then generalized)
16
+ * @version 2.0.0
17
+ */
18
+ export class FileDrop {
19
+ /**
20
+ *
21
+ * @param {HTMLElement} element - The element you wish to operate as the drop zone (like <body/>).
22
+ */
23
+ constructor(element) {
24
+ /**
25
+ * Internally handle a drop event.
26
+ *
27
+ * @param {DragEvent} event
28
+ * @returns {void}
29
+ */
30
+ this.handleDropEvent = (event) => {
31
+ event.preventDefault();
32
+ event.stopPropagation();
33
+ this.element.style.opacity = "1.0";
34
+ if (!event.dataTransfer.files || event.dataTransfer.files.length === 0) {
35
+ // No files were dropped
36
+ return;
37
+ }
38
+ if (event.dataTransfer.files.length > 1) {
39
+ // Multiple file drop is not nupported
40
+ return;
41
+ }
42
+ if (!this.fileDroppedCallbackJSON) {
43
+ // No handling callback defined.
44
+ return;
45
+ }
46
+ if (event.dataTransfer.files[0]) {
47
+ const file = event.dataTransfer.files[0];
48
+ // console.log("file", file);
49
+ if (file.type.match(/json.*/) && this.fileDroppedCallbackJSON) {
50
+ var reader = new FileReader();
51
+ reader.onload = (readEvent) => {
52
+ // Finished reading file data.
53
+ const jsonObject = JSON.parse(readEvent.target.result);
54
+ // TODO: what happens on fail?
55
+ this.fileDroppedCallbackJSON(jsonObject);
56
+ };
57
+ reader.readAsText(file); // start reading the file data.
58
+ }
59
+ else if (file.type.match(/text\/plain.*/) && this.fileDroppedCallbackText) {
60
+ var reader = new FileReader();
61
+ reader.onload = (readEvent) => {
62
+ // Finished reading file data.
63
+ this.fileDroppedCallbackText(readEvent.target.result);
64
+ };
65
+ reader.readAsText(file); // start reading the file data.
66
+ }
67
+ else if (this.fileDroppedCallbackBinary) {
68
+ var reader = new FileReader();
69
+ reader.onload = (readEvent) => {
70
+ // Finished reading file data.
71
+ this.fileDroppedCallbackBinary(new Blob([readEvent.target.result]), file);
72
+ };
73
+ reader.readAsBinaryString(file); // start reading the file data.
74
+ }
75
+ }
76
+ };
77
+ /**
78
+ * Toggles the drop sensitive element's opacity to 0.5.
79
+ *
80
+ * @param {DragEvent} event - The event.
81
+ */
82
+ this.handleDragOverEvent = (event) => {
83
+ event.preventDefault();
84
+ event.stopPropagation();
85
+ this.element.style.opacity = "0.5";
86
+ };
87
+ /**
88
+ * Restored the drop sensitive element's opacity back to 1.0.
89
+ *
90
+ * @param {DragEvent} event - The event.
91
+ */
92
+ this.handleDragLeaveEvent = (event) => {
93
+ event.preventDefault();
94
+ event.stopPropagation();
95
+ this.element.style.opacity = "1.0";
96
+ };
97
+ this.element = element;
98
+ // Init the drop listeners
99
+ element.addEventListener("drop", this.handleDropEvent.bind(this));
100
+ element.addEventListener("dragover", this.handleDragOverEvent.bind(this));
101
+ element.addEventListener("dragleave", this.handleDragLeaveEvent.bind(this));
102
+ }
103
+ /**
104
+ * Install the JSON (MIME type json*) file drop callback. Note than only one callback can be installed
105
+ * in this implementation. Calling this method multiple times will overwrite previously
106
+ * installed listeners.
107
+ *
108
+ * The callback will receive the dropped file content as an object (parsed JSON).
109
+ *
110
+ * @param {(data:object)=>void} callback
111
+ */
112
+ onFileJSONDropped(callback) {
113
+ this.fileDroppedCallbackJSON = callback;
114
+ }
115
+ /**
116
+ * Install the text file (MIME type text/plain) drop callback. Note than only one callback can be installed
117
+ * in this implementation. Calling this method multiple times will overwrite previously
118
+ * installed listeners.
119
+ *
120
+ * The callback will receive the dropped file content as a string.
121
+ *
122
+ * @param {(data:object)=>void} callback
123
+ */
124
+ onFileTextDropped(callback) {
125
+ this.fileDroppedCallbackText = callback;
126
+ }
127
+ /**
128
+ * Removes all listeners (drop, dragover and dragleave).
129
+ */
130
+ destroy() {
131
+ this.element.removeEventListener("drop", this.handleDropEvent);
132
+ this.element.removeEventListener("dragover", this.handleDragOverEvent);
133
+ this.element.removeEventListener("dragleave", this.handleDragLeaveEvent);
134
+ }
135
+ }
136
+ //# sourceMappingURL=FileDrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDrop.js","sourceRoot":"","sources":["../../../ts/utils/io/FileDrop.ts"],"names":[],"mappings":"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"}