@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 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
 
@@ -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": "61381ed8829b690010a4f2b2"
23
+ "website_id": "614298c2829b690010a5c031"
23
24
  }
24
25
  }
25
26
  ],
@@ -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.0",
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.10",
65
- "@cocreate/crud-client": "^1.2.18",
66
- "@cocreate/cursors": "^1.4.8",
67
- "@cocreate/docs": "^1.2.17",
68
- "@cocreate/floating-label": "^1.1.15",
69
- "@cocreate/form": "^1.2.12",
70
- "@cocreate/hosting": "^1.2.15",
71
- "@cocreate/observer": "^1.3.15",
72
- "@cocreate/utils": "^1.1.14"
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
- _updateElement(element, info);
236
+ updateElement(element, info);
235
237
  });
236
238
  });
237
239
  }
238
240
 
239
- function _updateElement (element, info) {
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: eventObj.target });
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: eventObj.target });
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: eventObj.target });
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
- // setSelection: function(element, start, end) {
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};