Skip to content
This repository has been archived by the owner on Jan 15, 2021. It is now read-only.

Fix for issue #395 Allowing direct loading of Ajax request from HUD #424

Merged
merged 2 commits into from Jul 1, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions source/Glimpse.JavaScript/glimpse.hud.css
Expand Up @@ -304,4 +304,8 @@
font-weight: bold;
color: #71b1d1;
cursor: pointer;
}
.glimpse-open .glimpse-data-ajax-detail a {
color:inherit;
text-decoration:underline;
}
18 changes: 15 additions & 3 deletions source/Glimpse.JavaScript/glimpse.hud.js
Expand Up @@ -374,12 +374,18 @@

return rendering.section(structure, details, opened);
},
update = function(method, uri, duration, size, status, statusText, time, contentType) {
update = function(method, uri, duration, size, status, statusText, time, contentType, requestId) {
//Add it when needed
if (count == 0) {
var section = $('.glimpse-hud-section-ajax');
section.find('.glimpse-hud-section-inner').append('<div class="glimpse-hud-detail glimpse-hud-detail-small glimpse-hud-listing glimpse-data-ajax-summary"></div>');
section.append(rendering.popup(structure, { }));

section.find('.glimpse-data-ajax-detail tbody .glimpse-ajax-link').live('click', function () {
pubsub.publish('trigger.shell.open', {});
pubsub.publish('trigger.tab.select.ajax', { key: 'ajax' });
pubsub.publish('trigger.data.context.switch', { requestId: $(this).attr('data-requestId'), type: 'ajax' });
});
}

//Set the counter
Expand All @@ -390,8 +396,14 @@

//Update data records
var rowClass = (status == 304 ? ' glimpse-hud-quite' : !(status >= 200 && status < 300) ? ' glimpse-hud-error' : '');

var clickableUri = uri;
if(requestId) {
clickableUri = '<a href="#" class="glimpse-ajax-link" data-requestId="' + requestId + '">' + uri + '</a>';
}

recordItem('<div class="glimpse-hud-listing-row glimpse-hud-value' + rowClass + '"><div class="glimpse-hud-data glimpse-hud-quite glimpse-data-ajax-method">' + method + '</div><div class="glimpse-hud-data glimpse-hud-listing-overflow glimpse-data-ajax-uri" title="' + uri + '">' + uri + '</div><div class="glimpse-data-ajax-duration"><span class="glimpse-hud-data">' + duration + '</span><span class="glimpse-hud-postfix">ms</span></div></div>', '.glimpse-hud-section-ajax .glimpse-data-ajax-summary', summaryStack, 2);
recordItem('<tbody class="' + rowClass + '"><tr><td class="glimpse-hud-listing-overflow" title="' + uri + '" colspan="2">' + uri + '</td><td class="glimpse-hud-listing-value glimpse-data-duration">' + duration + '</td><td class="glimpse-hud-listing-value glimpse-data-size">' + (Math.round((size / 1024) * 10) / 10) + '</td></tr><tr><td class="glimpse-hud-quite glimpse-data-content-method">' + method + '</td><td class="glimpse-hud-quite glimpse-hud-listing-overflow">' + status + ' - ' + statusText + '</td><td class="glimpse-hud-quite glimpse-data-content-type glimpse-hud-listing-overflow" title="' + contentType + '">' + processContentType(contentType) + '</td><td class="glimpse-hud-quite glimpse-data-content-time">' + time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1") + '</td></tr></tbody>', '.glimpse-hud-section-ajax .glimpse-data-ajax-detail', detailStack, 6);
recordItem('<tbody class="' + rowClass + '"><tr><td class="glimpse-hud-listing-overflow" title="' + uri + '" colspan="2">' + clickableUri + '</td><td class="glimpse-hud-listing-value glimpse-data-duration">' + duration + '</td><td class="glimpse-hud-listing-value glimpse-data-size">' + (Math.round((size / 1024) * 10) / 10) + '</td></tr><tr><td class="glimpse-hud-quite glimpse-data-content-method">' + method + '</td><td class="glimpse-hud-quite glimpse-hud-listing-overflow">' + status + ' - ' + statusText + '</td><td class="glimpse-hud-quite glimpse-data-content-type glimpse-hud-listing-overflow" title="' + contentType + '">' + processContentType(contentType) + '</td><td class="glimpse-hud-quite glimpse-data-content-time">' + time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1") + '</td></tr></tbody>', '.glimpse-hud-section-ajax .glimpse-data-ajax-detail', detailStack, 6);
},
recordItem = function(html, selector, stack, length) {
//Set row
Expand All @@ -413,7 +425,7 @@
var startTime = new Date().getTime();
this.addEventListener("readystatechange", function() {
if (this.readyState == 4) {
update(method, uri, new Date().getTime() - startTime, this.getResponseHeader("Content-Length"), this.status, this.statusText, new Date(), this.getResponseHeader("Content-Type"));
update(method, uri, new Date().getTime() - startTime, this.getResponseHeader("Content-Length"), this.status, this.statusText, new Date(), this.getResponseHeader("Content-Type"), this.getResponseHeader("Glimpse-RequestID"));
}
}, false);
}
Expand Down