feat(editor): Add user opened cred modal telemetry event (no-changelog) (#7927)

## Summary

Add `User opened Credential modal` telemetry event to the template
credential setup page, as specified
[here](https://www.notion.so/n8n/Handoff-a1150c38f6e042db91fdf61c56900967?pvs=4)
This commit is contained in:
Tomi Turtiainen
2023-12-07 16:05:43 +02:00
committed by GitHub
parent 42e828d5c6
commit b63f9cc533
2 changed files with 20 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ const props = defineProps({
const $emit = defineEmits({ const $emit = defineEmits({
credentialSelected: (_credentialId: string) => true, credentialSelected: (_credentialId: string) => true,
credentialDeselected: () => true, credentialDeselected: () => true,
credentialModalOpened: () => true,
}); });
const uiStore = useUIStore(); const uiStore = useUIStore();
@@ -47,10 +48,12 @@ const onCredentialSelected = (credentialId: string) => {
}; };
const createNewCredential = () => { const createNewCredential = () => {
uiStore.openNewCredential(props.credentialType, true); uiStore.openNewCredential(props.credentialType, true);
$emit('credentialModalOpened');
}; };
const editCredential = () => { const editCredential = () => {
assert(props.selectedCredentialId); assert(props.selectedCredentialId);
uiStore.openExistingCredential(props.selectedCredentialId); uiStore.openExistingCredential(props.selectedCredentialId);
$emit('credentialModalOpened');
}; };
listenForCredentialChanges({ listenForCredentialChanges({

View File

@@ -12,6 +12,7 @@ import type { CredentialUsages } from '@/views/SetupWorkflowFromTemplateView/set
import { useSetupTemplateStore } from '@/views/SetupWorkflowFromTemplateView/setupTemplate.store'; import { useSetupTemplateStore } from '@/views/SetupWorkflowFromTemplateView/setupTemplate.store';
import type { IWorkflowTemplateNode } from '@/Interface'; import type { IWorkflowTemplateNode } from '@/Interface';
import { useI18n } from '@/composables/useI18n'; import { useI18n } from '@/composables/useI18n';
import { useTelemetry } from '@/composables/useTelemetry';
// Props // Props
const props = defineProps({ const props = defineProps({
@@ -29,6 +30,7 @@ const props = defineProps({
const setupTemplateStore = useSetupTemplateStore(); const setupTemplateStore = useSetupTemplateStore();
const nodeTypesStore = useNodeTypesStore(); const nodeTypesStore = useNodeTypesStore();
const i18n = useI18n(); const i18n = useI18n();
const telemetry = useTelemetry();
//#region Computed //#region Computed
@@ -66,6 +68,20 @@ const onCredentialDeselected = () => {
setupTemplateStore.unsetSelectedCredential(props.credentials.key); setupTemplateStore.unsetSelectedCredential(props.credentials.key);
}; };
const onCredentialModalOpened = () => {
telemetry.track(
'User opened Credential modal',
{
source: 'cred_setup',
credentialType: props.credentials.credentialType,
new_credential: !selectedCredentialId.value,
},
{
withPostHog: true,
},
);
};
//#endregion Methods //#endregion Methods
</script> </script>
@@ -98,6 +114,7 @@ const onCredentialDeselected = () => {
:selectedCredentialId="selectedCredentialId" :selectedCredentialId="selectedCredentialId"
@credential-selected="onCredentialSelected" @credential-selected="onCredentialSelected"
@credential-deselected="onCredentialDeselected" @credential-deselected="onCredentialDeselected"
@credential-modal-opened="onCredentialModalOpened"
/> />
<IconSuccess <IconSuccess