journey-iframe-client
A library used inside of an HTML component in a JourneyApps app to enable sending messages to and receiving messages from the JourneyApps Container.
Installation
npm install journey-iframe-client
Basic Usage
Sending messages
// In your HTML component let client = ; let result = await client;console;
Note:
.post
calls that take a long time to resolve will cause the JourneyApps Container to bring up a blocking spinner. To make a.post
call without bringing up a blocking spinner, use.postNonBlocking
// In your view's JS component;
Note:
.on
handlers can be initialized anywhere in your view's JS, as long as it happens before messages are posted to them. If you need the handler ready from the view's initialization, initialize them in the view'sinit()
function.
Receiving messages
// In your HTML component let client = ; let tasks; client;
// In your view's JS { component;}
Known limitation:
.post
cannot be called from your view'sinit()
function, since the HTML component has not been initialized yet.
Methods
postcmd: string, param1?: any, ..., paramN?: any : Promise<any>
postNonBlockingcmd: string, param1?: any, ..., paramN?: any : Promise<any>
oncmd: string,any
Developing
Running tests
We use Jest to test this library.
To run tests:
yarn test
Publishing a new version
yarn version # This sets the new version in package.json and creates a tag git push origin master --tags # CircleCI will take care of the rest