From a0884f32ee99d71394bc6faef8ab7bdba367c39b Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 9 Jan 2020 09:30:45 +0100 Subject: [PATCH 1/3] feat: add enablejsapi if not provided Signed-off-by: peterpeterparker --- .../src/components/deckdeckgo-youtube.tsx | 19 ++++++++++++++++++- webcomponents/youtube/src/index.html | 16 ++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/webcomponents/youtube/src/components/deckdeckgo-youtube.tsx b/webcomponents/youtube/src/components/deckdeckgo-youtube.tsx index 6bb73653e..2c9a1d081 100644 --- a/webcomponents/youtube/src/components/deckdeckgo-youtube.tsx +++ b/webcomponents/youtube/src/components/deckdeckgo-youtube.tsx @@ -168,7 +168,22 @@ export class DeckdeckgoYoutube { resolve('https://www.youtube.com/embed/' + videoId + '?enablejsapi=1'); } else { // Otherwise we try the provided url - resolve(this.src); + + if (!this.src) { + resolve(this.src); + return; + } + + // But first, if an embed link, like https://www.youtube.com/embed/PnSNT5WpauE, would be passed, a parameter to enable js should be added otherwise play and pause could not be triggered + // Therefore we add enablejsapi if needed in any case + + const url: URL = new URL(this.src); + + if (!url.searchParams.get('enablejsapi')) { + url.searchParams.append('enablejsapi', '1'); + } + + resolve(url.href); } }); } @@ -207,6 +222,8 @@ export class DeckdeckgoYoutube { return; } + console.log('here', iframe); + iframe.contentWindow.postMessage(JSON.stringify({ event: 'command', func: play ? 'playVideo' : 'pauseVideo', diff --git a/webcomponents/youtube/src/index.html b/webcomponents/youtube/src/index.html index 25a7fe3f1..2ceb99135 100644 --- a/webcomponents/youtube/src/index.html +++ b/webcomponents/youtube/src/index.html @@ -18,6 +18,8 @@
+ +
@@ -29,6 +31,20 @@ await elem.lazyLoadContent(); } } + + async function play() { + const elem = document.getElementById('youtube'); + if (elem) { + await elem.play(); + } + } + + async function pause() { + const elem = document.getElementById('youtube'); + if (elem) { + await elem.pause(); + } + } From 871226a49432633b2322dff23cfe12d8802b8bd1 Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 9 Jan 2020 09:32:03 +0100 Subject: [PATCH 2/3] release: youtube v1.0.0-rc.1-1 Signed-off-by: peterpeterparker --- CHANGELOG.md | 2 +- webcomponents/youtube/CHANGELOG.md | 7 +++++++ webcomponents/youtube/package-lock.json | 2 +- webcomponents/youtube/package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1b545b12..04921a4e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### New: Web Components * social: v1.0.0-rc.1-3 ([CHANGELOG](https://github.com/deckgo/deckdeckgo/blob/master/webcomponents/social/CHANGELOG.md)) -* youtube: v1.0.0-rc.1 ([CHANGELOG](https://github.com/deckgo/deckdeckgo/blob/master/webcomponents/youtube/CHANGELOG.md)) +* youtube: v1.0.0-rc.1-1 ([CHANGELOG](https://github.com/deckgo/deckdeckgo/blob/master/webcomponents/youtube/CHANGELOG.md)) ### Web Components * slide-author: v1.0.0-rc.3-1 ([CHANGELOG](https://github.com/deckgo/deckdeckgo/blob/master/webcomponents/slides/author/CHANGELOG.md)) diff --git a/webcomponents/youtube/CHANGELOG.md b/webcomponents/youtube/CHANGELOG.md index 868cd4e3f..8d57837f3 100644 --- a/webcomponents/youtube/CHANGELOG.md +++ b/webcomponents/youtube/CHANGELOG.md @@ -1,3 +1,10 @@ + +# 1.0.0-rc.1-1 (2020-01-09) + +### Features + +* if Youtube video is provided as embed link, add enablejsapi=1 to be able to play and pause the video + # 1.0.0-rc.1 (2020-01-08) diff --git a/webcomponents/youtube/package-lock.json b/webcomponents/youtube/package-lock.json index ea5149c98..98bf565d1 100644 --- a/webcomponents/youtube/package-lock.json +++ b/webcomponents/youtube/package-lock.json @@ -1,6 +1,6 @@ { "name": "@deckdeckgo/youtube", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.1-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/webcomponents/youtube/package.json b/webcomponents/youtube/package.json index 73e216427..9e4768598 100644 --- a/webcomponents/youtube/package.json +++ b/webcomponents/youtube/package.json @@ -1,6 +1,6 @@ { "name": "@deckdeckgo/youtube", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.1-1", "description": "A Youtube Web Component player", "main": "dist/index.js", "module": "dist/index.mjs", From 114121cacbe70753eecb58864494baba5b1d6ab2 Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 9 Jan 2020 09:33:47 +0100 Subject: [PATCH 3/3] feat: use youtube v1.0.0-rc.1-1 Signed-off-by: peterpeterparker --- docs/package-lock.json | 12 ++++++------ docs/package.json | 4 ++-- remote/package-lock.json | 6 +++--- remote/package.json | 2 +- studio/package-lock.json | 6 +++--- studio/package.json | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 9b60003aa..72901e0ff 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -217,9 +217,9 @@ "integrity": "sha512-UtuPadBIOk9k1kw6MS2j+DsnHujnL4XC/gY1RkLAmh3JMAwLRfPA24rvj9d5wMludMJkxAlfDLIBmbctwFnoog==" }, "@deckdeckgo/youtube": { - "version": "1.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1.tgz", - "integrity": "sha512-BzB8ocXOKymrGiA64Zn0q8JQ+qKklWbPCNG+0d6qipMnoFpluVMjsRVFLa/9tUvp43+8OiLMqdiEZzDTciEYzg==" + "version": "1.0.0-rc.1-1", + "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1-1.tgz", + "integrity": "sha512-T7akmewDGA95wtkXNzHNucV59otjdlcpdGrntYtoxeEVABnNKhNkgZ3NRJotrqYdIviJartQNC7vJYBd8ikBPw==" }, "@hapi/address": { "version": "2.1.4", @@ -323,9 +323,9 @@ "dev": true }, "@types/node": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.4.tgz", - "integrity": "sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==", + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.5.tgz", + "integrity": "sha512-wupvfmtbqRJzjCm1H2diy7wo31Gn1OzvqoxCfQuKM9eSecogzP0WTlrjdq7cf7jgSO2ZX6hxwgRPR8Wt7FA22g==", "dev": true }, "after": { diff --git a/docs/package.json b/docs/package.json index 15ff8bbf0..543fa127b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -35,7 +35,7 @@ "@deckdeckgo/slide-video": "^1.0.0-rc.1-1", "@deckdeckgo/slide-youtube": "^1.0.0-rc.3", "@deckdeckgo/social": "^1.0.0-rc.1-3", - "@deckdeckgo/youtube": "^1.0.0-rc.1", + "@deckdeckgo/youtube": "^1.0.0-rc.1-1", "@ionic/core": "^4.11.7", "idb-keyval": "^3.2.0", "rxjs": "^6.5.4" @@ -47,7 +47,7 @@ "@stencil/sass": "^1.1.1", "@types/glob": "^7.1.1", "@types/marked": "^0.7.2", - "@types/node": "^13.1.4", + "@types/node": "^13.1.5", "autoprefixer": "^9.7.3", "glob": "^7.1.6", "marked": "^0.8.0", diff --git a/remote/package-lock.json b/remote/package-lock.json index 4b6f71217..a0db17d6d 100644 --- a/remote/package-lock.json +++ b/remote/package-lock.json @@ -200,9 +200,9 @@ "integrity": "sha512-UtuPadBIOk9k1kw6MS2j+DsnHujnL4XC/gY1RkLAmh3JMAwLRfPA24rvj9d5wMludMJkxAlfDLIBmbctwFnoog==" }, "@deckdeckgo/youtube": { - "version": "1.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1.tgz", - "integrity": "sha512-BzB8ocXOKymrGiA64Zn0q8JQ+qKklWbPCNG+0d6qipMnoFpluVMjsRVFLa/9tUvp43+8OiLMqdiEZzDTciEYzg==" + "version": "1.0.0-rc.1-1", + "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1-1.tgz", + "integrity": "sha512-T7akmewDGA95wtkXNzHNucV59otjdlcpdGrntYtoxeEVABnNKhNkgZ3NRJotrqYdIviJartQNC7vJYBd8ikBPw==" }, "@hapi/address": { "version": "2.1.4", diff --git a/remote/package.json b/remote/package.json index 8ab8456e3..ef0a35516 100644 --- a/remote/package.json +++ b/remote/package.json @@ -36,7 +36,7 @@ "@deckdeckgo/slide-youtube": "^1.0.0-rc.3", "@deckdeckgo/social": "^1.0.0-rc.1-3", "@deckdeckgo/utils": "^1.0.0-rc.1-2", - "@deckdeckgo/youtube": "^1.0.0-rc.1", + "@deckdeckgo/youtube": "^1.0.0-rc.1-1", "@ionic/core": "^4.11.7", "date-fns": "^2.9.0", "idb-keyval": "^3.2.0", diff --git a/studio/package-lock.json b/studio/package-lock.json index 1b259af5a..3f57cad59 100644 --- a/studio/package-lock.json +++ b/studio/package-lock.json @@ -193,9 +193,9 @@ "integrity": "sha512-UtuPadBIOk9k1kw6MS2j+DsnHujnL4XC/gY1RkLAmh3JMAwLRfPA24rvj9d5wMludMJkxAlfDLIBmbctwFnoog==" }, "@deckdeckgo/youtube": { - "version": "1.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1.tgz", - "integrity": "sha512-BzB8ocXOKymrGiA64Zn0q8JQ+qKklWbPCNG+0d6qipMnoFpluVMjsRVFLa/9tUvp43+8OiLMqdiEZzDTciEYzg==" + "version": "1.0.0-rc.1-1", + "resolved": "https://registry.npmjs.org/@deckdeckgo/youtube/-/youtube-1.0.0-rc.1-1.tgz", + "integrity": "sha512-T7akmewDGA95wtkXNzHNucV59otjdlcpdGrntYtoxeEVABnNKhNkgZ3NRJotrqYdIviJartQNC7vJYBd8ikBPw==" }, "@firebase/analytics": { "version": "0.2.9", diff --git a/studio/package.json b/studio/package.json index c0a02d08e..c133f22b2 100644 --- a/studio/package.json +++ b/studio/package.json @@ -35,7 +35,7 @@ "@deckdeckgo/slide-youtube": "^1.0.0-rc.3", "@deckdeckgo/social": "^1.0.0-rc.1-3", "@deckdeckgo/utils": "^1.0.0-rc.1-4", - "@deckdeckgo/youtube": "^1.0.0-rc.1", + "@deckdeckgo/youtube": "^1.0.0-rc.1-1", "@ionic/core": "4.11.7", "firebase": "^7.6.1", "idb-keyval": "^3.2.0",