From bdfbf9710622a626a18c45df66175165f0861d63 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 17 Apr 2025 14:25:01 +0300 Subject: [PATCH] Add onAttachPluginEvent method to apiBase --- common/apiBase.js | 4 ++++ common/plugins.js | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/common/apiBase.js b/common/apiBase.js index 5a2d84d2db..30daa175bc 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -5554,6 +5554,10 @@ return (0 !== results.length) ? true : false; }; + baseEditorsApi.prototype.onAttachPluginEvent = function(guid, name) + { + }; + //----------------------------------------------------------export---------------------------------------------------- window['AscCommon'] = window['AscCommon'] || {}; window['AscCommon'].baseEditorsApi = baseEditorsApi; diff --git a/common/plugins.js b/common/plugins.js index bb3d632b0a..bed2eb7c21 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1106,6 +1106,16 @@ runObject.currentInit = false; + let eventMap = plugin.variations[runObject.currentVariation].eventsMap; + if (eventMap) + { + for (let nameEvent in eventMap) + { + if (eventMap.hasOwnProperty(nameEvent)) + this.api.onAttachPluginEvent(plugin.guid, nameEvent); + } + } + if (AscCommon.AscBrowser.isIE && !AscCommon.AscBrowser.isIeEdge) { let ie_frame_id = runObject.frameId; @@ -1320,6 +1330,7 @@ let plugin = this.getPluginByGuid(data["guid"]); if (plugin && plugin.variations && plugin.variations[0]) { + this.api.onAttachPluginEvent(data["guid"], data["name"]); plugin.variations[0].eventsMap[data["name"]] = true; } break; @@ -1789,7 +1800,10 @@ let plugin = window.g_asc_plugins.getPluginByGuid(guid); if (plugin && plugin.variations && plugin.variations[runObject.currentVariation]) { - plugin.variations[runObject.currentVariation].eventsMap[pluginData.getAttribute("name")] = true; + let eventName = pluginData.getAttribute("name"); + window.g_asc_plugins.api.onAttachPluginEvent(guid, eventName); + plugin.variations[runObject.currentVariation].eventsMap[eventName] = true; + } break; }