Как мое расширение CEP может прослушивать событие «Выбор», но только для «historyState»? - PullRequest
0 голосов
/ 08 ноября 2019

Как видно из названия, я хотел бы знать, может ли и как CEP расширение * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '100' * *. а не когда я просто выбираю слой, например. Вот пример того, как мое расширение слушает, чтобы выбрать событие ...

JS

(function()
{
    'use strict';

    var csInterface = new CSInterface();

    function Register(inOn)
    {
        if (inOn)
        {
            var event = new CSEvent("com.adobe.PhotoshopRegisterEvent", "APPLICATION");
        }
        else
        {
            var event = new CSEvent("com.adobe.PhotoshopUnRegisterEvent", "APPLICATION");
        };
        event.extensionId = "my_extension_id";

        // #region // EVENT CODES //
        // ╔════════╦═════════╦════════════╗
        // ║ Name   ║ Char ID ║ Type ID    ║
        // ╠════════╬═════════╬════════════╣
        // ║ Hide   ║ Hd      ║ 1214521376 ║
        // ║ Select ║ slct    ║ 1936483188 ║
        // ║ Set    ║ setd    ║ 1936028772 ║
        // ║ Show   ║ Shw     ║ 1399355168 ║
        // ╚════════╩═════════╩════════════╝
        // #endregion

        event.data = "1936483188";
        csInterface.dispatchEvent(event);
    }

    function init()
    {
        themeManager.init();
        $('#registerEvent').change(function()
        {
            Register($(this).is(':checked'));
        });
    };

    function PSCallback(csEvent)
    {
        var dataArray = csEvent.data.split(",");
        csInterface.evalScript('convertTypeID(' + JSON.stringify(dataArray\[0\]) + ')', function(res)
        {
            $('#result').val(res.toString());
        });
    };

    init();
    csInterface.addEventListener("PhotoshopCallback", PSCallback);
}());

JSX

function convertTypeID (typeArray)
{
    return typeIDToStringID(Number(typeArray));
};
...