X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Fmain.js;h=6ab574c4e818f449742f9d9668c2b43b12b5ee2f;hb=f96b91c25483fc14d94911007c204b9416726b93;hp=c20455ad14bd24f19cea4955168bd4b1b466becf;hpb=dfa056bb1beedf4e48c470ff14bfa7d412ebcb26;p=friendica.git diff --git a/js/main.js b/js/main.js old mode 100755 new mode 100644 index c20455ad14..6ab574c4e8 --- a/js/main.js +++ b/js/main.js @@ -16,6 +16,8 @@ document.getElementById(theID).style.display = "none" } + + var src = null; var prev = null; var livetime = null; @@ -28,13 +30,15 @@ var in_progress = false; var langSelect = false; var commentBusy = false; + var last_popup_menu = null; + var last_popup_button = null; $(function() { $.ajaxSetup({cache: false}); msie = $.browser.msie ; - /* setup tooltips */ + /* setup tooltips *//* $("a,.tt").each(function(){ var e = $(this); var pos="bottom"; @@ -43,7 +47,7 @@ if (e.hasClass("ttleft")) pos="left"; if (e.hasClass("ttright")) pos="right"; e.tipTip({defaultPosition: pos, edgeOffset: 8}); - }); + });*/ @@ -69,15 +73,34 @@ setupFieldRichtext(); /* popup menus */ + function close_last_popup_menu() { + if(last_popup_menu) { + last_popup_menu.hide(); + last_popup_button.removeClass("selected"); + last_popup_menu = null; + last_popup_button = null; + } + } $('a[rel^=#]').click(function(e){ + close_last_popup_menu(); menu = $( $(this).attr('rel') ); e.preventDefault(); e.stopPropagation(); if (menu.attr('popup')=="false") return false; $(this).parent().toggleClass("selected"); menu.toggle(); + if (menu.css("display") == "none") { + last_popup_menu = null; + last_popup_button = null; + } else { + last_popup_menu = menu; + last_popup_button = $(this).parent(); + } return false; }); + $('html').click(function() { + close_last_popup_menu(); + }); // fancyboxes $("a.popupbox").fancybox({ @@ -94,6 +117,9 @@ /* nav update event */ $('nav').bind('nav-update', function(e,data){; + var invalid = $(data).find('invalid').text(); + if(invalid == 1) { window.location.href=window.location.href } + var net = $(data).find('net').text(); if(net == 0) { net = ''; $('#net-update').removeClass('show') } else { $('#net-update').addClass('show') } $('#net-update').html(net); @@ -101,9 +127,7 @@ var home = $(data).find('home').text(); if(home == 0) { home = ''; $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') } $('#home-update').html(home); - - - + var intro = $(data).find('intro').text(); if(intro == 0) { intro = ''; $('#intro-update').removeClass('show') } else { $('#intro-update').addClass('show') } $('#intro-update').html(intro); @@ -111,15 +135,22 @@ var mail = $(data).find('mail').text(); if(mail == 0) { mail = ''; $('#mail-update').removeClass('show') } else { $('#mail-update').addClass('show') } $('#mail-update').html(mail); + + var intro = $(data).find('intro').text(); + if(intro == 0) { intro = ''; $('#intro-update-li').removeClass('show') } else { $('#intro-update-li').addClass('show') } + $('#intro-update-li').html(intro); + + var mail = $(data).find('mail').text(); + if(mail == 0) { mail = ''; $('#mail-update-li').removeClass('show') } else { $('#mail-update-li').addClass('show') } + $('#mail-update-li').html(mail); var eNotif = $(data).find('notif') - notif = eNotif.attr('count'); - if (notif>=0){ - $("#nav-notifications-linkmenu").addClass("on"); + + if (eNotif.children("note").length==0){ + $("#nav-notifications-menu").html(notifications_empty); + } else { nnm = $("#nav-notifications-menu"); - nnm.html(notifications_all + notifications_mark); - //nnm.attr('popup','true'); eNotif.children("note").each(function(){ e = $(this); @@ -127,10 +158,12 @@ html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen')); nnm.append(html); }); - + } + notif = eNotif.attr('count'); + if (notif>0){ + $("#nav-notifications-linkmenu").addClass("on"); } else { - // $("#nav-notifications-linkmenu").removeClass("on"); - // $("#nav-notifications-menu").html(notifications_empty); + $("#nav-notifications-linkmenu").removeClass("on"); } if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') } $('#notify-update').html(notif); @@ -151,6 +184,12 @@ NavUpdate(); // Allow folks to stop the ajax page updates with the pause/break key $(document).keydown(function(event) { + if(event.keyCode == '8') { + var target = event.target || event.srcElement; + if (!/input|textarea/i.test(target.nodeName)) { + return false; + } + } if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) { event.preventDefault(); if(stopped == false) { @@ -175,7 +214,8 @@ function NavUpdate() { if(! stopped) { - $.get("ping",function(data) { + var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : ''); + $.get(pingCmd,function(data) { $(data).find('result').each(function() { // send nav-update event $('nav').trigger('nav-update', this); @@ -240,8 +280,7 @@ //}); // add a new thread - - $('.tread-wrapper',data).each(function() { + $('.toplevel_item',data).each(function() { var ident = $(this).attr('id'); if($('#' + ident).length == 0 && profile_page == 1) { @@ -317,9 +356,9 @@ function dolike(ident,verb) { unpause(); $('#like-rotator-' + ident.toString()).show(); - $.get('like/' + ident.toString() + '?verb=' + verb ); - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,3000); + $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate ); +// if(timer) clearTimeout(timer); +// timer = setTimeout(NavUpdate,3000); liking = 1; } @@ -486,9 +525,9 @@ return a.join(''); } - function groupChangeMember(gid,cid) { + function groupChangeMember(gid, cid, sec_token) { $('body .fakelink').css('cursor', 'wait'); - $.get('group/' + gid + '/' + cid, function(data) { + $.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) { $('#group-update-wrapper').html(data); $('body .fakelink').css('cursor', 'auto'); }); @@ -527,12 +566,36 @@ function notifyMarkAll() { } +// code from http://www.tinymce.com/wiki.php/How-to_implement_a_custom_file_browser +function fcFileBrowser (field_name, url, type, win) { + /* TODO: If you work with sessions in PHP and your client doesn't accept cookies you might need to carry + the session name and session ID in the request string (can look like this: "?PHPSESSID=88p0n70s9dsknra96qhuk6etm5"). + These lines of code extract the necessary parameters and add them back to the filebrowser URL again. */ + + + var cmsURL = baseurl+"/fbrowser/"+type+"/"; + + tinyMCE.activeEditor.windowManager.open({ + file : cmsURL, + title : 'File Browser', + width : 420, // Your dimensions may differ - toy around with them! + height : 400, + resizable : "yes", + inline : "yes", // This parameter only has an effect if you use the inlinepopups plugin! + close_previous : "no" + }, { + window : win, + input : field_name + }); + return false; + } + function setupFieldRichtext(){ tinyMCE.init({ theme : "advanced", mode : "specific_textareas", editor_selector: "fieldRichtext", - plugins : "bbcode,paste", + plugins : "bbcode,paste, inlinepopups", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", @@ -549,6 +612,7 @@ function setupFieldRichtext(){ convert_urls: false, content_css: baseurl+"/view/custom_tinymce.css", theme_advanced_path : false, + file_browser_callback : "fcFileBrowser", }); } @@ -573,3 +637,10 @@ Array.prototype.remove = function(item) { return this.push.apply(this, rest); }; +function previewTheme(elm) { + theme = $(elm).val(); + $.getJSON('pretheme?f=&theme=' + theme,function(data) { + $('#theme-preview').html('
' + data.desc + '
' + data.version + '
' + data.credits + '
' + theme + ''); + }); + +}