@kontur.candy/generator 4.261.0-excel-load.0 → 4.261.0-optional-nested-units.1

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 +53 -37
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -112815,6 +112815,17 @@ class ModelPathImpl {
112815
112815
  return this.tokens.some(x => x === PathTokens.current);
112816
112816
  }
112817
112817
 
112818
+ getLastListPath() {
112819
+ if (!this.isContainIteration()) {
112820
+ throw new Error("Path must contain iteration");
112821
+ } // Проверка выше гарантирует, что будет PathTokens.each
112822
+ // @ts-ignore
112823
+
112824
+
112825
+ const lastIterationIndex = this.tokens.lastIndexOf(PathTokens.each);
112826
+ return this.tokens.slice(0, lastIterationIndex);
112827
+ }
112828
+
112818
112829
  isAbsolute() {
112819
112830
  return this.absolute;
112820
112831
  }
@@ -128659,14 +128670,16 @@ class DataDeclarationGenerationContext {
128659
128670
  const pageName = page === null || page === void 0 ? void 0 : page.id;
128660
128671
 
128661
128672
  if (!(node instanceof _markupGenerator_ElementProcessors_FormParts_Page_PageNode__WEBPACK_IMPORTED_MODULE_8__.PageNode)) {
128662
- if (page != undefined && page.multiple) {
128673
+ if (page != undefined) {
128663
128674
  return [{
128664
128675
  fn: `#getSectionFunction('${pageName}')#`
128665
128676
  }];
128666
128677
  }
128667
128678
  }
128668
128679
 
128669
- const sections = pageName != undefined ? [pageName] : [];
128680
+ const sections = pageName != undefined ? [{
128681
+ fn: `#getSectionFunction('${pageName}')#`
128682
+ }] : [];
128670
128683
 
128671
128684
  if (requisiteMode === RequisiteSectionMode.AsRequisiteAttribute) {
128672
128685
  if (requisite) {
@@ -134120,6 +134133,7 @@ class LinkConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.Sug
134120
134133
  markupBuilder.prop(x => x.metricsId).set(node.metricsId);
134121
134134
  markupBuilder.prop(x => x.icon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_5__.getIconName)(node, node.icon));
134122
134135
  markupBuilder.appendChild(context.convertChildNodes(node.children));
134136
+ markupBuilder.prop(x => x.stopPropagation).set(node.stopPropagation);
134123
134137
 
134124
134138
  if (node.disabled2 != undefined) {
134125
134139
  markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__.buildExpressionPropValue)(node.disabled2));
@@ -134133,24 +134147,25 @@ class LinkConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.Sug
134133
134147
  }
134134
134148
 
134135
134149
  getLinkWithHref(context, node) {
134136
- const mb = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("Link");
134137
- mb.prop("data-tid").set(node.tid);
134138
- mb.prop(x => x.href).set(node.href);
134139
- mb.prop(x => x.target).set("_blank");
134140
- mb.prop(x => x.use).set(node.use);
134141
- mb.prop(x => x.metricsId).set(node.metricsId);
134142
- mb.prop(x => x.icon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_5__.getIconName)(node, node.icon));
134150
+ const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("Link");
134151
+ markupBuilder.prop("data-tid").set(node.tid);
134152
+ markupBuilder.prop(x => x.href).set(node.href);
134153
+ markupBuilder.prop(x => x.target).set("_blank");
134154
+ markupBuilder.prop(x => x.use).set(node.use);
134155
+ markupBuilder.prop(x => x.metricsId).set(node.metricsId);
134156
+ markupBuilder.prop(x => x.icon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_5__.getIconName)(node, node.icon));
134157
+ markupBuilder.prop(x => x.stopPropagation).set(node.stopPropagation);
134143
134158
 
134144
134159
  if (node.disabled2 != undefined) {
134145
- mb.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__.buildExpressionPropValue)(node.disabled2));
134160
+ markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__.buildExpressionPropValue)(node.disabled2));
134146
134161
 
134147
134162
  if (this.getLegacyNode().getParent() != undefined) {
134148
- mb.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
134163
+ markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
134149
134164
  }
134150
134165
  }
134151
134166
 
134152
- mb.appendChild(context.convertChildNodes(node.children));
134153
- return mb.buildConverterResult();
134167
+ markupBuilder.appendChild(context.convertChildNodes(node.children));
134168
+ return markupBuilder.buildConverterResult();
134154
134169
  }
134155
134170
 
134156
134171
  }
@@ -134183,14 +134198,14 @@ __webpack_require__.r(__webpack_exports__);
134183
134198
 
134184
134199
 
134185
134200
 
134186
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13;
134201
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14;
134187
134202
 
134188
134203
 
134189
134204
 
134190
134205
 
134191
134206
 
134192
134207
 
134193
- let LinkNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("link", `Ссылка`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/Action/Link sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, ``), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.bindingPath, "Путь в модели"), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("optional", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.UntypedUsage), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("defaultValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, ``), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("default", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.InvalidUsage), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("color", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("onClick", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.helperFunctionName, "Имя кастомной helpers функции, которая вызовется при клике"), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("use", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType["enum"]("default", "success", "danger", "grayed"), "Тип, влияет на цвет. см. в retail-ui"), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("href", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, "Ссылка"), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("icon", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, `Название иконки, можно посмотреть http://tech.skbkontur.ru/react-ui/#/Icons`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_7__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_7__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("metrics-id", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, "Идентификатор ссылки, который будет отправлен вместе с метриками по этой ссылке"), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec(_class = (_class2 = class LinkNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_4__.SugarNodeWithLegacyVisibility {
134208
+ let LinkNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("link", `Ссылка`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/Action/Link sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, ``), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.bindingPath, "Путь в модели"), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("optional", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.UntypedUsage), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("defaultValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, ``), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("default", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.InvalidUsage), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.deprecatedAttr)("color", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_3__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("onClick", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.helperFunctionName, "Имя кастомной helpers функции, которая вызовется при клике"), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("use", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType["enum"]("default", "success", "danger", "grayed"), "Тип, влияет на цвет. см. в retail-ui"), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("href", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, "Ссылка"), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("icon", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, `Название иконки, можно посмотреть http://tech.skbkontur.ru/react-ui/#/Icons`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("stopPropagation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, `Прекращает дальнейшую передачу собития клика https://developer.mozilla.org/ru/docs/Web/API/Event/stopPropagation`), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_7__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_7__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("metrics-id", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string, "Идентификатор ссылки, который будет отправлен вместе с метриками по этой ссылке"), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec(_class = (_class2 = class LinkNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_4__.SugarNodeWithLegacyVisibility {
134194
134209
  constructor(...args) {
134195
134210
  super(...args);
134196
134211
 
@@ -134214,11 +134229,13 @@ let LinkNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5
134214
134229
 
134215
134230
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "icon", _descriptor10, this);
134216
134231
 
134217
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled2", _descriptor11, this);
134232
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "stopPropagation", _descriptor11, this);
134218
134233
 
134219
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "metricsId", _descriptor12, this);
134234
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled2", _descriptor12, this);
134220
134235
 
134221
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "children", _descriptor13, this);
134236
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "metricsId", _descriptor13, this);
134237
+
134238
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "children", _descriptor14, this);
134222
134239
  }
134223
134240
 
134224
134241
  getOwnPath() {
@@ -134275,17 +134292,22 @@ let LinkNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5
134275
134292
  enumerable: true,
134276
134293
  writable: true,
134277
134294
  initializer: null
134278
- }), _descriptor11 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "disabled2", [_dec12], {
134295
+ }), _descriptor11 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "stopPropagation", [_dec12], {
134279
134296
  configurable: true,
134280
134297
  enumerable: true,
134281
134298
  writable: true,
134282
134299
  initializer: null
134283
- }), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "metricsId", [_dec13], {
134300
+ }), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "disabled2", [_dec13], {
134284
134301
  configurable: true,
134285
134302
  enumerable: true,
134286
134303
  writable: true,
134287
134304
  initializer: null
134288
- }), _descriptor13 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "children", [_dec14], {
134305
+ }), _descriptor13 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "metricsId", [_dec14], {
134306
+ configurable: true,
134307
+ enumerable: true,
134308
+ writable: true,
134309
+ initializer: null
134310
+ }), _descriptor14 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "children", [_dec15], {
134289
134311
  configurable: true,
134290
134312
  enumerable: true,
134291
134313
  writable: true,
@@ -136274,12 +136296,20 @@ class FormConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_7__.Sug
136274
136296
  }
136275
136297
 
136276
136298
  findOptionalSections(node) {
136277
- const optionalPages = node.pages.filter(page => page.optional && !page.multiple).map(page => page.id).filter(_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.isNotNullOrUndefined);
136299
+ const optionalPages = this.getAllPages(node.pages).filter(page => {
136300
+ var _page$optional;
136301
+
136302
+ return ((_page$optional = page.optional) !== null && _page$optional !== void 0 ? _page$optional : false) && !page.multiple;
136303
+ }).map(page => page.id).filter(_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.isNotNullOrUndefined);
136278
136304
  return optionalPages;
136279
136305
  }
136280
136306
 
136307
+ getAllPages(pages) {
136308
+ const allPages = pages.flatMap(page => this.getAllPages(page.pages));
136309
+ return pages.concat(allPages);
136310
+ }
136311
+
136281
136312
  buildBaseFormWithContent(context, formContent, formNode) {
136282
- this.assertHasNowOptionalNestedPagesInsideMultipleUnits(formNode);
136283
136313
  const pageNodes = this.getFormPages(formNode);
136284
136314
  const formMarkupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_5__.componentMarkupBuilder)("BaseForm");
136285
136315
 
@@ -136297,20 +136327,6 @@ class FormConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_7__.Sug
136297
136327
  return result;
136298
136328
  }
136299
136329
 
136300
- assertHasNowOptionalNestedPagesInsideMultipleUnits(formNode) {
136301
- function assert(pages, hasMultipleUnitsInParents) {
136302
- for (const page of pages) {
136303
- if (hasMultipleUnitsInParents && page.optional && !page.multiple) {
136304
- throw new Error(`Check page with id '${page.id}'. Optional nested pages not supported: actions 'add', 'remove', 'check is empty' does not work for optional nested of multiple instance`);
136305
- }
136306
-
136307
- assert(page.pages, hasMultipleUnitsInParents || !!page.multiple);
136308
- }
136309
- }
136310
-
136311
- assert(formNode.pages, false);
136312
- }
136313
-
136314
136330
  getFormPages(formNode) {
136315
136331
  const pages = [];
136316
136332
  const queue = [...formNode.pages];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/generator",
3
- "version": "4.261.0-excel-load.0",
3
+ "version": "4.261.0-optional-nested-units.1",
4
4
  "description": "Candy forms generator",
5
5
  "author": "SKBKontur Candy Team",
6
6
  "private": false,