@kontur.candy/generator 5.121.0-fixes-for-flang-generator.8 → 5.121.0-fixes-for-flang-generator.10

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.
Files changed (2) hide show
  1. package/dist/index.js +278 -89
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -47766,6 +47766,52 @@ function getMatchedAndDifferentModelPaths(baseModelPath, splittingModelPath) {
47766
47766
 
47767
47767
  /***/ }),
47768
47768
 
47769
+ /***/ "./Common/ModelPath/Set/AbsoluteModelPathSet.ts":
47770
+ /*!******************************************************!*\
47771
+ !*** ./Common/ModelPath/Set/AbsoluteModelPathSet.ts ***!
47772
+ \******************************************************/
47773
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47774
+
47775
+ "use strict";
47776
+ __webpack_require__.r(__webpack_exports__);
47777
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47778
+ /* harmony export */ AbsoluteModelPathSet: () => (/* binding */ AbsoluteModelPathSet)
47779
+ /* harmony export */ });
47780
+ /* harmony import */ var _EachCurrentCollision__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EachCurrentCollision */ "./Common/ModelPath/EachCurrentCollision.ts");
47781
+ /* harmony import */ var _Set2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Set2 */ "./Common/ModelPath/Set/Set2.ts");
47782
+
47783
+
47784
+ class AbsoluteModelPathSet extends _Set2__WEBPACK_IMPORTED_MODULE_1__.Set2 {
47785
+ constructor(eachCurrentCollision = _EachCurrentCollision__WEBPACK_IMPORTED_MODULE_0__.EachCurrentCollision.AreSame) {
47786
+ super();
47787
+ this.eachCurrentCollision = void 0;
47788
+ this.eachCurrentCollision = eachCurrentCollision;
47789
+ }
47790
+ static *unique(paths) {
47791
+ const set = new AbsoluteModelPathSet();
47792
+ for (const path of paths) {
47793
+ if (set.add(path)) {
47794
+ yield path;
47795
+ }
47796
+ }
47797
+ }
47798
+ areItemsEqual(left, right) {
47799
+ return left.isEquals(right, this.eachCurrentCollision);
47800
+ }
47801
+ getItemHash(key) {
47802
+ return key.getHash(this.eachCurrentCollision);
47803
+ }
47804
+ static from(source) {
47805
+ const set = new AbsoluteModelPathSet();
47806
+ for (const sourceElement of source) {
47807
+ set.add(sourceElement);
47808
+ }
47809
+ return set;
47810
+ }
47811
+ }
47812
+
47813
+ /***/ }),
47814
+
47769
47815
  /***/ "./Common/ModelPath/Set/Set2.ts":
47770
47816
  /*!**************************************!*\
47771
47817
  !*** ./Common/ModelPath/Set/Set2.ts ***!
@@ -70404,6 +70450,11 @@ class DataDeclarationGenerationTimeHelper {
70404
70450
  const rootPath = this.getDataDeclarationRootPath();
70405
70451
  return (_this$dataDeclaration = (_this$dataDeclaration2 = this.dataDeclaration[rootPath]) === null || _this$dataDeclaration2 === void 0 ? void 0 : _this$dataDeclaration2.optionalSections) !== null && _this$dataDeclaration !== void 0 ? _this$dataDeclaration : [];
70406
70452
  }
70453
+ getAllSingleSections() {
70454
+ var _this$dataDeclaration3, _this$dataDeclaration4;
70455
+ const rootPath = this.getDataDeclarationRootPath();
70456
+ return (_this$dataDeclaration3 = (_this$dataDeclaration4 = this.dataDeclaration[rootPath]) === null || _this$dataDeclaration4 === void 0 ? void 0 : _this$dataDeclaration4.allSingleSections) !== null && _this$dataDeclaration3 !== void 0 ? _this$dataDeclaration3 : [];
70457
+ }
70407
70458
  getOptionalBlocksPaths() {
70408
70459
  const visibilityFieldsPaths = Object.keys(this.dataDeclaration).filter(path => path.endsWith(_Common_PathConstants__WEBPACK_IMPORTED_MODULE_5__.OptionalBlockVisibilityFieldName));
70409
70460
  const optionalBlocksPaths = visibilityFieldsPaths.map(fieldPath => (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createAbsoluteFromMask)(fieldPath, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each).getParentPath());
@@ -71291,6 +71342,10 @@ __webpack_require__.r(__webpack_exports__);
71291
71342
  /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
71292
71343
  /* harmony import */ var _DataDeclarationGenerator_DataDeclaration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataDeclarationGenerator/DataDeclaration */ "./Generator/src/generators/DataDeclarationGenerator/DataDeclaration.ts");
71293
71344
  /* harmony import */ var _Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Common/TypingUtils */ "./Common/TypingUtils.ts");
71345
+ /* harmony import */ var _Common_ModelPath_Set_AbsoluteModelPathSet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Common/ModelPath/Set/AbsoluteModelPathSet */ "./Common/ModelPath/Set/AbsoluteModelPathSet.ts");
71346
+ /* harmony import */ var _Common_PathConstants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Common/PathConstants */ "./Common/PathConstants.ts");
71347
+
71348
+
71294
71349
 
71295
71350
 
71296
71351
 
@@ -71343,8 +71398,11 @@ function buildFieldsConfiguration(path, dataDeclaration) {
71343
71398
  return resultFields;
71344
71399
  }
71345
71400
  function buildExtendedSchemaInfo(dataDeclaration) {
71401
+ const singleSectionsSet = _Common_ModelPath_Set_AbsoluteModelPathSet__WEBPACK_IMPORTED_MODULE_3__.AbsoluteModelPathSet.from(dataDeclaration.getAllSingleSections().map(x => (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createAbsoluteFromMask)(x.path, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.PathTokens.each)));
71346
71402
  const nodes = new Map();
71347
- for (const path of dataDeclaration.getAllPaths()) {
71403
+ const filteredPaths = [(0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createRelativeFromTokens)([_Common_PathConstants__WEBPACK_IMPORTED_MODULE_4__.OptionalSectionFilledFieldName]), (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createRelativeFromTokens)([_Common_PathConstants__WEBPACK_IMPORTED_MODULE_4__.OptionalElementsExistenceFieldName])];
71404
+ const pathToProcess = Iterator.from(dataDeclaration.getAllPaths()).filter(path => !filteredPaths.some(fp => path.endsWith(fp)));
71405
+ for (const path of pathToProcess) {
71348
71406
  if (path.isEmpty() || path.endsWith((0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createRelativeFromTokens)([_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.PathTokens.each]))) {
71349
71407
  continue;
71350
71408
  }
@@ -71368,9 +71426,8 @@ function buildExtendedSchemaInfo(dataDeclaration) {
71368
71426
  props.optional = optional;
71369
71427
  props.type = dataDeclaration.getType(path);
71370
71428
  props.disabled = dataDeclaration.isNodeHasDisabledEntry(path);
71371
- if (isPage) {
71372
- props.isPage = isPage;
71373
- }
71429
+ props.isPage = isPage || undefined;
71430
+ props.isForceFilledOptional = props.isFilledOptionalRequired = isPage && optional && (isMultiple && singleSectionsSet.has(path) || !isMultiple) || undefined;
71374
71431
  props.fields = buildFieldsConfiguration(path, dataDeclaration);
71375
71432
  }
71376
71433
  return {
@@ -77212,7 +77269,7 @@ class OptionalSectionRulesBuilder extends _BaseRuleBuilder__WEBPACK_IMPORTED_MOD
77212
77269
  while ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_4__.arrayIsNotEmpty)(pagesToProcess)) {
77213
77270
  const info = pagesToProcess.pop();
77214
77271
  if (info != null && (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_4__.isNotNullOrUndefined)(info.page.path)) {
77215
- var _page$optional;
77272
+ var _page$optional, _page$multiple;
77216
77273
  const {
77217
77274
  page,
77218
77275
  parentId
@@ -77221,7 +77278,7 @@ class OptionalSectionRulesBuilder extends _BaseRuleBuilder__WEBPACK_IMPORTED_MOD
77221
77278
  sectionId: page.id,
77222
77279
  path: page.getFullPath(),
77223
77280
  optional: (_page$optional = page.optional) !== null && _page$optional !== void 0 ? _page$optional : false,
77224
- multiple: this.dataDeclarationHelper.isNodeHasChildrenEntry(page.getFullPath()),
77281
+ multiple: (_page$multiple = page.multiple) !== null && _page$multiple !== void 0 ? _page$multiple : false,
77225
77282
  parentSectionId: parentId
77226
77283
  };
77227
77284
  pagesToProcess.push(...page.pages.map(x => ({
@@ -88641,6 +88698,15 @@ class SimpleTableColumnConverter extends _MultiControls_Column_ColumnConverter__
88641
88698
  static getAcceptNodeClass() {
88642
88699
  return _SimpleTableNode__WEBPACK_IMPORTED_MODULE_1__.SimpleTableColumnNode;
88643
88700
  }
88701
+ *doBuildNormalizeRules(builder) {
88702
+ const node = this.getCurrentNodeAs(_SimpleTableNode__WEBPACK_IMPORTED_MODULE_1__.SimpleTableColumnNode);
88703
+ if (node.dataScope.path != undefined && node.multiple) {
88704
+ yield* builder.childrenInitializer(node, false);
88705
+ yield* builder.specialFieldsInitializer(node, {
88706
+ disabled: undefined
88707
+ });
88708
+ }
88709
+ }
88644
88710
  doBuildDataDeclaration(context) {
88645
88711
  const node = this.getCurrentNodeAs(_SimpleTableNode__WEBPACK_IMPORTED_MODULE_1__.SimpleTableColumnNode);
88646
88712
  if (node.multiple) {
@@ -90303,7 +90369,9 @@ __webpack_require__.r(__webpack_exports__);
90303
90369
  /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
90304
90370
  /* harmony import */ var _validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../validationGenerator/Nodes/TypeNode */ "./Generator/src/generators/validationGenerator/Nodes/TypeNode.ts");
90305
90371
  /* harmony import */ var _Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../Common/TypingUtils */ "./Common/TypingUtils.ts");
90306
- /* harmony import */ var _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./AddRowButtonNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/MultiControls/AddRowButton/AddRowButtonNode.ts");
90372
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
90373
+ /* harmony import */ var _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./AddRowButtonNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/MultiControls/AddRowButton/AddRowButtonNode.ts");
90374
+
90307
90375
 
90308
90376
 
90309
90377
 
@@ -90317,10 +90385,10 @@ __webpack_require__.r(__webpack_exports__);
90317
90385
 
90318
90386
  class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.SugarNodeConverterBase {
90319
90387
  static getAcceptNodeClass() {
90320
- return _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode;
90388
+ return _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode;
90321
90389
  }
90322
90390
  doBuildNodeValidations(validationGenerator) {
90323
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90391
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90324
90392
  const {
90325
90393
  validationPath
90326
90394
  } = this.getNodeBindingAndValidationPaths(node);
@@ -90332,20 +90400,36 @@ class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
90332
90400
  fakeNode.children = [];
90333
90401
  validationGenerator.processValidations(validationPath.toLegacyPath(), node.validationInfo.optional, fakeNode, undefined, node.validationInfo.emptydescription, undefined);
90334
90402
  }
90403
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
90404
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90405
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
90406
+
90407
+ // eslint-disable-next-line no-warning-comments
90408
+ // TODO(2026-02-01): Необходимо разобраться с тем, что тут конфликтят свойства в type. Подробности в задаче https://yt.skbkontur.ru/issue/FS-9234
90409
+ const fakeNode = new _validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_8__.TypeNode();
90410
+ fakeNode.base = "string";
90411
+ fakeNode.children = [];
90412
+ const typeNode = fakeNode;
90413
+ const {
90414
+ validationPath
90415
+ } = this.getNodeBindingAndValidationPaths(node);
90416
+ if ((0,util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(validationPath) || (0,util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(node.validationPath)) {
90417
+ return;
90418
+ }
90419
+ const targetPath = node.getFullPathForChildren().joinWith((0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_10__.createRelativeFromMask)(node.validationPath, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_10__.PathTokens.each));
90420
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
90421
+ const ownPath = node.getOwnPathForKCLang();
90422
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
90423
+ return;
90424
+ }
90425
+ yield* buildContext.buildBasicValidations(validationPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
90426
+ }
90335
90427
  doBuildDataDeclaration(context) {
90336
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90428
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90337
90429
  const pathDeclarations = [];
90338
90430
  if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__.isNotNullOrUndefined)(node.maxOccurs) && /^\d+$/.test(node.maxOccurs)) {
90339
90431
  pathDeclarations.push(context.maxOccurs(node.getFullPath(), node.maxOccurs));
90340
90432
  }
90341
- if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__.isNotNullOrEmpty)(node.validationPath)) {
90342
- const declEntry = {};
90343
- declEntry["value"] = context.initSequenceFactory.setValueUnconditionally("");
90344
- const validationPath = node.getFullPath().getParentPath().joinWith(node.validationPath).normalize().toLegacyPath();
90345
- pathDeclarations.push({
90346
- [validationPath]: declEntry
90347
- });
90348
- }
90349
90433
  return pathDeclarations.length > 0 ? context.mergeDataDeclaration(...pathDeclarations) : _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_1__.emptyDataDeclarationCollection;
90350
90434
  }
90351
90435
  buildChildrenDataDeclaration() {
@@ -90355,7 +90439,7 @@ class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
90355
90439
  // no children
90356
90440
  }
90357
90441
  doConvert(context) {
90358
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90442
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90359
90443
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("AddRowButton");
90360
90444
  const {
90361
90445
  bindingPath,
@@ -93228,10 +93312,22 @@ class MultipleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_0__
93228
93312
  static getAcceptNodeClass() {
93229
93313
  return _MultipleNode__WEBPACK_IMPORTED_MODULE_3__.MultipleNode;
93230
93314
  }
93315
+ *doBuildNormalizeRules(builder, formSchemaRng) {
93316
+ const node = this.getCurrentNodeAs(_MultipleNode__WEBPACK_IMPORTED_MODULE_3__.MultipleNode);
93317
+ if (node.path != undefined) {
93318
+ var _ref;
93319
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
93320
+ const isOptional = (_ref = node.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.optional) !== null && _ref !== void 0 ? _ref : false;
93321
+ yield* builder.childrenInitializer(node, isOptional);
93322
+ yield* builder.specialFieldsInitializer(node, {
93323
+ disabled: undefined
93324
+ });
93325
+ }
93326
+ }
93231
93327
  doBuildDataDeclaration(context) {
93232
- var _ref, _node$optional;
93328
+ var _ref2, _node$optional;
93233
93329
  const node = this.getCurrentNodeAs(_MultipleNode__WEBPACK_IMPORTED_MODULE_3__.MultipleNode);
93234
- return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["children", context.initSequenceFactory.children((_ref = (_node$optional = node.optional) !== null && _node$optional !== void 0 ? _node$optional : context.isMultipleNodeOptionalFromScheme(node.getFullPath())) !== null && _ref !== void 0 ? _ref : false)]]), context.maxOccurs(node.getFullPath(), node.maxOccurs), context.addSpecialFieldsEntry(node, {
93330
+ return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["children", context.initSequenceFactory.children((_ref2 = (_node$optional = node.optional) !== null && _node$optional !== void 0 ? _node$optional : context.isMultipleNodeOptionalFromScheme(node.getFullPath())) !== null && _ref2 !== void 0 ? _ref2 : false)]]), context.maxOccurs(node.getFullPath(), node.maxOccurs), context.addSpecialFieldsEntry(node, {
93235
93331
  optional: node.optional
93236
93332
  }), context.addPathSectionDeclarationEntry(node));
93237
93333
  }
@@ -97097,8 +97193,10 @@ __webpack_require__.r(__webpack_exports__);
97097
97193
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
97098
97194
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
97099
97195
  /* harmony import */ var _CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps */ "./Generator/src/generators/markupGenerator/ElementProcessors/CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps.ts");
97100
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
97101
- /* harmony import */ var _CheckboxNode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CheckboxNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Checkbox/CheckboxNode.ts");
97196
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
97197
+ /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
97198
+ /* harmony import */ var _CheckboxNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CheckboxNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Checkbox/CheckboxNode.ts");
97199
+
97102
97200
 
97103
97201
 
97104
97202
 
@@ -97107,24 +97205,36 @@ __webpack_require__.r(__webpack_exports__);
97107
97205
 
97108
97206
  class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
97109
97207
  static getAcceptNodeClass() {
97110
- return _CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode;
97208
+ return _CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode;
97111
97209
  }
97112
97210
  get nodePaths() {
97113
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97211
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97114
97212
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
97115
97213
  }
97214
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
97215
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97216
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
97217
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.PathTokens.each);
97218
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
97219
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
97220
+ const ownPath = node.getOwnPathForKCLang();
97221
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
97222
+ return;
97223
+ }
97224
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
97225
+ }
97116
97226
  doBuildNodeValidations(validationGenerator) {
97117
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97227
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97118
97228
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
97119
97229
  }
97120
97230
  doBuildDataDeclaration(context) {
97121
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97231
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97122
97232
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
97123
97233
  optional: node.dataBinding.optional
97124
97234
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
97125
97235
  }
97126
97236
  doBuildNormalizeRules(builder) {
97127
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97237
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97128
97238
  return [builder.valueInitializer(node, node.dataBinding, false), ...builder.specialFieldsInitializer(node, {
97129
97239
  disabled: false
97130
97240
  })];
@@ -97144,15 +97254,15 @@ class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
97144
97254
  return defaultValue;
97145
97255
  }
97146
97256
  buildChildrenDataDeclaration(context) {
97147
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97257
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97148
97258
  return context.processChildrenDataDeclaration(node.children);
97149
97259
  }
97150
97260
  *doTraverseChildren() {
97151
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97261
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97152
97262
  yield* node.children;
97153
97263
  }
97154
97264
  doConvert(context) {
97155
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97265
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97156
97266
  this.ensurePathExists(node, node.dataBinding.path);
97157
97267
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("Checkbox");
97158
97268
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -97164,7 +97274,7 @@ class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
97164
97274
  markupBuilder.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
97165
97275
  }
97166
97276
  if (node.disabled2 != undefined) {
97167
- markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__.buildExpressionPropValue)(node.disabled2));
97277
+ markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__.buildExpressionPropValue)(node.disabled2));
97168
97278
  if (this.getLegacyNode().getParent() != undefined) {
97169
97279
  markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
97170
97280
  }
@@ -98346,44 +98456,58 @@ __webpack_require__.r(__webpack_exports__);
98346
98456
  /* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
98347
98457
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
98348
98458
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
98349
- /* harmony import */ var _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ExpertNoteNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/ExpertNote/ExpertNoteNode.ts");
98459
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
98460
+ /* harmony import */ var _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ExpertNoteNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/ExpertNote/ExpertNoteNode.ts");
98461
+
98350
98462
 
98351
98463
 
98352
98464
 
98353
98465
 
98354
98466
  class ExpertNoteConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
98355
98467
  static getAcceptNodeClass() {
98356
- return _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode;
98468
+ return _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode;
98357
98469
  }
98358
98470
  doBuildNodeValidations(validationGenerator) {
98359
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98471
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98360
98472
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
98361
98473
  }
98474
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
98475
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98476
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
98477
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
98478
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
98479
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
98480
+ const ownPath = node.getOwnPathForKCLang();
98481
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
98482
+ return;
98483
+ }
98484
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
98485
+ }
98362
98486
  doBuildDataDeclaration(context) {
98363
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98487
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98364
98488
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node), context.addVisibilityPathDeclEntryNew(node));
98365
98489
  }
98366
98490
  buildChildrenDataDeclaration(context) {
98367
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98491
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98368
98492
  return context.processChildrenDataDeclaration([...node.name.children, ...node.messageBox.children], x => {
98369
- if (x instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98493
+ if (x instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98370
98494
  return context.processChildrenDataDeclaration(x.children);
98371
98495
  }
98372
98496
  return undefined;
98373
98497
  });
98374
98498
  }
98375
98499
  *doTraverseChildren() {
98376
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98500
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98377
98501
  yield* node.name.children;
98378
98502
  for (const child of node.messageBox.children) {
98379
- if (child instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98503
+ if (child instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98380
98504
  yield* child.children;
98381
98505
  }
98382
98506
  yield child;
98383
98507
  }
98384
98508
  }
98385
98509
  doConvert(context) {
98386
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98510
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98387
98511
  const nodeBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("ExpertNote");
98388
98512
  nodeBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
98389
98513
  nodeBuilder.createChild("ExpertNote", "ExpertNote.Name").appendChild(context.convertChildNodes(node.name.children));
@@ -98395,7 +98519,7 @@ class ExpertNoteConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1
98395
98519
  }
98396
98520
  convertChildren(context, nodes) {
98397
98521
  return nodes.map(node => {
98398
- if (node instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98522
+ if (node instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98399
98523
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("ExpertNote", "ExpertNote.Link");
98400
98524
  markupBuilder.prop(x => x.unitId).set(node.unitid);
98401
98525
  markupBuilder.appendChild(context.convertChildNodes(node.children));
@@ -98541,15 +98665,20 @@ class FiasConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.Sug
98541
98665
  const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
98542
98666
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
98543
98667
  }
98668
+ doBuildNormalizeRules(builder) {
98669
+ var _node$fiasfield$;
98670
+ const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
98671
+ return ((_node$fiasfield$ = node.fiasfield[0]) === null || _node$fiasfield$ === void 0 ? void 0 : _node$fiasfield$.path) != undefined ? [builder.valueInitializer(node, node.dataBinding, false, node.fiasfield[0].path, undefined, "")] : [];
98672
+ }
98544
98673
  doBuildDataDeclaration(context) {
98545
98674
  const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
98546
98675
  const PathDeclarations = [];
98547
98676
  if (node.fiasfield && node.fiasfield.length > 0) {
98548
- var _node$fiasfield$;
98677
+ var _node$fiasfield$2;
98549
98678
  node.fiasfield.forEach(field => {
98550
98679
  PathDeclarations.push(context.addChildPathSectionDeclarationEntry(node, field.path, node.dataBinding.requisite));
98551
98680
  });
98552
- if ((_node$fiasfield$ = node.fiasfield[0]) !== null && _node$fiasfield$ !== void 0 && _node$fiasfield$.path) {
98681
+ if ((_node$fiasfield$2 = node.fiasfield[0]) !== null && _node$fiasfield$2 !== void 0 && _node$fiasfield$2.path) {
98553
98682
  const declEntry = {};
98554
98683
  declEntry["value"] = context.initSequenceFactory.takeFromModelOrDefaultValue("");
98555
98684
  PathDeclarations.push({
@@ -98780,7 +98909,7 @@ let FiasValueSources = (_dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
98780
98909
  writable: true,
98781
98910
  initializer: null
98782
98911
  }), _class4)) || _class3);
98783
- let FiasExtendedField = (_dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("fiasfield", "Описание дополнительных полей для фиаса"), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.required, `По этому пути в иннер будет сетится полученное значение`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("string", "guid", "kladr", "index"), `Тип для поля, string - строка значение из ответа фиаса, guid, kladr - уникальный адресный идентификатор`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("description", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.default(""), `Описание поля - будет выводиться на полях "Заполнить вручную"`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли пользователю выводиться эта строчка при просмотре адреса`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("skipDefaultValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Не запускать стандартную валидацию (сейчас работает только для индексов)`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("setToModel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли это поле сетиться в иннер. По умолчанию: true"`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("showInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли значение показываться в модальном окне ручного ввода. По умолчанию: true`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("optional", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Опциональность элемента, работает для индекса в ФСС`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс для значения из иннера. Если значение есть - применяется префикс`), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.singleChild)("valuesources", [FiasValueSources]), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("parentGuid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("region", "district", "city", "street", "garhouse", "room"), `Выгрузка родительского элемента GUID-a, применимо только к полям c type: guid`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertToShow", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getRegionNameByCode), `Метода для конвертации данных из модели для отображения пользователю`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("child", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Является ли данный path - частью children`), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("clearSubstring", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, "Подстрока, которую нужно удалить перед показом пользователю"), _dec12(_class5 = (_class6 = class FiasExtendedField extends _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.SugarNodeBase {
98912
+ let FiasExtendedField = (_dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("fiasfield", "Описание дополнительных полей для фиаса"), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.required, `По этому пути в иннер будет сетится полученное значение`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("string", "guid", "kladr", "index", "countryCode", "foreignAddress"), `Тип для поля, string - строка значение из ответа фиаса, guid, kladr - уникальный адресный идентификатор`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("description", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.default(""), `Описание поля - будет выводиться на полях "Заполнить вручную"`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли пользователю выводиться эта строчка при просмотре адреса`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("skipDefaultValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Не запускать стандартную валидацию (сейчас работает только для индексов)`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("setToModel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли это поле сетиться в иннер. По умолчанию: true"`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("showInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли значение показываться в модальном окне ручного ввода. По умолчанию: true`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("optional", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Опциональность элемента, работает для индекса в ФСС`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс для значения из иннера. Если значение есть - применяется префикс`), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.singleChild)("valuesources", [FiasValueSources]), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("parentGuid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("region", "district", "city", "street", "garhouse", "room"), `Выгрузка родительского элемента GUID-a, применимо только к полям c type: guid`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertToShow", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getRegionNameByCode), `Метода для конвертации данных из модели для отображения пользователю`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("child", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Является ли данный path - частью children`), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("clearSubstring", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, "Подстрока, которую нужно удалить перед показом пользователю"), _dec12(_class5 = (_class6 = class FiasExtendedField extends _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.SugarNodeBase {
98784
98913
  constructor(...args) {
98785
98914
  super(...args);
98786
98915
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "path", _descriptor10, this);
@@ -99431,6 +99560,18 @@ class FileLoaderConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4
99431
99560
  multiple: multipleNode
99432
99561
  });
99433
99562
  }
99563
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
99564
+ const node = this.getCurrentNodeAs(_FileLoaderNode__WEBPACK_IMPORTED_MODULE_10__.FileLoaderNode);
99565
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
99566
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_6__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_6__.PathTokens.each);
99567
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
99568
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
99569
+ const ownPath = node.getOwnPathForKCLang();
99570
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
99571
+ return;
99572
+ }
99573
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
99574
+ }
99434
99575
  doBuildDataDeclaration(context) {
99435
99576
  const node = this.getCurrentNodeAs(_FileLoaderNode__WEBPACK_IMPORTED_MODULE_10__.FileLoaderNode);
99436
99577
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node), context.addVisibilityPathDeclEntryNew(node), this.addAttachmentPathDeclEntry(context, node));
@@ -99674,33 +99815,47 @@ __webpack_require__.r(__webpack_exports__);
99674
99815
  /* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
99675
99816
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
99676
99817
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
99677
- /* harmony import */ var _INNNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./INNNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/INN/INNNode.ts");
99818
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
99819
+ /* harmony import */ var _INNNode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./INNNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/INN/INNNode.ts");
99820
+
99678
99821
 
99679
99822
 
99680
99823
 
99681
99824
 
99682
99825
  class INNConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
99683
99826
  static getAcceptNodeClass() {
99684
- return _INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode;
99827
+ return _INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode;
99685
99828
  }
99686
99829
  doBuildNodeValidations(validationGenerator) {
99687
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99830
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99688
99831
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
99689
99832
  }
99833
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
99834
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99835
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
99836
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
99837
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
99838
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
99839
+ const ownPath = node.getOwnPathForKCLang();
99840
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
99841
+ return;
99842
+ }
99843
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
99844
+ }
99690
99845
  doBuildDataDeclaration(context) {
99691
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99846
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99692
99847
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
99693
99848
  }
99694
99849
  buildChildrenDataDeclaration(context) {
99695
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99850
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99696
99851
  return context.processChildrenDataDeclaration(node.children);
99697
99852
  }
99698
99853
  *doTraverseChildren() {
99699
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99854
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99700
99855
  yield* node.children;
99701
99856
  }
99702
99857
  doConvert(context) {
99703
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99858
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99704
99859
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("INN");
99705
99860
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
99706
99861
  markupBuilder.appendChild(context.convertChildNodes(node.children));
@@ -101065,7 +101220,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11
101065
101220
 
101066
101221
 
101067
101222
 
101068
- let PicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("picklist", ``, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Picklist sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gId", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.picklistId, ``), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("limit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, `Ограничение на количество загружаемых значений (актуально для больших справочников).`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах."), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("textOverflow", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("display", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("valueField", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("sendMetrics", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("title", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("empty", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("kind", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum("button", "group"), `"button" - поле заполняется по нажатию на кнопку, "group" - поле заполняется по нажатию на 3 точки (combobox).`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("columnsWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number), ``), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("fields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string.required), ``), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("headers", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString.required), `Заголовки колонок, \`headers={["Код", "Наименование", "Действует с", "Действует по"]}\`.`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("align", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum("left", "center", "right"), `Выравнивание значения справа / слева / по центру.`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("field", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, ``), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tooltipPosition", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum(..._Helpers_Help_PopupPosition__WEBPACK_IMPORTED_MODULE_9__.allPopupPositions), `Позиция тултипа.`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("normativehelp", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string.required), ``), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("savedescription", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("multiple", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("narrowbutton", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Узкая кнопка с 3-мя точками для вызова справочника.`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("overwriteOnInit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("editable", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec27 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("partialHelpTip", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, `Для изменения части текста (что в фигурных скобках) подсказки: 'Показано n из m значений. {Начните вводить код или название}, чтобы увидеть остальные.'`), _dec28 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gPath", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.modelPath, ``), _dec29 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gPaths", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.delimitedStringArray, ``), _dec30 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, ``), _dec31 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("binding", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.objectLiteral(), `Привязка какого-то значения из справочника с моделью в кенди (иннером).`), _dec32 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("filter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `Фильтр значений из справочника, которые можно использовать для этого поля. Подробности в описании.`), _dec33 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.bindingPath, `Путь до значения.`), _dec34 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, ``), _dec35 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("emptydescription", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Текст, который будет отображаться, если поле не заполнено.`), _dec36 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("descriptionInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Текст подсказки, который покажется в модалке пиклиста над полем поиска. Поддерживает Markdown.`), _dec37 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.markupAttr)("footer", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Разметка, отображаемая в нижный части модального окна при выборе значений.`), _dec38 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_8__.HelpNode]), _dec39 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("hintFields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string), `Названия колонок для хинта (как в fields). По умолчанию name.`), _dec40 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("hintWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, `Ширина хинта.`), _dec41 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("isEnableCaseIndependentValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Включить регистронезависимую валидацию. Если написан этот атрибут, то в type надо дописать isCaseIndependentValid=true.`), _dec42 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec43 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onChange контрола"), _dec(_class = (_class2 = class PicklistNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_6__.SugarNodeWithLegacyVisibility {
101223
+ let PicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("picklist", ``, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Picklist sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gId", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.picklistId, ``), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("limit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, `Ограничение на количество загружаемых значений (актуально для больших справочников).`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах."), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("textOverflow", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("display", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("valueField", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("sendMetrics", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("title", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("empty", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("kind", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum("button", "group"), `"button" - поле заполняется по нажатию на кнопку, "group" - поле заполняется по нажатию на 3 точки (combobox).`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("columnsWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number), ``), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("fields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string.required), ``), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("headers", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString.required), `Заголовки колонок, \`headers={["Код", "Наименование", "Действует с", "Действует по"]}\`.`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("align", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum("left", "center", "right"), `Выравнивание значения справа / слева / по центру.`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("field", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, ``), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tooltipPosition", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum(..._Helpers_Help_PopupPosition__WEBPACK_IMPORTED_MODULE_9__.allPopupPositions), `Позиция тултипа.`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("normativehelp", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string.required), ``), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("savedescription", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("multiple", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("narrowbutton", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Узкая кнопка с 3-мя точками для вызова справочника.`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("overwriteOnInit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Записывает выбранные значения в зависимые поля при инициализации формы`), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("editable", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec27 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("partialHelpTip", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, `Для изменения части текста (что в фигурных скобках) подсказки: 'Показано n из m значений. {Начните вводить код или название}, чтобы увидеть остальные.'`), _dec28 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gPath", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.modelPath, ``), _dec29 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("gPaths", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.delimitedStringArray, ``), _dec30 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, ``), _dec31 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("binding", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.objectLiteral(), `Привязка какого-то значения из справочника с моделью в кенди (иннером).`), _dec32 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("filter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `Фильтр значений из справочника, которые можно использовать для этого поля. Подробности в описании.`), _dec33 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.bindingPath, `Путь до значения.`), _dec34 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, ``), _dec35 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("emptydescription", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Текст, который будет отображаться, если поле не заполнено.`), _dec36 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("descriptionInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Текст подсказки, который покажется в модалке пиклиста над полем поиска. Поддерживает Markdown.`), _dec37 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.markupAttr)("footer", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `Разметка, отображаемая в нижный части модального окна при выборе значений.`), _dec38 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_8__.HelpNode]), _dec39 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("hintFields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string), `Названия колонок для хинта (как в fields). По умолчанию name.`), _dec40 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("hintWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, `Ширина хинта.`), _dec41 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("isEnableCaseIndependentValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Включить регистронезависимую валидацию. Если написан этот атрибут, то в type надо дописать isCaseIndependentValid=true.`), _dec42 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec43 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onChange контрола"), _dec(_class = (_class2 = class PicklistNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_6__.SugarNodeWithLegacyVisibility {
101069
101224
  constructor(...args) {
101070
101225
  super(...args);
101071
101226
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
@@ -102406,8 +102561,10 @@ __webpack_require__.r(__webpack_exports__);
102406
102561
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
102407
102562
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
102408
102563
  /* harmony import */ var _CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps */ "./Generator/src/generators/markupGenerator/ElementProcessors/CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps.ts");
102409
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
102410
- /* harmony import */ var _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SelectCheckboxNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/SelectCheckbox/SelectCheckboxNode.ts");
102564
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
102565
+ /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
102566
+ /* harmony import */ var _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SelectCheckboxNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/SelectCheckbox/SelectCheckboxNode.ts");
102567
+
102411
102568
 
102412
102569
 
102413
102570
 
@@ -102416,24 +102573,36 @@ __webpack_require__.r(__webpack_exports__);
102416
102573
 
102417
102574
  class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
102418
102575
  static getAcceptNodeClass() {
102419
- return _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode;
102576
+ return _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode;
102420
102577
  }
102421
102578
  get nodePaths() {
102422
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102579
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102423
102580
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
102424
102581
  }
102582
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
102583
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102584
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
102585
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.PathTokens.each);
102586
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
102587
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
102588
+ const ownPath = node.getOwnPathForKCLang();
102589
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
102590
+ return;
102591
+ }
102592
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
102593
+ }
102425
102594
  doBuildNodeValidations(validationGenerator) {
102426
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102595
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102427
102596
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
102428
102597
  }
102429
102598
  doBuildDataDeclaration(context) {
102430
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102599
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102431
102600
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
102432
102601
  optional: node.dataBinding.optional
102433
102602
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
102434
102603
  }
102435
102604
  doBuildNormalizeRules(builder) {
102436
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102605
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102437
102606
  return [builder.valueInitializer(node, node.dataBinding, false)];
102438
102607
  }
102439
102608
  getDefaultValue(node) {
@@ -102451,16 +102620,16 @@ class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODU
102451
102620
  return defaultValue;
102452
102621
  }
102453
102622
  buildChildrenDataDeclaration(context) {
102454
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102623
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102455
102624
  return context.processChildrenDataDeclaration(node.children);
102456
102625
  }
102457
102626
  *doTraverseChildren() {
102458
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102627
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102459
102628
  yield* node.children;
102460
102629
  }
102461
102630
  doConvert(context) {
102462
102631
  var _node$checkedValue2, _node$uncheckedValue2;
102463
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102632
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102464
102633
  this.ensurePathExists(node, node.dataBinding.path);
102465
102634
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("SelectCheckbox");
102466
102635
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -102471,7 +102640,7 @@ class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODU
102471
102640
  markupBuilder.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
102472
102641
  }
102473
102642
  if (node.disabled2 != undefined) {
102474
- markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__.buildExpressionPropValue)(node.disabled2));
102643
+ markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__.buildExpressionPropValue)(node.disabled2));
102475
102644
  if (this.getLegacyNode().getParent() != undefined) {
102476
102645
  markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
102477
102646
  }
@@ -103130,8 +103299,10 @@ __webpack_require__.r(__webpack_exports__);
103130
103299
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
103131
103300
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
103132
103301
  /* harmony import */ var _CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps */ "./Generator/src/generators/markupGenerator/ElementProcessors/CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps.ts");
103133
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
103134
- /* harmony import */ var _ToggleNode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ToggleNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Toggle/ToggleNode.ts");
103302
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
103303
+ /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
103304
+ /* harmony import */ var _ToggleNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ToggleNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Toggle/ToggleNode.ts");
103305
+
103135
103306
 
103136
103307
 
103137
103308
 
@@ -103140,24 +103311,36 @@ __webpack_require__.r(__webpack_exports__);
103140
103311
 
103141
103312
  class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
103142
103313
  static getAcceptNodeClass() {
103143
- return _ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode;
103314
+ return _ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode;
103144
103315
  }
103145
103316
  get nodePaths() {
103146
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103317
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103147
103318
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
103148
103319
  }
103320
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
103321
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103322
+ const element = formSchemaRng.getElementByPath(node.getFullPath());
103323
+ const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_4__.PathTokens.each);
103324
+ const typeNode = buildContext.getTypeNode(node.validationInfo);
103325
+ const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
103326
+ const ownPath = node.getOwnPathForKCLang();
103327
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
103328
+ return;
103329
+ }
103330
+ yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
103331
+ }
103149
103332
  doBuildNodeValidations(validationGenerator) {
103150
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103333
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103151
103334
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
103152
103335
  }
103153
103336
  doBuildDataDeclaration(context) {
103154
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103337
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103155
103338
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
103156
103339
  optional: node.dataBinding.optional
103157
103340
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
103158
103341
  }
103159
103342
  doBuildNormalizeRules(builder) {
103160
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103343
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103161
103344
  return [builder.valueInitializer(node, node.dataBinding, false), ...builder.specialFieldsInitializer(node, {
103162
103345
  disabled: false
103163
103346
  })];
@@ -103177,15 +103360,15 @@ class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.S
103177
103360
  return defaultValue;
103178
103361
  }
103179
103362
  buildChildrenDataDeclaration(context) {
103180
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103363
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103181
103364
  return context.processChildrenDataDeclaration(node.children);
103182
103365
  }
103183
103366
  *doTraverseChildren() {
103184
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103367
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103185
103368
  yield* node.children;
103186
103369
  }
103187
103370
  doConvert(context) {
103188
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103371
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103189
103372
  this.ensurePathExists(node, node.dataBinding.path);
103190
103373
  const markupBuilderToggle = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("Toggle");
103191
103374
  markupBuilderToggle.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -103197,7 +103380,7 @@ class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.S
103197
103380
  markupBuilderToggle.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
103198
103381
  }
103199
103382
  if (node.disabled2 != undefined) {
103200
- markupBuilderToggle.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__.buildExpressionPropValue)(node.disabled2));
103383
+ markupBuilderToggle.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_5__.buildExpressionPropValue)(node.disabled2));
103201
103384
  if (this.getLegacyNode().getParent() != undefined) {
103202
103385
  markupBuilderToggle.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
103203
103386
  }
@@ -103278,16 +103461,18 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
103278
103461
  static getAcceptNodeClass() {
103279
103462
  return _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode;
103280
103463
  }
103281
- doBuildFLangValidations(buildContext, formSchemaRng) {
103464
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
103282
103465
  const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
103283
103466
  const element = formSchemaRng.getElementByPath(node.getFullPath());
103284
103467
  const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
103285
103468
  const typeNode = buildContext.getTypeNode(node.validationInfo);
103286
103469
  const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
103287
- if (typeNode == undefined && schemaTypeNode == undefined) {
103288
- return [];
103470
+ const ownPath = node.getOwnPathForKCLang();
103471
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
103472
+ return;
103289
103473
  }
103290
- return buildContext.buildBasicValidations(targetPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional, undefined, node.gId);
103474
+ const ownPathFixed = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createRelativeFromTokens)([...ownPath.getPathParts()].filter(_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.isSimpleToken));
103475
+ yield* buildContext.buildBasicValidations(ownPathFixed, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional, node.gId);
103291
103476
  }
103292
103477
  doBuildNodeValidations(validationGenerator) {
103293
103478
  const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
@@ -103344,6 +103529,7 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
103344
103529
  markupBuilder.prop(x => x.title).set((_node$title = node.title) !== null && _node$title !== void 0 ? _node$title : "Начните вводить код или название");
103345
103530
  markupBuilder.prop(x => x.width).set((_node$width = node.width) !== null && _node$width !== void 0 ? _node$width : "100%");
103346
103531
  markupBuilder.prop(x => x.gId).set(node.gId);
103532
+ markupBuilder.prop(x => x.overwriteOnInit).set(node.overwriteOnInit);
103347
103533
  markupBuilder.prop(x => x.fields).set((_node$fields = node.fields) !== null && _node$fields !== void 0 ? _node$fields : []);
103348
103534
  markupBuilder.prop(x => x.multiple).set(node.multiple);
103349
103535
  markupBuilder.prop(x => x.minPickLevel).set(node.minPickLevel);
@@ -103401,14 +103587,14 @@ __webpack_require__.r(__webpack_exports__);
103401
103587
 
103402
103588
 
103403
103589
 
103404
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24;
103590
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25;
103405
103591
 
103406
103592
 
103407
103593
 
103408
103594
 
103409
103595
 
103410
103596
 
103411
- let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.sugarNode)("treepicklist", ``, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/TreePicklist sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("gId", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.picklistId, ``), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("multiple", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean, `Разрешить множественный выбор элементов`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("title", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.localizedString, ``), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.lengthUnit, ``), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("fields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string.required), ``), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string).required, `Какие поля из таблицы отображать для пользователя на интерфейсе`), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("parentcolumnname", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название колонки родителя, на которую ссылается дочерний элемент. По умолчанию code`), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("hintFields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string), `Названия колонок для хинта (как в fields). По умолчанию name.`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("hintWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number, `Ширина хинта.`), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("descriptionInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Текст подсказки, который покажется в модалке пиклиста над полем поиска. Поддерживает Markdown.`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("childcolumnname", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название колонки дочернего элемента, которая ссылается на parentColumnName. По умолчанию childof`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("filter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.javascriptExpression, `Фильтр значений из справочника, которые можно использовать для этого поля. Подробности в описании.`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("minPickLevel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number.default(1), `C какого минимального уровня иерархии возможен выбор значений из пиклиста`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("allowedToPickLevels", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number), `Список уровней, разрешенных для выбора`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("fieldToDisableElementPick", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название булева поля, определяющего возможность выбора элемента`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.bindingPath, `Путь до значения`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, ``), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_7__.HelpNode]), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("tooltipPosition", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.enum(..._Helpers_Help_PopupPosition__WEBPACK_IMPORTED_MODULE_8__.allPopupPositions), `Позиция тултипа.`), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("binding", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.objectLiteral(), `Привязка какого-то значения из справочника с моделью в кенди (иннером).`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах."), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.helperFunctionName, "Вызов helper функции на onChange контрола"), _dec(_class = (_class2 = class TreePicklistNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_5__.SugarNodeWithLegacyVisibility {
103597
+ let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.sugarNode)("treepicklist", ``, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/TreePicklist sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("gId", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.picklistId, ``), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("multiple", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean, `Разрешить множественный выбор элементов`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("title", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.localizedString, ``), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.lengthUnit, ``), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("fields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string.required), ``), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string).required, `Какие поля из таблицы отображать для пользователя на интерфейсе`), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("parentcolumnname", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название колонки родителя, на которую ссылается дочерний элемент. По умолчанию code`), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("hintFields", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string), `Названия колонок для хинта (как в fields). По умолчанию name.`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("hintWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number, `Ширина хинта.`), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("descriptionInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Текст подсказки, который покажется в модалке пиклиста над полем поиска. Поддерживает Markdown.`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("childcolumnname", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название колонки дочернего элемента, которая ссылается на parentColumnName. По умолчанию childof`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("filter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.javascriptExpression, `Фильтр значений из справочника, которые можно использовать для этого поля. Подробности в описании.`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("minPickLevel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number.default(1), `C какого минимального уровня иерархии возможен выбор значений из пиклиста`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("allowedToPickLevels", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.array(_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number), `Список уровней, разрешенных для выбора`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("fieldToDisableElementPick", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Название булева поля, определяющего возможность выбора элемента`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.bindingPath, `Путь до значения`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, ``), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_7__.HelpNode]), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("tooltipPosition", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.enum(..._Helpers_Help_PopupPosition__WEBPACK_IMPORTED_MODULE_8__.allPopupPositions), `Позиция тултипа.`), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("binding", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.objectLiteral(), `Привязка какого-то значения из справочника с моделью в кенди (иннером).`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах."), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.helperFunctionName, "Вызов helper функции на onChange контрола"), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("overwriteOnInit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean, `Записывает выбранные значения в зависимые поля при инициализации формы`), _dec(_class = (_class2 = class TreePicklistNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_5__.SugarNodeWithLegacyVisibility {
103412
103598
  constructor(...args) {
103413
103599
  super(...args);
103414
103600
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
@@ -103435,6 +103621,7 @@ let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_
103435
103621
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "binding", _descriptor22, this);
103436
103622
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "tid", _descriptor23, this);
103437
103623
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "callHelperOnChange", _descriptor24, this);
103624
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "overwriteOnInit", _descriptor25, this);
103438
103625
  }
103439
103626
  getOwnPath() {
103440
103627
  return this.dataBinding.getOwnPath();
@@ -103559,6 +103746,11 @@ let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_
103559
103746
  enumerable: true,
103560
103747
  writable: true,
103561
103748
  initializer: null
103749
+ }), _descriptor25 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "overwriteOnInit", [_dec26], {
103750
+ configurable: true,
103751
+ enumerable: true,
103752
+ writable: true,
103753
+ initializer: null
103562
103754
  }), _class2)) || _class);
103563
103755
 
103564
103756
  /***/ }),
@@ -104458,9 +104650,6 @@ class LinetextConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
104458
104650
  static getAcceptNodeClass() {
104459
104651
  return _LineTextNode__WEBPACK_IMPORTED_MODULE_3__.LineTextNode;
104460
104652
  }
104461
- doBuildNodeValidations() {
104462
- // no validations
104463
- }
104464
104653
  doBuildDataDeclaration(context) {
104465
104654
  const node = this.getCurrentNodeAs(_LineTextNode__WEBPACK_IMPORTED_MODULE_3__.LineTextNode);
104466
104655
  return context.mergeDataDeclaration(context.addVisibilityPathDeclEntryNew(node));
@@ -105111,12 +105300,12 @@ class FLangNormalizationRulesBuilder {
105111
105300
  const targetPathReference = node.getFullPath().toEachIteration().trimLastStarIfLastToken();
105112
105301
  yield new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.SetStatement(new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.ValueReferenceExpression(targetPathReference, "children"), new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.ConditionalExpression(new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.IsEqualsBinaryExpression((0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeNoDeps)((0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeStringValueReference)(targetPathReference.toCurrentIteration(), "children")), new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.NullLiteralExpression()), new _ServerSideFLangNormalization_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_0__.StringLiteralExpression(JSON.stringify(defaultChildren !== null && defaultChildren !== void 0 ? defaultChildren : optional ? [] : ["0"])), (0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeNoDeps)((0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeStringValueReference)(targetPathReference.toCurrentIteration(), "children"))));
105113
105302
  }
105114
- valueInitializer(node, dataBinding, disabled, pathSuffix, fetchFunctionSuffix) {
105115
- var _dataBinding$defaultV;
105303
+ valueInitializer(node, dataBinding, disabled, pathSuffix, fetchFunctionSuffix, customDefaultValue) {
105304
+ var _ref;
105116
105305
  const targetPathReference = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createFromMask)((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getResolvedBindingPath)(node), true, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each).joinWith((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__.isNotNullOrEmpty)(pathSuffix) ? (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createFromMask)(pathSuffix, false, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each) : (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.emptyModelPath)());
105117
105306
  const originalValueReference = (0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeNoDeps)((0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeStringValueReference)(targetPathReference.toCurrentIteration(), "value"));
105118
105307
  const sourceValueReference = this.getSourceValueReferenceWithCorrection(node, targetPathReference);
105119
- const defaultValue = (_dataBinding$defaultV = dataBinding.defaultValue) !== null && _dataBinding$defaultV !== void 0 ? _dataBinding$defaultV : "";
105308
+ const defaultValue = (_ref = customDefaultValue !== null && customDefaultValue !== void 0 ? customDefaultValue : dataBinding.defaultValue) !== null && _ref !== void 0 ? _ref : "";
105120
105309
  const sourceSequenceType = node.sourceXmlNode.attributes.settings ? _DataDeclarationGenerator_DataDeclaration__WEBPACK_IMPORTED_MODULE_4__.DataDeclarationInitSourceValueSequence.SETTINGS : disabled ? _DataDeclarationGenerator_DataDeclaration__WEBPACK_IMPORTED_MODULE_4__.DataDeclarationInitSourceValueSequence.DISABLED : _DataDeclarationGenerator_DataDeclaration__WEBPACK_IMPORTED_MODULE_4__.DataDeclarationInitSourceValueSequence.DEFAULT;
105121
105310
  if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__.isNotNullOrEmpty)(dataBinding.fetchfn)) {
105122
105311
  try {
@@ -138135,7 +138324,7 @@ module.exports = "Привязка какого-то значения из сп
138135
138324
  \*********************************************************************************************************/
138136
138325
  /***/ ((module) => {
138137
138326
 
138138
- module.exports = "#### Фильтрация значений пиклиста\n\nДля фильтрации значений, которые будут отображаться в справочнике используется свойство filter.\n\nФункция `path` принимает путь в модели или значения из спецсвойст, которые начинаются с `@` и возвращает строку.\n - @settings/ - настроки формы\n - @formsClientInfo/ - реквизиты\n - @clientInfo/ - реквизиты\n\n \nПримеры задания свойства:\n\nЗначения из справочника, у которых code = 258\n```\n<picklist\n filter={'by.column(\"code\").eql(\"258\").'}\n/>\n```\n\nЗначения из справочника, у которых code = 258 ИЛИ name содержит 'Шри'\n```\n<picklist\n filter={'by.column(\"code\").eql(\"258\").or.column(\"name\").contains(\"Шри\")'}\n/>\n```\n\nЗначения из справочника, у которых name содержит Оказание И code2 = '7500'\n```\n<picklist\n filter={'by.column(\"name\").contains(\"Оказание\").and.column(\"code2\").eql(\"7500\")'}\n/>\n```\n\nЗначения из справочника, у которых code равен 1, 2 или 4\n```\n<picklist\n filter={'by.column(\"code\").in([\"1\", \"2\", \"4\"])'}\n/>\n```\n\nВ качестве значения для сравнения может выступать поле из модели\n```\n<picklist\n filter={'by.column(\"code\").eql(path(\"SOME/FIELD\"))'}\n/>\n```\n\n#### CallHelperOnChange\n\nДля пиклиста можно вызвать хэлпер при изменении значения, указав его в атрибуте callHelperOnChange. \n\n**Важно:** при каждом изменении зависимого поля происходит событие onChange пиклиста, следовательно, сколько полей указано в binding, столько раз вызовется хэлпер. \nЕсли нужно вызвать хэлпер только 1 раз, то можно завязаться на имя какого-то измененного поля. Для этого в хэлпере **для немножественных пиклистов** добавлен параметр fieldName.\n\nПример:\n```\nexport default async function filterItems({ publicForm }, { bindingPath }, fieldName) {\n if (fieldName = \"fieldName\") {\n ...\n }\n}\n```\n";
138327
+ module.exports = "#### Фильтрация значений пиклиста\n\nДля фильтрации значений, которые будут отображаться в справочнике используется свойство filter.\n\nФункция `path` принимает путь в модели или значения из спецсвойст, которые начинаются с `@` и возвращает строку.\n - @settings/ - настроки формы\n - @formsClientInfo/ - реквизиты\n - @clientInfo/ - реквизиты\n\n \nПримеры задания свойства:\n\nЗначения из справочника, у которых code = 258\n```\n<picklist\n filter={'by.column(\"code\").eql(\"258\").'}\n/>\n```\n\nЗначения из справочника, у которых code = 258 ИЛИ name содержит 'Шри'\n```\n<picklist\n filter={'by.column(\"code\").eql(\"258\").or.column(\"name\").contains(\"Шри\")'}\n/>\n```\n\nЗначения из справочника, у которых name содержит Оказание И code2 = '7500'\n```\n<picklist\n filter={'by.column(\"name\").contains(\"Оказание\").and.column(\"code2\").eql(\"7500\")'}\n/>\n```\n\nЗначения из справочника, у которых code равен 1, 2 или 4\n```\n<picklist\n filter={'by.column(\"code\").in([\"1\", \"2\", \"4\"])'}\n/>\n```\n\nВ качестве значения для сравнения может выступать поле из модели\n```\n<picklist\n filter={'by.column(\"code\").eql(path(\"SOME/FIELD\"))'}\n/>\n```\n\n#### CallHelperOnChange\n\nДля пиклиста можно вызвать хэлпер при изменении значения, указав его в атрибуте callHelperOnChange. \n\n**Важно:** при каждом изменении зависимого поля происходит событие onChange пиклиста, следовательно, сколько полей указано в binding, столько раз вызовется хэлпер. \nЕсли нужно вызвать хэлпер только 1 раз, то можно завязаться на имя какого-то измененного поля. Для этого в хэлпере **для немножественных пиклистов** добавлен параметр fieldName.\n\nПример:\n```\nexport default async function filterItems({ publicForm }, { bindingPath }, fieldName) {\n if (fieldName = \"fieldName\") {\n ...\n }\n}\n```\n\n#### OverwriteOnInit\n\nАтрибут overwriteOnInit указывается, если нужно записать данные выбранных значений пиклиста в зависимые опля, например, это нужно для того, чтобы корректно отображались текстовки выбранных значений, выведенные отдельно в другом контроле.\nНапример, есть пиклист с единичным выбором и есть отдельные текстовые поля в форме, в которых нужно выводить данные из пиклиста:\n```\n<picklist\n path=\"picklist\"\n gId=\"1700011\"\n title=\"Загрязняющее вещество\"\n align=\"left\"\n kind=\"group\"\n width=\"70\"\n limit=\"20\"\n valueField=\"name\"\n type=\"Kzw\"\n binding={[\n [\"picklist\", \"code\"],\n [\"KZW_REFNAME\", \"name\"],\n [\"nplataPds2016\", \"norm2016\"],\n [\"nplataPds2017\", \"norm2017\"],\n [\"nplataPds2018\", \"norm2018\"],\n ]}\n fields={[\"code\", \"name\", \"norm2016\", \"norm2017\", \"norm2018\"]}\n headers={[\"Код\", \"Наименование\", \"Ставка платы за 2016\", \"Ставка платы за 2017\", \"Ставка платы за 2018\"]}\n columnsWidth={[40, 260, 70, 70, 70]}\n narrowbutton=\"true\"\n overwriteOnInit=\"true\"\n defaultValue=\"12\"\n/>\n\n<text path=\"KZW_REFNAME\" />\n<text path=\"nplataPds2016\" />\n<text path=\"nplataPds2017\" />\n<text path=\"nplataPds2018\" />\n```\nТ.к. указан атрибут overwriteOnInit=\"true\", то после загрузки ФУФа с заполненным полем (path=\"picklist\"), данные из других столбцов связанного пиклиста (name, norm2016, ...), указанные в binding, пропишутся в соответствующие текстовые поля: <text path=\"KZW_REFNAME\" /> и т.д. \n\nЕсли overwriteOnInit=\"false\" или не указан, то текстовые поля останутся пустыми после загрузки из ФУФа.\n\nПример использования для пиклиста с множественным выбором:\n```\n<picklist\n path=\"СвПолн/МашПолн/*\"\n narrowbutton\n title=\"Полномочия\"\n multiple=\"true\"\n gId=\"11111\"\n defaultValue=\"2_FNS03, 2_FNS05, 2_FNS06\"\n overwriteOnInit=\"true\"\n savedescription\n binding={[\n [\"СвПолн/МашПолн/*\", \"code\"],\n [\"СвПолн/МашПолн/*/НаимПолн\", \"name\"],\n [\"СвПолн/МашПолн/*/КодПолн\", \"code\"],\n [\"СвПолн/МашПолн/*/МнПолн\", \"mnemonic\"]\n ]}\n fields={[\"code\", \"name\"]}>\n <type>\n <digestCheck />\n </type>\n</picklist>\n\n<multilinefield path=\"СвПолн/МашПолн\" disableButtons>\n <grid gap=\"10\">\n <column size=\"1\">\n <text path=\".\" color=\"gray\" />\n </column>\n <column size=\"5\">\n <text path=\"НаимПолн\" />\n </column>\n </grid>\n</multilinefield>\n```\n\nТеги: #picklist #пиклист #справочник #overwriteOnInit";
138139
138328
 
138140
138329
  /***/ }),
138141
138330
 
@@ -138175,7 +138364,7 @@ module.exports = "`<textarea type=\"T(1-4000)\" path=\"noteText\" autoResize=\"t
138175
138364
  \*************************************************************************************************************/
138176
138365
  /***/ ((module) => {
138177
138366
 
138178
- module.exports = "Теги: #иерархический #справочник #пиклист #treepicklist #minPickLevel #allowedToPickLevels #fieldToDisableElementPick\n\n**Иерархический справочник** - это структурированный пиклист, иерархия в нём строится за счёт колонок code и childof пиклиста, таким образом получается структура родитель-потомок (так реализовано на бэке).\nЕсли структура справочника нарушена (нужные колонки отсутствуют или заполнены некорректно), то в ответе от апи будет получена ошибка \"Справочник не является иерархическим\".\n\nКонтрол treepicklist нужен для отображения иерархического справочника и работы с ним в редакторе формы.\n\n### Иерархический справочник с единичным выбором\n\nИерархический справочник с единичным выбором - это контрол treepicklist без атрибута multiple=\"true\". После клика на значении внутри справочника оно выбирается и записывается в иннер (единичный путь).\n\nПример:\n```\n<treepicklist\n path=\"singleTree\"\n title=\"Полномочия\"\n gId=\"8925\"\n binding={[[\"singleTree\", \"code\"]]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n/>\n```\n\n#### Особенности справочников с единичным выбором\n\n- Выбранное значение отображается в поле с расшифровкой (колонка name справочника). Если в справочнике нет колонки name или она не задана в атрибуте fields, расшифровка не отображается.\n\n- в справочниках с единичным выбором работает фича порционного показа элементов: это значит, что в справочниках с большим кол-вом элементов сразу отображается только часть элементов, остальное можно догрузить по кнопке \"Показать ещё\" (задача [FS-8666](https://yt.skbkontur.ru/issue/FS-8666/Bolshie-ierarhicheskie-spravochniki)).\n\n#### Атрибуты для справочника с единичным выбором\n\nВ иерархическом справочнике с единичным выбором можно задать следующие параметры:\n - минимальный уровень, с которого можно выбирать элементы - атрибут **minPickLevel**. Выбор элементов с уровней выше указанного будет заблокирован.\nТ.е. если указать minPickLevel=\"4\", то выбирать можно только элементы 4, 5 и т.д. уровней, уровни 1,2 и 3 отображаются в справочнике, но выбрать эти элементы нельзя.\n\n- можно сделать выбор значений только с конкретных уровней, для этого нужно задать атрибут **allowedToPickLevels**. \nТ.е. если allowedToPickLevels={[1, 4]}, то выбирать можно только элементы с 1го и 4го уровней, остальные уровни отображаются в справочнике, но выбирать элементы нельзя.\n\n- также можно заблокировать выбор некоторых конкретных значений пиклиста. Для этого в атрибуте **fieldToDisableElementPick** должно быть указано название колонки пиклиста, которая отвечает за блокировку элементов. Если значение в данной колонке = true, то выбор этого значения в treepicklist блокируется.\nТаким образом, в ресурсах у пиклиста должна быть создана отдельная колонка, в которой для каждого элемента будут прописаны true или false, означающие, блокируется ли выбор элемента или нет.\nСледует учитывать, что блокируются только те элементы, у которых в колонке стоит true, выбор дочерних этого элемента не будет заблокирован, если у них нет true в соответствующей колонке.\n\n- прочие атрибуты, которые можно задать в справочнике, указаны в табличке атрибутов.\n\n### Иерархический справочник с множественным выбором\n\nЧтобы сделать иерархический справочник с множественным выбором, нужно указать атрибут **multiple=\"true\"**. Тогда в справочнике можно будет выбирать несколько элементов, проставляя у них чекбоксы.\n\nПример:\n\n```\n<treepicklist\n path=\"multipleTree/*\"\n title=\"Полномочия\"\n multiple=\"true\"\n width=\"200\"\n gId=\"8888\"\n binding={[\n [\"multipleTree/*\", \"code\"],\n [\"multipleTree/*/name\", \"name\"],\n [\"multipleTree/*/name\", { \"value\": \"childof\", \"field\": \"childof\" }]\n ]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n descriptionInModal=\"С помощью доверенности СФР уже можно оформлять полномочия для ведения персучета. При&nbsp;этом&nbsp;по-прежнему для сдачи ЕФС-1 и отчетов бывшего ПФР необходимо оформить Уведомление о предоставлении полномочий представителю (УПУП).\"\n/>\n```\n\n#### Особенности справочников с множественным выбором\n\n- **ВАЖНОЕ:** справочник сохраняет только родительские элементы: если отметить в справочнике родительский элемент, то отметятся галочками также и дочерние элементы этого родительского узла, но после сохранения изменений в поле пиклиста будет только значение родительского элемента и в иннер также выгрузится только значение (обычно код) родительского элемента. Дочерние элементы в иннер не выгружаются. (Так было решено сделать, исходя из бизнес логики: выбор родительского элемента подразумевает и выбор дочерних).\n\n- в окне справочника есть кнопка \"Сбросить выбор\", которая отменяет выбор сразу всех элементов (сбрасываются все чекбоксы). После этого нужно сохранить результат кнопкой \"Сохранить и закрыть\".\n\n- в поле справочника не отображаются расшифровки, т.к. может быть выбрано несколько элементов, но есть textOverloadHint, который появляется, если коды выбранных значений не помещаются в поле целиком.\n\n- во множественных справочниках отсутствует порционный показ элементов,т.е. все элементы справочника подгружаются сразу.\n\n#### Атрибуты для справочника с множественным выбором\n\n- можно задать выбор элементов, начиная с определенного уровня вложенности. Для этого нужно задать атрибут **minPickLevel**. \n\nНапример, если minPickLevel=\"2\", то элементы можно выбирать только со 2го, 3го и т.д. уровней, выбор элементов 1го уровня будет заблокирован.\nПри этом у элементов 1го уровня в справочнике **не будет отображаться код элемента** из соответствующей колонки пиклиста.\n\nЧтобы это работало корректно, нужно, чтобы у всех элементов в ресурсах пиклиста были заданы колонки code, chilfOf (т.к. по ним строится иерархия), а также колонка **level**, где указан уровень вложенности элементов (1, 2, 3...).\n\n- прочие атрибуты, которые можно задать в справочнике, указаны в табличке атрибутов.\n\n### Ссылки\n\n- Аналитика и требования по иерархическим справочникам [тут](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=844248241).\n\n- Основная задача по реализации фронтовой части иерархического справочника - [FS-8556](https://yt.skbkontur.ru/issue/FS-8556/Ierarhicheskie-spravochniki).";
138367
+ module.exports = "Теги: #иерархический #справочник #пиклист #treepicklist #minPickLevel #allowedToPickLevels #fieldToDisableElementPick\n\n**Иерархический справочник** - это структурированный пиклист, иерархия в нём строится за счёт колонок code и childof пиклиста, таким образом получается структура родитель-потомок (так реализовано на бэке).\nЕсли структура справочника нарушена (нужные колонки отсутствуют или заполнены некорректно), то в ответе от апи будет получена ошибка \"Справочник не является иерархическим\".\n\nКонтрол treepicklist нужен для отображения иерархического справочника и работы с ним в редакторе формы.\n\n### Иерархический справочник с единичным выбором\n\nИерархический справочник с единичным выбором - это контрол treepicklist без атрибута multiple=\"true\". После клика на значении внутри справочника оно выбирается и записывается в иннер (единичный путь).\n\nПример:\n```\n<treepicklist\n path=\"singleTree\"\n title=\"Полномочия\"\n gId=\"8925\"\n binding={[[\"singleTree\", \"code\"]]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n/>\n```\n\n#### Особенности справочников с единичным выбором\n\n- Выбранное значение отображается в поле с расшифровкой (колонка name справочника). Если в справочнике нет колонки name или она не задана в атрибуте fields, расшифровка не отображается.\n\n- в справочниках с единичным выбором работает фича порционного показа элементов: это значит, что в справочниках с большим кол-вом элементов сразу отображается только часть элементов, остальное можно догрузить по кнопке \"Показать ещё\" (задача [FS-8666](https://yt.skbkontur.ru/issue/FS-8666/Bolshie-ierarhicheskie-spravochniki)).\n\n#### Атрибуты для справочника с единичным выбором\n\nВ иерархическом справочнике с единичным выбором можно задать следующие параметры:\n - минимальный уровень, с которого можно выбирать элементы - атрибут **minPickLevel**. Выбор элементов с уровней выше указанного будет заблокирован.\nТ.е. если указать minPickLevel=\"4\", то выбирать можно только элементы 4, 5 и т.д. уровней, уровни 1,2 и 3 отображаются в справочнике, но выбрать эти элементы нельзя.\n\n- можно сделать выбор значений только с конкретных уровней, для этого нужно задать атрибут **allowedToPickLevels**. \nТ.е. если allowedToPickLevels={[1, 4]}, то выбирать можно только элементы с 1го и 4го уровней, остальные уровни отображаются в справочнике, но выбирать элементы нельзя.\n\n- также можно заблокировать выбор некоторых конкретных значений пиклиста. Для этого в атрибуте **fieldToDisableElementPick** должно быть указано название колонки пиклиста, которая отвечает за блокировку элементов. Если значение в данной колонке = true, то выбор этого значения в treepicklist блокируется.\nТаким образом, в ресурсах у пиклиста должна быть создана отдельная колонка, в которой для каждого элемента будут прописаны true или false, означающие, блокируется ли выбор элемента или нет.\nСледует учитывать, что блокируются только те элементы, у которых в колонке стоит true, выбор дочерних этого элемента не будет заблокирован, если у них нет true в соответствующей колонке.\n\n- прочие атрибуты, которые можно задать в справочнике, указаны в табличке атрибутов.\n\n### Иерархический справочник с множественным выбором\n\nЧтобы сделать иерархический справочник с множественным выбором, нужно указать атрибут **multiple=\"true\"**. Тогда в справочнике можно будет выбирать несколько элементов, проставляя у них чекбоксы.\n\nПример:\n\n```\n<treepicklist\n path=\"multipleTree/*\"\n title=\"Полномочия\"\n multiple=\"true\"\n width=\"200\"\n gId=\"8888\"\n binding={[\n [\"multipleTree/*\", \"code\"],\n [\"multipleTree/*/name\", \"name\"],\n [\"multipleTree/*/name\", { \"value\": \"childof\", \"field\": \"childof\" }]\n ]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n descriptionInModal=\"С помощью доверенности СФР уже можно оформлять полномочия для ведения персучета. При&nbsp;этом&nbsp;по-прежнему для сдачи ЕФС-1 и отчетов бывшего ПФР необходимо оформить Уведомление о предоставлении полномочий представителю (УПУП).\"\n/>\n```\n\n#### Особенности справочников с множественным выбором\n\n- **ВАЖНОЕ:** справочник сохраняет только родительские элементы: если отметить в справочнике родительский элемент, то отметятся галочками также и дочерние элементы этого родительского узла, но после сохранения изменений в поле пиклиста будет только значение родительского элемента и в иннер также выгрузится только значение (обычно код) родительского элемента. Дочерние элементы в иннер не выгружаются. (Так было решено сделать, исходя из бизнес логики: выбор родительского элемента подразумевает и выбор дочерних).\n\n- в окне справочника есть кнопка \"Сбросить выбор\", которая отменяет выбор сразу всех элементов (сбрасываются все чекбоксы). После этого нужно сохранить результат кнопкой \"Сохранить и закрыть\".\n\n- в поле справочника не отображаются расшифровки, т.к. может быть выбрано несколько элементов, но есть textOverloadHint, который появляется, если коды выбранных значений не помещаются в поле целиком.\n\n- во множественных справочниках отсутствует порционный показ элементов,т.е. все элементы справочника подгружаются сразу.\n\n#### Атрибуты для справочника с множественным выбором\n\n- можно задать выбор элементов, начиная с определенного уровня вложенности. Для этого нужно задать атрибут **minPickLevel**. \n\nНапример, если minPickLevel=\"2\", то элементы можно выбирать только со 2го, 3го и т.д. уровней, выбор элементов 1го уровня будет заблокирован.\nПри этом у элементов 1го уровня в справочнике **не будет отображаться код элемента** из соответствующей колонки пиклиста.\n\nЧтобы это работало корректно, нужно, чтобы у всех элементов в ресурсах пиклиста были заданы колонки code, chilfOf (т.к. по ним строится иерархия), а также колонка **level**, где указан уровень вложенности элементов (1, 2, 3...).\n\n- прочие атрибуты, которые можно задать в справочнике, указаны в табличке атрибутов.\n\n### Прочие атрибуты справочников\n\n**OverwriteOnInit** указывается, если нужно записать данные выбранных значений пиклиста в зависимые опля, например, это нужно для того, чтобы корректно отображались текстовки выбранных значений, выведенные отдельно в другом контроле.\n\nПример для справочника с единичным выбором:\n```\n<treepicklist\n path=\"singleTreeWithDefaultValue\"\n title=\"Полномочия\"\n minPickLevel=\"3\"\n gId=\"8888\"\n overwriteOnInit=\"true\"\n binding={[[\"singleTreeWithDefaultValue\", \"code\"], [\"single_picklist_name\", \"name\"]]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n defaultValue=\"FSS_000078\"\n/>\n<br />\n<br />\n<text path=\"single_picklist_name\" />\n```\n\nПример для справочника с множественным выбором:\n```\n<treepicklist\n path=\"multipleTree/*\"\n title=\"Полномочия\"\n multiple=\"true\"\n overwriteOnInit=\"true\"\n width=\"200\"\n gId=\"8888\"\n binding={[\n [\"multipleTree/*\", \"code\"],\n [\"multipleTree/*/name\", \"name\"],\n [\"multipleTree/*/name\", { \"value\": \"childof\", \"field\": \"childof\" }]\n ]}\n fields={[\"code\", \"name\", \"childof\"]}\n display={[\"code\", \"name\"]}\n descriptionInModal=\"С помощью доверенности СФР уже можно оформлять полномочия для ведения персучета. При&nbsp;этом&nbsp;по-прежнему для сдачи ЕФС-1 и отчетов бывшего ПФР необходимо оформить Уведомление о предоставлении полномочий представителю (УПУП).\"\n/>\n<br />\n<br />\n<multilinefield path=\"multipleTree\" disableButtons>\n <grid gap=\"10\">\n <column size=\"1\">\n <text path=\".\" color=\"gray\" />\n </column>\n <column size=\"5\">\n <text path=\"name\" />\n </column>\n </grid>\n</multilinefield>\n```\n\n### Ссылки\n\n- Аналитика и требования по иерархическим справочникам [тут](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=844248241).\n\n- Основная задача по реализации фронтовой части иерархического справочника - [FS-8556](https://yt.skbkontur.ru/issue/FS-8556/Ierarhicheskie-spravochniki).\n\n### Теги\n\n#иерархический справочник #treepicklist #справочник #пиклист #allowedToPickLevels #minPickLevel #overwriteOnInit";
138179
138368
 
138180
138369
  /***/ }),
138181
138370
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/generator",
3
- "version": "5.121.0-fixes-for-flang-generator.8",
3
+ "version": "5.121.0-fixes-for-flang-generator.10",
4
4
  "description": "Candy forms generator",
5
5
  "author": "SKBKontur Candy Team",
6
6
  "private": false,