Track events

This commit is contained in:
Misode
2020-11-06 14:07:13 +01:00
parent 87454fca33
commit 95dc04b6f3

View File

@@ -75,6 +75,7 @@ const treeViewNodeInjector = (path: ModelPath, mounter: Mounter) => {
.filter(v => v.active(path)) .filter(v => v.active(path))
.map(v => { .map(v => {
const id = mounter.registerClick(() => { const id = mounter.registerClick(() => {
ga('send', 'event', 'Preview', 'set-preview', v.getName())
views.visualizer.set(v, path) views.visualizer.set(v, path)
views.visualizer.model.invalidate() views.visualizer.model.invalidate()
}) })
@@ -213,6 +214,7 @@ Promise.all([
languageSelectorMenu.lastChild?.addEventListener('click', evt => { languageSelectorMenu.lastChild?.addEventListener('click', evt => {
updateLanguage(lang.code, true) updateLanguage(lang.code, true)
languageSelectorMenu.style.visibility = 'hidden' languageSelectorMenu.style.visibility = 'hidden'
ga('send', 'event', 'Generator', 'set-language', lang.code)
}) })
}) })
@@ -287,6 +289,7 @@ Promise.all([
} else { } else {
updateTheme('dark') updateTheme('dark')
} }
ga('send', 'event', 'Generator', 'set-theme', document.documentElement.getAttribute('data-theme'))
}) })
sourceControlsToggle.addEventListener('click', evt => { sourceControlsToggle.addEventListener('click', evt => {
@@ -300,6 +303,7 @@ Promise.all([
sourceViewOutput.select() sourceViewOutput.select()
document.execCommand('copy'); document.execCommand('copy');
addChecked(sourceControlsCopy) addChecked(sourceControlsCopy)
ga('send', 'event', 'JsonOutput', 'copy')
}) })
sourceControlsDownload.addEventListener('click', evt => { sourceControlsDownload.addEventListener('click', evt => {
@@ -309,6 +313,7 @@ Promise.all([
downloadAnchor.setAttribute("href", dataString) downloadAnchor.setAttribute("href", dataString)
downloadAnchor.setAttribute("download", "data.json") downloadAnchor.setAttribute("download", "data.json")
downloadAnchor.click() downloadAnchor.click()
ga('send', 'event', 'JsonOutput', 'download')
}) })
sourceControlsShare.addEventListener('click', evt => { sourceControlsShare.addEventListener('click', evt => {
@@ -322,6 +327,7 @@ Promise.all([
}, { capture: true, once: true }) }, { capture: true, once: true })
shareInput.select() shareInput.select()
document.execCommand('copy'); document.execCommand('copy');
ga('send', 'event', 'JsonOutput', 'share')
}) })
treeControlsToggle.addEventListener('click', evt => { treeControlsToggle.addEventListener('click', evt => {
@@ -342,21 +348,27 @@ Promise.all([
const entry = document.createElement('button') const entry = document.createElement('button')
entry.classList.add('btn') entry.classList.add('btn')
entry.textContent = v.id entry.textContent = v.id
entry.addEventListener('click', () => updateVersion(v.id)) entry.addEventListener('click', () => {
updateVersion(v.id)
ga('send', 'event', 'Generator', 'set-version', version)
})
treeVersionMenu.append(entry) treeVersionMenu.append(entry)
}) })
treeControlsReset.addEventListener('click', evt => { treeControlsReset.addEventListener('click', evt => {
models[selected].reset(models[selected].schema.default(), true) models[selected].reset(models[selected].schema.default(), true)
addChecked(treeControlsReset) addChecked(treeControlsReset)
ga('send', 'event', 'Generator', 'reset', version)
}) })
treeControlsUndo.addEventListener('click', evt => { treeControlsUndo.addEventListener('click', evt => {
models[selected].undo() models[selected].undo()
ga('send', 'event', 'Generator', 'undo')
}) })
treeControlsRedo.addEventListener('click', evt => { treeControlsRedo.addEventListener('click', evt => {
models[selected].redo() models[selected].redo()
ga('send', 'event', 'Generator', 'redo')
}) })
document.addEventListener('keyup', evt => { document.addEventListener('keyup', evt => {
@@ -375,6 +387,7 @@ Promise.all([
errorsViewEl.classList.add('active') errorsViewEl.classList.add('active')
errorsToggle.classList.add('toggled') errorsToggle.classList.add('toggled')
} }
ga('send', 'event', 'Errors', 'toggle', errorsViewEl.classList.contains('active') ? 'visible' : 'hidden')
}) })
githubLink.addEventListener('click', () => { githubLink.addEventListener('click', () => {