Make provision name in presets page as hyperlink

This commit is contained in:
Shweelan Samson authored and Zaid Abdulla committed 2019-07-05 14:38:50 -07:00
1 parent 6d5d94652e
commit ebff97e795
1 file changed
+22 -2
+22 -2
View File
@@ -211,6 +211,7 @@ export const component: ClosureComponent = (): Component => {
});
const count = store.count("presets", filter);
const userDefinedProvisions: Set<string> = new Set();
const provisions = store.fetch("provisions", true);
if (provisions.fulfilled) {
const provisionAttr = attributes.find(attr => {
@@ -227,7 +228,10 @@ export const component: ClosureComponent = (): Component => {
"instances"
]);
for (const p of provisions.value) provisionIds.add(p["_id"]);
for (const p of provisions.value) {
userDefinedProvisions.add(p["_id"]);
provisionIds.add(p["_id"]);
}
provisionAttr["options"] = Array.from(provisionIds);
}
@@ -235,7 +239,7 @@ export const component: ClosureComponent = (): Component => {
const downloadUrl = getDownloadUrl(filter);
const valueCallback = (attr, preset): {} => {
if (attr.id !== "precondition") return preset[attr.id];
if (attr.id === "precondition") {
let devicesUrl = "/#!/devices";
if (preset["precondition"].length) {
devicesUrl += `?${m.buildQueryString({
@@ -248,6 +252,22 @@ export const component: ClosureComponent = (): Component => {
{ href: devicesUrl, title: preset["precondition"] },
preset["precondition"]
);
} else if (
attr.id === "provision" &&
userDefinedProvisions.has(preset[attr.id])
) {
return m(
"a",
{
href: `/#!/admin/provisions?${m.buildQueryString({
filter: `Q("ID", "${preset["provision"]}")`
})}`
},
preset["provision"]
);
} else {
return preset[attr.id];
}
};
const attrs = {};