@kontur.candy/generator 6.33.0 → 6.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +79 -308
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -108120,192 +108120,6 @@ let TypeFileUploadErrors = /*#__PURE__*/function (TypeFileUploadErrors) {
|
|
|
108120
108120
|
|
|
108121
108121
|
/***/ }),
|
|
108122
108122
|
|
|
108123
|
-
/***/ "./Engine/src/Engine/Core/PathUtils/PathUtils.ts":
|
|
108124
|
-
/*!*******************************************************!*\
|
|
108125
|
-
!*** ./Engine/src/Engine/Core/PathUtils/PathUtils.ts ***!
|
|
108126
|
-
\*******************************************************/
|
|
108127
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
108128
|
-
|
|
108129
|
-
"use strict";
|
|
108130
|
-
__webpack_require__.r(__webpack_exports__);
|
|
108131
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
108132
|
-
/* harmony export */ PathUtils: () => (/* binding */ PathUtils)
|
|
108133
|
-
/* harmony export */ });
|
|
108134
|
-
/* harmony import */ var _Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../Common/TypingUtils */ "./Common/TypingUtils.ts");
|
|
108135
|
-
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
108136
|
-
/* harmony import */ var _Common_ModelPath_PathMatcher__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../Common/ModelPath/PathMatcher */ "./Common/ModelPath/PathMatcher.ts");
|
|
108137
|
-
/* harmony import */ var _Common_ModelPath_ModelPathBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../Common/ModelPath/ModelPathBuilder */ "./Common/ModelPath/ModelPathBuilder.ts");
|
|
108138
|
-
|
|
108139
|
-
|
|
108140
|
-
|
|
108141
|
-
|
|
108142
|
-
class PathUtils {
|
|
108143
|
-
static getAbsolutePath(parentPath, relativePath) {
|
|
108144
|
-
const parentSymbol = "-";
|
|
108145
|
-
let pathSuffix = relativePath;
|
|
108146
|
-
let parentLength = parentPath.length;
|
|
108147
|
-
let i = 0;
|
|
108148
|
-
while (i < pathSuffix.length && pathSuffix[i] === parentSymbol) {
|
|
108149
|
-
if (parentLength === -1) {
|
|
108150
|
-
throw new Error("Argument exception");
|
|
108151
|
-
}
|
|
108152
|
-
parentLength = parentPath.lastIndexOf("/", parentLength - 1);
|
|
108153
|
-
i += 1;
|
|
108154
|
-
}
|
|
108155
|
-
parentPath = parentPath.substr(0, parentLength);
|
|
108156
|
-
pathSuffix = pathSuffix.substr(i);
|
|
108157
|
-
return (parentPath.length && pathSuffix.length && pathSuffix[0] !== "." ? parentPath + "/" : parentPath) + pathSuffix;
|
|
108158
|
-
}
|
|
108159
|
-
static getParentPath(nodePath) {
|
|
108160
|
-
const delimIdx = nodePath.lastIndexOf("/");
|
|
108161
|
-
return delimIdx === -1 ? null : nodePath.substr(0, delimIdx);
|
|
108162
|
-
}
|
|
108163
|
-
static splitToPathAndValueName(path) {
|
|
108164
|
-
for (let i = path.length - 1; i >= 0; --i) {
|
|
108165
|
-
if (path[i] === "/") {
|
|
108166
|
-
return [path, ""];
|
|
108167
|
-
} else if (path[i] === ".") {
|
|
108168
|
-
return [path.substr(0, i), path.substr(i + 1)];
|
|
108169
|
-
}
|
|
108170
|
-
}
|
|
108171
|
-
return [path, ""];
|
|
108172
|
-
}
|
|
108173
|
-
static getLastToken(nodePath) {
|
|
108174
|
-
const delimIdx = nodePath.lastIndexOf("/");
|
|
108175
|
-
return delimIdx === -1 ? nodePath : nodePath.substr(delimIdx + 1);
|
|
108176
|
-
}
|
|
108177
|
-
static getValuePath(nodePath, valueName) {
|
|
108178
|
-
return nodePath + "." + valueName;
|
|
108179
|
-
}
|
|
108180
|
-
static isMask(path) {
|
|
108181
|
-
return path.includes("*");
|
|
108182
|
-
}
|
|
108183
|
-
static trimLastStarIfLastToken(path) {
|
|
108184
|
-
if ((0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.isModelPath)(path)) {
|
|
108185
|
-
return path.trimLastStarIfLastToken().toLegacyPath();
|
|
108186
|
-
}
|
|
108187
|
-
if (PathUtils.getLastToken(path) === "*") {
|
|
108188
|
-
var _PathUtils$getParentP;
|
|
108189
|
-
return (_PathUtils$getParentP = PathUtils.getParentPath(path)) !== null && _PathUtils$getParentP !== void 0 ? _PathUtils$getParentP : "";
|
|
108190
|
-
}
|
|
108191
|
-
return path;
|
|
108192
|
-
}
|
|
108193
|
-
static isPrefix(prefix, path) {
|
|
108194
|
-
return path.indexOf(prefix) === 0 && (path.length === prefix.length || path[prefix.length] === "/");
|
|
108195
|
-
}
|
|
108196
|
-
static split(path) {
|
|
108197
|
-
return path.split("/");
|
|
108198
|
-
}
|
|
108199
|
-
static splitMask(mask) {
|
|
108200
|
-
return mask.split("*").map(subPath => this.join(this.split(subPath).filter(x => x)));
|
|
108201
|
-
}
|
|
108202
|
-
static join(tokens) {
|
|
108203
|
-
return tokens.join("/");
|
|
108204
|
-
}
|
|
108205
|
-
static resolve(pathWithMask, instances = []) {
|
|
108206
|
-
if (typeof pathWithMask === "string") {
|
|
108207
|
-
let instanceIndex = 0;
|
|
108208
|
-
const tokens = this.split(pathWithMask);
|
|
108209
|
-
const resolvedTokens = tokens.map(token => {
|
|
108210
|
-
if (token !== "*") {
|
|
108211
|
-
return token;
|
|
108212
|
-
}
|
|
108213
|
-
const instance = instances[instanceIndex];
|
|
108214
|
-
instanceIndex++;
|
|
108215
|
-
if (instance === undefined) {
|
|
108216
|
-
return "*";
|
|
108217
|
-
}
|
|
108218
|
-
return instance;
|
|
108219
|
-
});
|
|
108220
|
-
return this.join(resolvedTokens);
|
|
108221
|
-
} else {
|
|
108222
|
-
const resultBuilder = new _Common_ModelPath_ModelPathBuilder__WEBPACK_IMPORTED_MODULE_3__.ModelPathBuilder(pathWithMask.isAbsolute());
|
|
108223
|
-
let instanceIndex = 0;
|
|
108224
|
-
for (const token of pathWithMask.getPathParts()) {
|
|
108225
|
-
if (_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.isSimpleToken(token)) {
|
|
108226
|
-
resultBuilder.append(token);
|
|
108227
|
-
} else {
|
|
108228
|
-
const instance = instances[instanceIndex];
|
|
108229
|
-
instanceIndex++;
|
|
108230
|
-
if (instance === undefined) {
|
|
108231
|
-
resultBuilder.append(token);
|
|
108232
|
-
} else {
|
|
108233
|
-
resultBuilder.append(instance);
|
|
108234
|
-
}
|
|
108235
|
-
}
|
|
108236
|
-
}
|
|
108237
|
-
if (pathWithMask.isAbsolute()) {
|
|
108238
|
-
return resultBuilder.toAbsolutePath();
|
|
108239
|
-
}
|
|
108240
|
-
return resultBuilder.toPath();
|
|
108241
|
-
}
|
|
108242
|
-
}
|
|
108243
|
-
static resolveMaskToDeepestCommonInstance(fullPath, mask) {
|
|
108244
|
-
const fullPathTokens = this.split(fullPath);
|
|
108245
|
-
const maskTokens = this.split(mask);
|
|
108246
|
-
const deepestCommonInstancePathTokens = [];
|
|
108247
|
-
let tokensBeforeLastMultiplicity = [];
|
|
108248
|
-
for (let index = 0; maskTokens[index] && fullPathTokens[index]; index++) {
|
|
108249
|
-
if (maskTokens[index] === fullPathTokens[index]) {
|
|
108250
|
-
tokensBeforeLastMultiplicity.push(fullPathTokens[index]);
|
|
108251
|
-
} else if (maskTokens[index] === "*") {
|
|
108252
|
-
const instanceNumber = fullPathTokens[index];
|
|
108253
|
-
deepestCommonInstancePathTokens.push(...tokensBeforeLastMultiplicity, instanceNumber);
|
|
108254
|
-
tokensBeforeLastMultiplicity = [];
|
|
108255
|
-
} else {
|
|
108256
|
-
break;
|
|
108257
|
-
}
|
|
108258
|
-
}
|
|
108259
|
-
const deepestCommonInstancePathTokensLength = deepestCommonInstancePathTokens.length;
|
|
108260
|
-
if (deepestCommonInstancePathTokensLength === 0) {
|
|
108261
|
-
return null;
|
|
108262
|
-
}
|
|
108263
|
-
return deepestCommonInstancePathTokens.concat(maskTokens.slice(deepestCommonInstancePathTokensLength)).join("/");
|
|
108264
|
-
}
|
|
108265
|
-
static isPicklistFieldValueName(valueName) {
|
|
108266
|
-
return valueName.startsWith("picklist@");
|
|
108267
|
-
}
|
|
108268
|
-
static getPicklistFieldName(valueName) {
|
|
108269
|
-
if (!valueName.startsWith("picklist@")) {
|
|
108270
|
-
throw new Error(`${valueName} is not picklist field name`);
|
|
108271
|
-
}
|
|
108272
|
-
const splitValueName = valueName.split("@");
|
|
108273
|
-
if (!(0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.arrayHasLength)(splitValueName, 2)) {
|
|
108274
|
-
throw new Error(`${valueName} is not a valid picklist field name`);
|
|
108275
|
-
}
|
|
108276
|
-
return splitValueName[1];
|
|
108277
|
-
}
|
|
108278
|
-
|
|
108279
|
-
/**
|
|
108280
|
-
* Используется снаружи. Извлкается номер инстанса для пути. Например, если передать `pathWithMask` /A/B*, а
|
|
108281
|
-
* `path` /A/B/2, то функция вернёт `"2"`
|
|
108282
|
-
* @param pathWithMask
|
|
108283
|
-
* @param path
|
|
108284
|
-
*/
|
|
108285
|
-
static extractInstance(pathWithMask, path) {
|
|
108286
|
-
const modelPathWithMask = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createFromMask)(pathWithMask, true, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each);
|
|
108287
|
-
const modelPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createFromMask)(path, true, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each);
|
|
108288
|
-
const matchedMultiplicity = modelPathWithMask.matchFor(modelPath).filter(x => x.kind === _Common_ModelPath_PathMatcher__WEBPACK_IMPORTED_MODULE_2__.MatchKind.MatchedMultiplicity && _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.isInstanceToken(x.target));
|
|
108289
|
-
if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.arrayHasLength)(matchedMultiplicity, 1) && matchedMultiplicity[0].kind === _Common_ModelPath_PathMatcher__WEBPACK_IMPORTED_MODULE_2__.MatchKind.MatchedMultiplicity) {
|
|
108290
|
-
if (_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.isInstanceToken(matchedMultiplicity[0].target)) {
|
|
108291
|
-
return matchedMultiplicity[0].target;
|
|
108292
|
-
}
|
|
108293
|
-
}
|
|
108294
|
-
throw new Error(`Unable to extract single index while match paths '${modelPathWithMask.toString()}' and '${modelPath.toString()}'`);
|
|
108295
|
-
}
|
|
108296
|
-
static extractPathWithInstance(pathWithMask, path) {
|
|
108297
|
-
const prefix = PathUtils.trimLastStarIfLastToken(pathWithMask);
|
|
108298
|
-
if (!PathUtils.isPrefix(prefix, path)) {
|
|
108299
|
-
return undefined;
|
|
108300
|
-
}
|
|
108301
|
-
const instance = PathUtils.extractInstance(pathWithMask, path);
|
|
108302
|
-
const pathWithInstance = PathUtils.join([prefix, instance]);
|
|
108303
|
-
return pathWithInstance;
|
|
108304
|
-
}
|
|
108305
|
-
}
|
|
108306
|
-
|
|
108307
|
-
/***/ }),
|
|
108308
|
-
|
|
108309
108123
|
/***/ "./Engine/src/Engine/ValidationHelper/ValidationHelper.ts":
|
|
108310
108124
|
/*!****************************************************************!*\
|
|
108311
108125
|
!*** ./Engine/src/Engine/ValidationHelper/ValidationHelper.ts ***!
|
|
@@ -127704,7 +127518,7 @@ function kladrPreprocessor(node) {
|
|
|
127704
127518
|
};
|
|
127705
127519
|
const types = {
|
|
127706
127520
|
address: `
|
|
127707
|
-
<type base="string"
|
|
127521
|
+
<type base="string" />`,
|
|
127708
127522
|
regionCode: `
|
|
127709
127523
|
<type base="integer" description="Код региона должен состоять из 2 цифр" requiredDescription="Заполните регион">
|
|
127710
127524
|
<length value="2" />
|
|
@@ -127744,13 +127558,14 @@ function kladrPreprocessor(node) {
|
|
|
127744
127558
|
<maxLength value="20" />
|
|
127745
127559
|
</type>`
|
|
127746
127560
|
};
|
|
127561
|
+
const optional = node.attrAsBoolean("optional");
|
|
127747
127562
|
const pb = new _CodeGeneration_PropsBuilder__WEBPACK_IMPORTED_MODULE_0__.PropsBuilder({
|
|
127748
127563
|
path: node.attributes.path,
|
|
127749
127564
|
title: node.attributes.title,
|
|
127750
127565
|
tid: node.attributes.tid,
|
|
127566
|
+
optional: node.attributes.optional,
|
|
127751
127567
|
kind: "envd"
|
|
127752
127568
|
});
|
|
127753
|
-
const optional = node.attrAsBoolean("optional");
|
|
127754
127569
|
const childrenJsx = Object.keys(setting).map(field => {
|
|
127755
127570
|
const childPb = new _CodeGeneration_PropsBuilder__WEBPACK_IMPORTED_MODULE_0__.PropsBuilder({
|
|
127756
127571
|
path: setting[field],
|
|
@@ -127767,7 +127582,7 @@ function kladrPreprocessor(node) {
|
|
|
127767
127582
|
}).join("");
|
|
127768
127583
|
const newNode = (0,_XmlParser_XmlParser__WEBPACK_IMPORTED_MODULE_1__.parseXml)(`<kladr ${pb}>
|
|
127769
127584
|
${childrenJsx}
|
|
127770
|
-
<text
|
|
127585
|
+
<text optional="true" path="address">
|
|
127771
127586
|
${types.address}
|
|
127772
127587
|
</text>
|
|
127773
127588
|
</kladr>`);
|
|
@@ -148794,7 +148609,7 @@ class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
148794
148609
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
148795
148610
|
|
|
148796
148611
|
// eslint-disable-next-line no-warning-comments
|
|
148797
|
-
// TODO(2026-
|
|
148612
|
+
// TODO(2026-08-31): Необходимо разобраться с тем, что тут конфликтят свойства в type. Подробности в задаче https://yt.skbkontur.ru/issue/FS-9234
|
|
148798
148613
|
const fakeNode = new _validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_7__.TypeNode();
|
|
148799
148614
|
fakeNode.base = "string";
|
|
148800
148615
|
fakeNode.children = [];
|
|
@@ -149873,6 +149688,10 @@ class CrossfitTableConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
149873
149688
|
if (loader != undefined) {
|
|
149874
149689
|
tableBuilder.appendChild(loader);
|
|
149875
149690
|
}
|
|
149691
|
+
const filterInfoOverlayBuilder = this.buildFilterInfoOverlay(node.filterinfo);
|
|
149692
|
+
if (filterInfoOverlayBuilder != undefined) {
|
|
149693
|
+
tableBuilder.appendChild(filterInfoOverlayBuilder);
|
|
149694
|
+
}
|
|
149876
149695
|
const sidebarBuilder = this.buildSidebar(context, node, sidebarColumns, (_node$optional = node.optional) !== null && _node$optional !== void 0 ? _node$optional : false);
|
|
149877
149696
|
if (sidebarBuilder != undefined) {
|
|
149878
149697
|
tableBuilder.appendChild(sidebarBuilder);
|
|
@@ -149973,10 +149792,6 @@ class CrossfitTableConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
149973
149792
|
}
|
|
149974
149793
|
const sidebarBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("CrossfitTable", "CrossfitTable.Sidebar");
|
|
149975
149794
|
sidebarBuilder.prop(x => x.columns).set(sidebarColumns);
|
|
149976
|
-
const filterInfoJsxConverterResult = this.buildFilterInfo(node.filterinfo);
|
|
149977
|
-
if (filterInfoJsxConverterResult != undefined) {
|
|
149978
|
-
sidebarBuilder.appendChild(filterInfoJsxConverterResult);
|
|
149979
|
-
}
|
|
149980
149795
|
const bodyRows = node.getBodyRows();
|
|
149981
149796
|
if (bodyRows.length === 0) {
|
|
149982
149797
|
sidebarBuilder.appendChild("<tr />");
|
|
@@ -150059,19 +149874,19 @@ class CrossfitTableConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
150059
149874
|
// )
|
|
150060
149875
|
}).flat();
|
|
150061
149876
|
}
|
|
150062
|
-
|
|
149877
|
+
buildFilterInfoOverlay(filterInfo) {
|
|
150063
149878
|
var _getPluralTitles;
|
|
150064
149879
|
if (filterInfo == undefined) {
|
|
150065
149880
|
return undefined;
|
|
150066
149881
|
}
|
|
150067
|
-
const
|
|
149882
|
+
const overlayBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("CrossfitTable", "CrossfitTable.FilterInfo");
|
|
150068
149883
|
const filterInfoBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("FilterInfo");
|
|
150069
149884
|
filterInfoBuilder.prop(x => x.multilinePath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(filterInfo, filterInfo.multilinePath));
|
|
150070
149885
|
filterInfoBuilder.prop(x => x.notFoundText).set(filterInfo.notFoundText);
|
|
150071
149886
|
filterInfoBuilder.prop(x => x.filteredUniqKey).set(filterInfo.filteredUniqKey);
|
|
150072
149887
|
filterInfoBuilder.prop(x => x.titles).set((_getPluralTitles = (0,_Multilinefield_GetPluralTitles__WEBPACK_IMPORTED_MODULE_10__.getPluralTitles)(filterInfo.titles)) !== null && _getPluralTitles !== void 0 ? _getPluralTitles : ["%s", "%s", "%s"]);
|
|
150073
|
-
|
|
150074
|
-
return
|
|
149888
|
+
overlayBuilder.appendChild(filterInfoBuilder);
|
|
149889
|
+
return overlayBuilder;
|
|
150075
149890
|
}
|
|
150076
149891
|
findNumbersColumn(node) {
|
|
150077
149892
|
const rows = node.getHeaderRows();
|
|
@@ -158327,7 +158142,7 @@ class FileLoaderConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4
|
|
|
158327
158142
|
}
|
|
158328
158143
|
|
|
158329
158144
|
// eslint-disable-next-line no-warning-comments
|
|
158330
|
-
// TODO(2026-
|
|
158145
|
+
// TODO(2026-08-31): Исправить в рамках задачи https://yt.skbkontur.ru/issue/FS-9386
|
|
158331
158146
|
*doBuildKCLangValidations_REMOVE_THIS_SUFFIX(buildContext, formSchemaRng, prefixPath) {
|
|
158332
158147
|
const node = this.getCurrentNodeAs(_FileLoaderNode__WEBPACK_IMPORTED_MODULE_11__.FileLoaderNode);
|
|
158333
158148
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
@@ -159507,16 +159322,35 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
159507
159322
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
159508
159323
|
/* harmony export */ KladrConverter: () => (/* binding */ KladrConverter)
|
|
159509
159324
|
/* harmony export */ });
|
|
159510
|
-
/* harmony import */ var
|
|
159511
|
-
/* harmony import */ var
|
|
159512
|
-
/* harmony import */ var
|
|
159513
|
-
/* harmony import */ var
|
|
159514
|
-
/* harmony import */ var
|
|
159515
|
-
/* harmony import */ var
|
|
159516
|
-
/* harmony import */ var
|
|
159517
|
-
/* harmony import */ var
|
|
159518
|
-
/* harmony import */ var
|
|
159519
|
-
/* harmony import */ var
|
|
159325
|
+
/* harmony import */ var _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../DataDeclarationGenerator/DataDeclarationGenerationContext */ "./Generator/src/generators/DataDeclarationGenerator/DataDeclarationGenerationContext.ts");
|
|
159326
|
+
/* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
|
|
159327
|
+
/* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
|
|
159328
|
+
/* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
|
|
159329
|
+
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
159330
|
+
/* harmony import */ var _common_KCLang_CodeDom_Functions_ExistsFunctionCall__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/Functions/ExistsFunctionCall */ "./Generator/src/common/KCLang/CodeDom/Functions/ExistsFunctionCall.ts");
|
|
159331
|
+
/* harmony import */ var _common_KCLang_CodeDom_ValueReferenceExpression__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/ValueReferenceExpression */ "./Generator/src/common/KCLang/CodeDom/ValueReferenceExpression.ts");
|
|
159332
|
+
/* harmony import */ var _common_KCLang_CodeDom_KCLangPath__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/KCLangPath */ "./Generator/src/common/KCLang/CodeDom/KCLangPath.ts");
|
|
159333
|
+
/* harmony import */ var _common_KCLang_CodeDom_OrExpression__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/OrExpression */ "./Generator/src/common/KCLang/CodeDom/OrExpression.ts");
|
|
159334
|
+
/* harmony import */ var _common_KCLang_CodeDom_CheckStatement__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/CheckStatement */ "./Generator/src/common/KCLang/CodeDom/CheckStatement.ts");
|
|
159335
|
+
/* harmony import */ var _common_KCLang_CodeDom_WithBlock__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/WithBlock */ "./Generator/src/common/KCLang/CodeDom/WithBlock.ts");
|
|
159336
|
+
/* harmony import */ var _common_KCLang_CodeDom_DescriptionText__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/DescriptionText */ "./Generator/src/common/KCLang/CodeDom/DescriptionText.ts");
|
|
159337
|
+
/* harmony import */ var _Common_ModelPath_PathSplitHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/PathSplitHelper */ "./Common/ModelPath/PathSplitHelper.ts");
|
|
159338
|
+
/* harmony import */ var _common_KCLang_CodeDom_InBlock__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/InBlock */ "./Generator/src/common/KCLang/CodeDom/InBlock.ts");
|
|
159339
|
+
/* harmony import */ var _common_KCLang_CodeDom_StringConstExpression__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/StringConstExpression */ "./Generator/src/common/KCLang/CodeDom/StringConstExpression.ts");
|
|
159340
|
+
/* harmony import */ var _common_KCLang_CodeDom_KCLangUtils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/KCLangUtils */ "./Generator/src/common/KCLang/CodeDom/KCLangUtils.ts");
|
|
159341
|
+
/* harmony import */ var _common_KCLang_CodeDom_Functions_RegexMatchFunctionCall__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/Functions/RegexMatchFunctionCall */ "./Generator/src/common/KCLang/CodeDom/Functions/RegexMatchFunctionCall.ts");
|
|
159342
|
+
/* harmony import */ var _common_KCLang_CodeDom_NotExpression__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../../common/KCLang/CodeDom/NotExpression */ "./Generator/src/common/KCLang/CodeDom/NotExpression.ts");
|
|
159343
|
+
/* harmony import */ var _KladrNode__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./KladrNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Kladr/KladrNode.ts");
|
|
159344
|
+
|
|
159345
|
+
|
|
159346
|
+
|
|
159347
|
+
|
|
159348
|
+
|
|
159349
|
+
|
|
159350
|
+
|
|
159351
|
+
|
|
159352
|
+
|
|
159353
|
+
|
|
159520
159354
|
|
|
159521
159355
|
|
|
159522
159356
|
|
|
@@ -159526,144 +159360,81 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
159526
159360
|
|
|
159527
159361
|
|
|
159528
159362
|
|
|
159529
|
-
class KladrConverter extends
|
|
159363
|
+
class KladrConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.SugarNodeConverterBase {
|
|
159530
159364
|
get nodePaths() {
|
|
159531
|
-
const node = this.getCurrentNodeAs(
|
|
159365
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159532
159366
|
const dependencies = node.kind === "stat" ? this.getStatBindings(node) : this.getFNSBindings(node);
|
|
159533
159367
|
return dependencies.map(({
|
|
159534
159368
|
path
|
|
159535
159369
|
}) => path);
|
|
159536
159370
|
}
|
|
159537
159371
|
static getAcceptNodeClass() {
|
|
159538
|
-
return
|
|
159372
|
+
return _KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode;
|
|
159539
159373
|
}
|
|
159540
159374
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
159541
|
-
const node = this.getCurrentNodeAs(
|
|
159375
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159542
159376
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
159543
|
-
const targetPath = (0,
|
|
159377
|
+
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.PathTokens.each);
|
|
159544
159378
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
159545
159379
|
const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
|
|
159546
159380
|
const ownPath = node.getOwnPathForKCLang();
|
|
159381
|
+
const isOptional = node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional;
|
|
159382
|
+
if (ownPath != undefined && node.kind != "stat" && !isOptional) {
|
|
159383
|
+
const bindings = this.getFNSBindings(node);
|
|
159384
|
+
const existsChecks = bindings.filter(x => x.propName != "address").map(x => {
|
|
159385
|
+
const {
|
|
159386
|
+
differentPath
|
|
159387
|
+
} = (0,_Common_ModelPath_PathSplitHelper__WEBPACK_IMPORTED_MODULE_12__.getMatchedAndDifferentModelPaths)(targetPath, x.path);
|
|
159388
|
+
return new _common_KCLang_CodeDom_Functions_ExistsFunctionCall__WEBPACK_IMPORTED_MODULE_5__.ExistsFunctionCall(new _common_KCLang_CodeDom_ValueReferenceExpression__WEBPACK_IMPORTED_MODULE_6__.ValueReferenceExpression(_common_KCLang_CodeDom_KCLangPath__WEBPACK_IMPORTED_MODULE_7__.KCLangPath.fromModelPath(differentPath)));
|
|
159389
|
+
}).reduce((result, current) => result != undefined ? new _common_KCLang_CodeDom_OrExpression__WEBPACK_IMPORTED_MODULE_8__.OrExpression(result, current) : current, undefined);
|
|
159390
|
+
if (existsChecks != undefined) {
|
|
159391
|
+
yield new _common_KCLang_CodeDom_InBlock__WEBPACK_IMPORTED_MODULE_13__.InBlock(_common_KCLang_CodeDom_KCLangPath__WEBPACK_IMPORTED_MODULE_7__.KCLangPath.fromModelPath(ownPath), new _common_KCLang_CodeDom_CheckStatement__WEBPACK_IMPORTED_MODULE_9__.CheckStatement(existsChecks, [new _common_KCLang_CodeDom_WithBlock__WEBPACK_IMPORTED_MODULE_10__.WithBlock("target", new _common_KCLang_CodeDom_DescriptionText__WEBPACK_IMPORTED_MODULE_11__.DescriptionText("address")), new _common_KCLang_CodeDom_WithBlock__WEBPACK_IMPORTED_MODULE_10__.WithBlock("description", new _common_KCLang_CodeDom_DescriptionText__WEBPACK_IMPORTED_MODULE_11__.DescriptionText("Адрес должен быть заполнен"))]));
|
|
159392
|
+
}
|
|
159393
|
+
}
|
|
159394
|
+
if (ownPath != undefined && node.kind == "stat" && !isOptional) {
|
|
159395
|
+
const condition = new _common_KCLang_CodeDom_NotExpression__WEBPACK_IMPORTED_MODULE_17__.NotExpression(new _common_KCLang_CodeDom_Functions_RegexMatchFunctionCall__WEBPACK_IMPORTED_MODULE_16__.RegexMatchFunctionCall((0,_common_KCLang_CodeDom_KCLangUtils__WEBPACK_IMPORTED_MODULE_15__.castToString)(new _common_KCLang_CodeDom_ValueReferenceExpression__WEBPACK_IMPORTED_MODULE_6__.ValueReferenceExpression(_common_KCLang_CodeDom_KCLangPath__WEBPACK_IMPORTED_MODULE_7__.KCLangPath.fromModelPath(ownPath))), new _common_KCLang_CodeDom_StringConstExpression__WEBPACK_IMPORTED_MODULE_14__.StringConstExpression("^[, ]*$")));
|
|
159396
|
+
yield new _common_KCLang_CodeDom_CheckStatement__WEBPACK_IMPORTED_MODULE_9__.CheckStatement(condition, [new _common_KCLang_CodeDom_WithBlock__WEBPACK_IMPORTED_MODULE_10__.WithBlock("target", new _common_KCLang_CodeDom_DescriptionText__WEBPACK_IMPORTED_MODULE_11__.DescriptionText(ownPath.toString())), new _common_KCLang_CodeDom_WithBlock__WEBPACK_IMPORTED_MODULE_10__.WithBlock("description", new _common_KCLang_CodeDom_DescriptionText__WEBPACK_IMPORTED_MODULE_11__.DescriptionText("Адрес должен быть заполнен"))]);
|
|
159397
|
+
}
|
|
159547
159398
|
if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
|
|
159548
159399
|
return;
|
|
159549
159400
|
}
|
|
159550
|
-
yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode,
|
|
159401
|
+
yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, true, undefined, node.validationInfo.emptydescription);
|
|
159551
159402
|
}
|
|
159552
159403
|
doBuildNodeValidations(validationGenerator) {
|
|
159553
|
-
const node = this.getCurrentNodeAs(
|
|
159404
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159554
159405
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
|
|
159555
159406
|
}
|
|
159556
|
-
buildSugarAutoCalculations() {
|
|
159557
|
-
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_8__.KladrNode);
|
|
159558
|
-
const statFields = ["index", "regionCode", "district", "city", "settlement", "street", "house", "building", "room"];
|
|
159559
|
-
const path = this.getResolvedBindingPath(node).replace(/^[\/]+/g, "");
|
|
159560
|
-
let kladrHooks;
|
|
159561
|
-
if (node.kind === "stat") {
|
|
159562
|
-
kladrHooks = statFields.map(field => ({
|
|
159563
|
-
path: `${path}.${field}`,
|
|
159564
|
-
value: [{
|
|
159565
|
-
base: "-",
|
|
159566
|
-
fn: "kladrchange"
|
|
159567
|
-
}]
|
|
159568
|
-
}));
|
|
159569
|
-
} else {
|
|
159570
|
-
const fields = node.textNodeForDataDeclaration.map(child => child.field).filter(field => field != undefined && field !== "");
|
|
159571
|
-
kladrHooks = fields.map(field => ({
|
|
159572
|
-
path: `${path}/${field}.value`,
|
|
159573
|
-
value: [{
|
|
159574
|
-
base: "-",
|
|
159575
|
-
fn: "kladrchange"
|
|
159576
|
-
}]
|
|
159577
|
-
}));
|
|
159578
|
-
}
|
|
159579
|
-
const bindingPathForStatHook = node.statKladrInUnit && node.path ? _Engine_src_Engine_Core_PathUtils_PathUtils__WEBPACK_IMPORTED_MODULE_6__.PathUtils.getLastToken(node.path) : undefined;
|
|
159580
|
-
const newFunction = node.kind === "stat" ? this.createFuncStatKladr(bindingPathForStatHook) : this.createFuncKladr();
|
|
159581
|
-
return [{
|
|
159582
|
-
functions: [newFunction],
|
|
159583
|
-
hooks: kladrHooks
|
|
159584
|
-
}];
|
|
159585
|
-
}
|
|
159586
159407
|
doBuildDataDeclaration(context) {
|
|
159587
|
-
const node = this.getCurrentNodeAs(
|
|
159588
|
-
return context.mergeDataDeclaration(node.kind === "stat" ? context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]
|
|
159408
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159409
|
+
return context.mergeDataDeclaration(node.kind === "stat" ? context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]]) : _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_0__.emptyDataDeclarationCollection, context.addSpecialFieldsEntry(node, {
|
|
159589
159410
|
optional: node.dataBinding.optional
|
|
159590
159411
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
|
|
159591
159412
|
}
|
|
159592
159413
|
buildChildrenDataDeclaration(context) {
|
|
159593
|
-
const node = this.getCurrentNodeAs(
|
|
159414
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159594
159415
|
return context.processChildrenDataDeclaration([...node.helpNodes, ...node.textNodeForDataDeclaration]);
|
|
159595
159416
|
}
|
|
159596
159417
|
*doTraverseChildren() {
|
|
159597
|
-
const node = this.getCurrentNodeAs(
|
|
159418
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159598
159419
|
yield* node.helpNodes;
|
|
159599
159420
|
yield* node.textNodeForDataDeclaration;
|
|
159600
159421
|
}
|
|
159601
159422
|
doConvert(context) {
|
|
159602
|
-
const node = this.getCurrentNodeAs(
|
|
159423
|
+
const node = this.getCurrentNodeAs(_KladrNode__WEBPACK_IMPORTED_MODULE_18__.KladrNode);
|
|
159603
159424
|
if (node.kind === "stat") {
|
|
159604
159425
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
159605
159426
|
}
|
|
159606
|
-
const markupBuilder = (0,
|
|
159427
|
+
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("Kladr");
|
|
159607
159428
|
markupBuilder.prop("data-tid").set(node.tid);
|
|
159608
159429
|
markupBuilder.prop(x => x.title).set(node.title);
|
|
159609
159430
|
const dependencies = node.kind === "stat" ? this.getStatBindings(node) : this.getFNSBindings(node);
|
|
159610
159431
|
markupBuilder.prop(x => x.dependencies).set(dependencies);
|
|
159432
|
+
const statMode = node.kind === "stat";
|
|
159433
|
+
if (statMode) {
|
|
159434
|
+
markupBuilder.prop(x => x.statMode).set(statMode);
|
|
159435
|
+
}
|
|
159611
159436
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
159612
159437
|
}
|
|
159613
|
-
createFuncKladr() {
|
|
159614
|
-
const buildFuncCall = (0,_babel_template__WEBPACK_IMPORTED_MODULE_0__["default"])(`
|
|
159615
|
-
getAsyncTextResultHandler({
|
|
159616
|
-
index: ['Индекс', 'value'],
|
|
159617
|
-
regionCode: ['КодРегион', 'value'],
|
|
159618
|
-
district: ['Район', 'value'],
|
|
159619
|
-
city: ['Город', 'value'],
|
|
159620
|
-
settlement: ['НаселПункт', 'value'],
|
|
159621
|
-
street: ['Улица', 'value'],
|
|
159622
|
-
house: ['Дом', 'value'],
|
|
159623
|
-
building: ['Корпус', 'value'],
|
|
159624
|
-
room: ['Кварт', 'value'],
|
|
159625
|
-
}, (args) => {
|
|
159626
|
-
const value = Object.keys(args).map((key) => args[key] || '').join('');
|
|
159627
|
-
|
|
159628
|
-
return [['address', 'value', value]];
|
|
159629
|
-
})`, {
|
|
159630
|
-
placeholderPattern: false
|
|
159631
|
-
});
|
|
159632
|
-
const funcCall = buildFuncCall();
|
|
159633
|
-
return _babel_types__WEBPACK_IMPORTED_MODULE_1__.objectProperty(_babel_types__WEBPACK_IMPORTED_MODULE_1__.identifier("kladrchange"), funcCall.expression);
|
|
159634
|
-
}
|
|
159635
|
-
createFuncStatKladr(bindingPath = "value") {
|
|
159636
|
-
const buildFuncCall = (0,_babel_template__WEBPACK_IMPORTED_MODULE_0__["default"])(`
|
|
159637
|
-
getAsyncTextResultHandler({
|
|
159638
|
-
index : ['${bindingPath}', 'index'],
|
|
159639
|
-
regionCode : ['${bindingPath}', 'regionCode'],
|
|
159640
|
-
district : ['${bindingPath}', 'district'],
|
|
159641
|
-
city : ['${bindingPath}', 'city'],
|
|
159642
|
-
settlement : ['${bindingPath}', 'settlement'],
|
|
159643
|
-
street : ['${bindingPath}', 'street'],
|
|
159644
|
-
house : ['${bindingPath}', 'house'],
|
|
159645
|
-
building : ['${bindingPath}', 'building'],
|
|
159646
|
-
room : ['${bindingPath}', 'room'],
|
|
159647
|
-
}, (args) => {
|
|
159648
|
-
const value = [
|
|
159649
|
-
'index',
|
|
159650
|
-
'regionCode',
|
|
159651
|
-
'district',
|
|
159652
|
-
'city',
|
|
159653
|
-
'settlement',
|
|
159654
|
-
'street',
|
|
159655
|
-
'house',
|
|
159656
|
-
'building',
|
|
159657
|
-
'room'
|
|
159658
|
-
].map((key) => args[key] ? args[key] : '').join(',').split(',,,,,,,,')[0]
|
|
159659
|
-
|
|
159660
|
-
return [['${bindingPath}', 'value', value]];
|
|
159661
|
-
})`, {
|
|
159662
|
-
placeholderPattern: false
|
|
159663
|
-
});
|
|
159664
|
-
const funcCall = buildFuncCall();
|
|
159665
|
-
return _babel_types__WEBPACK_IMPORTED_MODULE_1__.objectProperty(_babel_types__WEBPACK_IMPORTED_MODULE_1__.identifier("kladrchange"), funcCall.expression);
|
|
159666
|
-
}
|
|
159667
159438
|
getFNSBindings(node) {
|
|
159668
159439
|
const setting = {
|
|
159669
159440
|
address: "address",
|
|
@@ -159678,7 +159449,7 @@ class KladrConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_5__.Su
|
|
|
159678
159449
|
room: "Кварт"
|
|
159679
159450
|
};
|
|
159680
159451
|
return Object.keys(setting).map(propName => ({
|
|
159681
|
-
path: (0,
|
|
159452
|
+
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewRelativePathExpression)(node, `${node.path}/${setting[propName]}`),
|
|
159682
159453
|
valueName: "value",
|
|
159683
159454
|
propName: propName
|
|
159684
159455
|
}));
|
|
@@ -159686,7 +159457,7 @@ class KladrConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_5__.Su
|
|
|
159686
159457
|
getStatBindings(node) {
|
|
159687
159458
|
const values = ["index", "regionCode", "district", "city", "settlement", "street", "house", "building", "room"];
|
|
159688
159459
|
return values.map(value => ({
|
|
159689
|
-
path: (0,
|
|
159460
|
+
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(node),
|
|
159690
159461
|
valueName: value
|
|
159691
159462
|
}));
|
|
159692
159463
|
}
|