Skip to content

Commit

Permalink
chore: csv export now works for new chartjs datasets
Browse files Browse the repository at this point in the history
  • Loading branch information
jdalsem committed May 28, 2024
1 parent c0e1409 commit de4066d
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 24 deletions.
31 changes: 13 additions & 18 deletions actions/advanced_statistics/export.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,25 @@
}

$graph_data = json_decode($json_data, true);
$data = elgg_extract('data', $graph_data);
if (empty($data)) {
$datasets = elgg_extract('datasets', elgg_extract('data', $graph_data));
$labels = elgg_extract('labels', elgg_extract('data', $graph_data), []);
if (empty($datasets)) {
return elgg_error_response(elgg_echo('notfound'));
}

$result = [];
$append = false;
if (isset($graph_data['options']['axes']['xaxis']['ticks'])) {
$ticks = $graph_data['options']['axes']['xaxis']['ticks'];
foreach ($ticks as $index => $tick) {
$result[$index][] = $tick;
}
foreach ($datasets as $series => $series_data) {
$serie_label = elgg_extract('label', $series_data);
$data = elgg_extract('data', $series_data);

$append = true;
}

foreach ($data as $series => $series_data) {
foreach ($series_data as $index => $point) {
if ($append) {
$result[$index][] = $point;
} elseif ($series > 0) {
$result[$index][] = $point[1];
foreach ($data as $index => $point) {
$label = elgg_extract('x', $point, elgg_extract($index, $labels));
$value = elgg_extract('y', $point, $point);

if (!array_key_exists($index, $result)) {
$result[$index] = [$label, $value];
} else {
$result[$index] = $point;
$result[$index][] = $value;
}
}
}
Expand Down
1 change: 0 additions & 1 deletion views/default/admin/advanced_statistics/content.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@
'title' => elgg_echo('advanced_statistics:content:active_groups'),
'id' => 'advanced-statistics-content-active-groups',
'date_limited' => true,
'allow_export' => false,
'page' => 'admin_data',
'section' => 'content',
'chart' => 'active_groups',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
'x' => $row['total'],
];
}

$result['options']['indexAxis'] = 'y';
$result['data']['datasets'][] = ['data' => $data];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@
$not_configured = $total_user_count - $previously_used - $active - $scheduled;

$labels = [
elgg_echo('advanced_statistics:notifications:not_configured') . " [{$not_configured}]",
elgg_echo('advanced_statistics:notifications:timed_muting:previous') . " [{$previously_used}]",
elgg_echo('advanced_statistics:notifications:timed_muting:active') . " [{$active}]",
elgg_echo('advanced_statistics:notifications:timed_muting:scheduled') . " [{$scheduled}]",
elgg_echo('advanced_statistics:notifications:not_configured'),
elgg_echo('advanced_statistics:notifications:timed_muting:previous'),
elgg_echo('advanced_statistics:notifications:timed_muting:active'),
elgg_echo('advanced_statistics:notifications:timed_muting:scheduled'),
];

$data = [$not_configured, $previously_used, $active, $scheduled];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

foreach ($query_result as $row) {
$labels[] = elgg_echo($row['language']);
$data[] = (int) $row['total'];;
$data[] = (int) $row['total'];
}

$result['data']['labels'] = $labels;
Expand Down

0 comments on commit de4066d

Please sign in to comment.