/*jshint browser:true, devel:true */
/*global _, jQuery, ajaxurl, wpml_tm_service_activation_strings */
/** @namespace wpml_tm_service_activation_strings.alertTitle */
/** @namespace wpml_tm_service_activation_strings.cancelledJobs */
/** @namespace wpml_tm_service_activation_strings.openJobs */
/** @namespace wpml_tm_service_activation_strings.keepLocalJobs */
/** @namespace wpml_tm_service_activation_strings.errorCancellingJobs */
/** @namespace wpml_tm_service_activation_strings.errorGeneric */
/** @namespace wpml_tm_service_activation_strings.confirm */
/** @namespace wpml_tm_service_activation_strings.yes */
/** @namespace wpml_tm_service_activation_strings.no */
/** @namespace data.opens */
/** @namespace data.cancelled */
var ServiceActivation = function () {
"use strict";
var self = this;
self.initClickAction = function (item, ajaxAction) {
var elementName;
elementName = item.attr('name');
jQuery.ajax(
{
url: ajaxurl,
data: {
'action': ajaxAction,
'nonce': elementName + '_nonce'
},
success: function (response) {
var callback = ajaxAction + '_success';
self[callback](response);
},
error: function (xhr, ajaxOptions, thrownError) {
var callback = ajaxAction + '_error';
self[callback](xhr, ajaxOptions, thrownError);
}
}
);
};
self.displayResponseDialog = function (message) {
self.responseDialog.find('p').empty();
self.responseDialog.find('p').append(message);
self.responseDialog.dialog('open');
};
self.displayConfirmationDialog = function (callback) {
var message = wpml_tm_service_activation_strings.confirm;
self.confirmationDialog.find('p').empty();
self.confirmationDialog.find('p').append(message);
self.confirmationDialog.dialog(
'option', 'buttons', [
{
text: wpml_tm_service_activation_strings.yes,
click: function () {
jQuery(this).dialog("close");
callback(true);
}
}, {
text: wpml_tm_service_activation_strings.no,
click: function () {
jQuery(this).dialog("close");
callback(false);
}
}
]
);
self.confirmationDialog.dialog('open');
};
self.wpml_cancel_open_local_translators_jobs_error = function (xhr, ajaxOptions, thrownError) {
var message = wpml_tm_service_activation_strings.errorCancellingJobs;
alert(message);
console.log(xhr);
console.log(ajaxOptions);
console.log(thrownError);
};
self.wpml_keep_open_local_translators_jobs_error = function (xhr, ajaxOptions, thrownError) {
var message = wpml_tm_service_activation_strings.errorGeneric;
alert(message);
console.log(xhr);
console.log(ajaxOptions);
console.log(thrownError);
};
self.wpml_keep_open_local_translators_jobs_success = function (response) {
var message;
var success = response.success;
if (success) {
message = wpml_tm_service_activation_strings.keepLocalJobs;
} else {
message = wpml_tm_service_activation_strings.errorGeneric;
}
self.displayResponseDialog(message);
};
self.wpml_cancel_open_local_translators_jobs_success = function (response) {
var data = response.data;
var success = response.success;
var message;
if (success) {
message = wpml_tm_service_activation_strings.cancelledJobs + ' ' + data.cancelled + '
';
if (data.open) {
message += wpml_tm_service_activation_strings.errorCancellingJobs + '
';
message += wpml_tm_service_activation_strings.openJobs + ' ' + data.opens;
}
} else {
message = wpml_tm_service_activation_strings.errorCancellingJobs;
}
self.displayResponseDialog(message);
};
self.init = function () {
var dialogHtml;
self.notice = jQuery('.wpml-service-activation-notice').first();
self.actions = self.notice.find('.wpml-action');
dialogHtml = '