(function( $, themeData ) {
'use strict';
var JetThemePage = {
xhr: null,
init: function() {
var self = this;
$( document )
.on( 'click.JetThemePage', 'a[data-action="update-theme"]', self.updateTheme )
.on( 'click.JetThemePage', 'button[data-action="install-child"]', self.installChild )
.on( 'click.JetThemePage', '.jet-backup-delete', self.confirmDelete )
.on( 'click.JetThemePage', 'button[data-action="activate-child"]', self.activateChild );
$( window ).on( 'cx-switcher-change', self.updateBackupsSetting );
},
confirmDelete: function( event ) {
event.preventDefault();
var $this = $( this );
if ( confirm( 'Are you sure you want to delete this file?' ) ) {
window.location = $this.attr( 'href' );
}
},
updateBackupsSetting: function( event ) {
var controlName = event.controlName,
controlStatus = event.controlStatus;
if ( 'jet_core_auto_backup' !== controlName ) {
return;
}
if ( null !== JetThemePage.xhr ) {
JetThemePage.xhr.abort();
}
JetThemePage.xhr = $.ajax({
url: ajaxurl,
type: 'post',
dataType: 'json',
data: {
action: 'jet_core_update_backup_status',
new_value: controlStatus,
}
}).done( function( response ) {
JetThemePage.xhr = null;
});
},
updateTheme: function( event ) {
event.preventDefault();
var $this = $( this );
$this.html( themeData.updating );
$.ajax({
url: ajaxurl,
type: 'post',
dataType: 'json',
data: {
action: 'jet_core_update_theme'
}
}).done( function( response ) {
if ( true === response.success ) {
$( '.jet-theme__update-notice' ).remove();
$( '.jet-theme__version-val' ).html( response.data.newVersion );
} else {
$this.replaceWith( themeData.failed );
$( '.jet-theme__errors' ).html( response.data.errorMessage );
}
if ( response.data.backupsList ) {
$( '.jet-backups-wrap' ).html( response.data.backupsList );
}
});
},
installChild: function( event ) {
event.preventDefault();
var $this = $( this );
$this.html( themeData.installing );
$.ajax({
url: ajaxurl,
type: 'post',
dataType: 'json',
data: {
action: 'jet_core_install_child_theme'
}
}).done( function( response ) {
if ( true === response.success ) {
$this.html( themeData.activate );
$this.data( 'action', 'activate-child' );
$this.attr( 'data-action', 'activate-child' );
$this.data( 'theme', response.data.theme );
$( '.jet-child-theme__status span' ).html( themeData.installed );
} else {
$this.replaceWith( themeData.failed );
$( '.jet-child-theme__errors' ).html( response.data.errorMessage );
}
});
},
activateChild: function( event ) {
event.preventDefault();
var $this = $( this );
$this.html( themeData.activating );
$.ajax({
url: ajaxurl,
type: 'post',
dataType: 'json',
data: {
action: 'jet_core_activate_child_theme'
}
}).done( function( response ) {
if ( true === response.success ) {
$this.remove();
$( '.jet-child-theme__status span' ).html( themeData.activated );
} else {
$this.replaceWith( themeData.failed );
$( '.jet-child-theme__errors' ).html( response.data.errorMessage );
}
});
}
};
JetThemePage.init();
})( jQuery, window.JetThemeData );