1(function ($) { 2 "use strict"; 3 4 if (!$.wjbExtensions) 5 $.wjbExtensions = {}; 6 7 function WJBMainCore() { 8 var self = this; 9 self.init(); 10 }; 11 12 WJBMainCore.prototype = { 13 /** 14 * Initialize 15 */ 16 init: function() { 17 var self = this; 18 19 self.sendMessage(); 20 21 self.replyMessage(); 22 23 self.chooseMessage(); 24 25 self.searchMessage(); 26 27 self.messageLoadmore(); 28 29 self.repliedLoadmore(); 30 31 self.deleteMessage(); 32 33 $('.list-message-inner').perfectScrollbar(); 34 $('.list-replies-inner').perfectScrollbar(); 35 $(".list-replies-inner").scrollTop( $( ".list-replies-inner" ).prop( "scrollHeight" ) ); 36 $(".list-replies-inner").perfectScrollbar('update'); 37 38 $(document).on('click', '.toggle-message-btn', function(){ 39 $('.list-message-wrapper').slideToggle(); 40 }); 41 42 self.loadExtension(); 43 }, 44 loadExtension: function() { 45 var self = this; 46 47 if ($.wjbExtensions.ajax_upload) { 48 $.wjbExtensions.ajax_upload.call(self); 49 } 50 }, 51 sendMessage: function() { 52 var self = this; 53 $(document).on('submit', 'form.send-message-form', function(e){ 54 e.preventDefault(); 55 var form_id = $(this).attr('id'); 56 var $this = $(this); 57 $this.find('.alert').remove(); 58 $this.find('.send-message-btn').addClass('loading'); 59 var form_data = new FormData( $('#' + form_id)[0] ); 60 61 $.ajax({
62 url: wp_private_message_opts.ajaxurl, 63 type:'POST', 64 dataType: 'json', 65 data: form_data, 66 processData: false, 67 contentType: false, 68 }).done(function(data) { 69 $this.find('.send-message-btn').removeClass('loading'); 70 71 if ( data.status ) { 72 $this.prepend( '<div class="alert alert-info">'+data.msg+'</div>' ); 73 $this.find('textarea[name=subject]').val(''); 74 $this.find('textarea[name=message]').val(''); 75 } else { 76 $this.prepend( '<div class="alert alert-warning">'+data.msg+'</div>' ); 77 } 78 79 }); 80 return false; 81 }); 82 }, 83 replyMessage: function() { 84 var self = this; 85 $(document).on('submit', 'form.reply-message-form', function(e){ 86 e.preventDefault(); 87 var form_id = $(this).attr('id'); 88 var $this = $(this); 89 $this.find('.alert').remove(); 90 $this.find('.reply-message-btn').addClass('loading'); 91 var form_data = new FormData( $('#' + form_id)[0] ); 92 93 $.ajax({
94 url: wp_private_message_opts.ajaxurl, 95 type:'POST', 96 dataType: 'json', 97 data: form_data, 98 processData: false, 99 contentType: false, 100 }).done(function(data) { 101 $this.find('.reply-message-btn').removeClass('loading'); 102 103 if ( data.status ) { 104 $this.closest('.replies-content').find('.list-replies').append( data.msg ); 105 $this.find('textarea[name=message]').val(''); 106 $(".list-replies-inner").scrollTop( $( ".list-replies-inner" ).prop( "scrollHeight" ) ); 107 $(".list-replies-inner").perfectScrollbar('update'); 108 } else { 109 self.showMessage(data.msg, data.status); 110 } 111 }); 112 return false; 113 }); 114 }, 115 chooseMessage: function() { 116 var self = this; 117 $(document).on('click', 'a.message-item', function(e){ 118 e.preventDefault(); 119 var $this = $(this); 120 var parent = $(this).parent(); 121 122 if ( parent.hasClass('active') ) { 123 return; 124 } 125 $('ul.list-message li').removeClass('active'); 126 parent.addClass('active').addClass('read').removeClass('unread'); 127 128 $this.closest('.message-section-wrapper').find('.replies-content').addClass('loading'); 129 130 $.ajax({
131 url: wp_private_message_opts.ajaxurl, 132 type:'POST', 133 dataType: 'json', 134 data: { 135 'message_id': $(this).data('id'), 136 'action': 'wp_private_message_choose_message', 137 'nonce': $(this).data('nonce') 138 } 139 }).done(function(data) { 140 $this.closest('.message-section-wrapper').find('.replies-content').removeClass('loading'); 141 142 if ( data.status ) { 143 $this.closest('.message-section-wrapper').find('.replies-content').html( data.msg ); 144 var $inner = $this.closest('.message-section-wrapper').find(".list-replies-inner"); 145 $inner.perfectScrollbar(); 146 $inner.scrollTop( $inner.prop( "scrollHeight" ) ); 147 $inner.perfectScrollbar('update'); 148 } else { 149 self.showMessage(data.msg, data.status); 150 } 151 }); 152 return false; 153 }); 154 }, 155 searchMessage: function() { 156 var self = this; 157 $(document).on('submit', 'form.search-message-form', function(e){ 158 e.preventDefault(); 159 var $this = $(this); 160 var form_id = $this.attr('id'); 161 $this.closest('.list-message-wrapper').addClass('loading'); 162 var form_data = new FormData( $('#' + form_id)[0] ); 163 164 $.ajax({
165 url: wp_private_message_opts.ajaxurl, 166 type:'POST', 167 dataType: 'json', 168 data: form_data, 169 processData: false, 170 contentType: false, 171 }).done(function(data) { 172 $this.closest('.list-message-wrapper').removeClass('loading'); 173 174 if ( data.status ) { 175 $this.closest('.list-message-wrapper').find('ul.list-message').html( data.output ); 176 $this.closest('.list-message-wrapper').find('.loadmore-action').remove(); 177 if ( data.next_page ) { 178 $this.closest('.list-message-wrapper').find('.list-message-inner').append(data.next_page); 179 } 180 var $inner = $this.closest('.list-message-wrapper').find('.list-message-inner'); 181 $inner.perfectScrollbar(); 182 } else { 183 self.showMessage(data.msg, data.status); 184 } 185 }); 186 return false; 187 }); 188 $(document).on('change', 'input[name=search_read]', function() { 189 $('form.search-message-form').trigger('submit'); 190 }); 191 }, 192 messageLoadmore: function() { 193 var self = this; 194 $(document).on('click', '.loadmore-message-btn', function(e){ 195 e.preventDefault(); 196 var $this = $(this); 197 $this.addClass('loading'); 198 var search = ''; 199 if ( $('form.search-message-form').length > 0 ) { 200 search = $('form.search-message-form').find('input[name=search]').val(); 201 } 202 $.ajax({
203 url: wp_private_message_opts.ajaxurl, 204 type:'POST', 205 dataType: 'json', 206 data: { 207 'paged': $this.data('paged'), 208 'action': 'wp_private_message_message_loadmore', 209 'search': search, 210 }, 211 }).done(function(data) { 212 $this.removeClass('loading'); 213 if ( data.status ) { 214 $this.closest('.list-message-inner').find('.list-message').append(data.output); 215 if ( data.next_page > 0 ) { 216 $this.attr('data-paged', data.next_page); 217 } else { 218 $this.remove(); 219 } 220 } 221 }); 222 return false; 223 }); 224 }, 225 repliedLoadmore: function() { 226 var self = this; 227 $(document).on('click', '.loadmore-replied-btn', function(e){ 228 e.preventDefault(); 229 var $this = $(this); 230 $this.addClass('loading'); 231 232 $.ajax({
233 url: wp_private_message_opts.ajaxurl, 234 type:'POST', 235 dataType: 'json', 236 data: { 237 'paged': $this.attr('data-paged'), 238 'action': 'wp_private_message_replied_loadmore', 239 'parent': $this.data('parent'), 240 }, 241 }).done(function(data) { 242 $this.removeClass('loading'); 243 if ( data.status ) { 244 $this.closest('.list-replies-inner').find('.list-replies').prepend(data.output); 245 if ( data.next_page > 0 ) { 246 $this.attr('data-paged', data.next_page); 247 } else { 248 $this.remove(); 249 } 250 } 251 }); 252 return false; 253 }); 254 }, 255 deleteMessage: function() { 256 var self = this; 257 $(document).on('click', 'a.delete-message-btn', function(e){ 258 e.preventDefault(); 259 var $this = $(this); 260 var message_id = $this.data('id'); 261 $this.closest('.replies-content').addClass('loading'); 262 263 $.ajax({
264 url: wp_private_message_opts.ajaxurl, 265 type:'POST', 266 dataType: 'json', 267 data: { 268 'message_id': message_id, 269 'action': 'wp_private_message_delete_message', 270 'nonce': $this.data('nonce') 271 } 272 }).done(function(data) { 273 $this.closest('.replies-content').removeClass('loading'); 274 275 if ( data.status ) { 276 $this.closest('.message-section-wrapper').find( '#message-id-' + message_id ).remove(); 277 $this.closest('.replies-content').html(''); 278 } 279 self.showMessage(data.msg, data.status); 280 }); 281 return false; 282 }); 283 }, 284 showMessage: function(msg, status) { 285 console.log(msg); 286 if ( msg ) { 287 var classes = 'alert bg-warning'; 288 if ( status ) { 289 classes = 'alert bg-info'; 290 } 291 var $html = '<div id="wp-private-message-popup-message" class="animated fadeInRight"><div class="message-inner '+ classes +'">'+ msg +'</div></div>'; 292 $('body').find('#wp-private-message-popup-message').remove(); 293 $('body').append($html).fadeIn(500); 294 setTimeout(function() { 295 $('body').find('#wp-private-message-popup-message').removeClass('fadeInRight').addClass('delay-2s fadeOutRight'); 296 }, 2500); 297 } 298 } 299 } 300 301 $.wjbMainCore = WJBMainCore.prototype; 302 303 $(document).ready(function() { 304 // Initialize script 305 new WJBMainCore(); 306 307 }); 308 309})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.