mol_plot_all 1.2.132 → 1.2.136

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/node.test.js CHANGED
@@ -3313,11 +3313,21 @@ var $;
3313
3313
  return val;
3314
3314
  return null;
3315
3315
  }
3316
+ draw_start(event) {
3317
+ if (event !== undefined)
3318
+ return event;
3319
+ return null;
3320
+ }
3316
3321
  draw(event) {
3317
3322
  if (event !== undefined)
3318
3323
  return event;
3319
3324
  return null;
3320
3325
  }
3326
+ draw_end(event) {
3327
+ if (event !== undefined)
3328
+ return event;
3329
+ return null;
3330
+ }
3321
3331
  style() {
3322
3332
  return {
3323
3333
  ...super.style(),
@@ -3331,7 +3341,7 @@ var $;
3331
3341
  pointerdown: (event) => this.event_start(event),
3332
3342
  pointermove: (event) => this.event_move(event),
3333
3343
  pointerup: (event) => this.event_end(event),
3334
- pointerleave: (event) => this.event_end(event),
3344
+ pointerleave: (event) => this.event_leave(event),
3335
3345
  wheel: (event) => this.event_wheel(event)
3336
3346
  };
3337
3347
  }
@@ -3350,6 +3360,11 @@ var $;
3350
3360
  return event;
3351
3361
  return null;
3352
3362
  }
3363
+ event_leave(event) {
3364
+ if (event !== undefined)
3365
+ return event;
3366
+ return null;
3367
+ }
3353
3368
  event_wheel(event) {
3354
3369
  if (event !== undefined)
3355
3370
  return event;
@@ -3419,9 +3434,15 @@ var $;
3419
3434
  __decorate([
3420
3435
  $.$mol_mem
3421
3436
  ], $mol_touch.prototype, "swipe_to_top", null);
3437
+ __decorate([
3438
+ $.$mol_mem
3439
+ ], $mol_touch.prototype, "draw_start", null);
3422
3440
  __decorate([
3423
3441
  $.$mol_mem
3424
3442
  ], $mol_touch.prototype, "draw", null);
3443
+ __decorate([
3444
+ $.$mol_mem
3445
+ ], $mol_touch.prototype, "draw_end", null);
3425
3446
  __decorate([
3426
3447
  $.$mol_mem
3427
3448
  ], $mol_touch.prototype, "event_start", null);
@@ -3431,6 +3452,9 @@ var $;
3431
3452
  __decorate([
3432
3453
  $.$mol_mem
3433
3454
  ], $mol_touch.prototype, "event_end", null);
3455
+ __decorate([
3456
+ $.$mol_mem
3457
+ ], $mol_touch.prototype, "event_leave", null);
3434
3458
  __decorate([
3435
3459
  $.$mol_mem
3436
3460
  ], $mol_touch.prototype, "event_wheel", null);
@@ -3454,7 +3478,7 @@ var $;
3454
3478
  const events = this.pointer_events();
3455
3479
  const touches = events.filter(e => e.pointerType === 'touch');
3456
3480
  const pens = events.filter(e => e.pointerType === 'pen');
3457
- const mouses = events.filter(e => e.pointerType === 'mouse');
3481
+ const mouses = events.filter(e => !e.pointerType || e.pointerType === 'mouse');
3458
3482
  const choosen = touches.length ? touches : pens.length ? pens : mouses;
3459
3483
  return new $.$mol_vector(...choosen.map(event => this.event_coords(event)));
3460
3484
  }
@@ -3476,11 +3500,17 @@ var $;
3476
3500
  }
3477
3501
  event_eat(event) {
3478
3502
  if (event instanceof PointerEvent) {
3479
- const events = this.pointer_events().filter(e => e.pointerId !== event.pointerId);
3480
- if (event.type !== 'pointerleave')
3503
+ const events = this.pointer_events()
3504
+ .filter(e => e instanceof PointerEvent)
3505
+ .filter(e => e.pointerId !== event.pointerId);
3506
+ if (event.type !== 'pointerup' && event.type !== 'pointerleave')
3481
3507
  events.push(event);
3482
3508
  this.pointer_events(events);
3483
- if (this.allow_zoom() && events.filter(e => e.pointerType === 'touch').length === 2) {
3509
+ const touch_count = events.filter(e => e.pointerType === 'touch').length;
3510
+ if (this.allow_zoom() && touch_count === 2) {
3511
+ return this.action_type('zoom');
3512
+ }
3513
+ if (this.action_type() === 'zoom' && touch_count === 1) {
3484
3514
  return this.action_type('zoom');
3485
3515
  }
3486
3516
  let button;
@@ -3500,6 +3530,7 @@ var $;
3500
3530
  return this.action_type('');
3501
3531
  }
3502
3532
  if (event instanceof WheelEvent) {
3533
+ this.pointer_events([event]);
3503
3534
  if (event.ctrlKey)
3504
3535
  return this.action_type('zoom');
3505
3536
  return this.action_type('pan');
@@ -3513,10 +3544,12 @@ var $;
3513
3544
  const action_type = this.event_eat(event);
3514
3545
  if (!action_type)
3515
3546
  return;
3516
- if (action_type === 'draw')
3517
- return;
3518
3547
  const coords = this.pointer_coords();
3519
3548
  this.start_pos(coords.center());
3549
+ if (action_type === 'draw') {
3550
+ this.draw_start(event);
3551
+ return;
3552
+ }
3520
3553
  this.start_distance(coords.distance());
3521
3554
  this.start_zoom(this.zoom());
3522
3555
  }
@@ -3528,14 +3561,17 @@ var $;
3528
3561
  return;
3529
3562
  const start_pan = this.start_pan();
3530
3563
  const action_type = this.event_eat(event);
3564
+ const start_pos = this.start_pos();
3531
3565
  let pos = this.pointer_center();
3532
3566
  if (!action_type)
3533
3567
  return;
3534
3568
  if (action_type === 'draw') {
3535
- this.draw(event);
3569
+ const distance = new $.$mol_vector(start_pos, pos).distance();
3570
+ if (distance >= 4) {
3571
+ this.draw(event);
3572
+ }
3536
3573
  return;
3537
3574
  }
3538
- const start_pos = this.start_pos();
3539
3575
  if (!start_pos)
3540
3576
  return;
3541
3577
  if (action_type === 'pan') {
@@ -3584,12 +3620,15 @@ var $;
3584
3620
  }
3585
3621
  }
3586
3622
  event_end(event) {
3623
+ const action = this.action_type();
3624
+ if (action === 'draw') {
3625
+ this.draw_end(event);
3626
+ }
3627
+ this.event_leave(event);
3628
+ }
3629
+ event_leave(event) {
3587
3630
  this.event_eat(event);
3588
3631
  this.dom_node().releasePointerCapture(event.pointerId);
3589
- if (!this.start_pos()) {
3590
- this.draw(event);
3591
- return;
3592
- }
3593
3632
  this.start_pos(null);
3594
3633
  }
3595
3634
  swipe_left(event) {
@@ -3832,11 +3871,21 @@ var $;
3832
3871
  allow_zoom() {
3833
3872
  return true;
3834
3873
  }
3874
+ draw_start(event) {
3875
+ if (event !== undefined)
3876
+ return event;
3877
+ return null;
3878
+ }
3835
3879
  draw(event) {
3836
3880
  if (event !== undefined)
3837
3881
  return event;
3838
3882
  return null;
3839
3883
  }
3884
+ draw_end(event) {
3885
+ if (event !== undefined)
3886
+ return event;
3887
+ return null;
3888
+ }
3840
3889
  cursor_position() {
3841
3890
  return this.Touch().pointer_center();
3842
3891
  }
@@ -3853,7 +3902,9 @@ var $;
3853
3902
  obj.allow_draw = () => this.allow_draw();
3854
3903
  obj.allow_pan = () => this.allow_pan();
3855
3904
  obj.allow_zoom = () => this.allow_zoom();
3905
+ obj.draw_start = (event) => this.draw_start(event);
3856
3906
  obj.draw = (event) => this.draw(event);
3907
+ obj.draw_end = (event) => this.draw_end(event);
3857
3908
  return obj;
3858
3909
  }
3859
3910
  }
@@ -3935,9 +3986,15 @@ var $;
3935
3986
  __decorate([
3936
3987
  $.$mol_mem
3937
3988
  ], $mol_plot_pane.prototype, "zoom", null);
3989
+ __decorate([
3990
+ $.$mol_mem
3991
+ ], $mol_plot_pane.prototype, "draw_start", null);
3938
3992
  __decorate([
3939
3993
  $.$mol_mem
3940
3994
  ], $mol_plot_pane.prototype, "draw", null);
3995
+ __decorate([
3996
+ $.$mol_mem
3997
+ ], $mol_plot_pane.prototype, "draw_end", null);
3941
3998
  __decorate([
3942
3999
  $.$mol_mem
3943
4000
  ], $mol_plot_pane.prototype, "Touch", null);