michaeldegli
10/4/2014 - 11:25 PM

Time on slide with Clickstream Objects in Veeva

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;
    }
  }


}]);