@react-typed-forms/schemas 11.2.0 → 11.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -462,9 +462,10 @@ function visitControlData(definition, ctx, cb) {
462
462
  if (!fieldData) return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;
463
463
  var thisPath = [].concat(ctx.path, [fieldData.field]);
464
464
  var control = ctx.data.lookupControl(thisPath);
465
- if (!control) throw "No control for field";
465
+ if (!control) return undefined;
466
466
  var result = def ? cb(def, fieldData, control, false) : undefined;
467
467
  if (result !== undefined) return result;
468
+ var compound = isCompoundField(fieldData);
468
469
  if (fieldData.collection) {
469
470
  var cIndex = 0;
470
471
  for (var _iterator3 = _createForOfIteratorHelperLoose((_control$elements = control.elements) != null ? _control$elements : []), _step3; !(_step3 = _iterator3()).done;) {
@@ -472,7 +473,7 @@ function visitControlData(definition, ctx, cb) {
472
473
  var c = _step3.value;
473
474
  var elemResult = def ? cb(def, fieldData, c, true) : undefined;
474
475
  if (elemResult !== undefined) return elemResult;
475
- if (isCompoundField(fieldData)) {
476
+ if (compound) {
476
477
  var cfResult = visitControlDataArray(children, _extends({}, ctx, {
477
478
  fields: fieldData.children,
478
479
  path: [].concat(thisPath, [cIndex])
@@ -481,7 +482,13 @@ function visitControlData(definition, ctx, cb) {
481
482
  }
482
483
  cIndex++;
483
484
  }
485
+ } else if (compound) {
486
+ return visitControlDataArray(children, _extends({}, ctx, {
487
+ fields: fieldData.children,
488
+ path: thisPath
489
+ }), cb);
484
490
  }
491
+ return undefined;
485
492
  }
486
493
  }
487
494
  function lookupChildControl(data, path) {
@@ -1796,6 +1803,13 @@ function createLayoutRenderer(render, options) {
1796
1803
  render: render
1797
1804
  }, options);
1798
1805
  }
1806
+ function createActionRenderer(actionId, render, options) {
1807
+ return _extends({
1808
+ type: "action",
1809
+ actionType: actionId,
1810
+ render: render
1811
+ }, options);
1812
+ }
1799
1813
  function createArrayRenderer(render, options) {
1800
1814
  return _extends({
1801
1815
  type: "array",
@@ -2330,18 +2344,14 @@ function createDefaultActionRenderer(options) {
2330
2344
  if (options === void 0) {
2331
2345
  options = {};
2332
2346
  }
2333
- function render(_ref) {
2347
+ return createActionRenderer(undefined, function (_ref) {
2334
2348
  var onClick = _ref.onClick,
2335
2349
  actionText = _ref.actionText;
2336
2350
  return /*#__PURE__*/React__default["default"].createElement("button", {
2337
2351
  className: options.className,
2338
2352
  onClick: onClick
2339
2353
  }, actionText);
2340
- }
2341
- return {
2342
- render: render,
2343
- type: "action"
2344
- };
2354
+ });
2345
2355
  }
2346
2356
  function createDefaultGroupRenderer(options) {
2347
2357
  var _ref2 = options != null ? options : {},
@@ -2754,6 +2764,7 @@ exports.compoundControl = compoundControl;
2754
2764
  exports.compoundField = compoundField;
2755
2765
  exports.controlTitle = controlTitle;
2756
2766
  exports.createAction = createAction;
2767
+ exports.createActionRenderer = createActionRenderer;
2757
2768
  exports.createAdornmentRenderer = createAdornmentRenderer;
2758
2769
  exports.createArrayRenderer = createArrayRenderer;
2759
2770
  exports.createCheckListRenderer = createCheckListRenderer;