* @param {Event} ev
* @param {number} n
*/
- checkDepends(ev, n, cache) {
- if (cache == null)
- cache = Object.create(null);
-
+ checkDepends(ev, n) {
let changed = false;
for (let i = 0, s = this.children[0]; (s = this.children[i]) != null; i++)
- if (s.checkDepends(ev, n, cache))
+ if (s.checkDepends(ev, n))
changed = true;
if (changed && (n ?? 0) < 10)
- this.checkDepends(ev, (n ?? 0) + 1, cache);
+ this.checkDepends(ev, (n ?? 10) + 1);
ui.tabs.updateTabs(ev, this.root);
},
* @param {string} section_id
* @returns {boolean}
*/
- isDependencySatisfied(depends, config_name, section_id, cache) {
+ isDependencySatisfied(depends, config_name, section_id) {
let def = false;
- if (cache == null)
- cache = Object.create(null);
-
if (!Array.isArray(depends) || !depends.length)
return true;
istat = false;
}
else {
- const key = `${config_name}::${section_id}::${dep}`;
- let val;
-
- if (key in cache) {
- val = cache[key];
- }
- else {
- const res = this.lookupOption(dep, section_id, config_name);
- val = (res && res[0].isActive(res[1])) ? res[0].formvalue(res[1]) : null;
- cache[key] = val;
- }
+ const res = this.lookupOption(dep, section_id, config_name);
+ const val = (res && res[0].isActive(res[1])) ? res[0].formvalue(res[1]) : null;
const equal = contains
? isContained(val, depends[i][dep])
* @param {string} section_id
* @returns {boolean}
*/
- checkDepends(section_id, cache) {
+ checkDepends(section_id) {
const config_name = this.uciconfig ?? this.section.uciconfig ?? this.map.config;
- const active = this.map.isDependencySatisfied(this.deps, config_name, section_id, cache);
+ const active = this.map.isDependencySatisfied(this.deps, config_name, section_id);
if (active)
this.updateDefaultValue(section_id);
else if (!this.retain) {
return Promise.resolve(this.remove(section_id));
}
- return Promise.resolve();
},
});
* @param {string} section_id
* @returns {null}
*/
- checkDepends(section_id, cache) {
- this.subsection.checkDepends(section_id, cache);
- return CBIValue.prototype.checkDepends.apply(this, [ section_id, cache ]);
+ checkDepends(section_id) {
+ this.subsection.checkDepends(section_id);
+ return CBIValue.prototype.checkDepends.apply(this, [ section_id ]);
},
/**
}
requestQueue.length = 0;
- const requestBaseURL = Request.expandURL(classes.rpc.getBaseURL());
- Request.request(requestBaseURL, reqopt).then(reply => {
+ Request.request(rpcBaseURL, reqopt).then(reply => {
let json = null, req = null;
try { json = reply.json() }
* @returns {string}
* Return the joined URL path.
*/
- path(prefix = '', ...parts) {
+ path(prefix = '', parts) {
const url = [ prefix ];
for (let i = 0; i < parts.length; i++){