feat(plugins/discussions): add plugin_discussions_categories and plugin_discussions_categories_limit support (#751) [skip ci]
This commit is contained in:
@@ -7,8 +7,9 @@
|
|||||||
return null
|
return null
|
||||||
|
|
||||||
//Load inputs
|
//Load inputs
|
||||||
imports.metadata.plugins.discussions.inputs({data, account, q})
|
const {categories:_categories, "categories.limit":_categories_limit} = imports.metadata.plugins.discussions.inputs({data, account, q})
|
||||||
const discussions = {categories:{}, upvotes:{discussions:0, comments:0}}
|
const discussions = {categories:{}, upvotes:{discussions:0, comments:0}}
|
||||||
|
discussions.display = {categories:_categories ? {limit:_categories_limit || Infinity} : null}
|
||||||
|
|
||||||
//Fetch general statistics
|
//Fetch general statistics
|
||||||
const stats = Object.fromEntries(Object.entries((await graphql(queries.discussions.statistics({login}))).user).map(([key, value]) => [key, value.totalCount]))
|
const stats = Object.fromEntries(Object.entries((await graphql(queries.discussions.statistics({login}))).user).map(([key, value]) => [key, value.totalCount]))
|
||||||
|
|||||||
@@ -12,3 +12,16 @@ inputs:
|
|||||||
description: GitHub discussions metrics
|
description: GitHub discussions metrics
|
||||||
type: boolean
|
type: boolean
|
||||||
default: no
|
default: no
|
||||||
|
|
||||||
|
# Display discussion categories you have taken part in
|
||||||
|
plugin_discussions_categories:
|
||||||
|
description: Display discussion categories
|
||||||
|
type: boolean
|
||||||
|
default: yes
|
||||||
|
|
||||||
|
# Maximum number of categories to display (note that these are sorted desc)
|
||||||
|
# Set to 0 to disable limitations
|
||||||
|
plugin_discussions_categories_limit:
|
||||||
|
description: Number of discussion categories to display
|
||||||
|
type: number
|
||||||
|
default: 0
|
||||||
@@ -40,11 +40,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<% if (Object.keys(plugins.discussions.categories.stats).length) { %>
|
<% if ((plugins.discussions.display.categories)&&(Object.keys(plugins.discussions.categories.stats).length)) { %>
|
||||||
<div class="row fill-width">
|
<div class="row fill-width">
|
||||||
<section>
|
<section>
|
||||||
<div class="field wrap">
|
<div class="field wrap">
|
||||||
<% for (const [category, posts] of Object.entries(plugins.discussions.categories.stats)) { %>
|
<% for (const [category, posts] of Object.entries(plugins.discussions.categories.stats).slice(0, plugins.discussions.display.categories.limit)) { %>
|
||||||
<div class="label label-flex"><%= category %> <div class="label-right"><%= posts %></div> </div>
|
<div class="label label-flex"><%= category %> <div class="label-right"><%= posts %></div> </div>
|
||||||
<% } %>
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user