mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-25 10:22:55 +08:00
chore(editor): add track for mention (#11594)
This commit is contained in:
@@ -376,6 +376,10 @@ export class AtMenuConfigService extends Service {
|
||||
|
||||
close();
|
||||
|
||||
track.doc.editor.atMenu.mentionMember({
|
||||
type: 'member',
|
||||
});
|
||||
|
||||
const inlineRange = inlineEditor.getInlineRange();
|
||||
if (!inlineRange || inlineRange.length !== 0) return;
|
||||
|
||||
@@ -440,6 +444,8 @@ export class AtMenuConfigService extends Service {
|
||||
const err = UserFriendlyError.fromAny(error);
|
||||
|
||||
if (err.is(ErrorNames.MENTION_USER_DOC_ACCESS_DENIED)) {
|
||||
track.doc.editor.atMenu.noAccessPrompted();
|
||||
|
||||
const canUserManage = this.guardService.can$(
|
||||
'Doc_Users_Manage',
|
||||
docId
|
||||
@@ -456,6 +462,11 @@ export class AtMenuConfigService extends Service {
|
||||
action: {
|
||||
label: 'Invite',
|
||||
onClick: async () => {
|
||||
track.$.sharePanel.$.inviteUserDocRole({
|
||||
control: 'member list',
|
||||
role: 'reader',
|
||||
});
|
||||
|
||||
try {
|
||||
await this.docGrantedUsersService.updateUserRole(
|
||||
id,
|
||||
@@ -517,6 +528,11 @@ export class AtMenuConfigService extends Service {
|
||||
icon: UserIcon(),
|
||||
action: () => {
|
||||
close();
|
||||
|
||||
track.doc.editor.atMenu.mentionMember({
|
||||
type: 'invite',
|
||||
});
|
||||
|
||||
this.dialogService.open('setting', {
|
||||
activeTab: 'workspace:members',
|
||||
});
|
||||
|
||||
@@ -177,6 +177,10 @@ type MeetingEvents =
|
||||
| 'activeMenubarAppItem';
|
||||
// END SECTION
|
||||
|
||||
// SECTION: mention
|
||||
type MentionEvents = 'mentionMember' | 'noAccessPrompted';
|
||||
// END SECTION
|
||||
|
||||
type UserEvents =
|
||||
| GeneralEvents
|
||||
| AppEvents
|
||||
@@ -198,7 +202,9 @@ type UserEvents =
|
||||
| TemplateEvents
|
||||
| NotificationEvents
|
||||
| IntegrationEvents
|
||||
| MeetingEvents;
|
||||
| MeetingEvents
|
||||
| MentionEvents;
|
||||
|
||||
interface PageDivision {
|
||||
[page: string]: {
|
||||
[segment: string]: {
|
||||
@@ -405,7 +411,13 @@ const PageEvents = {
|
||||
doc: {
|
||||
editor: {
|
||||
slashMenu: ['linkDoc', 'createDoc', 'bookmark'],
|
||||
atMenu: ['linkDoc', 'import', 'createDoc'],
|
||||
atMenu: [
|
||||
'linkDoc',
|
||||
'import',
|
||||
'createDoc',
|
||||
'mentionMember',
|
||||
'noAccessPrompted',
|
||||
],
|
||||
quickSearch: ['createDoc'],
|
||||
formatToolbar: ['bold'],
|
||||
pageRef: ['navigate'],
|
||||
@@ -698,6 +710,10 @@ export type EventArgs = {
|
||||
| 'Meeting Settings'
|
||||
| 'Quit AFFiNE Completely';
|
||||
};
|
||||
mentionMember: {
|
||||
type: 'member' | 'invite' | 'more';
|
||||
};
|
||||
noAccessPrompted: {};
|
||||
};
|
||||
|
||||
// for type checking
|
||||
|
||||
Reference in New Issue
Block a user