| 1 |
!function(t){"use strict";var s={importId:null,batchTimer:null,$wrap:null,$startBtn:null,$progress:null,$progressBar:null,$progressStatus:null,$results:null,$dryRunResults:null,$error:null,totalItems:0,processedItems:0,init:function(){this.$wrap=t(".charitable-givewp-migration-wrap"),this.$startBtn=t("#charitable-givewp-migrate-start"),this.$progress=this.$wrap.find(".migration-progress"),this.$progressBar=this.$wrap.find(".progress-bar-inner"),this.$progressStatus=this.$wrap.find(".progress-status"),this.$results=this.$wrap.find(".migration-results"),this.$dryRunResults=this.$wrap.find(".migration-dry-run-results"),this.$error=this.$wrap.find(".migration-error"),this.$wrap.length&&this.$startBtn.on("click",t.proxy(this.onStart,this))},onStart:function(s){s.preventDefault();var r,i=t('input[name="givewp_import_campaigns"]').is(":checked"),a=t('input[name="givewp_import_donations"]').is(":checked"),e=t('input[name="givewp_dry_run"]').is(":checked"),n=charitable_givewp_migration.i18n;i||a?(r=e?n.confirm_dry:n.confirm,confirm(r)&&(this.$results.hide(),this.$dryRunResults.hide(),this.$error.hide().text(""),this.$progress.show(),this.$progressBar.css("width","0%"),this.$progressStatus.text(n.starting),this.$startBtn.prop("disabled",!0),this.processedItems=0,t.ajax({url:charitable_givewp_migration.ajax_url,type:"POST",data:{action:"charitable_givewp_import_start",nonce:charitable_givewp_migration.nonce,campaigns:i?1:0,donations:a?1:0,dry_run:e?1:0},success:t.proxy(function(t){t.success?(this.importId=t.data.import_id,this.totalItems=0,i&&t.data.counts.campaigns&&(this.totalItems+=parseInt(t.data.counts.campaigns,10)),a&&t.data.counts.donations&&(this.totalItems+=parseInt(t.data.counts.donations,10)),this.processBatch()):this.showError(t.data.message||n.error)},this),error:t.proxy(function(){this.showError(n.error)},this)}))):alert("Please select at least one import type.")},processBatch:function(){var s=this;t.ajax({url:charitable_givewp_migration.ajax_url,type:"POST",data:{action:"charitable_givewp_import_batch",nonce:charitable_givewp_migration.nonce,import_id:this.importId},success:function(t){if(t.success){var r=t.data,i=r.results,a=0,e=charitable_givewp_migration.i18n;i.campaigns&&(a+=i.campaigns.imported+i.campaigns.skipped+i.campaigns.errors),i.donations&&(a+=i.donations.imported+i.donations.skipped+i.donations.errors),s.processedItems=a;var n=s.totalItems>0?Math.min(a/s.totalItems*100,100):0;if(s.$progressBar.css("width",n+"%"),r.current_phase){var o=e[r.current_phase]||r.current_phase;s.$progressStatus.text(e.importing.replace("%1$s",o).replace("%2$d",a).replace("%3$d",s.totalItems))}"complete"===r.status?(s.$progressBar.css("width","100%"),s.$progressStatus.text(r.dry_run?e.dry_complete:e.complete),s.$startBtn.prop("disabled",!1),r.dry_run?s.showDryRunResults(i):s.showResults(i)):s.batchTimer=setTimeout(function(){s.processBatch()},500)}else s.showError(t.data.message||charitable_givewp_migration.i18n.error)},error:function(){s.showError(charitable_givewp_migration.i18n.error)}})},showResults:function(t){var s=this.$results.find("tbody");s.empty(),t.campaigns&&s.append("<tr><td>Campaigns</td><td>"+t.campaigns.imported+"</td><td>"+t.campaigns.skipped+"</td><td>"+t.campaigns.errors+"</td></tr>"),t.donations&&s.append("<tr><td>Donations</td><td>"+t.donations.imported+"</td><td>"+t.donations.skipped+"</td><td>"+t.donations.errors+"</td></tr>"),this.$results.show()},showDryRunResults:function(t){var s=this.$dryRunResults.find("tbody");s.empty(),t.campaigns&&s.append("<tr><td>Campaigns</td><td>"+t.campaigns.imported+"</td><td>"+t.campaigns.skipped+"</td><td>"+t.campaigns.errors+"</td></tr>"),t.donations&&s.append("<tr><td>Donations</td><td>"+t.donations.imported+"</td><td>"+t.donations.skipped+"</td><td>"+t.donations.errors+"</td></tr>"),this.$dryRunResults.show()},showError:function(t){this.$error.text(t).show(),this.$startBtn.prop("disabled",!1),this.$progressStatus.text(""),this.batchTimer&&clearTimeout(this.batchTimer)}};t(document).ready(function(){s.init()})}(jQuery); |