feat: topics dashboard details subpage
parent
c57c77030e
commit
e1ed514b10
@ -1,14 +1,32 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
define('admin/dashboard/topics', ['admin/modules/dashboard-line-graph'], (graph) => {
|
define('admin/dashboard/topics', ['admin/modules/dashboard-line-graph', 'hooks'], (graph, hooks) => {
|
||||||
const ACP = {};
|
const ACP = {};
|
||||||
|
|
||||||
ACP.init = () => {
|
ACP.init = () => {
|
||||||
graph.init({
|
graph.init({
|
||||||
set: 'topics',
|
set: 'topics',
|
||||||
dataset: ajaxify.data.dataset,
|
dataset: ajaxify.data.dataset,
|
||||||
|
}).then(() => {
|
||||||
|
hooks.onPage('action:admin.dashboard.updateGraph', ACP.updateTable);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ACP.updateTable = () => {
|
||||||
|
if (window.fetch) {
|
||||||
|
fetch(`${config.relative_path}/api${ajaxify.data.url}${window.location.search}`, { credentials: 'include' }).then((response) => {
|
||||||
|
if (response.ok) {
|
||||||
|
response.json().then(function (payload) {
|
||||||
|
app.parseAndTranslate(ajaxify.data.template.name, 'topics', payload, function (html) {
|
||||||
|
const tbodyEl = document.querySelector('.topics-list tbody');
|
||||||
|
tbodyEl.innerHTML = '';
|
||||||
|
tbodyEl.append(...html.map((idx, el) => el));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return ACP;
|
return ACP;
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
<div class="row dashboard">
|
<div class="row dashboard">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
|
<a class="btn btn-link" href="{config.relative_path}/admin/dashboard">
|
||||||
|
<i class="fa fa-chevron-left"></i>
|
||||||
|
[[admin/dashboard:back-to-dashboard]]
|
||||||
|
</a>
|
||||||
|
|
||||||
<!-- IMPORT admin/partials/dashboard/graph.tpl -->
|
<!-- IMPORT admin/partials/dashboard/graph.tpl -->
|
||||||
<!-- IMPORT admin/partials/dashboard/stats.tpl -->
|
<!-- IMPORT admin/partials/dashboard/stats.tpl -->
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,28 @@
|
|||||||
<div class="row dashboard">
|
<div class="row dashboard">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
|
<a class="btn btn-link" href="{config.relative_path}/admin/dashboard">
|
||||||
|
<i class="fa fa-chevron-left"></i>
|
||||||
|
[[admin/dashboard:back-to-dashboard]]
|
||||||
|
</a>
|
||||||
|
|
||||||
<!-- IMPORT admin/partials/dashboard/graph.tpl -->
|
<!-- IMPORT admin/partials/dashboard/graph.tpl -->
|
||||||
<!-- IMPORT admin/partials/dashboard/stats.tpl -->
|
<!-- IMPORT admin/partials/dashboard/stats.tpl -->
|
||||||
|
|
||||||
|
<table class="table table-striped topics-list">
|
||||||
|
<tbody>
|
||||||
|
{{{ if !topics.length}}}
|
||||||
|
<tr>
|
||||||
|
<td colspan=4" class="text-center"><em>[[admin/dashboard:details.no-topics]]</em></td>
|
||||||
|
</tr>
|
||||||
|
{{{ end }}}
|
||||||
|
{{{ each topics }}}
|
||||||
|
<tr>
|
||||||
|
<td><a href="{config.relative_path}/topics/{../slug}">{../title}</a></td>
|
||||||
|
<td>[[topic:posted_by, {../user.username}]]</td>
|
||||||
|
<td><span class="timeago" data-title="{../timestampISO}"></span></td>
|
||||||
|
</tr>
|
||||||
|
{{{ end }}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue