luci-base: network.js: extend ifnameOf() and expose as getIfnameOf()
authorJo-Philipp Wich <jo@mein.io>
Wed, 31 Jul 2019 06:39:10 +0000 (08:39 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 14 Aug 2019 20:58:15 +0000 (22:58 +0200)
Extend the ifnameOf() helper function to cover all object types used by
network.js and expose it as public getIfnameOf() api function for use by
other modules.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/network.js

index ac0ef212c4e7bc56554ecbd6590ac188d1efc112..258387995533fbf388caacc2d9628c179bf23bcc 100644 (file)
@@ -561,10 +561,14 @@ function initNetworkState() {
 }
 
 function ifnameOf(obj) {
-       if (obj instanceof Interface)
-               return obj.name();
-       else if (obj instanceof Protocol)
-               return obj.ifname();
+       if (obj instanceof Protocol)
+               return obj.getIfname();
+       else if (obj instanceof Device)
+               return obj.getName();
+       else if (obj instanceof WifiDevice)
+               return obj.getName();
+       else if (obj instanceof WifiNetwork)
+               return obj.getIfname();
        else if (typeof(obj) == 'string')
                return obj.replace(/:.+$/, '');
 
@@ -1151,6 +1155,10 @@ Network = L.Class.extend({
 
        instantiateWifiNetwork: function(sid, radioname, radiostate, netid, netstate, iwinfo) {
                return new WifiNetwork(sid, radioname, radiostate, netid, netstate, iwinfo);
+       },
+
+       getIfnameOf: function(obj) {
+               return ifnameOf(obj);
        }
 });