From 2bc8f66dd4c76f14a907f61dce50f68c6cb88eb1 Mon Sep 17 00:00:00 2001 From: j Date: Tue, 6 Mar 2018 18:27:10 +0530 Subject: [PATCH] allow outer frames to set options --- static/js/document.js | 6 ++++++ static/js/editPanel.js | 2 ++ static/js/embedDocument.js | 3 +-- static/js/embedPlayer.js | 13 ++++++++++--- static/js/pandora.js | 3 +++ 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/static/js/document.js b/static/js/document.js index 8370cce5..da7dde7f 100644 --- a/static/js/document.js +++ b/static/js/document.js @@ -24,6 +24,12 @@ pandora.ui.document = function() { ], orientation: 'vertical' }) + .update(function(key, value) { + console.log('got update', key, value) + if (Ox.contains(['area', 'zoom', 'page'], key)) { + $content.options(key, value) + } + }) .bindEvent({ pandora_showbrowser: function(data) { that.update(); diff --git a/static/js/editPanel.js b/static/js/editPanel.js index 874bab56..0001e4e6 100644 --- a/static/js/editPanel.js +++ b/static/js/editPanel.js @@ -515,7 +515,9 @@ pandora.ui.editPanel = function(isEmbed) { }, }); pandora.$ui.embedPanel.replaceWith(that); + pandora.$ui.embedPanel = that; updateSmallTimelineURL(); + Ox.$parent.postMessage('loaded'); } function orderClips(ids) { diff --git a/static/js/embedDocument.js b/static/js/embedDocument.js index bab72606..ac036975 100644 --- a/static/js/embedDocument.js +++ b/static/js/embedDocument.js @@ -3,7 +3,6 @@ 'use strict'; pandora.ui.embedDocument = function() { - var that = Ox.Element(); - pandora.ui.document().appendTo(that) + var that = pandora.ui.document(); return that; }; diff --git a/static/js/embedPlayer.js b/static/js/embedPlayer.js index 42509f3b..dd956d0f 100644 --- a/static/js/embedPlayer.js +++ b/static/js/embedPlayer.js @@ -1,8 +1,11 @@ 'use strict'; pandora.ui.embedPlayer = function() { - - var that = Ox.Element(), + var self = {}; + var that = Ox.Element({}, self) + .update(function(key, value) { + $player.options(key, value); + }), ui = pandora.user.ui, defaults = { annotationsRange: ui.annotationsRange, @@ -139,6 +142,9 @@ pandora.ui.embedPlayer = function() { playing: function(data) { setPosition(data.position, true); }, + paused: function(data) { + self.options.position = data.paused + }, position: function(data) { setPosition(data.position); }, @@ -154,7 +160,7 @@ pandora.ui.embedPlayer = function() { } }) .bindEvent(function(data, event) { - if (Ox.contains(['close', 'paused', 'position'], event)) { + if (Ox.contains(['close', 'paused', 'position', 'playing'], event)) { Ox.$parent.postMessage(event, data); } }); @@ -343,6 +349,7 @@ pandora.ui.embedPlayer = function() { } function setPosition(position, playing) { + self.options.position = position !playing && $player.options({position: position}); options.showTimeline && $timeline.options({position: position}); options.showAnnotations && $annotations.options({position: position}); diff --git a/static/js/pandora.js b/static/js/pandora.js index 2bc27846..1a405074 100644 --- a/static/js/pandora.js +++ b/static/js/pandora.js @@ -442,6 +442,9 @@ appPanel if (pandora.isEmbedURL(data.url)) { pandora.URL.push(data.url); } + }, + options: function(data) { + pandora.$ui.embedPanel.options(data); } }); } else if (isPrint) {