1 line
8.9 KiB
JavaScript
1 line
8.9 KiB
JavaScript
(o=>{var d={UI:{initialized:0,idwizard:"#ocvm-parent-wrap",ajaxurl:ocvmObj.ajaxurl,adminurl:ocvmObj.adminurl,clstab:"#ocvm-parent-wrap .onecom_tab",clstabcontainer:".onecom_tabs_container",clstabpanel:".onecom_tabs_panel",clsEmailNotificationCard:".emailNotificationCard",clschangeUpdate:".changeUpdate",clsNotifyAdmin:".notifyAdmin",clsocvmbullet:".ocvm-bullet",clsocmarkdismiss:".oc-mark-dismiss",clsocmarkdismissHigh:"button.gv-notice-close.oc-mark-dismiss-high",idAutoUpdate:"#ocvm_autoupdate_enable",idEmailNotificationEnable:"#ocvm_emailnotification_enable",idNotifyAdmin:"#ocvm-notifyAdmin",emailNotificationCheck:"ocvm_emailnotification_enable",iddetectvm:"#ocvm_vmdetectvunerability",idfixedvm:"#ocvm_vmautofix",clstextDesc:".otherEmail .textDesc",disabledSettingsWrap:"#settings.disabledSection",settingsBtn:"#vm_setting_btn",historyLogBtn:"#vm_history_log_btn",vmListsWrap:".vulnerabiltiy_lists_wrap",settingsWrap:"#settings",vmLogWrap:"#vm_history_log",backToVm:".back_to_vm a",getStarted:".getStarted",showUpSellBanner:".upsell-mwp-banner-show"},_init:function(){d.UI.initialized||(d.UI.initialized=1,this.firstLoading())},firstLoading:function(){d.bindElement()},bindElement:function(){o(document).on("click",d.UI.clstab,function(e){d.handleTabClick(o(this))}),o(document).on("change",d.UI.clschangeUpdate,function(e){var t=o.inArray(o(this).attr("name"),["ocvm_autoUpdateEnable","ocvm_vmautofix"]);if(!parseInt(ocvmObj.isPremium)&&-1<t)return d.disableFields(this),d.getPlugindependentPopup(o(this),e),d.spinnerShow(this),d.updateSettingsCall(this),!1;o(this).is(":checked")?d.enableFields(this):d.disableFields(this),d.emailNotificationSettings(this),d.spinnerShow(this),d.updateSettingsCall(this)}),o(document).on("click",d.UI.clsocvmbullet,function(e){d.toggleBulletMessage(o(this),e)}),o(document).on("click",d.UI.clsocmarkdismiss,function(e){d.dismissNotifications(o(this),e)}),o(document).on("click",d.UI.clsocmarkdismissHigh,function(e){d.dismissNotificationsHigh(o(this),e)}),o(document).on("click",d.UI.settingsBtn,function(e){d.showSettings(o(this),e)}),o(document).on("click",d.UI.historyLogBtn,function(e){d.showVMLog(o(this),e),o("#vm-log-table").DataTable().columns.adjust().draw()}),o(document).on("click",d.UI.backToVm,function(e){d.backTovmlists(o(this),e)}),o(document).on("click",d.UI.getStarted,function(e){d.getPlugindependentPopup(o(this),e)}),o(document).on("click",d.UI.showUpSellBanner,function(e){d.getPlugindependentPopup(o(this),e)})},scrollMenu:function(){if(o(".h-parent").length){let t=document.querySelector(".h-parent"),i=!1,a,s;t.addEventListener("mousedown",e=>{i=!0,t.classList.add("active"),a=e.pageX-t.offsetLeft,s=t.scrollLeft}),t.addEventListener("mouseleave",()=>{i=!1,t.classList.remove("active")}),t.addEventListener("mouseup",()=>{i=!1,t.classList.remove("active")}),t.addEventListener("mousemove",e=>{i&&(e.preventDefault(),e=3*(e.pageX-t.offsetLeft-a),t.scrollLeft=s-e)})}},switchVM:function(){var e=window.location.href.split("#")[1];"vm-settings"===e?o(d.UI.clstabpanel).fadeOut(function(){o(d.UI.clstabcontainer).find(".active").removeClass("active"),o(d.UI.clstabcontainer).find('[data-tab="vulnerability"]').addClass("active"),o(d.UI.clstabpanel+"#vulnerability").fadeIn(),o(d.UI.vmListsWrap).addClass("oc_hidden"),o(d.UI.settingsWrap).removeClass("oc_hidden")}):"vm-page"===e&&o(d.UI.clstabpanel).fadeOut(function(){o(d.UI.clstabcontainer).find(".active").removeClass("active"),o(d.UI.clstabcontainer).find('[data-tab="vulnerability"]').addClass("active"),o(d.UI.clstabpanel+"#vulnerability").fadeIn()})},emailNotificationSettings:function(e){o(e).attr("id")===d.UI.emailNotificationCheck&&o(e).is(":checked")?(d.enableFields(d.UI.iddetectvm),parseInt(ocvmObj.isPremium)&&d.enableFields(d.UI.idfixedvm),d.enableFields("#ocvm-notifyAdmin")):o(e).attr("id")===d.UI.emailNotificationCheck&&o(e).is(":not(:checked)")&&(d.disableFields(d.UI.iddetectvm),d.disableFields(d.UI.idfixedvm),d.disableFields("#ocvm-notifyAdmin")),o(d.UI.iddetectvm).is(":not(:checked)")&&o(d.UI.idfixedvm).is(":not(:checked)")&&(d.disableFields(d.UI.idEmailNotificationEnable),d.disableFields("#ocvm-notifyAdmin"))},spinnerShow:function(e){o(e).closest(".checkSpinner").find(".spinner").addClass("is-active")},updateSettingsCall:function(t){var e=d.getFormData();d.ajax(e,function(e){void 0!==e.success&&!0===e.success?(o(t).closest(".checkSpinner").find(".spinner").removeClass("is-active").addClass("success"),setTimeout(d.removeClassSpinner,1200,t,"success")):(o(t).closest(".checkSpinner").find(".spinner").removeClass("is-active").addClass("error"),setTimeout(d.removeClassSpinner,1200,t,"error"))},"json",!0,0)},removeClassSpinner:function(e,t){o(e).closest(".checkSpinner").find(".spinner").removeClass(t)},getFormData(){return o("#ocvmForm").serialize()+"&action=ocvm_updateSettings"},handleTabClick:function(e){let t=o(e).attr("data-tab");o(d.UI.clstabpanel).fadeOut(function(){o(e).parent().find(".active").removeClass("active"),o(e).addClass("active"),o("#"+t).fadeIn()})},disableFields:function(e){o(e).prop("checked",!1),o(e).val(0),o(e).attr("id")===d.UI.emailNotificationCheck&&parseInt(ocvmObj.isPremium)?(o(d.UI.clsNotifyAdmin).addClass("disabledSection"),o("#ocvm-parent-wrap .notifyMeCard").addClass("disabledSection")):o(e).attr("id")===d.UI.emailNotificationCheck&&(o(d.UI.clsNotifyAdmin).addClass("disabledSection"),o("#ocvm-parent-wrap .notifyMeCard .ocvm_vmdetectvunerabilityLabel").addClass("disabledSection"))},enableFields:function(e){o(e).prop("checked",!0),o(e).val(1),o(e).attr("id")===d.UI.emailNotificationCheck&&parseInt(ocvmObj.isPremium)?(o(d.UI.clsNotifyAdmin).removeClass("disabledSection"),o("#ocvm-parent-wrap .notifyMeCard").removeClass("disabledSection")):o(e).attr("id")===d.UI.emailNotificationCheck&&(o(d.UI.clsNotifyAdmin).removeClass("disabledSection"),o("#ocvm-parent-wrap .notifyMeCard .ocvm_vmdetectvunerabilityLabel").removeClass("disabledSection"))},toggleBulletMessage:function(e,t=null){null!==t&&-1!==jQuery.inArray(o(t.target).attr("class"),["wrap-vm-title","vm-title-wrap-tag","vul-version-details","ocvm-scan-title onecom__scan-title-bg","onecom_tag"])&&o(e).toggleClass("expanded")},dismissNotifications:function(e,t){o(e).next().addClass("is-active");var i=o(e).attr("data-dismiss-name");d.ajax({action:"ocvm_dismissNotification",dismisstype:i},function(e){void 0!==e.success&&!0===e.success&&(o('a[data-dismiss-name="'+i+'"]').closest("li").remove(),e=o("#ocvm_count").attr("data-count"),e-=1,o("#ocvm_count").text(e),o("#ocvm_count").attr("data-count",e),e||o("#no_ocvm_vulneribilityFound").removeClass("hidden"))},"json",!0,0)},dismissNotificationsHigh:function(t,e){e.preventDefault(),d.ajax({action:"ocvm_dismissNotificationHigh",dismisstype:"data-dismiss-high"},function(e){void 0!==e.success&&!0===e.success?(o(t).parent().hide(),console.log("Notice dismissed")):console.log("Error during notice dismissed")},"json",!0,0)},showSettings:function(e,t){o(d.UI.vmListsWrap).addClass("oc_hidden"),o(d.UI.settingsWrap).removeClass("oc_hidden")},showVMLog:function(){o(d.UI.vmListsWrap).addClass("oc_hidden"),o(d.UI.vmLogWrap).removeClass("oc_hidden")},backTovmlists:function(e,t){o(d.UI.settingsWrap).addClass("oc_hidden"),o(d.UI.vmLogWrap).addClass("oc_hidden"),o(d.UI.vmListsWrap).removeClass("oc_hidden")},getPlugindependentPopup:function(e,t){var i=ocvmObj.popupContent;jQuery.ajax({url:d.UI.ajaxurl,type:"POST",data:{action:"show_plugin_dependent_popup",popupContent:i},success:function(e){void 0===e.success||!0!==e.success||parseInt(ocvmObj.isPremium)||(o("#oc_um_overlay").html(e.data),e=location.search,o("#oc_um_overlay").show(),ocSetModalData({isPremium:ocvmObj.isPremium,feature:"vulnerability_monitor",featureAction:"getStarted",referrer:e}))},error:function(e,t,i){}})},ajax:function(a,s,n,o,c){void 0===n&&(n="json"),!1!==o&&(o=!0);var l=1e4*(c=void 0===c?0:c);jQuery.ajax({url:d.UI.ajaxurl,type:"POST",dataType:n,cache:!1,data:a,error:function(e,t,i){console.log(e.status+" "+e.statusText+"---"+t+"---"+i),++c<=0?setTimeout(function(){d.ajax(a,s,n,o,c)},l):void 0!==e.status&&e.status},success:function(e){if("function"==typeof s)s(e);else if(""===s)return e},statusCode:{404:function(e){},500:function(){},504:function(){},502:function(){},503:function(){},429:function(){},403:function(){}}})}};jQuery(document).ready(function(){d._init(),d.scrollMenu(),d.switchVM(),o("#ocvm_otherEmail").tagEditor({initialTags:[],placeholder:"Add email",onChange:function(e,t,i){var a=!1,s=o(d.UI.clstextDesc).attr("data-error"),n=o(d.UI.clstextDesc).attr("data-msg");o("li",t).each(function(){var e=o(this),t=e.find(".tag-editor-tag").text();void 0!==t&&null!=t&&""!=t&&(/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,30}|[0-9]{1,30})(\]?)$/.test(String(t).toLowerCase())?(a=!0,o(d.UI.clstextDesc).text(n).removeClass("errorEmail")):(e.remove(),o(d.UI.clstextDesc).text(s).addClass("errorEmail"),a=!1,setTimeout(function(){o(d.UI.clstextDesc).text(n).removeClass("errorEmail")},2e3)))}),a&&(d.spinnerShow(e),d.updateSettingsCall(e))},beforeTagSave:function(e,t,i,a,s){},beforeTagDelete:function(e,t,i,a){}})})})(jQuery); |