wpml-tf-backend-options-script.js
1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*jshint browser:true, devel:true */
/*global jQuery, wp */
(function($){
"use strict";
$(function () {
var section = $('#wpml-translation-feedback-options'),
enableToggle = section.find('#wpml-tf-enable-translation-feedback'),
displayMode = section.find('input[name="display_mode"]'),
saveTriggers = section.find('.js-wpml-tf-trigger-save');
var saveSettings = function (node) {
var spinner = node.closest('.js-wpml-tf-settings-block').find('.spinner'),
message = node.closest('.js-wpml-tf-settings-block').find('.js-wpml-tf-request-status').empty(),
settings = getSerializedSettings();
spinner.addClass('is-active');
wp.ajax.send({
data: {
action: section.data('action'),
nonce: section.data('nonce'),
settings: settings
},
success: function (data) {
spinner.removeClass('is-active');
message.html(data).fadeIn().delay(3000).fadeOut();
},
error: function (data) {
spinner.removeClass('is-active');
message.html(data).fadeIn().delay(3000).fadeOut();
}
});
};
var getSerializedSettings = function() {
var form = section.find('form'),
disabled = form.find(':input:disabled').prop('disabled', false),
settings = form.find('input, select, textarea').serialize();
disabled.prop('disabled', true);
return settings;
};
enableToggle.on('change', function() {
section.find('.js-wpml-tf-full-options').slideToggle();
});
displayMode.on('change', function() {
var customDisplayMode = section.find('#wpml_tf_display_mode_custom');
if (customDisplayMode.is(':checked')) {
customDisplayMode.closest('li').find('select').prop('disabled', false);
} else {
customDisplayMode.closest('li').find('select').prop('disabled', true);
}
});
saveTriggers.on('change', function() {
saveSettings($(this));
});
});
})(jQuery);