Current File : /home/bqrcodec/.trash/jet-elements/assets/js//jet-elements-admin-vue-components.js
var language,currentLanguage,languagesNoRedirect,hasWasCookie,expirationDate;'use strict';
Vue.component( 'jet-elements-general-settings', {
template: '#jet-dashboard-jet-elements-general-settings',
data: function() {
return {
pageOptions: window.JetElementsSettingsConfig.settingsData,
preparedOptions: {},
savingStatus: false,
ajaxSaveHandler: null,
};
},
watch: {
pageOptions: {
handler( options ) {
let prepared = {};
for ( let option in options ) {
if ( options.hasOwnProperty( option ) ) {
prepared[ option ] = options[option]['value'];
}
}
this.preparedOptions = prepared;
this.saveOptions();
},
deep: true
}
},
methods: {
saveOptions: function() {
var self = this;
self.savingStatus = true;
wp.apiFetch( {
method: 'post',
path: window.JetElementsSettingsConfig.settingsApiUrl,
data: self.preparedOptions
} ).then( function( response ) {
self.savingStatus = false;
if ( 'success' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'success',
duration: 3000,
} );
}
if ( 'error' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
}
} ).catch( function( response ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
} );
},
}
} );
Vue.component( 'jet-elements-integrations-settings', {
template: '#jet-dashboard-jet-elements-integrations-settings',
data: function() {
return {
pageOptions: window.JetElementsSettingsConfig.settingsData,
preparedOptions: {},
savingStatus: false,
ajaxSaveHandler: null,
};
},
watch: {
pageOptions: {
handler( options ) {
let prepared = {};
for ( let option in options ) {
if ( options.hasOwnProperty( option ) ) {
prepared[ option ] = options[option]['value'];
}
}
this.preparedOptions = prepared;
this.saveOptions();
},
deep: true
}
},
methods: {
saveOptions: function() {
var self = this;
self.savingStatus = true;
wp.apiFetch( {
method: 'post',
path: window.JetElementsSettingsConfig.settingsApiUrl,
data: self.preparedOptions
} ).then( function( response ) {
self.savingStatus = false;
if ( 'success' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'success',
duration: 3000,
} );
}
if ( 'error' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
}
} ).catch( function( response ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
} );
},
}
} );
Vue.component( 'jet-elements-avaliable-addons', {
template: '#jet-dashboard-jet-elements-avaliable-addons',
data: function() {
return {
pageOptions: window.JetElementsSettingsConfig.settingsData,
preparedOptions: {},
savingStatus: false,
ajaxSaveHandler: null,
};
},
watch: {
pageOptions: {
handler( options ) {
let prepared = {};
for ( let option in options ) {
if ( options.hasOwnProperty( option ) ) {
prepared[ option ] = options[option]['value'];
}
}
this.preparedOptions = prepared;
this.saveOptions();
},
deep: true
}
},
methods: {
saveOptions: function() {
var self = this;
self.savingStatus = true;
wp.apiFetch( {
method: 'post',
path: window.JetElementsSettingsConfig.settingsApiUrl,
data: self.preparedOptions
} ).then( function( response ) {
self.savingStatus = false;
if ( 'success' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'success',
duration: 3000,
} );
}
if ( 'error' === response.status ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
}
} ).catch( function( response ) {
self.$CXNotice.add( {
message: response.message,
type: 'error',
duration: 3000,
} );
} );
},
}
} );