@syncfusion/ej2-richtexteditor 23.2.7 → 24.1.41
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 +27 -1
- 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 +571 -309
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +570 -308
- 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 +13 -13
- package/src/common/config.js +1 -1
- package/src/editor-manager/plugin/audio.js +13 -3
- package/src/editor-manager/plugin/dom-node.js +1 -14
- package/src/editor-manager/plugin/image.js +30 -3
- package/src/editor-manager/plugin/inserthtml.js +5 -2
- package/src/editor-manager/plugin/ms-word-clean-up.js +4 -1
- package/src/editor-manager/plugin/nodecutter.js +1 -1
- package/src/editor-manager/plugin/selection-commands.js +39 -0
- package/src/rich-text-editor/actions/base-quick-toolbar.js +18 -4
- package/src/rich-text-editor/actions/color-picker.js +3 -3
- package/src/rich-text-editor/actions/dropdown-buttons.js +4 -2
- package/src/rich-text-editor/actions/emoji-picker.js +12 -3
- package/src/rich-text-editor/actions/enter-key.js +2 -1
- package/src/rich-text-editor/actions/file-manager.js +1 -1
- package/src/rich-text-editor/actions/format-painter.js +1 -1
- package/src/rich-text-editor/actions/full-screen.js +2 -2
- package/src/rich-text-editor/actions/html-editor.d.ts +2 -0
- package/src/rich-text-editor/actions/html-editor.js +36 -5
- package/src/rich-text-editor/actions/paste-clean-up.d.ts +2 -0
- package/src/rich-text-editor/actions/paste-clean-up.js +72 -19
- package/src/rich-text-editor/actions/quick-toolbar.js +24 -5
- package/src/rich-text-editor/actions/toolbar.d.ts +1 -0
- package/src/rich-text-editor/actions/toolbar.js +18 -10
- package/src/rich-text-editor/base/classes.d.ts +5 -0
- package/src/rich-text-editor/base/classes.js +5 -0
- package/src/rich-text-editor/base/constant.d.ts +6 -1
- package/src/rich-text-editor/base/constant.js +6 -1
- package/src/rich-text-editor/base/interface.d.ts +10 -0
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +1 -1
- package/src/rich-text-editor/base/rich-text-editor.d.ts +9 -0
- package/src/rich-text-editor/base/rich-text-editor.js +80 -17
- package/src/rich-text-editor/base/util.js +11 -2
- package/src/rich-text-editor/formatter/formatter.js +1 -1
- package/src/rich-text-editor/models/default-locale.js +2 -0
- package/src/rich-text-editor/models/items.js +1 -1
- package/src/rich-text-editor/renderer/dialog-renderer.js +10 -1
- package/src/rich-text-editor/renderer/image-module.js +68 -59
- package/src/rich-text-editor/renderer/link-module.js +43 -23
- package/src/rich-text-editor/renderer/table-module.d.ts +2 -0
- package/src/rich-text-editor/renderer/table-module.js +43 -30
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +0 -6
- package/src/rich-text-editor/renderer/toolbar-renderer.js +13 -93
- package/src/rich-text-editor/renderer/view-source.js +3 -1
- package/styles/bootstrap-dark.css +194 -52
- package/styles/bootstrap.css +197 -53
- package/styles/bootstrap4.css +194 -52
- package/styles/bootstrap5-dark.css +195 -53
- package/styles/bootstrap5.css +195 -53
- package/styles/fabric-dark.css +194 -52
- package/styles/fabric.css +194 -52
- package/styles/fluent-dark.css +197 -53
- package/styles/fluent.css +197 -53
- package/styles/highcontrast-light.css +194 -52
- package/styles/highcontrast.css +194 -52
- package/styles/material-dark.css +196 -53
- package/styles/material.css +196 -53
- package/styles/material3-dark.css +194 -52
- package/styles/material3.css +194 -52
- package/styles/rich-text-editor/_bootstrap5-definition.scss +1 -1
- package/styles/rich-text-editor/_fluent-definition.scss +1 -1
- package/styles/rich-text-editor/_layout.scss +78 -3
- package/styles/rich-text-editor/_theme.scss +1 -1
- package/styles/rich-text-editor/bootstrap-dark.css +194 -52
- package/styles/rich-text-editor/bootstrap.css +197 -53
- package/styles/rich-text-editor/bootstrap4.css +194 -52
- package/styles/rich-text-editor/bootstrap5-dark.css +195 -53
- package/styles/rich-text-editor/bootstrap5.css +195 -53
- package/styles/rich-text-editor/fabric-dark.css +194 -52
- package/styles/rich-text-editor/fabric.css +194 -52
- package/styles/rich-text-editor/fluent-dark.css +197 -53
- package/styles/rich-text-editor/fluent.css +197 -53
- package/styles/rich-text-editor/highcontrast-light.css +194 -52
- package/styles/rich-text-editor/highcontrast.css +194 -52
- package/styles/rich-text-editor/icons/_bootstrap-dark.scss +3 -3
- package/styles/rich-text-editor/icons/_bootstrap.scss +3 -3
- package/styles/rich-text-editor/icons/_bootstrap4.scss +3 -3
- package/styles/rich-text-editor/icons/_bootstrap5.scss +3 -3
- package/styles/rich-text-editor/icons/_fabric-dark.scss +3 -3
- package/styles/rich-text-editor/icons/_fabric.scss +3 -3
- package/styles/rich-text-editor/icons/_fluent.scss +3 -3
- package/styles/rich-text-editor/icons/_fusionnew.scss +3 -3
- package/styles/rich-text-editor/icons/_highcontrast-light.scss +3 -3
- package/styles/rich-text-editor/icons/_highcontrast.scss +3 -3
- package/styles/rich-text-editor/icons/_material-dark.scss +3 -3
- package/styles/rich-text-editor/icons/_material.scss +3 -3
- package/styles/rich-text-editor/icons/_material3.scss +3 -3
- package/styles/rich-text-editor/icons/_tailwind.scss +3 -3
- package/styles/rich-text-editor/material-dark.css +196 -53
- package/styles/rich-text-editor/material.css +196 -53
- package/styles/rich-text-editor/material3-dark.css +194 -52
- package/styles/rich-text-editor/material3.css +194 -52
- package/styles/rich-text-editor/tailwind-dark.css +194 -52
- package/styles/rich-text-editor/tailwind.css +194 -52
- package/styles/tailwind-dark.css +194 -52
- package/styles/tailwind.css +194 -52
|
@@ -265,18 +265,18 @@ var Image = /** @class */ (function () {
|
|
|
265
265
|
this.resizeBtnInit();
|
|
266
266
|
this.imgEle = e;
|
|
267
267
|
addClass([this.imgEle], 'e-resize');
|
|
268
|
-
this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize' +
|
|
268
|
+
this.imgResizeDiv = this.parent.createElement('span', { className: 'e-img-resize' + this.parent.getCssClass(true), id: this.rteID + '_imgResize' });
|
|
269
269
|
this.imgResizeDiv.appendChild(this.parent.createElement('span', {
|
|
270
|
-
className: 'e-rte-imageboxmark e-rte-topLeft' +
|
|
270
|
+
className: 'e-rte-imageboxmark e-rte-topLeft' + this.parent.getCssClass(true), styles: 'cursor: nwse-resize'
|
|
271
271
|
}));
|
|
272
272
|
this.imgResizeDiv.appendChild(this.parent.createElement('span', {
|
|
273
|
-
className: 'e-rte-imageboxmark e-rte-topRight' +
|
|
273
|
+
className: 'e-rte-imageboxmark e-rte-topRight' + this.parent.getCssClass(true), styles: 'cursor: nesw-resize'
|
|
274
274
|
}));
|
|
275
275
|
this.imgResizeDiv.appendChild(this.parent.createElement('span', {
|
|
276
|
-
className: 'e-rte-imageboxmark e-rte-botLeft' +
|
|
276
|
+
className: 'e-rte-imageboxmark e-rte-botLeft' + this.parent.getCssClass(true), styles: 'cursor: nesw-resize'
|
|
277
277
|
}));
|
|
278
278
|
this.imgResizeDiv.appendChild(this.parent.createElement('span', {
|
|
279
|
-
className: 'e-rte-imageboxmark e-rte-botRight' +
|
|
279
|
+
className: 'e-rte-imageboxmark e-rte-botRight' + this.parent.getCssClass(true), styles: 'cursor: nwse-resize'
|
|
280
280
|
}));
|
|
281
281
|
if (Browser.isDevice) {
|
|
282
282
|
addClass([this.imgResizeDiv], 'e-mob-rte');
|
|
@@ -429,8 +429,8 @@ var Image = /** @class */ (function () {
|
|
|
429
429
|
img.removeAttribute('height');
|
|
430
430
|
}
|
|
431
431
|
else {
|
|
432
|
-
img.style.width = expectedX + 'px';
|
|
433
|
-
img.style.height = expectedX + 'px';
|
|
432
|
+
img.style.width = ((expectedX >= 15) ? expectedX : 15) + 'px';
|
|
433
|
+
img.style.height = ((expectedX >= 15) ? expectedX : 15) + 'px';
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
436
|
};
|
|
@@ -459,7 +459,6 @@ var Image = /** @class */ (function () {
|
|
|
459
459
|
_this.setAspectRatio(_this.imgEle, parseInt(width, 10), parseInt(height, 10), args);
|
|
460
460
|
_this.resizeImgDupPos(_this.imgEle);
|
|
461
461
|
_this.imgResizePos(_this.imgEle, _this.imgResizeDiv);
|
|
462
|
-
_this.parent.setContentHeight('', false);
|
|
463
462
|
}
|
|
464
463
|
});
|
|
465
464
|
};
|
|
@@ -474,7 +473,7 @@ var Image = /** @class */ (function () {
|
|
|
474
473
|
else if (isNOU(this.parent.insertImageSettings.maxHeight)) {
|
|
475
474
|
this.imgEle.style.maxHeight = '';
|
|
476
475
|
}
|
|
477
|
-
this.imgEle.style.maxWidth = this.parent.getInsertImgMaxWidth() + 'px';
|
|
476
|
+
this.imgEle.style.maxWidth = (closest(this.imgEle, 'ol,ul') != null ? this.parent.getInsertImgMaxWidth() - parseInt((getComputedStyle(closest(this.imgEle, 'ol,ul')).paddingLeft), 0) : this.parent.getInsertImgMaxWidth()) + 'px';
|
|
478
477
|
var pageX = this.getPointX(e);
|
|
479
478
|
var pageY = this.getPointY(e);
|
|
480
479
|
var mouseX = (this.resizeBtnStat.botLeft || this.resizeBtnStat.topLeft) ? -(pageX - this.pageX) : (pageX - this.pageX);
|
|
@@ -699,13 +698,22 @@ var Image = /** @class */ (function () {
|
|
|
699
698
|
}
|
|
700
699
|
}
|
|
701
700
|
}
|
|
702
|
-
else if (
|
|
703
|
-
range.startContainer.querySelector('.' + classes.CLS_CAPTION + '.' + classes.CLS_CAPINLINE))
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
701
|
+
else if (range.startContainer.nodeType === 1) {
|
|
702
|
+
if (range.startContainer.querySelector('.' + classes.CLS_CAPTION + '.' + classes.CLS_CAPINLINE)) {
|
|
703
|
+
detach(range.startContainer.querySelector('.' + classes.CLS_CAPTION + '.' + classes.CLS_CAPINLINE));
|
|
704
|
+
}
|
|
705
|
+
else if (range.startContainer.querySelector('.' + classes.CLS_CAPTION + '.' + classes.CLS_IMGBREAK)) {
|
|
706
|
+
detach(range.startContainer.querySelector('.' + classes.CLS_CAPTION + '.' + classes.CLS_IMGBREAK));
|
|
707
|
+
}
|
|
708
|
+
else if (range.startContainer.classList.contains('e-img-wrap') && closest(range.startContainer, '.' + classes.CLS_CAPTION)) {
|
|
709
|
+
var parentElem = range.startContainer.parentElement.parentElement;
|
|
710
|
+
detach(closest(range.startContainer, '.' + classes.CLS_CAPTION));
|
|
711
|
+
if (parentElem && parentElem.textContent.trim() === '') {
|
|
712
|
+
var brElem = this.parent.createElement('br');
|
|
713
|
+
brElem.classList.add('e-rte-image-remove-focus');
|
|
714
|
+
parentElem.appendChild(brElem);
|
|
715
|
+
}
|
|
716
|
+
}
|
|
709
717
|
}
|
|
710
718
|
}
|
|
711
719
|
break;
|
|
@@ -762,7 +770,7 @@ var Image = /** @class */ (function () {
|
|
|
762
770
|
};
|
|
763
771
|
Image.prototype.showDialog = function () {
|
|
764
772
|
this.openDialog(false);
|
|
765
|
-
this.setCssClass({ cssClass: this.parent.
|
|
773
|
+
this.setCssClass({ cssClass: this.parent.getCssClass() });
|
|
766
774
|
};
|
|
767
775
|
Image.prototype.closeDialog = function () {
|
|
768
776
|
if (this.dialogObj) {
|
|
@@ -970,19 +978,19 @@ var Image = /** @class */ (function () {
|
|
|
970
978
|
}
|
|
971
979
|
this.imagDialog(e);
|
|
972
980
|
if (!isNullOrUndefined(this.dialogObj)) {
|
|
973
|
-
var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' +
|
|
981
|
+
var linkWrap = this.parent.createElement('div', { className: 'e-img-linkwrap' + this.parent.getCssClass(true) });
|
|
974
982
|
var linkUrl = this.i10n.getConstant('linkurl');
|
|
975
|
-
var content = '<div class="e-rte-field' +
|
|
976
|
-
'<input type="text" data-role ="none" class="e-input e-img-link' +
|
|
983
|
+
var content = '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
|
|
984
|
+
'<input type="text" data-role ="none" class="e-input e-img-link' + this.parent.getCssClass(true) + '" spellcheck="false" placeholder="' + linkUrl + '"/></div>' +
|
|
977
985
|
'<div class="e-rte-label"></div>' + '<div class="e-rte-field">' +
|
|
978
|
-
'<input type="checkbox" class="e-rte-linkTarget' +
|
|
986
|
+
'<input type="checkbox" class="e-rte-linkTarget' + this.parent.getCssClass(true) + '" data-role ="none"></div>';
|
|
979
987
|
var contentElem = parseHtml(content);
|
|
980
988
|
linkWrap.appendChild(contentElem);
|
|
981
989
|
var linkTarget = linkWrap.querySelector('.e-rte-linkTarget');
|
|
982
990
|
var inputLink = linkWrap.querySelector('.e-img-link');
|
|
983
991
|
var linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
|
|
984
992
|
this.checkBoxObj = new CheckBox({
|
|
985
|
-
label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.
|
|
993
|
+
label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl, cssClass: this.parent.getCssClass(),
|
|
986
994
|
change: function (e) {
|
|
987
995
|
if (e.checked) {
|
|
988
996
|
target_1 = '_blank';
|
|
@@ -996,11 +1004,12 @@ var Image = /** @class */ (function () {
|
|
|
996
1004
|
this.checkBoxObj.createElement = this.parent.createElement;
|
|
997
1005
|
this.checkBoxObj.appendTo(linkTarget);
|
|
998
1006
|
var target_1 = this.checkBoxObj.checked ? '_blank' : null;
|
|
1007
|
+
var imageLabel = this.checkBoxObj.checked ? this.i10n.getConstant('ImageLinkAriaLabel') : null;
|
|
999
1008
|
var linkUpdate = this.i10n.getConstant('dialogUpdate');
|
|
1000
1009
|
var linkargs_1 = {
|
|
1001
1010
|
args: e.args,
|
|
1002
1011
|
selfImage: this, selection: e.selection,
|
|
1003
|
-
selectNode: e.selectNode, selectParent: e.selectParent, link: inputLink, target: target_1
|
|
1012
|
+
selectNode: e.selectNode, selectParent: e.selectParent, link: inputLink, target: target_1, ariaLabel: imageLabel
|
|
1004
1013
|
};
|
|
1005
1014
|
this.dialogObj.setProperties({
|
|
1006
1015
|
height: 'inherit',
|
|
@@ -1013,7 +1022,7 @@ var Image = /** @class */ (function () {
|
|
|
1013
1022
|
_this.insertlink(linkargs_1);
|
|
1014
1023
|
},
|
|
1015
1024
|
buttonModel: {
|
|
1016
|
-
content: linkUpdate, cssClass: 'e-flat e-update-link' +
|
|
1025
|
+
content: linkUpdate, cssClass: 'e-flat e-update-link' + this.parent.getCssClass(true), isPrimary: true
|
|
1017
1026
|
}
|
|
1018
1027
|
}],
|
|
1019
1028
|
cssClass: this.dialogObj.cssClass + ' e-rte-img-link-dialog'
|
|
@@ -1039,13 +1048,13 @@ var Image = /** @class */ (function () {
|
|
|
1039
1048
|
this.imagDialog(e);
|
|
1040
1049
|
var altText = this.i10n.getConstant('altText');
|
|
1041
1050
|
if (!isNullOrUndefined(this.dialogObj)) {
|
|
1042
|
-
var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' +
|
|
1051
|
+
var altWrap = this.parent.createElement('div', { className: 'e-img-altwrap' + this.parent.getCssClass(true) });
|
|
1043
1052
|
var altHeader = this.i10n.getConstant('alternateHeader');
|
|
1044
1053
|
var linkUpdate = this.i10n.getConstant('dialogUpdate');
|
|
1045
1054
|
var getAlt = (e.selectNode[0].getAttribute('alt') === null) ? '' :
|
|
1046
1055
|
e.selectNode[0].getAttribute('alt');
|
|
1047
|
-
var content = '<div class="e-rte-field' +
|
|
1048
|
-
'<input type="text" spellcheck="false" class="e-input e-img-alt' +
|
|
1056
|
+
var content = '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
|
|
1057
|
+
'<input type="text" spellcheck="false" class="e-input e-img-alt' + this.parent.getCssClass(true) + '" placeholder="' + altText + '"/>' +
|
|
1049
1058
|
'</div>';
|
|
1050
1059
|
var contentElem = parseHtml(content);
|
|
1051
1060
|
contentElem.querySelector('input').setAttribute('value', getAlt);
|
|
@@ -1063,7 +1072,7 @@ var Image = /** @class */ (function () {
|
|
|
1063
1072
|
_this.insertAlt(altArgs_1);
|
|
1064
1073
|
},
|
|
1065
1074
|
buttonModel: {
|
|
1066
|
-
content: linkUpdate, cssClass: 'e-flat e-update-alt' +
|
|
1075
|
+
content: linkUpdate, cssClass: 'e-flat e-update-alt' + this.parent.getCssClass(true), isPrimary: true
|
|
1067
1076
|
}
|
|
1068
1077
|
}],
|
|
1069
1078
|
cssClass: this.dialogObj.cssClass + ' e-rte-img-alt-dialog'
|
|
@@ -1115,14 +1124,14 @@ var Image = /** @class */ (function () {
|
|
|
1115
1124
|
}
|
|
1116
1125
|
if (e.selectNode[0].parentElement.nodeName === 'A') {
|
|
1117
1126
|
proxy.parent.formatter.process(proxy.parent, e.args, e.args, {
|
|
1118
|
-
url: url, target: proxy.checkBoxObj.checked ? '_blank' : null, selectNode: e.selectNode,
|
|
1127
|
+
url: url, target: proxy.checkBoxObj.checked ? '_blank' : null, ariaLabel: proxy.checkBoxObj.checked ? this.i10n.getConstant('ImageLinkAriaLabel') : null, selectNode: e.selectNode,
|
|
1119
1128
|
subCommand: e.args.item.subCommand
|
|
1120
1129
|
});
|
|
1121
1130
|
proxy.dialogObj.hide({ returnValue: true });
|
|
1122
1131
|
return;
|
|
1123
1132
|
}
|
|
1124
1133
|
proxy.parent.formatter.process(proxy.parent, e.args, e.args, {
|
|
1125
|
-
url: url, target: proxy.checkBoxObj.checked ? '_blank' : null, selectNode: e.selectNode,
|
|
1134
|
+
url: url, target: proxy.checkBoxObj.checked ? '_blank' : null, ariaLabel: proxy.checkBoxObj.checked ? this.i10n.getConstant('ImageLinkAriaLabel') : null, selectNode: e.selectNode,
|
|
1126
1135
|
subCommand: e.args.item.subCommand, selection: e.selection
|
|
1127
1136
|
});
|
|
1128
1137
|
var captionEle = closest(e.selectNode[0], '.e-img-caption');
|
|
@@ -1233,11 +1242,11 @@ var Image = /** @class */ (function () {
|
|
|
1233
1242
|
}
|
|
1234
1243
|
else {
|
|
1235
1244
|
this.captionEle = this.parent.createElement('span', {
|
|
1236
|
-
className: classes.CLS_CAPTION + ' ' + classes.CLS_RTE_CAPTION +
|
|
1245
|
+
className: classes.CLS_CAPTION + ' ' + classes.CLS_RTE_CAPTION + this.parent.getCssClass(true),
|
|
1237
1246
|
attrs: { contenteditable: 'false', draggable: 'false', style: 'width:' + this.parent.insertImageSettings.width }
|
|
1238
1247
|
});
|
|
1239
|
-
var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' +
|
|
1240
|
-
var imgInner = this.parent.createElement('span', { className: 'e-img-inner' +
|
|
1248
|
+
var imgWrap = this.parent.createElement('span', { className: 'e-img-wrap' + this.parent.getCssClass(true) });
|
|
1249
|
+
var imgInner = this.parent.createElement('span', { className: 'e-img-inner' + this.parent.getCssClass(true),
|
|
1241
1250
|
attrs: { contenteditable: 'true' } });
|
|
1242
1251
|
var parent_1 = e.selectNode[0].parentElement;
|
|
1243
1252
|
if (parent_1.tagName === 'A') {
|
|
@@ -1290,7 +1299,7 @@ var Image = /** @class */ (function () {
|
|
|
1290
1299
|
_this.insertSize(selectObj_1);
|
|
1291
1300
|
},
|
|
1292
1301
|
buttonModel: {
|
|
1293
|
-
content: linkUpdate, cssClass: 'e-flat e-update-size' +
|
|
1302
|
+
content: linkUpdate, cssClass: 'e-flat e-update-size' + this.parent.getCssClass(true), isPrimary: true
|
|
1294
1303
|
}
|
|
1295
1304
|
}],
|
|
1296
1305
|
cssClass: this.dialogObj.cssClass + ' e-rte-img-size-dialog'
|
|
@@ -1336,7 +1345,7 @@ var Image = /** @class */ (function () {
|
|
|
1336
1345
|
this.dialogObj.hide({ returnValue: true });
|
|
1337
1346
|
return;
|
|
1338
1347
|
}
|
|
1339
|
-
var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog' +
|
|
1348
|
+
var imgDialog = this.parent.createElement('div', { className: 'e-rte-img-dialog' + this.parent.getCssClass(true), id: this.rteID + '_image' });
|
|
1340
1349
|
this.parent.element.appendChild(imgDialog);
|
|
1341
1350
|
var imgInsert = this.i10n.getConstant('dialogInsert');
|
|
1342
1351
|
var imglinkCancel = this.i10n.getConstant('dialogCancel');
|
|
@@ -1345,20 +1354,20 @@ var Image = /** @class */ (function () {
|
|
|
1345
1354
|
var selectObj = { selfImage: this, selection: e.selection, args: e.args, selectParent: e.selectParent };
|
|
1346
1355
|
var dialogModel = {
|
|
1347
1356
|
header: imgHeader,
|
|
1348
|
-
cssClass: classes.CLS_RTE_ELEMENTS +
|
|
1357
|
+
cssClass: classes.CLS_RTE_ELEMENTS + this.parent.getCssClass(true),
|
|
1349
1358
|
enableRtl: this.parent.enableRtl,
|
|
1350
1359
|
locale: this.parent.locale,
|
|
1351
1360
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px',
|
|
1352
1361
|
isModal: Browser.isDevice,
|
|
1353
1362
|
buttons: [{
|
|
1354
1363
|
click: this.insertImageUrl.bind(selectObj),
|
|
1355
|
-
buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage' +
|
|
1364
|
+
buttonModel: { content: imgInsert, cssClass: 'e-flat e-insertImage' + this.parent.getCssClass(true), isPrimary: true, disabled: true }
|
|
1356
1365
|
},
|
|
1357
1366
|
{
|
|
1358
1367
|
click: function (e) {
|
|
1359
1368
|
_this.cancelDialog(e);
|
|
1360
1369
|
},
|
|
1361
|
-
buttonModel: { cssClass: 'e-flat e-cancel' +
|
|
1370
|
+
buttonModel: { cssClass: 'e-flat e-cancel' + this.parent.getCssClass(true), content: imglinkCancel }
|
|
1362
1371
|
}],
|
|
1363
1372
|
target: (Browser.isDevice) ? document.body : this.parent.element,
|
|
1364
1373
|
animationSettings: { effect: 'None' },
|
|
@@ -1381,12 +1390,12 @@ var Image = /** @class */ (function () {
|
|
|
1381
1390
|
_this.dialogObj = null;
|
|
1382
1391
|
}
|
|
1383
1392
|
};
|
|
1384
|
-
var dialogContent = this.parent.createElement('div', { className: 'e-img-content' +
|
|
1393
|
+
var dialogContent = this.parent.createElement('div', { className: 'e-img-content' + this.parent.getCssClass(true) });
|
|
1385
1394
|
if ((!isNullOrUndefined(this.parent.insertImageSettings.path) && this.parent.editorMode === 'Markdown')
|
|
1386
1395
|
|| this.parent.editorMode === 'HTML') {
|
|
1387
1396
|
dialogContent.appendChild(this.imgUpload(e));
|
|
1388
1397
|
}
|
|
1389
|
-
var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' +
|
|
1398
|
+
var linkHeader = this.parent.createElement('div', { className: 'e-linkheader' + this.parent.getCssClass(true) });
|
|
1390
1399
|
var linkHeaderText = this.i10n.getConstant('imageLinkHeader');
|
|
1391
1400
|
if (this.parent.editorMode === 'HTML') {
|
|
1392
1401
|
linkHeader.innerHTML = linkHeaderText;
|
|
@@ -1503,10 +1512,10 @@ var Image = /** @class */ (function () {
|
|
|
1503
1512
|
// eslint-disable-next-line
|
|
1504
1513
|
Image.prototype.imageUrlPopup = function (e) {
|
|
1505
1514
|
var _this = this;
|
|
1506
|
-
var imgUrl = this.parent.createElement('div', { className: 'imgUrl' +
|
|
1515
|
+
var imgUrl = this.parent.createElement('div', { className: 'imgUrl' + this.parent.getCssClass(true) });
|
|
1507
1516
|
var placeUrl = this.i10n.getConstant('imageUrl');
|
|
1508
1517
|
this.inputUrl = this.parent.createElement('input', {
|
|
1509
|
-
className: 'e-input e-img-url' +
|
|
1518
|
+
className: 'e-input e-img-url' + this.parent.getCssClass(true),
|
|
1510
1519
|
attrs: { placeholder: placeUrl, spellcheck: 'false', 'aria-label': this.i10n.getConstant('imageLinkHeader') }
|
|
1511
1520
|
});
|
|
1512
1521
|
this.inputUrl.addEventListener('input', function () {
|
|
@@ -1573,7 +1582,7 @@ var Image = /** @class */ (function () {
|
|
|
1573
1582
|
var selectNode = e.selectNode[0];
|
|
1574
1583
|
var imgHeight = this.i10n.getConstant('imageHeight');
|
|
1575
1584
|
var imgWidth = this.i10n.getConstant('imageWidth');
|
|
1576
|
-
var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' +
|
|
1585
|
+
var imgSizeWrap = this.parent.createElement('div', { className: 'e-img-sizewrap' + this.parent.getCssClass(true) });
|
|
1577
1586
|
var widthVal = isNullOrUndefined(this.changedWidthValue) && (selectNode.style.width.toString() === 'auto' ||
|
|
1578
1587
|
selectNode.style.width !== '') ? selectNode.style.width : !isNullOrUndefined(this.changedWidthValue) ?
|
|
1579
1588
|
this.changedWidthValue : (parseInt(selectNode.getClientRects()[0].width.toString(), 10)).toString();
|
|
@@ -1582,10 +1591,10 @@ var Image = /** @class */ (function () {
|
|
|
1582
1591
|
this.changedHeightValue : (parseInt(selectNode.getClientRects()[0].height.toString(), 10)).toString();
|
|
1583
1592
|
this.changedWidthValue = null;
|
|
1584
1593
|
this.changedHeightValue = null;
|
|
1585
|
-
var content = '<div class="e-rte-label' +
|
|
1586
|
-
'</label></div><div class="e-rte-field' +
|
|
1587
|
-
'<div class="e-rte-label' +
|
|
1588
|
-
'<input type="text" id="imgheight" class="e-img-height' +
|
|
1594
|
+
var content = '<div class="e-rte-label' + this.parent.getCssClass(true) + '"><label>' + imgWidth +
|
|
1595
|
+
'</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" id="imgwidth" class="e-img-width' + this.parent.getCssClass(true) + '"/></div>' +
|
|
1596
|
+
'<div class="e-rte-label' + this.parent.getCssClass(true) + '">' + '<label>' + imgHeight + '</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '"> ' +
|
|
1597
|
+
'<input type="text" id="imgheight" class="e-img-height' + this.parent.getCssClass(true) + '"/></div>';
|
|
1589
1598
|
var contentElem = parseHtml(content);
|
|
1590
1599
|
contentElem.getElementById('imgwidth').setAttribute('value', widthVal);
|
|
1591
1600
|
contentElem.getElementById('imgheight').setAttribute('value', heightVal);
|
|
@@ -1593,7 +1602,7 @@ var Image = /** @class */ (function () {
|
|
|
1593
1602
|
this.widthNum = new TextBox({
|
|
1594
1603
|
value: formatUnit(widthVal),
|
|
1595
1604
|
enableRtl: this.parent.enableRtl,
|
|
1596
|
-
cssClass: this.parent.
|
|
1605
|
+
cssClass: this.parent.getCssClass(),
|
|
1597
1606
|
input: function (e) {
|
|
1598
1607
|
_this.inputWidthValue = formatUnit(_this.inputValue(e.value));
|
|
1599
1608
|
}
|
|
@@ -1603,7 +1612,7 @@ var Image = /** @class */ (function () {
|
|
|
1603
1612
|
this.heightNum = new TextBox({
|
|
1604
1613
|
value: formatUnit(heightVal),
|
|
1605
1614
|
enableRtl: this.parent.enableRtl,
|
|
1606
|
-
cssClass: this.parent.
|
|
1615
|
+
cssClass: this.parent.getCssClass(),
|
|
1607
1616
|
input: function (e) {
|
|
1608
1617
|
_this.inputHeightValue = formatUnit(_this.inputValue(e.value));
|
|
1609
1618
|
}
|
|
@@ -1675,16 +1684,16 @@ var Image = /** @class */ (function () {
|
|
|
1675
1684
|
save = e.selection;
|
|
1676
1685
|
selectParent = e.selectParent;
|
|
1677
1686
|
}
|
|
1678
|
-
var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' +
|
|
1687
|
+
var uploadParentEle = this.parent.createElement('div', { className: 'e-img-uploadwrap e-droparea' + this.parent.getCssClass(true) });
|
|
1679
1688
|
var deviceImgUpMsg = this.i10n.getConstant('imageDeviceUploadMessage');
|
|
1680
1689
|
var imgUpMsg = this.i10n.getConstant('imageUploadMessage');
|
|
1681
|
-
var span = this.parent.createElement('span', { className: 'e-droptext' +
|
|
1690
|
+
var span = this.parent.createElement('span', { className: 'e-droptext' + this.parent.getCssClass(true) });
|
|
1682
1691
|
var spanMsg = this.parent.createElement('span', {
|
|
1683
|
-
className: 'e-rte-upload-text' +
|
|
1692
|
+
className: 'e-rte-upload-text' + this.parent.getCssClass(true), innerHTML: ((Browser.isDevice) ? deviceImgUpMsg : imgUpMsg)
|
|
1684
1693
|
});
|
|
1685
1694
|
span.appendChild(spanMsg);
|
|
1686
1695
|
var btnEle = this.parent.createElement('button', {
|
|
1687
|
-
className: 'e-browsebtn' +
|
|
1696
|
+
className: 'e-browsebtn' + this.parent.getCssClass(true), id: this.rteID + '_insertImage', attrs: { autofocus: 'true', type: 'button' }
|
|
1688
1697
|
});
|
|
1689
1698
|
span.appendChild(btnEle);
|
|
1690
1699
|
uploadParentEle.appendChild(span);
|
|
@@ -1696,7 +1705,7 @@ var Image = /** @class */ (function () {
|
|
|
1696
1705
|
var btnClick = (Browser.isDevice) ? span : btnEle;
|
|
1697
1706
|
EventHandler.add(btnClick, 'click', this.fileSelect, this);
|
|
1698
1707
|
var uploadEle = this.parent.createElement('input', {
|
|
1699
|
-
id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }, className: this.parent.
|
|
1708
|
+
id: this.rteID + '_upload', attrs: { type: 'File', name: 'UploadFiles' }, className: this.parent.getCssClass()
|
|
1700
1709
|
});
|
|
1701
1710
|
uploadParentEle.appendChild(uploadEle);
|
|
1702
1711
|
var altText;
|
|
@@ -1704,7 +1713,7 @@ var Image = /** @class */ (function () {
|
|
|
1704
1713
|
var filesData;
|
|
1705
1714
|
this.uploadObj = new Uploader({
|
|
1706
1715
|
asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
|
|
1707
|
-
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.
|
|
1716
|
+
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.getCssClass(),
|
|
1708
1717
|
allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
|
|
1709
1718
|
selected: function (e) {
|
|
1710
1719
|
proxy.isImgUploaded = true;
|
|
@@ -1778,9 +1787,9 @@ var Image = /** @class */ (function () {
|
|
|
1778
1787
|
failure: function (e) {
|
|
1779
1788
|
_this.parent.trigger(events.imageUploadFailed, e);
|
|
1780
1789
|
},
|
|
1781
|
-
removing: function () {
|
|
1790
|
+
removing: function (removeEventArgs) {
|
|
1782
1791
|
// eslint-disable-next-line
|
|
1783
|
-
_this.parent.trigger(events.imageRemoving,
|
|
1792
|
+
_this.parent.trigger(events.imageRemoving, removeEventArgs, function (e) {
|
|
1784
1793
|
proxy.isImgUploaded = false;
|
|
1785
1794
|
_this.dialogObj.getButtons(0).element.disabled = true;
|
|
1786
1795
|
proxy.inputUrl.removeAttribute('disabled');
|
|
@@ -2069,7 +2078,7 @@ var Image = /** @class */ (function () {
|
|
|
2069
2078
|
saveUrl: this.parent.insertImageSettings.saveUrl,
|
|
2070
2079
|
removeUrl: this.parent.insertImageSettings.removeUrl
|
|
2071
2080
|
},
|
|
2072
|
-
cssClass: classes.CLS_RTE_DIALOG_UPLOAD +
|
|
2081
|
+
cssClass: classes.CLS_RTE_DIALOG_UPLOAD + this.parent.getCssClass(true),
|
|
2073
2082
|
dropArea: this.parent.element,
|
|
2074
2083
|
allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
|
|
2075
2084
|
removing: function () {
|
|
@@ -2275,10 +2284,10 @@ var Image = /** @class */ (function () {
|
|
|
2275
2284
|
*/
|
|
2276
2285
|
/* eslint-enable */
|
|
2277
2286
|
Image.prototype.destroy = function () {
|
|
2278
|
-
this.prevSelectedImgEle = undefined;
|
|
2279
2287
|
if (isNOU(this.parent)) {
|
|
2280
2288
|
return;
|
|
2281
2289
|
}
|
|
2290
|
+
this.prevSelectedImgEle = undefined;
|
|
2282
2291
|
this.removeEventListener();
|
|
2283
2292
|
};
|
|
2284
2293
|
Image.prototype.moduleDestroy = function () {
|
|
@@ -129,7 +129,7 @@ var Link = /** @class */ (function () {
|
|
|
129
129
|
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + parentTop + args.clientY : args.pageY;
|
|
130
130
|
}
|
|
131
131
|
if (this.quickToolObj.linkQTBar) {
|
|
132
|
-
this.quickToolObj.linkQTBar.showPopup(pageX, pageY, range.endContainer);
|
|
132
|
+
this.quickToolObj.linkQTBar.showPopup(pageX, pageY, range.endContainer, 'link');
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
};
|
|
@@ -160,12 +160,32 @@ var Link = /** @class */ (function () {
|
|
|
160
160
|
if (isPopupOpen) {
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
if (e.args.ctrlKey === false) {
|
|
164
|
+
this.showLinkQuickToolbar({
|
|
165
|
+
args: args,
|
|
166
|
+
isNotify: false,
|
|
167
|
+
type: 'Links',
|
|
168
|
+
elements: [args.target]
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
var selection = this.parent.formatter.editorManager.nodeSelection;
|
|
173
|
+
var range = selection.getRange(this.parent.contentModule.getDocument());
|
|
174
|
+
var args_1 = {
|
|
175
|
+
args: {
|
|
176
|
+
item: {
|
|
177
|
+
subCommand: 'OpenLink',
|
|
178
|
+
command: 'Links',
|
|
179
|
+
name: ''
|
|
180
|
+
},
|
|
181
|
+
originalEvent: e.args
|
|
182
|
+
},
|
|
183
|
+
selectNode: selection.getNodeCollection(range),
|
|
184
|
+
selectParent: selection.getParentNodeCollection(range),
|
|
185
|
+
selection: selection.save(range, this.parent.contentModule.getDocument())
|
|
186
|
+
};
|
|
187
|
+
this.parent.notify(events.openLink, args_1);
|
|
188
|
+
}
|
|
169
189
|
}
|
|
170
190
|
else {
|
|
171
191
|
this.hideLinkQuickToolbar();
|
|
@@ -222,7 +242,7 @@ var Link = /** @class */ (function () {
|
|
|
222
242
|
};
|
|
223
243
|
Link.prototype.showDialog = function () {
|
|
224
244
|
this.openDialog(false);
|
|
225
|
-
this.setCssClass({ cssClass: this.parent.
|
|
245
|
+
this.setCssClass({ cssClass: this.parent.getCssClass() });
|
|
226
246
|
};
|
|
227
247
|
Link.prototype.closeDialog = function () {
|
|
228
248
|
if (this.dialogObj) {
|
|
@@ -255,22 +275,22 @@ var Link = /** @class */ (function () {
|
|
|
255
275
|
var textPlace = this.i10n.getConstant('textPlaceholder');
|
|
256
276
|
var title = this.i10n.getConstant('linkTitle');
|
|
257
277
|
var linkDialogEle = this.parent.createElement('div', {
|
|
258
|
-
className: 'e-rte-link-dialog' +
|
|
278
|
+
className: 'e-rte-link-dialog' + this.parent.getCssClass(true), id: this.rteID + '_rtelink'
|
|
259
279
|
});
|
|
260
280
|
this.parent.element.appendChild(linkDialogEle);
|
|
261
281
|
var linkContent = this.parent.createElement('div', {
|
|
262
|
-
className: 'e-rte-linkcontent' +
|
|
282
|
+
className: 'e-rte-linkcontent' + this.parent.getCssClass(true), id: this.rteID + '_linkContent'
|
|
263
283
|
});
|
|
264
284
|
var htmlTextbox = (this.parent.editorMode === 'HTML') ? '<label>' + linkTooltip +
|
|
265
|
-
'</label></div><div class="e-rte-field' +
|
|
266
|
-
'<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '"aria-label="' + this.i10n.getConstant('linkTitle') + '" class="e-input e-rte-linkTitle' +
|
|
267
|
-
'<div class="e-rte-label' +
|
|
268
|
-
'<input type="checkbox" class="e-rte-linkTarget' +
|
|
269
|
-
var content = '<div class="e-rte-label' +
|
|
270
|
-
'<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '"aria-label="' + this.i10n.getConstant('linkWebUrl') + '" class="e-input e-rte-linkurl' +
|
|
271
|
-
'<div class="e-rte-label' +
|
|
272
|
-
'<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' +
|
|
273
|
-
'</div><div class="e-rte-label' +
|
|
285
|
+
'</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
|
|
286
|
+
'<input type="text" data-role ="none" spellcheck="false" placeholder = "' + title + '"aria-label="' + this.i10n.getConstant('linkTitle') + '" class="e-input e-rte-linkTitle' + this.parent.getCssClass(true) + '"></div>' +
|
|
287
|
+
'<div class="e-rte-label' + this.parent.getCssClass(true) + '"></div>' + '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
|
|
288
|
+
'<input type="checkbox" class="e-rte-linkTarget' + this.parent.getCssClass(true) + '" data-role ="none"></div>' : '';
|
|
289
|
+
var content = '<div class="e-rte-label' + this.parent.getCssClass(true) + '"><label>' + linkWebAddress + '</label></div>' + '<div class="e-rte-field' + this.parent.getCssClass(true) + '">' +
|
|
290
|
+
'<input type="text" data-role ="none" spellcheck="false" placeholder="' + urlPlace + '"aria-label="' + this.i10n.getConstant('linkWebUrl') + '" class="e-input e-rte-linkurl' + this.parent.getCssClass(true) + '"/></div>' +
|
|
291
|
+
'<div class="e-rte-label' + this.parent.getCssClass(true) + '">' + '<label>' + linkDisplayText + '</label></div><div class="e-rte-field' + this.parent.getCssClass(true) + '"> ' +
|
|
292
|
+
'<input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText' + this.parent.getCssClass(true) + '"aria-label="' + this.i10n.getConstant('linkText') + '" placeholder="' + textPlace + '">' +
|
|
293
|
+
'</div><div class="e-rte-label' + this.parent.getCssClass(true) + '">' + htmlTextbox;
|
|
274
294
|
var contentElem = parseHtml(content);
|
|
275
295
|
linkContent.appendChild(contentElem);
|
|
276
296
|
var linkTarget = linkContent.querySelector('.e-rte-linkTarget');
|
|
@@ -279,7 +299,7 @@ var Link = /** @class */ (function () {
|
|
|
279
299
|
var linkTitle = linkContent.querySelector('.e-rte-linkTitle');
|
|
280
300
|
var linkOpenLabel = this.i10n.getConstant('linkOpenInNewWindow');
|
|
281
301
|
this.checkBoxObj = new CheckBox({ label: linkOpenLabel, checked: true, enableRtl: this.parent.enableRtl,
|
|
282
|
-
cssClass: this.parent.
|
|
302
|
+
cssClass: this.parent.getCssClass() });
|
|
283
303
|
this.checkBoxObj.isStringTemplate = true;
|
|
284
304
|
this.checkBoxObj.createElement = this.parent.createElement;
|
|
285
305
|
this.checkBoxObj.appendTo(linkTarget);
|
|
@@ -292,16 +312,16 @@ var Link = /** @class */ (function () {
|
|
|
292
312
|
var dialogModel = {
|
|
293
313
|
header: this.i10n.getConstant('linkHeader'),
|
|
294
314
|
content: linkContent,
|
|
295
|
-
cssClass: CLS_RTE_ELEMENTS +
|
|
315
|
+
cssClass: CLS_RTE_ELEMENTS + this.parent.getCssClass(true),
|
|
296
316
|
enableRtl: this.parent.enableRtl,
|
|
297
317
|
locale: this.parent.locale,
|
|
298
318
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '310px',
|
|
299
319
|
isModal: Browser.isDevice,
|
|
300
320
|
buttons: [{
|
|
301
321
|
click: this.insertlink.bind(selectObj),
|
|
302
|
-
buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' +
|
|
322
|
+
buttonModel: { content: linkInsert, cssClass: 'e-flat e-insertLink' + this.parent.getCssClass(true), isPrimary: true }
|
|
303
323
|
},
|
|
304
|
-
{ click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' +
|
|
324
|
+
{ click: this.cancelDialog.bind(selectObj), buttonModel: { cssClass: 'e-flat' + this.parent.getCssClass(true), content: linkCancel } }],
|
|
305
325
|
target: (Browser.isDevice) ? document.body : this.parent.element,
|
|
306
326
|
animationSettings: { effect: 'None' },
|
|
307
327
|
close: function (event) {
|
|
@@ -59,6 +59,7 @@ export declare class Table {
|
|
|
59
59
|
private setBGColor;
|
|
60
60
|
private hideTableQuickToolbar;
|
|
61
61
|
private tableHeader;
|
|
62
|
+
private getAnchorNode;
|
|
62
63
|
private editAreaClickHandler;
|
|
63
64
|
private tableCellSelect;
|
|
64
65
|
private tableMouseUp;
|
|
@@ -91,6 +92,7 @@ export declare class Table {
|
|
|
91
92
|
private removeRowColumn;
|
|
92
93
|
private removeTable;
|
|
93
94
|
private renderDlgContent;
|
|
95
|
+
private onIframeMouseDown;
|
|
94
96
|
private docClick;
|
|
95
97
|
private drawTable;
|
|
96
98
|
private editTable;
|