JSFiddle - React, Tailwind, and code Playground
HTML
<h2>Example for WordPress #20564</h2>
<p>Kind of "filter" for the data variable.</p>
<p>Add callbacks on ready event, and fire them just before autosave.</p>
<p>Click on autosave and check your webconsole!</p>
<span id="autosave" >[Autosave!]</span>
CSS
body {
font-family: monospace;
}
span {
cursor: pointer;
}
JavaScript
window.wp = window.wp || {};
window.wp.autosave = window.wp.autosave || {};
window.wp.autosave.addfieldcallback = function (callback) {
window.wp.autosave.callbacks = window.wp.autosave.callbacks || Array();
window.wp.autosave.callbacks.push(callback);
};
$('#autosave').click(function () {
var data = {
prop: 'initdata',
some: 'field'
};
console.log(data, window.wp.autosave.callbacks);
for (var i = 0; i < window.wp.autosave.callbacks.length; i += 1) {
data = $.extend(data, window.wp.autosave.callbacks[i]());
}
console.log(data);
});
$(document).ready(function () {
window.wp.autosave.addfieldcallback(function () {
console.log('callback one called');
return {
prop: 'customdata'
};
});
window.wp.autosave.addfieldcallback(function () {
console.log('callback two called');
return {
'custom_field': 'custom_field_value'
};
});
});