@syncfusion/ej2-richtexteditor 23.2.7 → 24.1.43
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 +35 -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 +574 -309
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +573 -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 +75 -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 +11 -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
|
@@ -35,6 +35,7 @@ var Table = /** @class */ (function () {
|
|
|
35
35
|
this.parent.on(events.showTableDialog, this.showDialog, this);
|
|
36
36
|
this.parent.on(events.closeTableDialog, this.closeDialog, this);
|
|
37
37
|
this.parent.on(events.docClick, this.docClick, this);
|
|
38
|
+
this.parent.on(events.iframeMouseDown, this.onIframeMouseDown, this);
|
|
38
39
|
this.parent.on(events.editAreaClick, this.editAreaClickHandler, this);
|
|
39
40
|
this.parent.on(events.clearDialogObj, this.clearDialogObj, this);
|
|
40
41
|
this.parent.on(events.tableToolbarAction, this.onToolbarAction, this);
|
|
@@ -55,6 +56,7 @@ var Table = /** @class */ (function () {
|
|
|
55
56
|
this.parent.off(events.initialEnd, this.afterRender);
|
|
56
57
|
this.parent.off(events.dynamicModule, this.afterRender);
|
|
57
58
|
this.parent.off(events.docClick, this.docClick);
|
|
59
|
+
this.parent.off(events.iframeMouseDown, this.onIframeMouseDown);
|
|
58
60
|
this.parent.off(events.showTableDialog, this.showDialog);
|
|
59
61
|
this.parent.off(events.closeTableDialog, this.closeDialog);
|
|
60
62
|
this.parent.off(events.editAreaClick, this.editAreaClickHandler);
|
|
@@ -63,8 +65,8 @@ var Table = /** @class */ (function () {
|
|
|
63
65
|
this.parent.off(events.dropDownSelect, this.dropdownSelect);
|
|
64
66
|
this.parent.off(events.mouseDown, this.cellSelect);
|
|
65
67
|
this.parent.off(events.tableColorPickerChanged, this.setBGColor);
|
|
66
|
-
this.parent.off(events.keyUp, this.keyUp);
|
|
67
68
|
this.parent.off(events.keyDown, this.keyDown);
|
|
69
|
+
this.parent.off(events.keyUp, this.keyUp);
|
|
68
70
|
this.parent.off(events.mouseUp, this.selectionTable);
|
|
69
71
|
this.parent.off(events.tableModulekeyUp, this.tableModulekeyUp);
|
|
70
72
|
this.parent.off(events.bindCssClass, this.setCssClass);
|
|
@@ -260,11 +262,12 @@ var Table = /** @class */ (function () {
|
|
|
260
262
|
name: !isInternal ? 'showDialog' : null
|
|
261
263
|
};
|
|
262
264
|
this.insertTableDialog({ self: this, args: args, selection: selection });
|
|
265
|
+
this.parent.formatter.editorManager.nodeSelection.restore();
|
|
263
266
|
}
|
|
264
267
|
};
|
|
265
268
|
Table.prototype.showDialog = function () {
|
|
266
269
|
this.openDialog(false);
|
|
267
|
-
this.setCssClass({ cssClass: this.parent.
|
|
270
|
+
this.setCssClass({ cssClass: this.parent.getCssClass() });
|
|
268
271
|
};
|
|
269
272
|
Table.prototype.closeDialog = function () {
|
|
270
273
|
if (this.editdlgObj) {
|
|
@@ -454,6 +457,10 @@ var Table = /** @class */ (function () {
|
|
|
454
457
|
Table.prototype.tableHeader = function (selection, e) {
|
|
455
458
|
this.parent.formatter.process(this.parent, e, e.originalEvent, { selection: selection, subCommand: e.item.subCommand });
|
|
456
459
|
};
|
|
460
|
+
Table.prototype.getAnchorNode = function (element) {
|
|
461
|
+
var selectParent = closest(element, 'a');
|
|
462
|
+
return (selectParent ? selectParent : element);
|
|
463
|
+
};
|
|
457
464
|
Table.prototype.editAreaClickHandler = function (e) {
|
|
458
465
|
if (this.parent.readonly || !isNOU(closest(e.args.target, '.e-img-caption'))) {
|
|
459
466
|
return;
|
|
@@ -475,7 +482,8 @@ var Table = /** @class */ (function () {
|
|
|
475
482
|
var closestTable = closest(target, 'table');
|
|
476
483
|
var startNode = this.parent.getRange().startContainer.parentElement;
|
|
477
484
|
var endNode = this.parent.getRange().endContainer.parentElement;
|
|
478
|
-
|
|
485
|
+
var isAnchorEle = this.getAnchorNode(target);
|
|
486
|
+
if (target && target.nodeName !== 'A' && isAnchorEle.nodeName !== 'A' && target.nodeName !== 'IMG' && target.nodeName !== 'VIDEO' && !target.classList.contains(classes.CLS_CLICKELEM) &&
|
|
479
487
|
target.nodeName !== 'AUDIO' && startNode === endNode && (target.nodeName === 'TD' || target.nodeName === 'TH' ||
|
|
480
488
|
target.nodeName === 'TABLE' || (closestTable && this.parent.contentModule.getEditPanel().contains(closestTable)))
|
|
481
489
|
&& !(range.startContainer.nodeType === 3 && !range.collapsed)) {
|
|
@@ -661,7 +669,7 @@ var Table = /** @class */ (function () {
|
|
|
661
669
|
this.contentModule.getEditPanel().appendChild(rowReEle);
|
|
662
670
|
}
|
|
663
671
|
var tableReBox = this.parent.createElement('span', {
|
|
664
|
-
className: classes.CLS_TB_BOX_RES +
|
|
672
|
+
className: classes.CLS_TB_BOX_RES + this.parent.getCssClass(true), attrs: {
|
|
665
673
|
'data-col': columns.length.toString(), 'unselectable': 'on', 'contenteditable': 'false'
|
|
666
674
|
}
|
|
667
675
|
});
|
|
@@ -814,7 +822,7 @@ var Table = /** @class */ (function () {
|
|
|
814
822
|
};
|
|
815
823
|
Table.prototype.appendHelper = function () {
|
|
816
824
|
this.helper = this.parent.createElement('div', {
|
|
817
|
-
className: 'e-table-rhelper' +
|
|
825
|
+
className: 'e-table-rhelper' + this.parent.getCssClass(true)
|
|
818
826
|
});
|
|
819
827
|
if (Browser.isDevice) {
|
|
820
828
|
this.helper.classList.add('e-reicon');
|
|
@@ -1175,16 +1183,16 @@ var Table = /** @class */ (function () {
|
|
|
1175
1183
|
this.hideTableQuickToolbar();
|
|
1176
1184
|
var header = '1X1';
|
|
1177
1185
|
var insertbtn = this.l10n.getConstant('inserttablebtn');
|
|
1178
|
-
this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup' +
|
|
1179
|
-
this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' +
|
|
1186
|
+
this.dlgDiv = this.parent.createElement('div', { className: 'e-rte-table-popup' + this.parent.getCssClass(true), id: this.rteID + '_table' });
|
|
1187
|
+
this.tblHeader = this.parent.createElement('div', { className: 'e-rte-popup-header' + this.parent.getCssClass(true) });
|
|
1180
1188
|
this.tblHeader.innerHTML = header;
|
|
1181
1189
|
this.dlgDiv.appendChild(this.tblHeader);
|
|
1182
|
-
var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' +
|
|
1190
|
+
var tableDiv = this.parent.createElement('div', { className: 'e-rte-table-span' + this.parent.getCssClass(true) });
|
|
1183
1191
|
this.drawTable(tableDiv, args);
|
|
1184
1192
|
this.dlgDiv.appendChild(tableDiv);
|
|
1185
|
-
this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' +
|
|
1193
|
+
this.dlgDiv.appendChild(this.parent.createElement('span', { className: 'e-span-border' + this.parent.getCssClass(true) }));
|
|
1186
1194
|
var btnEle = this.parent.createElement('button', {
|
|
1187
|
-
className: 'e-insert-table-btn' +
|
|
1195
|
+
className: 'e-insert-table-btn' + this.parent.getCssClass(true), id: this.rteID + '_insertTable',
|
|
1188
1196
|
attrs: { type: 'button', tabindex: '0' }
|
|
1189
1197
|
});
|
|
1190
1198
|
if (!isNOU(this.parent.getToolbarElement().querySelector('.e-expended-nav'))) {
|
|
@@ -1192,7 +1200,7 @@ var Table = /** @class */ (function () {
|
|
|
1192
1200
|
}
|
|
1193
1201
|
this.dlgDiv.appendChild(btnEle);
|
|
1194
1202
|
this.createTableButton = new Button({
|
|
1195
|
-
iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat' +
|
|
1203
|
+
iconCss: 'e-icons e-create-table', content: insertbtn, cssClass: 'e-flat' + this.parent.getCssClass(true),
|
|
1196
1204
|
enableRtl: this.parent.enableRtl, locale: this.parent.locale
|
|
1197
1205
|
});
|
|
1198
1206
|
this.createTableButton.isStringTemplate = true;
|
|
@@ -1220,10 +1228,15 @@ var Table = /** @class */ (function () {
|
|
|
1220
1228
|
});
|
|
1221
1229
|
addClass([this.popupObj.element], 'e-popup-open');
|
|
1222
1230
|
if (!isNOU(this.parent.cssClass)) {
|
|
1223
|
-
addClass([this.popupObj.element], this.parent.
|
|
1231
|
+
addClass([this.popupObj.element], this.parent.getCssClass());
|
|
1224
1232
|
}
|
|
1225
1233
|
this.popupObj.refreshPosition(target);
|
|
1226
1234
|
};
|
|
1235
|
+
Table.prototype.onIframeMouseDown = function () {
|
|
1236
|
+
if (this.popupObj) {
|
|
1237
|
+
this.popupObj.hide();
|
|
1238
|
+
}
|
|
1239
|
+
};
|
|
1227
1240
|
Table.prototype.docClick = function (e) {
|
|
1228
1241
|
var target = e.args.target;
|
|
1229
1242
|
// eslint-disable-next-line
|
|
@@ -1260,10 +1273,10 @@ var Table = /** @class */ (function () {
|
|
|
1260
1273
|
var rowDiv;
|
|
1261
1274
|
var tableCell;
|
|
1262
1275
|
for (var row = 0; row < 3; row++) {
|
|
1263
|
-
rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row' +
|
|
1276
|
+
rowDiv = this.parent.createElement('div', { className: 'e-rte-table-row' + this.parent.getCssClass(true), attrs: { 'data-column': '' + row } });
|
|
1264
1277
|
for (var col = 0; col < 10; col++) {
|
|
1265
1278
|
var display = (row > 2) ? 'none' : 'inline-block';
|
|
1266
|
-
tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default' +
|
|
1279
|
+
tableCell = this.parent.createElement('div', { className: 'e-rte-tablecell e-default' + this.parent.getCssClass(true), attrs: { 'data-cell': '' + col } });
|
|
1267
1280
|
rowDiv.appendChild(tableCell);
|
|
1268
1281
|
tableCell.style.display = display;
|
|
1269
1282
|
if (col === 0 && row === 0) {
|
|
@@ -1287,13 +1300,13 @@ var Table = /** @class */ (function () {
|
|
|
1287
1300
|
height: 'initial', width: '290px', content: editContent, header: editHeader,
|
|
1288
1301
|
buttons: [{
|
|
1289
1302
|
click: this.applyProperties.bind(this, args),
|
|
1290
|
-
buttonModel: { content: update, cssClass: 'e-flat e-size-update' +
|
|
1303
|
+
buttonModel: { content: update, cssClass: 'e-flat e-size-update' + this.parent.getCssClass(true), isPrimary: true }
|
|
1291
1304
|
},
|
|
1292
1305
|
{
|
|
1293
1306
|
click: function (e) {
|
|
1294
1307
|
_this.cancelDialog(e);
|
|
1295
1308
|
},
|
|
1296
|
-
buttonModel: { cssClass: 'e-flat e-cancel' +
|
|
1309
|
+
buttonModel: { cssClass: 'e-flat e-cancel' + this.parent.getCssClass(true), content: cancel }
|
|
1297
1310
|
}],
|
|
1298
1311
|
cssClass: this.editdlgObj.cssClass + ' e-rte-edit-table-prop-dialog'
|
|
1299
1312
|
});
|
|
@@ -1335,10 +1348,10 @@ var Table = /** @class */ (function () {
|
|
|
1335
1348
|
Table.prototype.tableCellDlgContent = function () {
|
|
1336
1349
|
var tableColumn = this.l10n.getConstant('columns');
|
|
1337
1350
|
var tableRow = this.l10n.getConstant('rows');
|
|
1338
|
-
var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' +
|
|
1339
|
-
var content = '<div class="e-rte-field' +
|
|
1340
|
-
+ ' data-role ="none" id="tableColumn" class="e-table-column' +
|
|
1341
|
-
+ '<div class="e-rte-field' +
|
|
1351
|
+
var tableWrap = this.parent.createElement('div', { className: 'e-cell-wrap' + this.parent.getCssClass(true) });
|
|
1352
|
+
var content = '<div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" '
|
|
1353
|
+
+ ' data-role ="none" id="tableColumn" class="e-table-column' + this.parent.getCssClass(true) + '"/></div>'
|
|
1354
|
+
+ '<div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" data-role ="none" id="tableRow" class="e-table-row' + this.parent.getCssClass(true) + '" /></div>';
|
|
1342
1355
|
var contentElem = parseHtml(content);
|
|
1343
1356
|
tableWrap.appendChild(contentElem);
|
|
1344
1357
|
this.columnTextBox = new NumericTextBox({
|
|
@@ -1349,7 +1362,7 @@ var Table = /** @class */ (function () {
|
|
|
1349
1362
|
floatLabelType: 'Auto',
|
|
1350
1363
|
max: 50,
|
|
1351
1364
|
enableRtl: this.parent.enableRtl, locale: this.parent.locale,
|
|
1352
|
-
cssClass: this.parent.
|
|
1365
|
+
cssClass: this.parent.getCssClass()
|
|
1353
1366
|
});
|
|
1354
1367
|
this.columnTextBox.isStringTemplate = true;
|
|
1355
1368
|
this.columnTextBox.appendTo(tableWrap.querySelector('#tableColumn'));
|
|
@@ -1361,7 +1374,7 @@ var Table = /** @class */ (function () {
|
|
|
1361
1374
|
floatLabelType: 'Auto',
|
|
1362
1375
|
max: 1000,
|
|
1363
1376
|
enableRtl: this.parent.enableRtl, locale: this.parent.locale,
|
|
1364
|
-
cssClass: this.parent.
|
|
1377
|
+
cssClass: this.parent.getCssClass()
|
|
1365
1378
|
});
|
|
1366
1379
|
this.rowTextBox.isStringTemplate = true;
|
|
1367
1380
|
this.rowTextBox.appendTo(tableWrap.querySelector('#tableRow'));
|
|
@@ -1382,7 +1395,7 @@ var Table = /** @class */ (function () {
|
|
|
1382
1395
|
return;
|
|
1383
1396
|
}
|
|
1384
1397
|
var tableDialog = this.parent.createElement('div', {
|
|
1385
|
-
className: 'e-rte-edit-table' +
|
|
1398
|
+
className: 'e-rte-edit-table' + this.parent.getCssClass(true), id: this.rteID + '_tabledialog'
|
|
1386
1399
|
});
|
|
1387
1400
|
this.parent.element.appendChild(tableDialog);
|
|
1388
1401
|
var insert = this.l10n.getConstant('dialogInsert');
|
|
@@ -1390,20 +1403,20 @@ var Table = /** @class */ (function () {
|
|
|
1390
1403
|
var header = this.l10n.getConstant('tabledialogHeader');
|
|
1391
1404
|
var dialogModel = {
|
|
1392
1405
|
header: header,
|
|
1393
|
-
cssClass: classes.CLS_RTE_ELEMENTS +
|
|
1406
|
+
cssClass: classes.CLS_RTE_ELEMENTS + this.parent.getCssClass(true),
|
|
1394
1407
|
enableRtl: this.parent.enableRtl,
|
|
1395
1408
|
locale: this.parent.locale,
|
|
1396
1409
|
showCloseIcon: true, closeOnEscape: true, width: (Browser.isDevice) ? '290px' : '340px', height: 'initial',
|
|
1397
1410
|
position: { X: 'center', Y: (Browser.isDevice) ? 'center' : 'top' },
|
|
1398
1411
|
isModal: Browser.isDevice,
|
|
1399
1412
|
buttons: [{
|
|
1400
|
-
buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' +
|
|
1413
|
+
buttonModel: { content: insert, cssClass: 'e-flat e-insert-table' + this.parent.getCssClass(true), isPrimary: true }
|
|
1401
1414
|
},
|
|
1402
1415
|
{
|
|
1403
1416
|
click: function (e) {
|
|
1404
1417
|
_this.cancelDialog(e);
|
|
1405
1418
|
},
|
|
1406
|
-
buttonModel: { cssClass: 'e-flat e-cancel' +
|
|
1419
|
+
buttonModel: { cssClass: 'e-flat e-cancel' + this.parent.getCssClass(true), content: cancel }
|
|
1407
1420
|
}],
|
|
1408
1421
|
target: (Browser.isDevice) ? document.body : this.parent.element,
|
|
1409
1422
|
animationSettings: { effect: 'None' },
|
|
@@ -1476,13 +1489,13 @@ var Table = /** @class */ (function () {
|
|
|
1476
1489
|
var tableWidth = this.l10n.getConstant('tableWidth');
|
|
1477
1490
|
var cellPadding = this.l10n.getConstant('cellpadding');
|
|
1478
1491
|
var cellSpacing = this.l10n.getConstant('cellspacing');
|
|
1479
|
-
var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' +
|
|
1492
|
+
var tableWrap = this.parent.createElement('div', { className: 'e-table-sizewrap' + this.parent.getCssClass(true) });
|
|
1480
1493
|
var widthVal = closest(selectNode, 'table').getClientRects()[0].width;
|
|
1481
1494
|
var padVal = closest(selectNode, 'td').style.padding;
|
|
1482
1495
|
var brdSpcVal = closest(selectNode, 'table').getAttribute('cellspacing');
|
|
1483
|
-
var content = '<div class="e-rte-field' +
|
|
1484
|
-
+ ' /></div>' + '<div class="e-rte-field' +
|
|
1485
|
-
+ ' </div><div class="e-rte-field' +
|
|
1496
|
+
var content = '<div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" data-role ="none" id="tableWidth" class="e-table-width' + this.parent.getCssClass(true) + '" '
|
|
1497
|
+
+ ' /></div>' + '<div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding' + this.parent.getCssClass(true) + '" />'
|
|
1498
|
+
+ ' </div><div class="e-rte-field' + this.parent.getCssClass(true) + '"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing' + this.parent.getCssClass(true) + '" /></div>';
|
|
1486
1499
|
var contentElem = parseHtml(content);
|
|
1487
1500
|
tableWrap.appendChild(contentElem);
|
|
1488
1501
|
this.tableWidthNum = new NumericTextBox({
|
|
@@ -17,10 +17,8 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
17
17
|
* @private
|
|
18
18
|
*/
|
|
19
19
|
parent: IRichTextEditor;
|
|
20
|
-
private popupContainer;
|
|
21
20
|
private currentElement;
|
|
22
21
|
private currentDropdown;
|
|
23
|
-
private popupOverlay;
|
|
24
22
|
private tooltip;
|
|
25
23
|
private l10n;
|
|
26
24
|
/**
|
|
@@ -41,7 +39,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
41
39
|
private tooltipBeforeRender;
|
|
42
40
|
private dropDownOpen;
|
|
43
41
|
private dropDownClose;
|
|
44
|
-
private removePopupContainer;
|
|
45
42
|
/**
|
|
46
43
|
* renderToolbar method
|
|
47
44
|
*
|
|
@@ -69,8 +66,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
69
66
|
|
|
70
67
|
*/
|
|
71
68
|
renderListDropDown(args: IDropDownModel): DropDownButton;
|
|
72
|
-
private onPopupOverlay;
|
|
73
|
-
private setIsModel;
|
|
74
69
|
private paletteSelection;
|
|
75
70
|
/**
|
|
76
71
|
* renderColorPickerDropDown method
|
|
@@ -85,7 +80,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
85
80
|
*/
|
|
86
81
|
renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: ColorPicker, defaultColor: string): DropDownButton;
|
|
87
82
|
private pickerRefresh;
|
|
88
|
-
private popupModal;
|
|
89
83
|
private setColorPickerContentWidth;
|
|
90
84
|
/**
|
|
91
85
|
* renderColorPicker method
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addClass, Browser, removeClass,
|
|
2
|
-
import { getInstance, closest, selectAll
|
|
1
|
+
import { addClass, Browser, removeClass, formatUnit, isNullOrUndefined, isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';
|
|
2
|
+
import { getInstance, closest, selectAll } from '@syncfusion/ej2-base';
|
|
3
3
|
import { Toolbar } from '@syncfusion/ej2-navigations';
|
|
4
4
|
import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
|
|
5
5
|
import { Popup, Tooltip } from '@syncfusion/ej2-popups';
|
|
@@ -30,21 +30,19 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
30
30
|
}
|
|
31
31
|
ToolbarRenderer.prototype.wireEvent = function () {
|
|
32
32
|
this.parent.on(events.destroy, this.unWireEvent, this);
|
|
33
|
-
this.parent.on(events.
|
|
33
|
+
this.parent.on(events.destroyTooltip, this.destroyTooltip, this);
|
|
34
34
|
};
|
|
35
35
|
ToolbarRenderer.prototype.destroyTooltip = function () {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
|
|
37
|
+
this.parent.contentModule.getDocument();
|
|
38
|
+
if (!isNullOrUndefined(currentDocument.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(currentDocument.querySelector('[data-tooltip-id]'))) {
|
|
39
|
+
var tooltipTargetEle = currentDocument.querySelector('[data-tooltip-id]');
|
|
38
40
|
var event_1 = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
|
|
39
41
|
tooltipTargetEle.dispatchEvent(event_1);
|
|
40
42
|
}
|
|
41
43
|
};
|
|
42
44
|
ToolbarRenderer.prototype.unWireEvent = function () {
|
|
43
45
|
this.parent.off(events.destroy, this.unWireEvent);
|
|
44
|
-
if (this.popupOverlay) {
|
|
45
|
-
EventHandler.remove(this.popupOverlay, 'click touchmove', this.onPopupOverlay);
|
|
46
|
-
}
|
|
47
|
-
this.removePopupContainer();
|
|
48
46
|
};
|
|
49
47
|
ToolbarRenderer.prototype.toolbarBeforeCreate = function (e) {
|
|
50
48
|
if (this.mode === 'Extended') {
|
|
@@ -65,7 +63,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
65
63
|
};
|
|
66
64
|
ToolbarRenderer.prototype.dropDownSelected = function (args) {
|
|
67
65
|
this.parent.notify(events.dropDownSelect, args);
|
|
68
|
-
this.onPopupOverlay();
|
|
69
66
|
};
|
|
70
67
|
ToolbarRenderer.prototype.beforeDropDownItemRender = function (args) {
|
|
71
68
|
if (this.parent.readonly || !this.parent.enabled) {
|
|
@@ -102,27 +99,11 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
102
99
|
addClass([listEle[1], listEle[2]], 'e-disabled');
|
|
103
100
|
}
|
|
104
101
|
}
|
|
105
|
-
if (Browser.isDevice && !args.element.parentElement.classList.contains(classes.CLS_QUICK_DROPDOWN)) {
|
|
106
|
-
this.popupModal(args.element.parentElement);
|
|
107
|
-
}
|
|
108
102
|
this.parent.notify(events.selectionSave, args);
|
|
109
103
|
};
|
|
110
104
|
ToolbarRenderer.prototype.dropDownClose = function (args) {
|
|
111
|
-
this.removePopupContainer();
|
|
112
105
|
this.parent.notify(events.selectionRestore, args);
|
|
113
106
|
};
|
|
114
|
-
ToolbarRenderer.prototype.removePopupContainer = function () {
|
|
115
|
-
if (Browser.isDevice && !isNullOrUndefined(this.popupContainer)) {
|
|
116
|
-
var popupEle = this.popupContainer.querySelector('.e-dropdown-popup.e-tbar-btn.e-control');
|
|
117
|
-
if (popupEle) {
|
|
118
|
-
this.popupContainer.parentNode.insertBefore(popupEle, this.popupContainer.nextSibling);
|
|
119
|
-
popupEle.style.removeProperty('position');
|
|
120
|
-
removeClass([popupEle], 'e-popup-modal');
|
|
121
|
-
}
|
|
122
|
-
detach(this.popupContainer);
|
|
123
|
-
this.popupContainer = undefined;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
107
|
/**
|
|
127
108
|
* renderToolbar method
|
|
128
109
|
*
|
|
@@ -156,7 +137,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
156
137
|
openDelay: 400,
|
|
157
138
|
opensOn: 'Hover',
|
|
158
139
|
beforeRender: this.tooltipBeforeRender.bind(this),
|
|
159
|
-
cssClass: this.parent.
|
|
140
|
+
cssClass: this.parent.getCssClass(),
|
|
160
141
|
windowCollision: true,
|
|
161
142
|
position: 'BottomCenter'
|
|
162
143
|
});
|
|
@@ -216,7 +197,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
216
197
|
}
|
|
217
198
|
//Alignments preselect
|
|
218
199
|
var alignEle = proxy.parent.getRange().startContainer;
|
|
219
|
-
while (alignEle !== proxy.parent.
|
|
200
|
+
while (alignEle !== proxy.parent.inputElement && !isNOU(alignEle.parentElement)) {
|
|
220
201
|
if (alignEle.nodeName === '#text') {
|
|
221
202
|
alignEle = alignEle.parentElement;
|
|
222
203
|
}
|
|
@@ -242,7 +223,8 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
242
223
|
alignEle = alignEle.parentElement;
|
|
243
224
|
}
|
|
244
225
|
//image preselect
|
|
245
|
-
var
|
|
226
|
+
var closestNode = startNode.closest('img');
|
|
227
|
+
var imageEle = closestNode ? closestNode : startNode.querySelector('img');
|
|
246
228
|
if (args.items[0].command === 'Images') {
|
|
247
229
|
if (!isNOU(imageEle)) {
|
|
248
230
|
var index = void 0;
|
|
@@ -354,39 +336,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
354
336
|
};
|
|
355
337
|
return dropDown;
|
|
356
338
|
};
|
|
357
|
-
// eslint-disable-next-line
|
|
358
|
-
ToolbarRenderer.prototype.onPopupOverlay = function (args) {
|
|
359
|
-
if (!isNullOrUndefined(this.popupOverlay)) {
|
|
360
|
-
closest(this.popupOverlay, '.e-popup-container').style.display = 'none';
|
|
361
|
-
this.popupOverlay.style.display = 'none';
|
|
362
|
-
removeClass([this.popupOverlay], 'e-popup-overlay');
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
ToolbarRenderer.prototype.setIsModel = function (element) {
|
|
366
|
-
if (!closest(element, '.e-popup-container')) {
|
|
367
|
-
this.popupContainer = this.parent.createElement('div', {
|
|
368
|
-
className: 'e-rte-modal-popup e-popup-container e-center'
|
|
369
|
-
});
|
|
370
|
-
element.parentNode.insertBefore(this.popupContainer, element);
|
|
371
|
-
this.popupContainer.appendChild(element);
|
|
372
|
-
this.popupContainer.style.zIndex = element.style.zIndex;
|
|
373
|
-
this.popupContainer.style.display = 'flex';
|
|
374
|
-
element.style.position = 'relative';
|
|
375
|
-
addClass([element], 'e-popup-modal');
|
|
376
|
-
this.popupOverlay = this.parent.createElement('div', { className: 'e-popup-overlay' });
|
|
377
|
-
// eslint-disable-next-line
|
|
378
|
-
this.popupOverlay.style.zIndex = (parseInt(element.style.zIndex, null) - 1).toString();
|
|
379
|
-
this.popupOverlay.style.display = 'block';
|
|
380
|
-
this.popupContainer.appendChild(this.popupOverlay);
|
|
381
|
-
EventHandler.add(this.popupOverlay, 'click touchmove', this.onPopupOverlay, this);
|
|
382
|
-
}
|
|
383
|
-
else {
|
|
384
|
-
element.parentElement.style.display = 'flex';
|
|
385
|
-
this.popupOverlay = element.nextElementSibling;
|
|
386
|
-
this.popupOverlay.style.display = 'block';
|
|
387
|
-
addClass([this.popupOverlay], 'e-popup-overlay');
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
339
|
ToolbarRenderer.prototype.paletteSelection = function (dropDownArgs, currentElement) {
|
|
391
340
|
var ele = dropDownArgs.element.querySelector('.e-control.e-colorpicker');
|
|
392
341
|
var colorbox = [].slice.call(selectAll('.e-tile', ele.parentElement));
|
|
@@ -415,7 +364,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
415
364
|
var proxy = this;
|
|
416
365
|
var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
|
|
417
366
|
css += (' ' + ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_DROPDOWN : CLS_FONT_COLOR_DROPDOWN));
|
|
418
|
-
css +=
|
|
367
|
+
css += this.parent.getCssClass(true);
|
|
419
368
|
var content = proxy.parent.createElement('span', { className: CLS_COLOR_CONTENT });
|
|
420
369
|
var inlineEle = proxy.parent.createElement('span', { className: args.cssClass });
|
|
421
370
|
var range;
|
|
@@ -487,9 +436,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
487
436
|
if (focusEle) {
|
|
488
437
|
focusEle.focus();
|
|
489
438
|
}
|
|
490
|
-
if (Browser.isDevice) {
|
|
491
|
-
_this.popupModal(dropDownArgs.element.parentElement);
|
|
492
|
-
}
|
|
493
439
|
_this.pickerRefresh(dropDownArgs);
|
|
494
440
|
},
|
|
495
441
|
beforeClose: function (dropDownArgs) {
|
|
@@ -517,22 +463,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
517
463
|
},
|
|
518
464
|
close: function (dropDownArgs) {
|
|
519
465
|
proxy.parent.notify(events.selectionRestore, {});
|
|
520
|
-
var dropElement = closest(dropDownArgs.element.parentElement, '.e-popup-container');
|
|
521
|
-
if (dropElement) {
|
|
522
|
-
dropElement.style.display = 'none';
|
|
523
|
-
dropElement.lastElementChild.style.display = 'none';
|
|
524
|
-
removeClass([dropElement.lastElementChild], 'e-popup-overlay');
|
|
525
|
-
}
|
|
526
|
-
if (Browser.isDevice && !isNullOrUndefined(dropElement)) {
|
|
527
|
-
var popupEle = dropElement.querySelector('.e-dropdown-popup.e-tbar-btn.e-control');
|
|
528
|
-
if (popupEle) {
|
|
529
|
-
dropElement.parentNode.insertBefore(popupEle, dropElement.nextSibling);
|
|
530
|
-
popupEle.style.removeProperty('position');
|
|
531
|
-
removeClass([popupEle], 'e-popup-modal');
|
|
532
|
-
}
|
|
533
|
-
detach(dropElement);
|
|
534
|
-
proxy.popupContainer = undefined;
|
|
535
|
-
}
|
|
536
466
|
}
|
|
537
467
|
});
|
|
538
468
|
dropDown.isStringTemplate = true;
|
|
@@ -560,16 +490,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
560
490
|
popupElem.style.width = (popupElem.offsetWidth - 5).toString() + 'px';
|
|
561
491
|
}
|
|
562
492
|
};
|
|
563
|
-
ToolbarRenderer.prototype.popupModal = function (element) {
|
|
564
|
-
var popupInst = getInstance(element, Popup);
|
|
565
|
-
popupInst.relateTo = document.body;
|
|
566
|
-
popupInst.position = { X: 0, Y: 0 };
|
|
567
|
-
popupInst.targetType = 'container';
|
|
568
|
-
popupInst.collision = { X: 'fit', Y: 'fit' };
|
|
569
|
-
popupInst.offsetY = 4;
|
|
570
|
-
popupInst.dataBind();
|
|
571
|
-
this.setIsModel(element);
|
|
572
|
-
};
|
|
573
493
|
ToolbarRenderer.prototype.setColorPickerContentWidth = function (colorPicker) {
|
|
574
494
|
var colorPickerContent = colorPicker.element.nextSibling;
|
|
575
495
|
if (colorPickerContent.style.width === '0px') {
|
|
@@ -608,7 +528,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
608
528
|
args.element.classList.add(CLS_COLOR_PALETTE);
|
|
609
529
|
args.element.classList.add(CLS_CUSTOM_TILE);
|
|
610
530
|
if (!isNullOrUndefined(_this.parent.cssClass)) {
|
|
611
|
-
var allClassName = _this.parent.
|
|
531
|
+
var allClassName = _this.parent.getCssClass().split(' ');
|
|
612
532
|
for (var i = 0; i < allClassName.length; i++) {
|
|
613
533
|
if (allClassName[i].trim() !== '') {
|
|
614
534
|
args.element.classList.add(allClassName[i]);
|
|
@@ -44,7 +44,7 @@ var ViewSource = /** @class */ (function () {
|
|
|
44
44
|
this.parent.formatter.editorManager.observer.off(CONSTANT.KEY_DOWN_HANDLER, this.onKeyDown);
|
|
45
45
|
};
|
|
46
46
|
ViewSource.prototype.getSourceCode = function () {
|
|
47
|
-
return this.parent.createElement('textarea', { className: CLS_RTE_SOURCE_CODE_TXTAREA +
|
|
47
|
+
return this.parent.createElement('textarea', { className: CLS_RTE_SOURCE_CODE_TXTAREA + this.parent.getCssClass(true) });
|
|
48
48
|
};
|
|
49
49
|
ViewSource.prototype.wireEvent = function (element) {
|
|
50
50
|
this.keyboardModule = new KeyboardEvents(element, {
|
|
@@ -141,8 +141,10 @@ var ViewSource = /** @class */ (function () {
|
|
|
141
141
|
this.getPanel().style.display = 'block';
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
144
|
+
var height = this.parent.inputElement.offsetHeight;
|
|
144
145
|
this.contentModule.getPanel().appendChild(this.previewElement);
|
|
145
146
|
this.getPanel().value = this.getTextAreaValue();
|
|
147
|
+
this.previewElement.style.height = height + 'px';
|
|
146
148
|
this.contentModule.getEditPanel().style.display = 'none';
|
|
147
149
|
this.previewElement.style.display = 'block';
|
|
148
150
|
}
|