1var member_chat_list_member = jQuery(".jobsearch-chat-member-list-wrapper"), window_width = jQuery(window).width(); 2 3jQuery.fn.ignore = function (sel) { 4 return this.clone().find(sel || ">*").remove().end(); 5}; 6 7function FrontChattriggerFile(user_id) { 8 jQuery('.user-' + user_id + ' form[name="fileForm"] input:first').click(); 9} 10 11function FrontChatuploadFileForm(form) { 12 13 jQuery('.jobsearch-chat-no-messages').remove(); 14 var fileForm = jQuery(form).children('input[type=file]')[0].files[0], 15 formId = jQuery(form).attr('id'), 16 reg_ser_form = jQuery(form)[0], 17 ext_not_allow = ['css', 'html', 'php', 'json'], 18 formData = new FormData(reg_ser_form); 19 20 if (fileForm.size > 10000000) { 21 alert("cannot upload more than 10mb"); 22 return; 23 } 24 25 var chat_message = fileForm.name, 26 last_element, 27 chat_message_ext = chat_message.split('.'); 28 if (chat_message_ext != '') { 29 last_element = chat_message_ext[chat_message_ext.length - 1]; 30 if (ext_not_allow.indexOf(last_element) != -1) { 31 alert("File of this extension is not allowed"); 32 return; 33 } 34 } 35 36 jQuery.ajax({ 37 type: 'POST', 38 url: jobsearch_ajchat_vars.jobsearch_ajax_url, 39 data: formData, 40 contentType: false, 41 cache: false, 42 processData: false, 43 datatype: 'json', 44 beforeSend: function () { 45 jQuery(".jobsearch-loading-section").removeClass("hidden"); 46 }, 47 success: function (r) { 48 jQuery(".jobsearch-loading-section").addClass("hidden"); 49 scroll_event_front(jQuery(form).find('input[name=reciever_id]').val()); 50 } 51 }); 52 $('form#' + formId).trigger("reset"); 53} 54 55//jobsearch-chat-close 56jQuery(document).on('click', '.jobsearch-chat-toggle-chat', function (e) { 57 e.preventDefault(); 58 member_chat_list_member.attr('style', '') 59 member_chat_list_member.fadeOut(800); 60 jQuery(".jobsearch-chat-tab2").addClass("jobsearch-chat-is-toggled"); 61 jQuery(".jobsearch-chat-floating-chat").removeClass("hidden").hide().delay(100).fadeIn(500); 62 localStorage.setItem("is_toggled", "yes"); 63 setTimeout(function () { 64 jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') 65 }, 770) 66 67}); 68 69//toggle chat view front 70jQuery(document).on('click', '.jobsearch-chat-floating-chat', function (e) { 71 e.preventDefault(); 72 jQuery(document).find('.jobsearch-chat-margin-right').removeClass('jobsearch-chat-margin-right') 73 jQuery(".jobsearch-chat-floating-chat").addClass("hidden"); 74 member_chat_list_member.fadeIn(800).css({display: 'inline-block'}); 75 jQuery(".jobsearch-chat-tab2").removeClass("jobsearch-chat-is-toggled"); 76 localStorage.setItem("is_toggled", "no"); 77}); 78 79var chat_settings = []; 80//load chat box front 81jQuery(document).on('click', '.load-chat-box', function () { 82 83 var _this = jQuery(this), _data, 84 _receiver_id = jQuery(this).attr('data-user-id'), 85 _find_load_box = jQuery(".user-" + _receiver_id), 86 _user_name = _this.find('.jobsearch-chat-list-thumb a').ignore("small").text(), 87 _user_img = _this.find('img').attr('src'), 88 _window_width = jQuery(window).width(), 89 _html, _chat_selector = _find_load_box.find('ul#float-chat'); 90 91 _this.find('small').addClass('hidden'); 92 _this.find('small').text(0); 93 // 94 _find_load_box.find('.jobsearch-chat-title').text(_user_name); 95 _find_load_box.find('input[name=user_image]').val(_user_img); 96 _find_load_box.find("input[name=reciever_id]").val(_receiver_id); 97 98 if (_find_load_box.length > 0) { 99 _this.addClass('active'); 100 _find_load_box.removeClass('hidden').hide().delay(100).fadeIn(800).addClass('jobsearch-chat-box-open'); 101 } 102 103 if (_window_width < 600) { 104 jQuery('.jobsearch-chat-member-list-wrapper').hide(); 105 } 106 107 if (chat_settings.indexOf(_receiver_id) == -1) {
108 chat_settings.push(_receiver_id); 109 localStorage.setItem("chat_box", chat_settings); 110 } 111 112 if (jQuery(".user-" + _receiver_id).find("#float-chat li").length == 0) { 113 jQuery.ajax({ 114 type: 'POST', 115 url: jobsearch_ajchat_vars.jobsearch_ajax_url, 116 data: { 117 limit: 0, 118 cache: true, 119 reciever_id: _receiver_id, 120 action: "jobsearch_chat_load_current_user_chat_front" 121 }, 122 datatype: 'JSON', 123 success: function (msg) { 124 _data = JSON.parse(msg); 125 _html = _data.html; 126 _find_load_box.find(".notification-count").text(_data.unread_messages); 127 jQuery(".jobsearch-loading-section").addClass("hidden"); 128 _chat_selector.html(''); 129 if ('' == _html) { 130 _html = '<li id="jobsearch-chat-no-messages">' + jobsearch_ajchat_vars.no_chat_message + '</li>'; 131 } 132 _chat_selector.append(_html); 133 scroll_event_front(_receiver_id) 134 } 135 }); 136 } 137}); 138 139jQuery(document).on("keyup", "#search-field-front-full-view", function () { 140 var _value = jQuery(this).val().toLowerCase(); 141 jQuery(document).find(".jobsearch-chat-users-list ul li").filter(function () { 142 jQuery(this).toggle(jQuery(this).children('.user-info').find('h2.name').text().toLowerCase().indexOf(_value) > -1); 143 }); 144}); 145 146jQuery(document).on("keyup", "#search_field_toggle", function () { 147 var _value = jQuery(this).val().toLowerCase(); 148 jQuery(document).find(".jobsearch-chat-list-toggle-view ul li").filter(function () { 149 jQuery(this).toggle(jQuery(this).children('.user-info').find('a.name').text().toLowerCase().indexOf(_value) > -1); 150 }); 151}); 152// 153jQuery(document).on('click', '.jobsearch-chat-emoji-picker-select', function (e) { 154 e.preventDefault(); 155 e.stopPropagation(); 156 var _this = jQuery(this), _user_id = _this.attr('data-user-id'), 157 _selector = jQuery('.jobsearch-chat-user-emoji-' + _user_id); 158 _selector.fadeToggle(500); 159}); 160 161jQuery(".jobsearch-emoji").on('click', function () { 162 var _this = jQuery(this), _emoji_val = _this.attr('data-val'), _user_id = _this.attr('data-user-id'); 163 var box = jQuery(".user-" + _user_id).find('.messageForm').find('input[name=message]'); 164 box.val(box.val() + _emoji_val); 165}); 166 167jQuery('.jobsearch-chat-emojis-box').click(function (e) { 168 e.stopPropagation(); 169}); 170 171jQuery('body').click(function () { 172 jQuery('.jobsearch-chat-emojis-box').hide(); 173}); 174 175jQuery(document).on('click', '.jobsearch-chat-close', function () { 176 // 177 var _this = jQuery(this), user_id = _this.attr('data-user-id'), _total_user_id; 178 var total_active_popup = localStorage.getItem("chat_box"); 179 _total_user_id = total_active_popup.split(','); 180 chat_settings = []; 181 for (var i = 0; i < _total_user_id.length; i++) { 182 if (_total_user_id[i] != user_id) { 183 chat_settings.push(_total_user_id[i]) 184 } 185 localStorage.setItem("chat_box", ''); 186 localStorage.setItem("chat_box", chat_settings); 187 } 188 jQuery(".user-" + user_id).fadeOut(600).attr('style', 'display: inline-block').removeClass('jobsearch-chat-box-open'); 189 190 setTimeout(function () { 191 if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { 192 jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') 193 } 194 if (window_width < 600) { 195 member_chat_list_member.attr('style', ''); 196 member_chat_list_member.css({display: 'inline-block'}); 197 } 198 }, 600) 199}); 200// 201jQuery(document).on('click', '.jobsearch-chat-candidate-openbox', function (e) { 202 var _this = jQuery(this); 203 jQuery(".jobsearch-chat-front-user-" + _this.attr('data-cand-user-id')).click(); 204 if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { 205 jQuery(".user-" + _this.attr('data-cand-user-id')).addClass("jobsearch-ch
205at-margin-right"); 206 } 207}); 208// 209jQuery(document).on('click', '.jobsearch-chat-employer-openbox', function (e) { 210 var _this = jQuery(this); 211 jQuery(".jobsearch-chat-front-user-" + _this.attr('data-emp-user-id')).click(); 212 213 if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { 214 jQuery(".user-" + _this.attr('data-emp-user-id')).addClass("jobsearch-chat-margin-right"); 215 } 216}); 217// 218jQuery(document).on('click', '.jobsearch-chat-candidate-add', function () { 219 var _this = jQuery(this), 220 _user_id = _this.attr('data-cand-id'), 221 this_html = _this.html(); 222 if (!_this.hasClass('ajax-loading')) { 223 _this.addClass('ajax-loading'); 224 _this.html(this_html + '<i class="fa fa-refresh fa-spin"></i>'); 225 jQuery.ajax({ 226 type: 'POST', 227 url: jobsearch_ajchat_vars.jobsearch_ajax_url, 228 data: { 229 cand_id: _user_id, 230 action: 'jobsearch_chat_add_to_chat_cand' 231 }, 232 cache: true, 233 datatype: 'json', 234 success: function (data) { 235 var res_data = JSON.parse(data); 236 _this.removeClass('ajax-loading'); 237 window.location.replace(res_data.redirect_url); 238 } 239 }); 240 } 241}); 242 243jQuery(document).on('click', '.jobsearch-chat-emp-add', function () { 244 var _this = jQuery(this), 245 _user_id = _this.attr('data-emp-id'), 246 this_html = _this.html(); 247 if (!_this.hasClass('ajax-loading')) { 248 _this.addClass('ajax-loading'); 249 _this.html(this_html + '<i class="fa fa-refresh fa-spin"></i>'); 250 jQuery.ajax({ 251 type: 'POST', 252 url: jobsearch_ajchat_vars.jobsearch_ajax_url, 253 data: { 254 emp_id: _user_id, 255 action: 'jobsearch_chat_add_to_chat_emp' 256 }, 257 cache: true, 258 datatype: 'JSON', 259 success: function (data) { 260 var res_data = JSON.parse(data); 261 _this.removeClass('ajax-loading'); 262 window.location.replace(res_data.redirect_url); 263 } 264 }); 265 } 266}); 267// load chat settings toggle view 268jQuery(document).on('click', '.jobsearch-chat-user-settings-btn', function (e) { 269 e.preventDefault(); 270 jQuery(".jobsearch-chat-user-settings-con").show(); 271}); 272// 273function chat_enble_disble_chat(data) { 274 275 var _URL = jobsearch_ajchat_vars.jobsearch_ajax_url, _res, _chckbox_val, 276 _checked_val = jQuery(data).prop("checked") == true ? 1 : 0, 277 _data = { 278 val: _checked_val, 279 action: 'jobsearch_chat_enable_disable_chat', 280 }; 281 282 jQuery.ajax({ 283 type: 'POST', 284 url: _URL, 285 data: _data, 286 datatype: 'json', 287 beforeSend: function () { 288 289 }, 290 success: function (msg) { 291 _res = JSON.parse(msg); 292 jQuery(".jobsearch-chat-user-result-msg").html(''); 293 if (_res.response == 1) { 294 _chckbox_val = 0; 295 } else { 296 _chckbox_val = 1; 297 } 298 // 299 jQuery(data).attr('value', _chckbox_val); 300 if (_checked_val != 1) { 301 jQuery(".jobsearch-chat-user-result-msg").append('<p>' + jobsearch_ajchat_vars.chat_enable_msg + '</p>') 302 setTimeout(function () { 303 jQuery(".jobsearch-chat-user-result-msg").html(''); 304 }, 4000) 305 } else { 306 jQuery(".jobsearch-chat-user-result-msg").append('<p>' + jobsearch_ajchat_vars.chat_disable_msg + '</p>') 307 setTimeout(function () { 308 jQuery(".jobsearch-chat-user-result-msg").html(''); 309 }, 4000) 310 } 311 312 } 313 }); 314} 315
316jQuery(document).on('click', '.jobsearch-chat-close-settings', function (e) { 317 e.preventDefault(); 318 jQuery(".jobsearch-chat-user-settings-con").hide(); 319 320}); 321//load chat message front 322jQuery(document).on('click', '.jobsearch-chat-front-send-message', function (e) { 323 e.preventDefault(); 324 var _html, 325 _user_id = jQuery(this).attr('data-user-id'), 326 _selector = jQuery(".user-" + _user_id + " #float-chat li"), 327 _message = jQuery(".user-" + _user_id + " form.messageForm input[name=message]"), 328 _no_message = jQuery(".user-" + _user_id + " #jobsearch-chat-no-messages"), _data = { 329 message: _message.val(), 330 sender_id: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_id]").val(), 331 sender_image: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_image]").val(), 332 receiver_image: jQuery(".user-" + _user_id + " form.messageForm input[name=receiver_image]").val(), 333 reciever_id: jQuery(".user-" + _user_id + " form.messageForm input[name=reciever_id]").val(), 334 }; 335 336 jQuery('.jobsearch-chat-user-emoji-' + _user_id).hide(); 337 if (_no_message.length > 0) { 338 _no_message.remove(); 339 } 340 if (_message.val() == '') { 341 _message.addClass('jobsearch-chat-error'); 342 return; 343 } else { 344 _message.removeClass('jobsearch-chat-error'); 345 } 346 // 347 _html = '<li class="conversation-me"><span><img src="' + _data.sender_image + '"></span><div class="jobsearch-chat-user-events"><a href="javascript:void(0)" class="jobsearch-chat-del-message" data-chat-id=""><i class="chat-icon chat-trash-fill"></i></a></div><div class="jobsearch-chat-list-thumb"><p>' + _data.message.replace(/(<([^>]+)>)/ig, "") + '</p><small class="jobsearch-chat-msg-time">' + jobsearch_ajchat_vars.is_today + ' ' + formatAMPM(new Date) + '</small></div></li>'; 348 if (_message.val().indexOf('youtube.com/watch?') == -1 && _message.val().indexOf('dailymotion.com/video/') == -1 && _message.val().indexOf('vimeo') == -1) { 349 if (_selector.length != 1) { 350 _selector.last().after(_html); 351 } else { 352 jQuery(".user-" + _user_id + " #float-chat").append(_html); 353 } 354 } 355 356 scroll_event_front(_user_id); 357 setTimeout(function () { 358 jQuery(".user-" + _user_id + " form.messageForm input[name=message]").val("") 359 }, 100); 360 jobsearch_front_chat_msg(jQuery(this)) 361}); 362 363function jobsearch_front_chat_msg(_this) { 364 playPushSound(); 365 366 var _user_id = _this.attr('data-user-id'), 367 _html, 368 _btn = jQuery(".user-" + _user_id + " .jobsearch-chat-send-message"), 369 _message = jQuery(".user-" + _user_id + " form.messageForm input[name=message]"), 370 _selector = jQuery(".user-" + _user_id + " #float-chat li"), 371 _form_data = { 372 message: _message.val(), 373 sender_id: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_id]").val(), 374 sender_image: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_image]").val(), 375 receiver_image: jQuery(".user-" + _user_id + " form.messageForm input[name=receiver_image]").val(), 376 reciever_id: jQuery(".user-" + _user_id + " form.messageForm input[name=reciever_id]").val(), 377 action: 'jobsearch_chat_send_message', 378 }, _res, 379 _URL = jobsearch_ajchat_vars.jobsearch_ajax_url; 380 381 if (_form_data.message != '') { 382 383 jQuery.ajax({ 384 type: 'POST', 385 url: _URL, 386 data: _form_data, 387 datatype: 'json', 388 beforeSend: function () { 389 _btn.attr('disabled'); 390 }, 391 success: function (res) { 392 _res = JSON.parse(res); 393 _btn.removeAttr('disabled'); 394 if (_res.is_video != "") { 395 _html = '<li class="conversation-me"><span><img src="' + _form_data.user_img + '"></span><div class="jobsearch-chat-list-thumb"><p>' + _res.is_video + '</p>
395<small class="jobsearch-chat-msg-time">' + jobsearch_ajchat_vars.is_today + ' ' + formatAMPM(new Date) + '<a href="javascript:void(0)" data-chat-id="" class="jobsearch-color jobsearch-chat-del-message">' + jobsearch_ajchat_vars.del_message + '</a></small></div></li>'; 396 if (_selector.length != 1) { 397 _selector.last().after(_html); 398 } else { 399 jQuery(".user-" + _user_id + " #float-chat").append(_html); 400 } 401 } 402 if (jQuery(".user-" + _user_id).find("#float-chat li").last().find(".jobsearch-chat-list-thumb").length > 0) { 403 jQuery(".user-" + _user_id).find("#float-chat li").last().find(".jobsearch-chat-list-thumb").addClass("chat-" + _res.last_id) 404 jQuery(".user-" + _user_id).find("#float-chat li").last().find("a").attr('data-chat-id', _res.last_id) 405 } 406 } 407 }); 408 } 409} 410 411function loadFloatMessages(el, user_id) { 412 var _topOfScroll = jQuery(el).scrollTop(), _total_msgs, _data, _html, _loader_html, 413 _no_message_loader = jQuery(document).find('.user-' + user_id + ' #float-chat #jobsearch-chat-no-messages'), 414 _msg_loader_selector = jQuery(document).find('.user-' + user_id + ' #float-chat .jobsearch-chat-loader'); 415 if (_topOfScroll == 0 && jQuery(el).attr('data-msgs-end') == 'false') { 416 _total_msgs = jQuery(document).find('.user-' + user_id + ' #float-chat li').length; 417 // 418 _loader_html = '<li><div class="jobsearch-chat-loader"><span>' + jobsearch_ajchat_vars.loading + '<small class="jobsearch-chat-loader-dots">...</small></span></div></li>'; 419 if (!jQuery(el).hasClass('ajax-chat-loading')) { 420 jQuery(el).addClass('ajax-chat-loading'); 421 jQuery(_loader_html).insertBefore(".user-" + user_id + " #float-chat li:first-child"); 422 // 423 jQuery.ajax({ 424 type: 'POST', 425 url: jobsearch_ajchat_vars.jobsearch_ajax_url, 426 data: { 427 reciever_id: jQuery('.user-' + user_id + ' form.messageForm').find('input[name=reciever_id]').val(), 428 limit: _total_msgs, 429 action: 'jobsearch_chat_load_current_user_chat_front' 430 }, 431 cache: true, 432 datatype: 'HTML', 433 success: function (msg) { 434 _data = JSON.parse(msg); 435 _html = _data.html; 436 jQuery(".jobsearch-chat-loader").remove(); 437 if ('' == _html) { 438 jQuery(el).attr('data-msgs-end', 'true'); 439 _html = '<li id="jobsearch-chat-first-msg-date">' + _data.first_msg_date + '</li>'; 440 } 441 jQuery(".jobsearch-loading-section").addClass("hidden"); 442 if (_no_message_loader.length == 0) { 443 jQuery(_html).insertBefore(".user-" + user_id + " #float-chat li:first-child"); 444 } 445 if ('' != _html) { 446 jQuery(el).scrollTop(200); 447 } 448 jQuery(el).removeClass('ajax-chat-loading') 449 } 450 }); 451 } 452 } 453} 454 455function scroll_event_front(user_id = '') { 456 var chat = jQuery(".user-" + user_id + " .jobsearch-chat-scroll"); 457 if (chat.is(':visible') && chat.hasScrollBar()) chat.scrollTop(chat[0].scrollHeight); 458} 459 460// sound events 461var getSound = new Audio(jobsearch_ajchat_vars.jobsearch_plugin_url + 'includes/sound/push.mp3'); 462var isSoundMuted = ''; 463 464function playChatSound() { 465 return $('<audio class="sound-player" autoplay="autoplay" ' + isSoundMuted + ' style="display:none;">' + '<source src="' + arguments[0] + '" />' + '<embed src="' + arguments[0] + '" hidden="true" autostart="true" loop="false"/>' + '</audio>').appendTo('body'); 466} 467 468function stopSound() { 469 setTimeout(function () { 470 jQuery(".sound-player").remove(); 471 }, 1000); 472} 473 474function playPushSound() { 475 playChatSound(getSound.src); 476 stopSound(); 477} 478 479var typing = false; 480jQuery(document).on('keypress', 'input[name=message]', function (e) {
481 if (jQuery(this).hasClass("jobsearch-chat-error") == 1) { 482 jQuery(this).removeClass("jobsearch-chat-error"); 483 } 484 var key = e.which; 485 if (key == 13) // the enter key code 486 { 487 jQuery(this).parent('form').find('.jobsearch-chat-front-send-message').click(); 488 return false; 489 } 490}); 491var span = document.getElementsByClassName('jobsearch-chat-loader-dots'); 492var int = setInterval(function () { 493 if ((span.innerHTML += '.').length == 4) 494 span.innerHTML = ''; 495}, 200); 496// 497(function ($) { 498 499 if (localStorage.getItem("is_toggled") == "yes") { 500 member_chat_list_member.attr('style', ''); 501 member_chat_list_member.css({display: "none"}); 502 jQuery('.jobsearch-chat-floating-chat').removeClass('hidden') 503 } else { 504 505 member_chat_list_member.attr('style', ''); 506 member_chat_list_member.css({display: 'inline-block'}); 507 jQuery('.jobsearch-chat-floating-chat').hide().addClass('hidden') 508 } 509 510 var total_active_popup = localStorage.getItem("chat_box"), user_id; 511 if (total_active_popup == null) return; 512 user_id = total_active_popup.split(','); 513 // 514 for (var i = 0; i < user_id.length; i++) { 515 jQuery(".jobsearch-chat-front-user-" + user_id[i]).trigger("click") 516 } 517 518 519 if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { 520 jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') 521 } 522 523})(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.