@syncfusion/ej2-richtexteditor 22.2.12 → 23.1.39
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 +67 -1
- package/dist/ej2-richtexteditor.min.js +3 -3
- package/dist/ej2-richtexteditor.umd.min.js +3 -3
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +457 -285
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +457 -281
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/dist/global/ej2-richtexteditor.min.js +3 -3
- package/dist/global/ej2-richtexteditor.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +13 -13
- package/src/editor-manager/plugin/dom-node.js +6 -5
- package/src/editor-manager/plugin/inserthtml.js +1 -1
- package/src/editor-manager/plugin/ms-word-clean-up.d.ts +2 -0
- package/src/editor-manager/plugin/ms-word-clean-up.js +79 -12
- package/src/editor-manager/plugin/selection-exec.js +1 -1
- package/src/editor-manager/plugin/table.js +1 -1
- package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +2 -1
- package/src/rich-text-editor/actions/base-quick-toolbar.js +10 -6
- package/src/rich-text-editor/actions/emoji-picker.js +29 -14
- package/src/rich-text-editor/actions/enter-key.js +9 -2
- package/src/rich-text-editor/actions/format-painter.js +12 -6
- package/src/rich-text-editor/actions/full-screen.js +3 -0
- package/src/rich-text-editor/actions/html-editor.js +14 -1
- package/src/rich-text-editor/actions/markdown-editor.js +3 -0
- package/src/rich-text-editor/actions/paste-clean-up.d.ts +2 -0
- package/src/rich-text-editor/actions/paste-clean-up.js +63 -32
- package/src/rich-text-editor/actions/quick-toolbar.js +35 -2
- package/src/rich-text-editor/actions/toolbar.js +4 -1
- package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
- 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 +5 -0
- package/src/rich-text-editor/base/constant.js +5 -0
- package/src/rich-text-editor/base/enum.d.ts +4 -0
- package/src/rich-text-editor/base/interface.d.ts +10 -22
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +1 -39
- package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -39
- package/src/rich-text-editor/base/rich-text-editor.js +14 -10
- package/src/rich-text-editor/base/util.js +5 -1
- package/src/rich-text-editor/models/items.js +34 -22
- package/src/rich-text-editor/models/toolbar-settings-model.d.ts +4 -5
- package/src/rich-text-editor/models/toolbar-settings.d.ts +4 -5
- package/src/rich-text-editor/models/toolbar-settings.js +1 -1
- package/src/rich-text-editor/renderer/audio-module.js +5 -33
- package/src/rich-text-editor/renderer/dialog-renderer.js +1 -1
- package/src/rich-text-editor/renderer/image-module.js +19 -65
- package/src/rich-text-editor/renderer/link-module.js +6 -0
- package/src/rich-text-editor/renderer/render.js +4 -0
- package/src/rich-text-editor/renderer/table-module.js +50 -24
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +5 -1
- package/src/rich-text-editor/renderer/toolbar-renderer.js +28 -2
- package/src/rich-text-editor/renderer/video-module.js +5 -33
- package/src/rich-text-editor/renderer/view-source.js +4 -0
- package/styles/bootstrap-dark.css +4 -4
- package/styles/bootstrap.css +4 -4
- package/styles/bootstrap4.css +4 -4
- package/styles/bootstrap5-dark.css +4 -4
- package/styles/bootstrap5.css +4 -4
- package/styles/fabric-dark.css +4 -4
- package/styles/fabric.css +4 -4
- package/styles/fluent-dark.css +4 -4
- package/styles/fluent.css +4 -4
- package/styles/highcontrast-light.css +4 -4
- package/styles/highcontrast.css +4 -4
- package/styles/material-dark.css +4 -5
- package/styles/material.css +4 -5
- package/styles/material3-dark.css +4 -5
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +4 -5
- package/styles/material3.scss +1 -1
- package/styles/rich-text-editor/_layout.scss +2 -2
- package/styles/rich-text-editor/bootstrap-dark.css +4 -4
- package/styles/rich-text-editor/bootstrap-dark.scss +1 -1
- package/styles/rich-text-editor/bootstrap.css +4 -4
- package/styles/rich-text-editor/bootstrap.scss +1 -1
- package/styles/rich-text-editor/bootstrap4.css +4 -4
- package/styles/rich-text-editor/bootstrap4.scss +1 -1
- package/styles/rich-text-editor/bootstrap5-dark.css +4 -4
- package/styles/rich-text-editor/bootstrap5-dark.scss +1 -1
- package/styles/rich-text-editor/bootstrap5.css +4 -4
- package/styles/rich-text-editor/bootstrap5.scss +1 -1
- package/styles/rich-text-editor/fabric-dark.css +4 -4
- package/styles/rich-text-editor/fabric-dark.scss +1 -1
- package/styles/rich-text-editor/fabric.css +4 -4
- package/styles/rich-text-editor/fabric.scss +1 -1
- package/styles/rich-text-editor/fluent-dark.css +4 -4
- package/styles/rich-text-editor/fluent-dark.scss +1 -1
- package/styles/rich-text-editor/fluent.css +4 -4
- package/styles/rich-text-editor/fluent.scss +1 -1
- package/styles/rich-text-editor/highcontrast-light.css +4 -4
- package/styles/rich-text-editor/highcontrast-light.scss +1 -1
- package/styles/rich-text-editor/highcontrast.css +4 -4
- package/styles/rich-text-editor/highcontrast.scss +1 -1
- package/styles/rich-text-editor/material-dark.css +4 -5
- package/styles/rich-text-editor/material-dark.scss +1 -1
- package/styles/rich-text-editor/material.css +4 -5
- package/styles/rich-text-editor/material.scss +1 -1
- package/styles/rich-text-editor/material3-dark.css +4 -5
- package/styles/rich-text-editor/material3-dark.scss +1 -1
- package/styles/rich-text-editor/material3.css +4 -5
- package/styles/rich-text-editor/material3.scss +1 -1
- package/styles/rich-text-editor/tailwind-dark.css +4 -5
- package/styles/rich-text-editor/tailwind-dark.scss +1 -1
- package/styles/rich-text-editor/tailwind.css +4 -5
- package/styles/rich-text-editor/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +4 -5
- package/styles/tailwind.css +4 -5
|
@@ -5,7 +5,7 @@ import { NavigationPaneSettingsModel, SearchSettingsModel, SortOrder } from '@sy
|
|
|
5
5
|
import { ToolbarSettingsModel as FileToolbarSettingsModel } from '@syncfusion/ej2-filemanager';
|
|
6
6
|
import { UploadSettingsModel, ViewType } from '@syncfusion/ej2-filemanager';
|
|
7
7
|
import { SaveFormat, DisplayLayoutOptions } from '../../common';
|
|
8
|
-
import { ToolbarType, ActionOnScroll, ToolbarItems } from '../base/enum';
|
|
8
|
+
import { ToolbarType, ActionOnScroll, ToolbarItems, ToolbarConfigItems } from '../base/enum';
|
|
9
9
|
import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel, EmojiIconsSet } from '../base/interface';
|
|
10
10
|
/**
|
|
11
11
|
* Configures the toolbar settings of the RichTextEditor.
|
|
@@ -39,7 +39,7 @@ export declare class ToolbarSettings extends ChildProperty<ToolbarSettings> {
|
|
|
39
39
|
* @default ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
|
|
40
40
|
* 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo']
|
|
41
41
|
*/
|
|
42
|
-
items: (string | IToolbarItems)[];
|
|
42
|
+
items: (string | ToolbarConfigItems | IToolbarItems)[];
|
|
43
43
|
/**
|
|
44
44
|
* Using this property, Modify the default toolbar item configuration like icon class.
|
|
45
45
|
*
|
|
@@ -493,10 +493,9 @@ export declare class QuickToolbarSettings extends ChildProperty<QuickToolbarSett
|
|
|
493
493
|
/**
|
|
494
494
|
* Specifies the items to render in quick toolbar, when text selected.
|
|
495
495
|
*
|
|
496
|
-
* @default
|
|
497
|
-
|
|
496
|
+
* @default null
|
|
498
497
|
*/
|
|
499
|
-
text: (string | IToolbarItems)[];
|
|
498
|
+
text: (string | ToolbarConfigItems | IToolbarItems)[];
|
|
500
499
|
/**
|
|
501
500
|
* Specifies the items to render in quick toolbar, when table selected.
|
|
502
501
|
*
|
|
@@ -304,7 +304,7 @@ var QuickToolbarSettings = /** @class */ (function (_super) {
|
|
|
304
304
|
Property(['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'])
|
|
305
305
|
], QuickToolbarSettings.prototype, "video", void 0);
|
|
306
306
|
__decorate([
|
|
307
|
-
Property(
|
|
307
|
+
Property(null)
|
|
308
308
|
], QuickToolbarSettings.prototype, "text", void 0);
|
|
309
309
|
__decorate([
|
|
310
310
|
Property(['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles'])
|
|
@@ -617,6 +617,9 @@ var Audio = /** @class */ (function () {
|
|
|
617
617
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
618
618
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
619
619
|
}
|
|
620
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
621
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
622
|
+
}
|
|
620
623
|
}
|
|
621
624
|
};
|
|
622
625
|
// eslint-disable-next-line
|
|
@@ -686,10 +689,8 @@ var Audio = /** @class */ (function () {
|
|
|
686
689
|
});
|
|
687
690
|
uploadParentEle.appendChild(uploadEle);
|
|
688
691
|
var fileName;
|
|
689
|
-
var rawFile;
|
|
690
692
|
var selectArgs;
|
|
691
693
|
var filesData;
|
|
692
|
-
var beforeUploadArgs;
|
|
693
694
|
this.uploadObj = new Uploader({
|
|
694
695
|
asyncSettings: { saveUrl: this.parent.insertAudioSettings.saveUrl, removeUrl: this.parent.insertAudioSettings.removeUrl },
|
|
695
696
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
|
|
@@ -697,13 +698,8 @@ var Audio = /** @class */ (function () {
|
|
|
697
698
|
selected: function (e) {
|
|
698
699
|
proxy.isAudioUploaded = true;
|
|
699
700
|
selectArgs = e;
|
|
701
|
+
// eslint-disable-next-line
|
|
700
702
|
filesData = e.filesData;
|
|
701
|
-
if (_this.parent.isServerRendered) {
|
|
702
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
703
|
-
e.cancel = true;
|
|
704
|
-
rawFile = e.filesData;
|
|
705
|
-
selectArgs.filesData = rawFile;
|
|
706
|
-
}
|
|
707
703
|
_this.parent.trigger(events.fileSelected, selectArgs, function (selectArgs) {
|
|
708
704
|
if (!selectArgs.cancel) {
|
|
709
705
|
_this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -726,35 +722,11 @@ var Audio = /** @class */ (function () {
|
|
|
726
722
|
});
|
|
727
723
|
reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
728
724
|
}
|
|
729
|
-
if (_this.parent.isServerRendered) {
|
|
730
|
-
/* eslint-disable */
|
|
731
|
-
_this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
732
|
-
/* eslint-enable */
|
|
733
|
-
}
|
|
734
725
|
}
|
|
735
726
|
});
|
|
736
727
|
},
|
|
737
728
|
beforeUpload: function (args) {
|
|
738
|
-
|
|
739
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
740
|
-
beforeUploadArgs.filesData = filesData;
|
|
741
|
-
args.cancel = true;
|
|
742
|
-
_this.parent.trigger(events.fileUploading, beforeUploadArgs, function (beforeUploadArgs) {
|
|
743
|
-
if (beforeUploadArgs.cancel) {
|
|
744
|
-
return;
|
|
745
|
-
}
|
|
746
|
-
/* eslint-disable */
|
|
747
|
-
_this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
748
|
-
beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
|
|
749
|
-
_this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
750
|
-
beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
|
|
751
|
-
_this.uploadObj.uploadFiles(rawFile, null);
|
|
752
|
-
/* eslint-enable */
|
|
753
|
-
});
|
|
754
|
-
}
|
|
755
|
-
else {
|
|
756
|
-
_this.parent.trigger(events.beforeFileUpload, args);
|
|
757
|
-
}
|
|
729
|
+
_this.parent.trigger(events.beforeFileUpload, args);
|
|
758
730
|
},
|
|
759
731
|
uploading: function (e) {
|
|
760
732
|
if (!_this.parent.isServerRendered) {
|
|
@@ -55,7 +55,7 @@ var DialogRenderer = /** @class */ (function () {
|
|
|
55
55
|
this.parent.trigger(events.beforeDialogOpen, args, this.beforeOpenCallback.bind(this, args));
|
|
56
56
|
};
|
|
57
57
|
DialogRenderer.prototype.handleEnterKeyDown = function (args) {
|
|
58
|
-
if (args.code ===
|
|
58
|
+
if (args.code === 'Enter') {
|
|
59
59
|
args.preventDefault();
|
|
60
60
|
}
|
|
61
61
|
};
|
|
@@ -1424,6 +1424,9 @@ var Image = /** @class */ (function () {
|
|
|
1424
1424
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
1425
1425
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
1426
1426
|
}
|
|
1427
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
1428
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
1429
|
+
}
|
|
1427
1430
|
}
|
|
1428
1431
|
};
|
|
1429
1432
|
// eslint-disable-next-line
|
|
@@ -1479,6 +1482,14 @@ var Image = /** @class */ (function () {
|
|
|
1479
1482
|
this.prevSelectedImgEle.style.outline = '';
|
|
1480
1483
|
}
|
|
1481
1484
|
}
|
|
1485
|
+
if (target.tagName !== 'IMG') {
|
|
1486
|
+
var items = this.contentModule.getEditPanel().querySelectorAll('img');
|
|
1487
|
+
for (var i = 0; i < items.length; i++) {
|
|
1488
|
+
removeClass([items[i]], 'e-img-focus');
|
|
1489
|
+
removeClass([items[i]], 'e-resize');
|
|
1490
|
+
items[i].style.maxWidth = '';
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1482
1493
|
};
|
|
1483
1494
|
Image.prototype.removeResizeEle = function () {
|
|
1484
1495
|
EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing);
|
|
@@ -1692,10 +1703,8 @@ var Image = /** @class */ (function () {
|
|
|
1692
1703
|
});
|
|
1693
1704
|
uploadParentEle.appendChild(uploadEle);
|
|
1694
1705
|
var altText;
|
|
1695
|
-
var rawFile;
|
|
1696
1706
|
var selectArgs;
|
|
1697
1707
|
var filesData;
|
|
1698
|
-
var beforeUploadArgs;
|
|
1699
1708
|
this.uploadObj = new Uploader({
|
|
1700
1709
|
asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
|
|
1701
1710
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
|
|
@@ -1703,13 +1712,8 @@ var Image = /** @class */ (function () {
|
|
|
1703
1712
|
selected: function (e) {
|
|
1704
1713
|
proxy.isImgUploaded = true;
|
|
1705
1714
|
selectArgs = e;
|
|
1715
|
+
// eslint-disable-next-line
|
|
1706
1716
|
filesData = e.filesData;
|
|
1707
|
-
if (_this.parent.isServerRendered) {
|
|
1708
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
1709
|
-
e.cancel = true;
|
|
1710
|
-
rawFile = e.filesData;
|
|
1711
|
-
selectArgs.filesData = rawFile;
|
|
1712
|
-
}
|
|
1713
1717
|
_this.parent.trigger(events.imageSelected, selectArgs, function (selectArgs) {
|
|
1714
1718
|
if (!selectArgs.cancel) {
|
|
1715
1719
|
_this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -1740,35 +1744,11 @@ var Image = /** @class */ (function () {
|
|
|
1740
1744
|
});
|
|
1741
1745
|
reader_1.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
1742
1746
|
}
|
|
1743
|
-
if (_this.parent.isServerRendered) {
|
|
1744
|
-
/* eslint-disable */
|
|
1745
|
-
_this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
1746
|
-
/* eslint-enable */
|
|
1747
|
-
}
|
|
1748
1747
|
}
|
|
1749
1748
|
});
|
|
1750
1749
|
},
|
|
1751
1750
|
beforeUpload: function (args) {
|
|
1752
|
-
|
|
1753
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
1754
|
-
beforeUploadArgs.filesData = filesData;
|
|
1755
|
-
args.cancel = true;
|
|
1756
|
-
_this.parent.trigger(events.imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
|
|
1757
|
-
if (beforeUploadArgs.cancel) {
|
|
1758
|
-
return;
|
|
1759
|
-
}
|
|
1760
|
-
/* eslint-disable */
|
|
1761
|
-
_this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
1762
|
-
beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
|
|
1763
|
-
_this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
1764
|
-
beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
|
|
1765
|
-
_this.uploadObj.uploadFiles(rawFile, null);
|
|
1766
|
-
/* eslint-enable */
|
|
1767
|
-
});
|
|
1768
|
-
}
|
|
1769
|
-
else {
|
|
1770
|
-
_this.parent.trigger(events.beforeImageUpload, args);
|
|
1771
|
-
}
|
|
1751
|
+
_this.parent.trigger(events.beforeImageUpload, args);
|
|
1772
1752
|
},
|
|
1773
1753
|
uploading: function (e) {
|
|
1774
1754
|
if (!_this.parent.isServerRendered) {
|
|
@@ -2087,8 +2067,6 @@ var Image = /** @class */ (function () {
|
|
|
2087
2067
|
setTimeout(function () {
|
|
2088
2068
|
proxy.refreshPopup(imageElement);
|
|
2089
2069
|
}, timeOut);
|
|
2090
|
-
var rawFile;
|
|
2091
|
-
var beforeUploadArgs;
|
|
2092
2070
|
this.uploadObj = new Uploader({
|
|
2093
2071
|
asyncSettings: {
|
|
2094
2072
|
saveUrl: this.parent.insertImageSettings.saveUrl,
|
|
@@ -2114,33 +2092,9 @@ var Image = /** @class */ (function () {
|
|
|
2114
2092
|
}, 900);
|
|
2115
2093
|
},
|
|
2116
2094
|
beforeUpload: function (args) {
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
isUploading = true;
|
|
2121
|
-
args.cancel = true;
|
|
2122
|
-
_this.parent.trigger(events.imageUploading, beforeUploadArgs, function (beforeUploadArgs) {
|
|
2123
|
-
if (beforeUploadArgs.cancel) {
|
|
2124
|
-
return;
|
|
2125
|
-
}
|
|
2126
|
-
if (!_this.parent.inlineMode.enable) {
|
|
2127
|
-
_this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
2128
|
-
}
|
|
2129
|
-
/* eslint-disable */
|
|
2130
|
-
_this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
2131
|
-
beforeUploadArgs.currentRequest : _this.uploadObj.currentRequestHeader;
|
|
2132
|
-
_this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
2133
|
-
beforeUploadArgs.customFormData : _this.uploadObj.customFormDatas;
|
|
2134
|
-
_this.uploadObj.uploadFiles(rawFile, null);
|
|
2135
|
-
_this.parent.inputElement.contentEditable = 'false';
|
|
2136
|
-
/* eslint-enable */
|
|
2137
|
-
});
|
|
2138
|
-
}
|
|
2139
|
-
else {
|
|
2140
|
-
_this.parent.trigger(events.beforeImageUpload, args);
|
|
2141
|
-
if (!_this.parent.inlineMode.enable) {
|
|
2142
|
-
_this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
2143
|
-
}
|
|
2095
|
+
_this.parent.trigger(events.beforeImageUpload, args);
|
|
2096
|
+
if (!_this.parent.inlineMode.enable) {
|
|
2097
|
+
_this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
2144
2098
|
}
|
|
2145
2099
|
},
|
|
2146
2100
|
uploading: function (e) {
|
|
@@ -2165,9 +2119,6 @@ var Image = /** @class */ (function () {
|
|
|
2165
2119
|
if (isUploading) {
|
|
2166
2120
|
e.cancel = true;
|
|
2167
2121
|
}
|
|
2168
|
-
if (_this.parent.isServerRendered) {
|
|
2169
|
-
rawFile = e.filesData;
|
|
2170
|
-
}
|
|
2171
2122
|
},
|
|
2172
2123
|
failure: function (e) {
|
|
2173
2124
|
isUploading = false;
|
|
@@ -2328,6 +2279,9 @@ var Image = /** @class */ (function () {
|
|
|
2328
2279
|
/* eslint-enable */
|
|
2329
2280
|
Image.prototype.destroy = function () {
|
|
2330
2281
|
this.prevSelectedImgEle = undefined;
|
|
2282
|
+
if (isNOU(this.parent)) {
|
|
2283
|
+
return;
|
|
2284
|
+
}
|
|
2331
2285
|
this.removeEventListener();
|
|
2332
2286
|
};
|
|
2333
2287
|
Image.prototype.moduleDestroy = function () {
|
|
@@ -350,6 +350,9 @@ var Link = /** @class */ (function () {
|
|
|
350
350
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
351
351
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
352
352
|
}
|
|
353
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
354
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
355
|
+
}
|
|
353
356
|
}
|
|
354
357
|
};
|
|
355
358
|
// eslint-disable-next-line
|
|
@@ -523,6 +526,9 @@ var Link = /** @class */ (function () {
|
|
|
523
526
|
|
|
524
527
|
*/
|
|
525
528
|
Link.prototype.destroy = function () {
|
|
529
|
+
if (isNOU(this.parent)) {
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
526
532
|
this.removeEventListener();
|
|
527
533
|
};
|
|
528
534
|
Link.prototype.moduleDestroy = function () {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RenderType } from '../base/enum';
|
|
2
2
|
import * as events from '../base/constant';
|
|
3
|
+
import { isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
3
4
|
/**
|
|
4
5
|
* Content module is used to render Rich Text Editor content
|
|
5
6
|
*
|
|
@@ -49,6 +50,9 @@ var Render = /** @class */ (function () {
|
|
|
49
50
|
* @returns {void}
|
|
50
51
|
*/
|
|
51
52
|
Render.prototype.destroy = function () {
|
|
53
|
+
if (isNullOrUndefined(this.parent)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
52
56
|
this.removeEventListener();
|
|
53
57
|
};
|
|
54
58
|
Render.prototype.moduleDestroy = function () {
|
|
@@ -68,6 +68,9 @@ var Table = /** @class */ (function () {
|
|
|
68
68
|
this.parent.off(events.bindCssClass, this.setCssClass);
|
|
69
69
|
this.parent.off(events.destroy, this.destroy);
|
|
70
70
|
this.parent.off(events.moduleDestroy, this.moduleDestroy);
|
|
71
|
+
if (!Browser.isDevice && this.parent.tableSettings.resize) {
|
|
72
|
+
EventHandler.remove(this.contentModule.getEditPanel(), 'mouseover', this.resizeHelper);
|
|
73
|
+
}
|
|
71
74
|
};
|
|
72
75
|
Table.prototype.updateCss = function (currentObj, e) {
|
|
73
76
|
if (currentObj && e.cssClass) {
|
|
@@ -474,14 +477,17 @@ var Table = /** @class */ (function () {
|
|
|
474
477
|
var pageX = void 0;
|
|
475
478
|
var pageY = void 0;
|
|
476
479
|
if (Browser.isDevice && e.args.touches) {
|
|
477
|
-
pageX =
|
|
478
|
-
|
|
480
|
+
pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset + this.parent.element.getBoundingClientRect().left +
|
|
481
|
+
e.args.changedTouches[0].clientX : e.args.changedTouches[0].pageX;
|
|
482
|
+
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
|
|
483
|
+
(!this.parent.inlineMode.enable ? this.parent.toolbarModule.getToolbarHeight() : 0)
|
|
484
|
+
+ e.args.changedTouches[0].clientY : e.args.changedTouches[0].pageY;
|
|
479
485
|
}
|
|
480
486
|
else {
|
|
481
487
|
pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset
|
|
482
488
|
+ this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
|
|
483
|
-
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
|
|
484
|
-
this.parent.
|
|
489
|
+
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
|
|
490
|
+
this.parent.toolbarModule.getToolbarHeight() + args.clientY : args.pageY;
|
|
485
491
|
}
|
|
486
492
|
this.quickToolObj.tableQTBar.showPopup(pageX, pageY, target);
|
|
487
493
|
this.parent.formatter.editorManager.nodeSelection.restore();
|
|
@@ -605,7 +611,12 @@ var Table = /** @class */ (function () {
|
|
|
605
611
|
var columns = table.rows[this.calMaxCol(table)].cells;
|
|
606
612
|
var rows = [];
|
|
607
613
|
for (var i = 0; i < table.rows.length; i++) {
|
|
608
|
-
|
|
614
|
+
for (var j = 0; j < table.rows[i].cells.length; j++) {
|
|
615
|
+
if (!table.rows[i].cells[j].hasAttribute('rowspan')) {
|
|
616
|
+
rows.push(Array.prototype.slice.call(table.rows[i].cells, 0, table.rows[i].cells.length)[j]);
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
619
|
+
}
|
|
609
620
|
}
|
|
610
621
|
var height = parseInt(getComputedStyle(table).height, 10);
|
|
611
622
|
var width = parseInt(getComputedStyle(table).width, 10);
|
|
@@ -853,6 +864,7 @@ var Table = /** @class */ (function () {
|
|
|
853
864
|
var currentTdElement = this.curTable.closest('td');
|
|
854
865
|
var args = { event: e, requestType: 'table' };
|
|
855
866
|
var isRowCellsMerged = false;
|
|
867
|
+
var isColCellsMerged = false;
|
|
856
868
|
var mergedCellIndex;
|
|
857
869
|
var mergedElement;
|
|
858
870
|
this.parent.trigger(events.onResize, args, function (resizingArgs) {
|
|
@@ -882,7 +894,7 @@ var Table = /** @class */ (function () {
|
|
|
882
894
|
var width = parseFloat(_this.columnEle.offsetWidth.toString());
|
|
883
895
|
var cellRow = _this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
|
|
884
896
|
var currentTableWidth = void 0;
|
|
885
|
-
if (_this.curTable.style.width
|
|
897
|
+
if (_this.curTable.style.width !== '' && _this.curTable.style.width.includes('%')) {
|
|
886
898
|
currentTableWidth = parseFloat(_this.curTable.style.width.split('%')[0]);
|
|
887
899
|
}
|
|
888
900
|
else {
|
|
@@ -945,12 +957,20 @@ var Table = /** @class */ (function () {
|
|
|
945
957
|
var isMergedEleResize = false;
|
|
946
958
|
var leftTableCell = void 0;
|
|
947
959
|
var rightTableCell = void 0;
|
|
960
|
+
isColCellsMerged = false;
|
|
961
|
+
isRowCellsMerged = false;
|
|
962
|
+
/* eslint-disable */
|
|
948
963
|
for (var j = 0; j < currentRow.cells.length; j++) {
|
|
949
964
|
if (currentRow.cells[j].hasAttribute('rowspan') && j <= _this.colIndex) {
|
|
950
965
|
isRowCellsMerged = true;
|
|
951
966
|
mergedCellIndex = i;
|
|
952
967
|
mergedElement = currentRow.cells[j];
|
|
953
968
|
}
|
|
969
|
+
else if (currentRow.cells[j].hasAttribute('colspan') && j <= currentRow.cells.length) {
|
|
970
|
+
isColCellsMerged = true;
|
|
971
|
+
mergedCellIndex = i;
|
|
972
|
+
mergedElement = currentRow.cells[j];
|
|
973
|
+
}
|
|
954
974
|
}
|
|
955
975
|
if (!isNOU(currentRow.cells[i]) && currentRow.cells[i].hasAttribute('colspan')) {
|
|
956
976
|
index = parseInt(currentRow.cells[i].getAttribute('colspan'), 10) - 1;
|
|
@@ -958,14 +978,14 @@ var Table = /** @class */ (function () {
|
|
|
958
978
|
else {
|
|
959
979
|
index = _this.colIndex;
|
|
960
980
|
}
|
|
961
|
-
if (isRowCellsMerged) {
|
|
981
|
+
if (isRowCellsMerged || isColCellsMerged) {
|
|
962
982
|
var currentResizeRow = void 0;
|
|
963
983
|
if (currentRow.cells.length < cellColl.length) {
|
|
964
|
-
index = currentRow.cells.length === _this.colIndex ?
|
|
965
|
-
_this.colIndex - 1 : _this.colIndex
|
|
984
|
+
index = currentRow.cells.length === _this.colIndex || currentRow === _this.curTable.rows[_this.curTable.rows.length - 1] ?
|
|
985
|
+
_this.colIndex - 1 : _this.colIndex;
|
|
966
986
|
currentResizeRow = _this.curTable.rows[!isNullOrUndefined(mergedCellIndex) ?
|
|
967
987
|
mergedCellIndex : _this.colIndex - 1];
|
|
968
|
-
if (currentResizeRow && (currentResizeRow.cells[_this.colIndex - 1] === mergedElement ||
|
|
988
|
+
if (currentResizeRow && currentResizeRow !== currentRow && (currentResizeRow.cells[_this.colIndex - 1] === mergedElement ||
|
|
969
989
|
currentResizeRow.cells[currentResizeRow.cells.length - 1] === mergedElement)) {
|
|
970
990
|
isMergedEleResize = true;
|
|
971
991
|
}
|
|
@@ -980,10 +1000,10 @@ var Table = /** @class */ (function () {
|
|
|
980
1000
|
currentResizeRow.cells[currentResizeRow.cells.length - 1] !== mergedElement) ?
|
|
981
1001
|
currentResizeRow.cells[_this.colIndex - 1] : currentRow.cells[currentRow.cells.length - 1];
|
|
982
1002
|
rightTableCell = !isMergedEleResize ? currentRow.cells[index] : rightTableCell && rightTableCell.hasAttribute('rowspan') ?
|
|
983
|
-
|
|
1003
|
+
currentResizeRow.cells[_this.colIndex] : currentResizeRow && currentResizeRow.cells[currentResizeRow.cells.length - 1] !== mergedElement ?
|
|
984
1004
|
currentRow.cells[index - 1] : currentResizeRow.cells[currentResizeRow.cells.length - 1];
|
|
985
1005
|
}
|
|
986
|
-
if (!isNOU(currentRow.cells[index - 1]) && !isRowCellsMerged) {
|
|
1006
|
+
if (!isNOU(currentRow.cells[index - 1]) && !isRowCellsMerged && !isColCellsMerged) {
|
|
987
1007
|
currentRow.cells[index - 1].style.width =
|
|
988
1008
|
_this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
|
|
989
1009
|
}
|
|
@@ -993,7 +1013,7 @@ var Table = /** @class */ (function () {
|
|
|
993
1013
|
_this.convertPixelToPercentage(leftColumnWidth, tableWidth) + '%';
|
|
994
1014
|
}
|
|
995
1015
|
}
|
|
996
|
-
if (!isNOU(currentRow.cells[index]) && !isRowCellsMerged) {
|
|
1016
|
+
if (!isNOU(currentRow.cells[index]) && !isRowCellsMerged && !isColCellsMerged) {
|
|
997
1017
|
currentRow.cells[index].style.width =
|
|
998
1018
|
_this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
|
|
999
1019
|
}
|
|
@@ -1003,6 +1023,7 @@ var Table = /** @class */ (function () {
|
|
|
1003
1023
|
_this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
|
|
1004
1024
|
}
|
|
1005
1025
|
}
|
|
1026
|
+
/* eslint-enable */
|
|
1006
1027
|
}
|
|
1007
1028
|
}
|
|
1008
1029
|
}
|
|
@@ -1022,9 +1043,6 @@ var Table = /** @class */ (function () {
|
|
|
1022
1043
|
_this.updateHelper();
|
|
1023
1044
|
}
|
|
1024
1045
|
else if (_this.resizeBtnStat.tableBox) {
|
|
1025
|
-
if (!Browser.isDevice) {
|
|
1026
|
-
EventHandler.remove(_this.contentModule.getEditPanel(), 'mouseover', _this.resizeHelper);
|
|
1027
|
-
}
|
|
1028
1046
|
if (currentTdElement) {
|
|
1029
1047
|
var tableBoxPosition = _this.curTable.getBoundingClientRect().left
|
|
1030
1048
|
- currentTdElement.getBoundingClientRect().left;
|
|
@@ -1035,9 +1053,11 @@ var Table = /** @class */ (function () {
|
|
|
1035
1053
|
_this.curTable.style.width = widthType ? _this.convertPixelToPercentage(tableWidth + mouseX, widthCompare) + '%'
|
|
1036
1054
|
: tableWidth + mouseX + 'px';
|
|
1037
1055
|
_this.curTable.style.height = tableHeight + mouseY + 'px';
|
|
1038
|
-
tableReBox
|
|
1039
|
-
|
|
1040
|
-
'
|
|
1056
|
+
if (!isNOU(tableReBox)) {
|
|
1057
|
+
tableReBox.classList.add('e-rbox-select');
|
|
1058
|
+
tableReBox.style.cssText = 'top: ' + (_this.calcPos(_this.curTable).top + tableHeight - 4) +
|
|
1059
|
+
'px; left:' + (_this.calcPos(_this.curTable).left + tableWidth - 4) + 'px;';
|
|
1060
|
+
}
|
|
1041
1061
|
}
|
|
1042
1062
|
}
|
|
1043
1063
|
});
|
|
@@ -1072,9 +1092,6 @@ var Table = /** @class */ (function () {
|
|
|
1072
1092
|
EventHandler.remove(this.contentModule.getDocument(), Browser.touchEndEvent, this.resizeEnd);
|
|
1073
1093
|
if (this.contentModule.getEditPanel().querySelector('.e-table-box') &&
|
|
1074
1094
|
this.contentModule.getEditPanel().contains(this.contentModule.getEditPanel().querySelector('.e-table-box'))) {
|
|
1075
|
-
if (!Browser.isDevice) {
|
|
1076
|
-
EventHandler.add(this.contentModule.getEditPanel(), 'mouseover', this.resizeHelper, this);
|
|
1077
|
-
}
|
|
1078
1095
|
this.removeResizeElement();
|
|
1079
1096
|
}
|
|
1080
1097
|
if (this.helper && this.contentModule.getEditPanel().contains(this.helper)) {
|
|
@@ -1138,7 +1155,8 @@ var Table = /** @class */ (function () {
|
|
|
1138
1155
|
};
|
|
1139
1156
|
Table.prototype.renderDlgContent = function (args) {
|
|
1140
1157
|
var _this = this;
|
|
1141
|
-
|
|
1158
|
+
var argsTarget = args.args.originalEvent.target;
|
|
1159
|
+
if (Browser.isDevice || this.parent.inlineMode.enable || !isNullOrUndefined(closest(argsTarget, '.e-rte-text-popup'))) {
|
|
1142
1160
|
this.insertTableDialog(args);
|
|
1143
1161
|
return;
|
|
1144
1162
|
}
|
|
@@ -1394,6 +1412,10 @@ var Table = /** @class */ (function () {
|
|
|
1394
1412
|
if (this.quickToolObj && this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
1395
1413
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
1396
1414
|
}
|
|
1415
|
+
if (this.quickToolObj && this.quickToolObj.textQTBar &&
|
|
1416
|
+
this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
1417
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
1418
|
+
}
|
|
1397
1419
|
};
|
|
1398
1420
|
Table.prototype.customTable = function (args, e) {
|
|
1399
1421
|
var proxy = (this.self) ? this.self : this;
|
|
@@ -1401,7 +1423,8 @@ var Table = /** @class */ (function () {
|
|
|
1401
1423
|
var argument = ((Browser.isDevice || (!isNullOrUndefined(args.args)
|
|
1402
1424
|
&& !isNullOrUndefined(args.args.originalEvent) &&
|
|
1403
1425
|
args.args.originalEvent.action === 'insert-table')
|
|
1404
|
-
|| proxy.parent.inlineMode.enable) ? args :
|
|
1426
|
+
|| proxy.parent.inlineMode.enable || !isNullOrUndefined(proxy.parent.quickToolbarSettings.text)) ? args :
|
|
1427
|
+
this);
|
|
1405
1428
|
proxy.tableInsert(proxy.rowTextBox.value, proxy.columnTextBox.value, e, argument);
|
|
1406
1429
|
}
|
|
1407
1430
|
};
|
|
@@ -1497,6 +1520,9 @@ var Table = /** @class */ (function () {
|
|
|
1497
1520
|
|
|
1498
1521
|
*/
|
|
1499
1522
|
Table.prototype.destroy = function () {
|
|
1523
|
+
if (isNOU(this.parent)) {
|
|
1524
|
+
return;
|
|
1525
|
+
}
|
|
1500
1526
|
this.removeEventListener();
|
|
1501
1527
|
};
|
|
1502
1528
|
Table.prototype.moduleDestroy = function () {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
|
|
2
2
|
import { IRenderer, IRichTextEditor, IToolbarOptions, IDropDownModel, IColorPickerModel } from '../base/interface';
|
|
3
3
|
import { ColorPicker } from '@syncfusion/ej2-inputs';
|
|
4
|
+
import { ServiceLocator } from '../services/service-locator';
|
|
4
5
|
/**
|
|
5
6
|
* `Toolbar renderer` module is used to render toolbar in RichTextEditor.
|
|
6
7
|
*
|
|
@@ -21,12 +22,14 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
21
22
|
private currentDropdown;
|
|
22
23
|
private popupOverlay;
|
|
23
24
|
private tooltip;
|
|
25
|
+
private l10n;
|
|
24
26
|
/**
|
|
25
27
|
* Constructor for toolbar renderer module
|
|
26
28
|
*
|
|
27
29
|
* @param {IRichTextEditor} parent - specifies the parent element.
|
|
30
|
+
* @param {ServiceLocator} serviceLocator - specifies the serviceLocator
|
|
28
31
|
*/
|
|
29
|
-
constructor(parent?: IRichTextEditor);
|
|
32
|
+
constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
|
|
30
33
|
private wireEvent;
|
|
31
34
|
private destroyTooltip;
|
|
32
35
|
private unWireEvent;
|
|
@@ -35,6 +38,7 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
35
38
|
private toolbarClicked;
|
|
36
39
|
private dropDownSelected;
|
|
37
40
|
private beforeDropDownItemRender;
|
|
41
|
+
private tooltipBeforeRender;
|
|
38
42
|
private dropDownOpen;
|
|
39
43
|
private dropDownClose;
|
|
40
44
|
private removePopupContainer;
|
|
@@ -19,9 +19,13 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
19
19
|
* Constructor for toolbar renderer module
|
|
20
20
|
*
|
|
21
21
|
* @param {IRichTextEditor} parent - specifies the parent element.
|
|
22
|
+
* @param {ServiceLocator} serviceLocator - specifies the serviceLocator
|
|
22
23
|
*/
|
|
23
|
-
function ToolbarRenderer(parent) {
|
|
24
|
+
function ToolbarRenderer(parent, serviceLocator) {
|
|
24
25
|
this.parent = parent;
|
|
26
|
+
if (serviceLocator) {
|
|
27
|
+
this.l10n = serviceLocator.getService('rteLocale');
|
|
28
|
+
}
|
|
25
29
|
this.wireEvent();
|
|
26
30
|
}
|
|
27
31
|
ToolbarRenderer.prototype.wireEvent = function () {
|
|
@@ -29,7 +33,11 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
29
33
|
this.parent.on(events.maximizeMinimizeClick, this.destroyTooltip, this);
|
|
30
34
|
};
|
|
31
35
|
ToolbarRenderer.prototype.destroyTooltip = function () {
|
|
32
|
-
|
|
36
|
+
if (!isNullOrUndefined(document.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(document.querySelector(' [data-tooltip-id]'))) {
|
|
37
|
+
var tooltipTargetEle = document.querySelector('#' + (this.parent.element).id + ' [data-tooltip-id]');
|
|
38
|
+
var event_1 = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
|
|
39
|
+
tooltipTargetEle.dispatchEvent(event_1);
|
|
40
|
+
}
|
|
33
41
|
};
|
|
34
42
|
ToolbarRenderer.prototype.unWireEvent = function () {
|
|
35
43
|
this.parent.off(events.destroy, this.unWireEvent);
|
|
@@ -65,6 +73,22 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
65
73
|
}
|
|
66
74
|
this.parent.notify(events.beforeDropDownItemRender, args);
|
|
67
75
|
};
|
|
76
|
+
ToolbarRenderer.prototype.tooltipBeforeRender = function (args) {
|
|
77
|
+
if (!isNOU(args.target.getAttribute('title'))) {
|
|
78
|
+
var tooltipTarget = args.target.getAttribute('title');
|
|
79
|
+
var tooltipText = void 0;
|
|
80
|
+
switch (tooltipTarget) {
|
|
81
|
+
case 'Minimize':
|
|
82
|
+
tooltipText = this.l10n.getConstant('minimize');
|
|
83
|
+
args.target.setAttribute('title', tooltipText + ' (Esc)');
|
|
84
|
+
break;
|
|
85
|
+
case 'Maximize':
|
|
86
|
+
tooltipText = this.l10n.getConstant('maximize');
|
|
87
|
+
args.target.setAttribute('title', tooltipText + ' (Ctrl+Shift+F)');
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
68
92
|
ToolbarRenderer.prototype.dropDownOpen = function (args) {
|
|
69
93
|
if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNOU(args.element.parentElement.querySelector('.e-cell-merge')) &&
|
|
70
94
|
(!isNOU(args.element.parentElement.querySelector('.e-cell-horizontal-split')) || !isNOU(args.element.parentElement.querySelector('.e-cell-vertical-split')))) {
|
|
@@ -130,6 +154,8 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
130
154
|
target: '#' + this.parent.getID() + '_toolbar_wrapper [title]',
|
|
131
155
|
showTipPointer: true,
|
|
132
156
|
openDelay: 400,
|
|
157
|
+
opensOn: 'Hover',
|
|
158
|
+
beforeRender: this.tooltipBeforeRender.bind(this),
|
|
133
159
|
cssClass: this.parent.cssClass,
|
|
134
160
|
windowCollision: true,
|
|
135
161
|
position: 'BottomCenter'
|