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