diff --git a/plugins/debug-raw-portal-data.user.js b/plugins/debug-raw-portal-data.user.js index 38317807..afbdf8b3 100644 --- a/plugins/debug-raw-portal-data.user.js +++ b/plugins/debug-raw-portal-data.user.js @@ -22,82 +22,77 @@ window.plugin.rawdata = function() {}; window.plugin.rawdata.setupCallback = function() { - addHook('portalDetailsUpdated', window.plugin.rawdata.addLink); + addHook('portalDetailsUpdated', window.plugin.rawdata.addLink); } window.plugin.rawdata.addLink = function(d) { - var guidString = JSON.stringify(window.selectedPortal, null, 2); - guidString = encodeURIComponent('"guid": ' + guidString); - - var detailsString = JSON.stringify(d.portalDetails, null, 2); - detailsString = encodeURIComponent('"portalDetails": ' + detailsString); - - var linksString = ""; - $.each(window.links, function(it, link) { - var guid = link.options.guid; - link = link.options.data; - if (link.edge.destinationPortalGuid == window.selectedPortal || - link.edge.originPortalGuid == window.selectedPortal) { - linksString += encodeURIComponent('"' + guid + '": ' + JSON.stringify(link, null, 2) + '\n'); - if (it != guid) { // assertion - console.log(error); - } - } - }); - - var fieldsString = ""; - $.each(window.fields, function(it, field) { - var guid = field.options.guid; - field = field.options.data; - if (field.capturedRegion.vertexA.guid == window.selectedPortal || - field.capturedRegion.vertexB.guid == window.selectedPortal || - field.capturedRegion.vertexC.guid == window.selectedPortal) { - fieldsString += encodeURIComponent('"' + guid + '": ' + JSON.stringify(field, null, 2) + '\n'); - if (it != guid) { // assertion - console.log(error); - } - } - }); - - var linkParam = '\'' + d.portalDetails.portalV2.descriptiveText.TITLE + '\',' + - '\''+ guidString + '\',' + - '\'' + detailsString + '\',' + - '\'' + linksString + '\',' + - '\'' + fieldsString + '\''; - $('.linkdetails').append(''); + $('.linkdetails').append(''); } -window.plugin.rawdata.getRawData = function(title, guid, details, links, fields) { - dialog({ - title: 'Raw Data: '+ - title + - ' (' + - decodeURIComponent(guid) + - ')', - html: '
' + - decodeURIComponent(guid) + '\n' + - decodeURIComponent(details) + '\n\n' + - decodeURIComponent(links) + '\n\n' + - decodeURIComponent(fields) + '\n\n' + - '', - id: 'dialog-rawdata', - dialogClass: 'ui-dialog-rawdata', - }); +window.plugin.rawdata.showPortalData = function(guid) { + if (!window.portals[guid]) { + console.warn ('Error: failed to find portal details for guid '+guid+' - failed to show debug data'); + return; + } + + + var d = window.portals[guid].options.details; + var ts = window.portals[guid].options.timestamp; + + var title = 'Raw portal data: ' + (d.portalV2.descriptiveText.TITLE || '
'+guid+'
'+ts+'
- '+new Date(ts).toLocaleString()+''+JSON.stringify(d,null,2)+''; + + body += '
Links referencing this portal
'; + var haslinks = false; + for (var lguid in window.links) { + var l = window.links[lguid]; + var ld = l.options.details; + if (ld.edge.originPortalGuid == guid || ld.edge.destinationPortalGuid == guid) { + body += 'Link GUID:'+l.options.guid+'
'+JSON.stringify(ld,null,2)+''; + haslinks = true; + } + } + if (!haslinks) body += '
No links to/from this portal
'; + + body += 'Fields referencing this portal
'; + var hasfields = false; + for (var fguid in window.fields) { + var f = window.fields[fguid]; + var fd = f.options.details; + if (fd.capturedRegion.vertexA.guid == guid || + fd.capturedRegion.vertexB.guid == guid || + fd.capturedRegion.vertexC.guid == guid) { + body += 'Field guid:'+f.options.guid+'
'+JSON.stringify(fd,null,2)+''; + hasfields = true; + } + } + if (!hasfields) body += '
No fields linked to this portal
'; + + dialog({ + title: title, + html: body, + id: 'dialog-rawdata', + dialogClass: 'ui-dialog-rawdata', + }); } var setup = function () { - window.plugin.rawdata.setupCallback(); - $('head').append(''); + window.plugin.rawdata.setupCallback(); + $('head').append(''); }