@syncfusion/ej2-richtexteditor 20.4.43 → 20.4.44

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.4.43
3
+ * version : 20.4.44
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-richtexteditor@*",
3
- "_id": "@syncfusion/ej2-richtexteditor@20.4.42",
3
+ "_id": "@syncfusion/ej2-richtexteditor@20.4.43",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-6Q5JaOeGQcmOpqZLxpR9o6ogvnsJeAW3sJdpshqeRUAKt4w7yd/ly3Ny0qolUjjplp00hESAS1Kh3l6BbK98jw==",
5
+ "_integrity": "sha512-vqEugl7iKxPWzOs/ki6IYoaHQWRBJz/+yS49WfW/8B+1bhVUMFEGvOflIdU0PawDsVauNFIVvUeLkLE6CpNQCQ==",
6
6
  "_location": "/@syncfusion/ej2-richtexteditor",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -26,8 +26,8 @@
26
26
  "/@syncfusion/ej2-react-richtexteditor",
27
27
  "/@syncfusion/ej2-vue-richtexteditor"
28
28
  ],
29
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-20.4.42.tgz",
30
- "_shasum": "67c24a82816a8ebbedfafbb18e734dfbffc17144",
29
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-20.4.43.tgz",
30
+ "_shasum": "8b15e4adefba29920017e631b7d96b4ff30d5994",
31
31
  "_spec": "@syncfusion/ej2-richtexteditor@*",
32
32
  "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
33
33
  "author": {
@@ -38,12 +38,12 @@
38
38
  },
39
39
  "bundleDependencies": false,
40
40
  "dependencies": {
41
- "@syncfusion/ej2-base": "~20.4.42",
42
- "@syncfusion/ej2-buttons": "~20.4.42",
41
+ "@syncfusion/ej2-base": "~20.4.44",
42
+ "@syncfusion/ej2-buttons": "~20.4.44",
43
43
  "@syncfusion/ej2-filemanager": "~20.4.43",
44
44
  "@syncfusion/ej2-inputs": "~20.4.42",
45
- "@syncfusion/ej2-navigations": "~20.4.43",
46
- "@syncfusion/ej2-popups": "~20.4.43",
45
+ "@syncfusion/ej2-navigations": "~20.4.44",
46
+ "@syncfusion/ej2-popups": "~20.4.44",
47
47
  "@syncfusion/ej2-splitbuttons": "~20.4.42"
48
48
  },
49
49
  "deprecated": false,
@@ -70,6 +70,6 @@
70
70
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
71
71
  },
72
72
  "typings": "index.d.ts",
73
- "version": "20.4.43",
73
+ "version": "20.4.44",
74
74
  "sideEffects": false
75
75
  }
@@ -91,7 +91,7 @@ var Lists = /** @class */ (function () {
91
91
  range.startContainer.parentElement.closest('LI');
92
92
  var endNode = range.endContainer.nodeName === 'LI' ? range.endContainer :
93
93
  range.endContainer.parentElement.closest('LI');
94
- // Checks for Image, Audio , Video Element inside List Element
94
+ // Checks for Image, Audio , Video Element inside List Element
95
95
  var hasMediaElem = false;
96
96
  if (!isNOU(startNode)) {
97
97
  var videoElemList = startNode.querySelectorAll('.e-video-clickelem');
@@ -721,6 +721,11 @@ var Lists = /** @class */ (function () {
721
721
  }
722
722
  node.parentNode.removeChild(node);
723
723
  }
724
+ else if (!isNOU(node.getAttribute('level'))) {
725
+ if (node.tagName === node.previousElementSibling.tagName) {
726
+ node.previousElementSibling.lastChild.append(node);
727
+ }
728
+ }
724
729
  }
725
730
  };
726
731
  Lists.prototype.findUnSelected = function (temp, elements) {
@@ -95,14 +95,17 @@ var SelectionCommands = /** @class */ (function () {
95
95
  isSubSup = formatNode === null ? false : true;
96
96
  }
97
97
  }
98
+ else if ((format === 'fontsize' || format === 'fontname' || format === 'fontcolor') && range.startContainer.parentElement === endNode) {
99
+ formatNode = null;
100
+ }
98
101
  if (index === 0 && formatNode === null) {
99
102
  isFormat = true;
100
103
  }
101
104
  if (formatNode !== null && (!isFormat || isFontStyle)) {
102
105
  nodes[index] = this.removeFormat(nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domSelection, endNode, domNode);
103
106
  }
104
- else {
105
- nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value);
107
+ else if (range.startContainer.parentElement !== endNode || (range.commonAncestorContainer === endNode || nodes.length === 1)) {
108
+ nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode);
106
109
  }
107
110
  domSelection = this.applySelection(nodes, domSelection, nodeCutter, index, isCollapsed);
108
111
  }
@@ -357,10 +360,24 @@ var SelectionCommands = /** @class */ (function () {
357
360
  }
358
361
  return nodes[index];
359
362
  };
360
- SelectionCommands.insertFormat = function (docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value) {
363
+ SelectionCommands.insertFormat = function (docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode) {
364
+ var rootBlockNode;
361
365
  if (!isCursor) {
362
366
  if ((formatNode === null && isFormat) || isFontStyle) {
363
367
  if (nodes[index].nodeName !== 'BR') {
368
+ if (format === 'fontsize' || format === 'fontname' || format === 'fontcolor') {
369
+ var rangeNode = nodes[index];
370
+ while (rangeNode && !domNode.isBlockNode(rangeNode) && rangeNode !== endNode) {
371
+ if (domNode.isBlockNode(rangeNode.parentElement)) {
372
+ rootBlockNode = rangeNode;
373
+ }
374
+ rangeNode = rangeNode.parentElement;
375
+ }
376
+ if (rootBlockNode && rootBlockNode.nodeType !== 3) {
377
+ nodeCutter.SplitNode(range, rootBlockNode, true).cloneNode(true);
378
+ nodeCutter.SplitNode(range, rootBlockNode, false).cloneNode(false);
379
+ }
380
+ }
364
381
  nodes[index] = nodeCutter.GetSpliceNode(range, nodes[index]);
365
382
  nodes[index].textContent = nodeCutter.TrimLineBreak(nodes[index].textContent);
366
383
  }
@@ -370,24 +387,47 @@ var SelectionCommands = /** @class */ (function () {
370
387
  }
371
388
  else if (!(isFontStyle === true && value === '')) {
372
389
  var element = this.GetFormatNode(format, value);
373
- if (format === 'fontsize' || format === 'fontcolor') {
374
- var liElement = nodes[index].parentElement;
375
- var parentElement = nodes[index].parentElement;
376
- while (!isNOU(parentElement) && parentElement.tagName.toLowerCase() !== 'li') {
377
- parentElement = parentElement.parentElement;
378
- liElement = parentElement;
390
+ if (format === 'fontsize' || format === 'fontcolor' || format === 'fontname') {
391
+ if (format !== 'fontname') {
392
+ var liElement = nodes[index].parentElement;
393
+ var parentElement = nodes[index].parentElement;
394
+ while (!isNOU(parentElement) && parentElement.tagName.toLowerCase() !== 'li') {
395
+ parentElement = parentElement.parentElement;
396
+ liElement = parentElement;
397
+ }
398
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
399
+ liElement.textContent.trim() === nodes[index].textContent.trim()) {
400
+ if (format === 'fontsize') {
401
+ liElement.style.fontSize = value;
402
+ }
403
+ else {
404
+ liElement.style.color = value;
405
+ liElement.style.textDecoration = 'inherit';
406
+ }
407
+ }
379
408
  }
380
- if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
381
- liElement.textContent.trim() === nodes[index].textContent.trim()) {
382
- if (format === 'fontsize') {
383
- liElement.style.fontSize = value;
409
+ if (rootBlockNode && rootBlockNode.nodeType !== 3) {
410
+ var save = new NodeSelection();
411
+ save.save(range, docElement);
412
+ domNode.setMarker(save);
413
+ var cloneNode = rootBlockNode.cloneNode(true);
414
+ element.appendChild(cloneNode);
415
+ domNode.replaceWith(rootBlockNode, element.outerHTML);
416
+ var currentStartNode = endNode.querySelector('.e-editor-select-start');
417
+ var currrentEndNode = endNode.querySelector('.e-editor-select-end');
418
+ if (index === 0) {
419
+ nodes[index] = currentStartNode ? currentStartNode.lastChild : nodes[index];
384
420
  }
385
- else {
386
- liElement.style.color = value;
387
- liElement.style.textDecoration = 'inherit';
421
+ if (range.startContainer.parentElement === endNode) {
422
+ if (nodes.length > 1) {
423
+ nodes[nodes.length - 1] = currrentEndNode ? currrentEndNode.lastChild : nodes[index];
424
+ }
388
425
  }
426
+ domNode.saveMarker(save, null);
427
+ }
428
+ else {
429
+ nodes[index] = this.applyStyles(nodes, index, element);
389
430
  }
390
- nodes[index] = this.applyStyles(nodes, index, element);
391
431
  if (format === 'fontsize') {
392
432
  var bg = closest(nodes[index].parentElement, 'span[style*=' + 'background-color' + ']');
393
433
  if (!isNOU(bg)) {
@@ -992,6 +992,10 @@ var RichTextEditor = /** @class */ (function (_super) {
992
992
  if (this.isDestroyed || !this.isRendered) {
993
993
  return;
994
994
  }
995
+ if (!isNOU(this.timeInterval)) {
996
+ clearInterval(this.timeInterval);
997
+ this.timeInterval = null;
998
+ }
995
999
  if (this.element.offsetParent === null) {
996
1000
  if (!isNOU(this.toolbarModule)) {
997
1001
  this.toolbarModule.destroy();
@@ -1001,10 +1005,6 @@ var RichTextEditor = /** @class */ (function (_super) {
1001
1005
  }
1002
1006
  this.notify(events.destroy, {});
1003
1007
  this.destroyDependentModules();
1004
- if (!isNOU(this.timeInterval)) {
1005
- clearInterval(this.timeInterval);
1006
- this.timeInterval = null;
1007
- }
1008
1008
  this.unWireEvents();
1009
1009
  if (this.originalElement.tagName === 'TEXTAREA') {
1010
1010
  this.element.parentElement.insertBefore(this.valueContainer, this.element);
@@ -166,7 +166,6 @@ var Audio = /** @class */ (function () {
166
166
  if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
167
167
  originalEvent.code !== 'KeyK') {
168
168
  range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
169
- save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
170
169
  selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
171
170
  selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
172
171
  if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
@@ -182,6 +181,8 @@ var Audio = /** @class */ (function () {
182
181
  }
183
182
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
184
183
  if (selectNodeEle && this.isAudioElem(selectNodeEle[0]) && selectNodeEle.length < 1) {
184
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
185
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
185
186
  originalEvent.preventDefault();
186
187
  var event_1 = {
187
188
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -230,6 +231,8 @@ var Audio = /** @class */ (function () {
230
231
  }
231
232
  break;
232
233
  case 'insert-audio':
234
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
235
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
233
236
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
234
237
  originalEvent.preventDefault();
235
238
  break;
@@ -623,7 +623,6 @@ var Image = /** @class */ (function () {
623
623
  if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
624
624
  originalEvent.code !== 'KeyK') {
625
625
  range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
626
- save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
627
626
  selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
628
627
  selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
629
628
  if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
@@ -642,6 +641,8 @@ var Image = /** @class */ (function () {
642
641
  }
643
642
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
644
643
  if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
644
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
645
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
645
646
  originalEvent.preventDefault();
646
647
  var event_1 = {
647
648
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -700,6 +701,8 @@ var Image = /** @class */ (function () {
700
701
  }
701
702
  break;
702
703
  case 'insert-image':
704
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
705
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
703
706
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
704
707
  originalEvent.preventDefault();
705
708
  break;
@@ -177,14 +177,15 @@ var Table = /** @class */ (function () {
177
177
  }
178
178
  if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule
179
179
  && event.code !== 'KeyK') {
180
+ var selection = void 0;
180
181
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
181
- var selection = this.parent.formatter.editorManager.
182
- nodeSelection.save(range, this.contentModule.getDocument());
183
182
  var ele = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range)[0];
184
183
  ele = (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') ? ele.parentElement : ele;
185
184
  if ((event.keyCode === 8 || event.keyCode === 46) ||
186
185
  (event.ctrlKey && event.keyCode === 88)) {
187
186
  if (ele && ele.tagName === 'TBODY') {
187
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
188
+ selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
188
189
  event.preventDefault();
189
190
  proxy.removeTable(selection, event, true);
190
191
  }
@@ -198,6 +199,8 @@ var Table = /** @class */ (function () {
198
199
  ele = !isNullOrUndefined(closestTd) && this.parent.inputElement.contains(closestTd) ? closestTd : ele;
199
200
  }
200
201
  if (ele && (ele.tagName === 'TD' || ele.tagName === 'TH')) {
202
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
203
+ selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
201
204
  switch (event.keyCode) {
202
205
  case 9:
203
206
  case 37:
@@ -605,7 +605,6 @@ var Video = /** @class */ (function () {
605
605
  if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
606
606
  originalEvent.code !== 'KeyK') {
607
607
  range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
608
- save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
609
608
  selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
610
609
  selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
611
610
  if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
@@ -625,6 +624,8 @@ var Video = /** @class */ (function () {
625
624
  }
626
625
  if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
627
626
  if (selectNodeEle && (selectNodeEle[0].nodeName === 'VIDEO' || this.isEmbedVidElem(selectNodeEle[0])) && selectNodeEle.length < 1) {
627
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
628
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
628
629
  originalEvent.preventDefault();
629
630
  var event_1 = {
630
631
  selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
@@ -677,6 +678,8 @@ var Video = /** @class */ (function () {
677
678
  }
678
679
  break;
679
680
  case 'insert-video':
681
+ if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
682
+ save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
680
683
  this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
681
684
  originalEvent.preventDefault();
682
685
  break;