iglooform 2.5.11 → 2.5.14
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/es/form/element/index.js +8 -1
- package/es/free-form/element/index.js +8 -1
- package/es/select/attached-select.js +2 -2
- package/es/select/select.js +4 -4
- package/es/upload/index.js +10 -8
- package/es/upload-photo/index.d.ts +1 -0
- package/es/upload-photo/index.js +4 -0
- package/es/utils/option-utils.d.ts +1 -0
- package/es/utils/option-utils.js +21 -2
- package/lib/form/element/index.js +8 -1
- package/lib/free-form/element/index.js +8 -1
- package/lib/select/attached-select.js +1 -1
- package/lib/select/select.js +4 -4
- package/lib/upload/index.js +10 -8
- package/lib/upload-photo/index.d.ts +1 -0
- package/lib/upload-photo/index.js +4 -0
- package/lib/utils/option-utils.d.ts +1 -0
- package/lib/utils/option-utils.js +25 -3
- package/package.json +1 -1
package/es/form/element/index.js
CHANGED
|
@@ -162,9 +162,16 @@ var Element = function Element(_ref) {
|
|
|
162
162
|
|
|
163
163
|
useEffect(function () {
|
|
164
164
|
if (!formItemProps.name || preview || !formItemProps.copiedValue.copied) return;
|
|
165
|
+
var originalValue = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
166
|
+
var value = formItemProps.copiedValue.value;
|
|
167
|
+
|
|
168
|
+
if (_typeof(originalValue) === 'object' && _typeof(value) === 'object') {
|
|
169
|
+
value = Object.assign(originalValue, formItemProps.copiedValue.value);
|
|
170
|
+
}
|
|
171
|
+
|
|
165
172
|
form && form.setFields([{
|
|
166
173
|
name: formItemProps.name,
|
|
167
|
-
value:
|
|
174
|
+
value: value,
|
|
168
175
|
errors: []
|
|
169
176
|
}]);
|
|
170
177
|
}, [formItemProps.copiedValue.value]);
|
|
@@ -156,9 +156,16 @@ var Element = function Element(props) {
|
|
|
156
156
|
|
|
157
157
|
useEffect(function () {
|
|
158
158
|
if (!formItemProps.name || preview || !formItemProps.copiedValue.copied) return;
|
|
159
|
+
var originalValue = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
160
|
+
var value = formItemProps.copiedValue.value;
|
|
161
|
+
|
|
162
|
+
if (_typeof(originalValue) === 'object' && _typeof(value) === 'object') {
|
|
163
|
+
value = Object.assign(originalValue, formItemProps.copiedValue.value);
|
|
164
|
+
}
|
|
165
|
+
|
|
159
166
|
form && form.setFields([{
|
|
160
167
|
name: formItemProps.name,
|
|
161
|
-
value:
|
|
168
|
+
value: value,
|
|
162
169
|
errors: []
|
|
163
170
|
}]);
|
|
164
171
|
}, [formItemProps.copiedValue.value]);
|
|
@@ -43,7 +43,7 @@ import LocaleContext from '../locale/locale-context';
|
|
|
43
43
|
import Button from '../button';
|
|
44
44
|
import Input from '../input';
|
|
45
45
|
import './style';
|
|
46
|
-
import { compareOptions, optionsHOC } from '../utils/option-utils';
|
|
46
|
+
import { compareOptions, compareSelected, optionsHOC } from '../utils/option-utils';
|
|
47
47
|
var Option = _Select.Option,
|
|
48
48
|
OptGroup = _Select.OptGroup;
|
|
49
49
|
export { Option, OptGroup };
|
|
@@ -84,7 +84,7 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
84
84
|
|
|
85
85
|
var originOptions = useRef(options);
|
|
86
86
|
useEffect(function () {
|
|
87
|
-
typeof rest.onChange === 'function' && valueProp
|
|
87
|
+
typeof rest.onChange === 'function' && compareSelected(selected, valueProp) && rest.onChange(selected, selectedOptions);
|
|
88
88
|
}, [selected]);
|
|
89
89
|
useEffect(function () {
|
|
90
90
|
valueProp !== selected && setSelected(valueProp);
|
package/es/select/select.js
CHANGED
|
@@ -59,7 +59,10 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
59
59
|
return _jsx(_Select, _objectSpread(_objectSpread({
|
|
60
60
|
placeholder: placeholder || formatMessage({
|
|
61
61
|
id: 'Please select'
|
|
62
|
-
})
|
|
62
|
+
}),
|
|
63
|
+
getPopupContainer: function getPopupContainer(trigger) {
|
|
64
|
+
return trigger.parentNode;
|
|
65
|
+
}
|
|
63
66
|
}, omit(rest, formMethods)), {}, {
|
|
64
67
|
options: children ? void 0 : options,
|
|
65
68
|
value: value,
|
|
@@ -82,9 +85,6 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
82
85
|
}
|
|
83
86
|
})]
|
|
84
87
|
}),
|
|
85
|
-
getPopupContainer: function getPopupContainer(trigger) {
|
|
86
|
-
return trigger.parentNode;
|
|
87
|
-
},
|
|
88
88
|
className: classnames('igloo-select', className),
|
|
89
89
|
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
|
90
90
|
setOpen(open);
|
package/es/upload/index.js
CHANGED
|
@@ -566,7 +566,8 @@ var IglooUpload = function IglooUpload(props) {
|
|
|
566
566
|
handleReUpload: handleReUpload,
|
|
567
567
|
handlePreview: handlePreview,
|
|
568
568
|
handleDelete: handleDelete,
|
|
569
|
-
containerRef: containerRef
|
|
569
|
+
containerRef: containerRef,
|
|
570
|
+
disabled: props.disabled
|
|
570
571
|
})]
|
|
571
572
|
});
|
|
572
573
|
};
|
|
@@ -577,7 +578,8 @@ var FileList = function FileList(_ref7) {
|
|
|
577
578
|
limit = _ref7.limit,
|
|
578
579
|
handleDelete = _ref7.handleDelete,
|
|
579
580
|
handlePreview = _ref7.handlePreview,
|
|
580
|
-
handleReUpload = _ref7.handleReUpload
|
|
581
|
+
handleReUpload = _ref7.handleReUpload,
|
|
582
|
+
disabled = _ref7.disabled;
|
|
581
583
|
|
|
582
584
|
var _useState3 = useState(false),
|
|
583
585
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -648,10 +650,10 @@ var FileList = function FileList(_ref7) {
|
|
|
648
650
|
style: {
|
|
649
651
|
fontSize: 24,
|
|
650
652
|
color: '#999999',
|
|
651
|
-
cursor: 'pointer'
|
|
653
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
652
654
|
},
|
|
653
655
|
onClick: function onClick() {
|
|
654
|
-
return handleDelete(index);
|
|
656
|
+
return !disabled && handleDelete(index);
|
|
655
657
|
}
|
|
656
658
|
})]
|
|
657
659
|
}), status === 'failed' && _jsxs("div", {
|
|
@@ -660,20 +662,20 @@ var FileList = function FileList(_ref7) {
|
|
|
660
662
|
style: {
|
|
661
663
|
fontSize: 24,
|
|
662
664
|
color: '#999999',
|
|
663
|
-
cursor: 'pointer'
|
|
665
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
664
666
|
},
|
|
665
667
|
onClick: function onClick() {
|
|
666
|
-
return handleReUpload(index);
|
|
668
|
+
return !disabled && handleReUpload(index);
|
|
667
669
|
},
|
|
668
670
|
className: 'igloo-upload-preview-item-operation-left-icon'
|
|
669
671
|
}), _jsx(CrossOutlined, {
|
|
670
672
|
style: {
|
|
671
673
|
fontSize: 24,
|
|
672
674
|
color: '#999999',
|
|
673
|
-
cursor: 'pointer'
|
|
675
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
674
676
|
},
|
|
675
677
|
onClick: function onClick() {
|
|
676
|
-
return handleDelete(index);
|
|
678
|
+
return !disabled && handleDelete(index);
|
|
677
679
|
}
|
|
678
680
|
})]
|
|
679
681
|
})]
|
package/es/upload-photo/index.js
CHANGED
|
@@ -721,6 +721,10 @@ var UploadPhoto = function UploadPhoto(props) {
|
|
|
721
721
|
};
|
|
722
722
|
|
|
723
723
|
var getBadge = function getBadge(status, index, limit) {
|
|
724
|
+
if (props.disabled) {
|
|
725
|
+
return null;
|
|
726
|
+
}
|
|
727
|
+
|
|
724
728
|
if (status === 'progress') {
|
|
725
729
|
return _jsx("div", {
|
|
726
730
|
children: _jsx(LoadingOutlined, {
|
|
@@ -3,6 +3,7 @@ import { FormInstance } from 'antd/es/form';
|
|
|
3
3
|
import { NamePath } from 'antd/es/form/interface';
|
|
4
4
|
import { SelectProps, SelectValue } from 'antd/es/select';
|
|
5
5
|
export declare const compareOptions: (newOptions: any[], oldOptions?: any[] | undefined) => boolean;
|
|
6
|
+
export declare const compareSelected: (newValue: any | any[], oldValue: any | any[]) => boolean;
|
|
6
7
|
declare type Options = SelectProps<SelectValue>['options'];
|
|
7
8
|
export interface HOCProps extends IglooComponentProps {
|
|
8
9
|
options?: Options;
|
package/es/utils/option-utils.js
CHANGED
|
@@ -14,8 +14,6 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
|
14
14
|
|
|
15
15
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
16
|
|
|
17
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
18
|
-
|
|
19
17
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
20
18
|
|
|
21
19
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -36,6 +34,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
36
34
|
|
|
37
35
|
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; }
|
|
38
36
|
|
|
37
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
38
|
+
|
|
39
39
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
40
40
|
import { useEffect, useState, useContext, useRef } from 'react';
|
|
41
41
|
import FormContext from '../form-context';
|
|
@@ -62,6 +62,25 @@ export var compareOptions = function compareOptions(newOptions, oldOptions) {
|
|
|
62
62
|
|
|
63
63
|
return false;
|
|
64
64
|
};
|
|
65
|
+
export var compareSelected = function compareSelected(newValue, oldValue) {
|
|
66
|
+
if (_typeof(newValue) !== _typeof(oldValue)) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (Array.isArray(newValue) && Array.isArray(oldValue)) {
|
|
71
|
+
if (newValue.length !== oldValue.length) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return !newValue.every(function (v) {
|
|
76
|
+
return oldValue.find(function (ov) {
|
|
77
|
+
return v === ov;
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return newValue !== oldValue;
|
|
83
|
+
};
|
|
65
84
|
export function optionsHOC(Component) {
|
|
66
85
|
return function (props) {
|
|
67
86
|
var options = props.options,
|
|
@@ -191,9 +191,16 @@ var Element = function Element(_ref) {
|
|
|
191
191
|
|
|
192
192
|
(0, _react.useEffect)(function () {
|
|
193
193
|
if (!formItemProps.name || preview || !formItemProps.copiedValue.copied) return;
|
|
194
|
+
var originalValue = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
195
|
+
var value = formItemProps.copiedValue.value;
|
|
196
|
+
|
|
197
|
+
if (_typeof(originalValue) === 'object' && _typeof(value) === 'object') {
|
|
198
|
+
value = Object.assign(originalValue, formItemProps.copiedValue.value);
|
|
199
|
+
}
|
|
200
|
+
|
|
194
201
|
form && form.setFields([{
|
|
195
202
|
name: formItemProps.name,
|
|
196
|
-
value:
|
|
203
|
+
value: value,
|
|
197
204
|
errors: []
|
|
198
205
|
}]);
|
|
199
206
|
}, [formItemProps.copiedValue.value]);
|
|
@@ -182,9 +182,16 @@ var Element = function Element(props) {
|
|
|
182
182
|
|
|
183
183
|
(0, _react.useEffect)(function () {
|
|
184
184
|
if (!formItemProps.name || preview || !formItemProps.copiedValue.copied) return;
|
|
185
|
+
var originalValue = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
186
|
+
var value = formItemProps.copiedValue.value;
|
|
187
|
+
|
|
188
|
+
if (_typeof(originalValue) === 'object' && _typeof(value) === 'object') {
|
|
189
|
+
value = Object.assign(originalValue, formItemProps.copiedValue.value);
|
|
190
|
+
}
|
|
191
|
+
|
|
185
192
|
form && form.setFields([{
|
|
186
193
|
name: formItemProps.name,
|
|
187
|
-
value:
|
|
194
|
+
value: value,
|
|
188
195
|
errors: []
|
|
189
196
|
}]);
|
|
190
197
|
}, [formItemProps.copiedValue.value]);
|
|
@@ -108,7 +108,7 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
108
108
|
|
|
109
109
|
var originOptions = (0, _react.useRef)(options);
|
|
110
110
|
(0, _react.useEffect)(function () {
|
|
111
|
-
typeof rest.onChange === 'function' &&
|
|
111
|
+
typeof rest.onChange === 'function' && (0, _optionUtils.compareSelected)(selected, valueProp) && rest.onChange(selected, selectedOptions);
|
|
112
112
|
}, [selected]);
|
|
113
113
|
(0, _react.useEffect)(function () {
|
|
114
114
|
valueProp !== selected && setSelected(valueProp);
|
package/lib/select/select.js
CHANGED
|
@@ -79,7 +79,10 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
79
79
|
return (0, _jsxRuntime.jsx)(_select.default, _objectSpread(_objectSpread({
|
|
80
80
|
placeholder: placeholder || formatMessage({
|
|
81
81
|
id: 'Please select'
|
|
82
|
-
})
|
|
82
|
+
}),
|
|
83
|
+
getPopupContainer: function getPopupContainer(trigger) {
|
|
84
|
+
return trigger.parentNode;
|
|
85
|
+
}
|
|
83
86
|
}, (0, _omit.default)(rest, _formMethods.default)), {}, {
|
|
84
87
|
options: children ? void 0 : options,
|
|
85
88
|
value: value,
|
|
@@ -102,9 +105,6 @@ var IglooSelect = function IglooSelect(_ref) {
|
|
|
102
105
|
}
|
|
103
106
|
})]
|
|
104
107
|
}),
|
|
105
|
-
getPopupContainer: function getPopupContainer(trigger) {
|
|
106
|
-
return trigger.parentNode;
|
|
107
|
-
},
|
|
108
108
|
className: (0, _classnames.default)('igloo-select', className),
|
|
109
109
|
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
|
110
110
|
setOpen(open);
|
package/lib/upload/index.js
CHANGED
|
@@ -592,7 +592,8 @@ var IglooUpload = function IglooUpload(props) {
|
|
|
592
592
|
handleReUpload: handleReUpload,
|
|
593
593
|
handlePreview: handlePreview,
|
|
594
594
|
handleDelete: handleDelete,
|
|
595
|
-
containerRef: containerRef
|
|
595
|
+
containerRef: containerRef,
|
|
596
|
+
disabled: props.disabled
|
|
596
597
|
})]
|
|
597
598
|
});
|
|
598
599
|
};
|
|
@@ -603,7 +604,8 @@ var FileList = function FileList(_ref7) {
|
|
|
603
604
|
limit = _ref7.limit,
|
|
604
605
|
handleDelete = _ref7.handleDelete,
|
|
605
606
|
handlePreview = _ref7.handlePreview,
|
|
606
|
-
handleReUpload = _ref7.handleReUpload
|
|
607
|
+
handleReUpload = _ref7.handleReUpload,
|
|
608
|
+
disabled = _ref7.disabled;
|
|
607
609
|
|
|
608
610
|
var _useState3 = (0, _react.useState)(false),
|
|
609
611
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -673,10 +675,10 @@ var FileList = function FileList(_ref7) {
|
|
|
673
675
|
style: {
|
|
674
676
|
fontSize: 24,
|
|
675
677
|
color: '#999999',
|
|
676
|
-
cursor: 'pointer'
|
|
678
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
677
679
|
},
|
|
678
680
|
onClick: function onClick() {
|
|
679
|
-
return handleDelete(index);
|
|
681
|
+
return !disabled && handleDelete(index);
|
|
680
682
|
}
|
|
681
683
|
})]
|
|
682
684
|
}), status === 'failed' && (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -685,20 +687,20 @@ var FileList = function FileList(_ref7) {
|
|
|
685
687
|
style: {
|
|
686
688
|
fontSize: 24,
|
|
687
689
|
color: '#999999',
|
|
688
|
-
cursor: 'pointer'
|
|
690
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
689
691
|
},
|
|
690
692
|
onClick: function onClick() {
|
|
691
|
-
return handleReUpload(index);
|
|
693
|
+
return !disabled && handleReUpload(index);
|
|
692
694
|
},
|
|
693
695
|
className: 'igloo-upload-preview-item-operation-left-icon'
|
|
694
696
|
}), (0, _jsxRuntime.jsx)(_iglooicon.CrossOutlined, {
|
|
695
697
|
style: {
|
|
696
698
|
fontSize: 24,
|
|
697
699
|
color: '#999999',
|
|
698
|
-
cursor: 'pointer'
|
|
700
|
+
cursor: disabled ? 'default' : 'pointer'
|
|
699
701
|
},
|
|
700
702
|
onClick: function onClick() {
|
|
701
|
-
return handleDelete(index);
|
|
703
|
+
return !disabled && handleDelete(index);
|
|
702
704
|
}
|
|
703
705
|
})]
|
|
704
706
|
})]
|
|
@@ -755,6 +755,10 @@ var UploadPhoto = function UploadPhoto(props) {
|
|
|
755
755
|
};
|
|
756
756
|
|
|
757
757
|
var getBadge = function getBadge(status, index, limit) {
|
|
758
|
+
if (props.disabled) {
|
|
759
|
+
return null;
|
|
760
|
+
}
|
|
761
|
+
|
|
758
762
|
if (status === 'progress') {
|
|
759
763
|
return (0, _jsxRuntime.jsx)("div", {
|
|
760
764
|
children: (0, _jsxRuntime.jsx)(_iglooicon.LoadingOutlined, {
|
|
@@ -3,6 +3,7 @@ import { FormInstance } from 'antd/es/form';
|
|
|
3
3
|
import { NamePath } from 'antd/es/form/interface';
|
|
4
4
|
import { SelectProps, SelectValue } from 'antd/es/select';
|
|
5
5
|
export declare const compareOptions: (newOptions: any[], oldOptions?: any[] | undefined) => boolean;
|
|
6
|
+
export declare const compareSelected: (newValue: any | any[], oldValue: any | any[]) => boolean;
|
|
6
7
|
declare type Options = SelectProps<SelectValue>['options'];
|
|
7
8
|
export interface HOCProps extends IglooComponentProps {
|
|
8
9
|
options?: Options;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.compareOptions = void 0;
|
|
6
|
+
exports.compareSelected = exports.compareOptions = void 0;
|
|
7
7
|
exports.optionsHOC = optionsHOC;
|
|
8
8
|
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -32,8 +32,6 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
|
32
32
|
|
|
33
33
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
34
34
|
|
|
35
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
36
|
-
|
|
37
35
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
38
36
|
|
|
39
37
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -54,6 +52,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
54
52
|
|
|
55
53
|
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; }
|
|
56
54
|
|
|
55
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
56
|
+
|
|
57
57
|
var compareOptions = function compareOptions(newOptions, oldOptions) {
|
|
58
58
|
if (!Array.isArray(oldOptions)) {
|
|
59
59
|
return true;
|
|
@@ -79,6 +79,28 @@ var compareOptions = function compareOptions(newOptions, oldOptions) {
|
|
|
79
79
|
|
|
80
80
|
exports.compareOptions = compareOptions;
|
|
81
81
|
|
|
82
|
+
var compareSelected = function compareSelected(newValue, oldValue) {
|
|
83
|
+
if (_typeof(newValue) !== _typeof(oldValue)) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (Array.isArray(newValue) && Array.isArray(oldValue)) {
|
|
88
|
+
if (newValue.length !== oldValue.length) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return !newValue.every(function (v) {
|
|
93
|
+
return oldValue.find(function (ov) {
|
|
94
|
+
return v === ov;
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return newValue !== oldValue;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
exports.compareSelected = compareSelected;
|
|
103
|
+
|
|
82
104
|
function optionsHOC(Component) {
|
|
83
105
|
return function (props) {
|
|
84
106
|
var options = props.options,
|