chore: add message repeat counter

This commit is contained in:
Shishkevich D. 2025-03-09 12:32:45 +00:00
parent 903332e1c9
commit a059127c07

View file

@ -332,6 +332,7 @@
<b>[[ log.sender ]]</b>
<a-tag>[[ log.date ]]</a-tag>
<a-tag :color="logModal.tagsColors[log.level]">[[ log.level ]]</a-tag>
<a-tag v-if="log.repeat">[[ log.repeat ]]</a-tag>
</a-space>
</template>
<template #description>
@ -492,9 +493,12 @@
this.logs = this.getLogs(logs);
},
getLogs(logs) {
const seen = {}
if (logs === null) return []
return logs.map((log) => {
return logs
.map((log) => {
let message;
let level;
let date;
@ -538,7 +542,21 @@
date: date,
sender: sender
}
}).reverse()
})
.reduce((result, item) => {
const { message } = item;
if (seen.hasOwnProperty(message)) {
// Если элемент с таким message уже встречался, увеличим счётчик 'repeat'
seen[message].repeat += 1;
} else {
// Если элемента с таким message ещё нет, добавляем копию объекта и инициализируем repeat как 0
const newItem = { ...item, repeat: 0 };
seen[message] = newItem;
result.push(newItem);
}
return result;
}, [])
.reverse()
},
hide() {
this.visible = false;