chore: bump blocksuite (#8230)

## 0.17.11

### Patch Changes

- [3c61be5](3c61be5ded): - Refactor drag handle widget
  - Split embed blocks to `@blocksuite/affine-block-embed`
  - Fix latex selected state in edgeless mode
  - Fix unclear naming
  - Fix prototype pollution
  - Fix portal interaction in affine modal
  - Fix paste linked block on edgeless
  - Add scroll anchoring widget
  - Add highlight selection
This commit is contained in:
fundon
2024-09-18 12:11:14 +00:00
parent b73d3b3d55
commit f397815ad1
21 changed files with 424 additions and 300 deletions

View File

@@ -3,6 +3,7 @@ import type { WorkspaceService } from '@toeverything/infra';
import { Entity, LiveData } from '@toeverything/infra';
import { resolveLinkToDoc } from '../../navigation';
import { isLink } from '../../navigation/utils';
import type { QuickSearchSession } from '../providers/quick-search-provider';
import type { QuickSearchItem } from '../types/item';
@@ -21,11 +22,10 @@ export class ExternalLinksQuickSearchSession
query$ = new LiveData('');
items$ = LiveData.computed(get => {
const query = get(this.query$);
const query = get(this.query$).trim();
if (!query) return [];
const isLink = query.startsWith('http://') || query.startsWith('https://');
if (!isLink) return [];
if (!isLink(query)) return [];
const resolvedDoc = resolveLinkToDoc(query);
if (

View File

@@ -1,20 +1,16 @@
import type { DocMode } from '@blocksuite/blocks';
import type { ReferenceParams } from '@blocksuite/blocks';
import { BlockLinkIcon, EdgelessIcon, PageIcon } from '@blocksuite/icons/rc';
import type { DocsService, WorkspaceService } from '@toeverything/infra';
import { Entity, LiveData } from '@toeverything/infra';
import { truncate } from 'lodash-es';
import { omit, truncate } from 'lodash-es';
import { resolveLinkToDoc } from '../../navigation';
import { isLink } from '../../navigation/utils';
import type { QuickSearchSession } from '../providers/quick-search-provider';
import type { DocDisplayMetaService } from '../services/doc-display-meta';
import type { QuickSearchItem } from '../types/item';
type LinkPayload = {
docId: string;
blockIds?: string[];
elementIds?: string[];
mode?: DocMode;
};
type LinkPayload = { docId: string } & ReferenceParams;
export class LinksQuickSearchSession
extends Entity
@@ -31,11 +27,10 @@ export class LinksQuickSearchSession
query$ = new LiveData('');
items$ = LiveData.computed(get => {
const query = get(this.query$);
const query = get(this.query$).trim();
if (!query) return [];
const isLink = query.startsWith('http://') || query.startsWith('https://');
if (!isLink) return [];
if (!isLink(query)) return [];
const resolvedDoc = resolveLinkToDoc(query);
if (
@@ -53,6 +48,13 @@ export class LinksQuickSearchSession
this.docDisplayMetaService.getDocDisplayMeta(doc);
const linkToNode = resolvedDoc.blockIds || resolvedDoc.elementIds;
const score = 100;
const payload = omit(resolvedDoc, ['workspaceId']);
const icons = {
page: PageIcon,
edgeless: EdgelessIcon,
node: BlockLinkIcon,
other: icon,
};
return [
{
@@ -67,23 +69,12 @@ export class LinksQuickSearchSession
score: 5,
},
label: {
title: title,
title,
},
score,
icon: linkToNode
? BlockLinkIcon
: resolvedDoc.mode === 'page'
? PageIcon
: resolvedDoc.mode === 'edgeless'
? EdgelessIcon
: icon,
icon: icons[linkToNode ? 'node' : (resolvedDoc.mode ?? 'other')],
timestamp: updatedDate,
payload: {
docId,
blockIds: resolvedDoc.blockIds,
elementIds: resolvedDoc.elementIds,
mode: resolvedDoc.mode,
},
payload,
} as QuickSearchItem<'link', LinkPayload>,
];
});