copper-sdk 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ ## 0.7.0
2
+
3
+ * Bump all dependencies as far as they can go on Node 10
package/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  Copper App SDK
2
2
  ====================
3
3
 
4
- [![Travis branch](https://img.shields.io/travis/ProsperWorks/copper-sdk/master.svg?style=flat-square)](https://travis-ci.org/ProsperWorks/copper-sdk)
5
4
  [![npm](https://img.shields.io/npm/v/copper-sdk.svg?style=flat-square)](https://www.npmjs.com/package/copper-sdk)
6
- [![Test Coverage](https://api.codeclimate.com/v1/badges/d8ef6bf3d4669616c465/test_coverage)](https://codeclimate.com/github/ProsperWorks/copper-sdk/test_coverage)
7
- [![Maintainability](https://api.codeclimate.com/v1/badges/d8ef6bf3d4669616c465/maintainability)](https://codeclimate.com/github/ProsperWorks/copper-sdk/maintainability)
5
+
8
6
 
9
7
  The javascript SDK provides client-side functionalities for adding embedded app to the Copper web client.
10
8
 
@@ -51,6 +49,9 @@ https://docs.copper.com/copper-sdk
51
49
 
52
50
  ## Development
53
51
  ### Prerequisites
52
+
53
+ We recommend Node 10 or newer.
54
+
54
55
  Confirm all packages have been installed before development. Yarn will be used for this particular project.
55
56
 
56
57
  ```bash
@@ -60,8 +61,10 @@ yarn
60
61
  ### Developing SDK
61
62
  ```bash
62
63
  ## watch changes
64
+ yarn dev
65
+
66
+ ## or run separately
63
67
  yarn dev:es
64
- # or
65
68
  yarn dev:commonjs
66
69
 
67
70
  ## build
@@ -2,21 +2,21 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
3
  typeof define === 'function' && define.amd ? define(factory) :
4
4
  (global = global || self, global.Copper = factory());
5
- }(this, function () { 'use strict';
5
+ }(this, (function () { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation. All rights reserved.
9
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
10
- this file except in compliance with the License. You may obtain a copy of the
11
- License at http://www.apache.org/licenses/LICENSE-2.0
8
+ Copyright (c) Microsoft Corporation.
12
9
 
13
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
15
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
16
- MERCHANTABLITY OR NON-INFRINGEMENT.
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
17
12
 
18
- See the Apache Version 2.0 License for specific language governing permissions
19
- and limitations under the License.
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
21
 
22
22
  var __assign = function() {
@@ -31,10 +31,11 @@
31
31
  };
32
32
 
33
33
  function __awaiter(thisArg, _arguments, P, generator) {
34
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
35
  return new (P || (P = Promise))(function (resolve, reject) {
35
36
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
37
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
38
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
39
  step((generator = generator.apply(thisArg, _arguments || [])).next());
39
40
  });
40
41
  }
@@ -67,7 +68,7 @@
67
68
  }
68
69
  }
69
70
 
70
- var version = "0.6.3";
71
+ var version = "0.7.0";
71
72
 
72
73
  var ENTITY_PATH_MAP = {
73
74
  lead: 'leads',
@@ -168,7 +169,7 @@
168
169
  get: function () {
169
170
  return this._promise;
170
171
  },
171
- enumerable: true,
172
+ enumerable: false,
172
173
  configurable: true
173
174
  });
174
175
  return Deferred;
@@ -339,14 +340,14 @@
339
340
  get: function () {
340
341
  return version;
341
342
  },
342
- enumerable: true,
343
+ enumerable: false,
343
344
  configurable: true
344
345
  });
345
346
  Object.defineProperty(Copper.prototype, "win", {
346
347
  get: function () {
347
348
  return this._win;
348
349
  },
349
- enumerable: true,
350
+ enumerable: false,
350
351
  configurable: true
351
352
  });
352
353
  Copper.prototype.getContext = function () {
@@ -565,7 +566,7 @@
565
566
  };
566
567
  Copper.prototype._postMessage = function (type, message) {
567
568
  if (message === void 0) { message = {}; }
568
- this.win.top.postMessage(__assign({}, message, {
569
+ this.win.top.postMessage(__assign(__assign({}, message), {
569
570
  // as a credential to the parent frame, so parent frame can recoganize the origin
570
571
  instanceId: this.instanceId,
571
572
  // tell parent frame current sdk version
@@ -644,14 +645,14 @@
644
645
  executor();
645
646
  return deferred.promise;
646
647
  };
647
- Copper.prototype._deferredPost = function (name$$1, data) {
648
+ Copper.prototype._deferredPost = function (name, data) {
648
649
  var _this = this;
649
- return this._createDeferredMethod(name$$1, function () {
650
+ return this._createDeferredMethod(name, function () {
650
651
  if (data) {
651
- _this._postMessage(name$$1, data);
652
+ _this._postMessage(name, data);
652
653
  }
653
654
  else {
654
- _this._postMessage(name$$1);
655
+ _this._postMessage(name);
655
656
  }
656
657
  });
657
658
  };
@@ -667,4 +668,4 @@
667
668
 
668
669
  return Copper;
669
670
 
670
- }));
671
+ })));
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Copper=e()}(this,function(){"use strict";var n=function(){return(n=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(o,s,a,u){return new(a||(a=Promise))(function(t,e){function n(t){try{r(u.next(t))}catch(t){e(t)}}function i(t){try{r(u.throw(t))}catch(t){e(t)}}function r(e){e.done?t(e.value):new a(function(t){t(e.value)}).then(n,i)}r((u=u.apply(o,s||[])).next())})}function f(n,i){var r,o,s,t,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return t={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(e){return function(t){return function(e){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,o&&(s=2&e[0]?o.return:e[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,e[1])).done)return s;switch(o=0,s&&(e=[2&e[0],s.value]),e[0]){case 0:case 1:s=e;break;case 4:return a.label++,{value:e[1],done:!1};case 5:a.label++,o=e[1],e=[0];continue;case 7:e=a.ops.pop(),a.trys.pop();continue;default:if(!(s=0<(s=a.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){a=0;continue}if(3===e[0]&&(!s||s[0]<e[1]&&e[1]<s[3])){a.label=e[1];break}if(6===e[0]&&a.label<s[1]){a.label=s[1],s=e;break}if(s&&a.label<s[2]){a.label=s[2],a.ops.push(e);break}s[2]&&a.ops.pop(),a.trys.pop();continue}e=i.call(n,a)}catch(t){e=[6,t],o=0}finally{r=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}var h,t,r="0.6.3",l={lead:"leads",person:"people",company:"companies",opportunity:"opportunities",task:"tasks",project:"projects"};(t=h||(h={})).ActivityLog="ActivityLog",t.ListView="ListView",t.Related="Related";var o=function(){function t(){var n=this;this.resolve=function(t){n._resolve(t)},this.reject=function(t){n._reject(t)},this._promise=new Promise(function(t,e){n._resolve=t,n._reject=e})}return Object.defineProperty(t.prototype,"promise",{get:function(){return this._promise},enumerable:!0,configurable:!0}),t}();function s(t,e){void 0===e&&(e=""),e||(e=window.location.href),t=t.replace(/[[]]/g,"\\$&");var n=RegExp("[?&]"+t+"(=([^&#]*)|&|#|$)").exec(e);return n&&n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):""}function a(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];console.log.apply(console,t)}function u(t,e){t[e]||(t[e]=[])}function y(t,e){void 0===e&&(e=1e3),setTimeout(function(){t()},e)}var c=function(){function t(t,e,n,i){void 0===n&&(n=[]);var r=this._getEntityDataDefinition(e,n);r.type={enumerable:!1,writable:!1,value:t},r._onSave={enumerable:!1,value:i},Object.defineProperties(this,r)}return t.prototype.save=function(){return e(this,void 0,void 0,function(){return f(this,function(t){switch(t.label){case 0:return this._onSave?[4,this._onSave(this)]:[3,2];case 1:return[2,t.sent()];case 2:return[2,null]}})})},t.prototype.toJSON=function(){return JSON.stringify(this.toObject())},t.prototype.toObject=function(){var e=this,n={};return Object.keys(this).forEach(function(t){n[t]=e[t]}),n},t.prototype._getEntityDataDefinition=function(e,n){void 0===n&&(n=[]);var i={};return Object.keys(e).forEach(function(t){i[t]=-1==n.indexOf(t)?{get:function(){return e[t]},set:function(){a("property "+t+" is read only")},enumerable:!0}:{value:e[t],writable:!0,enumerable:!0}}),i},t}();return function(){function i(t,e,n,i){if(void 0===i&&(i=window),this.parentOrigin=t,this.instanceId=e,this.options=n,this._win=i,this.deferredQueues={},this.events={},!this.parentOrigin||!this.instanceId)throw new TypeError("parentOrigin or instanceId is empty");this._listenMessage(),this._subscribeContextUpdated(),this._postMessage("init")}return i.init=function(){var t=s("origin"),e=s("instanceId"),n={isGlobal:"1"===s("isGlobal")};if(!("undefined"==typeof window?(a("Copper can only run in browser environment"),0):(window.top===window&&a("Copper should be inside an iframe, otherwise it might not work as expected."),1)))throw Error("Environment checking does not pass.");return new i(t,e,n)},Object.defineProperty(i,"version",{get:function(){return r},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"win",{get:function(){return this._win},enumerable:!0,configurable:!0}),i.prototype.getContext=function(){return e(this,void 0,void 0,function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,this._deferredPost("getContext")];case 1:return e=t.sent(),[2,this._createContextModel(e)]}})})},i.prototype.getUserInfo=function(){return e(this,void 0,void 0,function(){return f(this,function(t){return[2,this._deferredPost("getUserInfo")]})})},i.prototype.getRouteInfo=function(){return e(this,void 0,void 0,function(){return f(this,function(t){return[2,this._deferredPost("getRouteInfo")]})})},i.prototype.saveContext=function(n){return e(this,void 0,void 0,function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,this._deferredPost("saveContext",{data:{entityType:n.type,entityData:n.toObject()}})];case 1:return e=t.sent(),[2,this._createContextModel(e)]}})})},i.prototype.setAppUI=function(t){this._postMessage("setUI",{data:t})},i.prototype.showModal=function(t){void 0===t&&(t={}),this._postMessage("showModal",{params:t})},i.prototype.closeModal=function(){this._postMessage("closeModal")},i.prototype.publishMessage=function(t,e,n){void 0===n&&(n={}),this._postMessage("publishMessage",{target:e,data:{type:t,msg:n}})},i.prototype.logActivity=function(s,a,u,c){return void 0===c&&(c=0),e(this,void 0,void 0,function(){var o;return f(this,function(t){switch(t.label){case 0:return[4,this._getCachedContext()];case 1:return o=t.sent(),r={parent:{type:(e=o).type,id:e.id},type:{category:"user",id:(n={activityType:s,details:a,activityDate:u}).activityType},details:n.details},(i=n.activityDate)&&(r.activity_date=i),[2,this._action({url:"/v1/activities",method:"POST",data:r,target:{name:h.ActivityLog}},c)]}var e,n,i,r})})},i.prototype.createEntity=function(c,p,d){return void 0===d&&(d=0),e(this,void 0,void 0,function(){var r,o,s,a,u=this;return f(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this._getCachedContext()];case 1:return r=t.sent(),[3,3];case 2:return t.sent(),r={},[3,3];case 3:return s=(o={url:"/v1/"+l[n=(e={entityType:c,data:p}).entityType],method:"POST",data:i=e.data,target:n===r.type?{name:h.ListView,data:{entityType:n,entityData:i}}:null}).target,[4,this.api(o.url,{method:o.method,body:JSON.stringify(o.data)})];case 4:return a=t.sent(),s&&s.data&&(s.data.entityData=a,y(function(){u.refreshUI(s)},d)),[2,a]}var e,n,i})})},i.prototype.relateEntity=function(a,u,c,p){return void 0===p&&(p=0),e(this,void 0,void 0,function(){var s;return f(this,function(t){switch(t.label){case 0:return[4,this._getCachedContext()];case 1:return s=t.sent(),e=s,[2,this._action({url:"/v1/"+l[i=(n={entityType:a,entityId:parseInt(u,10),data:c}).entityType]+"/"+(r=n.entityId)+"/related",method:"POST",data:{resource:o=n.data},target:i===e.type&&r===e.id?{name:h.Related,data:o}:null},p)]}var e,n,i,r,o})})},i.prototype.refreshUI=function(t){this._postMessage("refreshUI",{target:t})},i.prototype.on=function(t,e){u(this.events,t),this.events[t].push(e)},i.prototype.trigger=function(t,e){var n=this;this.events[t]&&this.events[t].forEach(function(t){t.call(n,e)})},i.prototype.api=function(t,e){if(!t)return Promise.reject({id:"sdk-api",version:i.version,detail:"url cannot be empty"});if(e&&e.body)try{JSON.parse(e.body)}catch(t){return Promise.reject({id:"sdk-api",version:i.version,detail:"body must be a valid JSON string"})}return this._deferredPost("api",{url:t,options:e})},i.prototype.navigateToEntityDetail=function(t,e){return this._deferredPost("navigateToEntityDetail",{entityType:t,entityId:e})},i.prototype.getSelectedRecords=function(t){var e=void 0===t?{}:t,n=e.pageSize,i=e.pageNumber;return this._deferredPost("getSelectedRecords",{pageSize:void 0===n?100:n,pageNumber:void 0===i?0:i})},i.prototype.getConfig=function(){return this._deferredPost("getConfig")},i.prototype._getCachedContext=function(){return e(this,void 0,void 0,function(){return f(this,function(t){switch(t.label){case 0:return this._context?[2,this._context]:[4,this.getContext()];case 1:return[2,t.sent().context]}})})},i.prototype._postMessage=function(t,e){void 0===e&&(e={}),this.win.top.postMessage(n({},e,{instanceId:this.instanceId,version:r,type:t}),this.parentOrigin)},i.prototype._listenMessage=function(){var e=this;this.win.addEventListener("message",function(t){e._isOriginValid(t)&&(e._resolveDeferred(t.data.type,t.data),t.data.type&&e.trigger(t.data.type,t.data.msg||t.data.data))},!1)},i.prototype._isOriginValid=function(t){return t.origin===this.parentOrigin},i.prototype._enqueueDeferred=function(t,e){u(this.deferredQueues,t),this.deferredQueues[t].push(e)},i.prototype._resolveDeferred=function(t,e){if(this.deferredQueues[t]){var n=this.deferredQueues[t].shift();if(n){if(e.error)return n.reject(e.error);n.resolve(e.data)}}},i.prototype._createContextModel=function(t){var e=t.entityType,n=new c(e,t.entityData,t.editableFields,this.saveContext.bind(this));return{type:e,context:this._context=n}},i.prototype._action=function(t,i){var r=t.url,o=t.method,s=t.data,a=t.target;return e(this,void 0,void 0,function(){var e,n=this;return f(this,function(t){switch(t.label){case 0:return[4,this.api(r,{method:o,body:JSON.stringify(s)})];case 1:return e=t.sent(),a&&y(function(){n.refreshUI(a)},i),[2,e]}})})},i.prototype._createDeferredMethod=function(t,e){var n=new o;return this._enqueueDeferred(t,n),e(),n.promise},i.prototype._deferredPost=function(t,e){var n=this;return this._createDeferredMethod(t,function(){e?n._postMessage(t,e):n._postMessage(t)})},i.prototype._subscribeContextUpdated=function(){var t=this;this.on("contextUpdated",function(){t._context=null})},i}()});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Copper=e()}(this,function(){"use strict";var n=function(){return(n=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(t,s,a,u){return new(a=a||Promise)(function(n,e){function i(t){try{o(u.next(t))}catch(t){e(t)}}function r(t){try{o(u.throw(t))}catch(t){e(t)}}function o(t){var e;t.done?n(t.value):((e=t.value)instanceof a?e:new a(function(t){t(e)})).then(i,r)}o((u=u.apply(t,s||[])).next())})}function d(i,r){var o,s,a,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(n){return function(t){var e=[n,t];if(o)throw new TypeError("Generator is already executing.");for(;u;)try{if(o=1,s&&(a=2&e[0]?s.return:e[0]?s.throw||((a=s.return)&&a.call(s),0):s.next)&&!(a=a.call(s,e[1])).done)return a;switch(s=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return u.label++,{value:e[1],done:!1};case 5:u.label++,s=e[1],e=[0];continue;case 7:e=u.ops.pop(),u.trys.pop();continue;default:if(!(a=0<(a=u.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){u=0;continue}if(3===e[0]&&(!a||a[0]<e[1]&&e[1]<a[3]))u.label=e[1];else if(6===e[0]&&u.label<a[1])u.label=a[1],a=e;else{if(!a||a[2]<=u.label){a[2]&&u.ops.pop(),u.trys.pop();continue}u.label=a[2],u.ops.push(e)}}e=r.call(i,u)}catch(t){e=[6,t],s=0}finally{o=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}}var f,t,i="0.7.0",h={lead:"leads",person:"people",company:"companies",opportunity:"opportunities",task:"tasks",project:"projects"};(t=f=f||{}).ActivityLog="ActivityLog",t.ListView="ListView";Object.defineProperty(o.prototype,"promise",{get:function(){return this._promise},enumerable:!(t.Related="Related"),configurable:!0});var r=o;function o(){var n=this;this.resolve=function(t){n._resolve(t)},this.reject=function(t){n._reject(t)},this._promise=new Promise(function(t,e){n._resolve=t,n._reject=e})}function s(t,e){e=(e=void 0===e?"":e)||window.location.href,t=t.replace(/[[]]/g,"\\$&");t=RegExp("[?&]"+t+"(=([^&#]*)|&|#|$)").exec(e);return t&&t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):""}function a(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];console.log.apply(console,t)}function u(t,e){t[e]||(t[e]=[])}function l(t,e){setTimeout(function(){t()},e=void 0===e?1e3:e)}p.prototype.save=function(){return e(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return this._onSave?[4,this._onSave(this)]:[3,2];case 1:return[2,t.sent()];case 2:return[2,null]}})})},p.prototype.toJSON=function(){return JSON.stringify(this.toObject())},p.prototype.toObject=function(){var e=this,n={};return Object.keys(this).forEach(function(t){n[t]=e[t]}),n},p.prototype._getEntityDataDefinition=function(e,n){void 0===n&&(n=[]);var i={};return Object.keys(e).forEach(function(t){~n.indexOf(t)?i[t]={value:e[t],writable:!0,enumerable:!0}:i[t]={get:function(){return e[t]},set:function(){a("property "+t+" is read only")},enumerable:!0}}),i};var c=p;function p(t,e,n,i){e=this._getEntityDataDefinition(e,n=void 0===n?[]:n);e.type={enumerable:!1,writable:!1,value:t},e._onSave={enumerable:!1,value:i},Object.defineProperties(this,e)}function y(t,e,n,i){if(void 0===i&&(i=window),this.parentOrigin=t,this.instanceId=e,this.options=n,this._win=i,this.deferredQueues={},this.events={},!this.parentOrigin||!this.instanceId)throw new TypeError("parentOrigin or instanceId is empty");this._listenMessage(),this._subscribeContextUpdated(),this._postMessage("init")}return y.init=function(){var t=s("origin"),e=s("instanceId"),n={isGlobal:"1"===s("isGlobal")};if(function(){if("undefined"!=typeof window)return window.top===window&&a("Copper should be inside an iframe, otherwise it might not work as expected."),1;a("Copper can only run in browser environment")}())return new y(t,e,n);throw Error("Environment checking does not pass.")},Object.defineProperty(y,"version",{get:function(){return i},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"win",{get:function(){return this._win},enumerable:!1,configurable:!0}),y.prototype.getContext=function(){return e(this,void 0,void 0,function(){var e;return d(this,function(t){switch(t.label){case 0:return[4,this._deferredPost("getContext")];case 1:return e=t.sent(),[2,this._createContextModel(e)]}})})},y.prototype.getUserInfo=function(){return e(this,void 0,void 0,function(){return d(this,function(t){return[2,this._deferredPost("getUserInfo")]})})},y.prototype.getRouteInfo=function(){return e(this,void 0,void 0,function(){return d(this,function(t){return[2,this._deferredPost("getRouteInfo")]})})},y.prototype.saveContext=function(n){return e(this,void 0,void 0,function(){var e;return d(this,function(t){switch(t.label){case 0:return[4,this._deferredPost("saveContext",{data:{entityType:n.type,entityData:n.toObject()}})];case 1:return e=t.sent(),[2,this._createContextModel(e)]}})})},y.prototype.setAppUI=function(t){this._postMessage("setUI",{data:t})},y.prototype.showModal=function(t){this._postMessage("showModal",{params:t=void 0===t?{}:t})},y.prototype.closeModal=function(){this._postMessage("closeModal")},y.prototype.publishMessage=function(t,e,n){this._postMessage("publishMessage",{target:e,data:{type:t,msg:n=void 0===n?{}:n}})},y.prototype.logActivity=function(r,o,s,a){return void 0===a&&(a=0),e(this,void 0,void 0,function(){var i;return d(this,function(t){switch(t.label){case 0:return[4,this._getCachedContext()];case 1:return i=t.sent(),e={parent:{type:(e=i).type,id:e.id},type:{category:"user",id:(n={activityType:r,details:o,activityDate:s}).activityType},details:n.details},(n=n.activityDate)&&(e.activity_date=n),i={url:"/v1/activities",method:"POST",data:e,target:{name:f.ActivityLog}},[2,this._action(i,a)]}var e,n})})},y.prototype.createEntity=function(u,c,p){return void 0===p&&(p=0),e(this,void 0,void 0,function(){var r,o,s,a=this;return d(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this._getCachedContext()];case 1:return r=t.sent(),[3,3];case 2:return t.sent(),r={},[3,3];case 3:return e=r,i=(n={entityType:u,data:c}).entityType,n=n.data,o=(s={url:"/v1/"+h[i],method:"POST",data:n,target:i===e.type?{name:f.ListView,data:{entityType:i,entityData:n}}:null}).target,[4,this.api(s.url,{method:s.method,body:JSON.stringify(s.data)})];case 4:return s=t.sent(),o&&o.data&&(o.data.entityData=s,l(function(){a.refreshUI(o)},p)),[2,s]}var e,n,i})})},y.prototype.relateEntity=function(o,s,a,u){return void 0===u&&(u=0),e(this,void 0,void 0,function(){var r;return d(this,function(t){switch(t.label){case 0:return[4,this._getCachedContext()];case 1:return r=t.sent(),r={url:"/v1/"+h[n=(e={entityType:o,entityId:parseInt(s,10),data:a}).entityType]+"/"+(i=e.entityId)+"/related",method:"POST",data:{resource:e=e.data},target:n===(n=r).type&&i===n.id?{name:f.Related,data:e}:null},[2,this._action(r,u)]}var e,n,i})})},y.prototype.refreshUI=function(t){this._postMessage("refreshUI",{target:t})},y.prototype.on=function(t,e){u(this.events,t),this.events[t].push(e)},y.prototype.trigger=function(t,e){var n=this;this.events[t]&&this.events[t].forEach(function(t){t.call(n,e)})},y.prototype.api=function(t,e){if(!t)return Promise.reject({id:"sdk-api",version:y.version,detail:"url cannot be empty"});if(e&&e.body)try{JSON.parse(e.body)}catch(t){return Promise.reject({id:"sdk-api",version:y.version,detail:"body must be a valid JSON string"})}return this._deferredPost("api",{url:t,options:e})},y.prototype.navigateToEntityDetail=function(t,e){return this._deferredPost("navigateToEntityDetail",{entityType:t,entityId:e})},y.prototype.getSelectedRecords=function(t){var t=void 0===t?{}:t,e=t.pageSize,t=t.pageNumber;return this._deferredPost("getSelectedRecords",{pageSize:void 0===e?100:e,pageNumber:void 0===t?0:t})},y.prototype.getConfig=function(){return this._deferredPost("getConfig")},y.prototype._getCachedContext=function(){return e(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return this._context?[2,this._context]:[4,this.getContext()];case 1:return[2,t.sent().context]}})})},y.prototype._postMessage=function(t,e){this.win.top.postMessage(n(n({},e=void 0===e?{}:e),{instanceId:this.instanceId,version:i,type:t}),this.parentOrigin)},y.prototype._listenMessage=function(){var e=this;this.win.addEventListener("message",function(t){e._isOriginValid(t)&&(e._resolveDeferred(t.data.type,t.data),t.data.type)&&e.trigger(t.data.type,t.data.msg||t.data.data)},!1)},y.prototype._isOriginValid=function(t){return t.origin===this.parentOrigin},y.prototype._enqueueDeferred=function(t,e){u(this.deferredQueues,t),this.deferredQueues[t].push(e)},y.prototype._resolveDeferred=function(t,e){if(this.deferredQueues[t]){t=this.deferredQueues[t].shift();if(t){if(e.error)return t.reject(e.error);t.resolve(e.data)}}},y.prototype._createContextModel=function(t){var e=t.entityType,t=new c(e,t.entityData,t.editableFields,this.saveContext.bind(this));return{type:e,context:this._context=t}},y.prototype._action=function(t,i){var r=t.url,o=t.method,s=t.data,a=t.target;return e(this,void 0,void 0,function(){var e,n=this;return d(this,function(t){switch(t.label){case 0:return[4,this.api(r,{method:o,body:JSON.stringify(s)})];case 1:return e=t.sent(),a&&l(function(){n.refreshUI(a)},i),[2,e]}})})},y.prototype._createDeferredMethod=function(t,e){var n=new r;return this._enqueueDeferred(t,n),e(),n.promise},y.prototype._deferredPost=function(t,e){var n=this;return this._createDeferredMethod(t,function(){e?n._postMessage(t,e):n._postMessage(t)})},y.prototype._subscribeContextUpdated=function(){this.on("contextUpdated",function(){0})},y});
package/dist/defer.d.ts CHANGED
@@ -3,7 +3,7 @@ export default class Deferred<T> {
3
3
  private _resolve;
4
4
  private _reject;
5
5
  constructor();
6
- readonly promise: Promise<T>;
6
+ get promise(): Promise<T>;
7
7
  resolve: (value?: T | PromiseLike<T> | undefined) => void;
8
8
  reject: (reason?: any) => void;
9
9
  }
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export default class Copper {
7
7
  private options;
8
8
  private _win;
9
9
  static init(): Copper;
10
- static readonly version: string;
10
+ static get version(): string;
11
11
  /**
12
12
  * store deferred queues by name
13
13
  */
@@ -23,7 +23,7 @@ export default class Copper {
23
23
  * @memberof Copper
24
24
  */
25
25
  constructor(parentOrigin: string, instanceId: string, options: ISdkInitOptions, _win?: any);
26
- readonly win: Window;
26
+ get win(): Window;
27
27
  getContext(): Promise<IContextData>;
28
28
  getUserInfo(): Promise<any>;
29
29
  getRouteInfo(): Promise<any>;
package/es/copper-sdk.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /*! *****************************************************************************
2
- Copyright (c) Microsoft Corporation. All rights reserved.
3
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
- this file except in compliance with the License. You may obtain a copy of the
5
- License at http://www.apache.org/licenses/LICENSE-2.0
2
+ Copyright (c) Microsoft Corporation.
6
3
 
7
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
- MERCHANTABLITY OR NON-INFRINGEMENT.
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
11
6
 
12
- See the Apache Version 2.0 License for specific language governing permissions
13
- and limitations under the License.
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
 
16
16
  var __assign = function() {
@@ -25,10 +25,11 @@ var __assign = function() {
25
25
  };
26
26
 
27
27
  function __awaiter(thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
29
  return new (P || (P = Promise))(function (resolve, reject) {
29
30
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
31
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
33
  step((generator = generator.apply(thisArg, _arguments || [])).next());
33
34
  });
34
35
  }
@@ -61,7 +62,7 @@ function __generator(thisArg, body) {
61
62
  }
62
63
  }
63
64
 
64
- var version = "0.6.3";
65
+ var version = "0.7.0";
65
66
 
66
67
  var ENTITY_PATH_MAP = {
67
68
  lead: 'leads',
@@ -162,7 +163,7 @@ var Deferred = /** @class */ (function () {
162
163
  get: function () {
163
164
  return this._promise;
164
165
  },
165
- enumerable: true,
166
+ enumerable: false,
166
167
  configurable: true
167
168
  });
168
169
  return Deferred;
@@ -333,14 +334,14 @@ var Copper = /** @class */ (function () {
333
334
  get: function () {
334
335
  return version;
335
336
  },
336
- enumerable: true,
337
+ enumerable: false,
337
338
  configurable: true
338
339
  });
339
340
  Object.defineProperty(Copper.prototype, "win", {
340
341
  get: function () {
341
342
  return this._win;
342
343
  },
343
- enumerable: true,
344
+ enumerable: false,
344
345
  configurable: true
345
346
  });
346
347
  Copper.prototype.getContext = function () {
@@ -559,7 +560,7 @@ var Copper = /** @class */ (function () {
559
560
  };
560
561
  Copper.prototype._postMessage = function (type, message) {
561
562
  if (message === void 0) { message = {}; }
562
- this.win.top.postMessage(__assign({}, message, {
563
+ this.win.top.postMessage(__assign(__assign({}, message), {
563
564
  // as a credential to the parent frame, so parent frame can recoganize the origin
564
565
  instanceId: this.instanceId,
565
566
  // tell parent frame current sdk version
@@ -638,14 +639,14 @@ var Copper = /** @class */ (function () {
638
639
  executor();
639
640
  return deferred.promise;
640
641
  };
641
- Copper.prototype._deferredPost = function (name$$1, data) {
642
+ Copper.prototype._deferredPost = function (name, data) {
642
643
  var _this = this;
643
- return this._createDeferredMethod(name$$1, function () {
644
+ return this._createDeferredMethod(name, function () {
644
645
  if (data) {
645
- _this._postMessage(name$$1, data);
646
+ _this._postMessage(name, data);
646
647
  }
647
648
  else {
648
- _this._postMessage(name$$1);
649
+ _this._postMessage(name);
649
650
  }
650
651
  });
651
652
  };
package/es/defer.d.ts CHANGED
@@ -3,7 +3,7 @@ export default class Deferred<T> {
3
3
  private _resolve;
4
4
  private _reject;
5
5
  constructor();
6
- readonly promise: Promise<T>;
6
+ get promise(): Promise<T>;
7
7
  resolve: (value?: T | PromiseLike<T> | undefined) => void;
8
8
  reject: (reason?: any) => void;
9
9
  }
package/es/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export default class Copper {
7
7
  private options;
8
8
  private _win;
9
9
  static init(): Copper;
10
- static readonly version: string;
10
+ static get version(): string;
11
11
  /**
12
12
  * store deferred queues by name
13
13
  */
@@ -23,7 +23,7 @@ export default class Copper {
23
23
  * @memberof Copper
24
24
  */
25
25
  constructor(parentOrigin: string, instanceId: string, options: ISdkInitOptions, _win?: any);
26
- readonly win: Window;
26
+ get win(): Window;
27
27
  getContext(): Promise<IContextData>;
28
28
  getUserInfo(): Promise<any>;
29
29
  getRouteInfo(): Promise<any>;
package/lib/copper-sdk.js CHANGED
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  /*! *****************************************************************************
4
- Copyright (c) Microsoft Corporation. All rights reserved.
5
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
6
- this file except in compliance with the License. You may obtain a copy of the
7
- License at http://www.apache.org/licenses/LICENSE-2.0
4
+ Copyright (c) Microsoft Corporation.
8
5
 
9
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
10
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
11
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
12
- MERCHANTABLITY OR NON-INFRINGEMENT.
6
+ Permission to use, copy, modify, and/or distribute this software for any
7
+ purpose with or without fee is hereby granted.
13
8
 
14
- See the Apache Version 2.0 License for specific language governing permissions
15
- and limitations under the License.
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
16
16
  ***************************************************************************** */
17
17
 
18
18
  var __assign = function() {
@@ -27,10 +27,11 @@ var __assign = function() {
27
27
  };
28
28
 
29
29
  function __awaiter(thisArg, _arguments, P, generator) {
30
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
31
  return new (P || (P = Promise))(function (resolve, reject) {
31
32
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
33
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
34
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
35
  step((generator = generator.apply(thisArg, _arguments || [])).next());
35
36
  });
36
37
  }
@@ -63,7 +64,7 @@ function __generator(thisArg, body) {
63
64
  }
64
65
  }
65
66
 
66
- var version = "0.6.3";
67
+ var version = "0.7.0";
67
68
 
68
69
  var ENTITY_PATH_MAP = {
69
70
  lead: 'leads',
@@ -164,7 +165,7 @@ var Deferred = /** @class */ (function () {
164
165
  get: function () {
165
166
  return this._promise;
166
167
  },
167
- enumerable: true,
168
+ enumerable: false,
168
169
  configurable: true
169
170
  });
170
171
  return Deferred;
@@ -335,14 +336,14 @@ var Copper = /** @class */ (function () {
335
336
  get: function () {
336
337
  return version;
337
338
  },
338
- enumerable: true,
339
+ enumerable: false,
339
340
  configurable: true
340
341
  });
341
342
  Object.defineProperty(Copper.prototype, "win", {
342
343
  get: function () {
343
344
  return this._win;
344
345
  },
345
- enumerable: true,
346
+ enumerable: false,
346
347
  configurable: true
347
348
  });
348
349
  Copper.prototype.getContext = function () {
@@ -561,7 +562,7 @@ var Copper = /** @class */ (function () {
561
562
  };
562
563
  Copper.prototype._postMessage = function (type, message) {
563
564
  if (message === void 0) { message = {}; }
564
- this.win.top.postMessage(__assign({}, message, {
565
+ this.win.top.postMessage(__assign(__assign({}, message), {
565
566
  // as a credential to the parent frame, so parent frame can recoganize the origin
566
567
  instanceId: this.instanceId,
567
568
  // tell parent frame current sdk version
@@ -640,14 +641,14 @@ var Copper = /** @class */ (function () {
640
641
  executor();
641
642
  return deferred.promise;
642
643
  };
643
- Copper.prototype._deferredPost = function (name$$1, data) {
644
+ Copper.prototype._deferredPost = function (name, data) {
644
645
  var _this = this;
645
- return this._createDeferredMethod(name$$1, function () {
646
+ return this._createDeferredMethod(name, function () {
646
647
  if (data) {
647
- _this._postMessage(name$$1, data);
648
+ _this._postMessage(name, data);
648
649
  }
649
650
  else {
650
- _this._postMessage(name$$1);
651
+ _this._postMessage(name);
651
652
  }
652
653
  });
653
654
  };
package/lib/defer.d.ts CHANGED
@@ -3,7 +3,7 @@ export default class Deferred<T> {
3
3
  private _resolve;
4
4
  private _reject;
5
5
  constructor();
6
- readonly promise: Promise<T>;
6
+ get promise(): Promise<T>;
7
7
  resolve: (value?: T | PromiseLike<T> | undefined) => void;
8
8
  reject: (reason?: any) => void;
9
9
  }
package/lib/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export default class Copper {
7
7
  private options;
8
8
  private _win;
9
9
  static init(): Copper;
10
- static readonly version: string;
10
+ static get version(): string;
11
11
  /**
12
12
  * store deferred queues by name
13
13
  */
@@ -23,7 +23,7 @@ export default class Copper {
23
23
  * @memberof Copper
24
24
  */
25
25
  constructor(parentOrigin: string, instanceId: string, options: ISdkInitOptions, _win?: any);
26
- readonly win: Window;
26
+ get win(): Window;
27
27
  getContext(): Promise<IContextData>;
28
28
  getUserInfo(): Promise<any>;
29
29
  getRouteInfo(): Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copper-sdk",
3
- "version": "0.6.3",
3
+ "version": "0.7.0",
4
4
  "description": "Copper App SDK",
5
5
  "main": "lib/copper-sdk.js",
6
6
  "module": "es/copper-sdk.js",
@@ -50,11 +50,11 @@
50
50
  "homepage": "https://github.com/ProsperWorks/copper-sdk#readme",
51
51
  "devDependencies": {
52
52
  "@types/chai": "^4.1.7",
53
- "@types/mocha": "^5.2.5",
53
+ "@types/mocha": "^8.2.2",
54
54
  "@types/sinon": "^7.0.3",
55
55
  "chai": "^4.1.2",
56
- "concurrently": "^4.1.0",
57
- "cross-env": "^5.1.3",
56
+ "concurrently": "^6.5.1",
57
+ "cross-env": "^7.0.3",
58
58
  "gitbook-cli": "^2.3.2",
59
59
  "gitbook-plugin-anker-enable": "0.0.4",
60
60
  "gitbook-plugin-edit-link": "^2.0.2",
@@ -64,23 +64,22 @@
64
64
  "gitbook-plugin-prism-ext": "^3.1.0",
65
65
  "karma": "^3.1.4",
66
66
  "karma-chai": "^0.1.0",
67
- "karma-chrome-launcher": "^2.2.0",
68
- "karma-coverage-istanbul-reporter": "^2.0.4",
69
- "karma-mocha": "^1.3.0",
67
+ "karma-chrome-launcher": "^3.2.0",
68
+ "karma-coverage-istanbul-reporter": "^3.0.3",
69
+ "karma-mocha": "^2.0.1",
70
70
  "karma-mocha-reporter": "^2.2.5",
71
- "karma-rollup-preprocessor": "^6.1.2",
71
+ "karma-rollup-preprocessor": "^7.0.8",
72
72
  "karma-sinon": "^1.0.5",
73
- "mocha": "^5.0.1",
74
- "rimraf": "^2.6.3",
75
- "rollup": "0.68.2",
76
- "rollup-plugin-istanbul": "^2.0.1",
77
- "rollup-plugin-json": "^3.1.0",
73
+ "mocha": "^8.4.0",
74
+ "rimraf": "^3.0.2",
75
+ "rollup": "^1.32.1",
76
+ "rollup-plugin-istanbul": "^3.0.0",
77
+ "rollup-plugin-json": "^4.0.0",
78
78
  "rollup-plugin-replace": "^2.0.0",
79
- "rollup-plugin-typescript2": "^0.19.0",
79
+ "rollup-plugin-typescript2": "^0.30.0",
80
80
  "rollup-plugin-uglify": "^6.0.1",
81
- "sinon": "^7.2.2",
81
+ "sinon": "^13.0.2",
82
82
  "tslint": "^5.12.1",
83
83
  "typescript": "^3.2.2"
84
- },
85
- "dependencies": {}
84
+ }
86
85
  }