summaryrefslogtreecommitdiff
path: root/plugins/Realtime
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Realtime')
-rw-r--r--plugins/Realtime/RealtimePlugin.php15
-rw-r--r--plugins/Realtime/realtimeupdate.js77
2 files changed, 56 insertions, 36 deletions
diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php
index cbfa6bae0..3e33fdaf1 100644
--- a/plugins/Realtime/RealtimePlugin.php
+++ b/plugins/Realtime/RealtimePlugin.php
@@ -105,22 +105,18 @@ class RealtimePlugin extends Plugin
$realtimeUI = ' RealtimeUpdate.initActions("'.$url.'", "'.$timeline.'", "'. $pluginPath .'");';
}
- $action->elementStart('script', array('type' => 'text/javascript'));
-
$script = ' $(document).ready(function() { '.
$realtimeUI.
$this->_updateInitialize($timeline, $user_id).
'}); ';
- $action->raw($script);
-
- $action->elementEnd('script');
+ $action->inlineScript($script);
return true;
}
function onEndShowStatusNetStyles($action)
{
- $action->cssLink(common_path('plugins/Realtime/realtimeupdate.css'),
+ $action->cssLink(common_path('plugins/Realtime/realtimeupdate.css'),
null, 'screen, projection, tv');
return true;
}
@@ -293,13 +289,6 @@ class RealtimePlugin extends Plugin
return $tags;
}
- // Push this up to Plugin
-
- function log($level, $msg)
- {
- common_log($level, get_class($this) . ': '.$msg);
- }
-
function _getScripts()
{
return array('plugins/Realtime/realtimeupdate.js',
diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js
index ce0297339..56a52433f 100644
--- a/plugins/Realtime/realtimeupdate.js
+++ b/plugins/Realtime/realtimeupdate.js
@@ -191,8 +191,7 @@ RealtimeUpdate = {
initActions: function(url, timeline, path)
{
- var NP = $('#notices_primary');
- NP.prepend('<ul id="realtime_actions"><li id="realtime_playpause"></li><li id="realtime_timeline"></li></ul>');
+ $('#notices_primary').prepend('<ul id="realtime_actions"><li id="realtime_playpause"></li><li id="realtime_timeline"></li></ul>');
RealtimeUpdate._pluginPath = path;
@@ -202,19 +201,30 @@ RealtimeUpdate = {
initPlayPause: function()
{
- RealtimeUpdate.showPause();
+ if (typeof(localStorage) == 'undefined') {
+ RealtimeUpdate.showPause();
+ }
+ else {
+ if (localStorage.getItem('RealtimeUpdate_paused') === 'true') {
+ RealtimeUpdate.showPlay();
+ }
+ else {
+ RealtimeUpdate.showPause();
+ }
+ }
},
showPause: function()
{
- RT_PP = $('#realtime_playpause');
- RT_PP.empty();
- RT_PP.append('<button id="realtime_pause" class="pause" title="Pause">Pause</button>');
+ RealtimeUpdate.setPause(false);
+ RealtimeUpdate.showQueuedNotices();
+ RealtimeUpdate.addNoticesHover();
- RT_P = $('#realtime_pause');
- RT_P.bind('click', function() {
- RealtimeUpdate._paused = true;
+ $('#realtime_playpause').remove();
+ $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause" title="Pause">Pause</button></li>');
+ $('#realtime_pause').bind('click', function() {
+ RealtimeUpdate.removeNoticesHover();
RealtimeUpdate.showPlay();
return false;
});
@@ -222,22 +232,24 @@ RealtimeUpdate = {
showPlay: function()
{
- RT_PP = $('#realtime_playpause');
- RT_PP.empty();
- RT_PP.append('<span id="queued_counter"></span> <button id="realtime_play" class="play" title="Play">Play</button>');
-
- RT_P = $('#realtime_play');
- RT_P.bind('click', function() {
- RealtimeUpdate._paused = false;
+ RealtimeUpdate.setPause(true);
+ $('#realtime_playpause').remove();
+ $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play" title="Play">Play</button></li>');
+ $('#realtime_play').bind('click', function() {
RealtimeUpdate.showPause();
-
- RealtimeUpdate.showQueuedNotices();
-
return false;
});
},
+ setPause: function(state)
+ {
+ RealtimeUpdate._paused = state;
+ if (typeof(localStorage) != 'undefined') {
+ localStorage.setItem('RealtimeUpdate_paused', RealtimeUpdate._paused);
+ }
+ },
+
showQueuedNotices: function()
{
$.each(RealtimeUpdate._queuedNotices, function(i, n) {
@@ -259,13 +271,32 @@ RealtimeUpdate = {
$('#realtime_playpause #queued_counter').empty();
},
+ addNoticesHover: function()
+ {
+ $('#notices_primary .notices').hover(
+ function() {
+ if (RealtimeUpdate._paused === false) {
+ RealtimeUpdate.showPlay();
+ }
+ },
+ function() {
+ if (RealtimeUpdate._paused === true) {
+ RealtimeUpdate.showPause();
+ }
+ }
+ );
+ },
+
+ removeNoticesHover: function()
+ {
+ $('#notices_primary .notices').unbind();
+ },
+
initAddPopup: function(url, timeline, path)
{
- var NP = $('#realtime_timeline');
- NP.append('<button id="realtime_popup" title="Pop up in a window">Pop up</button>');
+ $('#realtime_timeline').append('<button id="realtime_popup" title="Pop up in a window">Pop up</button>');
- var PP = $('#realtime_popup');
- PP.bind('click', function() {
+ $('#realtime_popup').bind('click', function() {
window.open(url,
'',
'toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550');