let wpaicgInit={wpaicgImageForm:null,wpaicgImageGenerated:null,wpaicgImageGrid:null,wpaicgImageLoading:null,wpaicgImageSaveBtn:null,wpaicgImageMessage:null,wpaicgImageConvertBar:null,wpaicg_image_modal_close:null,wpaicgNumberImages:null,wpaicgImageGenerateBtn:null,wpaicgImageSelectAll:null,wpaicgStartTime:null,init:function(){this.search();this.image();return this;},search:function(){let that=this;let wpaicgSearchs=document.getElementsByClassName('wpaicg-search');if(wpaicgSearchs&&wpaicgSearchs.length){for(let i=0;i
';wpaicgSearchSource.innerHTML='';wpaicgSearchResult.classList.remove('wpaicg-has-item');const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send('action=wpaicg_search_data&_wpnonce='+wpaicgParams.search_nonce+'&search='+encodeURIComponent(search));xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){wpaicgSearchResult.classList.add('wpaicg-has-item');var wpaicg_response=this.responseText;if(wpaicg_response!==''){wpaicg_response=JSON.parse(wpaicg_response);wpaicgSearchResult.innerHTML='';if(wpaicg_response.status==='success'){if(wpaicg_response.data.length){for(let i=0;i';for(let i=0;i';}} else{wpaicgSearchResult.innerHTML='

'+wpaicg_response.msg+'

';}} else{wpaicgSearchResult.innerHTML='

'+wpaicgParams.languages.wrong+'

';}} else{wpaicgSearchResult.innerHTML='

'+wpaicgParams.languages.wrong+'

';}}}}},imageModal:function(id){var item=document.getElementById('wpaicg-image-item-'+id);var alt=item.querySelectorAll('.wpaicg-image-item-alt')[0].value;var title=item.querySelectorAll('.wpaicg-image-item-title')[0].value;var caption=item.querySelectorAll('.wpaicg-image-item-caption')[0].value;var description=item.querySelectorAll('.wpaicg-image-item-description')[0].value;var url=item.querySelectorAll('input[type=checkbox]')[0].value;document.querySelectorAll('.wpaicg_modal_content')[0].innerHTML='';document.querySelectorAll('.wpaicg-overlay')[0].style.display='block';document.querySelectorAll('.wpaicg_modal')[0].style.display='block';document.querySelectorAll('.wpaicg_modal_title')[0].innerHTML=wpaicgParams.languages.edit_image;var html='
';html+='
';html+='
';html+='

';html+='

';html+='

';html+='

';html+='';html+='
';html+='
';document.querySelectorAll('.wpaicg_modal_content')[0].innerHTML=html;wpaicgImageCloseModal();},image_generator:function(data,start,max,multi_steps,form_action){let that=this;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){var wpaicg_response=this.responseText;res=JSON.parse(wpaicg_response);if(res.status==='success'){for(var idx=0;idx';if(wpaicgParams.logged_in==='1'){html+='';} html+='';html+='';html+='';html+='';if(wpaicgParams.logged_in==='1'){html+='';} else{html+='';} html+='';that.wpaicgImageGrid.innerHTML+=html;} if(multi_steps){if(start===max){wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageSelectAll.classList.remove('selectall') that.wpaicgImageSelectAll.innerHTML=wpaicgSelectAllText;that.wpaicgImageSelectAll.style.display='block';that.wpaicgImageLoading.style.display='none';that.wpaicgImageSaveBtn.style.display='block';} else{that.image_generator(data,start+1,max,multi_steps,form_action)}} else{if(form_action==='wpaicg_image_generator'){let endTime=new Date();let timeDiff=endTime-that.wpaicgStartTime;timeDiff=timeDiff/1000;data+='&action=wpaicg_image_log&duration='+timeDiff+'&_wpnonce_image_log='+wpaicgImageNonce+'&shortcode=['+wpaicgImageShortcode+']&source_id='+wpaicgImageSourceID;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){}}} wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageSelectAll.classList.remove('selectall') that.wpaicgImageSelectAll.innerHTML='';that.wpaicgImageSelectAll.style.display='block';that.wpaicgImageLoading.style.display='none';that.wpaicgImageSaveBtn.style.display='block';}} else{wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);that.wpaicgImageLoading.style.display='none';let errorMessage=document.createElement('div');errorMessage.style.color='#f00';errorMessage.classList.add('wpaicg-image-error');errorMessage.innerHTML=res.msg;that.wpaicgImageGenerated.prepend(errorMessage);setTimeout(function(){errorMessage.remove();},3000);}} else{that.wpaicgImageLoading.style.display='none';wpaicgImageRmLoading(that.wpaicgImageGenerateBtn);alert('Something went wrong');}}}},save_image:function(items,start){let that=this;if(start>=items.length){that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML=items.length+'/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width='100%';that.wpaicgImageMessage.innerHTML=wpaicgParams.languages.save_image_success;wpaicgImageRmLoading(that.wpaicgImageSaveBtn);setTimeout(function(){that.wpaicgImageMessage.innerHTML='';},2000)} else{var id=items[start];var item=document.getElementById('wpaicg-image-item-'+id);var data='action=wpaicg_save_image_media';data+='&image_alt='+item.querySelectorAll('.wpaicg-image-item-alt')[0].value;data+='&image_title='+item.querySelectorAll('.wpaicg-image-item-title')[0].value;data+='&image_caption='+item.querySelectorAll('.wpaicg-image-item-caption')[0].value;data+='&image_description='+item.querySelectorAll('.wpaicg-image-item-description')[0].value;data+='&image_url='+encodeURIComponent(item.querySelectorAll('.wpaicg-image-item-select')[0].value);data+='&nonce='+wpaicgImageSaveNonce;const xhttp=new XMLHttpRequest();xhttp.open('POST',wpaicgParams.ajax_url);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhttp.send(data);xhttp.onreadystatechange=function(oEvent){if(xhttp.readyState===4){if(xhttp.status===200){var wpaicg_response=this.responseText;res=JSON.parse(wpaicg_response);if(res.status==='success'){var currentPos=start+1;var percent=Math.ceil(currentPos*100/items.length);that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML=currentPos+'/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width=percent+'%';that.save_image(items,start+1);} else{that.wpaicgImageConvertBar.classList.add('wpaicg_error');wpaicgImageRmLoading(that.wpaicgImageSaveBtn);alert(res.msg);}}else{alert(wpaicgParams.languages.wrong);that.wpaicgImageConvertBar.classList.add('wpaicg_error');wpaicgImageRmLoading(that.wpaicgImageSaveBtn);}}}}},image:function(){let that=this;let wpaicgImageForm=document.getElementById('wpaicg-image-generator-form');if(wpaicgImageForm){this.wpaicgImageForm=wpaicgImageForm;this.wpaicgImageGenerated=wpaicgImageForm.getElementsByClassName('image-generated')[0];this.wpaicgImageGrid=wpaicgImageForm.getElementsByClassName('image-grid')[0];this.wpaicgImageLoading=wpaicgImageForm.getElementsByClassName('image-generate-loading')[0];this.wpaicgImageSaveBtn=wpaicgImageForm.getElementsByClassName('image-generator-save')[0];this.wpaicgImageMessage=wpaicgImageForm.getElementsByClassName('wpaicg_message')[0];this.wpaicgImageConvertBar=wpaicgImageForm.getElementsByClassName('wpaicg-convert-bar')[0];this.wpaicg_image_modal_close=wpaicgImageForm.getElementsByClassName('wpaicg_image_modal_close');this.wpaicgNumberImages=wpaicgImageForm.querySelector('select[name=num_images]');this.wpaicgImageGenerateBtn=wpaicgImageForm.getElementsByClassName('wpaicg_button_generate')[0];this.wpaicgImageSelectAll=wpaicgImageForm.getElementsByClassName('wpaicg_image_select_all')[0];this.wpaicgImageSaveBtn.addEventListener('click',function(e){var items=[];document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){if(item.checked){items.push(item.getAttribute('data-id'));}});if(items.length){that.wpaicgImageConvertBar.style.display='block';that.wpaicgImageConvertBar.classList.remove('wpaicg_error');that.wpaicgImageConvertBar.getElementsByTagName('small')[0].innerHTML='0/'+items.length;that.wpaicgImageConvertBar.getElementsByTagName('span')[0].style.width=0;that.wpaicgImageMessage.innerHTML='';wpaicgImageLoadingEffect(that.wpaicgImageSaveBtn);that.save_image(items,0);}else{alert(wpaicgParams.languages.select_save_error);}}) this.wpaicgImageSelectAll.addEventListener('click',function(e){if(that.wpaicgImageSelectAll.classList.contains('selectall')){that.wpaicgImageSelectAll.classList.remove('selectall');that.wpaicgImageSelectAll.innerHTML=wpaicgSelectAllText;document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){item.checked=false;})}else{that.wpaicgImageSelectAll.classList.add('selectall');that.wpaicgImageSelectAll.innerHTML=wpaicgParams.languages.unselect;document.querySelectorAll('.wpaicg-image-item input[type=checkbox]').forEach(function(item){item.checked=true;})}});wpaicgImageForm.addEventListener('submit',function(e){e.preventDefault();var form_action=wpaicgImageForm.querySelectorAll('input[name=action]')[0].value;if(form_action==='wpaicg_image_stable_diffusion'){that.wpaicgNumberImages=wpaicgImageForm.querySelector('select[name=num_outputs]');} var num_images=parseInt(that.wpaicgNumberImages.value);if(num_images>0){var wpaicg_error=false;if(form_action==='wpaicg_image_stable_diffusion'){var prompt_strength=parseFloat(document.getElementById('prompt_strength').value);var num_inference_steps=parseFloat(document.getElementById('num_inference_steps').value);var guidance_scale=parseFloat(document.getElementById('guidance_scale').value);if(prompt_strength<0||prompt_strength>1){wpaicg_error=wpaicgParams.languages.prompt_strength}else if(num_inference_steps<1||num_inference_steps>500){wpaicg_error=wpaicgParams.languages.num_inference_steps}else if(guidance_scale<1||guidance_scale>20){wpaicg_error=wpaicgParams.languages.guidance_scale}} if(wpaicg_error){alert(wpaicg_error);}else{const queryString=new URLSearchParams(new FormData(wpaicgImageForm)).toString();that.wpaicgImageSaveBtn.style.display='none';wpaicgImageLoadingEffect(that.wpaicgImageGenerateBtn);that.wpaicgImageConvertBar.style.display='none';that.wpaicgImageLoading.style.display='flex';that.wpaicgImageGrid.innerHTML='';that.wpaicgImageSelectAll.style.display='none';let wpaicgImageError=document.getElementsByClassName('wpaicg-image-error');if(wpaicgImageError.length){wpaicgImageError[0].remove();} if(form_action==='wpaicg_image_stable_diffusion'){that.image_generator(queryString,1,num_images,true,form_action);}else{that.wpaicgStartTime=new Date();that.image_generator(queryString,1,num_images,false,form_action);}}}else{alert(wpaicgParams.languages.error_image)} return false;});}}} window['wpaicgInit']=wpaicgInit.init();