Описание
Определяет вспомогательный объект window.Asc.plugin.info, который доступен при работе плагина. В нем хранится вся информация о редакторе, который использует плагин (используемый editorType — текстовые документы, таблицы, презентации) и дополнительные настройки для OLE-объектов (их ширина, высота, отношение миллиметра к пикселю для векторной отрисовки OLE-объектов и некоторых других OLE-объектов). параметры объекта).
Этот объект используется для изменения данных объекта и отправки дополнительных параметров при выполнении метода window.Asc.plugin.executeCommand. Например, если содержимое документа изменилось и требуется пересчет, параметр пересчета должен быть установлен в значение true. Это действие необходимо, поскольку процесс пересчета является асинхронным. Кроме того, может потребоваться загрузка некоторых других данных (например, шрифт или что-то еще).
См. доступные параметры объекта window.Asc.plugin.info ниже, чтобы узнать о них больше.
Название | Описание | Тип | Пример |
data | Данные объекта OLE, которые необходимо отправить в объект window.Asc.plugin.info и использовать плагин. | строковый | «{data}» |
editorType | Тип редактора, в котором в данный момент запущен плагин. | строковый | «word» |
guid | GUID OLE-объекта в текущем документе. | строковый | «asc.{UUID}» |
height | Высота OLE-объекта измеряется в миллиметрах. | численный | 70 |
imgSrc | Ссылка на изображение (его визуальное представление), хранящееся в OLE-объекте и используемое плагином. | строковый | «./resources/image.png» |
mmToPx | Коэффициент конвертации миллиметра в пиксель для отрисовки вектора объекта OLE. | численный | 3 |
objectId | Идентификатор объекта OLE в текущем документе. | строковый | 1 |
recalculate | Заставляет документ пересчитывать данные своего содержимого. | логический | true |
resize | Проверяет, был ли изменен размер объекта OLE. | логический | true |
width | Ширина объекта OLE измеряется в миллиметрах. | численный | 70 |
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);
};
function createScriptFromArray (aSelected) {
var sScript = '';
if (aSelected.length > 0) {
switch (window.Asc.plugin.info.editorType) {
case 'word': {
sScript += 'var oDocument = Api.GetDocument();';
sScript += '\noDocument.CreateNewHistoryPoint();';
sScript += '\nvar oParagraph, oRun, arrInsertResult = [], oImage;';
sScript += '\noDocument.InsertContent(arrInsertResult);';
break;
}
}
}
return sScript;
}
window.Asc.plugin.init = function () {
var plugin_uuid = window.Asc.plugin.info.guid;
};
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);
};
if (window.Asc.plugin.info.resize === true) {
return window.Asc.plugin.button(0);
}