223 lines
9.9 KiB
JavaScript
Executable File

jQuery(function($) {
var demo_confirm = MTDI_JSObject.demo_confirm, //Are you sure to import demo content ?
AjaxUrl = MTDI_JSObject.ajaxurl,
_wpnonce = MTDI_JSObject._wpnonce,
plugin_installing = MTDI_JSObject.plugin_installing, //Installing
importing_demo = MTDI_JSObject.importing_demo, //Importing
plugin_activated = MTDI_JSObject.plugin_activated, //Activated
activating_installing = MTDI_JSObject.activating_installing, //Installing & Activating
plugin_activating = MTDI_JSObject.plugin_activating; //Activating
var isTimeout, isLoaded;
$('.mtdi-demo-import').on('click', function(e) {
e.preventDefault();
var el = $(this);
$import_true = confirm( demo_confirm );
if ( $import_true == false ) {
return;
}
el.addClass( 'updating-message' );
var selected_demo = el.data( 'slug' );
// Get import data
$.ajax({
method: "POST",
url: AjaxUrl,
data: ({
'action': 'mtdi_ajax_onclick_import_button',
'plugin_slug': selected_demo,
'_wpnonce': _wpnonce,
}),
success: function(response) {
$('#mtdi-demo-popup-wrap').addClass('mtdi-popup-show');
$('#mtdi-demo-popup-wrap').html(response);
$(this).removeClass('updating-message');
function success() {
if (isTimeout) {
return;
}
$('#loadingMessage').hide();
isLoaded = true;
};
setTimeout(function() {
if (isLoaded) {
return;
}
$('#loadingMessage').hide();
$('iframe').css('display', 'inline-block');
$('iframe').show();
isTimeout = true;
}, 2000);
}
});
});
$('body').on('click', '.mtdi-demo-popup-close', function(e) {
e.preventDefault();
$('#mtdi-demo-popup-wrap').removeClass('mtdi-popup-show');
$('#mtdi-demo-popup-wrap').html('');
$('.mtdi-demo-import').removeClass('updating-message');
});
$(document).on('click', '.mtdi-install-setup', function(e) {
var _this = $(this);
var $target = $(e.target);
var selected_slug = $(this).data('slug');
var pluginLists = $('#hidden_plugin_lists-' + selected_slug).val();
e.preventDefault();
if ($target.hasClass('disabled') || $target.hasClass('updating-message')) {
return;
}
processImport($target, pluginLists, _this);
wp.updates.maybeRequestFilesystemCredentials(e);
});
$(document).on('click', '.mtdi-demo-import-step', function(e) {
var _this = $(this);
var $target = $(e.target);
var selected_name = $(this).data('name');
var selected_slug = $(this).data('slug');
var execution_time = $(this).data( 'execution' );
processDemoImport(selected_slug, selected_name, execution_time);
});
var json = new Array();
processDemoImport = function(selected_slug, selected_name, execution_time) {
$.ajax({
method: "POST",
url: AjaxUrl,
dataType: "json",
data: ({
'action': 'mtdi_import_demo',
'plugin_slug': selected_slug,
'execution_time': execution_time,
'_wpnonce': _wpnonce,
}),
beforeSend: function() {
$('.mtdi-demo-import-step').addClass('updating-message').text(importing_demo);
},
success: function(response) {
if (response.success) {
$('.mtdi-demo-import-step').removeClass('updating-message');
$('.mtdi-demo-import-step').html('');
$('.mtdi-demo-import-step').addClass('imported-success');
$('.imported-success').removeClass('demo-import');
$('.imported-success').attr('href', response.data.previewUrl);
$('.imported-success').attr('target', '_blank');
$('.imported-success').html('Visit Site');
$( '.mtdi-customize-button' ).show();
$('.imported-success').removeClass('mtdi-demo-import-step');
// popup demo import success message
popup_demo_import_success_meesage(selected_name);
} else {
$('.mtdi-demo-import-step').removeClass('updating-message');
$('.demo-import-actions').append('<p class="notice notice-error is-dismissible">' + response.errorMessage + '</p>');
$('.mtdi-demo-import-step').addClass('error-imported');
}
}
});
};
processImport = function($target, pluginLists, _this) {
$(document).trigger('wp-plugin-bulk-install', pluginLists);
// Find all the plugins which are required.
pluginLists = JSON.parse(pluginLists);
var count = Object.keys(pluginLists).length;
var i = 1;
var numItems = $('.button.activated').length;
installPlugin( pluginLists );
};
installPlugin = function( pluginLists ) {
var uninstalledContainer = $( '.mtdi-install-plugin' );
var unactivatedContainer = $( '.mtdi-activate-now' );
if( uninstalledContainer.length || unactivatedContainer.length ) {
if( uninstalledContainer.length ) {
var SinglePluginSlug = uninstalledContainer.data( 'slug' );
var SinglePluginName = uninstalledContainer.data( 'name' );
var SinglePluginInit = uninstalledContainer.data( 'init' );
var SinglePluginInstall = uninstalledContainer.data( 'install' );
var selfClass = 'mtdi-install-plugin';
} else {
var SinglePluginSlug = unactivatedContainer.data( 'slug' );
var SinglePluginName = unactivatedContainer.data( 'name' );
var SinglePluginInit = unactivatedContainer.data( 'init' );
var selfClass = 'mtdi-activate-now';
}
var ajaxData;
ajaxData = {
'action': 'mtdi_requried_plugin_install',
'plugin_slug': SinglePluginSlug, //slug
'plugin_init': SinglePluginInit,
'plugin_name': SinglePluginName,
'pluginList': pluginLists,
'_wpnonce': _wpnonce,
}
if( typeof SinglePluginInstall != "undefined" ) {
ajaxData.install = SinglePluginInstall;
}
$.ajax({
method: "POST",
url: AjaxUrl,
data: ajaxData,
beforeSend: function() {
console.log( 'Installing ' + SinglePluginName );
var button_text = $('.mtdi-' + SinglePluginSlug).hasClass('mtdi-activate-now') ? plugin_activating : plugin_installing;
$('.mtdi-' + SinglePluginSlug).addClass('updating-message').text(button_text);
$('.mtdi-install-setup').addClass('updating-message').text(activating_installing);
},
success: function(response) {
if (response.success) {
console.log( 'Installed ' + SinglePluginName );
$('.mtdi-' + SinglePluginSlug).removeClass( selfClass ).removeClass('updating-message').addClass('disabled updated-message activated')
.text(plugin_activated);
} else {
$('.mtdi-' + SinglePluginSlug).removeClass( selfClass ).removeClass('updating-message').addClass('disabled updated-message activated')
.text(plugin_activated);
$('.demo-import-actions').append('<p class="notice notice-error is-dismissible">' + response.errorMessage + '</p>');
}
},
complete: function( xhr,status ) {
installPlugin( pluginLists );
}
});
} else {
$('.mtdi-install-setup').hide().removeClass('updating-message');
$('.mtdi-demo-import-step').show();
return;
}
}
$( 'body' ).on( 'click', '.mtdi-responsive-view button', function() {
$( this ).siblings().removeClass( 'active' );
$( this ).addClass( 'active' );
var device = $( this ).data( "device" );
if( device == "tablet" ) {
var width = '720px';
var height = '1080px';
} else if ( device == "mobile" ) {
var width = '320px';
var height = '480px';
} else {
var width = '100%';
var height = '100%';
}
$( '.theme-screenshots1 iframe' ).animate({width: width, height: height}, 500 );
});
/**
*
* Function handling demo import success message popup
*
*/
function popup_demo_import_success_meesage(selected_name) {
var container = $( "#demo-import-success-note-wrapper" ),
closeButton = container.find( ".mtdi-note-close" ),
demoNameButton = container.find( ".demo-name" );
container.show();
demoNameButton.html( selected_name );
closeButton.on( "click", function() {
var _this = $( this );
_this.parent( "#demo-import-success-note-wrapper" ).hide();
});
}
});