]> git.mxchange.org Git - friendica.git/blobdiff - view/theme/frio/js/theme.js
Merge branch 'master' into develop
[friendica.git] / view / theme / frio / js / theme.js
index 82cbace5cb7b9a142990b6f603a463fb27a23e0a..594fa256346a96db8063cc5b5869c289a2020a2e 100644 (file)
@@ -106,7 +106,10 @@ $(document).ready(function(){
                delay: {
                        show: 500,
                        hide: 100
-               }
+               },
+               sanitizeFn: function (content) {
+                       return DOMPurify.sanitize(content)
+               },
        });
 
        // initialize the bootstrap-select
@@ -282,7 +285,7 @@ $(document).ready(function(){
         * We are making an exception for buttons because of a race condition with the
         * comment opening button that results in an already closed comment UI.
         */
-       $(document).on('click', function(event) {
+       $(document).on('mousedown', function(event) {
                if (event.target.type === 'button') {
                        return true;
                }
@@ -372,24 +375,19 @@ function openClose(theID) {
 }
 
 function showHide(theID) {
-       if(document.getElementById(theID).style.display == "block") {
-               document.getElementById(theID).style.display = "none"
-       }
-       else {
-               document.getElementById(theID).style.display = "block"
-       }
-}
+       var elem = document.getElementById(theID);
+       var edit = document.getElementById("comment-edit-submit-wrapper-" + theID.match('[0-9$]+'));
 
-function showHideComments(id) {
-       if( $('#collapsed-comments-' + id).is(':visible')) {
-               $('#collapsed-comments-' + id).slideUp();
-               $('#hide-comments-' + id).html(window.showMore);
-               $('#hide-comments-total-' + id).show();
+       if ($(elem).is(':visible')) {
+               if (!$(edit).is(':visible')) {
+                       edit.style.display = "block";
+               }
+               else {
+                       elem.style.display = "none";
+               }
        }
        else {
-               $('#collapsed-comments-' + id).slideDown();
-               $('#hide-comments-' + id).html(window.showFewer);
-               $('#hide-comments-total-' + id).hide();
+               elem.style.display = "block";
        }
 }
 
@@ -431,10 +429,10 @@ function justifyPhotos() {
                margins: 3,
                border: 0,
                sizeRangeSuffixes: {
-                       'lt100': '-2',
-                       'lt240': '-2',
+                       'lt48': '-6',
+                       'lt80': '-5',
+                       'lt300': '-4',
                        'lt320': '-2',
-                       'lt500': '',
                        'lt640': '-1',
                        'lt1024': '-0'
                }
@@ -446,8 +444,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';
@@ -458,7 +464,7 @@ function loadScript(url, callback) {
        script.onreadystatechange = callback;
        script.onload = callback;
 
-       // Fire the loading
+       // Fire the loading.
        head.appendChild(script);
 }
 
@@ -520,24 +526,35 @@ 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 );
 
@@ -745,6 +762,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