| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /**
- * Used to send a notification message to the host
- * @param {string} messageType
- * @param {object} data
- * @return {Promise} will resolve when the host has handled the message
- */
- function atomicHostEvent(messageType, data) {
- let queryMessage;
- // if we have a data element, then we need to structure the message so that the host understands it
- // by adding the message to the object and then stringify-ing the whole thing
- if (data) {
- // stringify and reparse since we need to modify the data, but don't want to modify the passed in object
- queryMessage = JSON.parse(JSON.stringify(data));
- queryMessage.message = messageType;
- } else {
- queryMessage = {
- message
- };
- }
- return new Promise((resolve, reject) => {
- window.atomicQuery({
- request: JSON.stringify(queryMessage),
- persistent: true,
- onSuccess: (result) => resolve(),
- onFailure: (error_code, error_message) => {
- console.log(error_code);
- console.log(error_message);
- reject({ error_code, error_message });
- }
- });
- });
- }
- /**
- * Used to send a request to the server. The server will send back the results in the promise
- * @param {string} messageType
- * @param {object} data
- * @return {Promise}
- */
- function atomicHostRequest(messageType, data) {
- let queryMessage;
- // if we have a data element, then we need to structure the message so that the host understands it
- // by adding the message to the object and then stringify-ing the whole thing
- if (data) {
- // stringify and reparse since we need to modify the data, but don't want to modify the passed in object
- queryMessage = JSON.parse(JSON.stringify(data));
- queryMessage.message = messageType;
- } else {
- queryMessage = {
- message
- };
- }
- return new Promise((resolve, reject) => {
- window.atomicQuery({
- request: JSON.stringify(queryMessage),
- persistent: false,
- onSuccess: (s) => {
- // unwrap the message that was returned
- let o = JSON.parse(s);
- resolve(o);
- },
- onFailure: (error_code, error_message) => reject({ error_code, error_message })
- });
- });
- }
|