#254 alphabetical sort of apis and operations under apis

new option sortAlphabetical=true|false
This commit is contained in:
Chris Hatch
2014-07-20 20:18:19 +08:00
parent 9b9b5b4551
commit db6419414c
3 changed files with 13 additions and 4 deletions

View File

@@ -55,7 +55,7 @@ class SwaggerUi extends Backbone.Router
# so it gets called when SwaggerApi completes loading
render:() ->
@showMessage('Finished Loading Resource Information. Rendering Swagger UI...')
@mainView = new MainView({model: @api, el: $('#' + @dom_id)}).render()
@mainView = new MainView({model: @api, el: $('#' + @dom_id), swaggerOptions: @options}).render()
@showMessage()
switch @options.docExpansion
when "full" then Docs.expandOperationsForResource('')

View File

@@ -1,5 +1,12 @@
class MainView extends Backbone.View
initialize: ->
initialize: (opts={}) ->
if opts.swaggerOptions.sortAlphabetically == true
pathSorter = (a,b) -> return a.path.localeCompare(b.path)
# sort apis
@model.apisArray.sort pathSorter
# sort operations
for route in @model.apisArray
route.operationsArray.sort pathSorter
render: ->
# Render the outer container for resources
@@ -10,6 +17,7 @@ class MainView extends Backbone.View
resources = {}
counter = 0
for resource in @model.apisArray
console.info(resource);
id = resource.name
while typeof resources[id] isnt 'undefined'
id = id + "_" + counter
@@ -25,4 +33,4 @@ class MainView extends Backbone.View
$('#resources').append resourceView.render().el
clear: ->
$(@el).html ''
$(@el).html ''

View File

@@ -47,7 +47,8 @@
onFailure: function(data) {
log("Unable to Load SwaggerUI");
},
docExpansion: "none"
docExpansion: "none",
sortAlphabetically: true
});
$('#input_apiKey').change(function() {