/details/details.js

https://github.com/FriedWishes/showslow · JavaScript · 102 lines · 87 code · 13 blank · 2 comment · 4 complexity · a0ebf1dddb7945991b29e8b1b6abb870 MD5 · raw file

  1. /*jslint browser: true*/
  2. /*global YAHOO*/
  3. YAHOO.util.Event.onDOMReady(function() {
  4. var loader = new YAHOO.util.YUILoader({
  5. require: ["dom", "container", "datatable", "datasource"],
  6. loadOptional: true,
  7. timeout: 10000,
  8. combine: true,
  9. onSuccess: function() {
  10. if (typeof(details) !== 'undefined' ) {
  11. for (name in details) {
  12. if (details.hasOwnProperty(name)) {
  13. var el = YAHOO.util.Dom.get('details_'+name);
  14. if (!el) {
  15. continue;
  16. }
  17. el.innerHTML='<div class="moreinfo"></div>';
  18. new YAHOO.widget.Tooltip("tt_"+name,
  19. {
  20. context: el,
  21. text: decodeURIComponent(details[name].join('<br/>'))
  22. });
  23. }
  24. }
  25. }
  26. var yColumnDefs = [
  27. {key:"timestamp", label:"Timestamp", sortable:true, formatter:"date"},
  28. {key:"w", label:"Page Size (bytes)", sortable:true},
  29. {key:"r", label:"Total Requests", sortable:true},
  30. {key:"o", label:"Grade (0-100)", sortable:true},
  31. {key:"profile", label:"Profile used", sortable:true}
  32. ];
  33. var psColumnDefs = [
  34. {key:"timestamp", label:"Timestamp", sortable:true, formatter:"date"},
  35. {key:"w", label:"Page Size (bytes)", sortable:true},
  36. {key:"r", label:"Total Requests", sortable:true},
  37. {key:"o", label:"Grade (0-100)", sortable:true},
  38. {key:"l", label:"Load Time (ms)", sortable:true}
  39. ];
  40. var dtColumnDefs = [
  41. {key:"timestamp", label:"Timestamp", sortable:true, formatter:"date"},
  42. {key:"size", label:"Page Size (bytes)", sortable:true},
  43. {key:"numreq", label:"Total Requests", sortable:true},
  44. {key:"rank", label:"Overall Rank (0-100)", sortable:true},
  45. {key:"timetoimp", label:"Time to First Impression (ms)", sortable:true},
  46. ];
  47. var yDataSource = new YAHOO.util.DataSource("data.php?subset=table&");
  48. yDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
  49. yDataSource.responseSchema = {
  50. recordDelim : "\n",
  51. fieldDelim : "," ,
  52. resultsList: "records",
  53. fields: ["timestamp", "w", "o", "r", "lt", "profile"]
  54. };
  55. var psDataSource = new YAHOO.util.DataSource("data_pagespeed.php?subset=table&");
  56. psDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
  57. psDataSource.responseSchema = {
  58. recordDelim : "\n",
  59. fieldDelim : "," ,
  60. resultsList: "records",
  61. fields: ["timestamp", "w", "o", "l", "r"]
  62. };
  63. var dtDataSource = new YAHOO.util.DataSource("data_dynatrace.php?subset=table&");
  64. dtDataSource.responseType = YAHOO.util.DataSource.TYPE_TEXT;
  65. dtDataSource.responseSchema = {
  66. recordDelim : "\n",
  67. fieldDelim : "," ,
  68. resultsList: "records",
  69. fields: ["timestamp", "size", "numreq", "rank", "timetoimp"]
  70. };
  71. var yDataTable = new YAHOO.widget.ScrollingDataTable("measurementstable", yColumnDefs, yDataSource,
  72. {
  73. height: "15em",
  74. initialRequest: "url=" + encodeURIComponent(url) + "&ver=" + ydataversion
  75. });
  76. var psDataTable = new YAHOO.widget.ScrollingDataTable("ps_measurementstable", psColumnDefs, psDataSource,
  77. {
  78. height: "15em",
  79. initialRequest: "url=" + encodeURIComponent(url) + "&ver=" + psdataversion
  80. });
  81. var dtDataTable = new YAHOO.widget.ScrollingDataTable("dt_measurementstable", dtColumnDefs, dtDataSource,
  82. {
  83. height: "15em",
  84. initialRequest: "url=" + encodeURIComponent(url) + "&ver=" + dtdataversion
  85. });
  86. }
  87. });
  88. loader.insert();
  89. });