@crystaldesign/web-planner-logic 26.11.0-beta.2 → 26.11.0-beta.21
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-68cc1bd1.js → DivaBoxPlanner-051e3b01.js} +134 -47
- package/build/cjs/{DivaStandardPlanner-d44ae0e7.js → DivaStandardPlanner-40846a4f.js} +340 -190
- package/build/cjs/{DoorPlanner-1719cbe1.js → DoorPlanner-51477bb2.js} +3 -1
- package/build/cjs/{Host3DSignalR-a456221e.js → Host3DSignalR-72511b72.js} +41 -24
- package/build/cjs/{LiviqueWWSHandler-f2afb4eb.js → LiviqueWWSHandler-fbfeeb05.js} +3 -1
- package/build/cjs/{PfisterWWSHandler-8f522ab6.js → PfisterWWSHandler-a7ac983b.js} +3 -1
- package/build/cjs/PlannerHandler2D-e2c83aec.js +544 -0
- package/build/cjs/{SeriousBasketHandler-b39f0556.js → SeriousBasketHandler-60853c54.js} +3 -1
- package/build/cjs/{ShelfPlanner-1dde2d7c.js → ShelfPlanner-a901f6da.js} +262 -148
- package/build/cjs/{StandardWWSHandler-62ec343d.js → StandardWWSHandler-3a8a3685.js} +3 -1
- package/build/cjs/{index-d63749e4.js → index-7d87a838.js} +15132 -13899
- package/build/cjs/index.js +13 -2
- package/build/esm/{DivaBoxPlanner-a347ef5d.js → DivaBoxPlanner-a76550ee.js} +134 -47
- package/build/esm/{DivaStandardPlanner-a8f0d722.js → DivaStandardPlanner-56c260dc.js} +339 -190
- package/build/esm/{DoorPlanner-60c065e5.js → DoorPlanner-a40a4342.js} +3 -1
- package/build/esm/{Host3DSignalR-0c7e84a7.js → Host3DSignalR-6f824d99.js} +41 -24
- package/build/esm/{LiviqueWWSHandler-3df03404.js → LiviqueWWSHandler-2f1189d0.js} +3 -1
- package/build/esm/{PfisterWWSHandler-28b609ef.js → PfisterWWSHandler-81238c20.js} +3 -1
- package/build/esm/PlannerHandler2D-d93ae013.js +526 -0
- package/build/esm/{SeriousBasketHandler-276a8035.js → SeriousBasketHandler-bca9210d.js} +3 -1
- package/build/esm/{ShelfPlanner-7380b831.js → ShelfPlanner-539f1b08.js} +262 -148
- package/build/esm/{StandardWWSHandler-1d13f6a3.js → StandardWWSHandler-cdc4c837.js} +3 -1
- package/build/esm/{index-358c0a3c.js → index-b755400a.js} +15128 -13899
- package/build/esm/index.js +3 -1
- package/build/types/web-planner-logic/src/index.d.ts +8 -3
- package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts +13 -0
- package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/ArticleInfoType.d.ts +13 -0
- package/build/types/web-planner-logic/src/interface/Articles/ArticleInfoType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +3 -0
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +5 -0
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +19 -18
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Planner/ISaveSetPlanner.d.ts +37 -0
- package/build/types/web-planner-logic/src/interface/Planner/ISaveSetPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts +5 -0
- package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts +46 -2
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts +4 -0
- package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +12 -2
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts +20 -0
- package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts +31 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +25 -0
- package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts +1 -0
- package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +149 -95
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +19 -0
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts +15 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +11 -1
- 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 +28 -1
- 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/DockingPointHandler.d.ts +9 -114
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/PlannerHandler2D.d.ts +5 -7
- 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 +5 -6
- package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/Host3DSignalR.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts +17 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +2 -2
- package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +31 -3
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/articleGeo.d.ts +9 -0
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/articleGeo.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/parseCatalogXml.d.ts +12 -0
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/parseCatalogXml.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/types.d.ts +66 -0
- package/build/types/web-planner-logic/src/logic/Set/catalogXml/types.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/logic/bootMark.d.ts +71 -0
- package/build/types/web-planner-logic/src/logic/bootMark.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +1 -0
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts +11 -0
- package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +13 -0
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/DockingPoint.d.ts +1 -44
- package/build/types/web-planner-logic/src/model/Planner/DockingPoint.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts +6 -1
- package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/engineFeatureDefaults.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/engineFeatureDefaults.test.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/test/idmPlannerPaletteView.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/idmPlannerPaletteView.test.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/test/parseSvgOltGeometry.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/parseSvgOltGeometry.test.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/test/stretchGoldenMaster.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/stretchGoldenMaster.test.d.ts.map +1 -0
- package/package.json +5 -5
- package/build/cjs/PlannerHandler2D-dbe1d858.js +0 -2470
- package/build/esm/PlannerHandler2D-f8657005.js +0 -2455
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
4
|
+
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
5
|
+
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
+
var index = require('./index-7d87a838.js');
|
|
9
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
10
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
+
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
12
|
+
var planner2dCore = require('@crystaldesign/planner-2d-core');
|
|
13
|
+
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
14
|
+
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
15
|
+
var _get = require('@babel/runtime/helpers/get');
|
|
16
|
+
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
21
|
+
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
22
|
+
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
23
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
25
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
26
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
27
|
+
var DivaUtils__default = /*#__PURE__*/_interopDefaultLegacy(DivaUtils);
|
|
28
|
+
var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
|
|
29
|
+
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
|
|
30
|
+
var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
|
|
31
|
+
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
32
|
+
|
|
33
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
34
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
35
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
36
|
+
var LOG$1 = DivaUtils__default["default"].initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
37
|
+
var SVGUtils = /*#__PURE__*/function () {
|
|
38
|
+
function SVGUtils() {
|
|
39
|
+
_classCallCheck__default["default"](this, SVGUtils);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* This function removes all VIF and OLF information from the SVG. This is used for displaying only the OLT information
|
|
43
|
+
* @param content The svg with OLF and OLT
|
|
44
|
+
* @returns SVG with only OLT information
|
|
45
|
+
*/
|
|
46
|
+
return _createClass__default["default"](SVGUtils, [{
|
|
47
|
+
key: "removeOLFFromSvg",
|
|
48
|
+
value: function removeOLFFromSvg(content) {
|
|
49
|
+
var xmlDocument = planner2dCore.parseXml(content);
|
|
50
|
+
var vifObjs = xmlDocument.evaluate("//*[starts-with(@id,'VIF')]", xmlDocument, null, 7, null);
|
|
51
|
+
if (vifObjs.snapshotLength > 0) {
|
|
52
|
+
for (var i = 0; i < vifObjs.snapshotLength; i++) {
|
|
53
|
+
var _parentElement;
|
|
54
|
+
(_parentElement = vifObjs.snapshotItem(i).parentElement) === null || _parentElement === void 0 || _parentElement.removeChild(vifObjs.snapshotItem(i));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
var olfObjs = xmlDocument.evaluate("//*[starts-with(@id,'OLF')]", xmlDocument, null, 7, null);
|
|
58
|
+
if (olfObjs.snapshotLength > 0) {
|
|
59
|
+
for (var i = 0; i < olfObjs.snapshotLength; i++) {
|
|
60
|
+
var _parentElement2;
|
|
61
|
+
(_parentElement2 = olfObjs.snapshotItem(i).parentElement) === null || _parentElement2 === void 0 || _parentElement2.removeChild(olfObjs.snapshotItem(i));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return planner2dCore.serializeXml(xmlDocument);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* This function returns the DPs of an svg
|
|
69
|
+
* @param content The svg with OLF and OLT
|
|
70
|
+
* @returns SVG with only OLT information
|
|
71
|
+
*/
|
|
72
|
+
}, {
|
|
73
|
+
key: "getDPsInSVG",
|
|
74
|
+
value: function getDPsInSVG(content) {
|
|
75
|
+
var dockingpointsSvgLine = [];
|
|
76
|
+
var xmlDocument = planner2dCore.parseXml(content);
|
|
77
|
+
var dpObjs = xmlDocument.evaluate("//*[starts-with(@id,'AV')]", xmlDocument, null, 7, null);
|
|
78
|
+
if (dpObjs.snapshotLength > 0) {
|
|
79
|
+
for (var i = 0; i < dpObjs.snapshotLength; i++) {
|
|
80
|
+
var obj = dpObjs.snapshotItem(i);
|
|
81
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'line') {
|
|
82
|
+
dockingpointsSvgLine.push({
|
|
83
|
+
x1: Number(obj.getAttribute('x1')),
|
|
84
|
+
y1: Number(obj.getAttribute('y1')),
|
|
85
|
+
x2: Number(obj.getAttribute('x2')),
|
|
86
|
+
y2: Number(obj.getAttribute('y2')),
|
|
87
|
+
dockingName: obj.getAttribute('id'),
|
|
88
|
+
dockingType: obj.getAttribute('id').substring(0, 3)
|
|
89
|
+
});
|
|
90
|
+
} else {
|
|
91
|
+
throw new Error('nodename type: ' + obj.nodeName + ' not implemented');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
dockingpointsSvgLine.sort(function (a, b) {
|
|
96
|
+
if (a.dockingType === 'AVL') return -1;
|
|
97
|
+
if (a.dockingType === 'AVR' && ['AVR', 'AVC', 'AVU', 'AVO', 'AVS', 'AVN'].includes(b.dockingType)) return -1;
|
|
98
|
+
return 0;
|
|
99
|
+
});
|
|
100
|
+
return dockingpointsSvgLine;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* This function returns the DPs of an svg
|
|
105
|
+
* @param content The svg with OLF and OLT
|
|
106
|
+
* @returns SVG with only OLT information
|
|
107
|
+
*/
|
|
108
|
+
}, {
|
|
109
|
+
key: "getPointOfPoligonById",
|
|
110
|
+
value: function getPointOfPoligonById(content, id) {
|
|
111
|
+
var points = [];
|
|
112
|
+
var xmlDocument = planner2dCore.parseXml(content);
|
|
113
|
+
var dpObjs = xmlDocument.evaluate("//*[starts-with(@id,'" + id + "')]", xmlDocument, null, 7, null);
|
|
114
|
+
if (dpObjs.snapshotLength > 1 || dpObjs.snapshotLength == 0) return undefined;
|
|
115
|
+
for (var i = 0; i < dpObjs.snapshotLength; i++) {
|
|
116
|
+
var obj = dpObjs.snapshotItem(i);
|
|
117
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'polygon') {
|
|
118
|
+
var pointsAsString = obj.getAttribute('points');
|
|
119
|
+
if (pointsAsString) {
|
|
120
|
+
var pointsFromString = pointsAsString.split(' ');
|
|
121
|
+
for (var j = 0; j < pointsFromString.length; j++) {
|
|
122
|
+
var xandY = pointsFromString[j].split(',');
|
|
123
|
+
if (xandY.length !== 2) continue;
|
|
124
|
+
points.push(new index.Vector2(Number(xandY[0]), Number(xandY[1])));
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return points;
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
key: "getBoundingBoxOfPoints",
|
|
135
|
+
value: function getBoundingBoxOfPoints(points) {
|
|
136
|
+
var xArr = points.map(function (c) {
|
|
137
|
+
return c.x;
|
|
138
|
+
});
|
|
139
|
+
var yArr = points.map(function (c) {
|
|
140
|
+
return c.y;
|
|
141
|
+
});
|
|
142
|
+
var minX = Math.min.apply(Math, _toConsumableArray__default["default"](xArr));
|
|
143
|
+
var maxX = Math.max.apply(Math, _toConsumableArray__default["default"](xArr));
|
|
144
|
+
var minY = Math.min.apply(Math, _toConsumableArray__default["default"](yArr));
|
|
145
|
+
var maxY = Math.max.apply(Math, _toConsumableArray__default["default"](yArr));
|
|
146
|
+
var width = maxX - minX;
|
|
147
|
+
var height = maxY - minY;
|
|
148
|
+
return {
|
|
149
|
+
width: width,
|
|
150
|
+
height: height,
|
|
151
|
+
minX: minX,
|
|
152
|
+
minY: minY
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Returns OLF geometry (minX, minY, width, height) from SVG - supports rect and polygon.
|
|
158
|
+
* Iterates through matches to find first rect/polygon (handles Illustrator group wrappers).
|
|
159
|
+
*/
|
|
160
|
+
}, {
|
|
161
|
+
key: "getOLFGeometryFromSvg",
|
|
162
|
+
value: function getOLFGeometryFromSvg(content) {
|
|
163
|
+
var xmlDocument = planner2dCore.parseXml(content);
|
|
164
|
+
var olfObjs = xmlDocument.evaluate("//*[starts-with(@id,'OLF')]", xmlDocument, null, 7, null);
|
|
165
|
+
for (var i = 0; i < olfObjs.snapshotLength; i++) {
|
|
166
|
+
var obj = olfObjs.snapshotItem(i);
|
|
167
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'rect') {
|
|
168
|
+
var _obj$getAttribute, _obj$getAttribute2, _obj$getAttribute3, _obj$getAttribute4;
|
|
169
|
+
var x = parseFloat((_obj$getAttribute = obj.getAttribute('x')) !== null && _obj$getAttribute !== void 0 ? _obj$getAttribute : '0');
|
|
170
|
+
var y = parseFloat((_obj$getAttribute2 = obj.getAttribute('y')) !== null && _obj$getAttribute2 !== void 0 ? _obj$getAttribute2 : '0');
|
|
171
|
+
var width = parseFloat((_obj$getAttribute3 = obj.getAttribute('width')) !== null && _obj$getAttribute3 !== void 0 ? _obj$getAttribute3 : '0');
|
|
172
|
+
var height = parseFloat((_obj$getAttribute4 = obj.getAttribute('height')) !== null && _obj$getAttribute4 !== void 0 ? _obj$getAttribute4 : '0');
|
|
173
|
+
return {
|
|
174
|
+
minX: x,
|
|
175
|
+
minY: y,
|
|
176
|
+
width: width,
|
|
177
|
+
height: height
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'polygon') {
|
|
181
|
+
var pts = obj.getAttribute('points');
|
|
182
|
+
if (pts) {
|
|
183
|
+
var points = pts.split(/\s+/).reduce(function (acc, p) {
|
|
184
|
+
var _p$split = p.split(','),
|
|
185
|
+
_p$split2 = _slicedToArray__default["default"](_p$split, 2),
|
|
186
|
+
x = _p$split2[0],
|
|
187
|
+
y = _p$split2[1];
|
|
188
|
+
if (x != null && y != null) acc.push(new index.Vector2(Number(x), Number(y)));
|
|
189
|
+
return acc;
|
|
190
|
+
}, []);
|
|
191
|
+
if (points.length) {
|
|
192
|
+
var bbox = this.getBoundingBoxOfPoints(points);
|
|
193
|
+
return {
|
|
194
|
+
minX: bbox.minX,
|
|
195
|
+
minY: bbox.minY,
|
|
196
|
+
width: bbox.width,
|
|
197
|
+
height: bbox.height
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Returns OLT geometry (x, y, width, height) from SVG attributes - untransformed coords.
|
|
208
|
+
* Iterates through matches to find first rect/polygon (handles Illustrator group wrappers).
|
|
209
|
+
*/
|
|
210
|
+
}, {
|
|
211
|
+
key: "getOLTGeometryFromSvg",
|
|
212
|
+
value: function getOLTGeometryFromSvg(content) {
|
|
213
|
+
var xmlDocument = planner2dCore.parseXml(content);
|
|
214
|
+
var oltObjs = xmlDocument.evaluate("//*[starts-with(@id,'OLT')]", xmlDocument, null, 7, null);
|
|
215
|
+
for (var i = 0; i < oltObjs.snapshotLength; i++) {
|
|
216
|
+
var obj = oltObjs.snapshotItem(i);
|
|
217
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'rect') {
|
|
218
|
+
var _obj$getAttribute5, _obj$getAttribute6, _obj$getAttribute7, _obj$getAttribute8;
|
|
219
|
+
var x = parseFloat((_obj$getAttribute5 = obj.getAttribute('x')) !== null && _obj$getAttribute5 !== void 0 ? _obj$getAttribute5 : '0');
|
|
220
|
+
var y = parseFloat((_obj$getAttribute6 = obj.getAttribute('y')) !== null && _obj$getAttribute6 !== void 0 ? _obj$getAttribute6 : '0');
|
|
221
|
+
var width = parseFloat((_obj$getAttribute7 = obj.getAttribute('width')) !== null && _obj$getAttribute7 !== void 0 ? _obj$getAttribute7 : '0');
|
|
222
|
+
var height = parseFloat((_obj$getAttribute8 = obj.getAttribute('height')) !== null && _obj$getAttribute8 !== void 0 ? _obj$getAttribute8 : '0');
|
|
223
|
+
return {
|
|
224
|
+
x: x,
|
|
225
|
+
y: y,
|
|
226
|
+
width: width,
|
|
227
|
+
height: height
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.nodeName) === 'polygon') {
|
|
231
|
+
var pts = obj.getAttribute('points');
|
|
232
|
+
if (pts) {
|
|
233
|
+
var points = pts.split(/\s+/).reduce(function (acc, p) {
|
|
234
|
+
var _p$split3 = p.split(','),
|
|
235
|
+
_p$split4 = _slicedToArray__default["default"](_p$split3, 2),
|
|
236
|
+
x = _p$split4[0],
|
|
237
|
+
y = _p$split4[1];
|
|
238
|
+
if (x != null && y != null) acc.push(new index.Vector2(Number(x), Number(y)));
|
|
239
|
+
return acc;
|
|
240
|
+
}, []);
|
|
241
|
+
if (points.length) {
|
|
242
|
+
var bbox = this.getBoundingBoxOfPoints(points);
|
|
243
|
+
return {
|
|
244
|
+
x: bbox.minX,
|
|
245
|
+
y: bbox.minY,
|
|
246
|
+
width: bbox.width,
|
|
247
|
+
height: bbox.height
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* This function looks if the svg has a Mask HTML element. If so it removes all masks from SVG
|
|
258
|
+
* @param content
|
|
259
|
+
*/
|
|
260
|
+
}, {
|
|
261
|
+
key: "removeMaskFromSvg",
|
|
262
|
+
value: function removeMaskFromSvg(content) {
|
|
263
|
+
return planner2dCore.removeMask(content);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Stretches the SVG to the target OLT size and passes the result to the callback.
|
|
268
|
+
* @param svgSourceUrl optional URL / path of the loaded SVG for diagnostics
|
|
269
|
+
*/
|
|
270
|
+
}, {
|
|
271
|
+
key: "ccCheckStretchAreas",
|
|
272
|
+
value: function ccCheckStretchAreas(content, newWidthCM, newHeightCM, useglobalSvgScale, svgMinBorderXVal, svgMinBorderYVal, callback, svgSourceUrl) {
|
|
273
|
+
var result = planner2dCore.stretchArticleSvg(content, newWidthCM, newHeightCM, {
|
|
274
|
+
useGlobalScale: useglobalSvgScale,
|
|
275
|
+
minBorderX: svgMinBorderXVal,
|
|
276
|
+
minBorderY: svgMinBorderYVal
|
|
277
|
+
});
|
|
278
|
+
var _iterator = _createForOfIteratorHelper(result.warnings),
|
|
279
|
+
_step;
|
|
280
|
+
try {
|
|
281
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
282
|
+
var warning = _step.value;
|
|
283
|
+
LOG$1.warn('[SVGUtils] ccCheckStretchAreas: ' + warning + (svgSourceUrl ? ' (svg: ' + svgSourceUrl + ')' : ''));
|
|
284
|
+
}
|
|
285
|
+
} catch (err) {
|
|
286
|
+
_iterator.e(err);
|
|
287
|
+
} finally {
|
|
288
|
+
_iterator.f();
|
|
289
|
+
}
|
|
290
|
+
callback(result.svg);
|
|
291
|
+
return result.sizes;
|
|
292
|
+
}
|
|
293
|
+
}]);
|
|
294
|
+
}();
|
|
295
|
+
|
|
296
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf__default["default"](o), _possibleConstructorReturn__default["default"](t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf__default["default"](t).constructor) : o.apply(t, e)); }
|
|
297
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
298
|
+
function _superPropGet(t, e, o, r) { var p = _get__default["default"](_getPrototypeOf__default["default"](1 & r ? t.prototype : t), e, o); return 2 & r && "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
|
|
299
|
+
|
|
300
|
+
/** Legacy minBorder parameter shape still used by this package's callers. */
|
|
301
|
+
/** Docking point handler that additionally accepts the legacy minBorder shape. */
|
|
302
|
+
var DockingPointHandler = /*#__PURE__*/function (_CoreDockingPointHand) {
|
|
303
|
+
function DockingPointHandler() {
|
|
304
|
+
_classCallCheck__default["default"](this, DockingPointHandler);
|
|
305
|
+
return _callSuper(this, DockingPointHandler, arguments);
|
|
306
|
+
}
|
|
307
|
+
_inherits__default["default"](DockingPointHandler, _CoreDockingPointHand);
|
|
308
|
+
return _createClass__default["default"](DockingPointHandler, [{
|
|
309
|
+
key: "initDockingPointsFromSvg",
|
|
310
|
+
value: function initDockingPointsFromSvg(plannerElement, dockingVectors, minBorder, plannerConfig) {
|
|
311
|
+
var normalized = 'minX' in minBorder ? minBorder : {
|
|
312
|
+
minX: minBorder.svgMinXVal,
|
|
313
|
+
minY: minBorder.svgMinYVal
|
|
314
|
+
};
|
|
315
|
+
_superPropGet(DockingPointHandler, "initDockingPointsFromSvg", this, 3)([plannerElement, dockingVectors, normalized, plannerConfig]);
|
|
316
|
+
}
|
|
317
|
+
}]);
|
|
318
|
+
}(planner2dCore.DockingPointHandler);
|
|
319
|
+
var dockingPointHandlerInst = new DockingPointHandler();
|
|
320
|
+
|
|
321
|
+
var LOG = DivaUtils__default["default"].initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Loads and parses the article SVGs of planner elements and computes element collisions.
|
|
325
|
+
* Runs headless; the fabric shapes for the visible 2D canvas are built by the render layer from SvgData.
|
|
326
|
+
*/
|
|
327
|
+
var PlannerHandler2D = /*#__PURE__*/function () {
|
|
328
|
+
function PlannerHandler2D() {
|
|
329
|
+
_classCallCheck__default["default"](this, PlannerHandler2D);
|
|
330
|
+
_defineProperty__default["default"](this, "svgUtils", void 0);
|
|
331
|
+
this.svgUtils = new SVGUtils();
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* This function computes the collision between two elements.
|
|
335
|
+
* First it computes the collision with the bounding box. Only if these collide - we compute the collision between the OLF Polygons
|
|
336
|
+
* @param element1
|
|
337
|
+
* @param element2
|
|
338
|
+
*/
|
|
339
|
+
return _createClass__default["default"](PlannerHandler2D, [{
|
|
340
|
+
key: "checkCollision",
|
|
341
|
+
value: function checkCollision(element1, element2, checkCollisionForDifferentLayers) {
|
|
342
|
+
DivaUtils__default["default"].startSpanOfApm('PlannerHandler2D checkCollision');
|
|
343
|
+
if (element1.Layer != element2.Layer && (!checkCollisionForDifferentLayers.includes(Number(element1.Layer)) || !checkCollisionForDifferentLayers.includes(Number(element2.Layer)))) {
|
|
344
|
+
DivaUtils__default["default"].endSpanOfApm('PlannerHandler2D checkCollision');
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
var bboxPoints1 = element1.getWorld2DBBoxOutline();
|
|
348
|
+
var bboxPoints2 = element2.getWorld2DBBoxOutline();
|
|
349
|
+
if (planner2dCore.polygonEdgesIntersect(bboxPoints1, bboxPoints2)) {
|
|
350
|
+
if (!element1.HasOLTPolygon && !element1.HasOLFPolygon) {
|
|
351
|
+
LOG.error(new DivaUtils.DivaError('checkCollision PlannerHandler2D - The element with id: ' + element1.getElementId() + ' has no OLT AND no OLF', {
|
|
352
|
+
code: 'WC_0012'
|
|
353
|
+
}));
|
|
354
|
+
DivaUtils__default["default"].endSpanOfApm('PlannerHandler2D checkCollision');
|
|
355
|
+
return false;
|
|
356
|
+
} else if (!element2.HasOLTPolygon && !element2.HasOLFPolygon) {
|
|
357
|
+
LOG.error(new DivaUtils.DivaError('checkCollision PlannerHandler2D - The element with id: ' + element2.getElementId() + ' has no OLT AND no OLF', {
|
|
358
|
+
code: 'WC_0012'
|
|
359
|
+
}));
|
|
360
|
+
DivaUtils__default["default"].endSpanOfApm('PlannerHandler2D checkCollision');
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
363
|
+
var detailPolygon1 = element1.HasOLFPolygon ? element1.getOLFPolygonWorldPos() : element1.getOLTPolygonWorldPos();
|
|
364
|
+
var detailPolygon2 = element2.HasOLFPolygon ? element2.getOLFPolygonWorldPos() : element2.getOLTPolygonWorldPos();
|
|
365
|
+
DivaUtils__default["default"].endSpanOfApm('PlannerHandler2D checkCollision');
|
|
366
|
+
return planner2dCore.polygonEdgesIntersect(detailPolygon1, detailPolygon2);
|
|
367
|
+
} else {
|
|
368
|
+
DivaUtils__default["default"].endSpanOfApm('PlannerHandler2D checkCollision');
|
|
369
|
+
return planner2dCore.polygonInsidePolygon(bboxPoints1, bboxPoints2); //wenn sie sich nicht überschneiden untersuche, ob ein Polygon genau innerhalb des anderen liegt
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}, {
|
|
373
|
+
key: "parseSvg",
|
|
374
|
+
value: function parseSvg(plannerElement, svgXml, minBorderSVG, plannerconfig, sizes) {
|
|
375
|
+
var _oltGeo$width, _oltGeo$height;
|
|
376
|
+
svgXml = this.svgUtils.removeMaskFromSvg(svgXml); //Correct mask attributes
|
|
377
|
+
dockingPointHandlerInst.initDockingPointsFromSvg(plannerElement, this.svgUtils.getDPsInSVG(svgXml), minBorderSVG, plannerconfig);
|
|
378
|
+
var oltPoints = this.svgUtils.getPointOfPoligonById(svgXml, 'OLT');
|
|
379
|
+
if (!(oltPoints !== null && oltPoints !== void 0 && oltPoints.length)) {
|
|
380
|
+
LOG.warn('no olt fount in svg for element' + plannerElement.ArticleCodex + ' with id ' + plannerElement.getElementId());
|
|
381
|
+
}
|
|
382
|
+
plannerElement.OLTPolygon = oltPoints;
|
|
383
|
+
var olf = this.svgUtils.getPointOfPoligonById(svgXml, 'OLF');
|
|
384
|
+
var olfGeo = planner2dCore.getOlfGeometry(svgXml);
|
|
385
|
+
if (olf !== null && olf !== void 0 && olf.length) {
|
|
386
|
+
var _olfGeo$width, _olfGeo$height;
|
|
387
|
+
var olfBBox = this.svgUtils.getBoundingBoxOfPoints(olf);
|
|
388
|
+
// Prefer getOlfGeometry for dims - single source of truth, handles split(/\s+/) correctly
|
|
389
|
+
var olfW = (_olfGeo$width = olfGeo === null || olfGeo === void 0 ? void 0 : olfGeo.width) !== null && _olfGeo$width !== void 0 ? _olfGeo$width : olfBBox.width;
|
|
390
|
+
var olfD = (_olfGeo$height = olfGeo === null || olfGeo === void 0 ? void 0 : olfGeo.height) !== null && _olfGeo$height !== void 0 ? _olfGeo$height : olfBBox.height;
|
|
391
|
+
plannerElement.setupOLF(olf, olfW, olfD);
|
|
392
|
+
} else {
|
|
393
|
+
if (olfGeo) {
|
|
394
|
+
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)];
|
|
395
|
+
plannerElement.setupOLF(olfRectPoints, olfGeo.width, olfGeo.height);
|
|
396
|
+
} else if (sizes !== null && sizes !== void 0 && sizes.heightOLF, sizes !== null && sizes !== void 0 && sizes.widthOLF) {
|
|
397
|
+
plannerElement.setupOLF(olf, sizes === null || sizes === void 0 ? void 0 : sizes.widthOLF, sizes === null || sizes === void 0 ? void 0 : sizes.heightOLF);
|
|
398
|
+
} else {
|
|
399
|
+
plannerElement.clearOLF();
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Assign unconditionally: parseSvg re-runs per measure change, so keeping the previous SVG's OLT box would offset docked neighbours.
|
|
404
|
+
var oltGeo = planner2dCore.getOltGeometry(svgXml);
|
|
405
|
+
plannerElement.OLTWidth = (_oltGeo$width = oltGeo === null || oltGeo === void 0 ? void 0 : oltGeo.width) !== null && _oltGeo$width !== void 0 ? _oltGeo$width : 0;
|
|
406
|
+
plannerElement.OLTDepth = (_oltGeo$height = oltGeo === null || oltGeo === void 0 ? void 0 : oltGeo.height) !== null && _oltGeo$height !== void 0 ? _oltGeo$height : 0;
|
|
407
|
+
plannerElement.OLTLeft = oltGeo && olfGeo ? oltGeo.x - olfGeo.minX : 0;
|
|
408
|
+
plannerElement.OLTTop = oltGeo && olfGeo ? oltGeo.y - olfGeo.minY : 0;
|
|
409
|
+
if (plannerElement.DoSetWidthFromSVG || plannerElement.DoSetDepthFromSVG) {
|
|
410
|
+
// The ROOT size, not the ink bounds: an article whose drawing does not fill its canvas must still report the canvas size.
|
|
411
|
+
var rootSize = planner2dCore.getRootSize(svgXml);
|
|
412
|
+
if (plannerElement.DoSetWidthFromSVG && rootSize !== null && rootSize !== void 0 && rootSize.width) plannerElement.WidthFromSVG = rootSize.width / DivaUtils__default["default"].UnitRecalc;
|
|
413
|
+
// since the svg is always top down perspective height in 2D represents depth in 2D planner and 3D
|
|
414
|
+
if (plannerElement.DoSetDepthFromSVG && rootSize !== null && rootSize !== void 0 && rootSize.height) plannerElement.DepthFromSVG = rootSize.height / DivaUtils__default["default"].UnitRecalc;
|
|
415
|
+
}
|
|
416
|
+
plannerElement.SvgData = svgXml;
|
|
417
|
+
// Clearing marks the shapes stale - the render layer rebuilds them from SvgData.
|
|
418
|
+
plannerElement.cleanShapeOLF2D();
|
|
419
|
+
plannerElement.cleanShapeOLT2D();
|
|
420
|
+
}
|
|
421
|
+
}, {
|
|
422
|
+
key: "getMinBorderSVG",
|
|
423
|
+
value: function getMinBorderSVG(svgXml) {
|
|
424
|
+
var minBorder = planner2dCore.getMinBorder(svgXml);
|
|
425
|
+
return {
|
|
426
|
+
svgMinXVal: minBorder.minX,
|
|
427
|
+
svgMinYVal: minBorder.minY
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
/*
|
|
431
|
+
This function is used to load the SVG of the element and set everything up.
|
|
432
|
+
*/
|
|
433
|
+
}, {
|
|
434
|
+
key: "loadSVG",
|
|
435
|
+
value: (function () {
|
|
436
|
+
var _loadSVG = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(plannerElement, set) {
|
|
437
|
+
var _this = this;
|
|
438
|
+
var svgFile, svgContentXML, svgContent, result, svgNewWidth, svgNewDepth, sizes, minBoderSVG, svgSourceUrl, correctedContent;
|
|
439
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
440
|
+
while (1) switch (_context.prev = _context.next) {
|
|
441
|
+
case 0:
|
|
442
|
+
svgFile = plannerElement.SvgFileName;
|
|
443
|
+
if (svgFile) {
|
|
444
|
+
_context.next = 3;
|
|
445
|
+
break;
|
|
446
|
+
}
|
|
447
|
+
return _context.abrupt("return", false);
|
|
448
|
+
case 3:
|
|
449
|
+
if (!set.CatalogData.isIDMFormat) {
|
|
450
|
+
_context.next = 9;
|
|
451
|
+
break;
|
|
452
|
+
}
|
|
453
|
+
_context.next = 6;
|
|
454
|
+
return set.api.fetchData(svgFile, {
|
|
455
|
+
method: 'GET',
|
|
456
|
+
config: {},
|
|
457
|
+
data: {}
|
|
458
|
+
});
|
|
459
|
+
case 6:
|
|
460
|
+
svgContentXML = _context.sent;
|
|
461
|
+
_context.next = 16;
|
|
462
|
+
break;
|
|
463
|
+
case 9:
|
|
464
|
+
_context.next = 11;
|
|
465
|
+
return set.api.getDataCache(this.getSVGUrl(svgFile, set.CatalogData.mediaUrl), undefined, set.CatalogData.accountSessionGuid);
|
|
466
|
+
case 11:
|
|
467
|
+
result = _context.sent;
|
|
468
|
+
if (!result.Error) {
|
|
469
|
+
_context.next = 14;
|
|
470
|
+
break;
|
|
471
|
+
}
|
|
472
|
+
throw new Error(result.Error);
|
|
473
|
+
case 14:
|
|
474
|
+
if (result.Result.toLowerCase() == 'success') {
|
|
475
|
+
svgContent = result.Content;
|
|
476
|
+
}
|
|
477
|
+
svgContentXML = DivaUtils__default["default"].decodeBase64(svgContent);
|
|
478
|
+
case 16:
|
|
479
|
+
if (!svgContentXML) {
|
|
480
|
+
LOG.error(new DivaUtils.DivaError('Fehler beim laden des SVGs ', {
|
|
481
|
+
code: 'WC_0009',
|
|
482
|
+
custom: {
|
|
483
|
+
svgFile: svgFile
|
|
484
|
+
}
|
|
485
|
+
}));
|
|
486
|
+
}
|
|
487
|
+
plannerElement.svgBefore = svgContentXML;
|
|
488
|
+
svgNewWidth = plannerElement.Width;
|
|
489
|
+
svgNewDepth = plannerElement.Depth;
|
|
490
|
+
//fix for "kissen" that didnt had a depth but do have a height https://app.asana.com/0/1201426433314773/1201432109700389
|
|
491
|
+
if (svgNewDepth === -1 && plannerElement.Height !== -1) svgNewDepth = plannerElement.Height;
|
|
492
|
+
if (!(svgNewWidth != undefined && svgNewWidth > 0 && svgNewDepth != undefined && svgNewDepth > 0)) {
|
|
493
|
+
_context.next = 31;
|
|
494
|
+
break;
|
|
495
|
+
}
|
|
496
|
+
minBoderSVG = this.getMinBorderSVG(svgContentXML);
|
|
497
|
+
svgSourceUrl = set.CatalogData.isIDMFormat ? svgFile : "".concat(set.CatalogData.mediaUrl, "pln_").concat(svgFile);
|
|
498
|
+
correctedContent = '';
|
|
499
|
+
_context.next = 27;
|
|
500
|
+
return new Promise(function (resolve, reject) {
|
|
501
|
+
sizes = _this.svgUtils.ccCheckStretchAreas(svgContentXML, svgNewWidth, svgNewDepth, set.CatalogData.useGlobalSVGScale, minBoderSVG.svgMinXVal, minBoderSVG.svgMinYVal, function (_correctedContent) {
|
|
502
|
+
correctedContent = _correctedContent;
|
|
503
|
+
resolve();
|
|
504
|
+
}, svgSourceUrl);
|
|
505
|
+
});
|
|
506
|
+
case 27:
|
|
507
|
+
plannerElement.svgAfter = correctedContent;
|
|
508
|
+
this.parseSvg(plannerElement, correctedContent, minBoderSVG, set.CatalogData.getPlannerConfig(), sizes);
|
|
509
|
+
_context.next = 33;
|
|
510
|
+
break;
|
|
511
|
+
case 31:
|
|
512
|
+
plannerElement.svgAfter = svgContentXML;
|
|
513
|
+
this.parseSvg(plannerElement, svgContentXML, {
|
|
514
|
+
svgMinXVal: 0,
|
|
515
|
+
svgMinYVal: 0
|
|
516
|
+
}, set.CatalogData.getPlannerConfig());
|
|
517
|
+
case 33:
|
|
518
|
+
return _context.abrupt("return", true);
|
|
519
|
+
case 34:
|
|
520
|
+
case "end":
|
|
521
|
+
return _context.stop();
|
|
522
|
+
}
|
|
523
|
+
}, _callee, this);
|
|
524
|
+
}));
|
|
525
|
+
function loadSVG(_x, _x2) {
|
|
526
|
+
return _loadSVG.apply(this, arguments);
|
|
527
|
+
}
|
|
528
|
+
return loadSVG;
|
|
529
|
+
}())
|
|
530
|
+
}, {
|
|
531
|
+
key: "getSVGUrl",
|
|
532
|
+
value: function getSVGUrl(svgFile, mediaUrl) {
|
|
533
|
+
var url = mediaUrl + 'pln_' + svgFile;
|
|
534
|
+
//Split url
|
|
535
|
+
var index = url.indexOf('/files/');
|
|
536
|
+
url = url.substring(index);
|
|
537
|
+
return 'function=GetFileAsString' + '&fileUrl=' + encodeURIComponent(url);
|
|
538
|
+
}
|
|
539
|
+
}]);
|
|
540
|
+
}();
|
|
541
|
+
var handler2D = new PlannerHandler2D();
|
|
542
|
+
|
|
543
|
+
exports.dockingPointHandlerInst = dockingPointHandlerInst;
|
|
544
|
+
exports.handler2D = handler2D;
|
|
@@ -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-7d87a838.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -13,12 +13,14 @@ require('@babel/runtime/helpers/toConsumableArray');
|
|
|
13
13
|
require('axios');
|
|
14
14
|
require('@crystaldesign/basket-model');
|
|
15
15
|
require('@babel/runtime/helpers/typeof');
|
|
16
|
+
require('fast-xml-parser');
|
|
16
17
|
require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
17
18
|
require('@babel/runtime/helpers/getPrototypeOf');
|
|
18
19
|
require('@babel/runtime/helpers/inherits');
|
|
19
20
|
require('@babel/runtime/helpers/wrapNativeSuper');
|
|
20
21
|
require('@crystaldesign/basket-handler');
|
|
21
22
|
require('socket.io-client');
|
|
23
|
+
require('@crystaldesign/planner-2d-core');
|
|
22
24
|
|
|
23
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
26
|
|