@myop/sdk 0.4.0-beta.1 → 0.4.0-beta.3
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/dist/bundled-declarations.d.ts +35 -0
- package/dist/cjs/_IframeSDK.3faa31eb.min.js +1 -0
- package/dist/cjs/{_IframeSDK.158994c9.js → _IframeSDK.c2e3efb9.js} +89 -16
- package/dist/cjs/_IframeSDK.c2e3efb9.js.map +7 -0
- package/dist/cjs/{_WebComponentSDK.ca9d238e.js → _WebComponentSDK.3728ca8b.js} +39 -13
- package/dist/cjs/_WebComponentSDK.3728ca8b.js.map +7 -0
- package/dist/cjs/_WebComponentSDK.e517f1a4.min.js +1 -0
- package/dist/cjs/_hostSDK.48b3ff7a.min.js +1 -0
- package/dist/cjs/{_hostSDK.3c04ba71.js → _hostSDK.94744d97.js} +39 -13
- package/dist/cjs/_hostSDK.94744d97.js.map +7 -0
- package/dist/cjs/myop_sdk.js +11 -11
- package/dist/cjs/myop_sdk.js.map +1 -1
- package/dist/cjs/myop_sdk.min.js +1 -1
- package/dist/cjs-bundled/myop_sdk.bundled.js +91 -17
- package/dist/cjs-bundled/myop_sdk.bundled.js.map +2 -2
- package/dist/cjs-bundled/myop_sdk.bundled.min.js +1 -1
- package/dist/module/Iframe/IframeSDK.d.ts +32 -0
- package/dist/module/Iframe/index.js +90 -17
- package/dist/module/Iframe/index.js.map +2 -2
- package/dist/module/SDK.js +91 -17
- package/dist/module/SDK.js.map +2 -2
- package/dist/module/embeddedSDK.js +1 -1
- package/dist/module/host/components/IMyopComponent.d.ts +3 -0
- package/dist/module/host/embeddedSDK.js +1 -1
- package/dist/module/host/index.js +40 -14
- package/dist/module/host/index.js.map +2 -2
- package/dist/module/webcomponent/index.js +40 -14
- package/dist/module/webcomponent/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/cjs/_IframeSDK.158994c9.js.map +0 -7
- package/dist/cjs/_IframeSDK.941e9a62.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.5f41b3b7.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.ca9d238e.js.map +0 -7
- package/dist/cjs/_hostSDK.23c64e1b.min.js +0 -1
- package/dist/cjs/_hostSDK.3c04ba71.js.map +0 -7
|
@@ -1010,6 +1010,7 @@ var BaseMyopComponent = class {
|
|
|
1010
1010
|
setTimeout(() => {
|
|
1011
1011
|
if (!this.isInitiated && this._whenInitiatedReject && !this._markedForDisposed) {
|
|
1012
1012
|
this._whenInitiatedReject("timeout_".concat(timeout, " ").concat(this.id));
|
|
1013
|
+
this.dispose();
|
|
1013
1014
|
}
|
|
1014
1015
|
}, timeout);
|
|
1015
1016
|
this.initiated().then(() => {
|
|
@@ -1093,19 +1094,27 @@ var BaseMyopComponent = class {
|
|
|
1093
1094
|
};
|
|
1094
1095
|
}
|
|
1095
1096
|
}
|
|
1097
|
+
/** Runs the 'onDispose' handlers once. hostSDK registers the one that unregisters
|
|
1098
|
+
* this component, so it has to run on EVERY dispose path, initiated or not. */
|
|
1099
|
+
runDisposeHandlers() {
|
|
1100
|
+
const onDisposeHandlers = this.messageHandlers["onDispose"];
|
|
1101
|
+
if (onDisposeHandlers) {
|
|
1102
|
+
onDisposeHandlers.forEach((disposeHandler) => {
|
|
1103
|
+
disposeHandler(null);
|
|
1104
|
+
});
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1096
1107
|
dispose() {
|
|
1097
1108
|
this.markedForDisposed = true;
|
|
1098
1109
|
if (!this.isInitiated) {
|
|
1110
|
+
this.runDisposeHandlers();
|
|
1111
|
+
this.messageHandlers = {};
|
|
1112
|
+
this.id += "_disposed";
|
|
1099
1113
|
return;
|
|
1100
1114
|
}
|
|
1101
1115
|
console.log("disposing component", this.id);
|
|
1102
1116
|
this.send(new DisposeMessage());
|
|
1103
|
-
|
|
1104
|
-
if (onDisposeHandlers) {
|
|
1105
|
-
onDisposeHandlers.forEach((disposeHandler) => {
|
|
1106
|
-
disposeHandler(null);
|
|
1107
|
-
});
|
|
1108
|
-
}
|
|
1117
|
+
this.runDisposeHandlers();
|
|
1109
1118
|
this.messageHandlers = {};
|
|
1110
1119
|
this.id += "_disposed";
|
|
1111
1120
|
this.isInitiated = false;
|
|
@@ -1508,8 +1517,13 @@ var createRefComponent = async (ref, componentConfig, components, options) => {
|
|
|
1508
1517
|
return new Promise(async (resolve, reject) => {
|
|
1509
1518
|
const refComponent = new MyopRefComponent(componentConfig.type, component, options);
|
|
1510
1519
|
components.push(refComponent);
|
|
1520
|
+
const unregister = () => {
|
|
1521
|
+
const at = components.indexOf(refComponent);
|
|
1522
|
+
if (at !== -1) components.splice(at, 1);
|
|
1523
|
+
};
|
|
1511
1524
|
await component.initiated();
|
|
1512
1525
|
const timeout = setTimeout(() => {
|
|
1526
|
+
unregister();
|
|
1513
1527
|
reject("timeout");
|
|
1514
1528
|
}, 5e3);
|
|
1515
1529
|
component.send(new CreateRefComponentMessage(
|
|
@@ -1522,11 +1536,13 @@ var createRefComponent = async (ref, componentConfig, components, options) => {
|
|
|
1522
1536
|
async (message) => {
|
|
1523
1537
|
clearTimeout(timeout);
|
|
1524
1538
|
if (message.failed) {
|
|
1539
|
+
unregister();
|
|
1525
1540
|
reject("CreateRefComponentMessage failed");
|
|
1526
1541
|
return;
|
|
1527
1542
|
}
|
|
1528
1543
|
const implementationComponent = components.find((c) => c.id == refComponent.id);
|
|
1529
|
-
if (implementationComponent !== refComponent) {
|
|
1544
|
+
if (implementationComponent && implementationComponent !== refComponent) {
|
|
1545
|
+
unregister();
|
|
1530
1546
|
component.refs[ref.refConfig.name] = implementationComponent;
|
|
1531
1547
|
resolve(implementationComponent);
|
|
1532
1548
|
return;
|
|
@@ -1840,7 +1856,8 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1840
1856
|
this.IframeElement.style.width = "100%";
|
|
1841
1857
|
this.setHeightBasedOnScrollHeight();
|
|
1842
1858
|
observerCleanup = this.send(new SetResizeObserverMessage());
|
|
1843
|
-
}).catch(() => {
|
|
1859
|
+
}).catch((e) => {
|
|
1860
|
+
console.warn("[MyopIframeComponent] auto-height skipped for ".concat(this.id, ": ").concat(e));
|
|
1844
1861
|
});
|
|
1845
1862
|
return cleanup;
|
|
1846
1863
|
});
|
|
@@ -1889,7 +1906,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1889
1906
|
return cleanupHandler;
|
|
1890
1907
|
});
|
|
1891
1908
|
__publicField(this, "dispose", () => {
|
|
1892
|
-
var _a;
|
|
1909
|
+
var _a, _b;
|
|
1893
1910
|
(_a = this._bridgeSizeCleanup) == null ? void 0 : _a.call(this);
|
|
1894
1911
|
if (this._autoSizeCleanup) {
|
|
1895
1912
|
this._autoSizeCleanup();
|
|
@@ -1902,7 +1919,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1902
1919
|
if (this.cleanupInspect)
|
|
1903
1920
|
this.cleanupInspect();
|
|
1904
1921
|
super.dispose();
|
|
1905
|
-
this.IframeElement.parentNode.removeChild(this.IframeElement);
|
|
1922
|
+
(_b = this.IframeElement.parentNode) == null ? void 0 : _b.removeChild(this.IframeElement);
|
|
1906
1923
|
});
|
|
1907
1924
|
this.element = this.IframeElement;
|
|
1908
1925
|
this._lastData = options == null ? void 0 : options.data;
|
|
@@ -2169,7 +2186,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
2169
2186
|
};
|
|
2170
2187
|
|
|
2171
2188
|
// version:myop-sdk-version
|
|
2172
|
-
var myop_sdk_version_default = "0.4.0-beta.
|
|
2189
|
+
var myop_sdk_version_default = "0.4.0-beta.3";
|
|
2173
2190
|
|
|
2174
2191
|
// src/helpers/deliveryStore.ts
|
|
2175
2192
|
var DB_NAME = "myop-delivery";
|
|
@@ -3302,7 +3319,12 @@ var HostSDK = class {
|
|
|
3302
3319
|
}
|
|
3303
3320
|
const myopMessage = event.data;
|
|
3304
3321
|
if (myopMessage.messageType === MyopMessages.InitRequest) {
|
|
3305
|
-
this.components2init.
|
|
3322
|
+
const fromAskingFrame = this.components2init.filter((component2) => {
|
|
3323
|
+
const element = component2.element;
|
|
3324
|
+
return (element == null ? void 0 : element.nodeName) === "IFRAME" && element.contentWindow === event.source;
|
|
3325
|
+
});
|
|
3326
|
+
const targets = fromAskingFrame.length ? fromAskingFrame : this.components2init;
|
|
3327
|
+
targets.forEach((component2) => {
|
|
3306
3328
|
component2.send(new InitMessage(component2.id));
|
|
3307
3329
|
});
|
|
3308
3330
|
return;
|
|
@@ -3517,14 +3539,18 @@ var HostSDK = class {
|
|
|
3517
3539
|
throw new Error('no loader "'.concat(selectedSkin.loader.type, '" was found for component'));
|
|
3518
3540
|
}
|
|
3519
3541
|
let component = await componentLoader.load(componentConfig.type, selectedSkin, container, options);
|
|
3520
|
-
if (!component.isInitiated)
|
|
3542
|
+
if (!component.isInitiated) {
|
|
3521
3543
|
this.components2init.push(component);
|
|
3544
|
+
}
|
|
3522
3545
|
component.bind("onDispose", () => {
|
|
3523
3546
|
this.components = this.components.filter((c) => c !== component);
|
|
3524
3547
|
this.components2init = this.components2init.filter((c) => c !== component);
|
|
3525
3548
|
return true;
|
|
3526
3549
|
});
|
|
3527
3550
|
this.components.push(component);
|
|
3551
|
+
if (!component.isInitiated) {
|
|
3552
|
+
component.send(new InitMessage(component.id));
|
|
3553
|
+
}
|
|
3528
3554
|
if (!options || options.connectProps !== false) {
|
|
3529
3555
|
component = connectProps(component, componentConfig.type.props, selectedSkin);
|
|
3530
3556
|
}
|