From e1bdcda191b9c97de51ccc77b4c6f529184c907a Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Sun, 23 Dec 2018 03:33:35 -0800 Subject: [PATCH] Support nested parameter tables --- client/components/parameter-table.js | 12 ++++++++---- client/css/app.css | 4 ++++ config.json | 14 +++++++------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/client/components/parameter-table.js b/client/components/parameter-table.js index f3d1d4f..be5d286 100644 --- a/client/components/parameter-table.js +++ b/client/components/parameter-table.js @@ -8,8 +8,8 @@ import * as filterParser from "../../common/filter-parser"; const component = { oninit: vnode => { - vnode.state.object = filterParser.parseParameter(vnode.attrs.object); - vnode.state.parameters = Object.values(vnode.attrs.parameters).map( + vnode.state.object = filterParser.parseParameter(vnode.attrs.parameter); + vnode.state.parameters = Object.values(vnode.attrs.childParameters).map( parameter => { let p = filterParser.parseParameter(parameter.parameter); return Object.assign({}, parameter, { parameter: p }); @@ -42,10 +42,14 @@ const component = { m( "td", m( - components.get("parameter"), + components.get(p.type || "parameter"), Object.assign({}, p, { device: device, - parameter: `${i}.${store.evaluateExpression(p.parameter, device)}` + parameter: `${i}.${store.evaluateExpression( + p.parameter, + device + )}`, + label: "" }) ) ) diff --git a/client/css/app.css b/client/css/app.css index 07be138..55259a7 100644 --- a/client/css/app.css +++ b/client/css/app.css @@ -245,6 +245,10 @@ table.table { border-spacing: 0; text-align: left; + & table.table { + font-size: 90%; + } + & th { color: var(--color4); font-weight: bold; diff --git a/config.json b/config.json index 593b541..b84f8b7 100644 --- a/config.json +++ b/config.json @@ -91,13 +91,13 @@ "ui.device.30.parameters.11.parameter": "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.KeyPassphrase", "ui.device.40.type": "parameter-table", "ui.device.40.label": "WLAN hosts", - "ui.device.40.object": "InternetGatewayDevice.LANDevice.1.Hosts.Host", - "ui.device.40.parameters.1.label": "Host name", - "ui.device.40.parameters.1.parameter": "HostName", - "ui.device.40.parameters.2.label": "IP address", - "ui.device.40.parameters.2.parameter": "IPAddress", - "ui.device.40.parameters.3.label": "MAC address", - "ui.device.40.parameters.3.parameter": "MACAddress", + "ui.device.40.parameter": "InternetGatewayDevice.LANDevice.1.Hosts.Host", + "ui.device.40.childParameters.1.label": "Host name", + "ui.device.40.childParameters.1.parameter": "HostName", + "ui.device.40.childParameters.2.label": "IP address", + "ui.device.40.childParameters.2.parameter": "IPAddress", + "ui.device.40.childParameters.3.label": "MAC address", + "ui.device.40.childParameters.3.parameter": "MACAddress", "ui.device.50.type": "device-faults", "ui.device.60.type": "all-parameters", "ui.device.70.type": "device-actions"