@cocreate/text 1.6.0 → 1.6.4
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 +28 -0
- package/CoCreate.config.js +2 -1
- package/demo/test-webpage.html +1 -1
- package/package.json +10 -10
- package/src/index.js +17 -23
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
## [1.6.4](https://github.com/CoCreate-app/CoCreate-text/compare/v1.6.3...v1.6.4) (2021-09-18)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* dispatch Event with content, start, end ([3433e01](https://github.com/CoCreate-app/CoCreate-text/commit/3433e01f0c7011a2f94c0a3a129510617450b4fc))
|
7
|
+
|
8
|
+
## [1.6.3](https://github.com/CoCreate-app/CoCreate-text/compare/v1.6.2...v1.6.3) (2021-09-16)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* update dependencies ([69b5e50](https://github.com/CoCreate-app/CoCreate-text/commit/69b5e50a985d2c9e9917ef215bbcd320ec295302))
|
14
|
+
|
15
|
+
## [1.6.2](https://github.com/CoCreate-app/CoCreate-text/compare/v1.6.1...v1.6.2) (2021-09-14)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* add cocreate.app to domains ([af5610b](https://github.com/CoCreate-app/CoCreate-text/commit/af5610be3dceb13972a04546922387ab9934dcce))
|
21
|
+
|
22
|
+
## [1.6.1](https://github.com/CoCreate-app/CoCreate-text/compare/v1.6.0...v1.6.1) (2021-09-13)
|
23
|
+
|
24
|
+
|
25
|
+
### Bug Fixes
|
26
|
+
|
27
|
+
* upgrade dependencies ([d6eb7a7](https://github.com/CoCreate-app/CoCreate-text/commit/d6eb7a715efe067c95a882b26771d8c71e83f5ae))
|
28
|
+
|
1
29
|
# [1.6.0](https://github.com/CoCreate-app/CoCreate-text/compare/v1.5.16...v1.6.0) (2021-09-13)
|
2
30
|
|
3
31
|
|
package/CoCreate.config.js
CHANGED
@@ -14,12 +14,13 @@ module.exports = {
|
|
14
14
|
"name": "index.html",
|
15
15
|
"path": "/docs/text/index.html",
|
16
16
|
"domains": [
|
17
|
+
"cocreate.app",
|
17
18
|
"general.cocreate.app"
|
18
19
|
],
|
19
20
|
"directory": "/docs/text",
|
20
21
|
"content-type": "text/html",
|
21
22
|
"public": "true",
|
22
|
-
"website_id": "
|
23
|
+
"website_id": "614298c2829b690010a5c031"
|
23
24
|
}
|
24
25
|
}
|
25
26
|
],
|
package/demo/test-webpage.html
CHANGED
@@ -191,7 +191,7 @@
|
|
191
191
|
</main>
|
192
192
|
|
193
193
|
<!-- Footer -->
|
194
|
-
<footer id="spreadtheword" content_id="content" class="padding:100px_0px background-size:cover background-position:center position:relative color:white" style="background-image:url(assets/banner.png)" collection="components" document_id="6092ebcc19ec8e58fc80c9e3" name="html">
|
194
|
+
<footer id="spreadtheword" content_id="content" class="padding:100px_0px background-size:cover background-position:center position:relative color:white" style="background-image:url(/assets/banner.png)" collection="components" document_id="6092ebcc19ec8e58fc80c9e3" name="html">
|
195
195
|
</footer>
|
196
196
|
</div>
|
197
197
|
<script>
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@cocreate/text",
|
3
|
-
"version": "1.6.
|
3
|
+
"version": "1.6.4",
|
4
4
|
"description": "A simple text component in vanilla javascript. Easily configured using HTML5 data-attributes and/or JavaScript API.",
|
5
5
|
"keywords": [
|
6
6
|
"text",
|
@@ -61,14 +61,14 @@
|
|
61
61
|
"webpack-log": "^3.0.1"
|
62
62
|
},
|
63
63
|
"dependencies": {
|
64
|
-
"@cocreate/crdt": "^1.3.
|
65
|
-
"@cocreate/crud-client": "^1.2.
|
66
|
-
"@cocreate/cursors": "^1.4.
|
67
|
-
"@cocreate/docs": "^1.2.
|
68
|
-
"@cocreate/floating-label": "^1.1.
|
69
|
-
"@cocreate/form": "^1.2.
|
70
|
-
"@cocreate/hosting": "^1.2.
|
71
|
-
"@cocreate/observer": "^1.3.
|
72
|
-
"@cocreate/utils": "^1.1.
|
64
|
+
"@cocreate/crdt": "^1.3.14",
|
65
|
+
"@cocreate/crud-client": "^1.2.24",
|
66
|
+
"@cocreate/cursors": "^1.4.11",
|
67
|
+
"@cocreate/docs": "^1.2.21",
|
68
|
+
"@cocreate/floating-label": "^1.1.19",
|
69
|
+
"@cocreate/form": "^1.2.17",
|
70
|
+
"@cocreate/hosting": "^1.2.18",
|
71
|
+
"@cocreate/observer": "^1.3.19",
|
72
|
+
"@cocreate/utils": "^1.1.18"
|
73
73
|
}
|
74
74
|
}
|
package/src/index.js
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
import observer from '@cocreate/observer';
|
4
4
|
import crud from '@cocreate/crud-client';
|
5
5
|
import crdt from '@cocreate/crdt';
|
6
|
-
// import contenteditable from './contenteditable';
|
7
6
|
|
8
7
|
let eventObj;
|
9
8
|
let selector = `[collection][document_id][name]`;
|
@@ -40,6 +39,7 @@ function initElement (element) {
|
|
40
39
|
element.value = "";
|
41
40
|
}
|
42
41
|
crdt.init({ collection, document_id, name });
|
42
|
+
// element.crdt = { collection, document_id, name };
|
43
43
|
}
|
44
44
|
}
|
45
45
|
|
@@ -109,6 +109,7 @@ function _keydown (event) {
|
|
109
109
|
sendPosition(element);
|
110
110
|
const { start, end } = getSelections(element);
|
111
111
|
if(event.key == "Backspace" || event.key == "Tab" || event.key == "Enter") {
|
112
|
+
// eventObj = {event, detail: {value: event.key, start, end}};
|
112
113
|
eventObj = event;
|
113
114
|
if(start != end) {
|
114
115
|
deleteText(element, start, end);
|
@@ -134,6 +135,7 @@ function _keypress (event) {
|
|
134
135
|
deleteText(element, start, end);
|
135
136
|
}
|
136
137
|
eventObj = event;
|
138
|
+
// eventObj = {event, detail: {value: event.key, start, end}};
|
137
139
|
insertText(element, event.key, start);
|
138
140
|
event.preventDefault();
|
139
141
|
}
|
@@ -231,12 +233,12 @@ function _crdtUpdateListener () {
|
|
231
233
|
if(element === document.activeElement) {
|
232
234
|
sendPosition(element);
|
233
235
|
}
|
234
|
-
|
236
|
+
updateElement(element, info);
|
235
237
|
});
|
236
238
|
});
|
237
239
|
}
|
238
240
|
|
239
|
-
function
|
241
|
+
function updateElement (element, info) {
|
240
242
|
element.crudSetted = true;
|
241
243
|
|
242
244
|
var pos = 0;
|
@@ -303,22 +305,26 @@ function _updateElementText (element, content, start, end) {
|
|
303
305
|
sendPosition(element);
|
304
306
|
}
|
305
307
|
|
306
|
-
_dispatchInputEvent(element);
|
308
|
+
_dispatchInputEvent(element, content, start, end);
|
307
309
|
}
|
308
310
|
|
309
|
-
function _dispatchInputEvent(element) {
|
311
|
+
function _dispatchInputEvent(element, content, start, end) {
|
310
312
|
if(eventObj) {
|
313
|
+
let detail = {value: content, start, end};
|
311
314
|
let event = new CustomEvent(eventObj.type, { bubbles: true });
|
312
315
|
Object.defineProperty(event, 'stopCCText', { writable: false, value: true });
|
313
|
-
Object.defineProperty(event, 'target', { writable: false, value:
|
316
|
+
Object.defineProperty(event, 'target', { writable: false, value: element });
|
317
|
+
Object.defineProperty(event, 'detail', { writable: false, value: detail });
|
314
318
|
element.dispatchEvent(event);
|
315
319
|
|
316
320
|
let inputEvent = new CustomEvent('input', { bubbles: true });
|
317
|
-
Object.defineProperty(inputEvent, 'target', { writable: false, value:
|
321
|
+
Object.defineProperty(inputEvent, 'target', { writable: false, value: element });
|
322
|
+
Object.defineProperty(inputEvent, 'detail', { writable: false, value: detail });
|
318
323
|
element.dispatchEvent(inputEvent);
|
319
324
|
|
320
325
|
let textChange = new CustomEvent('textChange', { bubbles: true });
|
321
|
-
Object.defineProperty(textChange, 'target', { writable: false, value:
|
326
|
+
Object.defineProperty(textChange, 'target', { writable: false, value: element });
|
327
|
+
Object.defineProperty(textChange, 'detail', { writable: false, value: detail });
|
322
328
|
element.dispatchEvent(textChange);
|
323
329
|
eventObj = null;
|
324
330
|
}
|
@@ -390,22 +396,10 @@ const contenteditable = {
|
|
390
396
|
}
|
391
397
|
}
|
392
398
|
setSelection(element, prev_start, prev_end);
|
393
|
-
_dispatchInputEvent(element);
|
394
|
-
return { start: prev_start, end: prev_end };
|
399
|
+
_dispatchInputEvent(element, content, start, end);
|
395
400
|
},
|
396
401
|
|
397
|
-
|
398
|
-
// if (document.activeElement !== element) return;
|
399
|
-
|
400
|
-
// var selection = document.getSelection();
|
401
|
-
// var range = this._cloneRangeByPosition(element, start, end);
|
402
|
-
// selection.removeAllRanges();
|
403
|
-
// selection.addRange(range);
|
404
|
-
|
405
|
-
// sendPosition(element);
|
406
|
-
// _dispatchInputEvent(element);
|
407
|
-
// },
|
408
|
-
|
402
|
+
|
409
403
|
_cloneRangeByPosition: function(element, start, end, range) {
|
410
404
|
if (!range) {
|
411
405
|
range = document.createRange();
|
@@ -467,4 +461,4 @@ observer.init({
|
|
467
461
|
}
|
468
462
|
});
|
469
463
|
|
470
|
-
export default {initElements, initElement, getSelections, hasSelection, insertText, deleteText};
|
464
|
+
export default {initElements, initElement, getSelections, hasSelection, insertText, deleteText, updateElement};
|