Template in EJ2 JavaScript Message control

10 May 20236 minutes to read

The message supports templates that allows the user to customize the content with a custom structure. The content can be a string, paragraph, or any other HTML element. The template can be rendered through the content property or added directly to the HTML element.

In the following sample, the Message control content is customized with HTML elements and JavaScript Button controls, which are directly added to the HTML element.

var showButton = new ej.buttons.Button({ content: 'Show pull request', cssClass: "e-outline e-primary e-success msg-hidden" });
showButton.appendTo('#btn');
showButton.element.onclick = function () {
  msgTemplate.visible = true;
  showButton.element.classList.add('msg-hidden');
};

var msgTemplate = new ej.notifications.Message({
  severity: "Success",
  closed: function () {
    showButton.element.classList.remove('msg-hidden');
  }
});
msgTemplate.appendTo('#msg_template');

var button = new ej.buttons.Button({ cssClass: 'e-link', content: 'Dismiss' });
button.appendTo('#closeBtn');
button.element.onclick = function () {
  msgTemplate.visible = false;
};

var commitButton = new ej.buttons.Button({ cssClass: 'e-link', content: 'View commit' });
commitButton.appendTo('#commitBtn');
<html><head>
    <title>Essential JS 2 Message control</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Essential JS 2 Message control">
    <meta name="author" content="Syncfusion">
    <link href="index.css" rel="stylesheet">
    <link href="https://cdn.syncfusion.com/ej2/25.1.35/material.css" rel="stylesheet">
    
    
<script src="https://cdn.syncfusion.com/ej2/25.1.35/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">
        <div class="msg-template-section">
            <div class="content-section">
                <button id="btn"></button>
                <div id="msg_template">
                    <p class="title">Merged pull request</p>
                    <p>Pull request #41 merged after a successful build</p>
                    <button id="commitBtn"></button>
                    <button id="closeBtn"></button>
                </div>
            </div>
        </div>
    </div>
    <style>
        /* Sample level styles */
        .msg-template-section .content-section {
            margin: 0 auto;
            max-width: 450px;
            padding-top: 20px;
        }

        .msg-template-section .e-btn.msg-hidden {
            display: none;
        }

        .msg-template-section .e-message .title {
            margin: 0;
            font-size: 16px;
            font-weight: 600;
            line-height: 1.25;
        }

        .msg-template-section .e-message .e-msg-icon {
            padding: 0 4px;
            margin-top: 3px;
        }

        .msg-template-section .e-message p {
            margin: 8px 0 4px;
        }

        .msg-template-section .e-message .e-btn {
            padding: 0;
        }
    </style>



<script>
var ele = document.getElementById('container');
if(ele) {
  ele.style.visibility = "visible";
}   
      </script>
<script src="index.js" type="text/javascript"></script>
</body></html>