tinymce_plugins_save.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import {
  2. __commonJS
  3. } from "./chunk-2LSFTFF7.js";
  4. // node_modules/.pnpm/tinymce@5.10.7/node_modules/tinymce/plugins/save/plugin.js
  5. var require_plugin = __commonJS({
  6. "node_modules/.pnpm/tinymce@5.10.7/node_modules/tinymce/plugins/save/plugin.js"() {
  7. (function() {
  8. "use strict";
  9. var global$2 = tinymce.util.Tools.resolve("tinymce.PluginManager");
  10. var global$1 = tinymce.util.Tools.resolve("tinymce.dom.DOMUtils");
  11. var global = tinymce.util.Tools.resolve("tinymce.util.Tools");
  12. var enableWhenDirty = function(editor) {
  13. return editor.getParam("save_enablewhendirty", true);
  14. };
  15. var hasOnSaveCallback = function(editor) {
  16. return !!editor.getParam("save_onsavecallback");
  17. };
  18. var hasOnCancelCallback = function(editor) {
  19. return !!editor.getParam("save_oncancelcallback");
  20. };
  21. var displayErrorMessage = function(editor, message) {
  22. editor.notificationManager.open({
  23. text: message,
  24. type: "error"
  25. });
  26. };
  27. var save = function(editor) {
  28. var formObj = global$1.DOM.getParent(editor.id, "form");
  29. if (enableWhenDirty(editor) && !editor.isDirty()) {
  30. return;
  31. }
  32. editor.save();
  33. if (hasOnSaveCallback(editor)) {
  34. editor.execCallback("save_onsavecallback", editor);
  35. editor.nodeChanged();
  36. return;
  37. }
  38. if (formObj) {
  39. editor.setDirty(false);
  40. if (!formObj.onsubmit || formObj.onsubmit()) {
  41. if (typeof formObj.submit === "function") {
  42. formObj.submit();
  43. } else {
  44. displayErrorMessage(editor, "Error: Form submit field collision.");
  45. }
  46. }
  47. editor.nodeChanged();
  48. } else {
  49. displayErrorMessage(editor, "Error: No form element found.");
  50. }
  51. };
  52. var cancel = function(editor) {
  53. var h = global.trim(editor.startContent);
  54. if (hasOnCancelCallback(editor)) {
  55. editor.execCallback("save_oncancelcallback", editor);
  56. return;
  57. }
  58. editor.resetContent(h);
  59. };
  60. var register$1 = function(editor) {
  61. editor.addCommand("mceSave", function() {
  62. save(editor);
  63. });
  64. editor.addCommand("mceCancel", function() {
  65. cancel(editor);
  66. });
  67. };
  68. var stateToggle = function(editor) {
  69. return function(api) {
  70. var handler = function() {
  71. api.setDisabled(enableWhenDirty(editor) && !editor.isDirty());
  72. };
  73. handler();
  74. editor.on("NodeChange dirty", handler);
  75. return function() {
  76. return editor.off("NodeChange dirty", handler);
  77. };
  78. };
  79. };
  80. var register = function(editor) {
  81. editor.ui.registry.addButton("save", {
  82. icon: "save",
  83. tooltip: "Save",
  84. disabled: true,
  85. onAction: function() {
  86. return editor.execCommand("mceSave");
  87. },
  88. onSetup: stateToggle(editor)
  89. });
  90. editor.ui.registry.addButton("cancel", {
  91. icon: "cancel",
  92. tooltip: "Cancel",
  93. disabled: true,
  94. onAction: function() {
  95. return editor.execCommand("mceCancel");
  96. },
  97. onSetup: stateToggle(editor)
  98. });
  99. editor.addShortcut("Meta+S", "", "mceSave");
  100. };
  101. function Plugin() {
  102. global$2.add("save", function(editor) {
  103. register(editor);
  104. register$1(editor);
  105. });
  106. }
  107. Plugin();
  108. })();
  109. }
  110. });
  111. // node_modules/.pnpm/tinymce@5.10.7/node_modules/tinymce/plugins/save/index.js
  112. require_plugin();
  113. //# sourceMappingURL=tinymce_plugins_save.js.map