Skip to main content
jonnyr84832999
Participant
March 20, 2019
Answered

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

  • March 20, 2019
  • 1 reply
  • 702 views

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 has been closed for replies.
Correct answer Ten A

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

1 reply

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

jonnyr84832999
Participant
March 20, 2019

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

Thanks very much