Add function to parse at mentions
This commit is contained in:
parent
312b244e2a
commit
e1c5088aed
|
@ -22,6 +22,7 @@ import { Image } from '@tiptap/extension-image'
|
||||||
import { Link } from '@tiptap/extension-link'
|
import { Link } from '@tiptap/extension-link'
|
||||||
import { Mention } from '@tiptap/extension-mention'
|
import { Mention } from '@tiptap/extension-mention'
|
||||||
import Iframe from './tiptap-iframe'
|
import Iframe from './tiptap-iframe'
|
||||||
|
import { uniq } from 'lodash'
|
||||||
|
|
||||||
export function parseTags(text: string) {
|
export function parseTags(text: string) {
|
||||||
const regex = /(?:^|\s)(?:[#][a-z0-9_]+)/gi
|
const regex = /(?:^|\s)(?:[#][a-z0-9_]+)/gi
|
||||||
|
@ -61,6 +62,15 @@ const checkAgainstQuery = (query: string, corpus: string) =>
|
||||||
export const searchInAny = (query: string, ...fields: string[]) =>
|
export const searchInAny = (query: string, ...fields: string[]) =>
|
||||||
fields.some((field) => checkAgainstQuery(query, field))
|
fields.some((field) => checkAgainstQuery(query, field))
|
||||||
|
|
||||||
|
/** @return user ids of all \@mentions */
|
||||||
|
export function parseMentions(data: JSONContent): string[] {
|
||||||
|
const mentions = data.content?.flatMap(parseMentions) ?? [] //dfs
|
||||||
|
if (data.type === 'mention' && data.attrs) {
|
||||||
|
mentions.push(data.attrs.id as string)
|
||||||
|
}
|
||||||
|
return uniq(mentions)
|
||||||
|
}
|
||||||
|
|
||||||
// can't just do [StarterKit, Image...] because it doesn't work with cjs imports
|
// can't just do [StarterKit, Image...] because it doesn't work with cjs imports
|
||||||
export const exhibitExts = [
|
export const exhibitExts = [
|
||||||
Blockquote,
|
Blockquote,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user