@cocreate/text 1.18.5 → 1.18.6

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,10 @@
1
+ ## [1.18.6](https://github.com/CoCreate-app/CoCreate-text/compare/v1.18.5...v1.18.6) (2022-11-23)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * bumped [@cocreate](https://github.com/cocreate) dependencies ([2cc50ed](https://github.com/CoCreate-app/CoCreate-text/commit/2cc50ed12f4270b436c849e944b7eea175dd58d2))
7
+
1
8
  ## [1.18.5](https://github.com/CoCreate-app/CoCreate-text/compare/v1.18.4...v1.18.5) (2022-11-22)
2
9
 
3
10
 
@@ -76,7 +76,7 @@ img.intLink { border: 0; }
76
76
  </style>
77
77
  </head>
78
78
  <body onload="initDoc();">
79
- <form name="compForm" method="post" action="sample.php" onsubmit="if(validateMode()){this.myDoc.value=oDoc.innerHTML;return true;}return false;">
79
+ <form name="compForm" method="post" action="sample.php" onsubmit="if (validateMode()){this.myDoc.value=oDoc.innerHTML;return true;}return false;">
80
80
  <input type="hidden" name="myDoc">
81
81
  <div id="toolBar1">
82
82
  <select onchange="formatDoc('formatblock',this[this.selectedIndex].value);this.selectedIndex=0;">
@@ -122,7 +122,7 @@ img.intLink { border: 0; }
122
122
  </select>
123
123
  </div>
124
124
  <div id="toolBar2">
125
- <img class="intLink" title="Clean" onclick="if(validateMode()&&confirm('Are you sure?')){oDoc.innerHTML=sDefTxt};" src="data:image/gif;base64,R0lGODlhFgAWAIQbAD04KTRLYzFRjlldZl9vj1dusY14WYODhpWIbbSVFY6O7IOXw5qbms+wUbCztca0ccS4kdDQjdTLtMrL1O3YitHa7OPcsd/f4PfvrvDv8Pv5xv///////////////////yH5BAEKAB8ALAAAAAAWABYAAAV84CeOZGmeaKqubMteyzK547QoBcFWTm/jgsHq4rhMLoxFIehQQSAWR+Z4IAyaJ0kEgtFoLIzLwRE4oCQWrxoTOTAIhMCZ0tVgMBQKZHAYyFEWEV14eQ8IflhnEHmFDQkAiSkQCI2PDC4QBg+OAJc0ewadNCOgo6anqKkoIQA7" />
125
+ <img class="intLink" title="Clean" onclick="if (validateMode()&&confirm('Are you sure?')){oDoc.innerHTML=sDefTxt};" src="data:image/gif;base64,R0lGODlhFgAWAIQbAD04KTRLYzFRjlldZl9vj1dusY14WYODhpWIbbSVFY6O7IOXw5qbms+wUbCztca0ccS4kdDQjdTLtMrL1O3YitHa7OPcsd/f4PfvrvDv8Pv5xv///////////////////yH5BAEKAB8ALAAAAAAWABYAAAV84CeOZGmeaKqubMteyzK547QoBcFWTm/jgsHq4rhMLoxFIehQQSAWR+Z4IAyaJ0kEgtFoLIzLwRE4oCQWrxoTOTAIhMCZ0tVgMBQKZHAYyFEWEV14eQ8IflhnEHmFDQkAiSkQCI2PDC4QBg+OAJc0ewadNCOgo6anqKkoIQA7" />
126
126
  <img class="intLink" title="Print" onclick="printDoc();" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oEBxcZFmGboiwAAAAIdEVYdENvbW1lbnQA9syWvwAAAuFJREFUOMvtlUtsjFEUx//n3nn0YdpBh1abRpt4LFqtqkc3jRKkNEIsiIRIBBEhJJpKlIVo4m1RRMKKjQiRMJRUqUdKPT71qpIpiRKPaqdF55tv5vvusZjQTjOlseUkd3Xu/3dPzusC/22wtu2wRn+jG5So/OCDh8ycMJDflehMlkJkVK7KUYN+ufzA/RttH76zaVocDptRxzQtNi3mRWuPc+6cKtlXZ/sddP2uu9uXlmYXZ6Qm8v4Tz8lhF1H+zDQXt7S8oLMXtbF4e8QaFHjj3kbP2MzkktHpiTjp9VH6iHiA+whtAsX5brpwueMGdONdf/2A4M7ukDs1JW662+XkqTkeUoqjKtOjm2h53YFL15pSJ04Zc94wdtibr26fXlC2mzRvBccEbz2kiRFD414tKMlEZbVGT33+qCoHgha81SWYsew0r1uzfNylmtpx80pngQQ91LwVk2JGvGnfvZG6YcYRAT16GFtW5kKKfo1EQLtfh5Q2etT0BIWF+aitq4fDbk+ImYo1OxvGF03waFJQvBCkvDffRyEtxQiFFYgAZTHS0zwAGD7fG5TNnYNTp8/FzvGwJOfmgG7GOx0SAKKgQgDMgKBI0NJGMEImpGDk5+WACEwEd0ywblhGUZ4Hw5OdUekRBLT7DTgdEgxACsIznx8zpmWh7k4rkpJcuHDxCul6MDsmmBXDlWCH2+XozSgBnzsNCEE4euYV4pwCpsWYPW0UHDYBKSWu1NYjENDReqtKjwn2+zvtTc1vMSTB/mvev/WEYSlASsLimcOhOBJxw+N3aP/SjefNL5GePZmpu4kG7OPr1+tOfPyUu3BecWYKcwQcDFmwFKAUo90fhKDInBCAmvqnyMgqUEagQwCoHBDc1rjv9pIlD8IbVkz6qYViIBQGTJPx4k0XpIgEZoRN1Da0cij4VfR0ta3WvBXH/rjdCufv6R2zPgPH/e4pxSBCpeatqPrjNiso203/5s/zA171Mv8+w1LOAAAAAElFTkSuQmCC">
127
127
  <img class="intLink" title="Undo" onclick="formatDoc('undo');" src="data:image/gif;base64,R0lGODlhFgAWAOMKADljwliE33mOrpGjuYKl8aezxqPD+7/I19DV3NHa7P///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARR8MlJq7046807TkaYeJJBnES4EeUJvIGapWYAC0CsocQ7SDlWJkAkCA6ToMYWIARGQF3mRQVIEjkkSVLIbSfEwhdRIH4fh/DZMICe3/C4nBQBADs=" />
128
128
  <img class="intLink" title="Redo" onclick="formatDoc('redo');" src="data:image/gif;base64,R0lGODlhFgAWAMIHAB1ChDljwl9vj1iE34Kl8aPD+7/I1////yH5BAEKAAcALAAAAAAWABYAAANKeLrc/jDKSesyphi7SiEgsVXZEATDICqBVJjpqWZt9NaEDNbQK1wCQsxlYnxMAImhyDoFAElJasRRvAZVRqqQXUy7Cgx4TC6bswkAOw==" />
@@ -138,7 +138,7 @@ img.intLink { border: 0; }
138
138
  <img class="intLink" title="Quote" onclick="formatDoc('formatblock','blockquote');" src="data:image/gif;base64,R0lGODlhFgAWAIQXAC1NqjFRjkBgmT9nqUJnsk9xrFJ7u2R9qmKBt1iGzHmOrm6Sz4OXw3Odz4Cl2ZSnw6KxyqO306K63bG70bTB0rDI3bvI4P///////////////////////////////////yH5BAEKAB8ALAAAAAAWABYAAAVP4CeOZGmeaKqubEs2CekkErvEI1zZuOgYFlakECEZFi0GgTGKEBATFmJAVXweVOoKEQgABB9IQDCmrLpjETrQQlhHjINrTq/b7/i8fp8PAQA7" />
139
139
  <img class="intLink" title="Delete indentation" onclick="formatDoc('outdent');" src="data:image/gif;base64,R0lGODlhFgAWAMIHAAAAADljwliE35GjuaezxtDV3NHa7P///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKCQG9F2i7u8agQgyK1z2EIBil+TWqEMxhMczsYVJ3e4ahk+sFnAgtxSQDqWw6n5cEADs=" />
140
140
  <img class="intLink" title="Add indentation" onclick="formatDoc('indent');" src="data:image/gif;base64,R0lGODlhFgAWAOMIAAAAADljwl9vj1iE35GjuaezxtDV3NHa7P///////////////////////////////yH5BAEAAAgALAAAAAAWABYAAAQ7EMlJq704650B/x8gemMpgugwHJNZXodKsO5oqUOgo5KhBwWESyMQsCRDHu9VOyk5TM9zSpFSr9gsJwIAOw==" />
141
- <img class="intLink" title="Hyperlink" onclick="var sLnk=prompt('Write the URL here','http:\/\/');if(sLnk&&sLnk!=''&&sLnk!='http://'){formatDoc('createlink',sLnk)}" src="data:image/gif;base64,R0lGODlhFgAWAOMKAB1ChDRLY19vj3mOrpGjuaezxrCztb/I19Ha7Pv8/f///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARY8MlJq7046827/2BYIQVhHg9pEgVGIklyDEUBy/RlE4FQF4dCj2AQXAiJQDCWQCAEBwIioEMQBgSAFhDAGghGi9XgHAhMNoSZgJkJei33UESv2+/4vD4TAQA7" />
141
+ <img class="intLink" title="Hyperlink" onclick="var sLnk=prompt('Write the URL here','http:\/\/');if (sLnk&&sLnk!=''&&sLnk!='http://'){formatDoc('createlink',sLnk)}" src="data:image/gif;base64,R0lGODlhFgAWAOMKAB1ChDRLY19vj3mOrpGjuaezxrCztb/I19Ha7Pv8/f///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARY8MlJq7046827/2BYIQVhHg9pEgVGIklyDEUBy/RlE4FQF4dCj2AQXAiJQDCWQCAEBwIioEMQBgSAFhDAGghGi9XgHAhMNoSZgJkJei33UESv2+/4vD4TAQA7" />
142
142
  <img class="intLink" title="Cut" onclick="formatDoc('cut');" src="data:image/gif;base64,R0lGODlhFgAWAIQSAB1ChBFNsRJTySJYwjljwkxwl19vj1dusYODhl6MnHmOrpqbmpGjuaezxrCztcDCxL/I18rL1P///////////////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAVu4CeOZGmeaKqubDs6TNnEbGNApNG0kbGMi5trwcA9GArXh+FAfBAw5UexUDAQESkRsfhJPwaH4YsEGAAJGisRGAQY7UCC9ZAXBB+74LGCRxIEHwAHdWooDgGJcwpxDisQBQRjIgkDCVlfmZqbmiEAOw==" />
143
143
  <img class="intLink" title="Copy" onclick="formatDoc('copy');" src="data:image/gif;base64,R0lGODlhFgAWAIQcAB1ChBFNsTRLYyJYwjljwl9vj1iE31iGzF6MnHWX9HOdz5GjuYCl2YKl8ZOt4qezxqK63aK/9KPD+7DI3b/I17LM/MrL1MLY9NHa7OPs++bx/Pv8/f///////////////yH5BAEAAB8ALAAAAAAWABYAAAWG4CeOZGmeaKqubOum1SQ/kPVOW749BeVSus2CgrCxHptLBbOQxCSNCCaF1GUqwQbBd0JGJAyGJJiobE+LnCaDcXAaEoxhQACgNw0FQx9kP+wmaRgYFBQNeAoGihCAJQsCkJAKOhgXEw8BLQYciooHf5o7EA+kC40qBKkAAAGrpy+wsbKzIiEAOw==" />
144
144
  <img class="intLink" title="Paste" onclick="formatDoc('paste');" src="data:image/gif;base64,R0lGODlhFgAWAIQUAD04KTRLY2tXQF9vj414WZWIbXmOrpqbmpGjudClFaezxsa0cb/I1+3YitHa7PrkIPHvbuPs+/fvrvv8/f///////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAWN4CeOZGmeaKqubGsusPvBSyFJjVDs6nJLB0khR4AkBCmfsCGBQAoCwjF5gwquVykSFbwZE+AwIBV0GhFog2EwIDchjwRiQo9E2Fx4XD5R+B0DDAEnBXBhBhN2DgwDAQFjJYVhCQYRfgoIDGiQJAWTCQMRiwwMfgicnVcAAAMOaK+bLAOrtLUyt7i5uiUhADs=" />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/text",
3
- "version": "1.18.5",
3
+ "version": "1.18.6",
4
4
  "description": "A simple text component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",
5
5
  "keywords": [
6
6
  "text",
@@ -61,15 +61,15 @@
61
61
  "webpack-log": "^3.0.1"
62
62
  },
63
63
  "dependencies": {
64
- "@cocreate/actions": "^1.5.19",
65
- "@cocreate/crdt": "^1.14.4",
66
- "@cocreate/crud-client": "^1.13.6",
67
- "@cocreate/cursors": "^1.12.4",
68
- "@cocreate/docs": "^1.4.1",
69
- "@cocreate/hosting": "^1.6.0",
70
- "@cocreate/observer": "^1.5.24",
71
- "@cocreate/selection": "^1.4.28",
72
- "@cocreate/utils": "^1.10.20",
73
- "@cocreate/uuid": "^1.2.22"
64
+ "@cocreate/actions": "^1.5.20",
65
+ "@cocreate/crdt": "^1.14.5",
66
+ "@cocreate/crud-client": "^1.14.0",
67
+ "@cocreate/cursors": "^1.12.5",
68
+ "@cocreate/docs": "^1.4.2",
69
+ "@cocreate/hosting": "^1.6.1",
70
+ "@cocreate/observer": "^1.5.25",
71
+ "@cocreate/selection": "^1.4.29",
72
+ "@cocreate/utils": "^1.10.21",
73
+ "@cocreate/uuid": "^1.2.23"
74
74
  }
75
75
  }
package/src/index.js CHANGED
@@ -11,7 +11,7 @@ import action from '@cocreate/actions';
11
11
  import './saveDomText';
12
12
 
13
13
  let crud
14
- if(CRUD && CRUD.default)
14
+ if (CRUD && CRUD.default)
15
15
  crud = CRUD.default
16
16
  else
17
17
  crud = CRUD
@@ -4,7 +4,7 @@ import CRUD from '@cocreate/crud-client';
4
4
  import crdt from '@cocreate/crdt';
5
5
 
6
6
  let crud
7
- if(CRUD && CRUD.default)
7
+ if (CRUD && CRUD.default)
8
8
  crud = CRUD.default
9
9
  else
10
10
  crud = CRUD
package/src/updateDom.js CHANGED
@@ -5,7 +5,7 @@ import {domParser} from '@cocreate/utils';
5
5
  export function updateDom({domTextEditor, value, start, end, html}) {
6
6
  if (!domTextEditor.htmlString)
7
7
  domTextEditor.htmlString = html;
8
- if(start < 0 || start > domTextEditor.htmlString.length)
8
+ if (start < 0 || start > domTextEditor.htmlString.length)
9
9
  throw new Error('position is out of range');
10
10
 
11
11
  let {element, path, position, type} = getElementPosition(domTextEditor.htmlString, start, end);
@@ -31,7 +31,7 @@ export function updateDom({domTextEditor, value, start, end, html}) {
31
31
  } while (!newEl && index != -1)
32
32
  }
33
33
 
34
- if(!newEl){
34
+ if (!newEl){
35
35
  // console.log("no newEL", path)
36
36
  newEl = domTextEditor.cloneNode(true);
37
37
  if (html != undefined)
@@ -41,12 +41,12 @@ export function updateDom({domTextEditor, value, start, end, html}) {
41
41
  domEl = domTextEditor;
42
42
  type = 'innerHTML';
43
43
  }
44
- else if(element.tagName == 'HTML') {
44
+ else if (element.tagName == 'HTML') {
45
45
  // console.log('element = html')
46
46
  domEl = domTextEditor;
47
47
  type = 'innerHTML';
48
48
  }
49
- else if(path) {
49
+ else if (path) {
50
50
  // console.log("else path", path)
51
51
  domEl = domTextEditor.querySelector(path);
52
52
  // if (!domEl || !oldEl){
@@ -85,7 +85,7 @@ export function updateDom({domTextEditor, value, start, end, html}) {
85
85
  }
86
86
  }
87
87
 
88
- if(domEl && newEl) {
88
+ if (domEl && newEl) {
89
89
  let activeElement = domEl.ownerDocument.activeElement;
90
90
  if (activeElement == domEl)
91
91
  curCaret = getSelection(activeElement);
@@ -101,7 +101,7 @@ export function updateDom({domTextEditor, value, start, end, html}) {
101
101
 
102
102
  // console.log('domEl', domEl)
103
103
  // console.log('newEl', newEl)
104
- if(start != end && type == 'innerHTML') {
104
+ if (start != end && type == 'innerHTML') {
105
105
  domTextEditor.htmlString = html;
106
106
  if (domEl.tagName != 'HTML'){
107
107
  if (newEl.parentElement) {
@@ -134,7 +134,7 @@ export function updateDom({domTextEditor, value, start, end, html}) {
134
134
  // console.log('insertAdjacent', domEl, value)
135
135
  }
136
136
  else if (type == 'textNode'){
137
- if(start != end)
137
+ if (start != end)
138
138
  domTextEditor.htmlString = html;
139
139
  domEl.innerHTML = newEl.innerHTML;
140
140
  // console.log('textnode', domEl.innerHTML, newEl.innerHTML)
@@ -146,7 +146,7 @@ export function updateDom({domTextEditor, value, start, end, html}) {
146
146
  }
147
147
  domTextEditor.htmlString = html;
148
148
 
149
- if(curCaret && start >= 0 && end >= 0) {
149
+ if (curCaret && start >= 0 && end >= 0) {
150
150
  if (curCaret.range && curCaret.range.startContainer == domEl)
151
151
  if (curCaret.start >= curCaret.range.startOffset) {
152
152
  let p = processSelection(domEl, value, curCaret.start, curCaret.end, start, end, curCaret.range);
@@ -188,7 +188,7 @@ function parseHtml(domTextEditor, html) {
188
188
  function assignAttributes(newEl, oldEl, domEl) {
189
189
  if (!oldEl) return;
190
190
  for(let newElAtt of newEl.attributes) {
191
- if(!oldEl.attributes[newElAtt.name] || oldEl.attributes[newElAtt.name].value !== newElAtt.value)
191
+ if (!oldEl.attributes[newElAtt.name] || oldEl.attributes[newElAtt.name].value !== newElAtt.value)
192
192
  try {
193
193
  domEl.setAttribute(newElAtt.name, newElAtt.value);
194
194
  }
@@ -197,10 +197,10 @@ function assignAttributes(newEl, oldEl, domEl) {
197
197
  }
198
198
  }
199
199
 
200
- if(newEl.attributes.length !== oldEl.attributes.length) {
200
+ if (newEl.attributes.length !== oldEl.attributes.length) {
201
201
  for(let i = 0, len = oldEl.attributes.length; i < len; i++) {
202
202
  let oldElAtt = oldEl.attributes[i];
203
- if(!newEl.attributes[oldElAtt.name]) {
203
+ if (!newEl.attributes[oldElAtt.name]) {
204
204
  domEl.removeAttribute(oldElAtt.name);
205
205
  i--, len--;
206
206
  }
package/src/updateText.js CHANGED
@@ -3,7 +3,7 @@ import crdt from '@cocreate/crdt';
3
3
  import {getStringPosition} from '@cocreate/selection';
4
4
 
5
5
  let crud
6
- if(CRUD && CRUD.default)
6
+ if (CRUD && CRUD.default)
7
7
  crud = CRUD.default
8
8
  else
9
9
  crud = CRUD
@@ -12,7 +12,7 @@ export function insertAdjacentElement({ domTextEditor, target, position, element
12
12
  let remove;
13
13
  if (element && !elementValue) {
14
14
  remove = getStringPosition({ string: domTextEditor.htmlString, target: element });
15
- if(!remove.start && !remove.end)
15
+ if (!remove.start && !remove.end)
16
16
  throw new Error('insertAdjacentElement: element not found');
17
17
  elementValue = domTextEditor.htmlString.substring(remove.start, remove.end);
18
18
  }
@@ -69,16 +69,16 @@ export function updateDomText({ domTextEditor, target, position, element, elemen
69
69
  start += pos.start;
70
70
  end += pos.end;
71
71
  }
72
- if(start != end)
72
+ if (start != end)
73
73
  _updateText({domTextEditor, start, end});
74
- if(attribute && remove != 'true' || attribute && value)
74
+ if (attribute && remove != 'true' || attribute && value)
75
75
  _updateText({ domTextEditor, value: ` ${attribute}="${newValue}"`, start });
76
- else if(value)
76
+ else if (value)
77
77
  _updateText({ domTextEditor, value, start });
78
78
  }
79
79
 
80
80
  function _updateText({ domTextEditor, value, start, end}) {
81
- if(domTextEditor.tagName =='HTML')
81
+ if (domTextEditor.tagName =='HTML')
82
82
  domTextEditor = domTextEditor.ownerDocument.defaultView.frameElement;
83
83
  const { collection, document_id, name, isCrud } = crud.getAttributes(domTextEditor);
84
84
  crdt.updateText({ collection, document_id, name, value, start, length: end - start, crud: isCrud });