diff --git a/package.json b/package.json index 20584431d79..8f178f53a56 100644 --- a/package.json +++ b/package.json @@ -22,5 +22,6 @@ "swagger-client": "2.0.36", "handlebars": "~1.0.10", "less": "~1.4.2" - } + }, + "main": "dist/swagger-ui.js" } diff --git a/src/main/coffeescript/view/MainView.coffee b/src/main/coffeescript/view/MainView.coffee index 8bab9683711..8d7f2449397 100644 --- a/src/main/coffeescript/view/MainView.coffee +++ b/src/main/coffeescript/view/MainView.coffee @@ -5,14 +5,15 @@ class MainView extends Backbone.View } initialize: (opts={}) -> + @options = opts 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 + if (sorterName == "alpha") # sort top level paths if alpha @model.apisArray.sort sorter - + render: -> # Render the outer container for resources $(@el).html(Handlebars.templates.main(@model)) diff --git a/src/main/coffeescript/view/OperationView.coffee b/src/main/coffeescript/view/OperationView.coffee index 631b62e7f7c..22f51a37af1 100644 --- a/src/main/coffeescript/view/OperationView.coffee +++ b/src/main/coffeescript/view/OperationView.coffee @@ -10,7 +10,8 @@ class OperationView extends Backbone.View 'mouseout .api-ic' : 'mouseExit' } - initialize: -> + initialize: (opts={}) -> + @options = opts mouseEnter: (e) -> elem = $(e.currentTarget.parentNode).find('#api_information_panel') @@ -41,7 +42,7 @@ class OperationView extends Backbone.View $(e.currentTarget.parentNode).find('#api_information_panel').hide() render: -> - isMethodSubmissionSupported = true #jQuery.inArray(@model.method, @model.supportedSubmitMethods) >= 0 + isMethodSubmissionSupported = jQuery.inArray(@model.method, @options.swaggerOptions.supportedSubmitMethods) >= 0 @model.isReadOnly = true unless isMethodSubmissionSupported @model.oauth = null @@ -62,7 +63,7 @@ class OperationView extends Backbone.View sampleJSON: @model.responseSampleJSON isParam: false signature: @model.responseClassSignature - + responseSignatureView = new SignatureView({model: signatureModel, tagName: 'div'}) $('.model-signature', $(@el)).append responseSignatureView.render().el else @@ -102,7 +103,7 @@ class OperationView extends Backbone.View # Render status codes statusCodeView = new StatusCodeView({model: statusCode, tagName: 'tr'}) $('.operation-status', $(@el)).append statusCodeView.render().el - + submitOperation: (e) -> e?.preventDefault() # Check for errors @@ -133,7 +134,7 @@ class OperationView extends Backbone.View if(o.value? && jQuery.trim(o.value).length > 0) map["body"] = o.value - for o in form.find("select") + for o in form.find("select") val = this.getSelectedValue o if(val? && jQuery.trim(val).length > 0) map[o.name] = val @@ -179,17 +180,17 @@ class OperationView extends Backbone.View bodyParam.append($(el).attr('name'), el.files[0]) params += 1 - @invocationUrl = + @invocationUrl = if @model.supportHeaderParams() headerParams = @model.getHeaderParams(map) @model.urlify(map, false) else @model.urlify(map, true) - $(".request_url", $(@el)).html("
") 
+    $(".request_url", $(@el)).html("
")
     $(".request_url pre", $(@el)).text(@invocationUrl);
-    
-    obj = 
+
+    obj =
       type: @model.method
       url: @invocationUrl
       headers: headerParams
@@ -235,12 +236,12 @@ class OperationView extends Backbone.View
     o
 
   getSelectedValue: (select) ->
-    if !select.multiple 
+    if !select.multiple
       select.value
     else
       options = []
       options.push opt.value for opt in select.options when opt.selected
-      if options.length > 0 
+      if options.length > 0
         options.join ","
       else
         null
@@ -276,7 +277,7 @@ class OperationView extends Backbone.View
     lines = xml.split('\n')
     indent = 0
     lastType = 'other'
-    # 4 types of tags - single, closing, opening, other (text, doctype, comment) - 4*4 = 16 transitions 
+    # 4 types of tags - single, closing, opening, other (text, doctype, comment) - 4*4 = 16 transitions
     transitions =
       'single->single': 0
       'single->closing': -1
@@ -320,9 +321,9 @@ class OperationView extends Backbone.View
           formatted = formatted.substr(0, formatted.length - 1) + ln + '\n'
         else
           formatted += padding + ln + '\n'
-      
+
     formatted
-    
+
 
   # puts the response data in UI
   showStatus: (response) ->
@@ -357,7 +358,7 @@ class OperationView extends Backbone.View
       pre = $('
').append(code)
 
     response_body = pre
-    $(".request_url", $(@el)).html("
") 
+    $(".request_url", $(@el)).html("
")
     $(".request_url pre", $(@el)).text(url);
     $(".response_code", $(@el)).html "
" + response.status + "
" $(".response_body", $(@el)).html response_body diff --git a/src/main/coffeescript/view/ParameterView.coffee b/src/main/coffeescript/view/ParameterView.coffee index 281f087779d..bf7ebfa9f68 100644 --- a/src/main/coffeescript/view/ParameterView.coffee +++ b/src/main/coffeescript/view/ParameterView.coffee @@ -1,12 +1,13 @@ class ParameterView extends Backbone.View - initialize: -> + initialize: (opts={}) -> + @options = opts Handlebars.registerHelper 'isArray', (param, opts) -> if param.type.toLowerCase() == 'array' || param.allowMultiple opts.fn(@) else opts.inverse(@) - + render: -> type = @model.type || @model.dataType @model.isBody = true if @model.paramType == 'body' diff --git a/src/main/coffeescript/view/ResourceView.coffee b/src/main/coffeescript/view/ResourceView.coffee index 8c9901e58ec..a769bb651f1 100644 --- a/src/main/coffeescript/view/ResourceView.coffee +++ b/src/main/coffeescript/view/ResourceView.coffee @@ -1,5 +1,6 @@ class ResourceView extends Backbone.View - initialize: -> + initialize: (opts={}) -> + @options = opts render: -> $(@el).html(Handlebars.templates.resource(@model)) @@ -19,12 +20,12 @@ class ResourceView extends Backbone.View operation.nickname = id operation.parentId = @model.id - @addOperation operation + @addOperation operation $('.toggleEndpointList', @el).click(this.callDocs.bind(this, 'toggleEndpointListForResource')) $('.collapseResource', @el).click(this.callDocs.bind(this, 'collapseOperationsForResource')) $('.expandResource', @el).click(this.callDocs.bind(this, 'expandOperationsForResoruce')) - + return @ addOperation: (operation) ->