@fc3/mmcadi 0.1.56 → 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.
@@ -7,23 +7,37 @@ 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
- document.addEventListener('pointerdown', (event) => {
17
- this.handlePointerDown(event);
26
+ if (!this.isTouchDevice()) {
27
+ return;
28
+ }
29
+ this.applyNonInteractiveClasses();
30
+ document.addEventListener('touchstart', (event) => {
31
+ this.handleTouchStart(event);
18
32
  }, { capture: true });
19
- document.addEventListener('pointermove', (event) => {
20
- this.handlePointerMove(event);
33
+ document.addEventListener('touchmove', (event) => {
34
+ this.handleTouchMove(event);
21
35
  }, { capture: true, passive: false });
22
- document.addEventListener('pointerup', (event) => {
23
- this.handlePointerUp(event);
36
+ document.addEventListener('touchend', (event) => {
37
+ this.handleTouchEnd(event);
24
38
  }, { capture: true });
25
- document.addEventListener('pointercancel', (event) => {
26
- this.handlePointerCancel(event);
39
+ document.addEventListener('click', (event) => {
40
+ this.handleGenericClick(event);
27
41
  }, { capture: true });
28
42
  document.addEventListener('dragstart', (event) => {
29
43
  this.handleNativeDragStart(event);
@@ -33,42 +47,58 @@ class InteractionHelper {
33
47
  const elements = Array.from(document.querySelectorAll('.dragging'));
34
48
  return elements.length > 0;
35
49
  }
36
- handlePointerDown(event) {
50
+ applyNonInteractiveClasses() {
51
+ const raw_elements = document.querySelectorAll('section.block');
52
+ const elements = Array.from(raw_elements);
53
+ elements.forEach((element) => {
54
+ element.classList.add('no-interaction');
55
+ });
56
+ }
57
+ isTouchDevice() {
58
+ if (Math.random() > 0) {
59
+ return true;
60
+ }
61
+ const pointer_matches = window.matchMedia('(pointer: coarse)').matches;
62
+ const hover_none_matches = window.matchMedia('(hover: none)').matches;
63
+ return pointer_matches && hover_none_matches;
64
+ }
65
+ handleTouchStart(event) {
37
66
  const { target } = event;
38
67
  if (target === null) {
39
68
  return;
40
69
  }
41
70
  const target_element = target;
42
71
  let current_element = target_element;
43
- while (current_element) {
72
+ while (current_element instanceof HTMLElement) {
44
73
  const attribute = current_element.getAttribute('data-role');
45
74
  if (attribute === 'block_activation') {
46
75
  break;
47
76
  }
48
77
  // Tricky. Bail out early if we detect an anchor element in the event
49
- // ancestry that is NOT an all-block-encompassing link (eg, a folder block).
78
+ // ancestry that is NOT an all-block-encompassing link (eg, a folder block)
79
+ // the existence of which was ruled out by checking its data-role
80
+ // attribute above (folder and link blocks both have "block_activation")
50
81
  if (current_element instanceof HTMLAnchorElement) {
51
82
  return;
52
83
  }
53
84
  current_element = current_element.parentNode;
54
- if (!(current_element instanceof HTMLElement)) {
55
- break;
56
- }
57
85
  }
58
86
  const block = target_element.closest('section.block');
59
87
  if (block === null) {
60
88
  return;
61
89
  }
62
- if (target_element.closest('button, input, textarea, select, label, form')) {
90
+ if (target_element.closest('input, textarea, select, label, form')) {
63
91
  return;
64
92
  }
65
93
  const coordinate = this.getEventCoordinate(event);
66
94
  if (coordinate === null) {
67
95
  return;
68
96
  }
69
- this.drag_start_coordinate = coordinate;
97
+ this.setDragStartCoordinate(coordinate);
98
+ this.setDragCurrentCoordinate(coordinate);
70
99
  block.classList.add('drag-candidate');
71
100
  this.scheduleDelayedDrag();
101
+ event.preventDefault();
72
102
  }
73
103
  scheduleDelayedDrag() {
74
104
  this.cancelDelayedDrag();
@@ -80,7 +110,8 @@ class InteractionHelper {
80
110
  clearTimeout(this.drag_delay_timer);
81
111
  }
82
112
  }
83
- removeClassFromAllElements(class_name) {
113
+ demoteAllDragCandidates() {
114
+ const class_name = 'drag-candidate';
84
115
  const raw_elements = document.querySelectorAll(`.${class_name}`);
85
116
  const elements = Array.from(raw_elements);
86
117
  elements.forEach((element) => {
@@ -88,7 +119,22 @@ class InteractionHelper {
88
119
  });
89
120
  return elements;
90
121
  }
122
+ createDragMask() {
123
+ const mask = document.createElement('div');
124
+ mask.classList.add('drag-mask');
125
+ document.body.appendChild(mask);
126
+ document.body.style.overflow = 'hidden';
127
+ }
128
+ hideDragMask() {
129
+ const raw_elements = document.querySelectorAll('.drag-mask');
130
+ const elements = Array.from(raw_elements);
131
+ elements.forEach((element) => {
132
+ document.body.removeChild(element);
133
+ });
134
+ document.body.style.overflow = 'auto';
135
+ }
91
136
  beginDelayedDrag() {
137
+ this.createDragMask();
92
138
  const raw_candidates = document.querySelectorAll('.drag-candidate');
93
139
  const candidates = Array.from(raw_candidates);
94
140
  candidates.forEach((candidate) => {
@@ -112,6 +158,7 @@ class InteractionHelper {
112
158
  });
113
159
  candidate.setAttribute('data-drag-start-x', rect.left.toString());
114
160
  candidate.setAttribute('data-drag-start-y', rect.top.toString());
161
+ candidate.setAttribute('data-dragging', 'true');
115
162
  candidate.classList.add('dragging');
116
163
  parentNode.insertBefore(ghost, candidate);
117
164
  });
@@ -126,39 +173,28 @@ class InteractionHelper {
126
173
  event.preventDefault();
127
174
  }
128
175
  }
129
- handlePointerMove(event) {
176
+ handleTouchMove(event) {
130
177
  const current_coordinate = this.getEventCoordinate(event);
131
178
  const start_coordinate = this.getDragStartCoordinate();
132
179
  if (start_coordinate === null || current_coordinate === null) {
133
180
  return;
134
181
  }
135
- const { target } = event;
136
- if (target !== null) {
137
- const target_element = target;
138
- const block = target_element.closest('section.block');
139
- if (block) {
140
- if (!block.classList.contains('dragging')) {
141
- block.classList.add('drag-candidate');
142
- }
143
- }
144
- }
145
- const { x: start_x, y: start_y } = start_coordinate;
146
- const { x: current_x, y: current_y } = current_coordinate;
147
- const distance = Math.hypot(current_x - start_x, current_y - start_y);
148
- if (distance > 25) {
149
- this.removeClassFromAllElements('drag-candidate');
150
- }
182
+ this.demoteAllDragCandidates();
151
183
  this.scheduleDelayedDrag();
184
+ this.setDragCurrentCoordinate(current_coordinate);
185
+ this.updateDragTargets();
186
+ if (this.isDragging()) {
187
+ event.preventDefault();
188
+ }
189
+ }
190
+ updateDragTargets() {
152
191
  const raw_targets = document.querySelectorAll('.dragging');
153
192
  const drag_target_blocks = Array.from(raw_targets);
154
193
  drag_target_blocks.forEach((target_block) => {
155
- this.translateDragTargetBlock(target_block, current_coordinate);
194
+ this.updateDragTarget(target_block);
156
195
  });
157
- if (drag_target_blocks.length > 0) {
158
- event.preventDefault();
159
- }
160
196
  }
161
- translateDragTargetBlock(block, current_coordinate) {
197
+ updateDragTarget(block) {
162
198
  const x_attribute = block.getAttribute('data-drag-start-x');
163
199
  const y_attribute = block.getAttribute('data-drag-start-y');
164
200
  if (x_attribute === null || y_attribute === null) {
@@ -178,17 +214,30 @@ class InteractionHelper {
178
214
  `);
179
215
  }
180
216
  const start_coordinate = this.getDragStartCoordinate();
217
+ const current_coordinate = this.getDragCurrentCoordinate();
181
218
  if (start_coordinate === null) {
182
219
  throw new errors_1.InvariantViolation(`
183
220
  Tried to translate drag target, but drag start coordinate was null
184
221
  `);
185
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
+ }
186
228
  const { x: start_x, y: start_y } = start_coordinate;
187
229
  const { x: current_x, y: current_y } = current_coordinate;
188
230
  const x_delta = current_x - start_x;
189
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();
190
239
  const new_x = parsed_x + x_delta;
191
- 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));
192
241
  block.style.left = `${new_x}px`;
193
242
  block.style.top = `${new_y}px`;
194
243
  const block_rect = block.getBoundingClientRect();
@@ -219,6 +268,88 @@ class InteractionHelper {
219
268
  }
220
269
  }
221
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();
222
353
  }
223
354
  getGhostForBlock(block) {
224
355
  const index_path = (0, get_index_path_for_element_1.default)(block);
@@ -262,12 +393,17 @@ class InteractionHelper {
262
393
  if (index === -1) {
263
394
  throw new errors_1.InvariantViolation('Unable to locate ghost within siblings');
264
395
  }
396
+ // Advance to the next sibling.
397
+ index++;
265
398
  while (index < siblings.length) {
266
- index++;
267
- const sibling = siblings[index];
399
+ const sibling = siblings[index++];
268
400
  if (sibling === block) {
269
401
  continue;
270
402
  }
403
+ if (sibling === undefined) {
404
+ console.log(sibling);
405
+ console.log(siblings);
406
+ }
271
407
  const { classList } = sibling;
272
408
  if (!classList.contains('block')) {
273
409
  continue;
@@ -279,26 +415,36 @@ class InteractionHelper {
279
415
  }
280
416
  return null;
281
417
  }
282
- handlePointerUp(event) {
418
+ handleTouchEnd(event) {
283
419
  this.stopDragging();
284
420
  }
285
- handlePointerCancel(event) {
286
- this.stopDragging();
421
+ handleGenericClick(event) {
422
+ const { target } = event;
423
+ if (target === null) {
424
+ return;
425
+ }
426
+ const target_element = target;
427
+ const block = target_element.closest('section.block');
428
+ if (block === null) {
429
+ return;
430
+ }
431
+ const attribute = block.getAttribute('data-dragging');
432
+ if (attribute === 'true') {
433
+ block.removeAttribute('data-dragging');
434
+ event.preventDefault();
435
+ event.stopPropagation();
436
+ }
287
437
  }
288
438
  stopDragging() {
289
- this.showFullscreenBlockingOverlay();
290
439
  this.stopDraggingAsync().then(() => {
291
- this.hideFullscreenBlockingOverlay();
440
+ this.hideDragMask();
292
441
  });
293
442
  }
294
- showFullscreenBlockingOverlay() {
295
- }
296
- hideFullscreenBlockingOverlay() {
297
- }
298
443
  async stopDraggingAsync() {
299
444
  this.cancelDelayedDrag();
300
- this.removeClassFromAllElements('drag-candidate');
301
- const dragging_elements = this.removeClassFromAllElements('dragging');
445
+ this.demoteAllDragCandidates();
446
+ const raw_elements = document.querySelectorAll('.dragging');
447
+ const dragging_elements = Array.from(raw_elements);
302
448
  let index = 0;
303
449
  while (index < dragging_elements.length) {
304
450
  const element = dragging_elements[index++];
@@ -306,8 +452,8 @@ class InteractionHelper {
306
452
  const source_index_path = (0, get_index_path_for_element_1.default)(element);
307
453
  const target_index_path = this.getIndexPathForGhost(ghost);
308
454
  await this.submitReposition(source_index_path, target_index_path);
309
- ghost.replaceWith(element);
310
455
  Object.assign(element.style, {
456
+ opacity: '0',
311
457
  left: '',
312
458
  top: '',
313
459
  right: '',
@@ -315,41 +461,55 @@ class InteractionHelper {
315
461
  width: '',
316
462
  height: ''
317
463
  });
464
+ element.classList.remove('dragging');
465
+ ghost.replaceWith(element);
466
+ element.style.opacity = '1';
318
467
  }
468
+ this.recomputeIndexPaths();
319
469
  }
320
- getIndexPathSafe(element) {
321
- const is_block = element.classList.contains('block');
322
- if (!is_block) {
323
- return null;
324
- }
325
- const is_ghost = element.classList.contains('ghost');
326
- if (is_ghost) {
327
- return null;
328
- }
329
- return (0, get_index_path_for_element_1.default)(element);
470
+ recomputeIndexPaths() {
471
+ const raw_blocks = document.querySelectorAll('section.block');
472
+ const blocks = Array.from(raw_blocks);
473
+ let index = 0;
474
+ blocks.forEach((block) => {
475
+ const block_parent = block.parentNode;
476
+ if (block_parent === null) {
477
+ throw new errors_1.InvariantViolation(`
478
+ Tried to read block parent element, but it was not set
479
+ `);
480
+ }
481
+ const multicolumn_ancestor = block_parent.closest('section.block.multi_column');
482
+ if (multicolumn_ancestor === null) {
483
+ const index_path = index.toString();
484
+ block.setAttribute('data-index-path', index_path);
485
+ index++;
486
+ }
487
+ });
330
488
  }
331
489
  getIndexPathForGhost(ghost) {
332
- let current_child = ghost;
333
- while (current_child) {
334
- const index_path = this.getIndexPathSafe(current_child);
335
- if (index_path !== null) {
336
- return index_path;
490
+ const parent_element = ghost.parentNode;
491
+ if (parent_element === null) {
492
+ throw new errors_1.InvariantViolation(`
493
+ Tried to read parent element for ghost, but it was not set
494
+ `);
495
+ }
496
+ const siblings = Array.from(parent_element.children);
497
+ let index = 0;
498
+ let effective_index = 0;
499
+ while (index < siblings.length) {
500
+ const sibling = siblings[index++];
501
+ if (!sibling.classList.contains('block')) {
502
+ continue;
337
503
  }
338
- current_child = current_child.nextElementSibling;
339
- }
340
- current_child = ghost;
341
- while (current_child) {
342
- const index_path = this.getIndexPathSafe(current_child);
343
- if (index_path !== null) {
344
- // TODO: This will need to change when I implement drag-reordering of
345
- // multicolumn layouts.
346
- const index_major_version = parseInt(index_path);
347
- const next_version = index_major_version + 1;
348
- return next_version.toString();
504
+ if (sibling.classList.contains('dragging')) {
505
+ continue;
506
+ }
507
+ if (sibling === ghost) {
508
+ break;
349
509
  }
350
- current_child = current_child.previousElementSibling;
510
+ effective_index++;
351
511
  }
352
- return '0';
512
+ return effective_index.toString();
353
513
  }
354
514
  async submitReposition(source_index_path, target_index_path) {
355
515
  const form = new FormData();
@@ -372,14 +532,42 @@ class InteractionHelper {
372
532
  }
373
533
  }
374
534
  getEventCoordinate(event) {
535
+ const { touches } = event;
536
+ if (touches === undefined) {
537
+ return null;
538
+ }
539
+ const touch = touches[0];
540
+ if (touch === undefined) {
541
+ return null;
542
+ }
375
543
  return {
376
- x: event.clientX,
377
- y: event.clientY
544
+ x: touch.clientX,
545
+ y: touch.clientY
378
546
  };
379
547
  }
380
548
  getDragStartCoordinate() {
381
549
  return this.drag_start_coordinate;
382
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
+ }
383
571
  }
384
572
  exports.default = InteractionHelper;
385
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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"}
@@ -318,6 +318,12 @@ class BaseResultSerializer extends server_1.HtmlResultSerializer {
318
318
  .inline-block {
319
319
  display: inline-block !important;
320
320
  }
321
+
322
+ .no-interaction {
323
+ -webkit-user-select: none !important;
324
+ user-select: none !important;
325
+ -webkit-touch-callout: none !important;
326
+ }
321
327
  </style>
322
328
  `;
323
329
  }
@@ -505,6 +511,28 @@ class BaseResultSerializer extends server_1.HtmlResultSerializer {
505
511
  box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.5);
506
512
  }
507
513
 
514
+ .drag-mask {
515
+ position: fixed;
516
+ z-index: 1000;
517
+ -webkit-user-select: none;
518
+ user-select: none;
519
+ -webkit-touch-callout: none;
520
+ top: 0px;
521
+ bottom: 0px;
522
+ left: 0px;
523
+ right: 0px;
524
+ }
525
+
526
+ section.drag-candidate {
527
+ -webkit-user-select: none;
528
+ user-select: none;
529
+ -webkit-touch-callout: none;
530
+ }
531
+
532
+ section.dragging a, section.drag-candidate a {
533
+ -webkit-touch-callout: none;
534
+ }
535
+
508
536
  .section-wrapper {
509
537
  max-width: 720px;
510
538
  margin: 0 auto;