})(jQuery,'smartkeypress');
+ function longestWordInString(string)
+ {
+ var words = string.split(/\s/);
+ var longestWord = 0;
+ for(var i=0;i<words.length;i++)
+ if(words[i].length > longestWord) longestWord = words[i].length;
+ return longestWord;
+ }
+
+ function shorten()
+ {
+ 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(e.charCode == '32') {
shorten();
}
});
- $noticeDataText.bind('paste', shorten);
+ $noticeDataText.bind('paste', function() {
+ //if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort();
+ setTimeout(shorten,1);
+ });
});
- function shorten()
- {
- $noticeDataText = $('#'+SN.C.S.NoticeDataText);
- var original = $noticeDataText.val();
- $.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();
- }
- }
- });
- }
})();