spinner button?

Pasted by karl on Wed Oct 20 11:13:11 2021 UTC as JavaScript
// In a CBI.js style view, this _works_ but I don't get any of the UI styling with spinners and de-activated buttons?

		p = s.option(form.Button, "_test_settings", _("Test settings"), _("might take a while to validate"))
		p.inputstyle = "apply";
		p.onclick = ui.createHandlerFn(this, function(blah, ev) {
			console.log("hit clicky click: ", blah, ev);
			return new Promise(function(resolve, reject) {
				setTimeout(function() {
					console.log("resolving with pleasure");
					resolve("hoho joy");
				}, 1000);
			});
		}, "some string");

// as opposed to this raw style, which _does_ restyle the button, but now you've lost the nice CBI style building up the UI?

			//....
				E('div', { 'class': 'cbi-page-actions' }, [
					E('button', {
						'class': 'btn cbi-button-save',
						'click': ui.createHandlerFn(this, 'handleMaster', true, table, initList),
						'disabled': isReadonlyView
					}, _('Enable and start all')),