Some refactoring

This commit is contained in:
Zaid Abdulla committed 2018-12-26 00:22:07 -08:00
1 parent 3cfac28fb1
commit 957417837e
10 files changed
+142 -58

No files matched your search

+27 -13
View File
@@ -2,27 +2,41 @@
import m from "mithril";
import * as components from "../components";
import * as store from "../store";
import * as filterParser from "../../common/filter-parser";
const component = {
oninit: vnode => {
vnode.state.parameters = Object.values(vnode.attrs.parameters).map(
parameter =>
Object.assign({}, parameter, {
parameter: filterParser.parseParameter(parameter.parameter)
})
);
},
view: vnode => {
const device = vnode.attrs.device;
const parameters = vnode.attrs.parameters;
const filtered = Object.values(parameters).filter(
p => p.parameter in device
);
const rows = filtered.map(p =>
m(
"tr",
m("th", p.label),
const rows = [];
for (let parameter of vnode.state.parameters) {
let p = store.evaluateExpression(parameter.parameter, device);
if (!(p in device)) continue;
rows.push(
m(
"td",
"tr",
m("th", parameter.label),
m(
components.get(p.type || "parameter"),
Object.assign({ device: device }, p)
"td",
m(
components.get(parameter.type || "parameter"),
Object.assign({}, parameter, { device: device, parameter: p })
)
)
)
)
);
);
}
return m("table.parameter-list", rows);
}
};