@eluvio/elv-player-js 1.0.112 → 1.0.114
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/package.json +1 -1
- package/src/index.js +35 -0
- package/src/static/stylesheets/player.scss +39 -2
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -640,6 +640,41 @@ export class EluvioPlayer {
|
|
|
640
640
|
this.Destroy();
|
|
641
641
|
}
|
|
642
642
|
} catch (error) {
|
|
643
|
+
// If playout failed due to a permission issue, check the content to see if there is a message to display
|
|
644
|
+
if(error && [401, 403].includes(error.status) || [401, 403].includes(error.code)) {
|
|
645
|
+
try {
|
|
646
|
+
const client = await this.Client();
|
|
647
|
+
|
|
648
|
+
const targetHash =
|
|
649
|
+
this.sourceOptions.playoutParameters.linkPath ?
|
|
650
|
+
await client.LinkTarget({...this.sourceOptions.playoutParameters}) :
|
|
651
|
+
this.sourceOptions.playoutParameters.versionHash ||
|
|
652
|
+
await client.LatestVersionHash({objectId: this.sourceOptions.playoutParameters.objectId});
|
|
653
|
+
|
|
654
|
+
const permissionErrorMessage = await client.ContentObjectMetadata({
|
|
655
|
+
versionHash: targetHash,
|
|
656
|
+
metadataSubtree: "public/asset_metadata/permission_message",
|
|
657
|
+
authorizationToken: this.sourceOptions.playoutParameters.authorizationToken
|
|
658
|
+
});
|
|
659
|
+
|
|
660
|
+
if(permissionErrorMessage) {
|
|
661
|
+
const errorMessage = CreateElement({
|
|
662
|
+
parent: this.target,
|
|
663
|
+
classes: ["eluvio-player__error-message"]
|
|
664
|
+
});
|
|
665
|
+
|
|
666
|
+
CreateElement({
|
|
667
|
+
parent: errorMessage,
|
|
668
|
+
classes: ["eluvio-player__error-message__text"]
|
|
669
|
+
}).innerHTML = permissionErrorMessage;
|
|
670
|
+
|
|
671
|
+
this.target.classList.add("eluvio-player--error");
|
|
672
|
+
}
|
|
673
|
+
// eslint-disable-next-line no-empty
|
|
674
|
+
} catch(error) {}
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
|
|
643
678
|
if(this.playerOptions.errorCallback) {
|
|
644
679
|
this.playerOptions.errorCallback(error, this);
|
|
645
680
|
}
|
|
@@ -41,6 +41,31 @@ $button-height: 35px;
|
|
|
41
41
|
position: relative;
|
|
42
42
|
width: 100%;
|
|
43
43
|
|
|
44
|
+
&--error {
|
|
45
|
+
.eluvio-player__controls,
|
|
46
|
+
.eluvio-player__big-play-button {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&__error-message {
|
|
52
|
+
position: absolute;
|
|
53
|
+
display: flex;
|
|
54
|
+
height: 100%;
|
|
55
|
+
width: 100%;
|
|
56
|
+
z-index: 1000;
|
|
57
|
+
align-items: center;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
padding: 20px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&__error-message__text {
|
|
63
|
+
color: $error-color;
|
|
64
|
+
font-size: 24px;
|
|
65
|
+
text-align: center;
|
|
66
|
+
max-width: 600px;
|
|
67
|
+
}
|
|
68
|
+
|
|
44
69
|
// Seek indicator
|
|
45
70
|
&--seek-left,
|
|
46
71
|
&--seek-right {
|
|
@@ -78,7 +103,6 @@ $button-height: 35px;
|
|
|
78
103
|
* {
|
|
79
104
|
box-sizing: border-box;
|
|
80
105
|
font-family: "Helvetica Neue", Helvetica, sans-serif;
|
|
81
|
-
line-height: 1;
|
|
82
106
|
overscroll-behavior-y: contain; // sass-lint:disable-line no-misspelled-properties
|
|
83
107
|
}
|
|
84
108
|
|
|
@@ -385,7 +409,7 @@ $button-height: 35px;
|
|
|
385
409
|
&__settings-menu {
|
|
386
410
|
background: $menu-color;
|
|
387
411
|
border-radius: 3px 0 0;
|
|
388
|
-
bottom: CALC(
|
|
412
|
+
bottom: CALC(#{$button-height} + #{$controls-padding} + #{$controls-padding});
|
|
389
413
|
color: $button-color;
|
|
390
414
|
max-height: MIN(90%, 100% - CALC(25px + #{$button-height} + #{$controls-padding} + #{$controls-padding}));
|
|
391
415
|
min-height: 20px;
|
|
@@ -642,10 +666,19 @@ $button-height: 35px;
|
|
|
642
666
|
bottom: 65px;
|
|
643
667
|
}
|
|
644
668
|
}
|
|
669
|
+
|
|
670
|
+
.eluvio-player__controls__settings-menu {
|
|
671
|
+
bottom: CALC(5px + #{$button-height} + #{$controls-padding} + #{$controls-padding});
|
|
672
|
+
}
|
|
645
673
|
}
|
|
646
674
|
|
|
647
675
|
&.eluvio-player-m,
|
|
648
676
|
&.eluvio-player-s {
|
|
677
|
+
.eluvio-player__error-message__text {
|
|
678
|
+
font-size: 18px;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
|
|
649
682
|
.eluvio-player__watermark {
|
|
650
683
|
height: 10px;
|
|
651
684
|
top: 10px;
|
|
@@ -699,6 +732,10 @@ $button-height: 35px;
|
|
|
699
732
|
}
|
|
700
733
|
|
|
701
734
|
&.eluvio-player-s {
|
|
735
|
+
.eluvio-player__error-message__text {
|
|
736
|
+
font-size: 14px;
|
|
737
|
+
}
|
|
738
|
+
|
|
702
739
|
.eluvio-player__controls__time {
|
|
703
740
|
display: none;
|
|
704
741
|
}
|