OwlCyberSecurity - MANAGER
Edit File: module.min.js
(o=>{var l=o("#vc_ui-helper-modal-ai"),e=o("#wpwrap"),a=l.find('[data-vc-ui-element="button-save"]');function r(e){window.vc.showMessage(e,"error",1e4,"#vc_ui-helper-modal-ai .vc_ui-panel-window-inner")}function c(e){o(e.target).closest('[data-vc-ui-element="button-close"]').length&&(l.removeClass("vc_active"),l.off("click",c),l.removeData(),l.find(" .vc_ui-panel-content-container").addClass("vc_ui-hidden"),l.find(" .vc_ui-helper-modal-ai-placeholder").addClass("vc_ui-hidden"),a.hide())}function s(){return window.i18nLocale||window.i18nLocaleSettings}e.on("click",".vc_ui-icon-ai",function(e){var e=o(e.currentTarget),a=e.closest(".vc_shortcode-param"),i=null,n=e.data();a.length&&(i=a.data());var t=n.wpbAiElementType||"textarea",d=n.fieldId||t;l.find(".vc_ui-helper-modal-ai-preloader").length||l.find(".vc_ui-post-settings-header-container").after('<div class="vc_ui-helper-modal-ai-preloader"><div class="vc_ui-wp-spinner vc_ui-wp-spinner-dark vc_ui-wp-spinner-lg"></div></div>');((e,a)=>{e={action:"wpb_ai_get_modal_data",data:{ai_element_type:e,ai_element_id:a},_vcnonce:window.vcAdminNonce},o.ajax({type:"POST",url:window.ajaxurl,data:e}).done(function(e){var a;!0===e.success?(void 0===window.vc.ai_modal_view?window.vc.ai_modal_view=new vc.AiFormView({el:"#vc_ui-helper-modal-ai",data:e.data}):window.vc.ai_modal_view.render(e.data),e.data.tokens_left&&e.data.tokens_total&&(a=s().ai_credit_usage+e.data.tokens_left+" / "+e.data.tokens_total,l.find(".vc-ai-tokens-usage").text(a)),l.find(" .vc_ui-panel-content-container").scrollTop(0),l.find(".vc_ui-helper-modal-ai-preloader").remove(),l.find(" .vc_ui-panel-content-container").removeClass("vc_ui-hidden")):e&&e.data&&e.data[0]&&e.data[0].code&&e.data[0].message?(console.error(e.data[0].message),r(e.data[0].message)):(console.error(s().ai_response_error),r(s().ai_response_error))}).fail(function(e){console.error(s().ai_response_error),_this.resetButton(),r(s().ai_response_error)})})(t,d),i?(t=a.find("."+i.param_type),l.data("element",t),o.each(i,function(e,a){l.data(e,a)})):n.fieldId&&(d=e.closest(".edit_form_line"),a=e.closest(".vc_ui-settings-text-wrapper"),t=e.closest("#postdivrich"),i=null,d.length?i=d.find("#"+n.fieldId):a.length?i=a.siblings("#"+n.fieldId):t.length&&(i=t.find("#"+n.fieldId)),l.data("fieldId",n.fieldId),l.data("element",i));l.addClass("vc_active"),l.on("click",c)})})(window.jQuery); (o=>{window.vc.AiFormView=Backbone.View.extend({events:{"click .vc_ai-generate-button":"generateContent",'change [name="contentType"]':"changeContentType",'input [name="prompt"]':"changePrompt",'click [data-vc-ui-element="button-save"]':"insertContent","click .wpb-copy-output":"copyContent"},seconds:0,minutes:0,timerInterval:null,isGenerating:!1,maxWaitingCacheInterval:9e5,maxPromptLength:2e3,initialize:function(e){this.toggleModalPromoClass(e.data.type),this.$el.find(".vc_ui-helper-modal-ai-preloader").after(e.data.content),this.setFormElements(),o(".edit-form-info").initializeTooltips()},render:function(e){return this.timerInterval&&this.clearTimer(),this.toggleModalPromoClass(e.type),this.$form.after(e.content),this.$form.remove(),this.setFormElements(),this},setFormElements:function(){this.$form=this.$el.find(".vc_ui-panel-content-container"),this.$generate_button=this.$el.find(".vc_ai-generate-button"),this.$close_button=this.$el.find('[data-vc-ui-element="button-close"]'),this.$insert_button=this.$el.find('[data-vc-ui-element="button-save"]'),this.$generated_content=this.$el.find(".wpb_ai-generated-content"),this.$prompt_field=this.$el.find('[name="prompt"]'),this.$generate_placeholder=this.$el.find(".vc_ui-helper-modal-ai-placeholder"),this.$generate_placeholder_timer=this.$generate_placeholder.find(".vc_ai-timer"),this.initialButtonText=this.$generate_button.text().trim(),this.contentType=this.$el.find('[name="contentType"]').val(),"new_content"!==this.contentType||this.$prompt_field.val().trim()||this.disableButton()},generateContent:function(e){e.preventDefault();var r=this,e=this.$prompt_field.val().split(" "),e=(this.maxPromptLength<e.length&&this.$prompt_field.val(e.slice(0,this.maxPromptLength).join(" ")),this.$form.find(':visible:not([style*="display: none"]), [name="prompt"], input[type="hidden"]').serializeArray()),n=this.getUniqueCacheId(),e=(e.push({name:"cacheId",value:n}),this.$generated_content.val(""),{action:"wpb_ai_api_get_response",data:e,_vcnonce:window.vcAdminNonce});this.isGenerating=!0,this.$generate_placeholder.removeClass("vc_ui-hidden"),this.timerInterval=setInterval(this.updateTimer.bind(this),1e3),o.ajax({type:"POST",url:window.ajaxurl,timeout:2e4,data:e}).done(function(e){if(!r.isGenerating)return!1;!0===e.success?(r.$generated_content.val(e.data),r.resetButton(!0),r.$insert_button.show(),r.tokenUsageUpdate(),r.toggleCopyButton()):e&&e.data&&e.data[0]&&e.data[0].code&&e.data[0].message?(console.error(e.data[0].code,e.data[0].message),r.resetButton(!1),e=e.data[0].message.replace(/\\/g,""),r.showErrorMessage(e)):(console.error(r.getLocale().ai_response_error),r.resetButton(!1),r.showErrorMessage(r.getLocale().ai_response_error))}).fail(function(e){if(!r.isGenerating)return!1;if(e&&!e.statusText)console.error(r.getLocale().ai_response_error),r.resetButton(!1),r.showErrorMessage(r.getLocale().ai_response_error);else if("timeout"!==e.statusText)console.error(r.getLocale().ai_response_error),r.resetButton(!1),r.showErrorMessage(r.getLocale().ai_response_error);else for(var a={action:"wpb_ai_generate_content_check_cache",data:{type:"generate-text",messaged_data:!0,cacheId:n},_vcnonce:window.vcAdminNonce},i=[],t=1e4;t<=r.maxWaitingCacheInterval;t+=1e4)(n=>{i.push(setTimeout(function(){var e=r.$generated_content.val();if(e)for(var t=0;t<i.length;t++)"stop_cache_timeouts"===e&&r.$generated_content.val(""),clearTimeout(i[t]);else r.processCachedRequest(r,a,n)},n))})(t)})},processCachedRequest:function(t,e,n){this.maxWaitingCacheInterval===n?(console.error(t.getLocale().ai_response_error),t.resetButton(!1),t.showErrorMessage(t.getLocale().ai_response_error)):o.ajax({type:"POST",url:window.ajaxurl,timeout:1e4,data:e}).done(function(e){if(!t.isGenerating)return!1;!0===e.success&&e.data&&"cache_in_process"!==e.data&&(t.$generated_content.val(e.data),t.resetButton(!0),t.$insert_button.show()),!1===e.success&&e&&e.data&&e.data[0]&&e.data[0].code&&e.data[0].message&&(t.$generated_content.val("stop_cache_timeouts"),t.resetButton(!1),e=e.data[0].message.replace(/\\/g,""),t.showErrorMessage(e))})},tokenUsageUpdate:function(){var e={action:"wpb_ai_get_token_usage",data:{},_vcnonce:window.vcAdminNonce},n=this;o.ajax({type:"POST",url:window.ajaxurl,data:e}).done(function(e){var t=void 0!==e.data.tokens_left&&void 0!==e.data.tokens_total;!0===e.success&&t?(t=n.getLocale().ai_credit_usage+e.data.tokens_left+" / "+e.data.tokens_total,o(".vc-ai-tokens-usage").text(t)):e&&e.data&&e.data[0]&&e.data[0].code&&e.data[0].message?(console.error(e.data[0].message),n.showErrorMessage(e.data[0].message)):(console.error(n.getLocale().ai_response_error),n.showErrorMessage(n.getLocale().ai_response_error))}).fail(function(e){console.error(n.getLocale().ai_response_error),n.resetButton(),n.showErrorMessage(n.getLocale().ai_response_error)})},getUniqueCacheId:function(){return Date.now().toString(36)+Math.random().toString(36).slice(2)},disableButton:function(){this.$generate_button.prop("disabled",function(e,t){return!t}),this.isGenerateDisabled=!0},resetButton:function(e){e=e?"Regenerate":this.initialButtonText;this.$generate_button.removeAttr("disabled style"),this.$generate_button.text(e),this.$generate_button.blur(),this.clearTimer()},clearTimer:function(){this.$generate_placeholder.addClass("vc_ui-hidden"),this.$generate_placeholder_timer.text("00:00"),clearInterval(this.timerInterval),this.seconds=0,this.minutes=0,this.isGenerating=!1},updateTimer:function(){this.seconds++,60===this.seconds&&(this.seconds=0,this.minutes++);var e=String(this.minutes).padStart(2,"0"),t=String(this.seconds).padStart(2,"0");this.$generate_placeholder_timer.text(e+":"+t)},changeContentType:function(e){this.contentType=e.target.value;var t=this.$el.data(),n=(n=o(e.target).find("option:selected").attr("data-form-fields-optionality"))?n.split("|"):[];this.hideFormFields(n),this.$form.trigger("reset"),this.$form.find('[name="contentType"]').val(this.contentType),"improve_existing"===e.target.value||"translate"===e.target.value?(this.$generate_button.text(this.getLocale().regenerate),n=t.element.val(),"textarea_raw_html"===t.param_type?n=rawurldecode(base64_decode(n.trim())):"textarea_html"===t.param_type&&(n=window.tinymce.get(t.element.attr("id")).getContent()),this.$form.find('[name="prompt"]').val(n),this.resetButton(!0)):(this.$generate_button.text(this.getLocale().generate),this.$form.find('[name="prompt"]').val(""),this.disableButton())},changePrompt:function(e){this.isGenerateDisabled&&e.target.value?(this.resetButton(!1),this.isGenerateDisabled=!1):e.target.value||this.isGenerateDisabled||this.disableButton();var t=e.target.value.split(" ");t.length>this.maxPromptLength&&(e.target.value=t.slice(0,this.maxPromptLength).join(" "))},showErrorMessage:function(e){window.vc.showMessage(e,"error",1e4,"#vc_ui-helper-modal-ai .vc_ui-panel-window-inner")},insertContent:function(){var e=this.$generated_content.val();if(!e)return!1;var t,n,a,i=this.$el.data();"textarea_html"===i.param_type||"content"===i.fieldId?(n=(t=i.element).attr("id"),"new_content"===this.contentType&&(e=t.val()+" "+e),(n=window.tinymce.get(n))&&n.setContent(e),t.val(e).trigger("input").trigger("change").trigger("blur")):["textarea","textfield","textarea_raw_html"].includes(i.param_type)?(n=i.element,"new_content"===this.contentType&&(e=n.val()+" "+e),n.val(e).trigger("input").trigger("change").trigger("blur")):i.fieldId&&(["wpb_css_editor","wpb_js_header_editor","wpb_js_footer_editor"].includes(i.fieldId)?(n=(t=window.ace.edit(i.fieldId)).getValue(),a=o(t.container).find("textarea"),t.setValue(e=n+(""!==n?"\n\n":"")+e),a.trigger("input").trigger("change").trigger("blur")):i.element&&i.element.length&&("new_content"===this.contentType&&(e=i.element.val()+" "+e),i.element.val(e).trigger("input").trigger("change").trigger("blur"))),this.$close_button.click()},toggleModalPromoClass:function(e){"promo"===e?this.$el.addClass("vc_modal-ai-container--promo"):this.$el.removeClass("vc_modal-ai-container--promo")},hideFormFields:function(n){this.$form.find("div[data-optional-form-field]").each(function(){var e=o(this),t=e.attr("data-optional-form-field");n.includes(t)?e.show():e.hide()})},getLocale:function(){return window.i18nLocale||window.i18nLocaleSettings},toggleCopyButton:function(){var e=this.$el.find(".wpb-copy-output");this.$generated_content.val()?e.removeClass("disabled"):e.addClass("disabled")},copyContent:function(e){e.preventDefault();e=this.$generated_content.val();if(!e)return!1;try{window.vc.utils.copyTextToClipboard(e),vc.showMessage(this.getLocale().copied,"success",2e3,"#vc_ui-helper-modal-ai .vc_ui-panel-window-inner")}catch(e){console.error("Unable to copy content:",e)}}})})(window.jQuery);