[BS-2427](https://linear.app/affine-design/issue/BS-2427/移除-bookmark-block-service) [BS-2418](https://linear.app/affine-design/issue/BS-2418/linkpreviewer-重构成插件)
30 lines
853 B
TypeScript
30 lines
853 B
TypeScript
import {
|
|
EmbedLoomBlockSchema,
|
|
type EmbedLoomModel,
|
|
EmbedLoomStyles,
|
|
} from '@blocksuite/affine-model';
|
|
import { EmbedOptionProvider } from '@blocksuite/affine-shared/services';
|
|
import { BlockService } from '@blocksuite/block-std';
|
|
|
|
import { loomUrlRegex } from './embed-loom-model.js';
|
|
import { queryEmbedLoomData } from './utils.js';
|
|
|
|
export class EmbedLoomBlockService extends BlockService {
|
|
static override readonly flavour = EmbedLoomBlockSchema.model.flavour;
|
|
|
|
queryUrlData = (embedLoomModel: EmbedLoomModel, signal?: AbortSignal) => {
|
|
return queryEmbedLoomData(embedLoomModel, signal);
|
|
};
|
|
|
|
override mounted() {
|
|
super.mounted();
|
|
|
|
this.std.get(EmbedOptionProvider).registerEmbedBlockOptions({
|
|
flavour: this.flavour,
|
|
urlRegex: loomUrlRegex,
|
|
styles: EmbedLoomStyles,
|
|
viewType: 'embed',
|
|
});
|
|
}
|
|
}
|