Merge pull request #69 from edx/valera/event_tracking
Valera/event tracking
This commit is contained in:
@@ -91,12 +91,17 @@ class @VideoAlpha
|
||||
getDuration: ->
|
||||
@metadata[@youtubeId()].duration
|
||||
|
||||
log: (eventName)->
|
||||
log: (eventName, data)->
|
||||
# Default parameters that always get logged.
|
||||
logInfo =
|
||||
id: @id
|
||||
code: @youtubeId()
|
||||
currentTime: @player.currentTime
|
||||
speed: @speed
|
||||
|
||||
# If extra parameters were passed to the log.
|
||||
if data
|
||||
$.each data, (paramName, value) ->
|
||||
logInfo[paramName] = value
|
||||
|
||||
if @videoType is "youtube"
|
||||
logInfo.code = @youtubeId()
|
||||
else logInfo.code = "html5" if @videoType is "html5"
|
||||
|
||||
@@ -120,7 +120,7 @@ class @VideoCaptionAlpha extends SubviewAlpha
|
||||
seekPlayer: (event) =>
|
||||
event.preventDefault()
|
||||
time = Math.round(Time.convert($(event.target).data('start'), '1.0', @currentSpeed) / 1000)
|
||||
$(@).trigger('seek', time)
|
||||
$(@).trigger('caption_seek', time)
|
||||
|
||||
calculateOffset: (element) ->
|
||||
@captionHeight() / 2 - element.height() / 2
|
||||
|
||||
@@ -24,9 +24,9 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
if @video.videoType is 'youtube'
|
||||
$(@qualityControl).bind('changeQuality', @handlePlaybackQualityChange)
|
||||
if @video.show_captions is true
|
||||
$(@caption).bind('seek', @onSeek)
|
||||
$(@caption).bind('caption_seek', @onSeek)
|
||||
$(@speedControl).bind('speedChange', @onSpeedChange)
|
||||
$(@progressSlider).bind('seek', @onSeek)
|
||||
$(@progressSlider).bind('slide_seek', @onSeek)
|
||||
if @volumeControl
|
||||
$(@volumeControl).bind('volumeChange', @onVolumeChange)
|
||||
$(document).keyup @bindExitFullScreen
|
||||
@@ -96,6 +96,7 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
at: 'top center'
|
||||
|
||||
onReady: (event) =>
|
||||
@video.log 'load_video'
|
||||
if @video.videoType is 'html5'
|
||||
@player.setPlaybackRate @video.speed
|
||||
unless onTouchBasedDevice()
|
||||
@@ -184,7 +185,8 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
@caption.pause()
|
||||
|
||||
onPlay: =>
|
||||
@video.log 'play_video'
|
||||
@video.log 'play_video',
|
||||
currentTime: @currentTime
|
||||
unless @player.interval
|
||||
@player.interval = setInterval(@update, 200)
|
||||
if @video.show_captions is true
|
||||
@@ -193,7 +195,8 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
@progressSlider.play()
|
||||
|
||||
onPause: =>
|
||||
@video.log 'pause_video'
|
||||
@video.log 'pause_video',
|
||||
currentTime: @currentTime
|
||||
clearInterval(@player.interval)
|
||||
@player.interval = null
|
||||
if @video.show_captions is true
|
||||
@@ -206,6 +209,10 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
@caption.pause()
|
||||
|
||||
onSeek: (event, time) =>
|
||||
@video.log 'seek_video',
|
||||
old_time: @currentTime
|
||||
new_time: time
|
||||
type: event.type
|
||||
@player.seekTo(time, true)
|
||||
if @isPlaying()
|
||||
clearInterval(@player.interval)
|
||||
@@ -218,6 +225,12 @@ class @VideoPlayerAlpha extends SubviewAlpha
|
||||
if @video.videoType is 'youtube'
|
||||
@currentTime = Time.convert(@currentTime, parseFloat(@currentSpeed()), newSpeed)
|
||||
newSpeed = parseFloat(newSpeed).toFixed(2).replace /\.00$/, '.0'
|
||||
|
||||
@video.log 'speed_change_video',
|
||||
currentTime: @currentTime
|
||||
old_speed: @currentSpeed()
|
||||
new_speed: newSpeed
|
||||
|
||||
@video.setSpeed newSpeed, updateCookie
|
||||
if @video.videoType is 'youtube'
|
||||
if @video.show_captions is true
|
||||
|
||||
@@ -6,6 +6,7 @@ class @VideoProgressSliderAlpha extends SubviewAlpha
|
||||
@slider = @el.slider
|
||||
range: 'min'
|
||||
change: @onChange
|
||||
|
||||
slide: @onSlide
|
||||
stop: @onStop
|
||||
@buildHandle()
|
||||
@@ -35,7 +36,7 @@ class @VideoProgressSliderAlpha extends SubviewAlpha
|
||||
onSlide: (event, ui) =>
|
||||
@frozen = true
|
||||
@updateTooltip(ui.value)
|
||||
$(@).trigger('seek', ui.value)
|
||||
$(@).trigger('slide_seek', ui.value)
|
||||
|
||||
onChange: (event, ui) =>
|
||||
@updateTooltip(ui.value)
|
||||
|
||||
Reference in New Issue
Block a user