summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-network
diff options
context:
space:
mode:
Diffstat (limited to 'modules/luci-mod-network')
-rw-r--r--modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js23
1 files changed, 14 insertions, 9 deletions
diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js b/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js
index 67fe4b9cef..bba0e80f87 100644
--- a/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js
+++ b/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js
@@ -264,15 +264,20 @@ var cbiTagValue = form.Value.extend({
},
cfgvalue: function(section_id) {
- var pname = this.port,
- spec = L.toArray(uci.get('network', section_id, 'ports')).filter(function(p) { return p.replace(/:[ut*]+$/, '') == pname })[0];
-
- if (spec && spec.match(/t/))
- return spec.match(/\*/) ? ['t', '*'] : ['t'];
- else if (spec)
- return spec.match(/\*/) ? ['u', '*'] : ['u'];
- else
- return ['-'];
+ var ports = L.toArray(uci.get('network', section_id, 'ports'));
+
+ for (var i = 0; i < ports.length; i++) {
+ var s = ports[i].split(/:/);
+
+ if (s[0] != this.port)
+ continue;
+
+ var t = s[1].match(/t/) ? 't' : 'u';
+
+ return s[1].match(/\*/) ? [t, '*'] : [t];
+ }
+
+ return ['-'];
},
write: function(section_id, value) {