From 1177f4b29b616a59af39f4aef11b116f9660357d Mon Sep 17 00:00:00 2001 From: Danijel Anđelković Date: Sat, 23 Apr 2022 01:28:46 +0200 Subject: Reorganizovao stranice i komponente. --- .../_charts/barchart/barchart.component.css | 6 + .../_charts/barchart/barchart.component.html | 4 + .../_charts/barchart/barchart.component.spec.ts | 25 +++ .../_charts/barchart/barchart.component.ts | 54 +++++ .../_charts/box-plot/box-plot.component.css | 0 .../_charts/box-plot/box-plot.component.html | 1 + .../_charts/box-plot/box-plot.component.spec.ts | 25 +++ .../_charts/box-plot/box-plot.component.ts | 15 ++ .../_charts/line-chart/line-chart.component.css | 0 .../_charts/line-chart/line-chart.component.html | 5 + .../line-chart/line-chart.component.spec.ts | 25 +++ .../_charts/line-chart/line-chart.component.ts | 88 ++++++++ .../_charts/mixed-chart/mixed-chart.component.css | 0 .../_charts/mixed-chart/mixed-chart.component.html | 2 + .../mixed-chart/mixed-chart.component.spec.ts | 25 +++ .../_charts/mixed-chart/mixed-chart.component.ts | 56 +++++ .../_charts/pie-chart/pie-chart.component.css | 0 .../_charts/pie-chart/pie-chart.component.html | 1 + .../_charts/pie-chart/pie-chart.component.spec.ts | 25 +++ .../_charts/pie-chart/pie-chart.component.ts | 15 ++ .../point-linechart/point-linechart.component.css | 0 .../point-linechart/point-linechart.component.html | 2 + .../point-linechart.component.spec.ts | 25 +++ .../point-linechart/point-linechart.component.ts | 57 ++++++ .../scatterchart/scatterchart.component.css | 6 + .../scatterchart/scatterchart.component.html | 4 + .../scatterchart/scatterchart.component.spec.ts | 25 +++ .../_charts/scatterchart/scatterchart.component.ts | 39 ++++ .../add-new-dataset/add-new-dataset.component.css | 0 .../add-new-dataset/add-new-dataset.component.html | 49 ----- .../add-new-dataset.component.spec.ts | 25 --- .../add-new-dataset/add-new-dataset.component.ts | 106 ---------- .../_elements/annvisual/annvisual.component.css | 4 - .../_elements/annvisual/annvisual.component.html | 5 - .../annvisual/annvisual.component.spec.ts | 25 --- .../app/_elements/annvisual/annvisual.component.ts | 45 ---- .../carousel-vertical.component.css | 3 - .../carousel-vertical.component.html | 12 -- .../carousel-vertical.component.spec.ts | 25 --- .../carousel-vertical.component.ts | 65 ------ .../app/_elements/carousel/carousel.component.css | 0 .../app/_elements/carousel/carousel.component.html | 17 -- .../_elements/carousel/carousel.component.spec.ts | 25 --- .../app/_elements/carousel/carousel.component.ts | 18 -- .../column-table/column-table.component.css | 0 .../column-table/column-table.component.html | 1 + .../column-table/column-table.component.spec.ts | 25 +++ .../column-table/column-table.component.ts | 15 ++ .../dataset-load/dataset-load.component.css | 18 -- .../dataset-load/dataset-load.component.html | 40 ---- .../dataset-load/dataset-load.component.spec.ts | 25 --- .../dataset-load/dataset-load.component.ts | 100 --------- .../form-dataset/form-dataset.component.css | 0 .../form-dataset/form-dataset.component.html | 1 + .../form-dataset/form-dataset.component.spec.ts | 25 +++ .../form-dataset/form-dataset.component.ts | 15 ++ .../_elements/form-model/form-model.component.css | 0 .../_elements/form-model/form-model.component.html | 1 + .../form-model/form-model.component.spec.ts | 25 +++ .../_elements/form-model/form-model.component.ts | 15 ++ .../item-dataset/item-dataset.component.css | 23 --- .../item-dataset/item-dataset.component.html | 41 ---- .../item-dataset/item-dataset.component.spec.ts | 25 --- .../item-dataset/item-dataset.component.ts | 40 ---- .../item-experiment/item-experiment.component.css | 0 .../item-experiment/item-experiment.component.html | 10 - .../item-experiment.component.spec.ts | 25 --- .../item-experiment/item-experiment.component.ts | 15 -- .../_elements/item-model/item-model.component.css | 23 --- .../_elements/item-model/item-model.component.html | 58 ------ .../item-model/item-model.component.spec.ts | 25 --- .../_elements/item-model/item-model.component.ts | 33 --- .../item-predictor/item-predictor.component.css | 0 .../item-predictor/item-predictor.component.html | 35 ---- .../item-predictor.component.spec.ts | 25 --- .../item-predictor/item-predictor.component.ts | 23 --- .../metric-view/metric-view.component.css | 0 .../metric-view/metric-view.component.html | 5 + .../metric-view/metric-view.component.spec.ts | 25 +++ .../_elements/metric-view/metric-view.component.ts | 49 +++++ .../_elements/model-load/model-load.component.css | 17 -- .../_elements/model-load/model-load.component.html | 227 --------------------- .../model-load/model-load.component.spec.ts | 25 --- .../_elements/model-load/model-load.component.ts | 112 ---------- .../select-item-list.component.css | 0 .../select-item-list.component.html | 1 - .../select-item-list.component.spec.ts | 25 --- .../select-item-list/select-item-list.component.ts | 15 -- 88 files changed, 732 insertions(+), 1430 deletions(-) create mode 100644 frontend/src/app/_elements/_charts/barchart/barchart.component.css create mode 100644 frontend/src/app/_elements/_charts/barchart/barchart.component.html create mode 100644 frontend/src/app/_elements/_charts/barchart/barchart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/barchart/barchart.component.ts create mode 100644 frontend/src/app/_elements/_charts/box-plot/box-plot.component.css create mode 100644 frontend/src/app/_elements/_charts/box-plot/box-plot.component.html create mode 100644 frontend/src/app/_elements/_charts/box-plot/box-plot.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/box-plot/box-plot.component.ts create mode 100644 frontend/src/app/_elements/_charts/line-chart/line-chart.component.css create mode 100644 frontend/src/app/_elements/_charts/line-chart/line-chart.component.html create mode 100644 frontend/src/app/_elements/_charts/line-chart/line-chart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts create mode 100644 frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.css create mode 100644 frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.html create mode 100644 frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.ts create mode 100644 frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.css create mode 100644 frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.html create mode 100644 frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.ts create mode 100644 frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.css create mode 100644 frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.html create mode 100644 frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.ts create mode 100644 frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.css create mode 100644 frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.html create mode 100644 frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.spec.ts create mode 100644 frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.ts delete mode 100644 frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.css delete mode 100644 frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.html delete mode 100644 frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.spec.ts delete mode 100644 frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts delete mode 100644 frontend/src/app/_elements/annvisual/annvisual.component.css delete mode 100644 frontend/src/app/_elements/annvisual/annvisual.component.html delete mode 100644 frontend/src/app/_elements/annvisual/annvisual.component.spec.ts delete mode 100644 frontend/src/app/_elements/annvisual/annvisual.component.ts delete mode 100644 frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.css delete mode 100644 frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.html delete mode 100644 frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.spec.ts delete mode 100644 frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.ts delete mode 100644 frontend/src/app/_elements/carousel/carousel.component.css delete mode 100644 frontend/src/app/_elements/carousel/carousel.component.html delete mode 100644 frontend/src/app/_elements/carousel/carousel.component.spec.ts delete mode 100644 frontend/src/app/_elements/carousel/carousel.component.ts create mode 100644 frontend/src/app/_elements/column-table/column-table.component.css create mode 100644 frontend/src/app/_elements/column-table/column-table.component.html create mode 100644 frontend/src/app/_elements/column-table/column-table.component.spec.ts create mode 100644 frontend/src/app/_elements/column-table/column-table.component.ts delete mode 100644 frontend/src/app/_elements/dataset-load/dataset-load.component.css delete mode 100644 frontend/src/app/_elements/dataset-load/dataset-load.component.html delete mode 100644 frontend/src/app/_elements/dataset-load/dataset-load.component.spec.ts delete mode 100644 frontend/src/app/_elements/dataset-load/dataset-load.component.ts create mode 100644 frontend/src/app/_elements/form-dataset/form-dataset.component.css create mode 100644 frontend/src/app/_elements/form-dataset/form-dataset.component.html create mode 100644 frontend/src/app/_elements/form-dataset/form-dataset.component.spec.ts create mode 100644 frontend/src/app/_elements/form-dataset/form-dataset.component.ts create mode 100644 frontend/src/app/_elements/form-model/form-model.component.css create mode 100644 frontend/src/app/_elements/form-model/form-model.component.html create mode 100644 frontend/src/app/_elements/form-model/form-model.component.spec.ts create mode 100644 frontend/src/app/_elements/form-model/form-model.component.ts delete mode 100644 frontend/src/app/_elements/item-dataset/item-dataset.component.css delete mode 100644 frontend/src/app/_elements/item-dataset/item-dataset.component.html delete mode 100644 frontend/src/app/_elements/item-dataset/item-dataset.component.spec.ts delete mode 100644 frontend/src/app/_elements/item-dataset/item-dataset.component.ts delete mode 100644 frontend/src/app/_elements/item-experiment/item-experiment.component.css delete mode 100644 frontend/src/app/_elements/item-experiment/item-experiment.component.html delete mode 100644 frontend/src/app/_elements/item-experiment/item-experiment.component.spec.ts delete mode 100644 frontend/src/app/_elements/item-experiment/item-experiment.component.ts delete mode 100644 frontend/src/app/_elements/item-model/item-model.component.css delete mode 100644 frontend/src/app/_elements/item-model/item-model.component.html delete mode 100644 frontend/src/app/_elements/item-model/item-model.component.spec.ts delete mode 100644 frontend/src/app/_elements/item-model/item-model.component.ts delete mode 100644 frontend/src/app/_elements/item-predictor/item-predictor.component.css delete mode 100644 frontend/src/app/_elements/item-predictor/item-predictor.component.html delete mode 100644 frontend/src/app/_elements/item-predictor/item-predictor.component.spec.ts delete mode 100644 frontend/src/app/_elements/item-predictor/item-predictor.component.ts create mode 100644 frontend/src/app/_elements/metric-view/metric-view.component.css create mode 100644 frontend/src/app/_elements/metric-view/metric-view.component.html create mode 100644 frontend/src/app/_elements/metric-view/metric-view.component.spec.ts create mode 100644 frontend/src/app/_elements/metric-view/metric-view.component.ts delete mode 100644 frontend/src/app/_elements/model-load/model-load.component.css delete mode 100644 frontend/src/app/_elements/model-load/model-load.component.html delete mode 100644 frontend/src/app/_elements/model-load/model-load.component.spec.ts delete mode 100644 frontend/src/app/_elements/model-load/model-load.component.ts delete mode 100644 frontend/src/app/_elements/select-item-list/select-item-list.component.css delete mode 100644 frontend/src/app/_elements/select-item-list/select-item-list.component.html delete mode 100644 frontend/src/app/_elements/select-item-list/select-item-list.component.spec.ts delete mode 100644 frontend/src/app/_elements/select-item-list/select-item-list.component.ts (limited to 'frontend/src/app/_elements') diff --git a/frontend/src/app/_elements/_charts/barchart/barchart.component.css b/frontend/src/app/_elements/_charts/barchart/barchart.component.css new file mode 100644 index 00000000..c3634c9f --- /dev/null +++ b/frontend/src/app/_elements/_charts/barchart/barchart.component.css @@ -0,0 +1,6 @@ +#divBarChart{ + background-color: beige; + display: block; + width: 400px; + height: 200px; +} diff --git a/frontend/src/app/_elements/_charts/barchart/barchart.component.html b/frontend/src/app/_elements/_charts/barchart/barchart.component.html new file mode 100644 index 00000000..48b7bd3e --- /dev/null +++ b/frontend/src/app/_elements/_charts/barchart/barchart.component.html @@ -0,0 +1,4 @@ +

Bar chart:

+
+ +
\ No newline at end of file diff --git a/frontend/src/app/_elements/_charts/barchart/barchart.component.spec.ts b/frontend/src/app/_elements/_charts/barchart/barchart.component.spec.ts new file mode 100644 index 00000000..8b346d1c --- /dev/null +++ b/frontend/src/app/_elements/_charts/barchart/barchart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BarchartComponent } from './barchart.component'; + +describe('BarchartComponent', () => { + let component: BarchartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ BarchartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(BarchartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/barchart/barchart.component.ts b/frontend/src/app/_elements/_charts/barchart/barchart.component.ts new file mode 100644 index 00000000..def64b7d --- /dev/null +++ b/frontend/src/app/_elements/_charts/barchart/barchart.component.ts @@ -0,0 +1,54 @@ +import { Component, OnInit } from '@angular/core'; +import {Chart} from 'node_modules/chart.js'; + +@Component({ + selector: 'app-barchart', + templateUrl: './barchart.component.html', + styleUrls: ['./barchart.component.css'] +}) +export class BarchartComponent implements OnInit { + + constructor() { } + + ngOnInit(){ + const myChart = new Chart("Barchart", { + type: 'bar', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [{ + label: 'Number of Votes', + data: [12, 19, 3, 5, 2, 3], + backgroundColor: [ + 'rgba(255, 99, 132, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 86, 1)', + 'rgba(75, 192, 192, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 64, 1)' + ], + borderColor: [ + 'rgba(255, 99, 132, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 86, 1)', + 'rgba(75, 192, 192, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 64, 1)' + ], + borderWidth: 1 + }] + }, + options: { + scales: { + y: { + beginAtZero: true + } + } + } + + + }); + + + } + +} diff --git a/frontend/src/app/_elements/_charts/box-plot/box-plot.component.css b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/_charts/box-plot/box-plot.component.html b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.html new file mode 100644 index 00000000..20cf6487 --- /dev/null +++ b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.html @@ -0,0 +1 @@ +

box-plot works!

diff --git a/frontend/src/app/_elements/_charts/box-plot/box-plot.component.spec.ts b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.spec.ts new file mode 100644 index 00000000..759e7c5e --- /dev/null +++ b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BoxPlotComponent } from './box-plot.component'; + +describe('BoxPlotComponent', () => { + let component: BoxPlotComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ BoxPlotComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(BoxPlotComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/box-plot/box-plot.component.ts b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.ts new file mode 100644 index 00000000..0cef8f90 --- /dev/null +++ b/frontend/src/app/_elements/_charts/box-plot/box-plot.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-box-plot', + templateUrl: './box-plot.component.html', + styleUrls: ['./box-plot.component.css'] +}) +export class BoxPlotComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/frontend/src/app/_elements/_charts/line-chart/line-chart.component.css b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/_charts/line-chart/line-chart.component.html b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.html new file mode 100644 index 00000000..c8f406f4 --- /dev/null +++ b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.html @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/frontend/src/app/_elements/_charts/line-chart/line-chart.component.spec.ts b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.spec.ts new file mode 100644 index 00000000..0c5e7ef5 --- /dev/null +++ b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LineChartComponent } from './line-chart.component'; + +describe('LineChartComponent', () => { + let component: LineChartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ LineChartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LineChartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts new file mode 100644 index 00000000..49558025 --- /dev/null +++ b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts @@ -0,0 +1,88 @@ +import { Component, AfterViewInit } from '@angular/core'; +import { Chart } from 'chart.js'; + +@Component({ + selector: 'app-line-chart', + templateUrl: './line-chart.component.html', + styleUrls: ['./line-chart.component.css'] +}) + +export class LineChartComponent implements AfterViewInit { + + dataAcc: number[] = []; + dataMAE: number[] = []; + dataMSE: number[] = []; + dataLOSS: number[] = []; + + dataEpoch: number[] = []; + + constructor() { + /*let i = 0; + setInterval(() => { + this.dataAcc.push(0.5); + this.dataEpoch.push(i); + i++; + this.update(); + }, 200);*/ + } + + myChart!: Chart; + + update(myEpochs: number[], myAcc: number[], myLoss: number[], myMae: number[], myMse: number[]) { + this.dataAcc.length = 0; + this.dataAcc.push(...myAcc); + + this.dataEpoch.length = 0; + this.dataEpoch.push(...myEpochs); + + this.dataMAE.length = 0; + this.dataMAE.push(...myMae); + + this.dataLOSS.length = 0; + this.dataLOSS.push(...myLoss); + + this.dataMSE.length = 0; + this.dataMSE.push(...myMse); + + this.myChart.update(); + } + + ngAfterViewInit(): void { + this.myChart = new Chart("myChart", + { + type: 'line', + data: { + labels: this.dataEpoch, + datasets: [{ + label: 'Accuracy', + data: this.dataAcc, + borderWidth: 1 + }, + { + label: 'Loss', + data: this.dataLOSS, + borderWidth: 1 + }, + { + label: 'MAE', + data: this.dataMAE, + borderWidth: 1 + }, + { + label: 'MSE', + data: this.dataMSE, + borderWidth: 1 + } + ] + }, + options: { + scales: { + y: { + beginAtZero: true + } + } + } + } + ); + } +} diff --git a/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.css b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.html b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.html new file mode 100644 index 00000000..806ea9e8 --- /dev/null +++ b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.html @@ -0,0 +1,2 @@ + + diff --git a/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.spec.ts b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.spec.ts new file mode 100644 index 00000000..361cd047 --- /dev/null +++ b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MixedChartComponent } from './mixed-chart.component'; + +describe('MixedChartComponent', () => { + let component: MixedChartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ MixedChartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(MixedChartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.ts b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.ts new file mode 100644 index 00000000..2524ee36 --- /dev/null +++ b/frontend/src/app/_elements/_charts/mixed-chart/mixed-chart.component.ts @@ -0,0 +1,56 @@ +import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import {Chart} from 'node_modules/chart.js'; + +@Component({ + selector: 'app-mixed-chart', + templateUrl: './mixed-chart.component.html', + styleUrls: ['./mixed-chart.component.css'] +}) +export class MixedChartComponent implements AfterViewInit { + + @ViewChild('mixedchart') chartRef!: ElementRef; + constructor() { } + + ngAfterViewInit(): void { + const myChart = new Chart(this.chartRef.nativeElement, { + type: 'bar', + data: { + labels: ["1900", "1950", "1999", "2050"], + datasets: [{ + label: "Europe", + type: "line", + borderColor: "#8e5ea2", + data: [408,547,675,734], + fill: false + }, { + label: "Africa", + type: "line", + borderColor: "#3e95cd", + data: [133,221,783,2478], + fill: false + }, { + label: "Europe", + type: "bar", + backgroundColor: "rgba(0,0,0,0.2)", + data: [408,547,675,734], + }, { + label: "Africa", + type: "bar", + backgroundColor: "rgba(0,0,0,0.2)", + //backgroundColorHover: "#3e95cd", + data: [133,221,783,2478] + } + ] + }, + /*options: { + title: { + display: true, + text: 'Population growth (millions): Europe & Africa' + }, + legend: { display: false } + }*/ + + }); + } + +} diff --git a/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.css b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.html b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.html new file mode 100644 index 00000000..43a2d766 --- /dev/null +++ b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.html @@ -0,0 +1 @@ +

pie-chart works!

diff --git a/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.spec.ts b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.spec.ts new file mode 100644 index 00000000..64f36b7d --- /dev/null +++ b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PieChartComponent } from './pie-chart.component'; + +describe('PieChartComponent', () => { + let component: PieChartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PieChartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PieChartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.ts b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.ts new file mode 100644 index 00000000..dde5cbab --- /dev/null +++ b/frontend/src/app/_elements/_charts/pie-chart/pie-chart.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-pie-chart', + templateUrl: './pie-chart.component.html', + styleUrls: ['./pie-chart.component.css'] +}) +export class PieChartComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.css b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.html b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.html new file mode 100644 index 00000000..f9f9a24a --- /dev/null +++ b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.html @@ -0,0 +1,2 @@ +Point line chart: + diff --git a/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.spec.ts b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.spec.ts new file mode 100644 index 00000000..fe08fe7c --- /dev/null +++ b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PointLinechartComponent } from './point-linechart.component'; + +describe('PointLinechartComponent', () => { + let component: PointLinechartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PointLinechartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PointLinechartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.ts b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.ts new file mode 100644 index 00000000..3497a20c --- /dev/null +++ b/frontend/src/app/_elements/_charts/point-linechart/point-linechart.component.ts @@ -0,0 +1,57 @@ +import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import {Chart} from 'node_modules/chart.js'; + + +@Component({ + selector: 'app-point-linechart', + templateUrl: './point-linechart.component.html', + styleUrls: ['./point-linechart.component.css'] +}) +export class PointLinechartComponent implements AfterViewInit { + + @ViewChild('linechart') chartRef!: ElementRef; + constructor() { } + ngAfterViewInit(): void { + const myChart = new Chart(this.chartRef.nativeElement, { + type: 'line', + data: { + labels: [1500,1600,1700,1750,1800,1850,1900,1950,1999,2050], + datasets: [{ + data: [86,114,106,106,107,111,133,221,783,2478], + label: "Africa", + borderColor: "#3e95cd", + fill: false + }, { + data: [282,350,411,502,635,809,947,1402,3700,5267], + label: "Asia", + borderColor: "#8e5ea2", + fill: false + }, { + data: [168,170,178,190,203,276,408,547,675,734], + label: "Europe", + borderColor: "#3cba9f", + fill: false + }, { + data: [40,20,10,16,24,38,74,167,508,784], + label: "Latin America", + borderColor: "#e8c3b9", + fill: false + }, { + data: [6,3,2,2,7,26,82,172,312,433], + label: "North America", + borderColor: "#c45850", + fill: false + } + ] + }, + /*options: { + title: { + display: true, + text: 'World population per region (in millions)' + } + }*/ + + }); + + } +} \ No newline at end of file diff --git a/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.css b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.css new file mode 100644 index 00000000..5735217e --- /dev/null +++ b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.css @@ -0,0 +1,6 @@ +#divScatterChart{ + background-color: beige; + display: block; + width: 400px; + height: 200px; +} \ No newline at end of file diff --git a/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.html b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.html new file mode 100644 index 00000000..2b30fe1f --- /dev/null +++ b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.html @@ -0,0 +1,4 @@ +

Scatter chart:

+
+ +
\ No newline at end of file diff --git a/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.spec.ts b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.spec.ts new file mode 100644 index 00000000..1db81051 --- /dev/null +++ b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ScatterchartComponent } from './scatterchart.component'; + +describe('ScatterchartComponent', () => { + let component: ScatterchartComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ScatterchartComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ScatterchartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.ts b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.ts new file mode 100644 index 00000000..9dfef4c3 --- /dev/null +++ b/frontend/src/app/_elements/_charts/scatterchart/scatterchart.component.ts @@ -0,0 +1,39 @@ +import { Component, OnInit } from '@angular/core'; +import {Chart} from 'node_modules/chart.js'; + +@Component({ + selector: 'app-scatterchart', + templateUrl: './scatterchart.component.html', + styleUrls: ['./scatterchart.component.css'] +}) +export class ScatterchartComponent implements OnInit { + + constructor() { } + + ngOnInit(){ + const myChart = new Chart("ScatterCharts", { + type: 'scatter', + data: { + datasets: [{ + label: 'Scatter Example:', + data: [{x: 1, y: 11}, {x:2, y:12}, {x: 1, y: 2}, {x: 2, y: 4}, {x: 3, y: 8},{x: 4, y: 16}, {x: 1, y: 3}, {x: 3, y: 4}, {x: 4, y: 6}, {x: 6, y: 9}, + {x: 11, y: 9}, + {x: 12, y: 8}, + {x: 13, y: 6}, + {x: 14, y: 0}, + {x: 15, y: 5}, + {x: 16, y: 3}, + {x: 17, y: 2}], + backgroundColor: 'rgb(255, 99, 132)' + }] + }, + options: { + scales: { + y: { + beginAtZero: true + } + } + } + }); + } +} diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.css b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.html b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.html deleted file mode 100644 index bff8b022..00000000 --- a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.html +++ /dev/null @@ -1,49 +0,0 @@ -
-
-
-
- - - - -
- -
- - - - -
-
-
-
- - - - - - - -
- -
-
- -
- -
- -
- -
diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.spec.ts b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.spec.ts deleted file mode 100644 index a9ea25b4..00000000 --- a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AddNewDatasetComponent } from './add-new-dataset.component'; - -describe('AddNewDatasetComponent', () => { - let component: AddNewDatasetComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AddNewDatasetComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(AddNewDatasetComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts deleted file mode 100644 index 3e1b5c73..00000000 --- a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { Component, EventEmitter, Output, ViewChild } from '@angular/core'; -import Dataset from 'src/app/_data/Dataset'; -import { DatasetsService } from 'src/app/_services/datasets.service'; -import { ModelsService } from 'src/app/_services/models.service'; -import shared from 'src/app/Shared'; -import { DatatableComponent, TableData } from '../datatable/datatable.component'; -import { CsvParseService } from 'src/app/_services/csv-parse.service'; - -@Component({ - selector: 'app-add-new-dataset', - templateUrl: './add-new-dataset.component.html', - styleUrls: ['./add-new-dataset.component.css'] -}) -export class AddNewDatasetComponent { - - @Output() newDatasetAdded = new EventEmitter(); - @ViewChild(DatatableComponent) datatable!: DatatableComponent; - - delimiterOptions: Array = [",", ";", "\t", "razmak", "|"]; //podrazumevano "," - - csvRecords: any[] = []; - files: File[] = []; - rowsNumber: number = 0; - colsNumber: number = 0; - - dataset: Dataset; //dodaj ! potencijalno - - tableData: TableData = new TableData(); - - constructor(private modelsService: ModelsService, private datasetsService: DatasetsService, private csv: CsvParseService) { - this.dataset = new Dataset(); - } - - //@ViewChild('fileImportInput', { static: false }) fileImportInput: any; cemu je ovo sluzilo? - - changeListener($event: any): void { - this.files = $event.srcElement.files; - if (this.files.length == 0 || this.files[0] == null) { - //console.log("NEMA FAJLA"); - //this.loaded.emit("not loaded"); - this.tableData.hasInput = false; - return; - } - else - this.tableData.hasInput = true; - - this.tableData.loaded = false; - this.update(); - } - - update() { - - if (this.files.length < 1) - return; - - const fileReader = new FileReader(); - fileReader.onload = (e) => { - if (typeof fileReader.result === 'string') { - const result = this.csv.csvToArray(fileReader.result, (this.dataset.delimiter == "razmak") ? " " : (this.dataset.delimiter == "") ? "," : this.dataset.delimiter) - - if (this.dataset.hasHeader) - this.csvRecords = result.splice(0, 11); - else - this.csvRecords = result.splice(0, 10); - - this.colsNumber = result[0].length; - this.rowsNumber = result.length; - - this.tableData.data = this.csvRecords - this.tableData.hasHeader = this.dataset.hasHeader; - this.tableData.loaded = true; - this.tableData.numCols = this.colsNumber; - this.tableData.numRows = this.rowsNumber; - } - } - fileReader.readAsText(this.files[0]); - } - - checkAccessible() { - if (this.dataset.isPublic) - this.dataset.accessibleByLink = true; - } - - uploadDataset() { - if (this.files[0] == undefined) { - shared.openDialog("Greška", "Niste izabrali fajl za učitavanje."); - return; - } - - this.modelsService.uploadData(this.files[0]).subscribe((file) => { - //console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + file._id); - this.dataset.fileId = file._id; - this.dataset.uploaderId = shared.userId; - - this.datasetsService.addDataset(this.dataset).subscribe((dataset) => { - this.newDatasetAdded.emit("added"); - shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se procesira."); - }, (error) => { - shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset."); - }); //kraj addDataset subscribe - }, (error) => { - - }); //kraj uploadData subscribe - } - -} diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.css b/frontend/src/app/_elements/annvisual/annvisual.component.css deleted file mode 100644 index 857a3390..00000000 --- a/frontend/src/app/_elements/annvisual/annvisual.component.css +++ /dev/null @@ -1,4 +0,0 @@ -#graph{ - width: 100%; - text-align: center; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.html b/frontend/src/app/_elements/annvisual/annvisual.component.html deleted file mode 100644 index 09251398..00000000 --- a/frontend/src/app/_elements/annvisual/annvisual.component.html +++ /dev/null @@ -1,5 +0,0 @@ -
- -
-
- diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.spec.ts b/frontend/src/app/_elements/annvisual/annvisual.component.spec.ts deleted file mode 100644 index cb07ef1d..00000000 --- a/frontend/src/app/_elements/annvisual/annvisual.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AnnvisualComponent } from './annvisual.component'; - -describe('AnnvisualComponent', () => { - let component: AnnvisualComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AnnvisualComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(AnnvisualComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.ts b/frontend/src/app/_elements/annvisual/annvisual.component.ts deleted file mode 100644 index df0a3898..00000000 --- a/frontend/src/app/_elements/annvisual/annvisual.component.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Component, OnInit, Input } from '@angular/core'; -import Model from 'src/app/_data/Model'; -import { graphviz } from 'd3-graphviz'; - -@Component({ - selector: 'app-annvisual', - templateUrl: './annvisual.component.html', - styleUrls: ['./annvisual.component.css'] -}) -export class AnnvisualComponent implements OnInit { - ngOnInit(): void { - } - - @Input() model: Model = new Model(); - - d3() { - let inputlayerstring: string = ''; - let hiddenlayerstring: string = ''; - let digraphstring: string = 'digraph {'; - - for (let i = 0; i < /*this.model.inputColumns.length*/ 10; i++) { - inputlayerstring = inputlayerstring + 'i' + i + ','; - } - inputlayerstring = inputlayerstring.slice(0, -1); - - digraphstring = digraphstring + inputlayerstring + '->'; - - for (let j = 0; j < this.model.hiddenLayers; j++) { - for (let i = 0; i < this.model.hiddenLayerNeurons; i++) { - hiddenlayerstring = hiddenlayerstring + 'h' + j + '_' + i + ','; - } - hiddenlayerstring = hiddenlayerstring.slice(0, -1); - digraphstring = digraphstring + hiddenlayerstring + '->'; - hiddenlayerstring = ''; - } - digraphstring = digraphstring + 'o}'; - - graphviz('#graph').renderDot(digraphstring); - } - - //'digraph {i0,i1,i2->h1,h2,h3->h21,h22,h23->o}' -} - - - diff --git a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.css b/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.css deleted file mode 100644 index 3d4a2432..00000000 --- a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.css +++ /dev/null @@ -1,3 +0,0 @@ -.carousel { - overscroll-behavior: contain; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.html b/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.html deleted file mode 100644 index f52aee12..00000000 --- a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.html +++ /dev/null @@ -1,12 +0,0 @@ -

- {{scroll}} -

- \ No newline at end of file diff --git a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.spec.ts b/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.spec.ts deleted file mode 100644 index 0c736e90..00000000 --- a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CarouselVerticalComponent } from './carousel-vertical.component'; - -describe('CarouselVerticalComponent', () => { - let component: CarouselVerticalComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ CarouselVerticalComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(CarouselVerticalComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.ts b/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.ts deleted file mode 100644 index d8849ea6..00000000 --- a/frontend/src/app/_elements/carousel-vertical/carousel-vertical.component.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; - -@Component({ - selector: 'app-carousel-vertical', - templateUrl: './carousel-vertical.component.html', - styleUrls: ['./carousel-vertical.component.css'] -}) -export class CarouselVerticalComponent implements OnInit, AfterViewInit { - - @ViewChild('wrapper') wrapper!: ElementRef; - - @Input() items!: any[]; - - itemsToShow: any[] = []; - - @Input() type: string = "Object"; - - scroll = 0; - height = 9; //rem - - currentIndex = 0; - - @Input() shownElements: number = 5; - - constructor() { - } - - ngOnInit(): void { - this.itemsToShow = [...this.items.slice(0, this.shownElements)]; - console.log('0', this.itemsToShow); - } - - ngAfterViewInit(): void { - const container = this.wrapper.nativeElement - - container.addEventListener('scroll', (event: Event) => { - this.scroll = (container.scrollTop / (container.scrollHeight - container.clientHeight)); - if (this.scroll == 1.0) { - //console.log('removed', this.itemsToShow.splice(0, 1)[0].name); - const itemToAdd = this.items[(this.currentIndex + this.shownElements) % (this.items.length - 1)]; - this.itemsToShow.push(itemToAdd); - //console.log('added', itemToAdd.name); - this.currentIndex = (this.currentIndex + 1); - container.scrollTop = (container.scrollHeight - container.clientHeight) / 2; - } - }); - } - - clickItem(index: number) { - } - - calcVisibility(i: number) { - //return ((Math.sin((((i) / this.shownElements) - this.scroll) * Math.PI) + 1) / 2) - const iPercent = (i + 1 - this.scroll) / this.shownElements; - return iPercent; - } - - calcStyle(i: number) { - const a = this.calcVisibility(i) - const v = (Math.sin(a * Math.PI) + 1) / 2; - return `transform: translateY(${v * 100}%) scale(${v}) perspective(${v * 200}em) rotateX(${(1 - a) * 180 - 90}deg); - opacity: ${v}; - height: ${this.height}rem;`; - } -} diff --git a/frontend/src/app/_elements/carousel/carousel.component.css b/frontend/src/app/_elements/carousel/carousel.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/_elements/carousel/carousel.component.html b/frontend/src/app/_elements/carousel/carousel.component.html deleted file mode 100644 index eb1041ce..00000000 --- a/frontend/src/app/_elements/carousel/carousel.component.html +++ /dev/null @@ -1,17 +0,0 @@ -
-
-
- - Unknown item type - - - - - - - - - -
-
-
\ No newline at end of file diff --git a/frontend/src/app/_elements/carousel/carousel.component.spec.ts b/frontend/src/app/_elements/carousel/carousel.component.spec.ts deleted file mode 100644 index 9196e044..00000000 --- a/frontend/src/app/_elements/carousel/carousel.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CarouselComponent } from './carousel.component'; - -describe('CarouselComponent', () => { - let component: CarouselComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ CarouselComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(CarouselComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/carousel/carousel.component.ts b/frontend/src/app/_elements/carousel/carousel.component.ts deleted file mode 100644 index e0112121..00000000 --- a/frontend/src/app/_elements/carousel/carousel.component.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-carousel', - templateUrl: './carousel.component.html', - styleUrls: ['./carousel.component.css'] -}) -export class CarouselComponent { - - @Input() items: any[] = []; - @Input() type: string = "Object"; - - constructor() { } - - ngOnInit(): void { - } - -} diff --git a/frontend/src/app/_elements/column-table/column-table.component.css b/frontend/src/app/_elements/column-table/column-table.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html new file mode 100644 index 00000000..7b18afc8 --- /dev/null +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -0,0 +1 @@ +

column-table works!

diff --git a/frontend/src/app/_elements/column-table/column-table.component.spec.ts b/frontend/src/app/_elements/column-table/column-table.component.spec.ts new file mode 100644 index 00000000..360a8109 --- /dev/null +++ b/frontend/src/app/_elements/column-table/column-table.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ColumnTableComponent } from './column-table.component'; + +describe('ColumnTableComponent', () => { + let component: ColumnTableComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ColumnTableComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ColumnTableComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts new file mode 100644 index 00000000..f8c5f5f3 --- /dev/null +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-column-table', + templateUrl: './column-table.component.html', + styleUrls: ['./column-table.component.css'] +}) +export class ColumnTableComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.css b/frontend/src/app/_elements/dataset-load/dataset-load.component.css deleted file mode 100644 index ff6e2750..00000000 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.css +++ /dev/null @@ -1,18 +0,0 @@ -.btnType1 { - background-color: #003459; - color: white; - padding-top: 2vh; - padding-bottom: 2vh; -} -.btnType2 { - background-color: white; - color: #003459; - border-color: #003459; - padding-top: 2vh; - padding-bottom: 2vh; - -} -.selectedDatasetClass { - /*border-color: 2px solid #003459;*/ - background-color: lightblue; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.html b/frontend/src/app/_elements/dataset-load/dataset-load.component.html deleted file mode 100644 index 56a3b3c9..00000000 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.html +++ /dev/null @@ -1,40 +0,0 @@ -
- - - -
- -

ili

- -
- -
- -
-
-
-
    -
  • - -
  • -
-
-
- -
-
- - - - -
\ No newline at end of file diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.spec.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.spec.ts deleted file mode 100644 index 5601b57b..00000000 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { DatasetLoadComponent } from './dataset-load.component'; - -describe('DatasetLoadComponent', () => { - let component: DatasetLoadComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ DatasetLoadComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(DatasetLoadComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts deleted file mode 100644 index 73dbf2d2..00000000 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Component, OnInit, ViewChild, ViewChildren } from '@angular/core'; -import { AddNewDatasetComponent } from '../add-new-dataset/add-new-dataset.component'; -import { ModelsService } from 'src/app/_services/models.service'; -import shared from 'src/app/Shared'; -import Dataset from 'src/app/_data/Dataset'; -import { DatatableComponent, TableData } from 'src/app/_elements/datatable/datatable.component'; -import { DatasetsService } from 'src/app/_services/datasets.service'; -import { CsvParseService } from 'src/app/_services/csv-parse.service'; -import { Output, EventEmitter } from '@angular/core'; -import { SignalRService } from 'src/app/_services/signal-r.service'; - -@Component({ - selector: 'app-dataset-load', - templateUrl: './dataset-load.component.html', - styleUrls: ['./dataset-load.component.css'] -}) -export class DatasetLoadComponent implements OnInit { - - @Output() selectedDatasetChangeEvent = new EventEmitter(); - - @ViewChild(AddNewDatasetComponent) addNewDatasetComponent!: AddNewDatasetComponent; - @ViewChild(AddNewDatasetComponent) datatable!: DatatableComponent; - - datasetLoaded: boolean = false; - selectedDatasetLoaded: boolean = false; - - showMyDatasets: boolean = true; - myDatasets?: Dataset[]; - existingDatasetSelected: boolean = false; - selectedDataset?: Dataset; - - tableData: TableData = new TableData(); - - term: string = ""; - - constructor(private models: ModelsService, private datasets: DatasetsService, private csv: CsvParseService, private signalRService: SignalRService) { - this.datasets.getMyDatasets().subscribe((datasets) => { - this.myDatasets = datasets; - }); - } - - viewMyDatasetsForm() { - this.showMyDatasets = true; - if (this.selectedDataset != undefined) - this.resetSelectedDataset(); - //this.resetCbsAndRbs(); //TREBA DA SE DESI - } - viewNewDatasetForm() { - this.showMyDatasets = false; - if (this.selectedDataset != undefined) - this.resetSelectedDataset(); - //this.resetCbsAndRbs(); //TREBA DA SE DESI - } - - refreshMyDatasets() { - this.datasets.getMyDatasets().subscribe((datasets) => { - this.myDatasets = datasets; - this.showMyDatasets = true; - }); - } - - selectThisDataset(dataset: Dataset) { - this.selectedDataset = dataset; - this.selectedDatasetLoaded = false; - this.existingDatasetSelected = true; - this.tableData.hasHeader = this.selectedDataset.hasHeader; - - this.tableData.hasInput = true; - this.tableData.loaded = false; - - this.datasets.getDatasetFile(dataset.fileId).subscribe((file: string | undefined) => { - if (file) { - this.tableData.loaded = true; - this.tableData.numRows = this.selectedDataset!.rowCount; - this.tableData.numCols = this.selectedDataset!.columnInfo.length; - this.tableData.data = this.csv.csvToArray(file, (dataset.delimiter == "razmak") ? " " : (dataset.delimiter == "") ? "," : dataset.delimiter); - //this.resetCbsAndRbs(); //TREBA DA SE DESI - //this.refreshThreeNullValueRadioOptions(); //TREBA DA SE DESI - this.selectedDatasetLoaded = true; - - this.selectedDatasetChangeEvent.emit(this.selectedDataset); - } - }); - } - - resetSelectedDataset(): boolean { - this.selectedDatasetChangeEvent.emit(this.selectedDataset); - return true; - } - - ngOnInit(): void { - if (this.signalRService.hubConnection) { - this.signalRService.hubConnection.on("NotifyDataset", _ => { - this.refreshMyDatasets(); - }); - } else { - console.warn("Dataset-Load: No connection!"); - } - } -} diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.css b/frontend/src/app/_elements/form-dataset/form-dataset.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.html b/frontend/src/app/_elements/form-dataset/form-dataset.component.html new file mode 100644 index 00000000..1bc3c3f7 --- /dev/null +++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.html @@ -0,0 +1 @@ +

form-dataset works!

diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.spec.ts b/frontend/src/app/_elements/form-dataset/form-dataset.component.spec.ts new file mode 100644 index 00000000..51491c58 --- /dev/null +++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FormDatasetComponent } from './form-dataset.component'; + +describe('FormDatasetComponent', () => { + let component: FormDatasetComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FormDatasetComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FormDatasetComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.ts b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts new file mode 100644 index 00000000..092e943f --- /dev/null +++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-form-dataset', + templateUrl: './form-dataset.component.html', + styleUrls: ['./form-dataset.component.css'] +}) +export class FormDatasetComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/frontend/src/app/_elements/form-model/form-model.component.css b/frontend/src/app/_elements/form-model/form-model.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/form-model/form-model.component.html b/frontend/src/app/_elements/form-model/form-model.component.html new file mode 100644 index 00000000..8f284c46 --- /dev/null +++ b/frontend/src/app/_elements/form-model/form-model.component.html @@ -0,0 +1 @@ +

form-model works!

diff --git a/frontend/src/app/_elements/form-model/form-model.component.spec.ts b/frontend/src/app/_elements/form-model/form-model.component.spec.ts new file mode 100644 index 00000000..af1091cc --- /dev/null +++ b/frontend/src/app/_elements/form-model/form-model.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FormModelComponent } from './form-model.component'; + +describe('FormModelComponent', () => { + let component: FormModelComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FormModelComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FormModelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/form-model/form-model.component.ts b/frontend/src/app/_elements/form-model/form-model.component.ts new file mode 100644 index 00000000..2ff8c605 --- /dev/null +++ b/frontend/src/app/_elements/form-model/form-model.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-form-model', + templateUrl: './form-model.component.html', + styleUrls: ['./form-model.component.css'] +}) +export class FormModelComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/frontend/src/app/_elements/item-dataset/item-dataset.component.css b/frontend/src/app/_elements/item-dataset/item-dataset.component.css deleted file mode 100644 index dc851671..00000000 --- a/frontend/src/app/_elements/item-dataset/item-dataset.component.css +++ /dev/null @@ -1,23 +0,0 @@ -.card{ - margin-top:0; - padding: 0; -} -.p-2{ - margin: 0; - padding: 0; -} -hr{ - margin: 0; - padding: 0; -} -b{ - margin-left: 5px; - margin-right: 10px; -} -th{ - margin: 10px; - padding: 10px; -} -p{ - text-align: justify; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/item-dataset/item-dataset.component.html b/frontend/src/app/_elements/item-dataset/item-dataset.component.html deleted file mode 100644 index 11ff61c3..00000000 --- a/frontend/src/app/_elements/item-dataset/item-dataset.component.html +++ /dev/null @@ -1,41 +0,0 @@ -
-
- -
Naziv
-
{{dataset.name}}
-
-
- Opis -

{{dataset.description}}

-
-
-
-

{{dataset.extension}}

-
-
- {{visibleicon}} -
-
- {{accessibleicon}} -
-
-
-
- -
- - - - -
{{column.columnName}}
-
-
- - - -
calendar_today Kreirano{{dataset.dateCreated |date}}
edit_calendar Poslednja izmena{{dataset.lastUpdated |date}}
- -
- \ No newline at end of file diff --git a/frontend/src/app/_elements/item-dataset/item-dataset.component.spec.ts b/frontend/src/app/_elements/item-dataset/item-dataset.component.spec.ts deleted file mode 100644 index 603889b2..00000000 --- a/frontend/src/app/_elements/item-dataset/item-dataset.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemDatasetComponent } from './item-dataset.component'; - -describe('ItemDatasetComponent', () => { - let component: ItemDatasetComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ItemDatasetComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ItemDatasetComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/item-dataset/item-dataset.component.ts b/frontend/src/app/_elements/item-dataset/item-dataset.component.ts deleted file mode 100644 index 44b95310..00000000 --- a/frontend/src/app/_elements/item-dataset/item-dataset.component.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import Dataset from 'src/app/_data/Dataset'; - -@Component({ - selector: 'app-item-dataset', - templateUrl: './item-dataset.component.html', - styleUrls: ['./item-dataset.component.css'] -}) -export class ItemDatasetComponent { - - @Input() dataset: Dataset = new Dataset(); - visibleicon=''; - accessibleicon=''; - isShowDiv = true; - toggleDisplayDiv() { - this.isShowDiv = !this.isShowDiv; - } - constructor() { - } - ngOnInit(): void { - if(this.dataset.isPublic==true) - { - this.visibleicon='visibility' - } - else - { - this.visibleicon='visibility_off'; - } - - if(this.dataset.accessibleByLink==true) - { - this.accessibleicon='link' - } - else - { - this.accessibleicon='link_off'; - } - } -} - diff --git a/frontend/src/app/_elements/item-experiment/item-experiment.component.css b/frontend/src/app/_elements/item-experiment/item-experiment.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/_elements/item-experiment/item-experiment.component.html b/frontend/src/app/_elements/item-experiment/item-experiment.component.html deleted file mode 100644 index 51fbfef3..00000000 --- a/frontend/src/app/_elements/item-experiment/item-experiment.component.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- Naziv eksperimenta: {{experiment.name}} -
-
-

- Opis: {{experiment.description}} -

-
-
\ No newline at end of file diff --git a/frontend/src/app/_elements/item-experiment/item-experiment.component.spec.ts b/frontend/src/app/_elements/item-experiment/item-experiment.component.spec.ts deleted file mode 100644 index 1da7d05d..00000000 --- a/frontend/src/app/_elements/item-experiment/item-experiment.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemExperimentComponent } from './item-experiment.component'; - -describe('ItemExperimentComponent', () => { - let component: ItemExperimentComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ItemExperimentComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ItemExperimentComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/item-experiment/item-experiment.component.ts b/frontend/src/app/_elements/item-experiment/item-experiment.component.ts deleted file mode 100644 index 31900d35..00000000 --- a/frontend/src/app/_elements/item-experiment/item-experiment.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import Experiment from 'src/app/_data/Experiment'; - -@Component({ - selector: 'app-item-experiment', - templateUrl: './item-experiment.component.html', - styleUrls: ['./item-experiment.component.css'] -}) -export class ItemExperimentComponent{ - - @Input() experiment: Experiment = new Experiment(); - - constructor() { } - -} diff --git a/frontend/src/app/_elements/item-model/item-model.component.css b/frontend/src/app/_elements/item-model/item-model.component.css deleted file mode 100644 index 5ea24c72..00000000 --- a/frontend/src/app/_elements/item-model/item-model.component.css +++ /dev/null @@ -1,23 +0,0 @@ -.card{ - margin: 0.5rem; - padding: 0; -} -.p-2{ - margin: 0; - padding: 0; -} -hr{ - margin: 0; - padding: 0; -} -b{ - margin-left: 5px; - margin-right: 10px; -} -th{ - margin: 10px; - padding: 10px; -} -p{ - text-align: justify; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/item-model/item-model.component.html b/frontend/src/app/_elements/item-model/item-model.component.html deleted file mode 100644 index 447f023e..00000000 --- a/frontend/src/app/_elements/item-model/item-model.component.html +++ /dev/null @@ -1,58 +0,0 @@ -
-
- -
Naziv
-
{{model.name}}
-
-
- -
- Opis
-

- {{model.description}} -

-
- -
- - - -
calendar_today Kreirano{{model.dateCreated |date}}
edit_calendar Poslednja izmena{{model.lastUpdated |date}}
-
- -
- -
- -
- - - - - - - - - - - - - - - - - -
Tip problema{{model.type}}
Optimizator{{model.optimizer}}
Funkcija gubitka{{model.lossFunction}}
Batch size{{model.batchSize}}
Broj epoha{{model.epochs}}
- -
-
\ No newline at end of file diff --git a/frontend/src/app/_elements/item-model/item-model.component.spec.ts b/frontend/src/app/_elements/item-model/item-model.component.spec.ts deleted file mode 100644 index f696a160..00000000 --- a/frontend/src/app/_elements/item-model/item-model.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemModelComponent } from './item-model.component'; - -describe('ItemModelComponent', () => { - let component: ItemModelComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ItemModelComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ItemModelComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/item-model/item-model.component.ts b/frontend/src/app/_elements/item-model/item-model.component.ts deleted file mode 100644 index b837667b..00000000 --- a/frontend/src/app/_elements/item-model/item-model.component.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import Model from 'src/app/_data/Model'; - -@Component({ - selector: 'app-item-model', - templateUrl: './item-model.component.html', - styleUrls: ['./item-model.component.css'] -}) -export class ItemModelComponent implements OnInit { - - @Input() model: Model = new Model(); - isShowDiv = true; - randomOrd=''; - - toggleDisplayDiv() { - this.isShowDiv = !this.isShowDiv; - } - - constructor() { } - - ngOnInit(): void { - /*if(this.model.randomOrder) - { - this.randomOrd='Da'; - } - else - { - this.randomOrd='Ne'; - } -*/ - } - -} diff --git a/frontend/src/app/_elements/item-predictor/item-predictor.component.css b/frontend/src/app/_elements/item-predictor/item-predictor.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/_elements/item-predictor/item-predictor.component.html b/frontend/src/app/_elements/item-predictor/item-predictor.component.html deleted file mode 100644 index 3199dcc8..00000000 --- a/frontend/src/app/_elements/item-predictor/item-predictor.component.html +++ /dev/null @@ -1,35 +0,0 @@ -
-
- -
Prediktor
- -
-
- Opis
-

- {{predictor.description}} -

- - Ulazne kolone -
- - - - - -
{{column}}
-
- Izlazna kolona: {{predictor.output}} -
-
- - -
calendar_today Kreirano{{predictor.dateCreated |date}}
-
-
- -
\ No newline at end of file diff --git a/frontend/src/app/_elements/item-predictor/item-predictor.component.spec.ts b/frontend/src/app/_elements/item-predictor/item-predictor.component.spec.ts deleted file mode 100644 index b5c2d91c..00000000 --- a/frontend/src/app/_elements/item-predictor/item-predictor.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemPredictorComponent } from './item-predictor.component'; - -describe('ItemPredictorComponent', () => { - let component: ItemPredictorComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ItemPredictorComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ItemPredictorComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/item-predictor/item-predictor.component.ts b/frontend/src/app/_elements/item-predictor/item-predictor.component.ts deleted file mode 100644 index 246032e0..00000000 --- a/frontend/src/app/_elements/item-predictor/item-predictor.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Router } from '@angular/router'; -import Predictor from 'src/app/_data/Predictor'; - -@Component({ - selector: 'app-item-predictor', - templateUrl: './item-predictor.component.html', - styleUrls: ['./item-predictor.component.css'] -}) -export class ItemPredictorComponent implements OnInit { - - @Input() predictor: Predictor = new Predictor(); - - constructor(private router: Router) { } - - ngOnInit(): void { - } - - openPredictor() { - this.router.navigate(['predict/'+ this.predictor._id]); - } - -} diff --git a/frontend/src/app/_elements/metric-view/metric-view.component.css b/frontend/src/app/_elements/metric-view/metric-view.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_elements/metric-view/metric-view.component.html b/frontend/src/app/_elements/metric-view/metric-view.component.html new file mode 100644 index 00000000..e7a4c547 --- /dev/null +++ b/frontend/src/app/_elements/metric-view/metric-view.component.html @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/frontend/src/app/_elements/metric-view/metric-view.component.spec.ts b/frontend/src/app/_elements/metric-view/metric-view.component.spec.ts new file mode 100644 index 00000000..c3ecc67f --- /dev/null +++ b/frontend/src/app/_elements/metric-view/metric-view.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MetricViewComponent } from './metric-view.component'; + +describe('MetricViewComponent', () => { + let component: MetricViewComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ MetricViewComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(MetricViewComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_elements/metric-view/metric-view.component.ts b/frontend/src/app/_elements/metric-view/metric-view.component.ts new file mode 100644 index 00000000..3840692a --- /dev/null +++ b/frontend/src/app/_elements/metric-view/metric-view.component.ts @@ -0,0 +1,49 @@ +import { Component, Input, OnInit, ViewChild } from '@angular/core'; +import { LineChartComponent } from '../_charts/line-chart/line-chart.component'; + +@Component({ + selector: 'app-metric-view', + templateUrl: './metric-view.component.html', + styleUrls: ['./metric-view.component.css'] +}) +export class MetricViewComponent implements OnInit { + @ViewChild(LineChartComponent) linechartComponent!: LineChartComponent; + + constructor() { } + + ngOnInit(): void { + } + + history: any[] = []; + + update(history: any[]) { + const myAcc: number[] = []; + const myMae: number[] = []; + const myMse: number[] = []; + const myLoss: number[] = []; + + const myEpochs: number[] = []; + this.history = history; + this.history.forEach((metrics, epoch) => { + myEpochs.push(epoch + 1); + for (let key in metrics) { + let value = metrics[key]; + console.log(key, ':::', value, epoch); + if (key === 'accuracy') { + myAcc.push(parseFloat(value)); + } + else if (key === 'loss') { + myLoss.push(parseFloat(value)); + } + else if (key === 'mae') { + myMae.push(parseFloat(value)); + } + else if (key === 'mse') { + myMse.push(parseFloat(value)); + } + } + }); + + this.linechartComponent.update(myEpochs, myAcc, myLoss, myMae, myMse); + } +} \ No newline at end of file diff --git a/frontend/src/app/_elements/model-load/model-load.component.css b/frontend/src/app/_elements/model-load/model-load.component.css deleted file mode 100644 index c716f964..00000000 --- a/frontend/src/app/_elements/model-load/model-load.component.css +++ /dev/null @@ -1,17 +0,0 @@ -.btnType1 { - background-color: #003459; - color: white; - padding-top: 2vh; - padding-bottom: 2vh; -} -.btnType2 { - background-color: white; - color: #003459; - border-color: #003459; - padding-top: 2vh; - padding-bottom: 2vh; -} -.selectedModelClass { - /*border-color: 2px solid #003459;*/ - background-color: lightblue; -} \ No newline at end of file diff --git a/frontend/src/app/_elements/model-load/model-load.component.html b/frontend/src/app/_elements/model-load/model-load.component.html deleted file mode 100644 index 85caca0d..00000000 --- a/frontend/src/app/_elements/model-load/model-load.component.html +++ /dev/null @@ -1,227 +0,0 @@ -
-
- -

ili

- -
- -
- -
-
-
-
    -
  • - - -
  • -
-
- -
-
-
- - -
-
- -
- - -
-
- -
- -
-
- -
-

Parametri treniranja modela:

-
- -
-
-
- -
-
- -
-
-
- -
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
- -
-
-
- -
-
- -
-
-
- -
-
- - - {{newModel.batchSize}} - -
- -
-
-
- -
-
- -
-
-
- -
- -
- -

Aktivacione funkcije:

- -
-
-
- -
-
-
-
-
- #{{i+1}} -
- -
-
-
-
-
- -
-
- -
-
-
-
-
- -
-

Izaberite metrike:

-
- -
- - - -
-
-
- -
-
- -
-
-
-
\ No newline at end of file diff --git a/frontend/src/app/_elements/model-load/model-load.component.spec.ts b/frontend/src/app/_elements/model-load/model-load.component.spec.ts deleted file mode 100644 index 1dafd966..00000000 --- a/frontend/src/app/_elements/model-load/model-load.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ModelLoadComponent } from './model-load.component'; - -describe('ModelLoadComponent', () => { - let component: ModelLoadComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ModelLoadComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ModelLoadComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/model-load/model-load.component.ts b/frontend/src/app/_elements/model-load/model-load.component.ts deleted file mode 100644 index 73872694..00000000 --- a/frontend/src/app/_elements/model-load/model-load.component.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core'; -import Shared from 'src/app/Shared'; -import Model, { ActivationFunction, LossFunction, LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, Metrics, MetricsBinaryClassification, MetricsMultiClassification, MetricsRegression, NullValueOptions, Optimizer, ProblemType } from 'src/app/_data/Model'; -import { ModelsService } from 'src/app/_services/models.service'; -import { GraphComponent } from '../graph/graph.component'; - - -@Component({ - selector: 'app-model-load', - templateUrl: './model-load.component.html', - styleUrls: ['./model-load.component.css'] -}) -export class ModelLoadComponent implements OnInit { - - @ViewChild(GraphComponent) graph!: GraphComponent; - @Output() selectedModelChangeEvent = new EventEmitter(); - - newModel: Model = new Model(); - myModels?: Model[]; - selectedModel?: Model; - - ProblemType = ProblemType; - ActivationFunction = ActivationFunction; - metrics: any = Metrics; - LossFunction = LossFunction; - Optimizer = Optimizer; - Object = Object; - document = document; - shared = Shared; - - term: string = ""; - selectedProblemType: string = ''; - selectedMetrics = []; - lossFunction: any = LossFunction; - - showMyModels: boolean = true; - - constructor(private modelsService: ModelsService) { - this.modelsService.getMyModels().subscribe((models) => { - this.myModels = models; - }); - } - - ngOnInit(): void { - } - batchSizePower:number=1; - updateBatchSize() - { - this.newModel.batchSize=2**this.batchSizePower; - } - - updateGraph() { - this.graph.update(); - } - - getMetrics() { - this.newModel.metrics = []; - let cb = document.getElementsByName("cbmetrics"); - - for (let i = 0; i < cb.length; i++) { - let chb = cb[i]; - if (chb.checked == true) - this.newModel.metrics.push(chb.value); - } - } - - uploadModel() { - this.getMetrics(); - - this.newModel.uploaderId = Shared.userId; - - this.modelsService.addModel(this.newModel).subscribe((response) => { - Shared.openDialog('Model dodat', 'Model je uspešno dodat u bazu.'); - // treba da se selektuje nov model u listi modela - //this.selectedModel = - }, (error) => { - Shared.openDialog('Greška', 'Model sa unetim nazivom već postoji u Vašoj kolekciji. Promenite naziv modela i nastavite sa kreiranim datasetom.'); - }); - } - - filterOptions() { - switch (this.newModel.type) { - case 'regresioni': - this.lossFunction = LossFunctionRegression; - this.metrics = MetricsRegression; - break; - case 'binarni-klasifikacioni': - this.lossFunction = LossFunctionBinaryClassification; - this.metrics = MetricsBinaryClassification; - break; - case 'multi-klasifikacioni': - this.lossFunction = LossFunctionMultiClassification; - this.metrics = MetricsMultiClassification; - break; - default: - break; - } - } - - viewMyModelsForm() { - this.showMyModels = true; - } - viewNewModelForm() { - this.showMyModels = false; - } - - selectThisModel(model: Model) { - this.selectedModel = model; - this.selectedModelChangeEvent.emit(this.selectedModel); - } - -} diff --git a/frontend/src/app/_elements/select-item-list/select-item-list.component.css b/frontend/src/app/_elements/select-item-list/select-item-list.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/_elements/select-item-list/select-item-list.component.html b/frontend/src/app/_elements/select-item-list/select-item-list.component.html deleted file mode 100644 index b92b7adb..00000000 --- a/frontend/src/app/_elements/select-item-list/select-item-list.component.html +++ /dev/null @@ -1 +0,0 @@ -

select-item-list works!

diff --git a/frontend/src/app/_elements/select-item-list/select-item-list.component.spec.ts b/frontend/src/app/_elements/select-item-list/select-item-list.component.spec.ts deleted file mode 100644 index 0abc7ab5..00000000 --- a/frontend/src/app/_elements/select-item-list/select-item-list.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SelectItemListComponent } from './select-item-list.component'; - -describe('SelectItemListComponent', () => { - let component: SelectItemListComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ SelectItemListComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(SelectItemListComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/_elements/select-item-list/select-item-list.component.ts b/frontend/src/app/_elements/select-item-list/select-item-list.component.ts deleted file mode 100644 index f6aae7a0..00000000 --- a/frontend/src/app/_elements/select-item-list/select-item-list.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-select-item-list', - templateUrl: './select-item-list.component.html', - styleUrls: ['./select-item-list.component.css'] -}) -export class SelectItemListComponent implements OnInit { - - constructor() { } - - ngOnInit(): void { - } - -} -- cgit v1.2.3