dashboard.htm 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>TTTT Dashboard</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=2">
  7. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  8. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  9. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  10. <script type="text/x-mathjax-config">
  11. MathJax.Hub.Config({
  12. config: ["MMLorHTML.js"],
  13. jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
  14. extensions: ["MathMenu.js", "MathZoom.js"]
  15. });
  16. </script>
  17. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full"> </script>
  18. </head>
  19. <body>
  20. <div class="container-fluid">
  21. {% for r, plot_row in enumerate(plots) %}
  22. <div class="row">
  23. {% for c, plot in enumerate(plot_row) %}
  24. <div class="col-md-4">
  25. <div class="well">
  26. {% if plot.title %}
  27. <h3 class="text-center">{{ plot.title }}</h3>
  28. {% endif %}
  29. <div>
  30. <a href="#" title="{{ plot.name }}">
  31. <img src="data:img/png;base64,{{ plot.data }}" style="width:100%" class="thumbnail img-responsive">
  32. </a>
  33. </div>
  34. <div class="caption">
  35. <p class="text-center"> {{ plot.name }} </p>
  36. <div class="panel-group" id="accordion">
  37. {% for id, (i,j) in enumerate(plot.docs.keys()) %}
  38. <div class="panel-heading">
  39. <h4 class="panel-title">
  40. <button data-toggle="collapse" data-parent="#accordion" class="btn btn-info" href="#collapse{{r}}-{{c}}-{{id}}">
  41. Plot at ({{i+1}}, {{j+1}})</button>
  42. </h4>
  43. </div>
  44. <div id="collapse{{r}}-{{c}}-{{id}}" class="panel-collapse collapse">
  45. <div class="panel-body">
  46. {% for doc, argdict in zip(plot.docs[(i,j)], plot.argdicts[(i,j)]) %}
  47. <p class="text-left">{{ doc|safe }}</p>
  48. <hr>
  49. <p class="text-left"><strong>Plot Arguments</strong></p>
  50. <table class="table table-hover">
  51. <tbody>
  52. {% for key, val in argdict.items() %}
  53. <tr>
  54. <td>{{ key }}</td> <td>{{ val }}</td>
  55. </tr>
  56. {% endfor %}
  57. </tbody>
  58. </table>
  59. {% endfor %}
  60. </div>
  61. </div>
  62. {% endfor %}
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. {% endfor %}
  68. </div>
  69. {% endfor %}
  70. </div>
  71. <div id="myModal" class="modal fade" tabindex="-1" role="dialog">
  72. <div class="modal-dialog modal-lg">
  73. <div class="modal-content">
  74. <div class="modal-header">
  75. <button type="button" class="close" data-dismiss="modal">×</button>
  76. <h3 class="modal-title">Heading</h3>
  77. </div>
  78. <div class="modal-body">
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </body>
  84. <style>
  85. .modal-dialog {width:900px;}
  86. .thumbnail {margin-bottom:6px;}
  87. .modal-title {text-align:center;}
  88. </style>
  89. <script>
  90. $('.thumbnail').click(function(){
  91. $('.modal-body').empty();
  92. var title = $(this).parent('a').attr("title");
  93. $('.modal-title').html(title);
  94. $($(this).parents('div').html()).appendTo('.modal-body');
  95. $('#myModal').modal({show:true});
  96. });
  97. </script>
  98. </html>