diff --git a/public/js/components/Stv/Studentenverwaltung/List.js b/public/js/components/Stv/Studentenverwaltung/List.js index 1aa2c6b70..db72bbbcf 100644 --- a/public/js/components/Stv/Studentenverwaltung/List.js +++ b/public/js/components/Stv/Studentenverwaltung/List.js @@ -195,7 +195,15 @@ export default { }, { event: 'dataLoaded', - handler: data => this.count = data.length + handler: data => { + if (Array.isArray(data)) { + this.count = data.length; + this.allPrestudents = data.map(item => item.prestudent_id); + } else { + this.count = 0; + this.allPrestudents = []; + } + } }, { event: 'dataFiltered', @@ -237,7 +245,8 @@ export default { dragSource: [], oldScrollUrl: '', oldScrollLeft: 0, - oldScrollTop: 0 + oldScrollTop: 0, + allPrestudents: [] } }, computed: { @@ -274,6 +283,7 @@ export default { }; }); }, + //TODO(Manu) check: replace download or additional entry? downloadConfig() { return { csv: { @@ -291,6 +301,21 @@ export default { .replace(/\//g, '_'); return "StudentList_" + today + ".csv"; }, + selectedPrestudents() { + if (this.selected && this.selected.length > 0) { + return this.selected.map(item => item.prestudent_id); + } else { + // fallback whole list of prestudents + return this.allPrestudents || []; + } + }, + + linkXLS(){ + return FHC_JS_DATA_STORAGE_OBJECT.app_root + + 'content/statistik/studentenexportextended.xls.php?' + + '&studiensemester_kurzbz=' + this.currentSemester + + '&data=' + this.selectedPrestudents.join(";"); + }, }, created: function() { if(this.tagsEnabled) { @@ -600,7 +625,7 @@ export default { // TODO(chris): focusin, focusout, keydown and tabindex should be in the filter component // TODO(chris): filter component column chooser has no accessibilty features template: ` -
+
+ + + +