@cocreate/text 1.13.0 → 1.13.1
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 +7 -0
- package/package.json +1 -1
- package/src/index.js +15 -17
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## [1.13.1](https://github.com/CoCreate-app/CoCreate-text/compare/v1.13.0...v1.13.1) (2021-11-28)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* replace click and keyup event with selectionchange event ([515da39](https://github.com/CoCreate-app/CoCreate-text/commit/515da39a62af4e350aa2a7857aa48b87c822a5dd))
|
7
|
+
|
1
8
|
# [1.13.0](https://github.com/CoCreate-app/CoCreate-text/compare/v1.12.32...v1.13.0) (2021-11-28)
|
2
9
|
|
3
10
|
|
package/package.json
CHANGED
package/src/index.js
CHANGED
@@ -16,6 +16,11 @@ function init() {
|
|
16
16
|
let elements = document.querySelectorAll(selectors);
|
17
17
|
initElements(elements);
|
18
18
|
_crdtUpdateListener();
|
19
|
+
document.addEventListener('selectionchange', (e) => {
|
20
|
+
let element = document.activeElement;
|
21
|
+
sendPosition(element)
|
22
|
+
console.log(element)
|
23
|
+
});
|
19
24
|
}
|
20
25
|
|
21
26
|
function initElements (elements) {
|
@@ -32,10 +37,16 @@ function initElement (element) {
|
|
32
37
|
if(!collection || !document_id || !name) return;
|
33
38
|
|
34
39
|
if (!isCrdt) {
|
35
|
-
if (element.tagName == 'IFRAME')
|
40
|
+
if (element.tagName == 'IFRAME'){
|
36
41
|
_addEventListeners(element.contentDocument.documentElement);
|
37
|
-
|
38
|
-
|
42
|
+
let Document = element.contentDocument
|
43
|
+
Document.addEventListener('selectionchange', (e) => {
|
44
|
+
let element = Document.activeElement;
|
45
|
+
sendPosition(element)
|
46
|
+
}); }
|
47
|
+
else{
|
48
|
+
_addEventListeners(element);
|
49
|
+
}
|
39
50
|
}
|
40
51
|
element.setAttribute('crdt', 'true');
|
41
52
|
element.crdt = {init: true};
|
@@ -65,9 +76,7 @@ function initElement (element) {
|
|
65
76
|
}
|
66
77
|
|
67
78
|
export function _addEventListeners (element) {
|
68
|
-
element.addEventListener('click', _click);
|
69
79
|
element.addEventListener('blur', _blur);
|
70
|
-
element.addEventListener('keyup', _keyup);
|
71
80
|
element.addEventListener('cut', _cut);
|
72
81
|
element.addEventListener('paste', _paste);
|
73
82
|
element.addEventListener('keydown', _keydown);
|
@@ -75,11 +84,6 @@ export function _addEventListeners (element) {
|
|
75
84
|
element.addEventListener('input', _input);
|
76
85
|
}
|
77
86
|
|
78
|
-
function _click (event) {
|
79
|
-
let element = event.currentTarget;
|
80
|
-
sendPosition(element);
|
81
|
-
}
|
82
|
-
|
83
87
|
function _blur (event) {
|
84
88
|
let element = event.currentTarget;
|
85
89
|
const { collection, document_id, name } = crud.getAttr(element);
|
@@ -88,11 +92,6 @@ function _blur (event) {
|
|
88
92
|
cursors.sendPosition({collection, document_id, name, start, end});
|
89
93
|
}
|
90
94
|
|
91
|
-
function _keyup (event) {
|
92
|
-
let element = event.currentTarget;
|
93
|
-
sendPosition(element);
|
94
|
-
}
|
95
|
-
|
96
95
|
function _cut (event) {
|
97
96
|
let element = event.currentTarget;
|
98
97
|
const { start, end, range } = getSelection(element);
|
@@ -167,6 +166,7 @@ function _beforeinput (event) {
|
|
167
166
|
event.preventDefault();
|
168
167
|
}
|
169
168
|
}
|
169
|
+
|
170
170
|
function _input (event) {
|
171
171
|
if(event.stopCCText) return;
|
172
172
|
if (event.data) {
|
@@ -175,9 +175,7 @@ function _input (event) {
|
|
175
175
|
}
|
176
176
|
|
177
177
|
function _removeEventListeners (element) {
|
178
|
-
element.removeEventListener('click', _click);
|
179
178
|
element.removeEventListener('blur', _blur);
|
180
|
-
element.removeEventListener('keyup', _keyup);
|
181
179
|
element.removeEventListener('cut', _cut);
|
182
180
|
element.removeEventListener('paste', _paste);
|
183
181
|
element.removeEventListener('keydown', _keydown);
|