X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FRealtime%2Frealtimeupdate.js;h=a75f17d8c55930e946a54fb63d0fb4a6f3590261;hb=921b25bf6281eb9d9d500eb8f5d98b8b473794cb;hp=da2f9ed3aa30fc7463a2b2eafce3969dbd1c5627;hpb=8284b3cb82f4dec6e0f2bf74dea6e1a3bc7f4eac;p=quix0rs-gnu-social.git
diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js
index da2f9ed3aa..a75f17d8c5 100644
--- a/plugins/Realtime/realtimeupdate.js
+++ b/plugins/Realtime/realtimeupdate.js
@@ -1,152 +1,182 @@
-$(document).ready(function() {
- if (!$(document).getUrlParam('realtime')) {
- $('#site_nav_local_views .current a').append('↗ ');
-
- $('#realtime_timeline').css({
- 'margin':'2px 0 0 11px',
- 'background':'transparent url('+$('address .url')[0].href+'/plugins/Realtime/icon_external.gif) no-repeat 45% 45%',
- 'text-indent':'-9999px',
- 'width':'16px',
- 'height':'16px',
- 'padding':'0',
- 'display':'block',
- 'float':'right',
- 'border':'none',
- 'cursor':'pointer'
+// add a notice encoded as JSON into the current timeline
+//
+// TODO: i18n
+
+RealtimeUpdate = {
+ _userid: 0,
+ _replyurl: '',
+ _favorurl: '',
+ _deleteurl: '',
+
+ init: function(userid, replyurl, favorurl, deleteurl)
+ {
+ RealtimeUpdate._userid = userid;
+ RealtimeUpdate._replyurl = replyurl;
+ RealtimeUpdate._favorurl = favorurl;
+ RealtimeUpdate._deleteurl = deleteurl;
+
+ $(window).blur(function() {
+ $('#notices_primary .notice').css({
+ 'border-top-color':$('#notices_primary .notice:last').css('border-top-color'),
+ 'border-top-style':'dotted'
+ });
+
+ $('#notices_primary .notice:first').css({
+ 'border-top-color':'#AAAAAA',
+ 'border-top-style':'solid'
+ });
+
+ return false;
});
-
- $('#realtime_timeline').click(function() {
- window.open($(this).parent('a').attr('href')+'?realtime=1',
- $(this).parent('a').attr('title'),
- 'toolbar=no,resizable=yes,scrollbars=yes,status=yes');
-
- return false;
- });
- }
- else {
- window.resizeTo(575, 640);
- address = $('address');
- content = $('#content');
- $('body').html(address);
- $('address').hide();
- $('body').append(content);
- $('#content').css({'width':'92%'});
- }
-
-
- // add a notice encoded as JSON into the current timeline
- //
- // TODO: i18n
-
- RealtimeUpdate = {
- _userid: 0,
- _replyurl: '',
- _favorurl: '',
- _deleteurl: '',
-
- init: function(userid, replyurl, favorurl, deleteurl)
- {
- RealtimeUpdate._userid = userid;
- RealtimeUpdate._replyurl = replyurl;
- RealtimeUpdate._favorurl = favorurl;
- RealtimeUpdate._deleteurl = deleteurl;
- },
-
- receive: function(data)
- {
- id = data.id;
-
- // Don't add it if it already exists
-
- if ($("#notice-"+id).length > 0) {
- return;
- }
-
- var noticeItem = RealtimeUpdate.makeNoticeItem(data);
- $("#notices_primary .notices").prepend(noticeItem, true);
- $("#notices_primary .notice:first").css({display:"none"});
- $("#notices_primary .notice:first").fadeIn(1000);
- NoticeReply();
- },
-
- makeNoticeItem: function(data)
- {
- user = data['user'];
- html = data['html'].replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
- source = data['source'].replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
-
- ni = "
"+
- ""+
- ""+
- "
"+
- "a few seconds ago "+
- " "+
- "
"+
- "from "+
+ },
+
+ receive: function(data)
+ {
+ setTimeout(function() {
+ id = data.id;
+
+ // Don't add it if it already exists
+ if ($("#notice-"+id).length > 0) {
+ return;
+ }
+
+ var noticeItem = RealtimeUpdate.makeNoticeItem(data);
+ $("#notices_primary .notices").prepend(noticeItem);
+ $("#notices_primary .notice:first").css({display:"none"});
+ $("#notices_primary .notice:first").fadeIn(1000);
+ NoticeReply();
+ }, 500);
+ },
+
+ makeNoticeItem: function(data)
+ {
+ user = data['user'];
+ html = data['html'].replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
+ source = data['source'].replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
+
+ ni = ""+
+ ""+
+ ""+
+ "
"+
+ "a few seconds ago "+
+ " "+
+ "
"+
+ "from "+
""+source+" "+ // may have a link
- " ";
- if (data['in_reply_to_status_id']) {
- ni = ni+"
in context ";
- }
+ "";
+ if (data['in_reply_to_status_id']) {
+ ni = ni+"
in context ";
+ }
- ni = ni+"
"+
+ ni = ni+" "+
"";
- if (RealtimeUpdate._userid != 0) {
- var input = $("form#form_notice fieldset input#token");
- var session_key = input.val();
- ni = ni+RealtimeUpdate.makeFavoriteForm(data['id'], session_key);
- ni = ni+RealtimeUpdate.makeReplyLink(data['id'], data['user']['screen_name']);
- if (RealtimeUpdate._userid == data['user']['id']) {
+ if (RealtimeUpdate._userid != 0) {
+ var input = $("form#form_notice fieldset input#token");
+ var session_key = input.val();
+ ni = ni+RealtimeUpdate.makeFavoriteForm(data['id'], session_key);
+ ni = ni+RealtimeUpdate.makeReplyLink(data['id'], data['user']['screen_name']);
+ if (RealtimeUpdate._userid == data['user']['id']) {
ni = ni+RealtimeUpdate.makeDeleteLink(data['id']);
- }
- }
+ }
+ }
- ni = ni+"
"+
- " ";
- return ni;
- },
+ ni = ni+""+
+ "";
+ return ni;
+ },
- makeFavoriteForm: function(id, session_key)
- {
- var ff;
+ makeFavoriteForm: function(id, session_key)
+ {
+ var ff;
- ff = "";
- return ff;
- },
-
- makeReplyLink: function(id, nickname)
- {
- var rl;
- rl = "Reply "+id+" ";
- return rl;
+ "";
+ return ff;
+ },
+
+ makeReplyLink: function(id, nickname)
+ {
+ var rl;
+ rl = "Reply "+id+" ";
+ return rl;
},
- makeDeleteLink: function(id)
- {
- var dl, delurl;
- delurl = RealtimeUpdate._deleteurl.replace("0000000000", id);
-
- dl = "Delete ";
-
- return dl;
- }
- }
-
-});
+ makeDeleteLink: function(id)
+ {
+ var dl, delurl;
+ delurl = RealtimeUpdate._deleteurl.replace("0000000000", id);
+
+ dl = "Delete ";
+
+ return dl;
+ },
+
+ addPopup: function(url, timeline, iconurl)
+ {
+ $('#notices_primary').css({'position':'relative'});
+ $('#notices_primary').prepend('Pop up ');
+
+ $('#realtime_timeline').css({
+ 'margin':'0 0 11px 0',
+ 'background':'transparent url('+ iconurl + ') no-repeat 0% 30%',
+ 'padding':'0 0 0 20px',
+ 'display':'block',
+ 'position':'absolute',
+ 'top':'-20px',
+ 'right':'0',
+ 'border':'none',
+ 'cursor':'pointer',
+ 'color':$("a").css("color"),
+ 'font-weight':'bold',
+ 'font-size':'1em'
+ });
+
+ $('#realtime_timeline').click(function() {
+ window.open(url,
+ timeline,
+ 'toolbar=no,resizable=yes,scrollbars=yes,status=yes');
+
+ return false;
+ });
+ },
+
+ initPopupWindow: function()
+ {
+ window.resizeTo(500, 550);
+ $('address').hide();
+ $('#content').css({'width':'93.5%'});
+
+ $('#form_notice').css({
+ 'margin':'18px 0 18px 1.795%',
+ 'width':'93%',
+ 'max-width':'451px'
+ });
+
+ $('#form_notice label[for=notice_data-text], h1').css({'display': 'none'});
+
+ $('.notices li:first-child').css({'border-top-color':'transparent'});
+
+ $('#form_notice label[for="notice_data-attach"], #form_notice #notice_data-attach').css({'top':'0'});
+
+ $('#form_notice #notice_data-attach').css({
+ 'left':'auto',
+ 'right':'0'
+ });
+ }
+}