mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-04 03:01:25 +08:00
17 lines
561 B
TypeScript
17 lines
561 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.store.addSiblingBlocks(model, [newProps])[0];
|
|
};
|