• Post category:Методы
  • Запись изменена:07.11.2022

window.Asc.plugin.callCommand (func, isClose, isCalc, callback)

Описание
Определяет метод, используемый для отправки данных обратно в редактор. Он заменяет метод executeCommand при работе с текстами, чтобы упростить синтаксис скрипта, который необходимо передать редакторам с помощью Document Builder API. Это позволяет плагину отправлять структурированные данные, которые можно вставить в результирующий файл документа (форматированные абзацы, таблицы, текстовые части, отдельные слова и т. д.).

Обратный вызов — это результат, который возвращает команда. Это необязательный параметр. В случае его отсутствия для возврата результата выполнения команды будет использована функция window.Asc.plugin.onCommandCallback.

Команды Document Builder можно использовать только для создания контента и вставки его в редактор документов (используя Api.GetDocument().InsertContent(…)). Это ограничение существует из-за функции совместного редактирования в онлайн-редакторах. Если необходимо создать плагин для десктопных редакторов для работы с локальными файлами, такое ограничение не применяется.
Параметры
НазваниеОписаниеТип
funcОпределяет команду, написанную на JavaScript, целью которой является формирование структурированных данных, которые могут быть вставлены в результирующий файл документа (форматированные абзацы, таблицы, текстовые части, отдельные слова и т. д.). Затем данные отправляются в редакцию. Команда должна быть совместима с синтаксисом Document Builder.функциональный
isCloseОпределяет, должно ли окно плагина закрываться после выполнения кода или оставаться открытым в ожидании другой команды или действия. Значение true используется для закрытия окна плагина после выполнения функции в параметре func. Значение false используется для выполнения команды и оставления окна открытым в ожидании следующей команды.логический
isCalcОпределяет, будет ли документ пересчитываться или нет. Значение true используется для пересчета документа после выполнения функции в параметре func. Значение false не приведет к пересчету документа (используйте его только в том случае, если ваши правки точно не потребуют пересчета документа).логический
callbackРезультат, который возвращает метод.функциональный

Этот метод выполняется в своем контексте, изолированном от других данных JavaScript. Если в этот метод нужно передать какие-то параметры или другие данные, используйте объект Asc.scope.

Пример
window.Asc.plugin.init = function () {
    this.callCommand(function() {
        var oDocument = Api.GetDocument();
        var oParagraph = Api.CreateParagraph();
        oParagraph.AddText("Hello world!");
        oDocument.InsertContent([oParagraph]);
    }, true);
};