@tiptap/core 2.0.0-beta.200 → 2.0.0-beta.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tiptap-core.cjs.js +3 -31
- package/dist/tiptap-core.cjs.js.map +1 -1
- package/dist/tiptap-core.esm.js +3 -31
- package/dist/tiptap-core.esm.js.map +1 -1
- package/dist/tiptap-core.umd.js +3 -31
- package/dist/tiptap-core.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/PasteRule.ts +1 -34
package/dist/tiptap-core.cjs.js
CHANGED
|
@@ -807,9 +807,6 @@ function run(config) {
|
|
|
807
807
|
function pasteRulesPlugin(props) {
|
|
808
808
|
const { editor, rules } = props;
|
|
809
809
|
let dragSourceElement = null;
|
|
810
|
-
let draggedElement;
|
|
811
|
-
let draggedText = null;
|
|
812
|
-
let caretOffset;
|
|
813
810
|
let isPastedFromProseMirror = false;
|
|
814
811
|
let isDroppedFromProseMirror = false;
|
|
815
812
|
const plugins = rules.map(rule => {
|
|
@@ -817,47 +814,22 @@ function pasteRulesPlugin(props) {
|
|
|
817
814
|
// we register a global drag handler to track the current drag source element
|
|
818
815
|
view(view) {
|
|
819
816
|
const handleDragstart = (event) => {
|
|
820
|
-
var _a
|
|
821
|
-
|
|
822
|
-
draggedText = window.getSelection();
|
|
823
|
-
(_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('text/plain', draggedText === null || draggedText === void 0 ? void 0 : draggedText.toString());
|
|
824
|
-
dragSourceElement = ((_b = view.dom.parentElement) === null || _b === void 0 ? void 0 : _b.contains(event.target))
|
|
817
|
+
var _a;
|
|
818
|
+
dragSourceElement = ((_a = view.dom.parentElement) === null || _a === void 0 ? void 0 : _a.contains(event.target))
|
|
825
819
|
? view.dom.parentElement
|
|
826
820
|
: null;
|
|
827
821
|
};
|
|
828
|
-
const handleDragEnter = (event) => {
|
|
829
|
-
event.preventDefault();
|
|
830
|
-
};
|
|
831
|
-
const handleDragOver = (event) => {
|
|
832
|
-
event.preventDefault();
|
|
833
|
-
let caretData;
|
|
834
|
-
if (document.caretRangeFromPoint) {
|
|
835
|
-
caretData = document.caretRangeFromPoint(event.clientX, event.clientY);
|
|
836
|
-
}
|
|
837
|
-
caretOffset = caretData === null || caretData === void 0 ? void 0 : caretData.startOffset;
|
|
838
|
-
};
|
|
839
822
|
window.addEventListener('dragstart', handleDragstart);
|
|
840
|
-
window.addEventListener('dragenter', handleDragEnter);
|
|
841
|
-
window.addEventListener('dragover', handleDragOver);
|
|
842
823
|
return {
|
|
843
824
|
destroy() {
|
|
844
825
|
window.removeEventListener('dragstart', handleDragstart);
|
|
845
|
-
window.removeEventListener('dragenter', handleDragEnter);
|
|
846
|
-
window.removeEventListener('dragover', handleDragOver);
|
|
847
826
|
},
|
|
848
827
|
};
|
|
849
828
|
},
|
|
850
829
|
props: {
|
|
851
830
|
handleDOMEvents: {
|
|
852
|
-
drop:
|
|
853
|
-
var _a;
|
|
831
|
+
drop: view => {
|
|
854
832
|
isDroppedFromProseMirror = dragSourceElement === view.dom.parentElement;
|
|
855
|
-
event.preventDefault();
|
|
856
|
-
const data = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
|
|
857
|
-
if (event.target.parentElement.className === 'ProseMirror') {
|
|
858
|
-
draggedElement.textContent = draggedElement.textContent.replace(data, '');
|
|
859
|
-
event.target.textContent = event.target.textContent.slice(0, caretOffset) + data + event.target.textContent.slice(caretOffset);
|
|
860
|
-
}
|
|
861
833
|
return false;
|
|
862
834
|
},
|
|
863
835
|
paste: (view, event) => {
|