From c2ca9066c6fd760bd6ef5d2f8f0530a89bfa7b66 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 24 Oct 2017 23:29:55 -0400 Subject: WIP: Feature/pip video 2 (#405) * Add dependency * Test new video view * Add initial video bindings * Implement drag to dismiss * Begin initial integration * Fix typo * Fix up url formatter * Update changelog * Create first fully integrated video build * Update translations * Update translations 2 --- app/src/main/assets/js/media.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 app/src/main/assets/js/media.js (limited to 'app/src/main/assets/js/media.js') diff --git a/app/src/main/assets/js/media.js b/app/src/main/assets/js/media.js new file mode 100644 index 00000000..852a1e8c --- /dev/null +++ b/app/src/main/assets/js/media.js @@ -0,0 +1,31 @@ +// we will media events +if (!window.hasOwnProperty('frost_media')) { + console.log('Registering frost_media'); + window.frost_media = true; + + var _frostMediaClick = function(e) { + + /* + * Commonality; check for valid target + */ + var element = e.target || e.srcElement; + if (!element.hasAttribute("data-sigil") || !element.getAttribute("data-sigil").includes("playInlineVideo")) return; + console.log("Found inline video"); + element = element.parentNode; + if (!element.hasAttribute("data-store")) return; + var dataStore; + try { + dataStore = JSON.parse(element.getAttribute("data-store")); + } catch (e) { + return; + } + if (!dataStore.src) return; + console.log("Inline video", dataStore.src); + if (typeof Frost !== 'undefined') Frost.loadVideo(dataStore.src); + e.stopPropagation(); + e.preventDefault(); + return; + } + + document.addEventListener('click', _frostMediaClick, true); +} -- cgit v1.2.3