Commit 4011a958 by Яков

fix drag and drop

parent d973bd2b
...@@ -23,9 +23,6 @@ ...@@ -23,9 +23,6 @@
"babel-loader": "^10.0.0", "babel-loader": "^10.0.0",
"webpack": "^5.99.7" "webpack": "^5.99.7"
}, },
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [ "browserslist": [
">0.2%", ">0.2%",
"not dead", "not dead",
......
...@@ -9,7 +9,7 @@ const App = () => { ...@@ -9,7 +9,7 @@ const App = () => {
// value={`<iframe src="https://cdn.atmaguru.online/2/atmacompany/8/b/8bTfGoWtAuv5waVabQRTtWaNOrve5uv8UBXFbGOH9cowQ1K56dYi7TFz6h5jUfzr.pdf" width="100%" /><iframe src="https://www.youtube.com/embed/YmZGP7YP8c4" frameborder="0" allowfullscreen="true"></iframe><video src="https://cdn.atmaguru.online/2/demo/V/k/VkrEXjkxnutXLgcJPt5CLXNgEj4RaL9Zk4SQhIMUjOeIRpu0dSKtQCIMl49pJM6N.webm" controls="true"></video><p>Так исторически сложилось, что взрослым людям стараются дать максимум материалов: часовые лекции, объемные массивы текста и должностных инструкций. Сотрудник изучает огромный объем информации. Пытается его запомнить, а потом в конце курса сдать большой аттестационный экзамен. Вы не учитывете при этом, что мозг взрослого человека перегружен, ему нужно выполнять обязанности по работе, думать о домашних делах, его постоянно отвлекают менеджеры и коллеги по работе… Единственный правильный способ — это давать информацию небольшими кусочками и после каждой порции проверять усвоена она или нет.</p><p></p><p>что-то новое о компании<br><a href="https://cdn.atmaguru.online/1/demo/T/G/TGvSAoLawONkteJ47yyNfmsC8zNe3ZRG4iO0ZfAjmvOIZkm20BWp8KdWCH5p1Rrx.gif" target="_blank" download="Редактор.gif" data-size="37 Мб">РСкачать книгу</a> <br></p>`} // value={`<iframe src="https://cdn.atmaguru.online/2/atmacompany/8/b/8bTfGoWtAuv5waVabQRTtWaNOrve5uv8UBXFbGOH9cowQ1K56dYi7TFz6h5jUfzr.pdf" width="100%" /><iframe src="https://www.youtube.com/embed/YmZGP7YP8c4" frameborder="0" allowfullscreen="true"></iframe><video src="https://cdn.atmaguru.online/2/demo/V/k/VkrEXjkxnutXLgcJPt5CLXNgEj4RaL9Zk4SQhIMUjOeIRpu0dSKtQCIMl49pJM6N.webm" controls="true"></video><p>Так исторически сложилось, что взрослым людям стараются дать максимум материалов: часовые лекции, объемные массивы текста и должностных инструкций. Сотрудник изучает огромный объем информации. Пытается его запомнить, а потом в конце курса сдать большой аттестационный экзамен. Вы не учитывете при этом, что мозг взрослого человека перегружен, ему нужно выполнять обязанности по работе, думать о домашних делах, его постоянно отвлекают менеджеры и коллеги по работе… Единственный правильный способ — это давать информацию небольшими кусочками и после каждой порции проверять усвоена она или нет.</p><p></p><p>что-то новое о компании<br><a href="https://cdn.atmaguru.online/1/demo/T/G/TGvSAoLawONkteJ47yyNfmsC8zNe3ZRG4iO0ZfAjmvOIZkm20BWp8KdWCH5p1Rrx.gif" target="_blank" download="Редактор.gif" data-size="37 Мб">РСкачать книгу</a> <br></p>`}
value={'<p>sdfsdfsdfsdfsdf</p>'} value={'<p>sdfsdfsdfsdfsdf</p>'}
onChange={(value)=>{ onChange={(value)=>{
console.log(value); // console.log(value);
}} }}
uploadOptions={{ uploadOptions={{
url: 'https://cdn.atmaguru.online/upload/?sid=atmacompany&md5=0cETbV4BquHkqAdG9cK9MA&expires=1742192970', url: 'https://cdn.atmaguru.online/upload/?sid=atmacompany&md5=0cETbV4BquHkqAdG9cK9MA&expires=1742192970',
......
...@@ -20,31 +20,31 @@ const DragAndDrop = Extension.create({ ...@@ -20,31 +20,31 @@ const DragAndDrop = Extension.create({
key: new PluginKey('customDragAndDrop'), key: new PluginKey('customDragAndDrop'),
props: { props: {
handleDOMEvents: { handleDOMEvents: {
async paste (view, event) { // async paste (view, event) {
//
console.log(event.clipboardData); // console.log(event.clipboardData);
console.log(event.originalEvent.clipboardData); // // console.log(event.originalEvent.clipboardData);
//
let items = (event.clipboardData || event.originalEvent.clipboardData).items; // let items = (event.clipboardData || event.originalEvent.clipboardData).items;
//
for (let i = 0; i < items.length; i++){ // for (let i = 0; i < items.length; i++){
const { schema } = view.state; // const { schema } = view.state;
const image = items[i].getAsFile(); // const image = items[i].getAsFile();
//
if (!image) { // if (!image) {
return // return
} // }
//
// event.preventDefault(); // // event.preventDefault();
const imageSrc = await upload(image); // const imageSrc = await upload(image);
//
const node = schema.nodes.image.create({ // const node = schema.nodes.image.create({
src: imageSrc, // src: imageSrc,
}); // });
const transaction = view.state.tr.replaceSelectionWith(node); // const transaction = view.state.tr.replaceSelectionWith(node);
view.dispatch(transaction) // view.dispatch(transaction)
} // }
}, // },
async drop (view, event) { async drop (view, event) {
const hasFiles = event.dataTransfer.files.length > 0; const hasFiles = event.dataTransfer.files.length > 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment