mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 04:26:23 +08:00
1f45cc5dec
**Directory Structure Changes** - Renamed multiple block-related directories by removing the "block-" prefix: - `block-attachment` → `attachment` - `block-bookmark` → `bookmark` - `block-callout` → `callout` - `block-code` → `code` - `block-data-view` → `data-view` - `block-database` → `database` - `block-divider` → `divider` - `block-edgeless-text` → `edgeless-text` - `block-embed` → `embed`
17 lines
559 B
TypeScript
17 lines
559 B
TypeScript
import type { CodeBlockModel } from '@blocksuite/affine-model';
|
|
|
|
export const duplicateCodeBlock = (model: CodeBlockModel) => {
|
|
const keys = model.keys as (keyof (typeof model)['props'])[];
|
|
const values = keys.map(key => model.props[key]);
|
|
const blockProps = Object.fromEntries(keys.map((key, i) => [key, values[i]]));
|
|
const { text: _text, ...duplicateProps } = blockProps;
|
|
|
|
const newProps = {
|
|
flavour: model.flavour,
|
|
text: model.props.text.clone(),
|
|
...duplicateProps,
|
|
};
|
|
|
|
return model.doc.addSiblingBlocks(model, [newProps])[0];
|
|
};
|