Create entries list section
This commit is contained in:
parent
d30477bd9d
commit
b497ec46f2
5 changed files with 26 additions and 14 deletions
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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%;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue