@fc3/mmcadi 0.1.57 → 0.1.58

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.
@@ -1 +1 @@
1
- 1767736645
1
+ 1767847432
@@ -1 +1 @@
1
- 1767736776
1
+ 1767848006
package/dist/client.js CHANGED
@@ -2280,7 +2280,12 @@
2280
2280
  var InteractionHelper = class {
2281
2281
  constructor() {
2282
2282
  this.drag_start_coordinate = null;
2283
+ this.drag_current_coordinate = null;
2283
2284
  this.drag_delay_timer = null;
2285
+ this.scroll_timer = null;
2286
+ this.scroll_direction = null;
2287
+ this.last_scroll_time = null;
2288
+ this.current_scroll_y = null;
2284
2289
  }
2285
2290
  attach() {
2286
2291
  if (!this.isTouchDevice()) {
@@ -2350,7 +2355,8 @@
2350
2355
  if (coordinate === null) {
2351
2356
  return;
2352
2357
  }
2353
- this.drag_start_coordinate = coordinate;
2358
+ this.setDragStartCoordinate(coordinate);
2359
+ this.setDragCurrentCoordinate(coordinate);
2354
2360
  block.classList.add("drag-candidate");
2355
2361
  this.scheduleDelayedDrag();
2356
2362
  event.preventDefault();
@@ -2436,16 +2442,20 @@
2436
2442
  }
2437
2443
  this.demoteAllDragCandidates();
2438
2444
  this.scheduleDelayedDrag();
2445
+ this.setDragCurrentCoordinate(current_coordinate);
2446
+ this.updateDragTargets();
2447
+ if (this.isDragging()) {
2448
+ event.preventDefault();
2449
+ }
2450
+ }
2451
+ updateDragTargets() {
2439
2452
  const raw_targets = document.querySelectorAll(".dragging");
2440
2453
  const drag_target_blocks = Array.from(raw_targets);
2441
2454
  drag_target_blocks.forEach((target_block) => {
2442
- this.translateDragTargetBlock(target_block, current_coordinate);
2455
+ this.updateDragTarget(target_block);
2443
2456
  });
2444
- if (drag_target_blocks.length > 0) {
2445
- event.preventDefault();
2446
- }
2447
2457
  }
2448
- translateDragTargetBlock(block, current_coordinate) {
2458
+ updateDragTarget(block) {
2449
2459
  const x_attribute = block.getAttribute("data-drag-start-x");
2450
2460
  const y_attribute = block.getAttribute("data-drag-start-y");
2451
2461
  if (x_attribute === null || y_attribute === null) {
@@ -2465,17 +2475,36 @@
2465
2475
  `);
2466
2476
  }
2467
2477
  const start_coordinate = this.getDragStartCoordinate();
2478
+ const current_coordinate = this.getDragCurrentCoordinate();
2468
2479
  if (start_coordinate === null) {
2469
2480
  throw new import_errors8.InvariantViolation(`
2470
2481
  Tried to translate drag target, but drag start coordinate was null
2471
2482
  `);
2472
2483
  }
2484
+ if (current_coordinate === null) {
2485
+ throw new import_errors8.InvariantViolation(`
2486
+ Tried to translate drag target, but drag current coordinate was null
2487
+ `);
2488
+ }
2473
2489
  const { x: start_x, y: start_y } = start_coordinate;
2474
2490
  const { x: current_x, y: current_y } = current_coordinate;
2475
2491
  const x_delta = current_x - start_x;
2476
2492
  const y_delta = current_y - start_y;
2493
+ const container = document.querySelector("main");
2494
+ if (container === null) {
2495
+ throw new import_errors8.InvariantViolation(`
2496
+ Unable to find <main> container element in the DOM
2497
+ `);
2498
+ }
2499
+ const container_rect = container.getBoundingClientRect();
2477
2500
  const new_x = parsed_x + x_delta;
2478
- const new_y = parsed_y + y_delta;
2501
+ const new_y = Math.max(
2502
+ container_rect.top,
2503
+ Math.min(
2504
+ parsed_y + y_delta,
2505
+ container_rect.bottom
2506
+ )
2507
+ );
2479
2508
  block.style.left = `${new_x}px`;
2480
2509
  block.style.top = `${new_y}px`;
2481
2510
  const block_rect = block.getBoundingClientRect();
@@ -2506,6 +2535,91 @@
2506
2535
  }
2507
2536
  }
2508
2537
  }
2538
+ if (block_rect.top < 0) {
2539
+ this.startScrollingUp();
2540
+ } else if (block_rect.bottom > window.innerHeight) {
2541
+ this.startScrollingDown();
2542
+ } else {
2543
+ this.stopScrolling();
2544
+ }
2545
+ }
2546
+ stopScrolling() {
2547
+ this.setScrollDirection(null);
2548
+ }
2549
+ startScrollingUp() {
2550
+ this.setScrollDirection("up" /* UP */);
2551
+ }
2552
+ startScrollingDown() {
2553
+ this.setScrollDirection("down" /* DOWN */);
2554
+ }
2555
+ setScrollDirection(scroll_direction) {
2556
+ if (this.scroll_direction === scroll_direction) {
2557
+ return;
2558
+ }
2559
+ this.scroll_direction = scroll_direction;
2560
+ if (scroll_direction === null) {
2561
+ this.last_scroll_time = null;
2562
+ this.current_scroll_y = null;
2563
+ } else {
2564
+ this.last_scroll_time = Date.now();
2565
+ this.current_scroll_y = window.scrollY;
2566
+ this.scheduleScroll();
2567
+ }
2568
+ }
2569
+ getScrollDirection() {
2570
+ return this.scroll_direction;
2571
+ }
2572
+ setLastScrollTime(time) {
2573
+ this.last_scroll_time = time;
2574
+ }
2575
+ getLastScrollTime() {
2576
+ if (this.last_scroll_time === null) {
2577
+ throw new import_errors8.InvariantViolation(`
2578
+ Tried to read last scroll time, but it was not set
2579
+ `);
2580
+ }
2581
+ return this.last_scroll_time;
2582
+ }
2583
+ scheduleScroll() {
2584
+ if (this.scroll_timer) {
2585
+ window.cancelAnimationFrame(this.scroll_timer);
2586
+ this.scroll_timer = null;
2587
+ }
2588
+ this.scroll_timer = window.requestAnimationFrame(() => {
2589
+ this.scroll();
2590
+ });
2591
+ }
2592
+ scroll() {
2593
+ if (!this.isDragging()) {
2594
+ return;
2595
+ }
2596
+ const scroll_direction = this.getScrollDirection();
2597
+ if (scroll_direction === null) {
2598
+ return;
2599
+ }
2600
+ const last_scroll_time = this.getLastScrollTime();
2601
+ const now = Date.now();
2602
+ const elapsed_time = now - last_scroll_time;
2603
+ const scroll_speed_per_second = window.innerHeight / 2;
2604
+ const time_ratio = elapsed_time / import_time.TimeInterval.ONE_SECOND;
2605
+ const scroll_amount = scroll_speed_per_second * time_ratio;
2606
+ const scroll_y = this.getCurrentScrollY();
2607
+ const sign = scroll_direction === "up" /* UP */ ? -1 : 1;
2608
+ const new_scroll_y = Math.max(
2609
+ 0,
2610
+ Math.min(
2611
+ document.documentElement.scrollHeight,
2612
+ scroll_y + scroll_amount * sign
2613
+ )
2614
+ );
2615
+ this.setCurrentScrollY(new_scroll_y);
2616
+ this.setLastScrollTime(now);
2617
+ const window_moved = new_scroll_y !== scroll_y;
2618
+ if (window_moved) {
2619
+ window.scrollTo(0, new_scroll_y);
2620
+ this.updateDragTargets();
2621
+ }
2622
+ this.scheduleScroll();
2509
2623
  }
2510
2624
  getGhostForBlock(block) {
2511
2625
  const index_path = get_index_path_for_element_default(block);
@@ -2549,12 +2663,16 @@
2549
2663
  if (index === -1) {
2550
2664
  throw new import_errors8.InvariantViolation("Unable to locate ghost within siblings");
2551
2665
  }
2666
+ index++;
2552
2667
  while (index < siblings.length) {
2553
- index++;
2554
- const sibling = siblings[index];
2668
+ const sibling = siblings[index++];
2555
2669
  if (sibling === block) {
2556
2670
  continue;
2557
2671
  }
2672
+ if (sibling === void 0) {
2673
+ console.log(sibling);
2674
+ console.log(siblings);
2675
+ }
2558
2676
  const { classList } = sibling;
2559
2677
  if (!classList.contains("block")) {
2560
2678
  continue;
@@ -2698,6 +2816,26 @@
2698
2816
  getDragStartCoordinate() {
2699
2817
  return this.drag_start_coordinate;
2700
2818
  }
2819
+ setDragStartCoordinate(coordinate) {
2820
+ this.drag_start_coordinate = coordinate;
2821
+ }
2822
+ getDragCurrentCoordinate() {
2823
+ return this.drag_current_coordinate;
2824
+ }
2825
+ setDragCurrentCoordinate(coordinate) {
2826
+ this.drag_current_coordinate = coordinate;
2827
+ }
2828
+ getCurrentScrollY() {
2829
+ if (this.current_scroll_y === null) {
2830
+ throw new import_errors8.InvariantViolation(`
2831
+ Tried to read current scroll y, but it was not set
2832
+ `);
2833
+ }
2834
+ return this.current_scroll_y;
2835
+ }
2836
+ setCurrentScrollY(scroll_y) {
2837
+ this.current_scroll_y = scroll_y;
2838
+ }
2701
2839
  };
2702
2840
  var interaction_default = InteractionHelper;
2703
2841
 
@@ -1,6 +1,11 @@
1
1
  declare class InteractionHelper {
2
2
  private drag_start_coordinate;
3
+ private drag_current_coordinate;
3
4
  private drag_delay_timer;
5
+ private scroll_timer;
6
+ private scroll_direction;
7
+ private last_scroll_time;
8
+ private current_scroll_y;
4
9
  constructor();
5
10
  attach(): void;
6
11
  isDragging(): boolean;
@@ -15,7 +20,17 @@ declare class InteractionHelper {
15
20
  private beginDelayedDrag;
16
21
  private handleNativeDragStart;
17
22
  private handleTouchMove;
18
- private translateDragTargetBlock;
23
+ private updateDragTargets;
24
+ private updateDragTarget;
25
+ private stopScrolling;
26
+ private startScrollingUp;
27
+ private startScrollingDown;
28
+ private setScrollDirection;
29
+ private getScrollDirection;
30
+ private setLastScrollTime;
31
+ private getLastScrollTime;
32
+ private scheduleScroll;
33
+ private scroll;
19
34
  private getGhostForBlock;
20
35
  private getPreviousBlock;
21
36
  private getNextBlock;
@@ -28,5 +43,10 @@ declare class InteractionHelper {
28
43
  private submitReposition;
29
44
  private getEventCoordinate;
30
45
  private getDragStartCoordinate;
46
+ private setDragStartCoordinate;
47
+ private getDragCurrentCoordinate;
48
+ private setDragCurrentCoordinate;
49
+ private getCurrentScrollY;
50
+ private setCurrentScrollY;
31
51
  }
32
52
  export default InteractionHelper;
@@ -7,10 +7,20 @@ const time_1 = require("@fc3/time");
7
7
  const errors_1 = require("@fc3/errors");
8
8
  const action_type_1 = __importDefault(require("./../../enum/action-type.js"));
9
9
  const get_index_path_for_element_1 = __importDefault(require("./../utility/get-index-path-for-element.js"));
10
+ var ScrollDirection;
11
+ (function (ScrollDirection) {
12
+ ScrollDirection["UP"] = "up";
13
+ ScrollDirection["DOWN"] = "down";
14
+ })(ScrollDirection || (ScrollDirection = {}));
10
15
  class InteractionHelper {
11
16
  constructor() {
12
17
  this.drag_start_coordinate = null;
18
+ this.drag_current_coordinate = null;
13
19
  this.drag_delay_timer = null;
20
+ this.scroll_timer = null;
21
+ this.scroll_direction = null;
22
+ this.last_scroll_time = null;
23
+ this.current_scroll_y = null;
14
24
  }
15
25
  attach() {
16
26
  if (!this.isTouchDevice()) {
@@ -84,7 +94,8 @@ class InteractionHelper {
84
94
  if (coordinate === null) {
85
95
  return;
86
96
  }
87
- this.drag_start_coordinate = coordinate;
97
+ this.setDragStartCoordinate(coordinate);
98
+ this.setDragCurrentCoordinate(coordinate);
88
99
  block.classList.add('drag-candidate');
89
100
  this.scheduleDelayedDrag();
90
101
  event.preventDefault();
@@ -170,16 +181,20 @@ class InteractionHelper {
170
181
  }
171
182
  this.demoteAllDragCandidates();
172
183
  this.scheduleDelayedDrag();
184
+ this.setDragCurrentCoordinate(current_coordinate);
185
+ this.updateDragTargets();
186
+ if (this.isDragging()) {
187
+ event.preventDefault();
188
+ }
189
+ }
190
+ updateDragTargets() {
173
191
  const raw_targets = document.querySelectorAll('.dragging');
174
192
  const drag_target_blocks = Array.from(raw_targets);
175
193
  drag_target_blocks.forEach((target_block) => {
176
- this.translateDragTargetBlock(target_block, current_coordinate);
194
+ this.updateDragTarget(target_block);
177
195
  });
178
- if (drag_target_blocks.length > 0) {
179
- event.preventDefault();
180
- }
181
196
  }
182
- translateDragTargetBlock(block, current_coordinate) {
197
+ updateDragTarget(block) {
183
198
  const x_attribute = block.getAttribute('data-drag-start-x');
184
199
  const y_attribute = block.getAttribute('data-drag-start-y');
185
200
  if (x_attribute === null || y_attribute === null) {
@@ -199,17 +214,30 @@ class InteractionHelper {
199
214
  `);
200
215
  }
201
216
  const start_coordinate = this.getDragStartCoordinate();
217
+ const current_coordinate = this.getDragCurrentCoordinate();
202
218
  if (start_coordinate === null) {
203
219
  throw new errors_1.InvariantViolation(`
204
220
  Tried to translate drag target, but drag start coordinate was null
205
221
  `);
206
222
  }
223
+ if (current_coordinate === null) {
224
+ throw new errors_1.InvariantViolation(`
225
+ Tried to translate drag target, but drag current coordinate was null
226
+ `);
227
+ }
207
228
  const { x: start_x, y: start_y } = start_coordinate;
208
229
  const { x: current_x, y: current_y } = current_coordinate;
209
230
  const x_delta = current_x - start_x;
210
231
  const y_delta = current_y - start_y;
232
+ const container = document.querySelector('main');
233
+ if (container === null) {
234
+ throw new errors_1.InvariantViolation(`
235
+ Unable to find <main> container element in the DOM
236
+ `);
237
+ }
238
+ const container_rect = container.getBoundingClientRect();
211
239
  const new_x = parsed_x + x_delta;
212
- const new_y = parsed_y + y_delta;
240
+ const new_y = Math.max(container_rect.top, Math.min(parsed_y + y_delta, container_rect.bottom));
213
241
  block.style.left = `${new_x}px`;
214
242
  block.style.top = `${new_y}px`;
215
243
  const block_rect = block.getBoundingClientRect();
@@ -240,6 +268,88 @@ class InteractionHelper {
240
268
  }
241
269
  }
242
270
  }
271
+ if (block_rect.top < 0) {
272
+ this.startScrollingUp();
273
+ }
274
+ else if (block_rect.bottom > window.innerHeight) {
275
+ this.startScrollingDown();
276
+ }
277
+ else {
278
+ this.stopScrolling();
279
+ }
280
+ }
281
+ stopScrolling() {
282
+ this.setScrollDirection(null);
283
+ }
284
+ startScrollingUp() {
285
+ this.setScrollDirection(ScrollDirection.UP);
286
+ }
287
+ startScrollingDown() {
288
+ this.setScrollDirection(ScrollDirection.DOWN);
289
+ }
290
+ setScrollDirection(scroll_direction) {
291
+ if (this.scroll_direction === scroll_direction) {
292
+ return;
293
+ }
294
+ this.scroll_direction = scroll_direction;
295
+ if (scroll_direction === null) {
296
+ this.last_scroll_time = null;
297
+ this.current_scroll_y = null;
298
+ }
299
+ else {
300
+ this.last_scroll_time = Date.now();
301
+ this.current_scroll_y = window.scrollY;
302
+ this.scheduleScroll();
303
+ }
304
+ }
305
+ getScrollDirection() {
306
+ return this.scroll_direction;
307
+ }
308
+ setLastScrollTime(time) {
309
+ this.last_scroll_time = time;
310
+ }
311
+ getLastScrollTime() {
312
+ if (this.last_scroll_time === null) {
313
+ throw new errors_1.InvariantViolation(`
314
+ Tried to read last scroll time, but it was not set
315
+ `);
316
+ }
317
+ return this.last_scroll_time;
318
+ }
319
+ scheduleScroll() {
320
+ if (this.scroll_timer) {
321
+ window.cancelAnimationFrame(this.scroll_timer);
322
+ this.scroll_timer = null;
323
+ }
324
+ this.scroll_timer = window.requestAnimationFrame(() => {
325
+ this.scroll();
326
+ });
327
+ }
328
+ scroll() {
329
+ if (!this.isDragging()) {
330
+ return;
331
+ }
332
+ const scroll_direction = this.getScrollDirection();
333
+ if (scroll_direction === null) {
334
+ return;
335
+ }
336
+ const last_scroll_time = this.getLastScrollTime();
337
+ const now = Date.now();
338
+ const elapsed_time = now - last_scroll_time;
339
+ const scroll_speed_per_second = window.innerHeight / 2;
340
+ const time_ratio = elapsed_time / time_1.TimeInterval.ONE_SECOND;
341
+ const scroll_amount = scroll_speed_per_second * time_ratio;
342
+ const scroll_y = this.getCurrentScrollY();
343
+ const sign = scroll_direction === ScrollDirection.UP ? -1 : 1;
344
+ const new_scroll_y = Math.max(0, Math.min(document.documentElement.scrollHeight, scroll_y + (scroll_amount * sign)));
345
+ this.setCurrentScrollY(new_scroll_y);
346
+ this.setLastScrollTime(now);
347
+ const window_moved = new_scroll_y !== scroll_y;
348
+ if (window_moved) {
349
+ window.scrollTo(0, new_scroll_y);
350
+ this.updateDragTargets();
351
+ }
352
+ this.scheduleScroll();
243
353
  }
244
354
  getGhostForBlock(block) {
245
355
  const index_path = (0, get_index_path_for_element_1.default)(block);
@@ -283,12 +393,17 @@ class InteractionHelper {
283
393
  if (index === -1) {
284
394
  throw new errors_1.InvariantViolation('Unable to locate ghost within siblings');
285
395
  }
396
+ // Advance to the next sibling.
397
+ index++;
286
398
  while (index < siblings.length) {
287
- index++;
288
- const sibling = siblings[index];
399
+ const sibling = siblings[index++];
289
400
  if (sibling === block) {
290
401
  continue;
291
402
  }
403
+ if (sibling === undefined) {
404
+ console.log(sibling);
405
+ console.log(siblings);
406
+ }
292
407
  const { classList } = sibling;
293
408
  if (!classList.contains('block')) {
294
409
  continue;
@@ -433,6 +548,26 @@ class InteractionHelper {
433
548
  getDragStartCoordinate() {
434
549
  return this.drag_start_coordinate;
435
550
  }
551
+ setDragStartCoordinate(coordinate) {
552
+ this.drag_start_coordinate = coordinate;
553
+ }
554
+ getDragCurrentCoordinate() {
555
+ return this.drag_current_coordinate;
556
+ }
557
+ setDragCurrentCoordinate(coordinate) {
558
+ this.drag_current_coordinate = coordinate;
559
+ }
560
+ getCurrentScrollY() {
561
+ if (this.current_scroll_y === null) {
562
+ throw new errors_1.InvariantViolation(`
563
+ Tried to read current scroll y, but it was not set
564
+ `);
565
+ }
566
+ return this.current_scroll_y;
567
+ }
568
+ setCurrentScrollY(scroll_y) {
569
+ this.current_scroll_y = scroll_y;
570
+ }
436
571
  }
437
572
  exports.default = InteractionHelper;
438
573
  //# sourceMappingURL=interaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../../src/client/helper/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../../src/client/helper/interaction.ts"],"names":[],"mappings":"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"}