diff --git a/front/current/components/projects/list.component.html b/front/current/components/projects/list.component.html
index 187e94232716d823e8a1647db1c2ddbc334faeb8..ccafc8d90a5b6b5b634ec5d2b6cbab2247f9cdca 100644
--- a/front/current/components/projects/list.component.html
+++ b/front/current/components/projects/list.component.html
@@ -31,9 +31,12 @@
-
+
{{ getDocumentForDocumentSlot(documentSlot).data['name'] }}
-
+
+
diff --git a/front/current/components/projects/list.component.ts b/front/current/components/projects/list.component.ts
index 35cf76c72433338a0499499c2d4e8f51ded4e47d..589582041f8644011e3b1e5b3b7edd2cfedea0dc 100644
--- a/front/current/components/projects/list.component.ts
+++ b/front/current/components/projects/list.component.ts
@@ -53,6 +53,15 @@ export class ProjectListComponent implements OnInit{
}
};
+ public download(document_:Model) {
+ document_.setFilters({verbosity: 'data'}).fetch(() => {
+ var link = document.createElement('a');
+ link['download'] = document_.data['name'];
+ link.href = document_.data['data'];
+ link.click();
+ });
+ };
+
fetch() {
let self = this;
@@ -64,7 +73,7 @@ export class ProjectListComponent implements OnInit{
let keys = [];
for (let project of self.projects.models) {
- let key = project.data['key'];
+ let key = project.data['id'];
if (keys.indexOf(key) == -1)
keys.push(key)
}
@@ -75,7 +84,7 @@ export class ProjectListComponent implements OnInit{
let keys = [];
for (let document_slot of self.documentSlots.models) {
- let key = document_slot['document_key'];
+ let key = document_slot.data['document_key'];
keys.push(key);
}
diff --git a/front/current/services/rest.service.ts b/front/current/services/rest.service.ts
index 452da54143e92981b2ed0b1f10a6c873172e6141..7ee6cf2916929573873dde98f0a3230c12a38b6c 100644
--- a/front/current/services/rest.service.ts
+++ b/front/current/services/rest.service.ts
@@ -33,8 +33,18 @@ export class Model {
get url(): string {
let params = new URLSearchParams('');
- for (let key of this.filters)
- params.set(key, this.filters[key]);
+
+ for (let key in this.filters) {
+ let value = this.filters[key];
+
+ if (typeof value[Symbol.iterator] === 'function') {
+ for (let i = 0; i < value.length; i++) {
+ params.set(key + '[]', value[i]);
+ }
+ } else {
+ params.set(key, value);
+ }
+ }
return (
this.service.config.url +
@@ -112,8 +122,18 @@ export class Collection {
public get url(): string {
let params = new URLSearchParams('');
- for (let key of this.filters)
- params.set(key, this.filters[key]);
+
+ for (let key in this.filters) {
+ let value = this.filters[key];
+
+ if (typeof value[Symbol.iterator] === 'function') {
+ for (let i = 0; i < value.length; i++) {
+ params.set(key + '[]', value[i]);
+ }
+ } else {
+ params.set(key, value);
+ }
+ }
return this.service.config.url + this.service.url + '?' + params.toString();
};