Browse Source

updated files

bubble
Tony Tam 10 years ago
parent
commit
bdec07e8c3
11 changed files with 2748 additions and 40 deletions
  1. +1321
    -0
      dist/lib/swagger-client.js
  2. +57
    -22
      dist/swagger-ui.js
  3. +1
    -1
      dist/swagger-ui.min.js
  4. +1321
    -0
      lib/swagger-client.js
  5. +10
    -3
      src/main/coffeescript/SwaggerUi.coffee
  6. +5
    -4
      src/main/coffeescript/view/MainView.coffee
  7. +16
    -4
      src/main/coffeescript/view/OperationView.coffee
  8. +14
    -1
      src/main/coffeescript/view/ParameterView.coffee
  9. +2
    -0
      src/main/coffeescript/view/ResourceView.coffee
  10. +0
    -4
      src/main/javascript/doc.js
  11. +1
    -1
      src/main/template/resource.handlebars

+ 1321
- 0
dist/lib/swagger-client.js
File diff suppressed because it is too large
View File


+ 57
- 22
dist/swagger-ui.js View File

@@ -93,7 +93,6 @@ var Docs = {
switch (fragments.length) {
case 1:
// Expand all operations for the resource and scroll to it
log('shebang resource:' + fragments[0]);
var dom_id = 'resource_' + fragments[0];
Docs.expandEndpointListForResource(fragments[0]);
@@ -101,7 +100,6 @@ var Docs = {
break;
case 2:
// Refer to the endpoint DOM element, e.g. #words_get_search
log('shebang endpoint: ' + fragments.join('_'));
// Expand Resource
Docs.expandEndpointListForResource(fragments[0]);
@@ -111,8 +109,6 @@ var Docs = {
var li_dom_id = fragments.join('_');
var li_content_dom_id = li_dom_id + "_content";
log("li_dom_id " + li_dom_id);
log("li_content_dom_id " + li_content_dom_id);
Docs.expandOperation($('#'+li_content_dom_id));
$('#'+li_dom_id).slideto({highlight: false});
@@ -1085,7 +1081,7 @@ function program1(depth0,data) {
if (stack1 = helpers.id) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
else { stack1 = depth0.id; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
buffer += escapeExpression(stack1)
+ "');\">";
+ "');\">/";
if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
buffer += escapeExpression(stack1)
@@ -1288,9 +1284,15 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}
this.options.url = url;
this.headerView.update(url);
this.api = new SwaggerApi(this.options);
this.api.build();
return this.api;
if (url.indexOf('swagger.json') > 0) {
this.api = new SwaggerClient(this.options);
this.api.build();
return this.api;
} else {
this.api = new SwaggerApi(this.options);
this.api.build();
return this.api;
}
};

SwaggerUi.prototype.render = function() {
@@ -1458,13 +1460,15 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
if (opts.swaggerOptions.sorter) {
sorterName = opts.swaggerOptions.sorter;
sorter = sorters[sorterName];
_ref3 = this.model.apisArray;
for (_i = 0, _len = _ref3.length; _i < _len; _i++) {
route = _ref3[_i];
route.operationsArray.sort(sorter);
}
if (sorterName === "alpha") {
return this.model.apisArray.sort(sorter);
if (this.model.apisArray) {
_ref3 = this.model.apisArray;
for (_i = 0, _len = _ref3.length; _i < _len; _i++) {
route = _ref3[_i];
route.operationsArray.sort(sorter);
}
if (sorterName === "alpha") {
return this.model.apisArray.sort(sorter);
}
}
}
};
@@ -1517,7 +1521,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
return _ref3;
}

ResourceView.prototype.initialize = function() {};
ResourceView.prototype.initialize = function() {
if ("" === this.model.description) {
return this.model.description = null;
}
};

ResourceView.prototype.render = function() {
var counter, id, methods, operation, _i, _len, _ref4;
@@ -1613,7 +1621,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
};

OperationView.prototype.render = function() {
var contentTypeModel, isMethodSubmissionSupported, k, o, param, responseContentTypeView, responseSignatureView, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8;
var contentTypeModel, isMethodSubmissionSupported, k, o, param, ref, responseContentTypeView, responseSignatureView, schema, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8;
isMethodSubmissionSupported = true;
if (!isMethodSubmissionSupported) {
this.model.isReadOnly = true;
@@ -1650,6 +1658,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
});
$('.model-signature', $(this.el)).append(responseSignatureView.render().el);
} else {
this.model.responseClassSignature = 'string';
$('.model-signature', $(this.el)).html(this.model.type);
}
contentTypeModel = {
@@ -1661,12 +1670,23 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) {
param = _ref6[_j];
type = param.type || param.dataType;
if (type.toLowerCase() === 'file') {
if (typeof type === 'undefined') {
schema = param.schema;
if (schema['$ref']) {
ref = schema['$ref'];
if (ref.indexOf('#/definitions/') === 0) {
type = ref.substring('#/definitions/'.length);
} else {
type = ref;
}
}
}
if (type && type.toLowerCase() === 'file') {
if (!contentTypeModel.consumes) {
log("set content type ");
contentTypeModel.consumes = 'multipart/form-data';
}
}
param.type = type;
}
responseContentTypeView = new ResponseContentTypeView({
model: contentTypeModel
@@ -1677,6 +1697,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
param = _ref7[_k];
this.addParameter(param, contentTypeModel.consumes);
}
if (typeof this.model.responseMessages === 'undefined') {
this.model.responseMessages = [];
}
_ref8 = this.model.responseMessages;
for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
statusCode = _ref8[_l];
@@ -1800,7 +1823,6 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
headerParams[param.name] = map[param.name];
}
}
log(headerParams);
_ref8 = form.find('input[type~="file"]');
for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
el = _ref8[_l];
@@ -2096,12 +2118,25 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
};

ParameterView.prototype.render = function() {
var contentTypeModel, isParam, parameterContentTypeView, responseContentTypeView, signatureModel, signatureView, template, type;
var contentTypeModel, isParam, parameterContentTypeView, ref, responseContentTypeView, schema, signatureModel, signatureView, template, type;
type = this.model.type || this.model.dataType;
if (typeof type === 'undefined') {
schema = this.model.schema;
if (schema['$ref']) {
ref = schema['$ref'];
if (ref.indexOf('#/definitions/') === 0) {
type = ref.substring('#/definitions/'.length);
} else {
type = ref;
}
}
}
this.model.type = type;
this.model.paramType = this.model["in"] || this.model.paramType;
if (this.model.paramType === 'body') {
this.model.isBody = true;
}
if (type.toLowerCase() === 'file') {
if (type && type.toLowerCase() === 'file') {
this.model.isFile = true;
}
template = this.template();


+ 1
- 1
dist/swagger-ui.min.js
File diff suppressed because it is too large
View File


+ 1321
- 0
lib/swagger-client.js
File diff suppressed because it is too large
View File


+ 10
- 3
src/main/coffeescript/SwaggerUi.coffee View File

@@ -47,9 +47,16 @@ class SwaggerUi extends Backbone.Router
@options.url = url
@headerView.update(url)
@api = new SwaggerApi(@options)
@api.build()
@api
if url.indexOf('swagger.json') > 0
@api = new SwaggerClient(@options)
@api.build()
@api
else
@api = new SwaggerApi(@options)
@api.build()
@api
# This is bound to success handler for SwaggerApi
# so it gets called when SwaggerApi completes loading


+ 5
- 4
src/main/coffeescript/view/MainView.coffee View File

@@ -8,10 +8,11 @@ class MainView extends Backbone.View
if opts.swaggerOptions.sorter
sorterName = opts.swaggerOptions.sorter
sorter = sorters[sorterName]
for route in @model.apisArray
route.operationsArray.sort sorter
if (sorterName == "alpha") # sort top level paths if alpha
@model.apisArray.sort sorter
if @model.apisArray
for route in @model.apisArray
route.operationsArray.sort sorter
if (sorterName == "alpha") # sort top level paths if alpha
@model.apisArray.sort sorter
render: ->
# Render the outer container for resources


+ 16
- 4
src/main/coffeescript/view/OperationView.coffee View File

@@ -44,6 +44,9 @@ class OperationView extends Backbone.View
isMethodSubmissionSupported = true #jQuery.inArray(@model.method, @model.supportedSubmitMethods) >= 0
@model.isReadOnly = true unless isMethodSubmissionSupported

#@model.responseClassSignature = "hello"
#@model.responseSampleJSON = @model.createJSONSample

@model.oauth = null
if @model.authorizations
for k, v of @model.authorizations
@@ -66,6 +69,7 @@ class OperationView extends Backbone.View
responseSignatureView = new SignatureView({model: signatureModel, tagName: 'div'})
$('.model-signature', $(@el)).append responseSignatureView.render().el
else
@model.responseClassSignature = 'string'
$('.model-signature', $(@el)).html(@model.type)

contentTypeModel =
@@ -76,10 +80,18 @@ class OperationView extends Backbone.View

for param in @model.parameters
type = param.type || param.dataType
if type.toLowerCase() == 'file'
if typeof type is 'undefined'
schema = param.schema
if schema['$ref']
ref = schema['$ref']
if ref.indexOf('#/definitions/') is 0
type = ref.substring('#/definitions/'.length)
else
type = ref
if type and type.toLowerCase() == 'file'
if !contentTypeModel.consumes
log "set content type "
contentTypeModel.consumes = 'multipart/form-data'
param.type = type

responseContentTypeView = new ResponseContentTypeView({model: contentTypeModel})
$('.response-content-type', $(@el)).append responseContentTypeView.render().el
@@ -88,6 +100,8 @@ class OperationView extends Backbone.View
@addParameter param, contentTypeModel.consumes for param in @model.parameters

# Render each response code
if typeof @model.responseMessages is 'undefined'
@model.responseMessages = []
@addStatusCode statusCode for statusCode in @model.responseMessages

@
@@ -171,8 +185,6 @@ class OperationView extends Backbone.View
if param.paramType is 'header'
headerParams[param.name] = map[param.name]

log headerParams

# add files
for el in form.find('input[type~="file"]')
if typeof el.files[0] isnt 'undefined'


+ 14
- 1
src/main/coffeescript/view/ParameterView.coffee View File

@@ -9,8 +9,21 @@ class ParameterView extends Backbone.View
render: ->
type = @model.type || @model.dataType

if typeof type is 'undefined'
schema = @model.schema
if schema['$ref']
ref = schema['$ref']
if ref.indexOf('#/definitions/') is 0
type = ref.substring('#/definitions/'.length)
else
type = ref

@model.type = type
@model.paramType = @model.in || @model.paramType
@model.isBody = true if @model.paramType == 'body'
@model.isFile = true if type.toLowerCase() == 'file'
@model.isFile = true if type and type.toLowerCase() == 'file'
#@model.signature = type

template = @template()
$(@el).html(template(@model))


+ 2
- 0
src/main/coffeescript/view/ResourceView.coffee View File

@@ -1,5 +1,7 @@
class ResourceView extends Backbone.View
initialize: ->
if "" is @model.description
@model.description = null

render: ->
$(@el).html(Handlebars.templates.resource(@model))


+ 0
- 4
src/main/javascript/doc.js View File

@@ -91,7 +91,6 @@ var Docs = {
switch (fragments.length) {
case 1:
// Expand all operations for the resource and scroll to it
log('shebang resource:' + fragments[0]);
var dom_id = 'resource_' + fragments[0];
Docs.expandEndpointListForResource(fragments[0]);
@@ -99,7 +98,6 @@ var Docs = {
break;
case 2:
// Refer to the endpoint DOM element, e.g. #words_get_search
log('shebang endpoint: ' + fragments.join('_'));
// Expand Resource
Docs.expandEndpointListForResource(fragments[0]);
@@ -109,8 +107,6 @@ var Docs = {
var li_dom_id = fragments.join('_');
var li_content_dom_id = li_dom_id + "_content";
log("li_dom_id " + li_dom_id);
log("li_content_dom_id " + li_content_dom_id);
Docs.expandOperation($('#'+li_content_dom_id));
$('#'+li_dom_id).slideto({highlight: false});


+ 1
- 1
src/main/template/resource.handlebars View File

@@ -1,6 +1,6 @@
<div class='heading'>
<h2>
<a href='#!/{{id}}' onclick="Docs.toggleEndpointListForResource('{{id}}');">{{name}}</a> {{#description}} : {{/description}}{{{description}}}
<a href='#!/{{id}}' onclick="Docs.toggleEndpointListForResource('{{id}}');">/{{name}}</a> {{#description}} : {{/description}}{{{description}}}
</h2>
<ul class='options'>
<li>


Loading…
Cancel
Save