diff --git a/src/components/Universal/TransmissionTree.js b/src/components/Universal/TransmissionTree.js
index 7d73989d..ac5b40b0 100644
--- a/src/components/Universal/TransmissionTree.js
+++ b/src/components/Universal/TransmissionTree.js
@@ -20,7 +20,7 @@ const TransmissionTree = props => {
const cleanData = props.initialData.map((node) => {
if (!node) {
emptyCounter++;
- return {id: emptyCounter, deleted:true}
+ return {id: emptyCounter, deleted:true }
} else {
return node
}
@@ -137,7 +137,7 @@ const TransmissionTree = props => {
{node.deleted ? "Origin/Tempr has been deleted"
- : "No Transmission made for this tempr / Tempr no longer associated"}
+ : "No Transmission made for this tempr"}
diff --git a/src/components/View/Message.js b/src/components/View/Message.js
index 42cf8921..48a62e4b 100644
--- a/src/components/View/Message.js
+++ b/src/components/View/Message.js
@@ -73,35 +73,35 @@ const Message = props => {
var originTemprs;
if (originType === "Device") {
originTemprs = await OopCore.getDeviceTemprs({
- "filter[device_id]": originId,
+ filter: { deviceId: originId },
+ "page[size]": -1,
});
} else {
originTemprs = await OopCore.getScheduleTemprs({
- "filter[schedule_id]": originId,
+ filter: { scheduleId: originId },
+ "page[size]": -1,
});
}
var children = originTemprs.data;
+ var transmissionsFound = [];
const transmissionObject = arrayToObject(
transmissionArray.data,
"temprId",
);
- if (children.length === 0) {
- return null;
- }
-
async function getChildren(child, depth) {
if (!child.name) {
try {
var temprObject = await OopCore.getTempr(child.temprId);
child = temprObject;
} catch (err) {
- return null;
+ return false;
}
}
var childrenOfChild = await OopCore.getTemprs({
- "filter[tempr_id]": child.id,
+ filter: { temprId: child.id },
+ "page[size]": -1,
});
var allChildren = null;
@@ -128,6 +128,7 @@ const Message = props => {
transmissionId: transmissionObject[child.id].id,
messageId: props.match.params.messageId,
};
+ transmissionsFound.push(transmissionObject[child.id].id);
} else {
node = {
id: child.id,
@@ -146,11 +147,48 @@ const Message = props => {
return node;
}
- var temprHierarchy = await Promise.all(
- children.map(child => getChildren(child, 1)),
- );
+ if (children.length === 0) {
+ return await Promise.all(transmissionArray.data.map((node) => {
+ return getNode(node);
+ }));
+ } else {
+ var temprHierarchy = await Promise.all(
+ children.map(child => getChildren(child, 1)),
+ );
+ const extraTransmissions = await Promise.all(transmissionArray.data.map((node) => {
+ if (!transmissionsFound.includes(node.id)) {
+ return getNode(node);
+ }
+ }));
+ temprHierarchy.push(...extraTransmissions);
+ var filtered = temprHierarchy.filter(Boolean);
+ return filtered;
+ }
- return temprHierarchy;
+ }
+
+ async function getNode(node) {
+ var name = 'Unavailable';
+ try {
+ const tempr = await OopCore.getTempr(node.temprId);
+ if (tempr) {
+ name = tempr.name;
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ return {
+ id: node.id,
+ name: name,
+ depth: 1,
+ isExpanded: false,
+ transmissionMade: true,
+ messageUuid: node.transmissionUuid,
+ status: node.status,
+ transmittedAt: node.transmittedAt,
+ transmissionId: node.id,
+ messageId: node.messageId,
+ };
}
const TransmissionsDisplay = props => {
@@ -256,6 +294,26 @@ const Message = props => {
+
+
+
+
+ {message && message.state ? message.state :
+ "No data available"}
+
+
+
+
+
+
+
+
+ {message && message.transmissionCount ? message.transmissionCount :
+ "No data available"}
+
+
+
+
{
const [originType, setOriginType] = useQueryParam("originType", StringParam);
const [ipAddress, setIpAddress] = useQueryParam("ipAddress", StringParam);
const [createdAt, setCreatedAt] = useQueryParam("createdAt", ObjectParam);
+ const [state, setState] = useQueryParam("state", StringParam);
const getData = (pagination) => {
return Promise.all([
@@ -94,6 +95,12 @@ const Messages = props => {
type: "text",
hasFilter: true,
},
+ {
+ id: "state",
+ name: "State",
+ type: "text",
+ hasFilter: true,
+ },
{
id: "transmissionCount",
name: "Transmission Count",
@@ -123,7 +130,7 @@ const Messages = props => {
}
return columnName;
}}
- filters={{ uuid, originId, originType, ipAddress, createdAt }}
+ filters={{ uuid, originId, originType, ipAddress, createdAt, state }}
updateFilters={(key, value) => {
switch (key) {
case "uuid":
@@ -136,6 +143,8 @@ const Messages = props => {
return setIpAddress(value);
case "createdAt":
return setCreatedAt(value);
+ case "state":
+ return setState(value);
default:
return null;
}