You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.3 KiB

  1. <%+header%>
  2. <ul class="cbi-tabmenu">
  3. <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview")%>"><%:Interface Status%></a></li>
  4. <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview/overview_detailed")%>"><%:Detailed Status%></a></li>
  5. </ul>
  6. <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
  7. <script type="text/javascript">//<![CDATA[
  8. XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "mwan", "overview", "interface_status")%>', null,
  9. function(x, mArray)
  10. {
  11. var statusDiv = document.getElementById('mwan_status_text');
  12. if (mArray.wans)
  13. {
  14. var interfaceStatus = '';
  15. for ( var i = 0; i < mArray.wans.length; i++ )
  16. {
  17. var status = '';
  18. var css = '';
  19. switch (mArray.wans[i].status)
  20. {
  21. case 'online':
  22. status = 'Online (tracking active)';
  23. css = 'wanon';
  24. break;
  25. case 'notMonitored':
  26. status = 'Online (tracking off)';
  27. css = 'wanon';
  28. break;
  29. case 'offline':
  30. status = 'Offline';
  31. css = 'wanoff';
  32. break;
  33. case 'notEnabled':
  34. status = 'Disabled';
  35. css = 'wanoff';
  36. break;
  37. }
  38. interfaceStatus += String.format(
  39. '<span class="%s"><strong>%s (<a href="%q">%s</a>)</strong><br />%s</span>',
  40. css, mArray.wans[i].name, mArray.wans[i].link, mArray.wans[i].ifname, status
  41. );
  42. }
  43. statusDiv.innerHTML = interfaceStatus;
  44. }
  45. else
  46. {
  47. statusDiv.innerHTML = '<strong>No MWAN interfaces found</strong>';
  48. }
  49. var logs = document.getElementById('mwan_statuslog_text');
  50. if (mArray.mwanlog)
  51. {
  52. var mwanLog = 'Last 50 MWAN systemlog entries. Newest entries sorted at the top :';
  53. logs.innerHTML = String.format('<pre>%s<br /><br />%s</pre>', mwanLog, mArray.mwanlog[0]);
  54. }
  55. else
  56. {
  57. logs.innerHTML = '<strong>No MWAN systemlog history found</strong>';
  58. }
  59. }
  60. );
  61. //]]></script>
  62. <div id="mwan_interface_status">
  63. <fieldset id="interface_field" class="cbi-section">
  64. <legend><%:MWAN Interface Live Status%></legend>
  65. <div id="mwan_status_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div>
  66. </fieldset>
  67. <fieldset class="cbi-section">
  68. <legend><%:MWAN Interface Systemlog%></legend>
  69. <div id="mwan_statuslog_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div>
  70. </fieldset>
  71. </div>
  72. <style type="text/css">
  73. .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */
  74. max-width: none;
  75. margin-left: 30px;
  76. padding-right: 30px;
  77. width: auto;
  78. }
  79. #mwan_interface_status {
  80. background-color: #FFFFFF;
  81. border: 1px dotted #555555;
  82. padding: 20px;
  83. }
  84. #interface_field {
  85. padding: 12px 20px 20px 20px;
  86. }
  87. #mwan_status_text {
  88. display: table;
  89. font-size: 14px;
  90. margin: auto;
  91. max-width: 1044px;
  92. min-width: 246px;
  93. width: 100%;
  94. }
  95. .wanon {
  96. background-color: rgb(144, 240, 144);
  97. }
  98. .wanoff {
  99. background-color: rgb(240, 144, 144);
  100. }
  101. .wanon, .wanoff {
  102. border-radius: 60px;
  103. box-shadow: 0px 2px 5px -3px;
  104. float: left;
  105. margin: 8px 3px 0px 3px;
  106. min-height: 30px;
  107. min-width: 235px;
  108. padding: 5px 10px 8px 10px;
  109. text-align: center;
  110. }
  111. #mwan_statuslog_text {
  112. padding: 20px;
  113. text-align: left;
  114. }
  115. </style>
  116. <%+footer%>