OwlCyberSecurity - MANAGER
Edit File: jobsearch-floating-window-script.js
var member_chat_list_member = jQuery(".jobsearch-chat-member-list-wrapper"), window_width = jQuery(window).width(); jQuery.fn.ignore = function (sel) { return this.clone().find(sel || ">*").remove().end(); }; function FrontChattriggerFile(user_id) { jQuery('.user-' + user_id + ' form[name="fileForm"] input:first').click(); } function FrontChatuploadFileForm(form) { jQuery('.jobsearch-chat-no-messages').remove(); var fileForm = jQuery(form).children('input[type=file]')[0].files[0], formId = jQuery(form).attr('id'), reg_ser_form = jQuery(form)[0], ext_not_allow = ['css', 'html', 'php', 'json'], formData = new FormData(reg_ser_form); if (fileForm.size > 10000000) { alert("cannot upload more than 10mb"); return; } var chat_message = fileForm.name, last_element, chat_message_ext = chat_message.split('.'); if (chat_message_ext != '') { last_element = chat_message_ext[chat_message_ext.length - 1]; if (ext_not_allow.indexOf(last_element) != -1) { alert("File of this extension is not allowed"); return; } } jQuery.ajax({ type: 'POST', url: jobsearch_ajchat_vars.jobsearch_ajax_url, data: formData, contentType: false, cache: false, processData: false, datatype: 'json', beforeSend: function () { jQuery(".jobsearch-loading-section").removeClass("hidden"); }, success: function (r) { jQuery(".jobsearch-loading-section").addClass("hidden"); scroll_event_front(jQuery(form).find('input[name=reciever_id]').val()); } }); $('form#' + formId).trigger("reset"); } //jobsearch-chat-close jQuery(document).on('click', '.jobsearch-chat-toggle-chat', function (e) { e.preventDefault(); member_chat_list_member.attr('style', '') member_chat_list_member.fadeOut(800); jQuery(".jobsearch-chat-tab2").addClass("jobsearch-chat-is-toggled"); jQuery(".jobsearch-chat-floating-chat").removeClass("hidden").hide().delay(100).fadeIn(500); localStorage.setItem("is_toggled", "yes"); setTimeout(function () { jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') }, 770) }); //toggle chat view front jQuery(document).on('click', '.jobsearch-chat-floating-chat', function (e) { e.preventDefault(); jQuery(document).find('.jobsearch-chat-margin-right').removeClass('jobsearch-chat-margin-right') jQuery(".jobsearch-chat-floating-chat").addClass("hidden"); member_chat_list_member.fadeIn(800).css({display: 'inline-block'}); jQuery(".jobsearch-chat-tab2").removeClass("jobsearch-chat-is-toggled"); localStorage.setItem("is_toggled", "no"); }); var chat_settings = []; //load chat box front jQuery(document).on('click', '.load-chat-box', function () { var _this = jQuery(this), _data, _receiver_id = jQuery(this).attr('data-user-id'), _find_load_box = jQuery(".user-" + _receiver_id), _user_name = _this.find('.jobsearch-chat-list-thumb a').ignore("small").text(), _user_img = _this.find('img').attr('src'), _window_width = jQuery(window).width(), _html, _chat_selector = _find_load_box.find('ul#float-chat'); _this.find('small').addClass('hidden'); _this.find('small').text(0); // _find_load_box.find('.jobsearch-chat-title').text(_user_name); _find_load_box.find('input[name=user_image]').val(_user_img); _find_load_box.find("input[name=reciever_id]").val(_receiver_id); if (_find_load_box.length > 0) { _this.addClass('active'); _find_load_box.removeClass('hidden').hide().delay(100).fadeIn(800).addClass('jobsearch-chat-box-open'); } if (_window_width < 600) { jQuery('.jobsearch-chat-member-list-wrapper').hide(); } if (chat_settings.indexOf(_receiver_id) == -1) { chat_settings.push(_receiver_id); localStorage.setItem("chat_box", chat_settings); } if (jQuery(".user-" + _receiver_id).find("#float-chat li").length == 0) { jQuery.ajax({ type: 'POST', url: jobsearch_ajchat_vars.jobsearch_ajax_url, data: { limit: 0, cache: true, reciever_id: _receiver_id, action: "jobsearch_chat_load_current_user_chat_front" }, datatype: 'JSON', success: function (msg) { _data = JSON.parse(msg); _html = _data.html; _find_load_box.find(".notification-count").text(_data.unread_messages); jQuery(".jobsearch-loading-section").addClass("hidden"); _chat_selector.html(''); if ('' == _html) { _html = '<li id="jobsearch-chat-no-messages">' + jobsearch_ajchat_vars.no_chat_message + '</li>'; } _chat_selector.append(_html); scroll_event_front(_receiver_id) } }); } }); jQuery(document).on("keyup", "#search-field-front-full-view", function () { var _value = jQuery(this).val().toLowerCase(); jQuery(document).find(".jobsearch-chat-users-list ul li").filter(function () { jQuery(this).toggle(jQuery(this).children('.user-info').find('h2.name').text().toLowerCase().indexOf(_value) > -1); }); }); jQuery(document).on("keyup", "#search_field_toggle", function () { var _value = jQuery(this).val().toLowerCase(); jQuery(document).find(".jobsearch-chat-list-toggle-view ul li").filter(function () { jQuery(this).toggle(jQuery(this).children('.user-info').find('a.name').text().toLowerCase().indexOf(_value) > -1); }); }); // jQuery(document).on('click', '.jobsearch-chat-emoji-picker-select', function (e) { e.preventDefault(); e.stopPropagation(); var _this = jQuery(this), _user_id = _this.attr('data-user-id'), _selector = jQuery('.jobsearch-chat-user-emoji-' + _user_id); _selector.fadeToggle(500); }); jQuery(".jobsearch-emoji").on('click', function () { var _this = jQuery(this), _emoji_val = _this.attr('data-val'), _user_id = _this.attr('data-user-id'); var box = jQuery(".user-" + _user_id).find('.messageForm').find('input[name=message]'); box.val(box.val() + _emoji_val); }); jQuery('.jobsearch-chat-emojis-box').click(function (e) { e.stopPropagation(); }); jQuery('body').click(function () { jQuery('.jobsearch-chat-emojis-box').hide(); }); jQuery(document).on('click', '.jobsearch-chat-close', function () { // var _this = jQuery(this), user_id = _this.attr('data-user-id'), _total_user_id; var total_active_popup = localStorage.getItem("chat_box"); _total_user_id = total_active_popup.split(','); chat_settings = []; for (var i = 0; i < _total_user_id.length; i++) { if (_total_user_id[i] != user_id) { chat_settings.push(_total_user_id[i]) } localStorage.setItem("chat_box", ''); localStorage.setItem("chat_box", chat_settings); } jQuery(".user-" + user_id).fadeOut(600).attr('style', 'display: inline-block').removeClass('jobsearch-chat-box-open'); setTimeout(function () { if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') } if (window_width < 600) { member_chat_list_member.attr('style', ''); member_chat_list_member.css({display: 'inline-block'}); } }, 600) }); // jQuery(document).on('click', '.jobsearch-chat-candidate-openbox', function (e) { var _this = jQuery(this); jQuery(".jobsearch-chat-front-user-" + _this.attr('data-cand-user-id')).click(); if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { jQuery(".user-" + _this.attr('data-cand-user-id')).addClass("jobsearch-chat-margin-right"); } }); // jQuery(document).on('click', '.jobsearch-chat-employer-openbox', function (e) { var _this = jQuery(this); jQuery(".jobsearch-chat-front-user-" + _this.attr('data-emp-user-id')).click(); if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { jQuery(".user-" + _this.attr('data-emp-user-id')).addClass("jobsearch-chat-margin-right"); } }); // jQuery(document).on('click', '.jobsearch-chat-candidate-add', function () { var _this = jQuery(this), _user_id = _this.attr('data-cand-id'), this_html = _this.html(); if (!_this.hasClass('ajax-loading')) { _this.addClass('ajax-loading'); _this.html(this_html + '<i class="fa fa-refresh fa-spin"></i>'); jQuery.ajax({ type: 'POST', url: jobsearch_ajchat_vars.jobsearch_ajax_url, data: { cand_id: _user_id, action: 'jobsearch_chat_add_to_chat_cand' }, cache: true, datatype: 'json', success: function (data) { var res_data = JSON.parse(data); _this.removeClass('ajax-loading'); window.location.replace(res_data.redirect_url); } }); } }); jQuery(document).on('click', '.jobsearch-chat-emp-add', function () { var _this = jQuery(this), _user_id = _this.attr('data-emp-id'), this_html = _this.html(); if (!_this.hasClass('ajax-loading')) { _this.addClass('ajax-loading'); _this.html(this_html + '<i class="fa fa-refresh fa-spin"></i>'); jQuery.ajax({ type: 'POST', url: jobsearch_ajchat_vars.jobsearch_ajax_url, data: { emp_id: _user_id, action: 'jobsearch_chat_add_to_chat_emp' }, cache: true, datatype: 'JSON', success: function (data) { var res_data = JSON.parse(data); _this.removeClass('ajax-loading'); window.location.replace(res_data.redirect_url); } }); } }); // load chat settings toggle view jQuery(document).on('click', '.jobsearch-chat-user-settings-btn', function (e) { e.preventDefault(); jQuery(".jobsearch-chat-user-settings-con").show(); }); // function chat_enble_disble_chat(data) { var _URL = jobsearch_ajchat_vars.jobsearch_ajax_url, _res, _chckbox_val, _checked_val = jQuery(data).prop("checked") == true ? 1 : 0, _data = { val: _checked_val, action: 'jobsearch_chat_enable_disable_chat', }; jQuery.ajax({ type: 'POST', url: _URL, data: _data, datatype: 'json', beforeSend: function () { }, success: function (msg) { _res = JSON.parse(msg); jQuery(".jobsearch-chat-user-result-msg").html(''); if (_res.response == 1) { _chckbox_val = 0; } else { _chckbox_val = 1; } // jQuery(data).attr('value', _chckbox_val); if (_checked_val != 1) { jQuery(".jobsearch-chat-user-result-msg").append('<p>' + jobsearch_ajchat_vars.chat_enable_msg + '</p>') setTimeout(function () { jQuery(".jobsearch-chat-user-result-msg").html(''); }, 4000) } else { jQuery(".jobsearch-chat-user-result-msg").append('<p>' + jobsearch_ajchat_vars.chat_disable_msg + '</p>') setTimeout(function () { jQuery(".jobsearch-chat-user-result-msg").html(''); }, 4000) } } }); } jQuery(document).on('click', '.jobsearch-chat-close-settings', function (e) { e.preventDefault(); jQuery(".jobsearch-chat-user-settings-con").hide(); }); //load chat message front jQuery(document).on('click', '.jobsearch-chat-front-send-message', function (e) { e.preventDefault(); var _html, _user_id = jQuery(this).attr('data-user-id'), _selector = jQuery(".user-" + _user_id + " #float-chat li"), _message = jQuery(".user-" + _user_id + " form.messageForm input[name=message]"), _no_message = jQuery(".user-" + _user_id + " #jobsearch-chat-no-messages"), _data = { message: _message.val(), sender_id: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_id]").val(), sender_image: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_image]").val(), receiver_image: jQuery(".user-" + _user_id + " form.messageForm input[name=receiver_image]").val(), reciever_id: jQuery(".user-" + _user_id + " form.messageForm input[name=reciever_id]").val(), }; jQuery('.jobsearch-chat-user-emoji-' + _user_id).hide(); if (_no_message.length > 0) { _no_message.remove(); } if (_message.val() == '') { _message.addClass('jobsearch-chat-error'); return; } else { _message.removeClass('jobsearch-chat-error'); } // _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>'; if (_message.val().indexOf('youtube.com/watch?') == -1 && _message.val().indexOf('dailymotion.com/video/') == -1 && _message.val().indexOf('vimeo') == -1) { if (_selector.length != 1) { _selector.last().after(_html); } else { jQuery(".user-" + _user_id + " #float-chat").append(_html); } } scroll_event_front(_user_id); setTimeout(function () { jQuery(".user-" + _user_id + " form.messageForm input[name=message]").val("") }, 100); jobsearch_front_chat_msg(jQuery(this)) }); function jobsearch_front_chat_msg(_this) { playPushSound(); var _user_id = _this.attr('data-user-id'), _html, _btn = jQuery(".user-" + _user_id + " .jobsearch-chat-send-message"), _message = jQuery(".user-" + _user_id + " form.messageForm input[name=message]"), _selector = jQuery(".user-" + _user_id + " #float-chat li"), _form_data = { message: _message.val(), sender_id: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_id]").val(), sender_image: jQuery(".user-" + _user_id + " form.messageForm input[name=sender_image]").val(), receiver_image: jQuery(".user-" + _user_id + " form.messageForm input[name=receiver_image]").val(), reciever_id: jQuery(".user-" + _user_id + " form.messageForm input[name=reciever_id]").val(), action: 'jobsearch_chat_send_message', }, _res, _URL = jobsearch_ajchat_vars.jobsearch_ajax_url; if (_form_data.message != '') { jQuery.ajax({ type: 'POST', url: _URL, data: _form_data, datatype: 'json', beforeSend: function () { _btn.attr('disabled'); }, success: function (res) { _res = JSON.parse(res); _btn.removeAttr('disabled'); if (_res.is_video != "") { _html = '<li class="conversation-me"><span><img src="' + _form_data.user_img + '"></span><div class="jobsearch-chat-list-thumb"><p>' + _res.is_video + '</p><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>'; if (_selector.length != 1) { _selector.last().after(_html); } else { jQuery(".user-" + _user_id + " #float-chat").append(_html); } } if (jQuery(".user-" + _user_id).find("#float-chat li").last().find(".jobsearch-chat-list-thumb").length > 0) { jQuery(".user-" + _user_id).find("#float-chat li").last().find(".jobsearch-chat-list-thumb").addClass("chat-" + _res.last_id) jQuery(".user-" + _user_id).find("#float-chat li").last().find("a").attr('data-chat-id', _res.last_id) } } }); } } function loadFloatMessages(el, user_id) { var _topOfScroll = jQuery(el).scrollTop(), _total_msgs, _data, _html, _loader_html, _no_message_loader = jQuery(document).find('.user-' + user_id + ' #float-chat #jobsearch-chat-no-messages'), _msg_loader_selector = jQuery(document).find('.user-' + user_id + ' #float-chat .jobsearch-chat-loader'); if (_topOfScroll == 0 && jQuery(el).attr('data-msgs-end') == 'false') { _total_msgs = jQuery(document).find('.user-' + user_id + ' #float-chat li').length; // _loader_html = '<li><div class="jobsearch-chat-loader"><span>' + jobsearch_ajchat_vars.loading + '<small class="jobsearch-chat-loader-dots">...</small></span></div></li>'; if (!jQuery(el).hasClass('ajax-chat-loading')) { jQuery(el).addClass('ajax-chat-loading'); jQuery(_loader_html).insertBefore(".user-" + user_id + " #float-chat li:first-child"); // jQuery.ajax({ type: 'POST', url: jobsearch_ajchat_vars.jobsearch_ajax_url, data: { reciever_id: jQuery('.user-' + user_id + ' form.messageForm').find('input[name=reciever_id]').val(), limit: _total_msgs, action: 'jobsearch_chat_load_current_user_chat_front' }, cache: true, datatype: 'HTML', success: function (msg) { _data = JSON.parse(msg); _html = _data.html; jQuery(".jobsearch-chat-loader").remove(); if ('' == _html) { jQuery(el).attr('data-msgs-end', 'true'); _html = '<li id="jobsearch-chat-first-msg-date">' + _data.first_msg_date + '</li>'; } jQuery(".jobsearch-loading-section").addClass("hidden"); if (_no_message_loader.length == 0) { jQuery(_html).insertBefore(".user-" + user_id + " #float-chat li:first-child"); } if ('' != _html) { jQuery(el).scrollTop(200); } jQuery(el).removeClass('ajax-chat-loading') } }); } } } function scroll_event_front(user_id = '') { var chat = jQuery(".user-" + user_id + " .jobsearch-chat-scroll"); if (chat.is(':visible') && chat.hasScrollBar()) chat.scrollTop(chat[0].scrollHeight); } // sound events var getSound = new Audio(jobsearch_ajchat_vars.jobsearch_plugin_url + 'includes/sound/push.mp3'); var isSoundMuted = ''; function playChatSound() { 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'); } function stopSound() { setTimeout(function () { jQuery(".sound-player").remove(); }, 1000); } function playPushSound() { playChatSound(getSound.src); stopSound(); } var typing = false; jQuery(document).on('keypress', 'input[name=message]', function (e) { if (jQuery(this).hasClass("jobsearch-chat-error") == 1) { jQuery(this).removeClass("jobsearch-chat-error"); } var key = e.which; if (key == 13) // the enter key code { jQuery(this).parent('form').find('.jobsearch-chat-front-send-message').click(); return false; } }); var span = document.getElementsByClassName('jobsearch-chat-loader-dots'); var int = setInterval(function () { if ((span.innerHTML += '.').length == 4) span.innerHTML = ''; }, 200); // (function ($) { if (localStorage.getItem("is_toggled") == "yes") { member_chat_list_member.attr('style', ''); member_chat_list_member.css({display: "none"}); jQuery('.jobsearch-chat-floating-chat').removeClass('hidden') } else { member_chat_list_member.attr('style', ''); member_chat_list_member.css({display: 'inline-block'}); jQuery('.jobsearch-chat-floating-chat').hide().addClass('hidden') } var total_active_popup = localStorage.getItem("chat_box"), user_id; if (total_active_popup == null) return; user_id = total_active_popup.split(','); // for (var i = 0; i < user_id.length; i++) { jQuery(".jobsearch-chat-front-user-" + user_id[i]).trigger("click") } if (!jQuery(".jobsearch-chat-member-list-wrapper").is(":visible")) { jQuery('.jobsearch-chat-tabs-wrapper').find('.jobsearch-chat-box-open').last().addClass('jobsearch-chat-margin-right') } })(jQuery);