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