Download extensions/sd-model-organizer/javascript/tinymce/plugins/save/plugin.js from dikdimon/ext: direct link, hf CLI and curl.
- Browser
- Download file 3.49 kB
-
https://huggingface.co/dikdimon/ext/resolve/main/extensions/sd-model-organizer/javascript/tinymce/plugins/save/plugin.js
- Command line
-
hf download hf://dikdimon/ext/extensions/sd-model-organizer/javascript/tinymce/plugins/save/plugin.js
-
curl -L -o plugin.js https://huggingface.co/dikdimon/ext/resolve/main/extensions/sd-model-organizer/javascript/tinymce/plugins/save/plugin.js
3.49 kB
| /** | |
| * TinyMCE version 6.4.1 (2023-03-29) | |
| */ | |
| (function () { | |
| 'use strict'; | |
| var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); | |
| const isSimpleType = type => value => typeof value === type; | |
| const isFunction = isSimpleType('function'); | |
| var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); | |
| var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); | |
| const option = name => editor => editor.options.get(name); | |
| const register$2 = editor => { | |
| const registerOption = editor.options.register; | |
| registerOption('save_enablewhendirty', { | |
| processor: 'boolean', | |
| default: true | |
| }); | |
| registerOption('save_onsavecallback', { processor: 'function' }); | |
| registerOption('save_oncancelcallback', { processor: 'function' }); | |
| }; | |
| const enableWhenDirty = option('save_enablewhendirty'); | |
| const getOnSaveCallback = option('save_onsavecallback'); | |
| const getOnCancelCallback = option('save_oncancelcallback'); | |
| const displayErrorMessage = (editor, message) => { | |
| editor.notificationManager.open({ | |
| text: message, | |
| type: 'error' | |
| }); | |
| }; | |
| const save = editor => { | |
| const formObj = global$1.DOM.getParent(editor.id, 'form'); | |
| if (enableWhenDirty(editor) && !editor.isDirty()) { | |
| return; | |
| } | |
| editor.save(); | |
| const onSaveCallback = getOnSaveCallback(editor); | |
| if (isFunction(onSaveCallback)) { | |
| onSaveCallback.call(editor, 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.'); | |
| } | |
| }; | |
| const cancel = editor => { | |
| const h = global.trim(editor.startContent); | |
| const onCancelCallback = getOnCancelCallback(editor); | |
| if (isFunction(onCancelCallback)) { | |
| onCancelCallback.call(editor, editor); | |
| return; | |
| } | |
| editor.resetContent(h); | |
| }; | |
| const register$1 = editor => { | |
| editor.addCommand('mceSave', () => { | |
| save(editor); | |
| }); | |
| editor.addCommand('mceCancel', () => { | |
| cancel(editor); | |
| }); | |
| }; | |
| const stateToggle = editor => api => { | |
| const handler = () => { | |
| api.setEnabled(!enableWhenDirty(editor) || editor.isDirty()); | |
| }; | |
| handler(); | |
| editor.on('NodeChange dirty', handler); | |
| return () => editor.off('NodeChange dirty', handler); | |
| }; | |
| const register = editor => { | |
| editor.ui.registry.addButton('save', { | |
| icon: 'save', | |
| tooltip: 'Save', | |
| enabled: false, | |
| onAction: () => editor.execCommand('mceSave'), | |
| onSetup: stateToggle(editor) | |
| }); | |
| editor.ui.registry.addButton('cancel', { | |
| icon: 'cancel', | |
| tooltip: 'Cancel', | |
| enabled: false, | |
| onAction: () => editor.execCommand('mceCancel'), | |
| onSetup: stateToggle(editor) | |
| }); | |
| editor.addShortcut('Meta+S', '', 'mceSave'); | |
| }; | |
| var Plugin = () => { | |
| global$2.add('save', editor => { | |
| register$2(editor); | |
| register(editor); | |
| register$1(editor); | |
| }); | |
| }; | |
| Plugin(); | |
| })(); | |