58 lines
1.6 KiB
CoffeeScript
58 lines
1.6 KiB
CoffeeScript
class ParameterView extends Backbone.View
|
|
initialize: ->
|
|
|
|
render: ->
|
|
type = @model.type || @model.dataType
|
|
@model.isBody = true if @model.paramType == 'body'
|
|
@model.isFile = true if type.toLowerCase() == 'file'
|
|
|
|
template = @template()
|
|
$(@el).html(template(@model))
|
|
|
|
signatureModel =
|
|
sampleJSON: @model.sampleJSON
|
|
isParam: true
|
|
signature: @model.signature
|
|
|
|
if @model.sampleJSON
|
|
signatureView = new SignatureView({model: signatureModel, tagName: 'div'})
|
|
$('.model-signature', $(@el)).append signatureView.render().el
|
|
else
|
|
$('.model-signature', $(@el)).html(@model.signature)
|
|
|
|
isParam = false
|
|
|
|
if @model.isBody
|
|
isParam = true
|
|
|
|
contentTypeModel =
|
|
isParam: isParam
|
|
|
|
contentTypeModel.consumes = @model.consumes
|
|
|
|
if isParam
|
|
parameterContentTypeView = new ParameterContentTypeView({model: contentTypeModel})
|
|
$('.parameter-content-type', $(@el)).append parameterContentTypeView.render().el
|
|
|
|
else
|
|
responseContentTypeView = new ResponseContentTypeView({model: contentTypeModel})
|
|
$('.response-content-type', $(@el)).append responseContentTypeView.render().el
|
|
|
|
@
|
|
|
|
# Return an appropriate template based on if the parameter is a list, readonly, required
|
|
template: ->
|
|
if @model.isList
|
|
Handlebars.templates.param_list
|
|
else
|
|
if @options.readOnly
|
|
if @model.required
|
|
Handlebars.templates.param_readonly_required
|
|
else
|
|
Handlebars.templates.param_readonly
|
|
else
|
|
if @model.required
|
|
Handlebars.templates.param_required
|
|
else
|
|
Handlebars.templates.param
|