Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
552865aa0d | ||
|
|
73e2cd2179 | ||
|
|
d1539a7c4f | ||
|
|
81bf447ef4 | ||
|
|
2ad57cab6b | ||
|
|
e506c5bdb8 | ||
|
|
6a27140165 | ||
|
|
2e3304c16f | ||
|
|
66f3c369fa | ||
|
|
855b6c3170 | ||
|
|
e098b3a522 | ||
|
|
7878cea369 | ||
|
|
08b283cb0c | ||
|
|
87ef5c1f72 | ||
|
|
36af368a8c | ||
|
|
e9ab52f7b5 | ||
|
|
f5a0db2078 | ||
|
|
b4acbbb57e | ||
|
|
f92d6ddd55 | ||
|
|
7d37b75c32 | ||
|
|
2cbe939412 | ||
|
|
f7424a7009 | ||
|
|
f50851913e | ||
|
|
e3d5ad2595 | ||
|
|
656808b20c | ||
|
|
9fee08daa3 | ||
|
|
cf96414f78 | ||
|
|
80e548df0a | ||
|
|
4bdaeba797 | ||
|
|
15f76ad355 | ||
|
|
f321c62edc | ||
|
|
1a98574c03 | ||
|
|
1ce3dada00 |
@@ -24,7 +24,7 @@ The OpenAPI Specification has undergone 4 revisions since initial creation in 20
|
||||
|
||||
Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes | Status
|
||||
------------------ | ------------ | -------------------------- | ----- | ------
|
||||
2.2.2 | 2016-08-23 | 1.1, 1.2, 2.0 | [tag v.2.2.2](https://github.com/swagger-api/swagger-ui/tree/v2.2.2) |
|
||||
2.2.6 | 2016-10-14 | 1.1, 1.2, 2.0 | [tag v.2.2.6](https://github.com/swagger-api/swagger-ui/tree/v2.2.6) |
|
||||
2.1.5 | 2016-07-20 | 1.1, 1.2, 2.0 | [tag v.2.1.5](https://github.com/swagger-api/swagger-ui/tree/v2.1.5) |
|
||||
2.0.24 | 2014-09-12 | 1.1, 1.2 | [tag v2.0.24](https://github.com/swagger-api/swagger-ui/tree/v2.0.24) |
|
||||
1.0.13 | 2013-03-08 | 1.1, 1.2 | [tag v1.0.13](https://github.com/swagger-api/swagger-ui/tree/v1.0.13) |
|
||||
|
||||
+1
-6
@@ -20,10 +20,5 @@
|
||||
"name": "Mohsen Azimi",
|
||||
"email": "me@azimi.me"
|
||||
}
|
||||
],
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.x-dev"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -3,12 +3,12 @@
|
||||
font-family: 'Droid Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Droid Sans'), local('DroidSans'), url('../fonts/DroidSans.ttf'), format('truetype');
|
||||
src: local('Droid Sans'), local('DroidSans'), url('../fonts/DroidSans.ttf') format('truetype');
|
||||
}
|
||||
/* Google Font's Droid Sans Bold */
|
||||
@font-face {
|
||||
font-family: 'Droid Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Droid Sans Bold'), local('DroidSans-Bold'), url('../fonts/DroidSans-Bold.ttf'), format('truetype');
|
||||
src: local('Droid Sans Bold'), local('DroidSans-Bold'), url('../fonts/DroidSans-Bold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
Vendored
+6
-3
@@ -26,22 +26,25 @@ window.SwaggerTranslator.learn({
|
||||
"Show/Hide":"表示/非表示",
|
||||
"List Operations":"操作一覧",
|
||||
"Expand Operations":"操作の展開",
|
||||
"Raw":"Raw",
|
||||
"Raw":"未加工",
|
||||
"can't parse JSON. Raw result":"JSONへ解釈できません. 未加工の結果",
|
||||
"Example Value":"値の例",
|
||||
"Model Schema":"モデルスキーマ",
|
||||
"Model":"モデル",
|
||||
"Click to set as parameter value":"パラメータ値と設定するにはクリック",
|
||||
"apply":"実行",
|
||||
"Username":"ユーザ名",
|
||||
"Password":"パスワード",
|
||||
"Terms of service":"サービス利用規約",
|
||||
"Created by":"Created by",
|
||||
"See more at":"See more at",
|
||||
"See more at":"詳細を見る",
|
||||
"Contact the developer":"開発者に連絡",
|
||||
"api version":"APIバージョン",
|
||||
"Response Content Type":"レスポンス コンテンツタイプ",
|
||||
"Parameter content type:":"パラメータコンテンツタイプ:",
|
||||
"fetching resource":"リソースの取得",
|
||||
"fetching resource list":"リソース一覧の取得",
|
||||
"Explore":"Explore",
|
||||
"Explore":"調査",
|
||||
"Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示",
|
||||
"Can't read from server. It may not have the appropriate access-control-origin settings.":"サーバから読み込めません. 適切なaccess-control-origin設定を持っていない可能性があります.",
|
||||
"Please specify the protocol for":"プロトコルを指定してください",
|
||||
|
||||
Vendored
+3
@@ -28,6 +28,8 @@ window.SwaggerTranslator.learn({
|
||||
"Expand Operations":"展开操作",
|
||||
"Raw":"原始",
|
||||
"can't parse JSON. Raw result":"无法解析JSON. 原始结果",
|
||||
"Example Value":"示例",
|
||||
"Click to set as parameter value":"点击设置参数",
|
||||
"Model Schema":"模型架构",
|
||||
"Model":"模型",
|
||||
"apply":"应用",
|
||||
@@ -39,6 +41,7 @@ window.SwaggerTranslator.learn({
|
||||
"Contact the developer":"联系开发者",
|
||||
"api version":"api版本",
|
||||
"Response Content Type":"响应Content Type",
|
||||
"Parameter content type:":"参数类型:",
|
||||
"fetching resource":"正在获取资源",
|
||||
"fetching resource list":"正在获取资源列表",
|
||||
"Explore":"浏览",
|
||||
|
||||
Vendored
+825
-511
File diff suppressed because one or more lines are too long
Vendored
+12
-12
File diff suppressed because one or more lines are too long
+6
-3
@@ -26,22 +26,25 @@ window.SwaggerTranslator.learn({
|
||||
"Show/Hide":"表示/非表示",
|
||||
"List Operations":"操作一覧",
|
||||
"Expand Operations":"操作の展開",
|
||||
"Raw":"Raw",
|
||||
"Raw":"未加工",
|
||||
"can't parse JSON. Raw result":"JSONへ解釈できません. 未加工の結果",
|
||||
"Example Value":"値の例",
|
||||
"Model Schema":"モデルスキーマ",
|
||||
"Model":"モデル",
|
||||
"Click to set as parameter value":"パラメータ値と設定するにはクリック",
|
||||
"apply":"実行",
|
||||
"Username":"ユーザ名",
|
||||
"Password":"パスワード",
|
||||
"Terms of service":"サービス利用規約",
|
||||
"Created by":"Created by",
|
||||
"See more at":"See more at",
|
||||
"See more at":"詳細を見る",
|
||||
"Contact the developer":"開発者に連絡",
|
||||
"api version":"APIバージョン",
|
||||
"Response Content Type":"レスポンス コンテンツタイプ",
|
||||
"Parameter content type:":"パラメータコンテンツタイプ:",
|
||||
"fetching resource":"リソースの取得",
|
||||
"fetching resource list":"リソース一覧の取得",
|
||||
"Explore":"Explore",
|
||||
"Explore":"調査",
|
||||
"Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示",
|
||||
"Can't read from server. It may not have the appropriate access-control-origin settings.":"サーバから読み込めません. 適切なaccess-control-origin設定を持っていない可能性があります.",
|
||||
"Please specify the protocol for":"プロトコルを指定してください",
|
||||
|
||||
@@ -28,6 +28,8 @@ window.SwaggerTranslator.learn({
|
||||
"Expand Operations":"展开操作",
|
||||
"Raw":"原始",
|
||||
"can't parse JSON. Raw result":"无法解析JSON. 原始结果",
|
||||
"Example Value":"示例",
|
||||
"Click to set as parameter value":"点击设置参数",
|
||||
"Model Schema":"模型架构",
|
||||
"Model":"模型",
|
||||
"apply":"应用",
|
||||
@@ -39,6 +41,7 @@ window.SwaggerTranslator.learn({
|
||||
"Contact the developer":"联系开发者",
|
||||
"api version":"api版本",
|
||||
"Response Content Type":"响应Content Type",
|
||||
"Parameter content type:":"参数类型:",
|
||||
"fetching resource":"正在获取资源",
|
||||
"fetching resource list":"正在获取资源列表",
|
||||
"Explore":"浏览",
|
||||
|
||||
+3
-3
@@ -8,13 +8,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Swagger UI is a dependency-free collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API",
|
||||
"version": "2.2.3",
|
||||
"version": "2.2.6",
|
||||
"homepage": "http://swagger.io",
|
||||
"license": "Apache-2.0",
|
||||
"main": "dist/swagger-ui.js",
|
||||
"scripts": {
|
||||
"build": "npm run handlebars && gulp",
|
||||
"handlebars": "./node_modules/handlebars/bin/handlebars ./src/main/template -f ./src/main/template/templates.js && gulp handlebars",
|
||||
"handlebars": "handlebars ./src/main/template -f ./src/main/template/templates.js && gulp handlebars",
|
||||
"serve": "gulp serve",
|
||||
"prejshint": "gulp",
|
||||
"jshint": "jshint .",
|
||||
@@ -60,6 +60,6 @@
|
||||
"phantomjs": "1.9.19",
|
||||
"selenium-webdriver": "^2.45.0",
|
||||
"sinon-chai": "2.8.0",
|
||||
"swagger-client": "2.1.18"
|
||||
"swagger-client": "2.1.23"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
font-family: 'Droid Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Droid Sans'), local('DroidSans'), url('../fonts/DroidSans.ttf'), format('truetype');
|
||||
src: local('Droid Sans'), local('DroidSans'), url('../fonts/DroidSans.ttf') format('truetype');
|
||||
}
|
||||
/* Google Font's Droid Sans Bold */
|
||||
@font-face {
|
||||
font-family: 'Droid Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Droid Sans Bold'), local('DroidSans-Bold'), url('../fonts/DroidSans-Bold.ttf'), format('truetype');
|
||||
src: local('Droid Sans Bold'), local('DroidSans-Bold'), url('../fonts/DroidSans-Bold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@@ -43,7 +43,11 @@ Handlebars.registerHelper('renderTextParam', function(param) {
|
||||
idAtt = ' id=\'' + valueId + '\'';
|
||||
}
|
||||
|
||||
defaultValue = sanitizeHtml(defaultValue);
|
||||
if (defaultValue) {
|
||||
defaultValue = sanitizeHtml(defaultValue);
|
||||
} else {
|
||||
defaultValue = '';
|
||||
}
|
||||
|
||||
if(isArray) {
|
||||
result = '<textarea class=\'body-textarea' + (param.required ? ' required' : '') + '\' name=\'' + name + '\'' + idAtt + dataVendorExtensions;
|
||||
@@ -89,4 +93,4 @@ Handlebars.registerHelper('escape', function (value) {
|
||||
var text = Handlebars.Utils.escapeExpression(value);
|
||||
|
||||
return new Handlebars.SafeString(text);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -660,7 +660,9 @@ SwaggerUi.Views.OperationView = Backbone.View.extend({
|
||||
url = response.request.url;
|
||||
}
|
||||
var headers = response.headers;
|
||||
content = jQuery.trim(content);
|
||||
if(typeof content === 'string') {
|
||||
content = jQuery.trim(content);
|
||||
}
|
||||
|
||||
// if server is nice, and sends content-type back, we can use it
|
||||
var contentType = null;
|
||||
@@ -685,6 +687,44 @@ SwaggerUi.Views.OperationView = Backbone.View.extend({
|
||||
pre = $('<pre class="json" />').append(code);
|
||||
|
||||
// JSON
|
||||
} else if (headers['Content-Disposition'] && (/attachment/).test(headers['Content-Disposition']) ||
|
||||
headers['content-disposition'] && (/attachment/).test(headers['content-disposition']) ||
|
||||
headers['Content-Description'] && (/File Transfer/).test(headers['Content-Description']) ||
|
||||
headers['content-description'] && (/File Transfer/).test(headers['content-description'])) {
|
||||
|
||||
if ('Blob' in window) {
|
||||
var type = contentType || 'text/html';
|
||||
var a = document.createElement('a');
|
||||
var href;
|
||||
|
||||
if({}.toString.apply(content) === '[object Blob]') {
|
||||
href = window.URL.createObjectURL(content);
|
||||
}
|
||||
else {
|
||||
var binaryData = [];
|
||||
binaryData.push(content);
|
||||
href = window.URL.createObjectURL(new Blob(binaryData, {type: type}));
|
||||
}
|
||||
var fileName = response.url.substr(response.url.lastIndexOf('/') + 1);
|
||||
var download = [type, fileName, href].join(':');
|
||||
|
||||
// Use filename from response header
|
||||
var disposition = headers['content-disposition'] || headers['Content-Disposition'];
|
||||
if(typeof disposition !== 'undefined') {
|
||||
var responseFilename = /filename=([^;]*);?/.exec(disposition);
|
||||
if(responseFilename !== null && responseFilename.length > 1) {
|
||||
download = responseFilename[1];
|
||||
}
|
||||
}
|
||||
|
||||
a.setAttribute('href', href);
|
||||
a.setAttribute('download', download);
|
||||
a.innerText = 'Download ' + fileName;
|
||||
|
||||
pre = $('<div/>').append(a);
|
||||
} else {
|
||||
pre = $('<pre class="json" />').append('Download headers detected but your browser does not support downloading binary via XHR (Blob).');
|
||||
}
|
||||
} else if (contentType === 'application/json' || /\+json$/.test(contentType)) {
|
||||
var json = null;
|
||||
try {
|
||||
@@ -710,49 +750,17 @@ SwaggerUi.Views.OperationView = Backbone.View.extend({
|
||||
code = $('<code />').text(content);
|
||||
pre = $('<pre class="plain" />').append(code);
|
||||
|
||||
|
||||
// Image
|
||||
} else if (/^image\//.test(contentType)) {
|
||||
pre = $('<img>').attr('src', url);
|
||||
var urlCreator = window.URL || window.webkitURL;
|
||||
var imageUrl = urlCreator.createObjectURL(content);
|
||||
|
||||
pre = $('<img>').attr( 'src', imageUrl);
|
||||
// Audio
|
||||
} else if (/^audio\//.test(contentType) && supportsAudioPlayback(contentType)) {
|
||||
pre = $('<audio controls>').append($('<source>').attr('src', url).attr('type', contentType));
|
||||
|
||||
// Download
|
||||
} else if (headers['Content-Disposition'] && (/attachment/).test(headers['Content-Disposition']) ||
|
||||
headers['content-disposition'] && (/attachment/).test(headers['content-disposition']) ||
|
||||
headers['Content-Description'] && (/File Transfer/).test(headers['Content-Description']) ||
|
||||
headers['content-description'] && (/File Transfer/).test(headers['content-description'])) {
|
||||
|
||||
if ('Blob' in window) {
|
||||
var type = contentType || 'text/html';
|
||||
var blob = new Blob([content], {type: type});
|
||||
var a = document.createElement('a');
|
||||
var href = window.URL.createObjectURL(blob);
|
||||
var fileName = response.url.substr(response.url.lastIndexOf('/') + 1);
|
||||
var download = [type, fileName, href].join(':');
|
||||
|
||||
// Use filename from response header
|
||||
var disposition = headers['content-disposition'] || headers['Content-Disposition'];
|
||||
if(typeof disposition !== 'undefined') {
|
||||
var responseFilename = /filename=([^;]*);?/.exec(disposition);
|
||||
if(responseFilename !== null && responseFilename.length > 1) {
|
||||
download = responseFilename[1];
|
||||
}
|
||||
}
|
||||
|
||||
a.setAttribute('href', href);
|
||||
a.setAttribute('download', download);
|
||||
a.innerText = 'Download ' + fileName;
|
||||
|
||||
pre = $('<div/>').append(a);
|
||||
} else {
|
||||
pre = $('<pre class="json" />').append('Download headers detected but your browser does not support downloading binary via XHR (Blob).');
|
||||
}
|
||||
|
||||
// Location header based redirect download
|
||||
} else if(headers.location || headers.Location) {
|
||||
// Location header based redirect download
|
||||
window.location = response.url;
|
||||
|
||||
// Anything else (CORS)
|
||||
|
||||
@@ -24,7 +24,6 @@ SwaggerUi.Views.ParameterView = Backbone.View.extend({
|
||||
var consumes = this.model.consumes || [];
|
||||
var sampleJSON, signatureView;
|
||||
|
||||
|
||||
if (typeof type === 'undefined') {
|
||||
if (schema.$ref) {
|
||||
var ref = schema.$ref;
|
||||
|
||||
Reference in New Issue
Block a user