Merge pull request #2256 from overleaf/ta-event-tracking-cleanup

Event Tracking Cleanup

GitOrigin-RevId: 9c857b5d92f9f40a87c2aec2e76c99a3744fddad
This commit is contained in:
Eric Mc Sween
2019-10-23 12:58:44 +00:00
committed by sharelatex
parent 082f790fb6
commit 03bbd4f698
22 changed files with 106 additions and 131 deletions
-4
View File
@@ -83,10 +83,6 @@ html(
indexName : '!{settings.templates.indexName}'
}
- if (settings.overleaf && settings.overleaf.useOLFreeTrial)
script.
window.useV2TrialUrl = true
body
if(settings.recaptcha)
@@ -35,7 +35,7 @@ const isInViewport = function(element) {
}
define(['base'], App =>
App.directive('eventTracking', event_tracking => ({
App.directive('eventTracking', eventTracking => ({
scope: {
eventTracking: '@',
eventSegmentation: '=?'
@@ -55,10 +55,10 @@ define(['base'], App =>
@param {boolean} scrollEvent Use to unbind scroll event
*/
if (sendMB) {
event_tracking[sendMBFunction](scope.eventTracking, segmentation)
eventTracking[sendMBFunction](scope.eventTracking, segmentation)
}
if (sendGA) {
event_tracking[sendGAFunction](
eventTracking[sendGAFunction](
attrs.eventTrackingGa,
attrs.eventTrackingAction || scope.eventTracking,
attrs.eventTrackingLabel || ''
@@ -85,11 +85,11 @@ define(['base'], App =>
})
.on('mouseleave', () => clearTimeout(timer))
} else if (attrs.eventTrackingTrigger === 'scroll') {
if (!event_tracking.eventInCache(scope.eventTracking)) {
if (!eventTracking.eventInCache(scope.eventTracking)) {
return $(window).on('resize scroll', () =>
_.throttle(
isInViewport(element) &&
!event_tracking.eventInCache(scope.eventTracking)
!eventTracking.eventInCache(scope.eventTracking)
? sendEvent(true)
: undefined,
500
+7 -7
View File
@@ -82,7 +82,7 @@ define([
$timeout,
ide,
localStorage,
event_tracking,
eventTracking,
metadata,
$q,
CobrandingDataService
@@ -143,7 +143,7 @@ define([
return
}
$scope.ui.reviewPanelOpen = !$scope.ui.reviewPanelOpen
return event_tracking.sendMB('rp-toggle-panel', {
return eventTracking.sendMB('rp-toggle-panel', {
value: $scope.ui.reviewPanelOpen
})
}
@@ -164,24 +164,24 @@ define([
$scope.$broadcast('layout:flat-screen:toggle')
}
if (newView != null && newView !== 'editor' && newView !== 'pdf') {
return event_tracking.sendMBOnce(`ide-open-view-${newView}-once`)
return eventTracking.sendMBOnce(`ide-open-view-${newView}-once`)
}
})
$scope.$watch('ui.chatOpen', function(isOpen) {
if (isOpen) {
return event_tracking.sendMBOnce('ide-open-chat-once')
return eventTracking.sendMBOnce('ide-open-chat-once')
}
})
$scope.$watch('ui.leftMenuShown', function(isOpen) {
if (isOpen) {
return event_tracking.sendMBOnce('ide-open-left-menu-once')
return eventTracking.sendMBOnce('ide-open-left-menu-once')
}
})
$scope.trackHover = feature =>
event_tracking.sendMBOnce(`ide-hover-${feature}-once`)
eventTracking.sendMBOnce(`ide-hover-${feature}-once`)
// End of tracking code.
window._ide = ide
@@ -255,7 +255,7 @@ If the project has been renamed please look in your project list for a new proje
return (_loaded = true)
})
$scope.$on('cursor:editor:update', event_tracking.editingSessionHeartbeat)
$scope.$on('cursor:editor:update', eventTracking.editingSessionHeartbeat)
const DARK_THEMES = [
'ambiance',
@@ -70,7 +70,7 @@ define([
$timeout,
$compile,
$rootScope,
event_tracking,
eventTracking,
localStorage,
$cacheFactory,
metadata,
@@ -575,7 +575,7 @@ define([
updateCount++
if (updateCount === 100) {
event_tracking.send('editor-interaction', 'multi-doc-update')
eventTracking.send('editor-interaction', 'multi-doc-update')
}
return scope.$emit(`${scope.name}:change`)
}
@@ -801,16 +801,16 @@ define([
// deletes and then inserts document content
session.setAnnotations(scope.annotations)
session.on('changeScrollTop', event_tracking.editingSessionHeartbeat)
session.on('changeScrollTop', eventTracking.editingSessionHeartbeat)
angular
.element($window)
.on('click', event_tracking.editingSessionHeartbeat)
.on('click', eventTracking.editingSessionHeartbeat)
scope.$on('$destroy', () =>
angular
.element($window)
.off('click', event_tracking.editingSessionHeartbeat)
.off('click', eventTracking.editingSessionHeartbeat)
)
if (scope.eventsBridge != null) {
@@ -130,7 +130,7 @@ define(['base'], function(App) {
type,
parent_folder,
$modalInstance,
event_tracking,
eventTracking,
projectFeatures,
userFeatures
) {
@@ -157,14 +157,14 @@ define(['base'], function(App) {
$scope.$watch('type', function() {
if ($scope.type === 'mendeley' && !hasMendeleyFeature) {
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'editor-click-feature',
$scope.type
)
}
if ($scope.type === 'zotero' && !hasZoteroFeature) {
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'editor-click-feature',
$scope.type
@@ -16,10 +16,10 @@ define(['base'], function(App) {
$scope,
$modal,
ide,
event_tracking
eventTracking
) {
$scope.restoreDeletedDoc = function() {
event_tracking.sendMB('history-restore-deleted')
eventTracking.sendMB('history-restore-deleted')
$scope.history.diff.restoreInProgress = true
return ide.historyManager
.restoreDeletedDoc($scope.history.diff.doc)
@@ -32,7 +32,7 @@ define(['base'], function(App) {
}
$scope.openRestoreDiffModal = function() {
event_tracking.sendMB('history-restore-modal')
eventTracking.sendMB('history-restore-modal')
return $modal.open({
templateUrl: 'historyRestoreDiffModalTemplate',
controller: 'HistoryRestoreDiffModalController',
@@ -53,14 +53,14 @@ define(['base'], function(App) {
$modalInstance,
diff,
ide,
event_tracking
eventTracking
) {
$scope.state = { inflight: false }
$scope.diff = diff
$scope.restore = function() {
event_tracking.sendMB('history-restored')
eventTracking.sendMB('history-restored')
$scope.state.inflight = true
return ide.historyManager.restoreDiff(diff).then(function() {
$scope.state.inflight = false
@@ -157,7 +157,7 @@ define(['base', 'ide/history/util/displayNameForUser'], function(
return App.controller('HistoryListItemController', function(
$scope,
event_tracking
eventTracking
) {
$scope.$watch('update.selectedFrom', function(
selectedFrom,
@@ -185,7 +185,7 @@ define(['base', 'ide/history/util/displayNameForUser'], function(
})
$scope.select = function() {
event_tracking.sendMB('history-view-change')
eventTracking.sendMB('history-view-change')
$scope.update.selectedTo = true
return ($scope.update.selectedFrom = true)
}
@@ -14,7 +14,7 @@
define(['base'], App =>
App.controller(
'HistoryV2ToolbarController',
($scope, $modal, ide, event_tracking, waitFor) => {
($scope, $modal, ide, eventTracking, waitFor) => {
let openEntity
$scope.currentUpdate = null
@@ -75,7 +75,7 @@ define(['base'], App =>
return
}
event_tracking.sendMB('history-v2-restore-deleted')
eventTracking.sendMB('history-v2-restore-deleted')
$scope.restoreState.inflight = true
return ide.historyManager
.restoreFile(deletedAtV, pathname)
@@ -14,9 +14,9 @@
define(['base', 'ace/ace'], function(App) {
App.controller(
'HotkeysController',
($scope, $modal, event_tracking) =>
($scope, $modal, eventTracking) =>
($scope.openHotkeysModal = function() {
event_tracking.sendMB('ide-open-hotkeys-modal')
eventTracking.sendMB('ide-open-hotkeys-modal')
return $modal.open({
templateUrl: 'hotkeysModalTemplate',
@@ -38,7 +38,7 @@ define([
ide,
$modal,
synctex,
event_tracking,
eventTracking,
localStorage
) {
// enable per-user containers by default
@@ -83,7 +83,7 @@ define([
})
$scope.trackLogHintsLearnMore = () =>
event_tracking.sendMB('logs-hints-learn-more')
eventTracking.sendMB('logs-hints-learn-more')
if (ace.require('ace/lib/useragent').isMac) {
$scope.modifierKey = 'Cmd'
@@ -257,7 +257,7 @@ define([
autoCompileIfReady()
}
localStorage(`autocompile_enabled:${$scope.project_id}`, newValue)
return event_tracking.sendMB('autocompile-setting-changed', {
return eventTracking.sendMB('autocompile-setting-changed', {
value: newValue
})
}
@@ -302,7 +302,7 @@ define([
// keep track of whether this is a compile or check
$scope.check = !!options.check
if (options.check) {
event_tracking.sendMB('syntax-check-request')
eventTracking.sendMB('syntax-check-request')
}
// send appropriate check type to clsi
let checkType = (() => {
@@ -400,7 +400,7 @@ define([
!$scope.hasPremiumCompile &&
ide.$scope.project.owner._id === ide.$scope.user.id
) {
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'editor-click-feature',
'compile-timeout'
@@ -419,7 +419,7 @@ define([
if (response.status === 'validation-fail') {
$scope.pdf.failedCheck = true
}
event_tracking.sendMB(`syntax-check-${response.status}`)
eventTracking.sendMB(`syntax-check-${response.status}`)
fetchLogs(fileByPath, { validation: true, pdfDownloadDomain })
} else if (response.status === 'exited') {
$scope.pdf.view = 'pdf'
@@ -436,7 +436,7 @@ define([
$scope.pdf.view = 'errors'
$scope.pdf.autoCompileDisabled = true
$scope.autocompile_enabled = false // disable any further autocompiles
event_tracking.sendMB('autocompile-rate-limited', {
eventTracking.sendMB('autocompile-rate-limited', {
hasPremiumCompile: $scope.hasPremiumCompile
})
}
@@ -647,7 +647,7 @@ define([
errors,
warnings
})
event_tracking.sendMB('syntax-check-return-count', {
eventTracking.sendMB('syntax-check-return-count', {
errors: errors.length,
warnings: warnings.length
})
@@ -775,7 +775,7 @@ define([
return
}
event_tracking.sendMBSampled('editor-recompile-sampled', options)
eventTracking.sendMBSampled('editor-recompile-sampled', options)
$scope.lastStartedCompileAt = Date.now()
$scope.pdf.compiling = true
@@ -786,12 +786,12 @@ define([
// for forced compile, turn off validation check and ignore errors
$scope.stop_on_validation_error = false
$scope.shouldShowLogs = false // hide the logs while compiling
event_tracking.sendMB('syntax-check-turn-off-checking')
eventTracking.sendMB('syntax-check-turn-off-checking')
}
if (options != null ? options.try : undefined) {
$scope.shouldShowLogs = false // hide the logs while compiling
event_tracking.sendMB('syntax-check-try-compile-anyway')
eventTracking.sendMB('syntax-check-try-compile-anyway')
}
ide.$scope.$broadcast('flush-changes')
@@ -855,7 +855,7 @@ define([
$scope.toggleLogs = function() {
$scope.shouldShowLogs = !$scope.shouldShowLogs
if ($scope.shouldShowLogs) {
return event_tracking.sendMBOnce('ide-open-logs-once')
return eventTracking.sendMBOnce('ide-open-logs-once')
}
}
@@ -867,7 +867,7 @@ define([
$scope.toggleRawLog = function() {
$scope.pdf.showRawLog = !$scope.pdf.showRawLog
if ($scope.pdf.showRawLog) {
return event_tracking.sendMB('logs-view-raw')
return eventTracking.sendMB('logs-view-raw')
}
}
@@ -1056,10 +1056,10 @@ define([
App.controller(
'PdfLogEntryController',
($scope, ide, event_tracking) =>
($scope, ide, eventTracking) =>
($scope.openInEditor = function(entry) {
let column, line
event_tracking.sendMBOnce('logs-jump-to-location-once')
eventTracking.sendMBOnce('logs-jump-to-location-once')
const entity = ide.fileTreeManager.findEntityByPath(entry.file)
if (entity == null || entity.type !== 'doc') {
return
@@ -28,7 +28,7 @@ define([
$timeout,
$http,
$modal,
event_tracking,
eventTracking,
localStorage
) {
let UserTCSyncState
@@ -612,14 +612,14 @@ define([
$scope.acceptChanges = function(change_ids) {
_doAcceptChanges(change_ids)
return event_tracking.sendMB('rp-changes-accepted', {
return eventTracking.sendMB('rp-changes-accepted', {
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini'
})
}
$scope.rejectChanges = function(change_ids) {
_doRejectChanges(change_ids)
return event_tracking.sendMB('rp-changes-rejected', {
return eventTracking.sendMB('rp-changes-rejected', {
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini'
})
}
@@ -639,7 +639,7 @@ define([
const bulkAccept = function() {
_doAcceptChanges($scope.reviewPanel.selectedEntryIds.slice())
return event_tracking.sendMB('rp-bulk-accept', {
return eventTracking.sendMB('rp-bulk-accept', {
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
nEntries: $scope.reviewPanel.nVisibleSelectedChanges
})
@@ -647,7 +647,7 @@ define([
const bulkReject = function() {
_doRejectChanges($scope.reviewPanel.selectedEntryIds.slice())
return event_tracking.sendMB('rp-bulk-reject', {
return eventTracking.sendMB('rp-bulk-reject', {
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
nEntries: $scope.reviewPanel.nVisibleSelectedChanges
})
@@ -736,7 +736,7 @@ define([
)
$scope.$broadcast('editor:clearSelection')
$timeout(() => $scope.$broadcast('review-panel:layout'))
return event_tracking.sendMB('rp-new-comment', { size: content.length })
return eventTracking.sendMB('rp-new-comment', { size: content.length })
}
$scope.cancelNewComment = entry =>
@@ -773,7 +773,7 @@ define([
entry.replyContent = ''
entry.replying = false
$timeout(() => $scope.$broadcast('review-panel:layout'))
return event_tracking.sendMB('rp-comment-reply', trackingMetadata)
return eventTracking.sendMB('rp-comment-reply', trackingMetadata)
}
$scope.cancelReply = function(entry) {
@@ -789,7 +789,7 @@ define([
{ _csrf: window.csrfToken }
)
_onCommentResolved(entry.thread_id, ide.$scope.user)
return event_tracking.sendMB('rp-comment-resolve', {
return eventTracking.sendMB('rp-comment-resolve', {
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini'
})
}
@@ -799,7 +799,7 @@ define([
$http.post(`/project/${$scope.project_id}/thread/${thread_id}/reopen`, {
_csrf: window.csrfToken
})
return event_tracking.sendMB('rp-comment-reopen')
return eventTracking.sendMB('rp-comment-reopen')
}
var _onCommentResolved = function(thread_id, user) {
@@ -863,7 +863,7 @@ define([
'X-CSRF-Token': window.csrfToken
}
})
return event_tracking.sendMB('rp-comment-delete')
return eventTracking.sendMB('rp-comment-delete')
}
$scope.saveEdit = function(thread_id, comment) {
@@ -895,7 +895,7 @@ define([
$scope.setSubView = function(subView) {
$scope.reviewPanel.subView = subView
return event_tracking.sendMB('rp-subview-change', { subView })
return eventTracking.sendMB('rp-subview-change', { subView })
}
$scope.gotoEntry = (doc_id, entry) =>
@@ -912,7 +912,7 @@ define([
}
const _sendAnalytics = () => {
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'editor-click-feature',
'real-time-track-changes'
@@ -12,13 +12,13 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
define(['base'], App =>
App.factory('settings', (ide, event_tracking) => ({
App.factory('settings', (ide, eventTracking) => ({
saveSettings(data) {
// Tracking code.
for (let key of Array.from(Object.keys(data))) {
const changedSetting = key
const changedSettingVal = data[key]
event_tracking.sendMB('setting-changed', {
eventTracking.sendMB('setting-changed', {
changedSetting,
changedSettingVal
})
@@ -34,7 +34,7 @@ define(['base'], App =>
for (let key of Array.from(Object.keys(data))) {
const changedSetting = key
const changedSettingVal = data[key]
event_tracking.sendMB('project-setting-changed', {
eventTracking.sendMB('project-setting-changed', {
changedSetting,
changedSettingVal
})
@@ -50,7 +50,7 @@ define(['base'], App =>
for (let key of Array.from(Object.keys(data))) {
const changedSetting = key
const changedSettingVal = data[key]
event_tracking.sendMB('project-admin-setting-changed', {
eventTracking.sendMB('project-admin-setting-changed', {
changedSetting,
changedSettingVal
})
@@ -6,11 +6,11 @@ define(['base'], App => {
projectInvites,
projectMembers,
// eslint-disable-next-line camelcase
event_tracking
eventTracking
) {
$scope.openShareProjectModal = function(isAdmin) {
$scope.isAdmin = isAdmin
event_tracking.sendMBOnce('ide-open-share-modal-once')
eventTracking.sendMBOnce('ide-open-share-modal-once')
$modal.open({
templateUrl: 'shareProjectModalTemplate',
@@ -12,7 +12,7 @@ define(['base'], App => {
validateCaptchaV3,
settings,
// eslint-disable-next-line camelcase
event_tracking
eventTracking
) {
$scope.inputs = {
privileges: 'readAndWrite',
@@ -42,7 +42,7 @@ define(['base'], App => {
$scope.$watch('canAddCollaborators', function() {
if (!$scope.canAddCollaborators) {
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'editor-click-feature',
'projectMembers'
@@ -246,7 +246,7 @@ define(['base'], App => {
$scope.makeTokenBased = function() {
$scope.project.publicAccesLevel = 'tokenBased'
settings.saveProjectAdminSettings({ publicAccessLevel: 'tokenBased' })
event_tracking.sendMB('project-make-token-based')
eventTracking.sendMB('project-make-token-based')
}
$scope.makePrivate = function() {
@@ -4,7 +4,7 @@ define(['base'], function(App) {
$http,
$modal,
// eslint-disable-next-line camelcase
event_tracking,
eventTracking,
UserAffiliationsDataService
) {
$scope.subscribed = true
@@ -45,7 +45,7 @@ define(['base'], function(App) {
}
$scope.upgradeIntegration = service =>
event_tracking.send('subscription-funnel', 'settings-page', service)
eventTracking.send('subscription-funnel', 'settings-page', service)
})
App.controller('DeleteAccountModalController', function(
@@ -1,22 +1,8 @@
/* eslint-disable
camelcase,
max-len,
no-return-assign,
no-undef,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
define(['base'], App =>
App.controller('FreeTrialModalController', function($scope, event_tracking) {
App.controller('FreeTrialModalController', function($scope, eventTracking) {
$scope.buttonClass = 'btn-primary'
return ($scope.startFreeTrial = function(source, couponCode) {
$scope.startFreeTrial = function(source) {
const plan = 'collaborator_free_trial_7_days'
const w = window.open()
@@ -31,21 +17,14 @@ define(['base'], App =>
source
)
}
if (window.useV2TrialUrl) {
url = '/user/trial'
} else {
url = `/user/subscription/new?planCode=${plan}&ssp=true`
if (couponCode != null) {
url = `${url}&cc=${couponCode}`
}
}
url = `/user/subscription/new?planCode=${plan}&ssp=true`
$scope.startedFreeTrial = true
event_tracking.sendMB('subscription-start-trial', { source, plan })
eventTracking.sendMB('subscription-start-trial', { source, plan })
return (w.location = url)
w.location = url
}
return go()
})
go()
}
}))
@@ -15,7 +15,7 @@ define(['base'], App =>
App.controller('AnnouncementsController', function(
$scope,
$http,
event_tracking,
eventTracking,
$window,
_
) {
@@ -35,12 +35,12 @@ define(['base'], App =>
})
const markAnnouncementsAsRead = () =>
event_tracking.sendMB('announcement-alert-dismissed', {
eventTracking.sendMB('announcement-alert-dismissed', {
blogPostId: $scope.announcements[0].id
})
$scope.logAnnouncementClick = () =>
event_tracking.sendMB('announcement-read-more-clicked', {
eventTracking.sendMB('announcement-read-more-clicked', {
blogPostId: $scope.announcements[0].id
})
+1 -1
View File
@@ -48,7 +48,7 @@ define(['base', 'libs/platform'], (App, platform) =>
return request.then(function(response) {
$scope.sent = true
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'plans-page',
'group-inquiry-sent'
+1 -1
View File
@@ -32,7 +32,7 @@ define(['moment', 'base', 'modules/localStorage'], function(moment, App) {
: undefined
}
App.factory('event_tracking', function($http, localStorage) {
App.factory('eventTracking', function($http, localStorage) {
const _getEventCache = function() {
let eventCache = localStorage(CACHE_KEY)
@@ -9,7 +9,7 @@ define(['base', 'directives/creditCards'], App =>
$scope,
MultiCurrencyPricing,
$http,
event_tracking,
eventTracking,
ccUtils
) {
if (typeof recurly === 'undefined' || !recurly) {
@@ -26,10 +26,10 @@ define(['base', 'directives/creditCards'], App =>
$scope.switchToStudent = function() {
const currentPlanCode = window.plan_code
const planCode = currentPlanCode.replace('collaborator', 'student')
event_tracking.sendMB('subscription-form-switch-to-student', {
eventTracking.sendMB('subscription-form-switch-to-student', {
plan: window.plan_code
})
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'subscription-form-switch-to-student',
window.plan_code
@@ -39,8 +39,8 @@ define(['base', 'directives/creditCards'], App =>
}&cc=${$scope.data.coupon}`
}
event_tracking.sendMB('subscription-form', { plan: window.plan_code })
event_tracking.send(
eventTracking.sendMB('subscription-form', { plan: window.plan_code })
eventTracking.send(
'subscription-funnel',
'subscription-form-viewed',
window.plan_code
@@ -193,8 +193,8 @@ define(['base', 'directives/creditCards'], App =>
}
$scope.validation.errorFields = {}
if (err != null) {
event_tracking.sendMB('subscription-error', err)
event_tracking.send('subscription-funnel', 'subscription-error')
eventTracking.sendMB('subscription-error', err)
eventTracking.send('subscription-funnel', 'subscription-error')
// We may or may not be in a digest loop here depending on
// whether recurly could do validation locally, so do it async
$scope.$evalAsync(function() {
@@ -229,13 +229,13 @@ define(['base', 'directives/creditCards'], App =>
}
}
event_tracking.sendMB('subscription-form-submitted', {
eventTracking.sendMB('subscription-form-submitted', {
currencyCode: postData.subscriptionDetails.currencyCode,
plan_code: postData.subscriptionDetails.plan_code,
coupon_code: postData.subscriptionDetails.coupon_code,
isPaypal: postData.subscriptionDetails.isPaypal
})
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'subscription-form-submitted',
postData.subscriptionDetails.plan_code
@@ -244,8 +244,8 @@ define(['base', 'directives/creditCards'], App =>
return $http
.post('/user/subscription/create', postData)
.then(function() {
event_tracking.sendMB('subscription-submission-success')
event_tracking.send(
eventTracking.sendMB('subscription-submission-success')
eventTracking.send(
'subscription-funnel',
'subscription-submission-success',
postData.subscriptionDetails.plan_code
+6 -6
View File
@@ -191,7 +191,7 @@ define(['base'], function(App) {
App.controller('PlansController', function(
$scope,
$modal,
event_tracking,
eventTracking,
MultiCurrencyPricing,
$http,
$filter,
@@ -231,8 +231,8 @@ define(['base'], function(App) {
plan = `${plan}_annual`
}
plan = eventLabel(plan, location)
event_tracking.sendMB('plans-page-start-trial')
event_tracking.send('subscription-funnel', 'sign_up_now_button', plan)
eventTracking.sendMB('plans-page-start-trial')
eventTracking.send('subscription-funnel', 'sign_up_now_button', plan)
}
$scope.switchToMonthly = function(e, location) {
@@ -264,7 +264,7 @@ define(['base'], function(App) {
.result.finally(() =>
history.replaceState(null, document.title, window.location.pathname)
)
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'plans-page',
'group-inquiry-potential'
@@ -284,7 +284,7 @@ define(['base'], function(App) {
.result.finally(() =>
history.replaceState(null, document.title, window.location.pathname)
)
event_tracking.send(
eventTracking.send(
'subscription-funnel',
'plans-page',
'group-inquiry-potential'
@@ -299,7 +299,7 @@ define(['base'], function(App) {
switchEvent = function(e, label, location) {
e.preventDefault()
const gaLabel = eventLabel(label, location)
event_tracking.send('subscription-funnel', 'plans-page', gaLabel)
eventTracking.send('subscription-funnel', 'plans-page', gaLabel)
}
})
@@ -4,7 +4,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
$modal,
$window,
queuedHttp,
event_tracking, // eslint-disable-line camelcase
eventTracking, // eslint-disable-line camelcase
$timeout,
localStorage,
ProjectListService
@@ -157,7 +157,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
}
$scope.searchProjects = function() {
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project-search',
'keydown'
@@ -366,7 +366,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
$scope.addSelectedProjectsToTag = function(tag) {
const selectedProjects = $scope.getSelectedProjects()
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project action',
'addSelectedProjectsToTag'
@@ -446,7 +446,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
if (template == null) {
template = 'none'
}
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'new-project',
template
@@ -480,7 +480,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
if (!project || project.accessLevel !== 'owner') {
return
}
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project action',
'Rename'
@@ -498,7 +498,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
}
$scope.cloneProject = function(project, cloneName) {
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project action',
'Clone'
@@ -558,7 +558,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
const modalInstance = $scope.createArchiveProjectsModal(
$scope.getSelectedProjects()
)
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project action',
'Delete'
@@ -686,7 +686,7 @@ define(['base', 'main/project-list/services/project-list'], function(App) {
$scope.downloadProjectsById = function(projectIds) {
let path
event_tracking.send(
eventTracking.send(
'project-list-page-interaction',
'project action',
'Download Zip'