This repository was archived by the owner on Mar 13, 2025. It is now read-only.
File tree 1 file changed +25
-2
lines changed
1 file changed +25
-2
lines changed Original file line number Diff line number Diff line change 4
4
import _ from "lodash" ;
5
5
import { FORM_FIELD_TYPE } from "../../constants" ;
6
6
7
+ /**
8
+ * Returns the option from list of option by value
9
+ *
10
+ * @param {any } value value of option
11
+ * @param {[{ label: string, value: any }] } selectOptions list of option
12
+ *
13
+ * @returns {{ label: string, value: any } } select option
14
+ */
15
+ const getSelectOptionByValue = ( value , selectOptions ) => {
16
+ const option = _ . find ( selectOptions , { value } ) ;
17
+
18
+ if ( ! option ) {
19
+ return {
20
+ label : `Unsuppored value: ${ value } ` ,
21
+ value,
22
+ }
23
+ }
24
+
25
+ return option
26
+ }
27
+
7
28
/**
8
29
* Extract value from field by type
9
30
* @param {any } value value
@@ -18,12 +39,14 @@ const extractValue = (value, field) => {
18
39
switch ( field . type ) {
19
40
case FORM_FIELD_TYPE . SELECT : {
20
41
return field . isMulti
21
- ? value . map ( ( x ) => field . selectOptions . find ( ( y ) => y . value === x ) )
22
- : field . selectOptions . find ( ( y ) => y . value === value ) ;
42
+ ? value . map ( ( valueItem ) => getSelectOptionByValue ( valueItem , field . selectOptions ) )
43
+ : getSelectOptionByValue ( value , field . selectOptions )
23
44
}
45
+
24
46
case FORM_FIELD_TYPE . DATE : {
25
47
return new Date ( value ) ;
26
48
}
49
+
27
50
default : {
28
51
return value ;
29
52
}
You can’t perform that action at this time.
0 commit comments