Skip to content

Commit c306992

Browse files
committed
Merge pull request #11 from bitboxer/master
fixes #5 and #8 : updated depedency to 0.7.2 and fixed image loading
2 parents e723871 + ea4aced commit c306992

File tree

7 files changed

+335
-87
lines changed

7 files changed

+335
-87
lines changed

app/assets/javascripts/grape_swagger_rails/swagger-ui.js renamed to app/assets/javascripts/grape_swagger_rails/swagger-ui.js.erb

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ function program9(depth0,data) {
352352
function program11(depth0,data) {
353353

354354

355-
return "\n <div class='sandbox_header'>\n <input class='submit' name='commit' type='button' value='Try it out!' />\n <a href='#' class='response_hider' style='display:none'>Hide Response</a>\n <img alt='Throbber' class='response_throbber' src='/assets/grape_swagger_rails/throbber.gif' style='display:none' />\n </div>\n ";
355+
return "\n <div class='sandbox_header'>\n <input class='submit' name='commit' type='button' value='Try it out!' />\n <a href='#' class='response_hider' style='display:none'>Hide Response</a>\n <img alt='Throbber' class='response_throbber' src='<%= image_path("grape_swagger_rails/throbber.gif") %>' style='display:none' />\n </div>\n ";
356356
}
357357

358358
buffer += "\n <ul class='operations' >\n <li class='";
@@ -1281,13 +1281,24 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
12811281
};
12821282

12831283
SwaggerUi.prototype.buildUrl = function(base, url) {
1284-
var parts;
1285-
console.log("base is " + base);
1286-
parts = base.split("/");
1287-
base = parts[0] + "//" + parts[2];
1284+
var endOfPath, parts;
1285+
log("base is " + base);
12881286
if (url.indexOf("/") === 0) {
1287+
parts = base.split("/");
1288+
base = parts[0] + "//" + parts[2];
12891289
return base + url;
12901290
} else {
1291+
endOfPath = base.length;
1292+
if (base.indexOf("?") > -1) {
1293+
endOfPath = Math.min(endOfPath, base.indexOf("?"));
1294+
}
1295+
if (base.indexOf("#") > -1) {
1296+
endOfPath = Math.min(endOfPath, base.indexOf("#"));
1297+
}
1298+
base = base.substring(0, endOfPath);
1299+
if (base.indexOf("/", base.length - 1) !== -1) {
1300+
return base + url;
1301+
}
12911302
return base + "/" + url;
12921303
}
12931304
};
@@ -1435,7 +1446,6 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
14351446

14361447
ResourceView.prototype.render = function() {
14371448
var operation, _i, _len, _ref4;
1438-
console.log(this.model.description);
14391449
$(this.el).html(Handlebars.templates.resource(this.model));
14401450
this.number = 0;
14411451
_ref4 = this.model.operationsArray;
@@ -1513,7 +1523,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
15131523
type = param.type || param.dataType;
15141524
if (type.toLowerCase() === 'file') {
15151525
if (!contentTypeModel.consumes) {
1516-
console.log("set content type ");
1526+
log("set content type ");
15171527
contentTypeModel.consumes = 'multipart/form-data';
15181528
}
15191529
}
@@ -1622,9 +1632,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
16221632
};
16231633

16241634
OperationView.prototype.handleFileUpload = function(map, form) {
1625-
var bodyParam, headerParams, o, obj, param, _i, _j, _k, _len, _len1, _len2, _ref5, _ref6, _ref7,
1635+
var bodyParam, el, headerParams, o, obj, param, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8,
16261636
_this = this;
1627-
console.log("it's a file upload");
1637+
log("it's a file upload");
16281638
_ref5 = form.serializeArray();
16291639
for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
16301640
o = _ref5[_i];
@@ -1648,11 +1658,13 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
16481658
headerParams[param.name] = map[param.name];
16491659
}
16501660
}
1651-
console.log(headerParams);
1652-
$.each($('input[type~="file"]'), function(i, el) {
1653-
return bodyParam.append($(el).attr('name'), el.files[0]);
1654-
});
1655-
console.log(bodyParam);
1661+
log(headerParams);
1662+
_ref8 = form.find('input[type~="file"]');
1663+
for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
1664+
el = _ref8[_l];
1665+
bodyParam.append($(el).attr('name'), el.files[0]);
1666+
}
1667+
log(bodyParam);
16561668
this.invocationUrl = this.model.supportHeaderParams() ? (headerParams = this.model.getHeaderParams(map), this.model.urlify(map, false)) : this.model.urlify(map, true);
16571669
$(".request_url", $(this.el)).html("<pre>" + this.invocationUrl + "</pre>");
16581670
obj = {
@@ -1688,7 +1700,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
16881700
o.content.data = data.responseText;
16891701
o.getHeaders = function() {
16901702
return {
1691-
"Content-Type": data.getResponseHeader("Content-Type")
1703+
"Content-Type": data.headers("Content-Type")
16921704
};
16931705
};
16941706
o.request = {};
@@ -1813,34 +1825,34 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
18131825
return formatted;
18141826
};
18151827

1816-
OperationView.prototype.showStatus = function(data) {
1828+
OperationView.prototype.showStatus = function(response) {
18171829
var code, content, contentType, headers, pre, response_body;
1818-
content = data.content.data;
1819-
headers = data.getHeaders();
1820-
contentType = headers["Content-Type"];
1821-
if (content === void 0) {
1830+
content = response.data;
1831+
headers = response.headers;
1832+
contentType = headers["Content-Type"] ? headers["Content-Type"].split(";")[0].trim() : null;
1833+
if (!content) {
18221834
code = $('<code />').text("no content");
18231835
pre = $('<pre class="json" />').append(code);
1824-
} else if (contentType.indexOf("application/json") === 0 || contentType.indexOf("application/hal+json") === 0) {
1825-
code = $('<code />').text(JSON.stringify(JSON.parse(content), null, 2));
1836+
} else if (contentType === "application/json" || /\+json$/.test(contentType)) {
1837+
code = $('<code />').text(JSON.stringify(JSON.parse(content), null, " "));
18261838
pre = $('<pre class="json" />').append(code);
1827-
} else if (contentType.indexOf("application/xml") === 0) {
1839+
} else if (contentType === "application/xml" || /\+xml$/.test(contentType)) {
18281840
code = $('<code />').text(this.formatXml(content));
18291841
pre = $('<pre class="xml" />').append(code);
1830-
} else if (contentType.indexOf("text/html") === 0) {
1842+
} else if (contentType === "text/html") {
18311843
code = $('<code />').html(content);
18321844
pre = $('<pre class="xml" />').append(code);
1833-
} else if (contentType.indexOf("image/") === 0) {
1834-
pre = $('<img>').attr('src', data.request.url);
1845+
} else if (/^image\//.test(contentType)) {
1846+
pre = $('<img>').attr('src', response.url);
18351847
} else {
18361848
code = $('<code />').text(content);
18371849
pre = $('<pre class="json" />').append(code);
18381850
}
18391851
response_body = pre;
1840-
$(".request_url", $(this.el)).html("<pre>" + data.request.url + "</pre>");
1841-
$(".response_code", $(this.el)).html("<pre>" + data.status + "</pre>");
1852+
$(".request_url", $(this.el)).html("<pre>" + response.url + "</pre>");
1853+
$(".response_code", $(this.el)).html("<pre>" + response.status + "</pre>");
18421854
$(".response_body", $(this.el)).html(response_body);
1843-
$(".response_headers", $(this.el)).html("<pre>" + JSON.stringify(data.getHeaders(), null, " ").replace(/\n/g, "<br>") + "</pre>");
1855+
$(".response_headers", $(this.el)).html("<pre>" + JSON.stringify(response.headers, null, " ").replace(/\n/g, "<br>") + "</pre>");
18441856
$(".response", $(this.el)).slideDown();
18451857
$(".response_hider", $(this.el)).show();
18461858
$(".response_throbber", $(this.el)).hide();

app/assets/javascripts/grape_swagger_rails/swagger-ui.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)