Skip to content

Commit ef5c220

Browse files
committed
modified: components/SLDSLookup/Menu/index.js
1 parent 72a9415 commit ef5c220

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

components/SLDSLookup/Menu/index.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,13 @@ class Menu extends React.Component {
6565
return <div className={isActiveClass}>{this.props.footer}</div>;
6666
}
6767
}
68-
68+
renderMessages(){
69+
if (this.props.messages.length){
70+
return <li className="slds-lookup__item" role="presentaion">
71+
{this.props.messages.join("; ")}
72+
</li>
73+
}
74+
}
6975
renderItems(){
7076
return this.props.items.filter(this.filter, this).map((c, i) => {
7177
//isActive means it is aria-activedescendant
@@ -97,11 +103,10 @@ class Menu extends React.Component {
97103
return (
98104
<section id="menuContainer">
99105
{this.renderHeader()}
100-
101106
<ul id="list" className="slds-lookup__list" role="presentation" ref="list">
107+
{this.renderMessages()}
102108
{this.renderItems()}
103109
</ul>
104-
105110
{this.renderFooter()}
106111
</section>
107112
)
@@ -115,6 +120,7 @@ Menu.propTypes = {
115120
focusIndex: React.PropTypes.number,
116121
listLength: React.PropTypes.number,
117122
items: React.PropTypes.array,
123+
messages: React.PropTypes.arrayOf(React.PropTypes.string),
118124
filterWith: React.PropTypes.func,
119125
getListLength: React.PropTypes.func,
120126
setFocus: React.PropTypes.func,

components/SLDSLookup/index.jsx

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ class SLDSLookup extends React.Component {
3737
focusIndex:null,
3838
selectedIndex: null,
3939
listLength:this.props.items.length,
40-
items:[]
40+
items:[],
41+
errors:[],
42+
messages:[],
4143
};
4244

4345

@@ -189,6 +191,8 @@ class SLDSLookup extends React.Component {
189191
focusIndex={this.state.focusIndex}
190192
listLength={this.state.listLength}
191193
items={this.state.items}
194+
emptyMessage={this.props.emptyMessage}
195+
messages={this.state.messages}
192196
filterWith={this.props.filterWith}
193197
getListLength={this.getListLength.bind(this)}
194198
setFocus={this.setFocus.bind(this)}
@@ -220,6 +224,11 @@ class SLDSLookup extends React.Component {
220224
}
221225
};
222226

227+
renderErrors(){
228+
if (this.state.errors.length){
229+
return <div className="slds-lookup__error">{this.state.errors.join("; ")}</div>;
230+
}
231+
}
223232
renderSelectedItem(){
224233
let selectedItem = this.props.items[this.state.selectedIndex].label;
225234
return (
@@ -257,6 +266,12 @@ class SLDSLookup extends React.Component {
257266
if(newProps.items){
258267
this.modifyItems(newProps.items);
259268
}
269+
if (newProps.message){
270+
this.setState({message: newProps.message});
271+
}
272+
if (newProps.error){
273+
this.setState({error: newProps.error});
274+
}
260275
}
261276

262277
render(){
@@ -292,7 +307,7 @@ class SLDSLookup extends React.Component {
292307
value={this.state.searchTerm}
293308
/>
294309
</div>
295-
310+
{this.renderErrors()}
296311
{this.props.modal?this.renderModalMenu():this.renderSimpleMenu()}
297312
</section>
298313
</div>
@@ -303,6 +318,9 @@ class SLDSLookup extends React.Component {
303318

304319
SLDSLookup.propTypes = {
305320
items: React.PropTypes.array,
321+
errors: React.PropTypes.arrayOf(React.PropTypes.string),
322+
emptyMessage: React.PropTypes.string
323+
messages: React.PropTypes.arrayOf(React.PropTypes.string),
306324
label: React.PropTypes.string,
307325
type: React.PropTypes.string,
308326
filterWith: React.PropTypes.func,

0 commit comments

Comments
 (0)