window.Asc.plugin.executeCommand (type, data, callback)
Описание
Определяет метод, используемый для отправки данных обратно в редактор.
Этот метод устарел, используйте метод callCommand, который запускает код из параметра строки данных.
Сейчас этот метод в основном используется для работы с OLE-объектами или закрытия плагина без каких-либо других команд. Он также сохраняется для использования с текстом, чтобы предыдущие версии плагина оставались совместимыми.
Обратный вызов — это результат, который возвращает команда. Это необязательный параметр. В случае его отсутствия для возврата результата выполнения команды будет использована функция window.Asc.plugin.onCommandCallback.
Второй параметр — это код JavaScript для работы с Document Builder API, который позволяет плагину отправлять структурированные данные, вставленные в результирующий файл документа (форматированные абзацы, таблицы, текстовые части и отдельные слова и т. д.).
Параметры
Название | Описание | Тип |
type | Определяет тип команды. Закрытие используется для закрытия окна плагина после выполнения функции в параметре данных. Команда используется для выполнения команды и оставления окна открытым в ожидании следующей команды. | строковый |
data | Определяет команду, написанную в коде JavaScript, целью которой является формирование структурированных данных, которые могут быть вставлены в результирующий файл документа (форматированные абзацы, таблицы, текстовые части и отдельные слова и т. д.). Затем данные отправляются в редакцию. Команда должна быть совместима с синтаксисом Document Builder. | строковый |
callback | Результат, который возвращает метод. | функциональный |
При создании/редактировании OLE-объектов для работы с ними используются два расширения:
- Api.asc_addOleObject (window.Asc.plugin.info) — используется для создания OLE — объекта в документе;
- Api.asc_editOleObject (window.Asc.plugin.info) -используется для редактирования созданного OLE — объекта.
При создании/редактировании объектов их свойства могут быть переданы в объект window.Asc.plugin.info, который определяет, как должен выглядеть объект.
window.Asc.plugin.button = function (id) {
var _info = window.Asc.plugin.info;
var _method = (_info.objectId === undefined) ? "asc_addOleObject" : "asc_editOleObject";
_info.width = _info.width ? _info.width : 70;
_info.height = _info.height ? _info.height : 70;
_info.widthPix = (_info.mmToPx * _info.width) >> 0;
_info.heightPix = (_info.mmToPx * _info.height) >> 0;
_info.imgSrc = window.g_board.getResult(_info.widthPix, _info.heightPix).image;
_info.data = window.g_board.getData();
var _code = "Api." + _method + "(" + JSON.stringify(_info) + ");";
this.executeCommand("close", _code);
};
window.Asc.plugin.init = function () {
var sScript = 'var oDocument = Api.GetDocument();';
sScript += 'oDocument.CreateNewHistoryPoint();';
sScript += 'oParagraph = Api.CreateParagraph();';
sScript += 'oParagraph.AddText(\'Hello word!\');';
sScript += 'oDocument.InsertContent([oParagraph]);';
window.Asc.plugin.info.recalculate = true;
this.executeCommand("close", sScript);
};