webspresso 0.0.71 → 0.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/package.json +3 -1
- package/plugins/admin-panel/components.js +182 -17
- package/plugins/admin-panel/core/api-extensions.js +2 -0
- package/plugins/admin-panel/core/registry.js +2 -0
- package/plugins/admin-panel/modules/custom-pages.js +75 -14
- package/plugins/admin-panel/modules/dashboard.js +64 -13
- package/plugins/admin-panel/modules/menu.js +43 -0
- package/plugins/audit-log/middleware.js +3 -0
- package/plugins/data-exchange/export-xlsx.js +83 -0
- package/plugins/data-exchange/import.js +289 -0
- package/plugins/data-exchange/index.js +80 -0
- package/plugins/data-exchange/parse-table.js +64 -0
- package/plugins/data-exchange/record-selection.js +64 -0
- package/plugins/index.js +3 -0
- package/plugins/site-analytics/admin-component.js +32 -11
|
@@ -191,8 +191,19 @@ var AnalyticsPage = {
|
|
|
191
191
|
vnode.state.countries = [];
|
|
192
192
|
vnode.state.recent = [];
|
|
193
193
|
vnode.state.chartLoaded = false;
|
|
194
|
+
vnode.state._stopPoll = null;
|
|
195
|
+
vnode.state.chartDataVersion = 0;
|
|
194
196
|
this.loadData(vnode);
|
|
195
197
|
this.loadChartJs(vnode);
|
|
198
|
+
if (typeof runAdminAutoRefresh === 'function') {
|
|
199
|
+
vnode.state._stopPoll = runAdminAutoRefresh(function() {
|
|
200
|
+
this.loadData(vnode);
|
|
201
|
+
}.bind(this));
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
onremove: function(vnode) {
|
|
206
|
+
if (vnode.state._stopPoll) vnode.state._stopPoll();
|
|
196
207
|
},
|
|
197
208
|
|
|
198
209
|
loadChartJs: function(vnode) {
|
|
@@ -213,7 +224,7 @@ var AnalyticsPage = {
|
|
|
213
224
|
vnode.state.loading = true;
|
|
214
225
|
var days = vnode.state.days;
|
|
215
226
|
|
|
216
|
-
Promise.all([
|
|
227
|
+
return Promise.all([
|
|
217
228
|
analyticsApi('stats', days),
|
|
218
229
|
analyticsApi('views-over-time', days),
|
|
219
230
|
analyticsApi('top-pages', days),
|
|
@@ -232,6 +243,7 @@ var AnalyticsPage = {
|
|
|
232
243
|
vnode.state.clientErrors = results[6];
|
|
233
244
|
vnode.state.recent = results[7];
|
|
234
245
|
vnode.state.loading = false;
|
|
246
|
+
vnode.state.chartDataVersion = (vnode.state.chartDataVersion || 0) + 1;
|
|
235
247
|
|
|
236
248
|
if (chartInstance) {
|
|
237
249
|
chartInstance.destroy();
|
|
@@ -267,15 +279,24 @@ var AnalyticsPage = {
|
|
|
267
279
|
]),
|
|
268
280
|
m('p.text-gray-500.text-sm.mt-1', 'Page view statistics and visitor analytics'),
|
|
269
281
|
]),
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
282
|
+
m('div.flex.items-center.gap-2.flex-wrap.justify-end', [
|
|
283
|
+
typeof RefreshIconButton !== 'undefined'
|
|
284
|
+
? m(RefreshIconButton, {
|
|
285
|
+
title: 'Refresh analytics',
|
|
286
|
+
spinning: s.loading,
|
|
287
|
+
onclick: function() { self.loadData(vnode); },
|
|
288
|
+
})
|
|
289
|
+
: null,
|
|
290
|
+
// Day filter
|
|
291
|
+
m('div.flex.gap-1.bg-gray-100.rounded-lg.p-1', [7, 30, 90].map(function(d) {
|
|
292
|
+
return m('button.px-3.py-1.5.text-sm.font-medium.rounded-md.transition-colors', {
|
|
293
|
+
class: s.days === d
|
|
294
|
+
? 'bg-white text-gray-900 shadow-sm'
|
|
295
|
+
: 'text-gray-500 hover:text-gray-700',
|
|
296
|
+
onclick: function() { self.setDays(vnode, d); },
|
|
297
|
+
}, 'Last ' + d + ' days');
|
|
298
|
+
})),
|
|
299
|
+
]),
|
|
279
300
|
]),
|
|
280
301
|
|
|
281
302
|
s.loading
|
|
@@ -303,7 +324,7 @@ var AnalyticsPage = {
|
|
|
303
324
|
]),
|
|
304
325
|
m('div.p-5', [
|
|
305
326
|
s.chartLoaded && s.viewsOverTime.length > 0
|
|
306
|
-
? m(ViewsChart, { key: 'chart-' + s.days, data: s.viewsOverTime })
|
|
327
|
+
? m(ViewsChart, { key: 'chart-' + s.days + '-' + (s.chartDataVersion || 0), data: s.viewsOverTime })
|
|
307
328
|
: m('div.flex.justify-center.py-16.text-gray-400.text-sm', 'Loading chart...'),
|
|
308
329
|
]),
|
|
309
330
|
]),
|