Merge pull request #2256 from overleaf/ta-event-tracking-cleanup
Event Tracking Cleanup GitOrigin-RevId: 9c857b5d92f9f40a87c2aec2e76c99a3744fddad
This commit is contained in:
committed by
sharelatex
parent
082f790fb6
commit
03bbd4f698
@@ -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
|
||||
|
||||
@@ -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
|
||||
})
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user