code to display resources in default/list/expended style. style can be
passed as a option while creating swagerUi object. In future I would like to achieve this by passing options to templates and have a template helper method manipulate dom and apply correct classes.This approach will improve the performance as we need not go over the entire dom and call Doc.collapseOperationsForResource or Doc.expandOperationsForResource on each matched element
This commit is contained in:
@@ -51,6 +51,9 @@ class SwaggerUi extends Backbone.Router
|
|||||||
@showMessage('Finished Loading Resource Information. Rendering Swagger UI...')
|
@showMessage('Finished Loading Resource Information. Rendering Swagger UI...')
|
||||||
@mainView = new MainView({model: @api, el: $('#' + @dom_id)}).render()
|
@mainView = new MainView({model: @api, el: $('#' + @dom_id)}).render()
|
||||||
@showMessage()
|
@showMessage()
|
||||||
|
switch options.docStyle
|
||||||
|
when "expand" then Docs.expandOperationsForResource('')
|
||||||
|
when "list" then Docs.collapseOperationsForResource('')
|
||||||
options.doneSuccess() if options.doneSuccess
|
options.doneSuccess() if options.doneSuccess
|
||||||
setTimeout(
|
setTimeout(
|
||||||
=>
|
=>
|
||||||
|
|||||||
@@ -49,7 +49,11 @@
|
|||||||
supportedSubmitMethods: ['get', 'post', 'put'],
|
supportedSubmitMethods: ['get', 'post', 'put'],
|
||||||
doneSuccess: function(){
|
doneSuccess: function(){
|
||||||
console.log("DONE!!!")
|
console.log("DONE!!!")
|
||||||
}
|
},
|
||||||
|
// "" - default behavior
|
||||||
|
// list - list view of all resources
|
||||||
|
// expand - expanded view of all resources
|
||||||
|
docStyle: ""
|
||||||
});
|
});
|
||||||
|
|
||||||
window.swaggerUi.load();
|
window.swaggerUi.load();
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ var Docs = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
toggleEndpointListForResource: function(resource) {
|
toggleEndpointListForResource: function(resource) {
|
||||||
var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints');
|
var elem = $('li[id^=resource_' + Docs.escapeResourceName(resource) + '] ul.endpoints');
|
||||||
if (elem.is(':visible')) {
|
if (elem.is(':visible')) {
|
||||||
Docs.collapseEndpointListForResource(resource);
|
Docs.collapseEndpointListForResource(resource);
|
||||||
} else {
|
} else {
|
||||||
@@ -117,24 +117,24 @@ var Docs = {
|
|||||||
|
|
||||||
// Expand resource
|
// Expand resource
|
||||||
expandEndpointListForResource: function(resource) {
|
expandEndpointListForResource: function(resource) {
|
||||||
$('#resource_' + resource).addClass('active');
|
$('[id^=resource_' + resource + ']').addClass('active');
|
||||||
|
|
||||||
var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints');
|
var elem = $('li[id^=resource_' + Docs.escapeResourceName(resource) + '] ul.endpoints');
|
||||||
elem.slideDown();
|
elem.slideDown();
|
||||||
},
|
},
|
||||||
|
|
||||||
// Collapse resource and mark as explicitly closed
|
// Collapse resource and mark as explicitly closed
|
||||||
collapseEndpointListForResource: function(resource) {
|
collapseEndpointListForResource: function(resource) {
|
||||||
$('#resource_' + resource).removeClass('active');
|
$('[id^=resource_' + resource + ']').removeClass('active');
|
||||||
|
|
||||||
var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints');
|
var elem = $('li[id^=resource_' + Docs.escapeResourceName(resource) + '] ul.endpoints');
|
||||||
elem.slideUp();
|
elem.slideUp();
|
||||||
},
|
},
|
||||||
|
|
||||||
expandOperationsForResource: function(resource) {
|
expandOperationsForResource: function(resource) {
|
||||||
// Make sure the resource container is open..
|
// Make sure the resource container is open..
|
||||||
Docs.expandEndpointListForResource(resource);
|
Docs.expandEndpointListForResource(resource);
|
||||||
$('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() {
|
$('li[id^=resource_' + Docs.escapeResourceName(resource) + '] li.operation div.content').each(function() {
|
||||||
Docs.expandOperation($(this));
|
Docs.expandOperation($(this));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -142,7 +142,7 @@ var Docs = {
|
|||||||
collapseOperationsForResource: function(resource) {
|
collapseOperationsForResource: function(resource) {
|
||||||
// Make sure the resource container is open..
|
// Make sure the resource container is open..
|
||||||
Docs.expandEndpointListForResource(resource);
|
Docs.expandEndpointListForResource(resource);
|
||||||
$('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() {
|
$('li[id^=resource_' + Docs.escapeResourceName(resource) + '] li.operation div.content').each(function() {
|
||||||
Docs.collapseOperation($(this));
|
Docs.collapseOperation($(this));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user