PluginProbe
ElasticPress / 5.3.5
ElasticPress v5.3.5
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
← All changes | assets/js/dashboard.js +22 -6 4.2.1 → 5.3.5 View file →
@@ -22,13 +22,25 @@
22 22 * @param {FormData} data Form data.
23 23 * @returns {boolean} Whether a reindex will need to occur when saved.
24 24 */
25 25 const willChangeTriggerReindex = (data) => {
26 - return (
27 - data.get('requires_reindex') === '1' &&
28 - data.get('was_active') === '0' &&
29 - data.get('settings[active]') === '1'
30 - );
26 + const isActive = data.get('settings[active]') === '1';
27 + const settingRequiresReindex = data.get('setting_requires_reindex');
28 +
29 + if (settingRequiresReindex) {
30 + const settingIs = data.get(`settings[${settingRequiresReindex}]`);
31 + const settingWas = data.get(`setting_requires_reindex_was`);
32 +
33 + // eslint-disable-next-line eqeqeq
34 + if (isActive && settingIs == true && settingIs !== settingWas) {
35 + return true;
36 + }
37 + }
38 +
39 + const requiresReindex = data.get('requires_reindex') === '1';
40 + const wasActive = data.get('was_active') === '1';
41 +
42 + return requiresReindex && isActive && !wasActive;
31 43 };
32 44
33 45 /**
34 46 * Handle Feature settings being submitted.
@@ -45,9 +57,9 @@
45 57 if (requiresConfirmation) {
46 58 /* eslint-disable no-alert */
47 59 const isConfirmed = window.confirm(
48 60 __(
49 - 'Enabling this feature will begin re-indexing your content. Do you wish to proceed?',
61 + 'Enabling this feature will begin re-syncing your content. Do you wish to proceed?',
50 62 'elasticpress',
51 63 ),
52 64 );
53 65
@@ -82,8 +94,12 @@
82 94 return;
83 95 }
84 96
85 97 feature.classList.toggle('feature-active', response.data.active);
98 +
99 + if (typeof response.data.setting !== 'undefined') {
100 + form.setting_requires_reindex_was.value = response.data.setting;
101 + }
86 102
87 103 if (response.data.reindex) {
88 104 window.location = syncUrl;
89 105 } else {