@crystaldesign/web-planner-logic 26.13.0-beta.15 → 26.13.0-beta.16
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-be749bb5.js → DivaBoxPlanner-593d689c.js} +3 -2
- package/build/cjs/{DivaStandardPlanner-fc05728f.js → DivaStandardPlanner-f5ba6ead.js} +3 -2
- package/build/cjs/{DoorPlanner-a862ebe1.js → DoorPlanner-35be7adf.js} +2 -1
- package/build/cjs/{Host3DSignalR-05fb621f.js → Host3DSignalR-b8beb958.js} +2 -1
- package/build/cjs/{LiviqueWWSHandler-e78d2805.js → LiviqueWWSHandler-13757823.js} +2 -1
- package/build/cjs/{PfisterWWSHandler-af7f8c21.js → PfisterWWSHandler-7404917e.js} +2 -1
- package/build/cjs/{PlannerHandler2D-24a840c9.js → PlannerHandler2D-d266ccd0.js} +1 -1
- package/build/cjs/{SeriousBasketHandler-37c085b7.js → SeriousBasketHandler-2b3d0f22.js} +2 -1
- package/build/cjs/{ShelfPlanner-8eeb10d6.js → ShelfPlanner-4eb63a5c.js} +2 -1
- package/build/cjs/{StandardWWSHandler-a0b03684.js → StandardWWSHandler-9fce580d.js} +2 -1
- package/build/cjs/{index-411c6d20.js → index-ecd4dc0b.js} +947 -849
- package/build/cjs/index.js +2 -6
- package/build/esm/{DivaBoxPlanner-e86a9c78.js → DivaBoxPlanner-7291fc69.js} +3 -2
- package/build/esm/{DivaStandardPlanner-34cb94ca.js → DivaStandardPlanner-cde0a04a.js} +3 -2
- package/build/esm/{DoorPlanner-34fcedfe.js → DoorPlanner-599bd2a0.js} +2 -1
- package/build/esm/{Host3DSignalR-06a154e9.js → Host3DSignalR-c12d1c95.js} +2 -1
- package/build/esm/{LiviqueWWSHandler-08e0fd3f.js → LiviqueWWSHandler-443dd9fb.js} +2 -1
- package/build/esm/{PfisterWWSHandler-d5129b6b.js → PfisterWWSHandler-aeeeca0a.js} +2 -1
- package/build/esm/{PlannerHandler2D-fa2f950e.js → PlannerHandler2D-eb466bb9.js} +1 -1
- package/build/esm/{SeriousBasketHandler-fadb9e59.js → SeriousBasketHandler-8e25438e.js} +2 -1
- package/build/esm/{ShelfPlanner-4d988daa.js → ShelfPlanner-93e07971.js} +2 -1
- package/build/esm/{StandardWWSHandler-1b06b955.js → StandardWWSHandler-d71f9500.js} +2 -1
- package/build/esm/{index-79c27c8c.js → index-d4042c10.js} +947 -845
- package/build/esm/index.js +2 -1
- package/build/types/web-planner-logic/src/index.d.ts +1 -7
- package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts +4 -2
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +2 -3
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +1 -0
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/IDM3D/idm3dTranslation.d.ts +2 -2
- package/build/types/web-planner-logic/src/logic/Planner/IDM3D/idm3dTranslation.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts +3 -0
- package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts +4 -2
- package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts +2 -3
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts +23 -11
- package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts +1 -34
- package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Properties/propertyValues.d.ts +41 -0
- package/build/types/web-planner-logic/src/model/Properties/propertyValues.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/test/propertyParsers.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/propertyParsers.test.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/test/propertyValues.test.d.ts +2 -0
- package/build/types/web-planner-logic/src/test/propertyValues.test.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -9,6 +9,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
|
9
9
|
import axios$1 from 'axios';
|
|
10
10
|
import DivaUtils, { DivaError, md5, nanoid } from '@crystaldesign/diva-utils';
|
|
11
11
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
12
|
+
import _toArray from '@babel/runtime/helpers/toArray';
|
|
12
13
|
import { parseXml, serializeXml, removeMask, stretchArticleSvg } from '@crystaldesign/planner-2d-core';
|
|
13
14
|
import { PriceObjectData, VariantItemData, JsonConfigPriceData, OrderLineData, CompactOrderLineData, GroupsData, Favorites, Favorite, ConfigVariantData, BASKET_UPLOAD_FUNCTION_TYPES, BASKET_UPLOAD_MEDIA_TYPES, OrderSetData, BasketData } from '@crystaldesign/basket-model';
|
|
14
15
|
import { XMLParser } from 'fast-xml-parser';
|
|
@@ -139,12 +140,12 @@ function bootRequestName(url) {
|
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
var _excluded = ["type"];
|
|
142
|
-
function ownKeys$
|
|
143
|
-
function _objectSpread$
|
|
143
|
+
function ownKeys$s(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
144
|
+
function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
144
145
|
|
|
145
146
|
// Import types from AI service
|
|
146
147
|
|
|
147
|
-
var LOG$
|
|
148
|
+
var LOG$s = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
148
149
|
|
|
149
150
|
/**
|
|
150
151
|
* Deadline for the optional catalog XML preload. Axios has no default timeout, and planner start-up
|
|
@@ -210,7 +211,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
210
211
|
if (plannerConfig.settings) {
|
|
211
212
|
this.initalizeWebConfigData(plannerConfig);
|
|
212
213
|
} else {
|
|
213
|
-
LOG$
|
|
214
|
+
LOG$s.error(new DivaError('Fehler beim laden der WebConfig', {
|
|
214
215
|
code: 'WC_0001'
|
|
215
216
|
}));
|
|
216
217
|
throw Error('Initalize failed!');
|
|
@@ -271,7 +272,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
271
272
|
case 0:
|
|
272
273
|
skip = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;
|
|
273
274
|
dontLogError = _args.length > 3 ? _args[3] : undefined;
|
|
274
|
-
LOG$
|
|
275
|
+
LOG$s.debug('DivaApiHandler.fetchData ' + url, 'DivaApiHandler, fetchData');
|
|
275
276
|
if (init) {
|
|
276
277
|
_context.next = 5;
|
|
277
278
|
break;
|
|
@@ -312,7 +313,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
312
313
|
netBytes = typeof data === 'string' ? data.length : Number((_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers['content-length']) || undefined;
|
|
313
314
|
}
|
|
314
315
|
if (data !== null && data !== void 0 && data.Error) {
|
|
315
|
-
if (dontLogError) LOG$
|
|
316
|
+
if (dontLogError) LOG$s.warn(data.Error + ' ' + url);else LOG$s.error(new DivaError(data.Error, {
|
|
316
317
|
code: 'WC_0001',
|
|
317
318
|
custom: {
|
|
318
319
|
url: url
|
|
@@ -434,7 +435,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
434
435
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
435
436
|
while (1) switch (_context2.prev = _context2.next) {
|
|
436
437
|
case 0:
|
|
437
|
-
LOG$
|
|
438
|
+
LOG$s.debug('getDataWithoutCache: ', {
|
|
438
439
|
queryString: queryString,
|
|
439
440
|
init: init,
|
|
440
441
|
useWebServiceApi: useWebServiceApi
|
|
@@ -476,8 +477,8 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
476
477
|
if (this.getApplicationEnvironment() == 'WEB' && (_this$apiConfig7 = this.apiConfig) !== null && _this$apiConfig7 !== void 0 && _this$apiConfig7.api2.web) {
|
|
477
478
|
api2Url = this.apiConfig.api2.web;
|
|
478
479
|
}
|
|
479
|
-
_context2.t0 = _objectSpread$
|
|
480
|
-
_context2.t1 = _objectSpread$
|
|
480
|
+
_context2.t0 = _objectSpread$s;
|
|
481
|
+
_context2.t1 = _objectSpread$s({}, init.config.headers);
|
|
481
482
|
_context2.t2 = {};
|
|
482
483
|
_context2.next = 21;
|
|
483
484
|
return this.getSessionGuid('V', undefined, this.OrganizationId, api2Url);
|
|
@@ -512,7 +513,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
512
513
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
513
514
|
while (1) switch (_context3.prev = _context3.next) {
|
|
514
515
|
case 0:
|
|
515
|
-
LOG$
|
|
516
|
+
LOG$s.debug('getDataCache: ', {
|
|
516
517
|
queryString: queryString,
|
|
517
518
|
cacheMD5: cacheMD5,
|
|
518
519
|
accountSessionGuid: accountSessionGuid,
|
|
@@ -533,14 +534,14 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
533
534
|
_context3.next = 9;
|
|
534
535
|
break;
|
|
535
536
|
}
|
|
536
|
-
LOG$
|
|
537
|
+
LOG$s.debug('getDataFromInternalCache: ' + queryString);
|
|
537
538
|
return _context3.abrupt("return", cacheHit);
|
|
538
539
|
case 9:
|
|
539
540
|
if (!(cacheMD5 && this.jsonDataCache.get(cacheMD5) && !((_this$divaWebConfigDa2 = this.divaWebConfigData) !== null && _this$divaWebConfigDa2 !== void 0 && _this$divaWebConfigDa2.addOrganizationIdToCacheKey))) {
|
|
540
541
|
_context3.next = 12;
|
|
541
542
|
break;
|
|
542
543
|
}
|
|
543
|
-
LOG$
|
|
544
|
+
LOG$s.debug('getDataFromInternalCache: ' + queryString);
|
|
544
545
|
return _context3.abrupt("return", this.jsonDataCache.get(cacheMD5));
|
|
545
546
|
case 12:
|
|
546
547
|
if (!addSession) {
|
|
@@ -590,7 +591,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
590
591
|
// SHOULD have been authenticated against an account, the planner ends up using a
|
|
591
592
|
// visitor sessionGuid (cached per organization in DataStore). Surface it so we
|
|
592
593
|
// can spot regressions instead of silently sending the wrong GUID.
|
|
593
|
-
LOG$
|
|
594
|
+
LOG$s.warn('[SESSION-GUID][API] visitor fallback used for api2 call (no accountSessionGuid passed)', {
|
|
594
595
|
callTag: "api#".concat(this.instanceId, "/call#").concat(this.apiCallCount),
|
|
595
596
|
queryString: queryString,
|
|
596
597
|
organizationId: this.OrganizationId
|
|
@@ -612,7 +613,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
612
613
|
this.jsonDataCache.set(myQS, result);
|
|
613
614
|
if (cacheMD5 && !((_this$divaWebConfigDa3 = this.divaWebConfigData) !== null && _this$divaWebConfigDa3 !== void 0 && _this$divaWebConfigDa3.addOrganizationIdToCacheKey)) this.jsonDataCache.set(cacheMD5, result);
|
|
614
615
|
}
|
|
615
|
-
LOG$
|
|
616
|
+
LOG$s.debug('getDataFromApi: ' + queryString);
|
|
616
617
|
return _context3.abrupt("return", result);
|
|
617
618
|
case 41:
|
|
618
619
|
case "end":
|
|
@@ -648,7 +649,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
648
649
|
case 5:
|
|
649
650
|
_context4.prev = 5;
|
|
650
651
|
_context4.t0 = _context4["catch"](1);
|
|
651
|
-
LOG$
|
|
652
|
+
LOG$s.error(new DivaError('could not create product in Configurator', {
|
|
652
653
|
cause: _context4.t0
|
|
653
654
|
}));
|
|
654
655
|
return _context4.abrupt("return", false);
|
|
@@ -1511,11 +1512,11 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1511
1512
|
headers = this.getAiServiceAuthHeaders(leadKey);
|
|
1512
1513
|
_context9.next = 4;
|
|
1513
1514
|
return this.fetchData(url, {
|
|
1514
|
-
data: _objectSpread$
|
|
1515
|
+
data: _objectSpread$s(_objectSpread$s({}, data), {}, {
|
|
1515
1516
|
organizationId: this.OrganizationId
|
|
1516
1517
|
}),
|
|
1517
1518
|
config: {
|
|
1518
|
-
headers: _objectSpread$
|
|
1519
|
+
headers: _objectSpread$s(_objectSpread$s({}, headers), {}, {
|
|
1519
1520
|
'X-Session-Id': DivaUtils.SessionId,
|
|
1520
1521
|
'X-Configurator-Id': (_DivaUtils$Configurat = DivaUtils.ConfigurationId) !== null && _DivaUtils$Configurat !== void 0 ? _DivaUtils$Configurat : ''
|
|
1521
1522
|
})
|
|
@@ -1633,7 +1634,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1633
1634
|
status = _context12.t0 === null || _context12.t0 === void 0 || (_e$response3 = _context12.t0.response) === null || _e$response3 === void 0 ? void 0 : _e$response3.status;
|
|
1634
1635
|
body = _context12.t0 === null || _context12.t0 === void 0 || (_e$response4 = _context12.t0.response) === null || _e$response4 === void 0 ? void 0 : _e$response4.data;
|
|
1635
1636
|
apiMessage = typeof (body === null || body === void 0 ? void 0 : body.error) === 'string' ? body.error : _context12.t0 === null || _context12.t0 === void 0 ? void 0 : _context12.t0.message;
|
|
1636
|
-
LOG$
|
|
1637
|
+
LOG$s.error(new Error("Failed to create lead key for email ".concat(email, ": ").concat(apiMessage)));
|
|
1637
1638
|
throw new DivaError(apiMessage || 'Failed to create lead key', {
|
|
1638
1639
|
code: 'LEAD_KEY_REQUEST_FAILED',
|
|
1639
1640
|
custom: {
|
|
@@ -1729,7 +1730,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1729
1730
|
case 9:
|
|
1730
1731
|
_context14.prev = 9;
|
|
1731
1732
|
_context14.t0 = _context14["catch"](4);
|
|
1732
|
-
LOG$
|
|
1733
|
+
LOG$s.error(new DivaError('Error Connecting to Support-Service-LivePlanner', {
|
|
1733
1734
|
cause: _context14.t0
|
|
1734
1735
|
}));
|
|
1735
1736
|
case 12:
|
|
@@ -1776,7 +1777,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1776
1777
|
case 10:
|
|
1777
1778
|
_context15.prev = 10;
|
|
1778
1779
|
_context15.t0 = _context15["catch"](3);
|
|
1779
|
-
LOG$
|
|
1780
|
+
LOG$s.error({
|
|
1780
1781
|
message: 'Could not fetch dimension',
|
|
1781
1782
|
name: 'get dimension error'
|
|
1782
1783
|
});
|
|
@@ -1834,7 +1835,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1834
1835
|
case 9:
|
|
1835
1836
|
_context16.prev = 9;
|
|
1836
1837
|
_context16.t0 = _context16["catch"](3);
|
|
1837
|
-
LOG$
|
|
1838
|
+
LOG$s.error({
|
|
1838
1839
|
message: 'Could not fetch catalogXml',
|
|
1839
1840
|
name: 'get catalogXml error'
|
|
1840
1841
|
});
|
|
@@ -1913,7 +1914,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1913
1914
|
case 14:
|
|
1914
1915
|
_context17.prev = 14;
|
|
1915
1916
|
_context17.t0 = _context17["catch"](6);
|
|
1916
|
-
LOG$
|
|
1917
|
+
LOG$s.error(new DivaError('Error Connecting to Report Service', {
|
|
1917
1918
|
cause: _context17.t0
|
|
1918
1919
|
}));
|
|
1919
1920
|
case 17:
|
|
@@ -1984,6 +1985,550 @@ var DivaApiHandler = /*#__PURE__*/function () {
|
|
|
1984
1985
|
}]);
|
|
1985
1986
|
}();
|
|
1986
1987
|
|
|
1988
|
+
/**
|
|
1989
|
+
* Whether a flag property is switched on: empty, '0' and 'false' (any case, trimmed) are OFF, any other value is ON.
|
|
1990
|
+
* Every flag parser reads its value through this.
|
|
1991
|
+
*/
|
|
1992
|
+
function isPropertyOn(value) {
|
|
1993
|
+
if (value === undefined || value === null) return false;
|
|
1994
|
+
if (typeof value === 'boolean') return value;
|
|
1995
|
+
if (typeof value === 'number') return value !== 0;
|
|
1996
|
+
var token = String(value).trim().toLowerCase();
|
|
1997
|
+
return token !== '' && token !== '0' && token !== 'false';
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
|
+
/**
|
|
2001
|
+
* The VALUE ENCODING of every catalog/article/option/option-value property, keyed by codex: the type the planner reads
|
|
2002
|
+
* the value as, and how a legacy TEXT of it is read.
|
|
2003
|
+
*
|
|
2004
|
+
* Enricher values are typed (a flag, a number, a list, JSON - stored under ALL) and taken as they are. A text - of a
|
|
2005
|
+
* CE catalog or mask, or the legacy text the enricher renders for old configurators - is read the way the parsers read
|
|
2006
|
+
* it before values were typed: '1' for one flag, 'true' for the next, a ';' list for a third (readPropertyValue,
|
|
2007
|
+
* propertyValues.ts). The agent's property-encodings knowhow doc is generated from this table
|
|
2008
|
+
* (scripts/generatePropertyEncodingsDoc.py).
|
|
2009
|
+
*
|
|
2010
|
+
* Hand-maintained: add the codex here when one of the four parsers gets a `case` for it
|
|
2011
|
+
* CatalogData.ts | CatalogArticleData.ts | CatalogOptionData.ts | CatalogOptionValueData.ts
|
|
2012
|
+
* `propertyValueCodec.test.ts` fails when a parser case has no entry here.
|
|
2013
|
+
*/
|
|
2014
|
+
|
|
2015
|
+
/** The entity a property hangs on; the same codex can mean different things on different entities. */
|
|
2016
|
+
|
|
2017
|
+
/**
|
|
2018
|
+
* The type a property is read as, and how its legacy text is read. The boolean dialects are NOT interchangeable: a
|
|
2019
|
+
* text 'true' where the dialect is `boolean:1` reads as false.
|
|
2020
|
+
* - `string`: a text, as it is. `opaque`: a text in a format of its own, which the property's parser reads.
|
|
2021
|
+
* - `number`: Number(text).
|
|
2022
|
+
* - `boolean:1`: true for '1' only. `boolean:1|true`: for '1' or 'true' (any case). `boolean:on`: isPropertyOn - false
|
|
2023
|
+
* for empty, '0' and 'false'. `boolean:not-0`: false for '0' only.
|
|
2024
|
+
* - `list:;` / `list:,`: a list of texts, the text split at ';' / ','.
|
|
2025
|
+
* - `all-or-list:;`: `{ all: true }` for '1', else `{ only: [...] }` split at ';'. `boolean-or-list:;`: the same, and
|
|
2026
|
+
* `{ all: false }` for '0'.
|
|
2027
|
+
* - `json`: a JSON value, JSON.parse(text). `shape`: a JSON value of a fixed shape whose text has a format of its own.
|
|
2028
|
+
* - `ignored`: recognised by the parser and deliberately not read.
|
|
2029
|
+
*/
|
|
2030
|
+
|
|
2031
|
+
/** The encoding per property codex, for one entity. */
|
|
2032
|
+
|
|
2033
|
+
/** 96 properties parsed on the catalog entity. */
|
|
2034
|
+
var CATALOG_PROPERTIES = {
|
|
2035
|
+
'3D_COMPATIBLE_WITH_IMAGE_CACHE': 'boolean:1',
|
|
2036
|
+
ACCESSOIRE_STEP_AS_PLANNER: 'boolean:1',
|
|
2037
|
+
ADD_NEW_LINE_BEFOR_RULEDESC: 'boolean:1',
|
|
2038
|
+
ADD_PA_ON_EDO: 'opaque',
|
|
2039
|
+
ADD_POS_INVISIBILITY_TO_OL: 'boolean:1',
|
|
2040
|
+
ARTICLECONFIGALL: 'boolean:1',
|
|
2041
|
+
ARTICLECONFIGSINGLE: 'boolean:1',
|
|
2042
|
+
ARTICLE_NR: 'string',
|
|
2043
|
+
AUTO_OPEN_CONTENTITEM: 'all-or-list:;',
|
|
2044
|
+
BANNER: 'json',
|
|
2045
|
+
BUNDLE_RULES: 'json',
|
|
2046
|
+
CHECK_COLLISION_DIFFERENT_LAYERS: 'list:;',
|
|
2047
|
+
CONFIG_ACCESSOIRES: 'boolean:1',
|
|
2048
|
+
CONFIG_ONLY_ACCESSOIRES: 'boolean:1',
|
|
2049
|
+
DEFAULT_DO_SHOW_3DDIMENSIONS: 'boolean:1|true',
|
|
2050
|
+
DEFAULT_GROUPS_CLOSED: 'boolean-or-list:;',
|
|
2051
|
+
DIMENSION_CONFIG: 'json',
|
|
2052
|
+
DIVA3D_AR_FORCERTV: 'boolean:1',
|
|
2053
|
+
DIVA3D_AR_READY: 'boolean:1',
|
|
2054
|
+
DIVA3D_DISABLE_3DEXPORT: 'boolean:1',
|
|
2055
|
+
DIVA3D_PLANER_DIGITS: 'number',
|
|
2056
|
+
DIVA3D_PLANER_SHOW_ARTICLE_SVG: 'boolean:1',
|
|
2057
|
+
DIVA3D_RENDERING: 'boolean:1|true',
|
|
2058
|
+
DIVA3D_ROOM: 'string',
|
|
2059
|
+
DIVA3D_STATIC_BG_IMAGE_ROOMLIST: 'list:;',
|
|
2060
|
+
DIVA3D_USE_RTV_NEXT: 'boolean:1',
|
|
2061
|
+
DIVA_KI_READY: 'boolean:1|true',
|
|
2062
|
+
DOCKACCONAVOONLY: 'boolean:1',
|
|
2063
|
+
DONTCALCBASEPRICE: 'boolean:1',
|
|
2064
|
+
DONTHIDEOPTION: 'list:,',
|
|
2065
|
+
DONT_SAVE_ALTERNATIVERENDERINGS: 'boolean:1',
|
|
2066
|
+
DONT_SET_POSNR_FROM_PLANNER: 'boolean:1',
|
|
2067
|
+
DONT_SHOW_ACC_STEP: 'boolean:1',
|
|
2068
|
+
DONT_USE_VCODEX_FOR_BASKET: 'boolean:1',
|
|
2069
|
+
DO_SHOW_MAIN_DIMENSIONS: 'boolean:1|true',
|
|
2070
|
+
DO_USE_RULEDESC_FOR_PARTLIST: 'boolean:1',
|
|
2071
|
+
ELEMENT_COPY_AVLR: 'all-or-list:;',
|
|
2072
|
+
ENABLE_DO_SHOW_3DDIMENSIONS: 'boolean:1|true',
|
|
2073
|
+
FILTER_FOR_CHECKOUT_BUTTONS: 'list:;',
|
|
2074
|
+
FORCECONSTRUCTIONWARNINGARTICLES: 'list:;',
|
|
2075
|
+
FORCE_CONFIG_ALL_ACCESSOIRES: 'boolean:1',
|
|
2076
|
+
FORCE_CONFIG_SINGLE: 'boolean:1',
|
|
2077
|
+
HEADER_DIMENSION_IDS: 'list:;',
|
|
2078
|
+
HIDECOMPLETENESSWARNING: 'boolean:1',
|
|
2079
|
+
HIDECONSTRUCTIONWARNING: 'boolean:not-0',
|
|
2080
|
+
HIDE_2D_PLANNER: 'boolean:1',
|
|
2081
|
+
HIDE_AV_BUTTONS: 'list:;',
|
|
2082
|
+
HIDE_PLANNER_UI_ICONS: 'boolean:1',
|
|
2083
|
+
HIDE_PRICEPREVIEW_ON_OPTIONS: 'list:;',
|
|
2084
|
+
HIDE_PRICE_GROUPS_OF_OPGS: 'boolean:1',
|
|
2085
|
+
HIDE_SUBPOS_ARTICLECODEX_EKTEXT: 'boolean:1',
|
|
2086
|
+
IDM3D_CAT_CODEX: 'string',
|
|
2087
|
+
IDM3D_ENVIRONMENT: 'string',
|
|
2088
|
+
IDM3D_TRANSLATION: 'json',
|
|
2089
|
+
IGNOREDOCKINGNUMBER: 'boolean:1',
|
|
2090
|
+
IGNORELAYERAVC: 'boolean:1',
|
|
2091
|
+
IGNORELAYERAVNAVS: 'boolean:1',
|
|
2092
|
+
IGNORELAYERAVOAVU: 'boolean:1',
|
|
2093
|
+
IGNORE_ARTICLERELATIONS: 'boolean:1',
|
|
2094
|
+
IGNORE_ISDEFINED_CHECK: 'boolean:1',
|
|
2095
|
+
IGNORE_MAX_PRICE_AS_BASEPRICE: 'boolean:1',
|
|
2096
|
+
INIT_OPTIONTREE_TWICE: 'boolean:1',
|
|
2097
|
+
IS_IDM3D_CAT: 'boolean:1|true',
|
|
2098
|
+
MERGE_OPTIONS_TO_SAME_OPTION: 'shape',
|
|
2099
|
+
NOTIFICATIONS: 'json',
|
|
2100
|
+
ONCONFIG_SINGLE_DONT_GENERALIZE: 'boolean:1',
|
|
2101
|
+
PARTLIST_POSTFIX: 'shape',
|
|
2102
|
+
PLANNERTYPE: 'string',
|
|
2103
|
+
PLANNER_2DOT0: 'boolean:1',
|
|
2104
|
+
PLANNER_REPLACE_MODE: 'boolean:1',
|
|
2105
|
+
PLAN_2D_FONT_URL: 'string',
|
|
2106
|
+
PROGRAM_NR: 'string',
|
|
2107
|
+
RECONFIG_AFTER_ARTICLE_DOCKED: 'boolean:1',
|
|
2108
|
+
REPAIR_VARIANT_VALUES: 'shape',
|
|
2109
|
+
RTV_PRESET: 'json',
|
|
2110
|
+
SHOWACCESSOIREONLASTTAB: 'boolean:1',
|
|
2111
|
+
SHOWACCONDPONLY: 'boolean:1',
|
|
2112
|
+
SHOWTYPENRINPLANNER: 'boolean:1',
|
|
2113
|
+
SHOW_AI_ROOM_RENDERING_IN_SUMMARY: 'boolean:1',
|
|
2114
|
+
SHOW_AI_ROOM_RENDERING_SUMMARY: 'boolean:1',
|
|
2115
|
+
SHOW_ALL_ITEMS_IN_PLANNER: 'boolean:1',
|
|
2116
|
+
SHOW_PRICEPREVIEW_ON_OPTIONS: 'list:;',
|
|
2117
|
+
STARTFILTERPARAMS: 'list:,',
|
|
2118
|
+
STARTHIDEARTICLES: 'list:;',
|
|
2119
|
+
START_PLANNER_ARTICLE: 'list:;',
|
|
2120
|
+
SUMMARY_TABGROUP_POSITION: 'list:;',
|
|
2121
|
+
USEBOXPLANNER: 'all-or-list:;',
|
|
2122
|
+
USEGLOBALSVGSCALE: 'boolean:1',
|
|
2123
|
+
USEPOSCOUNTVALUE: 'boolean:1',
|
|
2124
|
+
USEPRGASOPVARTICLENR: 'boolean:1',
|
|
2125
|
+
USE_DECISION_POS_COUNT_VALUE: 'boolean:1',
|
|
2126
|
+
USE_DIOMEX_CONFIG_LOGIC: 'boolean:1',
|
|
2127
|
+
USE_SHELFPLANNER_RTV: 'boolean:1',
|
|
2128
|
+
USE_SHORT_NAME_AS_NAME: 'boolean:1',
|
|
2129
|
+
USE_TYPENR_AS_ARTICLENR_EKTEXT: 'boolean:1',
|
|
2130
|
+
WARNINGS: 'json'
|
|
2131
|
+
};
|
|
2132
|
+
|
|
2133
|
+
/** 31 properties parsed on the article entity. */
|
|
2134
|
+
var ARTICLE_PROPERTIES = {
|
|
2135
|
+
'3DMODELNAME': 'string',
|
|
2136
|
+
ACCESSOIRE_POS_PRIO: 'number',
|
|
2137
|
+
ADD_AS_ZKAT: 'boolean:1|true',
|
|
2138
|
+
BASIC_UNIT_PRICE: 'number',
|
|
2139
|
+
BUNDLE_RULES: 'json',
|
|
2140
|
+
CONTENT_ITEM: 'string',
|
|
2141
|
+
DEPTH_HAS_PRICE: 'boolean:on',
|
|
2142
|
+
DO_NOT_DEL_ACC_IF_NOT_DOCKED: 'boolean:on',
|
|
2143
|
+
GROUP_CONTENT_ITEM: 'string',
|
|
2144
|
+
HAS3D: 'boolean:on',
|
|
2145
|
+
HEIGHTGRIDABOVE: 'number',
|
|
2146
|
+
HEIGHTGRIDBELOW: 'number',
|
|
2147
|
+
HEIGHTGRIDUSED: 'number',
|
|
2148
|
+
HEIGHT_HAS_PRICE: 'boolean:on',
|
|
2149
|
+
HIDE_IN_PLANNERSTEP: 'boolean:on',
|
|
2150
|
+
IDM3D_SKIP: 'boolean:on',
|
|
2151
|
+
INVALID_ACCESSORIES: 'list:,',
|
|
2152
|
+
MAX_PLANNING_COUNT: 'number',
|
|
2153
|
+
ON_CONFIG_OPTION: 'string',
|
|
2154
|
+
ON_SET_CONFIG_OPTION: 'string',
|
|
2155
|
+
OPTIONS_FOR_PRINT: 'list:;',
|
|
2156
|
+
ORDER_POSNR: 'string',
|
|
2157
|
+
OVERWRITE_PARENT_DEPTH: 'boolean:on',
|
|
2158
|
+
OVERWRITE_PARENT_HEIGHT: 'boolean:on',
|
|
2159
|
+
OVERWRITE_PARENT_WIDTH: 'boolean:on',
|
|
2160
|
+
RETAIL_PREFIX: 'string',
|
|
2161
|
+
TABGROUP: 'string',
|
|
2162
|
+
TABGROUP_OPTIONS: 'string',
|
|
2163
|
+
TYPE_NO: 'string',
|
|
2164
|
+
WIDTH_HAS_PRICE: 'boolean:on',
|
|
2165
|
+
ZUBEHOER_FAMILIE: 'string'
|
|
2166
|
+
};
|
|
2167
|
+
|
|
2168
|
+
/** 41 properties parsed on the option entity. */
|
|
2169
|
+
var OPTION_PROPERTIES = {
|
|
2170
|
+
ADDITIONAL_GROUP_FILTER: 'json',
|
|
2171
|
+
ADD_OPT_TO_TABGROUP_IN_PL_SUM: 'string',
|
|
2172
|
+
ADD_TO_WWS: 'boolean:on',
|
|
2173
|
+
CHECK_FOR_REVERSE_CHANGES: 'shape',
|
|
2174
|
+
CONTENT_ITEM: 'string',
|
|
2175
|
+
CONTENT_ITEM_TEASER: 'json',
|
|
2176
|
+
CUSTOM_DIMENSION: 'boolean:on',
|
|
2177
|
+
CUSTOM_DIMENSION_TEXT: 'string',
|
|
2178
|
+
DEFAULT_SIBLING_OPTION: 'string',
|
|
2179
|
+
DESCRIPTION: 'string',
|
|
2180
|
+
DIAMETER: 'boolean:on',
|
|
2181
|
+
EshopCategoryMapping: 'ignored',
|
|
2182
|
+
EshopSearchRelevant: 'ignored',
|
|
2183
|
+
FEATURE_TYPE: 'ignored',
|
|
2184
|
+
FREETEXT_DEFAULT_VALUE: 'string',
|
|
2185
|
+
GROUP_OPTIONS_LEFT_AND_RIGHT: 'shape',
|
|
2186
|
+
HIDE_OPTION_IN_CONFIGURATOR: 'boolean:on',
|
|
2187
|
+
IDM3D_TARGET: 'list:,',
|
|
2188
|
+
IGNORE_GROUPS: 'boolean:1',
|
|
2189
|
+
IGNORE_PGR_GROUP_POSITION: 'boolean:1',
|
|
2190
|
+
INFO_PDF: 'string',
|
|
2191
|
+
INFO_URL: 'string',
|
|
2192
|
+
ION_COMMENT_TEXT: 'ignored',
|
|
2193
|
+
ISDEFAULTVALUEFOROPTIONS: 'string',
|
|
2194
|
+
IS_MAIN_COLOR: 'boolean:on',
|
|
2195
|
+
IS_STATE: 'boolean:on',
|
|
2196
|
+
IsArtName: 'ignored',
|
|
2197
|
+
IsSalesText: 'ignored',
|
|
2198
|
+
MERGE_IDM_TO_OPG: 'string',
|
|
2199
|
+
ONLY_VISIBLE_IF_CONFIG_ALL: 'boolean:on',
|
|
2200
|
+
ONLY_VISIBLE_IF_CONFIG_SINGLE: 'boolean:on',
|
|
2201
|
+
ONLY_VISIBLE_IF_NOT_UNDOCK: 'boolean:on',
|
|
2202
|
+
REQUIRED_OPTION: 'boolean:on',
|
|
2203
|
+
REQUIRES_USER_INPUT: 'boolean:on',
|
|
2204
|
+
SETNAME: 'boolean:on',
|
|
2205
|
+
SHOW_FILTER: 'boolean:1',
|
|
2206
|
+
SHOW_IN_BASKET_WHEN_HAS_PRICE: 'ignored',
|
|
2207
|
+
SHOW_IN_VARIANTDESC: 'boolean:on',
|
|
2208
|
+
SHOW_SEARCHBAR: 'boolean:1',
|
|
2209
|
+
SHOW_SEPARAT_ON_TABGROUP: 'string',
|
|
2210
|
+
SUGGESTED_OPTION: 'boolean:on'
|
|
2211
|
+
};
|
|
2212
|
+
|
|
2213
|
+
/** 31 properties parsed on the optionValue entity. */
|
|
2214
|
+
var OPTIONVALUE_PROPERTIES = {
|
|
2215
|
+
ADD_TO_MEASURE: 'shape',
|
|
2216
|
+
CONTENT_ITEM: 'string',
|
|
2217
|
+
CUSTOM_DIMENSION: 'opaque',
|
|
2218
|
+
DEFAULT_VALUE: 'boolean:on',
|
|
2219
|
+
EshopCategoryMapping: 'ignored',
|
|
2220
|
+
GROUP_CONTENT_ITEM: 'string',
|
|
2221
|
+
HIDE_IN_SUMMARY: 'boolean:on',
|
|
2222
|
+
IDM3D_VALUE: 'string',
|
|
2223
|
+
INFO_PDF: 'string',
|
|
2224
|
+
INFO_URL: 'string',
|
|
2225
|
+
ION_COMMENT_TEXT: 'ignored',
|
|
2226
|
+
IS_NOT_RELEVANT: 'boolean:on',
|
|
2227
|
+
IsArtName: 'ignored',
|
|
2228
|
+
IsVariantAttribute: 'boolean:1',
|
|
2229
|
+
MEASURE_MAXIMUM: 'string',
|
|
2230
|
+
MEASURE_MINIMUM: 'string',
|
|
2231
|
+
MEASURE_STEP: 'string',
|
|
2232
|
+
MEASURE_UNIT: 'string',
|
|
2233
|
+
ONLY_VISIBLE_IF_NOT_UNDOCK: 'string',
|
|
2234
|
+
ON_RULE: 'string',
|
|
2235
|
+
OPTION_FREE_TEXT: 'boolean:on',
|
|
2236
|
+
PIMFlatValues: 'boolean:1',
|
|
2237
|
+
PRICE_UNIT: 'string',
|
|
2238
|
+
PriceTageRelevant: 'ignored',
|
|
2239
|
+
SAME_OPV: 'string',
|
|
2240
|
+
SETNAME: 'string',
|
|
2241
|
+
SET_BY_RULE: 'string',
|
|
2242
|
+
SET_CONFIG: 'string',
|
|
2243
|
+
SUMMARY_CODEX: 'string',
|
|
2244
|
+
TopFilterAttribute: 'ignored',
|
|
2245
|
+
VIEWPOINTNAME: 'string'
|
|
2246
|
+
};
|
|
2247
|
+
var PROPERTY_SCHEMAS = {
|
|
2248
|
+
catalog: CATALOG_PROPERTIES,
|
|
2249
|
+
article: ARTICLE_PROPERTIES,
|
|
2250
|
+
option: OPTION_PROPERTIES,
|
|
2251
|
+
optionValue: OPTIONVALUE_PROPERTIES
|
|
2252
|
+
};
|
|
2253
|
+
|
|
2254
|
+
/** A catalog-prefixed codex ('MYCAT__USEBOXPLANNER') in its bare form, the same way the parsers strip the prefix. */
|
|
2255
|
+
var bareCodex = function bareCodex(codex) {
|
|
2256
|
+
return codex.includes('__') ? codex.slice(codex.indexOf('__') + 2) : codex;
|
|
2257
|
+
};
|
|
2258
|
+
|
|
2259
|
+
/**
|
|
2260
|
+
* The encoding of one property, or undefined when the codex is not one the engine parses - an organization's own
|
|
2261
|
+
* key, which stays free text. A catalog-prefixed codex resolves to its bare form (bareCodex).
|
|
2262
|
+
*/
|
|
2263
|
+
function propertyEncodingOf(codex, entity) {
|
|
2264
|
+
var bare = bareCodex(codex);
|
|
2265
|
+
var entities = entity ? [entity] : ['catalog', 'article', 'option', 'optionValue'];
|
|
2266
|
+
for (var _i = 0, _entities = entities; _i < _entities.length; _i++) {
|
|
2267
|
+
var candidate = _entities[_i];
|
|
2268
|
+
// Own keys only: a codex like 'constructor' or 'toString' would otherwise resolve to an inherited function.
|
|
2269
|
+
if (Object.prototype.hasOwnProperty.call(PROPERTY_SCHEMAS[candidate], bare)) return PROPERTY_SCHEMAS[candidate][bare];
|
|
2270
|
+
}
|
|
2271
|
+
return undefined;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(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; } } }; }
|
|
2275
|
+
function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(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$q(r, a) : void 0; } }
|
|
2276
|
+
function _arrayLikeToArray$q(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; }
|
|
2277
|
+
var LOG$r = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
2278
|
+
|
|
2279
|
+
/** A JSON value: an object or an array. */
|
|
2280
|
+
|
|
2281
|
+
/**
|
|
2282
|
+
* A property value as the planner reads it, in the type of its definition: a flag, a number, a list of texts, a JSON
|
|
2283
|
+
* value or a text.
|
|
2284
|
+
*/
|
|
2285
|
+
|
|
2286
|
+
/** What an IDM / enricher property carries: a typed value under ALL, or a text per language. */
|
|
2287
|
+
|
|
2288
|
+
/** The key a typed value is stored under: one value for all languages. */
|
|
2289
|
+
var ALL = 'ALL';
|
|
2290
|
+
var isValues = function isValues(stored) {
|
|
2291
|
+
return _typeof(stored) === 'object' && stored !== null && !Array.isArray(stored);
|
|
2292
|
+
};
|
|
2293
|
+
var isPropertyValue = function isPropertyValue(value) {
|
|
2294
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || _typeof(value) === 'object' && value !== null;
|
|
2295
|
+
};
|
|
2296
|
+
|
|
2297
|
+
/** The typed value under ALL, else the value of the language, else the first one - as DivaUtils.getLocals picks it. */
|
|
2298
|
+
function valueOf(values, lang) {
|
|
2299
|
+
if (ALL in values) return values[ALL];
|
|
2300
|
+
return values[lang.toUpperCase()] || values[lang.toLowerCase()] || Object.values(values)[0];
|
|
2301
|
+
}
|
|
2302
|
+
function readJson(codex, text) {
|
|
2303
|
+
try {
|
|
2304
|
+
return JSON.parse(text);
|
|
2305
|
+
} catch (e) {
|
|
2306
|
+
LOG$r.warn("Invalid JSON in property ".concat(codex), e);
|
|
2307
|
+
return undefined;
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
/** The legacy texts of the JSON values with a fixed shape, read the way their parsers read them. */
|
|
2312
|
+
var SHAPE_TEXTS = {
|
|
2313
|
+
// 'name;l' - a side other than l/r is no side
|
|
2314
|
+
GROUP_OPTIONS_LEFT_AND_RIGHT: function GROUP_OPTIONS_LEFT_AND_RIGHT(text) {
|
|
2315
|
+
var _text$split = text.split(';'),
|
|
2316
|
+
_text$split2 = _slicedToArray(_text$split, 2),
|
|
2317
|
+
group = _text$split2[0],
|
|
2318
|
+
side = _text$split2[1];
|
|
2319
|
+
return {
|
|
2320
|
+
group: group,
|
|
2321
|
+
side: side === null || side === void 0 ? void 0 : side.toLowerCase()
|
|
2322
|
+
};
|
|
2323
|
+
},
|
|
2324
|
+
// 'BLOCK;A;B' - anything but BLOCK warns; an empty text checks nothing
|
|
2325
|
+
CHECK_FOR_REVERSE_CHANGES: function CHECK_FOR_REVERSE_CHANGES(text) {
|
|
2326
|
+
if (!text) return undefined;
|
|
2327
|
+
var _text$split3 = text.split(';'),
|
|
2328
|
+
_text$split4 = _toArray(_text$split3),
|
|
2329
|
+
mode = _text$split4[0],
|
|
2330
|
+
options = _text$split4.slice(1);
|
|
2331
|
+
return {
|
|
2332
|
+
mode: mode.startsWith('BLOCK') ? 'BLOCK' : 'WARN',
|
|
2333
|
+
options: options
|
|
2334
|
+
};
|
|
2335
|
+
},
|
|
2336
|
+
// 'A,B;C,D'
|
|
2337
|
+
MERGE_OPTIONS_TO_SAME_OPTION: function MERGE_OPTIONS_TO_SAME_OPTION(text) {
|
|
2338
|
+
return text.split(';').map(function (group) {
|
|
2339
|
+
return group.split(',');
|
|
2340
|
+
});
|
|
2341
|
+
},
|
|
2342
|
+
// 'rule:postfix;rule:postfix'
|
|
2343
|
+
PARTLIST_POSTFIX: function PARTLIST_POSTFIX(text) {
|
|
2344
|
+
return text.split(';').map(function (entry) {
|
|
2345
|
+
var _entry$split = entry.split(':'),
|
|
2346
|
+
_entry$split2 = _slicedToArray(_entry$split, 2),
|
|
2347
|
+
rule = _entry$split2[0],
|
|
2348
|
+
postfix = _entry$split2[1];
|
|
2349
|
+
return {
|
|
2350
|
+
rule: rule,
|
|
2351
|
+
postfix: postfix
|
|
2352
|
+
};
|
|
2353
|
+
});
|
|
2354
|
+
},
|
|
2355
|
+
// 'op:value:option;...'
|
|
2356
|
+
ADD_TO_MEASURE: function ADD_TO_MEASURE(text) {
|
|
2357
|
+
return text.split(';').map(function (entry) {
|
|
2358
|
+
var _entry$split3 = entry.split(':'),
|
|
2359
|
+
_entry$split4 = _slicedToArray(_entry$split3, 3),
|
|
2360
|
+
op = _entry$split4[0],
|
|
2361
|
+
value = _entry$split4[1],
|
|
2362
|
+
option = _entry$split4[2];
|
|
2363
|
+
return {
|
|
2364
|
+
op: op,
|
|
2365
|
+
value: Number(value),
|
|
2366
|
+
option: option
|
|
2367
|
+
};
|
|
2368
|
+
});
|
|
2369
|
+
},
|
|
2370
|
+
// 'feature:value;feature:value;;...' - an entry without a target repairs nothing
|
|
2371
|
+
REPAIR_VARIANT_VALUES: function REPAIR_VARIANT_VALUES(text) {
|
|
2372
|
+
var repairs = {};
|
|
2373
|
+
var _iterator = _createForOfIteratorHelper$q(text.split(';;').map(function (entry) {
|
|
2374
|
+
return entry.split(';');
|
|
2375
|
+
})),
|
|
2376
|
+
_step;
|
|
2377
|
+
try {
|
|
2378
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2379
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
2380
|
+
from = _step$value[0],
|
|
2381
|
+
to = _step$value[1];
|
|
2382
|
+
if (to !== undefined) repairs[from] = to;
|
|
2383
|
+
}
|
|
2384
|
+
} catch (err) {
|
|
2385
|
+
_iterator.e(err);
|
|
2386
|
+
} finally {
|
|
2387
|
+
_iterator.f();
|
|
2388
|
+
}
|
|
2389
|
+
return repairs;
|
|
2390
|
+
}
|
|
2391
|
+
};
|
|
2392
|
+
var isRecord = function isRecord(value) {
|
|
2393
|
+
return _typeof(value) === 'object' && value !== null && !Array.isArray(value);
|
|
2394
|
+
};
|
|
2395
|
+
var isTexts = function isTexts(value) {
|
|
2396
|
+
return Array.isArray(value) && value.every(function (entry) {
|
|
2397
|
+
return typeof entry === 'string';
|
|
2398
|
+
});
|
|
2399
|
+
};
|
|
2400
|
+
/** {"all": true} or {"only": [texts]} - and {"all": false} where the key knows "none". */
|
|
2401
|
+
var allOrOnly = function allOrOnly(allowNone) {
|
|
2402
|
+
return function (value) {
|
|
2403
|
+
return isRecord(value) && (typeof value.all === 'boolean' ? value.all || allowNone : isTexts(value.only));
|
|
2404
|
+
};
|
|
2405
|
+
};
|
|
2406
|
+
|
|
2407
|
+
/** The shapes of the JSON values the parsers read member by member - as the enricher checks them on a write (idm PropertyValueShapes). */
|
|
2408
|
+
var SHAPES = {
|
|
2409
|
+
GROUP_OPTIONS_LEFT_AND_RIGHT: isRecord,
|
|
2410
|
+
CHECK_FOR_REVERSE_CHANGES: function CHECK_FOR_REVERSE_CHANGES(value) {
|
|
2411
|
+
return isRecord(value) && isTexts(value.options);
|
|
2412
|
+
},
|
|
2413
|
+
MERGE_OPTIONS_TO_SAME_OPTION: function MERGE_OPTIONS_TO_SAME_OPTION(value) {
|
|
2414
|
+
return Array.isArray(value) && value.every(isTexts);
|
|
2415
|
+
},
|
|
2416
|
+
PARTLIST_POSTFIX: function PARTLIST_POSTFIX(value) {
|
|
2417
|
+
return Array.isArray(value) && value.every(isRecord);
|
|
2418
|
+
},
|
|
2419
|
+
ADD_TO_MEASURE: function ADD_TO_MEASURE(value) {
|
|
2420
|
+
return Array.isArray(value) && value.every(isRecord);
|
|
2421
|
+
},
|
|
2422
|
+
REPAIR_VARIANT_VALUES: function REPAIR_VARIANT_VALUES(value) {
|
|
2423
|
+
return isRecord(value) && Object.values(value).every(function (to) {
|
|
2424
|
+
return typeof to === 'string';
|
|
2425
|
+
});
|
|
2426
|
+
},
|
|
2427
|
+
DEFAULT_GROUPS_CLOSED: allOrOnly(true),
|
|
2428
|
+
USEBOXPLANNER: allOrOnly(false),
|
|
2429
|
+
ELEMENT_COPY_AVLR: allOrOnly(false),
|
|
2430
|
+
AUTO_OPEN_CONTENTITEM: allOrOnly(false)
|
|
2431
|
+
};
|
|
2432
|
+
|
|
2433
|
+
/**
|
|
2434
|
+
* The value of a JSON property with a fixed shape; undefined for a value of another shape - set elsewhere, or left from
|
|
2435
|
+
* before its definition's type changed - which is logged and ignored instead of failing the whole catalog.
|
|
2436
|
+
*/
|
|
2437
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- the shape is checked; its members are the key's own
|
|
2438
|
+
function shapedJsonOf(codex, value) {
|
|
2439
|
+
var _SHAPES$codex;
|
|
2440
|
+
if (value === undefined || (_SHAPES$codex = SHAPES[codex]) !== null && _SHAPES$codex !== void 0 && _SHAPES$codex.call(SHAPES, value)) return value;
|
|
2441
|
+
LOG$r.warn("Invalid ".concat(codex, " property - its value does not have the shape the key takes"), value);
|
|
2442
|
+
return undefined;
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2445
|
+
/** A legacy text in the type of its encoding, read exactly the way the parsers read the text before values were typed. */
|
|
2446
|
+
function readText(codex, encoding, text) {
|
|
2447
|
+
switch (encoding) {
|
|
2448
|
+
case 'boolean:1':
|
|
2449
|
+
return text == '1';
|
|
2450
|
+
case 'boolean:1|true':
|
|
2451
|
+
return text == '1' || text.toLowerCase() == 'true';
|
|
2452
|
+
case 'boolean:on':
|
|
2453
|
+
return isPropertyOn(text);
|
|
2454
|
+
case 'boolean:not-0':
|
|
2455
|
+
return text != '0';
|
|
2456
|
+
case 'number':
|
|
2457
|
+
return Number(text);
|
|
2458
|
+
case 'list:;':
|
|
2459
|
+
return text.split(';');
|
|
2460
|
+
case 'list:,':
|
|
2461
|
+
return text.split(',');
|
|
2462
|
+
case 'all-or-list:;':
|
|
2463
|
+
return text == '1' ? {
|
|
2464
|
+
all: true
|
|
2465
|
+
} : {
|
|
2466
|
+
only: text.split(';')
|
|
2467
|
+
};
|
|
2468
|
+
case 'boolean-or-list:;':
|
|
2469
|
+
return text == '1' || text == '0' ? {
|
|
2470
|
+
all: text == '1'
|
|
2471
|
+
} : {
|
|
2472
|
+
only: text.split(';')
|
|
2473
|
+
};
|
|
2474
|
+
case 'json':
|
|
2475
|
+
return readJson(codex, text);
|
|
2476
|
+
case 'shape':
|
|
2477
|
+
return SHAPE_TEXTS[codex](text);
|
|
2478
|
+
default:
|
|
2479
|
+
return text;
|
|
2480
|
+
}
|
|
2481
|
+
}
|
|
2482
|
+
|
|
2483
|
+
/**
|
|
2484
|
+
* The value of a property as the planner reads it. `stored` is what the property carries: the values per language of
|
|
2485
|
+
* an IDM / enricher property, or the text of a CE property. A typed value (under ALL) is taken as it is; a text - of a
|
|
2486
|
+
* CE catalog or mask, of a text property, or the legacy text the enricher renders for old configurators - is read in
|
|
2487
|
+
* the encoding the entity parses the codex with. A codex the planner does not parse keeps its text.
|
|
2488
|
+
*/
|
|
2489
|
+
function readPropertyValue(entity, codex, stored, lang) {
|
|
2490
|
+
var value = isValues(stored) ? valueOf(stored, lang) : stored;
|
|
2491
|
+
if (typeof value === 'string') {
|
|
2492
|
+
var encoding = propertyEncodingOf(codex, entity);
|
|
2493
|
+
return encoding ? readText(bareCodex(codex), encoding, value) : value;
|
|
2494
|
+
}
|
|
2495
|
+
return isPropertyValue(value) ? value : undefined;
|
|
2496
|
+
}
|
|
2497
|
+
|
|
2498
|
+
/** A text property's text; undefined for any other value. */
|
|
2499
|
+
var textOf = function textOf(value) {
|
|
2500
|
+
return typeof value === 'string' ? value : undefined;
|
|
2501
|
+
};
|
|
2502
|
+
|
|
2503
|
+
/** A list property's entries; an empty list for any other value. */
|
|
2504
|
+
var listOf = function listOf(value) {
|
|
2505
|
+
return Array.isArray(value) ? value.map(String) : [];
|
|
2506
|
+
};
|
|
2507
|
+
|
|
2508
|
+
/**
|
|
2509
|
+
* A JSON property's value - handed on unchecked, as `JSON.parse` handed on the text before: its structure is the
|
|
2510
|
+
* property's own (bundle rules, notifications, a fixed shape, ...). Undefined for any other value.
|
|
2511
|
+
*/
|
|
2512
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- the structure is each property's own, as JSON.parse's result was
|
|
2513
|
+
var jsonOf = function jsonOf(value) {
|
|
2514
|
+
return _typeof(value) === 'object' ? value : undefined;
|
|
2515
|
+
};
|
|
2516
|
+
|
|
2517
|
+
/**
|
|
2518
|
+
* The texts the basket's MetaData carries for a property the planner does not parse (`values: string[]`): a text split
|
|
2519
|
+
* at ';' as before, a list its entries, a flag '1' or '0', a number its text, a JSON value its JSON text.
|
|
2520
|
+
*/
|
|
2521
|
+
function propertyTexts(value) {
|
|
2522
|
+
if (value === undefined) return [];
|
|
2523
|
+
if (typeof value === 'string') return value.split(';');
|
|
2524
|
+
if (typeof value === 'boolean') return [value ? '1' : '0'];
|
|
2525
|
+
if (typeof value === 'number') return [String(value)];
|
|
2526
|
+
if (Array.isArray(value) && value.every(function (entry) {
|
|
2527
|
+
return typeof entry === 'string';
|
|
2528
|
+
})) return value.map(String);
|
|
2529
|
+
return [JSON.stringify(value)];
|
|
2530
|
+
}
|
|
2531
|
+
|
|
1987
2532
|
var Vector2 = /*#__PURE__*/function () {
|
|
1988
2533
|
function Vector2(x, y) {
|
|
1989
2534
|
var interpretation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';
|
|
@@ -2463,239 +3008,6 @@ var CatalogPlannerArticleData = /*#__PURE__*/function () {
|
|
|
2463
3008
|
}]);
|
|
2464
3009
|
}();
|
|
2465
3010
|
|
|
2466
|
-
/**
|
|
2467
|
-
* Reading and writing a property VALUE in the encoding its own parser expects.
|
|
2468
|
-
*
|
|
2469
|
-
* Every property travels as a string and each one decides how that string is read (see propertySchemaRegistry).
|
|
2470
|
-
* An editor therefore cannot write "a boolean" - it has to write the dialect of THAT property, or the parser reads
|
|
2471
|
-
* the opposite of what the user chose. These two functions are that translation:
|
|
2472
|
-
*
|
|
2473
|
-
* - `decodePropertyValue` is DELIBERATELY TOLERANT. Stored values are a decade of history: the raw strings the
|
|
2474
|
-
* parsers document, real booleans and numbers written by editors that typed them natively, and the '.ToString()'
|
|
2475
|
-
* spellings those turn into on the way out ('True'). All of them must display as what they mean, or an editor
|
|
2476
|
-
* would show a flag as off and silently turn it off on the next save.
|
|
2477
|
-
* - `encodePropertyValue` is STRICT. It emits exactly one spelling per encoding - the one the parser reads.
|
|
2478
|
-
*/
|
|
2479
|
-
|
|
2480
|
-
/** What a decoded property value can be, before an editor renders it. */
|
|
2481
|
-
|
|
2482
|
-
/**
|
|
2483
|
-
* Whether a flag property is switched on: empty, '0' and 'false' (any case, trimmed) are OFF, any other value is ON.
|
|
2484
|
-
* Every flag parser reads its value through this, so an editor's off-state and the engine's agree.
|
|
2485
|
-
*/
|
|
2486
|
-
function isPropertyOn(value) {
|
|
2487
|
-
if (value === undefined || value === null) return false;
|
|
2488
|
-
if (typeof value === 'boolean') return value;
|
|
2489
|
-
if (typeof value === 'number') return value !== 0;
|
|
2490
|
-
var token = String(value).trim().toLowerCase();
|
|
2491
|
-
return token !== '' && token !== '0' && token !== 'false';
|
|
2492
|
-
}
|
|
2493
|
-
|
|
2494
|
-
/** The raw string a stored value amounts to - what `.ToString()` would hand the parser. */
|
|
2495
|
-
function rawStringOf(stored) {
|
|
2496
|
-
if (stored === undefined || stored === null) return '';
|
|
2497
|
-
if (typeof stored === 'string') return stored;
|
|
2498
|
-
// A real boolean stored natively reaches the parser as .NET spells it, capital included.
|
|
2499
|
-
if (typeof stored === 'boolean') return stored ? 'True' : 'False';
|
|
2500
|
-
if (typeof stored === 'number') return String(stored);
|
|
2501
|
-
return JSON.stringify(stored);
|
|
2502
|
-
}
|
|
2503
|
-
|
|
2504
|
-
/**
|
|
2505
|
-
* Reads a stored boolean EXACTLY the way the property's parser does - the editor must show what the engine sees.
|
|
2506
|
-
* A `== '1'` property holding 'true' (or a natively stored True) is OFF in the engine; showing it as on would let
|
|
2507
|
-
* the next save switch the flag on for real.
|
|
2508
|
-
*/
|
|
2509
|
-
function decodeBoolean(raw, encoding) {
|
|
2510
|
-
if (encoding === 'boolean:on') return isPropertyOn(raw);
|
|
2511
|
-
var token = raw.trim();
|
|
2512
|
-
// The `'true'` parsers mostly lower-case before comparing, the `'1'` parsers compare the digit as is.
|
|
2513
|
-
var isOne = token === '1';
|
|
2514
|
-
var isTrue = token.toLowerCase() === 'true';
|
|
2515
|
-
if (encoding === 'boolean:1') return isOne;
|
|
2516
|
-
if (encoding === 'boolean:true') return isTrue;
|
|
2517
|
-
return isOne || isTrue;
|
|
2518
|
-
}
|
|
2519
|
-
|
|
2520
|
-
/** Splits a delimited list, dropping the empty segments a trailing delimiter leaves behind. */
|
|
2521
|
-
function decodeList(raw, separator) {
|
|
2522
|
-
return raw.split(separator).map(function (entry) {
|
|
2523
|
-
return entry.trim();
|
|
2524
|
-
}).filter(function (entry) {
|
|
2525
|
-
return entry !== '';
|
|
2526
|
-
});
|
|
2527
|
-
}
|
|
2528
|
-
|
|
2529
|
-
/**
|
|
2530
|
-
* Joins list entries, or removes the property when nothing is left: '' would reach the parser's `split` and come
|
|
2531
|
-
* back as the single entry '' - a cleared list must not turn into a list of one nameless group.
|
|
2532
|
-
*/
|
|
2533
|
-
function encodeList(value, separator) {
|
|
2534
|
-
if (Array.isArray(value)) {
|
|
2535
|
-
var entries = value.map(function (entry) {
|
|
2536
|
-
return String(entry).trim();
|
|
2537
|
-
}).filter(function (entry) {
|
|
2538
|
-
return entry !== '';
|
|
2539
|
-
});
|
|
2540
|
-
return entries.length === 0 ? undefined : entries.join(separator);
|
|
2541
|
-
}
|
|
2542
|
-
// A boolean has no list spelling: 'True' would come back as a list of one entry literally named 'True'.
|
|
2543
|
-
if (typeof value === 'boolean') return undefined;
|
|
2544
|
-
var raw = rawStringOf(value);
|
|
2545
|
-
return raw === '' ? undefined : raw;
|
|
2546
|
-
}
|
|
2547
|
-
|
|
2548
|
-
/**
|
|
2549
|
-
* The value an editor should show for a stored property. `stored` is what the record holds - a string in the
|
|
2550
|
-
* normal case, or a natively-typed value from an editor that wrote one.
|
|
2551
|
-
*/
|
|
2552
|
-
function decodePropertyValue(encoding, stored) {
|
|
2553
|
-
var raw = rawStringOf(stored);
|
|
2554
|
-
switch (encoding) {
|
|
2555
|
-
case 'boolean:1':
|
|
2556
|
-
case 'boolean:1|true':
|
|
2557
|
-
case 'boolean:true':
|
|
2558
|
-
case 'boolean:on':
|
|
2559
|
-
return decodeBoolean(raw, encoding);
|
|
2560
|
-
case 'number':
|
|
2561
|
-
{
|
|
2562
|
-
if (raw.trim() === '') return undefined;
|
|
2563
|
-
// German decimal commas reach these fields through spreadsheets and locale-formatted writers.
|
|
2564
|
-
var parsed = Number(raw.trim().replace(',', '.'));
|
|
2565
|
-
return Number.isFinite(parsed) ? parsed : undefined;
|
|
2566
|
-
}
|
|
2567
|
-
case 'list:;':
|
|
2568
|
-
return decodeList(raw, ';');
|
|
2569
|
-
case 'list:,':
|
|
2570
|
-
return decodeList(raw, ',');
|
|
2571
|
-
|
|
2572
|
-
// '1' means EVERYTHING; any other value is a list. Kept as the literal '1' so an editor can offer the two
|
|
2573
|
-
// states as a choice rather than making the user know the convention.
|
|
2574
|
-
case 'all-or-list:;':
|
|
2575
|
-
return raw.trim() === '1' ? true : decodeList(raw, ';');
|
|
2576
|
-
|
|
2577
|
-
// Three states, not two: '1' is ALL, '0' is NONE, and anything else is the list of the ones that apply.
|
|
2578
|
-
// '0' must NOT read as a one-entry list - that is how an off-state turns into the group literally named '0'.
|
|
2579
|
-
case 'boolean-or-list:;':
|
|
2580
|
-
{
|
|
2581
|
-
var token = raw.trim();
|
|
2582
|
-
if (token === '1') return true;
|
|
2583
|
-
if (token === '0') return false;
|
|
2584
|
-
return decodeList(raw, ';');
|
|
2585
|
-
}
|
|
2586
|
-
case 'json':
|
|
2587
|
-
{
|
|
2588
|
-
if (raw.trim() === '') return undefined;
|
|
2589
|
-
try {
|
|
2590
|
-
return JSON.parse(raw);
|
|
2591
|
-
} catch (_unused) {
|
|
2592
|
-
// Invalid JSON is still the user's text - hand it back so the editor can show and repair it rather than
|
|
2593
|
-
// replacing their work with an empty object.
|
|
2594
|
-
return raw;
|
|
2595
|
-
}
|
|
2596
|
-
}
|
|
2597
|
-
default:
|
|
2598
|
-
return raw === '' ? undefined : raw;
|
|
2599
|
-
}
|
|
2600
|
-
}
|
|
2601
|
-
|
|
2602
|
-
/**
|
|
2603
|
-
* The string to store for an edited value - exactly the spelling the property's parser reads.
|
|
2604
|
-
* `undefined` means the property should be REMOVED rather than written empty, which is how a `boolean:on` flag is
|
|
2605
|
-
* switched off.
|
|
2606
|
-
*/
|
|
2607
|
-
function encodePropertyValue(encoding, value) {
|
|
2608
|
-
switch (encoding) {
|
|
2609
|
-
case 'boolean:1':
|
|
2610
|
-
case 'boolean:1|true':
|
|
2611
|
-
return value ? '1' : '0';
|
|
2612
|
-
case 'boolean:true':
|
|
2613
|
-
return value ? 'true' : 'false';
|
|
2614
|
-
|
|
2615
|
-
// Off is written as the absence of a value: an engine older than isPropertyOn read '0' as ON. So a child enrichment
|
|
2616
|
-
// cannot switch off a '1' inherited from a base package.
|
|
2617
|
-
case 'boolean:on':
|
|
2618
|
-
return isPropertyOn(value) ? '1' : undefined;
|
|
2619
|
-
case 'number':
|
|
2620
|
-
{
|
|
2621
|
-
// Blank input (including whitespace) clears the property; Number('') would be 0.
|
|
2622
|
-
if (value === undefined || value === null || String(value).trim() === '') return undefined;
|
|
2623
|
-
var parsed = typeof value === 'number' ? value : Number(String(value).trim().replace(',', '.'));
|
|
2624
|
-
// A decimal point, never a comma - the parsers run Number() on this string.
|
|
2625
|
-
return Number.isFinite(parsed) ? String(parsed) : undefined;
|
|
2626
|
-
}
|
|
2627
|
-
case 'list:;':
|
|
2628
|
-
return encodeList(value, ';');
|
|
2629
|
-
case 'list:,':
|
|
2630
|
-
return encodeList(value, ',');
|
|
2631
|
-
|
|
2632
|
-
// '1' is ALL; there is no spelling for OFF, so `false` removes the property (the list branch would otherwise
|
|
2633
|
-
// store the text 'False' as a one-entry list).
|
|
2634
|
-
case 'all-or-list:;':
|
|
2635
|
-
if (value === true) return '1';
|
|
2636
|
-
if (value === false) return undefined;
|
|
2637
|
-
return encodeList(value, ';');
|
|
2638
|
-
case 'boolean-or-list:;':
|
|
2639
|
-
if (value === true) return '1';
|
|
2640
|
-
// The off-state has its own spelling here, so it is written rather than left to the list branch, which
|
|
2641
|
-
// would REMOVE the property for an empty list instead of switching the state off.
|
|
2642
|
-
if (value === false) return '0';
|
|
2643
|
-
return encodeList(value, ';');
|
|
2644
|
-
case 'json':
|
|
2645
|
-
{
|
|
2646
|
-
if (value === undefined || value === '') return undefined;
|
|
2647
|
-
// Already-text stays text: it is either JSON the user typed or something they are still repairing.
|
|
2648
|
-
return typeof value === 'string' ? value : JSON.stringify(value);
|
|
2649
|
-
}
|
|
2650
|
-
default:
|
|
2651
|
-
{
|
|
2652
|
-
var raw = rawStringOf(value);
|
|
2653
|
-
return raw === '' ? undefined : raw;
|
|
2654
|
-
}
|
|
2655
|
-
}
|
|
2656
|
-
}
|
|
2657
|
-
|
|
2658
|
-
/** Whether a value can be stored for this encoding at all - what an editor blocks saving on. */
|
|
2659
|
-
function propertyValueProblem(encoding, value) {
|
|
2660
|
-
if (encoding === 'json' && typeof value === 'string' && value.trim() !== '') {
|
|
2661
|
-
try {
|
|
2662
|
-
JSON.parse(value);
|
|
2663
|
-
} catch (_unused2) {
|
|
2664
|
-
return 'invalidJson';
|
|
2665
|
-
}
|
|
2666
|
-
}
|
|
2667
|
-
if (encoding === 'number' && value !== undefined && String(value).trim() !== '') {
|
|
2668
|
-
var parsed = typeof value === 'number' ? value : Number(String(value).trim().replace(',', '.'));
|
|
2669
|
-
if (!Number.isFinite(parsed)) return 'notANumber';
|
|
2670
|
-
}
|
|
2671
|
-
|
|
2672
|
-
// A ';' inside a ';'-list entry would split it into two on the way back in - and every encoding that JOINS on
|
|
2673
|
-
// ';' is exposed to it, not just the plain list.
|
|
2674
|
-
var joinsOnSemicolon = encoding === 'list:;' || encoding === 'all-or-list:;' || encoding === 'boolean-or-list:;';
|
|
2675
|
-
if (joinsOnSemicolon && Array.isArray(value) && value.some(function (entry) {
|
|
2676
|
-
return String(entry).includes(';');
|
|
2677
|
-
})) {
|
|
2678
|
-
return 'separatorInEntry';
|
|
2679
|
-
}
|
|
2680
|
-
if (encoding === 'list:,' && Array.isArray(value) && value.some(function (entry) {
|
|
2681
|
-
return String(entry).includes(',');
|
|
2682
|
-
})) {
|
|
2683
|
-
return 'separatorInEntry';
|
|
2684
|
-
}
|
|
2685
|
-
return undefined;
|
|
2686
|
-
}
|
|
2687
|
-
|
|
2688
|
-
/** The control an editor should render for an encoding. */
|
|
2689
|
-
function editorKindOf(encoding) {
|
|
2690
|
-
if (encoding.startsWith('boolean:')) return 'checkbox';
|
|
2691
|
-
if (encoding === 'number') return 'number';
|
|
2692
|
-
if (encoding === 'list:;' || encoding === 'list:,') return 'list';
|
|
2693
|
-
if (encoding === 'all-or-list:;') return 'allOrList';
|
|
2694
|
-
if (encoding === 'boolean-or-list:;') return 'boolOrList';
|
|
2695
|
-
if (encoding === 'json') return 'json';
|
|
2696
|
-
return 'text';
|
|
2697
|
-
}
|
|
2698
|
-
|
|
2699
3011
|
var LOG$q = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
2700
3012
|
var OptionCatalogData = /*#__PURE__*/function () {
|
|
2701
3013
|
function OptionCatalogData(opt, catalogData) {
|
|
@@ -3001,122 +3313,129 @@ var OptionCatalogData = /*#__PURE__*/function () {
|
|
|
3001
3313
|
}]);
|
|
3002
3314
|
}();
|
|
3003
3315
|
var setOptionsProperties = function setOptionsProperties(catalogData, opt, properties) {
|
|
3004
|
-
var _groupOptions$;
|
|
3005
3316
|
for (var i = 0; i < (properties === null || properties === void 0 ? void 0 : properties.length); i++) {
|
|
3006
3317
|
var prop = properties[i];
|
|
3007
3318
|
var key = prop.Codex;
|
|
3008
3319
|
if (key.startsWith(catalogData.catalogCodex + '__')) key = key.replace(catalogData.catalogCodex + '__', '');
|
|
3009
3320
|
switch (key) {
|
|
3010
3321
|
case 'INFO_URL':
|
|
3011
|
-
opt.url = prop.Value;
|
|
3322
|
+
opt.url = textOf(prop.Value);
|
|
3012
3323
|
break;
|
|
3013
3324
|
case 'IGNORE_GROUPS':
|
|
3014
|
-
opt.ignoreGroups = prop.Value
|
|
3325
|
+
opt.ignoreGroups = prop.Value === true;
|
|
3015
3326
|
break;
|
|
3016
3327
|
case 'IGNORE_PGR_GROUP_POSITION':
|
|
3017
|
-
opt.ignorePgrGroupPosition = prop.Value
|
|
3328
|
+
opt.ignorePgrGroupPosition = prop.Value === true;
|
|
3018
3329
|
break;
|
|
3019
3330
|
case 'SHOW_SEARCHBAR':
|
|
3020
|
-
opt.showSearchbar = prop.Value
|
|
3331
|
+
opt.showSearchbar = prop.Value === true;
|
|
3021
3332
|
break;
|
|
3022
3333
|
case 'SHOW_FILTER':
|
|
3023
|
-
opt.showFilter = prop.Value
|
|
3334
|
+
opt.showFilter = prop.Value === true;
|
|
3024
3335
|
break;
|
|
3025
3336
|
case 'INFO_PDF':
|
|
3026
|
-
opt.pdfUrl = prop.Value;
|
|
3337
|
+
opt.pdfUrl = textOf(prop.Value);
|
|
3027
3338
|
break;
|
|
3028
3339
|
case 'DIAMETER':
|
|
3029
|
-
opt.diameter =
|
|
3340
|
+
opt.diameter = prop.Value === true;
|
|
3030
3341
|
break;
|
|
3031
3342
|
case 'GROUP_OPTIONS_LEFT_AND_RIGHT':
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3343
|
+
{
|
|
3344
|
+
var groupOptions = shapedJsonOf('GROUP_OPTIONS_LEFT_AND_RIGHT', prop.Value);
|
|
3345
|
+
if (groupOptions) {
|
|
3346
|
+
var group = groupOptions.group,
|
|
3347
|
+
side = groupOptions.side;
|
|
3348
|
+
opt.partOfGroup = {
|
|
3349
|
+
groupName: group,
|
|
3350
|
+
position: side === 'l' || side === 'r' ? side : undefined
|
|
3351
|
+
};
|
|
3352
|
+
}
|
|
3353
|
+
break;
|
|
3354
|
+
}
|
|
3039
3355
|
case 'REQUIRES_USER_INPUT':
|
|
3040
|
-
opt.requiresUserInput =
|
|
3356
|
+
opt.requiresUserInput = prop.Value === true;
|
|
3041
3357
|
break;
|
|
3042
3358
|
case 'IS_STATE':
|
|
3043
|
-
opt.isDescribingState =
|
|
3359
|
+
opt.isDescribingState = prop.Value === true;
|
|
3044
3360
|
break;
|
|
3045
3361
|
case 'CUSTOM_DIMENSION':
|
|
3046
|
-
opt.customDimension =
|
|
3362
|
+
opt.customDimension = prop.Value === true;
|
|
3047
3363
|
break;
|
|
3048
3364
|
case 'CUSTOM_DIMENSION_TEXT':
|
|
3049
|
-
opt.customDimensionText = prop.Value;
|
|
3365
|
+
opt.customDimensionText = textOf(prop.Value);
|
|
3050
3366
|
break;
|
|
3051
3367
|
case 'HIDE_OPTION_IN_CONFIGURATOR':
|
|
3052
|
-
opt.hideOptionInConfigurator =
|
|
3368
|
+
opt.hideOptionInConfigurator = prop.Value === true;
|
|
3053
3369
|
break;
|
|
3054
3370
|
case 'MERGE_IDM_TO_OPG':
|
|
3055
|
-
opt.mergeIDMToOPG = prop.Value;
|
|
3371
|
+
opt.mergeIDMToOPG = textOf(prop.Value);
|
|
3056
3372
|
break;
|
|
3057
3373
|
case 'ONLY_VISIBLE_IF_NOT_UNDOCK':
|
|
3058
|
-
opt.onlyVisibleIfNotDocked =
|
|
3374
|
+
opt.onlyVisibleIfNotDocked = prop.Value === true;
|
|
3059
3375
|
break;
|
|
3060
3376
|
case 'ONLY_VISIBLE_IF_CONFIG_SINGLE':
|
|
3061
|
-
opt.onlyVisibleIfConfigSingle =
|
|
3377
|
+
opt.onlyVisibleIfConfigSingle = prop.Value === true;
|
|
3062
3378
|
break;
|
|
3063
3379
|
case 'ONLY_VISIBLE_IF_CONFIG_ALL':
|
|
3064
|
-
opt.onlyVisibleIfConfigAll =
|
|
3380
|
+
opt.onlyVisibleIfConfigAll = prop.Value === true;
|
|
3065
3381
|
break;
|
|
3066
3382
|
case 'ISDEFAULTVALUEFOROPTIONS':
|
|
3067
|
-
opt.isDefaultValueForOptions = prop.Value;
|
|
3383
|
+
opt.isDefaultValueForOptions = textOf(prop.Value);
|
|
3068
3384
|
break;
|
|
3069
3385
|
case 'CHECK_FOR_REVERSE_CHANGES':
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3386
|
+
{
|
|
3387
|
+
var reverseChanges = shapedJsonOf('CHECK_FOR_REVERSE_CHANGES', prop.Value);
|
|
3388
|
+
if (reverseChanges) {
|
|
3389
|
+
opt.checkForReversed = {
|
|
3390
|
+
checkForReversingChanges: reverseChanges.mode === 'BLOCK' ? 'BLOCK' : 'WARN',
|
|
3391
|
+
checkOnlyForOptions: reverseChanges.options.map(function (t) {
|
|
3392
|
+
return (!catalogData.isIDMFormat ? 'OPT' : '') + t;
|
|
3393
|
+
})
|
|
3394
|
+
};
|
|
3395
|
+
}
|
|
3396
|
+
break;
|
|
3077
3397
|
}
|
|
3078
|
-
break;
|
|
3079
3398
|
case 'FREETEXT_DEFAULT_VALUE':
|
|
3080
|
-
opt.freetextDefaultValue = prop.Value;
|
|
3399
|
+
opt.freetextDefaultValue = textOf(prop.Value);
|
|
3081
3400
|
break;
|
|
3082
3401
|
case 'SHOW_IN_VARIANTDESC':
|
|
3083
|
-
opt.forceShowVariantDesc =
|
|
3402
|
+
opt.forceShowVariantDesc = prop.Value === true;
|
|
3084
3403
|
break;
|
|
3085
3404
|
case 'SHOW_SEPARAT_ON_TABGROUP':
|
|
3086
|
-
opt.showOnSeparatTabgroup = prop.Value;
|
|
3405
|
+
opt.showOnSeparatTabgroup = textOf(prop.Value);
|
|
3087
3406
|
break;
|
|
3088
3407
|
case 'SETNAME':
|
|
3089
|
-
opt.setName =
|
|
3408
|
+
opt.setName = prop.Value === true;
|
|
3090
3409
|
break;
|
|
3091
3410
|
case 'ADD_OPT_TO_TABGROUP_IN_PL_SUM':
|
|
3092
|
-
opt.addOptionToTabgroupInPartlistSummary = prop.Value;
|
|
3411
|
+
opt.addOptionToTabgroupInPartlistSummary = textOf(prop.Value);
|
|
3093
3412
|
break;
|
|
3094
3413
|
case 'ADD_TO_WWS':
|
|
3095
|
-
opt.addToWWS =
|
|
3414
|
+
opt.addToWWS = prop.Value === true;
|
|
3096
3415
|
break;
|
|
3097
3416
|
case 'IS_MAIN_COLOR':
|
|
3098
|
-
opt.isMainColor =
|
|
3417
|
+
opt.isMainColor = prop.Value === true;
|
|
3099
3418
|
break;
|
|
3100
3419
|
case 'DESCRIPTION':
|
|
3101
|
-
opt.description = prop.Value;
|
|
3420
|
+
opt.description = textOf(prop.Value);
|
|
3102
3421
|
break;
|
|
3103
3422
|
case 'DEFAULT_SIBLING_OPTION':
|
|
3104
|
-
opt.isDefaultSiblingOption = prop.Value;
|
|
3423
|
+
opt.isDefaultSiblingOption = textOf(prop.Value);
|
|
3105
3424
|
break;
|
|
3106
3425
|
case 'CONTENT_ITEM':
|
|
3107
|
-
opt.contentItemId = prop.Value;
|
|
3426
|
+
opt.contentItemId = textOf(prop.Value);
|
|
3108
3427
|
break;
|
|
3109
3428
|
case 'CONTENT_ITEM_TEASER':
|
|
3110
|
-
opt.contentItemTeaser =
|
|
3429
|
+
opt.contentItemTeaser = jsonOf(prop.Value);
|
|
3111
3430
|
break;
|
|
3112
3431
|
case 'REQUIRED_OPTION':
|
|
3113
|
-
opt.requiredOption =
|
|
3432
|
+
opt.requiredOption = prop.Value === true;
|
|
3114
3433
|
break;
|
|
3115
3434
|
case 'SUGGESTED_OPTION':
|
|
3116
|
-
opt.suggestedOption =
|
|
3435
|
+
opt.suggestedOption = prop.Value === true;
|
|
3117
3436
|
break;
|
|
3118
3437
|
case 'ADDITIONAL_GROUP_FILTER':
|
|
3119
|
-
opt.additionalGroupFilter =
|
|
3438
|
+
opt.additionalGroupFilter = jsonOf(prop.Value);
|
|
3120
3439
|
break;
|
|
3121
3440
|
case 'ION_COMMENT_TEXT':
|
|
3122
3441
|
case 'SHOW_IN_BASKET_WHEN_HAS_PRICE':
|
|
@@ -3127,7 +3446,7 @@ var setOptionsProperties = function setOptionsProperties(catalogData, opt, prope
|
|
|
3127
3446
|
case 'IsArtName':
|
|
3128
3447
|
break;
|
|
3129
3448
|
case 'IDM3D_TARGET':
|
|
3130
|
-
// read
|
|
3449
|
+
// read by the IDM3D translation (logic/Planner/IDM3D/idm3dTranslation.ts)
|
|
3131
3450
|
break;
|
|
3132
3451
|
default:
|
|
3133
3452
|
LOG$q.debug('implement mapping for these props for options: ' + prop.Codex);
|
|
@@ -17375,34 +17694,34 @@ var setOptionValueProperties = function setOptionValueProperties(catalogData, op
|
|
|
17375
17694
|
if (key.startsWith(catalogData.catalogCodex + '__')) key = key.replace(catalogData.catalogCodex + '__', '');
|
|
17376
17695
|
switch (key) {
|
|
17377
17696
|
case 'INFO_URL':
|
|
17378
|
-
opv.url = prop.Value;
|
|
17697
|
+
opv.url = textOf(prop.Value);
|
|
17379
17698
|
break;
|
|
17380
17699
|
case 'INFO_PDF':
|
|
17381
|
-
opv.pdfUrl = prop.Value;
|
|
17700
|
+
opv.pdfUrl = textOf(prop.Value);
|
|
17382
17701
|
break;
|
|
17383
17702
|
case 'SAME_OPV':
|
|
17384
|
-
opv.sameopv = prop.Value;
|
|
17703
|
+
opv.sameopv = textOf(prop.Value);
|
|
17385
17704
|
break;
|
|
17386
17705
|
case 'ONLY_VISIBLE_IF_NOT_UNDOCK':
|
|
17387
|
-
opv.onlyVisibleIfNotDocked = prop.Value;
|
|
17706
|
+
opv.onlyVisibleIfNotDocked = textOf(prop.Value);
|
|
17388
17707
|
break;
|
|
17389
17708
|
case 'DEFAULT_VALUE':
|
|
17390
|
-
opv.defaultValue =
|
|
17709
|
+
opv.defaultValue = prop.Value === true;
|
|
17391
17710
|
break;
|
|
17392
17711
|
case 'SUMMARY_CODEX':
|
|
17393
|
-
opv.summaryCodex = prop.Value;
|
|
17712
|
+
opv.summaryCodex = textOf(prop.Value);
|
|
17394
17713
|
break;
|
|
17395
17714
|
case 'VIEWPOINTNAME':
|
|
17396
|
-
opv.viewPointName = prop.Value;
|
|
17715
|
+
opv.viewPointName = textOf(prop.Value);
|
|
17397
17716
|
break;
|
|
17398
17717
|
case 'HIDE_IN_SUMMARY':
|
|
17399
|
-
opv.hideInSummary =
|
|
17718
|
+
opv.hideInSummary = prop.Value === true;
|
|
17400
17719
|
break;
|
|
17401
17720
|
case 'SETNAME':
|
|
17402
|
-
opv.setName = prop.Value;
|
|
17721
|
+
opv.setName = textOf(prop.Value);
|
|
17403
17722
|
break;
|
|
17404
17723
|
case 'SET_CONFIG':
|
|
17405
|
-
opv.setConfig = prop.Value;
|
|
17724
|
+
opv.setConfig = textOf(prop.Value);
|
|
17406
17725
|
break;
|
|
17407
17726
|
case 'CUSTOM_DIMENSION':
|
|
17408
17727
|
if (prop.Value == '1' || prop.Value == '0') {
|
|
@@ -17415,52 +17734,55 @@ var setOptionValueProperties = function setOptionValueProperties(catalogData, op
|
|
|
17415
17734
|
}
|
|
17416
17735
|
break;
|
|
17417
17736
|
case 'ON_RULE':
|
|
17418
|
-
opv.onRule = prop.Value;
|
|
17737
|
+
opv.onRule = textOf(prop.Value);
|
|
17419
17738
|
break;
|
|
17420
17739
|
case 'CONTENT_ITEM':
|
|
17421
|
-
opv.contentItemId = prop.Value;
|
|
17740
|
+
opv.contentItemId = textOf(prop.Value);
|
|
17422
17741
|
break;
|
|
17423
17742
|
case 'IS_NOT_RELEVANT':
|
|
17424
|
-
opv.isNotRelevant =
|
|
17743
|
+
opv.isNotRelevant = prop.Value === true;
|
|
17425
17744
|
break;
|
|
17426
17745
|
case 'GROUP_CONTENT_ITEM':
|
|
17427
|
-
opv.groupContentItemId = prop.Value;
|
|
17746
|
+
opv.groupContentItemId = textOf(prop.Value);
|
|
17428
17747
|
break;
|
|
17429
17748
|
case 'SET_BY_RULE':
|
|
17430
|
-
opv.setByRule = prop.Value;
|
|
17749
|
+
opv.setByRule = textOf(prop.Value);
|
|
17431
17750
|
break;
|
|
17432
17751
|
case 'ADD_TO_MEASURE':
|
|
17433
|
-
|
|
17434
|
-
|
|
17435
|
-
|
|
17436
|
-
|
|
17437
|
-
|
|
17438
|
-
|
|
17439
|
-
|
|
17440
|
-
|
|
17752
|
+
{
|
|
17753
|
+
var measures = shapedJsonOf('ADD_TO_MEASURE', prop.Value);
|
|
17754
|
+
if (measures) opv.addToMeasure = measures.map(function (entry) {
|
|
17755
|
+
return {
|
|
17756
|
+
op: entry.op,
|
|
17757
|
+
value: entry.value,
|
|
17758
|
+
opt: 'OPT' + entry.option
|
|
17759
|
+
};
|
|
17760
|
+
});
|
|
17761
|
+
break;
|
|
17762
|
+
}
|
|
17441
17763
|
case 'PIMFlatValues':
|
|
17442
|
-
opv.isPIMFlatValue = prop.Value
|
|
17764
|
+
opv.isPIMFlatValue = prop.Value === true;
|
|
17443
17765
|
break;
|
|
17444
17766
|
case 'IsVariantAttribute':
|
|
17445
|
-
opv.isVariantAttribute = prop.Value
|
|
17767
|
+
opv.isVariantAttribute = prop.Value === true;
|
|
17446
17768
|
break;
|
|
17447
17769
|
case 'OPTION_FREE_TEXT':
|
|
17448
|
-
opv.optionFreeText =
|
|
17770
|
+
opv.optionFreeText = prop.Value === true;
|
|
17449
17771
|
break;
|
|
17450
17772
|
case 'MEASURE_UNIT':
|
|
17451
|
-
opv.measureUnit = prop.Value;
|
|
17773
|
+
opv.measureUnit = textOf(prop.Value);
|
|
17452
17774
|
break;
|
|
17453
17775
|
case 'MEASURE_MINIMUM':
|
|
17454
|
-
opv.measureMinimum = prop.Value;
|
|
17776
|
+
opv.measureMinimum = textOf(prop.Value);
|
|
17455
17777
|
break;
|
|
17456
17778
|
case 'MEASURE_MAXIMUM':
|
|
17457
|
-
opv.measureMaximum = prop.Value;
|
|
17779
|
+
opv.measureMaximum = textOf(prop.Value);
|
|
17458
17780
|
break;
|
|
17459
17781
|
case 'MEASURE_STEP':
|
|
17460
|
-
opv.measureStep = prop.Value;
|
|
17782
|
+
opv.measureStep = textOf(prop.Value);
|
|
17461
17783
|
break;
|
|
17462
17784
|
case 'PRICE_UNIT':
|
|
17463
|
-
opv.priceUnit = prop.Value;
|
|
17785
|
+
opv.priceUnit = textOf(prop.Value);
|
|
17464
17786
|
break;
|
|
17465
17787
|
case 'ION_COMMENT_TEXT':
|
|
17466
17788
|
case 'EshopCategoryMapping':
|
|
@@ -17469,7 +17791,7 @@ var setOptionValueProperties = function setOptionValueProperties(catalogData, op
|
|
|
17469
17791
|
case 'IsArtName':
|
|
17470
17792
|
break;
|
|
17471
17793
|
case 'IDM3D_VALUE':
|
|
17472
|
-
// read
|
|
17794
|
+
// read by the IDM3D translation (logic/Planner/IDM3D/idm3dTranslation.ts)
|
|
17473
17795
|
break;
|
|
17474
17796
|
default:
|
|
17475
17797
|
if (key.includes('__')) break;
|
|
@@ -17490,7 +17812,7 @@ var setOptionValueProperties = function setOptionValueProperties(catalogData, op
|
|
|
17490
17812
|
metaDatas.push({
|
|
17491
17813
|
codex: prop.Codex,
|
|
17492
17814
|
name: prop.Name,
|
|
17493
|
-
values: prop.Value
|
|
17815
|
+
values: propertyTexts(prop.Value),
|
|
17494
17816
|
values_locales: values_locales
|
|
17495
17817
|
});
|
|
17496
17818
|
break;
|
|
@@ -17506,7 +17828,8 @@ function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
17506
17828
|
//kaufmännischer Artikel
|
|
17507
17829
|
var CatalogArticleData = /*#__PURE__*/function () {
|
|
17508
17830
|
function CatalogArticleData(catalogArticle, catalogData) {
|
|
17509
|
-
var _this = this
|
|
17831
|
+
var _this = this,
|
|
17832
|
+
_textOf;
|
|
17510
17833
|
_classCallCheck(this, CatalogArticleData);
|
|
17511
17834
|
_defineProperty(this, "_catalogArticle", void 0);
|
|
17512
17835
|
_defineProperty(this, "useShortNameAsName", void 0);
|
|
@@ -17528,13 +17851,13 @@ var CatalogArticleData = /*#__PURE__*/function () {
|
|
|
17528
17851
|
if (_key.startsWith(this.catalogCodex + '__')) _key = _key.replace(this.catalogCodex + '__', '');
|
|
17529
17852
|
switch (_key) {
|
|
17530
17853
|
case 'BUNDLE_RULES':
|
|
17531
|
-
this._catalogArticle.bundleRules =
|
|
17854
|
+
this._catalogArticle.bundleRules = jsonOf(prop.Value);
|
|
17532
17855
|
break;
|
|
17533
17856
|
case 'ACCESSOIRE_POS_PRIO':
|
|
17534
17857
|
this._catalogArticle.accPosPrio = Number(prop.Value);
|
|
17535
17858
|
break;
|
|
17536
17859
|
case 'ADD_AS_ZKAT':
|
|
17537
|
-
this._catalogArticle.addAsZKAT = prop.Value ===
|
|
17860
|
+
this._catalogArticle.addAsZKAT = prop.Value === true;
|
|
17538
17861
|
break;
|
|
17539
17862
|
case 'HEIGHTGRIDUSED':
|
|
17540
17863
|
this._catalogArticle.heightGridUsed = Number(prop.Value);
|
|
@@ -17546,83 +17869,83 @@ var CatalogArticleData = /*#__PURE__*/function () {
|
|
|
17546
17869
|
this._catalogArticle.heightGridAbove = Number(prop.Value);
|
|
17547
17870
|
break;
|
|
17548
17871
|
case 'OVERWRITE_PARENT_WIDTH':
|
|
17549
|
-
this._catalogArticle.overwriteParentWidth =
|
|
17872
|
+
this._catalogArticle.overwriteParentWidth = prop.Value === true;
|
|
17550
17873
|
break;
|
|
17551
17874
|
case 'OVERWRITE_PARENT_HEIGHT':
|
|
17552
|
-
this._catalogArticle.overwriteParentHeight =
|
|
17875
|
+
this._catalogArticle.overwriteParentHeight = prop.Value === true;
|
|
17553
17876
|
break;
|
|
17554
17877
|
case 'OVERWRITE_PARENT_DEPTH':
|
|
17555
|
-
this._catalogArticle.overwriteParentDepth =
|
|
17878
|
+
this._catalogArticle.overwriteParentDepth = prop.Value === true;
|
|
17556
17879
|
break;
|
|
17557
17880
|
case 'DO_NOT_DEL_ACC_IF_NOT_DOCKED':
|
|
17558
|
-
this._catalogArticle.doNotDelAccIfNotDocked =
|
|
17881
|
+
this._catalogArticle.doNotDelAccIfNotDocked = prop.Value === true;
|
|
17559
17882
|
break;
|
|
17560
17883
|
case 'HEIGHT_HAS_PRICE':
|
|
17561
|
-
this._catalogArticle.heightHasPrice =
|
|
17884
|
+
this._catalogArticle.heightHasPrice = prop.Value === true;
|
|
17562
17885
|
break;
|
|
17563
17886
|
case 'DEPTH_HAS_PRICE':
|
|
17564
|
-
this._catalogArticle.depthHasPrice =
|
|
17887
|
+
this._catalogArticle.depthHasPrice = prop.Value === true;
|
|
17565
17888
|
break;
|
|
17566
17889
|
case 'WIDTH_HAS_PRICE':
|
|
17567
|
-
this._catalogArticle.widthHasPrice =
|
|
17890
|
+
this._catalogArticle.widthHasPrice = prop.Value === true;
|
|
17568
17891
|
break;
|
|
17569
17892
|
case 'TYPE_NO':
|
|
17570
|
-
if (!this._catalogArticle.typeNr && catalogData.isIDMFormat) this._catalogArticle.typeNr = prop.Value;
|
|
17893
|
+
if (!this._catalogArticle.typeNr && catalogData.isIDMFormat) this._catalogArticle.typeNr = (_textOf = textOf(prop.Value)) !== null && _textOf !== void 0 ? _textOf : '';
|
|
17571
17894
|
break;
|
|
17572
17895
|
case 'BASIC_UNIT_PRICE':
|
|
17573
17896
|
this._catalogArticle.basicUnitPrice = Number(prop.Value);
|
|
17574
17897
|
break;
|
|
17575
17898
|
case 'INVALID_ACCESSORIES':
|
|
17576
|
-
this._catalogArticle.invalidAccessoires = prop.Value
|
|
17899
|
+
this._catalogArticle.invalidAccessoires = listOf(prop.Value);
|
|
17577
17900
|
break;
|
|
17578
17901
|
case 'ON_CONFIG_OPTION':
|
|
17579
|
-
this._catalogArticle.onConfigOption = prop.Value;
|
|
17902
|
+
this._catalogArticle.onConfigOption = textOf(prop.Value);
|
|
17580
17903
|
break;
|
|
17581
17904
|
case 'ON_SET_CONFIG_OPTION':
|
|
17582
|
-
this._catalogArticle.onSetConfigOtpion = prop.Value;
|
|
17905
|
+
this._catalogArticle.onSetConfigOtpion = textOf(prop.Value);
|
|
17583
17906
|
break;
|
|
17584
17907
|
case '3DMODELNAME':
|
|
17585
|
-
this._catalogArticle.modelName3D = prop.Value;
|
|
17908
|
+
this._catalogArticle.modelName3D = textOf(prop.Value);
|
|
17586
17909
|
break;
|
|
17587
17910
|
case 'ZUBEHOER_FAMILIE':
|
|
17588
|
-
this._catalogArticle.accessoireFamily = prop.Value;
|
|
17911
|
+
this._catalogArticle.accessoireFamily = textOf(prop.Value);
|
|
17589
17912
|
break;
|
|
17590
17913
|
case 'ORDER_POSNR':
|
|
17591
|
-
this._catalogArticle.orderPosNr = prop.Value;
|
|
17914
|
+
this._catalogArticle.orderPosNr = textOf(prop.Value);
|
|
17592
17915
|
break;
|
|
17593
17916
|
case 'HIDE_IN_PLANNERSTEP':
|
|
17594
|
-
this._catalogArticle.hideInPlannerStep =
|
|
17917
|
+
this._catalogArticle.hideInPlannerStep = prop.Value === true;
|
|
17595
17918
|
break;
|
|
17596
17919
|
case 'MAX_PLANNING_COUNT':
|
|
17597
17920
|
this._catalogArticle.maxPlanningCount = Number(prop.Value);
|
|
17598
17921
|
break;
|
|
17599
17922
|
case 'CONTENT_ITEM':
|
|
17600
|
-
this._catalogArticle.contentItemId = prop.Value;
|
|
17923
|
+
this._catalogArticle.contentItemId = textOf(prop.Value);
|
|
17601
17924
|
break;
|
|
17602
17925
|
case 'GROUP_CONTENT_ITEM':
|
|
17603
|
-
this._catalogArticle.groupContentItemId = prop.Value;
|
|
17926
|
+
this._catalogArticle.groupContentItemId = textOf(prop.Value);
|
|
17604
17927
|
break;
|
|
17605
17928
|
case 'IDM3D_SKIP':
|
|
17606
|
-
this._catalogArticle.idm3DSkip =
|
|
17929
|
+
this._catalogArticle.idm3DSkip = prop.Value === true;
|
|
17607
17930
|
break;
|
|
17608
17931
|
case 'HAS3D':
|
|
17609
|
-
this._catalogArticle.isVisualized =
|
|
17932
|
+
this._catalogArticle.isVisualized = prop.Value === true;
|
|
17610
17933
|
break;
|
|
17611
17934
|
case 'RETAIL_PREFIX':
|
|
17612
17935
|
this._catalogArticle.retailPrefix = prop.Value;
|
|
17613
17936
|
break;
|
|
17614
17937
|
case 'OPTIONS_FOR_PRINT':
|
|
17615
|
-
this.catalogArticle.optionsForPrint = prop.Value
|
|
17938
|
+
this.catalogArticle.optionsForPrint = listOf(prop.Value);
|
|
17616
17939
|
break;
|
|
17617
17940
|
case 'TABGROUP':
|
|
17618
|
-
if (!this._catalogArticle.tabGroup) this._catalogArticle.tabGroup = prop.Value;
|
|
17941
|
+
if (!this._catalogArticle.tabGroup) this._catalogArticle.tabGroup = textOf(prop.Value);
|
|
17619
17942
|
break;
|
|
17620
17943
|
case 'TABGROUP_OPTIONS':
|
|
17621
|
-
if (!this._catalogArticle.tabGroupOption) this._catalogArticle.tabGroupOption = prop.Value;
|
|
17944
|
+
if (!this._catalogArticle.tabGroupOption) this._catalogArticle.tabGroupOption = textOf(prop.Value);
|
|
17622
17945
|
break;
|
|
17623
17946
|
default:
|
|
17624
17947
|
if (_key.includes('__')) break;
|
|
17625
|
-
var values = prop.Value
|
|
17948
|
+
var values = propertyTexts(prop.Value);
|
|
17626
17949
|
var values_locales = [];
|
|
17627
17950
|
if (prop.Value_locales) {
|
|
17628
17951
|
var _prop$Value_locales;
|
|
@@ -18365,6 +18688,8 @@ var CatalogArticleData = /*#__PURE__*/function () {
|
|
|
18365
18688
|
}]);
|
|
18366
18689
|
}();
|
|
18367
18690
|
|
|
18691
|
+
function ownKeys$r(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18692
|
+
function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18368
18693
|
var LOG$o = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
18369
18694
|
function initDivaCatalogData(json, orderSet, api) {
|
|
18370
18695
|
var _json$MainCategory;
|
|
@@ -18463,13 +18788,13 @@ function setCatalogPlannsCompletely(catalogData) {
|
|
|
18463
18788
|
}
|
|
18464
18789
|
}
|
|
18465
18790
|
function getCatalogArticle$1(jsonArticle, catalogData) {
|
|
18466
|
-
var _catalogData$catalogM, _catalogData$catalogM2, _catalogData$catalogM3, _articleMask$name$cat, _articleMask$name, _articleMask$shortNam, _articleMask$shortNam2,
|
|
18791
|
+
var _catalogData$catalogM, _catalogData$catalogM2, _catalogData$catalogM3, _articleMask$name$cat, _articleMask$name, _articleMask$shortNam, _articleMask$shortNam2, _articleMask$groupnam, _articleMask$groupnam2, _articleMask$hidden;
|
|
18467
18792
|
var articleMask = (_catalogData$catalogM = catalogData.catalogMask) === null || _catalogData$catalogM === void 0 || (_catalogData$catalogM = _catalogData$catalogM.articles) === null || _catalogData$catalogM === void 0 ? void 0 : _catalogData$catalogM[jsonArticle.Codex];
|
|
18468
18793
|
var maskProperties = getPropertiesForItemNo((_catalogData$catalogM2 = (_catalogData$catalogM3 = catalogData.catalogMask) === null || _catalogData$catalogM3 === void 0 ? void 0 : _catalogData$catalogM3.properties) !== null && _catalogData$catalogM2 !== void 0 ? _catalogData$catalogM2 : [], jsonArticle.Codex, catalogData.api.getLanguage());
|
|
18469
18794
|
//parse den Json Article und erstelle CatalogArticle
|
|
18470
18795
|
var name = (_articleMask$name$cat = articleMask === null || articleMask === void 0 || (_articleMask$name = articleMask.name) === null || _articleMask$name === void 0 ? void 0 : _articleMask$name[catalogData.api.getLanguage()]) !== null && _articleMask$name$cat !== void 0 ? _articleMask$name$cat : jsonArticle.Name;
|
|
18471
18796
|
var shortName = (_articleMask$shortNam = articleMask === null || articleMask === void 0 || (_articleMask$shortNam2 = articleMask.shortName) === null || _articleMask$shortNam2 === void 0 ? void 0 : _articleMask$shortNam2[catalogData.api.getLanguage()]) !== null && _articleMask$shortNam !== void 0 ? _articleMask$shortNam : jsonArticle.ShortName;
|
|
18472
|
-
var properties = [].concat(_toConsumableArray((
|
|
18797
|
+
var properties = [].concat(_toConsumableArray(readProperties('article', jsonArticle.Metadatas, catalogData.api.getLanguage())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
18473
18798
|
return {
|
|
18474
18799
|
articleCodex: jsonArticle.Codex,
|
|
18475
18800
|
catalogName: jsonArticle.CatalogName,
|
|
@@ -18575,10 +18900,10 @@ function initCatalogOptions(catalogData, jsonOptions) {
|
|
|
18575
18900
|
return options;
|
|
18576
18901
|
}
|
|
18577
18902
|
function getCatalogOptionDataType(codex, jsonOPT, catalogData) {
|
|
18578
|
-
var _catalogData$catalogM4, _catalogData$catalogM5, _catalogData$catalogM6, _catalogData$catalogM7, _catalogData$catalogM8,
|
|
18903
|
+
var _catalogData$catalogM4, _catalogData$catalogM5, _catalogData$catalogM6, _catalogData$catalogM7, _catalogData$catalogM8, _optionMask$name$cata, _optionMask$name, _optionMask$name2, _optionMask$tabGroup, _ref, _optionMask$layout, _properties$find, _jsonOPT$showOPVAsArt, _properties$find2, _properties$find3;
|
|
18579
18904
|
var maskProperties = getPropertiesForFeatureNo((_catalogData$catalogM4 = (_catalogData$catalogM5 = catalogData.catalogMask) === null || _catalogData$catalogM5 === void 0 ? void 0 : _catalogData$catalogM5.properties) !== null && _catalogData$catalogM4 !== void 0 ? _catalogData$catalogM4 : [], undefined, codex, catalogData.api.getLanguage());
|
|
18580
18905
|
var optionMask = (_catalogData$catalogM6 = (_catalogData$catalogM7 = catalogData.catalogMask) === null || _catalogData$catalogM7 === void 0 || (_catalogData$catalogM7 = _catalogData$catalogM7.options) === null || _catalogData$catalogM7 === void 0 ? void 0 : _catalogData$catalogM7[codex]) !== null && _catalogData$catalogM6 !== void 0 ? _catalogData$catalogM6 : codex.startsWith('OPT') ? (_catalogData$catalogM8 = catalogData.catalogMask) === null || _catalogData$catalogM8 === void 0 || (_catalogData$catalogM8 = _catalogData$catalogM8.options) === null || _catalogData$catalogM8 === void 0 ? void 0 : _catalogData$catalogM8[codex.substring(3)] : undefined;
|
|
18581
|
-
var properties = [].concat(_toConsumableArray((
|
|
18906
|
+
var properties = [].concat(_toConsumableArray(readProperties('option', jsonOPT.Properties, catalogData.api.getLanguage())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
18582
18907
|
var opt = {
|
|
18583
18908
|
codex: codex,
|
|
18584
18909
|
name: (_optionMask$name$cata = optionMask === null || optionMask === void 0 || (_optionMask$name = optionMask.name) === null || _optionMask$name === void 0 ? void 0 : _optionMask$name[catalogData.api.getLanguage()]) !== null && _optionMask$name$cata !== void 0 ? _optionMask$name$cata : jsonOPT.Name,
|
|
@@ -18590,9 +18915,9 @@ function getCatalogOptionDataType(codex, jsonOPT, catalogData) {
|
|
|
18590
18915
|
invisible: jsonOPT.Invisible != undefined ? jsonOPT.Invisible : false,
|
|
18591
18916
|
hiddenByMask: optionMask === null || optionMask === void 0 ? void 0 : optionMask.hidden,
|
|
18592
18917
|
maskTabgroup: optionMask === null || optionMask === void 0 || (_optionMask$tabGroup = optionMask.tabGroup) === null || _optionMask$tabGroup === void 0 ? void 0 : _optionMask$tabGroup[catalogData.api.getLanguage()],
|
|
18593
|
-
layout: (_ref = (_optionMask$layout = optionMask === null || optionMask === void 0 ? void 0 : optionMask.layout) !== null && _optionMask$layout !== void 0 ? _optionMask$layout : properties === null || properties === void 0 || (_properties$find = properties.find(function (p) {
|
|
18918
|
+
layout: (_ref = (_optionMask$layout = optionMask === null || optionMask === void 0 ? void 0 : optionMask.layout) !== null && _optionMask$layout !== void 0 ? _optionMask$layout : textOf(properties === null || properties === void 0 || (_properties$find = properties.find(function (p) {
|
|
18594
18919
|
return p.Codex == 'LAYOUT';
|
|
18595
|
-
})) === null || _properties$find === void 0 ? void 0 : _properties$find.Value) !== null && _ref !== void 0 ? _ref : jsonOPT.Layout != undefined ? jsonOPT.Layout : 'IMAGE',
|
|
18920
|
+
})) === null || _properties$find === void 0 ? void 0 : _properties$find.Value)) !== null && _ref !== void 0 ? _ref : jsonOPT.Layout != undefined ? jsonOPT.Layout : 'IMAGE',
|
|
18596
18921
|
useMaxPriceOfGroup: jsonOPT.UseMaxPriceOfGroup != undefined ? Number(jsonOPT.UseMaxPriceOfGroup) : undefined,
|
|
18597
18922
|
calcPercentOnOptions: jsonOPT.CalcPercentOnOptions,
|
|
18598
18923
|
hideGroupNameInOrderText: jsonOPT.hideGroupNameInOrderText != undefined ? jsonOPT.hideGroupNameInOrderText == 'True' : false,
|
|
@@ -18623,11 +18948,11 @@ function initCatalogOptionValues(catalogData, jsonOptions) {
|
|
|
18623
18948
|
return optionValues;
|
|
18624
18949
|
}
|
|
18625
18950
|
function getCatalogOptionValueDataType(codex, jsonOPV, catalogData) {
|
|
18626
|
-
var _catalogData$catalogM9, _catalogData$catalogM10, _catalogData$catalogM11, _optionvalues$codex, _catalogData$catalogM12, _catalogData$catalogM13,
|
|
18951
|
+
var _catalogData$catalogM9, _catalogData$catalogM10, _catalogData$catalogM11, _optionvalues$codex, _catalogData$catalogM12, _catalogData$catalogM13, _mask$name$catalogDat, _mask$name, _mask$name2, _mask$groupname$catal, _mask$groupname, _mask$groupname2, _mask$hiddenInFeature, _jsonOPV$MeasureStep, _jsonOPV$Value;
|
|
18627
18952
|
var optionvalues = (_catalogData$catalogM9 = (_catalogData$catalogM10 = catalogData.catalogMask) === null || _catalogData$catalogM10 === void 0 ? void 0 : _catalogData$catalogM10.optionvalues) !== null && _catalogData$catalogM9 !== void 0 ? _catalogData$catalogM9 : (_catalogData$catalogM11 = catalogData.catalogMask) === null || _catalogData$catalogM11 === void 0 ? void 0 : _catalogData$catalogM11.optionValues;
|
|
18628
18953
|
var mask = (_optionvalues$codex = optionvalues === null || optionvalues === void 0 ? void 0 : optionvalues[codex]) !== null && _optionvalues$codex !== void 0 ? _optionvalues$codex : codex.startsWith('OPV') ? optionvalues === null || optionvalues === void 0 ? void 0 : optionvalues[codex.substring(3)] : undefined;
|
|
18629
18954
|
var maskProperties = getPropertiesForOptionKey((_catalogData$catalogM12 = (_catalogData$catalogM13 = catalogData.catalogMask) === null || _catalogData$catalogM13 === void 0 ? void 0 : _catalogData$catalogM13.properties) !== null && _catalogData$catalogM12 !== void 0 ? _catalogData$catalogM12 : [], undefined, codex, catalogData.api.getLanguage());
|
|
18630
|
-
var properties = [].concat(_toConsumableArray((
|
|
18955
|
+
var properties = [].concat(_toConsumableArray(readProperties('optionValue', jsonOPV.Metadatas, catalogData.api.getLanguage())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
18631
18956
|
var opv = {
|
|
18632
18957
|
codex: codex,
|
|
18633
18958
|
vCodex: jsonOPV.VCodex,
|
|
@@ -18949,13 +19274,22 @@ function getImageURL(image, mediaUrl) {
|
|
|
18949
19274
|
}
|
|
18950
19275
|
return ret;
|
|
18951
19276
|
}
|
|
19277
|
+
|
|
19278
|
+
/** Properties whose Value is a text (CE catalogs, the catalog mask) with their values read for the parser of `entity`. */
|
|
19279
|
+
function readProperties(entity, properties, lang) {
|
|
19280
|
+
return (properties !== null && properties !== void 0 ? properties : []).map(function (p) {
|
|
19281
|
+
return _objectSpread$r(_objectSpread$r({}, p), {}, {
|
|
19282
|
+
Value: readPropertyValue(entity, p.Codex, p.Value, lang)
|
|
19283
|
+
});
|
|
19284
|
+
});
|
|
19285
|
+
}
|
|
18952
19286
|
function getPropertiesForFeatureNo(properties, typeNo, featureNo, lang) {
|
|
18953
19287
|
return properties.filter(function (p) {
|
|
18954
19288
|
var _p$featureNos, _p$optionKeys, _p$typeNos, _p$typeNos2;
|
|
18955
19289
|
return ((_p$featureNos = p.featureNos) === null || _p$featureNos === void 0 ? void 0 : _p$featureNos.includes(featureNo)) && !((_p$optionKeys = p.optionKeys) !== null && _p$optionKeys !== void 0 && _p$optionKeys.length) && (!typeNo || !((_p$typeNos = p.typeNos) !== null && _p$typeNos !== void 0 && _p$typeNos.length) || ((_p$typeNos2 = p.typeNos) === null || _p$typeNos2 === void 0 ? void 0 : _p$typeNos2.includes(typeNo)));
|
|
18956
19290
|
}).map(function (p) {
|
|
18957
19291
|
return {
|
|
18958
|
-
Value:
|
|
19292
|
+
Value: readPropertyValue('option', p.key, p.value, lang),
|
|
18959
19293
|
Codex: p.key,
|
|
18960
19294
|
Name: DivaUtils.getLocals(p.name, lang),
|
|
18961
19295
|
Value_locales: p.valueLocales
|
|
@@ -18970,7 +19304,7 @@ function getPropertiesForOptionKey(properties, featureNo, optionKey, lang) {
|
|
|
18970
19304
|
})) === null || _p$optionKeys2 === void 0 ? void 0 : _p$optionKeys2.includes(optionKey));
|
|
18971
19305
|
}).map(function (p) {
|
|
18972
19306
|
return {
|
|
18973
|
-
Value:
|
|
19307
|
+
Value: readPropertyValue('optionValue', p.key, p.value, lang),
|
|
18974
19308
|
Codex: p.key,
|
|
18975
19309
|
Name: DivaUtils.getLocals(p.name, lang),
|
|
18976
19310
|
Value_locales: p.valueLocales
|
|
@@ -18985,7 +19319,7 @@ function getPropertiesForSerieNo(properties, serieNo, lang) {
|
|
|
18985
19319
|
.map(function (p) {
|
|
18986
19320
|
return {
|
|
18987
19321
|
Codex: p.key,
|
|
18988
|
-
Value:
|
|
19322
|
+
Value: readPropertyValue('catalog', p.key, p.value, lang),
|
|
18989
19323
|
Name: DivaUtils.getLocals(p.name, lang),
|
|
18990
19324
|
Value_locales: p.valueLocales
|
|
18991
19325
|
};
|
|
@@ -18997,7 +19331,7 @@ function getPropertiesForItemNo(properties, itemNo, lang) {
|
|
|
18997
19331
|
return (_p$typeNos3 = p.typeNos) === null || _p$typeNos3 === void 0 ? void 0 : _p$typeNos3.includes(itemNo);
|
|
18998
19332
|
}).map(function (p) {
|
|
18999
19333
|
return {
|
|
19000
|
-
Value:
|
|
19334
|
+
Value: readPropertyValue('article', p.key, p.value, lang),
|
|
19001
19335
|
Codex: p.key,
|
|
19002
19336
|
Name: DivaUtils.getLocals(p.name, lang),
|
|
19003
19337
|
Value_locales: p.valueLocales
|
|
@@ -20340,14 +20674,14 @@ function getActionTargets(decisions, type) {
|
|
|
20340
20674
|
return targets;
|
|
20341
20675
|
}
|
|
20342
20676
|
function getArticleOptionType(myOPT, set, articleCodex) {
|
|
20343
|
-
var _set$CatalogData$cata, _set$CatalogData$cata2, _set$CatalogData$cata3, _set$CatalogData$cata4, _set$CatalogData$cata5
|
|
20677
|
+
var _set$CatalogData$cata, _set$CatalogData$cata2, _set$CatalogData$cata3, _set$CatalogData$cata4, _set$CatalogData$cata5;
|
|
20344
20678
|
var OP = myOPT.OCD ? myOPT.OCD : myOPT.Codex;
|
|
20345
20679
|
var catOPT = set.CatalogData.getOption(OP);
|
|
20346
20680
|
var optionMask = (_set$CatalogData$cata = (_set$CatalogData$cata2 = set.CatalogData.catalogMask) === null || _set$CatalogData$cata2 === void 0 || (_set$CatalogData$cata2 = _set$CatalogData$cata2.options) === null || _set$CatalogData$cata2 === void 0 ? void 0 : _set$CatalogData$cata2[OP]) !== null && _set$CatalogData$cata !== void 0 ? _set$CatalogData$cata : OP.startsWith('OPT') ? (_set$CatalogData$cata3 = set.CatalogData.catalogMask) === null || _set$CatalogData$cata3 === void 0 || (_set$CatalogData$cata3 = _set$CatalogData$cata3.options) === null || _set$CatalogData$cata3 === void 0 ? void 0 : _set$CatalogData$cata3[OP.substring(3)] : undefined;
|
|
20347
20681
|
if (!catOPT) throw new Error('Option: ' + OP + ' not in CatalogData');
|
|
20348
20682
|
var optHasOpg = myOPT.OPG && myOPT.OPG.length > 0;
|
|
20349
20683
|
var maskProperties = getPropertiesForFeatureNo((_set$CatalogData$cata4 = (_set$CatalogData$cata5 = set.CatalogData.catalogMask) === null || _set$CatalogData$cata5 === void 0 ? void 0 : _set$CatalogData$cata5.properties) !== null && _set$CatalogData$cata4 !== void 0 ? _set$CatalogData$cata4 : [], articleCodex, OP, set.CatalogData.api.getLanguage());
|
|
20350
|
-
var properties = [].concat(_toConsumableArray((
|
|
20684
|
+
var properties = [].concat(_toConsumableArray(readProperties('option', myOPT.Properties, set.CatalogData.api.getLanguage())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
20351
20685
|
return {
|
|
20352
20686
|
codex: myOPT.Codex,
|
|
20353
20687
|
catalogOPT: catOPT,
|
|
@@ -21887,7 +22221,7 @@ function getCatalogFeatureType(feature, catalogArticleData, set, catalogData) {
|
|
|
21887
22221
|
var featureClass = catalogData.getFeatureClass(catalogArticleData.featureClassRefNo);
|
|
21888
22222
|
var optionMask = (_catalogData$catalogM = catalogData.catalogMask) === null || _catalogData$catalogM === void 0 || (_catalogData$catalogM = _catalogData$catalogM.options) === null || _catalogData$catalogM === void 0 ? void 0 : _catalogData$catalogM[feature.featureNo];
|
|
21889
22223
|
var maskProperties = getPropertiesForFeatureNo((_catalogData$catalogM2 = (_catalogData$catalogM3 = catalogData.catalogMask) === null || _catalogData$catalogM3 === void 0 ? void 0 : _catalogData$catalogM3.properties) !== null && _catalogData$catalogM2 !== void 0 ? _catalogData$catalogM2 : [], undefined, feature.featureNo, catalogData.api.getLanguage());
|
|
21890
|
-
var properties = [].concat(_toConsumableArray(convertProperties(feature.properties, set.api.getLanguageLowercase())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
22224
|
+
var properties = [].concat(_toConsumableArray(convertProperties(feature.properties, set.api.getLanguageLowercase(), 'option')), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
21891
22225
|
return {
|
|
21892
22226
|
name: DivaUtils.getLocals(feature.featureText, set.api.getLanguageLowercase()),
|
|
21893
22227
|
origName: DivaUtils.getLocals(feature.featureText, set.api.getLanguageLowercase()),
|
|
@@ -21960,7 +22294,7 @@ function getCatalogOptionType(option, set, catalogData) {
|
|
|
21960
22294
|
var _catalogData$catalogM6, _catalogData$catalogM7, _option$detailInfos, _option$detailInfos2, _option$measureValue;
|
|
21961
22295
|
var name = DivaUtils.getLocals(option.optionText, set.api.getLanguageLowercase());
|
|
21962
22296
|
var maskProperties = getPropertiesForOptionKey((_catalogData$catalogM6 = (_catalogData$catalogM7 = catalogData.catalogMask) === null || _catalogData$catalogM7 === void 0 ? void 0 : _catalogData$catalogM7.properties) !== null && _catalogData$catalogM6 !== void 0 ? _catalogData$catalogM6 : [], undefined, option.optionKey, catalogData.api.getLanguage());
|
|
21963
|
-
var properties = [].concat(_toConsumableArray(convertProperties(option.properties, catalogData.api.getLanguageLowercase())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
22297
|
+
var properties = [].concat(_toConsumableArray(convertProperties(option.properties, catalogData.api.getLanguageLowercase(), 'optionValue')), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : []));
|
|
21964
22298
|
var opiton = {
|
|
21965
22299
|
codex: option.optionKey,
|
|
21966
22300
|
name: name,
|
|
@@ -22131,14 +22465,14 @@ function initIDMArticles(jsonItems, catalogData) {
|
|
|
22131
22465
|
}
|
|
22132
22466
|
}
|
|
22133
22467
|
function getCatalogArticle(article, catalogData) {
|
|
22134
|
-
var _catalogData$catalogM, _article$typeKey, _article$salesNumber, _articleMask$name,
|
|
22468
|
+
var _catalogData$catalogM, _article$typeKey, _article$salesNumber, _articleMask$name, _article$flatPrice, _article$depthBasicSh, _article$depthBasicSh2, _article$depthBasicSh3, _article$widthBasicSh, _article$widthBasicSh2, _article$widthBasicSh3, _article$heightBasicS, _article$heightBasicS2, _article$heightBasicS3, _article$weightNetto, _article$detailInfos, _article$detailInfos2, _article$detailInfos3, _ref, _ref2, _articleMask$groupnam;
|
|
22135
22469
|
var articleMask = (_catalogData$catalogM = catalogData.catalogMask) === null || _catalogData$catalogM === void 0 || (_catalogData$catalogM = _catalogData$catalogM.articles) === null || _catalogData$catalogM === void 0 ? void 0 : _catalogData$catalogM[article.typeNo];
|
|
22136
22470
|
var lang = catalogData.api.getLanguageLowercase();
|
|
22137
22471
|
// empty locale objects ({} or only empty strings) are truthy, so ?? alone doesn't fall back
|
|
22138
22472
|
var fullText = hasLocaleText(article.fullText) ? article.fullText : article.shortText;
|
|
22139
22473
|
var shortText = hasLocaleText(article.shortText) ? article.shortText : article.fullText;
|
|
22140
|
-
var featureProperties = convertProperties(article.properties, lang, 'featureNos');
|
|
22141
|
-
var optionProperties = convertProperties(article.properties, lang, 'optionKeys');
|
|
22474
|
+
var featureProperties = convertProperties(article.properties, lang, 'option', 'featureNos');
|
|
22475
|
+
var optionProperties = convertProperties(article.properties, lang, 'optionValue', 'optionKeys');
|
|
22142
22476
|
return {
|
|
22143
22477
|
areOptionsLoaded: false,
|
|
22144
22478
|
arePricesLoaded: false,
|
|
@@ -22168,7 +22502,7 @@ function getCatalogArticle(article, catalogData) {
|
|
|
22168
22502
|
shortName: DivaUtils.getLocals(shortText, lang),
|
|
22169
22503
|
origShortName: DivaUtils.getLocals(shortText, lang),
|
|
22170
22504
|
shortName_locales: shortText,
|
|
22171
|
-
properties: [].concat(_toConsumableArray(convertProperties(article.properties, lang)), _toConsumableArray((
|
|
22505
|
+
properties: [].concat(_toConsumableArray(convertProperties(article.properties, lang, 'article')), _toConsumableArray(readProperties('article', articleMask === null || articleMask === void 0 ? void 0 : articleMask.properties, lang))),
|
|
22172
22506
|
optionProperties: optionProperties,
|
|
22173
22507
|
featureProperties: featureProperties,
|
|
22174
22508
|
// the service decides what is complete from the list - a missing feature class alone still leaves prices to load
|
|
@@ -22239,31 +22573,35 @@ function hasLocaleText(locales) {
|
|
|
22239
22573
|
function getLowResUrl(url) {
|
|
22240
22574
|
return url === null || url === void 0 ? void 0 : url.replace('.jpg', '_low.jpg').replace('.jpeg', '_low.jpeg').replace('.png', '_low.png');
|
|
22241
22575
|
}
|
|
22576
|
+
|
|
22577
|
+
/** The properties for the parser of `entity`, their values read as it reads them (readPropertyValue). */
|
|
22242
22578
|
function convertProperties() {
|
|
22243
22579
|
var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
22244
22580
|
var lang = arguments.length > 1 ? arguments[1] : undefined;
|
|
22245
|
-
var
|
|
22581
|
+
var entity = arguments.length > 2 ? arguments[2] : undefined;
|
|
22582
|
+
var forCase = arguments.length > 3 ? arguments[3] : undefined;
|
|
22246
22583
|
switch (forCase) {
|
|
22247
22584
|
case 'featureNos':
|
|
22248
22585
|
return mapProp(properties.filter(function (p) {
|
|
22249
22586
|
var _p$featureNos;
|
|
22250
22587
|
return (_p$featureNos = p.featureNos) === null || _p$featureNos === void 0 ? void 0 : _p$featureNos.length;
|
|
22251
|
-
}), lang);
|
|
22588
|
+
}), lang, entity);
|
|
22252
22589
|
case 'optionKeys':
|
|
22253
22590
|
return mapProp(properties.filter(function (p) {
|
|
22254
22591
|
var _p$optionKeys;
|
|
22255
22592
|
return (_p$optionKeys = p.optionKeys) === null || _p$optionKeys === void 0 ? void 0 : _p$optionKeys.length;
|
|
22256
|
-
}), lang);
|
|
22593
|
+
}), lang, entity);
|
|
22257
22594
|
default:
|
|
22258
|
-
return mapProp(properties, lang);
|
|
22595
|
+
return mapProp(properties, lang, entity);
|
|
22259
22596
|
}
|
|
22260
22597
|
}
|
|
22261
22598
|
function mapProp() {
|
|
22262
22599
|
var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
22263
22600
|
var lang = arguments.length > 1 ? arguments[1] : undefined;
|
|
22601
|
+
var entity = arguments.length > 2 ? arguments[2] : undefined;
|
|
22264
22602
|
return properties.map(function (p) {
|
|
22265
22603
|
return {
|
|
22266
|
-
Value:
|
|
22604
|
+
Value: readPropertyValue(entity, p.key, p.value, lang),
|
|
22267
22605
|
Codex: p.key,
|
|
22268
22606
|
Name: DivaUtils.getLocals(p.name, lang),
|
|
22269
22607
|
FeatureNos: p.featureNos,
|
|
@@ -22407,7 +22745,7 @@ Diese KLasse enthält Inforamtion zu einem Catalog (C)
|
|
|
22407
22745
|
var LOG$j = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
22408
22746
|
var DivaCatalogData = /*#__PURE__*/function () {
|
|
22409
22747
|
function DivaCatalogData(json, catalogCodex, orderSet, api, articleJson, plannerElementsJson, isIDMFormat, additionalModelInfos) {
|
|
22410
|
-
var
|
|
22748
|
+
var _ref, _json$properties, _this$catalogMask;
|
|
22411
22749
|
_classCallCheck(this, DivaCatalogData);
|
|
22412
22750
|
_defineProperty(this, "options", {});
|
|
22413
22751
|
_defineProperty(this, "optionValues", void 0);
|
|
@@ -22589,7 +22927,7 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
22589
22927
|
};
|
|
22590
22928
|
this._api = api;
|
|
22591
22929
|
this.additionalModelInfos = additionalModelInfos;
|
|
22592
|
-
var properties = [].concat(_toConsumableArray((
|
|
22930
|
+
var properties = [].concat(_toConsumableArray(readProperties('catalog', json.Properties, this.api.getLanguage())), _toConsumableArray(getPropertiesForSerieNo((_ref = (_json$properties = json.properties) !== null && _json$properties !== void 0 ? _json$properties : (_this$catalogMask = this.catalogMask) === null || _this$catalogMask === void 0 ? void 0 : _this$catalogMask.properties) !== null && _ref !== void 0 ? _ref : [], undefined, this.api.getLanguage())));
|
|
22593
22931
|
if (properties.length) {
|
|
22594
22932
|
var _json$properties2;
|
|
22595
22933
|
this.origProperties = json.Properties || json.properties ? getPropertiesForSerieNo((_json$properties2 = json.properties) !== null && _json$properties2 !== void 0 ? _json$properties2 : [], undefined, this.api.getLanguage()) : [];
|
|
@@ -22625,9 +22963,9 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
22625
22963
|
initIDMArticles(articleJson, this);
|
|
22626
22964
|
}
|
|
22627
22965
|
if (this.origProperties) {
|
|
22628
|
-
var _this$catalogMask$pro, _this$catalogMask2
|
|
22966
|
+
var _this$catalogMask$pro, _this$catalogMask2;
|
|
22629
22967
|
var maskProperties = getPropertiesForSerieNo((_this$catalogMask$pro = (_this$catalogMask2 = this.catalogMask) === null || _this$catalogMask2 === void 0 ? void 0 : _this$catalogMask2.properties) !== null && _this$catalogMask$pro !== void 0 ? _this$catalogMask$pro : [], 1, this.api.getLanguage());
|
|
22630
|
-
this.initPropertiesAfterOptionsInit(catalogCodex, [].concat(_toConsumableArray((
|
|
22968
|
+
this.initPropertiesAfterOptionsInit(catalogCodex, [].concat(_toConsumableArray(readProperties('catalog', json.Properties, this.api.getLanguage())), _toConsumableArray(maskProperties !== null && maskProperties !== void 0 ? maskProperties : [])));
|
|
22631
22969
|
}
|
|
22632
22970
|
}
|
|
22633
22971
|
return _createClass(DivaCatalogData, [{
|
|
@@ -23721,18 +24059,18 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
23721
24059
|
var _this2 = this;
|
|
23722
24060
|
var diva3DRenderingIsSet = false;
|
|
23723
24061
|
properties.forEach(function (item, index) {
|
|
23724
|
-
var
|
|
24062
|
+
var _textOf, _textOf2, _textOf3, _jsonOf, _jsonOf2, _jsonOf3, _jsonOf4;
|
|
23725
24063
|
//3D Allgemein
|
|
23726
24064
|
|
|
23727
24065
|
var key = item.Codex;
|
|
23728
24066
|
if (key.startsWith(catalogCodex + '__')) key = key.replace(catalogCodex + '__', '');
|
|
23729
24067
|
switch (key) {
|
|
23730
24068
|
case 'DIVA3D_ROOM':
|
|
23731
|
-
_this2.catalogProps.diva3dRoom = item.Value;
|
|
24069
|
+
_this2.catalogProps.diva3dRoom = (_textOf = textOf(item.Value)) !== null && _textOf !== void 0 ? _textOf : '';
|
|
23732
24070
|
if (_this2.catalogProps.diva3dRoom == 'raumatlantis') _this2.catalogProps.diva3dRoom = 'weissraumatlantis';
|
|
23733
24071
|
break;
|
|
23734
24072
|
case 'DIVA3D_RENDERING':
|
|
23735
|
-
diva3DRenderingIsSet = item.Value
|
|
24073
|
+
diva3DRenderingIsSet = item.Value === true;
|
|
23736
24074
|
if (_this2.isIDMFormat) {
|
|
23737
24075
|
_this2.catalogProps.has3dModels = diva3DRenderingIsSet;
|
|
23738
24076
|
}
|
|
@@ -23741,333 +24079,336 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
23741
24079
|
}
|
|
23742
24080
|
break;
|
|
23743
24081
|
case 'DIVA3D_AR_READY':
|
|
23744
|
-
_this2.catalogProps.divaArReady = item.Value
|
|
24082
|
+
_this2.catalogProps.divaArReady = item.Value === true;
|
|
23745
24083
|
break;
|
|
23746
24084
|
case 'DIVA3D_AR_FORCERTV':
|
|
23747
|
-
_this2.catalogProps.divaForceRTV = item.Value
|
|
24085
|
+
_this2.catalogProps.divaForceRTV = item.Value === true;
|
|
23748
24086
|
break;
|
|
23749
24087
|
case 'DIVA3D_USE_RTV_NEXT':
|
|
23750
|
-
_this2.catalogProps.divaUseRtvNext = item.Value
|
|
24088
|
+
_this2.catalogProps.divaUseRtvNext = item.Value === true;
|
|
23751
24089
|
break;
|
|
23752
24090
|
case 'HEADER_DIMENSION_IDS':
|
|
23753
|
-
_this2.catalogProps.headerDimensionIds = item.Value
|
|
24091
|
+
_this2.catalogProps.headerDimensionIds = listOf(item.Value);
|
|
23754
24092
|
break;
|
|
23755
24093
|
case 'DONTCALCBASEPRICE':
|
|
23756
|
-
_this2.catalogProps.dontShowBasePrice = item.Value
|
|
24094
|
+
_this2.catalogProps.dontShowBasePrice = item.Value === true;
|
|
23757
24095
|
break;
|
|
23758
24096
|
case 'DIVA3D_STATIC_BG_IMAGE_ROOMLIST':
|
|
23759
|
-
_this2.catalogProps.roomList3DStaticBGImage.set('3D_STATBG_ROOMLIST', item.Value
|
|
24097
|
+
_this2.catalogProps.roomList3DStaticBGImage.set('3D_STATBG_ROOMLIST', listOf(item.Value));
|
|
23760
24098
|
break;
|
|
23761
24099
|
case 'DIVA3D_DISABLE_3DEXPORT':
|
|
23762
|
-
_this2.catalogProps.disable3DExport = item.Value
|
|
24100
|
+
_this2.catalogProps.disable3DExport = item.Value === true;
|
|
23763
24101
|
break;
|
|
23764
24102
|
case '3D_COMPATIBLE_WITH_IMAGE_CACHE':
|
|
23765
|
-
_this2.catalogProps.diva3dCompatibleWithImageCache = item.Value
|
|
24103
|
+
_this2.catalogProps.diva3dCompatibleWithImageCache = item.Value === true;
|
|
23766
24104
|
break;
|
|
23767
24105
|
case 'ENABLE_DO_SHOW_3DDIMENSIONS':
|
|
23768
|
-
_this2.catalogProps.doShow3DDimensionLines = item.Value
|
|
24106
|
+
_this2.catalogProps.doShow3DDimensionLines = item.Value === true;
|
|
23769
24107
|
break;
|
|
23770
24108
|
case 'DO_SHOW_MAIN_DIMENSIONS':
|
|
23771
|
-
_this2.catalogProps.doShowMainDimensions = item.Value
|
|
24109
|
+
_this2.catalogProps.doShowMainDimensions = item.Value === true;
|
|
23772
24110
|
break;
|
|
23773
24111
|
case 'DEFAULT_DO_SHOW_3DDIMENSIONS':
|
|
23774
|
-
_this2.catalogProps.defaultDimensionsActive =
|
|
24112
|
+
_this2.catalogProps.defaultDimensionsActive = item.Value === true;
|
|
23775
24113
|
break;
|
|
23776
24114
|
case 'DIVA_KI_READY':
|
|
23777
|
-
_this2.catalogProps.divaKiReady = item.Value
|
|
24115
|
+
_this2.catalogProps.divaKiReady = item.Value === true;
|
|
23778
24116
|
break;
|
|
23779
24117
|
// Planner Topics
|
|
23780
24118
|
case 'IS_IDM3D_CAT':
|
|
23781
|
-
_this2.catalogProps.isIDM3DCat = item.Value
|
|
24119
|
+
_this2.catalogProps.isIDM3DCat = item.Value === true;
|
|
23782
24120
|
break;
|
|
23783
24121
|
case 'IDM3D_ENVIRONMENT':
|
|
23784
|
-
_this2.catalogProps.IDM3DEnvironment = (
|
|
24122
|
+
_this2.catalogProps.IDM3DEnvironment = (_textOf2 = textOf(item.Value)) !== null && _textOf2 !== void 0 ? _textOf2 : 'diva.ro';
|
|
23785
24123
|
break;
|
|
23786
24124
|
case 'IDM3D_CAT_CODEX':
|
|
23787
|
-
_this2.catalogProps.IDM3DCatCodex = item.Value;
|
|
24125
|
+
_this2.catalogProps.IDM3DCatCodex = (_textOf3 = textOf(item.Value)) !== null && _textOf3 !== void 0 ? _textOf3 : '';
|
|
23788
24126
|
break;
|
|
23789
24127
|
case 'IDM3D_TRANSLATION':
|
|
23790
|
-
|
|
23791
|
-
var translation =
|
|
24128
|
+
{
|
|
24129
|
+
var translation = jsonOf(item.Value);
|
|
23792
24130
|
if (translation !== null && translation !== void 0 && translation.features && _typeof(translation.features) === 'object') _this2.catalogProps.IDM3DTranslation = translation;else LOG$j.warn('Invalid IDM3D_TRANSLATION meta tag - expected a JSON object with a features map');
|
|
23793
|
-
|
|
23794
|
-
LOG$j.warn('Invalid IDM3D_TRANSLATION meta tag - expected a JSON object with a features map', e);
|
|
24131
|
+
break;
|
|
23795
24132
|
}
|
|
23796
|
-
break;
|
|
23797
24133
|
case 'DIVA3D_PLANER_DIGITS':
|
|
23798
24134
|
_this2.catalogProps.divaPlanerDigits = Number(item.Value);
|
|
23799
24135
|
break;
|
|
23800
24136
|
case 'DIVA3D_PLANER_SHOW_ARTICLE_SVG':
|
|
23801
|
-
_this2.catalogProps.diva3dPlanerShowArticleAsSvg = item.Value
|
|
24137
|
+
_this2.catalogProps.diva3dPlanerShowArticleAsSvg = item.Value === true;
|
|
23802
24138
|
break;
|
|
23803
24139
|
case 'SHOWTYPENRINPLANNER':
|
|
23804
|
-
_this2.catalogProps.showTypeNrInPlanner = item.Value
|
|
24140
|
+
_this2.catalogProps.showTypeNrInPlanner = item.Value === true;
|
|
23805
24141
|
break;
|
|
23806
24142
|
case 'STARTFILTERPARAMS':
|
|
23807
|
-
_this2.catalogProps.startFilterParams =
|
|
24143
|
+
_this2.catalogProps.startFilterParams = listOf(item.Value).join(',');
|
|
23808
24144
|
break;
|
|
23809
24145
|
case 'STARTHIDEARTICLES':
|
|
23810
|
-
_this2.catalogProps.startHideArticles = item.Value
|
|
24146
|
+
_this2.catalogProps.startHideArticles = listOf(item.Value);
|
|
23811
24147
|
break;
|
|
23812
24148
|
case 'USEGLOBALSVGSCALE':
|
|
23813
|
-
_this2.catalogProps.useGlobalSVGScale = item.Value
|
|
24149
|
+
_this2.catalogProps.useGlobalSVGScale = item.Value === true;
|
|
23814
24150
|
break;
|
|
23815
24151
|
case 'USEBOXPLANNER':
|
|
23816
|
-
|
|
23817
|
-
|
|
24152
|
+
{
|
|
24153
|
+
var boxPlanner = shapedJsonOf('USEBOXPLANNER', item.Value);
|
|
24154
|
+
if (boxPlanner) _this2.catalogProps.useBoxPlanner = boxPlanner.all === true || boxPlanner.only;
|
|
24155
|
+
break;
|
|
24156
|
+
}
|
|
23818
24157
|
case 'ELEMENT_COPY_AVLR':
|
|
23819
|
-
|
|
23820
|
-
|
|
23821
|
-
|
|
23822
|
-
|
|
24158
|
+
{
|
|
24159
|
+
var copyAVLR = shapedJsonOf('ELEMENT_COPY_AVLR', item.Value);
|
|
24160
|
+
if (copyAVLR) _this2.catalogProps.elementCopyAVLR = copyAVLR.all === true || copyAVLR.only.map(function (o) {
|
|
24161
|
+
return (!_this2.isIDMFormat ? 'OPT' : '') + o;
|
|
24162
|
+
});
|
|
24163
|
+
break;
|
|
24164
|
+
}
|
|
23823
24165
|
case 'PLAN_2D_FONT_URL':
|
|
23824
|
-
_this2.catalogProps.plan2DFontUrl = item.Value || undefined;
|
|
24166
|
+
_this2.catalogProps.plan2DFontUrl = textOf(item.Value) || undefined;
|
|
23825
24167
|
break;
|
|
23826
24168
|
case 'DIMENSION_CONFIG':
|
|
23827
24169
|
// One catalog-level dictionary keyed by articleCodex; entries carry the 2D planner
|
|
23828
24170
|
// dimension/annotation config (consumed structurally by the RTV-next bridge).
|
|
23829
|
-
|
|
23830
|
-
_this2.catalogProps.dimensionConfig2D = JSON.parse(item.Value);
|
|
23831
|
-
} catch (e) {
|
|
23832
|
-
LOG$j.warn('Invalid DIMENSION_CONFIG meta tag - expected a JSON dictionary keyed by articleCodex', e);
|
|
23833
|
-
}
|
|
24171
|
+
_this2.catalogProps.dimensionConfig2D = jsonOf(item.Value);
|
|
23834
24172
|
break;
|
|
23835
24173
|
case 'RTV_PRESET':
|
|
23836
24174
|
// RTV-next environment preset bundle (profileMode/profiles/camera); overrides the
|
|
23837
24175
|
// host's default preset (white-room). Later fed from a DB instead of the catalog.
|
|
23838
|
-
|
|
23839
|
-
_this2.catalogProps.rtvPreset = JSON.parse(item.Value);
|
|
23840
|
-
} catch (e) {
|
|
23841
|
-
LOG$j.warn('Invalid RTV_PRESET meta tag - expected a JSON preset bundle (profileMode/profiles/camera)', e);
|
|
23842
|
-
}
|
|
24176
|
+
_this2.catalogProps.rtvPreset = jsonOf(item.Value);
|
|
23843
24177
|
break;
|
|
23844
24178
|
case 'PLANNERTYPE':
|
|
23845
|
-
_this2.catalogProps.plannerType = item.Value;
|
|
24179
|
+
_this2.catalogProps.plannerType = textOf(item.Value);
|
|
23846
24180
|
break;
|
|
23847
24181
|
case 'START_PLANNER_ARTICLE':
|
|
23848
|
-
_this2.catalogProps.startPlannerArticle = item.Value;
|
|
24182
|
+
_this2.catalogProps.startPlannerArticle = listOf(item.Value).join(';');
|
|
23849
24183
|
break;
|
|
23850
24184
|
case 'HIDE_2D_PLANNER':
|
|
23851
|
-
_this2.catalogProps.hide2DPlanner = item.Value
|
|
24185
|
+
_this2.catalogProps.hide2DPlanner = item.Value === true;
|
|
23852
24186
|
break;
|
|
23853
24187
|
case 'ACCESSOIRE_STEP_AS_PLANNER':
|
|
23854
|
-
_this2.catalogProps.accessorieStepAsPlanner = item.Value
|
|
24188
|
+
_this2.catalogProps.accessorieStepAsPlanner = item.Value === true;
|
|
23855
24189
|
break;
|
|
23856
24190
|
case 'PLANNER_2DOT0':
|
|
23857
|
-
_this2.catalogProps.planner2Dot0 = item.Value
|
|
24191
|
+
_this2.catalogProps.planner2Dot0 = item.Value === true;
|
|
23858
24192
|
break;
|
|
23859
24193
|
case 'DONT_SAVE_ALTERNATIVERENDERINGS':
|
|
23860
|
-
_this2.catalogProps.dontSaveAlternativeRenderings = item.Value
|
|
24194
|
+
_this2.catalogProps.dontSaveAlternativeRenderings = item.Value === true;
|
|
23861
24195
|
break;
|
|
23862
24196
|
case 'SHOW_ALL_ITEMS_IN_PLANNER':
|
|
23863
|
-
_this2.catalogProps.showAllItemsInPlanner = item.Value
|
|
24197
|
+
_this2.catalogProps.showAllItemsInPlanner = item.Value === true;
|
|
23864
24198
|
break;
|
|
23865
24199
|
case 'HIDE_AV_BUTTONS':
|
|
23866
|
-
_this2.catalogProps.hideAVButtons = item.Value;
|
|
24200
|
+
_this2.catalogProps.hideAVButtons = listOf(item.Value).join(';');
|
|
23867
24201
|
break;
|
|
23868
24202
|
case 'PLANNER_REPLACE_MODE':
|
|
23869
|
-
_this2.catalogProps.replaceModeActive = item.Value
|
|
24203
|
+
_this2.catalogProps.replaceModeActive = item.Value === true;
|
|
23870
24204
|
break;
|
|
23871
24205
|
case 'HIDE_PLANNER_UI_ICONS':
|
|
23872
|
-
_this2.catalogProps.hidePlannerUiIcons = item.Value
|
|
24206
|
+
_this2.catalogProps.hidePlannerUiIcons = item.Value === true;
|
|
23873
24207
|
break;
|
|
23874
24208
|
case 'DONT_SET_POSNR_FROM_PLANNER':
|
|
23875
|
-
_this2.catalogProps.dontSetPosNrFromPlanner = item.Value
|
|
24209
|
+
_this2.catalogProps.dontSetPosNrFromPlanner = item.Value === true;
|
|
23876
24210
|
break;
|
|
23877
24211
|
case 'SHOW_AI_ROOM_RENDERING_SUMMARY':
|
|
23878
|
-
_this2.catalogProps.showAiRoomRenderingInSummary = item.Value
|
|
24212
|
+
_this2.catalogProps.showAiRoomRenderingInSummary = item.Value === true;
|
|
23879
24213
|
break;
|
|
23880
24214
|
case 'ARTICLE_NR':
|
|
23881
|
-
_this2.catalogProps.retailArticleNr = item.Value;
|
|
24215
|
+
_this2.catalogProps.retailArticleNr = textOf(item.Value);
|
|
23882
24216
|
break;
|
|
23883
24217
|
case 'PROGRAM_NR':
|
|
23884
|
-
_this2.catalogProps.retailCatalogNr = item.Value;
|
|
24218
|
+
_this2.catalogProps.retailCatalogNr = textOf(item.Value);
|
|
23885
24219
|
break;
|
|
23886
24220
|
// Warnings
|
|
23887
24221
|
case 'HIDECONSTRUCTIONWARNING':
|
|
23888
|
-
_this2.catalogProps.doCheckConstructionWarnings = item.Value
|
|
24222
|
+
_this2.catalogProps.doCheckConstructionWarnings = item.Value !== true;
|
|
23889
24223
|
break;
|
|
23890
24224
|
case 'FORCECONSTRUCTIONWARNINGARTICLES':
|
|
23891
|
-
_this2.catalogProps.forceConstructionWarningForArticles = item.Value
|
|
24225
|
+
_this2.catalogProps.forceConstructionWarningForArticles = listOf(item.Value);
|
|
23892
24226
|
break;
|
|
23893
24227
|
case 'HIDECOMPLETENESSWARNING':
|
|
23894
|
-
_this2.catalogProps.hideCompletenessWarning = item.Value
|
|
24228
|
+
_this2.catalogProps.hideCompletenessWarning = item.Value === true;
|
|
23895
24229
|
break;
|
|
23896
24230
|
// DP Logic
|
|
23897
24231
|
case 'IGNORELAYERAVC':
|
|
23898
|
-
_this2.catalogProps.ignoreLayerAVC = item.Value
|
|
24232
|
+
_this2.catalogProps.ignoreLayerAVC = item.Value === true;
|
|
23899
24233
|
break;
|
|
23900
24234
|
case 'IGNORELAYERAVOAVU':
|
|
23901
|
-
_this2.catalogProps.ignoreLayerAVOAVU = item.Value
|
|
24235
|
+
_this2.catalogProps.ignoreLayerAVOAVU = item.Value === true;
|
|
23902
24236
|
break;
|
|
23903
24237
|
case 'IGNORELAYERAVNAVS':
|
|
23904
|
-
_this2.catalogProps.ignoreLayerAVNAVS = item.Value
|
|
24238
|
+
_this2.catalogProps.ignoreLayerAVNAVS = item.Value === true;
|
|
23905
24239
|
break;
|
|
23906
24240
|
case 'IGNOREDOCKINGNUMBER':
|
|
23907
|
-
_this2.catalogProps.ignoreDockingNumber = item.Value
|
|
24241
|
+
_this2.catalogProps.ignoreDockingNumber = item.Value === true;
|
|
23908
24242
|
break;
|
|
23909
24243
|
case 'CHECK_COLLISION_DIFFERENT_LAYERS':
|
|
23910
|
-
_this2.catalogProps.checkCollisionForDifferentLayers = item.Value
|
|
24244
|
+
_this2.catalogProps.checkCollisionForDifferentLayers = listOf(item.Value).map(function (t) {
|
|
23911
24245
|
return parseInt(t);
|
|
23912
24246
|
});
|
|
23913
24247
|
break;
|
|
23914
24248
|
case 'DOCKACCONAVOONLY':
|
|
23915
|
-
_this2.catalogProps.dockAccOnAvoOnly = item.Value
|
|
24249
|
+
_this2.catalogProps.dockAccOnAvoOnly = item.Value === true;
|
|
23916
24250
|
break;
|
|
23917
24251
|
case 'SHOWACCONDPONLY':
|
|
23918
|
-
_this2.catalogProps.showAccOnDpOnly = item.Value
|
|
24252
|
+
_this2.catalogProps.showAccOnDpOnly = item.Value === true;
|
|
23919
24253
|
break;
|
|
23920
24254
|
case 'RECONFIG_AFTER_ARTICLE_DOCKED':
|
|
23921
|
-
_this2.catalogProps.reconfigAfterArticleDocked = item.Value
|
|
24255
|
+
_this2.catalogProps.reconfigAfterArticleDocked = item.Value === true;
|
|
23922
24256
|
break;
|
|
23923
24257
|
// Configuration
|
|
23924
24258
|
|
|
23925
24259
|
case 'USE_SHORT_NAME_AS_NAME':
|
|
23926
|
-
_this2.catalogProps.useShortNameAsName = item.Value
|
|
24260
|
+
_this2.catalogProps.useShortNameAsName = item.Value === true;
|
|
23927
24261
|
break;
|
|
23928
24262
|
case 'USE_DIOMEX_CONFIG_LOGIC':
|
|
23929
|
-
_this2.catalogProps.useDiomexConfigLogic = item.Value
|
|
24263
|
+
_this2.catalogProps.useDiomexConfigLogic = item.Value === true;
|
|
23930
24264
|
break;
|
|
23931
24265
|
case 'USEPRGASOPVARTICLENR':
|
|
23932
|
-
_this2.catalogProps.UsePrgAsOpvArticleNr = item.Value
|
|
24266
|
+
_this2.catalogProps.UsePrgAsOpvArticleNr = item.Value === true;
|
|
23933
24267
|
break;
|
|
23934
24268
|
case 'ARTICLECONFIGSINGLE':
|
|
23935
|
-
_this2.catalogProps.articleConfigSingle = item.Value
|
|
24269
|
+
_this2.catalogProps.articleConfigSingle = item.Value === true;
|
|
23936
24270
|
break;
|
|
23937
24271
|
case 'DEFAULT_GROUPS_CLOSED':
|
|
23938
|
-
|
|
23939
|
-
|
|
23940
|
-
|
|
23941
|
-
_this2.catalogProps.defaultGroupsClosed =
|
|
24272
|
+
{
|
|
24273
|
+
var _groupsClosed$only;
|
|
24274
|
+
var groupsClosed = shapedJsonOf('DEFAULT_GROUPS_CLOSED', item.Value);
|
|
24275
|
+
if (groupsClosed) _this2.catalogProps.defaultGroupsClosed = (_groupsClosed$only = groupsClosed.only) !== null && _groupsClosed$only !== void 0 ? _groupsClosed$only : groupsClosed.all;
|
|
24276
|
+
break;
|
|
23942
24277
|
}
|
|
23943
|
-
break;
|
|
23944
24278
|
case 'ARTICLECONFIGALL':
|
|
23945
|
-
_this2.catalogProps.articleConfigAll = item.Value
|
|
24279
|
+
_this2.catalogProps.articleConfigAll = item.Value === true;
|
|
23946
24280
|
break;
|
|
23947
24281
|
case 'AUTO_OPEN_CONTENTITEM':
|
|
23948
|
-
|
|
23949
|
-
|
|
23950
|
-
|
|
23951
|
-
|
|
24282
|
+
{
|
|
24283
|
+
var autoOpen = shapedJsonOf('AUTO_OPEN_CONTENTITEM', item.Value);
|
|
24284
|
+
if (autoOpen) _this2.catalogProps.autoOpenContentItem = autoOpen.all === true || autoOpen.only.map(function (o) {
|
|
24285
|
+
return (!_this2.isIDMFormat ? 'OPT' : '') + o;
|
|
24286
|
+
});
|
|
24287
|
+
break;
|
|
24288
|
+
}
|
|
23952
24289
|
case 'HIDE_PRICE_GROUPS_OF_OPGS':
|
|
23953
|
-
_this2.catalogProps.hidePriceGroupsOfOPGs = item.Value
|
|
24290
|
+
_this2.catalogProps.hidePriceGroupsOfOPGs = item.Value === true;
|
|
23954
24291
|
break;
|
|
23955
24292
|
case 'DONTHIDEOPTION':
|
|
23956
|
-
_this2.catalogProps.dontHideOption =
|
|
24293
|
+
_this2.catalogProps.dontHideOption = listOf(item.Value);
|
|
23957
24294
|
break;
|
|
23958
24295
|
case 'SHOW_AI_ROOM_RENDERING_IN_SUMMARY':
|
|
23959
|
-
_this2.catalogProps.showAiRoomRenderingInSummary = item.Value
|
|
24296
|
+
_this2.catalogProps.showAiRoomRenderingInSummary = item.Value === true;
|
|
23960
24297
|
break;
|
|
23961
24298
|
case 'SHOWACCESSOIREONLASTTAB':
|
|
23962
|
-
_this2.catalogProps.showAccessioreOnLastTab = item.Value
|
|
24299
|
+
_this2.catalogProps.showAccessioreOnLastTab = item.Value === true;
|
|
23963
24300
|
break;
|
|
23964
24301
|
case 'FORCE_CONFIG_ALL_ACCESSOIRES':
|
|
23965
|
-
_this2.catalogProps.forceConfigAllAccessoires = item.Value
|
|
24302
|
+
_this2.catalogProps.forceConfigAllAccessoires = item.Value === true;
|
|
23966
24303
|
break;
|
|
23967
24304
|
case 'CONFIG_ACCESSOIRES':
|
|
23968
|
-
_this2.catalogProps.configAccessoires = item.Value
|
|
24305
|
+
_this2.catalogProps.configAccessoires = item.Value === true;
|
|
23969
24306
|
break;
|
|
23970
24307
|
case 'CONFIG_ONLY_ACCESSOIRES':
|
|
23971
|
-
_this2.catalogProps.configOnlyAccessoires = item.Value
|
|
24308
|
+
_this2.catalogProps.configOnlyAccessoires = item.Value === true;
|
|
23972
24309
|
break;
|
|
23973
24310
|
case 'IGNORE_ARTICLERELATIONS':
|
|
23974
|
-
_this2.catalogProps.ignoreArticleRelations = item.Value
|
|
24311
|
+
_this2.catalogProps.ignoreArticleRelations = item.Value === true;
|
|
23975
24312
|
break;
|
|
23976
24313
|
case 'REPAIR_VARIANT_VALUES':
|
|
23977
|
-
|
|
23978
|
-
|
|
23979
|
-
|
|
23980
|
-
|
|
23981
|
-
|
|
24314
|
+
{
|
|
24315
|
+
var repairs = shapedJsonOf('REPAIR_VARIANT_VALUES', item.Value);
|
|
24316
|
+
if (!repairs) break;
|
|
24317
|
+
_this2.catalogProps.repairVariantValues = {};
|
|
24318
|
+
for (var _i = 0, _Object$entries = Object.entries(repairs); _i < _Object$entries.length; _i++) {
|
|
24319
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
24320
|
+
from = _Object$entries$_i[0],
|
|
24321
|
+
to = _Object$entries$_i[1];
|
|
24322
|
+
_this2.catalogProps.repairVariantValues['OPT' + from.replace(':', ':OPV')] = 'OPT' + to.replace(':', ':OPV');
|
|
24323
|
+
}
|
|
24324
|
+
break;
|
|
23982
24325
|
}
|
|
23983
|
-
break;
|
|
23984
24326
|
case 'FILTER_FOR_CHECKOUT_BUTTONS':
|
|
23985
|
-
_this2.catalogProps.filterForCheckoutButtons = item.Value
|
|
23986
|
-
return t;
|
|
23987
|
-
});
|
|
24327
|
+
_this2.catalogProps.filterForCheckoutButtons = listOf(item.Value);
|
|
23988
24328
|
break;
|
|
23989
24329
|
case 'DO_USE_RULEDESC_FOR_PARTLIST':
|
|
23990
|
-
_this2.catalogProps.doUseRuleDescForPartListArticles =
|
|
24330
|
+
_this2.catalogProps.doUseRuleDescForPartListArticles = item.Value === true;
|
|
23991
24331
|
break;
|
|
23992
24332
|
case 'USEPOSCOUNTVALUE':
|
|
23993
|
-
_this2.catalogProps.usePosCountValue =
|
|
24333
|
+
_this2.catalogProps.usePosCountValue = item.Value === true;
|
|
23994
24334
|
break;
|
|
23995
24335
|
case 'USE_DECISION_POS_COUNT_VALUE':
|
|
23996
|
-
_this2.catalogProps.useDecisionPosCountValue =
|
|
24336
|
+
_this2.catalogProps.useDecisionPosCountValue = item.Value === true;
|
|
23997
24337
|
break;
|
|
23998
24338
|
case 'USE_SHELFPLANNER_RTV':
|
|
23999
|
-
_this2.catalogProps.useShelfPlannerRTV =
|
|
24339
|
+
_this2.catalogProps.useShelfPlannerRTV = item.Value === true;
|
|
24000
24340
|
break;
|
|
24001
24341
|
case 'DONT_SHOW_ACC_STEP':
|
|
24002
|
-
_this2.catalogProps.dontShowAccStep =
|
|
24342
|
+
_this2.catalogProps.dontShowAccStep = item.Value === true;
|
|
24003
24343
|
break;
|
|
24004
24344
|
case 'MERGE_OPTIONS_TO_SAME_OPTION':
|
|
24005
|
-
|
|
24006
|
-
|
|
24007
|
-
|
|
24345
|
+
{
|
|
24346
|
+
var merges = shapedJsonOf('MERGE_OPTIONS_TO_SAME_OPTION', item.Value);
|
|
24347
|
+
if (merges) _this2.catalogProps.mergeOptionsToSameOption = merges;
|
|
24348
|
+
break;
|
|
24349
|
+
}
|
|
24008
24350
|
case 'FORCE_CONFIG_SINGLE':
|
|
24009
|
-
_this2.catalogProps.forceConfigSingle =
|
|
24351
|
+
_this2.catalogProps.forceConfigSingle = item.Value === true;
|
|
24010
24352
|
break;
|
|
24011
24353
|
case 'SHOW_PRICEPREVIEW_ON_OPTIONS':
|
|
24012
|
-
_this2.catalogProps.showPricePreviewOnlyOnOptions = item.Value
|
|
24013
|
-
return t;
|
|
24014
|
-
});
|
|
24354
|
+
_this2.catalogProps.showPricePreviewOnlyOnOptions = listOf(item.Value);
|
|
24015
24355
|
break;
|
|
24016
24356
|
case 'HIDE_PRICEPREVIEW_ON_OPTIONS':
|
|
24017
|
-
_this2.catalogProps.hidePricePreviewOnlyOnOptions = item.Value
|
|
24018
|
-
return t;
|
|
24019
|
-
});
|
|
24357
|
+
_this2.catalogProps.hidePricePreviewOnlyOnOptions = listOf(item.Value);
|
|
24020
24358
|
break;
|
|
24021
24359
|
case 'INIT_OPTIONTREE_TWICE':
|
|
24022
|
-
_this2.catalogProps.initOptionTreeTwice =
|
|
24360
|
+
_this2.catalogProps.initOptionTreeTwice = item.Value === true;
|
|
24023
24361
|
break;
|
|
24024
24362
|
case 'USE_TYPENR_AS_ARTICLENR_EKTEXT':
|
|
24025
|
-
_this2.catalogProps.useTypeNrAsArticleNrEKText =
|
|
24363
|
+
_this2.catalogProps.useTypeNrAsArticleNrEKText = item.Value === true;
|
|
24026
24364
|
break;
|
|
24027
24365
|
case 'HIDE_SUBPOS_ARTICLECODEX_EKTEXT':
|
|
24028
|
-
_this2.catalogProps.hideSubPosArticleCodexEKText =
|
|
24366
|
+
_this2.catalogProps.hideSubPosArticleCodexEKText = item.Value === true;
|
|
24029
24367
|
break;
|
|
24030
24368
|
case 'ADD_POS_INVISIBILITY_TO_OL':
|
|
24031
|
-
_this2.catalogProps.addPosInvisibilityToOL =
|
|
24369
|
+
_this2.catalogProps.addPosInvisibilityToOL = item.Value === true;
|
|
24032
24370
|
break;
|
|
24033
24371
|
case 'ADD_NEW_LINE_BEFOR_RULEDESC':
|
|
24034
|
-
_this2.catalogProps.addNewLineBeforRuleDesc =
|
|
24372
|
+
_this2.catalogProps.addNewLineBeforRuleDesc = item.Value === true;
|
|
24035
24373
|
break;
|
|
24036
24374
|
case 'ONCONFIG_SINGLE_DONT_GENERALIZE':
|
|
24037
|
-
_this2.catalogProps.onConfigSingleDontGeneralize =
|
|
24375
|
+
_this2.catalogProps.onConfigSingleDontGeneralize = item.Value === true;
|
|
24038
24376
|
break;
|
|
24039
24377
|
case 'SUMMARY_TABGROUP_POSITION':
|
|
24040
|
-
_this2.catalogProps.summaryTabGroupPosition = item.Value
|
|
24378
|
+
_this2.catalogProps.summaryTabGroupPosition = listOf(item.Value);
|
|
24041
24379
|
break;
|
|
24042
24380
|
case 'BUNDLE_RULES':
|
|
24043
|
-
_this2.catalogProps.bundleRules =
|
|
24381
|
+
_this2.catalogProps.bundleRules = (_jsonOf = jsonOf(item.Value)) !== null && _jsonOf !== void 0 ? _jsonOf : [];
|
|
24044
24382
|
break;
|
|
24045
24383
|
case 'NOTIFICATIONS':
|
|
24046
|
-
_this2.catalogProps.notificationsRules =
|
|
24384
|
+
_this2.catalogProps.notificationsRules = (_jsonOf2 = jsonOf(item.Value)) !== null && _jsonOf2 !== void 0 ? _jsonOf2 : [];
|
|
24047
24385
|
break;
|
|
24048
24386
|
case 'WARNINGS':
|
|
24049
|
-
_this2.catalogProps.warningRules =
|
|
24387
|
+
_this2.catalogProps.warningRules = (_jsonOf3 = jsonOf(item.Value)) !== null && _jsonOf3 !== void 0 ? _jsonOf3 : [];
|
|
24050
24388
|
break;
|
|
24051
24389
|
case 'BANNER':
|
|
24052
|
-
_this2.catalogProps.bannerRules =
|
|
24390
|
+
_this2.catalogProps.bannerRules = (_jsonOf4 = jsonOf(item.Value)) !== null && _jsonOf4 !== void 0 ? _jsonOf4 : [];
|
|
24053
24391
|
break;
|
|
24054
24392
|
case 'IGNORE_MAX_PRICE_AS_BASEPRICE':
|
|
24055
|
-
_this2.catalogProps.ignoreMaxPriceAsBP =
|
|
24393
|
+
_this2.catalogProps.ignoreMaxPriceAsBP = item.Value === true;
|
|
24056
24394
|
break;
|
|
24057
24395
|
case 'DONT_USE_VCODEX_FOR_BASKET':
|
|
24058
|
-
_this2.catalogProps.dontUseVCodexInBasket =
|
|
24396
|
+
_this2.catalogProps.dontUseVCodexInBasket = item.Value === true;
|
|
24059
24397
|
break;
|
|
24060
24398
|
case 'IGNORE_ISDEFINED_CHECK':
|
|
24061
|
-
_this2.catalogProps.ignoreIsDefinedCheck =
|
|
24399
|
+
_this2.catalogProps.ignoreIsDefinedCheck = item.Value === true;
|
|
24062
24400
|
break;
|
|
24063
24401
|
case 'PARTLIST_POSTFIX':
|
|
24064
|
-
|
|
24065
|
-
|
|
24066
|
-
|
|
24067
|
-
|
|
24068
|
-
|
|
24069
|
-
|
|
24070
|
-
|
|
24402
|
+
{
|
|
24403
|
+
var postfixes = shapedJsonOf('PARTLIST_POSTFIX', item.Value);
|
|
24404
|
+
if (postfixes) _this2.catalogProps.partlistPostFix = postfixes.map(function (entry) {
|
|
24405
|
+
return {
|
|
24406
|
+
rule: entry.rule,
|
|
24407
|
+
postFix: entry.postfix
|
|
24408
|
+
};
|
|
24409
|
+
});
|
|
24410
|
+
break;
|
|
24411
|
+
}
|
|
24071
24412
|
case 'ADD_PA_ON_EDO':
|
|
24072
24413
|
_this2.handleEdoArticles(properties, item);
|
|
24073
24414
|
break;
|
|
@@ -24090,9 +24431,10 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
24090
24431
|
if (key.startsWith('3D_STATBG_ROOMLIST')) {
|
|
24091
24432
|
// item.Value =
|
|
24092
24433
|
// "weissraum_LUECK;backgroundimgroom_lueck_modern;backgroundimgroom_lueck_romantic;backgroundimgroom_lueck_loft;backgroundimgroom_lueck_night";
|
|
24093
|
-
_this3.catalogProps.roomList3DStaticBGImage.set(item.Codex, item.Value
|
|
24434
|
+
_this3.catalogProps.roomList3DStaticBGImage.set(item.Codex, propertyTexts(item.Value));
|
|
24094
24435
|
} else if (key.startsWith('3D_STANDARD_WHITEROOM')) {
|
|
24095
|
-
|
|
24436
|
+
var _textOf4;
|
|
24437
|
+
_this3.catalogProps.diva3dStandardWhiteroom = (_textOf4 = textOf(item.Value)) !== null && _textOf4 !== void 0 ? _textOf4 : '';
|
|
24096
24438
|
} else if (key.startsWith('DIVA3D_IMAGE')) {
|
|
24097
24439
|
_this3.handleDIVA3DMetaTag(item);
|
|
24098
24440
|
}
|
|
@@ -24101,14 +24443,16 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
24101
24443
|
}, {
|
|
24102
24444
|
key: "handleDIVA3DMetaTag",
|
|
24103
24445
|
value: function handleDIVA3DMetaTag(item) {
|
|
24446
|
+
var _textOf5;
|
|
24104
24447
|
//this.Value = "ON.ZUBEHOER_KORPUS1;ON.ZUBEHOER_KORPUS2;ON.ZUBEHOER_KORPUS3:HIDEOPTIONS.FAF;PANEEL;ACP:VIEWPOINTNAME.START_RECHTS";
|
|
24105
24448
|
//Diese Regel gilt für Optionen ZUBEHOER_KORPUS1, ZUBEHOER_KORPUS2 und ZUBEHOER_KORPUS3
|
|
24106
24449
|
|
|
24107
24450
|
//this.Value: "ON.ZUBEHOER*:HIDEOPTIONS.TUER*;TUER_FARB_AF*;TUEREN*;GRIFF_AF*;GRIFF_AF_KOMBI*"
|
|
24108
24451
|
//Diese Regel gilt für alle Optionen beginnend mit ZUBEHOER*
|
|
24109
24452
|
|
|
24110
|
-
var alternateRenderInfo = item.Value.split(':');
|
|
24111
|
-
|
|
24453
|
+
var alternateRenderInfo = ((_textOf5 = textOf(item.Value)) !== null && _textOf5 !== void 0 ? _textOf5 : '').split(':');
|
|
24454
|
+
// A rule without the options to hide after the ':' is no rule
|
|
24455
|
+
if (alternateRenderInfo.length > 1) {
|
|
24112
24456
|
var onValues = alternateRenderInfo[0].split(';');
|
|
24113
24457
|
var hideOptionValues = alternateRenderInfo[1].split(';');
|
|
24114
24458
|
var viewPointName = undefined;
|
|
@@ -24220,9 +24564,9 @@ var DivaCatalogData = /*#__PURE__*/function () {
|
|
|
24220
24564
|
key: "handleEdoArticles",
|
|
24221
24565
|
value: function handleEdoArticles(properties, item) {
|
|
24222
24566
|
var _properties$find;
|
|
24223
|
-
var thisCodex = (_properties$find = properties.find(function (item) {
|
|
24567
|
+
var thisCodex = textOf((_properties$find = properties.find(function (item) {
|
|
24224
24568
|
return item.Codex == 'ADD_PA_ON_EDO_ARTICLECODEX';
|
|
24225
|
-
})) === null || _properties$find === void 0 ? void 0 : _properties$find.Value;
|
|
24569
|
+
})) === null || _properties$find === void 0 ? void 0 : _properties$find.Value);
|
|
24226
24570
|
var thisPropertie;
|
|
24227
24571
|
if (!thisCodex) {
|
|
24228
24572
|
console.error('ADD_PA_ON_EDO_ARTICLECODEX not defined!');
|
|
@@ -28446,18 +28790,10 @@ var IDMEngine = /*#__PURE__*/function () {
|
|
|
28446
28790
|
var ops = this.article.getArticleOptionState(action.featureNo.toString());
|
|
28447
28791
|
if (ops && (isNull && ops.val === undefined || !isNull && (ops.val === undefined || !ops.valueWasSet))) {
|
|
28448
28792
|
if (action.formulaRef) {
|
|
28449
|
-
|
|
28450
|
-
var _ops2 = this.article.getArticleOptionState((_action$featureNo = action.featureNo) === null || _action$featureNo === void 0 ? void 0 : _action$featureNo.toString());
|
|
28451
|
-
var option = _ops2 === null || _ops2 === void 0 ? void 0 : _ops2.val;
|
|
28452
|
-
var formula = (_this$article$Catalog = this.article.CatalogData.idmFormulas) === null || _this$article$Catalog === void 0 ? void 0 : _this$article$Catalog[action.formulaRef.formulaKey];
|
|
28453
|
-
if (!formula) throw new Error('formula ' + action.formulaRef.formulaKey + ' not found in catalog but used in decision: ' + decision.decisionNo);
|
|
28454
|
-
var freeText = this.evalMeasureFormula(formula);
|
|
28455
|
-
if (option) {
|
|
28456
|
-
this.updateArtOPV(option, action.featureNo.toString(), _ops2, freeText, freeText ? Number(freeText) : undefined);
|
|
28457
|
-
}
|
|
28793
|
+
this.applyFormulaRef(action.featureNo.toString(), action.formulaRef.formulaKey, decision);
|
|
28458
28794
|
} else if (action.featureRef) {
|
|
28459
|
-
var
|
|
28460
|
-
if (
|
|
28795
|
+
var _ops2 = this.article.getArticleOptionState(action.featureRef.featureNo);
|
|
28796
|
+
if (_ops2 !== null && _ops2 !== void 0 && _ops2.valCodex) this.assignOptionValue(action.featureNo.toString(), _ops2.valCodex, 'default', _ops2);
|
|
28461
28797
|
} else if (action.optionRef) {
|
|
28462
28798
|
this.assignOptionValue(action.featureNo.toString(), action.optionRef.optionKey, 'default');
|
|
28463
28799
|
} else {
|
|
@@ -28479,46 +28815,38 @@ var IDMEngine = /*#__PURE__*/function () {
|
|
|
28479
28815
|
_step19;
|
|
28480
28816
|
try {
|
|
28481
28817
|
for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
|
|
28482
|
-
var _action$
|
|
28818
|
+
var _action$featureNo;
|
|
28483
28819
|
var action = _step19.value;
|
|
28484
|
-
if (!this.article.getArticleOptionState((_action$
|
|
28820
|
+
if (!this.article.getArticleOptionState((_action$featureNo = action.featureNo) === null || _action$featureNo === void 0 ? void 0 : _action$featureNo.toString()) || !action.featureNo) {
|
|
28485
28821
|
//usecase is that it want to be set on partlistarticle that is not currently loaded so its not found
|
|
28486
28822
|
LOG$g.debug('evalSetFeature decision ' + decision.decisionNo + ' (isFixed=' + isFixed + '): target feature ' + action.featureNo + ' has no option state on article ' + this.article.articleCodex + ' - action skipped');
|
|
28487
28823
|
continue;
|
|
28488
28824
|
}
|
|
28489
28825
|
if (action.formulaRef) {
|
|
28490
|
-
|
|
28491
|
-
var ops = this.article.getArticleOptionState((_action$featureNo3 = action.featureNo) === null || _action$featureNo3 === void 0 ? void 0 : _action$featureNo3.toString());
|
|
28492
|
-
var option = ops === null || ops === void 0 ? void 0 : ops.val;
|
|
28493
|
-
var formula = (_this$article$Catalog2 = this.article.CatalogData.idmFormulas) === null || _this$article$Catalog2 === void 0 ? void 0 : _this$article$Catalog2[action.formulaRef.formulaKey];
|
|
28494
|
-
if (!formula) throw new Error('formula ' + action.formulaRef.formulaKey + ' not found in catalog but used in decision: ' + decision.decisionNo);
|
|
28495
|
-
var freeText = this.evalMeasureFormula(formula);
|
|
28496
|
-
if (option) {
|
|
28497
|
-
this.updateArtOPV(option, action.featureNo.toString(), ops, freeText, freeText ? Number(freeText) : undefined);
|
|
28498
|
-
}
|
|
28826
|
+
this.applyFormulaRef(action.featureNo.toString(), action.formulaRef.formulaKey, decision);
|
|
28499
28827
|
} else if (action.featureRef) {
|
|
28500
|
-
var
|
|
28828
|
+
var ops = this.article.getArticleOptionState(action.featureRef.featureNo);
|
|
28501
28829
|
var targetOps = this.article.getArticleOptionState(action.featureNo.toString());
|
|
28502
|
-
var targetHasSourceValue =
|
|
28830
|
+
var targetHasSourceValue = ops !== null && ops !== void 0 && ops.valCodex ? !!(targetOps !== null && targetOps !== void 0 && targetOps.visibleOptionValues.get(ops.valCodex)) : undefined;
|
|
28503
28831
|
LOG$g.debug('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': set feature ' + action.featureNo + ' from feature ' + action.featureRef.featureNo, {
|
|
28504
28832
|
sourceFeatureNo: action.featureRef.featureNo,
|
|
28505
|
-
sourceFeatureFound: !!
|
|
28506
|
-
sourceValCodex:
|
|
28507
|
-
sourceVisibleKeys:
|
|
28833
|
+
sourceFeatureFound: !!ops,
|
|
28834
|
+
sourceValCodex: ops === null || ops === void 0 ? void 0 : ops.valCodex,
|
|
28835
|
+
sourceVisibleKeys: ops ? ops.visibleOPVKeys : undefined,
|
|
28508
28836
|
targetFeatureNo: action.featureNo,
|
|
28509
28837
|
targetFeatureFound: !!targetOps,
|
|
28510
28838
|
targetHasSourceValue: targetHasSourceValue,
|
|
28511
28839
|
targetVisibleKeys: targetOps ? Array.from(targetOps.visibleOptionValues.keys()) : undefined
|
|
28512
28840
|
});
|
|
28513
|
-
if (!
|
|
28841
|
+
if (!ops) {
|
|
28514
28842
|
LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': referenced source feature ' + action.featureRef.featureNo + ' has no option state on article ' + this.article.articleCodex + ' - target feature ' + action.featureNo + ' will NOT be set (price relevant)');
|
|
28515
|
-
} else if (!
|
|
28843
|
+
} else if (!ops.valCodex) {
|
|
28516
28844
|
LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': referenced source feature ' + action.featureRef.featureNo + ' has no selected value (valCodex undefined) - target feature ' + action.featureNo + ' will NOT be set (price relevant)');
|
|
28517
28845
|
} else if (!targetHasSourceValue) {
|
|
28518
|
-
LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': target feature ' + action.featureNo + ' does not have source feature ' + action.featureRef.featureNo + "'s value '" +
|
|
28846
|
+
LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': target feature ' + action.featureNo + ' does not have source feature ' + action.featureRef.featureNo + "'s value '" + ops.valCodex + "' among its visible option values - assignOptionValue will be a no-op (price relevant). Target visible values: " + (targetOps ? Array.from(targetOps.visibleOptionValues.keys()).join(', ') : '<no target>'));
|
|
28519
28847
|
}
|
|
28520
28848
|
// The typed number travels with the option key, or the target shows the option without the user's entry.
|
|
28521
|
-
if (
|
|
28849
|
+
if (ops !== null && ops !== void 0 && ops.valCodex) this.assignOptionValue(action.featureNo.toString(), ops.valCodex, isFixed ? 'fix' : 'set', ops);
|
|
28522
28850
|
} else if (action.optionRef) {
|
|
28523
28851
|
this.assignOptionValue(action.featureNo.toString(), action.optionRef.optionKey, isFixed ? 'fix' : 'set');
|
|
28524
28852
|
} else {
|
|
@@ -28531,6 +28859,41 @@ var IDMEngine = /*#__PURE__*/function () {
|
|
|
28531
28859
|
_iterator19.f();
|
|
28532
28860
|
}
|
|
28533
28861
|
}
|
|
28862
|
+
}, {
|
|
28863
|
+
key: "applyFormulaRef",
|
|
28864
|
+
value: function applyFormulaRef(featureNo, formulaKey, decision) {
|
|
28865
|
+
var _this$article$Catalog;
|
|
28866
|
+
var formula = (_this$article$Catalog = this.article.CatalogData.idmFormulas) === null || _this$article$Catalog === void 0 ? void 0 : _this$article$Catalog[formulaKey];
|
|
28867
|
+
if (!formula) throw new Error('formula ' + formulaKey + ' not found in catalog but used in decision: ' + decision.decisionNo);
|
|
28868
|
+
var ops = this.article.getArticleOptionState(featureNo);
|
|
28869
|
+
var freeText = this.evalMeasureFormula(formula);
|
|
28870
|
+
var option = ops === null || ops === void 0 ? void 0 : ops.val;
|
|
28871
|
+
var isThisWarning = function isThisWarning(error) {
|
|
28872
|
+
var _error$custom, _error$custom2;
|
|
28873
|
+
return error.code === 'WC_0020' && ((_error$custom = error.custom) === null || _error$custom === void 0 ? void 0 : _error$custom.decisionNo) === decision.decisionNo && ((_error$custom2 = error.custom) === null || _error$custom2 === void 0 ? void 0 : _error$custom2.featureNo) === featureNo;
|
|
28874
|
+
};
|
|
28875
|
+
if (option) {
|
|
28876
|
+
this.updateArtOPV(option, featureNo, ops, freeText, freeText ? Number(freeText) : undefined);
|
|
28877
|
+
// an earlier convergence pass may have reported it before the feature got its option
|
|
28878
|
+
var reported = this.article.dataCreationErrors.findIndex(isThisWarning);
|
|
28879
|
+
if (reported >= 0) this.article.dataCreationErrors.splice(reported, 1);
|
|
28880
|
+
return;
|
|
28881
|
+
}
|
|
28882
|
+
if (this.article.dataCreationErrors.some(isThisWarning)) return;
|
|
28883
|
+
this.article.pushDataCreationError({
|
|
28884
|
+
code: 'WC_0020',
|
|
28885
|
+
message: "Formula '".concat(formulaKey, "' of decision ").concat(decision.decisionNo, " computed ").concat(freeText, ", but feature ").concat(featureNo, " has no selected value to hold it - the result is dropped (give the feature an option value)"),
|
|
28886
|
+
severity: 'warning',
|
|
28887
|
+
custom: {
|
|
28888
|
+
decisionNo: decision.decisionNo,
|
|
28889
|
+
featureNo: featureNo,
|
|
28890
|
+
formulaKey: formulaKey,
|
|
28891
|
+
result: freeText,
|
|
28892
|
+
catalogCodex: this.article.catalogCodex,
|
|
28893
|
+
articleCodex: this.article.articleCodex
|
|
28894
|
+
}
|
|
28895
|
+
});
|
|
28896
|
+
}
|
|
28534
28897
|
|
|
28535
28898
|
/** Selects an option on a feature; a FEATURE_REF passes its `source`, whose typed text and formula measure (cm) come along. */
|
|
28536
28899
|
}, {
|
|
@@ -29096,8 +29459,8 @@ var IDMEngine = /*#__PURE__*/function () {
|
|
|
29096
29459
|
key: "isShadowedRowReported",
|
|
29097
29460
|
value: function isShadowedRowReported(decisionNo, ruleSet, combinationIndex) {
|
|
29098
29461
|
return this.article.dataCreationErrors.some(function (error) {
|
|
29099
|
-
var _error$
|
|
29100
|
-
return error.code === 'WC_0012' && ((_error$
|
|
29462
|
+
var _error$custom3, _error$custom4, _error$custom5;
|
|
29463
|
+
return error.code === 'WC_0012' && ((_error$custom3 = error.custom) === null || _error$custom3 === void 0 ? void 0 : _error$custom3.decisionNo) === decisionNo && ((_error$custom4 = error.custom) === null || _error$custom4 === void 0 ? void 0 : _error$custom4.ruleSet) === ruleSet && ((_error$custom5 = error.custom) === null || _error$custom5 === void 0 ? void 0 : _error$custom5.combinationIndex) === combinationIndex;
|
|
29101
29464
|
});
|
|
29102
29465
|
}
|
|
29103
29466
|
}, {
|
|
@@ -29176,9 +29539,9 @@ var IDMEngine = /*#__PURE__*/function () {
|
|
|
29176
29539
|
_step22;
|
|
29177
29540
|
try {
|
|
29178
29541
|
for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
|
|
29179
|
-
var _action$
|
|
29542
|
+
var _action$featureNo2, _byFeature$get;
|
|
29180
29543
|
var action = _step22.value;
|
|
29181
|
-
var featureNo = (_action$
|
|
29544
|
+
var featureNo = (_action$featureNo2 = action.featureNo) === null || _action$featureNo2 === void 0 ? void 0 : _action$featureNo2.toString();
|
|
29182
29545
|
if (!featureNo) continue;
|
|
29183
29546
|
var list = (_byFeature$get = byFeature.get(featureNo)) !== null && _byFeature$get !== void 0 ? _byFeature$get : [];
|
|
29184
29547
|
if (!list.includes(decision)) list.push(decision);
|
|
@@ -29745,7 +30108,7 @@ function _createForOfIteratorHelper$f(r, e) { var t = "undefined" != typeof Symb
|
|
|
29745
30108
|
function _unsupportedIterableToArray$f(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$f(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$f(r, a) : void 0; } }
|
|
29746
30109
|
function _arrayLikeToArray$f(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; }
|
|
29747
30110
|
/**
|
|
29748
|
-
* Feature property
|
|
30111
|
+
* Feature property listing the Diomex properties a feature feeds, e.g. `["13", "15/L2"]`. `<group>@@<property>` scopes a
|
|
29749
30112
|
* property to one partlist group of the set, e.g. `PrRef_Füsse@@13` for the wood of the feet only.
|
|
29750
30113
|
*/
|
|
29751
30114
|
var IDM3D_TARGET = 'IDM3D_TARGET';
|
|
@@ -29758,7 +30121,7 @@ var GROUP_SEPARATOR = '@@';
|
|
|
29758
30121
|
var IDM3D_VALUE = 'IDM3D_VALUE';
|
|
29759
30122
|
var IDM3D_SKIP = 'SKIP';
|
|
29760
30123
|
|
|
29761
|
-
/** One selected value of the article tree together with its
|
|
30124
|
+
/** One selected value of the article tree together with its feature and value properties. */
|
|
29762
30125
|
|
|
29763
30126
|
// the parsers also accept the codex prefixed with its catalog codex (`<catalogCodex>__IDM3D_TARGET`)
|
|
29764
30127
|
var findProperty = function findProperty(properties, codex) {
|
|
@@ -29808,21 +30171,19 @@ function translateToIDM3DConfig(sources, model, translation) {
|
|
|
29808
30171
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
29809
30172
|
var source = _step.value;
|
|
29810
30173
|
var tier = source.hidden ? 2 : 0;
|
|
29811
|
-
var override = findProperty(source.valueProperties, IDM3D_VALUE);
|
|
30174
|
+
var override = textOf(findProperty(source.valueProperties, IDM3D_VALUE));
|
|
29812
30175
|
if (override === IDM3D_SKIP) continue;
|
|
29813
30176
|
if (override !== null && override !== void 0 && override.includes('=')) {
|
|
29814
30177
|
var _tiers$tier;
|
|
29815
30178
|
(_tiers$tier = tiers[tier]).push.apply(_tiers$tier, _toConsumableArray(parsePairs(override)));
|
|
29816
30179
|
continue;
|
|
29817
30180
|
}
|
|
29818
|
-
var
|
|
29819
|
-
if (!targets) continue;
|
|
29820
|
-
var _iterator3 = _createForOfIteratorHelper$f(targets.split(',')),
|
|
30181
|
+
var _iterator3 = _createForOfIteratorHelper$f(listOf(findProperty(source.featureProperties, IDM3D_TARGET))),
|
|
29821
30182
|
_step3;
|
|
29822
30183
|
try {
|
|
29823
30184
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
29824
30185
|
var target = _step3.value;
|
|
29825
|
-
tiers[tier + 1].push({
|
|
30186
|
+
if (target.trim()) tiers[tier + 1].push({
|
|
29826
30187
|
target: target.trim(),
|
|
29827
30188
|
value: override !== null && override !== void 0 ? override : source.value
|
|
29828
30189
|
});
|
|
@@ -32887,7 +33248,7 @@ var DivaArticle = /*#__PURE__*/function () {
|
|
|
32887
33248
|
break;
|
|
32888
33249
|
}
|
|
32889
33250
|
_context.next = 4;
|
|
32890
|
-
return import('./ShelfPlanner-
|
|
33251
|
+
return import('./ShelfPlanner-93e07971.js');
|
|
32891
33252
|
case 4:
|
|
32892
33253
|
_yield$import = _context.sent;
|
|
32893
33254
|
ShelfPlanner = _yield$import["default"];
|
|
@@ -41609,7 +41970,7 @@ var DivaSet = /*#__PURE__*/function () {
|
|
|
41609
41970
|
break;
|
|
41610
41971
|
}
|
|
41611
41972
|
_context5.next = 3;
|
|
41612
|
-
return import('./DoorPlanner-
|
|
41973
|
+
return import('./DoorPlanner-599bd2a0.js');
|
|
41613
41974
|
case 3:
|
|
41614
41975
|
_yield$import = _context5.sent;
|
|
41615
41976
|
DoorPlanner = _yield$import["default"];
|
|
@@ -49580,7 +49941,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
|
|
|
49580
49941
|
break;
|
|
49581
49942
|
case 3:
|
|
49582
49943
|
_context12.next = 5;
|
|
49583
|
-
return import('./PfisterWWSHandler-
|
|
49944
|
+
return import('./PfisterWWSHandler-aeeeca0a.js');
|
|
49584
49945
|
case 5:
|
|
49585
49946
|
_yield$import = _context12.sent;
|
|
49586
49947
|
PfisterWWSHandler = _yield$import["default"];
|
|
@@ -49588,7 +49949,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
|
|
|
49588
49949
|
return _context12.abrupt("break", 27);
|
|
49589
49950
|
case 9:
|
|
49590
49951
|
_context12.next = 11;
|
|
49591
|
-
return import('./LiviqueWWSHandler-
|
|
49952
|
+
return import('./LiviqueWWSHandler-443dd9fb.js');
|
|
49592
49953
|
case 11:
|
|
49593
49954
|
_yield$import2 = _context12.sent;
|
|
49594
49955
|
LiviqueWWSHandler = _yield$import2["default"];
|
|
@@ -49596,7 +49957,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
|
|
|
49596
49957
|
return _context12.abrupt("break", 27);
|
|
49597
49958
|
case 15:
|
|
49598
49959
|
_context12.next = 17;
|
|
49599
|
-
return import('./SeriousBasketHandler-
|
|
49960
|
+
return import('./SeriousBasketHandler-8e25438e.js');
|
|
49600
49961
|
case 17:
|
|
49601
49962
|
_yield$import3 = _context12.sent;
|
|
49602
49963
|
SeriousWWSHandler = _yield$import3["default"];
|
|
@@ -49604,7 +49965,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
|
|
|
49604
49965
|
return _context12.abrupt("break", 27);
|
|
49605
49966
|
case 21:
|
|
49606
49967
|
_context12.next = 23;
|
|
49607
|
-
return import('./StandardWWSHandler-
|
|
49968
|
+
return import('./StandardWWSHandler-d71f9500.js');
|
|
49608
49969
|
case 23:
|
|
49609
49970
|
_yield$import4 = _context12.sent;
|
|
49610
49971
|
StandardWWSHandler = _yield$import4["default"];
|
|
@@ -50991,7 +51352,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
|
|
|
50991
51352
|
//If we need real time rendering initialize the SignalR and 3D host connection Handler
|
|
50992
51353
|
bootMark('signalr: chunk import start');
|
|
50993
51354
|
_context3.next = 3;
|
|
50994
|
-
return import('./Host3DSignalR-
|
|
51355
|
+
return import('./Host3DSignalR-c12d1c95.js');
|
|
50995
51356
|
case 3:
|
|
50996
51357
|
_yield$import = _context3.sent;
|
|
50997
51358
|
Host3DSignalR = _yield$import["default"];
|
|
@@ -52736,7 +53097,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
|
|
|
52736
53097
|
break;
|
|
52737
53098
|
case 8:
|
|
52738
53099
|
_context5.next = 10;
|
|
52739
|
-
return import('./DivaStandardPlanner-
|
|
53100
|
+
return import('./DivaStandardPlanner-cde0a04a.js');
|
|
52740
53101
|
case 10:
|
|
52741
53102
|
_yield$import = _context5.sent;
|
|
52742
53103
|
DivaStandardPlanner = _yield$import["default"];
|
|
@@ -52747,7 +53108,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
|
|
|
52747
53108
|
return _context5.abrupt("break", 21);
|
|
52748
53109
|
case 15:
|
|
52749
53110
|
_context5.next = 17;
|
|
52750
|
-
return import('./DivaBoxPlanner-
|
|
53111
|
+
return import('./DivaBoxPlanner-7291fc69.js');
|
|
52751
53112
|
case 17:
|
|
52752
53113
|
_yield$import2 = _context5.sent;
|
|
52753
53114
|
DivaBoxPlanner = _yield$import2["default"];
|
|
@@ -59505,265 +59866,6 @@ var PlannerElementData = /*#__PURE__*/function () {
|
|
|
59505
59866
|
}]);
|
|
59506
59867
|
}();
|
|
59507
59868
|
|
|
59508
|
-
/**
|
|
59509
|
-
* The VALUE ENCODING of every catalog/article/option/option-value property, keyed by codex.
|
|
59510
|
-
*
|
|
59511
|
-
* A property's `Value` travels as a STRING and each property decides how that string is read - '1' for one flag,
|
|
59512
|
-
* 'true' for the next, a ';' list for a third. This table records which, so an editor can offer the right control
|
|
59513
|
-
* and write back exactly what the parser reads, and so a caller can validate a value before storing it.
|
|
59514
|
-
*
|
|
59515
|
-
* GENERATED from the four parsers - do not hand-edit; regenerate when a `case` is added there:
|
|
59516
|
-
* CatalogData.ts | CatalogArticleData.ts | CatalogOptionData.ts | CatalogOptionValueData.ts
|
|
59517
|
-
* `propertyValueCodec.test.ts` fails when a parser case has no entry here.
|
|
59518
|
-
*/
|
|
59519
|
-
|
|
59520
|
-
/** The entity a property hangs on; the same codex can mean different things on different entities. */
|
|
59521
|
-
|
|
59522
|
-
/**
|
|
59523
|
-
* How the raw string is turned into a value. The boolean variants are NOT interchangeable: writing 'true' where
|
|
59524
|
-
* the parser tests `== '1'` silently yields false. `boolean:on` is read by isPropertyOn: empty, '0' and 'false'
|
|
59525
|
-
* are off, any other value is on.
|
|
59526
|
-
*/
|
|
59527
|
-
|
|
59528
|
-
/** The encoding per property codex, for one entity. */
|
|
59529
|
-
|
|
59530
|
-
/** 96 properties parsed on the catalog entity. */
|
|
59531
|
-
var CATALOG_PROPERTIES = {
|
|
59532
|
-
'3D_COMPATIBLE_WITH_IMAGE_CACHE': 'boolean:1',
|
|
59533
|
-
ACCESSOIRE_STEP_AS_PLANNER: 'boolean:1',
|
|
59534
|
-
ADD_NEW_LINE_BEFOR_RULEDESC: 'boolean:1',
|
|
59535
|
-
ADD_PA_ON_EDO: 'opaque',
|
|
59536
|
-
ADD_POS_INVISIBILITY_TO_OL: 'boolean:1',
|
|
59537
|
-
ARTICLECONFIGALL: 'boolean:1',
|
|
59538
|
-
ARTICLECONFIGSINGLE: 'boolean:1',
|
|
59539
|
-
ARTICLE_NR: 'string',
|
|
59540
|
-
AUTO_OPEN_CONTENTITEM: 'all-or-list:;',
|
|
59541
|
-
BANNER: 'json',
|
|
59542
|
-
BUNDLE_RULES: 'json',
|
|
59543
|
-
CHECK_COLLISION_DIFFERENT_LAYERS: 'list:;',
|
|
59544
|
-
CONFIG_ACCESSOIRES: 'boolean:1',
|
|
59545
|
-
CONFIG_ONLY_ACCESSOIRES: 'boolean:1',
|
|
59546
|
-
DEFAULT_DO_SHOW_3DDIMENSIONS: 'boolean:1|true',
|
|
59547
|
-
DEFAULT_GROUPS_CLOSED: 'boolean-or-list:;',
|
|
59548
|
-
DIMENSION_CONFIG: 'json',
|
|
59549
|
-
DIVA3D_AR_FORCERTV: 'boolean:1',
|
|
59550
|
-
DIVA3D_AR_READY: 'boolean:1',
|
|
59551
|
-
DIVA3D_DISABLE_3DEXPORT: 'boolean:1',
|
|
59552
|
-
DIVA3D_PLANER_DIGITS: 'number',
|
|
59553
|
-
DIVA3D_PLANER_SHOW_ARTICLE_SVG: 'boolean:1',
|
|
59554
|
-
DIVA3D_RENDERING: 'boolean:1|true',
|
|
59555
|
-
DIVA3D_ROOM: 'string',
|
|
59556
|
-
DIVA3D_STATIC_BG_IMAGE_ROOMLIST: 'list:;',
|
|
59557
|
-
DIVA3D_USE_RTV_NEXT: 'boolean:1',
|
|
59558
|
-
DIVA_KI_READY: 'boolean:1|true',
|
|
59559
|
-
DOCKACCONAVOONLY: 'boolean:1',
|
|
59560
|
-
DONTCALCBASEPRICE: 'boolean:1',
|
|
59561
|
-
DONTHIDEOPTION: 'list:,',
|
|
59562
|
-
DONT_SAVE_ALTERNATIVERENDERINGS: 'boolean:1',
|
|
59563
|
-
DONT_SET_POSNR_FROM_PLANNER: 'boolean:1',
|
|
59564
|
-
DONT_SHOW_ACC_STEP: 'boolean:1',
|
|
59565
|
-
DONT_USE_VCODEX_FOR_BASKET: 'boolean:1',
|
|
59566
|
-
DO_SHOW_MAIN_DIMENSIONS: 'boolean:1|true',
|
|
59567
|
-
DO_USE_RULEDESC_FOR_PARTLIST: 'boolean:1',
|
|
59568
|
-
ELEMENT_COPY_AVLR: 'all-or-list:;',
|
|
59569
|
-
ENABLE_DO_SHOW_3DDIMENSIONS: 'boolean:1|true',
|
|
59570
|
-
FILTER_FOR_CHECKOUT_BUTTONS: 'list:;',
|
|
59571
|
-
FORCECONSTRUCTIONWARNINGARTICLES: 'list:;',
|
|
59572
|
-
FORCE_CONFIG_ALL_ACCESSOIRES: 'boolean:1',
|
|
59573
|
-
FORCE_CONFIG_SINGLE: 'boolean:1',
|
|
59574
|
-
HEADER_DIMENSION_IDS: 'list:;',
|
|
59575
|
-
HIDECOMPLETENESSWARNING: 'boolean:1',
|
|
59576
|
-
HIDECONSTRUCTIONWARNING: 'opaque',
|
|
59577
|
-
HIDE_2D_PLANNER: 'boolean:1',
|
|
59578
|
-
HIDE_AV_BUTTONS: 'string',
|
|
59579
|
-
HIDE_PLANNER_UI_ICONS: 'boolean:1',
|
|
59580
|
-
HIDE_PRICEPREVIEW_ON_OPTIONS: 'list:;',
|
|
59581
|
-
HIDE_PRICE_GROUPS_OF_OPGS: 'boolean:1',
|
|
59582
|
-
HIDE_SUBPOS_ARTICLECODEX_EKTEXT: 'boolean:1',
|
|
59583
|
-
IDM3D_CAT_CODEX: 'string',
|
|
59584
|
-
IDM3D_ENVIRONMENT: 'string',
|
|
59585
|
-
IDM3D_TRANSLATION: 'json',
|
|
59586
|
-
IGNOREDOCKINGNUMBER: 'boolean:1',
|
|
59587
|
-
IGNORELAYERAVC: 'boolean:1',
|
|
59588
|
-
IGNORELAYERAVNAVS: 'boolean:1',
|
|
59589
|
-
IGNORELAYERAVOAVU: 'boolean:1',
|
|
59590
|
-
IGNORE_ARTICLERELATIONS: 'boolean:1',
|
|
59591
|
-
IGNORE_ISDEFINED_CHECK: 'boolean:1',
|
|
59592
|
-
IGNORE_MAX_PRICE_AS_BASEPRICE: 'boolean:1',
|
|
59593
|
-
INIT_OPTIONTREE_TWICE: 'boolean:1',
|
|
59594
|
-
IS_IDM3D_CAT: 'boolean:1|true',
|
|
59595
|
-
MERGE_OPTIONS_TO_SAME_OPTION: 'list:;',
|
|
59596
|
-
NOTIFICATIONS: 'json',
|
|
59597
|
-
ONCONFIG_SINGLE_DONT_GENERALIZE: 'boolean:1',
|
|
59598
|
-
PARTLIST_POSTFIX: 'list:;',
|
|
59599
|
-
PLANNERTYPE: 'string',
|
|
59600
|
-
PLANNER_2DOT0: 'boolean:1',
|
|
59601
|
-
PLANNER_REPLACE_MODE: 'boolean:1',
|
|
59602
|
-
PLAN_2D_FONT_URL: 'string',
|
|
59603
|
-
PROGRAM_NR: 'string',
|
|
59604
|
-
RECONFIG_AFTER_ARTICLE_DOCKED: 'boolean:1',
|
|
59605
|
-
REPAIR_VARIANT_VALUES: 'opaque',
|
|
59606
|
-
RTV_PRESET: 'json',
|
|
59607
|
-
SHOWACCESSOIREONLASTTAB: 'boolean:1',
|
|
59608
|
-
SHOWACCONDPONLY: 'boolean:1',
|
|
59609
|
-
SHOWTYPENRINPLANNER: 'boolean:1',
|
|
59610
|
-
SHOW_AI_ROOM_RENDERING_IN_SUMMARY: 'boolean:1',
|
|
59611
|
-
SHOW_AI_ROOM_RENDERING_SUMMARY: 'boolean:1',
|
|
59612
|
-
SHOW_ALL_ITEMS_IN_PLANNER: 'boolean:1',
|
|
59613
|
-
SHOW_PRICEPREVIEW_ON_OPTIONS: 'list:;',
|
|
59614
|
-
STARTFILTERPARAMS: 'string',
|
|
59615
|
-
STARTHIDEARTICLES: 'list:;',
|
|
59616
|
-
START_PLANNER_ARTICLE: 'string',
|
|
59617
|
-
SUMMARY_TABGROUP_POSITION: 'list:;',
|
|
59618
|
-
USEBOXPLANNER: 'all-or-list:;',
|
|
59619
|
-
USEGLOBALSVGSCALE: 'boolean:1',
|
|
59620
|
-
USEPOSCOUNTVALUE: 'boolean:1',
|
|
59621
|
-
USEPRGASOPVARTICLENR: 'boolean:1',
|
|
59622
|
-
USE_DECISION_POS_COUNT_VALUE: 'boolean:1',
|
|
59623
|
-
USE_DIOMEX_CONFIG_LOGIC: 'boolean:1',
|
|
59624
|
-
USE_SHELFPLANNER_RTV: 'boolean:1',
|
|
59625
|
-
USE_SHORT_NAME_AS_NAME: 'boolean:1',
|
|
59626
|
-
USE_TYPENR_AS_ARTICLENR_EKTEXT: 'boolean:1',
|
|
59627
|
-
WARNINGS: 'json'
|
|
59628
|
-
};
|
|
59629
|
-
|
|
59630
|
-
/** 31 properties parsed on the article entity. */
|
|
59631
|
-
var ARTICLE_PROPERTIES = {
|
|
59632
|
-
'3DMODELNAME': 'string',
|
|
59633
|
-
ACCESSOIRE_POS_PRIO: 'number',
|
|
59634
|
-
ADD_AS_ZKAT: 'boolean:1|true',
|
|
59635
|
-
BASIC_UNIT_PRICE: 'number',
|
|
59636
|
-
BUNDLE_RULES: 'json',
|
|
59637
|
-
CONTENT_ITEM: 'string',
|
|
59638
|
-
DEPTH_HAS_PRICE: 'boolean:on',
|
|
59639
|
-
DO_NOT_DEL_ACC_IF_NOT_DOCKED: 'boolean:on',
|
|
59640
|
-
GROUP_CONTENT_ITEM: 'string',
|
|
59641
|
-
HAS3D: 'boolean:on',
|
|
59642
|
-
HEIGHTGRIDABOVE: 'number',
|
|
59643
|
-
HEIGHTGRIDBELOW: 'number',
|
|
59644
|
-
HEIGHTGRIDUSED: 'number',
|
|
59645
|
-
HEIGHT_HAS_PRICE: 'boolean:on',
|
|
59646
|
-
HIDE_IN_PLANNERSTEP: 'boolean:on',
|
|
59647
|
-
IDM3D_SKIP: 'boolean:1|true',
|
|
59648
|
-
INVALID_ACCESSORIES: 'list:,',
|
|
59649
|
-
MAX_PLANNING_COUNT: 'number',
|
|
59650
|
-
ON_CONFIG_OPTION: 'string',
|
|
59651
|
-
ON_SET_CONFIG_OPTION: 'string',
|
|
59652
|
-
OPTIONS_FOR_PRINT: 'list:;',
|
|
59653
|
-
ORDER_POSNR: 'string',
|
|
59654
|
-
OVERWRITE_PARENT_DEPTH: 'boolean:on',
|
|
59655
|
-
OVERWRITE_PARENT_HEIGHT: 'boolean:on',
|
|
59656
|
-
OVERWRITE_PARENT_WIDTH: 'boolean:on',
|
|
59657
|
-
RETAIL_PREFIX: 'string',
|
|
59658
|
-
TABGROUP: 'string',
|
|
59659
|
-
TABGROUP_OPTIONS: 'string',
|
|
59660
|
-
TYPE_NO: 'string',
|
|
59661
|
-
WIDTH_HAS_PRICE: 'boolean:on',
|
|
59662
|
-
ZUBEHOER_FAMILIE: 'string'
|
|
59663
|
-
};
|
|
59664
|
-
|
|
59665
|
-
/** 41 properties parsed on the option entity. */
|
|
59666
|
-
var OPTION_PROPERTIES = {
|
|
59667
|
-
ADDITIONAL_GROUP_FILTER: 'json',
|
|
59668
|
-
ADD_OPT_TO_TABGROUP_IN_PL_SUM: 'string',
|
|
59669
|
-
ADD_TO_WWS: 'boolean:on',
|
|
59670
|
-
CHECK_FOR_REVERSE_CHANGES: 'list:;',
|
|
59671
|
-
CONTENT_ITEM: 'string',
|
|
59672
|
-
CONTENT_ITEM_TEASER: 'json',
|
|
59673
|
-
CUSTOM_DIMENSION: 'boolean:on',
|
|
59674
|
-
CUSTOM_DIMENSION_TEXT: 'string',
|
|
59675
|
-
DEFAULT_SIBLING_OPTION: 'string',
|
|
59676
|
-
DESCRIPTION: 'string',
|
|
59677
|
-
DIAMETER: 'boolean:on',
|
|
59678
|
-
EshopCategoryMapping: 'ignored',
|
|
59679
|
-
EshopSearchRelevant: 'ignored',
|
|
59680
|
-
FEATURE_TYPE: 'ignored',
|
|
59681
|
-
FREETEXT_DEFAULT_VALUE: 'string',
|
|
59682
|
-
GROUP_OPTIONS_LEFT_AND_RIGHT: 'list:;',
|
|
59683
|
-
HIDE_OPTION_IN_CONFIGURATOR: 'boolean:on',
|
|
59684
|
-
IDM3D_TARGET: 'list:,',
|
|
59685
|
-
IGNORE_GROUPS: 'boolean:1',
|
|
59686
|
-
IGNORE_PGR_GROUP_POSITION: 'boolean:1',
|
|
59687
|
-
INFO_PDF: 'string',
|
|
59688
|
-
INFO_URL: 'string',
|
|
59689
|
-
ION_COMMENT_TEXT: 'ignored',
|
|
59690
|
-
ISDEFAULTVALUEFOROPTIONS: 'string',
|
|
59691
|
-
IS_MAIN_COLOR: 'boolean:on',
|
|
59692
|
-
IS_STATE: 'boolean:on',
|
|
59693
|
-
IsArtName: 'ignored',
|
|
59694
|
-
IsSalesText: 'ignored',
|
|
59695
|
-
MERGE_IDM_TO_OPG: 'string',
|
|
59696
|
-
ONLY_VISIBLE_IF_CONFIG_ALL: 'boolean:on',
|
|
59697
|
-
ONLY_VISIBLE_IF_CONFIG_SINGLE: 'boolean:on',
|
|
59698
|
-
ONLY_VISIBLE_IF_NOT_UNDOCK: 'boolean:on',
|
|
59699
|
-
REQUIRED_OPTION: 'boolean:on',
|
|
59700
|
-
REQUIRES_USER_INPUT: 'boolean:on',
|
|
59701
|
-
SETNAME: 'boolean:on',
|
|
59702
|
-
SHOW_FILTER: 'boolean:1',
|
|
59703
|
-
SHOW_IN_BASKET_WHEN_HAS_PRICE: 'ignored',
|
|
59704
|
-
SHOW_IN_VARIANTDESC: 'boolean:on',
|
|
59705
|
-
SHOW_SEARCHBAR: 'boolean:1',
|
|
59706
|
-
SHOW_SEPARAT_ON_TABGROUP: 'string',
|
|
59707
|
-
SUGGESTED_OPTION: 'boolean:on'
|
|
59708
|
-
};
|
|
59709
|
-
|
|
59710
|
-
/** 31 properties parsed on the optionValue entity. */
|
|
59711
|
-
var OPTIONVALUE_PROPERTIES = {
|
|
59712
|
-
ADD_TO_MEASURE: 'list:;',
|
|
59713
|
-
CONTENT_ITEM: 'string',
|
|
59714
|
-
CUSTOM_DIMENSION: 'opaque',
|
|
59715
|
-
DEFAULT_VALUE: 'boolean:on',
|
|
59716
|
-
EshopCategoryMapping: 'ignored',
|
|
59717
|
-
GROUP_CONTENT_ITEM: 'string',
|
|
59718
|
-
HIDE_IN_SUMMARY: 'boolean:on',
|
|
59719
|
-
IDM3D_VALUE: 'string',
|
|
59720
|
-
INFO_PDF: 'string',
|
|
59721
|
-
INFO_URL: 'string',
|
|
59722
|
-
ION_COMMENT_TEXT: 'ignored',
|
|
59723
|
-
IS_NOT_RELEVANT: 'boolean:on',
|
|
59724
|
-
IsArtName: 'ignored',
|
|
59725
|
-
IsVariantAttribute: 'boolean:1',
|
|
59726
|
-
MEASURE_MAXIMUM: 'string',
|
|
59727
|
-
MEASURE_MINIMUM: 'string',
|
|
59728
|
-
MEASURE_STEP: 'string',
|
|
59729
|
-
MEASURE_UNIT: 'string',
|
|
59730
|
-
ONLY_VISIBLE_IF_NOT_UNDOCK: 'string',
|
|
59731
|
-
ON_RULE: 'string',
|
|
59732
|
-
OPTION_FREE_TEXT: 'boolean:on',
|
|
59733
|
-
PIMFlatValues: 'boolean:1',
|
|
59734
|
-
PRICE_UNIT: 'string',
|
|
59735
|
-
PriceTageRelevant: 'ignored',
|
|
59736
|
-
SAME_OPV: 'string',
|
|
59737
|
-
SETNAME: 'string',
|
|
59738
|
-
SET_BY_RULE: 'string',
|
|
59739
|
-
SET_CONFIG: 'string',
|
|
59740
|
-
SUMMARY_CODEX: 'string',
|
|
59741
|
-
TopFilterAttribute: 'ignored',
|
|
59742
|
-
VIEWPOINTNAME: 'string'
|
|
59743
|
-
};
|
|
59744
|
-
var PROPERTY_SCHEMAS = {
|
|
59745
|
-
catalog: CATALOG_PROPERTIES,
|
|
59746
|
-
article: ARTICLE_PROPERTIES,
|
|
59747
|
-
option: OPTION_PROPERTIES,
|
|
59748
|
-
optionValue: OPTIONVALUE_PROPERTIES
|
|
59749
|
-
};
|
|
59750
|
-
|
|
59751
|
-
/**
|
|
59752
|
-
* The encoding of one property, or undefined when the codex is not one the engine parses - an organization's own
|
|
59753
|
-
* key, which stays free text. A catalog-prefixed codex ('MYCAT__USEBOXPLANNER') resolves to its bare form, the
|
|
59754
|
-
* same way the parsers strip it.
|
|
59755
|
-
*/
|
|
59756
|
-
function propertyEncodingOf(codex, entity) {
|
|
59757
|
-
var bare = codex.includes('__') ? codex.slice(codex.indexOf('__') + 2) : codex;
|
|
59758
|
-
var entities = entity ? [entity] : ['catalog', 'article', 'option', 'optionValue'];
|
|
59759
|
-
for (var _i = 0, _entities = entities; _i < _entities.length; _i++) {
|
|
59760
|
-
var candidate = _entities[_i];
|
|
59761
|
-
// Own keys only: a codex like 'constructor' or 'toString' would otherwise resolve to an inherited function.
|
|
59762
|
-
if (Object.prototype.hasOwnProperty.call(PROPERTY_SCHEMAS[candidate], bare)) return PROPERTY_SCHEMAS[candidate][bare];
|
|
59763
|
-
}
|
|
59764
|
-
return undefined;
|
|
59765
|
-
}
|
|
59766
|
-
|
|
59767
59869
|
/**
|
|
59768
59870
|
* Placeholder for the set name in the Serious checkout. API2 bed catalogs yield "<headboard> - <width> X <length>" from the
|
|
59769
59871
|
* OPTBR / OPTLAE options and the headboard partlist article. IDM catalogs have none of these, so the selected values of the
|
|
@@ -77000,4 +77102,4 @@ function _withTimeout() {
|
|
|
77000
77102
|
return _withTimeout.apply(this, arguments);
|
|
77001
77103
|
}
|
|
77002
77104
|
|
|
77003
|
-
export {
|
|
77105
|
+
export { ArtifactGenerationError as A, BoundingBox as B, Cell as C, DivaWebPlanner as D, Grid as G, HQRenderScript as H, JsonDataCache as J, OptionCatalogData as O, PlannerElementData as P, Rendering as R, SVGUtils as S, Vector3 as V, articleHandlerInstance as a, setHandlerInstance as b, Vector2 as c, bootMark as d, DivaArticle as e, DivaCatalogData as f, DivaBasketHandler as g, CatalogPlannerArticleData as h, PROPERTY_SCHEMAS as i, getSeriousSetNamePlaceholder as j, bootMarksEnabled as k, loadAndRepairBasket as l, bootNetworkMark as m, bootNow as n, bootRequestName as o, propertyEncodingOf as p, Vector4 as q, creatRenderOrders as r, summaryHandlerInstance as s, getOrigProductId as t, headlessSession as u, collectStructureStepKeys as v, runHeadlessArtifactPass as w, runHeadlessArtifactPassBatch as x };
|