1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

modify: add folder selector on top of note detail component

This commit is contained in:
sota1235
2017-01-14 15:44:28 +09:00
parent 297553c240
commit a148d17ba1
7 changed files with 46 additions and 19 deletions

View File

@@ -262,13 +262,11 @@ class FolderSelect extends React.Component {
: <div styleName='idle'> : <div styleName='idle'>
<div styleName='idle-label'> <div styleName='idle-label'>
<span styleName='idle-label-name' <span styleName='idle-label-name'
style={{borderColor: currentOption.folder.color}} style={{color: currentOption.folder.color}}
> >
{currentOption.folder.name} {currentOption.folder.name} /
<span styleName='idle-label-name-surfix'>in {currentOption.storage.name}</span>
</span> </span>
</div> </div>
<i styleName='idle-caret' className='fa fa-fw fa-caret-down' />
</div> </div>
} }

View File

@@ -7,29 +7,27 @@
transition 0.15s transition 0.15s
user-select none user-select none
&:hover &:hover
background-color white background-color $ui-button--hover-backgroundColor
border-color $ui-borderColor
.root--search, .root--focus .root--search, .root--focus
@extend .root @extend .root
background-color white background-color $ui-noteDetail-backgroundColor = #F4F4F4
border-color $ui-input--focus-borderColor border-color $ui-input--focus-borderColor
width 100px
&:hover &:hover
background-color white
border-color $ui-input--focus-borderColor border-color $ui-input--focus-borderColor
.idle .idle
position relative position relative
cursor pointer cursor pointer
.idle-label .idle-label
absolute left top
padding 0 0 0 5px
right 20px right 20px
overflow ellipsis overflow ellipsis
.idle-label-name .idle-label-name
border-left solid 4px transparent padding 2px
padding 2px 5px
.idle-label-name-surfix .idle-label-name-surfix
font-size 10px font-size 10px
color $ui-inactive-text-color color $ui-inactive-text-color
@@ -60,9 +58,9 @@
max-height 450px max-height 450px
overflow auto overflow auto
z-index 200 z-index 200
border $ui-border
background-color white background-color white
border-radius 2px border-radius 2px
box-shadow 2px 2px 10px gray
.search-optionList-item .search-optionList-item
height 34px height 34px
@@ -115,8 +113,8 @@ body[data-theme="dark"]
.search-optionList .search-optionList
color white color white
border-color $ui-dark-borderColor
background-color $ui-dark-button--hover-backgroundColor background-color $ui-dark-button--hover-backgroundColor
box-shadow 2px 2px 10px black
.search-optionList-item .search-optionList-item
&:hover &:hover

View File

@@ -4,6 +4,7 @@ import styles from './MarkdownNoteDetail.styl'
import MarkdownEditor from 'browser/components/MarkdownEditor' import MarkdownEditor from 'browser/components/MarkdownEditor'
import StarButton from './StarButton' import StarButton from './StarButton'
import TagSelect from './TagSelect' import TagSelect from './TagSelect'
import FolderSelect from './FolderSelect'
import dataApi from 'browser/main/lib/dataApi' import dataApi from 'browser/main/lib/dataApi'
import { hashHistory } from 'react-router' import { hashHistory } from 'react-router'
import ee from 'browser/main/lib/eventEmitter' import ee from 'browser/main/lib/eventEmitter'
@@ -204,7 +205,7 @@ class MarkdownNoteDetail extends React.Component {
} }
render () { render () {
let { config } = this.props let { data, config } = this.props
let { note } = this.state let { note } = this.state
return ( return (
@@ -218,6 +219,15 @@ class MarkdownNoteDetail extends React.Component {
onClick={(e) => this.handleStarButtonClick(e)} onClick={(e) => this.handleStarButtonClick(e)}
isActive={note.isStarred} isActive={note.isStarred}
/> />
<div styleName='info-left-top'>
<FolderSelect styleName='info-left-top-folderSelect'
value={this.state.note.storage + '-' + this.state.note.folder}
ref='folder'
data={data}
onChange={(e) => this.handleFolderChange(e)}
/>
</div>
<TagSelect <TagSelect
ref='tags' ref='tags'
value={this.state.note.tags} value={this.state.note.tags}

View File

@@ -16,6 +16,19 @@ $info-margin-under-border = 27px
padding 0 5px padding 0 5px
margin 0px 2px margin 0px 2px
.info-left-top
display inline-block
height $info-height
line-height $info-height
.info-left-top-folderSelect
display inline-block
padding 0 3px
height 34px
line-height 34px
vertical-align middle
border-radius 3px
.info-left-button .info-left-button
width 34px width 34px
height 34px height 34px

View File

@@ -5,6 +5,7 @@ import CodeEditor from 'browser/components/CodeEditor'
import MarkdownEditor from 'browser/components/MarkdownEditor' import MarkdownEditor from 'browser/components/MarkdownEditor'
import StarButton from './StarButton' import StarButton from './StarButton'
import TagSelect from './TagSelect' import TagSelect from './TagSelect'
import FolderSelect from './FolderSelect'
import dataApi from 'browser/main/lib/dataApi' import dataApi from 'browser/main/lib/dataApi'
import { hashHistory } from 'react-router' import { hashHistory } from 'react-router'
import ee from 'browser/main/lib/eventEmitter' import ee from 'browser/main/lib/eventEmitter'
@@ -459,7 +460,7 @@ class SnippetNoteDetail extends React.Component {
} }
render () { render () {
let { config } = this.props let { data, config } = this.props
let { note } = this.state let { note } = this.state
let editorFontSize = parseInt(config.editor.fontSize, 10) let editorFontSize = parseInt(config.editor.fontSize, 10)
@@ -527,6 +528,15 @@ class SnippetNoteDetail extends React.Component {
onClick={(e) => this.handleStarButtonClick(e)} onClick={(e) => this.handleStarButtonClick(e)}
isActive={note.isStarred} isActive={note.isStarred}
/> />
<div styleName='info-left-top'>
<FolderSelect styleName='info-left-top-folderSelect'
value={this.state.note.storage + '-' + this.state.note.folder}
ref='folder'
data={data}
onChange={(e) => this.handleFolderChange(e)}
/>
</div>
<TagSelect <TagSelect
ref='tags' ref='tags'
value={this.state.note.tags} value={this.state.note.tags}

View File

@@ -1,5 +1,4 @@
.root .root
position absolute
left 7px left 7px
top 0 top 0
padding 0 padding 0

View File

@@ -1,7 +1,6 @@
.root .root
position absolute display inline-block
top 19px top 19px
left 44px
user-select none user-select none
vertical-align middle vertical-align middle
width 300px width 300px