@gcorevideo/player 2.28.17 → 2.28.19

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
- {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
@@ -312,10 +312,9 @@ export class MediaControl extends UICorePlugin {
312
312
  this.listenTo(this.core.activeContainer, Events.CONTAINER_PAUSE, this.changeTogglePlay);
313
313
  this.listenTo(this.core.activeContainer, Events.CONTAINER_STOP, this.changeTogglePlay);
314
314
  this.listenTo(this.core.activeContainer, Events.CONTAINER_DBLCLICK, this.toggleFullscreen);
315
- const clk = clickaway(() => {
316
- this.resetUserKeepVisible();
317
- }, this.core.activeContainer.$el[0]);
318
- this.listenTo(this.core.activeContainer, Events.CONTAINER_CLICK, clk);
315
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_CLICK, () => {
316
+ this.clickaway(this.core.activeContainer.$el[0]);
317
+ });
319
318
  this.listenTo(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
320
319
  this.listenTo(this.core.activeContainer, Events.CONTAINER_PROGRESS, this.updateProgressBar);
321
320
  this.listenTo(this.core.activeContainer, Events.CONTAINER_SETTINGSUPDATE, this.updateSettings);
@@ -332,12 +331,14 @@ export class MediaControl extends UICorePlugin {
332
331
  });
333
332
  this.listenTo(this.core.activeContainer, Events.CONTAINER_MOUSE_ENTER, this.show);
334
333
  this.listenTo(this.core.activeContainer, Events.CONTAINER_MOUSE_LEAVE, this.delayHide);
334
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_DESTROYED, () => {
335
+ this.clickaway(null);
336
+ });
335
337
  }
336
338
  /**
337
339
  * Hides the media control UI
338
340
  */
339
341
  disable() {
340
- trace(`${T} disable`);
341
342
  this.userDisabled = true; // TODO distinguish between user and system (e.g., unplayable) disabled?
342
343
  this.hide();
343
344
  this.unbindKeyEvents();
@@ -686,9 +687,6 @@ export class MediaControl extends UICorePlugin {
686
687
  else {
687
688
  this.hideVolumeId = setTimeout(() => {
688
689
  this.hideVolumeId = null;
689
- trace(`${T} hideVolumeBar`, {
690
- volumeBarContainer: !!this.$volumeBarContainer,
691
- });
692
690
  this.$volumeBarContainer?.addClass('volume-bar-hide');
693
691
  }, timeout);
694
692
  }
@@ -757,27 +755,17 @@ export class MediaControl extends UICorePlugin {
757
755
  this.core.activeContainer && this.core.activeContainer.seekPercentage(pos);
758
756
  this.setSeekPercentage(pos);
759
757
  }
760
- setUserKeepVisible() {
761
- trace(`${T} setUserKeepVisible`, {
762
- userKeepVisible: this.userKeepVisible,
763
- });
758
+ setUserKeepVisible(e) {
764
759
  this.userKeepVisible = true;
760
+ this.clickaway(this.core.activeContainer.$el[0]);
765
761
  }
766
- resetUserKeepVisible() {
767
- trace(`${T} resetUserKeepVisible`, {
768
- userKeepVisible: this.userKeepVisible,
769
- });
762
+ resetUserKeepVisible = (e) => {
770
763
  this.userKeepVisible = false;
771
- }
764
+ };
772
765
  isVisible() {
773
766
  return !this.$el.hasClass('media-control-hide');
774
767
  }
775
768
  show(event) {
776
- trace(`${T} show`, {
777
- disabled: this.disabled,
778
- disableControlPanel: this.options.disableControlPanel,
779
- event,
780
- });
781
769
  if (this.disabled || this.options.disableControlPanel) {
782
770
  return;
783
771
  }
@@ -804,16 +792,6 @@ export class MediaControl extends UICorePlugin {
804
792
  this.updateCursorStyle(showing);
805
793
  }
806
794
  hide(delay = 0) {
807
- trace(`${T} hide`, {
808
- delay,
809
- visible: this.isVisible(),
810
- disabled: this.disabled,
811
- hideMediaControl: this.options.hideMediaControl,
812
- userKeepVisible: this.userKeepVisible,
813
- keepVisible: this.keepVisible,
814
- draggingSeekBar: this.draggingSeekBar,
815
- draggingVolumeBar: this.draggingVolumeBar,
816
- });
817
795
  if (!this.isVisible()) {
818
796
  return;
819
797
  }
@@ -1256,12 +1234,12 @@ export class MediaControl extends UICorePlugin {
1256
1234
  this.$el.removeClass('dvr');
1257
1235
  }
1258
1236
  }
1259
- delayHide(e) {
1260
- trace(`${T} delayHide`, {
1261
- e,
1262
- });
1237
+ delayHide() {
1263
1238
  this.hide(this.options.hideMediaControlDelay || DEFAULT_HIDE_DELAY);
1264
1239
  }
1240
+ // 2 seconds delay is needed since on mobile devices mouse(touch)move events are not dispatched immediately
1241
+ // as opposed to the click event
1242
+ clickaway = clickaway(() => setTimeout(this.resetUserKeepVisible, 0));
1265
1243
  }
1266
1244
  MediaControl.extend = function (properties) {
1267
1245
  return extend(MediaControl, properties);
@@ -1302,14 +1280,19 @@ function mergeElements(a, b) {
1302
1280
  return acc;
1303
1281
  }, a);
1304
1282
  }
1305
- function clickaway(callback, element) {
1306
- const handler = (event) => {
1307
- if (!element.contains(event.target)) {
1308
- callback();
1309
- window.removeEventListener('click', handler);
1283
+ function clickaway(callback) {
1284
+ let handler = (event) => { };
1285
+ return (node) => {
1286
+ window.removeEventListener('click', handler);
1287
+ if (!node) {
1288
+ return;
1310
1289
  }
1311
- };
1312
- return () => {
1290
+ handler = (event) => {
1291
+ if (!node.contains(event.target)) {
1292
+ window.removeEventListener('click', handler);
1293
+ callback();
1294
+ }
1295
+ };
1313
1296
  window.addEventListener('click', handler);
1314
1297
  };
1315
1298
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.28.17",
3
+ "version": "2.28.19",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -468,13 +468,12 @@ export class MediaControl extends UICorePlugin {
468
468
  Events.CONTAINER_DBLCLICK,
469
469
  this.toggleFullscreen,
470
470
  )
471
- const clk = clickaway(() => {
472
- this.resetUserKeepVisible()
473
- }, this.core.activeContainer.$el[0])
474
471
  this.listenTo(
475
472
  this.core.activeContainer,
476
473
  Events.CONTAINER_CLICK,
477
- clk,
474
+ () => {
475
+ this.clickaway(this.core.activeContainer.$el[0])
476
+ },
478
477
  )
479
478
  this.listenTo(
480
479
  this.core.activeContainer,
@@ -532,13 +531,16 @@ export class MediaControl extends UICorePlugin {
532
531
  })
533
532
  this.listenTo(this.core.activeContainer, Events.CONTAINER_MOUSE_ENTER, this.show)
534
533
  this.listenTo(this.core.activeContainer, Events.CONTAINER_MOUSE_LEAVE, this.delayHide)
534
+
535
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_DESTROYED, () => {
536
+ this.clickaway(null)
537
+ })
535
538
  }
536
539
 
537
540
  /**
538
541
  * Hides the media control UI
539
542
  */
540
543
  override disable() {
541
- trace(`${T} disable`)
542
544
  this.userDisabled = true // TODO distinguish between user and system (e.g., unplayable) disabled?
543
545
  this.hide()
544
546
  this.unbindKeyEvents()
@@ -949,9 +951,6 @@ export class MediaControl extends UICorePlugin {
949
951
  } else {
950
952
  this.hideVolumeId = setTimeout(() => {
951
953
  this.hideVolumeId = null
952
- trace(`${T} hideVolumeBar`, {
953
- volumeBarContainer: !!this.$volumeBarContainer,
954
- })
955
954
  this.$volumeBarContainer?.addClass('volume-bar-hide')
956
955
  }, timeout)
957
956
  }
@@ -1043,17 +1042,12 @@ export class MediaControl extends UICorePlugin {
1043
1042
  this.setSeekPercentage(pos)
1044
1043
  }
1045
1044
 
1046
- private setUserKeepVisible() {
1047
- trace(`${T} setUserKeepVisible`, {
1048
- userKeepVisible: this.userKeepVisible,
1049
- })
1045
+ private setUserKeepVisible(e?: MouseEvent) {
1050
1046
  this.userKeepVisible = true
1047
+ this.clickaway(this.core.activeContainer.$el[0])
1051
1048
  }
1052
1049
 
1053
- private resetUserKeepVisible() {
1054
- trace(`${T} resetUserKeepVisible`, {
1055
- userKeepVisible: this.userKeepVisible,
1056
- })
1050
+ private resetUserKeepVisible = (e?: MouseEvent) => {
1057
1051
  this.userKeepVisible = false
1058
1052
  }
1059
1053
 
@@ -1062,11 +1056,6 @@ export class MediaControl extends UICorePlugin {
1062
1056
  }
1063
1057
 
1064
1058
  private show(event?: MouseEvent) {
1065
- trace(`${T} show`, {
1066
- disabled: this.disabled,
1067
- disableControlPanel: this.options.disableControlPanel,
1068
- event,
1069
- })
1070
1059
  if (this.disabled || this.options.disableControlPanel) {
1071
1060
  return
1072
1061
  }
@@ -1101,17 +1090,6 @@ export class MediaControl extends UICorePlugin {
1101
1090
  }
1102
1091
 
1103
1092
  private hide(delay = 0) {
1104
- trace(`${T} hide`, {
1105
- delay,
1106
- visible: this.isVisible(),
1107
- disabled: this.disabled,
1108
- hideMediaControl: this.options.hideMediaControl,
1109
- userKeepVisible: this.userKeepVisible,
1110
- keepVisible: this.keepVisible,
1111
- draggingSeekBar: this.draggingSeekBar,
1112
- draggingVolumeBar: this.draggingVolumeBar,
1113
- })
1114
-
1115
1093
  if (!this.isVisible()) {
1116
1094
  return
1117
1095
  }
@@ -1648,12 +1626,13 @@ export class MediaControl extends UICorePlugin {
1648
1626
  }
1649
1627
  }
1650
1628
 
1651
- private delayHide(e: unknown) {
1652
- trace(`${T} delayHide`, {
1653
- e,
1654
- })
1629
+ private delayHide() {
1655
1630
  this.hide(this.options.hideMediaControlDelay || DEFAULT_HIDE_DELAY)
1656
1631
  }
1632
+
1633
+ // 2 seconds delay is needed since on mobile devices mouse(touch)move events are not dispatched immediately
1634
+ // as opposed to the click event
1635
+ private clickaway = clickaway(() => setTimeout(this.resetUserKeepVisible, 0))
1657
1636
  }
1658
1637
 
1659
1638
  MediaControl.extend = function (properties) {
@@ -1708,14 +1687,20 @@ function mergeElements(
1708
1687
  }, a)
1709
1688
  }
1710
1689
 
1711
- function clickaway(callback: () => void, element: Node) {
1712
- const handler = (event: MouseEvent | TouchEvent) => {
1713
- if (!element.contains(event.target as Node)) {
1714
- callback()
1715
- window.removeEventListener('click', handler)
1690
+ function clickaway(callback: () => void) {
1691
+ let handler = (event: MouseEvent | TouchEvent) => {}
1692
+
1693
+ return (node: HTMLElement | null) => {
1694
+ window.removeEventListener('click', handler)
1695
+ if (!node) {
1696
+ return
1697
+ }
1698
+ handler = (event: MouseEvent | TouchEvent) => {
1699
+ if (!node.contains(event.target as Node)) {
1700
+ window.removeEventListener('click', handler)
1701
+ callback()
1702
+ }
1716
1703
  }
1717
- }
1718
- return () => {
1719
1704
  window.addEventListener('click', handler)
1720
1705
  }
1721
1706
  }