aboutsummaryrefslogtreecommitdiff
path: root/frontend/src
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-05-18 23:20:15 +0200
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-05-18 23:20:15 +0200
commit0dea04df11e9cb5f167473dddaffbc1a0d28bd59 (patch)
treeca2e5fe0781afe87e5642818270f3b878358ed57 /frontend/src
parent117f254c08a2361c9fe912463f806cb535f5f2e7 (diff)
Korisniku omoguceno da preuzme dataset sa front-end-a.
Diffstat (limited to 'frontend/src')
-rw-r--r--frontend/src/app/_data/Dataset.ts2
-rw-r--r--frontend/src/app/_elements/folder/folder.component.html5
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts15
-rw-r--r--frontend/src/app/_services/datasets.service.ts4
4 files changed, 24 insertions, 2 deletions
diff --git a/frontend/src/app/_data/Dataset.ts b/frontend/src/app/_data/Dataset.ts
index 73b77bd0..c8d5771a 100644
--- a/frontend/src/app/_data/Dataset.ts
+++ b/frontend/src/app/_data/Dataset.ts
@@ -4,7 +4,7 @@ export default class Dataset extends FolderFile {
constructor(
name: string = 'Novi izvor podataka',
public description: string = '',
- public fileId?: number,
+ public fileId?: string,
public extension: string = '.csv',
public isPublic: boolean = false,
public accessibleByLink: boolean = false,
diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html
index da04b219..6293ec7f 100644
--- a/frontend/src/app/_elements/folder/folder.component.html
+++ b/frontend/src/app/_elements/folder/folder.component.html
@@ -76,7 +76,10 @@
{{file.lastUpdated | date}}
</div>
<div class="mx-2 hover-show" *ngIf="selectedTab !== TabType.PublicDatasets && selectedTab !== TabType.PublicModels">
- <button class="btn-clear file-button" (click)="deleteFile(file, $event)">
+ <button class="btn-clear file-button" (click)="downloadFile(file,$event)" style="display: inline-block;">
+ <mat-icon>download</mat-icon>
+ </button>
+ <button class="btn-clear file-button" (click)="deleteFile(file, $event)" style="display: inline-block;">
<mat-icon>delete</mat-icon>
</button>
</div>
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index 262b3b7d..f13635e9 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -13,6 +13,7 @@ import { SignalRService } from 'src/app/_services/signal-r.service';
import { FormModelComponent } from '../form-model/form-model.component';
import { ActivatedRoute, Router } from '@angular/router';
import Predictor from 'src/app/_data/Predictor';
+import FileSaver from 'file-saver';
@Component({
selector: 'app-folder',
@@ -308,6 +309,20 @@ export class FolderComponent implements AfterViewInit {
break;
}
}
+ downloadFile(file: FolderFile, event: Event) {
+ event.stopPropagation();
+ if (this.type==FolderType.Dataset) {
+ const fileId=(<Dataset>file).fileId;
+ const name=(<Dataset>file).name;
+ const ext=(<Dataset>file).extension;
+ if(fileId!=undefined)
+ this.datasetsService.downloadFile(fileId).subscribe((response)=>{
+ FileSaver.saveAs(response,name+ext);
+
+ });
+
+ }
+ }
addFile(file: FolderFile, event: Event) {
event.stopPropagation();
diff --git a/frontend/src/app/_services/datasets.service.ts b/frontend/src/app/_services/datasets.service.ts
index 8d07674d..3fb4e8f2 100644
--- a/frontend/src/app/_services/datasets.service.ts
+++ b/frontend/src/app/_services/datasets.service.ts
@@ -51,4 +51,8 @@ export class DatasetsService {
deleteDataset(dataset: Dataset) {
return this.http.delete(`${Configuration.settings.apiURL}/dataset/` + dataset._id, { headers: this.authService.authHeader(), responseType: "text" });
}
+
+ downloadFile(id:string):Observable<Blob>{
+ return this.http.get(`${Configuration.settings.apiURL}/file/Download?id=`+id, { headers: this.authService.authHeader(), responseType: 'blob' });
+ }
}