@writergate/quill-image-uploader-nextjs 0.2.0 → 0.2.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writergate/quill-image-uploader-nextjs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/enlear/quill-image-uploader-nextjs.git"
|
|
@@ -58,8 +58,5 @@
|
|
|
58
58
|
"bugs": {
|
|
59
59
|
"url": "https://github.com/enlear/quill-image-uploader-nextjs/issues"
|
|
60
60
|
},
|
|
61
|
-
"homepage": "https://github.com/enlear/quill-image-uploader-nextjs#readme"
|
|
62
|
-
"dependencies": {
|
|
63
|
-
"nanoid": "^4.0.2"
|
|
64
|
-
}
|
|
61
|
+
"homepage": "https://github.com/enlear/quill-image-uploader-nextjs#readme"
|
|
65
62
|
}
|
package/src/blots/comment.js
CHANGED
|
@@ -23,8 +23,8 @@ class CommentBlot extends InlineBlot {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
CommentBlot.blotName = "commentBlot";
|
|
26
|
-
CommentBlot.tagName = "
|
|
26
|
+
CommentBlot.tagName = "span";
|
|
27
27
|
|
|
28
|
-
Quill.register(
|
|
28
|
+
Quill.register(CommentBlot);
|
|
29
29
|
|
|
30
30
|
export default CommentBlot;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import LoadingImage from "./blots/image.js";
|
|
2
2
|
import CommentBlot from "./blots/comment.js";
|
|
3
|
-
import GenerateRandomId from "./utils/nano-id.js";
|
|
4
3
|
|
|
5
4
|
class ImageUploader {
|
|
6
5
|
constructor(quill, options) {
|
|
@@ -13,6 +12,11 @@ class ImageUploader {
|
|
|
13
12
|
"[Missing config] upload function that returns a promise is required"
|
|
14
13
|
);
|
|
15
14
|
|
|
15
|
+
if (typeof this.options.renderComment !== "function")
|
|
16
|
+
console.warn(
|
|
17
|
+
"[Missing config] renderComment function that returns a promise is required"
|
|
18
|
+
);
|
|
19
|
+
|
|
16
20
|
if (typeof this.options.newComment !== "function")
|
|
17
21
|
console.warn(
|
|
18
22
|
"[Missing config] newComment function that returns a promise is required"
|
|
@@ -32,6 +36,7 @@ class ImageUploader {
|
|
|
32
36
|
|
|
33
37
|
this.handleDrop = this.handleDrop.bind(this);
|
|
34
38
|
this.handlePaste = this.handlePaste.bind(this);
|
|
39
|
+
this.renderComment = this.renderComment.bind(this);
|
|
35
40
|
|
|
36
41
|
this.quill.root.addEventListener("drop", this.handleDrop, false);
|
|
37
42
|
this.quill.root.addEventListener("paste", this.handlePaste, false);
|
|
@@ -45,15 +50,29 @@ class ImageUploader {
|
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
|
|
53
|
+
renderComment(comment) {
|
|
54
|
+
const { id, range } = comment;
|
|
55
|
+
const { index, length } = range;
|
|
56
|
+
const formattedRange = {
|
|
57
|
+
length,
|
|
58
|
+
index,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
this.quill.formatText(
|
|
62
|
+
formattedRange,
|
|
63
|
+
CommentBlot.blotName,
|
|
64
|
+
{ commentId: id },
|
|
65
|
+
"user"
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
48
69
|
addComment() {
|
|
49
|
-
const commentId = GenerateRandomId();
|
|
50
70
|
let range = this.quill.getSelection();
|
|
51
71
|
if (range && range.length > 0 && this.options.newComment) {
|
|
52
72
|
this.quill.history.userOnly = true;
|
|
53
73
|
range.top = this.quill.getBounds(range.index, range.length).top;
|
|
54
74
|
const selectedText = this.quill.getText(range.index, range.length);
|
|
55
|
-
this.
|
|
56
|
-
this.options.newComment(range, selectedText, commentId);
|
|
75
|
+
this.options.newComment(range, selectedText);
|
|
57
76
|
}
|
|
58
77
|
this.quill.theme.tooltip.hide();
|
|
59
78
|
this.quill.history.userOnly = true;
|
|
@@ -80,7 +99,6 @@ class ImageUploader {
|
|
|
80
99
|
|
|
81
100
|
clean() {
|
|
82
101
|
const range = this.quill.getSelection(true);
|
|
83
|
-
const formats = this.quill.getFormat(range);
|
|
84
102
|
// running it twise to remove colors
|
|
85
103
|
this.quill.removeFormat(range.index, range.length, "user");
|
|
86
104
|
this.quill.removeFormat(range.index, range.length, "user");
|
|
@@ -236,5 +254,5 @@ class ImageUploader {
|
|
|
236
254
|
}
|
|
237
255
|
|
|
238
256
|
window.ImageUploader = ImageUploader;
|
|
257
|
+
export const commentBlotName = CommentBlot.blotName;
|
|
239
258
|
export default ImageUploader;
|
|
240
|
-
export { CommentBlot, LoadingImage };
|