12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- *
- * Version: 5.9.1 (2021-08-27)
- */
- (function () {
- 'use strict';
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
- var setContent = function (editor, html) {
- editor.focus();
- editor.undoManager.transact(function () {
- editor.setContent(html);
- });
- editor.selection.setCursorLocation();
- editor.nodeChanged();
- };
- var getContent = function (editor) {
- return editor.getContent({ source_view: true });
- };
- var open = function (editor) {
- var editorContent = getContent(editor);
- editor.windowManager.open({
- title: 'Source Code',
- size: 'large',
- body: {
- type: 'panel',
- items: [{
- type: 'textarea',
- name: 'code'
- }]
- },
- buttons: [
- {
- type: 'cancel',
- name: 'cancel',
- text: 'Cancel'
- },
- {
- type: 'submit',
- name: 'save',
- text: 'Save',
- primary: true
- }
- ],
- initialData: { code: editorContent },
- onSubmit: function (api) {
- setContent(editor, api.getData().code);
- api.close();
- }
- });
- };
- var register$1 = function (editor) {
- editor.addCommand('mceCodeEditor', function () {
- open(editor);
- });
- };
- var register = function (editor) {
- var onAction = function () {
- return editor.execCommand('mceCodeEditor');
- };
- editor.ui.registry.addButton('code', {
- icon: 'sourcecode',
- tooltip: 'Source code',
- onAction: onAction
- });
- editor.ui.registry.addMenuItem('code', {
- icon: 'sourcecode',
- text: 'Source code',
- onAction: onAction
- });
- };
- function Plugin () {
- global.add('code', function (editor) {
- register$1(editor);
- register(editor);
- return {};
- });
- }
- Plugin();
- }());
|