*/
CRM.api = function(entity, action, params, options) {
// Default settings
- var settings = {
+ var json = false,
+ settings = {
+ context: null,
success: function(result, settings) {
return true;
},
return true;
};
}
- $.extend(settings, options);
- var json = false;
for (var i in params) {
if (i.slice(0, 4) == 'api.' || typeof(params[i]) == 'Object') {
json = true;
data: params,
type: action.indexOf('get') < 0 ? 'POST' : 'GET',
success: function(result) {
- stg.callBack.call(this, result, stg);
+ stg.callBack.call(stg.context, result, stg);
}
});
- })($.extend({}, settings));
+ })($.extend({}, settings, options));
};
// Backwards compatible with jQuery fn
$.fn.crmAPI = function(entity, action, params, options) {
console && console.log && console.log('Calling crmAPI from jQuery is deprecated. Please use CRM.api() instead.');
- return CRM.api(entity, action, params, options);
+ return CRM.api.call(this, entity, action, params, options);
};
$.fn.crmAutocomplete = function (params, options) {
if (typeof params == 'undefined') params = {};
if (typeof options == 'undefined') options = {};
- params = $().extend( {
+ params = $().extend({
rowCount:35,
json:1,
entity:'Contact',
- action:'getquick',
+ action:'getquick',
sequential:1
}, params);