Generalize store quering functions

This commit is contained in:
Zaid Abdulla committed 2018-12-26 00:22:07 -08:00
1 parent 93c6a4dfcd
commit 9b827c5f5e
26 files changed
+1362 -321

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
"use strict";
import m from "mithril";
import * as components from "../components";
const component = {
view: vnode => {
const device = vnode.attrs.device;
const object = vnode.attrs.object;
const parameters = vnode.attrs.parameters;
if (!device[object]) return null;
const instances = new Set();
for (let p in device)
if (p.startsWith(object))
instances.add(p.slice(0, p.indexOf(".", object.length + 1)));
const thead = m(
"thead",
m("tr", Object.values(parameters).map(p => m("th", p.label)))
);
const rows = [];
for (let i of instances) {
const row = Object.values(parameters).map(p =>
m(
"td",
m(
components.get("parameter"),
Object.assign({ device: device }, p, {
parameter: `${i}.${p.parameter}`
})
)
)
);
rows.push(m("tr", row));
}
return m("table.parameter-table", thead, m("tbody", rows));
}
};
export default component;