fix: code copy to clipboard
This commit is contained in:
@@ -97,8 +97,12 @@ export const BulletView: FC<CreateView> = ({ block, editor }) => {
|
|||||||
}
|
}
|
||||||
block.setProperty('numberType', getChildrenType(parentNumberType));
|
block.setProperty('numberType', getChildrenType(parentNumberType));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// TODO
|
console.warn(
|
||||||
console.log('undo redo bugfix');
|
'Failed to update bullet list numbers!',
|
||||||
|
'This issue may be related to the undo redo. block:',
|
||||||
|
block
|
||||||
|
);
|
||||||
|
console.warn(e);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import {
|
|||||||
useOnSelect,
|
useOnSelect,
|
||||||
WrapperWithPendantAndDragDrop,
|
WrapperWithPendantAndDragDrop,
|
||||||
} from '@toeverything/components/editor-core';
|
} from '@toeverything/components/editor-core';
|
||||||
|
import { copyToClipboard } from '@toeverything/utils';
|
||||||
interface CreateCodeView extends CreateView {
|
interface CreateCodeView extends CreateView {
|
||||||
style9?: StyleWithAtRules;
|
style9?: StyleWithAtRules;
|
||||||
containerClassName?: string;
|
containerClassName?: string;
|
||||||
@@ -128,8 +129,8 @@ const CodeBlock = styled('div')(({ theme }) => ({
|
|||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
export const CodeView: FC<CreateCodeView> = ({ block, editor }) => {
|
export const CodeView: FC<CreateCodeView> = ({ block, editor }) => {
|
||||||
const init_value: string = block.getProperty('text')?.value?.[0]?.text;
|
const initValue: string = block.getProperty('text')?.value?.[0]?.text;
|
||||||
const lang_type: string = block.getProperty('lang')?.value?.[0]?.text;
|
const langType: string = block.getProperty('lang')?.value?.[0]?.text;
|
||||||
const [mode, setMode] = useState('javascript');
|
const [mode, setMode] = useState('javascript');
|
||||||
const [extensions, setExtensions] = useState<Extension[]>();
|
const [extensions, setExtensions] = useState<Extension[]>();
|
||||||
const codeMirror = useRef();
|
const codeMirror = useRef();
|
||||||
@@ -140,21 +141,20 @@ export const CodeView: FC<CreateCodeView> = ({ block, editor }) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
const onChange = (value: any, codeEditor: any) => {
|
const onChange = (value: any, codeEditor: any) => {
|
||||||
console.log(value);
|
|
||||||
block.setProperty('text', {
|
block.setProperty('text', {
|
||||||
value: [{ text: value }],
|
value: [{ text: value }],
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
handleLangChange(lang_type ? lang_type : 'javascript');
|
handleLangChange(langType ? langType : 'javascript');
|
||||||
}, []);
|
}, []);
|
||||||
function handleLangChange(lang: string) {
|
function handleLangChange(lang: string) {
|
||||||
block.setProperty('lang', lang);
|
block.setProperty('lang', lang);
|
||||||
setMode(lang);
|
setMode(lang);
|
||||||
setExtensions([langs[lang]()]);
|
setExtensions([langs[lang]()]);
|
||||||
}
|
}
|
||||||
const handle_remove_block = () => {
|
const copyCode = () => {
|
||||||
block.remove();
|
copyToClipboard(initValue);
|
||||||
};
|
};
|
||||||
const handleKeyArrowDown = () => {
|
const handleKeyArrowDown = () => {
|
||||||
editor.selectionManager.activeNextNode(block.id, 'start');
|
editor.selectionManager.activeNextNode(block.id, 'start');
|
||||||
@@ -197,10 +197,7 @@ export const CodeView: FC<CreateCodeView> = ({ block, editor }) => {
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div className="delete-block" onClick={copyCode}>
|
||||||
className="delete-block"
|
|
||||||
// onClick={handle_remove_block}
|
|
||||||
>
|
|
||||||
Copy
|
Copy
|
||||||
{/* <DeleteSweepOutlinedIcon
|
{/* <DeleteSweepOutlinedIcon
|
||||||
className="delete-icon"
|
className="delete-icon"
|
||||||
@@ -217,7 +214,7 @@ export const CodeView: FC<CreateCodeView> = ({ block, editor }) => {
|
|||||||
|
|
||||||
<CodeMirror
|
<CodeMirror
|
||||||
ref={codeMirror}
|
ref={codeMirror}
|
||||||
value={init_value}
|
value={initValue}
|
||||||
height={'auto'}
|
height={'auto'}
|
||||||
extensions={extensions}
|
extensions={extensions}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
|
|||||||
@@ -59,7 +59,6 @@ class ClipboardPopulator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private copy_to_cliboard_from_pc(clips: any[]) {
|
private copy_to_cliboard_from_pc(clips: any[]) {
|
||||||
let success = false;
|
let success = false;
|
||||||
const tempElem = document.createElement('textarea');
|
const tempElem = document.createElement('textarea');
|
||||||
@@ -113,8 +112,7 @@ class ClipboardPopulator {
|
|||||||
|
|
||||||
private async get_inner_clip(): Promise<InnerClipInfo> {
|
private async get_inner_clip(): Promise<InnerClipInfo> {
|
||||||
const clips: ClipBlockInfo[] = [];
|
const clips: ClipBlockInfo[] = [];
|
||||||
const select_info: SelectInfo =
|
const select_info: SelectInfo = await this.selection_manager.getSelectInfo();
|
||||||
await this.selection_manager.getSelectInfo();
|
|
||||||
for (let i = 0; i < select_info.blocks.length; i++) {
|
for (let i = 0; i < select_info.blocks.length; i++) {
|
||||||
const sel_block = select_info.blocks[i];
|
const sel_block = select_info.blocks[i];
|
||||||
const clip_block_info = await this.get_clip_block_info(sel_block);
|
const clip_block_info = await this.get_clip_block_info(sel_block);
|
||||||
|
|||||||
Reference in New Issue
Block a user