feat: show number of events per type in acp

isekai-main
Barış Soner Uşaklı 3 years ago
parent 9fbb3b11ef
commit b916e42f40

@ -20,15 +20,17 @@ eventsController.get = async function (req, res) {
const currentFilter = req.query.type || '';
const [eventCount, eventData] = await Promise.all([
const [eventCount, eventData, counts] = await Promise.all([
db.sortedSetCount(`events:time${currentFilter ? `:${currentFilter}` : ''}`, from || '-inf', to),
events.getEvents(currentFilter, start, stop, from || '-inf', to),
db.sortedSetsCard([''].concat(events.types).map(type => `events:time${type ? `:${type}` : ''}`)),
]);
const types = [''].concat(events.types).map(type => ({
const types = [''].concat(events.types).map((type, index) => ({
value: type,
name: type || 'all',
selected: type === currentFilter,
count: counts[index],
}));
const pageCount = Math.max(1, Math.ceil(eventCount / itemsPerPage));

@ -40,7 +40,7 @@
<label for="type">[[admin/advanced/events:filter-type]]</label>
<select id="type" name="type" class="form-control">
<!-- BEGIN types -->
<option value="{types.value}" <!-- IF types.selected -->selected<!-- ENDIF types.selected -->>{types.name}</option>
<option value="{types.value}" <!-- IF types.selected -->selected<!-- ENDIF types.selected -->>{types.name} - ({types.count}) </option>
<!-- END types -->
</select>
</div>

Loading…
Cancel
Save