Logo
Stockholm-icons / Layout / Layout-polygon Created with Figma. Stockholm-icons / Tools / Compass Created with Sketch.
Quill is an, open source WYSIWYG editor built for the modern web. With its modular architecture and expressive API, it is completely customizable to fit any need.
For more info please visit the plugin's Demo Page or Github Repo.

Basic Demo

Compose a message

                            <div class="card card-custom">
                                <div class="card-header">
                                    <h3 class="card-title">
                                        Basic Demo
                                    </h3>
                                </div>
                                <div class="card-body">
                                    <div id="kt_quil_1" style="height: 325px">
                                        Compose a message
                                    </div>
                                </div>
                            </div>
			        	    

                            // Class definition
                            var KTQuilDemos = function() {

                                // Private functions
                                var demo1 = function() {
                                    var quill = new Quill('#kt_quil_1', {
                                        modules: {
                                            toolbar: [
                                                [{
                                                    header: [1, 2, false]
                                                }],
                                                ['bold', 'italic', 'underline'],
                                                ['image', 'code-block']
                                            ]
                                        },
                                        placeholder: 'Type your text here...',
                                        theme: 'snow' // or 'bubble'
                                    });
                                }

                                return {
                                    // public functions
                                    init: function() {
                                        demo1();
                                        demo2();
                                    }
                                };
                            }();

                            jQuery(document).ready(function() {
                                KTQuilDemos.init();
                            });

                            

Auto Save

Compose a message

                            <div class="card card-custom">
                                <div class="card-header">
                                    <h3 class="card-title">
                                        Auto Save
                                    </h3>
                                </div>
                                <div class="card-body">
                                    <div id="kt_quil_2" style="height: 325px">
                                        Compose a message
                                    </div>
                                </div>
                            </div>
			        	    

                            // Class definition
                            var KTQuilDemos = function() {

                                // Private functions
                                var demo2 = function() {
                                    var Delta = Quill.import('delta');
                                    var quill = new Quill('#kt_quil_2', {
                                        modules: {
                                            toolbar: true
                                        },
                                        placeholder: 'Type your text here...',
                                        theme: 'snow'
                                    });

                                    // Store accumulated changes
                                    var change = new Delta();
                                    quill.on('text-change', function(delta) {
                                        change = change.compose(delta);
                                    });

                                    // Save periodically
                                    setInterval(function() {
                                        if (change.length() > 0) {
                                            console.log('Saving changes', change);
                                            /*
                                            Send partial changes
                                            $.post('/your-endpoint', {
                                            partial: JSON.stringify(change)
                                            });

                                            Send entire document
                                            $.post('/your-endpoint', {
                                            doc: JSON.stringify(quill.getContents())
                                            });
                                            */
                                            change = new Delta();
                                        }
                                    }, 5 * 1000);

                                    // Check for unsaved data
                                    window.onbeforeunload = function() {
                                        if (change.length() > 0) {
                                            return 'There are unsaved changes. Are you sure you want to leave?';
                                        }
                                    }
                                }

                                return {
                                    // public functions
                                    init: function() {
                                        demo2();
                                    }
                                };
                            }();

                            jQuery(document).ready(function() {
                                KTQuilDemos.init();
                            });

                            

Notifications 24 New

Quick Actions finance & reports

User Profile 15 messages

Recent Notifications
Stockholm-icons / Layout / Layout-polygon Created with Figma. Stockholm-icons / Files / File-done Created with Sketch.

Important Notice

Lorem Ipsum is simply dummy text of the printing and industry.

Stockholm-icons / Layout / Layout-polygon Created with Figma. Stockholm-icons / Design / Pen&ruller Created with Sketch.

System Update

There are many variations of passages of Lorem Ipsum available.

Stockholm-icons / Layout / Layout-polygon Created with Figma. Stockholm-icons / General / Thunder-move Created with Sketch.

Server Maintenance

Contrary to popular belief, Lorem Ipsum is not simply random text.

Stockholm-icons / Layout / Layout-polygon Created with Figma. Stockholm-icons / Home / Alarm-clock Created with Sketch.

DB Migration

If you are going to use a passage of Lorem Ipsum, you need.

System Messages
Stockholm-icons / Communication / Group-chat Created with Sketch.
09:30 AM

To start a blog, think of a topic about and first brainstorm ways to write details

Stockholm-icons / General / Attachment2 Created with Sketch.
2:45 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Stockholm-icons / Home / Library Created with Sketch.
3:12 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Stockholm-icons / Communication / Add-user Created with Sketch.
7:05 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Privacy Settings:

After you log in, you will be asked for additional information to confirm your identity.

Security Settings:

After you log in, you will be asked for additional information to confirm your identity. For extra security, this requires you to confirm your email. Learn more.

Stockholm-icons / Navigation / Up-2 Created with Sketch.

Select A Demo

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9