iglooform 2.5.48 → 2.5.50

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.
@@ -16,6 +16,7 @@ export interface IProps extends IglooComponentProps, Omit<CheckboxGroupProps, 'o
16
16
  radioType?: string;
17
17
  options: Option[];
18
18
  preview?: boolean;
19
+ mutuallyExclusions?: Record<string, string[]>;
19
20
  }
20
21
  declare const IglooCheckbox: FC<Props>;
21
22
  export default IglooCheckbox;
@@ -4,8 +4,9 @@ import "antd/es/row/style";
4
4
  import _Row from "antd/es/row";
5
5
  import "antd/es/checkbox/style";
6
6
  import _Checkbox from "antd/es/checkbox";
7
- var _excluded = ["className", "options", "value", "clearWhenOptionsUpdated", "preview"],
8
- _excluded2 = ["label", "value", "extraInfo"];
7
+ var _excluded = ["value"],
8
+ _excluded2 = ["className", "options", "value", "clearWhenOptionsUpdated", "preview", "mutuallyExclusions"],
9
+ _excluded3 = ["label", "value", "extraInfo"];
9
10
 
10
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
12
 
@@ -19,16 +20,16 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
19
20
 
20
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
22
 
22
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
-
24
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
-
26
23
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
24
 
28
25
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
26
 
30
27
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
28
 
29
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30
+
31
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
32
+
32
33
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
34
  import { useState, useEffect, useRef, useContext } from 'react';
34
35
  import Typography from '../typography';
@@ -38,7 +39,24 @@ import classnames from 'classnames';
38
39
  import { compareOptions, optionsHOC, previewSelectedOptions } from '../utils/option-utils';
39
40
  import LocaleContext from '../locale/locale-context';
40
41
  import emptyIcon from '../radio/style/empty.svg';
41
- import './style/index.less';
42
+ import './style/index.less'; // add disabled attributes to checkbox options based on mutually exclusion config
43
+
44
+ var addDisabledAttr = function addDisabledAttr(options, mutuallyExclusions, checkedValues) {
45
+ if (!mutuallyExclusions || !Object.keys(mutuallyExclusions).length || !(checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.length)) return options;
46
+ return options.map(function (_ref) {
47
+ var value = _ref.value,
48
+ rest = _objectWithoutProperties(_ref, _excluded);
49
+
50
+ return _objectSpread(_objectSpread({}, rest), {}, {
51
+ value: value,
52
+ disabled: !!(value && (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.some(function (v) {
53
+ var _mutuallyExclusions$S, _mutuallyExclusions$v;
54
+
55
+ return v !== value && (((_mutuallyExclusions$S = mutuallyExclusions[String(v)]) === null || _mutuallyExclusions$S === void 0 ? void 0 : _mutuallyExclusions$S.includes(String(value))) || ((_mutuallyExclusions$v = mutuallyExclusions[value]) === null || _mutuallyExclusions$v === void 0 ? void 0 : _mutuallyExclusions$v.includes(String(v))));
56
+ })))
57
+ });
58
+ });
59
+ };
42
60
 
43
61
  var IglooCheckbox = function IglooCheckbox(props) {
44
62
  return _jsx(_Checkbox, _objectSpread({}, omit(props, formMethods)));
@@ -55,15 +73,16 @@ IglooCheckbox.formItemPropsHandler = function (config) {
55
73
 
56
74
  export default IglooCheckbox;
57
75
 
58
- var InnerCheckboxGroup = function InnerCheckboxGroup(_ref) {
59
- var className = _ref.className,
60
- _ref$options = _ref.options,
61
- options = _ref$options === void 0 ? [] : _ref$options,
62
- value = _ref.value,
63
- _ref$clearWhenOptions = _ref.clearWhenOptionsUpdated,
64
- clearWhenOptionsUpdated = _ref$clearWhenOptions === void 0 ? false : _ref$clearWhenOptions,
65
- preview = _ref.preview,
66
- rest = _objectWithoutProperties(_ref, _excluded);
76
+ var InnerCheckboxGroup = function InnerCheckboxGroup(_ref2) {
77
+ var className = _ref2.className,
78
+ _ref2$options = _ref2.options,
79
+ options = _ref2$options === void 0 ? [] : _ref2$options,
80
+ value = _ref2.value,
81
+ _ref2$clearWhenOption = _ref2.clearWhenOptionsUpdated,
82
+ clearWhenOptionsUpdated = _ref2$clearWhenOption === void 0 ? false : _ref2$clearWhenOption,
83
+ preview = _ref2.preview,
84
+ mutuallyExclusions = _ref2.mutuallyExclusions,
85
+ rest = _objectWithoutProperties(_ref2, _excluded2);
67
86
 
68
87
  var _useState = useState(value),
69
88
  _useState2 = _slicedToArray(_useState, 2),
@@ -106,11 +125,11 @@ var InnerCheckboxGroup = function InnerCheckboxGroup(_ref) {
106
125
  value: value,
107
126
  children: [_jsx(_Row, {
108
127
  gutter: [8, 8],
109
- children: options.map(function (_ref2) {
110
- var label = _ref2.label,
111
- key = _ref2.value,
112
- extraInfo = _ref2.extraInfo,
113
- rest = _objectWithoutProperties(_ref2, _excluded2);
128
+ children: addDisabledAttr(options, mutuallyExclusions, value).map(function (_ref3) {
129
+ var label = _ref3.label,
130
+ key = _ref3.value,
131
+ extraInfo = _ref3.extraInfo,
132
+ rest = _objectWithoutProperties(_ref3, _excluded3);
114
133
 
115
134
  return _jsxs(_Col, {
116
135
  span: 24,
@@ -73,4 +73,4 @@ export declare const calcSelectValue: (selectValue?: FormItemSelectValue[] | und
73
73
  disabled: boolean | undefined;
74
74
  };
75
75
  export declare const calcShouldRender: (dependencies?: NamePath[], asserts?: FormItemAssert[], shouldRender?: ((form?: FormInstance<any> | undefined) => boolean) | undefined, form?: FormInstance<any> | undefined) => boolean;
76
- export declare const getRuleValidation: (url: string, rule: string | string[], values?: any, lang?: string | undefined) => Promise<any>;
76
+ export declare const getRuleValidation: (url: string, rule: string | string[], values?: any, lang?: string) => Promise<any>;
@@ -560,16 +560,20 @@ export var calcShouldRender = function calcShouldRender() {
560
560
  return true;
561
561
  };
562
562
  export var getRuleValidation = /*#__PURE__*/function () {
563
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, rule, values, lang) {
564
- var _lang, _lang$split;
565
-
566
- var res, json, _ref4, conclusion, details;
563
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, rule, values) {
564
+ var lang,
565
+ res,
566
+ json,
567
+ _ref4,
568
+ conclusion,
569
+ details,
570
+ _args = arguments;
567
571
 
568
572
  return regeneratorRuntime.wrap(function _callee$(_context) {
569
573
  while (1) {
570
574
  switch (_context.prev = _context.next) {
571
575
  case 0:
572
- lang = ((_lang = lang) === null || _lang === void 0 ? void 0 : (_lang$split = _lang.split('-')) === null || _lang$split === void 0 ? void 0 : _lang$split[0]) || 'en';
576
+ lang = _args.length > 3 && _args[3] !== undefined ? _args[3] : 'en-US';
573
577
  _context.next = 3;
574
578
  return fetch("".concat(url, "?lang=").concat(lang), {
575
579
  method: 'post',
@@ -624,7 +628,7 @@ export var getRuleValidation = /*#__PURE__*/function () {
624
628
  }, _callee);
625
629
  }));
626
630
 
627
- return function getRuleValidation(_x, _x2, _x3, _x4) {
631
+ return function getRuleValidation(_x, _x2, _x3) {
628
632
  return _ref3.apply(this, arguments);
629
633
  };
630
634
  }();
@@ -205,6 +205,7 @@ export function optionsHOC(Component) {
205
205
  }
206
206
 
207
207
  if (datasourceFilters) {
208
+ query = dependFieldValue ? "".concat(query, "&") : query;
208
209
  query += datasourceFilters.map(function (f) {
209
210
  return "filter=".concat(f);
210
211
  }).join('&');
@@ -16,6 +16,7 @@ export interface IProps extends IglooComponentProps, Omit<CheckboxGroupProps, 'o
16
16
  radioType?: string;
17
17
  options: Option[];
18
18
  preview?: boolean;
19
+ mutuallyExclusions?: Record<string, string[]>;
19
20
  }
20
21
  declare const IglooCheckbox: FC<Props>;
21
22
  export default IglooCheckbox;
@@ -37,8 +37,9 @@ var _empty = _interopRequireDefault(require("../radio/style/empty.svg"));
37
37
 
38
38
  require("./style/index.less");
39
39
 
40
- var _excluded = ["className", "options", "value", "clearWhenOptionsUpdated", "preview"],
41
- _excluded2 = ["label", "value", "extraInfo"];
40
+ var _excluded = ["value"],
41
+ _excluded2 = ["className", "options", "value", "clearWhenOptionsUpdated", "preview", "mutuallyExclusions"],
42
+ _excluded3 = ["label", "value", "extraInfo"];
42
43
 
43
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
45
 
@@ -54,16 +55,34 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
54
55
 
55
56
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
56
57
 
57
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
58
-
59
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
60
-
61
58
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
62
59
 
63
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
64
61
 
65
62
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
66
63
 
64
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
65
+
66
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
67
+
68
+ // add disabled attributes to checkbox options based on mutually exclusion config
69
+ var addDisabledAttr = function addDisabledAttr(options, mutuallyExclusions, checkedValues) {
70
+ if (!mutuallyExclusions || !Object.keys(mutuallyExclusions).length || !(checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.length)) return options;
71
+ return options.map(function (_ref) {
72
+ var value = _ref.value,
73
+ rest = _objectWithoutProperties(_ref, _excluded);
74
+
75
+ return _objectSpread(_objectSpread({}, rest), {}, {
76
+ value: value,
77
+ disabled: !!(value && (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.some(function (v) {
78
+ var _mutuallyExclusions$S, _mutuallyExclusions$v;
79
+
80
+ return v !== value && (((_mutuallyExclusions$S = mutuallyExclusions[String(v)]) === null || _mutuallyExclusions$S === void 0 ? void 0 : _mutuallyExclusions$S.includes(String(value))) || ((_mutuallyExclusions$v = mutuallyExclusions[value]) === null || _mutuallyExclusions$v === void 0 ? void 0 : _mutuallyExclusions$v.includes(String(v))));
81
+ })))
82
+ });
83
+ });
84
+ };
85
+
67
86
  var IglooCheckbox = function IglooCheckbox(props) {
68
87
  return (0, _jsxRuntime.jsx)(_checkbox.default, _objectSpread({}, (0, _omit.default)(props, _formMethods.default)));
69
88
  };
@@ -80,15 +99,16 @@ IglooCheckbox.formItemPropsHandler = function (config) {
80
99
  var _default = IglooCheckbox;
81
100
  exports.default = _default;
82
101
 
83
- var InnerCheckboxGroup = function InnerCheckboxGroup(_ref) {
84
- var className = _ref.className,
85
- _ref$options = _ref.options,
86
- options = _ref$options === void 0 ? [] : _ref$options,
87
- value = _ref.value,
88
- _ref$clearWhenOptions = _ref.clearWhenOptionsUpdated,
89
- clearWhenOptionsUpdated = _ref$clearWhenOptions === void 0 ? false : _ref$clearWhenOptions,
90
- preview = _ref.preview,
91
- rest = _objectWithoutProperties(_ref, _excluded);
102
+ var InnerCheckboxGroup = function InnerCheckboxGroup(_ref2) {
103
+ var className = _ref2.className,
104
+ _ref2$options = _ref2.options,
105
+ options = _ref2$options === void 0 ? [] : _ref2$options,
106
+ value = _ref2.value,
107
+ _ref2$clearWhenOption = _ref2.clearWhenOptionsUpdated,
108
+ clearWhenOptionsUpdated = _ref2$clearWhenOption === void 0 ? false : _ref2$clearWhenOption,
109
+ preview = _ref2.preview,
110
+ mutuallyExclusions = _ref2.mutuallyExclusions,
111
+ rest = _objectWithoutProperties(_ref2, _excluded2);
92
112
 
93
113
  var _useState = (0, _react.useState)(value),
94
114
  _useState2 = _slicedToArray(_useState, 2),
@@ -131,11 +151,11 @@ var InnerCheckboxGroup = function InnerCheckboxGroup(_ref) {
131
151
  value: value,
132
152
  children: [(0, _jsxRuntime.jsx)(_row.default, {
133
153
  gutter: [8, 8],
134
- children: options.map(function (_ref2) {
135
- var label = _ref2.label,
136
- key = _ref2.value,
137
- extraInfo = _ref2.extraInfo,
138
- rest = _objectWithoutProperties(_ref2, _excluded2);
154
+ children: addDisabledAttr(options, mutuallyExclusions, value).map(function (_ref3) {
155
+ var label = _ref3.label,
156
+ key = _ref3.value,
157
+ extraInfo = _ref3.extraInfo,
158
+ rest = _objectWithoutProperties(_ref3, _excluded3);
139
159
 
140
160
  return (0, _jsxRuntime.jsxs)(_col.default, {
141
161
  span: 24,
@@ -73,4 +73,4 @@ export declare const calcSelectValue: (selectValue?: FormItemSelectValue[] | und
73
73
  disabled: boolean | undefined;
74
74
  };
75
75
  export declare const calcShouldRender: (dependencies?: NamePath[], asserts?: FormItemAssert[], shouldRender?: ((form?: FormInstance<any> | undefined) => boolean) | undefined, form?: FormInstance<any> | undefined) => boolean;
76
- export declare const getRuleValidation: (url: string, rule: string | string[], values?: any, lang?: string | undefined) => Promise<any>;
76
+ export declare const getRuleValidation: (url: string, rule: string | string[], values?: any, lang?: string) => Promise<any>;
@@ -594,16 +594,20 @@ var calcShouldRender = function calcShouldRender() {
594
594
  exports.calcShouldRender = calcShouldRender;
595
595
 
596
596
  var getRuleValidation = /*#__PURE__*/function () {
597
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, rule, values, lang) {
598
- var _lang, _lang$split;
599
-
600
- var res, json, _ref4, conclusion, details;
597
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, rule, values) {
598
+ var lang,
599
+ res,
600
+ json,
601
+ _ref4,
602
+ conclusion,
603
+ details,
604
+ _args = arguments;
601
605
 
602
606
  return regeneratorRuntime.wrap(function _callee$(_context) {
603
607
  while (1) {
604
608
  switch (_context.prev = _context.next) {
605
609
  case 0:
606
- lang = ((_lang = lang) === null || _lang === void 0 ? void 0 : (_lang$split = _lang.split('-')) === null || _lang$split === void 0 ? void 0 : _lang$split[0]) || 'en';
610
+ lang = _args.length > 3 && _args[3] !== undefined ? _args[3] : 'en-US';
607
611
  _context.next = 3;
608
612
  return fetch("".concat(url, "?lang=").concat(lang), {
609
613
  method: 'post',
@@ -658,7 +662,7 @@ var getRuleValidation = /*#__PURE__*/function () {
658
662
  }, _callee);
659
663
  }));
660
664
 
661
- return function getRuleValidation(_x, _x2, _x3, _x4) {
665
+ return function getRuleValidation(_x, _x2, _x3) {
662
666
  return _ref3.apply(this, arguments);
663
667
  };
664
668
  }();
@@ -226,6 +226,7 @@ function optionsHOC(Component) {
226
226
  }
227
227
 
228
228
  if (datasourceFilters) {
229
+ query = dependFieldValue ? "".concat(query, "&") : query;
229
230
  query += datasourceFilters.map(function (f) {
230
231
  return "filter=".concat(f);
231
232
  }).join('&');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iglooform",
3
- "version": "2.5.48",
3
+ "version": "2.5.50",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "build-dev": "dumi build",