mirror of
https://github.com/friendica/friendica
synced 2024-11-15 07:33:55 +00:00
1f09e7ad23
1. Add template category 'end' that places content right before final </body> tag 2. Move most Javascript from tpl files into one cacheable file, theme.js 3. Load scripts at end of the HTML document instead of in the header 4. Minify several Javascript files Note that the second and third things were only done for Frost and Frost Mobile. Doing it for every theme means going through every .tpl for every theme and rearranging the Javascript, which is tedious.
1 line
No EOL
19 KiB
JavaScript
1 line
No EOL
19 KiB
JavaScript
function showEvent(e){$j.get(baseurl+"/events/?id="+e,function(e){$j.fancybox(e)})}function initCrop(){function e(e,t){$("x1").value=e.x1,$("y1").value=e.y1,$("x2").value=e.x2,$("y2").value=e.y2,$("width").value=t.width,$("height").value=t.height}Event.observe(window,"load",function(){new Cropper.ImgWithPreview("croppa",{previewWrap:"previewWrap",minWidth:175,minHeight:175,maxWidth:640,maxHeight:640,ratioDim:{x:100,y:100},displayOnInit:!0,onEndCrop:e})})}function showNavMenu(e){window.navMenuTimeout[e+"-closing"]?(window.navMenuTimeout[e+"-closing"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-opening"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideDown("fast").show(),window.navMenuTimeout[e+"-opening"]=!1},200))}function hideNavMenu(e){window.navMenuTimeout[e+"-opening"]?(window.navMenuTimeout[e+"-opening"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-closing"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideUp("fast"),window.navMenuTimeout[e+"-closing"]=!1},500))}function insertFormatting(e,t,n){var r=$j("#comment-edit-text-"+n).val();r==e&&(r="",$j("#comment-edit-text-"+n).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+n).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+n),$j("#comment-edit-text-"+n).val(r)),textarea=document.getElementById("comment-edit-text-"+n);if(document.selection)textarea.focus(),selected=document.selection.createRange(),t=="url"?selected.text="["+t+"]"+"http://"+selected.text+"[/"+t+"]":selected.text="["+t+"]"+selected.text+"[/"+t+"]";else if(textarea.selectionStart||textarea.selectionStart=="0"){var i=textarea.selectionStart,s=textarea.selectionEnd;t=="url"?textarea.value=textarea.value.substring(0,i)+"["+t+"]"+"http://"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length):textarea.value=textarea.value.substring(0,i)+"["+t+"]"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length)}return!0}function cmtBbOpen(e){$j(".comment-edit-bb-"+e).show()}function cmtBbClose(e){$j(".comment-edit-bb-"+e).hide()}function confirmDelete(){return confirm(window.delItem)}function commentOpen(e,t){e.value==window.commentEmptyText&&(e.value="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).show(),openMenu("comment-edit-submit-wrapper-"+t))}function commentClose(e,t){e.value==""&&(e.value=window.commentEmptyText,$j("#comment-edit-text-"+t).removeClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).addClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).hide(),closeMenu("comment-edit-submit-wrapper-"+t))}function commentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).html();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r)}function qCommentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).val();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r),$j(e).val("")}function showHideComments(e){$j("#collapsed-comments-"+e).is(":visible")?($j("#collapsed-comments-"+e).hide(),$j("#hide-comments-"+e).html(window.showMore)):($j("#collapsed-comments-"+e).show(),$j("#hide-comments-"+e).html(window.showFewer))}function enableOnUser(){if(editor)return;$j(this).val(""),initEditor()}function initEditor(e){if(editor==0){$j("#profile-jot-text-loading").show();if(plaintext=="none"){$j("#profile-jot-text-loading").hide(),$j("#profile-jot-text").css({height:200,color:"#000"}),$j("#profile-jot-text").contact_autocomplete(baseurl+"/acl"),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"elastic",transitionOut:"elastic"}),$j(".jothidden").show(),typeof e!="undefined"&&e();return}tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:window.editSelect,auto_focus:"profile-jot-text",plugins:"bbcode,paste,autoresize, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:window.baseURL+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser",setup:function(t){cPopup=null,t.onKeyDown.add(function(e,t){cPopup!==null&&cPopup.onkey(t)}),t.onKeyUp.add(function(e,t){var n=tinyMCE.activeEditor.getContent();match=n.match(/@([^ \n]+)$/),match!==null?(cPopup===null&&(cPopup=new ACPopup(this,baseurl+"/acl")),cPopup.ready&&match[1]!==cPopup.searchText&&cPopup.search(match[1]),cPopup.ready||(cPopup=null)):cPopup!==null&&(cPopup.close(),cPopup=null),textlen=n.length,textlen!=0&&$j("#jot-perms-icon").is(".unlock")?$j("#profile-jot-desc").html(ispublic):$j("#profile-jot-desc").html(" "),textlen<=140&&($j("#character-counter").removeClass("red"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("grey")),textlen>140&&textlen<=420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("red"),$j("#character-counter").addClass("orange")),textlen>420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("red")),$j("#character-counter").text(textlen)}),t.onInit.add(function(t){t.pasteAsPlainText=!0,$j("#profile-jot-text-loading").hide(),$j(".jothidden").show(),typeof e!="undefined"&&e()})}}),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"none",transitionOut:"none"})}else typeof e!="undefined"&&e()}function msgInitEditor(){plaintext!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function profInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function eventInitEditor(){tinyMCE.init({theme:"advanced",mode:"textareas",plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function contactInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,elements:"contact-edit-info",plugins:"bbcode",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_styles:"blockquote,code",gecko_spellcheck:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css"})}function wallInitEditor(){var e=window.editSelect;e!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function deleteCheckedItems(){var e="";$j(".item-select").each(function(){$j(this).is(":checked")&&(e.length!=0?e=e+","+$j(this).val():e=$j(this).val())}),$j.post("item",{dropitems:e},function(e){window.location.reload()})}function jotVideoURL(){reply=prompt(window.vidURL),reply&&reply.length&&addeditortext("[video]"+reply+"[/video]")}function jotAudioURL(){reply=prompt(window.audURL),reply&&reply.length&&addeditortext("[audio]"+reply+"[/audio]")}function jotGetLocation(){reply=prompt(window.whereAreU,$j("#jot-location").val()),reply&&reply.length&&$j("#jot-location").val(reply)}function jotShare(e){$j("#jot-popup").length!=0&&$j("#jot-popup").show(),$j("#like-rotator-"+e).show(),$j.get("share/"+e,function(t){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(t),$j("#like-rotator-"+e).hide(),$j(window).scrollTop(0)})})}function linkdropper(e){var t=e.dataTransfer.types.contains("text/uri-list");t&&e.preventDefault()}function itemTag(e){reply=prompt(window.term),reply&&reply.length&&(reply=reply.replace("#",""),reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("tagger/"+e+"?term="+reply,NavUpdate),liking=1))}function itemFiler(e){var t=$j("input").css("border-color");$j.get("filer/",function(n){$j.fancybox(n),$j("#id_term").keypress(function(){$j(this).css("border-color",t)}),$j("#select_term").change(function(){$j("#id_term").css("border-color",t)}),$j("#filer_save").click(function(t){return t.preventDefault(),reply=$j("#id_term").val(),reply&&reply.length?(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("filer/"+e+"?term="+reply,NavUpdate),liking=1,$j.fancybox.close()):$j("#id_term").css("border-color","#FF0000"),!1})})}function jotClearLocation(){$j("#jot-coord").val(""),$j("#profile-nolocation-wrapper").hide()}function addeditortext(e){if(plaintext=="none"){var t=$j("#profile-jot-text").val();$j("#profile-jot-text").val(t+e)}else tinyMCE.execCommand("mceInsertRawHTML",!1,e)}$j(document).ready(function(){window.navMenuTimeout={"#network-menu-list-timeout":null,"#contacts-menu-list-timeout":null,"#system-menu-list-timeout":null,"#network-menu-list-opening":!1,"#contacts-menu-list-opening":!1,"#system-menu-list-opening":!1,"#network-menu-list-closing":!1,"#contacts-menu-list-closing":!1,"#system-menu-list-closing":!1},typeof acl=="undefined"&&(acl=new ACL(baseurl+"/acl",[window.allowCID,window.allowGID,window.denyCID,window.denyGID])),$j("#profile-jot-text").focus(enableOnUser),$j("#profile-jot-text").click(enableOnUser),$j(".nav-menu-link").hover(function(){showNavMenu($j(this).attr("rel"))},function(){hideNavMenu($j(this).attr("rel"))}),$j(".group-edit-icon").hover(function(){$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".sidebar-group-element").hover(function(){id=$j(this).attr("id"),$j("#edit-"+id).addClass("icon"),$j("#edit-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#edit-"+id).removeClass("icon"),$j("#edit-"+id).addClass("iconspacer")}),$j(".savedsearchdrop").hover(function(){$j(this).addClass("drop"),$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("drop"),$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".savedsearchterm").hover(function(){id=$j(this).attr("id"),$j("#drop-"+id).addClass("icon"),$j("#drop-"+id).addClass("drophide"),$j("#drop-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#drop-"+id).removeClass("icon"),$j("#drop-"+id).removeClass("drophide"),$j("#drop-"+id).addClass("iconspacer")});if(window.aclType=="event_head"){$j("#events-calendar").fullCalendar({events:baseurl+"/events/json/",header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},timeFormat:"H(:mm)",eventClick:function(e,t,n){showEvent(e.id)},eventRender:function(e,t,n){if(e.item["author-name"]==null)return;switch(n.name){case"month":t.find(".fc-event-title").html("<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(e.item["author-avatar"],e.item["author-name"],e.title));break;case"agendaWeek":t.find(".fc-event-title").html("<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location));break;case"agendaDay":t.find(".fc-event-title").html("<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location))}}});var e=location.href.replace(baseurl,"").split("/");e.length>=4&&$j("#events-calendar").fullCalendar("gotoDate",e[2],e[3]-1);var t=location.hash.split("-");t.length==2&&t[0]=="#link"&&showEvent(t[1])}$j("#event-share-checkbox").change(function(){$j("#event-share-checkbox").is(":checked")?$j("#acl-wrapper").show():$j("#acl-wrapper").hide()}).trigger("change"),(window.aclType=="settings-head"||window.aclType=="photos_head"||window.aclType=="event_head")&&$j("#contact_allow, #contact_deny, #group_allow, #group_deny").change(function(){var e;$j("#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected").each(function(){e=$j(this).text(),$j("#jot-perms-icon").removeClass("unlock").addClass("lock"),$j("#jot-public").hide()}),e==null&&($j("#jot-perms-icon").removeClass("lock").addClass("unlock"),$j("#jot-public").show())}).trigger("change");switch(window.autocompleteType){case"msg-header":var n=$j("#recip").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350,onSelect:function(e,t){$j("#recip-complete").val(t)}});break;case"contacts-head":var n=$j("#contacts-search").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350});n.setOptions({params:{type:"a"}});break;default:}if(typeof window.AjaxUpload!="undefined")switch(window.ajaxType){case"jot-header":var r=new window.AjaxUpload("wall-image-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}}),i=new window.AjaxUpload("wall-file-upload",{action:"wall_attach/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}});break;case"msg-header":var r=new window.AjaxUpload("prvmail-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){tinyMCE.execCommand("mceInsertRawHTML",!1,t),$j("#profile-rotator").hide()}});break;default:}}),$j(function(){$j("nav").bind("nav-update",function(e,t){var n=$j("#pending-update"),r=$j(t).find("register").text();r=="0"?(r="",n.hide()):n.show(),n.html(r)})}),$j(function(){$j("#cnftheme").fancybox({width:800,autoDimensions:!1,onStart:function(){var e=$j("#id_theme :selected").val();$j("#cnftheme").attr("href",baseurl+"/admin/themes/"+e)},onComplete:function(){$j("div#fancybox-content form").submit(function(e){var t=$j(this).attr("action"),n={};return $j(this).find("input").each(function(){n[$j(this).attr("name")]=$j(this).val()}),$j(this).find("select").each(function(){n[$j(this).attr("name")]=$j(this).children(":selected").val()}),console.log(":)",t,n),$j.post(t,n,function(e){timer&&clearTimeout(timer),NavUpdate(),$j.fancybox.close()}),!1})}})}),typeof window.photoEdit!="undefined"&&$j(document).keydown(function(e){window.prevLink!=""&&e.ctrlKey&&e.keyCode==37&&(e.preventDefault(),window.location.href=window.prevLink),window.nextLink!=""&&e.ctrlKey&&e.keyCode==39&&(e.preventDefault(),window.location.href=window.nextLink)});switch(window.ajaxType){case"jot-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&(reply=bin2hex(reply),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+reply,function(e){addeditortext(e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&(t=bin2hex(t),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+t,function(e){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(e),$j("#profile-rotator").hide()})}))}break;case"msg-header":case"wallmsg-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+reply,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+t,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}break;default:}var editor=!1,textlen=0,plaintext=window.editSelect,ispublic=window.isPublic;typeof window.geoTag=="function"&&window.geoTag(); |