How do you make Dojo BusyButton properties persist after the cancel method is invoked?
In my parent class, I create a button like this.
this.saveButton = new dojox.form.BusyButton({
'iconClass' : "dijitIconSave"
, 'label': 'Save'
, 'busyLabel': 'Saving...'
, 'timeout': 30000
})
Then in my child class, I change some properties.
this.saveButton.set('label', 'Add');
this.saveButton.set('busyLabel', 'Adding...');
this.saveButton.set('timeout', 2000);
The button looks like this:

Great. But after I run this.saveButton.cancel();
The button reverts to:

Why aren’t the properties that I’ve set persist beyond this.saveButton.cancel()?
What’s the best way to stop the busy animation without resetting the BusyButton properties to their original values?
UPDATE:
I had a look at the BusyButton code and the cancel method sets the label by running this.setLabel(this._label);. Shouldn’t that be this.setLabel(this.label);? I don’t like accessing private variables but for now this is my workaround.
this.saveButton.set({
_label: 'Add'
, label: 'Add'
, busyLabel: 'Adding...'
, timeout: 5000
})
Is this a Dojo bug or am I doing it wrong?
It’s a known bug. See http://bugs.dojotoolkit.org/ticket/10644