@syncfusion/ej2-richtexteditor 19.3.43 → 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.
- package/CHANGELOG.md +44 -2
- package/dist/ej2-richtexteditor.umd.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +199 -80
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +195 -80
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/dist/global/ej2-richtexteditor.min.js +2 -2
- package/dist/global/ej2-richtexteditor.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +12 -12
- package/src/common/constant.d.ts +8 -8
- package/src/common/constant.js +8 -8
- package/src/editor-manager/base/editor-manager.js +1 -1
- package/src/editor-manager/plugin/clearformat.d.ts +1 -0
- package/src/editor-manager/plugin/clearformat.js +1 -0
- package/src/editor-manager/plugin/image.js +12 -17
- package/src/editor-manager/plugin/inserthtml.js +16 -6
- package/src/editor-manager/plugin/lists.js +0 -1
- package/src/editor-manager/plugin/ms-word-clean-up.js +1 -0
- package/src/editor-manager/plugin/selection-commands.d.ts +1 -0
- package/src/editor-manager/plugin/selection-commands.js +52 -2
- package/src/editor-manager/plugin/table.js +3 -3
- package/src/editor-manager/plugin/toolbar-status.js +3 -3
- package/src/rich-text-editor/actions/enter-key.js +4 -16
- package/src/rich-text-editor/actions/html-editor.d.ts +1 -0
- package/src/rich-text-editor/actions/html-editor.js +31 -1
- package/src/rich-text-editor/actions/quick-toolbar.js +5 -2
- package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -0
- package/src/rich-text-editor/actions/xhtml-validation.js +5 -3
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +6 -6
- package/src/rich-text-editor/base/util.d.ts +1 -0
- package/src/rich-text-editor/base/util.js +1 -0
- package/src/rich-text-editor/renderer/image-module.d.ts +2 -0
- package/src/rich-text-editor/renderer/image-module.js +39 -12
- package/src/rich-text-editor/renderer/link-module.js +5 -3
- package/src/rich-text-editor/renderer/table-module.js +10 -3
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +0 -1
- package/src/rich-text-editor/renderer/toolbar-renderer.js +1 -1
- package/styles/bootstrap-dark.css +1 -1
- package/styles/bootstrap.css +1 -1
- package/styles/bootstrap4.css +1 -1
- package/styles/bootstrap5-dark.css +1 -1
- package/styles/bootstrap5.css +1 -1
- package/styles/fabric-dark.css +1 -1
- package/styles/fabric.css +1 -1
- package/styles/highcontrast-light.css +1 -1
- package/styles/highcontrast.css +1 -1
- package/styles/material-dark.css +1 -1
- package/styles/material.css +1 -1
- package/styles/rich-text-editor/_tailwind-definition.scss +1 -1
- package/styles/rich-text-editor/_theme.scss +1 -1
- package/styles/rich-text-editor/bootstrap-dark.css +1 -1
- package/styles/rich-text-editor/bootstrap.css +1 -1
- package/styles/rich-text-editor/bootstrap4.css +1 -1
- package/styles/rich-text-editor/bootstrap5-dark.css +1 -1
- package/styles/rich-text-editor/bootstrap5.css +1 -1
- package/styles/rich-text-editor/fabric-dark.css +1 -1
- package/styles/rich-text-editor/fabric.css +1 -1
- package/styles/rich-text-editor/highcontrast-light.css +1 -1
- package/styles/rich-text-editor/highcontrast.css +1 -1
- package/styles/rich-text-editor/material-dark.css +1 -1
- package/styles/rich-text-editor/material.css +1 -1
- package/styles/rich-text-editor/tailwind-dark.css +1 -1
- package/styles/rich-text-editor/tailwind.css +1 -1
- package/styles/tailwind-dark.css +1 -1
- package/styles/tailwind.css +1 -1
|
@@ -314,7 +314,7 @@ var Image = /** @class */ (function () {
|
|
|
314
314
|
if (width > height) {
|
|
315
315
|
img.style.minWidth = '20px';
|
|
316
316
|
if (this.parent.insertImageSettings.resizeByPercent) {
|
|
317
|
-
if (parseInt('' + img.getBoundingClientRect().width + '') !== 0 && parseInt('' + width + '') !== 0) {
|
|
317
|
+
if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
|
|
318
318
|
var percentageValue = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement));
|
|
319
319
|
img.style.width = Math.min(Math.round((percentageValue / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
|
|
320
320
|
}
|
|
@@ -340,7 +340,7 @@ var Image = /** @class */ (function () {
|
|
|
340
340
|
}
|
|
341
341
|
else if (height > width) {
|
|
342
342
|
if (this.parent.insertImageSettings.resizeByPercent) {
|
|
343
|
-
if (parseInt('' + img.getBoundingClientRect().width + '') !== 0 && parseInt('' + width + '') !== 0) {
|
|
343
|
+
if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
|
|
344
344
|
img.style.width = Math.min(Math.round((width / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
|
|
345
345
|
}
|
|
346
346
|
else {
|
|
@@ -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(
|
|
1082
|
+
formData.append('UploadFiles', file);
|
|
1062
1083
|
ajax.send(formData);
|
|
1063
1084
|
};
|
|
1064
1085
|
Image.prototype.caption = function (e) {
|
|
@@ -1298,9 +1319,15 @@ var Image = /** @class */ (function () {
|
|
|
1298
1319
|
(this.parent.getToolbarElement() && this.parent.getToolbarElement().contains(e.target) &&
|
|
1299
1320
|
!closest(target, '#' + this.parent.getID() + '_toolbar_Image') &&
|
|
1300
1321
|
!target.querySelector('#' + this.parent.getID() + '_toolbar_Image')))) {
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1322
|
+
/* eslint-disable */
|
|
1323
|
+
if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) {
|
|
1324
|
+
}
|
|
1325
|
+
else {
|
|
1326
|
+
this.dialogObj.hide({ returnValue: true });
|
|
1327
|
+
this.parent.isBlur = true;
|
|
1328
|
+
dispatchEvent(this.parent.element, 'focusout');
|
|
1329
|
+
}
|
|
1330
|
+
/* eslint-enable */
|
|
1304
1331
|
}
|
|
1305
1332
|
if (e.target.tagName !== 'IMG' && this.imgResizeDiv && !(this.quickToolObj &&
|
|
1306
1333
|
this.quickToolObj.imageQTBar && this.quickToolObj.imageQTBar.element.contains(e.target)) &&
|
|
@@ -1404,11 +1431,11 @@ var Image = /** @class */ (function () {
|
|
|
1404
1431
|
var imgWidth = this.i10n.getConstant('imageWidth');
|
|
1405
1432
|
var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' });
|
|
1406
1433
|
var widthVal = isNullOrUndefined(this.changedWidthValue) && (selectNode.style.width.toString() === 'auto' ||
|
|
1407
|
-
selectNode.style.width !==
|
|
1408
|
-
this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString())).toString();
|
|
1434
|
+
selectNode.style.width !== '') ? selectNode.style.width : !isNullOrUndefined(this.changedWidthValue) ?
|
|
1435
|
+
this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString(), 10)).toString();
|
|
1409
1436
|
var heightVal = isNullOrUndefined(this.changedHeightValue) && (selectNode.style.height.toString() === 'auto' ||
|
|
1410
|
-
selectNode.style.height !==
|
|
1411
|
-
this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString())).toString();
|
|
1437
|
+
selectNode.style.height !== '') ? selectNode.style.height : !isNullOrUndefined(this.changedHeightValue) ?
|
|
1438
|
+
this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString(), 10)).toString();
|
|
1412
1439
|
this.changedWidthValue = null;
|
|
1413
1440
|
this.changedHeightValue = null;
|
|
1414
1441
|
var content = '<div class="e-rte-label"><label>' + imgWidth +
|
|
@@ -1447,7 +1474,7 @@ var Image = /** @class */ (function () {
|
|
|
1447
1474
|
return value;
|
|
1448
1475
|
}
|
|
1449
1476
|
else {
|
|
1450
|
-
return
|
|
1477
|
+
return 'auto';
|
|
1451
1478
|
}
|
|
1452
1479
|
};
|
|
1453
1480
|
Image.prototype.insertSize = 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
|
}
|
|
@@ -397,7 +398,8 @@ var Link = /** @class */ (function () {
|
|
|
397
398
|
else {
|
|
398
399
|
argsValue = this.args;
|
|
399
400
|
}
|
|
400
|
-
this.selfLink.parent.formatter.process(this.selfLink.parent, argsValue, (!isNullOrUndefined(this.args) &&
|
|
401
|
+
this.selfLink.parent.formatter.process(this.selfLink.parent, argsValue, (!isNullOrUndefined(this.args) &&
|
|
402
|
+
this.args.originalEvent), value);
|
|
401
403
|
this.selfLink.parent.contentModule.getEditPanel().focus();
|
|
402
404
|
};
|
|
403
405
|
Link.prototype.isUrl = function (url) {
|
|
@@ -238,8 +238,12 @@ var Table = /** @class */ (function () {
|
|
|
238
238
|
if (args.args && args.args.item.cssClass) {
|
|
239
239
|
var classList = args.args.item.cssClass.split(' ');
|
|
240
240
|
for (var i = 0; i < classList.length; i++) {
|
|
241
|
-
(table.classList.contains(classList[i]))
|
|
241
|
+
if (table.classList.contains(classList[i])) {
|
|
242
|
+
table.classList.remove(classList[i]);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
242
245
|
table.classList.add(classList[i]);
|
|
246
|
+
}
|
|
243
247
|
}
|
|
244
248
|
}
|
|
245
249
|
this.parent.formatter.saveData();
|
|
@@ -395,7 +399,9 @@ var Table = /** @class */ (function () {
|
|
|
395
399
|
}
|
|
396
400
|
var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
|
|
397
401
|
var closestTable = closest(target, 'table');
|
|
398
|
-
|
|
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' ||
|
|
399
405
|
target.nodeName === 'TABLE' || (closestTable && this.parent.contentModule.getEditPanel().contains(closestTable)))
|
|
400
406
|
&& !(range.startContainer.nodeType === 3 && !range.collapsed)) {
|
|
401
407
|
var range_1 = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
|
|
@@ -482,7 +488,6 @@ var Table = /** @class */ (function () {
|
|
|
482
488
|
tdNode : target;
|
|
483
489
|
removeClass(this.contentModule.getEditPanel().querySelectorAll('table td, table th'), classes.CLS_TABLE_SEL);
|
|
484
490
|
if (target && (target.tagName === 'TD' || target.tagName === 'TH')) {
|
|
485
|
-
target.removeAttribute('class');
|
|
486
491
|
addClass([target], classes.CLS_TABLE_SEL);
|
|
487
492
|
this.activeCell = target;
|
|
488
493
|
this.curTable = (this.curTable) ? this.curTable : closest(target, 'table');
|
|
@@ -581,6 +586,7 @@ var Table = /** @class */ (function () {
|
|
|
581
586
|
top: 0,
|
|
582
587
|
left: 0
|
|
583
588
|
};
|
|
589
|
+
// eslint-disable-next-line
|
|
584
590
|
var offset = elem.getBoundingClientRect();
|
|
585
591
|
var doc = elem.ownerDocument;
|
|
586
592
|
var offsetParent = elem.offsetParent || doc.documentElement;
|
|
@@ -593,6 +599,7 @@ var Table = /** @class */ (function () {
|
|
|
593
599
|
offsetParent = closest(offsetParent, '.e-rte-content');
|
|
594
600
|
}
|
|
595
601
|
if (offsetParent && offsetParent !== elem && offsetParent.nodeType === 1) {
|
|
602
|
+
// eslint-disable-next-line
|
|
596
603
|
parentOffset = offsetParent.getBoundingClientRect();
|
|
597
604
|
}
|
|
598
605
|
return {
|
|
@@ -183,7 +183,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
183
183
|
* renderListDropDown method
|
|
184
184
|
*
|
|
185
185
|
* @param {IDropDownModel} args - specifies the the arguments.
|
|
186
|
-
* @param {string} item - specifies the string value
|
|
187
186
|
* @returns {void}
|
|
188
187
|
* @hidden
|
|
189
188
|
|
|
@@ -471,6 +470,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
471
470
|
enablePersistence: this.parent.enablePersistence,
|
|
472
471
|
enableRtl: this.parent.enableRtl,
|
|
473
472
|
inline: true,
|
|
473
|
+
value: '#fff',
|
|
474
474
|
created: function () {
|
|
475
475
|
var value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
|
|
476
476
|
colorPicker.setProperties({ value: value });
|
package/styles/bootstrap.css
CHANGED
package/styles/bootstrap4.css
CHANGED
package/styles/bootstrap5.css
CHANGED
package/styles/fabric-dark.css
CHANGED
package/styles/fabric.css
CHANGED
package/styles/highcontrast.css
CHANGED
|
@@ -2880,7 +2880,7 @@ span.e-rte-imageboxmark {
|
|
|
2880
2880
|
border: 1px solid #ffd939;
|
|
2881
2881
|
}
|
|
2882
2882
|
|
|
2883
|
-
.e-rte-table.e-alternate-border tbody tr:nth-child(2n) {
|
|
2883
|
+
.e-rte-table.e-alternate-border tbody tr:nth-child(2n+0) {
|
|
2884
2884
|
background-color: #f5f5f5;
|
|
2885
2885
|
color: #000;
|
|
2886
2886
|
}
|
package/styles/material-dark.css
CHANGED
package/styles/material.css
CHANGED
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
border: 1px solid $rte-table-span-active-border-color;
|
|
532
532
|
}
|
|
533
533
|
|
|
534
|
-
.e-rte-table.e-alternate-border tbody tr:nth-child(2n) {
|
|
534
|
+
.e-rte-table.e-alternate-border tbody tr:nth-child(2n+0) {
|
|
535
535
|
background-color: $rte-table-alternate-color;
|
|
536
536
|
@if $skin-name == 'highcontrast' {
|
|
537
537
|
color: $rte-img-popup-color;
|
|
@@ -2880,7 +2880,7 @@ span.e-rte-imageboxmark {
|
|
|
2880
2880
|
border: 1px solid #ffd939;
|
|
2881
2881
|
}
|
|
2882
2882
|
|
|
2883
|
-
.e-rte-table.e-alternate-border tbody tr:nth-child(2n) {
|
|
2883
|
+
.e-rte-table.e-alternate-border tbody tr:nth-child(2n+0) {
|
|
2884
2884
|
background-color: #f5f5f5;
|
|
2885
2885
|
color: #000;
|
|
2886
2886
|
}
|
package/styles/tailwind-dark.css
CHANGED
package/styles/tailwind.css
CHANGED