Get Started
Plugins
Macros
More information
|
window.Asc.plugin.executeCommand (type, data, callback)Description
Defines the method used to send the data back to the editor. This method is deprecated, please use the callCommand method which runs the code from the data string parameter. Now this method is mainly used to work with the OLE objects or close the plugin without any other commands. It is also retained for using with text so that the previous versions of the plugin remain compatible. The callback is the result that the command returns. It is an optional parameter. In case it is missing, the window.Asc.plugin.onCommandCallback function will be used to return the result of the command execution. The second parameter is the JavaScript code for working with ONLYOFFICE Document Builder API that allows the plugin to send structured data inserted to the resulting document file (formatted paragraphs, tables, text parts and separate words, etc.). ONLYOFFICE Document Builder commands can be only used to create content and insert it to the document editor (using the Api.GetDocument().InsertContent(...)). This limitation exists due to the co-editing feature in the online editors. If it is necessary to create a plugin for the desktop editors to work with local files, no such limitation is applied.
Parameters
When creating/editing OLE objects, two extensions are used to work with them:
When creating/editing the objects, their properties can be passed to the window.Asc.plugin.info object that defines how the object should look. Example OLE object
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); }; Example text (not used but retained for compatibility reason)
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); }; |