Skip to content

Commit e77c980

Browse files
authored
Merge branch 'master' into ft/2884-operation-deep-linking
2 parents 11c34d0 + 08e84a0 commit e77c980

File tree

4 files changed

+38
-15
lines changed

4 files changed

+38
-15
lines changed

src/core/components/layouts/base.jsx

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@ export default class BaseLayout extends React.Component {
1313
getComponent: PropTypes.func.isRequired
1414
}
1515

16+
onFilterChange =(e) => {
17+
let {target: {value}} = e
18+
this.props.layoutActions.updateFilter(value)
19+
}
20+
1621
render() {
17-
let { specSelectors, specActions, getComponent } = this.props
22+
let { specSelectors, specActions, getComponent, layoutSelectors } = this.props
1823

1924
let info = specSelectors.info()
2025
let url = specSelectors.url()
@@ -31,6 +36,15 @@ export default class BaseLayout extends React.Component {
3136
let Row = getComponent("Row")
3237
let Col = getComponent("Col")
3338
let Errors = getComponent("errors", true)
39+
40+
let isLoading = specSelectors.loadingStatus() === "loading"
41+
let isFailed = specSelectors.loadingStatus() === "failed"
42+
let filter = layoutSelectors.currentFilter()
43+
44+
let inputStyle = {}
45+
if(isFailed) inputStyle.color = "red"
46+
if(isLoading) inputStyle.color = "#aaa"
47+
3448
const Schemes = getComponent("schemes")
3549

3650
const isSpecEmpty = !specSelectors.specStr()
@@ -57,13 +71,23 @@ export default class BaseLayout extends React.Component {
5771
{ schemes && schemes.size ? (
5872
<Schemes schemes={ schemes } specActions={ specActions } />
5973
) : null }
74+
6075
{ securityDefinitions ? (
6176
<AuthorizeBtn />
6277
) : null }
6378
</Col>
6479
</div>
6580
) : null }
6681

82+
{
83+
filter === null || filter === false ? null :
84+
<div className="filter-container">
85+
<Col className="filter wrapper" mobile={12}>
86+
<input className="operation-filter-input" placeholder="Filter by tag" type="text" onChange={this.onFilterChange} value={filter === true || filter === "true" ? "" : filter} disabled={isLoading} style={inputStyle} />
87+
</Col>
88+
</div>
89+
}
90+
6791
<Row>
6892
<Col mobile={12} desktop={12} >
6993
<Operations/>

src/plugins/topbar/topbar.jsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import Logo from "./logo_small.png"
77
export default class Topbar extends React.Component {
88

99
static propTypes = {
10-
layoutSelectors: PropTypes.object.isRequired,
1110
layoutActions: PropTypes.object.isRequired
1211
}
1312

@@ -91,13 +90,12 @@ export default class Topbar extends React.Component {
9190
}
9291

9392
render() {
94-
let { getComponent, specSelectors, getConfigs, layoutSelectors } = this.props
93+
let { getComponent, specSelectors, getConfigs } = this.props
9594
const Button = getComponent("Button")
9695
const Link = getComponent("Link")
9796

9897
let isLoading = specSelectors.loadingStatus() === "loading"
9998
let isFailed = specSelectors.loadingStatus() === "failed"
100-
let filter = layoutSelectors.currentFilter()
10199

102100
let inputStyle = {}
103101
if(isFailed) inputStyle.color = "red"
@@ -135,10 +133,6 @@ export default class Topbar extends React.Component {
135133
<img height="30" width="30" src={ Logo } alt="Swagger UX"/>
136134
<span>swagger</span>
137135
</Link>
138-
{
139-
filter === null || filter === false ? null :
140-
<input className="operation-filter-input" placeholder="filter..." type="text" onChange={this.onFilterChange} value={filter === true ? "" : filter} disabled={isLoading} style={inputStyle} />
141-
}
142136
<form className="download-url-wrapper" onSubmit={formOnSubmit}>
143137
{control}
144138
</form>

src/style/_layout.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,18 @@ body
327327
}
328328
}
329329

330+
.filter
331+
{
332+
.operation-filter-input
333+
{
334+
width: 100%;
335+
margin: 20px 0;
336+
padding: 10px 10px;
337+
338+
border: 2px solid #d8dde7;
339+
}
340+
}
341+
330342

331343
.tab
332344
{

src/style/_topbar.scss

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@
2929
padding: 0 10px;
3030
}
3131
}
32-
.operation-filter-input
33-
{
34-
border: 2px solid #547f00;
35-
border-right: none;
36-
border-radius: 4px 0 0 4px;
37-
}
3832

3933
.download-url-wrapper
4034
{
@@ -49,7 +43,6 @@
4943
margin: 0;
5044

5145
border: 2px solid #547f00;
52-
border-radius: 0 0 0 0;
5346
outline: none;
5447
}
5548

0 commit comments

Comments
 (0)