@one-commerce/sdk-core 1.10.0 → 1.12.1-alpha.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/lib/cjs/index.js CHANGED
@@ -84,6 +84,10 @@ var Sdk = /*#__PURE__*/function (_Events) {
84
84
 
85
85
  _defineProperty(_assertThisInitialized(_this), "channel", void 0);
86
86
 
87
+ _defineProperty(_assertThisInitialized(_this), "autoheight", true);
88
+
89
+ _defineProperty(_assertThisInitialized(_this), "heightMutationObserver", null);
90
+
87
91
  _defineProperty(_assertThisInitialized(_this), "origin", void 0);
88
92
 
89
93
  _defineProperty(_assertThisInitialized(_this), "isInitialized", false);
@@ -130,8 +134,20 @@ var Sdk = /*#__PURE__*/function (_Events) {
130
134
  _this.emit(SdkInternalEvents.UPDATE, payload);
131
135
  });
132
136
 
137
+ _this.channel.subscribe(_sdkShared.Message.FRAME_HEIGHT_REQUEST, function (payload) {
138
+ if (_this.autoheight) {
139
+ Sdk.log('Request for iframe height');
140
+
141
+ _this.sendFrameHeight();
142
+ }
143
+ });
144
+
133
145
  _this.channel.connect().then(function () {
134
146
  Sdk.log('Connected with ONe SDK');
147
+
148
+ if (_this.autoheight) {
149
+ _this.initializeHeightObserver();
150
+ }
135
151
  });
136
152
 
137
153
  _this.setupOptions(options);
@@ -155,6 +171,40 @@ var Sdk = /*#__PURE__*/function (_Events) {
155
171
  });
156
172
  }
157
173
  }
174
+ }, {
175
+ key: "sendFrameHeight",
176
+ value: function sendFrameHeight() {
177
+ var body = document.body,
178
+ html = document.documentElement;
179
+ var height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
180
+ this.channel.postMessage(_sdkShared.Message.FRAME_HEIGHT_CHANGE, height);
181
+ }
182
+ }, {
183
+ key: "initializeHeightObserver",
184
+ value: function initializeHeightObserver() {
185
+ var _this3 = this;
186
+
187
+ if ("MutationObserver" in window) {
188
+ var onMutationObserved = function onMutationObserved() {
189
+ _this3.sendFrameHeight();
190
+ };
191
+
192
+ var target = document.querySelector('body'),
193
+ config = {
194
+ attributes: true,
195
+ attributeOldValue: false,
196
+ characterData: true,
197
+ characterDataOldValue: false,
198
+ childList: true,
199
+ subtree: true
200
+ };
201
+ this.heightMutationObserver = new MutationObserver(onMutationObserved);
202
+ Sdk.log('Create body MutationObserver');
203
+ this.heightMutationObserver.observe(target, config);
204
+ } else {
205
+ Sdk.warn('MutationObserver not available. Auto-height functionality disabled.');
206
+ }
207
+ }
158
208
  }, {
159
209
  key: "setupOptions",
160
210
  value: function setupOptions(options) {
@@ -162,12 +212,16 @@ var Sdk = /*#__PURE__*/function (_Events) {
162
212
  if (typeof options.debug !== 'undefined') {
163
213
  Sdk.debug = options.debug;
164
214
  }
215
+
216
+ if (typeof options.autoheight !== 'undefined') {
217
+ this.autoheight = options.autoheight;
218
+ }
165
219
  }
166
220
  }
167
221
  }, {
168
222
  key: "callFunction",
169
223
  value: function callFunction(service, fun) {
170
- var _this3 = this;
224
+ var _this4 = this;
171
225
 
172
226
  var callId = (0, _utils.generateCallId)();
173
227
 
@@ -186,13 +240,13 @@ var Sdk = /*#__PURE__*/function (_Events) {
186
240
  return new Promise(function (resolve) {
187
241
  var onChannelMessage = function onChannelMessage(response) {
188
242
  if (response.callId === callId) {
189
- _this3.channel.unsubscribe(_sdkShared.Message.METHOD_RESULT, onChannelMessage);
243
+ _this4.channel.unsubscribe(_sdkShared.Message.METHOD_RESULT, onChannelMessage);
190
244
 
191
245
  return resolve(response.result);
192
246
  }
193
247
  };
194
248
 
195
- _this3.channel.subscribe(_sdkShared.Message.METHOD_RESULT, onChannelMessage);
249
+ _this4.channel.subscribe(_sdkShared.Message.METHOD_RESULT, onChannelMessage);
196
250
  });
197
251
  }
198
252
 
@@ -239,7 +293,7 @@ var BackofficeSdk = /*#__PURE__*/function (_Sdk) {
239
293
  var _super2 = _createSuper(BackofficeSdk);
240
294
 
241
295
  function BackofficeSdk() {
242
- var _this4;
296
+ var _this5;
243
297
 
244
298
  _classCallCheck(this, BackofficeSdk);
245
299
 
@@ -247,20 +301,21 @@ var BackofficeSdk = /*#__PURE__*/function (_Sdk) {
247
301
  args[_key4] = arguments[_key4];
248
302
  }
249
303
 
250
- _this4 = _super2.call.apply(_super2, [this].concat(args));
304
+ _this5 = _super2.call.apply(_super2, [this].concat(args));
251
305
 
252
- _defineProperty(_assertThisInitialized(_this4), "instances", {
306
+ _defineProperty(_assertThisInitialized(_this5), "instances", {
253
307
  route: {
254
308
  hash: '',
255
309
  query: {}
256
310
  },
257
- orderpath: new _backofficeServices.BackofficeOrderpath(_this4.callFunction.bind(_assertThisInitialized(_this4))),
258
- catalog: new _backofficeServices.BackofficeCatalog(_this4.callFunction.bind(_assertThisInitialized(_this4))),
259
- user: new _backofficeServices.BackofficeUser(_this4.callFunction.bind(_assertThisInitialized(_this4))),
260
- layout: new _backofficeServices.BackofficeLayout(_this4.callFunction.bind(_assertThisInitialized(_this4)))
311
+ orderpath: new _backofficeServices.BackofficeOrderpath(_this5.callFunction.bind(_assertThisInitialized(_this5))),
312
+ catalog: new _backofficeServices.BackofficeCatalog(_this5.callFunction.bind(_assertThisInitialized(_this5))),
313
+ user: new _backofficeServices.BackofficeUser(_this5.callFunction.bind(_assertThisInitialized(_this5))),
314
+ tenant: new _backofficeServices.BackofficeTenant(_this5.callFunction.bind(_assertThisInitialized(_this5))),
315
+ layout: new _backofficeServices.BackofficeLayout(_this5.callFunction.bind(_assertThisInitialized(_this5)))
261
316
  });
262
317
 
263
- return _this4;
318
+ return _this5;
264
319
  }
265
320
 
266
321
  return _createClass(BackofficeSdk);
@@ -274,7 +329,7 @@ var ShopSdk = /*#__PURE__*/function (_Sdk2) {
274
329
  var _super3 = _createSuper(ShopSdk);
275
330
 
276
331
  function ShopSdk() {
277
- var _this5;
332
+ var _this6;
278
333
 
279
334
  _classCallCheck(this, ShopSdk);
280
335
 
@@ -282,21 +337,21 @@ var ShopSdk = /*#__PURE__*/function (_Sdk2) {
282
337
  args[_key5] = arguments[_key5];
283
338
  }
284
339
 
285
- _this5 = _super3.call.apply(_super3, [this].concat(args));
340
+ _this6 = _super3.call.apply(_super3, [this].concat(args));
286
341
 
287
- _defineProperty(_assertThisInitialized(_this5), "instances", {
342
+ _defineProperty(_assertThisInitialized(_this6), "instances", {
288
343
  route: {
289
344
  hash: '',
290
345
  query: {}
291
346
  },
292
- cart: new _shopServices.ShopCart(_this5.callFunction.bind(_assertThisInitialized(_this5))),
293
- catalog: new _shopServices.ShopCatalog(_this5.callFunction.bind(_assertThisInitialized(_this5))),
294
- account: new _shopServices.ShopAccount(_this5.callFunction.bind(_assertThisInitialized(_this5))),
295
- utils: new _shopServices.ShopUtils(_this5.callFunction.bind(_assertThisInitialized(_this5))),
296
- config: new _shopServices.ShopConfig(_this5.callFunction.bind(_assertThisInitialized(_this5)))
347
+ cart: new _shopServices.ShopCart(_this6.callFunction.bind(_assertThisInitialized(_this6))),
348
+ catalog: new _shopServices.ShopCatalog(_this6.callFunction.bind(_assertThisInitialized(_this6))),
349
+ account: new _shopServices.ShopAccount(_this6.callFunction.bind(_assertThisInitialized(_this6))),
350
+ utils: new _shopServices.ShopUtils(_this6.callFunction.bind(_assertThisInitialized(_this6))),
351
+ config: new _shopServices.ShopConfig(_this6.callFunction.bind(_assertThisInitialized(_this6)))
297
352
  });
298
353
 
299
- return _this5;
354
+ return _this6;
300
355
  }
301
356
 
302
357
  return _createClass(ShopSdk);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["SdkInternalEvents","SdkEvents","Sdk","options","initializeServiceGetters","origin","channel","Channel","targetOrigin","target","window","parent","subscribe","Message","INIT","payload","log","Object","entries","instances","forEach","key","value","BaseCallClass","update","attributesForKey","warn","emit","isInitialized","UPDATE","connect","then","setupOptions","keys","serviceName","defineProperty","get","debug","service","fun","callId","postMessage","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","orderpath","BackofficeOrderpath","callFunction","bind","catalog","BackofficeCatalog","user","BackofficeUser","layout","BackofficeLayout","ShopSdk","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","config","ShopConfig"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath, BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["SdkInternalEvents","SdkEvents","Sdk","options","initializeServiceGetters","origin","channel","Channel","targetOrigin","target","window","parent","subscribe","Message","INIT","payload","log","Object","entries","instances","forEach","key","value","BaseCallClass","update","attributesForKey","warn","emit","isInitialized","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","keys","serviceName","defineProperty","get","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","debug","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","orderpath","BackofficeOrderpath","callFunction","bind","catalog","BackofficeCatalog","user","BackofficeUser","tenant","BackofficeTenant","layout","BackofficeLayout","ShopSdk","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","ShopConfig"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
@@ -32,6 +32,20 @@ export class BackofficeUser extends BaseCallClass {
32
32
  _defineProperty(this, "authorities", void 0);
33
33
  }
34
34
 
35
+ }
36
+ export class BackofficeTenant extends BaseCallClass {
37
+ constructor(...args) {
38
+ super(...args);
39
+
40
+ _defineProperty(this, "serviceName", 'tenant');
41
+
42
+ _defineProperty(this, "tenantKey", void 0);
43
+
44
+ _defineProperty(this, "language", void 0);
45
+
46
+ _defineProperty(this, "currency", void 0);
47
+ }
48
+
35
49
  }
36
50
  export class BackofficeOrderpath extends BaseCallClass {
37
51
  constructor(...args) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/backofficeServices.ts"],"names":["BaseCallClass","BackofficeCatalog","fetchCategories","call","fetchProduct","id","BackofficeUser","BackofficeOrderpath","BackofficeLayout"],"mappings":";;AAEA,SAAQA,aAAR,QAA4B,SAA5B;AAEA,OAAO,MAAMC,iBAAN,SAAgCD,aAAhC,CAA4E;AAAA;AAAA;;AAAA,yCACnE,SADmE;AAAA;;AAGjFE,EAAAA,eAAe,GAA4B;AACzC,WAAO,KAAKC,IAAL,CAAU,iBAAV,CAAP;AACD;;AACMC,EAAAA,YAAY,CAACC,EAAD,EAA+B;AAChD,WAAO,KAAKF,IAAL,CAAU,cAAV,EAA0BE,EAA1B,CAAP;AACD;;AARgF;AAWnF,OAAO,MAAMC,cAAN,SAA6BN,aAA7B,CAAsE;AAAA;AAAA;;AAAA,yCAC7D,MAD6D;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAQ7E,OAAO,MAAMO,mBAAN,SAAkCP,aAAlC,CAAgF;AAAA;AAAA;;AAAA,yCACvE,WADuE;AAAA;;AAAA;AAIvF,OAAO,MAAMQ,gBAAN,SAA+BR,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;AAAA;;AAAA","sourcesContent":["import {Backoffice} from \"@one-commerce/sdk-shared\";\n\nimport {BaseCallClass} from \"./utils\";\n\nexport class BackofficeCatalog extends BaseCallClass implements Backoffice.Catalog {\n serviceName = 'catalog'\n\n fetchCategories(): Promise<Array<unknown>> {\n return this.call('fetchCategories')\n }\n public fetchProduct(id: string): Promise<unknown> {\n return this.call('fetchProduct', id)\n }\n}\n\nexport class BackofficeUser extends BaseCallClass implements Backoffice.User {\n serviceName = 'user'\n email?: string;\n id!: string;\n name?: string;\n authorities!: Array<string>;\n}\n\nexport class BackofficeOrderpath extends BaseCallClass implements Backoffice.Orderpath {\n serviceName = 'orderpath'\n}\n\nexport class BackofficeLayout extends BaseCallClass implements Backoffice.Layout {\n serviceName = 'layout'\n isAsideOpened!: boolean;\n}\n"],"file":"backofficeServices.js"}
1
+ {"version":3,"sources":["../../src/backofficeServices.ts"],"names":["BaseCallClass","BackofficeCatalog","fetchCategories","call","fetchProduct","id","BackofficeUser","BackofficeTenant","BackofficeOrderpath","BackofficeLayout"],"mappings":";;AAEA,SAAQA,aAAR,QAA4B,SAA5B;AAEA,OAAO,MAAMC,iBAAN,SAAgCD,aAAhC,CAA4E;AAAA;AAAA;;AAAA,yCACnE,SADmE;AAAA;;AAGjFE,EAAAA,eAAe,GAA4B;AACzC,WAAO,KAAKC,IAAL,CAAU,iBAAV,CAAP;AACD;;AACMC,EAAAA,YAAY,CAACC,EAAD,EAA+B;AAChD,WAAO,KAAKF,IAAL,CAAU,cAAV,EAA0BE,EAA1B,CAAP;AACD;;AARgF;AAWnF,OAAO,MAAMC,cAAN,SAA6BN,aAA7B,CAAsE;AAAA;AAAA;;AAAA,yCAC7D,MAD6D;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAQ7E,OAAO,MAAMO,gBAAN,SAA+BP,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAOjF,OAAO,MAAMQ,mBAAN,SAAkCR,aAAlC,CAAgF;AAAA;AAAA;;AAAA,yCACvE,WADuE;AAAA;;AAAA;AAIvF,OAAO,MAAMS,gBAAN,SAA+BT,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;AAAA;;AAAA","sourcesContent":["import {Backoffice} from \"@one-commerce/sdk-shared\";\n\nimport {BaseCallClass} from \"./utils\";\n\nexport class BackofficeCatalog extends BaseCallClass implements Backoffice.Catalog {\n serviceName = 'catalog'\n\n fetchCategories(): Promise<Array<unknown>> {\n return this.call('fetchCategories')\n }\n public fetchProduct(id: string): Promise<unknown> {\n return this.call('fetchProduct', id)\n }\n}\n\nexport class BackofficeUser extends BaseCallClass implements Backoffice.User {\n serviceName = 'user'\n email?: string;\n id!: string;\n name?: string;\n authorities!: Array<string>;\n}\n\nexport class BackofficeTenant extends BaseCallClass implements Backoffice.Tenant {\n serviceName = 'tenant'\n tenantKey?: string;\n language?: string;\n currency?: string;\n}\n\nexport class BackofficeOrderpath extends BaseCallClass implements Backoffice.Orderpath {\n serviceName = 'orderpath'\n}\n\nexport class BackofficeLayout extends BaseCallClass implements Backoffice.Layout {\n serviceName = 'layout'\n isAsideOpened!: boolean;\n}\n"],"file":"backofficeServices.js"}
package/lib/esm/index.js CHANGED
@@ -2,7 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
 
3
3
  import { Message } from "@one-commerce/sdk-shared";
4
4
  import Channel from "iframe-channel";
5
- import { BackofficeCatalog, BackofficeLayout, BackofficeOrderpath, BackofficeUser } from "./backofficeServices";
5
+ import { BackofficeCatalog, BackofficeLayout, BackofficeOrderpath, BackofficeTenant, BackofficeUser } from "./backofficeServices";
6
6
  import Events from "./events";
7
7
  import { ShopAccount, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./shopServices";
8
8
  import { BaseCallClass, generateCallId } from "./utils";
@@ -46,6 +46,10 @@ class Sdk extends Events {
46
46
 
47
47
  _defineProperty(this, "channel", void 0);
48
48
 
49
+ _defineProperty(this, "autoheight", true);
50
+
51
+ _defineProperty(this, "heightMutationObserver", null);
52
+
49
53
  _defineProperty(this, "origin", void 0);
50
54
 
51
55
  _defineProperty(this, "isInitialized", false);
@@ -81,18 +85,62 @@ class Sdk extends Events {
81
85
  Sdk.log('Emitting UPDATE with payload ', payload);
82
86
  this.emit(SdkInternalEvents.UPDATE, payload);
83
87
  });
88
+ this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, payload => {
89
+ if (this.autoheight) {
90
+ Sdk.log('Request for iframe height');
91
+ this.sendFrameHeight();
92
+ }
93
+ });
84
94
  this.channel.connect().then(() => {
85
95
  Sdk.log('Connected with ONe SDK');
96
+
97
+ if (this.autoheight) {
98
+ this.initializeHeightObserver();
99
+ }
86
100
  });
87
101
  this.setupOptions(options);
88
102
  Sdk.log('Initialized.');
89
103
  }
90
104
 
105
+ sendFrameHeight() {
106
+ const body = document.body,
107
+ html = document.documentElement;
108
+ const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
109
+ this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height);
110
+ }
111
+
112
+ initializeHeightObserver() {
113
+ if ("MutationObserver" in window) {
114
+ const onMutationObserved = () => {
115
+ this.sendFrameHeight();
116
+ };
117
+
118
+ const target = document.querySelector('body'),
119
+ config = {
120
+ attributes: true,
121
+ attributeOldValue: false,
122
+ characterData: true,
123
+ characterDataOldValue: false,
124
+ childList: true,
125
+ subtree: true
126
+ };
127
+ this.heightMutationObserver = new MutationObserver(onMutationObserved);
128
+ Sdk.log('Create body MutationObserver');
129
+ this.heightMutationObserver.observe(target, config);
130
+ } else {
131
+ Sdk.warn('MutationObserver not available. Auto-height functionality disabled.');
132
+ }
133
+ }
134
+
91
135
  setupOptions(options) {
92
136
  if (options) {
93
137
  if (typeof options.debug !== 'undefined') {
94
138
  Sdk.debug = options.debug;
95
139
  }
140
+
141
+ if (typeof options.autoheight !== 'undefined') {
142
+ this.autoheight = options.autoheight;
143
+ }
96
144
  }
97
145
  }
98
146
 
@@ -143,6 +191,7 @@ export class BackofficeSdk extends Sdk {
143
191
  orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),
144
192
  catalog: new BackofficeCatalog(this.callFunction.bind(this)),
145
193
  user: new BackofficeUser(this.callFunction.bind(this)),
194
+ tenant: new BackofficeTenant(this.callFunction.bind(this)),
146
195
  layout: new BackofficeLayout(this.callFunction.bind(this))
147
196
  });
148
197
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","BackofficeCatalog","BackofficeLayout","BackofficeOrderpath","BackofficeUser","Events","ShopAccount","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","connect","then","setupOptions","callFunction","service","fun","callId","postMessage","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","bind","catalog","user","layout","ShopSdk","cart","account","utils","config"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath, BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","BackofficeCatalog","BackofficeLayout","BackofficeOrderpath","BackofficeTenant","BackofficeUser","Events","ShopAccount","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","callFunction","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","bind","catalog","user","tenant","layout","ShopSdk","cart","account","utils"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
@@ -12,6 +12,12 @@ export declare class BackofficeUser extends BaseCallClass implements Backoffice.
12
12
  name?: string;
13
13
  authorities: Array<string>;
14
14
  }
15
+ export declare class BackofficeTenant extends BaseCallClass implements Backoffice.Tenant {
16
+ serviceName: string;
17
+ tenantKey?: string;
18
+ language?: string;
19
+ currency?: string;
20
+ }
15
21
  export declare class BackofficeOrderpath extends BaseCallClass implements Backoffice.Orderpath {
16
22
  serviceName: string;
17
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backofficeServices.d.ts","sourceRoot":"","sources":["../../src/backofficeServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,qBAAa,iBAAkB,SAAQ,aAAc,YAAW,UAAU,CAAC,OAAO;IAChF,WAAW,SAAY;IAEvB,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAGnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlD;AAED,qBAAa,cAAe,SAAQ,aAAc,YAAW,UAAU,CAAC,IAAI;IAC1E,WAAW,SAAS;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAG,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAG,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,UAAU,CAAC,SAAS;IACpF,WAAW,SAAc;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,aAAa,EAAG,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"backofficeServices.d.ts","sourceRoot":"","sources":["../../src/backofficeServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,qBAAa,iBAAkB,SAAQ,aAAc,YAAW,UAAU,CAAC,OAAO;IAChF,WAAW,SAAY;IAEvB,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAGnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlD;AAED,qBAAa,cAAe,SAAQ,aAAc,YAAW,UAAU,CAAC,IAAI;IAC1E,WAAW,SAAS;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAG,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAG,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,UAAU,CAAC,SAAS;IACpF,WAAW,SAAc;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,aAAa,EAAG,OAAO,CAAC;CACzB"}
@@ -1,5 +1,5 @@
1
1
  import { Backoffice, Route, Shop } from "@one-commerce/sdk-shared";
2
- import { BackofficeCatalog, BackofficeLayout, BackofficeOrderpath, BackofficeUser } from "./backofficeServices";
2
+ import { BackofficeCatalog, BackofficeLayout, BackofficeOrderpath, BackofficeTenant, BackofficeUser } from "./backofficeServices";
3
3
  import Events from "./events";
4
4
  import { ShopAccount, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./shopServices";
5
5
  export declare enum SdkEvents {
@@ -8,6 +8,7 @@ export declare enum SdkEvents {
8
8
  }
9
9
  export interface SdkOptions {
10
10
  debug?: boolean;
11
+ autoheight?: boolean;
11
12
  origin: string;
12
13
  }
13
14
  interface NamedNavigationPayload {
@@ -21,6 +22,8 @@ interface PathNavigationPayload {
21
22
  declare abstract class Sdk<T> extends Events {
22
23
  private channel;
23
24
  private static debug;
25
+ private autoheight;
26
+ private heightMutationObserver;
24
27
  origin: string;
25
28
  isInitialized: boolean;
26
29
  instances: T;
@@ -28,6 +31,8 @@ declare abstract class Sdk<T> extends Events {
28
31
  private static warn;
29
32
  private initializeServiceGetters;
30
33
  constructor(options: SdkOptions);
34
+ private sendFrameHeight;
35
+ private initializeHeightObserver;
31
36
  private setupOptions;
32
37
  protected callFunction(service: string, fun: string, ...payload: any): Promise<any>;
33
38
  navigate(event: NamedNavigationPayload | PathNavigationPayload): void;
@@ -37,6 +42,7 @@ export interface BackofficeInstances extends Backoffice.Api {
37
42
  orderpath: BackofficeOrderpath;
38
43
  catalog: BackofficeCatalog;
39
44
  user: BackofficeUser;
45
+ tenant: BackofficeTenant;
40
46
  layout: BackofficeLayout;
41
47
  }
42
48
  export interface ShopInstances extends Shop.Api {
@@ -56,6 +62,7 @@ export declare class BackofficeSdk extends Sdk<BackofficeInstances> {
56
62
  orderpath: BackofficeOrderpath;
57
63
  catalog: BackofficeCatalog;
58
64
  user: BackofficeUser;
65
+ tenant: BackofficeTenant;
59
66
  layout: BackofficeLayout;
60
67
  };
61
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,KAAK,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAAE,cAAc,EACpC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EAAE,UAAU,EAAE,SAAS,EACnC,MAAM,gBAAgB,CAAC;AAOxB,oBAAY,SAAS;IACnB,IAAI,SAAO;IACX,MAAM,WAAS;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,uBAAe,GAAG,CAAC,CAAC,CAAE,SAAQ,MAAM;IAClC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,UAAQ;IACrB,SAAS,EAAG,CAAC,CAAC;IAEd,OAAO,CAAC,MAAM,CAAC,GAAG;IAIlB,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,OAAO,CAAC,wBAAwB;gBAYpB,OAAO,EAAE,UAAU;IAqC/B,OAAO,CAAC,YAAY;IAOpB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG;IAwB7D,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB;CAItE;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU,CAAC,GAAG;IACzD,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,GAAG;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,mBAAmB,CAAC;IACzD,SAAS;;;;;;;;;MASR;CACF;AAED,qBAAa,OAAQ,SAAQ,GAAG,CAAC,aAAa,CAAC;IAC7C,SAAS;;;;;;;;;;MAUR;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,KAAK,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EAAE,UAAU,EAAE,SAAS,EACnC,MAAM,gBAAgB,CAAC;AAOxB,oBAAY,SAAS;IACnB,IAAI,SAAO;IACX,MAAM,WAAS;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,uBAAe,GAAG,CAAC,CAAC,CAAE,SAAQ,MAAM;IAClC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,sBAAsB,CAAO;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,UAAQ;IACrB,SAAS,EAAG,CAAC,CAAC;IAEd,OAAO,CAAC,MAAM,CAAC,GAAG;IAIlB,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,OAAO,CAAC,wBAAwB;gBAYpB,OAAO,EAAE,UAAU;IA8C/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAUpB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG;IAwB7D,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB;CAItE;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU,CAAC,GAAG;IACzD,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,GAAG;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,mBAAmB,CAAC;IACzD,SAAS;;;;;;;;;;MAUR;CACF;AAED,qBAAa,OAAQ,SAAQ,GAAG,CAAC,aAAa,CAAC;IAC7C,SAAS;;;;;;;;;;MAUR;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@one-commerce/sdk-core",
3
- "version": "1.10.0",
3
+ "version": "1.12.1-alpha.0",
4
4
  "description": "Core package for One Plugins",
5
5
  "module": "lib/esm/index.js",
6
6
  "main": "lib/cjs/index.js",
@@ -55,7 +55,7 @@
55
55
  "node": ">=14"
56
56
  },
57
57
  "dependencies": {
58
- "@one-commerce/sdk-shared": "^1.7.0",
58
+ "@one-commerce/sdk-shared": "^1.12.0-alpha.0",
59
59
  "iframe-channel": "^1.2.5"
60
60
  },
61
61
  "devDependencies": {
@@ -125,5 +125,5 @@
125
125
  "**/*.spec.js"
126
126
  ]
127
127
  },
128
- "gitHead": "394cb0fc5155f491d01184e8e23f7919726a9263"
128
+ "gitHead": "6bc8be5ea55a301644ebb193357d5109841cbe2c"
129
129
  }