Project list items UI mockup

pull/32/head
Piero Toffanin 2016-10-11 16:37:00 -04:00
rodzic d688c60b49
commit a4d2e804db
4 zmienionych plików z 44 dodań i 15 usunięć

Wyświetl plik

@ -46,11 +46,11 @@ class ProjectList extends React.Component {
return (<div>Loading projects...</div>); return (<div>Loading projects...</div>);
} }
else if (this.state.projects){ else if (this.state.projects){
return (<div> return (<ul className="list-group">
{this.state.projects.map(p => ( {this.state.projects.map(p => (
<ProjectListItem key={p.id} data={p} /> <ProjectListItem key={p.id} data={p} />
))} ))}
</div>); </ul>);
}else if (this.state.error){ }else if (this.state.error){
return (<div>An error occurred: {this.state.error}</div>); return (<div>An error occurred: {this.state.error}</div>);
}else{ }else{

Wyświetl plik

@ -2,26 +2,49 @@ import React from 'react';
import ProjectListItemPanel from './ProjectListItemPanel'; import ProjectListItemPanel from './ProjectListItemPanel';
class ProjectListItem extends React.Component { class ProjectListItem extends React.Component {
constructor(){ constructor(props){
super(); super(props);
this.state = { this.state = {
collapsed: true showPanel: false
}; };
this.handleClick = this.handleClick.bind(this); this.togglePanel = this.togglePanel.bind(this);
} }
handleClick(){ togglePanel(){
this.state.collapsed = !this.state.collapsed; this.setState({
showPanel: !this.state.showPanel
});
} }
render() { render() {
return ( return (
<div onClick={this.handleClick}> <li className="project-list-item list-group-item"
{this.props.data.name} {this.props.data.created_at} href="javascript:void(0);">
<div className="btn-group pull-right">
<button type="button" className="btn btn-primary btn-sm">
<i className="glyphicon glyphicon-upload"></i>
Upload Images
</button>
<button type="button" className="btn btn-default btn-sm">
<i className="fa fa-globe"></i> Map View
</button>
<button type="button" className="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
<span className="caret"></span>
</button>
<ul className="dropdown-menu">
<li><a href="javascript:alert('TODO!');"><i className="fa fa-cube"></i> 3D View</a></li>
</ul>
</div>
{this.props.collapsed ? "" : <ProjectListItemPanel />} <i style={{width: 14}} className={'fa ' + (this.state.showPanel ? 'fa-caret-down' : 'fa-caret-right')}>
</div> </i> <a href="javascript:void(0);" onClick={this.togglePanel}>
{this.props.data.name}
</a>
{this.state.showPanel ? <ProjectListItemPanel /> : ""}
</li>
); );
} }
} }

Wyświetl plik

@ -7,8 +7,8 @@ class ProjectListItemPanel extends React.Component {
render() { render() {
return ( return (
<div> <div className="project-list-item-panel">
Sup! TODO
</div> </div>
); );
} }

Wyświetl plik

@ -1,3 +1,9 @@
#dashboard-app{ #dashboard-app{
background-color: yellow; .project-list-item{
min-height: 60px;
}
.project-list-item-panel{
min-height: 100px;
}
} }