Skip to content

Commit 9696a6c

Browse files
committed
Fix: PlanetNavigatorのHome削除 & SnippetsとBlueprintsはToggleができるように
1 parent 211fd8b commit 9696a6c

4 files changed

Lines changed: 59 additions & 18 deletions

File tree

browser/main/Components/PlanetNavigator.jsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ var PlanetNavigator = React.createClass({
1313
search: React.PropTypes.string,
1414
openLaunchModal: React.PropTypes.func,
1515
openAddUserModal: React.PropTypes.func,
16-
showAll: React.PropTypes.func,
17-
showOnlySnippets: React.PropTypes.func,
18-
showOnlyBlueprints: React.PropTypes.func
16+
toggleSnippetFilter: React.PropTypes.func,
17+
toggleBlueprintFilter: React.PropTypes.func
1918
},
2019
getInitialState: function () {
2120
return {
@@ -53,13 +52,10 @@ var PlanetNavigator = React.createClass({
5352
<i className='fa fa-rocket fa-fw'/> Launch
5453
</button>
5554
<nav>
56-
<a className={usingSnippetFilter === usingBlueprintFilter ? 'active' : ''} onClick={this.props.showAll}>
57-
<i className='fa fa-home fa-fw'/> Home
58-
</a>
59-
<a className={usingSnippetFilter && !usingBlueprintFilter ? 'active' : ''} onClick={this.props.showOnlySnippets}>
55+
<a className={usingSnippetFilter && !usingBlueprintFilter ? 'active' : ''} onClick={this.props.toggleSnippetFilter}>
6056
<i className='fa fa-code fa-fw'/> Snippets
6157
</a>
62-
<a className={!usingSnippetFilter && usingBlueprintFilter ? 'active' : ''} onClick={this.props.showOnlyBlueprints}>
58+
<a className={!usingSnippetFilter && usingBlueprintFilter ? 'active' : ''} onClick={this.props.toggleBlueprintFilter}>
6359
<i className='fa fa-file-text-o fa-fw'/> Blueprints
6460
</a>
6561
</nav>

browser/main/Containers/PlanetContainer.jsx

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,11 +339,57 @@ module.exports = React.createClass({
339339
showAll: function () {
340340
this.setState({search: ''})
341341
},
342-
showOnlySnippets: function () {
343-
this.setState({search: '$s'})
342+
toggleSnippetFilter: function () {
343+
var keywords = typeof this.state.search === 'string' ? this.state.search.split(' ') : []
344+
345+
var usingSnippetFilter = false
346+
var usingBlueprintFilter = false
347+
keywords = keywords.filter(function (keyword) {
348+
if (keyword === '$b') {
349+
usingBlueprintFilter = true
350+
return false
351+
}
352+
if (keyword === '$s') usingSnippetFilter = true
353+
return true
354+
})
355+
356+
if (usingSnippetFilter && !usingBlueprintFilter) {
357+
keywords = keywords.filter(function (keyword) {
358+
return keyword !== '$s'
359+
})
360+
}
361+
362+
if (!usingSnippetFilter) {
363+
keywords.unshift('$s')
364+
}
365+
366+
this.setState({search: keywords.join(' ')})
344367
},
345-
showOnlyBlueprints: function () {
346-
this.setState({search: '$b'})
368+
toggleBlueprintFilter: function () {
369+
var keywords = typeof this.state.search === 'string' ? this.state.search.split(' ') : []
370+
371+
var usingSnippetFilter = false
372+
var usingBlueprintFilter = false
373+
keywords = keywords.filter(function (keyword) {
374+
if (keyword === '$s') {
375+
usingSnippetFilter = true
376+
return false
377+
}
378+
if (keyword === '$b') usingBlueprintFilter = true
379+
return true
380+
})
381+
382+
if (usingBlueprintFilter && !usingSnippetFilter) {
383+
keywords = keywords.filter(function (keyword) {
384+
return keyword !== '$b'
385+
})
386+
}
387+
388+
if (!usingBlueprintFilter) {
389+
keywords.unshift('$b')
390+
}
391+
392+
this.setState({search: keywords.join(' ')})
347393
},
348394
showOnlyWithTag: function (tag) {
349395
return function () {
@@ -560,7 +606,7 @@ module.exports = React.createClass({
560606
<PlanetNavigator openLaunchModal={this.openLaunchModal} openAddUserModal={this.openAddUserModal}
561607
search={this.state.search}
562608
showAll={this.showAll}
563-
showOnlySnippets={this.showOnlySnippets} showOnlyBlueprints={this.showOnlyBlueprints} currentPlanet={this.state.currentPlanet}/>
609+
toggleSnippetFilter={this.toggleSnippetFilter} toggleBlueprintFilter={this.toggleBlueprintFilter} currentPlanet={this.state.currentPlanet}/>
564610

565611
<PlanetArticleList showOnlyWithTag={this.showOnlyWithTag} ref='list' articles={filteredArticles}/>
566612

browser/styles/main/containers/PlanetContainer.styl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,8 @@
111111
color textColor
112112
cursor pointer
113113
transition 0.1s
114-
&:hover, &.hover
115-
background-color hoverBackgroundColor
116-
&:active, &.active
117-
color brandColor
114+
btnDefault()
115+
border none
118116
.usersLabel
119117
margin-top 35px
120118
margin-bottom 5px

browser/styles/vars.styl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ buttonBorderColor = #4C4C4C
77

88
lightButtonColor = #898989
99

10-
hoverBackgroundColor= transparentify(#444, 3%)
10+
hoverBackgroundColor= transparentify(#444, 10%)
11+
activeBackgroundColor= transparentify(#888, 10%)
1112

1213
// v0.2.0
1314
inactiveTextColor = #888

0 commit comments

Comments
 (0)