@syncfusion/ej2-richtexteditor 19.3.46 → 19.3.47

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 : 19.3.46
3
+ * version : 19.3.47
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@19.3.44",
3
+ "_id": "@syncfusion/ej2-richtexteditor@19.3.46",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-OM0g1JsLUI8JVxTl6qlbBHe4bMMADz2FqSGk0RNOqH9RnHPwVYDT8c6OoLyKO3q2SsF+IitoBXx7l1tHSIVEGQ==",
5
+ "_integrity": "sha512-KQjXb4GwcPJNBiezc3uprAR1P3Z0O2zn0ponoX5Y6KdSgN06/h83YeBbgoOVjQTVtK2ni97KMliyopHBJ8IsFQ==",
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": "http://nexus.syncfusion.com/repository/ej2-hotfix/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-19.3.44.tgz",
30
- "_shasum": "218778c3b2355883fe8ad397415b3f36c0adf2cd",
29
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-19.3.46.tgz",
30
+ "_shasum": "ce6564f5c1887ff8ddd139f2fbbf40ccbacb99fe",
31
31
  "_spec": "@syncfusion/ej2-richtexteditor@*",
32
32
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
33
33
  "author": {
@@ -38,13 +38,13 @@
38
38
  },
39
39
  "bundleDependencies": false,
40
40
  "dependencies": {
41
- "@syncfusion/ej2-base": "~19.3.43",
41
+ "@syncfusion/ej2-base": "~19.3.47",
42
42
  "@syncfusion/ej2-buttons": "~19.3.44",
43
43
  "@syncfusion/ej2-filemanager": "~19.3.44",
44
- "@syncfusion/ej2-inputs": "~19.3.44",
44
+ "@syncfusion/ej2-inputs": "~19.3.47",
45
45
  "@syncfusion/ej2-navigations": "~19.3.46",
46
- "@syncfusion/ej2-popups": "~19.3.43",
47
- "@syncfusion/ej2-splitbuttons": "~19.3.45"
46
+ "@syncfusion/ej2-popups": "~19.3.47",
47
+ "@syncfusion/ej2-splitbuttons": "~19.3.47"
48
48
  },
49
49
  "deprecated": false,
50
50
  "description": "Essential JS 2 RichTextEditor component",
@@ -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": "19.3.46",
73
+ "version": "19.3.47",
74
74
  "sideEffects": false
75
75
  }
@@ -146,7 +146,24 @@ var SelectionCommands = /** @class */ (function () {
146
146
  }
147
147
  }
148
148
  }
149
- InsertMethods.unwrap(cursorFormat);
149
+ if ((['fontcolor', 'fontname', 'fontsize', 'backgroundcolor'].indexOf(format) > -1)) {
150
+ if (format === 'fontcolor') {
151
+ cursorFormat.style.color = value;
152
+ }
153
+ else if (format === 'fontname') {
154
+ cursorFormat.style.fontFamily = value;
155
+ }
156
+ else if (format === 'fontsize') {
157
+ cursorFormat.style.fontSize = value;
158
+ }
159
+ else {
160
+ cursorFormat.style.backgroundColor = value;
161
+ }
162
+ cursorNode = cursorFormat;
163
+ }
164
+ else {
165
+ InsertMethods.unwrap(cursorFormat);
166
+ }
150
167
  }
151
168
  else {
152
169
  if (cursorNodes.length > 1 && range.startOffset > 0 && (cursorNodes[0].firstElementChild &&
@@ -1,4 +1,4 @@
1
- import { select, isNullOrUndefined, Browser, addClass, removeClass, EventHandler, closest } from '@syncfusion/ej2-base';
1
+ import { select, isNullOrUndefined, Browser, addClass, removeClass, EventHandler, closest, isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';
2
2
  import { RenderType } from '../base/enum';
3
3
  import * as events from '../base/constant';
4
4
  import { pageYOffset, hasClass, isIDevice } from '../base/util';
@@ -193,7 +193,10 @@ var QuickToolbar = /** @class */ (function () {
193
193
  else {
194
194
  var closestAnchor = closest(target, 'a');
195
195
  target = closestAnchor ? closestAnchor : target;
196
- if (target.tagName !== 'IMG' && target.tagName !== 'A' && (!closest(target, 'td,th') || !range.collapsed)) {
196
+ var startNode = this.parent.getRange().startContainer.parentElement;
197
+ var endNode = this.parent.getRange().endContainer.parentElement;
198
+ if ((isNOU(closest(startNode, 'A')) || isNOU(closest(endNode, 'A'))) && (!closest(target, 'td,th') || !range.collapsed) &&
199
+ (target.tagName !== 'IMG' || this.parent.getRange().startOffset !== this.parent.getRange().endOffset)) {
197
200
  if (this.parent.inlineMode.onSelection && range.collapsed) {
198
201
  return;
199
202
  }
@@ -33,6 +33,7 @@ export declare class Image {
33
33
  private changedHeightValue;
34
34
  private inputWidthValue;
35
35
  private inputHeightValue;
36
+ private removingImgName;
36
37
  private constructor();
37
38
  protected addEventListener(): void;
38
39
  protected removeEventListener(): void;
@@ -78,6 +79,7 @@ export declare class Image {
78
79
  private isUrl;
79
80
  private deleteImg;
80
81
  private imageRemovePost;
82
+ private triggerPost;
81
83
  private caption;
82
84
  private imageSize;
83
85
  private break;
@@ -813,7 +813,7 @@ var Image = /** @class */ (function () {
813
813
  var target = args.target;
814
814
  this.contentModule = this.rendererFactory.getRenderer(RenderType.Content);
815
815
  var isPopupOpen = this.quickToolObj.imageQTBar.element.classList.contains('e-rte-pop');
816
- if (target.nodeName === 'IMG' && this.parent.quickToolbarModule) {
816
+ if (target.nodeName === 'IMG' && this.parent.quickToolbarModule && this.parent.getRange().startOffset === this.parent.getRange().endOffset) {
817
817
  if (isPopupOpen) {
818
818
  return;
819
819
  }
@@ -1052,13 +1052,34 @@ var Image = /** @class */ (function () {
1052
1052
  }
1053
1053
  };
1054
1054
  Image.prototype.imageRemovePost = function (src) {
1055
+ var proxy = this;
1056
+ var absoluteUrl = '';
1057
+ if (src.indexOf('http://') > -1 || src.indexOf('https://') > -1) {
1058
+ absoluteUrl = src;
1059
+ }
1060
+ else {
1061
+ absoluteUrl = new URL(src, document.baseURI).href;
1062
+ }
1063
+ this.removingImgName = absoluteUrl.replace(/^.*[\\\/]/, '');
1064
+ var xhr = new XMLHttpRequest();
1065
+ xhr.addEventListener("readystatechange", function () {
1066
+ if (this.readyState == 4 && this.status == 200) {
1067
+ proxy.triggerPost(this.response);
1068
+ }
1069
+ });
1070
+ xhr.open('GET', absoluteUrl);
1071
+ xhr.responseType = 'blob';
1072
+ xhr.send();
1073
+ };
1074
+ Image.prototype.triggerPost = function (response) {
1055
1075
  var removeUrl = this.parent.insertImageSettings.removeUrl;
1056
1076
  if (isNOU(removeUrl) || removeUrl === '') {
1057
1077
  return;
1058
1078
  }
1079
+ var file = new File([response], this.removingImgName);
1059
1080
  var ajax = new Ajax(removeUrl, 'POST', true, null);
1060
1081
  var formData = new FormData();
1061
- formData.append(name, src);
1082
+ formData.append('UploadFiles', file);
1062
1083
  ajax.send(formData);
1063
1084
  };
1064
1085
  Image.prototype.caption = function (e) {
@@ -1,4 +1,4 @@
1
- import { EventHandler, detach, isNullOrUndefined, select, extend } from '@syncfusion/ej2-base';
1
+ import { EventHandler, detach, isNullOrUndefined, select, extend, isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';
2
2
  import { closest, addClass, removeClass, Browser } from '@syncfusion/ej2-base';
3
3
  import * as events from '../base/constant';
4
4
  import { CLS_RTE_ELEMENTS } from '../base/classes';
@@ -136,7 +136,8 @@ var Link = /** @class */ (function () {
136
136
  this.contentModule = this.rendererFactory.getRenderer(RenderType.Content);
137
137
  var isPopupOpen = this.quickToolObj.linkQTBar.element.classList.contains('e-rte-pop');
138
138
  if (target.nodeName === 'A' && (target.childNodes.length > 0 && target.childNodes[0].nodeName !== 'IMG') &&
139
- e.args.target.nodeName !== 'IMG') {
139
+ e.args.target.nodeName !== 'IMG' &&
140
+ !isNOU(closest(this.parent.getRange().startContainer.parentElement, 'A')) && !isNOU(closest(this.parent.getRange().endContainer.parentElement, 'A'))) {
140
141
  if (isPopupOpen) {
141
142
  return;
142
143
  }
@@ -399,7 +399,9 @@ var Table = /** @class */ (function () {
399
399
  }
400
400
  var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
401
401
  var closestTable = closest(target, 'table');
402
- if (target && target.nodeName !== 'A' && target.nodeName !== 'IMG' && (target.nodeName === 'TD' || target.nodeName === 'TH' ||
402
+ var startNode = this.parent.getRange().startContainer.parentElement;
403
+ var endNode = this.parent.getRange().endContainer.parentElement;
404
+ if (target && target.nodeName !== 'A' && target.nodeName !== 'IMG' && startNode === endNode && (target.nodeName === 'TD' || target.nodeName === 'TH' ||
403
405
  target.nodeName === 'TABLE' || (closestTable && this.parent.contentModule.getEditPanel().contains(closestTable)))
404
406
  && !(range.startContainer.nodeType === 3 && !range.collapsed)) {
405
407
  var range_1 = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
@@ -486,7 +488,6 @@ var Table = /** @class */ (function () {
486
488
  tdNode : target;
487
489
  removeClass(this.contentModule.getEditPanel().querySelectorAll('table td, table th'), classes.CLS_TABLE_SEL);
488
490
  if (target && (target.tagName === 'TD' || target.tagName === 'TH')) {
489
- target.removeAttribute('class');
490
491
  addClass([target], classes.CLS_TABLE_SEL);
491
492
  this.activeCell = target;
492
493
  this.curTable = (this.curTable) ? this.curTable : closest(target, 'table');