@syncfusion/ej2-richtexteditor 23.2.6 → 23.2.7
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 +18 -0
- package/dist/ej2-richtexteditor.min.js +2 -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 +118 -26
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +118 -26
- 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 +7 -7
- package/src/editor-manager/plugin/inserthtml.js +3 -1
- package/src/editor-manager/plugin/ms-word-clean-up.js +6 -2
- package/src/rich-text-editor/actions/enter-key.js +1 -1
- package/src/rich-text-editor/actions/paste-clean-up.js +4 -2
- package/src/rich-text-editor/renderer/audio-module.js +0 -1
- package/src/rich-text-editor/renderer/dialog-renderer.d.ts +1 -0
- package/src/rich-text-editor/renderer/dialog-renderer.js +11 -0
- package/src/rich-text-editor/renderer/image-module.js +2 -4
- package/src/rich-text-editor/renderer/table-module.d.ts +1 -0
- package/src/rich-text-editor/renderer/table-module.js +8 -0
- package/src/rich-text-editor/renderer/toolbar-renderer.js +79 -10
- package/src/rich-text-editor/renderer/video-module.js +1 -2
- package/src/rich-text-editor/renderer/view-source.js +3 -3
|
@@ -3340,7 +3340,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
3340
3340
|
};
|
|
3341
3341
|
ToolbarRenderer.prototype.destroyTooltip = function () {
|
|
3342
3342
|
if (!isNullOrUndefined(document.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(document.querySelector(' [data-tooltip-id]'))) {
|
|
3343
|
-
var tooltipTargetEle =
|
|
3343
|
+
var tooltipTargetEle = this.parent.element.querySelector('[data-tooltip-id]');
|
|
3344
3344
|
var event_1 = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
|
|
3345
3345
|
tooltipTargetEle.dispatchEvent(event_1);
|
|
3346
3346
|
}
|
|
@@ -3501,17 +3501,86 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
3501
3501
|
return;
|
|
3502
3502
|
}
|
|
3503
3503
|
// eslint-disable-next-line
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
3504
|
+
// Table styles dropdown preselect
|
|
3505
|
+
if (proxy.parent.editorMode !== 'Markdown') {
|
|
3506
|
+
var startNode = proxy.parent.getRange().startContainer.parentElement;
|
|
3507
|
+
var tableEle = startNode.closest('table');
|
|
3508
|
+
var trow = startNode.closest('tr');
|
|
3509
|
+
if (!isNullOrUndefined(tableEle) && tableEle.classList.contains('e-dashed-border')) {
|
|
3510
|
+
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
3511
|
+
if (args.element.childNodes[index].classList.contains('e-dashed-borders')) {
|
|
3512
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
3513
|
+
}
|
|
3511
3514
|
}
|
|
3512
3515
|
}
|
|
3513
|
-
else {
|
|
3514
|
-
|
|
3516
|
+
else if (!isNullOrUndefined(tableEle) && !tableEle.classList.contains('e-dashed-border') && tableEle.classList.contains('e-alternate-rows') && window.getComputedStyle(trow).backgroundColor !== '') {
|
|
3517
|
+
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
3518
|
+
if (args.element.childNodes[index].classList.contains('e-alternate-rows')) {
|
|
3519
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
3520
|
+
}
|
|
3521
|
+
}
|
|
3522
|
+
}
|
|
3523
|
+
//Alignments preselect
|
|
3524
|
+
var alignEle = proxy.parent.getRange().startContainer;
|
|
3525
|
+
while (alignEle !== proxy.parent.element.querySelector('.e-content') && !isNullOrUndefined(alignEle.parentElement)) {
|
|
3526
|
+
if (alignEle.nodeName === '#text') {
|
|
3527
|
+
alignEle = alignEle.parentElement;
|
|
3528
|
+
}
|
|
3529
|
+
var alignStyle = window.getComputedStyle(alignEle).textAlign;
|
|
3530
|
+
if (args.items[0].command === 'Alignments') {
|
|
3531
|
+
if ((args.items[0].text === 'Align Left' && (alignStyle === 'left') || alignStyle === 'start')) {
|
|
3532
|
+
addClass([args.element.childNodes[0]], 'e-active');
|
|
3533
|
+
break;
|
|
3534
|
+
}
|
|
3535
|
+
else if (args.items[1].text === 'Align Center' && alignStyle === 'center') {
|
|
3536
|
+
addClass([args.element.childNodes[1]], 'e-active');
|
|
3537
|
+
break;
|
|
3538
|
+
}
|
|
3539
|
+
else if (args.items[2].text === 'Align Right' && alignStyle === 'right') {
|
|
3540
|
+
addClass([args.element.childNodes[2]], 'e-active');
|
|
3541
|
+
break;
|
|
3542
|
+
}
|
|
3543
|
+
else if (args.items[3].text === 'Align Justify' && alignStyle === 'justify') {
|
|
3544
|
+
addClass([args.element.childNodes[3]], 'e-active');
|
|
3545
|
+
break;
|
|
3546
|
+
}
|
|
3547
|
+
}
|
|
3548
|
+
alignEle = alignEle.parentElement;
|
|
3549
|
+
}
|
|
3550
|
+
//image preselect
|
|
3551
|
+
var imageEle = startNode.closest('img') ? startNode.closest('img') : startNode.querySelector('img');
|
|
3552
|
+
if (args.items[0].command === 'Images') {
|
|
3553
|
+
if (!isNullOrUndefined(imageEle)) {
|
|
3554
|
+
var index = void 0;
|
|
3555
|
+
if (imageEle.classList.contains('e-imgleft') || imageEle.classList.contains('e-imginline')) {
|
|
3556
|
+
index = 0;
|
|
3557
|
+
}
|
|
3558
|
+
else if (imageEle.classList.contains('e-imgcenter') || imageEle.classList.contains('e-imgbreak')) {
|
|
3559
|
+
index = 1;
|
|
3560
|
+
}
|
|
3561
|
+
else if (imageEle.classList.contains('e-imgright')) {
|
|
3562
|
+
index = 2;
|
|
3563
|
+
}
|
|
3564
|
+
if (!isNullOrUndefined(args.element.childNodes[index])) {
|
|
3565
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
3566
|
+
}
|
|
3567
|
+
}
|
|
3568
|
+
}
|
|
3569
|
+
//Formats preselect
|
|
3570
|
+
if (args.items[0].command === 'Formats') {
|
|
3571
|
+
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
3572
|
+
var divNode = _this.parent.createElement('div');
|
|
3573
|
+
divNode.innerHTML = dropDown.content.trim();
|
|
3574
|
+
if (divNode.textContent.trim() !== ''
|
|
3575
|
+
&& args.element.childNodes[index].textContent.trim() === divNode.textContent.trim()) {
|
|
3576
|
+
if (!args.element.childNodes[index].classList.contains('e-active')) {
|
|
3577
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
3578
|
+
}
|
|
3579
|
+
}
|
|
3580
|
+
else {
|
|
3581
|
+
removeClass([args.element.childNodes[index]], 'e-active');
|
|
3582
|
+
}
|
|
3583
|
+
}
|
|
3515
3584
|
}
|
|
3516
3585
|
}
|
|
3517
3586
|
proxy.parent.notify(beforeDropDownOpen, args);
|
|
@@ -13684,7 +13753,9 @@ var InsertHtml = /** @__PURE__ @class */ (function () {
|
|
|
13684
13753
|
InsertHtml.findDetachEmptyElem = function (element) {
|
|
13685
13754
|
var removableElement;
|
|
13686
13755
|
if (!isNullOrUndefined(element.parentElement)) {
|
|
13687
|
-
|
|
13756
|
+
var hasNbsp = element.parentElement.textContent.length > 0 && element.parentElement.textContent.match(/\u00a0/g)
|
|
13757
|
+
&& element.parentElement.textContent.match(/\u00a0/g).length > 0;
|
|
13758
|
+
if (!hasNbsp && element.parentElement.textContent.trim() === '' && element.parentElement.contentEditable !== 'true' &&
|
|
13688
13759
|
isNullOrUndefined(element.parentElement.querySelector('img'))) {
|
|
13689
13760
|
removableElement = this.findDetachEmptyElem(element.parentElement);
|
|
13690
13761
|
}
|
|
@@ -17939,7 +18010,9 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
|
|
|
17939
18010
|
isNullOrUndefined(allElements[i].nextElementSibling)))) {
|
|
17940
18011
|
var detachableElement = this.findDetachElem(allElements[i]);
|
|
17941
18012
|
var brElement = createElement('br');
|
|
17942
|
-
|
|
18013
|
+
var hasNbsp = detachableElement.textContent.length > 0 && detachableElement.textContent.match(/\u00a0/g)
|
|
18014
|
+
&& detachableElement.textContent.match(/\u00a0/g).length > 0;
|
|
18015
|
+
if (!hasNbsp && !isNullOrUndefined(detachableElement.parentElement)) {
|
|
17943
18016
|
detachableElement.parentElement.insertBefore(brElement, detachableElement);
|
|
17944
18017
|
detach(detachableElement);
|
|
17945
18018
|
}
|
|
@@ -17978,7 +18051,9 @@ var MsWordPaste = /** @__PURE__ @class */ (function () {
|
|
|
17978
18051
|
MsWordPaste.prototype.findDetachEmptyElem = function (element) {
|
|
17979
18052
|
var removableElement;
|
|
17980
18053
|
if (!isNullOrUndefined(element.parentElement)) {
|
|
17981
|
-
|
|
18054
|
+
var hasNbsp = element.parentElement.textContent.length > 0 && element.parentElement.textContent.match(/\u00a0/g)
|
|
18055
|
+
&& element.parentElement.textContent.match(/\u00a0/g).length > 0;
|
|
18056
|
+
if (!hasNbsp && element.parentElement.textContent.trim() === '' &&
|
|
17982
18057
|
element.parentElement.getAttribute('id') !== 'MSWord-Content' &&
|
|
17983
18058
|
!(this.hasParentWithClass(element, 'MsoListParagraph')) &&
|
|
17984
18059
|
isNullOrUndefined(element.parentElement.querySelector('img'))) {
|
|
@@ -21345,7 +21420,7 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
|
|
|
21345
21420
|
var popupEle = this.parent.createElement('div');
|
|
21346
21421
|
this.parent.element.appendChild(popupEle);
|
|
21347
21422
|
var contentEle = this.parent.createElement('input', {
|
|
21348
|
-
id: this.parent.
|
|
21423
|
+
id: this.parent.getID() + '_upload', attrs: { type: 'File', name: 'UploadFiles' }
|
|
21349
21424
|
});
|
|
21350
21425
|
var offsetY = this.parent.iframeSettings.enable ? -50 : -90;
|
|
21351
21426
|
this.popupObj = new Popup(popupEle, {
|
|
@@ -21973,7 +22048,9 @@ var PasteCleanup = /** @__PURE__ @class */ (function () {
|
|
|
21973
22048
|
PasteCleanup.prototype.findDetachEmptyElem = function (element) {
|
|
21974
22049
|
var removableElement;
|
|
21975
22050
|
if (!isNullOrUndefined(element.parentElement)) {
|
|
21976
|
-
|
|
22051
|
+
var hasNbsp = element.parentElement.textContent.length > 0 && element.parentElement.textContent.match(/\u00a0/g)
|
|
22052
|
+
&& element.parentElement.textContent.match(/\u00a0/g).length > 0;
|
|
22053
|
+
if (!hasNbsp && element.parentElement.textContent.trim() === '' &&
|
|
21977
22054
|
element.parentElement.getAttribute('class') !== 'pasteContent') {
|
|
21978
22055
|
removableElement = this.findDetachEmptyElem(element.parentElement);
|
|
21979
22056
|
}
|
|
@@ -25330,7 +25407,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
|
|
|
25330
25407
|
width: '290px',
|
|
25331
25408
|
header: this.parent.localeObj.getConstant('imageInsertLinkHeader'),
|
|
25332
25409
|
content: linkWrap,
|
|
25333
|
-
position: { X: 'center', Y: 'center' },
|
|
25334
25410
|
buttons: [{
|
|
25335
25411
|
// eslint-disable-next-line
|
|
25336
25412
|
click: function (e) {
|
|
@@ -25380,7 +25456,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
|
|
|
25380
25456
|
alt: inputAlt
|
|
25381
25457
|
};
|
|
25382
25458
|
this.dialogObj.setProperties({
|
|
25383
|
-
height: 'inherit', width: '290px', header: altHeader, content: altWrap,
|
|
25459
|
+
height: 'inherit', width: '290px', header: altHeader, content: altWrap,
|
|
25384
25460
|
buttons: [{
|
|
25385
25461
|
// eslint-disable-next-line
|
|
25386
25462
|
click: function (e) {
|
|
@@ -25607,7 +25683,7 @@ var Image$1 = /** @__PURE__ @class */ (function () {
|
|
|
25607
25683
|
var dialogContent = this.imgsizeInput(e);
|
|
25608
25684
|
var selectObj_1 = { args: e.args, selfImage: this, selection: e.selection, selectNode: e.selectNode };
|
|
25609
25685
|
this.dialogObj.setProperties({
|
|
25610
|
-
height: (Browser.isDevice) ? '300px' : 'inherit', width: '290px', header: imgSizeHeader, content: dialogContent,
|
|
25686
|
+
height: (Browser.isDevice) ? '300px' : 'inherit', width: '290px', header: imgSizeHeader, content: dialogContent,
|
|
25611
25687
|
buttons: [{
|
|
25612
25688
|
// eslint-disable-next-line
|
|
25613
25689
|
click: function (e) {
|
|
@@ -25673,7 +25749,6 @@ var Image$1 = /** @__PURE__ @class */ (function () {
|
|
|
25673
25749
|
enableRtl: this.parent.enableRtl,
|
|
25674
25750
|
locale: this.parent.locale,
|
|
25675
25751
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px',
|
|
25676
|
-
position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
|
|
25677
25752
|
isModal: Browser.isDevice,
|
|
25678
25753
|
buttons: [{
|
|
25679
25754
|
click: this.insertImageUrl.bind(selectObj),
|
|
@@ -27167,7 +27242,6 @@ var Audio = /** @__PURE__ @class */ (function () {
|
|
|
27167
27242
|
enableRtl: this.parent.enableRtl,
|
|
27168
27243
|
locale: this.parent.locale,
|
|
27169
27244
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px',
|
|
27170
|
-
position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
|
|
27171
27245
|
isModal: Browser.isDevice,
|
|
27172
27246
|
buttons: [{
|
|
27173
27247
|
click: this.insertAudioUrl.bind(selectObj),
|
|
@@ -27600,7 +27674,7 @@ var Video = /** @__PURE__ @class */ (function () {
|
|
|
27600
27674
|
var dialogContent = this.vidsizeInput(e);
|
|
27601
27675
|
var selectObj_1 = { args: e.args, selfVideo: this, selection: e.selection, selectNode: e.selectNode };
|
|
27602
27676
|
this.dialogObj.setProperties({
|
|
27603
|
-
height: 'inherit', width: '290px', header: vidSizeHeader, content: dialogContent,
|
|
27677
|
+
height: 'inherit', width: '290px', header: vidSizeHeader, content: dialogContent,
|
|
27604
27678
|
buttons: [{
|
|
27605
27679
|
// eslint-disable-next-line
|
|
27606
27680
|
click: function (e) {
|
|
@@ -28505,7 +28579,6 @@ var Video = /** @__PURE__ @class */ (function () {
|
|
|
28505
28579
|
enableRtl: this.parent.enableRtl,
|
|
28506
28580
|
locale: this.parent.locale,
|
|
28507
28581
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px',
|
|
28508
|
-
position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
|
|
28509
28582
|
isModal: Browser.isDevice,
|
|
28510
28583
|
buttons: [{
|
|
28511
28584
|
click: this.insertVideoUrl.bind(selectObj),
|
|
@@ -28988,13 +29061,13 @@ var ViewSource = /** @__PURE__ @class */ (function () {
|
|
|
28988
29061
|
this.parent.updateValueData();
|
|
28989
29062
|
if (this.parent.iframeSettings.enable) {
|
|
28990
29063
|
var rteContent = void 0;
|
|
28991
|
-
if (isNullOrUndefined(this.parent.element.querySelector('#' + this.parent.
|
|
29064
|
+
if (isNullOrUndefined(this.parent.element.querySelector('#' + this.parent.getID() + '_source-view'))) {
|
|
28992
29065
|
rteContent = this.parent.createElement('div', {
|
|
28993
|
-
className: 'e-source-content', id: this.parent.
|
|
29066
|
+
className: 'e-source-content', id: this.parent.getID() + '_source-view'
|
|
28994
29067
|
});
|
|
28995
29068
|
}
|
|
28996
29069
|
else {
|
|
28997
|
-
rteContent = this.parent.element.querySelector('#' + this.parent.
|
|
29070
|
+
rteContent = this.parent.element.querySelector('#' + this.parent.getID() + '_source-view');
|
|
28998
29071
|
}
|
|
28999
29072
|
rteContent.appendChild(this.previewElement);
|
|
29000
29073
|
this.parent.element.appendChild(rteContent);
|
|
@@ -29175,6 +29248,7 @@ var Table = /** @__PURE__ @class */ (function () {
|
|
|
29175
29248
|
this.parent.on(tableToolbarAction, this.onToolbarAction, this);
|
|
29176
29249
|
this.parent.on(dropDownSelect, this.dropdownSelect, this);
|
|
29177
29250
|
this.parent.on(keyDown, this.keyDown, this);
|
|
29251
|
+
this.parent.on(keyUp, this.keyUp, this);
|
|
29178
29252
|
this.parent.on(mouseUp, this.selectionTable, this);
|
|
29179
29253
|
this.parent.on(tableModulekeyUp, this.tableModulekeyUp, this);
|
|
29180
29254
|
this.parent.on(bindCssClass, this.setCssClass, this);
|
|
@@ -29197,6 +29271,7 @@ var Table = /** @__PURE__ @class */ (function () {
|
|
|
29197
29271
|
this.parent.off(dropDownSelect, this.dropdownSelect);
|
|
29198
29272
|
this.parent.off(mouseDown, this.cellSelect);
|
|
29199
29273
|
this.parent.off(tableColorPickerChanged, this.setBGColor);
|
|
29274
|
+
this.parent.off(keyUp, this.keyUp);
|
|
29200
29275
|
this.parent.off(keyDown, this.keyDown);
|
|
29201
29276
|
this.parent.off(mouseUp, this.selectionTable);
|
|
29202
29277
|
this.parent.off(tableModulekeyUp, this.tableModulekeyUp);
|
|
@@ -29301,6 +29376,12 @@ var Table = /** @__PURE__ @class */ (function () {
|
|
|
29301
29376
|
this.parent.formatter.process(this.parent, e, e, { selection: selectCell, subCommand: e.item.subCommand });
|
|
29302
29377
|
this.hideTableQuickToolbar();
|
|
29303
29378
|
};
|
|
29379
|
+
Table.prototype.keyUp = function (e) {
|
|
29380
|
+
var target = e.args.target;
|
|
29381
|
+
if (e.args.key.toLocaleLowerCase() === 'escape' && target && target.classList && (this.popupObj && !closest(target, '[id=' + "'" + this.popupObj.element.id + "'" + ']')) && this.popupObj) {
|
|
29382
|
+
this.popupObj.hide();
|
|
29383
|
+
}
|
|
29384
|
+
};
|
|
29304
29385
|
Table.prototype.keyDown = function (e) {
|
|
29305
29386
|
var event = e.args;
|
|
29306
29387
|
// eslint-disable-next-line
|
|
@@ -30708,6 +30789,7 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
|
|
|
30708
30789
|
var dlgObj;
|
|
30709
30790
|
e.beforeOpen = this.beforeOpen.bind(this);
|
|
30710
30791
|
e.open = this.open.bind(this);
|
|
30792
|
+
e.position = { X: 'center', Y: this.getDialogPosition() };
|
|
30711
30793
|
if (isNullOrUndefined(e.close)) {
|
|
30712
30794
|
e.close = this.close.bind(this);
|
|
30713
30795
|
}
|
|
@@ -30752,6 +30834,16 @@ var DialogRenderer = /** @__PURE__ @class */ (function () {
|
|
|
30752
30834
|
}
|
|
30753
30835
|
});
|
|
30754
30836
|
};
|
|
30837
|
+
DialogRenderer.prototype.getDialogPosition = function () {
|
|
30838
|
+
var distanceFromVisibleTop = this.parent.element.getBoundingClientRect().top;
|
|
30839
|
+
if (distanceFromVisibleTop < 0) {
|
|
30840
|
+
distanceFromVisibleTop = Math.abs(distanceFromVisibleTop);
|
|
30841
|
+
return distanceFromVisibleTop.toString();
|
|
30842
|
+
}
|
|
30843
|
+
else {
|
|
30844
|
+
return 'top';
|
|
30845
|
+
}
|
|
30846
|
+
};
|
|
30755
30847
|
/**
|
|
30756
30848
|
* dialog close method
|
|
30757
30849
|
*
|
|
@@ -31945,7 +32037,7 @@ var EnterKeyAction = /** @__PURE__ @class */ (function () {
|
|
|
31945
32037
|
var newElem = void 0;
|
|
31946
32038
|
var outerBRElem = _this.parent.createElement('br');
|
|
31947
32039
|
if (_this.range.startOffset === 0 && _this.range.endOffset === 0 &&
|
|
31948
|
-
!isNullOrUndefined(currentParent.previousSibling) && currentParent.previousSibling.nodeName === 'BR') {
|
|
32040
|
+
!isNullOrUndefined(currentParent.previousSibling) && currentParent.previousSibling.nodeName === 'BR' && currentParent.nodeName !== 'P' && currentParent.nodeName !== 'DIV') {
|
|
31949
32041
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
31950
32042
|
newElem = _this.parent.formatter.editorManager.nodeCutter.SplitNode(_this.range, currentParent, false).cloneNode(true);
|
|
31951
32043
|
_this.parent.formatter.editorManager.domNode.insertAfter(outerBRElem, currentParent);
|