@syncfusion/ej2-richtexteditor 18.1.52 → 18.2.44-4568

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.
Files changed (177) hide show
  1. package/CHANGELOG.md +614 -572
  2. package/README.md +67 -67
  3. package/dist/ej2-richtexteditor.umd.min.js +1 -10
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +353 -136
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +364 -147
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/license +9 -9
  10. package/package.json +50 -73
  11. package/src/common/interface.d.ts +6 -6
  12. package/src/editor-manager/base/classes.d.ts +1 -1
  13. package/src/editor-manager/base/classes.js +1 -1
  14. package/src/editor-manager/base/editor-manager.d.ts +3 -3
  15. package/src/editor-manager/base/editor-manager.js +3 -3
  16. package/src/editor-manager/base/interface.d.ts +7 -7
  17. package/src/editor-manager/base/types.d.ts +1 -1
  18. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  19. package/src/editor-manager/plugin/alignments.js +2 -2
  20. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  21. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  22. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  23. package/src/editor-manager/plugin/clearformat.js +1 -1
  24. package/src/editor-manager/plugin/dom-node.d.ts +34 -34
  25. package/src/editor-manager/plugin/dom-node.js +34 -34
  26. package/src/editor-manager/plugin/formats.d.ts +2 -2
  27. package/src/editor-manager/plugin/formats.js +2 -2
  28. package/src/editor-manager/plugin/image.d.ts +3 -3
  29. package/src/editor-manager/plugin/image.js +3 -3
  30. package/src/editor-manager/plugin/indents.d.ts +2 -2
  31. package/src/editor-manager/plugin/indents.js +2 -2
  32. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  33. package/src/editor-manager/plugin/insert-methods.js +4 -4
  34. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  35. package/src/editor-manager/plugin/insert-text.js +2 -2
  36. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  37. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  38. package/src/editor-manager/plugin/inserthtml.d.ts +4 -2
  39. package/src/editor-manager/plugin/inserthtml.js +42 -6
  40. package/src/editor-manager/plugin/isformatted.d.ts +8 -8
  41. package/src/editor-manager/plugin/isformatted.js +8 -8
  42. package/src/editor-manager/plugin/link.d.ts +2 -2
  43. package/src/editor-manager/plugin/link.js +2 -2
  44. package/src/editor-manager/plugin/lists.d.ts +2 -2
  45. package/src/editor-manager/plugin/lists.js +4 -14
  46. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +1 -1
  47. package/src/editor-manager/plugin/ms-word-clean-up.js +1 -1
  48. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  49. package/src/editor-manager/plugin/nodecutter.js +6 -6
  50. package/src/editor-manager/plugin/selection-commands.d.ts +1 -1
  51. package/src/editor-manager/plugin/selection-commands.js +1 -1
  52. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  53. package/src/editor-manager/plugin/selection-exec.js +2 -2
  54. package/src/editor-manager/plugin/table.d.ts +2 -2
  55. package/src/editor-manager/plugin/table.js +2 -2
  56. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  57. package/src/editor-manager/plugin/toolbar-status.js +2 -2
  58. package/src/editor-manager/plugin/undo.d.ts +6 -6
  59. package/src/editor-manager/plugin/undo.js +6 -6
  60. package/src/markdown-parser/base/interface.d.ts +10 -10
  61. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  62. package/src/markdown-parser/base/markdown-parser.js +3 -3
  63. package/src/markdown-parser/base/types.d.ts +1 -1
  64. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  65. package/src/markdown-parser/plugin/clearformat.js +2 -2
  66. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  67. package/src/markdown-parser/plugin/formats.js +2 -2
  68. package/src/markdown-parser/plugin/link.d.ts +2 -2
  69. package/src/markdown-parser/plugin/link.js +2 -2
  70. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  71. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  72. package/src/markdown-parser/plugin/md-selection-formats.d.ts +2 -2
  73. package/src/markdown-parser/plugin/md-selection-formats.js +2 -2
  74. package/src/markdown-parser/plugin/table.d.ts +3 -3
  75. package/src/markdown-parser/plugin/table.js +3 -3
  76. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  77. package/src/markdown-parser/plugin/undo.js +6 -6
  78. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +9 -9
  79. package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -9
  80. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  81. package/src/rich-text-editor/actions/base-toolbar.js +3 -3
  82. package/src/rich-text-editor/actions/color-picker.d.ts +2 -2
  83. package/src/rich-text-editor/actions/color-picker.js +2 -2
  84. package/src/rich-text-editor/actions/count.d.ts +3 -3
  85. package/src/rich-text-editor/actions/count.js +3 -3
  86. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  87. package/src/rich-text-editor/actions/dropdown-buttons.js +2 -2
  88. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  89. package/src/rich-text-editor/actions/full-screen.js +3 -3
  90. package/src/rich-text-editor/actions/html-editor.d.ts +3 -3
  91. package/src/rich-text-editor/actions/html-editor.js +3 -3
  92. package/src/rich-text-editor/actions/keyboard-model.d.ts +13 -13
  93. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  94. package/src/rich-text-editor/actions/keyboard.js +1 -1
  95. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  96. package/src/rich-text-editor/actions/markdown-editor.js +2 -2
  97. package/src/rich-text-editor/actions/paste-clean-up.d.ts +1 -1
  98. package/src/rich-text-editor/actions/paste-clean-up.js +34 -3
  99. package/src/rich-text-editor/actions/quick-toolbar.d.ts +19 -9
  100. package/src/rich-text-editor/actions/quick-toolbar.js +17 -7
  101. package/src/rich-text-editor/actions/toolbar.d.ts +13 -13
  102. package/src/rich-text-editor/actions/toolbar.js +13 -13
  103. package/src/rich-text-editor/base/classes.d.ts +102 -102
  104. package/src/rich-text-editor/base/classes.js +102 -102
  105. package/src/rich-text-editor/base/constant.d.ts +111 -101
  106. package/src/rich-text-editor/base/constant.js +111 -101
  107. package/src/rich-text-editor/base/enum.d.ts +1 -1
  108. package/src/rich-text-editor/base/enum.js +1 -1
  109. package/src/rich-text-editor/base/interface.d.ts +51 -40
  110. package/src/rich-text-editor/base/interface.js +1 -1
  111. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +659 -641
  112. package/src/rich-text-editor/base/rich-text-editor.d.ts +84 -52
  113. package/src/rich-text-editor/base/rich-text-editor.js +100 -43
  114. package/src/rich-text-editor/base/util.d.ts +1 -1
  115. package/src/rich-text-editor/base/util.js +1 -1
  116. package/src/rich-text-editor/formatter/formatter.d.ts +9 -8
  117. package/src/rich-text-editor/formatter/formatter.js +10 -8
  118. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  119. package/src/rich-text-editor/formatter/html-formatter.js +2 -2
  120. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  121. package/src/rich-text-editor/formatter/markdown-formatter.js +2 -2
  122. package/src/rich-text-editor/models/iframe-settings-model.d.ts +21 -21
  123. package/src/rich-text-editor/models/inline-mode-model.d.ts +9 -9
  124. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +228 -228
  125. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  126. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  127. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +3 -2
  128. package/src/rich-text-editor/renderer/dialog-renderer.js +8 -8
  129. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  130. package/src/rich-text-editor/renderer/iframe-content-renderer.js +4 -4
  131. package/src/rich-text-editor/renderer/image-module.d.ts +1 -1
  132. package/src/rich-text-editor/renderer/image-module.js +96 -29
  133. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  134. package/src/rich-text-editor/renderer/link-module.js +1 -1
  135. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  136. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  137. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  138. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  139. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  140. package/src/rich-text-editor/renderer/render.js +2 -2
  141. package/src/rich-text-editor/renderer/table-module.d.ts +1 -1
  142. package/src/rich-text-editor/renderer/table-module.js +5 -3
  143. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +8 -8
  144. package/src/rich-text-editor/renderer/toolbar-renderer.js +21 -9
  145. package/src/rich-text-editor/renderer/view-source.d.ts +6 -6
  146. package/src/rich-text-editor/renderer/view-source.js +6 -6
  147. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  148. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  149. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  150. package/src/rich-text-editor/services/service-locator.js +3 -3
  151. package/src/selection/selection.d.ts +22 -22
  152. package/src/selection/selection.js +22 -22
  153. package/styles/_all.scss +2 -2
  154. package/styles/rich-text-editor/_all.scss +2 -2
  155. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +151 -151
  156. package/styles/rich-text-editor/_bootstrap-definition.scss +184 -184
  157. package/styles/rich-text-editor/_bootstrap4-definition.scss +307 -307
  158. package/styles/rich-text-editor/_fabric-dark-definition.scss +150 -150
  159. package/styles/rich-text-editor/_fabric-definition.scss +148 -148
  160. package/styles/rich-text-editor/_highcontrast-definition.scss +148 -148
  161. package/styles/rich-text-editor/_highcontrast-light-definition.scss +148 -148
  162. package/styles/rich-text-editor/_layout.scss +1332 -1332
  163. package/styles/rich-text-editor/_material-dark-definition.scss +151 -151
  164. package/styles/rich-text-editor/_material-definition.scss +150 -150
  165. package/styles/rich-text-editor/_theme.scss +484 -484
  166. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +285 -285
  167. package/styles/rich-text-editor/icons/_bootstrap.scss +284 -284
  168. package/styles/rich-text-editor/icons/_bootstrap4.scss +284 -284
  169. package/styles/rich-text-editor/icons/_fabric-dark.scss +284 -284
  170. package/styles/rich-text-editor/icons/_fabric.scss +284 -284
  171. package/styles/rich-text-editor/icons/_highcontrast-light.scss +284 -284
  172. package/styles/rich-text-editor/icons/_highcontrast.scss +284 -284
  173. package/styles/rich-text-editor/icons/_material-dark.scss +284 -284
  174. package/styles/rich-text-editor/icons/_material.scss +284 -284
  175. package/dist/global/ej2-richtexteditor.min.js +0 -11
  176. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  177. package/dist/global/index.d.ts +0 -14
@@ -2,7 +2,7 @@ import { getEditValue } from '../base/util';
2
2
  /**
3
3
  * Content module is used to render Rich Text Editor content
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  var ContentRender = /** @class */ (function () {
8
8
  /**
@@ -15,7 +15,7 @@ var ContentRender = /** @class */ (function () {
15
15
  /**
16
16
  * The function is used to render Rich Text Editor content div
17
17
  * @hidden
18
-
18
+ * @deprecated
19
19
  */
20
20
  ContentRender.prototype.renderPanel = function () {
21
21
  var rteObj = this.parent;
@@ -37,7 +37,7 @@ var ContentRender = /** @class */ (function () {
37
37
  * Get the content div element of RichTextEditor
38
38
  * @return {Element}
39
39
  * @hidden
40
-
40
+ * @deprecated
41
41
  */
42
42
  ContentRender.prototype.getPanel = function () {
43
43
  return this.contentPanel;
@@ -46,7 +46,7 @@ var ContentRender = /** @class */ (function () {
46
46
  * Get the editable element of RichTextEditor
47
47
  * @return {Element}
48
48
  * @hidden
49
-
49
+ * @deprecated
50
50
  */
51
51
  ContentRender.prototype.getEditPanel = function () {
52
52
  return this.editableElement;
@@ -62,7 +62,7 @@ var ContentRender = /** @class */ (function () {
62
62
  * Set the content div element of RichTextEditor
63
63
  * @param {Element} panel
64
64
  * @hidden
65
-
65
+ * @deprecated
66
66
  */
67
67
  ContentRender.prototype.setPanel = function (panel) {
68
68
  this.contentPanel = panel;
@@ -71,7 +71,7 @@ var ContentRender = /** @class */ (function () {
71
71
  * Get the document of RichTextEditor
72
72
  * @return {Document}
73
73
  * @hidden
74
-
74
+ * @deprecated
75
75
  */
76
76
  ContentRender.prototype.getDocument = function () {
77
77
  return this.getEditPanel().ownerDocument;
@@ -10,15 +10,16 @@ export declare class DialogRenderer {
10
10
  /**
11
11
  * dialog render method
12
12
  * @hidden
13
-
13
+ * @deprecated
14
14
  */
15
15
  render(e: DialogModel): Dialog;
16
16
  private beforeOpen;
17
17
  private open;
18
+ private beforeClose;
18
19
  /**
19
20
  * dialog close method
20
21
  * @hidden
21
-
22
+ * @deprecated
22
23
  */
23
24
  close(args: Object): void;
24
25
  }
@@ -11,19 +11,16 @@ var DialogRenderer = /** @class */ (function () {
11
11
  /**
12
12
  * dialog render method
13
13
  * @hidden
14
-
14
+ * @deprecated
15
15
  */
16
16
  DialogRenderer.prototype.render = function (e) {
17
17
  var dlgObj;
18
- if (isNOU(e.beforeOpen)) {
19
- e.beforeOpen = this.beforeOpen.bind(this);
20
- }
21
- if (isNOU(e.open)) {
22
- e.open = this.open.bind(this);
23
- }
18
+ e.beforeOpen = this.beforeOpen.bind(this);
19
+ e.open = this.open.bind(this);
24
20
  if (isNOU(e.close)) {
25
21
  e.close = this.close.bind(this);
26
22
  }
23
+ e.beforeClose = this.beforeClose.bind(this);
27
24
  dlgObj = new Dialog(e);
28
25
  dlgObj.isStringTemplate = true;
29
26
  return dlgObj;
@@ -34,10 +31,13 @@ var DialogRenderer = /** @class */ (function () {
34
31
  DialogRenderer.prototype.open = function (args) {
35
32
  this.parent.trigger(events.dialogOpen, args);
36
33
  };
34
+ DialogRenderer.prototype.beforeClose = function (args) {
35
+ this.parent.trigger(events.beforeDialogClose, args);
36
+ };
37
37
  /**
38
38
  * dialog close method
39
39
  * @hidden
40
-
40
+ * @deprecated
41
41
  */
42
42
  DialogRenderer.prototype.close = function (args) {
43
43
  this.parent.trigger(events.dialogClose, args);
@@ -2,13 +2,13 @@ import { ContentRender } from '../renderer/content-renderer';
2
2
  /**
3
3
  * Content module is used to render Rich Text Editor content
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare class IframeContentRender extends ContentRender {
8
8
  /**
9
9
  * The function is used to render Rich Text Editor iframe
10
10
  * @hidden
11
-
11
+ * @deprecated
12
12
  */
13
13
  renderPanel(): void;
14
14
  private setThemeColor;
@@ -16,14 +16,14 @@ export declare class IframeContentRender extends ContentRender {
16
16
  * Get the editable element of RichTextEditor
17
17
  * @return {Element}
18
18
  * @hidden
19
-
19
+ * @deprecated
20
20
  */
21
21
  getEditPanel(): Element;
22
22
  /**
23
23
  * Get the document of RichTextEditor
24
24
  * @param {Document}
25
25
  * @hidden
26
-
26
+ * @deprecated
27
27
  */
28
28
  getDocument(): Document;
29
29
  }
@@ -20,7 +20,7 @@ var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n
20
20
  /**
21
21
  * Content module is used to render Rich Text Editor content
22
22
  * @hidden
23
-
23
+ * @deprecated
24
24
  */
25
25
  var IframeContentRender = /** @class */ (function (_super) {
26
26
  __extends(IframeContentRender, _super);
@@ -30,7 +30,7 @@ var IframeContentRender = /** @class */ (function (_super) {
30
30
  /**
31
31
  * The function is used to render Rich Text Editor iframe
32
32
  * @hidden
33
-
33
+ * @deprecated
34
34
  */
35
35
  IframeContentRender.prototype.renderPanel = function () {
36
36
  var rteObj = this.parent;
@@ -64,7 +64,7 @@ var IframeContentRender = /** @class */ (function (_super) {
64
64
  * Get the editable element of RichTextEditor
65
65
  * @return {Element}
66
66
  * @hidden
67
-
67
+ * @deprecated
68
68
  */
69
69
  IframeContentRender.prototype.getEditPanel = function () {
70
70
  var editNode;
@@ -80,7 +80,7 @@ var IframeContentRender = /** @class */ (function (_super) {
80
80
  * Get the document of RichTextEditor
81
81
  * @param {Document}
82
82
  * @hidden
83
-
83
+ * @deprecated
84
84
  */
85
85
  IframeContentRender.prototype.getDocument = function () {
86
86
  return this.getEditPanel().ownerDocument;
@@ -121,7 +121,7 @@ export declare class Image {
121
121
  * @method destroy
122
122
  * @return {void}
123
123
  * @hidden
124
-
124
+ * @deprecated
125
125
  */
126
126
  destroy(): void;
127
127
  /**
@@ -485,23 +485,29 @@ var Image = /** @class */ (function () {
485
485
  var selectNodeEle;
486
486
  var selectParentEle;
487
487
  this.deletedImg = [];
488
+ var isCursor;
489
+ var keyCodeValues = [27, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
490
+ 44, 45, 9, 16, 17, 18, 19, 20, 33, 34, 35, 36, 37, 38, 39, 40, 91, 92, 93, 144, 145, 182, 183];
491
+ if (this.parent.editorMode === 'HTML') {
492
+ range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
493
+ isCursor = range.startContainer === range.endContainer && range.startOffset === range.endOffset;
494
+ }
495
+ if (!isCursor && this.parent.editorMode === 'HTML' && keyCodeValues.indexOf(originalEvent.which) < 0) {
496
+ var nodes = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
497
+ for (var i = 0; i < nodes.length; i++) {
498
+ if (nodes[i].nodeName === 'IMG') {
499
+ this.deletedImg.push(nodes[i]);
500
+ }
501
+ }
502
+ }
488
503
  if (this.parent.editorMode === 'HTML' && ((originalEvent.which === 8 && originalEvent.code === 'Backspace') ||
489
504
  (originalEvent.which === 46 && originalEvent.code === 'Delete'))) {
490
- var range_1 = this.parent.getRange();
491
- var isCursor = range_1.startContainer === range_1.endContainer && range_1.startOffset === range_1.endOffset;
492
- if ((originalEvent.which === 8 && originalEvent.code === 'Backspace' && isCursor)) {
493
- this.checkImageBack(range_1);
494
- }
495
- else if ((originalEvent.which === 46 && originalEvent.code === 'Delete' && isCursor)) {
496
- this.checkImageDel(range_1);
497
- }
498
- else if (!isCursor) {
499
- var nodes = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range_1);
500
- for (var i = 0; i < nodes.length; i++) {
501
- if (nodes[i].nodeName === 'IMG') {
502
- this.deletedImg.push(nodes[i]);
503
- }
504
- }
505
+ var isCursor_1 = range.startContainer === range.endContainer && range.startOffset === range.endOffset;
506
+ if ((originalEvent.which === 8 && originalEvent.code === 'Backspace' && isCursor_1)) {
507
+ this.checkImageBack(range);
508
+ }
509
+ else if ((originalEvent.which === 46 && originalEvent.code === 'Delete' && isCursor_1)) {
510
+ this.checkImageDel(range);
505
511
  }
506
512
  }
507
513
  if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
@@ -534,7 +540,7 @@ var Image = /** @class */ (function () {
534
540
  originalEvent: originalEvent
535
541
  }
536
542
  };
537
- this.deleteImg(event_1);
543
+ this.deleteImg(event_1, originalEvent.keyCode);
538
544
  }
539
545
  if (this.parent.contentModule.getEditPanel().querySelector('.e-img-resize')) {
540
546
  this.remvoeResizEle();
@@ -578,7 +584,7 @@ var Image = /** @class */ (function () {
578
584
  if (!isNOU(this.deletedImg) && this.deletedImg.length > 0) {
579
585
  for (var i = 0; i < this.deletedImg.length; i++) {
580
586
  var args = {
581
- img: this.deletedImg[i],
587
+ element: this.deletedImg[i],
582
588
  src: this.deletedImg[i].getAttribute('src')
583
589
  };
584
590
  this.parent.trigger(events.afterImageDelete, args);
@@ -917,11 +923,14 @@ var Image = /** @class */ (function () {
917
923
  var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi;
918
924
  return regexp.test(url);
919
925
  };
920
- Image.prototype.deleteImg = function (e) {
926
+ Image.prototype.deleteImg = function (e, keyCode) {
921
927
  if (e.selectNode[0].nodeName !== 'IMG') {
922
928
  return;
923
929
  }
924
- var args = { img: e.selectNode[0] };
930
+ var args = {
931
+ element: e.selectNode[0],
932
+ src: e.selectNode[0].getAttribute('src')
933
+ };
925
934
  if (this.parent.formatter.getUndoRedoStack().length === 0) {
926
935
  this.parent.formatter.saveData();
927
936
  }
@@ -938,7 +947,9 @@ var Image = /** @class */ (function () {
938
947
  this.quickToolObj.imageQTBar.hidePopup();
939
948
  }
940
949
  this.cancelResizeAction();
941
- this.parent.trigger(events.afterImageDelete, args);
950
+ if (isNullOrUndefined(keyCode)) {
951
+ this.parent.trigger(events.afterImageDelete, args);
952
+ }
942
953
  };
943
954
  Image.prototype.caption = function (e) {
944
955
  var selectNode = e.selectNode[0];
@@ -1352,15 +1363,24 @@ var Image = /** @class */ (function () {
1352
1363
  });
1353
1364
  uploadParentEle.appendChild(uploadEle);
1354
1365
  var altText;
1366
+ var rawFile;
1367
+ var selectArgs;
1368
+ var beforeUploadArgs;
1355
1369
  this.uploadObj = new Uploader({
1356
1370
  asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, },
1357
1371
  dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
1358
1372
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
1359
1373
  selected: function (e) {
1360
1374
  proxy.isImgUploaded = true;
1361
- _this.parent.trigger(events.imageSelected, e, function (e) {
1362
- _this.checkExtension(e.filesData[0]);
1363
- altText = e.filesData[0].name;
1375
+ selectArgs = e;
1376
+ if (_this.parent.isServerRendered) {
1377
+ selectArgs = JSON.parse(JSON.stringify(e));
1378
+ e.cancel = true;
1379
+ rawFile = e.filesData;
1380
+ }
1381
+ _this.parent.trigger(events.imageSelected, selectArgs, function (selectArgs) {
1382
+ _this.checkExtension(selectArgs.filesData[0]);
1383
+ altText = selectArgs.filesData[0].name;
1364
1384
  if (_this.parent.editorMode === 'HTML' && isNullOrUndefined(_this.parent.insertImageSettings.path)) {
1365
1385
  var reader_1 = new FileReader();
1366
1386
  reader_1.addEventListener('load', function (e) {
@@ -1379,12 +1399,33 @@ var Image = /** @class */ (function () {
1379
1399
  };
1380
1400
  proxy.inputUrl.setAttribute('disabled', 'true');
1381
1401
  });
1382
- reader_1.readAsDataURL(e.filesData[0].rawFile);
1402
+ reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
1403
+ }
1404
+ if (_this.parent.isServerRendered) {
1405
+ /* tslint:disable */
1406
+ _this.uploadObj._internalRenderSelect(selectArgs, rawFile);
1407
+ /* tslint:enable */
1383
1408
  }
1384
1409
  });
1385
1410
  },
1411
+ beforeUpload: function (args) {
1412
+ if (_this.parent.isServerRendered) {
1413
+ beforeUploadArgs = JSON.parse(JSON.stringify(args));
1414
+ args.cancel = true;
1415
+ _this.parent.trigger(events.imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
1416
+ if (beforeUploadArgs.cancel) {
1417
+ return;
1418
+ }
1419
+ /* tslint:disable */
1420
+ _this.uploadObj.uploadFiles(rawFile, null);
1421
+ /* tslint:enable */
1422
+ });
1423
+ }
1424
+ },
1386
1425
  uploading: function (e) {
1387
- _this.parent.trigger(events.imageUploading, e);
1426
+ if (!_this.parent.isServerRendered) {
1427
+ _this.parent.trigger(events.imageUploading, e);
1428
+ }
1388
1429
  },
1389
1430
  success: function (e) {
1390
1431
  _this.parent.trigger(events.imageUploadSuccess, e, function (e) {
@@ -1429,6 +1470,9 @@ var Image = /** @class */ (function () {
1429
1470
  if (this.uploadObj.allowedExtensions.toLocaleLowerCase().indexOf(('.' + e.type).toLocaleLowerCase()) === -1) {
1430
1471
  this.dialogObj.getButtons(0).element.setAttribute('disabled', 'disabled');
1431
1472
  }
1473
+ else {
1474
+ this.dialogObj.getButtons(0).element.removeAttribute('disabled');
1475
+ }
1432
1476
  }
1433
1477
  };
1434
1478
  Image.prototype.fileSelect = function () {
@@ -1654,6 +1698,8 @@ var Image = /** @class */ (function () {
1654
1698
  var timeOut = dragEvent.dataTransfer.files[0].size > 1000000 ? 300 : 100;
1655
1699
  setTimeout(function () { proxy.refreshPopup(imageElement); }, timeOut);
1656
1700
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
1701
+ var rawFile;
1702
+ var beforeUploadArgs;
1657
1703
  this.uploadObj = new Uploader({
1658
1704
  asyncSettings: {
1659
1705
  saveUrl: this.parent.insertImageSettings.saveUrl,
@@ -1673,15 +1719,36 @@ var Image = /** @class */ (function () {
1673
1719
  detach(imageElement);
1674
1720
  _this.popupObj.close();
1675
1721
  },
1722
+ beforeUpload: function (args) {
1723
+ if (_this.parent.isServerRendered) {
1724
+ beforeUploadArgs = JSON.parse(JSON.stringify(args));
1725
+ args.cancel = true;
1726
+ isUploading = true;
1727
+ _this.parent.trigger(events.imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
1728
+ if (beforeUploadArgs.cancel) {
1729
+ return;
1730
+ }
1731
+ /* tslint:disable */
1732
+ _this.uploadObj.uploadFiles(rawFile, null);
1733
+ _this.parent.inputElement.contentEditable = 'false';
1734
+ /* tslint:enable */
1735
+ });
1736
+ }
1737
+ },
1676
1738
  uploading: function (e) {
1677
- isUploading = true;
1678
- _this.parent.trigger(events.imageUploading, e);
1679
- _this.parent.inputElement.contentEditable = 'false';
1739
+ if (!_this.parent.isServerRendered) {
1740
+ isUploading = true;
1741
+ _this.parent.trigger(events.imageUploading, e);
1742
+ _this.parent.inputElement.contentEditable = 'false';
1743
+ }
1680
1744
  },
1681
1745
  selected: function (e) {
1682
1746
  if (isUploading) {
1683
1747
  e.cancel = true;
1684
1748
  }
1749
+ if (_this.parent.isServerRendered) {
1750
+ rawFile = e.filesData;
1751
+ }
1685
1752
  },
1686
1753
  failure: function (e) {
1687
1754
  isUploading = false;
@@ -1809,7 +1876,7 @@ var Image = /** @class */ (function () {
1809
1876
  * @method destroy
1810
1877
  * @return {void}
1811
1878
  * @hidden
1812
-
1879
+ * @deprecated
1813
1880
  */
1814
1881
  Image.prototype.destroy = function () {
1815
1882
  this.removeEventListener();
@@ -38,7 +38,7 @@ export declare class Link {
38
38
  * @method destroy
39
39
  * @return {void}
40
40
  * @hidden
41
-
41
+ * @deprecated
42
42
  */
43
43
  destroy(): void;
44
44
  /**
@@ -443,7 +443,7 @@ var Link = /** @class */ (function () {
443
443
  * @method destroy
444
444
  * @return {void}
445
445
  * @hidden
446
-
446
+ * @deprecated
447
447
  */
448
448
  Link.prototype.destroy = function () {
449
449
  this.removeEventListener();
@@ -2,7 +2,7 @@ import { IRenderer, IRichTextEditor } from '../base/interface';
2
2
  /**
3
3
  * Markdown module is used to render Rich Text Editor as Markdown editor content
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare class MarkdownRender implements IRenderer {
8
8
  private contentPanel;
@@ -15,21 +15,21 @@ export declare class MarkdownRender implements IRenderer {
15
15
  /**
16
16
  * The function is used to render Rich Text Editor content div
17
17
  * @hidden
18
-
18
+ * @deprecated
19
19
  */
20
20
  renderPanel(): void;
21
21
  /**
22
22
  * Get the content div element of RichTextEditor
23
23
  * @return {Element}
24
24
  * @hidden
25
-
25
+ * @deprecated
26
26
  */
27
27
  getPanel(): Element;
28
28
  /**
29
29
  * Get the editable element of RichTextEditor
30
30
  * @return {Element}
31
31
  * @hidden
32
-
32
+ * @deprecated
33
33
  */
34
34
  getEditPanel(): Element;
35
35
  /**
@@ -41,14 +41,14 @@ export declare class MarkdownRender implements IRenderer {
41
41
  * Set the content div element of RichTextEditor
42
42
  * @param {Element} panel
43
43
  * @hidden
44
-
44
+ * @deprecated
45
45
  */
46
46
  setPanel(panel: Element): void;
47
47
  /**
48
48
  * Get the document of RichTextEditor
49
49
  * @param {Document}
50
50
  * @hidden
51
-
51
+ * @deprecated
52
52
  */
53
53
  getDocument(): Document;
54
54
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Markdown module is used to render Rich Text Editor as Markdown editor content
3
3
  * @hidden
4
-
4
+ * @deprecated
5
5
  */
6
6
  var MarkdownRender = /** @class */ (function () {
7
7
  /**
@@ -13,7 +13,7 @@ var MarkdownRender = /** @class */ (function () {
13
13
  /**
14
14
  * The function is used to render Rich Text Editor content div
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  MarkdownRender.prototype.renderPanel = function () {
19
19
  var rteObj = this.parent;
@@ -30,7 +30,7 @@ var MarkdownRender = /** @class */ (function () {
30
30
  * Get the content div element of RichTextEditor
31
31
  * @return {Element}
32
32
  * @hidden
33
-
33
+ * @deprecated
34
34
  */
35
35
  MarkdownRender.prototype.getPanel = function () {
36
36
  return this.contentPanel;
@@ -39,7 +39,7 @@ var MarkdownRender = /** @class */ (function () {
39
39
  * Get the editable element of RichTextEditor
40
40
  * @return {Element}
41
41
  * @hidden
42
-
42
+ * @deprecated
43
43
  */
44
44
  MarkdownRender.prototype.getEditPanel = function () {
45
45
  return this.editableElement;
@@ -55,7 +55,7 @@ var MarkdownRender = /** @class */ (function () {
55
55
  * Set the content div element of RichTextEditor
56
56
  * @param {Element} panel
57
57
  * @hidden
58
-
58
+ * @deprecated
59
59
  */
60
60
  MarkdownRender.prototype.setPanel = function (panel) {
61
61
  this.contentPanel = panel;
@@ -64,7 +64,7 @@ var MarkdownRender = /** @class */ (function () {
64
64
  * Get the document of RichTextEditor
65
65
  * @param {Document}
66
66
  * @hidden
67
-
67
+ * @deprecated
68
68
  */
69
69
  MarkdownRender.prototype.getDocument = function () {
70
70
  return this.getEditPanel().ownerDocument;
@@ -3,7 +3,7 @@ import { BaseQuickToolbar } from '../actions/base-quick-toolbar';
3
3
  /**
4
4
  * `Popup renderer` module is used to render popup in RichTextEditor.
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class PopupRenderer implements IRenderer {
9
9
  private popupObj;
@@ -17,27 +17,27 @@ export declare class PopupRenderer implements IRenderer {
17
17
  /**
18
18
  * renderPopup method
19
19
  * @hidden
20
-
20
+ * @deprecated
21
21
  */
22
22
  renderPopup(args: BaseQuickToolbar): void;
23
23
  /**
24
24
  * The function is used to add popup class in Quick Toolbar
25
25
  * @hidden
26
-
26
+ * @deprecated
27
27
  */
28
28
  renderPanel(): void;
29
29
  /**
30
30
  * Get the popup element of RichTextEditor
31
31
  * @return {Element}
32
32
  * @hidden
33
-
33
+ * @deprecated
34
34
  */
35
35
  getPanel(): Element;
36
36
  /**
37
37
  * Set the popup element of RichTextEditor
38
38
  * @param {Element} panel
39
39
  * @hidden
40
-
40
+ * @deprecated
41
41
  */
42
42
  setPanel(panel: Element): void;
43
43
  }
@@ -5,7 +5,7 @@ import * as events from '../base/constant';
5
5
  /**
6
6
  * `Popup renderer` module is used to render popup in RichTextEditor.
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  var PopupRenderer = /** @class */ (function () {
11
11
  /**
@@ -21,7 +21,7 @@ var PopupRenderer = /** @class */ (function () {
21
21
  /**
22
22
  * renderPopup method
23
23
  * @hidden
24
-
24
+ * @deprecated
25
25
  */
26
26
  PopupRenderer.prototype.renderPopup = function (args) {
27
27
  this.setPanel(args.element);
@@ -37,7 +37,7 @@ var PopupRenderer = /** @class */ (function () {
37
37
  /**
38
38
  * The function is used to add popup class in Quick Toolbar
39
39
  * @hidden
40
-
40
+ * @deprecated
41
41
  */
42
42
  PopupRenderer.prototype.renderPanel = function () {
43
43
  this.getPanel().classList.add(CLS_QUICK_POP);
@@ -46,7 +46,7 @@ var PopupRenderer = /** @class */ (function () {
46
46
  * Get the popup element of RichTextEditor
47
47
  * @return {Element}
48
48
  * @hidden
49
-
49
+ * @deprecated
50
50
  */
51
51
  PopupRenderer.prototype.getPanel = function () {
52
52
  return this.popupPanel;
@@ -55,7 +55,7 @@ var PopupRenderer = /** @class */ (function () {
55
55
  * Set the popup element of RichTextEditor
56
56
  * @param {Element} panel
57
57
  * @hidden
58
-
58
+ * @deprecated
59
59
  */
60
60
  PopupRenderer.prototype.setPanel = function (panel) {
61
61
  this.popupPanel = panel;
@@ -3,7 +3,7 @@ import { ServiceLocator } from '../services/service-locator';
3
3
  /**
4
4
  * Content module is used to render Rich Text Editor content
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class Render {
9
9
  private parent;
@@ -17,7 +17,7 @@ export declare class Render {
17
17
  /**
18
18
  * To initialize Rich Text Editor header, content and footer rendering
19
19
  * @hidden
20
-
20
+ * @deprecated
21
21
  */
22
22
  render(): void;
23
23
  /**
@@ -3,7 +3,7 @@ import * as events from '../base/constant';
3
3
  /**
4
4
  * Content module is used to render Rich Text Editor content
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  var Render = /** @class */ (function () {
9
9
  /**
@@ -18,7 +18,7 @@ var Render = /** @class */ (function () {
18
18
  /**
19
19
  * To initialize Rich Text Editor header, content and footer rendering
20
20
  * @hidden
21
-
21
+ * @deprecated
22
22
  */
23
23
  Render.prototype.render = function () {
24
24
  var rteObj = this.parent;
@@ -86,7 +86,7 @@ export declare class Table {
86
86
  * @method destroy
87
87
  * @return {void}
88
88
  * @hidden
89
-
89
+ * @deprecated
90
90
  */
91
91
  destroy(): void;
92
92
  /**