/** * swagger-ui - Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API * @version v2.1.8-M1 * @link http://swagger.io * @license Apache 2.0 */ this["Handlebars"] = this["Handlebars"] || {}; this["Handlebars"]["templates"] = this["Handlebars"]["templates"] || {}; this["Handlebars"]["templates"]["apikey_button_view"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return "\n
\n
\n
" + escapeExpression(((helper = (helper = helpers.keyName || (depth0 != null ? depth0.keyName : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"keyName","hash":{},"data":data}) : helper))) + "
\n \n \n
\n
\n\n"; },"useData":true}); this["Handlebars"]["templates"]["basic_auth_button_view"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { return "
\n
\n
\n
Username
\n \n
Password
\n \n \n
\n
\n\n"; },"useData":true}); this["Handlebars"]["templates"]["content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"2":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, buffer = " \n"; },"4":function(depth0,helpers,partials,data) { return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, buffer = "\n\n"; },"useData":true}); $(function() { // Helper function for vertically aligning DOM elements // http://www.seodenver.com/simple-vertical-align-plugin-for-jquery/ $.fn.vAlign = function() { return this.each(function(i){ var ah = $(this).height(); var ph = $(this).parent().height(); var mh = (ph - ah) / 2; $(this).css('margin-top', mh); }); }; $.fn.stretchFormtasticInputWidthToParent = function() { return this.each(function(i){ var p_width = $(this).closest("form").innerWidth(); var p_padding = parseInt($(this).closest("form").css('padding-left') ,10) + parseInt($(this).closest("form").css('padding-right'), 10); var this_padding = parseInt($(this).css('padding-left'), 10) + parseInt($(this).css('padding-right'), 10); $(this).css('width', p_width - p_padding - this_padding); }); }; $('form.formtastic li.string input, form.formtastic textarea').stretchFormtasticInputWidthToParent(); // Vertically center these paragraphs // Parent may need a min-height for this to work.. $('ul.downplayed li div.content p').vAlign(); // When a sandbox form is submitted.. $("form.sandbox").submit(function(){ var error_free = true; // Cycle through the forms required inputs $(this).find("input.required").each(function() { // Remove any existing error styles from the input $(this).removeClass('error'); // Tack the error style on if the input is empty.. if ($(this).val() == '') { $(this).addClass('error'); $(this).wiggle(); error_free = false; } }); return error_free; }); }); function clippyCopiedCallback(a) { $('#api_key_copied').fadeIn().delay(1000).fadeOut(); // var b = $("#clippy_tooltip_" + a); // b.length != 0 && (b.attr("title", "copied!").trigger("tipsy.reload"), setTimeout(function() { // b.attr("title", "copy to clipboard") // }, // 500)) } // Logging function that accounts for browsers that don't have window.console log = function(){ log.history = log.history || []; log.history.push(arguments); if(this.console){ console.log( Array.prototype.slice.call(arguments)[0] ); } }; // Handle browsers that do console incorrectly (IE9 and below, see http://stackoverflow.com/a/5539378/7913) if (Function.prototype.bind && console && typeof console.log == "object") { [ "log","info","warn","error","assert","dir","clear","profile","profileEnd" ].forEach(function (method) { console[method] = this.bind(console[method], console); }, Function.prototype.call); } var Docs = { shebang: function() { // If shebang has an operation nickname in it.. // e.g. /docs/#!/words/get_search var fragments = $.param.fragment().split('/'); fragments.shift(); // get rid of the bang switch (fragments.length) { case 1: // Expand all operations for the resource and scroll to it var dom_id = 'resource_' + fragments[0]; Docs.expandEndpointListForResource(fragments[0]); $("#"+dom_id).slideto({highlight: false}); break; case 2: // Refer to the endpoint DOM element, e.g. #words_get_search // Expand Resource Docs.expandEndpointListForResource(fragments[0]); $("#"+dom_id).slideto({highlight: false}); // Expand operation var li_dom_id = fragments.join('_'); var li_content_dom_id = li_dom_id + "_content"; Docs.expandOperation($('#'+li_content_dom_id)); $('#'+li_dom_id).slideto({highlight: false}); break; } }, toggleEndpointListForResource: function(resource) { var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints'); if (elem.is(':visible')) { Docs.collapseEndpointListForResource(resource); } else { Docs.expandEndpointListForResource(resource); } }, // Expand resource expandEndpointListForResource: function(resource) { var resource = Docs.escapeResourceName(resource); if (resource == '') { $('.resource ul.endpoints').slideDown(); return; } $('li#resource_' + resource).addClass('active'); var elem = $('li#resource_' + resource + ' ul.endpoints'); elem.slideDown(); }, // Collapse resource and mark as explicitly closed collapseEndpointListForResource: function(resource) { var resource = Docs.escapeResourceName(resource); if (resource == '') { $('.resource ul.endpoints').slideUp(); return; } $('li#resource_' + resource).removeClass('active'); var elem = $('li#resource_' + resource + ' ul.endpoints'); elem.slideUp(); }, expandOperationsForResource: function(resource) { // Make sure the resource container is open.. Docs.expandEndpointListForResource(resource); if (resource == '') { $('.resource ul.endpoints li.operation div.content').slideDown(); return; } $('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() { Docs.expandOperation($(this)); }); }, collapseOperationsForResource: function(resource) { // Make sure the resource container is open.. Docs.expandEndpointListForResource(resource); if (resource == '') { $('.resource ul.endpoints li.operation div.content').slideUp(); return; } $('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() { Docs.collapseOperation($(this)); }); }, escapeResourceName: function(resource) { return resource.replace(/[!"#$%&'()*+,.\/:;<=>?@\[\\\]\^`{|}~]/g, "\\$&"); }, expandOperation: function(elem) { elem.slideDown(); }, collapseOperation: function(elem) { elem.slideUp(); } }; Handlebars.registerHelper('sanitize', function(html) { html = html.replace(/)<[^<]*)*<\/script>/gi, ''); return new Handlebars.SafeString(html); }); this["Handlebars"]["templates"]["main"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, buffer = "
" + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1), depth0)) + "
\n
"; stack1 = lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.description : stack1), depth0); if (stack1 != null) { buffer += stack1; } buffer += "
\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.externalDocs : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += " "; stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.termsOfServiceUrl : stack1), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n "; stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1), {"name":"if","hash":{},"fn":this.program(6, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n "; stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1), {"name":"if","hash":{},"fn":this.program(8, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n "; stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.email : stack1), {"name":"if","hash":{},"fn":this.program(10, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n "; stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1), {"name":"if","hash":{},"fn":this.program(12, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer + "\n"; },"2":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
More documentations
\n

" + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.description : stack1), depth0)) + "

\n " + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.externalDocs : depth0)) != null ? stack1.url : stack1), depth0)) + "\n"; },"4":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
Terms of service
"; },"6":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
Created by " + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.name : stack1), depth0)) + "
"; },"8":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
See more at " + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.contact : stack1)) != null ? stack1.url : stack1), depth0)) + "
"; },"10":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
Contact the developer
"; },"12":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return "
" + escapeExpression(lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.license : stack1)) != null ? stack1.name : stack1), depth0)) + "
"; },"14":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression; return " , api version: " + escapeExpression(lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1), depth0)) + "\n "; },"16":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "
\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.info : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "
\n
\n \n\n
\n
\n
\n

[ base url: " + escapeExpression(((helper = (helper = helpers.basePath || (depth0 != null ? depth0.basePath : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"basePath","hash":{},"data":data}) : helper))) + "\n"; stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.version : stack1), {"name":"if","hash":{},"fn":this.program(14, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "]\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.validatorUrl : depth0), {"name":"if","hash":{},"fn":this.program(16, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer + "

\n
\n
\n"; },"useData":true}); this["Handlebars"]["templates"]["operation"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { return "deprecated"; },"3":function(depth0,helpers,partials,data) { return "

Warning: Deprecated

\n"; },"5":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, buffer = "

Implementation Notes

\n

"; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "

\n"; },"7":function(depth0,helpers,partials,data) { return "
\n "; },"9":function(depth0,helpers,partials,data) { var stack1, buffer = "
\n"; stack1 = helpers.each.call(depth0, depth0, {"name":"each","hash":{},"fn":this.program(10, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer + "
\n"; },"10":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, escapeExpression=this.escapeExpression, buffer = "
" + escapeExpression(lambda((depth0 != null ? depth0.scope : depth0), depth0)) + "
\n"; },"12":function(depth0,helpers,partials,data) { return "
"; },"14":function(depth0,helpers,partials,data) { return "
\n \n
\n"; },"16":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return "

Response Class (Status " + escapeExpression(((helper = (helper = helpers.successCode || (depth0 != null ? depth0.successCode : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"successCode","hash":{},"data":data}) : helper))) + ")

\n

\n
\n
\n"; },"18":function(depth0,helpers,partials,data) { return "

Parameters

\n \n \n \n \n \n \n \n \n \n \n \n\n \n
ParameterValueDescriptionParameter TypeData Type
\n"; },"20":function(depth0,helpers,partials,data) { return "
\n

Response Messages

\n \n \n \n \n \n \n \n \n \n \n\n \n
HTTP Status CodeReasonResponse ModelHeaders
\n"; },"22":function(depth0,helpers,partials,data) { return ""; },"24":function(depth0,helpers,partials,data) { return "
\n \n \n \n
\n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, options, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, blockHelperMissing=helpers.blockHelperMissing, buffer = "\n \n"; },"useData":true}); this["Handlebars"]["templates"]["param_list"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n"; },"3":function(depth0,helpers,partials,data) { return " multiple='multiple'"; },"5":function(depth0,helpers,partials,data) { return ""; },"7":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.program(8, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"8":function(depth0,helpers,partials,data) { var stack1, helperMissing=helpers.helperMissing, buffer = ""; stack1 = ((helpers.isArray || (depth0 && depth0.isArray) || helperMissing).call(depth0, depth0, {"name":"isArray","hash":{},"fn":this.program(5, data),"inverse":this.program(9, data),"data":data})); if (stack1 != null) { buffer += stack1; } return buffer; },"9":function(depth0,helpers,partials,data) { return " \n"; },"11":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isDefault : depth0), {"name":"if","hash":{},"fn":this.program(12, data),"inverse":this.program(14, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"12":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"14":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.required : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n\n \n\n"; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n"; },"useData":true}); this["Handlebars"]["templates"]["param_readonly_required"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"3":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.program(6, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"4":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " " + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper))) + "\n"; },"6":function(depth0,helpers,partials,data) { return " (empty)\n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(3, data),"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n\n"; },"useData":true}); this["Handlebars"]["templates"]["param_readonly"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"3":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(4, data),"inverse":this.program(6, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"4":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " " + escapeExpression(((helper = (helper = helpers['default'] || (depth0 != null ? depth0['default'] : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"default","hash":{},"data":data}) : helper))) + "\n"; },"6":function(depth0,helpers,partials,data) { return " (empty)\n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(3, data),"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n\n"; },"useData":true}); this["Handlebars"]["templates"]["param_required"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(4, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"2":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"4":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.program(7, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"5":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n
\n
\n"; },"7":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n
\n
\n"; },"9":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(10, data),"inverse":this.program(12, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"10":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"12":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(13, data),"inverse":this.program(15, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"13":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"15":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(9, data),"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n\n "; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n\n"; stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n\n"; },"useData":true}); this["Handlebars"]["templates"]["param"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(4, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"2":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n
\n"; },"4":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(5, data),"inverse":this.program(7, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"5":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n
\n
\n"; },"7":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n
\n
\n"; },"9":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isFile : depth0), {"name":"if","hash":{},"fn":this.program(2, data),"inverse":this.program(10, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"10":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0['default'] : depth0), {"name":"if","hash":{},"fn":this.program(11, data),"inverse":this.program(13, data),"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"11":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"13":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "" + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + "\n\n\n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.isBody : depth0), {"name":"if","hash":{},"fn":this.program(1, data),"inverse":this.program(9, data),"data":data}); if (stack1 != null) { buffer += stack1; } buffer += "\n\n"; stack1 = ((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"description","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n"; stack1 = ((helper = (helper = helpers.paramType || (depth0 != null ? depth0.paramType : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"paramType","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n\n \n\n"; },"useData":true}); this["Handlebars"]["templates"]["parameter_content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.consumes : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"2":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, buffer = " \n"; },"4":function(depth0,helpers,partials,data) { return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, buffer = "\n\n"; },"useData":true}); this["Handlebars"]["templates"]["resource"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { return " : "; },"3":function(depth0,helpers,partials,data) { var helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression; return "
  • \n Raw\n
  • \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, options, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, blockHelperMissing=helpers.blockHelperMissing, buffer = "
    \n

    \n " + escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"name","hash":{},"data":data}) : helper))) + " "; stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : helperMissing),(options={"name":"summary","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data}),(typeof helper === functionType ? helper.call(depth0, options) : helper)); if (!helpers.summary) { stack1 = blockHelperMissing.call(depth0, stack1, options); } if (stack1 != null) { buffer += stack1; } stack1 = ((helper = (helper = helpers.summary || (depth0 != null ? depth0.summary : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"summary","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n

    \n
      \n
    • \n Show/Hide\n
    • \n
    • \n \n List Operations\n \n
    • \n
    • \n \n Expand Operations\n \n
    • \n"; stack1 = helpers['if'].call(depth0, (depth0 != null ? depth0.url : depth0), {"name":"if","hash":{},"fn":this.program(3, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer + "
    \n
    \n\n"; },"useData":true}); this["Handlebars"]["templates"]["response_content_type"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ""; stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.produces : depth0), {"name":"each","hash":{},"fn":this.program(2, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer; },"2":function(depth0,helpers,partials,data) { var stack1, lambda=this.lambda, buffer = " \n"; },"4":function(depth0,helpers,partials,data) { return " \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, buffer = "\n\n"; },"useData":true}); this["Handlebars"]["templates"]["signature"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "
    \n\n
    \n\n
    \n
    \n "; stack1 = ((helper = (helper = helpers.signature || (depth0 != null ? depth0.signature : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"signature","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } return buffer + "\n
    \n\n
    \n
    "
        + escapeExpression(((helper = (helper = helpers.sampleJSON || (depth0 != null ? depth0.sampleJSON : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"sampleJSON","hash":{},"data":data}) : helper)))
        + "
    \n \n
    \n
    \n\n"; },"useData":true}); this["Handlebars"]["templates"]["status_code"] = Handlebars.template({"1":function(depth0,helpers,partials,data) { var lambda=this.lambda, escapeExpression=this.escapeExpression; return " \n " + escapeExpression(lambda((data && data.key), depth0)) + "\n " + escapeExpression(lambda((depth0 != null ? depth0.description : depth0), depth0)) + "\n " + escapeExpression(lambda((depth0 != null ? depth0.type : depth0), depth0)) + "\n \n"; },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, helper, functionType="function", helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = "" + escapeExpression(((helper = (helper = helpers.code || (depth0 != null ? depth0.code : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"code","hash":{},"data":data}) : helper))) + "\n"; stack1 = ((helper = (helper = helpers.message || (depth0 != null ? depth0.message : depth0)) != null ? helper : helperMissing),(typeof helper === functionType ? helper.call(depth0, {"name":"message","hash":{},"data":data}) : helper)); if (stack1 != null) { buffer += stack1; } buffer += "\n\n\n \n \n"; stack1 = helpers.each.call(depth0, (depth0 != null ? depth0.headers : depth0), {"name":"each","hash":{},"fn":this.program(1, data),"inverse":this.noop,"data":data}); if (stack1 != null) { buffer += stack1; } return buffer + " \n
    \n"; },"useData":true}); var SwaggerUi, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; SwaggerUi = (function(superClass) { extend(SwaggerUi, superClass); function SwaggerUi() { return SwaggerUi.__super__.constructor.apply(this, arguments); } SwaggerUi.prototype.domEl = $('#swagger_ui'); SwaggerUi.prototype.options = null; SwaggerUi.prototype.api = null; SwaggerUi.prototype.headerView = null; SwaggerUi.prototype.mainView = null; SwaggerUi.prototype.initialize = function(options) { if (options == null) { options = {}; } if (options.dom_id != null) { this.domEl = $('#' + options.dom_id); delete options.dom_id; } else if (options.domEl != null) { this.domEl = options.domEl; } if (options.supportedSubmitMethods == null) { options.supportedSubmitMethods = ['get', 'put', 'post', 'delete', 'head', 'options', 'patch']; } this.domEl = $(this.domEl); if (!$.contains(document.documentElement, this.domEl.get(0))) { $('body').append(this.domEl); } this.options = options; marked.setOptions({ gfm: true }); this.options.success = (function(_this) { return function() { return _this.render(); }; })(this); this.options.progress = (function(_this) { return function(d) { return _this.showMessage(d); }; })(this); this.options.failure = (function(_this) { return function(d) { return _this.onLoadFailure(d); }; })(this); if ($('#header').length) { this.headerView = new HeaderView({ el: $('#header') }); return this.headerView.on('update-swagger-ui', (function(_this) { return function(data) { return _this.updateSwaggerUi(data); }; })(this)); } }; SwaggerUi.prototype.setOption = function(option, value) { return this.options[option] = value; }; SwaggerUi.prototype.getOption = function(option) { return this.options[option]; }; SwaggerUi.prototype.updateSwaggerUi = function(data) { this.options.url = data.url; return this.load(); }; SwaggerUi.prototype.load = function() { var ref, url; if ((ref = this.mainView) != null) { ref.clear(); } url = this.options.url; if (url && url.indexOf("http") !== 0) { url = this.buildUrl(window.location.href.toString(), url); } this.options.url = url; if (this.headerView) { this.headerView.update(url); } return this.api = new SwaggerClient(this.options); }; SwaggerUi.prototype.collapseAll = function() { return Docs.collapseEndpointListForResource(''); }; SwaggerUi.prototype.listAll = function() { return Docs.collapseOperationsForResource(''); }; SwaggerUi.prototype.expandAll = function() { return Docs.expandOperationsForResource(''); }; SwaggerUi.prototype.render = function() { this.showMessage('Finished Loading Resource Information. Rendering Swagger UI...'); this.mainView = new MainView({ model: this.api, el: this.domEl, swaggerOptions: this.options, router: this }).render(); this.showMessage(); switch (this.options.docExpansion) { case "full": this.expandAll(); break; case "list": this.listAll(); } this.renderGFM(); if (this.options.onComplete) { this.options.onComplete(this.api, this); } return setTimeout((function(_this) { return function() { return Docs.shebang(); }; })(this), 100); }; SwaggerUi.prototype.buildUrl = function(base, url) { var endOfPath, parts; if (url.indexOf("/") === 0) { parts = base.split("/"); base = parts[0] + "//" + parts[2]; return base + url; } else { endOfPath = base.length; if (base.indexOf("?") > -1) { endOfPath = Math.min(endOfPath, base.indexOf("?")); } if (base.indexOf("#") > -1) { endOfPath = Math.min(endOfPath, base.indexOf("#")); } base = base.substring(0, endOfPath); if (base.indexOf("/", base.length - 1) !== -1) { return base + url; } return base + "/" + url; } }; SwaggerUi.prototype.showMessage = function(data) { if (data == null) { data = ''; } $('#message-bar').removeClass('message-fail'); $('#message-bar').addClass('message-success'); return $('#message-bar').html(data); }; SwaggerUi.prototype.onLoadFailure = function(data) { var val; if (data == null) { data = ''; } $('#message-bar').removeClass('message-success'); $('#message-bar').addClass('message-fail'); val = $('#message-bar').html(data); if (this.options.onFailure != null) { this.options.onFailure(data); } return val; }; SwaggerUi.prototype.renderGFM = function(data) { if (data == null) { data = ''; } return $('.markdown').each(function(index) { return $(this).html(marked($(this).html())); }); }; return SwaggerUi; })(Backbone.Router); window.SwaggerUi = SwaggerUi; var ApiKeyButton, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; ApiKeyButton = (function(superClass) { extend(ApiKeyButton, superClass); function ApiKeyButton() { return ApiKeyButton.__super__.constructor.apply(this, arguments); } ApiKeyButton.prototype.initialize = function() {}; ApiKeyButton.prototype.render = function() { var template; template = this.template(); $(this.el).html(template(this.model)); return this; }; ApiKeyButton.prototype.events = { "click #apikey_button": "toggleApiKeyContainer", "click #apply_api_key": "applyApiKey" }; ApiKeyButton.prototype.applyApiKey = function() { var elem; window.authorizations.add(this.model.name, new ApiKeyAuthorization(this.model.name, $("#input_apiKey_entry").val(), this.model["in"])); window.swaggerUi.load(); return elem = $('#apikey_container').show(); }; ApiKeyButton.prototype.toggleApiKeyContainer = function() { var elem; if ($('#apikey_container').length > 0) { elem = $('#apikey_container').first(); if (elem.is(':visible')) { return elem.hide(); } else { $('.auth_container').hide(); return elem.show(); } } }; ApiKeyButton.prototype.template = function() { return Handlebars.templates.apikey_button_view; }; return ApiKeyButton; })(Backbone.View); var BasicAuthButton, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; BasicAuthButton = (function(superClass) { extend(BasicAuthButton, superClass); function BasicAuthButton() { return BasicAuthButton.__super__.constructor.apply(this, arguments); } BasicAuthButton.prototype.initialize = function() {}; BasicAuthButton.prototype.render = function() { var template; template = this.template(); $(this.el).html(template(this.model)); return this; }; BasicAuthButton.prototype.events = { "click #basic_auth_button": "togglePasswordContainer", "click #apply_basic_auth": "applyPassword" }; BasicAuthButton.prototype.applyPassword = function() { var elem, password, username; username = $(".input_username").val(); password = $(".input_password").val(); window.authorizations.add(this.model.type, new PasswordAuthorization("basic", username, password)); window.swaggerUi.load(); return elem = $('#basic_auth_container').hide(); }; BasicAuthButton.prototype.togglePasswordContainer = function() { var elem; if ($('#basic_auth_container').length > 0) { elem = $('#basic_auth_container').show(); if (elem.is(':visible')) { return elem.slideUp(); } else { $('.auth_container').hide(); return elem.show(); } } }; BasicAuthButton.prototype.template = function() { return Handlebars.templates.basic_auth_button_view; }; return BasicAuthButton; })(Backbone.View); var ContentTypeView, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; ContentTypeView = (function(superClass) { extend(ContentTypeView, superClass); function ContentTypeView() { return ContentTypeView.__super__.constructor.apply(this, arguments); } ContentTypeView.prototype.initialize = function() {}; ContentTypeView.prototype.render = function() { var template; template = this.template(); $(this.el).html(template(this.model)); $('label[for=contentType]', $(this.el)).text('Response Content Type'); return this; }; ContentTypeView.prototype.template = function() { return Handlebars.templates.content_type; }; return ContentTypeView; })(Backbone.View); var HeaderView, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; HeaderView = (function(superClass) { extend(HeaderView, superClass); function HeaderView() { return HeaderView.__super__.constructor.apply(this, arguments); } HeaderView.prototype.events = { 'click #show-pet-store-icon': 'showPetStore', 'click #show-wordnik-dev-icon': 'showWordnikDev', 'click #explore': 'showCustom', 'keyup #input_baseUrl': 'showCustomOnKeyup', 'keyup #input_apiKey': 'showCustomOnKeyup' }; HeaderView.prototype.initialize = function() {}; HeaderView.prototype.showPetStore = function(e) { return this.trigger('update-swagger-ui', { url: "http://petstore.swagger.wordnik.com/api/api-docs" }); }; HeaderView.prototype.showWordnikDev = function(e) { return this.trigger('update-swagger-ui', { url: "http://api.wordnik.com/v4/resources.json" }); }; HeaderView.prototype.showCustomOnKeyup = function(e) { if (e.keyCode === 13) { return this.showCustom(); } }; HeaderView.prototype.showCustom = function(e) { if (e != null) { e.preventDefault(); } return this.trigger('update-swagger-ui', { url: $('#input_baseUrl').val(), apiKey: $('#input_apiKey').val() }); }; HeaderView.prototype.update = function(url, apiKey, trigger) { if (trigger == null) { trigger = false; } $('#input_baseUrl').val(url); if (trigger) { return this.trigger('update-swagger-ui', { url: url }); } }; return HeaderView; })(Backbone.View); var MainView, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; MainView = (function(superClass) { var sorters; extend(MainView, superClass); function MainView() { return MainView.__super__.constructor.apply(this, arguments); } sorters = { 'alpha': function(a, b) { return a.path.localeCompare(b.path); }, 'method': function(a, b) { return a.method.localeCompare(b.method); } }; MainView.prototype.initialize = function(opts) { var auth, key, ref, value; if (opts == null) { opts = {}; } this.model.auths = []; ref = this.model.securityDefinitions; for (key in ref) { value = ref[key]; auth = { name: key, type: value.type, value: value }; this.model.auths.push(auth); } if (this.model.swaggerVersion === "2.0") { if ("validatorUrl" in opts.swaggerOptions) { return this.model.validatorUrl = opts.swaggerOptions.validatorUrl; } else if (this.model.url.indexOf("localhost") > 0) { return this.model.validatorUrl = null; } else { return this.model.validatorUrl = "http://online.swagger.io/validator"; } } }; MainView.prototype.render = function() { var auth, button, counter, i, id, len, name, ref, resource, resources; if (this.model.securityDefinitions) { for (name in this.model.securityDefinitions) { auth = this.model.securityDefinitions[name]; if (auth.type === "apiKey" && $("#apikey_button").length === 0) { button = new ApiKeyButton({ model: auth }).render().el; $('.auth_main_container').append(button); } if (auth.type === "basicAuth" && $("#basic_auth_button").length === 0) { button = new BasicAuthButton({ model: auth }).render().el; $('.auth_main_container').append(button); } } } $(this.el).html(Handlebars.templates.main(this.model)); resources = {}; counter = 0; ref = this.model.apisArray; for (i = 0, len = ref.length; i < len; i++) { resource = ref[i]; id = resource.name; while (typeof resources[id] !== 'undefined') { id = id + "_" + counter; counter += 1; } resource.id = id; resources[id] = resource; this.addResource(resource, this.model.auths); } $('.propWrap').hover(function() { return $('.optionsWrapper', $(this)).show(); }, function() { return $('.optionsWrapper', $(this)).hide(); }); return this; }; MainView.prototype.addResource = function(resource, auths) { var resourceView; resource.id = resource.id.replace(/\s/g, '_'); resourceView = new ResourceView({ model: resource, tagName: 'li', id: 'resource_' + resource.id, className: 'resource', auths: auths, swaggerOptions: this.options.swaggerOptions, parent: this }); return $('#resources', this.el).append(resourceView.render().el); }; MainView.prototype.clear = function() { return $(this.el).html(''); }; return MainView; })(Backbone.View); var OperationView, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; OperationView = (function(superClass) { extend(OperationView, superClass); function OperationView() { return OperationView.__super__.constructor.apply(this, arguments); } OperationView.prototype.invocationUrl = null; OperationView.prototype.events = { 'submit .sandbox': 'submitOperation', 'click .submit': 'submitOperation', 'click .response_hider': 'hideResponse', 'click .toggleOperation': 'toggleOperationContent', 'mouseenter .api-ic': 'mouseEnter', 'mouseout .api-ic': 'mouseExit' }; OperationView.prototype.initialize = function(opts) { if (opts == null) { opts = {}; } this.auths = opts.auths; this.parentId = this.model.parentId; this.nickname = this.model.nickname; return this; }; OperationView.prototype.mouseEnter = function(e) { var elem, hgh, pos, scMaxX, scMaxY, scX, scY, wd, x, y; elem = $(this.el).find('.content'); x = e.pageX; y = e.pageY; scX = $(window).scrollLeft(); scY = $(window).scrollTop(); scMaxX = scX + $(window).width(); scMaxY = scY + $(window).height(); wd = elem.width(); hgh = elem.height(); if (x + wd > scMaxX) { x = scMaxX - wd; } if (x < scX) { x = scX; } if (y + hgh > scMaxY) { y = scMaxY - hgh; } if (y < scY) { y = scY; } pos = {}; pos.top = y; pos.left = x; elem.css(pos); return $(e.currentTarget.parentNode).find('#api_information_panel').show(); }; OperationView.prototype.mouseExit = function(e) { return $(e.currentTarget.parentNode).find('#api_information_panel').hide(); }; OperationView.prototype.render = function() { var a, auth, auths, code, contentTypeModel, isMethodSubmissionSupported, k, key, l, len, len1, len2, len3, len4, m, modelAuths, n, o, p, param, q, ref, ref1, ref2, ref3, ref4, ref5, responseContentTypeView, responseSignatureView, schema, schemaObj, scopeIndex, signatureModel, statusCode, successResponse, type, v, value; isMethodSubmissionSupported = jQuery.inArray(this.model.method, this.model.supportedSubmitMethods()) >= 0; if (!isMethodSubmissionSupported) { this.model.isReadOnly = true; } this.model.description = this.model.description || this.model.notes; if (this.model.description) { this.model.description = this.model.description.replace(/(?:\r\n|\r|\n)/g, '
    '); } this.model.oauth = null; modelAuths = this.model.authorizations || this.model.security; if (modelAuths) { if (Array.isArray(modelAuths)) { for (l = 0, len = modelAuths.length; l < len; l++) { auths = modelAuths[l]; for (key in auths) { auth = auths[key]; for (a in this.auths) { auth = this.auths[a]; if (auth.type === 'oauth2') { this.model.oauth = {}; this.model.oauth.scopes = []; ref1 = auth.value.scopes; for (k in ref1) { v = ref1[k]; scopeIndex = auths[key].indexOf(k); if (scopeIndex >= 0) { o = { scope: k, description: v }; this.model.oauth.scopes.push(o); } } } } } } } else { for (k in modelAuths) { v = modelAuths[k]; if (k === "oauth2") { if (this.model.oauth === null) { this.model.oauth = {}; } if (this.model.oauth.scopes === void 0) { this.model.oauth.scopes = []; } for (m = 0, len1 = v.length; m < len1; m++) { o = v[m]; this.model.oauth.scopes.push(o); } } } } } if (typeof this.model.responses !== 'undefined') { this.model.responseMessages = []; ref2 = this.model.responses; for (code in ref2) { value = ref2[code]; schema = null; schemaObj = this.model.responses[code].schema; if (schemaObj && schemaObj['$ref']) { schema = schemaObj['$ref']; if (schema.indexOf('#/definitions/') === 0) { schema = schema.substring('#/definitions/'.length); } } this.model.responseMessages.push({ code: code, message: value.description, responseModel: schema }); } } if (typeof this.model.responseMessages === 'undefined') { this.model.responseMessages = []; } signatureModel = null; if (this.model.successResponse) { successResponse = this.model.successResponse; for (key in successResponse) { value = successResponse[key]; this.model.successCode = key; if (typeof value === 'object' && typeof value.createJSONSample === 'function') { signatureModel = { sampleJSON: JSON.stringify(value.createJSONSample(), void 0, 2), isParam: false, signature: value.getMockSignature() }; } } } else if (this.model.responseClassSignature && this.model.responseClassSignature !== 'string') { signatureModel = { sampleJSON: this.model.responseSampleJSON, isParam: false, signature: this.model.responseClassSignature }; } $(this.el).html(Handlebars.templates.operation(this.model)); if (signatureModel) { responseSignatureView = new SignatureView({ model: signatureModel, tagName: 'div', parent: this }); $('.model-signature', $(this.el)).append(responseSignatureView.render().el); } else { this.model.responseClassSignature = 'string'; $('.model-signature', $(this.el)).html(this.model.type); } contentTypeModel = { isParam: false }; contentTypeModel.consumes = this.model.consumes; contentTypeModel.produces = this.model.produces; ref3 = this.model.parameters; for (n = 0, len2 = ref3.length; n < len2; n++) { param = ref3[n]; type = param.type || param.dataType || ''; if (typeof type === 'undefined') { schema = param.schema; if (schema && 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) { contentTypeModel.consumes = 'multipart/form-data'; } } param.type = type; } responseContentTypeView = new ResponseContentTypeView({ model: contentTypeModel, parent: this }); $('.response-content-type', $(this.el)).append(responseContentTypeView.render().el); ref4 = this.model.parameters; for (p = 0, len3 = ref4.length; p < len3; p++) { param = ref4[p]; this.addParameter(param, contentTypeModel.consumes); } ref5 = this.model.responseMessages; for (q = 0, len4 = ref5.length; q < len4; q++) { statusCode = ref5[q]; this.addStatusCode(statusCode); } return this; }; OperationView.prototype.addParameter = function(param, consumes) { var paramView; param.consumes = consumes; paramView = new ParameterView({ model: param, tagName: 'tr', readOnly: this.model.isReadOnly, parent: this }); return $('.operation-params', $(this.el)).append(paramView.render().el); }; OperationView.prototype.addStatusCode = function(statusCode) { var statusCodeView; statusCodeView = new StatusCodeView({ model: statusCode, tagName: 'tr', parent: this }); return $('.operation-status', $(this.el)).append(statusCodeView.render().el); }; OperationView.prototype.submitOperation = function(e) { var error_free, form, isFileUpload, l, len, len1, len2, m, map, n, o, opts, ref1, ref2, ref3, val; if (e != null) { e.preventDefault(); } form = $('.sandbox', $(this.el)); error_free = true; form.find("input.required").each(function() { $(this).removeClass("error"); if (jQuery.trim($(this).val()) === "") { $(this).addClass("error"); $(this).wiggle({ callback: (function(_this) { return function() { return $(_this).focus(); }; })(this) }); return error_free = false; } }); form.find("textarea.required").each(function() { $(this).removeClass("error"); if (jQuery.trim($(this).val()) === "") { $(this).addClass("error"); $(this).wiggle({ callback: (function(_this) { return function() { return $(_this).focus(); }; })(this) }); return error_free = false; } }); if (error_free) { map = {}; opts = { parent: this }; isFileUpload = false; ref1 = form.find("input"); for (l = 0, len = ref1.length; l < len; l++) { o = ref1[l]; if ((o.value != null) && jQuery.trim(o.value).length > 0) { map[o.name] = o.value; } if (o.type === "file") { map[o.name] = o.files[0]; isFileUpload = true; } } ref2 = form.find("textarea"); for (m = 0, len1 = ref2.length; m < len1; m++) { o = ref2[m]; if ((o.value != null) && jQuery.trim(o.value).length > 0) { map[o.name] = o.value; } } ref3 = form.find("select"); for (n = 0, len2 = ref3.length; n < len2; n++) { o = ref3[n]; val = this.getSelectedValue(o); if ((val != null) && jQuery.trim(val).length > 0) { map[o.name] = val; } } opts.responseContentType = $("div select[name=responseContentType]", $(this.el)).val(); opts.requestContentType = $("div select[name=parameterContentType]", $(this.el)).val(); $(".response_throbber", $(this.el)).show(); if (isFileUpload) { return this.handleFileUpload(map, form); } else { return this.model["do"](map, opts, this.showCompleteStatus, this.showErrorStatus, this); } } }; OperationView.prototype.success = function(response, parent) { return parent.showCompleteStatus(response); }; OperationView.prototype.handleFileUpload = function(map, form) { var bodyParam, el, headerParams, l, len, len1, len2, len3, m, n, o, obj, p, param, params, ref1, ref2, ref3, ref4; ref1 = form.serializeArray(); for (l = 0, len = ref1.length; l < len; l++) { o = ref1[l]; if ((o.value != null) && jQuery.trim(o.value).length > 0) { map[o.name] = o.value; } } bodyParam = new FormData(); params = 0; ref2 = this.model.parameters; for (m = 0, len1 = ref2.length; m < len1; m++) { param = ref2[m]; if (param.paramType === 'form' || param["in"] === 'formData') { if (param.type.toLowerCase() !== 'file' && map[param.name] !== void 0) { bodyParam.append(param.name, map[param.name]); } } } headerParams = {}; ref3 = this.model.parameters; for (n = 0, len2 = ref3.length; n < len2; n++) { param = ref3[n]; if (param.paramType === 'header') { headerParams[param.name] = map[param.name]; } } ref4 = form.find('input[type~="file"]'); for (p = 0, len3 = ref4.length; p < len3; p++) { el = ref4[p]; if (typeof el.files[0] !== 'undefined') { bodyParam.append($(el).attr('name'), el.files[0]); params += 1; } } this.invocationUrl = this.model.supportHeaderParams() ? (headerParams = this.model.getHeaderParams(map), delete headerParams['Content-Type'], this.model.urlify(map, false)) : this.model.urlify(map, true); $(".request_url", $(this.el)).html("
    ");
        $(".request_url pre", $(this.el)).text(this.invocationUrl);
        obj = {
          type: this.model.method,
          url: this.invocationUrl,
          headers: headerParams,
          data: bodyParam,
          dataType: 'json',
          contentType: false,
          processData: false,
          error: (function(_this) {
            return function(data, textStatus, error) {
              return _this.showErrorStatus(_this.wrap(data), _this);
            };
          })(this),
          success: (function(_this) {
            return function(data) {
              return _this.showResponse(data, _this);
            };
          })(this),
          complete: (function(_this) {
            return function(data) {
              return _this.showCompleteStatus(_this.wrap(data), _this);
            };
          })(this)
        };
        if (window.authorizations) {
          window.authorizations.apply(obj);
        }
        if (params === 0) {
          obj.data.append("fake", "true");
        }
        jQuery.ajax(obj);
        return false;
      };
    
      OperationView.prototype.wrap = function(data) {
        var h, headerArray, headers, i, l, len, o;
        headers = {};
        headerArray = data.getAllResponseHeaders().split("\r");
        for (l = 0, len = headerArray.length; l < len; l++) {
          i = headerArray[l];
          h = i.match(/^([^:]*?):(.*)$/);
          if (!h) {
            h = [];
          }
          h.shift();
          if (h[0] !== void 0 && h[1] !== void 0) {
            headers[h[0].trim()] = h[1].trim();
          }
        }
        o = {};
        o.content = {};
        o.content.data = data.responseText;
        o.headers = headers;
        o.request = {};
        o.request.url = this.invocationUrl;
        o.status = data.status;
        return o;
      };
    
      OperationView.prototype.getSelectedValue = function(select) {
        var l, len, opt, options, ref1;
        if (!select.multiple) {
          return select.value;
        } else {
          options = [];
          ref1 = select.options;
          for (l = 0, len = ref1.length; l < len; l++) {
            opt = ref1[l];
            if (opt.selected) {
              options.push(opt.value);
            }
          }
          if (options.length > 0) {
            return options;
          } else {
            return null;
          }
        }
      };
    
      OperationView.prototype.hideResponse = function(e) {
        if (e != null) {
          e.preventDefault();
        }
        $(".response", $(this.el)).slideUp();
        return $(".response_hider", $(this.el)).fadeOut();
      };
    
      OperationView.prototype.showResponse = function(response) {
        var prettyJson;
        prettyJson = JSON.stringify(response, null, "\t").replace(/\n/g, "
    "); return $(".response_body", $(this.el)).html(escape(prettyJson)); }; OperationView.prototype.showErrorStatus = function(data, parent) { return parent.showStatus(data); }; OperationView.prototype.showCompleteStatus = function(data, parent) { return parent.showStatus(data); }; OperationView.prototype.formatXml = function(xml) { var contexp, fn, formatted, indent, l, lastType, len, lines, ln, pad, reg, transitions, wsexp; reg = /(>)(<)(\/*)/g; wsexp = /[ ]*(.*)[ ]+\n/g; contexp = /(<.+>)(.+\n)/g; xml = xml.replace(reg, '$1\n$2$3').replace(wsexp, '$1\n').replace(contexp, '$1\n$2'); pad = 0; formatted = ''; lines = xml.split('\n'); indent = 0; lastType = 'other'; transitions = { 'single->single': 0, 'single->closing': -1, 'single->opening': 0, 'single->other': 0, 'closing->single': 0, 'closing->closing': -1, 'closing->opening': 0, 'closing->other': 0, 'opening->single': 1, 'opening->closing': 0, 'opening->opening': 1, 'opening->other': 1, 'other->single': 0, 'other->closing': -1, 'other->opening': 0, 'other->other': 0 }; fn = function(ln) { var fromTo, j, key, padding, type, types, value; types = { single: Boolean(ln.match(/<.+\/>/)), closing: Boolean(ln.match(/<\/.+>/)), opening: Boolean(ln.match(/<[^!?].*>/)) }; type = ((function() { var results; results = []; for (key in types) { value = types[key]; if (value) { results.push(key); } } return results; })())[0]; type = type === void 0 ? 'other' : type; fromTo = lastType + '->' + type; lastType = type; padding = ''; indent += transitions[fromTo]; padding = ((function() { var m, ref1, results; results = []; for (j = m = 0, ref1 = indent; 0 <= ref1 ? m < ref1 : m > ref1; j = 0 <= ref1 ? ++m : --m) { results.push(' '); } return results; })()).join(''); if (fromTo === 'opening->closing') { return formatted = formatted.substr(0, formatted.length - 1) + ln + '\n'; } else { return formatted += padding + ln + '\n'; } }; for (l = 0, len = lines.length; l < len; l++) { ln = lines[l]; fn(ln); } return formatted; }; OperationView.prototype.showStatus = function(response) { var code, content, contentType, e, headers, json, opts, pre, response_body, response_body_el, supportsAudioPlayback, url; if (response.content === void 0) { content = response.data; url = response.url; } else { content = response.content.data; url = response.request.url; } headers = response.headers; contentType = null; if (headers) { contentType = headers["Content-Type"] || headers["content-type"]; if (contentType) { contentType = contentType.split(";")[0].trim(); } } $(".response_body", $(this.el)).removeClass('json'); $(".response_body", $(this.el)).removeClass('xml'); supportsAudioPlayback = function(contentType) { var audioElement; audioElement = document.createElement('audio'); return !!(audioElement.canPlayType && audioElement.canPlayType(contentType).replace(/no/, '')); }; if (!content) { code = $('').text("no content"); pre = $('
    ').append(code);
        } else if (contentType === "application/json" || /\+json$/.test(contentType)) {
          json = null;
          try {
            json = JSON.stringify(JSON.parse(content), null, "  ");
          } catch (_error) {
            e = _error;
            json = "can't parse JSON.  Raw result:\n\n" + content;
          }
          code = $('').text(json);
          pre = $('
    ').append(code);
        } else if (contentType === "application/xml" || /\+xml$/.test(contentType)) {
          code = $('').text(this.formatXml(content));
          pre = $('
    ').append(code);
        } else if (contentType === "text/html") {
          code = $('').html(_.escape(content));
          pre = $('
    ').append(code);
        } else if (/^image\//.test(contentType)) {
          pre = $('').attr('src', url);
        } else if (/^audio\//.test(contentType) && supportsAudioPlayback(contentType)) {
          pre = $('