mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 12:36:24 +08:00
feat(editor): add tracking for the creation of linked-doc (#9266)
close: BS-2189
This commit is contained in:
@@ -7,6 +7,7 @@ import type {
|
|||||||
DocCreatedEvent,
|
DocCreatedEvent,
|
||||||
ElementCreationEvent,
|
ElementCreationEvent,
|
||||||
ElementLockEvent,
|
ElementLockEvent,
|
||||||
|
LinkedDocCreatedEvent,
|
||||||
MindMapCollapseEvent,
|
MindMapCollapseEvent,
|
||||||
TelemetryEvent,
|
TelemetryEvent,
|
||||||
} from './types.js';
|
} from './types.js';
|
||||||
@@ -15,7 +16,7 @@ export type TelemetryEventMap = OutDatabaseAllEvents &
|
|||||||
LinkToolbarEvents & {
|
LinkToolbarEvents & {
|
||||||
DocCreated: DocCreatedEvent;
|
DocCreated: DocCreatedEvent;
|
||||||
Link: TelemetryEvent;
|
Link: TelemetryEvent;
|
||||||
LinkedDocCreated: TelemetryEvent;
|
LinkedDocCreated: LinkedDocCreatedEvent;
|
||||||
SplitNote: TelemetryEvent;
|
SplitNote: TelemetryEvent;
|
||||||
CanvasElementAdded: ElementCreationEvent;
|
CanvasElementAdded: ElementCreationEvent;
|
||||||
EdgelessElementLocked: ElementLockEvent;
|
EdgelessElementLocked: ElementLockEvent;
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ export interface TelemetryEvent {
|
|||||||
other?: unknown;
|
other?: unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface LinkedDocCreatedEvent extends TelemetryEvent {
|
||||||
|
parentFlavour?: string;
|
||||||
|
}
|
||||||
|
|
||||||
export interface DocCreatedEvent extends TelemetryEvent {
|
export interface DocCreatedEvent extends TelemetryEvent {
|
||||||
page?: 'doc editor' | 'whiteboard editor';
|
page?: 'doc editor' | 'whiteboard editor';
|
||||||
segment?: 'whiteboard' | 'note' | 'doc';
|
segment?: 'whiteboard' | 'note' | 'doc';
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import type {
|
|||||||
DatabaseBlockModel,
|
DatabaseBlockModel,
|
||||||
RootBlockModel,
|
RootBlockModel,
|
||||||
} from '@blocksuite/affine-model';
|
} from '@blocksuite/affine-model';
|
||||||
|
import { TelemetryProvider } from '@blocksuite/affine-shared/services';
|
||||||
import type { AffineTextAttributes } from '@blocksuite/affine-shared/types';
|
import type { AffineTextAttributes } from '@blocksuite/affine-shared/types';
|
||||||
import {
|
import {
|
||||||
createDefaultDoc,
|
createDefaultDoc,
|
||||||
@@ -78,6 +79,13 @@ export class NoteRenderer
|
|||||||
])
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
// Track when a linked doc is created in database title column
|
||||||
|
this.host.std.getOptional(TelemetryProvider)?.track('LinkedDocCreated', {
|
||||||
|
segment: 'database',
|
||||||
|
module: 'center peek in database',
|
||||||
|
type: 'turn into',
|
||||||
|
parentFlavour: 'affine:database',
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ import {
|
|||||||
type RichText,
|
type RichText,
|
||||||
} from '@blocksuite/affine-components/rich-text';
|
} from '@blocksuite/affine-components/rich-text';
|
||||||
import type { RootBlockModel } from '@blocksuite/affine-model';
|
import type { RootBlockModel } from '@blocksuite/affine-model';
|
||||||
import { ParseDocUrlProvider } from '@blocksuite/affine-shared/services';
|
import {
|
||||||
|
ParseDocUrlProvider,
|
||||||
|
TelemetryProvider,
|
||||||
|
} from '@blocksuite/affine-shared/services';
|
||||||
import {
|
import {
|
||||||
getViewportElement,
|
getViewportElement,
|
||||||
isValidUrl,
|
isValidUrl,
|
||||||
@@ -295,6 +298,14 @@ export class HeaderAreaTextCellEditing extends BaseTextCell {
|
|||||||
index: inlineRange.index + text.length,
|
index: inlineRange.index + text.length,
|
||||||
length: 0,
|
length: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Track when a linked doc is created in database title column
|
||||||
|
std?.getOptional(TelemetryProvider)?.track('LinkedDocCreated', {
|
||||||
|
module: 'database title cell',
|
||||||
|
type: 'paste',
|
||||||
|
segment: 'database',
|
||||||
|
parentFlavour: 'affine:database',
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
inlineEditor?.insertText(inlineRange, text, {
|
inlineEditor?.insertText(inlineRange, text, {
|
||||||
link: text,
|
link: text,
|
||||||
@@ -390,6 +401,7 @@ export class HeaderAreaTextCellEditing extends BaseTextCell {
|
|||||||
this.topContenteditableElement?.host
|
this.topContenteditableElement?.host
|
||||||
? getViewportElement(this.topContenteditableElement.host)
|
? getViewportElement(this.topContenteditableElement.host)
|
||||||
: null}"
|
: null}"
|
||||||
|
data-parent-flavour="affine:database"
|
||||||
class="data-view-header-area-rich-text can-link-doc"
|
class="data-view-header-area-rich-text can-link-doc"
|
||||||
></rich-text>`;
|
></rich-text>`;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user