diff --git a/app/assets/javascripts/external_users.js b/app/assets/javascripts/external_users.js new file mode 100644 index 00000000..8e4ec52e --- /dev/null +++ b/app/assets/javascripts/external_users.js @@ -0,0 +1,32 @@ +$(function() { + var grid = $('#tag-grid'); + + if ($.isController('external_users') && grid.isPresent()) { + var spinner = $('#loading'); + var noElements = $('#no-elements'); + + var buildTagContainer = function(tag) { + return '\ +
\ +
' + tag.key + '
\ +
\ +
' + tag.value + '%
\ +
\ +
'; + }; + + var jqxhr = $.ajax(window.location.href + '/tag_statistics', { + dataType: 'json', + method: 'GET' + }); + jqxhr.done(function(response) { + spinner.hide(); + if (response.length === 0) { + noElements.show(); + } else { + var elements = response.map(buildTagContainer); + grid.append(elements); + } + }); + } +}); diff --git a/app/assets/stylesheets/external_users.css.scss b/app/assets/stylesheets/external_users.css.scss new file mode 100644 index 00000000..05bc0b35 --- /dev/null +++ b/app/assets/stylesheets/external_users.css.scss @@ -0,0 +1,16 @@ +#no-elements { + display: none; +} + +#tag-grid { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-column-gap: 10px; + grid-row-gap: 15px; + + .progress { + .progress-bar { + min-width: 2em; + } + } +} diff --git a/app/views/external_users/show.html.slim b/app/views/external_users/show.html.slim index 64b66927..5c6d08e6 100644 --- a/app/views/external_users/show.html.slim +++ b/app/views/external_users/show.html.slim @@ -7,4 +7,11 @@ h1 = @user.name br = link_to(t('shared.statistics'), statistics_external_user_path(@user)) -.tag-grid +br +h4 = t('.tag_statistics') +#loading + .spinner + = t('.loading_tag_statistics') +#no-elements + = t('.empty_tag_statistics') +#tag-grid diff --git a/config/locales/de.yml b/config/locales/de.yml index c3f7dc15..becd5039 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -378,6 +378,10 @@ de: score: Bewertung runs: Abgaben worktime: Arbeitszeit + show: + loading_tag_statistics: "Lade Lernbereichstatistiken" + tag_statistics: "Lernbereichstatistiken" + empty_tag_statistics: "Keine Statistiken verfügbar" files: roles: main_file: Hauptdatei diff --git a/config/locales/en.yml b/config/locales/en.yml index 494dd163..bb9b66cc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -378,6 +378,10 @@ en: score: Score runs: Submissions worktime: Working Time + show: + loading_tag_statistics: "Loading tag statistics..." + tag_statistics: "Tag Statistics" + empty_tag_statistics: "No statistics available" files: roles: main_file: Main File