Model dialog with rte in EJ2 JavaScript Dialog control
8 May 20233 minutes to read
This section explains how to render model dialog with the Rich Text Editor component. when you render model dialog with the Rich Text Editor component, the first row of the content will be hidden because the dialog container and its wrapper elements are styled with display as none. so, the editor’s toolbar does not get proper offset width and rendered above the edit area container. In this scenario, we could use the refreshUI
method on the Dialog open
event.
ej.base.enableRipple(true);
// Initialize Dialog component
var dialog = new ej.popups.Dialog({
// Enables modal dialog
isModal:true,
// overlayClick event handler
overlayClick: onOverlayClick,
// Dialog content
content: document.getElementById("defaultRTE"),
// The Dialog shows within the target element
target: document.getElementById("container"),
// Dialog width
width: '500px',
open: dlgopen
});
// Render initialized Dialog
dialog.appendTo('#dialog');
// Sample level code to handle the button click action
document.getElementById('targetButton').onclick = function() {
// Call the show method to open the Dialog
dialog.show();
}
// Sample level code to hide the Dialog when click the Dialog overlay
function onOverlayClick() {
dialog.hide();
}
function dlgopen() {
defaultRTE.refreshUI();
}
var defaultRTE = new ej.richtexteditor.RichTextEditor({
});
// render initialized Rich Text Editor
defaultRTE.appendTo("#defaultRTE");
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Modal Dialog</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="TypeScript UI Components">
<meta name="author" content="Syncfusion">
<link href="styles.css" rel="stylesheet">
<link href="https://cdn.syncfusion.com/ej2/bootstrap4.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/ej2-popups/styles/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/23.2.4/dist/ej2.min.js" type="text/javascript"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
<div id="container">
<button class="e-control e-btn" id="targetButton" role="button" e-ripple="true" style="position: absolute;">Open Modal Dialog</button>
<div id="dialog">
<div id="defaultRTE"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>