prosemirror-view 1.32.1 → 1.32.3
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/CHANGELOG.md +12 -0
- package/dist/index.cjs +9 -2
- package/dist/index.js +9 -2
- package/package.json +1 -1
- package/src/input.ts +9 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## 1.32.3 (2023-11-01)
|
|
2
|
+
|
|
3
|
+
### Bug fixes
|
|
4
|
+
|
|
5
|
+
Fix a bug where, in some situations, pasting plain text pasted HTML markup.
|
|
6
|
+
|
|
7
|
+
## 1.32.2 (2023-10-27)
|
|
8
|
+
|
|
9
|
+
### Bug fixes
|
|
10
|
+
|
|
11
|
+
Check for text/uri-list data on the clipboard or in the drop event when pasting or dropping content, since some types of copying on Apple devices use this format.
|
|
12
|
+
|
|
1
13
|
## 1.32.1 (2023-10-13)
|
|
2
14
|
|
|
3
15
|
### Bug fixes
|
package/dist/index.cjs
CHANGED
|
@@ -3993,12 +3993,19 @@ function doPaste(view, text, html, preferPlain, event) {
|
|
|
3993
3993
|
return true;
|
|
3994
3994
|
}
|
|
3995
3995
|
|
|
3996
|
+
function getText(clipboardData) {
|
|
3997
|
+
var text = clipboardData.getData("text/plain") || clipboardData.getData("Text");
|
|
3998
|
+
if (text) return text;
|
|
3999
|
+
var uris = clipboardData.getData("text/uri-list");
|
|
4000
|
+
return uris ? uris.replace(/\r?\n/g, " ") : "";
|
|
4001
|
+
}
|
|
4002
|
+
|
|
3996
4003
|
editHandlers.paste = function (view, _event) {
|
|
3997
4004
|
var event = _event;
|
|
3998
4005
|
if (view.composing && !android) return;
|
|
3999
4006
|
var data = brokenClipboardAPI ? null : event.clipboardData;
|
|
4000
4007
|
var plain = view.input.shiftKey && view.input.lastKeyCode != 45;
|
|
4001
|
-
if (data && doPaste(view, data
|
|
4008
|
+
if (data && doPaste(view, getText(data), data.getData("text/html"), plain, event)) event.preventDefault();else capturePaste(view, event);
|
|
4002
4009
|
};
|
|
4003
4010
|
|
|
4004
4011
|
var Dragging = _createClass(function Dragging(slice, move) {
|
|
@@ -4062,7 +4069,7 @@ editHandlers.drop = function (view, _event) {
|
|
|
4062
4069
|
slice = f(slice, view);
|
|
4063
4070
|
});
|
|
4064
4071
|
} else {
|
|
4065
|
-
slice = parseFromClipboard(view, event.dataTransfer
|
|
4072
|
+
slice = parseFromClipboard(view, getText(event.dataTransfer), brokenClipboardAPI ? null : event.dataTransfer.getData("text/html"), false, $mouse);
|
|
4066
4073
|
}
|
|
4067
4074
|
|
|
4068
4075
|
var move = !!(dragging && !event[dragCopyModifier]);
|
package/dist/index.js
CHANGED
|
@@ -3522,6 +3522,13 @@ function doPaste(view, text, html, preferPlain, event) {
|
|
|
3522
3522
|
view.dispatch(tr.scrollIntoView().setMeta("paste", true).setMeta("uiEvent", "paste"));
|
|
3523
3523
|
return true;
|
|
3524
3524
|
}
|
|
3525
|
+
function getText(clipboardData) {
|
|
3526
|
+
let text = clipboardData.getData("text/plain") || clipboardData.getData("Text");
|
|
3527
|
+
if (text)
|
|
3528
|
+
return text;
|
|
3529
|
+
let uris = clipboardData.getData("text/uri-list");
|
|
3530
|
+
return uris ? uris.replace(/\r?\n/g, " ") : "";
|
|
3531
|
+
}
|
|
3525
3532
|
editHandlers.paste = (view, _event) => {
|
|
3526
3533
|
let event = _event;
|
|
3527
3534
|
// Handling paste from JavaScript during composition is very poorly
|
|
@@ -3532,7 +3539,7 @@ editHandlers.paste = (view, _event) => {
|
|
|
3532
3539
|
return;
|
|
3533
3540
|
let data = brokenClipboardAPI ? null : event.clipboardData;
|
|
3534
3541
|
let plain = view.input.shiftKey && view.input.lastKeyCode != 45;
|
|
3535
|
-
if (data && doPaste(view, data
|
|
3542
|
+
if (data && doPaste(view, getText(data), data.getData("text/html"), plain, event))
|
|
3536
3543
|
event.preventDefault();
|
|
3537
3544
|
else
|
|
3538
3545
|
capturePaste(view, event);
|
|
@@ -3594,7 +3601,7 @@ editHandlers.drop = (view, _event) => {
|
|
|
3594
3601
|
view.someProp("transformPasted", f => { slice = f(slice, view); });
|
|
3595
3602
|
}
|
|
3596
3603
|
else {
|
|
3597
|
-
slice = parseFromClipboard(view, event.dataTransfer
|
|
3604
|
+
slice = parseFromClipboard(view, getText(event.dataTransfer), brokenClipboardAPI ? null : event.dataTransfer.getData("text/html"), false, $mouse);
|
|
3598
3605
|
}
|
|
3599
3606
|
let move = !!(dragging && !event[dragCopyModifier]);
|
|
3600
3607
|
if (view.someProp("handleDrop", f => f(view, event, slice || Slice.empty, move))) {
|
package/package.json
CHANGED
package/src/input.ts
CHANGED
|
@@ -608,6 +608,13 @@ export function doPaste(view: EditorView, text: string, html: string | null, pre
|
|
|
608
608
|
return true
|
|
609
609
|
}
|
|
610
610
|
|
|
611
|
+
function getText(clipboardData: DataTransfer) {
|
|
612
|
+
let text = clipboardData.getData("text/plain") || clipboardData.getData("Text")
|
|
613
|
+
if (text) return text
|
|
614
|
+
let uris = clipboardData.getData("text/uri-list")
|
|
615
|
+
return uris ? uris.replace(/\r?\n/g, " ") : ""
|
|
616
|
+
}
|
|
617
|
+
|
|
611
618
|
editHandlers.paste = (view, _event) => {
|
|
612
619
|
let event = _event as ClipboardEvent
|
|
613
620
|
// Handling paste from JavaScript during composition is very poorly
|
|
@@ -617,7 +624,7 @@ editHandlers.paste = (view, _event) => {
|
|
|
617
624
|
if (view.composing && !browser.android) return
|
|
618
625
|
let data = brokenClipboardAPI ? null : event.clipboardData
|
|
619
626
|
let plain = view.input.shiftKey && view.input.lastKeyCode != 45
|
|
620
|
-
if (data && doPaste(view, data
|
|
627
|
+
if (data && doPaste(view, getText(data), data.getData("text/html"), plain, event))
|
|
621
628
|
event.preventDefault()
|
|
622
629
|
else
|
|
623
630
|
capturePaste(view, event)
|
|
@@ -678,7 +685,7 @@ editHandlers.drop = (view, _event) => {
|
|
|
678
685
|
if (slice) {
|
|
679
686
|
view.someProp("transformPasted", f => { slice = f(slice!, view) })
|
|
680
687
|
} else {
|
|
681
|
-
slice = parseFromClipboard(view, event.dataTransfer
|
|
688
|
+
slice = parseFromClipboard(view, getText(event.dataTransfer),
|
|
682
689
|
brokenClipboardAPI ? null : event.dataTransfer.getData("text/html"), false, $mouse)
|
|
683
690
|
}
|
|
684
691
|
let move = !!(dragging && !event[dragCopyModifier])
|