luci-mod-network: widgets shall show devices that are online as online
authorPaul Donald <[email protected]>
Wed, 23 Apr 2025 12:03:39 +0000 (14:03 +0200)
committerPaul Donald <[email protected]>
Wed, 23 Apr 2025 12:26:37 +0000 (14:26 +0200)
Tunnel devices which are up, show as down, since the config being
enumerated does not have access to any device status. The 'device' being
enumerated is e.g. 'wireguard_wg0', a configuration for a tunnel
interface, whose parent is an 'ethernet' type.

That's a bug for another day. So they shall use parent device status.

Signed-off-by: Paul Donald <[email protected]>
(cherry picked from commit a288354e78d4dd5872dea52bcebf7d1f91fad3b1)

modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js

index 3874034e39f07a2da4a04f49d7c5f591e7677905..8b3fee4afff1986e7bc22d1843ca1bd6b5d419be 100644 (file)
@@ -117,7 +117,7 @@ function render_modal_status(node, ifc) {
 
        dom.content(node, [
                E('img', {
-                       'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', (dev && dev.isUp()) ? '' : '_disabled'),
+                       'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
                        'title': dev ? dev.getTypeI18n() : _('Not present')
                }),
                ifc ? render_status(E('span'), ifc, true) : E('em', _('Interface not present or not connected yet.'))
@@ -343,7 +343,7 @@ return view.extend({
                                var dev = ifc.getDevice();
                                dom.content(stat, [
                                        E('img', {
-                                               'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', (dev && dev.isUp()) ? '' : '_disabled'),
+                                               'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
                                                'title': dev ? dev.getTypeI18n() : _('Not present')
                                        }),
                                        render_status(E('span'), ifc, true)