1 import React from 'react';
2 import FontAwesome from 'react-fontawesome';
3 import Input from 'react-bootstrap/lib/Input.js';
6 class ListEditorView extends React.Component {
8 static defaultProps = {
13 title: React.PropTypes.string,
14 plusButtonTitle: React.PropTypes.string,
15 children: React.PropTypes.node,
16 filterValue: React.PropTypes.string,
17 onFilter: React.PropTypes.func,
18 className: React.PropTypes.string,
19 isReadOnlyMode: React.PropTypes.bool,
20 placeholder: React.PropTypes.string
24 let {title, plusButtonTitle, onAdd, children, filterValue, onFilter, className, placeholder, isReadOnlyMode} = this.props;
26 <div className={`list-editor-view ${className}`}>
27 {title && onAdd && <div className='list-editor-view-title'>{title}</div>}
28 <div className='list-editor-view-actions'>
29 {title && !onAdd && <div className='list-editor-view-title-inline'>{title}</div>}
30 <div className={`list-editor-view-add-controller${isReadOnlyMode ? ' disabled' : ''}`} >
33 <span className='plus-icon-button pull-left'/>
34 <span>{plusButtonTitle}</span>
41 <div className='list-editor-view-search search-wrapper'>
46 name='list-editor-view-search'
47 placeholder={placeholder}
48 groupClassName='search-input-control'
49 onChange={() => onFilter(this.refs.filter.getValue())}/>
50 <FontAwesome name='filter' className='filter-icon'/>
54 <div className='list-editor-view-list-scroller'>
55 <div className='list-editor-view-list'>
64 export default ListEditorView;