Вопрос

Отправка команды контролу ckeditor

Имею в наличии замещающую схему раздела базы знаний.

define("PortalKnowledgeBaseSection", ["HtmlEditModule", "PortalKnowledgeBaseSectionStructure", "PortalKnowledgeBaseSectionResources", "ckeditor-base", "jQuery"],
function (HtmlEditModule, structure, resources) {
    return {
        /* #region  Схема. */
        entitySchemaName: "KnowledgeBase",
        /* #endregion */
        //...
        /* #region  Методы. */
        methods: {
        //...
            /* #region  Клик по кнопке "Полноэкранный режим". */
            onFullscreenModeClick: function () {
                let control = structure;  // ok
                let schema = structure.schema;  // ok
                let rightPanel = structure.schema.rightPanel;  // ok
                // let find = structure.schema.rightPanel.find("ckeditor");  // not ok
                // let item = structure.schema.rightPanel.items[itemIndex];  // not ok
                // //перебором ищем нужный контрол по имени
                // while (item.name !== "...") {
                // ...
                // }
                let editor = $("#MyFieldHtmlEdit-html-edit"); // ok
                // htmlEdit.height(200);
                //...
                let editor = this.editor;  // not ok
                if (editor) {
                    editor.execCommand("maximize");
                }
            },
            /* #endregion */
        },
        /* #endregion */
    };
});

Вопрос: Не получается получить доступ к контролу "ckeditor", для последующей передачи в него команды максимизации окна.

Нравится

2 комментария

Добрый день.
Я рекомендую вам использовать вместо jquery:

let editor = $("#MyFieldHtmlEdit-html-edit");

 

Нашу конструкцию, получения компонента:

var container = Ext.getCmp("MyFieldHtmlEdit")
И у данного контейнера есть свойство editor которым уже можно свободно оперировать.

Самый простой пример - зайдите на страничку редактирования KnowledgeBase и в консоль выполните следующую команду:Ext.getCmp("KnowledgeBasePageV2NotesHtmlEdit").editor.execCommand("maximize")

Григорьев Михаил Алексеевич,

Спасибо, это то, что нужно.

// KnowledgeBasePageV2NotesHtmlEdit - обычная версия 
// PortalKnowledgeBasePageNotesHtmlEdit - портальная версия
var container = Ext.getCmp("PortalKnowledgeBasePageNotesHtmlEdit")
if (container && container.editor) {
  container.editor.execCommand("maximize");
}

 

Показать все комментарии