Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
/**
2
 * TinyMCE version 6.8.3 (2024-02-08)
3
 */
4
 
5
(function () {
6
    'use strict';
7
 
8
    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
9
 
10
    const setContent = (editor, html) => {
11
      editor.focus();
12
      editor.undoManager.transact(() => {
13
        editor.setContent(html);
14
      });
15
      editor.selection.setCursorLocation();
16
      editor.nodeChanged();
17
    };
18
    const getContent = editor => {
19
      return editor.getContent({ source_view: true });
20
    };
21
 
22
    const open = editor => {
23
      const editorContent = getContent(editor);
24
      editor.windowManager.open({
25
        title: 'Source Code',
26
        size: 'large',
27
        body: {
28
          type: 'panel',
29
          items: [{
30
              type: 'textarea',
31
              name: 'code'
32
            }]
33
        },
34
        buttons: [
35
          {
36
            type: 'cancel',
37
            name: 'cancel',
38
            text: 'Cancel'
39
          },
40
          {
41
            type: 'submit',
42
            name: 'save',
43
            text: 'Save',
44
            primary: true
45
          }
46
        ],
47
        initialData: { code: editorContent },
48
        onSubmit: api => {
49
          setContent(editor, api.getData().code);
50
          api.close();
51
        }
52
      });
53
    };
54
 
55
    const register$1 = editor => {
56
      editor.addCommand('mceCodeEditor', () => {
57
        open(editor);
58
      });
59
    };
60
 
61
    const register = editor => {
62
      const onAction = () => editor.execCommand('mceCodeEditor');
63
      editor.ui.registry.addButton('code', {
64
        icon: 'sourcecode',
65
        tooltip: 'Source code',
66
        onAction
67
      });
68
      editor.ui.registry.addMenuItem('code', {
69
        icon: 'sourcecode',
70
        text: 'Source code',
71
        onAction
72
      });
73
    };
74
 
75
    var Plugin = () => {
76
      global.add('code', editor => {
77
        register$1(editor);
78
        register(editor);
79
        return {};
80
      });
81
    };
82
 
83
    Plugin();
84
 
85
})();