Add support to display both count and percentage on reaction plugins
This commit is contained in:
@@ -179,14 +179,14 @@
|
||||
...(set.plugins.enabled.reactions ? ({
|
||||
reactions:{
|
||||
list:{
|
||||
HEART:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
THUMBS_UP:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
THUMBS_DOWN:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
LAUGH:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
CONFUSED:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
EYES:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
ROCKET:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
HOORAY:{value:faker.random.number(100), score:faker.random.number(100)/100},
|
||||
HEART:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
THUMBS_UP:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
THUMBS_DOWN:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
LAUGH:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
CONFUSED:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
EYES:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
ROCKET:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
HOORAY:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
|
||||
},
|
||||
comments:options["reactions.limit"],
|
||||
details:options["reactions.details"],
|
||||
|
||||
@@ -18,7 +18,7 @@ The *reactions* plugin displays overall reactions on your recent issues and issu
|
||||
with:
|
||||
# ... other options
|
||||
plugin_reactions: yes
|
||||
plugin_reactions_limit: 200 # Compute reactions over last 200 issue comments
|
||||
plugin_reactions_days: 14 # Compute reactions on issue comments posted less than 14 days ago
|
||||
plugin_reactions_details: percentage # Display reactions percentage
|
||||
plugin_reactions_limit: 200 # Compute reactions over last 200 issue comments
|
||||
plugin_reactions_days: 14 # Compute reactions on issue comments posted less than 14 days ago
|
||||
plugin_reactions_details: count, percentage # Display reactions count and percentage
|
||||
```
|
||||
@@ -42,7 +42,7 @@
|
||||
list[reaction] = (list[reaction] ?? 0) + 1
|
||||
const max = Math.max(...Object.values(list))
|
||||
for (const [key, value] of Object.entries(list))
|
||||
list[key] = {value, score:value/(display === "relative" ? max : reactions.length)}
|
||||
list[key] = {value, percentage:value/reactions.length, score:value/(display === "relative" ? max : reactions.length)}
|
||||
|
||||
//Results
|
||||
return {list, comments:comments.length, details, days, twemoji:q["config.twemoji"]}
|
||||
|
||||
@@ -41,11 +41,13 @@ inputs:
|
||||
- relative
|
||||
|
||||
# Additional details
|
||||
# If multiple values are specified, emphasis will be set on first value
|
||||
plugin_reactions_details:
|
||||
description: Additional details
|
||||
type: string
|
||||
default: none
|
||||
type: array
|
||||
format: comma-separated
|
||||
default: ""
|
||||
example: count, percentage
|
||||
values:
|
||||
- none
|
||||
- count
|
||||
- percentage
|
||||
@@ -41,10 +41,23 @@
|
||||
<% } %>
|
||||
<% } %>
|
||||
</svg>
|
||||
<% if (plugins.reactions.details === "percentage") { %>
|
||||
<span class="title"><%= Math.round(score*100) %><small>%</small></span>
|
||||
<% } else if (plugins.reactions.details === "count") { %>
|
||||
<span class="title"><%= count %></span>
|
||||
<% if (plugins.reactions.details.length) { const [primary, secondary] = plugins.reactions.details %>
|
||||
<span class="title">
|
||||
<% if (primary === "count") { %>
|
||||
<%= count %>
|
||||
<% } else if (primary === "percentage") { %>
|
||||
<%= Math.round(score*100) %><small>%</small>
|
||||
<% } %>
|
||||
<% if (secondary) { %>
|
||||
<small>
|
||||
<% if (secondary === "count") { %>
|
||||
(<%= count %>)
|
||||
<% } else if (secondary === "percentage") { %>
|
||||
(<%= Math.round(score*100) %><small>%</small>)
|
||||
<% } %>
|
||||
</small>
|
||||
<% } %>
|
||||
</span>
|
||||
<% } %>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
Reference in New Issue
Block a user