Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

define("tiny_html/plugin",["exports","editor_tiny/loader","editor_tiny/utils","./common","./beautify/beautify-html","core/str","./codemirror-lazy"],(function(_exports,_loader,_utils,_common,_beautifyHtml,_str,_codemirrorLazy){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;
/**
   * Tiny tiny_html for Moodle.
   *
   * @module      tiny_html/plugin
   * @copyright   2023 Matt Porritt <matt.porritt@moodle.com>
   * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
   */
const beautifyOptions={indent_size:2,wrap_line_length:80,unformatted:[]};var _default=new Promise((async resolve=>{const[tinyMCE,pluginMetadata,buttonStrings]=await Promise.all([(0,_loader.getTinyMCE)(),(0,_utils.getPluginMetadata)(_common.component,_common.pluginName),(0,_str.get_strings)([{key:"cancel",component:"moodle"},{key:"save",component:"moodle"}])]);tinyMCE.PluginManager.add(_common.pluginName,(editor=>{const windowManagerConfig={title:"Source code",size:"large",body:{type:"panel",items:[{type:"htmlpanel",html:'<div id="'+editor.id+'_codeMirrorContainer" style="height: 100%;"></div>'}]},buttons:null,initialData:null,onSubmit:null};return editor.addCommand("mceCodeEditor",(()=>{const content=editor.getContent({source_view:!0}),beautifiedContent=(0,_beautifyHtml.html_beautify)(content,beautifyOptions);let cmInstance,state=_codemirrorLazy.EditorState.create({doc:beautifiedContent,extensions:[_codemirrorLazy.basicSetup,_codemirrorLazy.EditorState.tabSize.of(2),...Object.entries(_codemirrorLazy.lang).map((_ref=>{let[,languagePlugin]=_ref;return languagePlugin()}))]});editor.windowManager.open({...windowManagerConfig,onSubmit:api=>{const cmContent=cmInstance.state.doc.toString();editor.setContent(cmContent,{source_view:!0}),api.close()},buttons:[{type:"cancel",text:buttonStrings[0]},{type:"submit",text:buttonStrings[1],primary:!0}]});const shadowRoot=document.getElementById(editor.id+"_codeMirrorContainer").attachShadow({mode:"open"}),style=document.createElement("style");style.textContent=_common.codeMirrorStyle,shadowRoot.appendChild(style);const div=document.createElement("div");div.classList.add("modal-codemirror-container"),shadowRoot.appendChild(div),cmInstance=new _codemirrorLazy.EditorView({state:state,parent:div}),shadowRoot.addEventListener("keydown",(event=>{if("Tab"===event.key){event.preventDefault();document.getElementById(editor.id+"_codeMirrorContainer").closest(".tox-dialog").querySelector('button[title="'+buttonStrings[1]+'"]').focus()}}))})),pluginMetadata})),resolve(_common.pluginName)}));return _exports.default=_default,_exports.default}));

//# sourceMappingURL=plugin.min.js.map