Create entries list section

This commit is contained in:
Joey Payne 2016-02-26 17:53:40 -07:00
commit b497ec46f2
5 changed files with 26 additions and 14 deletions

View file

@ -56,7 +56,7 @@ export default class EntrySelector extends React.Component {
render(){ render(){
return ( return (
<div id={this.props.id} className={this.props.className}></div>
) )

View file

@ -26,6 +26,7 @@ import glob from 'glob'
import fs from 'fs' import fs from 'fs'
import mkdirp from 'mkdirp' import mkdirp from 'mkdirp'
import jsfile from 'jsonfile' import jsfile from 'jsonfile'
import rmdir from 'rimraf'
const colors = styles.Colors const colors = styles.Colors
@ -49,6 +50,7 @@ const {
IconButton, IconButton,
EnhancedButton, EnhancedButton,
NavigationClose, NavigationClose,
FloatingActionButton,
Menu, Menu,
MenuItem, MenuItem,
Mixins, Mixins,
@ -59,8 +61,7 @@ const {
TextField, TextField,
Dialog, Dialog,
Styles, Styles,
Tab, LeftNav,
Tabs,
Paper} = mui Paper} = mui
let SelectableList = SelectableContainerEnhance(List) let SelectableList = SelectableContainerEnhance(List)
@ -100,7 +101,7 @@ export default class LibraryNav extends React.Component {
constructor(props, context){ constructor(props, context){
super(props, context) super(props, context)
this.state = { this.state = {
open: false, open: true,
navItems: [ navItems: [
{ {
'name': 'Entries', 'name': 'Entries',
@ -338,7 +339,10 @@ export default class LibraryNav extends React.Component {
deleteTapped = (i) => { deleteTapped = (i) => {
var nbs = this.state.notebooks var nbs = this.state.notebooks
nbs.splice(i, 1) var nb = nbs.splice(i, 1)[0]
rmdir(nb.path, (err)=>{if(err){console.log(err)}})
this.setState({notebooks: nbs}) this.setState({notebooks: nbs})
this.props.closeContextMenu() this.props.closeContextMenu()
} }
@ -408,10 +412,12 @@ export default class LibraryNav extends React.Component {
ref={notebook.title+i} ref={notebook.title+i}
className="noselect" className="noselect"
onTouchTap={this.noteBookTapped.bind(this, i)} onTouchTap={this.noteBookTapped.bind(this, i)}
leftIcon={<NoteBook onTouchTap={this.notebookIconTapped.bind(this, i)} color={colors.grey500}/>} leftIcon={<NoteBook
onTouchTap={this.notebookIconTapped.bind(this, i)}
color={colors.grey500}/>}
rightIcon={<Badge rightIcon={<Badge
style={{'padding': 0}} style={{'padding': 0}}
badgeContent={notebook.notes} />} badgeContent={notebook.notes} />}
/> />
} }
return l return l
@ -425,7 +431,7 @@ export default class LibraryNav extends React.Component {
render(){ render(){
return ( return (
<div id={this.props.id} className={this.props.className || ""}> <div id={this.props.id} className={this.props.className+" leftnav"} open={this.state.open}>
<SelectableList ref='mainList' className="list" id="main-nav" subheader="Library"> <SelectableList ref='mainList' className="list" id="main-nav" subheader="Library">
{this.state.navItems.map((item, i) => { {this.state.navItems.map((item, i) => {
return <ListItem return <ListItem
@ -439,7 +445,6 @@ export default class LibraryNav extends React.Component {
})} })}
</SelectableList> </SelectableList>
<Divider /> <Divider />
<div>
<SelectableList id="nblist" className="list" ref='notebookList' subheader={<div> <SelectableList id="nblist" className="list" ref='notebookList' subheader={<div>
<div className="inline">NoteBooks</div> <div className="inline">NoteBooks</div>
<IconButton <IconButton
@ -453,7 +458,6 @@ export default class LibraryNav extends React.Component {
</div>}> </div>}>
{this.notebookList()} {this.notebookList()}
</SelectableList> </SelectableList>
</div>
</div> </div>
) )
} }

View file

@ -1,6 +1,5 @@
import React from 'react' import React from 'react'
import getMuiTheme from 'material-ui/lib/styles/getMuiTheme' import getMuiTheme from 'material-ui/lib/styles/getMuiTheme'
import LibraryNav from 'LibraryNav'
import Styles from 'material-ui/lib/styles' import Styles from 'material-ui/lib/styles'
import Rethink from 'rethinkdbdash' import Rethink from 'rethinkdbdash'
import mui from 'material-ui' import mui from 'material-ui'
@ -9,6 +8,8 @@ import * as ContextMenuActions from '../actions'
import { bindActionCreators } from 'redux' import { bindActionCreators } from 'redux'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import LibraryNav from 'LibraryNav'
import EntrySelector from 'EntrySelector'
const { const {
Popover, Popover,
@ -94,6 +95,8 @@ class App extends React.Component {
className="left inline fill-height" className="left inline fill-height"
{...contextMenuActions} {...contextMenuActions}
/> />
<EntrySelector id="entry-selector" className="left inline fill-height" />
</div> </div>
) )
} }

View file

@ -71,7 +71,8 @@
"react-redux": "^4.4.0", "react-redux": "^4.4.0",
"react-tap-event-plugin": "^0.2.2", "react-tap-event-plugin": "^0.2.2",
"redux": "^3.3.1", "redux": "^3.3.1",
"rethinkdbdash": "^2.2.17" "rethinkdbdash": "^2.2.17",
"rimraf": "^2.5.2"
}, },
"ppapi_flash_version": "", "ppapi_flash_version": "",
"nodejs": true, "nodejs": true,

View file

@ -25,9 +25,13 @@ body, html{
.right{ .right{
float: right; float: right;
} }
#entry-selector{
border-right: solid 1px #d9d9d9;
min-width: 250px;
}
#library-nav{ #library-nav{
border-right: solid 1px #d9d9d9; border-right: solid 1px #d9d9d9;
width: 300px; min-width: 250px !important;
height: 100%; height: 100%;
min-height: 100%; min-height: 100%;
} }