/**
* @class Ext.form.action.DirectAction
* A mixin that contains methods specific to Ext.Direct actions shared
* by DirectLoad and DirectSubmit.
* @private
*/
Ext.define('Ext.form.action.DirectAction', {
extend: 'Ext.Mixin',
mixinConfig: {
id: 'directaction'
},
resolveMethod: function(type) {
var me = this,
form = me.form,
api = form.api,
fn;
//
if (!api) {
Ext.Error.raise("Cannot resolve Ext.Direct API method for " + type +
" action; form " + form.id + " has no api object defined");
}
//
fn = api[type];
if (typeof fn !== 'function') {
//
var fnName = fn;
//
api[type] = fn = Ext.direct.Manager.parseMethod(fn);
//
if (!Ext.isFunction(fn)) {
Ext.Error.raise("Cannot resolve Ext.Direct API method " + fnName +
" for " + type + " action");
}
//
}
return fn;
}
});