All Downloads are FREE. Search and download functionalities are using the official Maven repository.

swagger.swagger-ui.js Maven / Gradle / Ivy

The newest version!
$(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
function log() {
  if (window.console) console.log.apply(console,arguments);
}
  
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
//				log('shebang resource:' + fragments[0]);
				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
//				log('shebang endpoint: ' + fragments.join('_'));

                // 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";

//                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});
				break;
		}

	},

	toggleEndpointListForResource: function(resource) {
		var elem = $('li#resource_' + resource + ' ul.endpoints');
		if (elem.is(':visible')) {
			Docs.collapseEndpointListForResource(resource);
		} else {
			Docs.expandEndpointListForResource(resource);
		}
	},

	// Expand resource
	expandEndpointListForResource: function(resource) {
		$('#resource_' + resource).addClass('active');

		var elem = $('li#resource_' + resource + ' ul.endpoints');
		elem.slideDown();
	},

	// Collapse resource and mark as explicitly closed
	collapseEndpointListForResource: function(resource) {
		$('#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);
		$('li#resource_' + resource + ' li.operation div.content').each(function() {
			Docs.expandOperation($(this));
		});
	},

	collapseOperationsForResource: function(resource) {
		// Make sure the resource container is open..
		Docs.expandEndpointListForResource(resource);
		$('li#resource_' + resource + ' li.operation div.content').each(function() {
			Docs.collapseOperation($(this));
		});
	},

	expandOperation: function(elem) {
		elem.slideDown();
	},

	collapseOperation: function(elem) {
		elem.slideUp();
	}

};(function() {
  var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
templates['main'] = template(function (Handlebars,depth0,helpers,partials,data) {
  helpers = helpers || Handlebars.helpers;
  var buffer = "", stack1, foundHelper, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression;


  buffer += "\n
\n
    \n
\n\n
\n
\n
\n

[base url: "; foundHelper = helpers.basePath; stack1 = foundHelper || depth0.basePath; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "basePath", { hash: {} }); } buffer += escapeExpression(stack1) + "]

\n
\n
"; /********************************************* ** Lees Edit to swagger *********************************************/ buffer += ""; buffer += ""; /********************************************* ** End of Lees Edit to swagger *********************************************/ return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['operation'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { var buffer = "", stack1; buffer += "\n

Implementation Notes

\n

"; foundHelper = helpers.notes; stack1 = foundHelper || depth0.notes; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "notes", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "

\n "; return buffer;} function program3(depth0,data) { return "\n ";} function program5(depth0,data) { return "\n
\n \n \n \n
\n ";} buffer += "\n \n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['param'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; stack2 = helpers['if']; tmp1 = self.program(2, program2, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(4, program4, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n \n "; return buffer;} function program2(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program4(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program6(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; stack2 = helpers['if']; tmp1 = self.program(7, program7, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(9, program9, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n "; return buffer;} function program7(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program9(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} buffer += ""; foundHelper = helpers.name; stack1 = foundHelper || depth0.name; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "name", { hash: {} }); } buffer += escapeExpression(stack1) + "\n\n \n "; foundHelper = helpers.isBody; stack1 = foundHelper || depth0.isBody; stack2 = helpers['if']; tmp1 = self.program(1, program1, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(6, program6, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n\n"; foundHelper = helpers.description; stack1 = foundHelper || depth0.description; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "description", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['param_list'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { return "\n ";} function program3(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; stack2 = helpers['if']; tmp1 = self.program(4, program4, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(6, program6, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n "; return buffer;} function program4(depth0,data) { return "\n ";} function program6(depth0,data) { return "\n \n ";} function program8(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.isDefault; stack1 = foundHelper || depth0.isDefault; stack2 = helpers['if']; tmp1 = self.program(9, program9, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(11, program11, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n "; return buffer;} function program9(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program11(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} buffer += ""; foundHelper = helpers.name; stack1 = foundHelper || depth0.name; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "name", { hash: {} }); } buffer += escapeExpression(stack1) + "\n\n \n\n"; foundHelper = helpers.description; stack1 = foundHelper || depth0.description; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "description", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['param_readonly'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program3(depth0,data) { var buffer = "", stack1; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "defaultValue", { hash: {} }); } buffer += escapeExpression(stack1) + "\n "; return buffer;} buffer += ""; foundHelper = helpers.name; stack1 = foundHelper || depth0.name; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "name", { hash: {} }); } buffer += escapeExpression(stack1) + "\n\n "; foundHelper = helpers.isBody; stack1 = foundHelper || depth0.isBody; stack2 = helpers['if']; tmp1 = self.program(1, program1, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(3, program3, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; foundHelper = helpers.description; stack1 = foundHelper || depth0.description; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "description", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['param_readonly_required'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program3(depth0,data) { var buffer = "", stack1; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "defaultValue", { hash: {} }); } buffer += escapeExpression(stack1) + "\n "; return buffer;} buffer += ""; foundHelper = helpers.name; stack1 = foundHelper || depth0.name; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "name", { hash: {} }); } buffer += escapeExpression(stack1) + "\n\n "; foundHelper = helpers.isBody; stack1 = foundHelper || depth0.isBody; stack2 = helpers['if']; tmp1 = self.program(1, program1, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(3, program3, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; foundHelper = helpers.description; stack1 = foundHelper || depth0.description; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "description", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['param_required'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, stack2, foundHelper, tmp1, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; function program1(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; stack2 = helpers['if']; tmp1 = self.program(2, program2, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(4, program4, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n \n "; return buffer;} function program2(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program4(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program6(depth0,data) { var buffer = "", stack1, stack2; buffer += "\n "; foundHelper = helpers.defaultValue; stack1 = foundHelper || depth0.defaultValue; stack2 = helpers['if']; tmp1 = self.program(7, program7, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(9, program9, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n "; return buffer;} function program7(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} function program9(depth0,data) { var buffer = "", stack1; buffer += "\n \n "; return buffer;} buffer += ""; foundHelper = helpers.name; stack1 = foundHelper || depth0.name; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "name", { hash: {} }); } buffer += escapeExpression(stack1) + "\n\n "; foundHelper = helpers.isBody; stack1 = foundHelper || depth0.isBody; stack2 = helpers['if']; tmp1 = self.program(1, program1, data); tmp1.hash = {}; tmp1.fn = tmp1; tmp1.inverse = self.program(6, program6, data); stack1 = stack2.call(depth0, stack1, tmp1); if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n\n "; foundHelper = helpers.description; stack1 = foundHelper || depth0.description; if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); } else if(stack1=== undef) { stack1 = helperMissing.call(depth0, "description", { hash: {} }); } if(stack1 || stack1 === 0) { buffer += stack1; } buffer += "\n\n"; return buffer;}); })(); (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['resource'] = template(function (Handlebars,depth0,helpers,partials,data) { helpers = helpers || Handlebars.helpers; var buffer = "", stack1, foundHelper, self=this, functionType="function", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression; buffer += ""; buffer += "\n\n"; return buffer;}); })(); // Generated by CoffeeScript 1.3.3 (function() { var HeaderView, MainView, OperationView, ParameterView, ResourceView, SwaggerUi, __hasProp = {}.hasOwnProperty, __extends = 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; }; SwaggerUi = (function(_super) { __extends(SwaggerUi, _super); function SwaggerUi() { return SwaggerUi.__super__.constructor.apply(this, arguments); } SwaggerUi.prototype.routes = { '': 'load' }; SwaggerUi.prototype.dom_id = "swagger_ui"; SwaggerUi.prototype.options = null; SwaggerUi.prototype.api = null; SwaggerUi.prototype.headerView = null; SwaggerUi.prototype.mainView = null; SwaggerUi.prototype.initialize = function(options) { var _this = this; if (options == null) { options = {}; } if (options.dom_id != null) { this.dom_id = options.dom_id; delete options.dom_id; } if (!($('#' + this.dom_id) != null)) { $('body').append('
'); } this.options = options; this.options.success = function() { return _this.render(); }; this.options.progress = function(d) { return _this.showMessage(d); }; this.options.failure = function(d) { return _this.onLoadFailure(d); }; this.headerView = new HeaderView({ el: $('#header') }); return this.headerView.on('update-swagger-ui', function(data) { return _this.updateSwaggerUi(data); }); }; SwaggerUi.prototype.updateSwaggerUi = function(data) { this.options.discoveryUrl = data.discoveryUrl; this.options.apiKey = data.apiKey; return this.load(); }; SwaggerUi.prototype.load = function() { var _ref; if ((_ref = this.mainView) != null) { _ref.clear(); } this.headerView.update(this.options.discoveryUrl, this.options.apiKey); this.api = new SwaggerApi(this.options); return Backbone.history.start({ pushState: true }); }; SwaggerUi.prototype.render = function() { var _this = this; this.showMessage('Finished Loading Resource Information. Rendering Swagger UI...'); this.mainView = new MainView({ model: this.api, el: $('#' + this.dom_id) }).render(); this.showMessage(); return setTimeout(function() { return Docs.shebang(); }, 400); }; 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) { if (data == null) { data = ''; } $('#message-bar').removeClass('message-success'); $('#message-bar').addClass('message-fail'); return $('#message-bar').html(data); }; return SwaggerUi; })(Backbone.Router); window.SwaggerUi = SwaggerUi; HeaderView = (function(_super) { __extends(HeaderView, _super); function HeaderView() { return HeaderView.__super__.constructor.apply(this, arguments); } HeaderView.prototype.events = { 'click #show-wordnik-dev-icon': 'showWordnikDev', 'click #login': 'login', 'keyup #input_baseUrl': 'showCustomOnKeyup', 'keyup #input_apiKey': 'showCustomOnKeyup' }; HeaderView.prototype.initialize = function() {}; HeaderView.prototype.showPetStore = function(e) { return this.trigger('update-swagger-ui', { discoveryUrl: "http://petstore.swagger.wordnik.com/api/resources.json", /********************************************* ** Lees Edit to swagger *********************************************/ apiKey: "access-token" /********************************************* ** End of Lees Edit to swagger *********************************************/ }); }; /********************************************* ** Lees Edit to swagger *********************************************/ HeaderView.prototype.login = function() { if($("#login").attr('alt') == "login"){ updateEndpoints($("#baseUrl").val()); window.location = $("body").data("oauthUrl")+"authorize?client_id=localhost.generic-app&redirect_uri=http://localhost:8929/swagger/%23providerId=gekko&response_type=token"; }else{ window.location = "?logout=true"; } }; /********************************************* ** End of Lees Edit to swagger *********************************************/ HeaderView.prototype.showWordnikDev = function(e) { return this.trigger('update-swagger-ui', { discoveryUrl: "http://api.wordnik.com/v4/resources.json", apiKey: "" }); }; 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', { discoveryUrl:'http://127.0.0.1/generated_cms/resources.json', apiKey: $('#input_apiKey').val() }); }; HeaderView.prototype.update = function(url, apiKey, trigger) { if (trigger == null) { trigger = false; } $('#input_baseUrl').val(url); $('#input_apiKey').val(apiKey); if (trigger) { return this.trigger('update-swagger-ui', { discoveryUrl: url, apiKey: apiKey }); } }; return HeaderView; })(Backbone.View); MainView = (function(_super) { __extends(MainView, _super); function MainView() { return MainView.__super__.constructor.apply(this, arguments); } MainView.prototype.initialize = function() {}; MainView.prototype.render = function() { var resource, _i, _len, _ref; $(this.el).html(Handlebars.templates.main(this.model)); _ref = this.model.resourcesArray; for (_i = 0, _len = _ref.length; _i < _len; _i++) { resource = _ref[_i]; this.addResource(resource); } return this; }; MainView.prototype.addResource = function(resource) { var resourceView; resourceView = new ResourceView({ model: resource, tagName: 'li', id: 'resource_' + resource.name, className: 'resource' }); return $('#resources').append(resourceView.render().el); }; MainView.prototype.clear = function() { return $(this.el).html(''); }; return MainView; })(Backbone.View); ResourceView = (function(_super) { __extends(ResourceView, _super); function ResourceView() { return ResourceView.__super__.constructor.apply(this, arguments); } ResourceView.prototype.initialize = function() {}; ResourceView.prototype.render = function() { var operation, _i, _len, _ref; // log("this.model = "+Handlebars.templates.resource(this.model)); $(this.el).html(Handlebars.templates.resource(this.model)); _ref = this.model.operationsArray; for (_i = 0, _len = _ref.length; _i < _len; _i++) { operation = _ref[_i]; this.addOperation(operation); } return this; }; ResourceView.prototype.addOperation = function(operation) { var operationView; operationView = new OperationView({ model: operation, tagName: 'li', className: 'endpoint' }); return $('.endpoints', $(this.el)).append(operationView.render().el); }; return ResourceView; })(Backbone.View); OperationView = (function(_super) { __extends(OperationView, _super); function OperationView() { return OperationView.__super__.constructor.apply(this, arguments); } OperationView.prototype.events = { 'click .submit': 'submitOperation', 'click .response_hider': 'hideResponse', 'click .toggleOperation': 'toggleOperationContent' }; OperationView.prototype.initialize = function() {}; OperationView.prototype.render = function() { var isMethodSubmissionSupported, param, _i, _len, _ref; isMethodSubmissionSupported = jQuery.inArray(this.model.httpMethod, this.model.supportedSubmitMethods()) >= 0; if (!isMethodSubmissionSupported) { this.model.isReadOnly = true; } $(this.el).html(Handlebars.templates.operation(this.model)); _ref = this.model.parameters; for (_i = 0, _len = _ref.length; _i < _len; _i++) { param = _ref[_i]; this.addParameter(param); } return this; }; OperationView.prototype.addParameter = function(param) { var paramView; paramView = new ParameterView({ model: param, tagName: 'tr', readOnly: this.model.isReadOnly }); return $('.operation-params', $(this.el)).append(paramView.render().el); }; OperationView.prototype.submitOperation = function() { var bodyParam, error_free, form, headerParams, invocationUrl, map, o, obj, param, _i, _j, _len, _len1, _ref, _ref1, _this = this; form = $('.sandbox', $(this.el)); error_free = true; form.find("input.required").each(function() { var _this = this; $(this).removeClass("error"); if (jQuery.trim($(this).val()) === "") { $(this).addClass("error"); $(this).wiggle({ callback: function() { return $(_this).focus(); } }); return error_free = false; } }); if (error_free) { map = {}; _ref = form.serializeArray(); for (_i = 0, _len = _ref.length; _i < _len; _i++) { o = _ref[_i]; if ((o.value != null) && jQuery.trim(o.value).length > 0) { map[o.name] = o.value; } } bodyParam = null; _ref1 = this.model.parameters; for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { param = _ref1[_j]; if (param.paramType === 'body') { bodyParam = map[param.name]; } } log("bodyParam = " + bodyParam); headerParams = null; invocationUrl = this.model.supportHeaderParams() ? (headerParams = this.model.getHeaderParams(map), this.model.urlify(map, false)) : this.model.urlify(map, true); /********************************************* ** Lees Edit to swagger *********************************************/ if(typeof this.model.globals != "undefined"){ log("globals = "+this.model.globals); for(variable in this.model.globals){ log("global variable = "+this.model.globals[variable].name); invocationUrl=invocationUrl.replace("{"+this.model.globals[variable].name+"}",$("#"+this.model.globals[variable].unique_name).val()); } } /********************************************* ** End of Lees Edit to swagger *********************************************/ log('submitting ' + invocationUrl); $(".request_url", $(this.el)).html("
" + invocationUrl + "
"); $(".response_throbber", $(this.el)).show(); obj = { type: this.model.httpMethod, url: invocationUrl, headers: headerParams, data: bodyParam, dataType: 'json', error: function(xhr, textStatus, error) { return _this.showErrorStatus(xhr, textStatus, error); }, success: function(data) { return _this.showResponse(data); }, complete: function(data) { return _this.showCompleteStatus(data); } }; if (obj.type.toLowerCase() === "post" || obj.type.toLowerCase() === "put") { obj.contentType = "application/json"; } return jQuery.ajax(obj); } }; 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(prettyJson); }; OperationView.prototype.showErrorStatus = function(data) { return this.showStatus(data); }; OperationView.prototype.showCompleteStatus = function(data) { return this.showStatus(data); }; OperationView.prototype.showStatus = function(data) { var response_body; try { response_body = "
" + JSON.stringify(JSON.parse(data.responseText), null, 2).replace(/\n/g, "
") + "
"; } catch (error) { response_body = "   [unable to parse as json; raw response below]
" + data.responseText + "
"; } $(".response_code", $(this.el)).html("
" + data.status + "
"); $(".response_body", $(this.el)).html(response_body); $(".response_headers", $(this.el)).html("
" + data.getAllResponseHeaders() + "
"); $(".response", $(this.el)).slideDown(); $(".response_hider", $(this.el)).show(); return $(".response_throbber", $(this.el)).hide(); }; OperationView.prototype.toggleOperationContent = function() { var elem; elem = $('#' + this.model.resourceName + "_" + this.model.nickname + "_" + this.model.httpMethod + "_content"); if (elem.is(':visible')) { return Docs.collapseOperation(elem); } else { return Docs.expandOperation(elem); } }; return OperationView; })(Backbone.View); ParameterView = (function(_super) { __extends(ParameterView, _super); function ParameterView() { return ParameterView.__super__.constructor.apply(this, arguments); } ParameterView.prototype.initialize = function() {}; ParameterView.prototype.render = function() { var template; if (this.model.paramType === 'body') { this.model.isBody = true; } template = this.template(); $(this.el).html(template(this.model)); return this; }; ParameterView.prototype.template = function() { if (this.model.isList) { return Handlebars.templates.param_list; } else { if (this.options.readOnly) { if (this.model.required) { return Handlebars.templates.param_readonly_required; } else { return Handlebars.templates.param_readonly; } } else { if (this.model.required) { return Handlebars.templates.param_required; } else { return Handlebars.templates.param; } } } }; return ParameterView; })(Backbone.View); }).call(this);




© 2015 - 2025 Weber Informatics LLC | Privacy Policy