File "gv-settings.js"
Full path: /home/kosmetik/public_html/wp-content/plugins/gplvault-updater/admin/assets/scripts/gv-settings.js
File
size: 11.51 B
MIME-type: text/plain
Charset: utf-8
Download Open Edit Advanced Editor Back
window.gplvault = window.gplvault || {};
(function($, gplvault, settings, wp){
gplvault = gplvault || {};
var $document = $(document),
__ = wp.i18n.__,
gv = gplvault,
selectors = settings.selectors || {},
notifier = gv.common.notifier,
$gv_license_status_wrapper = $('#gv_license_status_wrapper'),
console = window.console;
gv.admin = {};
gv.admin.selectors = selectors;
gv.admin.queue = [];
gv.admin.tmplApiHeader = gv.template('api-header');
gv.admin.tmplApiStatus = gv.template('status');
gv.admin.ajax = function (context, data) {
var options = {};
options = _.extend(options, data || {}, {context: context});
return gv.common.ajax(options).always(gv.admin.ajaxAlways);
};
gv.admin.ajaxAlways = function (response) {
if (response.status ) {
return;
}
if ( 'undefined' !== typeof response.debug && window.console && window.console.log ) {
_.map( response.debug, function( message ) {
// Remove all HTML tags and write a message to the console.
window.console.log( wp.sanitize.stripTagsAndEncodeText( message ) );
} );
}
};
gv.admin.licenseSettingsSuccess = function (response) {
response = response || {};
response.payload = response.payload || {};
var headerHtml = gv.admin.tmplApiHeader({activated: true}),
statusHtml = gv.admin.tmplApiStatus(response.payload),
$headerLabel = $('#api_settings_column').find('.gv-card__header-label');
$headerLabel.replaceWith(headerHtml);
$gv_license_status_wrapper.html(statusHtml).fadeIn('slow');
$('#license_deactivation, #check_license, #cleanup_settings').prop('disabled', false);
$('#gv_activate_api').prop('disabled', true);
$('#wp__notice-list').find('.notice').remove();
notifier.add({
type: 'success',
title: response.payload.title || __('Success', 'gplvault'),
content: response.payload.message,
});
};
gv.admin.licenseSettingsError = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'error',
title: response.payload.title || 'Error!',
content: response.message,
});
}
gv.admin.activateLicense = function (context, selector) {
context = context || 'license_activation';
var inputKey = $('#' + selectors.license.api.input_key),
inputProduct = $('#' + selectors.license.api.input_product),
api_key = inputKey.val(),
product_id = inputProduct.val(),
promise,
data = {};
if (api_key.length < 40 || product_id.length < 1) {
throw new ValidationError(__('Both Master Key and Product ID fields are required.', 'gplvault'), __('Required Fields!', 'gplvault'));
}
data.api_key = api_key;
data.product_id = product_id;
$document.trigger('gv-updating-license', {context: context, selector: selector, payload: data});
promise = gv.admin.ajax(context, data);
$document.trigger('gv-updated-license', {context: context, selector: selector, payload: data, promise: promise});
promise.done(gv.admin.licenseSettingsSuccess).fail(gv.admin.licenseSettingsError);
return promise;
};
gv.admin.resetSettingsForm = function () {
$('#api_master_key, #api_product_id').val('');
$('#gv_activate_api').prop('disabled', false);
};
gv.admin.licenseDeactivationSuccess = function (response) {
response = response || {};
response.payload = response.payload || {};
var headerHtml = gv.admin.tmplApiHeader({activated: false}),
countsElems = $('.gv-count-total, .gv-count-plugins, .gv-count-themes'),
$headerLabel = $('#api_settings_column').find('.gv-card__header-label');
countsElems.remove();
$headerLabel.replaceWith(headerHtml);
$gv_license_status_wrapper.fadeOut('slow').html('');
gv.admin.resetSettingsForm();
$('#license_deactivation, #check_license, #cleanup_settings').prop('disabled', true);
notifier.add({
type: 'success',
title: response.payload.title || 'Success',
content: response.payload.message
});
};
gv.admin.licenseDeactivationError = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'error',
title: response.payload.title || 'Error',
content: response.message
});
}
gv.admin.deactivateLicense = function (context, selector) {
var promise;
context = context || 'license_deactivation';
$document.trigger('gv-deactivating-api', {context: context, selector: selector});
promise = gv.admin.ajax(context);
promise.done(gv.admin.licenseDeactivationSuccess).fail(gv.admin.licenseDeactivationError);
$document.trigger('gv-deactivated-api', {context: context, selector: selector, promise: promise});
return promise;
};
gv.admin.licenseStatusSuccess = function (response) {
response = response || {};
response.payload = response.payload || {};
var headerHtml = gv.admin.tmplApiHeader({activated: response.payload.activated}),
statusHtml = gv.admin.tmplApiStatus(response.payload),
$headerLabel = $('#api_settings_column').find('.gv-card__header-label');
$headerLabel.replaceWith(headerHtml);
$gv_license_status_wrapper.html(statusHtml);
notifier.add({
type: 'success',
title: response.payload.title || __('Success', 'gplvault'),
content: response.payload.message,
});
};
gv.admin.licenseStatusError = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'error',
title: response.payload.title || __('Error', 'gplvault'),
content: response.payload.message,
});
};
gv.admin.checkLicense = function (context, selector) {
var promise;
context = context || 'check_license';
$document.trigger('gv-checking-api', {context: context, selector: selector});
promise = gv.admin.ajax(context);
promise.done(gv.admin.licenseStatusSuccess).fail(gv.admin.licenseStatusError);
$document.trigger('gv-checked-api', {context: context, selector: selector, promise: promise});
return promise;
};
gv.admin.cleanupSettingsSuccess = function (response) {
response = response || {};
response.payload = response.payload || {};
var headerHtml = gv.admin.tmplApiHeader({activated: false}),
countsElems = $('.gv-count-total, .gv-count-plugins, .gv-count-themes'),
$headerLabel = $('#api_settings_column').find('.gv-card__header-label');
countsElems.remove();
$headerLabel.replaceWith(headerHtml);
$gv_license_status_wrapper.fadeOut('slow').html('');
gv.admin.resetSettingsForm();
$('#license_deactivation, #check_license, #cleanup_settings').prop('disabled', true);
notifier.add({
type: 'success',
title: response.payload.title || __('Success', 'gplvault'),
content: response.payload.message,
});
};
gv.admin.cleanupSettingsError = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'error',
title: __('Error', 'gplvault'),
content: __('Unknown error occurred.', 'gplvault'),
});
}
gv.admin.cleanupSettings = function (context, selector) {
var promise;
context = context || 'cleanup_settings';
$document.trigger('gv-clearing-settings', {context: context, selector: selector});
promise = gv.admin.ajax(context);
promise.done(gv.admin.cleanupSettingsSuccess).fail(gv.admin.cleanupSettingsError);
$document.trigger('gv-cleared-settings', {context: context, selector: selector, promise: promise});
return promise;
};
gv.admin.itemExclusionSuccess = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'success',
title: response.payload.title || __('Updated', 'gplvault'),
content: response.payload.message
});
};
gv.admin.itemExclusionError = function (response) {
response = response || {};
response.payload = response.payload || {};
notifier.add({
type: 'error',
title: response.payload.title || __('Not Updated', 'gplvault'),
content: response.message
});
};
gv.admin.excludePlugins = function (context, selector) {
context = context || 'plugins_exclusion';
var inputEl = $('#' + selectors.exclusion.plugins.input_id),
btnEl = $('#' + selectors.exclusion.plugins.button_id),
promise,
plugins = inputEl.val();
$document.trigger('gv-excluding-plugins', {context: context, plugins: plugins});
promise = gv.admin.ajax(context, {plugins: plugins});
promise.done(gv.admin.itemExclusionSuccess).fail(gv.admin.itemExclusionError).always(function() {
selector.prop('disabled', true);
});
return promise;
};
gv.admin.excludeThemes = function (context, selector) {
context = context || 'themes_exclusion';
var inputEl = $('#' + selectors.exclusion.themes.input_id),
btnEl = $('#' + selectors.exclusion.themes.button_id),
promise,
themes = inputEl.val();
$document.trigger('gv-excluding-themes', {context: context, themes: themes});
promise = gv.admin.ajax(context, {themes: themes});
promise.done(gv.admin.itemExclusionSuccess).fail(gv.admin.itemExclusionError).always(function() {
selector.prop('disabled', true);
});
return promise;
};
gv.admin.getResolver = function (context) {
var resolvers = {
license_activation: gv.admin.activateLicense,
license_deactivation: gv.admin.deactivateLicense,
check_license: gv.admin.checkLicense,
cleanup_settings: gv.admin.cleanupSettings,
plugins_exclusion: gv.admin.excludePlugins,
themes_exclusion: gv.admin.excludeThemes,
}
return resolvers[context];
};
gv.admin.ajaxResolver = function(selector) {
var context = selector.data('context'),
resolver = gv.admin.getResolver(context);
if (resolver) {
return resolver.call(null, context, selector);
}
return gv.admin.ajax(context);
};
$( function () {
var $globalWrapper = $('#' + settings.selectors.page_wrapper),
$itemExclusionSection = $('#' + settings.selectors.exclusion.section_id),
items;
$document.on('click', 'button.gv-hide-pw', function(e) {
e.preventDefault();
gplvault.common.togglePW(e);
});
if ($itemExclusionSection.length > 0) {
$itemExclusionSection.on('change', 'select', function( event ) {
var $instance = $(this),
$parentContainer;
$parentContainer = $instance.closest('.gv-fields__container');
$parentContainer.find('[data-context]').prop('disabled', false);
});
}
if ($globalWrapper.length > 0) {
$globalWrapper.on('click', '[data-context]', function(event) {
event.preventDefault();
var $_instance = $(this);
if ($_instance.hasClass('gv-has-confirmation')) {
var confirmation = confirm($_instance.data('confirmation'));
if (! confirmation) {
return false;
}
}
$_instance.addClass('updating-message');
try {
var result = gv.admin.ajaxResolver($_instance);
result && result.always(function () {
$_instance.removeClass('updating-message');
});
} catch (e) {
notifier.add({
type: 'error',
title: e.title || e.name,
content: e,
});
$_instance.removeClass('updating-message');
return false;
}
});
}
} );
})(jQuery, window.gplvault, window._gvAdminSettings, window.wp);