Skip to content

Commit ac634c6

Browse files
authored
Merge branch 'master' into feature/request-url
2 parents b9be097 + 3739995 commit ac634c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1044
-155
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
As a brand new version, written from the ground up, there are some known issues and unimplemented features. Check out the [Known Issues](#known-issues) section for more details.
1212

13-
This repo publishes to two different NPM packages:
13+
This repository publishes to two different NPM modules:
1414

15-
* [swagger-ui](https://www.npmjs.com/package/swagger-ui) is intended for use as a node module.
16-
* [swagger-ui-dist](https://www.npmjs.com/package/swagger-ui-dist) comes pre-bundled with all dependencies and can be incorporated directly in a webapp.
15+
* [swagger-ui](https://www.npmjs.com/package/swagger-ui) is a traditional npm module intended for use in JavaScript web application projects that are capable of resolving dependencies (via Webpack, Browserify, etc).
16+
* [swagger-ui-dist](https://www.npmjs.com/package/swagger-ui-dist) is a dependency-free module that includes everything you need to serve Swagger-UI in a server-side project, or a web project that can't resolve npm module dependencies.
1717

1818
For the older version of swagger-ui, refer to the [*2.x branch*](https://github.com/swagger-api/swagger-ui/tree/2.x).
1919

@@ -22,7 +22,7 @@ The OpenAPI Specification has undergone 5 revisions since initial creation in 20
2222

2323
Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes
2424
------------------ | ------------ | -------------------------- | -----
25-
3.2.0 | 2017-09-08 | 2.0, 3.0 | [tag v3.2.0](https://github.com/swagger-api/swagger-ui/tree/v3.2.0)
25+
3.2.2 | 2017-09-22 | 2.0, 3.0 | [tag v3.2.2](https://github.com/swagger-api/swagger-ui/tree/v3.2.2)
2626
3.0.21 | 2017-07-26 | 2.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-ui/tree/v3.0.21)
2727
2.2.10 | 2017-01-04 | 1.1, 1.2, 2.0 | [tag v2.2.10](https://github.com/swagger-api/swagger-ui/tree/v2.2.10)
2828
2.1.5 | 2016-07-20 | 1.1, 1.2, 2.0 | [tag v2.1.5](https://github.com/swagger-api/swagger-ui/tree/v2.1.5)
@@ -46,7 +46,7 @@ Will start nginx with swagger-ui on port 80.
4646
Or you can provide your own swagger.json on your host
4747

4848
```
49-
docker run -p 80:8080 -e "SWAGGER_JSON=/foo/swagger.json" -v /bar:/foo swaggerapi/swagger-ui
49+
docker run -p 80:8080 -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui
5050
```
5151

5252
##### Prerequisites
@@ -151,6 +151,8 @@ domNode | The HTML DOM element inside which SwaggerUi will put the user interfac
151151
oauth2RedirectUrl | OAuth redirect URL
152152
tagsSorter | Apply a sort to the tag list of each API. It can be 'alpha' (sort by paths alphanumerically) or a function (see [Array.prototype.sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) to learn how to write a sort function). Two tag name strings are passed to the sorter for each pass. Default is the order determined by Swagger-UI.
153153
operationsSorter | Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically), 'method' (sort by HTTP method) or a function (see Array.prototype.sort() to know how sort function works). Default is the order returned by the server unchanged.
154+
defaultModelRendering | Controls how models are shown when the API is first rendered. (The user can always switch the rendering for a given model by clicking the 'Model' and 'Example Value' links.) It can be set to 'model' or 'example', and the default is 'example'.
155+
defaultModelExpandDepth | The default expansion depth for models. The default value is 1.
154156
configUrl | Configs URL
155157
parameterMacro | MUST be a function. Function to set default value to parameters. Accepts two arguments parameterMacro(operation, parameter). Operation and parameter are objects passed for context, both remain immutable
156158
modelPropertyMacro | MUST be a function. Function to set default values to each property in model. Accepts one argument modelPropertyMacro(property), property is immutable

dist/swagger-ui-bundle.js

Lines changed: 16 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/swagger-ui-bundle.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/swagger-ui-standalone-preset.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/swagger-ui.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/swagger-ui.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/swagger-ui.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "swagger-ui",
3-
"version": "3.2.0",
3+
"version": "3.2.2",
44
"main": "dist/swagger-ui.js",
55
"repository": "[email protected]:swagger-api/swagger-ui.git",
66
"contributors": [
@@ -41,6 +41,9 @@
4141
"dependencies": {
4242
"base64-js": "^1.2.0",
4343
"brace": "0.7.0",
44+
"classnames": "^2.2.5",
45+
"commonmark": "^0.28.1",
46+
"css.escape": "1.5.1",
4447
"deep-extend": "0.4.1",
4548
"expect": "1.20.2",
4649
"getbase": "^2.8.2",
@@ -65,17 +68,17 @@
6568
"react-motion": "0.4.4",
6669
"react-object-inspector": "0.2.1",
6770
"react-redux": "^4.x.x",
68-
"react-remarkable": "1.1.1",
6971
"react-split-pane": "0.1.57",
7072
"redux": "^3.x.x",
7173
"redux-immutable": "3.0.8",
7274
"redux-logger": "*",
75+
"remarkable": "^1.7.1",
7376
"reselect": "2.5.3",
7477
"sanitize-html": "^1.14.1",
7578
"scroll-to-element": "^2.0.0",
7679
"serialize-error": "2.0.0",
7780
"shallowequal": "0.2.2",
78-
"swagger-client": "3.1.0",
81+
"swagger-client": "^3.1.2",
7982
"url-parse": "^1.1.8",
8083
"whatwg-fetch": "0.11.1",
8184
"worker-loader": "^0.7.1",

src/core/components/array-model.jsx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ export default class ArrayModel extends Component {
1616

1717
render(){
1818
let { getComponent, schema, depth, expandDepth, name } = this.props
19+
let description = schema.get("description")
1920
let items = schema.get("items")
2021
let title = schema.get("title") || name
21-
let properties = schema.filter( ( v, key) => ["type", "items", "$$ref"].indexOf(key) === -1 )
22+
let properties = schema.filter( ( v, key) => ["type", "items", "description", "$$ref"].indexOf(key) === -1 )
2223

24+
const Markdown = getComponent("Markdown")
2325
const ModelCollapse = getComponent("ModelCollapse")
2426
const Model = getComponent("Model")
2527

@@ -28,18 +30,25 @@ export default class ArrayModel extends Component {
2830
<span className="model-title__text">{ title }</span>
2931
</span>
3032

33+
/*
34+
Note: we set `name={null}` in <Model> below because we don't want
35+
the name of the current Model passed (and displayed) as the name of the array element Model
36+
*/
37+
3138
return <span className="model">
3239
<ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]">
3340
[
34-
<span><Model { ...this.props } schema={ items } required={ false } depth={ depth + 1 } /></span>
41+
{
42+
properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={ propStyle }>
43+
<br />{ key }: { String(v) }</span>)
44+
: null
45+
}
46+
{
47+
!description ? null :
48+
<Markdown source={ description } />
49+
}
50+
<span><Model { ...this.props } name={null} schema={ items } required={ false } depth={ depth + 1 } /></span>
3551
]
36-
{
37-
properties.size ? <span>
38-
{ properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={propStyle}>
39-
<br />{ `${key}:`}{ String(v) }</span>)
40-
}<br /></span>
41-
: null
42-
}
4352
</ModelCollapse>
4453
</span>
4554
}

src/core/components/model-example.jsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,19 @@ export default class ModelExample extends React.Component {
77
specSelectors: PropTypes.object.isRequired,
88
schema: PropTypes.object.isRequired,
99
example: PropTypes.any.isRequired,
10-
isExecute: PropTypes.bool
10+
isExecute: PropTypes.bool,
11+
getConfigs: PropTypes.func.isRequired
1112
}
1213

1314
constructor(props, context) {
1415
super(props, context)
15-
16+
let { getConfigs } = this.props
17+
let { defaultModelRendering } = getConfigs()
18+
if (defaultModelRendering !== "example" && defaultModelRendering !== "model") {
19+
defaultModelRendering = "example"
20+
}
1621
this.state = {
17-
activeTab: "example"
22+
activeTab: defaultModelRendering
1823
}
1924
}
2025

@@ -27,7 +32,8 @@ export default class ModelExample extends React.Component {
2732
}
2833

2934
render() {
30-
let { getComponent, specSelectors, schema, example, isExecute } = this.props
35+
let { getComponent, specSelectors, schema, example, isExecute, getConfigs } = this.props
36+
let { defaultModelExpandDepth } = getConfigs()
3137
const ModelWrapper = getComponent("ModelWrapper")
3238

3339
return <div>
@@ -47,7 +53,7 @@ export default class ModelExample extends React.Component {
4753
!isExecute && this.state.activeTab === "model" && <ModelWrapper schema={ schema }
4854
getComponent={ getComponent }
4955
specSelectors={ specSelectors }
50-
expandDepth={ 1 } />
56+
expandDepth={ defaultModelExpandDepth } />
5157

5258

5359
}

0 commit comments

Comments
 (0)