From 5567e30000d5a914118a0ed9d24bce5d3735e333 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Tue, 12 Apr 2016 18:59:21 -0400
Subject: [PATCH 1/4] Correctly parse arrays into url search parameters.
---
front/current/services/rest.service.ts | 28 ++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/front/current/services/rest.service.ts b/front/current/services/rest.service.ts
index 452da54..8d82cc8 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 == 'Array') {
+ for (let i = 0; i < value.length; i++) {
+ params.set(key + '[' + i + ']', 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();
};
--
GitLab
From 494f2e6b740f980736300524752d3850f8bde05c Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Tue, 12 Apr 2016 18:59:34 -0400
Subject: [PATCH 2/4] Add support for downloading documents.
---
.../current/components/projects/list.component.html | 6 ++++--
front/current/components/projects/list.component.ts | 13 +++++++++++--
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/front/current/components/projects/list.component.html b/front/current/components/projects/list.component.html
index 187e942..d7c6232 100644
--- a/front/current/components/projects/list.component.html
+++ b/front/current/components/projects/list.component.html
@@ -31,9 +31,11 @@
-
+
{{ getDocumentForDocumentSlot(documentSlot).data['name'] }}
-
+
diff --git a/front/current/components/projects/list.component.ts b/front/current/components/projects/list.component.ts
index 35cf76c..5895820 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);
}
--
GitLab
From 9fa8c7b248e5a81582d256651d80a20abcd67461 Mon Sep 17 00:00:00 2001
From: Jose Contreras
Date: Tue, 12 Apr 2016 19:35:46 -0400
Subject: [PATCH 3/4] Fix url property on Model
---
front/current/services/rest.service.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/front/current/services/rest.service.ts b/front/current/services/rest.service.ts
index 8d82cc8..7ee6cf2 100644
--- a/front/current/services/rest.service.ts
+++ b/front/current/services/rest.service.ts
@@ -37,9 +37,9 @@ export class Model {
for (let key in this.filters) {
let value = this.filters[key];
- if (typeof value == 'Array') {
+ if (typeof value[Symbol.iterator] === 'function') {
for (let i = 0; i < value.length; i++) {
- params.set(key + '[' + i + ']', value[i]);
+ params.set(key + '[]', value[i]);
}
} else {
params.set(key, value);
--
GitLab
From dedbf321aaa03056453a747e0c87d897d1c36d68 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Tue, 12 Apr 2016 19:42:34 -0400
Subject: [PATCH 4/4] Add a progress bar.
---
front/current/components/projects/list.component.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/front/current/components/projects/list.component.html b/front/current/components/projects/list.component.html
index d7c6232..ccafc8d 100644
--- a/front/current/components/projects/list.component.html
+++ b/front/current/components/projects/list.component.html
@@ -35,6 +35,7 @@
(click)="download(getDocumentForDocumentSlot(documentSlot))"
*ngIf="!documents.loading">
{{ getDocumentForDocumentSlot(documentSlot).data['name'] }}
+
--
GitLab