X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Ffrio%2Fjs%2Ftheme.js;h=edbe713c6713ad7abf51f11bce2db37c7e61b9af;hb=6cf50a14fae25210a0cdb617c29d549abcfde9ac;hp=0329ae6c82cb16a287a6238b2d007a41f9dfbfe0;hpb=fd5d058156185c6c02c1285a794139d07f4d13ce;p=friendica.git diff --git a/view/theme/frio/js/theme.js b/view/theme/frio/js/theme.js index 0329ae6c82..edbe713c67 100644 --- a/view/theme/frio/js/theme.js +++ b/view/theme/frio/js/theme.js @@ -353,6 +353,11 @@ $(document).ready(function(){ $("body").removeClass("aside-out"); }); + // Event listener for 'Show & hide event map' button in the network stream. + $("body").on("click", ".event-map-btn", function() { + showHideEventMap(this); + }); + }); function openClose(theID) { @@ -367,15 +372,16 @@ function openClose(theID) { } function showHide(theID) { - if(document.getElementById(theID).style.display == "block") { - document.getElementById(theID).style.display = "none" + var elem = document.getElementById(theID); + + if( $(elem).is(':visible') ) { + elem.style.display = "none"; } else { - document.getElementById(theID).style.display = "block" + elem.style.display = "block"; } } - function showHideComments(id) { if( $('#collapsed-comments-' + id).is(':visible')) { $('#collapsed-comments-' + id).slideUp(); @@ -389,6 +395,37 @@ function showHideComments(id) { } } +// Show & hide event map in the network stream by button click. +function showHideEventMap(elm) { + // Get the id of the map element - it should be provided through + // the atribute "data-map-id". + var mapID = elm.getAttribute('data-map-id'); + + // Get translation labels. + var mapshow = elm.getAttribute('data-show-label'); + var maphide = elm.getAttribute('data-hide-label'); + + // Change the button labels. + if (elm.innerText == mapshow) { + $('#' + elm.id).text(maphide); + } else { + $('#' + elm.id).text(mapshow); + } + // Because maps are iframe elements, we cant hide it through css (display: none). + // We solve this issue by putting the map outside the screen with css. + // So the first time the 'Show map' button is pressed we move the map + // element into the screen area. + var mappos = $('#' + mapID).css('position'); + + if (mappos === 'absolute') { + $('#' + mapID).hide(); + $('#' + mapID).css({position: 'relative', left: 'auto', top: 'auto'}); + openClose(mapID); + } else { + openClose(mapID); + } + return false; +} function justifyPhotos() { justifiedGalleryActive = true; @@ -411,8 +448,16 @@ function justifyPhotosAjax() { $('#photo-album-contents').justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; }); } +// Load a js script to the html head. function loadScript(url, callback) { - // Adding the script tag to the head as suggested before + // Check if the script is already in the html head. + var oscript = $('head script[src="' + url + '"]'); + + // Delete the old script from head. + if (oscript.length > 0) { + oscript.remove(); + } + // Adding the script tag to the head as suggested before. var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; @@ -423,7 +468,7 @@ function loadScript(url, callback) { script.onreadystatechange = callback; script.onload = callback; - // Fire the loading + // Fire the loading. head.appendChild(script); } @@ -485,28 +530,38 @@ function filter_replace(item) { return item.name; } -(function( $ ) { +(function($) { $.fn.contact_filter = function(backend_url, typ, autosubmit, onselect) { - if(typeof typ === 'undefined') typ = ''; - if(typeof autosubmit === 'undefined') autosubmit = false; + if (typeof typ === 'undefined') { + typ = ''; + } + + if (typeof autosubmit === 'undefined') { + autosubmit = false; + } // Autocomplete contacts contacts = { match: /(^)([^\n]+)$/, index: 2, - search: function(term, callback) { contact_search(term, callback, backend_url, typ); }, + search: function(term, callback) {contact_search(term, callback, backend_url, typ);}, replace: filter_replace, - template: contact_filter, + template: contact_filter }; this.attr('autocomplete','off'); var a = this.textcomplete([contacts], {className:'accontacts', appendTo: '#contact-list'}); - a.on('textComplete:select', function(e, value, strategy) { $(".dropdown-menu.textcomplete-dropdown.media-list").show(); }); + if(autosubmit) { + a.on('textComplete:select', function(e,value,strategy) {submit_form(this);}); + } + + a.on('textComplete:select', function(e, value, strategy) { + $(".dropdown-menu.textcomplete-dropdown.media-list").show(); + }); }; })( jQuery ); - // current time in milliseconds, to send each request to make sure // we 're not getting 304 response function timeNow() { @@ -711,6 +766,7 @@ function doLikeAction(ident, verb) { $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate ); liking = 1; force_update = true; + update_item = ident.toString(); } // Decodes a hexadecimally encoded binary string