kopia lustrzana https://github.com/OpenDroneMap/WebODM
Project list items UI mockup
rodzic
d688c60b49
commit
a4d2e804db
|
@ -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{
|
||||||
|
|
|
@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,8 @@ class ProjectListItemPanel extends React.Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="project-list-item-panel">
|
||||||
Sup!
|
TODO
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
#dashboard-app{
|
#dashboard-app{
|
||||||
background-color: yellow;
|
.project-list-item{
|
||||||
|
min-height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-list-item-panel{
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
}
|
}
|
Ładowanie…
Reference in New Issue