diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-10-26 20:18:24 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-10-26 20:18:24 +0200 |
commit | e666c8a42b931f547cdb2176475b2124203fe64b (patch) | |
tree | a918b9dd9c246834ad1225b465c9aed3170112b2 | |
parent | c8df955b2866e8aa6279486b8395a3bd2e79f9d5 (diff) | |
download | kube-e666c8a42b931f547cdb2176475b2124203fe64b.tar.gz kube-e666c8a42b931f547cdb2176475b2124203fe64b.zip |
Merge logentries by subtype if available
-rw-r--r-- | components/kube/contents/ui/LogView.qml | 8 | ||||
-rw-r--r-- | tests/tst_logview.qml | 8 |
2 files changed, 16 insertions, 0 deletions
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 { | |||
46 | root.pendingError = true | 46 | root.pendingError = true |
47 | } | 47 | } |
48 | var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource} | 48 | var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource} |
49 | if (logModel.count > 0) { | ||
50 | var lastEntry = logModel.get(0) | ||
51 | //Merge if we get an entry of the same subtype | ||
52 | if (lastEntry.subtype && lastEntry.subtype == message.subtype) { | ||
53 | logModel.set(0, {type: message.type, subtype: message.subtype, errors: [error].concat(lastEntry.errors)}) | ||
54 | return | ||
55 | } | ||
56 | } | ||
49 | logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]}) | 57 | logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]}) |
50 | } | 58 | } |
51 | } | 59 | } |
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 { | |||
54 | compare(listModel.get(0).errors.count, 1) | 54 | compare(listModel.get(0).errors.count, 1) |
55 | compare(listModel.get(0).errors.get(0).message, "foobar") | 55 | compare(listModel.get(0).errors.get(0).message, "foobar") |
56 | compare(listModel.get(0).errors.get(0).resource, "resource") | 56 | compare(listModel.get(0).errors.get(0).resource, "resource") |
57 | |||
58 | Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge1", resource: "resource1"}) | ||
59 | compare(listModel.count, 3) | ||
60 | Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge2", resource: "resource2"}) | ||
61 | compare(listModel.count, 3) | ||
62 | compare(listModel.get(0).errors.count, 2) | ||
63 | compare(listModel.get(0).errors.get(0).message, "merge2") | ||
64 | compare(listModel.get(0).errors.get(0).resource, "resource2") | ||
57 | } | 65 | } |
58 | } | 66 | } |