@kontur.candy/generator 5.121.0-fixes-for-flang-generator.9 → 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 +221 -85
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -71343,6 +71343,8 @@ __webpack_require__.r(__webpack_exports__);
71343
71343
  /* harmony import */ var _DataDeclarationGenerator_DataDeclaration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataDeclarationGenerator/DataDeclaration */ "./Generator/src/generators/DataDeclarationGenerator/DataDeclaration.ts");
71344
71344
  /* harmony import */ var _Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Common/TypingUtils */ "./Common/TypingUtils.ts");
71345
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
+
71346
71348
 
71347
71349
 
71348
71350
 
@@ -71398,7 +71400,9 @@ function buildFieldsConfiguration(path, dataDeclaration) {
71398
71400
  function buildExtendedSchemaInfo(dataDeclaration) {
71399
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)));
71400
71402
  const nodes = new Map();
71401
- 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) {
71402
71406
  if (path.isEmpty() || path.endsWith((0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createRelativeFromTokens)([_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.PathTokens.each]))) {
71403
71407
  continue;
71404
71408
  }
@@ -71423,7 +71427,7 @@ function buildExtendedSchemaInfo(dataDeclaration) {
71423
71427
  props.type = dataDeclaration.getType(path);
71424
71428
  props.disabled = dataDeclaration.isNodeHasDisabledEntry(path);
71425
71429
  props.isPage = isPage || undefined;
71426
- props.isForceFilledOptional = isPage && isMultiple && singleSectionsSet.has(path) || undefined;
71430
+ props.isForceFilledOptional = props.isFilledOptionalRequired = isPage && optional && (isMultiple && singleSectionsSet.has(path) || !isMultiple) || undefined;
71427
71431
  props.fields = buildFieldsConfiguration(path, dataDeclaration);
71428
71432
  }
71429
71433
  return {
@@ -88694,6 +88698,15 @@ class SimpleTableColumnConverter extends _MultiControls_Column_ColumnConverter__
88694
88698
  static getAcceptNodeClass() {
88695
88699
  return _SimpleTableNode__WEBPACK_IMPORTED_MODULE_1__.SimpleTableColumnNode;
88696
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
+ }
88697
88710
  doBuildDataDeclaration(context) {
88698
88711
  const node = this.getCurrentNodeAs(_SimpleTableNode__WEBPACK_IMPORTED_MODULE_1__.SimpleTableColumnNode);
88699
88712
  if (node.multiple) {
@@ -90356,7 +90369,9 @@ __webpack_require__.r(__webpack_exports__);
90356
90369
  /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
90357
90370
  /* harmony import */ var _validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../validationGenerator/Nodes/TypeNode */ "./Generator/src/generators/validationGenerator/Nodes/TypeNode.ts");
90358
90371
  /* harmony import */ var _Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../Common/TypingUtils */ "./Common/TypingUtils.ts");
90359
- /* 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
+
90360
90375
 
90361
90376
 
90362
90377
 
@@ -90370,10 +90385,10 @@ __webpack_require__.r(__webpack_exports__);
90370
90385
 
90371
90386
  class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.SugarNodeConverterBase {
90372
90387
  static getAcceptNodeClass() {
90373
- return _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode;
90388
+ return _AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode;
90374
90389
  }
90375
90390
  doBuildNodeValidations(validationGenerator) {
90376
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90391
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90377
90392
  const {
90378
90393
  validationPath
90379
90394
  } = this.getNodeBindingAndValidationPaths(node);
@@ -90385,20 +90400,36 @@ class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
90385
90400
  fakeNode.children = [];
90386
90401
  validationGenerator.processValidations(validationPath.toLegacyPath(), node.validationInfo.optional, fakeNode, undefined, node.validationInfo.emptydescription, undefined);
90387
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
+ }
90388
90427
  doBuildDataDeclaration(context) {
90389
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90428
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90390
90429
  const pathDeclarations = [];
90391
90430
  if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__.isNotNullOrUndefined)(node.maxOccurs) && /^\d+$/.test(node.maxOccurs)) {
90392
90431
  pathDeclarations.push(context.maxOccurs(node.getFullPath(), node.maxOccurs));
90393
90432
  }
90394
- if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_9__.isNotNullOrEmpty)(node.validationPath)) {
90395
- const declEntry = {};
90396
- declEntry["value"] = context.initSequenceFactory.setValueUnconditionally("");
90397
- const validationPath = node.getFullPath().getParentPath().joinWith(node.validationPath).normalize().toLegacyPath();
90398
- pathDeclarations.push({
90399
- [validationPath]: declEntry
90400
- });
90401
- }
90402
90433
  return pathDeclarations.length > 0 ? context.mergeDataDeclaration(...pathDeclarations) : _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_1__.emptyDataDeclarationCollection;
90403
90434
  }
90404
90435
  buildChildrenDataDeclaration() {
@@ -90408,7 +90439,7 @@ class AddRowButtonConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
90408
90439
  // no children
90409
90440
  }
90410
90441
  doConvert(context) {
90411
- const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_10__.AddRowButtonNode);
90442
+ const node = this.getCurrentNodeAs(_AddRowButtonNode__WEBPACK_IMPORTED_MODULE_11__.AddRowButtonNode);
90412
90443
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("AddRowButton");
90413
90444
  const {
90414
90445
  bindingPath,
@@ -93281,10 +93312,22 @@ class MultipleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_0__
93281
93312
  static getAcceptNodeClass() {
93282
93313
  return _MultipleNode__WEBPACK_IMPORTED_MODULE_3__.MultipleNode;
93283
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
+ }
93284
93327
  doBuildDataDeclaration(context) {
93285
- var _ref, _node$optional;
93328
+ var _ref2, _node$optional;
93286
93329
  const node = this.getCurrentNodeAs(_MultipleNode__WEBPACK_IMPORTED_MODULE_3__.MultipleNode);
93287
- 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, {
93288
93331
  optional: node.optional
93289
93332
  }), context.addPathSectionDeclarationEntry(node));
93290
93333
  }
@@ -97150,8 +97193,10 @@ __webpack_require__.r(__webpack_exports__);
97150
97193
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
97151
97194
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
97152
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");
97153
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
97154
- /* 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
+
97155
97200
 
97156
97201
 
97157
97202
 
@@ -97160,24 +97205,36 @@ __webpack_require__.r(__webpack_exports__);
97160
97205
 
97161
97206
  class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
97162
97207
  static getAcceptNodeClass() {
97163
- return _CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode;
97208
+ return _CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode;
97164
97209
  }
97165
97210
  get nodePaths() {
97166
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97211
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97167
97212
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
97168
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
+ }
97169
97226
  doBuildNodeValidations(validationGenerator) {
97170
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97227
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97171
97228
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
97172
97229
  }
97173
97230
  doBuildDataDeclaration(context) {
97174
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97231
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97175
97232
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
97176
97233
  optional: node.dataBinding.optional
97177
97234
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
97178
97235
  }
97179
97236
  doBuildNormalizeRules(builder) {
97180
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97237
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97181
97238
  return [builder.valueInitializer(node, node.dataBinding, false), ...builder.specialFieldsInitializer(node, {
97182
97239
  disabled: false
97183
97240
  })];
@@ -97197,15 +97254,15 @@ class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
97197
97254
  return defaultValue;
97198
97255
  }
97199
97256
  buildChildrenDataDeclaration(context) {
97200
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97257
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97201
97258
  return context.processChildrenDataDeclaration(node.children);
97202
97259
  }
97203
97260
  *doTraverseChildren() {
97204
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97261
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97205
97262
  yield* node.children;
97206
97263
  }
97207
97264
  doConvert(context) {
97208
- const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_5__.CheckboxNode);
97265
+ const node = this.getCurrentNodeAs(_CheckboxNode__WEBPACK_IMPORTED_MODULE_6__.CheckboxNode);
97209
97266
  this.ensurePathExists(node, node.dataBinding.path);
97210
97267
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("Checkbox");
97211
97268
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -97217,7 +97274,7 @@ class CheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
97217
97274
  markupBuilder.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
97218
97275
  }
97219
97276
  if (node.disabled2 != undefined) {
97220
- 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));
97221
97278
  if (this.getLegacyNode().getParent() != undefined) {
97222
97279
  markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
97223
97280
  }
@@ -98399,44 +98456,58 @@ __webpack_require__.r(__webpack_exports__);
98399
98456
  /* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
98400
98457
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
98401
98458
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
98402
- /* 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
+
98403
98462
 
98404
98463
 
98405
98464
 
98406
98465
 
98407
98466
  class ExpertNoteConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
98408
98467
  static getAcceptNodeClass() {
98409
- return _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode;
98468
+ return _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode;
98410
98469
  }
98411
98470
  doBuildNodeValidations(validationGenerator) {
98412
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98471
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98413
98472
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
98414
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
+ }
98415
98486
  doBuildDataDeclaration(context) {
98416
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98487
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98417
98488
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node), context.addVisibilityPathDeclEntryNew(node));
98418
98489
  }
98419
98490
  buildChildrenDataDeclaration(context) {
98420
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98491
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98421
98492
  return context.processChildrenDataDeclaration([...node.name.children, ...node.messageBox.children], x => {
98422
- if (x instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98493
+ if (x instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98423
98494
  return context.processChildrenDataDeclaration(x.children);
98424
98495
  }
98425
98496
  return undefined;
98426
98497
  });
98427
98498
  }
98428
98499
  *doTraverseChildren() {
98429
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98500
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98430
98501
  yield* node.name.children;
98431
98502
  for (const child of node.messageBox.children) {
98432
- if (child instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98503
+ if (child instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98433
98504
  yield* child.children;
98434
98505
  }
98435
98506
  yield child;
98436
98507
  }
98437
98508
  }
98438
98509
  doConvert(context) {
98439
- const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertNoteNode);
98510
+ const node = this.getCurrentNodeAs(_ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertNoteNode);
98440
98511
  const nodeBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("ExpertNote");
98441
98512
  nodeBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
98442
98513
  nodeBuilder.createChild("ExpertNote", "ExpertNote.Name").appendChild(context.convertChildNodes(node.name.children));
@@ -98448,7 +98519,7 @@ class ExpertNoteConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1
98448
98519
  }
98449
98520
  convertChildren(context, nodes) {
98450
98521
  return nodes.map(node => {
98451
- if (node instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_3__.ExpertLinkNode) {
98522
+ if (node instanceof _ExpertNoteNode__WEBPACK_IMPORTED_MODULE_4__.ExpertLinkNode) {
98452
98523
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("ExpertNote", "ExpertNote.Link");
98453
98524
  markupBuilder.prop(x => x.unitId).set(node.unitid);
98454
98525
  markupBuilder.appendChild(context.convertChildNodes(node.children));
@@ -98594,15 +98665,20 @@ class FiasConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.Sug
98594
98665
  const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
98595
98666
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
98596
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
+ }
98597
98673
  doBuildDataDeclaration(context) {
98598
98674
  const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
98599
98675
  const PathDeclarations = [];
98600
98676
  if (node.fiasfield && node.fiasfield.length > 0) {
98601
- var _node$fiasfield$;
98677
+ var _node$fiasfield$2;
98602
98678
  node.fiasfield.forEach(field => {
98603
98679
  PathDeclarations.push(context.addChildPathSectionDeclarationEntry(node, field.path, node.dataBinding.requisite));
98604
98680
  });
98605
- 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) {
98606
98682
  const declEntry = {};
98607
98683
  declEntry["value"] = context.initSequenceFactory.takeFromModelOrDefaultValue("");
98608
98684
  PathDeclarations.push({
@@ -98833,7 +98909,7 @@ let FiasValueSources = (_dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
98833
98909
  writable: true,
98834
98910
  initializer: null
98835
98911
  }), _class4)) || _class3);
98836
- 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 {
98837
98913
  constructor(...args) {
98838
98914
  super(...args);
98839
98915
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "path", _descriptor10, this);
@@ -99484,6 +99560,18 @@ class FileLoaderConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4
99484
99560
  multiple: multipleNode
99485
99561
  });
99486
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
+ }
99487
99575
  doBuildDataDeclaration(context) {
99488
99576
  const node = this.getCurrentNodeAs(_FileLoaderNode__WEBPACK_IMPORTED_MODULE_10__.FileLoaderNode);
99489
99577
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node), context.addVisibilityPathDeclEntryNew(node), this.addAttachmentPathDeclEntry(context, node));
@@ -99727,33 +99815,47 @@ __webpack_require__.r(__webpack_exports__);
99727
99815
  /* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
99728
99816
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
99729
99817
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
99730
- /* 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
+
99731
99821
 
99732
99822
 
99733
99823
 
99734
99824
 
99735
99825
  class INNConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
99736
99826
  static getAcceptNodeClass() {
99737
- return _INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode;
99827
+ return _INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode;
99738
99828
  }
99739
99829
  doBuildNodeValidations(validationGenerator) {
99740
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99830
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99741
99831
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
99742
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
+ }
99743
99845
  doBuildDataDeclaration(context) {
99744
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99846
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99745
99847
  return context.mergeDataDeclaration(context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
99746
99848
  }
99747
99849
  buildChildrenDataDeclaration(context) {
99748
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99850
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99749
99851
  return context.processChildrenDataDeclaration(node.children);
99750
99852
  }
99751
99853
  *doTraverseChildren() {
99752
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99854
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99753
99855
  yield* node.children;
99754
99856
  }
99755
99857
  doConvert(context) {
99756
- const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_3__.INNNode);
99858
+ const node = this.getCurrentNodeAs(_INNNode__WEBPACK_IMPORTED_MODULE_4__.INNNode);
99757
99859
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("INN");
99758
99860
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
99759
99861
  markupBuilder.appendChild(context.convertChildNodes(node.children));
@@ -101118,7 +101220,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11
101118
101220
 
101119
101221
 
101120
101222
 
101121
- 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 {
101122
101224
  constructor(...args) {
101123
101225
  super(...args);
101124
101226
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
@@ -102459,8 +102561,10 @@ __webpack_require__.r(__webpack_exports__);
102459
102561
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
102460
102562
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
102461
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");
102462
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
102463
- /* 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
+
102464
102568
 
102465
102569
 
102466
102570
 
@@ -102469,24 +102573,36 @@ __webpack_require__.r(__webpack_exports__);
102469
102573
 
102470
102574
  class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
102471
102575
  static getAcceptNodeClass() {
102472
- return _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode;
102576
+ return _SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode;
102473
102577
  }
102474
102578
  get nodePaths() {
102475
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102579
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102476
102580
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
102477
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
+ }
102478
102594
  doBuildNodeValidations(validationGenerator) {
102479
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102595
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102480
102596
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
102481
102597
  }
102482
102598
  doBuildDataDeclaration(context) {
102483
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102599
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102484
102600
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
102485
102601
  optional: node.dataBinding.optional
102486
102602
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
102487
102603
  }
102488
102604
  doBuildNormalizeRules(builder) {
102489
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102605
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102490
102606
  return [builder.valueInitializer(node, node.dataBinding, false)];
102491
102607
  }
102492
102608
  getDefaultValue(node) {
@@ -102504,16 +102620,16 @@ class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODU
102504
102620
  return defaultValue;
102505
102621
  }
102506
102622
  buildChildrenDataDeclaration(context) {
102507
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102623
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102508
102624
  return context.processChildrenDataDeclaration(node.children);
102509
102625
  }
102510
102626
  *doTraverseChildren() {
102511
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102627
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102512
102628
  yield* node.children;
102513
102629
  }
102514
102630
  doConvert(context) {
102515
102631
  var _node$checkedValue2, _node$uncheckedValue2;
102516
- const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_5__.SelectCheckboxNode);
102632
+ const node = this.getCurrentNodeAs(_SelectCheckboxNode__WEBPACK_IMPORTED_MODULE_6__.SelectCheckboxNode);
102517
102633
  this.ensurePathExists(node, node.dataBinding.path);
102518
102634
  const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("SelectCheckbox");
102519
102635
  markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -102524,7 +102640,7 @@ class SelectCheckboxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODU
102524
102640
  markupBuilder.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
102525
102641
  }
102526
102642
  if (node.disabled2 != undefined) {
102527
- 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));
102528
102644
  if (this.getLegacyNode().getParent() != undefined) {
102529
102645
  markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
102530
102646
  }
@@ -103183,8 +103299,10 @@ __webpack_require__.r(__webpack_exports__);
103183
103299
  /* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
103184
103300
  /* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
103185
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");
103186
- /* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
103187
- /* 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
+
103188
103306
 
103189
103307
 
103190
103308
 
@@ -103193,24 +103311,36 @@ __webpack_require__.r(__webpack_exports__);
103193
103311
 
103194
103312
  class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
103195
103313
  static getAcceptNodeClass() {
103196
- return _ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode;
103314
+ return _ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode;
103197
103315
  }
103198
103316
  get nodePaths() {
103199
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103317
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103200
103318
  return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node)];
103201
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
+ }
103202
103332
  doBuildNodeValidations(validationGenerator) {
103203
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103333
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103204
103334
  validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
103205
103335
  }
103206
103336
  doBuildDataDeclaration(context) {
103207
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103337
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103208
103338
  return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false, this.getDefaultValue(node))]]), context.addSpecialFieldsEntry(node, {
103209
103339
  optional: node.dataBinding.optional
103210
103340
  }), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
103211
103341
  }
103212
103342
  doBuildNormalizeRules(builder) {
103213
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103343
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103214
103344
  return [builder.valueInitializer(node, node.dataBinding, false), ...builder.specialFieldsInitializer(node, {
103215
103345
  disabled: false
103216
103346
  })];
@@ -103230,15 +103360,15 @@ class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.S
103230
103360
  return defaultValue;
103231
103361
  }
103232
103362
  buildChildrenDataDeclaration(context) {
103233
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103363
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103234
103364
  return context.processChildrenDataDeclaration(node.children);
103235
103365
  }
103236
103366
  *doTraverseChildren() {
103237
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103367
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103238
103368
  yield* node.children;
103239
103369
  }
103240
103370
  doConvert(context) {
103241
- const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_5__.ToggleNode);
103371
+ const node = this.getCurrentNodeAs(_ToggleNode__WEBPACK_IMPORTED_MODULE_6__.ToggleNode);
103242
103372
  this.ensurePathExists(node, node.dataBinding.path);
103243
103373
  const markupBuilderToggle = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("Toggle");
103244
103374
  markupBuilderToggle.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_2__.getNewBindingPathExpression)(node));
@@ -103250,7 +103380,7 @@ class ToggleConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.S
103250
103380
  markupBuilderToggle.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
103251
103381
  }
103252
103382
  if (node.disabled2 != undefined) {
103253
- 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));
103254
103384
  if (this.getLegacyNode().getParent() != undefined) {
103255
103385
  markupBuilderToggle.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
103256
103386
  }
@@ -103331,16 +103461,18 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
103331
103461
  static getAcceptNodeClass() {
103332
103462
  return _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode;
103333
103463
  }
103334
- doBuildFLangValidations(buildContext, formSchemaRng) {
103464
+ *doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
103335
103465
  const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
103336
103466
  const element = formSchemaRng.getElementByPath(node.getFullPath());
103337
103467
  const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
103338
103468
  const typeNode = buildContext.getTypeNode(node.validationInfo);
103339
103469
  const schemaTypeNode = buildContext.getSchemaTypeInfo(targetPath);
103340
- if (typeNode == undefined && schemaTypeNode == undefined) {
103341
- return [];
103470
+ const ownPath = node.getOwnPathForKCLang();
103471
+ if (typeNode == undefined && schemaTypeNode == undefined || ownPath == undefined) {
103472
+ return;
103342
103473
  }
103343
- 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);
103344
103476
  }
103345
103477
  doBuildNodeValidations(validationGenerator) {
103346
103478
  const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
@@ -103397,6 +103529,7 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
103397
103529
  markupBuilder.prop(x => x.title).set((_node$title = node.title) !== null && _node$title !== void 0 ? _node$title : "Начните вводить код или название");
103398
103530
  markupBuilder.prop(x => x.width).set((_node$width = node.width) !== null && _node$width !== void 0 ? _node$width : "100%");
103399
103531
  markupBuilder.prop(x => x.gId).set(node.gId);
103532
+ markupBuilder.prop(x => x.overwriteOnInit).set(node.overwriteOnInit);
103400
103533
  markupBuilder.prop(x => x.fields).set((_node$fields = node.fields) !== null && _node$fields !== void 0 ? _node$fields : []);
103401
103534
  markupBuilder.prop(x => x.multiple).set(node.multiple);
103402
103535
  markupBuilder.prop(x => x.minPickLevel).set(node.minPickLevel);
@@ -103454,14 +103587,14 @@ __webpack_require__.r(__webpack_exports__);
103454
103587
 
103455
103588
 
103456
103589
 
103457
- 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;
103458
103591
 
103459
103592
 
103460
103593
 
103461
103594
 
103462
103595
 
103463
103596
 
103464
- 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 {
103465
103598
  constructor(...args) {
103466
103599
  super(...args);
103467
103600
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
@@ -103488,6 +103621,7 @@ let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_
103488
103621
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "binding", _descriptor22, this);
103489
103622
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "tid", _descriptor23, this);
103490
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);
103491
103625
  }
103492
103626
  getOwnPath() {
103493
103627
  return this.dataBinding.getOwnPath();
@@ -103612,6 +103746,11 @@ let TreePicklistNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_
103612
103746
  enumerable: true,
103613
103747
  writable: true,
103614
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
103615
103754
  }), _class2)) || _class);
103616
103755
 
103617
103756
  /***/ }),
@@ -104511,9 +104650,6 @@ class LinetextConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__
104511
104650
  static getAcceptNodeClass() {
104512
104651
  return _LineTextNode__WEBPACK_IMPORTED_MODULE_3__.LineTextNode;
104513
104652
  }
104514
- doBuildNodeValidations() {
104515
- // no validations
104516
- }
104517
104653
  doBuildDataDeclaration(context) {
104518
104654
  const node = this.getCurrentNodeAs(_LineTextNode__WEBPACK_IMPORTED_MODULE_3__.LineTextNode);
104519
104655
  return context.mergeDataDeclaration(context.addVisibilityPathDeclEntryNew(node));
@@ -105164,12 +105300,12 @@ class FLangNormalizationRulesBuilder {
105164
105300
  const targetPathReference = node.getFullPath().toEachIteration().trimLastStarIfLastToken();
105165
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"))));
105166
105302
  }
105167
- valueInitializer(node, dataBinding, disabled, pathSuffix, fetchFunctionSuffix) {
105168
- var _dataBinding$defaultV;
105303
+ valueInitializer(node, dataBinding, disabled, pathSuffix, fetchFunctionSuffix, customDefaultValue) {
105304
+ var _ref;
105169
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)());
105170
105306
  const originalValueReference = (0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeNoDeps)((0,_ServerSideFLangNormalization_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_3__.makeStringValueReference)(targetPathReference.toCurrentIteration(), "value"));
105171
105307
  const sourceValueReference = this.getSourceValueReferenceWithCorrection(node, targetPathReference);
105172
- 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 : "";
105173
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;
105174
105310
  if ((0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__.isNotNullOrEmpty)(dataBinding.fetchfn)) {
105175
105311
  try {
@@ -138188,7 +138324,7 @@ module.exports = "Привязка какого-то значения из сп
138188
138324
  \*********************************************************************************************************/
138189
138325
  /***/ ((module) => {
138190
138326
 
138191
- 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";
138192
138328
 
138193
138329
  /***/ }),
138194
138330
 
@@ -138228,7 +138364,7 @@ module.exports = "`<textarea type=\"T(1-4000)\" path=\"noteText\" autoResize=\"t
138228
138364
  \*************************************************************************************************************/
138229
138365
  /***/ ((module) => {
138230
138366
 
138231
- 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";
138232
138368
 
138233
138369
  /***/ }),
138234
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.9",
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,