@fc3/mmcadi 0.1.55 → 0.1.57

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.
@@ -13,17 +13,21 @@ class InteractionHelper {
13
13
  this.drag_delay_timer = null;
14
14
  }
15
15
  attach() {
16
- document.addEventListener('pointerdown', (event) => {
17
- this.handlePointerDown(event);
16
+ if (!this.isTouchDevice()) {
17
+ return;
18
+ }
19
+ this.applyNonInteractiveClasses();
20
+ document.addEventListener('touchstart', (event) => {
21
+ this.handleTouchStart(event);
18
22
  }, { capture: true });
19
- document.addEventListener('pointermove', (event) => {
20
- this.handlePointerMove(event);
23
+ document.addEventListener('touchmove', (event) => {
24
+ this.handleTouchMove(event);
21
25
  }, { capture: true, passive: false });
22
- document.addEventListener('pointerup', (event) => {
23
- this.handlePointerUp(event);
26
+ document.addEventListener('touchend', (event) => {
27
+ this.handleTouchEnd(event);
24
28
  }, { capture: true });
25
- document.addEventListener('pointercancel', (event) => {
26
- this.handlePointerCancel(event);
29
+ document.addEventListener('click', (event) => {
30
+ this.handleGenericClick(event);
27
31
  }, { capture: true });
28
32
  document.addEventListener('dragstart', (event) => {
29
33
  this.handleNativeDragStart(event);
@@ -33,33 +37,47 @@ class InteractionHelper {
33
37
  const elements = Array.from(document.querySelectorAll('.dragging'));
34
38
  return elements.length > 0;
35
39
  }
36
- handlePointerDown(event) {
40
+ applyNonInteractiveClasses() {
41
+ const raw_elements = document.querySelectorAll('section.block');
42
+ const elements = Array.from(raw_elements);
43
+ elements.forEach((element) => {
44
+ element.classList.add('no-interaction');
45
+ });
46
+ }
47
+ isTouchDevice() {
48
+ if (Math.random() > 0) {
49
+ return true;
50
+ }
51
+ const pointer_matches = window.matchMedia('(pointer: coarse)').matches;
52
+ const hover_none_matches = window.matchMedia('(hover: none)').matches;
53
+ return pointer_matches && hover_none_matches;
54
+ }
55
+ handleTouchStart(event) {
37
56
  const { target } = event;
38
57
  if (target === null) {
39
58
  return;
40
59
  }
41
60
  const target_element = target;
42
61
  let current_element = target_element;
43
- while (current_element) {
62
+ while (current_element instanceof HTMLElement) {
44
63
  const attribute = current_element.getAttribute('data-role');
45
64
  if (attribute === 'block_activation') {
46
65
  break;
47
66
  }
48
67
  // 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).
68
+ // ancestry that is NOT an all-block-encompassing link (eg, a folder block)
69
+ // the existence of which was ruled out by checking its data-role
70
+ // attribute above (folder and link blocks both have "block_activation")
50
71
  if (current_element instanceof HTMLAnchorElement) {
51
72
  return;
52
73
  }
53
74
  current_element = current_element.parentNode;
54
- if (!(current_element instanceof HTMLElement)) {
55
- break;
56
- }
57
75
  }
58
76
  const block = target_element.closest('section.block');
59
77
  if (block === null) {
60
78
  return;
61
79
  }
62
- if (target_element.closest('button, input, textarea, select, label, form')) {
80
+ if (target_element.closest('input, textarea, select, label, form')) {
63
81
  return;
64
82
  }
65
83
  const coordinate = this.getEventCoordinate(event);
@@ -69,6 +87,7 @@ class InteractionHelper {
69
87
  this.drag_start_coordinate = coordinate;
70
88
  block.classList.add('drag-candidate');
71
89
  this.scheduleDelayedDrag();
90
+ event.preventDefault();
72
91
  }
73
92
  scheduleDelayedDrag() {
74
93
  this.cancelDelayedDrag();
@@ -80,7 +99,8 @@ class InteractionHelper {
80
99
  clearTimeout(this.drag_delay_timer);
81
100
  }
82
101
  }
83
- removeClassFromAllElements(class_name) {
102
+ demoteAllDragCandidates() {
103
+ const class_name = 'drag-candidate';
84
104
  const raw_elements = document.querySelectorAll(`.${class_name}`);
85
105
  const elements = Array.from(raw_elements);
86
106
  elements.forEach((element) => {
@@ -88,7 +108,22 @@ class InteractionHelper {
88
108
  });
89
109
  return elements;
90
110
  }
111
+ createDragMask() {
112
+ const mask = document.createElement('div');
113
+ mask.classList.add('drag-mask');
114
+ document.body.appendChild(mask);
115
+ document.body.style.overflow = 'hidden';
116
+ }
117
+ hideDragMask() {
118
+ const raw_elements = document.querySelectorAll('.drag-mask');
119
+ const elements = Array.from(raw_elements);
120
+ elements.forEach((element) => {
121
+ document.body.removeChild(element);
122
+ });
123
+ document.body.style.overflow = 'auto';
124
+ }
91
125
  beginDelayedDrag() {
126
+ this.createDragMask();
92
127
  const raw_candidates = document.querySelectorAll('.drag-candidate');
93
128
  const candidates = Array.from(raw_candidates);
94
129
  candidates.forEach((candidate) => {
@@ -112,6 +147,7 @@ class InteractionHelper {
112
147
  });
113
148
  candidate.setAttribute('data-drag-start-x', rect.left.toString());
114
149
  candidate.setAttribute('data-drag-start-y', rect.top.toString());
150
+ candidate.setAttribute('data-dragging', 'true');
115
151
  candidate.classList.add('dragging');
116
152
  parentNode.insertBefore(ghost, candidate);
117
153
  });
@@ -126,28 +162,13 @@ class InteractionHelper {
126
162
  event.preventDefault();
127
163
  }
128
164
  }
129
- handlePointerMove(event) {
165
+ handleTouchMove(event) {
130
166
  const current_coordinate = this.getEventCoordinate(event);
131
167
  const start_coordinate = this.getDragStartCoordinate();
132
168
  if (start_coordinate === null || current_coordinate === null) {
133
169
  return;
134
170
  }
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
- }
171
+ this.demoteAllDragCandidates();
151
172
  this.scheduleDelayedDrag();
152
173
  const raw_targets = document.querySelectorAll('.dragging');
153
174
  const drag_target_blocks = Array.from(raw_targets);
@@ -279,26 +300,36 @@ class InteractionHelper {
279
300
  }
280
301
  return null;
281
302
  }
282
- handlePointerUp(event) {
303
+ handleTouchEnd(event) {
283
304
  this.stopDragging();
284
305
  }
285
- handlePointerCancel(event) {
286
- this.stopDragging();
306
+ handleGenericClick(event) {
307
+ const { target } = event;
308
+ if (target === null) {
309
+ return;
310
+ }
311
+ const target_element = target;
312
+ const block = target_element.closest('section.block');
313
+ if (block === null) {
314
+ return;
315
+ }
316
+ const attribute = block.getAttribute('data-dragging');
317
+ if (attribute === 'true') {
318
+ block.removeAttribute('data-dragging');
319
+ event.preventDefault();
320
+ event.stopPropagation();
321
+ }
287
322
  }
288
323
  stopDragging() {
289
- this.showFullscreenBlockingOverlay();
290
324
  this.stopDraggingAsync().then(() => {
291
- this.hideFullscreenBlockingOverlay();
325
+ this.hideDragMask();
292
326
  });
293
327
  }
294
- showFullscreenBlockingOverlay() {
295
- }
296
- hideFullscreenBlockingOverlay() {
297
- }
298
328
  async stopDraggingAsync() {
299
329
  this.cancelDelayedDrag();
300
- this.removeClassFromAllElements('drag-candidate');
301
- const dragging_elements = this.removeClassFromAllElements('dragging');
330
+ this.demoteAllDragCandidates();
331
+ const raw_elements = document.querySelectorAll('.dragging');
332
+ const dragging_elements = Array.from(raw_elements);
302
333
  let index = 0;
303
334
  while (index < dragging_elements.length) {
304
335
  const element = dragging_elements[index++];
@@ -306,8 +337,8 @@ class InteractionHelper {
306
337
  const source_index_path = (0, get_index_path_for_element_1.default)(element);
307
338
  const target_index_path = this.getIndexPathForGhost(ghost);
308
339
  await this.submitReposition(source_index_path, target_index_path);
309
- ghost.replaceWith(element);
310
340
  Object.assign(element.style, {
341
+ opacity: '0',
311
342
  left: '',
312
343
  top: '',
313
344
  right: '',
@@ -315,41 +346,55 @@ class InteractionHelper {
315
346
  width: '',
316
347
  height: ''
317
348
  });
349
+ element.classList.remove('dragging');
350
+ ghost.replaceWith(element);
351
+ element.style.opacity = '1';
318
352
  }
353
+ this.recomputeIndexPaths();
319
354
  }
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);
355
+ recomputeIndexPaths() {
356
+ const raw_blocks = document.querySelectorAll('section.block');
357
+ const blocks = Array.from(raw_blocks);
358
+ let index = 0;
359
+ blocks.forEach((block) => {
360
+ const block_parent = block.parentNode;
361
+ if (block_parent === null) {
362
+ throw new errors_1.InvariantViolation(`
363
+ Tried to read block parent element, but it was not set
364
+ `);
365
+ }
366
+ const multicolumn_ancestor = block_parent.closest('section.block.multi_column');
367
+ if (multicolumn_ancestor === null) {
368
+ const index_path = index.toString();
369
+ block.setAttribute('data-index-path', index_path);
370
+ index++;
371
+ }
372
+ });
330
373
  }
331
374
  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;
375
+ const parent_element = ghost.parentNode;
376
+ if (parent_element === null) {
377
+ throw new errors_1.InvariantViolation(`
378
+ Tried to read parent element for ghost, but it was not set
379
+ `);
380
+ }
381
+ const siblings = Array.from(parent_element.children);
382
+ let index = 0;
383
+ let effective_index = 0;
384
+ while (index < siblings.length) {
385
+ const sibling = siblings[index++];
386
+ if (!sibling.classList.contains('block')) {
387
+ continue;
337
388
  }
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();
389
+ if (sibling.classList.contains('dragging')) {
390
+ continue;
391
+ }
392
+ if (sibling === ghost) {
393
+ break;
349
394
  }
350
- current_child = current_child.previousElementSibling;
395
+ effective_index++;
351
396
  }
352
- return '0';
397
+ return effective_index.toString();
353
398
  }
354
399
  async submitReposition(source_index_path, target_index_path) {
355
400
  const form = new FormData();
@@ -372,9 +417,17 @@ class InteractionHelper {
372
417
  }
373
418
  }
374
419
  getEventCoordinate(event) {
420
+ const { touches } = event;
421
+ if (touches === undefined) {
422
+ return null;
423
+ }
424
+ const touch = touches[0];
425
+ if (touch === undefined) {
426
+ return null;
427
+ }
375
428
  return {
376
- x: event.clientX,
377
- y: event.clientY
429
+ x: touch.clientX,
430
+ y: touch.clientY
378
431
  };
379
432
  }
380
433
  getDragStartCoordinate() {
@@ -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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"}
@@ -43,10 +43,12 @@ declare abstract class CursorPage extends Page {
43
43
  private enqueueMedia;
44
44
  private setQueuedMedia;
45
45
  private playElement;
46
+ private determineMediaSessionArtworkUrl;
46
47
  private handleMediaCanPlay;
47
48
  private handleMediaPlaybackEnded;
48
49
  private hasActiveMedia;
49
50
  private getActiveMedia;
51
+ private mediaIsActive;
50
52
  private pauseActiveMedia;
51
53
  private getInteractionHelper;
52
54
  protected isLoggedIn(): boolean;
@@ -458,13 +458,22 @@ class CursorPage extends page_1.default {
458
458
  window.location.href = href;
459
459
  }
460
460
  activateAudioBlock(block_element) {
461
- const audio_element = block_element.querySelectorAll('audio')[0];
462
- if (audio_element === undefined) {
461
+ const audio_element = block_element.querySelector('audio');
462
+ if (audio_element === null) {
463
463
  throw new errors_1.InvariantViolation(`
464
464
  Tried to read audio element for block, but it was not present
465
465
  `);
466
466
  }
467
- this.enqueueMedia(audio_element);
467
+ const persistent_element = document.getElementById('persistent-audio');
468
+ const persistent_audio = persistent_element;
469
+ const is_toggling = persistent_audio.src === audio_element.src;
470
+ const is_playing = this.hasActiveMedia();
471
+ if (is_toggling && is_playing) {
472
+ this.pauseActiveMedia();
473
+ }
474
+ else {
475
+ this.enqueueMedia(audio_element);
476
+ }
468
477
  }
469
478
  enqueueMedia(element) {
470
479
  this.pauseActiveMedia();
@@ -490,15 +499,19 @@ class CursorPage extends page_1.default {
490
499
  this.focusCurrentBlockElement();
491
500
  const persistent_element = document.getElementById('persistent-audio');
492
501
  const persistent_audio = persistent_element;
493
- const track_target = document.getElementById('persistent-track-name');
494
- const artist_target = document.getElementById('persistent-artist-name');
495
- const track_source = media_block.querySelector('[data-role="track_name"]');
496
- const artist_source = media_block.querySelector('[data-role="artist_name"]');
497
502
  if (persistent_audio === null) {
498
503
  throw new errors_1.InvariantViolation(`
499
504
  Tried to access persistent audio element, but it was not found
500
505
  `);
501
506
  }
507
+ if (persistent_audio.src === element.src) {
508
+ persistent_audio.play();
509
+ return;
510
+ }
511
+ const track_target = document.getElementById('persistent-track-name');
512
+ const artist_target = document.getElementById('persistent-artist-name');
513
+ const track_source = media_block.querySelector('[data-role="track_name"]');
514
+ const artist_source = media_block.querySelector('[data-role="artist_name"]');
502
515
  if (track_target === null) {
503
516
  throw new errors_1.InvariantViolation(`
504
517
  Tried to access persistent track name element, but it was not found
@@ -519,12 +532,51 @@ class CursorPage extends page_1.default {
519
532
  Tried to read artist name source, but it was not found
520
533
  `);
521
534
  }
535
+ const track_name = track_source.innerHTML;
536
+ const artist_name = artist_source.innerHTML;
537
+ const album_name = '';
522
538
  persistent_audio.src = element.src;
523
- track_target.innerHTML = track_source.innerHTML;
524
- artist_target.innerHTML = artist_source.innerHTML;
539
+ track_target.innerHTML = track_name;
540
+ artist_target.innerHTML = artist_name;
525
541
  document.body.classList.add('media-visible');
526
542
  persistent_audio.currentTime = 0;
527
543
  persistent_audio.play();
544
+ if (typeof navigator.mediaSession === undefined) {
545
+ return;
546
+ }
547
+ this.determineMediaSessionArtworkUrl().then((artwork_url) => {
548
+ const artwork = (() => {
549
+ if (artwork_url === null) {
550
+ return [];
551
+ }
552
+ return [
553
+ { src: artwork_url, sizes: '256x256', type: 'image/png' }
554
+ ];
555
+ })();
556
+ navigator.mediaSession.metadata = new MediaMetadata({
557
+ title: track_name,
558
+ artist: artist_name,
559
+ album: album_name,
560
+ artwork
561
+ });
562
+ }).catch((error) => {
563
+ throw error;
564
+ });
565
+ }
566
+ async determineMediaSessionArtworkUrl() {
567
+ const elements = Array.from(document.querySelectorAll('section.block'));
568
+ const blocks = elements;
569
+ let index = 0;
570
+ while (index < blocks.length) {
571
+ const block = blocks[index++];
572
+ if (block.classList.contains('image')) {
573
+ const img = block.querySelector('img');
574
+ if (img !== null) {
575
+ return img.src;
576
+ }
577
+ }
578
+ }
579
+ return null;
528
580
  }
529
581
  handleMediaCanPlay(event) {
530
582
  const target = event.target;
@@ -588,15 +640,18 @@ class CursorPage extends page_1.default {
588
640
  const elements = document.querySelectorAll('audio,video');
589
641
  const media_elements = Array.from(elements);
590
642
  return media_elements.filter((media_element) => {
591
- if (media_element.paused || media_element.ended) {
592
- return false;
593
- }
594
- if (media_element.readyState < media_ready_state_1.default.HAVE_CURRENT_DATA) {
595
- return false;
596
- }
597
- return true;
643
+ return this.mediaIsActive(media_element);
598
644
  });
599
645
  }
646
+ mediaIsActive(media_element) {
647
+ if (media_element.paused || media_element.ended) {
648
+ return false;
649
+ }
650
+ if (media_element.readyState < media_ready_state_1.default.HAVE_CURRENT_DATA) {
651
+ return false;
652
+ }
653
+ return true;
654
+ }
600
655
  pauseActiveMedia() {
601
656
  this.setQueuedMedia(null);
602
657
  const active_media = this.getActiveMedia();
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../src/client/page/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../src/client/page/cursor.ts"],"names":[],"mappings":"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"}