add cap to disable advance function in config file
This commit is contained in:
parent
fb76b1ec91
commit
e0fa457943
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=luci-app-qmodem
|
||||
LUCI_TITLE:=LuCI support for QWRT Modem
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_VERSION:=2.5.1
|
||||
PKG_VERSION:=2.6.0
|
||||
PKG_LICENSE:=GPLv3
|
||||
PKG_LINCESE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Tom <fjrcn@outlook.com>
|
||||
|
@ -341,8 +341,8 @@
|
||||
|
||||
createCheckbox(band_class,band_name,band_id){
|
||||
let checkbox = document.createElement('input');
|
||||
checkbox.classList = ["cbi-input-checkbox"];
|
||||
checkbox.type = "checkbox";
|
||||
checkbox.className = "cbi-input-checkbox";
|
||||
checkbox.value = band_id;
|
||||
checkbox.setAttribute("display-band",band_name);
|
||||
checkbox.addEventListener("change",() => {
|
||||
@ -453,8 +453,11 @@
|
||||
let display_value = this.checkboxes[band_class][checkbox].getAttribute("display-band");
|
||||
let span = document.createElement('span');
|
||||
span.innerHTML = display_value;
|
||||
td.appendChild(this.checkboxes[band_class][checkbox]);
|
||||
td.appendChild(span);
|
||||
let band_container=document.createElement('span');
|
||||
band_container.classList.add("band-container");
|
||||
band_container.appendChild(this.checkboxes[band_class][checkbox]);
|
||||
band_container.appendChild(span);
|
||||
td.appendChild(band_container);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1245,30 +1248,50 @@
|
||||
this.cbi_map = document.querySelector('.cbi-map');
|
||||
this.class_map = {};
|
||||
this.datatabs = [];
|
||||
this.create_tabmenu();
|
||||
this.disabled_features = [];
|
||||
this.hotplug_elements = [];
|
||||
//this.create_tabmenu();
|
||||
|
||||
}
|
||||
|
||||
update_cfg_id(cfg_id){
|
||||
for (let key in this.class_map) {
|
||||
this.class_map[key].cfg_id = cfg_id;
|
||||
this.class_map[key].get_config();
|
||||
}
|
||||
//check if all datatab not selected
|
||||
for (let tab of this.datatabs) {
|
||||
if (tab.className == "cbi-tab") {
|
||||
this.switch_tab(tab);
|
||||
return;
|
||||
XHR.get('<%=luci.dispatcher.build_url("admin", "modem", "qmodem", "modem_ctrl")%>', { "cfg": cfg_id , "action" : "get_disabled_features"}, (x, data) => {
|
||||
//clear class_map
|
||||
|
||||
this.disabled_features = data.disabled_features ? data.disabled_features : [];
|
||||
//delete tabmenu
|
||||
for (let element of this.hotplug_elements){
|
||||
element.parentNode.removeChild(element);
|
||||
}
|
||||
}
|
||||
this.switch_tab(this.datatabs[0]);
|
||||
|
||||
this.class_map = {};
|
||||
this.datatabs = [];
|
||||
this.hotplug_elements = [];
|
||||
this.create_tabmenu();
|
||||
for (let key in this.class_map) {
|
||||
this.class_map[key].cfg_id = cfg_id;
|
||||
this.class_map[key].get_config();
|
||||
}
|
||||
//check if all datatab not selected
|
||||
for (let tab of this.datatabs) {
|
||||
if (tab.className == "cbi-tab") {
|
||||
this.switch_tab(tab);
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.switch_tab(this.datatabs[0]);
|
||||
});
|
||||
}
|
||||
|
||||
create_tabmenu(){
|
||||
//add support function to tabmenu
|
||||
var tabmenu = document.createElement('ul');
|
||||
this.hotplug_elements.push(tabmenu);
|
||||
tabmenu.className = "cbi-tabmenu";
|
||||
for (let key in this.functions) {
|
||||
if (this.disabled_features.includes(key)) {
|
||||
continue;
|
||||
}
|
||||
var li = document.createElement('li');
|
||||
li.className = "cbi-tab-disabled";
|
||||
li.innerHTML = this.functions[key].name;
|
||||
@ -1280,7 +1303,6 @@
|
||||
this.datatabs.push(li);
|
||||
}
|
||||
this.cbi_map.appendChild(tabmenu);
|
||||
this.tabmenu = tabmenu;
|
||||
}
|
||||
|
||||
switch_tab(target){
|
||||
@ -1295,6 +1317,7 @@
|
||||
|
||||
if (this.class_map[datatab] == undefined) {
|
||||
this.class_map[datatab] = new this.functions[datatab].class(this.cfg_id);
|
||||
this.hotplug_elements.push(this.class_map[datatab].fieldset);
|
||||
}
|
||||
for (let key in this.class_map) {
|
||||
this.class_map[key].hide();
|
||||
@ -1315,6 +1338,13 @@
|
||||
.cbi-tabmenu li {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
.band-container {
|
||||
display: flex;
|
||||
margin-top: 1rem;
|
||||
align-items: center;
|
||||
width: 15%;
|
||||
}
|
||||
</style>
|
||||
<div class="cbi-map">
|
||||
<fieldset class="cbi-section">
|
||||
|
@ -371,3 +371,22 @@ rate_convert()
|
||||
fi
|
||||
echo "$rate `echo $rate_units | cut -d ' ' -f $(($i+1))`"
|
||||
}
|
||||
|
||||
get_modem_disabled_features()
|
||||
{
|
||||
. /lib/functions.sh
|
||||
config_load qmodem
|
||||
config_list_foreach $config_section disabled_features _add_disabled_features
|
||||
}
|
||||
|
||||
get_global_disabled_features()
|
||||
{
|
||||
. /lib/functions.sh
|
||||
config_load qmodem
|
||||
config_list_foreach main disabled_features _add_disabled_features
|
||||
}
|
||||
|
||||
_add_disabled_features()
|
||||
{
|
||||
json_add_string "" "$1"
|
||||
}
|
||||
|
@ -15,10 +15,13 @@ modem_slot=$(basename $modem_path)
|
||||
|
||||
case $vendor in
|
||||
"quectel")
|
||||
. /usr/share/qmodem/quectel.sh
|
||||
. /usr/share/qmodem/vendor/quectel.sh
|
||||
;;
|
||||
"fibocom")
|
||||
. /usr/share/qmodem/fibocom.sh
|
||||
. /usr/share/qmodem/vendor/fibocom.sh
|
||||
;;
|
||||
"sierra")
|
||||
. /usr/share/qmodem/vendor/sierra.sh
|
||||
;;
|
||||
*)
|
||||
. /usr/share/qmodem/generic.sh
|
||||
@ -255,5 +258,13 @@ case $method in
|
||||
json_close_object
|
||||
rm -rf /tmp/cache_sms_$2
|
||||
;;
|
||||
"get_disabled_features")
|
||||
json_add_array disabled_features
|
||||
#从vendor文件中读取对vendor禁用的功能
|
||||
vendor_get_disabled_features
|
||||
get_modem_disabled_features
|
||||
get_global_disabled_features
|
||||
json_close_array
|
||||
;;
|
||||
esac
|
||||
json_dump
|
||||
|
@ -458,6 +458,17 @@
|
||||
"rndis",
|
||||
"ncm"
|
||||
]
|
||||
},
|
||||
"em9190": {
|
||||
"manufacturer_id": "1199",
|
||||
"manufacturer": "sierra",
|
||||
"platform": "qualcomm",
|
||||
"data_interface": "usb",
|
||||
"define_connect": "1",
|
||||
"modes": [
|
||||
"mbim",
|
||||
"rmnet"
|
||||
]
|
||||
}
|
||||
},
|
||||
"pcie": {
|
||||
|
@ -11,6 +11,7 @@ at()
|
||||
tom_modem -d $at_port -o a -c "$atcmd"
|
||||
}
|
||||
|
||||
|
||||
fastat()
|
||||
{
|
||||
local at_port=$1
|
||||
|
Loading…
x
Reference in New Issue
Block a user