@threedddplus/logoeditor 0.0.172 → 0.0.174
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/logoeditor.cjs.development.js +168 -20
- package/dist/logoeditor.cjs.development.js.map +1 -1
- package/dist/logoeditor.cjs.production.min.js +1 -1
- package/dist/logoeditor.cjs.production.min.js.map +1 -1
- package/dist/logoeditor.esm.js +168 -20
- package/dist/logoeditor.esm.js.map +1 -1
- package/package.json +132 -132
package/dist/logoeditor.esm.js
CHANGED
@@ -14681,6 +14681,9 @@ var SaveDesign = function SaveDesign(_ref) {
|
|
14681
14681
|
var _useState = useState(''),
|
14682
14682
|
designNameValidation = _useState[0],
|
14683
14683
|
setDesignNameValidation = _useState[1];
|
14684
|
+
//@ts-ignore
|
14685
|
+
var tempCanvas = new fabric.Canvas();
|
14686
|
+
var dataURL = '';
|
14684
14687
|
var _useState2 = useState(false),
|
14685
14688
|
commaInTagName = _useState2[0],
|
14686
14689
|
setCommaInTagName = _useState2[1];
|
@@ -14712,21 +14715,110 @@ var SaveDesign = function SaveDesign(_ref) {
|
|
14712
14715
|
return nameValidation;
|
14713
14716
|
} else return true;
|
14714
14717
|
};
|
14718
|
+
/*
|
14719
|
+
const getBounds = (objects)=> {
|
14720
|
+
const minX = Math.min(...objects.map(obj => obj.left));
|
14721
|
+
const minY = Math.min(...objects.map(obj => obj.top));
|
14722
|
+
const maxX = Math.max(...objects.map(obj => obj.left + obj.width * obj.scaleX));
|
14723
|
+
const maxY = Math.max(...objects.map(obj => obj.top + obj.height * obj.scaleY));
|
14724
|
+
return {
|
14725
|
+
minX: minX,
|
14726
|
+
minY: minY,
|
14727
|
+
width: maxX - minX,
|
14728
|
+
height: maxY - minY
|
14729
|
+
};
|
14730
|
+
}
|
14731
|
+
const cropAndConvert = async()=>{
|
14732
|
+
const activeObjects = canvas.getObjects();
|
14733
|
+
|
14734
|
+
if (activeObjects.length > 0) {
|
14735
|
+
// Create a new canvas element to handle the selected objects
|
14736
|
+
const croppedCanvas = document.createElement('canvas');
|
14737
|
+
const croppedContext = croppedCanvas.getContext('2d');
|
14738
|
+
// Calculate the size of the new canvas to fit all selected objects
|
14739
|
+
const bounds = getBounds(activeObjects);
|
14740
|
+
croppedCanvas.width = bounds.width;
|
14741
|
+
croppedCanvas.height = bounds.height;
|
14742
|
+
// Draw each object onto the new canvas
|
14743
|
+
activeObjects.forEach((obj) => {
|
14744
|
+
const left = obj.left - bounds.minX;
|
14745
|
+
const top = obj.top - bounds.minY;
|
14746
|
+
if (obj.type === 'group') {
|
14747
|
+
obj._objects.forEach(element => {
|
14748
|
+
const elLeft = element.left + obj.left - bounds.minX;
|
14749
|
+
const elTop = element.top + obj.top - bounds.minY;
|
14750
|
+
console.log(element.type)
|
14751
|
+
if (element.type === 'image') {
|
14752
|
+
const imgElement = element._element;
|
14753
|
+
croppedContext.drawImage(
|
14754
|
+
imgElement,
|
14755
|
+
0, 0, imgElement.width, imgElement.height,
|
14756
|
+
elLeft, elTop,
|
14757
|
+
element.width * element.scaleX, element.height * element.scaleY
|
14758
|
+
);
|
14759
|
+
} else if (element.type === 'text') {
|
14760
|
+
croppedContext.font = `${element.fontSize}px ${element.fontFamily}`;
|
14761
|
+
croppedContext.fillStyle = element.fill;
|
14762
|
+
croppedContext.fillText(
|
14763
|
+
element.text,
|
14764
|
+
elLeft,
|
14765
|
+
elTop + element.fontSize
|
14766
|
+
);
|
14767
|
+
}else if (element.type === 'path') {
|
14768
|
+
const path = new Path2D(element.path);
|
14769
|
+
croppedContext.fillStyle = element.fill;
|
14770
|
+
croppedContext.translate(elLeft, elTop);
|
14771
|
+
croppedContext.fill(path);
|
14772
|
+
croppedContext.translate(-elLeft, -elTop);
|
14773
|
+
}
|
14774
|
+
});
|
14775
|
+
}
|
14776
|
+
if (obj.type === 'image') {
|
14777
|
+
const imgElement = obj._element;
|
14778
|
+
croppedContext.drawImage(
|
14779
|
+
imgElement,
|
14780
|
+
0, 0, imgElement.width, imgElement.height,
|
14781
|
+
left, top,
|
14782
|
+
obj.width * obj.scaleX, obj.height * obj.scaleY
|
14783
|
+
);
|
14784
|
+
} else if (obj.type === 'text') {
|
14785
|
+
croppedContext.font = `${obj.fontSize}px ${obj.fontFamily}`;
|
14786
|
+
croppedContext.fillStyle = obj.fill;
|
14787
|
+
croppedContext.fillText(
|
14788
|
+
obj.text,
|
14789
|
+
left,
|
14790
|
+
top + obj.fontSize
|
14791
|
+
);
|
14792
|
+
}else if (obj.type === 'path') {
|
14793
|
+
const path = new Path2D(obj.path);
|
14794
|
+
croppedContext.fillStyle = obj.fill;
|
14795
|
+
croppedContext.translate(left, top);
|
14796
|
+
croppedContext.fill(path);
|
14797
|
+
croppedContext.translate(-left, -top);
|
14798
|
+
}
|
14799
|
+
});
|
14800
|
+
|
14801
|
+
|
14802
|
+
// Convert the new canvas to a data URL in JPG format and download it
|
14803
|
+
const dataUrl = croppedCanvas.toDataURL();
|
14804
|
+
console.log(dataUrl);
|
14805
|
+
}
|
14806
|
+
}*/
|
14715
14807
|
var onSaveHandler = /*#__PURE__*/function () {
|
14716
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
14717
|
-
var canvasGetobject, pathTextsData,
|
14718
|
-
return _regeneratorRuntime().wrap(function
|
14719
|
-
while (1) switch (
|
14808
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
14809
|
+
var canvasGetobject, pathTextsData, selectAllCanvasObjects, canvasData, pathTextsKeys, i, pathData, o, obj, dataCh, S3UrlPath, canvasSvg, raw, horizontalLine, verticalLine;
|
14810
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
14811
|
+
while (1) switch (_context2.prev = _context2.next) {
|
14720
14812
|
case 0:
|
14721
14813
|
if (isSaving) {
|
14722
|
-
|
14814
|
+
_context2.next = 31;
|
14723
14815
|
break;
|
14724
14816
|
}
|
14725
14817
|
if (checkValidations()) {
|
14726
|
-
|
14818
|
+
_context2.next = 3;
|
14727
14819
|
break;
|
14728
14820
|
}
|
14729
|
-
return
|
14821
|
+
return _context2.abrupt("return");
|
14730
14822
|
case 3:
|
14731
14823
|
setIsSaving(true);
|
14732
14824
|
canvas.backgroundColor = null;
|
@@ -14768,12 +14860,68 @@ var SaveDesign = function SaveDesign(_ref) {
|
|
14768
14860
|
};
|
14769
14861
|
}
|
14770
14862
|
});
|
14771
|
-
|
14772
|
-
|
14773
|
-
|
14774
|
-
|
14775
|
-
|
14776
|
-
|
14863
|
+
selectAllCanvasObjects = function selectAllCanvasObjects(padding) {
|
14864
|
+
if (padding === void 0) {
|
14865
|
+
padding = 20;
|
14866
|
+
}
|
14867
|
+
//@ts-ignore
|
14868
|
+
return new Promise(function (resolve, reject) {
|
14869
|
+
var objs = canvas.getObjects().map(function (obj) {
|
14870
|
+
return obj.set('active', true);
|
14871
|
+
});
|
14872
|
+
var group = new fabric.ActiveSelection(objs, {
|
14873
|
+
canvas: canvas,
|
14874
|
+
originX: 'center',
|
14875
|
+
originY: 'center'
|
14876
|
+
});
|
14877
|
+
canvas.setActiveObject(group);
|
14878
|
+
canvas.requestRenderAll();
|
14879
|
+
group.clone(function (clonedGroup) {
|
14880
|
+
var boundingRect = clonedGroup.getBoundingRect();
|
14881
|
+
var paddedWidth = boundingRect.width + 2 * padding;
|
14882
|
+
var paddedHeight = boundingRect.height + 2 * padding;
|
14883
|
+
tempCanvas.setWidth(paddedWidth);
|
14884
|
+
tempCanvas.setHeight(paddedHeight);
|
14885
|
+
clonedGroup.left = padding + boundingRect.left;
|
14886
|
+
clonedGroup.top = padding + boundingRect.top;
|
14887
|
+
clonedGroup.setCoords();
|
14888
|
+
tempCanvas.add(clonedGroup);
|
14889
|
+
clonedGroup.center();
|
14890
|
+
clonedGroup.setCoords();
|
14891
|
+
tempCanvas.requestRenderAll();
|
14892
|
+
var dataURL = tempCanvas.toDataURL();
|
14893
|
+
tempCanvas.clear();
|
14894
|
+
tempCanvas.dispose();
|
14895
|
+
clonedGroup = null;
|
14896
|
+
canvas.discardActiveObject();
|
14897
|
+
resolve(dataURL);
|
14898
|
+
});
|
14899
|
+
});
|
14900
|
+
};
|
14901
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
14902
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
14903
|
+
while (1) switch (_context.prev = _context.next) {
|
14904
|
+
case 0:
|
14905
|
+
_context.prev = 0;
|
14906
|
+
_context.next = 3;
|
14907
|
+
return selectAllCanvasObjects();
|
14908
|
+
case 3:
|
14909
|
+
dataURL = _context.sent;
|
14910
|
+
console.log(dataURL); // This will log the data URL
|
14911
|
+
_context.next = 10;
|
14912
|
+
break;
|
14913
|
+
case 7:
|
14914
|
+
_context.prev = 7;
|
14915
|
+
_context.t0 = _context["catch"](0);
|
14916
|
+
console.error('Error capturing canvas objects:', _context.t0);
|
14917
|
+
case 10:
|
14918
|
+
case "end":
|
14919
|
+
return _context.stop();
|
14920
|
+
}
|
14921
|
+
}, _callee, null, [[0, 7]]);
|
14922
|
+
}))();
|
14923
|
+
// const dataURL = canvas.toDataURL();
|
14924
|
+
canvasData = use3dddPlus.getState().applyColorFill(); // looping through the text shape objects & taking out text data to inject in the canvas json data & save
|
14777
14925
|
pathTextsKeys = Object.keys(pathTextsData);
|
14778
14926
|
for (i = 0; i < pathTextsKeys.length; i++) {
|
14779
14927
|
pathData = pathTextsData[pathTextsKeys[i]];
|
@@ -14785,10 +14933,10 @@ var SaveDesign = function SaveDesign(_ref) {
|
|
14785
14933
|
}
|
14786
14934
|
}
|
14787
14935
|
dataCh = JSON.stringify(canvasData); // console.log('SAVE-->',dataCh);
|
14788
|
-
|
14936
|
+
_context2.next = 17;
|
14789
14937
|
return uploadLogoConfig(dataCh, use3dddPlus.getState().customerId);
|
14790
|
-
case
|
14791
|
-
S3UrlPath =
|
14938
|
+
case 17:
|
14939
|
+
S3UrlPath = _context2.sent;
|
14792
14940
|
canvasSvg = canvas.toSVG();
|
14793
14941
|
closeModal('', false, '', {});
|
14794
14942
|
raw = JSON.stringify({
|
@@ -14832,18 +14980,18 @@ var SaveDesign = function SaveDesign(_ref) {
|
|
14832
14980
|
setIsSaving(false);
|
14833
14981
|
console.log('ERROR in Save Logo:', ex);
|
14834
14982
|
});
|
14835
|
-
case
|
14983
|
+
case 31:
|
14836
14984
|
use3dddPlus.setState({
|
14837
14985
|
logoName: ''
|
14838
14986
|
});
|
14839
14987
|
use3dddPlus.setState({
|
14840
14988
|
logoTag: []
|
14841
14989
|
});
|
14842
|
-
case
|
14990
|
+
case 33:
|
14843
14991
|
case "end":
|
14844
|
-
return
|
14992
|
+
return _context2.stop();
|
14845
14993
|
}
|
14846
|
-
},
|
14994
|
+
}, _callee2);
|
14847
14995
|
}));
|
14848
14996
|
return function onSaveHandler() {
|
14849
14997
|
return _ref2.apply(this, arguments);
|