X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FClientSideShorten%2Fshorten.js;h=d7e17d5284f076fcfba5076dbe9d139ced60c1ff;hb=a75b1df62727ce74fdf4d8d98421558b153458e1;hp=0db78eceaf82962f32edbdb3cc0ab93b5674f5b8;hpb=1de8877cad94e1f9252b1f6ccdea57ff3339c367;p=quix0rs-gnu-social.git diff --git a/plugins/ClientSideShorten/shorten.js b/plugins/ClientSideShorten/shorten.js index 0db78eceaf..d7e17d5284 100644 --- a/plugins/ClientSideShorten/shorten.js +++ b/plugins/ClientSideShorten/shorten.js @@ -16,7 +16,7 @@ function delayed () { if (!execAsap) func.apply(obj, args); - timeout = null; + timeout = null; }; if (timeout) @@ -24,39 +24,52 @@ else if (execAsap) func.apply(obj, args); - timeout = setTimeout(delayed, threshold || 100); + timeout = setTimeout(delayed, threshold || 100); }; } jQuery.fn[sr] = function(fn){ return fn ? this.bind('keypress', debounce(fn, 1000)) : this.trigger(sr); }; })(jQuery,'smartkeypress'); + function longestWordInString(string) + { + var words = string.split(/\s/); + var longestWord = 0; + for(var i=0;i longestWord) longestWord = words[i].length; + return longestWord; + } + function shorten() { - $noticeDataText = $('#'+SN.C.S.NoticeDataText); - var original = $noticeDataText.val(); - shortenAjax = $.ajax({ - url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten', - data: { text: $noticeDataText.val() }, - dataType: 'text', - success: function(data) { - if(original == $noticeDataText.val()) { - $noticeDataText.val(data).keyup(); + var $noticeDataText = $('#'+SN.C.S.NoticeDataText); + var noticeText = $noticeDataText.val(); + + if(noticeText.length > maxNoticeLength || longestWordInString(noticeText) > maxUrlLength) { + var original = $noticeDataText.val(); + shortenAjax = $.ajax({ + url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten', + data: { text: $noticeDataText.val() }, + dataType: 'text', + success: function(data) { + if(original == $noticeDataText.val()) { + $noticeDataText.val(data).keyup(); + } } - } - }); + }); + } } $(document).ready(function(){ $noticeDataText = $('#'+SN.C.S.NoticeDataText); $noticeDataText.smartkeypress(function(e){ - if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); + //if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); if(e.charCode == '32') { shorten(); } }); $noticeDataText.bind('paste', function() { - if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); + //if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); setTimeout(shorten,1); }); });