zakeke-configurator-react 0.0.69 → 0.0.70
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.
|
@@ -115,7 +115,7 @@ export declare class ZakekeEnvironment {
|
|
|
115
115
|
hasExplodedMode: () => boolean;
|
|
116
116
|
setBackgroundColor: (color: string, alpha: number) => void;
|
|
117
117
|
getCurrentSelection: () => PlatformAttributeSelection[];
|
|
118
|
-
getScreenshot: (width?: number, height?: number, backgroundColor?: string | null) => Promise<string>;
|
|
118
|
+
getScreenshot: (width?: number, height?: number, backgroundColor?: string | null, padding?: number) => Promise<string>;
|
|
119
119
|
private fireItemsChange;
|
|
120
120
|
isAreaVisible(areaId: number): boolean;
|
|
121
121
|
removeItem: (guid: string) => Promise<void>;
|
|
@@ -143,7 +143,7 @@ export declare class ZakekeEnvironment {
|
|
|
143
143
|
findObjectByName(name: string): BABYLON.AbstractMesh | null | undefined;
|
|
144
144
|
getPDF: () => Promise<string>;
|
|
145
145
|
private rewriteShareUrl;
|
|
146
|
-
getOnlineScreenshot: (width: number, height: number, backgroundColor?: string | undefined) => Promise<string>;
|
|
146
|
+
getOnlineScreenshot: (width: number, height: number, backgroundColor?: string | undefined, padding?: number) => Promise<string>;
|
|
147
147
|
private buildModelViewerUrl;
|
|
148
148
|
isSceneArEnabled: () => boolean;
|
|
149
149
|
private getPregeneratedARUrl;
|
|
@@ -29,7 +29,7 @@ export interface ProviderValue {
|
|
|
29
29
|
loadComposition: (id: string) => Promise<void>;
|
|
30
30
|
addToCart: (additionalProperties: Record<string, any>) => Promise<void>;
|
|
31
31
|
getPDF: () => Promise<string>;
|
|
32
|
-
getOnlineScreenshot: (width: number, height: number, backgroundColor?: string) => Promise<string>;
|
|
32
|
+
getOnlineScreenshot: (width: number, height: number, backgroundColor?: string, padding?: number) => Promise<string>;
|
|
33
33
|
setCamera: (id: string, onlyAngleOfView?: boolean, animate?: boolean) => void;
|
|
34
34
|
setCameraByName: (name: string, onlyAngleOfView?: boolean, animate?: boolean) => void;
|
|
35
35
|
setCameraZoomEnabled: (enabled: boolean) => void;
|
package/dist/index.js
CHANGED
|
@@ -14508,7 +14508,8 @@ var SceneHelper = /** @class */ (function () {
|
|
|
14508
14508
|
__webpack_require__.r(__webpack_exports__);
|
|
14509
14509
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ScenePreviewData", function() { return ScenePreviewData; });
|
|
14510
14510
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ScenesPreview", function() { return ScenesPreview; });
|
|
14511
|
-
/* harmony import */ var
|
|
14511
|
+
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../.. */ "../../3D/src/index.ts");
|
|
14512
|
+
/* harmony import */ var _SceneHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SceneHelper */ "../../3D/src/Components/SceneHelper.ts");
|
|
14512
14513
|
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14513
14514
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14514
14515
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -14546,6 +14547,7 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod
|
|
|
14546
14547
|
}
|
|
14547
14548
|
};
|
|
14548
14549
|
|
|
14550
|
+
|
|
14549
14551
|
var ScenePreviewData = /** @class */ (function () {
|
|
14550
14552
|
function ScenePreviewData() {
|
|
14551
14553
|
}
|
|
@@ -14590,7 +14592,7 @@ var ScenePreviewMaker = /** @class */ (function () {
|
|
|
14590
14592
|
this.disposeHostingScene();
|
|
14591
14593
|
this.disposeLocalEngine();
|
|
14592
14594
|
};
|
|
14593
|
-
ScenePreviewMaker.prototype.
|
|
14595
|
+
ScenePreviewMaker.prototype.createLocalEngine = function () {
|
|
14594
14596
|
var _a, _b;
|
|
14595
14597
|
if (!this._localEngine) {
|
|
14596
14598
|
var localCanvas = document.createElement('canvas');
|
|
@@ -14601,6 +14603,7 @@ var ScenePreviewMaker = /** @class */ (function () {
|
|
|
14601
14603
|
this._localEngine.setSize(localCanvas.width, localCanvas.height);
|
|
14602
14604
|
this._localEngine.displayLoadingUI = function () { return null; };
|
|
14603
14605
|
this._localEngine.hideLoadingUI = function () { return null; };
|
|
14606
|
+
document.body.appendChild(localCanvas);
|
|
14604
14607
|
}
|
|
14605
14608
|
return this._localEngine;
|
|
14606
14609
|
};
|
|
@@ -14618,16 +14621,16 @@ var ScenePreviewMaker = /** @class */ (function () {
|
|
|
14618
14621
|
scene_1 = new BABYLON.Scene(this._localEngine);
|
|
14619
14622
|
(_a = this._localEngine) === null || _a === void 0 ? void 0 : _a.runRenderLoop(function () { return scene_1.render(); });
|
|
14620
14623
|
if (!scene_1) return [3 /*break*/, 2];
|
|
14621
|
-
helper_1 = new
|
|
14624
|
+
helper_1 = new _SceneHelper__WEBPACK_IMPORTED_MODULE_1__["SceneHelper"](scene_1);
|
|
14622
14625
|
return [4 /*yield*/, new Promise(function (resolve) {
|
|
14623
14626
|
BABYLON.SceneLoader.Append(rootUrl, "data:" + serializedScene, scene_1, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
14624
|
-
var arcCamera, _a;
|
|
14625
|
-
var
|
|
14626
|
-
return __generator(this, function (
|
|
14627
|
-
switch (
|
|
14627
|
+
var arcCamera, _i, _a, meshId, ourMesh, _b;
|
|
14628
|
+
var _c, _d;
|
|
14629
|
+
return __generator(this, function (_e) {
|
|
14630
|
+
switch (_e.label) {
|
|
14628
14631
|
case 0: return [4 /*yield*/, scene_1.whenReadyAsync()];
|
|
14629
14632
|
case 1:
|
|
14630
|
-
|
|
14633
|
+
_e.sent();
|
|
14631
14634
|
if (this._options.camera) {
|
|
14632
14635
|
arcCamera = scene_1.activeCamera;
|
|
14633
14636
|
arcCamera.alpha = this._options.camera.alpha;
|
|
@@ -14636,11 +14639,45 @@ var ScenePreviewMaker = /** @class */ (function () {
|
|
|
14636
14639
|
helper_1.setupCamera();
|
|
14637
14640
|
helper_1.setupLights();
|
|
14638
14641
|
helper_1.adjustCamera(undefined, true, true, false);
|
|
14639
|
-
|
|
14640
|
-
_a =
|
|
14641
|
-
|
|
14642
|
+
if (!(this._options.meshesWithCustomizationIds && this._options.zkDesign && this._options.zkModel && this._options.zkScene)) return [3 /*break*/, 7];
|
|
14643
|
+
_i = 0, _a = this._options.meshesWithCustomizationIds;
|
|
14644
|
+
_e.label = 2;
|
|
14642
14645
|
case 2:
|
|
14643
|
-
_a.
|
|
14646
|
+
if (!(_i < _a.length)) return [3 /*break*/, 5];
|
|
14647
|
+
meshId = _a[_i];
|
|
14648
|
+
ourMesh = scene_1.getMeshByID(meshId);
|
|
14649
|
+
if (!ourMesh) return [3 /*break*/, 4];
|
|
14650
|
+
// Remove serialized clone mesh
|
|
14651
|
+
if (ourMesh.metadata.iscanvasMesh) {
|
|
14652
|
+
ourMesh.dispose();
|
|
14653
|
+
return [3 /*break*/, 4];
|
|
14654
|
+
}
|
|
14655
|
+
// Hide base mesh (TODO: Check where is made in normal sceneviewer)
|
|
14656
|
+
ourMesh.isVisible = false;
|
|
14657
|
+
return [4 /*yield*/, ___WEBPACK_IMPORTED_MODULE_0__["MeshDesignManager"].createMeshDesignManagerAsync(scene_1, this._options.zkScene, ourMesh, ourMesh.subMeshes[0], this._options.zkModel, this._options.zkDesign, true)];
|
|
14658
|
+
case 3:
|
|
14659
|
+
_e.sent();
|
|
14660
|
+
_e.label = 4;
|
|
14661
|
+
case 4:
|
|
14662
|
+
_i++;
|
|
14663
|
+
return [3 /*break*/, 2];
|
|
14664
|
+
case 5:
|
|
14665
|
+
// Sleep
|
|
14666
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
14667
|
+
setTimeout(function () {
|
|
14668
|
+
resolve();
|
|
14669
|
+
}, 1000);
|
|
14670
|
+
})];
|
|
14671
|
+
case 6:
|
|
14672
|
+
// Sleep
|
|
14673
|
+
_e.sent();
|
|
14674
|
+
scene_1.render();
|
|
14675
|
+
_e.label = 7;
|
|
14676
|
+
case 7:
|
|
14677
|
+
_b = container;
|
|
14678
|
+
return [4 /*yield*/, helper_1.takeContentScreenshotAsync((_c = this._options.width) !== null && _c !== void 0 ? _c : 1024, (_d = this._options.height) !== null && _d !== void 0 ? _d : 1024)];
|
|
14679
|
+
case 8:
|
|
14680
|
+
_b.previewFile = _e.sent();
|
|
14644
14681
|
resolve();
|
|
14645
14682
|
return [2 /*return*/];
|
|
14646
14683
|
}
|
|
@@ -14661,7 +14698,7 @@ var ScenePreviewMaker = /** @class */ (function () {
|
|
|
14661
14698
|
return __generator(this, function (_a) {
|
|
14662
14699
|
switch (_a.label) {
|
|
14663
14700
|
case 0:
|
|
14664
|
-
this.
|
|
14701
|
+
this.createLocalEngine();
|
|
14665
14702
|
container = new ScenePreviewData();
|
|
14666
14703
|
return [4 /*yield*/, this.createScenePreviewFileAsync(this._rootUrl, this._scene, container)];
|
|
14667
14704
|
case 1:
|
|
@@ -16320,7 +16357,7 @@ var Utils = /** @class */ (function () {
|
|
|
16320
16357
|
return null;
|
|
16321
16358
|
};
|
|
16322
16359
|
/** Draw an image from data uri on a width * height canvas, create canvas inside method and return the data uri of canvas */
|
|
16323
|
-
Utils.resizeImageFromDataUri = function (dataUrl, width, height) {
|
|
16360
|
+
Utils.resizeImageFromDataUri = function (dataUrl, width, height, padding) {
|
|
16324
16361
|
return new Promise(function (resolve) {
|
|
16325
16362
|
var img = new Image();
|
|
16326
16363
|
img.crossOrigin = "anonymous";
|
|
@@ -16335,7 +16372,7 @@ var Utils = /** @class */ (function () {
|
|
|
16335
16372
|
var ratio = Math.min(width / img.width, height / img.height);
|
|
16336
16373
|
var newImageWidth = img.width * ratio;
|
|
16337
16374
|
var newImageHeight = img.height * ratio;
|
|
16338
|
-
context.drawImage(img, 0, 0, img.width, img.height, (width - newImageWidth) / 2, (height - newImageHeight) / 2, newImageWidth, newImageHeight);
|
|
16375
|
+
context.drawImage(img, 0, 0, img.width, img.height, (width - newImageWidth + padding) / 2, (height - newImageHeight + padding) / 2, newImageWidth - padding, newImageHeight - padding);
|
|
16339
16376
|
var dataUrl_1 = canvas.toDataURL();
|
|
16340
16377
|
resolve(dataUrl_1);
|
|
16341
16378
|
}
|
|
@@ -26073,13 +26110,14 @@ var SceneViewer = /** @class */ (function () {
|
|
|
26073
26110
|
});
|
|
26074
26111
|
});
|
|
26075
26112
|
};
|
|
26076
|
-
SceneViewer.prototype.getSceneContentScreenshotAsync = function (width, height) {
|
|
26113
|
+
SceneViewer.prototype.getSceneContentScreenshotAsync = function (width, height, padding, zkDesign) {
|
|
26114
|
+
if (padding === void 0) { padding = 0; }
|
|
26077
26115
|
return __awaiter(this, void 0, void 0, function () {
|
|
26078
|
-
var data, image;
|
|
26116
|
+
var canvasMeshesOriginalMeshesIds, data, image;
|
|
26079
26117
|
return __generator(this, function (_a) {
|
|
26080
26118
|
switch (_a.label) {
|
|
26081
26119
|
case 0:
|
|
26082
|
-
if (!this._sceneHelper || !this.scene)
|
|
26120
|
+
if (!this._sceneHelper || !this.scene || !this.zkModel || !this.zkScene)
|
|
26083
26121
|
return [2 /*return*/, null];
|
|
26084
26122
|
this.preSceneContentScreenshot();
|
|
26085
26123
|
if (this._environmentManager) {
|
|
@@ -26087,13 +26125,18 @@ var SceneViewer = /** @class */ (function () {
|
|
|
26087
26125
|
this._environmentManager = null;
|
|
26088
26126
|
}
|
|
26089
26127
|
this.setRenderingNeeded();
|
|
26128
|
+
canvasMeshesOriginalMeshesIds = this.scene.meshes.filter(function (x) { var _a; return (_a = x.metadata) === null || _a === void 0 ? void 0 : _a.iscanvasMesh; }).map(function (x) { return x.metadata.originalMeshID; });
|
|
26090
26129
|
return [4 /*yield*/, _Components_ScenePreview_ScenePreview__WEBPACK_IMPORTED_MODULE_13__["ScenesPreview"].getPreviewsAsync(this.scene, this._zkScene.get("rootUrl"), {
|
|
26091
26130
|
width: 1024,
|
|
26092
26131
|
height: 1024,
|
|
26093
26132
|
camera: {
|
|
26094
26133
|
alpha: this.scene.activeCamera.alpha,
|
|
26095
26134
|
beta: this.scene.activeCamera.beta,
|
|
26096
|
-
}
|
|
26135
|
+
},
|
|
26136
|
+
zkScene: this._zkScene,
|
|
26137
|
+
zkModel: this._zkModel,
|
|
26138
|
+
zkDesign: zkDesign,
|
|
26139
|
+
meshesWithCustomizationIds: canvasMeshesOriginalMeshesIds,
|
|
26097
26140
|
})];
|
|
26098
26141
|
case 1:
|
|
26099
26142
|
data = _a.sent();
|
|
@@ -26102,7 +26145,7 @@ var SceneViewer = /** @class */ (function () {
|
|
|
26102
26145
|
image = _a.sent();
|
|
26103
26146
|
if (!image)
|
|
26104
26147
|
throw new Error('Failed cropping image.');
|
|
26105
|
-
return [4 /*yield*/, _Helpers_utils__WEBPACK_IMPORTED_MODULE_7__["Utils"].resizeImageFromDataUri(image, width, height)];
|
|
26148
|
+
return [4 /*yield*/, _Helpers_utils__WEBPACK_IMPORTED_MODULE_7__["Utils"].resizeImageFromDataUri(image, width, height, padding)];
|
|
26106
26149
|
case 3:
|
|
26107
26150
|
// Place on a fixed size canvas
|
|
26108
26151
|
image = _a.sent();
|
|
@@ -42496,15 +42539,16 @@ var ZakekeEnvironment = /** @class */ (function () {
|
|
|
42496
42539
|
this.getCurrentSelection = function () {
|
|
42497
42540
|
return lodash__WEBPACK_IMPORTED_MODULE_0___default.a.cloneDeep(_this.platformAttributesSelection);
|
|
42498
42541
|
};
|
|
42499
|
-
this.getScreenshot = function (width, height, backgroundColor) {
|
|
42542
|
+
this.getScreenshot = function (width, height, backgroundColor, padding) {
|
|
42500
42543
|
if (width === void 0) { width = 1024; }
|
|
42501
42544
|
if (height === void 0) { height = 1024; }
|
|
42502
42545
|
if (backgroundColor === void 0) { backgroundColor = null; }
|
|
42546
|
+
if (padding === void 0) { padding = 0; }
|
|
42503
42547
|
return __awaiter(_this, void 0, void 0, function () {
|
|
42504
42548
|
var url;
|
|
42505
42549
|
return __generator(this, function (_a) {
|
|
42506
42550
|
switch (_a.label) {
|
|
42507
|
-
case 0: return [4 /*yield*/, this.viewer.getSceneContentScreenshotAsync(width, height)];
|
|
42551
|
+
case 0: return [4 /*yield*/, this.viewer.getSceneContentScreenshotAsync(width, height, padding, this.zkCurrentTemplate)];
|
|
42508
42552
|
case 1:
|
|
42509
42553
|
url = _a.sent();
|
|
42510
42554
|
if (!url)
|
|
@@ -42530,7 +42574,9 @@ var ZakekeEnvironment = /** @class */ (function () {
|
|
|
42530
42574
|
case 2:
|
|
42531
42575
|
_a.sent();
|
|
42532
42576
|
_a.label = 3;
|
|
42533
|
-
case 3:
|
|
42577
|
+
case 3:
|
|
42578
|
+
console.log({ url: url });
|
|
42579
|
+
return [2 /*return*/, url];
|
|
42534
42580
|
}
|
|
42535
42581
|
});
|
|
42536
42582
|
});
|
|
@@ -42811,21 +42857,24 @@ var ZakekeEnvironment = /** @class */ (function () {
|
|
|
42811
42857
|
}
|
|
42812
42858
|
return url;
|
|
42813
42859
|
};
|
|
42814
|
-
this.getOnlineScreenshot = function (width, height, backgroundColor
|
|
42815
|
-
|
|
42816
|
-
return
|
|
42817
|
-
|
|
42818
|
-
|
|
42819
|
-
|
|
42820
|
-
|
|
42821
|
-
|
|
42822
|
-
|
|
42823
|
-
|
|
42824
|
-
|
|
42825
|
-
|
|
42826
|
-
|
|
42860
|
+
this.getOnlineScreenshot = function (width, height, backgroundColor, padding) {
|
|
42861
|
+
if (padding === void 0) { padding = 30; }
|
|
42862
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
42863
|
+
var preview, url;
|
|
42864
|
+
return __generator(this, function (_a) {
|
|
42865
|
+
switch (_a.label) {
|
|
42866
|
+
case 0: return [4 /*yield*/, this.getScreenshot(width, height, backgroundColor, padding)];
|
|
42867
|
+
case 1:
|
|
42868
|
+
preview = _a.sent();
|
|
42869
|
+
return [4 /*yield*/, _api__WEBPACK_IMPORTED_MODULE_7__["axiosApi"].post(Zakeke.config.baseApiUrl + "designs/save-share-preview", { preview: preview })];
|
|
42870
|
+
case 2:
|
|
42871
|
+
url = (_a.sent()).data.url;
|
|
42872
|
+
url = this.rewriteShareUrl(url);
|
|
42873
|
+
return [2 /*return*/, url];
|
|
42874
|
+
}
|
|
42875
|
+
});
|
|
42827
42876
|
});
|
|
42828
|
-
}
|
|
42877
|
+
};
|
|
42829
42878
|
// AR - Augmented Reality
|
|
42830
42879
|
this.buildModelViewerUrl = function (fileInfos) {
|
|
42831
42880
|
var url = Zakeke.config.baseUrl + "ModelViewer";
|