@one-commerce/sdk-core 2.0.0 → 2.1.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
@@ -24,6 +24,12 @@ Object.defineProperty(exports, "ShopAddToCartContext", {
24
24
  return _context2.AddToCartContext;
25
25
  }
26
26
  });
27
+ Object.defineProperty(exports, "ShopEditProductLinesOnCartContext", {
28
+ enumerable: true,
29
+ get: function get() {
30
+ return _context2.EditProductLinesOnCartContext;
31
+ }
32
+ });
27
33
  exports.ShopSdk = void 0;
28
34
 
29
35
  var _sdkShared = require("@one-commerce/sdk-shared");
@@ -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","isInitialized","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","keys","serviceName","defineProperty","get","contextClass","callFunction","bind","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","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","reject","onChannelMessage","response","unsubscribe","METHOD_RESULT","isException","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","catalog","BackofficeCatalog","user","BackofficeUser","tenant","BackofficeTenant","layout","BackofficeLayout","authorization","BackofficeAuthorization","customer","BackofficeCustomer","plugin","BackofficePlugin","orderpath","BackofficeOrderpath","initializeContextClass","ShopSdk","ShopAuthorization","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","ShopConfig","ShopTenant","wishlist","ShopWishlist","ShopPlugin"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext as BackofficeAddToCartContext,\n BackofficeAvailableContext,\n EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport { AddToCartContext as ShopAddToCartContext, ShopAvailableContext } from \"./shop/context\";\nimport {\n ShopAccount,\n ShopAuthorization,\n ShopCart,\n ShopCatalog,\n ShopConfig,\n ShopPlugin,\n ShopTenant,\n ShopUtils,\n ShopWishlist,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions<S> {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<S>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T, S = BackofficeAvailableContext | ShopAvailableContext> 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 contextClass?: Class<S>;\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 public initializeContextClass(): S {\n if (this.contextClass) {\n return new this.contextClass(this.callFunction.bind(this))\n }\n return {} as S\n }\n\n constructor(options: SdkOptions<S>) {\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.isInitialized = true\n this.emit(SdkInternalEvents.INIT, this.instances)\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<S>) {\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 this.contextClass = options.context\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, reject) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n if (response?.isException) {\n return reject(response.result);\n }\n\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 catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: BackofficeAvailableContext\n orderpath: BackofficeOrderpath,\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig,\n wishlist: ShopWishlist,\n context: ShopAvailableContext\n tenant: ShopTenant,\n plugin: ShopPlugin,\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances, BackofficeAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\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 authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances, ShopAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\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 tenant: new ShopTenant(this.callFunction.bind(this)),\n wishlist: new ShopWishlist(this.callFunction.bind(this)),\n context: this.initializeContextClass(),\n plugin: new ShopPlugin(this.callFunction.bind(this)),\n }\n}\n\nexport {\n BackofficeAddToCartContext,\n BackofficeEditProductLinesOnCartContext,\n ShopAddToCartContext,\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","isInitialized","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","keys","serviceName","defineProperty","get","contextClass","callFunction","bind","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","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","reject","onChannelMessage","response","unsubscribe","METHOD_RESULT","isException","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","catalog","BackofficeCatalog","user","BackofficeUser","tenant","BackofficeTenant","layout","BackofficeLayout","authorization","BackofficeAuthorization","customer","BackofficeCustomer","plugin","BackofficePlugin","orderpath","BackofficeOrderpath","initializeContextClass","ShopSdk","ShopAuthorization","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","ShopConfig","ShopTenant","wishlist","ShopWishlist","ShopPlugin"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext as BackofficeAddToCartContext,\n BackofficeAvailableContext,\n EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport {\n AddToCartContext as ShopAddToCartContext,\n ShopAvailableContext,\n EditProductLinesOnCartContext as ShopEditProductLinesOnCartContext\n} from \"./shop/context\";\nimport {\n ShopAccount,\n ShopAuthorization,\n ShopCart,\n ShopCatalog,\n ShopConfig,\n ShopPlugin,\n ShopTenant,\n ShopUtils,\n ShopWishlist,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions<S> {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<S>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T, S = BackofficeAvailableContext | ShopAvailableContext> 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 contextClass?: Class<S>;\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 public initializeContextClass(): S {\n if (this.contextClass) {\n return new this.contextClass(this.callFunction.bind(this))\n }\n return {} as S\n }\n\n constructor(options: SdkOptions<S>) {\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.isInitialized = true\n this.emit(SdkInternalEvents.INIT, this.instances)\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<S>) {\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 this.contextClass = options.context\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, reject) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n if (response?.isException) {\n return reject(response.result);\n }\n\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 catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: BackofficeAvailableContext\n orderpath: BackofficeOrderpath,\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig,\n wishlist: ShopWishlist,\n context: ShopAvailableContext\n tenant: ShopTenant,\n plugin: ShopPlugin,\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances, BackofficeAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\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 authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances, ShopAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\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 tenant: new ShopTenant(this.callFunction.bind(this)),\n wishlist: new ShopWishlist(this.callFunction.bind(this)),\n context: this.initializeContextClass(),\n plugin: new ShopPlugin(this.callFunction.bind(this)),\n }\n}\n\nexport {\n BackofficeAddToCartContext,\n BackofficeEditProductLinesOnCartContext,\n ShopAddToCartContext,\n ShopEditProductLinesOnCartContext,\n}\n"],"file":"index.js"}
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.AddToCartContext = void 0;
8
+ exports.EditProductLinesOnCartContext = exports.AddToCartContext = void 0;
9
9
 
10
10
  var _utils = require("../utils");
11
11
 
@@ -85,4 +85,56 @@ var AddToCartContext = /*#__PURE__*/function (_ContextCallClass) {
85
85
  }(_utils.ContextCallClass);
86
86
 
87
87
  exports.AddToCartContext = AddToCartContext;
88
+
89
+ var EditProductLinesOnCartContext = /*#__PURE__*/function (_ContextCallClass2) {
90
+ _inherits(EditProductLinesOnCartContext, _ContextCallClass2);
91
+
92
+ var _super2 = _createSuper(EditProductLinesOnCartContext);
93
+
94
+ function EditProductLinesOnCartContext() {
95
+ var _this2;
96
+
97
+ _classCallCheck(this, EditProductLinesOnCartContext);
98
+
99
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
100
+ args[_key2] = arguments[_key2];
101
+ }
102
+
103
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
104
+
105
+ _defineProperty(_assertThisInitialized(_this2), "productId", void 0);
106
+
107
+ _defineProperty(_assertThisInitialized(_this2), "cartId", void 0);
108
+
109
+ _defineProperty(_assertThisInitialized(_this2), "warehouses", void 0);
110
+
111
+ _defineProperty(_assertThisInitialized(_this2), "warehouseId", void 0);
112
+
113
+ _defineProperty(_assertThisInitialized(_this2), "meta", void 0);
114
+
115
+ _defineProperty(_assertThisInitialized(_this2), "productLineId", void 0);
116
+
117
+ _defineProperty(_assertThisInitialized(_this2), "productLines", void 0);
118
+
119
+ _defineProperty(_assertThisInitialized(_this2), "pluginProductLines", void 0);
120
+
121
+ return _this2;
122
+ }
123
+
124
+ _createClass(EditProductLinesOnCartContext, [{
125
+ key: "closePlugin",
126
+ value: function closePlugin() {
127
+ return this.call('closePlugin');
128
+ }
129
+ }, {
130
+ key: "closePluginAndRefreshCart",
131
+ value: function closePluginAndRefreshCart() {
132
+ return this.call('closePluginAndRefreshCart');
133
+ }
134
+ }]);
135
+
136
+ return EditProductLinesOnCartContext;
137
+ }(_utils.ContextCallClass);
138
+
139
+ exports.EditProductLinesOnCartContext = EditProductLinesOnCartContext;
88
140
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/shop/context.ts"],"names":["AddToCartContext","call","ContextCallClass"],"mappings":";;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQX,uBAA6B;AAC3B,aAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;;WACD,mCAAyC;AACvC,aAAO,KAAKA,IAAL,CAAU,yBAAV,CAAP;AACD;;;WACD,qCAA2C;AACzC,aAAO,KAAKA,IAAL,CAAU,2BAAV,CAAP;AACD;;;;EAhBmCC,uB","sourcesContent":["import { Shop } from \"@one-commerce/sdk-shared\";\n\nimport { ContextCallClass } from \"../utils\";\n\nexport class AddToCartContext extends ContextCallClass implements Shop.Context.AddToCart {\n productId: string;\n cartId: string;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n pluginProductLines: Array<any>;\n productLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndAddToCart(): Promise<void> {\n return this.call('closePluginAndAddToCart')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport type ShopAvailableContext = AddToCartContext\n"],"file":"context.js"}
1
+ {"version":3,"sources":["../../../src/shop/context.ts"],"names":["AddToCartContext","call","ContextCallClass","EditProductLinesOnCartContext"],"mappings":";;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQX,uBAA6B;AAC3B,aAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;;WACD,mCAAyC;AACvC,aAAO,KAAKA,IAAL,CAAU,yBAAV,CAAP;AACD;;;WACD,qCAA2C;AACzC,aAAO,KAAKA,IAAL,CAAU,2BAAV,CAAP;AACD;;;;EAhBmCC,uB;;;;IAmBzBC,6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WASX,uBAA6B;AAC3B,aAAO,KAAKF,IAAL,CAAU,aAAV,CAAP;AACD;;;WACD,qCAA2C;AACzC,aAAO,KAAKA,IAAL,CAAU,2BAAV,CAAP;AACD;;;;EAdgDC,uB","sourcesContent":["import {Shop} from \"@one-commerce/sdk-shared\";\n\nimport { ContextCallClass } from \"../utils\";\n\nexport class AddToCartContext extends ContextCallClass implements Shop.Context.AddToCart {\n productId: string;\n cartId: string;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n pluginProductLines: Array<any>;\n productLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndAddToCart(): Promise<void> {\n return this.call('closePluginAndAddToCart')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport class EditProductLinesOnCartContext extends ContextCallClass implements Shop.Context.EditProductLinesOnCart {\n productId: string;\n cartId: string | null;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n productLineId: string;\n productLines: Array<any>;\n pluginProductLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport type ShopAvailableContext = AddToCartContext | EditProductLinesOnCartContext\n"],"file":"context.js"}
package/lib/esm/index.js CHANGED
@@ -5,7 +5,7 @@ import Channel from "iframe-channel";
5
5
  import { AddToCartContext as BackofficeAddToCartContext, EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext } from "./backoffice/context";
6
6
  import { BackofficeAuthorization, BackofficeCatalog, BackofficeCustomer, BackofficeLayout, BackofficeOrderpath, BackofficePlugin, BackofficeTenant, BackofficeUser } from "./backoffice/services";
7
7
  import Events from "./events";
8
- import { AddToCartContext as ShopAddToCartContext } from "./shop/context";
8
+ import { AddToCartContext as ShopAddToCartContext, EditProductLinesOnCartContext as ShopEditProductLinesOnCartContext } from "./shop/context";
9
9
  import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopPlugin, ShopTenant, ShopUtils, ShopWishlist } from "./shop/services";
10
10
  import { BaseCallClass, generateCallId } from "./utils";
11
11
  var SdkInternalEvents;
@@ -243,5 +243,5 @@ export class ShopSdk extends Sdk {
243
243
  }
244
244
 
245
245
  }
246
- export { BackofficeAddToCartContext, BackofficeEditProductLinesOnCartContext, ShopAddToCartContext };
246
+ export { BackofficeAddToCartContext, BackofficeEditProductLinesOnCartContext, ShopAddToCartContext, ShopEditProductLinesOnCartContext };
247
247
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","AddToCartContext","BackofficeAddToCartContext","EditProductLinesOnCartContext","BackofficeEditProductLinesOnCartContext","BackofficeAuthorization","BackofficeCatalog","BackofficeCustomer","BackofficeLayout","BackofficeOrderpath","BackofficePlugin","BackofficeTenant","BackofficeUser","Events","ShopAddToCartContext","ShopAccount","ShopAuthorization","ShopCart","ShopCatalog","ShopConfig","ShopPlugin","ShopTenant","ShopUtils","ShopWishlist","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","initializeContextClass","contextClass","callFunction","bind","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","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","reject","onChannelMessage","response","unsubscribe","METHOD_RESULT","isException","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","catalog","user","tenant","layout","authorization","customer","plugin","orderpath","ShopSdk","cart","account","utils","wishlist"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext as BackofficeAddToCartContext,\n BackofficeAvailableContext,\n EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport { AddToCartContext as ShopAddToCartContext, ShopAvailableContext } from \"./shop/context\";\nimport {\n ShopAccount,\n ShopAuthorization,\n ShopCart,\n ShopCatalog,\n ShopConfig,\n ShopPlugin,\n ShopTenant,\n ShopUtils,\n ShopWishlist,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions<S> {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<S>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T, S = BackofficeAvailableContext | ShopAvailableContext> 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 contextClass?: Class<S>;\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 public initializeContextClass(): S {\n if (this.contextClass) {\n return new this.contextClass(this.callFunction.bind(this))\n }\n return {} as S\n }\n\n constructor(options: SdkOptions<S>) {\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.isInitialized = true\n this.emit(SdkInternalEvents.INIT, this.instances)\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<S>) {\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 this.contextClass = options.context\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, reject) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n if (response?.isException) {\n return reject(response.result);\n }\n\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 catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: BackofficeAvailableContext\n orderpath: BackofficeOrderpath,\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig,\n wishlist: ShopWishlist,\n context: ShopAvailableContext\n tenant: ShopTenant,\n plugin: ShopPlugin,\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances, BackofficeAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\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 authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances, ShopAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\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 tenant: new ShopTenant(this.callFunction.bind(this)),\n wishlist: new ShopWishlist(this.callFunction.bind(this)),\n context: this.initializeContextClass(),\n plugin: new ShopPlugin(this.callFunction.bind(this)),\n }\n}\n\nexport {\n BackofficeAddToCartContext,\n BackofficeEditProductLinesOnCartContext,\n ShopAddToCartContext,\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","AddToCartContext","BackofficeAddToCartContext","EditProductLinesOnCartContext","BackofficeEditProductLinesOnCartContext","BackofficeAuthorization","BackofficeCatalog","BackofficeCustomer","BackofficeLayout","BackofficeOrderpath","BackofficePlugin","BackofficeTenant","BackofficeUser","Events","ShopAddToCartContext","ShopEditProductLinesOnCartContext","ShopAccount","ShopAuthorization","ShopCart","ShopCatalog","ShopConfig","ShopPlugin","ShopTenant","ShopUtils","ShopWishlist","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","initializeContextClass","contextClass","callFunction","bind","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","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","reject","onChannelMessage","response","unsubscribe","METHOD_RESULT","isException","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","catalog","user","tenant","layout","authorization","customer","plugin","orderpath","ShopSdk","cart","account","utils","wishlist"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext as BackofficeAddToCartContext,\n BackofficeAvailableContext,\n EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport {\n AddToCartContext as ShopAddToCartContext,\n ShopAvailableContext,\n EditProductLinesOnCartContext as ShopEditProductLinesOnCartContext\n} from \"./shop/context\";\nimport {\n ShopAccount,\n ShopAuthorization,\n ShopCart,\n ShopCatalog,\n ShopConfig,\n ShopPlugin,\n ShopTenant,\n ShopUtils,\n ShopWishlist,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions<S> {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<S>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T, S = BackofficeAvailableContext | ShopAvailableContext> 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 contextClass?: Class<S>;\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 public initializeContextClass(): S {\n if (this.contextClass) {\n return new this.contextClass(this.callFunction.bind(this))\n }\n return {} as S\n }\n\n constructor(options: SdkOptions<S>) {\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.isInitialized = true\n this.emit(SdkInternalEvents.INIT, this.instances)\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<S>) {\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 this.contextClass = options.context\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, reject) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n if (response?.isException) {\n return reject(response.result);\n }\n\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 catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: BackofficeAvailableContext\n orderpath: BackofficeOrderpath,\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig,\n wishlist: ShopWishlist,\n context: ShopAvailableContext\n tenant: ShopTenant,\n plugin: ShopPlugin,\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances, BackofficeAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\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 authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances, ShopAvailableContext> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\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 tenant: new ShopTenant(this.callFunction.bind(this)),\n wishlist: new ShopWishlist(this.callFunction.bind(this)),\n context: this.initializeContextClass(),\n plugin: new ShopPlugin(this.callFunction.bind(this)),\n }\n}\n\nexport {\n BackofficeAddToCartContext,\n BackofficeEditProductLinesOnCartContext,\n ShopAddToCartContext,\n ShopEditProductLinesOnCartContext,\n}\n"],"file":"index.js"}
@@ -32,5 +32,35 @@ export class AddToCartContext extends ContextCallClass {
32
32
  return this.call('closePluginAndRefreshCart');
33
33
  }
34
34
 
35
+ }
36
+ export class EditProductLinesOnCartContext extends ContextCallClass {
37
+ constructor(...args) {
38
+ super(...args);
39
+
40
+ _defineProperty(this, "productId", void 0);
41
+
42
+ _defineProperty(this, "cartId", void 0);
43
+
44
+ _defineProperty(this, "warehouses", void 0);
45
+
46
+ _defineProperty(this, "warehouseId", void 0);
47
+
48
+ _defineProperty(this, "meta", void 0);
49
+
50
+ _defineProperty(this, "productLineId", void 0);
51
+
52
+ _defineProperty(this, "productLines", void 0);
53
+
54
+ _defineProperty(this, "pluginProductLines", void 0);
55
+ }
56
+
57
+ closePlugin() {
58
+ return this.call('closePlugin');
59
+ }
60
+
61
+ closePluginAndRefreshCart() {
62
+ return this.call('closePluginAndRefreshCart');
63
+ }
64
+
35
65
  }
36
66
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/shop/context.ts"],"names":["ContextCallClass","AddToCartContext","closePlugin","call","closePluginAndAddToCart","closePluginAndRefreshCart"],"mappings":";;AAEA,SAASA,gBAAT,QAAiC,UAAjC;AAEA,OAAO,MAAMC,gBAAN,SAA+BD,gBAA/B,CAAkF;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAQvFE,EAAAA,WAAW,GAAkB;AAC3B,WAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;AACDC,EAAAA,uBAAuB,GAAkB;AACvC,WAAO,KAAKD,IAAL,CAAU,yBAAV,CAAP;AACD;;AACDE,EAAAA,yBAAyB,GAAkB;AACzC,WAAO,KAAKF,IAAL,CAAU,2BAAV,CAAP;AACD;;AAhBsF","sourcesContent":["import { Shop } from \"@one-commerce/sdk-shared\";\n\nimport { ContextCallClass } from \"../utils\";\n\nexport class AddToCartContext extends ContextCallClass implements Shop.Context.AddToCart {\n productId: string;\n cartId: string;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n pluginProductLines: Array<any>;\n productLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndAddToCart(): Promise<void> {\n return this.call('closePluginAndAddToCart')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport type ShopAvailableContext = AddToCartContext\n"],"file":"context.js"}
1
+ {"version":3,"sources":["../../../src/shop/context.ts"],"names":["ContextCallClass","AddToCartContext","closePlugin","call","closePluginAndAddToCart","closePluginAndRefreshCart","EditProductLinesOnCartContext"],"mappings":";;AAEA,SAASA,gBAAT,QAAiC,UAAjC;AAEA,OAAO,MAAMC,gBAAN,SAA+BD,gBAA/B,CAAkF;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAQvFE,EAAAA,WAAW,GAAkB;AAC3B,WAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;AACDC,EAAAA,uBAAuB,GAAkB;AACvC,WAAO,KAAKD,IAAL,CAAU,yBAAV,CAAP;AACD;;AACDE,EAAAA,yBAAyB,GAAkB;AACzC,WAAO,KAAKF,IAAL,CAAU,2BAAV,CAAP;AACD;;AAhBsF;AAmBzF,OAAO,MAAMG,6BAAN,SAA4CN,gBAA5C,CAA4G;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AASjHE,EAAAA,WAAW,GAAkB;AAC3B,WAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;AACDE,EAAAA,yBAAyB,GAAkB;AACzC,WAAO,KAAKF,IAAL,CAAU,2BAAV,CAAP;AACD;;AAdgH","sourcesContent":["import {Shop} from \"@one-commerce/sdk-shared\";\n\nimport { ContextCallClass } from \"../utils\";\n\nexport class AddToCartContext extends ContextCallClass implements Shop.Context.AddToCart {\n productId: string;\n cartId: string;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n pluginProductLines: Array<any>;\n productLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndAddToCart(): Promise<void> {\n return this.call('closePluginAndAddToCart')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport class EditProductLinesOnCartContext extends ContextCallClass implements Shop.Context.EditProductLinesOnCart {\n productId: string;\n cartId: string | null;\n warehouses: Array<any>;\n warehouseId: string;\n meta: unknown;\n productLineId: string;\n productLines: Array<any>;\n pluginProductLines: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport type ShopAvailableContext = AddToCartContext | EditProductLinesOnCartContext\n"],"file":"context.js"}
@@ -2,7 +2,7 @@ import { Backoffice, Route, Shop } from "@one-commerce/sdk-shared";
2
2
  import { AddToCartContext as BackofficeAddToCartContext, BackofficeAvailableContext, EditProductLinesOnCartContext as BackofficeEditProductLinesOnCartContext } from "./backoffice/context";
3
3
  import { BackofficeAuthorization, BackofficeCatalog, BackofficeCustomer, BackofficeLayout, BackofficeOrderpath, BackofficePlugin, BackofficeTenant, BackofficeUser } from "./backoffice/services";
4
4
  import Events from "./events";
5
- import { AddToCartContext as ShopAddToCartContext, ShopAvailableContext } from "./shop/context";
5
+ import { AddToCartContext as ShopAddToCartContext, ShopAvailableContext, EditProductLinesOnCartContext as ShopEditProductLinesOnCartContext } from "./shop/context";
6
6
  import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopPlugin, ShopTenant, ShopUtils, ShopWishlist } from "./shop/services";
7
7
  export declare enum SdkEvents {
8
8
  INIT = "INIT",
@@ -99,9 +99,9 @@ export declare class ShopSdk extends Sdk<ShopInstances, ShopAvailableContext> {
99
99
  config: ShopConfig;
100
100
  tenant: ShopTenant;
101
101
  wishlist: ShopWishlist;
102
- context: ShopAddToCartContext;
102
+ context: ShopAvailableContext;
103
103
  plugin: ShopPlugin;
104
104
  };
105
105
  }
106
- export { BackofficeAddToCartContext, BackofficeEditProductLinesOnCartContext, ShopAddToCartContext, };
106
+ export { BackofficeAddToCartContext, BackofficeEditProductLinesOnCartContext, ShopAddToCartContext, ShopEditProductLinesOnCartContext, };
107
107
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,17 @@ export declare class AddToCartContext extends ContextCallClass implements Shop.C
12
12
  closePluginAndAddToCart(): Promise<void>;
13
13
  closePluginAndRefreshCart(): Promise<void>;
14
14
  }
15
- export declare type ShopAvailableContext = AddToCartContext;
15
+ export declare class EditProductLinesOnCartContext extends ContextCallClass implements Shop.Context.EditProductLinesOnCart {
16
+ productId: string;
17
+ cartId: string | null;
18
+ warehouses: Array<any>;
19
+ warehouseId: string;
20
+ meta: unknown;
21
+ productLineId: string;
22
+ productLines: Array<any>;
23
+ pluginProductLines: Array<any>;
24
+ closePlugin(): Promise<void>;
25
+ closePluginAndRefreshCart(): Promise<void>;
26
+ }
27
+ export declare type ShopAvailableContext = AddToCartContext | EditProductLinesOnCartContext;
16
28
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/shop/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,IAAI,CAAC,OAAO,CAAC,SAAS;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,oBAAY,oBAAoB,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/shop/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,IAAI,CAAC,OAAO,CAAC,SAAS;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,qBAAa,6BAA8B,SAAQ,gBAAiB,YAAW,IAAI,CAAC,OAAO,CAAC,sBAAsB;IAChH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,oBAAY,oBAAoB,GAAG,gBAAgB,GAAG,6BAA6B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@one-commerce/sdk-core",
3
- "version": "2.0.0",
3
+ "version": "2.1.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": ">=16"
56
56
  },
57
57
  "dependencies": {
58
- "@one-commerce/sdk-shared": "^2.0.0",
58
+ "@one-commerce/sdk-shared": "^2.1.0",
59
59
  "iframe-channel": "^1.2.5"
60
60
  },
61
61
  "devDependencies": {
@@ -126,5 +126,5 @@
126
126
  "**/*.spec.js"
127
127
  ]
128
128
  },
129
- "gitHead": "6720c2470dac21a10d87b12996c52377c34f8ce3"
129
+ "gitHead": "52c877b1db31bc1c502900412a129bb0efa4baba"
130
130
  }