| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | <!DOCTYPE html><html><head>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0" />  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">  <link rel="stylesheet" href="../../css/froala_editor.css">  <link rel="stylesheet" href="../../css/froala_style.css">  <link rel="stylesheet" href="../../css/plugins/code_view.css">  <link rel="stylesheet" href="../../css/plugins/colors.css">  <link rel="stylesheet" href="../../css/plugins/emoticons.css">  <link rel="stylesheet" href="../../css/plugins/image_manager.css">  <link rel="stylesheet" href="../../css/plugins/image.css">  <link rel="stylesheet" href="../../css/plugins/line_breaker.css">  <link rel="stylesheet" href="../../css/plugins/table.css">  <link rel="stylesheet" href="../../css/plugins/char_counter.css">  <link rel="stylesheet" href="../../css/plugins/video.css">  <link rel="stylesheet" href="../../css/plugins/fullscreen.css">  <link rel="stylesheet" href="../../css/plugins/file.css">  <link rel="stylesheet" href="../../css/plugins/quick_insert.css">  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">  <style>    body {      text-align: center;    }    div#editor {      width: 81%;      margin: auto;      text-align: left;    }  </style></head><body>  <div id="editor">    <div id='edit' style="margin-top: 30px;">      <h1>Custom Buttons</h1>      <p>You can see the new buttons added after the separator in the toolbar.</p>      <p>Froala WYSIWYG HTML Editor covers a lot of functionalities through the default buttons. However, you might need        buttons with another behavior to be integrated in the toolbar. This can be done by defining a custom command and        then passing the command in the buttons list. More details about defining a custom command can be found in the        <a href="https://www.froala.com/wysiwyg-editor/docs/concepts/custom/button" title="Custom Button Concept"          target="_blank">Custom Button</a> concept.</p>      <p>After defining custom buttons you need to add them to the toolbar buttons list, using the following options: <a          href="https://www.froala.com/wysiwyg-editor/docs/options#toolbarButtons" title="toolbarButtons"          target="_blank">toolbarButtons</a>, <a          href="https://www.froala.com/wysiwyg-editor/docs/options#toolbarButtonsMD" title="toolbarButtonsMD"          target="_blank">toolbarButtonsMD</a>, <a          href="https://www.froala.com/wysiwyg-editor/docs/options#toolbarButtonsSM" title="toolbarButtonsSM"          target="_blank">toolbarButtonsSM</a> and <a          href="https://www.froala.com/wysiwyg-editor/docs/options#toolbarButtonsXS" title="toolbarButtonsXS"          target="_blank">toolbarButtonsXS</a> as explained in the <a          href="https://froala.com/wysiwyg-editor/examples/custom-toolbar" title="Custom Toolbar Example"          target="_blank">Custom Toolbar</a> example.</p>    </div>  </div>  <script type="text/javascript"    src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>  <script type="text/javascript"    src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>  <script type="text/javascript" src="../../js/froala_editor.min.js"></script>  <script type="text/javascript" src="../../js/plugins/align.min.js"></script>  <script type="text/javascript" src="../../js/plugins/char_counter.min.js"></script>  <script type="text/javascript" src="../../js/plugins/code_beautifier.min.js"></script>  <script type="text/javascript" src="../../js/plugins/code_view.min.js"></script>  <script type="text/javascript" src="../../js/plugins/colors.min.js"></script>  <script type="text/javascript" src="../../js/plugins/draggable.min.js"></script>  <script type="text/javascript" src="../../js/plugins/emoticons.min.js"></script>  <script type="text/javascript" src="../../js/plugins/entities.min.js"></script>  <script type="text/javascript" src="../../js/plugins/file.min.js"></script>  <script type="text/javascript" src="../../js/plugins/font_size.min.js"></script>  <script type="text/javascript" src="../../js/plugins/font_family.min.js"></script>  <script type="text/javascript" src="../../js/plugins/fullscreen.min.js"></script>  <script type="text/javascript" src="../../js/plugins/image.min.js"></script>  <script type="text/javascript" src="../../js/plugins/image_manager.min.js"></script>  <script type="text/javascript" src="../../js/plugins/line_breaker.min.js"></script>  <script type="text/javascript" src="../../js/plugins/inline_style.min.js"></script>  <script type="text/javascript" src="../../js/plugins/link.min.js"></script>  <script type="text/javascript" src="../../js/plugins/lists.min.js"></script>  <script type="text/javascript" src="../../js/plugins/paragraph_format.min.js"></script>  <script type="text/javascript" src="../../js/plugins/paragraph_style.min.js"></script>  <script type="text/javascript" src="../../js/plugins/quick_insert.min.js"></script>  <script type="text/javascript" src="../../js/plugins/quote.min.js"></script>  <script type="text/javascript" src="../../js/plugins/table.min.js"></script>  <script type="text/javascript" src="../../js/plugins/save.min.js"></script>  <script type="text/javascript" src="../../js/plugins/url.min.js"></script>  <script type="text/javascript" src="../../js/plugins/video.min.js"></script>  <script>    (function () {      FroalaEditor.DefineIcon('alert', { NAME: 'info', SVG_KEY: 'help' })      FroalaEditor.RegisterCommand('alert', {        title: 'Hello',        focus: false,        undo: false,        refreshAfterCallback: false,        callback: function () {          alert('Hello!')        }      })      FroalaEditor.DefineIcon('clear', { NAME: 'remove', SVG_KEY: 'remove' })      FroalaEditor.RegisterCommand('clear', {        title: 'Clear HTML',        focus: false,        undo: true,        refreshAfterCallback: true,        callback: function () {          this.html.set('')          this.events.focus()        }      })      FroalaEditor.DefineIcon('insert', { NAME: 'plus', SVG_KEY: 'add' })      FroalaEditor.RegisterCommand('insert', {        title: 'Insert HTML',        focus: true,        undo: true,        refreshAfterCallback: true,        callback: function () {          this.html.insert('My New HTML')        }      })      new FroalaEditor("#edit", {        toolbarButtons: [ ['undo', 'redo', 'bold'], ['alert', 'clear', 'insert'] ]      })    })()  </script></body></html>
 |