@crystaldesign/web-planner-logic 26.3.0-beta.22 → 26.3.0-beta.24
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/build/cjs/{DivaBoxPlanner-b9203013.js → DivaBoxPlanner-3fac7bbb.js} +2 -2
- package/build/cjs/{DivaStandardPlanner-d7d92797.js → DivaStandardPlanner-71c14135.js} +28 -6
- package/build/cjs/{DoorPlanner-15711c77.js → DoorPlanner-005f30c4.js} +1 -1
- package/build/cjs/{Host3DSignalR-c1a8bd75.js → Host3DSignalR-9bb1426e.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-c473a6e8.js → LiviqueWWSHandler-0ee829a1.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-4626d021.js → PfisterWWSHandler-09845f11.js} +1 -1
- package/build/cjs/{PlannerHandler2D-5c34f53d.js → PlannerHandler2D-c163fcb3.js} +154 -25
- package/build/cjs/{SeriousBasketHandler-d4080265.js → SeriousBasketHandler-5814c287.js} +1 -1
- package/build/cjs/{ShelfPlanner-ab2ea058.js → ShelfPlanner-4e9d225b.js} +1 -1
- package/build/cjs/{StandardWWSHandler-aa3e5268.js → StandardWWSHandler-4094a581.js} +1 -1
- package/build/cjs/{index-3189a45d.js → index-93af4c3b.js} +304 -106
- package/build/cjs/index.js +1 -1
- package/build/esm/{DivaBoxPlanner-0fcca16f.js → DivaBoxPlanner-898d6a0b.js} +2 -2
- package/build/esm/{DivaStandardPlanner-667e0a34.js → DivaStandardPlanner-7d01638d.js} +28 -6
- package/build/esm/{DoorPlanner-bf6b34fe.js → DoorPlanner-6d699497.js} +1 -1
- package/build/esm/{Host3DSignalR-c3ad5cf9.js → Host3DSignalR-5231aee4.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-53bca392.js → LiviqueWWSHandler-fe2f6517.js} +1 -1
- package/build/esm/{PfisterWWSHandler-e5937dd6.js → PfisterWWSHandler-86dfcb1e.js} +1 -1
- package/build/esm/{PlannerHandler2D-f1917cec.js → PlannerHandler2D-704588ba.js} +153 -25
- package/build/esm/{SeriousBasketHandler-6beb6cd1.js → SeriousBasketHandler-1d1b7804.js} +1 -1
- package/build/esm/{ShelfPlanner-443399fe.js → ShelfPlanner-40bc17a4.js} +1 -1
- package/build/esm/{StandardWWSHandler-3baa1505.js → StandardWWSHandler-f98d9071.js} +1 -1
- package/build/esm/{index-b3e34122.js → index-a692e3ee.js} +304 -106
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Planner/DockingPointDataType.d.ts +8 -0
- package/build/types/web-planner-logic/src/interface/Planner/DockingPointDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +3 -0
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +2 -6
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +2 -6
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/PlannerHandler2D.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts +22 -0
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +3 -0
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +1 -0
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/BoundingBox.d.ts +11 -3
- package/build/types/web-planner-logic/src/model/Planner/BoundingBox.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts +14 -3
- package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -5,11 +5,11 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-93af4c3b.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
11
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
12
|
+
var PlannerHandler2D = require('./PlannerHandler2D-c163fcb3.js');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
15
15
|
require('@crystaldesign/basket-model');
|
|
@@ -5,9 +5,9 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-93af4c3b.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
10
|
+
var PlannerHandler2D = require('./PlannerHandler2D-c163fcb3.js');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
13
13
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
@@ -227,15 +227,29 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
|
|
|
227
227
|
var refDockingPoint = refElement.getDockingPointById(dockingPoint.OnDP.DpId);
|
|
228
228
|
if (refDockingPoint == undefined) return updateConfig;
|
|
229
229
|
var worldPosNewElement = new index.Vector3(0, 0, 0);
|
|
230
|
+
var worldPosNewElementIgnoreOLF = new index.Vector3(0, 0, 0);
|
|
231
|
+
|
|
232
|
+
// DP LocalWorldPos is OLF-corner-relative when HasOLFPolygon (from SVG). Convert to OLT-corner-relative for WorldPosCornerIgnoreOLF.
|
|
233
|
+
var refDPLocalOlt = refElement.HasOLFPolygon ? new index.Vector2(refDockingPoint.LocalWorldPos.x - refElement.getOltLeft(), refDockingPoint.LocalWorldPos.z - refElement.getOltTop()) : new index.Vector2(refDockingPoint.LocalWorldPos.x, refDockingPoint.LocalWorldPos.z);
|
|
234
|
+
var newDPLocalOlt = plannerElement.HasOLFPolygon ? new index.Vector2(dockingPoint.LocalWorldPos.x - plannerElement.getOltLeft(), dockingPoint.LocalWorldPos.z - plannerElement.getOltTop()) : new index.Vector2(dockingPoint.LocalWorldPos.x, dockingPoint.LocalWorldPos.z);
|
|
230
235
|
var rotatedLocalRefDP = new index.Vector2(refDockingPoint.LocalWorldPos.x, refDockingPoint.LocalWorldPos.z);
|
|
231
236
|
rotatedLocalRefDP = index.Vector2.rotateOrigin(rotatedLocalRefDP, refElement.RotDeg);
|
|
232
237
|
var angleToRot = refElement.RotDeg + refDockingPoint.RotDeg - dockingPoint.RotDeg;
|
|
233
238
|
plannerElement.RotDeg = angleToRot;
|
|
239
|
+
var refWorldPosCor = refElement.WorldPosCorner;
|
|
240
|
+
// For ref without OLF: use same corner for both alignments (no OLF/OLT split; WorldPosCornerIgnoreOLF getter also does this).
|
|
241
|
+
var refWorldPosCorIgnoreOLF = refElement.HasOLFPolygon ? refElement.WorldPosCornerIgnoreOLF : refWorldPosCor;
|
|
234
242
|
var rotatedLocalDP2D = index.Vector2.rotateOrigin(new index.Vector2(dockingPoint.LocalWorldPos.x, dockingPoint.LocalWorldPos.z), angleToRot);
|
|
235
|
-
worldPosNewElement.x =
|
|
236
|
-
worldPosNewElement.y =
|
|
237
|
-
worldPosNewElement.z =
|
|
243
|
+
worldPosNewElement.x = refWorldPosCor.x + rotatedLocalRefDP.x - rotatedLocalDP2D.x;
|
|
244
|
+
worldPosNewElement.y = refWorldPosCor.y + refDockingPoint.LocalWorldPos.y - dockingPoint.LocalWorldPos.y;
|
|
245
|
+
worldPosNewElement.z = refWorldPosCor.z + rotatedLocalRefDP.y - rotatedLocalDP2D.y;
|
|
246
|
+
var rotatedRefDPOlt = index.Vector2.rotateOrigin(refDPLocalOlt, refElement.RotDeg);
|
|
247
|
+
var rotatedNewDPOlt = index.Vector2.rotateOrigin(newDPLocalOlt, angleToRot);
|
|
248
|
+
worldPosNewElementIgnoreOLF.x = refWorldPosCorIgnoreOLF.x + rotatedRefDPOlt.x - rotatedNewDPOlt.x;
|
|
249
|
+
worldPosNewElementIgnoreOLF.z = refWorldPosCorIgnoreOLF.z + rotatedRefDPOlt.y - rotatedNewDPOlt.y;
|
|
250
|
+
worldPosNewElementIgnoreOLF.y = refWorldPosCorIgnoreOLF.y + refDockingPoint.LocalWorldPos.y - dockingPoint.LocalWorldPos.y;
|
|
238
251
|
plannerElement.WorldPosCorner = worldPosNewElement;
|
|
252
|
+
plannerElement.WorldPosCornerIgnoreOLF = worldPosNewElementIgnoreOLF;
|
|
239
253
|
updateConfig = this.set.onDockingChanged(plannerElement.ElementId, refElement.ElementId, 'DOCK', dockingPoint.Type);
|
|
240
254
|
var data = this.set.getPlannerData(plannerElement.ElementId);
|
|
241
255
|
plannerElement.updatePlannerData(data);
|
|
@@ -1804,16 +1818,24 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
|
|
|
1804
1818
|
var width = this.plannerBoundingBox.getWidth(catalog.PlannerMeasureDigits);
|
|
1805
1819
|
var depth = this.plannerBoundingBox.getDepth(catalog.PlannerMeasureDigits);
|
|
1806
1820
|
var height = this.plannerBoundingBox.getHeight(catalog.PlannerMeasureDigits);
|
|
1821
|
+
var widthIgnoreOLF = this.plannerBoundingBox.getWidth(catalog.PlannerMeasureDigits, true);
|
|
1822
|
+
var depthIgnoreOLF = this.plannerBoundingBox.getDepth(catalog.PlannerMeasureDigits, true);
|
|
1823
|
+
var heightIgnoreOLF = this.plannerBoundingBox.getHeight(catalog.PlannerMeasureDigits, true);
|
|
1824
|
+
var olfDefined = widthIgnoreOLF !== width || depthIgnoreOLF !== depth || heightIgnoreOLF !== height;
|
|
1807
1825
|
return {
|
|
1808
1826
|
width: width,
|
|
1809
1827
|
height: height,
|
|
1810
|
-
depth: depth
|
|
1828
|
+
depth: depth,
|
|
1829
|
+
widthIgnoreOLF: olfDefined ? widthIgnoreOLF : undefined,
|
|
1830
|
+
depthIgnoreOLF: olfDefined ? depthIgnoreOLF : undefined,
|
|
1831
|
+
heightIgnoreOLF: olfDefined ? heightIgnoreOLF : undefined
|
|
1811
1832
|
};
|
|
1812
1833
|
}
|
|
1813
1834
|
}, {
|
|
1814
1835
|
key: "updatePlannerBoundingBox",
|
|
1815
1836
|
value: function updatePlannerBoundingBox() {
|
|
1816
1837
|
this.plannerBoundingBox.calcPlannerBoundingBox(this.getAllPlannerElements());
|
|
1838
|
+
this.plannerBoundingBox.calcPlannerBoundingBoxIgnoreOLF(this.getAllPlannerElements());
|
|
1817
1839
|
}
|
|
1818
1840
|
}, {
|
|
1819
1841
|
key: "getCatalogData",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-93af4c3b.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-93af4c3b.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var signalr = require('@microsoft/signalr');
|
|
11
11
|
var io = require('socket.io-client');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-93af4c3b.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-93af4c3b.js');
|
|
6
6
|
var basketModel = require('@crystaldesign/basket-model');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
@@ -5,7 +5,8 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-93af4c3b.js');
|
|
9
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
10
11
|
var fabric = require('fabric');
|
|
11
12
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
@@ -18,6 +19,7 @@ var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallChec
|
|
|
18
19
|
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
19
20
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
20
21
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
22
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
21
23
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
22
24
|
var DivaUtils__default = /*#__PURE__*/_interopDefaultLegacy(DivaUtils);
|
|
23
25
|
var serialize__default = /*#__PURE__*/_interopDefaultLegacy(serialize);
|
|
@@ -134,18 +136,122 @@ var SVGUtils = /*#__PURE__*/function () {
|
|
|
134
136
|
var yArr = points.map(function (c) {
|
|
135
137
|
return c.y;
|
|
136
138
|
});
|
|
137
|
-
var
|
|
138
|
-
var
|
|
139
|
-
var
|
|
140
|
-
var
|
|
141
|
-
var width =
|
|
142
|
-
var height =
|
|
139
|
+
var minX = Math.min.apply(Math, _toConsumableArray__default["default"](xArr));
|
|
140
|
+
var maxX = Math.max.apply(Math, _toConsumableArray__default["default"](xArr));
|
|
141
|
+
var minY = Math.min.apply(Math, _toConsumableArray__default["default"](yArr));
|
|
142
|
+
var maxY = Math.max.apply(Math, _toConsumableArray__default["default"](yArr));
|
|
143
|
+
var width = maxX - minX;
|
|
144
|
+
var height = maxY - minY;
|
|
143
145
|
return {
|
|
144
146
|
width: width,
|
|
145
|
-
height: height
|
|
147
|
+
height: height,
|
|
148
|
+
minX: minX,
|
|
149
|
+
minY: minY
|
|
146
150
|
};
|
|
147
151
|
}
|
|
148
152
|
|
|
153
|
+
/**
|
|
154
|
+
* Returns OLF geometry (minX, minY, width, height) from SVG - supports rect and polygon.
|
|
155
|
+
* Iterates through matches to find first rect/polygon (handles Illustrator group wrappers).
|
|
156
|
+
*/
|
|
157
|
+
}, {
|
|
158
|
+
key: "getOLFGeometryFromSvg",
|
|
159
|
+
value: function getOLFGeometryFromSvg(content) {
|
|
160
|
+
var parser = new DOMParser();
|
|
161
|
+
var xmlDocument = parser.parseFromString(content, 'application/xml');
|
|
162
|
+
var olfObjs = xmlDocument.evaluate("//*[starts-with(@id,'OLF')]", xmlDocument, null, 7, null);
|
|
163
|
+
for (var i = 0; i < olfObjs.snapshotLength; i++) {
|
|
164
|
+
var obj = olfObjs.snapshotItem(i);
|
|
165
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'rect') {
|
|
166
|
+
var _obj$getAttribute, _obj$getAttribute2, _obj$getAttribute3, _obj$getAttribute4;
|
|
167
|
+
var x = parseFloat((_obj$getAttribute = obj.getAttribute('x')) !== null && _obj$getAttribute !== void 0 ? _obj$getAttribute : '0');
|
|
168
|
+
var y = parseFloat((_obj$getAttribute2 = obj.getAttribute('y')) !== null && _obj$getAttribute2 !== void 0 ? _obj$getAttribute2 : '0');
|
|
169
|
+
var width = parseFloat((_obj$getAttribute3 = obj.getAttribute('width')) !== null && _obj$getAttribute3 !== void 0 ? _obj$getAttribute3 : '0');
|
|
170
|
+
var height = parseFloat((_obj$getAttribute4 = obj.getAttribute('height')) !== null && _obj$getAttribute4 !== void 0 ? _obj$getAttribute4 : '0');
|
|
171
|
+
return {
|
|
172
|
+
minX: x,
|
|
173
|
+
minY: y,
|
|
174
|
+
width: width,
|
|
175
|
+
height: height
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'polygon') {
|
|
179
|
+
var pts = obj.getAttribute('points');
|
|
180
|
+
if (pts) {
|
|
181
|
+
var points = pts.split(/\s+/).reduce(function (acc, p) {
|
|
182
|
+
var _p$split = p.split(','),
|
|
183
|
+
_p$split2 = _slicedToArray__default["default"](_p$split, 2),
|
|
184
|
+
x = _p$split2[0],
|
|
185
|
+
y = _p$split2[1];
|
|
186
|
+
if (x != null && y != null) acc.push(new index.Vector2(Number(x), Number(y)));
|
|
187
|
+
return acc;
|
|
188
|
+
}, []);
|
|
189
|
+
if (points.length) {
|
|
190
|
+
var bbox = this.getBoundingBoxOfPoints(points);
|
|
191
|
+
return {
|
|
192
|
+
minX: bbox.minX,
|
|
193
|
+
minY: bbox.minY,
|
|
194
|
+
width: bbox.width,
|
|
195
|
+
height: bbox.height
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Returns OLT geometry (x, y, width, height) from SVG attributes - untransformed coords.
|
|
206
|
+
* Iterates through matches to find first rect/polygon (handles Illustrator group wrappers).
|
|
207
|
+
*/
|
|
208
|
+
}, {
|
|
209
|
+
key: "getOLTGeometryFromSvg",
|
|
210
|
+
value: function getOLTGeometryFromSvg(content) {
|
|
211
|
+
var parser = new DOMParser();
|
|
212
|
+
var xmlDocument = parser.parseFromString(content, 'application/xml');
|
|
213
|
+
var oltObjs = xmlDocument.evaluate("//*[starts-with(@id,'OLT')]", xmlDocument, null, 7, null);
|
|
214
|
+
for (var i = 0; i < oltObjs.snapshotLength; i++) {
|
|
215
|
+
var obj = oltObjs.snapshotItem(i);
|
|
216
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'rect') {
|
|
217
|
+
var _obj$getAttribute5, _obj$getAttribute6, _obj$getAttribute7, _obj$getAttribute8;
|
|
218
|
+
var x = parseFloat((_obj$getAttribute5 = obj.getAttribute('x')) !== null && _obj$getAttribute5 !== void 0 ? _obj$getAttribute5 : '0');
|
|
219
|
+
var y = parseFloat((_obj$getAttribute6 = obj.getAttribute('y')) !== null && _obj$getAttribute6 !== void 0 ? _obj$getAttribute6 : '0');
|
|
220
|
+
var width = parseFloat((_obj$getAttribute7 = obj.getAttribute('width')) !== null && _obj$getAttribute7 !== void 0 ? _obj$getAttribute7 : '0');
|
|
221
|
+
var height = parseFloat((_obj$getAttribute8 = obj.getAttribute('height')) !== null && _obj$getAttribute8 !== void 0 ? _obj$getAttribute8 : '0');
|
|
222
|
+
return {
|
|
223
|
+
x: x,
|
|
224
|
+
y: y,
|
|
225
|
+
width: width,
|
|
226
|
+
height: height
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'polygon') {
|
|
230
|
+
var pts = obj.getAttribute('points');
|
|
231
|
+
if (pts) {
|
|
232
|
+
var points = pts.split(/\s+/).reduce(function (acc, p) {
|
|
233
|
+
var _p$split3 = p.split(','),
|
|
234
|
+
_p$split4 = _slicedToArray__default["default"](_p$split3, 2),
|
|
235
|
+
x = _p$split4[0],
|
|
236
|
+
y = _p$split4[1];
|
|
237
|
+
if (x != null && y != null) acc.push(new index.Vector2(Number(x), Number(y)));
|
|
238
|
+
return acc;
|
|
239
|
+
}, []);
|
|
240
|
+
if (points.length) {
|
|
241
|
+
var bbox = this.getBoundingBoxOfPoints(points);
|
|
242
|
+
return {
|
|
243
|
+
x: bbox.minX,
|
|
244
|
+
y: bbox.minY,
|
|
245
|
+
width: bbox.width,
|
|
246
|
+
height: bbox.height
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return undefined;
|
|
253
|
+
}
|
|
254
|
+
|
|
149
255
|
/**
|
|
150
256
|
* This function looks if the svg has a Mask HTML element. If so it removes all masks from SVG
|
|
151
257
|
* @param content
|
|
@@ -2069,15 +2175,24 @@ var PlannerHandler2D = /*#__PURE__*/function () {
|
|
|
2069
2175
|
}
|
|
2070
2176
|
plannerElement.OLTPolygon = oltPoints;
|
|
2071
2177
|
var olf = this.svgUtils.getPointOfPoligonById(svgXml, 'OLF');
|
|
2178
|
+
var olfGeoEarly = this.svgUtils.getOLFGeometryFromSvg(svgXml);
|
|
2072
2179
|
if (olf !== null && olf !== void 0 && olf.length) {
|
|
2073
|
-
var
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
plannerElement.setupOLF(olf,
|
|
2180
|
+
var _olfGeoEarly$width, _olfGeoEarly$height;
|
|
2181
|
+
var olfBBox = this.svgUtils.getBoundingBoxOfPoints(olf);
|
|
2182
|
+
// Prefer getOLFGeometryFromSvg for dims - single source of truth, handles split(/\s+/) correctly
|
|
2183
|
+
var olfW = (_olfGeoEarly$width = olfGeoEarly === null || olfGeoEarly === void 0 ? void 0 : olfGeoEarly.width) !== null && _olfGeoEarly$width !== void 0 ? _olfGeoEarly$width : olfBBox.width;
|
|
2184
|
+
var olfD = (_olfGeoEarly$height = olfGeoEarly === null || olfGeoEarly === void 0 ? void 0 : olfGeoEarly.height) !== null && _olfGeoEarly$height !== void 0 ? _olfGeoEarly$height : olfBBox.height;
|
|
2185
|
+
plannerElement.setupOLF(olf, olfW, olfD);
|
|
2079
2186
|
} else {
|
|
2080
|
-
|
|
2187
|
+
var olfGeo = this.svgUtils.getOLFGeometryFromSvg(svgXml);
|
|
2188
|
+
if (olfGeo) {
|
|
2189
|
+
var olfRectPoints = [new index.Vector2(olfGeo.minX, olfGeo.minY), new index.Vector2(olfGeo.minX + olfGeo.width, olfGeo.minY), new index.Vector2(olfGeo.minX + olfGeo.width, olfGeo.minY + olfGeo.height), new index.Vector2(olfGeo.minX, olfGeo.minY + olfGeo.height)];
|
|
2190
|
+
plannerElement.setupOLF(olfRectPoints, olfGeo.width, olfGeo.height);
|
|
2191
|
+
} else if (sizes !== null && sizes !== void 0 && sizes.heightOLF, sizes !== null && sizes !== void 0 && sizes.widthOLF) {
|
|
2192
|
+
plannerElement.setupOLF(olf, sizes === null || sizes === void 0 ? void 0 : sizes.widthOLF, sizes === null || sizes === void 0 ? void 0 : sizes.heightOLF);
|
|
2193
|
+
} else {
|
|
2194
|
+
plannerElement.clearOLF();
|
|
2195
|
+
}
|
|
2081
2196
|
}
|
|
2082
2197
|
|
|
2083
2198
|
//if we are running in node js dont do fabric stuff
|
|
@@ -2102,8 +2217,6 @@ var PlannerHandler2D = /*#__PURE__*/function () {
|
|
|
2102
2217
|
break;
|
|
2103
2218
|
case 'OLT':
|
|
2104
2219
|
object.stroke = 'none';
|
|
2105
|
-
oltTop = object.top;
|
|
2106
|
-
oltLeft = object.left;
|
|
2107
2220
|
oltWidth = object.width;
|
|
2108
2221
|
oltDepth = object.height;
|
|
2109
2222
|
break;
|
|
@@ -2111,6 +2224,16 @@ var PlannerHandler2D = /*#__PURE__*/function () {
|
|
|
2111
2224
|
}
|
|
2112
2225
|
olfObjects.push(object);
|
|
2113
2226
|
}
|
|
2227
|
+
// oltLeft/oltTop/oltWidth/oltDepth from SVG attributes (untransformed) - Fabric values wrong for transformed rects
|
|
2228
|
+
var olfGeo = that.svgUtils.getOLFGeometryFromSvg(svgXml);
|
|
2229
|
+
var oltGeo = that.svgUtils.getOLTGeometryFromSvg(svgXml);
|
|
2230
|
+
if (olfGeo && oltGeo) {
|
|
2231
|
+
oltLeft = oltGeo.x - olfGeo.minX;
|
|
2232
|
+
oltTop = oltGeo.y - olfGeo.minY;
|
|
2233
|
+
oltWidth = oltGeo.width;
|
|
2234
|
+
oltDepth = oltGeo.height;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2114
2237
|
//hier wird definitv fabric.js Element erstellt
|
|
2115
2238
|
var fabricShapeOLF = fabric.fabric.util.groupSVGElements(olfObjects, options);
|
|
2116
2239
|
fabricShapeOLF.set({
|
|
@@ -2137,14 +2260,20 @@ var PlannerHandler2D = /*#__PURE__*/function () {
|
|
|
2137
2260
|
plannerElement.SvgData = svgXml;
|
|
2138
2261
|
fabric.fabric.loadSVGFromString(svgXmlOLT, function (objectsOLT, optionsOLT) {
|
|
2139
2262
|
plannerElement.cleanShapeOLT2D();
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2263
|
+
if (oltGeo) {
|
|
2264
|
+
optionsOLT.width = oltGeo.width;
|
|
2265
|
+
optionsOLT.height = oltGeo.height;
|
|
2266
|
+
} else {
|
|
2267
|
+
for (var objNo = 0; objNo < objects.length; objNo++) {
|
|
2268
|
+
var object = objects[objNo];
|
|
2269
|
+
var objID;
|
|
2270
|
+
if (object.id) {
|
|
2271
|
+
objID = object.id.toString();
|
|
2272
|
+
if (objID.startsWith('OLT')) {
|
|
2273
|
+
optionsOLT.height = object.height;
|
|
2274
|
+
optionsOLT.width = object.width;
|
|
2275
|
+
break;
|
|
2276
|
+
}
|
|
2148
2277
|
}
|
|
2149
2278
|
}
|
|
2150
2279
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-93af4c3b.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
6
6
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
7
7
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
8
8
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
9
|
-
var index = require('./index-
|
|
9
|
+
var index = require('./index-93af4c3b.js');
|
|
10
10
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-93af4c3b.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|