mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-21 20:11:43 +08:00
chore: merge blocksuite source code (#9213)
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { BlockModel } from '@blocksuite/store';
|
||||
|
||||
import type { EmbedCardStyle } from '../../../utils/index.js';
|
||||
import { defineEmbedModel } from '../../../utils/index.js';
|
||||
|
||||
export type EmbedGithubBlockUrlData = {
|
||||
image: string | null;
|
||||
status: string | null;
|
||||
statusReason: string | null;
|
||||
title: string | null;
|
||||
description: string | null;
|
||||
createdAt: string | null;
|
||||
assignees: string[] | null;
|
||||
};
|
||||
|
||||
export const EmbedGithubStyles: EmbedCardStyle[] = [
|
||||
'vertical',
|
||||
'horizontal',
|
||||
'list',
|
||||
'cube',
|
||||
] as const;
|
||||
|
||||
export type EmbedGithubBlockProps = {
|
||||
style: (typeof EmbedGithubStyles)[number];
|
||||
owner: string;
|
||||
repo: string;
|
||||
githubType: 'issue' | 'pr';
|
||||
githubId: string;
|
||||
url: string;
|
||||
caption: string | null;
|
||||
} & EmbedGithubBlockUrlData;
|
||||
|
||||
export class EmbedGithubModel extends defineEmbedModel<EmbedGithubBlockProps>(
|
||||
BlockModel
|
||||
) {}
|
||||
|
||||
declare global {
|
||||
namespace BlockSuite {
|
||||
interface EdgelessBlockModelMap {
|
||||
'affine:embed-github': EmbedGithubModel;
|
||||
}
|
||||
interface BlockModels {
|
||||
'affine:embed-github': EmbedGithubModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import { createEmbedBlockSchema } from '../../../utils/index.js';
|
||||
import {
|
||||
type EmbedGithubBlockProps,
|
||||
EmbedGithubModel,
|
||||
EmbedGithubStyles,
|
||||
} from './github-model.js';
|
||||
|
||||
const defaultEmbedGithubProps: EmbedGithubBlockProps = {
|
||||
style: EmbedGithubStyles[1],
|
||||
owner: '',
|
||||
repo: '',
|
||||
githubType: 'issue',
|
||||
githubId: '',
|
||||
url: '',
|
||||
caption: null,
|
||||
|
||||
image: null,
|
||||
status: null,
|
||||
statusReason: null,
|
||||
title: null,
|
||||
description: null,
|
||||
createdAt: null,
|
||||
assignees: null,
|
||||
};
|
||||
|
||||
export const EmbedGithubBlockSchema = createEmbedBlockSchema({
|
||||
name: 'github',
|
||||
version: 1,
|
||||
toModel: () => new EmbedGithubModel(),
|
||||
props: (): EmbedGithubBlockProps => defaultEmbedGithubProps,
|
||||
});
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './github-model.js';
|
||||
export * from './github-schema.js';
|
||||
Reference in New Issue
Block a user