2024-01-04 23:35:10 +08:00

158 lines
3.8 KiB
HTML

<%#
Copyright 2014 Aedan Renner <chipdankly@gmail.com>
Copyright 2018 Florian Eckert <fe@dev.tdt.de>
Licensed to the public under the GNU General Public License v2.
-%>
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "modem", "get_modems")%>', null,
function(x, data)
{
var modems=data["modems"];
var translation=data["translation"];
var modems_div=document.getElementById('modem_status_view');
if (Object.keys(modems).length!=0)
{
var modem_view = "";
for ( var key in modems)
{
var modem=modems[key];
var language=navigator.language;
// 检查模组名
var name=modem["name"];
if (name==null)
{
continue;
}
else if (name=="unknown")
{
language=="en" ? name=name.toUpperCase() : translation[name];
}
else
{
name=name.toUpperCase();
}
// 检查拨号模式
var mode=modem["mode"]
if (mode==null)
{
continue;
}
else if (mode=="unknown")
{
language=="en" ? mode=mode.toUpperCase() : translation[mode];
}
else
{
name=name.toUpperCase();
}
// 获取连接状态
var connect_status=modem["connect_status"];
if (modem["connect_status"]!=null)
{
if (language=="en") {
// 首字母大写
connect_status=connect_status.charAt(0).toUpperCase() + modem["connect_status"].slice(1);
}
else if (language=="zh-CN"||language=="zh") {
connect_status=translation[connect_status];
}
}
// 设置显示样式
var state = '';
var css = '';
switch (modem["connect_status"])
{
case 'connect':
state = '<%:Connect%>';
css = 'success';
break;
case 'disconnect':
state = '<%:Disconnect%>';
css = 'danger';
break;
default:
state = '<%:unknown%>';
css = 'warning';
break;
}
// 设置显示内容
modem_view += String.format(
'<div class="alert-message %s">',
css
);
modem_view += String.format(
'<div><strong>No: </strong>%s</div>',
modem[".name"].slice(-1)
);
modem_view += String.format(
'<div><strong><%:Modem Name%>: </strong>%s</div>',
name
);
modem_view += String.format(
'<div><strong><%:Data Interface%>: </strong>%s</div>',
modem.data_interface.toUpperCase()
);
modem_view += String.format(
'<div><strong><%:Mode%>: </strong>%s</div>',
mode
);
modem_view += String.format(
'<div><strong><%:Moblie Network%>: </strong>%s</div>',
modem.network
);
modem_view += String.format(
'<div><strong><%:Connect Status%>: </strong>%s</div>',
connect_status
);
modem_view += '</div>';
}
// 有参数不存在,则不显示模块状态
if (modem_view != "")
{
modems_div.innerHTML=modem_view;
// 显示模块状态(状态加载完成才显示)
document.getElementById("modem_status_field").style.display="block";
}
}
else
{
var modem_view="<strong><%:No modems found%></strong>";
modems_div.innerHTML=modem_view;
// 隐藏模块状态
document.getElementById("modem_status_field").style.display="none";
}
}
);
//]]>
</script>
<style type="text/css">
#modem_status_view > div {
display: inline-block;
margin: 1rem;
padding: 1rem;
width: 15rem;
float: left;
line-height: 125%;
}
</style>
<!-- 默认隐藏模块状态 -->
<fieldset id="modem_status_field" class="cbi-section" style="display: none;">
<!-- <legend><%:Modem Status%></legend> -->
<h3><%:Modem Status%></h3>
<div id="modem_status_view">
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle"/>
<%:Loading modem status%>...
</div>
</fieldset>