Add GoogleAnalytics event tracking
This commit is contained in:
@@ -40,6 +40,7 @@ module.exports = class InventoryController extends BaseController
|
||||
@_isAcceptable = options.isAcceptable ?= null
|
||||
@_secondButtonType = options.secondButtonType ?= null
|
||||
@_shouldEnableButton = options.shouldEnableButton ?= (model, button)-> true
|
||||
@_trackingContext = options.trackingContext ?= null
|
||||
|
||||
options.templateName = 'common/inventory'
|
||||
super options
|
||||
@@ -54,20 +55,26 @@ module.exports = class InventoryController extends BaseController
|
||||
return unless @model?
|
||||
return if @$clearButton.hasClass 'disabled'
|
||||
|
||||
tracker.trackEvent @_trackingContext, 'clear'
|
||||
@model.clear()
|
||||
@trigger c.event.clear, this
|
||||
@trigger c.event.change, this
|
||||
|
||||
onFirstButtonClicked: (stackController)->
|
||||
tracker.trackEvent @_trackingContext, 'remove-from', stackController?.model?.itemSlug
|
||||
@trigger c.event.button.first, this, stackController?.model?.itemSlug
|
||||
|
||||
onItemSelectorButtonClicked: ->
|
||||
return unless @model?
|
||||
|
||||
tracker.trackEvent @_trackingContext, 'launch-add-to'
|
||||
@_selector.launch()
|
||||
.then (itemSlug)=>
|
||||
return unless itemSlug?
|
||||
if not itemSlug?
|
||||
tracker.trackEvent @_trackingContext, 'cancel-add-to'
|
||||
return
|
||||
|
||||
tracker.trackEvent @_trackingContext, 'complete-add-to', itemSlug
|
||||
@model.add itemSlug, 1
|
||||
@trigger c.event.add, this, itemSlug
|
||||
@trigger c.event.change, this
|
||||
@@ -136,6 +143,7 @@ module.exports = class InventoryController extends BaseController
|
||||
router: @_router
|
||||
secondButtonType: @_secondButtonType
|
||||
shouldEnableButton: @_shouldEnableButton
|
||||
trackingContext: @_trackingContext
|
||||
controller.on c.event.change, => @trigger c.event.change, this
|
||||
controller.on c.event.button.first, (c)=> @onFirstButtonClicked(c)
|
||||
controller.on c.event.button.second, (c)=> @onSecondButtonClicked(c)
|
||||
|
||||
@@ -29,10 +29,6 @@ module.exports = class ItemSelectorController extends BaseController
|
||||
# Public Methods ###############################################################################
|
||||
|
||||
launch: (hint='')->
|
||||
if @_session
|
||||
@_session.resolve null
|
||||
@_session = null
|
||||
|
||||
@model.hint = hint
|
||||
if @rendered then @refresh()
|
||||
|
||||
@@ -141,6 +137,10 @@ module.exports = class ItemSelectorController extends BaseController
|
||||
@$popup.detach()
|
||||
@model.hint = ''
|
||||
|
||||
if @_session
|
||||
@_session.resolve null
|
||||
@_session = null
|
||||
|
||||
_disableWindowScrolling: ->
|
||||
@_windowScrollPosition = $(window).scrollTop()
|
||||
$('body').addClass('scrollDisabled').css('margin-top', -@_windowScrollPosition)
|
||||
|
||||
@@ -60,6 +60,7 @@ module.exports = class MarkdownSectionController extends BaseController
|
||||
# Event Methods ################################################################################
|
||||
|
||||
onCancelClicked: (event)->
|
||||
tracker.trackEvent c.tracking.category.markdown, 'cancel'
|
||||
@model = @_originalModel
|
||||
@resetToDefaultState()
|
||||
|
||||
@@ -70,6 +71,7 @@ module.exports = class MarkdownSectionController extends BaseController
|
||||
onEditClicked: (event)->
|
||||
return false unless @editable
|
||||
|
||||
tracker.trackEvent c.tracking.category.markdown, 'edit'
|
||||
@_originalModel = @model
|
||||
@state = @State.waiting
|
||||
@_beginEditing()
|
||||
@@ -87,15 +89,18 @@ module.exports = class MarkdownSectionController extends BaseController
|
||||
return false
|
||||
|
||||
onPreviewClicked: (event)->
|
||||
tracker.trackEvent c.tracking.category.markdown, 'preview'
|
||||
@_updatePreview()
|
||||
@state = @State.previewing
|
||||
return false
|
||||
|
||||
onReturnClicked: (event)->
|
||||
tracker.trackEvent c.tracking.category.markdown, 'return'
|
||||
@state = @State.editing
|
||||
return false
|
||||
|
||||
onSaveClicked: (event)->
|
||||
tracker.trackEvent c.tracking.category.markdown, 'save'
|
||||
@state = @State.waiting
|
||||
@_endEditing()
|
||||
.then =>
|
||||
|
||||
@@ -36,6 +36,7 @@ module.exports = class StackController extends BaseController
|
||||
@_modPack = options.modPack
|
||||
@_secondButtonType = options.secondButtonType ?= null
|
||||
@_shouldEnableButton = options.shouldEnableButton ?= (model, button)-> true
|
||||
@_trackingContext = options.trackingContext ?= null
|
||||
|
||||
@_modPack.on c.event.change, => @tryRefresh()
|
||||
|
||||
@@ -70,6 +71,8 @@ module.exports = class StackController extends BaseController
|
||||
@trigger c.event.change + ':quantity', this, oldQuantity, newQuantity
|
||||
@trigger c.event.change, this
|
||||
|
||||
tracker.trackEvent @_trackingContext, 'update-quantity', @model.itemSlug, @model.quantity
|
||||
|
||||
onQuantityFieldChanged: ->
|
||||
return unless @_editable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user