• Post category:Events
  • Запись изменена:07.11.2022

Раздел событий позволяет изменить все функции, относящиеся к событиям.

События и их описание:

  • button — функция, вызываемая при нажатии любой из кнопок плагина. Он определяет кнопки, используемые с плагином, и поведение плагина при нажатии на них.
    Параметры
    ПараметрОписаниеТип
    idОпределяет индекс кнопки в массиве кнопок файла config.json. Если id == -1, то плагин считает, что крестик Закрыть окно был нажат или его работа была каким-то образом прервана.численный
    Пример
    window.Asc.plugin.button = function (id) {
        this.executeCommand("close", '');
    };
    
  • init — функция, вызываемая при запуске плагина. Он определяет данные, отправляемые в плагин, описывающие, какие действия должны быть выполнены и как они должны быть выполнены.
    Параметры
    ПараметрОписаниеТип
    dataОпределяет параметр данных, зависящий от параметра initDataType, указанного в файле config.json.строковый
    Пример
    window.Asc.plugin.init = function () {
        this.callCommand(function() {
            var oDocument = Api.GetDocument();
            var oParagraph = Api.CreateParagraph();
            oParagraph.AddText("Hello world!");
            oDocument.InsertContent([oParagraph]);
        }, true);
    };
    
  • inputHelper_onSelectItem — функция, вызываемая, когда пользователь пытается выбрать элемент из помощника ввода.
    Параметры
    ПараметрОписаниеТип
    itemОпределяет выбранный элемент:

    • text — текст предмета,
      тип: строковый,
      пример: «name»;
    • id — индекс предмета,
      тип: строковый,
      пример: «1».
    объект
    Пример
    window.Asc.plugin.inputHelper_onSelectItem = function(item) {
        if (!item)
            return;
    
        window.Asc.plugin.executeMethod("InputText", [item.text, window.Asc.plugin.currentText]);
        window.Asc.plugin.getInputHelper().unShow();
    };
    
  • onBlurContentControl — функция, вызываемая, чтобы показать, какой элемент управления содержимым был размыт.
    Параметры
    ПараметрОписаниеТип
    controlОпределяет элемент управления содержимым, который был размыт:

    • Tag -тег, назначенный элементу управления содержимым. Один и тот же тег можно назначить нескольким элементам управления содержимым, чтобы вы могли ссылаться на них в своем коде.
      type: строковый,
      example: «{tag}»;
    • Id — уникальный идентификатор управления контентом. Его можно использовать для поиска определенного элемента управления содержимым и ссылки на него в коде.
      type: численный,
      example: 0;
    • Lock — значение, которое определяет, возможно ли удалить и/или изменить элемент управления содержимым или нет,
      type: численный,
      example: 0;
    • InternalId — уникальный внутренний идентификатор элемента управления контентом,
      type: строковый,
      example: «5_665».
    Объект

    Параметр Lock может принимать следующие значения:

     

    Численное значениеРедактироватьУдалить
    0нетда
    1нетнет
    2данет
    3дада
    Пример
    connector.attachEvent("onBlurContentControl", function(oPr)
    {
        if (oPr && "BankBIC" === oPr["Tag"])
        {
            connector.executeMethod("GetFormValue", [oPr["InternalId"]], function(value)
            {
                if ("12345678" !== value)
                    return;
    
                connector.executeMethod("GetFormsByTag", ["BankAccount"], function(forms)
                {
                    for (let i = 0; i < forms.length; ++i)
                    {
                        connector.executeMethod("SetFormValue", [forms[i]["InternalId"], "10101110100000000123"], null);
                    }
                });
    
                connector.executeMethod("GetFormsByTag", ["BankName"], function(forms)
                {
                    for (let i = 0; i < forms.length; ++i)
                    {
                        connector.executeMethod("SetFormValue", [forms[i]["InternalId"], "Р7 BANK"], null);
                    }
                });
    
                connector.executeMethod("GetFormsByTag", ["BankPlace"], function(forms)
                {
                    for (let i = 0; i < forms.length; ++i)
                    {
                        connector.executeMethod("SetFormValue", [forms[i]["InternalId"], "Himalayas"], null);
                    }
                });
            });
        }
        console.log("event: onBlurContentControl");
    });
    
  • onChangeContentControl — функция, вызываемая, чтобы показать, какой элемент управления содержимым был изменен.
    Параметры
    ПараметрОписаниеТип
    controlОпределяет измененный элемент управления содержимым:

    • Tag — тег, назначенный элементу управления содержимым. Один и тот же тег можно назначить нескольким элементам управления содержимым, чтобы вы могли ссылаться на них в своем коде.
      type: строковый,
      example: «{tag}»;
    • Id — уникальный идентификатор управления контентом. Его можно использовать для поиска определенного элемента управления содержимым и ссылки на него в коде.
      type: численный,
      example: 0;
    • Lock — значение, которое определяет, возможно ли удалить и/или изменить элемент управления содержимым или нет,
      type: численный,
      example: 0;
    • InternalId — уникальный внутренний идентификатор элемента управления контентом,
      type: строковый,
      example: «5_665».
    объект

    Параметр Lock может принимать следующие значения:

    Численные значенияРедактироватьУдалить
    0нетда
    1нетнет
    2данет
    3дада
    Пример
    connector.attachEvent("onChangeContentControl", function()
    {
        console.log("event: onChangeContentControl");
    });
    
  • onClick — функция, вызываемая, когда пользователь нажимает на элемент.
    Параметры
    ПараметрОписаниеТип
    isSelectionUseОпределяет, используется ли выделение или нет.логический
    Пример
    window.Asc.plugin.event_onClick = function(isSelectionUse) {
        window.Asc.plugin.executeMethod("GetCurrentContentControlPr", [], function(obj) {
            window.Asc.plugin.currentContentControl = obj;
            var controlTag = obj ? obj.Tag : "";
            if (isSelectionUse)
                controlTag = "";
            ... 
        }); 
    };
    
  • onCommandCallback — функция, вызываемая для возврата результата ранее выполненной команды. Его можно использовать для возврата данных после выполнения метода executeCommand.
    Пример
    window.Asc.plugin.onCommandCallback = function() {
        var plugin = window.Asc.plugin;
        plugin.executeCommand("close", "");
    };
    
  • onDocumentContentReady -функция вызывается, когда документ полностью загружен.
    Пример
    window.Asc.plugin.event_onDocumentContentReady = function() {
        var oProperties = {
            "searchString"  : "Р7",
            "replaceString" : "Р7 is cool",
            "matchCase"     : false
        };
    
        window.Asc.plugin.executeMethod("SearchAndReplace", [oProperties], function() {
                window.Asc.plugin.executeCommand("close", "");
        });
    };
    
  • onEnableMouseEvent — функция, вызываемая для включения/выключения событий мыши или тачпада.
    Параметры
    ПараметрОписаниеТип
    isEnabledОпределяет, включена ли мышь или тачпад.логический
    Пример
    window.Asc.plugin.onEnableMouseEvent = function(isEnabled) {
        var _frames = document.getElementsByTagName("iframe");
        if (_frames && _frames[0]) {
            _frames[0].style.pointerEvents = isEnabled ? "none" : "";
        }
    };
    
  • onExternalMouseUp -функция, вызываемая при отпускании кнопки мыши за пределами iframe плагина.
    Пример
    window.Asc.plugin.onExternalMouseUp = function () {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("mouseup", true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
        document.dispatchEvent(evt);
    };
    
  • onExternalPluginMessage — функция, вызываемая для отображения сообщения интегратора редактора.
    Параметры
    ПараметрОписаниеТип
    dataОпределяет сообщение интегратора редактора:

    • Тип -тип сообщения,
      тип: строковый,
      пример: «close»;
    • text — текст сообщения,
      тип: строковый,
      пример: «text».
    объект
    Пример
    window.Asc.plugin.onExternalPluginMessage = function(data) {
        switch (data.type) {
            case "close": {
                this.executeCommand("close", "");
                break;
            }
            case "insertText": {
                Asc.scope.text = data.text;
                this.callCommand(function() {
                    var oDocument = Api.GetDocument();
                    var oParagraph = Api.CreateParagraph();
                    oParagraph.AddText(Asc.scope.text);
                    oDocument.InsertContent([oParagraph]);
                }, false);
                break;
            }
        }
    };
    
  • onFocusContentControl — функция, вызываемая для отображения того, какой элемент управления содержимым был сфокусирован.
    Параметры
    ПараметрОписаниеТип
    controlОпределяет элемент управления содержимым, который был сфокусирован:

    • Tag — тег, назначенный элементу управления содержимым. Один и тот же тег может быть назначен нескольким элементам управления контентом, чтобы вы могли ссылаться на них в своем коде,
      type: строковый,
      example: «{tag}»;
    • Id -уникальный идентификатор элемента управления контентом. Его можно использовать для поиска определенного элемента управления контентом и ссылки на него в вашем коде,
      type: численный,
      example: 0;
    • Lock — значение, определяющее, можно ли удалять и/или редактировать элемент управления содержимым или нет,
      type: численный,
      example: 0;
    • InternalId -уникальный внутренний идентификатор элемента управления контентом,
      type: строковый,
      example: «5_665».
    Объект

    Параметр Lock может иметь следующие значения:

    Численное значениеРедактироватьУдалить
    0нетда
    1нетнет
    2данет
    3дада
    Пример
    connector.attachEvent("onFocusContentControl", function()
    {
        console.log("event: onFocusContentControl");
    });
    
  • onInputHelperClear -функция, вызываемая, когда пользователь пытается очистить текст, и помощник ввода исчезает.
    Пример
    window.Asc.plugin.event_onInputHelperClear = function() {
        window.Asc.plugin.currentText = "";
        window.Asc.plugin.getInputHelper().unShow();
    };           
    
  • onInputHelperInput —  функция, вызываемая, когда пользователь пытается ввести текст и появляется помощник ввода.
    Параметры
    НазваниеОписаниеТип
    dataОпределяет текст, который вводит пользователь:

    • add — определяет, добавляется ли текст к текущему тексту или это начало текста,
      type: логический,
      example: true;
    • text — текст, который вводит пользователь,
      type: строковый,
      example: «text».
    Объект
    Пример
    window.Asc.plugin.event_onInputHelperInput = function(data) {
        if (data.add)
            window.Asc.plugin.currentText += data.text;
        else
            window.Asc.plugin.currentText = data.text;
            ...
    }
    
  • onMethodReturn —  функция, вызываемая для возврата результата ранее выполненного метода. Его можно использовать для возврата данных после выполнения метода executeMethod.
    Параметры
    ПараметрОписаниеТип
    returnValueОпределяет значение, которое будет возвращено.
    Пример
    window.Asc.plugin.executeMethod("InsertAndReplaceContentControls", [_obj]);
    window.Asc.plugin.onMethodReturn = function(returnValue) {
        if (window.Asc.plugin.info.methodName == "InsertAndReplaceContentControls") {
            window.Asc.plugin.executeMethod("GetAllContentControls");
        } else if ("GetAllContentControls") {
            window.Asc.plugin.executeCommand("close", console.log(JSON.stringify(returnValue)));
        } 
    };
    
  • onTargetPositionChanged — функция, вызываемая при изменении целевой позиции в редакторе.
    Пример
    window.Asc.plugin.event_onTargetPositionChanged = function() {
        if (!fClickLabel) {
            window.Asc.plugin.executeMethod("GetCurrentContentControl");
        }
        fClickLabel = false;
    };
    
  • onTranslate -функция, вызываемая сразу после запуска плагина или позже, в случае изменения языка плагина.
    Пример
    window.Asc.plugin.onTranslate = function() {
        var label = document.getElementById("button_new");
        if (label)
            label.innerHTML = window.Asc.plugin.tr("New");
    }