custom_dropdown.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0" />
  6. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
  7. <link rel="stylesheet" href="../../css/froala_editor.css">
  8. <link rel="stylesheet" href="../../css/froala_style.css">
  9. <link rel="stylesheet" href="../../css/plugins/code_view.css">
  10. <link rel="stylesheet" href="../../css/plugins/colors.css">
  11. <link rel="stylesheet" href="../../css/plugins/emoticons.css">
  12. <link rel="stylesheet" href="../../css/plugins/image_manager.css">
  13. <link rel="stylesheet" href="../../css/plugins/image.css">
  14. <link rel="stylesheet" href="../../css/plugins/line_breaker.css">
  15. <link rel="stylesheet" href="../../css/plugins/table.css">
  16. <link rel="stylesheet" href="../../css/plugins/char_counter.css">
  17. <link rel="stylesheet" href="../../css/plugins/video.css">
  18. <link rel="stylesheet" href="../../css/plugins/fullscreen.css">
  19. <link rel="stylesheet" href="../../css/plugins/file.css">
  20. <link rel="stylesheet" href="../../css/plugins/quick_insert.css">
  21. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
  22. <style>
  23. body {
  24. text-align: center;
  25. }
  26. div#editor {
  27. width: 81%;
  28. margin: auto;
  29. text-align: left;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div id="editor">
  35. <div id='edit' style="margin-top: 30px;">
  36. <h1>Custom Dropdown</h1>
  37. <p>An example of custom dropdown for the WYSIWYG HTML editor.</p>
  38. <p>More details about defining a custom dropdown can be found in the <a
  39. href="https://froala.com/wysiwyg-editor/docs/concepts/custom/dropdown" title="Custom Dropdown Concept"
  40. target="_blank">Custom Dropdown</a> concept.</p>
  41. <p>After defining custom buttons you need to add them to the toolbar buttons list, using the following options: <a
  42. href="https://froala.com/wysiwyg-editor/docs/options#toolbarButtons" title="toolbarButtons"
  43. target="_blank">toolbarButtons</a>, <a href="https://froala.com/wysiwyg-editor/docs/options#toolbarButtonsMD"
  44. title="toolbarButtonsMD" target="_blank">toolbarButtonsMD</a>, <a
  45. href="https://froala.com/wysiwyg-editor/docs/options#toolbarButtonsSM" title="toolbarButtonsSM"
  46. target="_blank">toolbarButtonsSM</a> and <a
  47. href="https://froala.com/wysiwyg-editor/docs/options#toolbarButtonsXS" title="toolbarButtonsXS"
  48. target="_blank">toolbarButtonsXS</a> as explained in the <a
  49. href="https://froala.com/wysiwyg-editor/examples/custom-toolbar" title="Custom Toolbar Example"
  50. target="_blank">Custom Toolbar</a> example.</p>
  51. </div>
  52. </div>
  53. <script type="text/javascript"
  54. src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
  55. <script type="text/javascript"
  56. src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
  57. <script type="text/javascript" src="../../js/froala_editor.min.js"></script>
  58. <script type="text/javascript" src="../../js/plugins/align.min.js"></script>
  59. <script type="text/javascript" src="../../js/plugins/char_counter.min.js"></script>
  60. <script type="text/javascript" src="../../js/plugins/code_beautifier.min.js"></script>
  61. <script type="text/javascript" src="../../js/plugins/code_view.min.js"></script>
  62. <script type="text/javascript" src="../../js/plugins/colors.min.js"></script>
  63. <script type="text/javascript" src="../../js/plugins/draggable.min.js"></script>
  64. <script type="text/javascript" src="../../js/plugins/emoticons.min.js"></script>
  65. <script type="text/javascript" src="../../js/plugins/entities.min.js"></script>
  66. <script type="text/javascript" src="../../js/plugins/file.min.js"></script>
  67. <script type="text/javascript" src="../../js/plugins/font_size.min.js"></script>
  68. <script type="text/javascript" src="../../js/plugins/font_family.min.js"></script>
  69. <script type="text/javascript" src="../../js/plugins/fullscreen.min.js"></script>
  70. <script type="text/javascript" src="../../js/plugins/image.min.js"></script>
  71. <script type="text/javascript" src="../../js/plugins/image_manager.min.js"></script>
  72. <script type="text/javascript" src="../../js/plugins/line_breaker.min.js"></script>
  73. <script type="text/javascript" src="../../js/plugins/inline_style.min.js"></script>
  74. <script type="text/javascript" src="../../js/plugins/link.min.js"></script>
  75. <script type="text/javascript" src="../../js/plugins/lists.min.js"></script>
  76. <script type="text/javascript" src="../../js/plugins/paragraph_format.min.js"></script>
  77. <script type="text/javascript" src="../../js/plugins/paragraph_style.min.js"></script>
  78. <script type="text/javascript" src="../../js/plugins/quick_insert.min.js"></script>
  79. <script type="text/javascript" src="../../js/plugins/quote.min.js"></script>
  80. <script type="text/javascript" src="../../js/plugins/table.min.js"></script>
  81. <script type="text/javascript" src="../../js/plugins/save.min.js"></script>
  82. <script type="text/javascript" src="../../js/plugins/url.min.js"></script>
  83. <script type="text/javascript" src="../../js/plugins/video.min.js"></script>
  84. <script>
  85. (function () {
  86. FroalaEditor.DefineIcon('my_dropdown', { NAME: 'cog', SVG_KEY: 'cogs' })
  87. FroalaEditor.RegisterCommand('my_dropdown', {
  88. title: 'Advanced options',
  89. type: 'dropdown',
  90. focus: false,
  91. undo: false,
  92. refreshAfterCallback: true,
  93. options: {
  94. 'v1': 'Option 1',
  95. 'v2': 'Option 2'
  96. },
  97. callback: function (cmd, val) {
  98. console.log(val)
  99. },
  100. // Callback on refresh.
  101. refresh: function ($btn) {
  102. console.log('do refresh')
  103. },
  104. // Callback on dropdown show.
  105. refreshOnShow: function ($btn, $dropdown) {
  106. console.log('do refresh when show')
  107. }
  108. })
  109. new FroalaEditor("#edit", {
  110. toolbarButtons: [ ['bold', 'italic', 'formatBlock', 'my_dropdown'] ]
  111. })
  112. })()
  113. </script>
  114. </body>
  115. </html>