Skip to main content
jonnyr84832999
Participant
March 20, 2019
Answered

Firing custom events from individual .jsx to be picked up by panel extension

Is it possible for an external script to trigger a custom event defined in an (open) extension panel?

I tried the following but get this error when it tries to load the PlugPlugExternalObject - I assume this is no longer supported?:

IOError: File or folder does not exist

My code:

In index.js of the extension:

var cs = new CSInterface();

cs.addEventListener("myCustEvent", function(evt) {

    alert('Data from the JSX payload: ' + evt.data);

});

customEvent.jsx:

try {

    var xLib = new ExternalObject("lib:\\PlugPlugExternalObject");

} catch (e) {

    alert("xLib create failed: " + e);

}

var f = File("/Path/To/A/File.psd");

try {

     app.open(f);

     if (xLib) {

         var eventObj = new CSXSEvent();

         eventObj.type = "myCustEvent";

         eventObj.data = "some payload data...";

         eventObj.dispatch();

     }

} catch(e) {

     alert("try failed: " + e);

}

Thanks!

(edit: fixed formatting)

Post moved from Photoshop Scripting to Extensions / Add-ons Development. [Moderator]

This topic is closed to new replies. Start a new post to keep the conversation going.
Ten A
Ten ACorrect answer
Community Expert
March 20, 2019

Try to change EO path in your JSX file like below.

var xLib = new ExternalObject("lib:\PlugPlugExternalObject");

Here is a sample zxp that works with PlugPlugExternalObject I had made.

http://chuwa.iobb.net/tech/callbacktest.zxp

2 replies

Ten A
Community Expert
Ten ACommunity ExpertCorrect answer
Community Expert
March 20, 2019

Try to change EO path in your JSX file like below.

var xLib = new ExternalObject("lib:\PlugPlugExternalObject");

Here is a sample zxp that works with PlugPlugExternalObject I had made.

http://chuwa.iobb.net/tech/callbacktest.zxp

Translate
jonnyr84832999
Participant
March 20, 2019

Ahh perfect, that's working exactly as it should!

Thanks very much

Translate