From e666c8a42b931f547cdb2176475b2124203fe64b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 26 Oct 2017 20:18:24 +0200 Subject: Merge logentries by subtype if available --- components/kube/contents/ui/LogView.qml | 8 ++++++++ tests/tst_logview.qml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/components/kube/contents/ui/LogView.qml b/components/kube/contents/ui/LogView.qml index e92db8a2..24d42373 100644 --- a/components/kube/contents/ui/LogView.qml +++ b/components/kube/contents/ui/LogView.qml @@ -46,6 +46,14 @@ Controls.SplitView { root.pendingError = true } var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource} + if (logModel.count > 0) { + var lastEntry = logModel.get(0) + //Merge if we get an entry of the same subtype + if (lastEntry.subtype && lastEntry.subtype == message.subtype) { + logModel.set(0, {type: message.type, subtype: message.subtype, errors: [error].concat(lastEntry.errors)}) + return + } + } logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]}) } } diff --git a/tests/tst_logview.qml b/tests/tst_logview.qml index 48e21734..86668d72 100644 --- a/tests/tst_logview.qml +++ b/tests/tst_logview.qml @@ -54,5 +54,13 @@ TestCase { compare(listModel.get(0).errors.count, 1) compare(listModel.get(0).errors.get(0).message, "foobar") compare(listModel.get(0).errors.get(0).resource, "resource") + + Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge1", resource: "resource1"}) + compare(listModel.count, 3) + Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge2", resource: "resource2"}) + compare(listModel.count, 3) + compare(listModel.get(0).errors.count, 2) + compare(listModel.get(0).errors.get(0).message, "merge2") + compare(listModel.get(0).errors.get(0).resource, "resource2") } } -- cgit v1.2.3