feat(editor): add block creation tracking (#10294)

fix: PD-2090
This commit is contained in:
zzj3720
2025-02-20 02:25:28 +00:00
parent a0e3f9909c
commit ba91b36cc3
3 changed files with 19 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import type { LinkToolbarEvents } from './link.js';
import type { NoteEvents } from './note.js'; import type { NoteEvents } from './note.js';
import type { import type {
AttachmentUploadedEvent, AttachmentUploadedEvent,
BlockCreationEvent,
DocCreatedEvent, DocCreatedEvent,
ElementCreationEvent, ElementCreationEvent,
ElementLockEvent, ElementLockEvent,
@@ -24,6 +25,7 @@ export type TelemetryEventMap = OutDatabaseAllEvents &
EdgelessElementLocked: ElementLockEvent; EdgelessElementLocked: ElementLockEvent;
ExpandedAndCollapsed: MindMapCollapseEvent; ExpandedAndCollapsed: MindMapCollapseEvent;
AttachmentUploadedEvent: AttachmentUploadedEvent; AttachmentUploadedEvent: AttachmentUploadedEvent;
BlockCreated: BlockCreationEvent;
}; };
export interface TelemetryService { export interface TelemetryService {

View File

@@ -51,6 +51,10 @@ export interface ElementLockEvent extends TelemetryEvent {
control: 'lock' | 'unlock' | 'group-lock'; control: 'lock' | 'unlock' | 'group-lock';
} }
export interface BlockCreationEvent extends TelemetryEvent {
blockType: string;
}
export interface MindMapCollapseEvent extends TelemetryEvent { export interface MindMapCollapseEvent extends TelemetryEvent {
page: 'whiteboard editor'; page: 'whiteboard editor';
segment: 'mind map'; segment: 'mind map';

View File

@@ -274,6 +274,15 @@ export const defaultSlashMenuConfig: SlashMenuConfig = {
place: 'after', place: 'after',
removeEmptyLine: true, removeEmptyLine: true,
}) })
.pipe(({ insertedTableBlockId }) => {
if (insertedTableBlockId) {
const telemetry =
rootComponent.std.getOptional(TelemetryProvider);
telemetry?.track('BlockCreated', {
blockType: 'affine:table',
});
}
})
.run(); .run();
}, },
}, },
@@ -612,8 +621,8 @@ export const defaultSlashMenuConfig: SlashMenuConfig = {
if (insertedDatabaseBlockId) { if (insertedDatabaseBlockId) {
const telemetry = const telemetry =
rootComponent.std.getOptional(TelemetryProvider); rootComponent.std.getOptional(TelemetryProvider);
telemetry?.track('AddDatabase', { telemetry?.track('BlockCreated', {
blockId: insertedDatabaseBlockId, blockType: 'affine:database',
}); });
} }
}) })
@@ -675,8 +684,8 @@ export const defaultSlashMenuConfig: SlashMenuConfig = {
if (insertedDatabaseBlockId) { if (insertedDatabaseBlockId) {
const telemetry = const telemetry =
rootComponent.std.getOptional(TelemetryProvider); rootComponent.std.getOptional(TelemetryProvider);
telemetry?.track('AddDatabase', { telemetry?.track('BlockCreated', {
blockId: insertedDatabaseBlockId, blockType: 'affine:database',
}); });
} }
}) })