Some refactoring
This commit is contained in:
1 parent
3cfac28fb1
commit
957417837e
10 files changed
+142
-58
No files matched your search
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user