Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d981f0f26e | ||
|
|
44c3f09abe | ||
|
|
0c50c7e99f | ||
|
|
62ed4db110 | ||
|
|
553acee07d | ||
|
|
932cc9838c | ||
|
|
d3c9ceceef |
@@ -22,7 +22,7 @@ The OpenAPI Specification has undergone 5 revisions since initial creation in 20
|
|||||||
|
|
||||||
Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes
|
Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes
|
||||||
------------------ | ------------ | -------------------------- | -----
|
------------------ | ------------ | -------------------------- | -----
|
||||||
3.13.4 | 2018-04-15 | 2.0, 3.0 | [tag v3.13.4](https://github.com/swagger-api/swagger-ui/tree/v3.13.4)
|
3.13.5 | 2018-04-20 | 2.0, 3.0 | [tag v3.13.5](https://github.com/swagger-api/swagger-ui/tree/v3.13.5)
|
||||||
3.0.21 | 2017-07-26 | 2.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-ui/tree/v3.0.21)
|
3.0.21 | 2017-07-26 | 2.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-ui/tree/v3.0.21)
|
||||||
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)
|
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)
|
||||||
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)
|
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)
|
||||||
|
|||||||
Vendored
+10
-10
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -68,7 +68,7 @@ There is no dependency management built into the plugin system, so if you create
|
|||||||
|
|
||||||
### Interfaces
|
### Interfaces
|
||||||
|
|
||||||
##### Actions
|
#### Actions
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const MyActionPlugin = () => {
|
const MyActionPlugin = () => {
|
||||||
@@ -102,7 +102,7 @@ This action creator function will be exposed to container components as `example
|
|||||||
|
|
||||||
For more information about the concept of actions in Redux, see the [Redux Actions documentation](http://redux.js.org/docs/basics/Actions.html).
|
For more information about the concept of actions in Redux, see the [Redux Actions documentation](http://redux.js.org/docs/basics/Actions.html).
|
||||||
|
|
||||||
##### Reducers
|
#### Reducers
|
||||||
|
|
||||||
Reducers take a state (which is an [Immutable.js map](https://facebook.github.io/immutable-js/docs/#/Map)) and an action, and return a new state.
|
Reducers take a state (which is an [Immutable.js map](https://facebook.github.io/immutable-js/docs/#/Map)) and an action, and return a new state.
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ const MyReducerPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Selectors
|
#### Selectors
|
||||||
|
|
||||||
Selectors reach into their namespace's state to retrieve or derive data from the state.
|
Selectors reach into their namespace's state to retrieve or derive data from the state.
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ Once a selector has been defined, you can use it anywhere that you can get a sys
|
|||||||
system.exampleSelectors.myFavoriteColor() // gets `favColor` in state for you
|
system.exampleSelectors.myFavoriteColor() // gets `favColor` in state for you
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Components
|
#### Components
|
||||||
|
|
||||||
You can provide a map of components to be integrated into the system.
|
You can provide a map of components to be integrated into the system.
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ const NeverShowInfoPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Wrap-Actions
|
#### Wrap-Actions
|
||||||
|
|
||||||
Wrap Actions allow you to override the behavior of an action in the system.
|
Wrap Actions allow you to override the behavior of an action in the system.
|
||||||
|
|
||||||
@@ -262,7 +262,7 @@ const MyWrapActionPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Wrap-Selectors
|
#### Wrap-Selectors
|
||||||
|
|
||||||
Wrap Selectors allow you to override the behavior of a selector in the system.
|
Wrap Selectors allow you to override the behavior of a selector in the system.
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ const MyWrapSelectorsPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Wrap-Components
|
#### Wrap-Components
|
||||||
|
|
||||||
Wrap Components allow you to override a component registered within the system.
|
Wrap Components allow you to override a component registered within the system.
|
||||||
|
|
||||||
@@ -381,7 +381,7 @@ const MyWrapComponentPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### `rootInjects`
|
#### `rootInjects`
|
||||||
|
|
||||||
The `rootInjects` interface allows you to inject values at the top level of the system.
|
The `rootInjects` interface allows you to inject values at the top level of the system.
|
||||||
|
|
||||||
@@ -398,7 +398,7 @@ const MyRootInjectsPlugin = function(system) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### `afterLoad`
|
#### `afterLoad`
|
||||||
|
|
||||||
The `afterLoad` plugin method allows you to get a reference to the system after your plugin has been registered.
|
The `afterLoad` plugin method allows you to get a reference to the system after your plugin has been registered.
|
||||||
|
|
||||||
@@ -431,7 +431,7 @@ const MyMethodProvidingPlugin = function() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##### fn
|
#### fn
|
||||||
|
|
||||||
The fn interface allows you to add helper functions to the system for use elsewhere.
|
The fn interface allows you to add helper functions to the system for use elsewhere.
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "swagger-ui",
|
"name": "swagger-ui",
|
||||||
"version": "3.13.4",
|
"version": "3.13.6",
|
||||||
"main": "dist/swagger-ui.js",
|
"main": "dist/swagger-ui.js",
|
||||||
"repository": "git@github.com:swagger-api/swagger-ui.git",
|
"repository": "git@github.com:swagger-api/swagger-ui.git",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
"scroll-to-element": "^2.0.0",
|
"scroll-to-element": "^2.0.0",
|
||||||
"serialize-error": "2.0.0",
|
"serialize-error": "2.0.0",
|
||||||
"shallowequal": "0.2.2",
|
"shallowequal": "0.2.2",
|
||||||
"swagger-client": "^3.7.0",
|
"swagger-client": "^3.7.2",
|
||||||
"url-parse": "^1.1.8",
|
"url-parse": "^1.1.8",
|
||||||
"whatwg-fetch": "0.11.1",
|
"whatwg-fetch": "0.11.1",
|
||||||
"worker-loader": "^0.7.1",
|
"worker-loader": "^0.7.1",
|
||||||
|
|||||||
@@ -36,10 +36,11 @@ export default class HighlightCode extends Component {
|
|||||||
|
|
||||||
const scrollOffset = visibleHeight + scrollTop
|
const scrollOffset = visibleHeight + scrollTop
|
||||||
|
|
||||||
|
const isElementScrollable = contentHeight > visibleHeight
|
||||||
const isScrollingPastTop = scrollTop === 0 && deltaY < 0
|
const isScrollingPastTop = scrollTop === 0 && deltaY < 0
|
||||||
const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0
|
const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0
|
||||||
|
|
||||||
if (isScrollingPastTop || isScrollingPastBottom) {
|
if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ function Markdown({ source, className = "" }) {
|
|||||||
|
|
||||||
Markdown.propTypes = {
|
Markdown.propTypes = {
|
||||||
source: PropTypes.string.isRequired,
|
source: PropTypes.string.isRequired,
|
||||||
className: PropTypes.string.isRequired
|
className: PropTypes.string
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Markdown
|
export default Markdown
|
||||||
|
|||||||
@@ -16,8 +16,14 @@ const Callbacks = (props) => {
|
|||||||
return <div key={callbackName}>
|
return <div key={callbackName}>
|
||||||
<h2>{callbackName}</h2>
|
<h2>{callbackName}</h2>
|
||||||
{ callback.map((pathItem, pathItemName) => {
|
{ callback.map((pathItem, pathItemName) => {
|
||||||
|
if(pathItemName === "$$ref") {
|
||||||
|
return null
|
||||||
|
}
|
||||||
return <div key={pathItemName}>
|
return <div key={pathItemName}>
|
||||||
{ pathItem.map((operation, method) => {
|
{ pathItem.map((operation, method) => {
|
||||||
|
if(method === "$$ref") {
|
||||||
|
return null
|
||||||
|
}
|
||||||
let op = fromJS({
|
let op = fromJS({
|
||||||
operation
|
operation
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
describe("bug #4445: callback-via-$ref rendering", function () {
|
||||||
|
let mainPage
|
||||||
|
beforeEach(function (client, done) {
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3230")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(5000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3230/test-specs/bugs/4445.yaml")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
afterEach(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
it("expands an operation that has a visible callback", function (client) {
|
||||||
|
client.waitForElementVisible(".opblock-tag-section", 10000)
|
||||||
|
.click(".opblock")
|
||||||
|
.waitForElementVisible(".opblock-body", 5000)
|
||||||
|
.click(".opblock-section-header > .tab-header > div.tab-item:nth-of-type(2)")
|
||||||
|
.waitForElementVisible(".callbacks-container .opblock", 5000)
|
||||||
|
.click(".callbacks-container .opblock")
|
||||||
|
.waitForElementVisible(".callbacks-container .opblock-body", 5000)
|
||||||
|
.assert.containsText(".callbacks-container .opblock-description-wrapper:nth-of-type(2) p", "subscription payload")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
openapi: 3.0.0
|
||||||
|
info:
|
||||||
|
title: Callback Example
|
||||||
|
version: 1.0.0
|
||||||
|
paths:
|
||||||
|
/streams:
|
||||||
|
post:
|
||||||
|
description: subscribes a client to receive out-of-band data
|
||||||
|
parameters:
|
||||||
|
- name: callbackUrl
|
||||||
|
in: query
|
||||||
|
required: true
|
||||||
|
description: |
|
||||||
|
the location where data will be sent. Must be network accessible
|
||||||
|
by the source server
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
example: https://tonys-server.com
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: subscription successfully created
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
description: subscription information
|
||||||
|
required:
|
||||||
|
- subscriptionId
|
||||||
|
properties:
|
||||||
|
subscriptionId:
|
||||||
|
description: this unique identifier allows management of the subscription
|
||||||
|
type: string
|
||||||
|
example: 2531329f-fb09-4ef7-887e-84e648214436
|
||||||
|
callbacks:
|
||||||
|
# the name `onData` is a convenience locator
|
||||||
|
onData:
|
||||||
|
$ref: '#/components/callbacks/onData'
|
||||||
|
components:
|
||||||
|
callbacks:
|
||||||
|
onData:
|
||||||
|
# when data is sent, it will be sent to the `callbackUrl` provided
|
||||||
|
# when making the subscription PLUS the suffix `/data`
|
||||||
|
'{$request.query.callbackUrl}/data':
|
||||||
|
post:
|
||||||
|
requestBody:
|
||||||
|
description: subscription payload
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
properties:
|
||||||
|
timestamp:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
userData:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
'202':
|
||||||
|
description: |
|
||||||
|
Your server implementation should return this HTTP status code
|
||||||
|
if the data was received successfully
|
||||||
|
'204':
|
||||||
|
description: |
|
||||||
|
Your server should return this HTTP status code if no longer interested
|
||||||
|
in further updates
|
||||||
Reference in New Issue
Block a user