12
dist/lib/swagger.js
vendored
12
dist/lib/swagger.js
vendored
@@ -252,12 +252,16 @@
|
||||
};
|
||||
|
||||
SwaggerResource.prototype.addOperations = function(resource_path, ops) {
|
||||
var o, op, _i, _len, _results;
|
||||
var consumes, o, op, _i, _len, _results;
|
||||
if (ops) {
|
||||
_results = [];
|
||||
for (_i = 0, _len = ops.length; _i < _len; _i++) {
|
||||
o = ops[_i];
|
||||
op = new SwaggerOperation(o.nickname, resource_path, o.httpMethod, o.parameters, o.summary, o.notes, o.responseClass, o.errorResponses, this, o.supportedContentTypes);
|
||||
consumes = o.consumes;
|
||||
if (o.supportedContentTypes) {
|
||||
consumes = o.supportedContentTypes;
|
||||
}
|
||||
op = new SwaggerOperation(o.nickname, resource_path, o.httpMethod, o.parameters, o.summary, o.notes, o.responseClass, o.errorResponses, this, o.consumes);
|
||||
this.operations[op.nickname] = op;
|
||||
_results.push(this.operationsArray.push(op));
|
||||
}
|
||||
@@ -415,7 +419,7 @@
|
||||
|
||||
SwaggerOperation = (function() {
|
||||
|
||||
function SwaggerOperation(nickname, path, httpMethod, parameters, summary, notes, responseClass, errorResponses, resource, supportedContentTypes) {
|
||||
function SwaggerOperation(nickname, path, httpMethod, parameters, summary, notes, responseClass, errorResponses, resource, consumes) {
|
||||
var parameter, v, _i, _j, _len, _len1, _ref, _ref1, _ref2,
|
||||
_this = this;
|
||||
this.nickname = nickname;
|
||||
@@ -427,7 +431,7 @@
|
||||
this.responseClass = responseClass;
|
||||
this.errorResponses = errorResponses;
|
||||
this.resource = resource;
|
||||
this.supportedContentTypes = supportedContentTypes;
|
||||
this.consumes = consumes;
|
||||
this["do"] = __bind(this["do"], this);
|
||||
|
||||
if (this.nickname == null) {
|
||||
|
||||
79
dist/swagger-ui.js
vendored
79
dist/swagger-ui.js
vendored
@@ -192,8 +192,8 @@ function program1(depth0,data) {
|
||||
|
||||
var buffer = "", stack1, stack2;
|
||||
buffer += "\n ";
|
||||
foundHelper = helpers.supportedContentTypes;
|
||||
stack1 = foundHelper || depth0.supportedContentTypes;
|
||||
foundHelper = helpers.consumes;
|
||||
stack1 = foundHelper || depth0.consumes;
|
||||
stack2 = helpers.each;
|
||||
tmp1 = self.program(2, program2, data);
|
||||
tmp1.hash = {};
|
||||
@@ -225,8 +225,8 @@ function program4(depth0,data) {
|
||||
return "\n <option value=\"application/json\">application/json</option>\n";}
|
||||
|
||||
buffer += "<label for=\"contentType\"></label>\n<select name=\"contentType\">\n";
|
||||
foundHelper = helpers.supportedContentTypes;
|
||||
stack1 = foundHelper || depth0.supportedContentTypes;
|
||||
foundHelper = helpers.consumes;
|
||||
stack1 = foundHelper || depth0.consumes;
|
||||
stack2 = helpers['if'];
|
||||
tmp1 = self.program(1, program1, data);
|
||||
tmp1.hash = {};
|
||||
@@ -1132,7 +1132,7 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
|
||||
|
||||
|
||||
// Generated by CoffeeScript 1.3.3
|
||||
// Generated by CoffeeScript 1.4.0
|
||||
(function() {
|
||||
var ContentTypeView, HeaderView, MainView, OperationView, ParameterView, ResourceView, SignatureView, StatusCodeView, SwaggerUi,
|
||||
__hasProp = {}.hasOwnProperty,
|
||||
@@ -1436,9 +1436,14 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
$('.model-signature', $(this.el)).html(this.model.responseClass);
|
||||
}
|
||||
contentTypeModel = {
|
||||
isParam: false,
|
||||
supportedContentTypes: this.model.supportedContentTypes
|
||||
isParam: false
|
||||
};
|
||||
if (this.model.supportedContentTypes) {
|
||||
contentTypeModel.consumes = this.model.supportedContentTypes;
|
||||
}
|
||||
if (this.model.consumes) {
|
||||
contentTypeModel.consumes = this.model.consumes;
|
||||
}
|
||||
contentTypeView = new ContentTypeView({
|
||||
model: contentTypeModel
|
||||
});
|
||||
@@ -1476,7 +1481,7 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
};
|
||||
|
||||
OperationView.prototype.submitOperation = function(e) {
|
||||
var bodyParam, error_free, form, headerParams, invocationUrl, isFileUpload, map, o, obj, param, paramContentTypeField, responseContentTypeField, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2,
|
||||
var bodyParam, consumes, error_free, form, headerParams, invocationUrl, isFileUpload, isFormPost, map, o, obj, param, paramContentTypeField, responseContentTypeField, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3, _ref4,
|
||||
_this = this;
|
||||
if (e != null) {
|
||||
e.preventDefault();
|
||||
@@ -1505,25 +1510,51 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
map[o.name] = o.value;
|
||||
}
|
||||
}
|
||||
isFileUpload = $('input[type~="file"]').size !== 0;
|
||||
if (isFileUpload) {
|
||||
bodyParam = new FormData();
|
||||
isFileUpload = form.children().find('input[type~="file"]').size() !== 0;
|
||||
isFormPost = false;
|
||||
consumes = "application/json";
|
||||
if (this.model.consumes && this.model.consumes.length > 0) {
|
||||
consumes = this.model.consumes[0];
|
||||
} else {
|
||||
_ref1 = this.model.parameters;
|
||||
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
||||
param = _ref1[_j];
|
||||
o = _ref1[_j];
|
||||
if (o.paramType === 'form') {
|
||||
isFormPost = true;
|
||||
consumes = false;
|
||||
}
|
||||
}
|
||||
if (isFileUpload) {
|
||||
consumes = false;
|
||||
} else if (this.model.httpMethod.toLowerCase() === "post" && isFormPost === false) {
|
||||
consumes = "application/json";
|
||||
}
|
||||
}
|
||||
if (isFileUpload) {
|
||||
bodyParam = new FormData();
|
||||
_ref2 = this.model.parameters;
|
||||
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
|
||||
param = _ref2[_k];
|
||||
if (param.paramType === 'body' && param.name !== 'file') {
|
||||
bodyParam.append(param.name, map[param.name]);
|
||||
}
|
||||
}
|
||||
$.each($('input[type~="file"]'), function(i, el) {
|
||||
$.each(form.children().find('input[type~="file"]'), function(i, el) {
|
||||
return bodyParam.append($(el).attr('name'), el.files[0]);
|
||||
});
|
||||
console.log(bodyParam);
|
||||
} else if (isFormPost) {
|
||||
bodyParam = new FormData();
|
||||
_ref3 = this.model.parameters;
|
||||
for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) {
|
||||
param = _ref3[_l];
|
||||
bodyParam.append(param.name, map[param.name]);
|
||||
}
|
||||
} else {
|
||||
bodyParam = null;
|
||||
_ref2 = this.model.parameters;
|
||||
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
|
||||
param = _ref2[_k];
|
||||
_ref4 = this.model.parameters;
|
||||
for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) {
|
||||
param = _ref4[_m];
|
||||
if (param.paramType === 'body') {
|
||||
bodyParam = map[param.name];
|
||||
}
|
||||
@@ -1540,6 +1571,7 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
url: invocationUrl,
|
||||
headers: headerParams,
|
||||
data: bodyParam,
|
||||
contentType: consumes,
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
error: function(xhr, textStatus, error) {
|
||||
@@ -1552,12 +1584,6 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
return _this.showCompleteStatus(data);
|
||||
}
|
||||
};
|
||||
if (obj.type.toLowerCase() === "post" || obj.type.toLowerCase() === "put" || obj.type.toLowerCase() === "patch") {
|
||||
obj.contentType = "application/json";
|
||||
}
|
||||
if (isFileUpload) {
|
||||
obj.contentType = false;
|
||||
}
|
||||
paramContentTypeField = $("td select[name=contentType]", $(this.el)).val();
|
||||
if (paramContentTypeField) {
|
||||
obj.contentType = paramContentTypeField;
|
||||
@@ -1760,9 +1786,14 @@ templates['status_code'] = template(function (Handlebars,depth0,helpers,partials
|
||||
$('.model-signature', $(this.el)).html(this.model.signature);
|
||||
}
|
||||
contentTypeModel = {
|
||||
isParam: true,
|
||||
supportedContentTypes: this.model.supportedContentTypes
|
||||
isParam: false
|
||||
};
|
||||
if (this.model.supportedContentTypes) {
|
||||
contentTypeModel.consumes = this.model.supportedContentTypes;
|
||||
}
|
||||
if (this.model.consumes) {
|
||||
contentTypeModel.consumes = this.model.consumes;
|
||||
}
|
||||
contentTypeView = new ContentTypeView({
|
||||
model: contentTypeModel
|
||||
});
|
||||
|
||||
2
dist/swagger-ui.min.js
vendored
2
dist/swagger-ui.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -252,12 +252,16 @@
|
||||
};
|
||||
|
||||
SwaggerResource.prototype.addOperations = function(resource_path, ops) {
|
||||
var o, op, _i, _len, _results;
|
||||
var consumes, o, op, _i, _len, _results;
|
||||
if (ops) {
|
||||
_results = [];
|
||||
for (_i = 0, _len = ops.length; _i < _len; _i++) {
|
||||
o = ops[_i];
|
||||
op = new SwaggerOperation(o.nickname, resource_path, o.httpMethod, o.parameters, o.summary, o.notes, o.responseClass, o.errorResponses, this, o.supportedContentTypes);
|
||||
consumes = o.consumes;
|
||||
if (o.supportedContentTypes) {
|
||||
consumes = o.supportedContentTypes;
|
||||
}
|
||||
op = new SwaggerOperation(o.nickname, resource_path, o.httpMethod, o.parameters, o.summary, o.notes, o.responseClass, o.errorResponses, this, o.consumes);
|
||||
this.operations[op.nickname] = op;
|
||||
_results.push(this.operationsArray.push(op));
|
||||
}
|
||||
@@ -415,7 +419,7 @@
|
||||
|
||||
SwaggerOperation = (function() {
|
||||
|
||||
function SwaggerOperation(nickname, path, httpMethod, parameters, summary, notes, responseClass, errorResponses, resource, supportedContentTypes) {
|
||||
function SwaggerOperation(nickname, path, httpMethod, parameters, summary, notes, responseClass, errorResponses, resource, consumes) {
|
||||
var parameter, v, _i, _j, _len, _len1, _ref, _ref1, _ref2,
|
||||
_this = this;
|
||||
this.nickname = nickname;
|
||||
@@ -427,7 +431,7 @@
|
||||
this.responseClass = responseClass;
|
||||
this.errorResponses = errorResponses;
|
||||
this.resource = resource;
|
||||
this.supportedContentTypes = supportedContentTypes;
|
||||
this.consumes = consumes;
|
||||
this["do"] = __bind(this["do"], this);
|
||||
|
||||
if (this.nickname == null) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "swagger-ui",
|
||||
"version": "0.1.8",
|
||||
"version": "0.1.9",
|
||||
"description": "Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API",
|
||||
"scripts": {
|
||||
"build": "PATH=$PATH:./node_modules/.bin cake dist",
|
||||
|
||||
@@ -27,7 +27,13 @@ class OperationView extends Backbone.View
|
||||
|
||||
contentTypeModel =
|
||||
isParam: false
|
||||
supportedContentTypes: @model.supportedContentTypes
|
||||
|
||||
# support old syntax
|
||||
if @model.supportedContentTypes
|
||||
contentTypeModel.consumes = @model.supportedContentTypes
|
||||
|
||||
if @model.consumes
|
||||
contentTypeModel.consumes = @model.consumes
|
||||
|
||||
contentTypeView = new ContentTypeView({model: contentTypeModel})
|
||||
$('.content-type', $(@el)).append contentTypeView.render().el
|
||||
@@ -70,7 +76,23 @@ class OperationView extends Backbone.View
|
||||
if(o.value? && jQuery.trim(o.value).length > 0)
|
||||
map[o.name] = o.value
|
||||
|
||||
isFileUpload = $('input[type~="file"]').size != 0
|
||||
isFileUpload = form.children().find('input[type~="file"]').size() != 0
|
||||
|
||||
isFormPost = false
|
||||
consumes = "application/json"
|
||||
if @model.consumes and @model.consumes.length > 0
|
||||
# honor the consumes setting above everything else
|
||||
consumes = @model.consumes[0]
|
||||
else
|
||||
for o in @model.parameters
|
||||
if o.paramType == 'form'
|
||||
isFormPost = true
|
||||
consumes = false
|
||||
|
||||
if isFileUpload
|
||||
consumes = false
|
||||
else if @model.httpMethod.toLowerCase() == "post" and isFormPost is false
|
||||
consumes = "application/json"
|
||||
|
||||
if isFileUpload
|
||||
# requires HTML5 compatible browser
|
||||
@@ -82,10 +104,14 @@ class OperationView extends Backbone.View
|
||||
bodyParam.append(param.name, map[param.name])
|
||||
|
||||
# add files
|
||||
$.each $('input[type~="file"]'), (i, el) ->
|
||||
$.each form.children().find('input[type~="file"]'), (i, el) ->
|
||||
bodyParam.append($(el).attr('name'), el.files[0])
|
||||
|
||||
console.log(bodyParam)
|
||||
else if isFormPost
|
||||
bodyParam = new FormData()
|
||||
for param in @model.parameters
|
||||
bodyParam.append(param.name, map[param.name])
|
||||
else
|
||||
bodyParam = null
|
||||
for param in @model.parameters
|
||||
@@ -113,6 +139,7 @@ class OperationView extends Backbone.View
|
||||
url: invocationUrl
|
||||
headers: headerParams
|
||||
data: bodyParam
|
||||
contentType: consumes
|
||||
dataType: 'json'
|
||||
processData: false
|
||||
error: (xhr, textStatus, error) =>
|
||||
@@ -122,8 +149,6 @@ class OperationView extends Backbone.View
|
||||
complete: (data) =>
|
||||
@showCompleteStatus(data)
|
||||
|
||||
obj.contentType = "application/json" if (obj.type.toLowerCase() == "post" or obj.type.toLowerCase() == "put" or obj.type.toLowerCase() == "patch")
|
||||
obj.contentType = false if isFileUpload
|
||||
paramContentTypeField = $("td select[name=contentType]", $(@el)).val()
|
||||
if paramContentTypeField
|
||||
obj.contentType = paramContentTypeField
|
||||
|
||||
@@ -20,8 +20,14 @@ class ParameterView extends Backbone.View
|
||||
$('.model-signature', $(@el)).html(@model.signature)
|
||||
|
||||
contentTypeModel =
|
||||
isParam: true
|
||||
supportedContentTypes: @model.supportedContentTypes
|
||||
isParam: false
|
||||
|
||||
# support old syntax
|
||||
if @model.supportedContentTypes
|
||||
contentTypeModel.consumes = @model.supportedContentTypes
|
||||
|
||||
if @model.consumes
|
||||
contentTypeModel.consumes = @model.consumes
|
||||
|
||||
contentTypeView = new ContentTypeView({model: contentTypeModel})
|
||||
$('.content-type', $(@el)).append contentTypeView.render().el
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<label for="contentType"></label>
|
||||
<select name="contentType">
|
||||
{{#if supportedContentTypes}}
|
||||
{{#each supportedContentTypes}}
|
||||
{{#if consumes}}
|
||||
{{#each consumes}}
|
||||
<option value="{{{this}}}">{{{this}}}</option>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
|
||||
Reference in New Issue
Block a user