1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
(function(angular, $, _) {
angular.module('api4').factory('crmApi4', function($q) {
var crmApi4 = function(entity, action, params, index) {
// JSON serialization in CRM.api4 is not aware of Angular metadata like $$hash, so use angular.toJson()
var deferred = $q.defer();
var p;
var backend = crmApi4.backend || CRM.api4;
if (_.isObject(entity)) {
// eval content is locally generated.
/*jshint -W061 */
p = backend(eval('('+angular.toJson(entity)+')'), action);
} else {
// eval content is locally generated.
/*jshint -W061 */
p = backend(entity, action, eval('('+angular.toJson(params)+')'), index);
}
p.then(
function(result) {
deferred.resolve(result);
},
function(error) {
deferred.reject(error);
}
);
return deferred.promise;
};
crmApi4.backend = null;
crmApi4.val = function(value) {
var d = $.Deferred();
d.resolve(value);
return d.promise();
};
return crmApi4;
});
})(angular, CRM.$, CRM._);
|