Time on slide with Clickstream Objects in Veeva
.factory('TrackPage', ['$interval', function($interval) {
var obj = {
"Track_Element_Id_vod__c": "undefined",
"Track_Element_Description_vod__c": "undefined",
"Usage_Duration_vod__c": 0,
"Usage_Start_Time_vod__c": new Date()
};
var self = this;
var timer = 0,
data = undefined;
self.delay;
self.save;
var updateRecord = function(result) {
self.save = $interval(function() {
timer++;
obj.Usage_Duration_vod__c = timer;
com.veeva.clm.updateRecord("Call_Clickstream_vod__c", result.Call_Clickstream_vod__c.ID, obj, function(result) {});
}, 1000, false);
};
return {
Tab: function(track_el_id, track_el_desc) {
var obj = {
"Track_Element_Id_vod__c": track_el_id,
"Track_Element_Description_vod__c": track_el_desc,
"Usage_Start_Time_vod__c": new Date()
};
com.veeva.clm.createRecord("Call_Clickstream_vod__c", obj, function(result) {
//alert(JSON.stringify(result));
});
},
Start: function(track_el_id, track_el_desc) {
obj = {};
obj.Track_Element_Id_vod__c = track_el_id;
obj.Track_Element_Description_vod__c = track_el_desc;
var createObject = function(result) {
obj.Product_vod__c = result.KeyMessage.Product_vod__c;
com.veeva.clm.createRecord("Call_Clickstream_vod__c", obj, updateRecord);
};
com.veeva.clm.getDataForCurrentObject("KeyMessage", "Product_vod__c", createObject);
},
End: function() {
$interval.cancel(self.save);
self.save = undefined;
timer = 0;
}
}
}]);