window.Asc.plugin.info

Description

During all the plugin work the auxiliary window.Asc.plugin.info object is available. It stores all the information about the editor where the plugin is used (the editorType used - text documents, spreadsheets, presentations) and additional settings for OLE objects (their width, height, millimeter to pixel ratio for OLE objects vector draw, some other OLE object parameters).

This object is used change the object data and to send additional parameters when executing the window.Asc.plugin.executeCommand. For example, if the document content is changed and recalculation is needed, the parameter window.Asc.plugin.info.recalculate must be set to true. It is necessary because the recalculation process is asynchronous. Moreover, some other data might need to be uploaded (e.g. a font or something else).

See the available window.Asc.plugin.info object methods and properties below to find more on each of them.

Methods and properties
Name Description Type Access
data The OLE object data which need to be sent to the window.Asc.plugin.info object and used by the plugin. OLE object data write
editorType Returns the type of the editor where the plugin is currently running. string read-only
guid The OLE object GUID in the current document. string read-only
height The OLE object height measured in millimeters. number read-only
imgSrc The link to the image (its visual representation) stored in the OLE object and used by the plugin. string write
mmToPx Millimeter to pixel conversion ratio for the OLE object vector draw. number read-only
objectId The OLE object identifier in the current document. string read-only
recalculate Force the document to recalculate its content data. boolean write
resize Checks if the OLE object size has been changed. boolean read-only
width The OLE object width measured in millimeters. number read-only
Example
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);
};