@@ -8,16 +8,8 @@ import IconClose from 'assets/images/icon-close.svg';
8
8
import RemoveTagIcon from 'assets/images/icon-x-cancel.svg' ;
9
9
import styles from './styles.scss' ;
10
10
11
- const CATEGORIES = {
12
- design : 'design' ,
13
- develop : 'develop' ,
14
- data_science : 'data_science' ,
15
- qa : 'qa' ,
16
- } ;
17
-
18
11
export default function AddSkillsModal ( {
19
12
disabled,
20
- category : intialCategory ,
21
13
editingSkills,
22
14
lookupSkills,
23
15
userSkills,
@@ -26,17 +18,14 @@ export default function AddSkillsModal({
26
18
setEditingSkills,
27
19
} ) {
28
20
const [ tempStr , setTempStr ] = React . useState ( '' ) ;
29
- const [ tab , setTab ] = React . useState ( intialCategory ) ;
30
21
const [ displayingSkills , setDisplayingSkills ] = React . useState ( [ ] ) ;
31
- const category = tab ;
32
22
33
23
// onInit
34
24
React . useEffect ( ( ) => {
35
25
setEditingSkills ( [ ...userSkills ] ) ;
36
26
setDisplayingSkills ( [ ...userSkills ] ) ;
37
27
} , [ userSkills ] ) ;
38
28
39
- const find = ( arr , i ) => arr && _ . findIndex ( arr , e => e . toLowerCase ( ) === i . toLowerCase ( ) ) !== - 1 ;
40
29
const findSkill = ( arr , skill ) => arr && arr . find ( a => a . id === skill . id ) ;
41
30
42
31
const handleSkillSelect = ( skill ) => {
@@ -62,19 +51,13 @@ export default function AddSkillsModal({
62
51
63
52
const lookupSkillsOptions = lookupSkills
64
53
. filter ( skill => ! findSkill ( allDisplayingSkills , skill ) )
65
- . filter ( skill => find ( skill . categories , category ) )
66
54
. sort ( ( a , b ) => {
67
55
if ( a . name . toLowerCase ( ) < b . name . toLowerCase ( ) ) return - 1 ;
68
56
if ( a . name . toLowerCase ( ) > b . name . toLowerCase ( ) ) return 1 ;
69
57
return 0 ;
70
58
} ) ;
71
59
72
60
const skillList = allDisplayingSkills . map ( ( skill ) => {
73
- const isOtherCategorySkill = s => ! find ( s . categories , category ) ;
74
- if ( isOtherCategorySkill ( skill ) ) {
75
- return null ;
76
- }
77
-
78
61
const selected = findSkill ( editingSkills , skill ) ;
79
62
return (
80
63
< li key = { skill . id } styleName = { `skillListItem non-removable ${ selected ? 'selected' : '' } ` } >
@@ -99,14 +82,6 @@ export default function AddSkillsModal({
99
82
) ;
100
83
} ) ;
101
84
102
- const getTabName = ( tabname ) => {
103
- if ( tabname === CATEGORIES . design ) return 'Design / UX' ;
104
- if ( tabname === CATEGORIES . develop ) return 'Development' ;
105
- if ( tabname === CATEGORIES . data_science ) return 'Data Science' ;
106
- if ( tabname === CATEGORIES . qa ) return 'QA' ;
107
- return '' ;
108
- } ;
109
-
110
85
return (
111
86
< Modal theme = { { container : styles . modal , overlay : styles [ 'modal-overlay' ] } } >
112
87
< div styleName = "modal-dialog" >
@@ -118,68 +93,30 @@ export default function AddSkillsModal({
118
93
</ GhostButton >
119
94
</ h3 >
120
95
< div styleName = "modal-body" >
121
- < nav styleName = "tabs" >
122
- < ul >
123
- < li
124
- styleName = { tab === CATEGORIES . design ? 'active' : '' }
125
- role = "presentation"
126
- onClick = { ( ) => setTab ( CATEGORIES . design ) }
127
- onKeyDown = { ( ) => { } }
128
- >
129
- { getTabName ( CATEGORIES . design ) }
130
- </ li >
131
- < li
132
- styleName = { tab === CATEGORIES . develop ? 'active' : '' }
133
- role = "presentation"
134
- onClick = { ( ) => setTab ( CATEGORIES . develop ) }
135
- onKeyDown = { ( ) => { } }
136
- >
137
- { getTabName ( CATEGORIES . develop ) }
138
- </ li >
139
- < li
140
- styleName = { tab === CATEGORIES . data_science ? 'active' : '' }
141
- role = "presentation"
142
- onClick = { ( ) => setTab ( CATEGORIES . data_science ) }
143
- onKeyDown = { ( ) => { } }
144
- >
145
- { getTabName ( CATEGORIES . data_science ) }
146
- </ li >
147
- < li
148
- styleName = { tab === CATEGORIES . qa ? 'active' : '' }
149
- role = "presentation"
150
- onClick = { ( ) => setTab ( CATEGORIES . qa ) }
151
- onKeyDown = { ( ) => { } }
152
- >
153
- { getTabName ( CATEGORIES . qa ) }
154
- </ li >
155
- </ ul >
156
- </ nav >
157
- < div styleName = "tabContent" >
158
- < h4 styleName = "title" > Select { getTabName ( tab ) } Skills</ h4 >
96
+ < h4 styleName = "title" > Select Skills</ h4 >
159
97
160
- < FormField label = "Skill" >
161
- < FormInputSelect
162
- options = { lookupSkillsOptions }
163
- onChange = { ( skill ) => {
164
- handleSkillSelect ( skill ) ;
165
- setTempStr ( skill . name ) ;
166
- updateDisplayingSkills ( skill ) ;
167
- } }
168
- matchPos = "any"
169
- matchProp = "name"
170
- labelKey = "name"
171
- valueKey = "name"
172
- placeholder = "Add new skill"
173
- clearable = { false }
174
- disabled = { disabled }
175
- value = { tempStr }
176
- />
177
- </ FormField >
98
+ < FormField label = "Skill" >
99
+ < FormInputSelect
100
+ options = { lookupSkillsOptions }
101
+ onChange = { ( skill ) => {
102
+ handleSkillSelect ( skill ) ;
103
+ setTempStr ( skill . name ) ;
104
+ updateDisplayingSkills ( skill ) ;
105
+ } }
106
+ matchPos = "any"
107
+ matchProp = "name"
108
+ labelKey = "name"
109
+ valueKey = "name"
110
+ placeholder = "Add new skill"
111
+ clearable = { false }
112
+ disabled = { disabled }
113
+ value = { tempStr }
114
+ />
115
+ </ FormField >
178
116
179
- < ul styleName = "skillList" >
180
- { skillList }
181
- </ ul >
182
- </ div >
117
+ < ul styleName = "skillList" >
118
+ { skillList }
119
+ </ ul >
183
120
</ div >
184
121
< div styleName = "modal-footer" >
185
122
< PrimaryButton theme = { { button : styles [ 'button-save' ] } } onClick = { onSave } disabled = { disabled } >
@@ -194,7 +131,6 @@ export default function AddSkillsModal({
194
131
195
132
AddSkillsModal . propTypes = {
196
133
disabled : PT . bool . isRequired ,
197
- category : PT . string . isRequired ,
198
134
editingSkills : PT . arrayOf ( PT . shape ( ) ) . isRequired ,
199
135
lookupSkills : PT . arrayOf ( PT . shape ( ) ) . isRequired ,
200
136
userSkills : PT . arrayOf ( PT . shape ( ) ) . isRequired ,
0 commit comments