You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							120 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							120 lines
						
					
					
						
							3.2 KiB
						
					
					
				| (function () { | |
| var save = (function () { | |
|   'use strict'; | |
| 
 | |
|   var PluginManager = tinymce.util.Tools.resolve('tinymce.PluginManager'); | |
| 
 | |
|   var DOMUtils = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); | |
| 
 | |
|   var Tools = tinymce.util.Tools.resolve('tinymce.util.Tools'); | |
| 
 | |
|   var enableWhenDirty = function (editor) { | |
|     return editor.getParam('save_enablewhendirty', true); | |
|   }; | |
|   var hasOnSaveCallback = function (editor) { | |
|     return !!editor.getParam('save_onsavecallback'); | |
|   }; | |
|   var hasOnCancelCallback = function (editor) { | |
|     return !!editor.getParam('save_oncancelcallback'); | |
|   }; | |
|   var $_7e3kd9iajd09ewv5 = { | |
|     enableWhenDirty: enableWhenDirty, | |
|     hasOnSaveCallback: hasOnSaveCallback, | |
|     hasOnCancelCallback: hasOnCancelCallback | |
|   }; | |
| 
 | |
|   var displayErrorMessage = function (editor, message) { | |
|     editor.notificationManager.open({ | |
|       text: editor.translate(message), | |
|       type: 'error' | |
|     }); | |
|   }; | |
|   var save = function (editor) { | |
|     var formObj; | |
|     formObj = DOMUtils.DOM.getParent(editor.id, 'form'); | |
|     if ($_7e3kd9iajd09ewv5.enableWhenDirty(editor) && !editor.isDirty()) { | |
|       return; | |
|     } | |
|     editor.save(); | |
|     if ($_7e3kd9iajd09ewv5.hasOnSaveCallback(editor)) { | |
|       editor.execCallback('save_onsavecallback', editor); | |
|       editor.nodeChanged(); | |
|       return; | |
|     } | |
|     if (formObj) { | |
|       editor.setDirty(false); | |
|       if (!formObj.onsubmit || formObj.onsubmit()) { | |
|         if (typeof formObj.submit === 'function') { | |
|           formObj.submit(); | |
|         } else { | |
|           displayErrorMessage(editor, 'Error: Form submit field collision.'); | |
|         } | |
|       } | |
|       editor.nodeChanged(); | |
|     } else { | |
|       displayErrorMessage(editor, 'Error: No form element found.'); | |
|     } | |
|   }; | |
|   var cancel = function (editor) { | |
|     var h = Tools.trim(editor.startContent); | |
|     if ($_7e3kd9iajd09ewv5.hasOnCancelCallback(editor)) { | |
|       editor.execCallback('save_oncancelcallback', editor); | |
|       return; | |
|     } | |
|     editor.setContent(h); | |
|     editor.undoManager.clear(); | |
|     editor.nodeChanged(); | |
|   }; | |
|   var $_8ingpsi7jd09ewv3 = { | |
|     save: save, | |
|     cancel: cancel | |
|   }; | |
| 
 | |
|   var register = function (editor) { | |
|     editor.addCommand('mceSave', function () { | |
|       $_8ingpsi7jd09ewv3.save(editor); | |
|     }); | |
|     editor.addCommand('mceCancel', function () { | |
|       $_8ingpsi7jd09ewv3.cancel(editor); | |
|     }); | |
|   }; | |
|   var $_342paai6jd09ewv2 = { register: register }; | |
| 
 | |
|   var stateToggle = function (editor) { | |
|     return function (e) { | |
|       var ctrl = e.control; | |
|       editor.on('nodeChange dirty', function () { | |
|         ctrl.disabled($_7e3kd9iajd09ewv5.enableWhenDirty(editor) && !editor.isDirty()); | |
|       }); | |
|     }; | |
|   }; | |
|   var register$1 = function (editor) { | |
|     editor.addButton('save', { | |
|       icon: 'save', | |
|       text: 'Save', | |
|       cmd: 'mceSave', | |
|       disabled: true, | |
|       onPostRender: stateToggle(editor) | |
|     }); | |
|     editor.addButton('cancel', { | |
|       text: 'Cancel', | |
|       icon: false, | |
|       cmd: 'mceCancel', | |
|       disabled: true, | |
|       onPostRender: stateToggle(editor) | |
|     }); | |
|     editor.addShortcut('Meta+S', '', 'mceSave'); | |
|   }; | |
|   var $_bze2nsibjd09ewv7 = { register: register$1 }; | |
| 
 | |
|   PluginManager.add('save', function (editor) { | |
|     $_bze2nsibjd09ewv7.register(editor); | |
|     $_342paai6jd09ewv2.register(editor); | |
|   }); | |
|   function Plugin () { | |
|   } | |
| 
 | |
|   return Plugin; | |
| 
 | |
| }()); | |
| })()
 |