70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
define("dijit/_DialogMixin", [
|
|
"dojo/_base/declare", // declare
|
|
"./a11y" // _getTabNavigable
|
|
], function(declare, a11y){
|
|
|
|
// module:
|
|
// dijit/_DialogMixin
|
|
|
|
return declare("dijit._DialogMixin", null, {
|
|
// summary:
|
|
// This provides functions useful to Dialog and TooltipDialog
|
|
|
|
execute: function(/*Object*/ /*===== formContents =====*/){
|
|
// summary:
|
|
// Callback when the user hits the submit button.
|
|
// Override this method to handle Dialog execution.
|
|
// description:
|
|
// After the user has pressed the submit button, the Dialog
|
|
// first calls onExecute() to notify the container to hide the
|
|
// dialog and restore focus to wherever it used to be.
|
|
//
|
|
// *Then* this method is called.
|
|
// type:
|
|
// callback
|
|
},
|
|
|
|
onCancel: function(){
|
|
// summary:
|
|
// Called when user has pressed the Dialog's cancel button, to notify container.
|
|
// description:
|
|
// Developer shouldn't override or connect to this method;
|
|
// it's a private communication device between the TooltipDialog
|
|
// and the thing that opened it (ex: `dijit/form/DropDownButton`)
|
|
// type:
|
|
// protected
|
|
},
|
|
|
|
onExecute: function(){
|
|
// summary:
|
|
// Called when user has pressed the dialog's OK button, to notify container.
|
|
// description:
|
|
// Developer shouldn't override or connect to this method;
|
|
// it's a private communication device between the TooltipDialog
|
|
// and the thing that opened it (ex: `dijit/form/DropDownButton`)
|
|
// type:
|
|
// protected
|
|
},
|
|
|
|
_onSubmit: function(){
|
|
// summary:
|
|
// Callback when user hits submit button
|
|
// type:
|
|
// protected
|
|
this.onExecute(); // notify container that we are about to execute
|
|
this.execute(this.get('value'));
|
|
},
|
|
|
|
_getFocusItems: function(){
|
|
// summary:
|
|
// Finds focusable items in dialog,
|
|
// and sets this._firstFocusItem and this._lastFocusItem
|
|
// tags:
|
|
// protected
|
|
|
|
var elems = a11y._getTabNavigable(this.containerNode);
|
|
this._firstFocusItem = elems.lowest || elems.first || this.closeButtonNode || this.domNode;
|
|
this._lastFocusItem = elems.last || elems.highest || this._firstFocusItem;
|
|
}
|
|
});
|
|
});
|