aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/package-lock.json166
-rw-r--r--frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts37
-rw-r--r--frontend/src/app/_elements/column-table/column-table.component.ts2
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts2
-rw-r--r--frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.css8
-rw-r--r--frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.html8
-rw-r--r--frontend/src/app/_pages/experiment/experiment.component.ts89
-rw-r--r--frontend/src/app/_pages/my-models/my-models.component.html43
-rw-r--r--frontend/src/app/_pages/my-models/my-models.component.ts59
-rw-r--r--frontend/src/app/app-routing.module.ts2
10 files changed, 187 insertions, 229 deletions
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 7a0f7b3a..5029a126 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -437,6 +437,7 @@
},
"node_modules/@angular/compiler-cli": {
"version": "13.2.5",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/core": "^7.17.2",
@@ -465,6 +466,7 @@
},
"node_modules/@angular/compiler-cli/node_modules/@ampproject/remapping": {
"version": "2.1.2",
+ "dev": true,
"license": "Apache-2.0",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.0"
@@ -475,6 +477,7 @@
},
"node_modules/@angular/compiler-cli/node_modules/@babel/core": {
"version": "7.17.5",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.1.0",
@@ -503,6 +506,7 @@
},
"node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
"version": "6.3.0",
+ "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -510,6 +514,7 @@
},
"node_modules/@angular/compiler-cli/node_modules/@babel/generator": {
"version": "7.17.3",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/types": "^7.17.0",
@@ -522,6 +527,7 @@
},
"node_modules/@angular/compiler-cli/node_modules/source-map": {
"version": "0.5.7",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -744,6 +750,7 @@
},
"node_modules/@babel/core": {
"version": "7.16.12",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.16.7",
@@ -772,6 +779,7 @@
},
"node_modules/@babel/core/node_modules/semver": {
"version": "6.3.0",
+ "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -779,6 +787,7 @@
},
"node_modules/@babel/core/node_modules/source-map": {
"version": "0.5.7",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -786,6 +795,7 @@
},
"node_modules/@babel/generator": {
"version": "7.16.8",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/types": "^7.16.8",
@@ -798,6 +808,7 @@
},
"node_modules/@babel/generator/node_modules/source-map": {
"version": "0.5.7",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -3260,6 +3271,7 @@
},
"node_modules/anymatch": {
"version": "3.1.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
@@ -3510,6 +3522,7 @@
},
"node_modules/binary-extensions": {
"version": "2.2.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -3597,6 +3610,7 @@
},
"node_modules/braces": {
"version": "3.0.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.0.1"
@@ -3774,6 +3788,7 @@
},
"node_modules/chokidar": {
"version": "3.5.3",
+ "dev": true,
"funding": [
{
"type": "individual",
@@ -4716,6 +4731,7 @@
},
"node_modules/dependency-graph": {
"version": "0.11.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6.0"
@@ -4862,6 +4878,7 @@
},
"node_modules/encoding": {
"version": "0.1.13",
+ "dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
@@ -4870,6 +4887,7 @@
},
"node_modules/encoding/node_modules/iconv-lite": {
"version": "0.6.3",
+ "dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
@@ -5345,6 +5363,7 @@
},
"node_modules/fill-range": {
"version": "7.0.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -5593,6 +5612,7 @@
},
"node_modules/glob-parent": {
"version": "5.1.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -6130,6 +6150,7 @@
},
"node_modules/is-binary-path": {
"version": "2.1.0",
+ "dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
@@ -6179,6 +6200,7 @@
},
"node_modules/is-extglob": {
"version": "2.1.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6193,6 +6215,7 @@
},
"node_modules/is-glob": {
"version": "4.0.3",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
@@ -6216,6 +6239,7 @@
},
"node_modules/is-number": {
"version": "7.0.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -7009,6 +7033,7 @@
},
"node_modules/lru-cache": {
"version": "6.0.0",
+ "dev": true,
"license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
@@ -7019,6 +7044,7 @@
},
"node_modules/magic-string": {
"version": "0.25.7",
+ "dev": true,
"license": "MIT",
"dependencies": {
"sourcemap-codec": "^1.4.4"
@@ -7561,6 +7587,7 @@
},
"node_modules/normalize-path": {
"version": "3.0.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -8197,6 +8224,7 @@
},
"node_modules/picomatch": {
"version": "2.3.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -8947,6 +8975,7 @@
},
"node_modules/readdirp": {
"version": "3.6.0",
+ "dev": true,
"license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
@@ -9221,7 +9250,7 @@
},
"node_modules/safer-buffer": {
"version": "2.1.2",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/sass": {
@@ -9341,6 +9370,7 @@
},
"node_modules/semver": {
"version": "7.3.5",
+ "dev": true,
"license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
@@ -9690,6 +9720,7 @@
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
+ "dev": true,
"license": "MIT"
},
"node_modules/spdy": {
@@ -10068,6 +10099,7 @@
},
"node_modules/to-regex-range": {
"version": "5.0.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
@@ -10149,6 +10181,7 @@
},
"node_modules/typescript": {
"version": "4.5.5",
+ "dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
@@ -10770,6 +10803,7 @@
},
"node_modules/yallist": {
"version": "4.0.0",
+ "dev": true,
"license": "ISC"
},
"node_modules/yaml": {
@@ -11055,6 +11089,7 @@
},
"@angular/compiler-cli": {
"version": "13.2.5",
+ "dev": true,
"requires": {
"@babel/core": "^7.17.2",
"chokidar": "^3.0.0",
@@ -11070,12 +11105,14 @@
"dependencies": {
"@ampproject/remapping": {
"version": "2.1.2",
+ "dev": true,
"requires": {
"@jridgewell/trace-mapping": "^0.3.0"
}
},
"@babel/core": {
"version": "7.17.5",
+ "dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.16.7",
@@ -11095,12 +11132,14 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0"
+ "version": "6.3.0",
+ "dev": true
}
}
},
"@babel/generator": {
"version": "7.17.3",
+ "dev": true,
"requires": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
@@ -11108,7 +11147,8 @@
}
},
"source-map": {
- "version": "0.5.7"
+ "version": "0.5.7",
+ "dev": true
}
}
},
@@ -11219,6 +11259,7 @@
},
"@babel/core": {
"version": "7.16.12",
+ "dev": true,
"requires": {
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.16.8",
@@ -11238,15 +11279,18 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0"
+ "version": "6.3.0",
+ "dev": true
},
"source-map": {
- "version": "0.5.7"
+ "version": "0.5.7",
+ "dev": true
}
}
},
"@babel/generator": {
"version": "7.16.8",
+ "dev": true,
"requires": {
"@babel/types": "^7.16.8",
"jsesc": "^2.5.1",
@@ -11254,7 +11298,8 @@
},
"dependencies": {
"source-map": {
- "version": "0.5.7"
+ "version": "0.5.7",
+ "dev": true
}
}
},
@@ -12187,8 +12232,7 @@
},
"dependencies": {
"ws": {
- "version": "7.5.7",
- "requires": {}
+ "version": "7.5.7"
}
}
},
@@ -12200,8 +12244,7 @@
},
"@ngtools/webpack": {
"version": "13.2.5",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
@@ -12768,8 +12811,7 @@
},
"acorn-import-assertions": {
"version": "1.8.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"adjust-sourcemap-loader": {
"version": "4.0.0",
@@ -12867,6 +12909,7 @@
},
"anymatch": {
"version": "3.1.2",
+ "dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -13018,7 +13061,8 @@
"dev": true
},
"binary-extensions": {
- "version": "2.2.0"
+ "version": "2.2.0",
+ "dev": true
},
"bl": {
"version": "4.1.0",
@@ -13075,8 +13119,7 @@
"dev": true
},
"bootstrap": {
- "version": "5.1.3",
- "requires": {}
+ "version": "5.1.3"
},
"brace-expansion": {
"version": "1.1.11",
@@ -13087,6 +13130,7 @@
},
"braces": {
"version": "3.0.2",
+ "dev": true,
"requires": {
"fill-range": "^7.0.1"
}
@@ -13195,6 +13239,7 @@
},
"chokidar": {
"version": "3.5.3",
+ "dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -13216,8 +13261,7 @@
},
"circular-dependency-plugin": {
"version": "5.2.2",
- "dev": true,
- "requires": {}
+ "dev": true
},
"clean-stack": {
"version": "2.2.0",
@@ -13588,8 +13632,7 @@
},
"css-prefers-color-scheme": {
"version": "6.0.3",
- "dev": true,
- "requires": {}
+ "dev": true
},
"css-select": {
"version": "4.2.1",
@@ -13789,7 +13832,8 @@
"dev": true
},
"dependency-graph": {
- "version": "0.11.0"
+ "version": "0.11.0",
+ "dev": true
},
"destroy": {
"version": "1.0.4",
@@ -13888,6 +13932,7 @@
},
"encoding": {
"version": "0.1.13",
+ "dev": true,
"optional": true,
"requires": {
"iconv-lite": "^0.6.2"
@@ -13895,6 +13940,7 @@
"dependencies": {
"iconv-lite": {
"version": "0.6.3",
+ "dev": true,
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -14207,6 +14253,7 @@
},
"fill-range": {
"version": "7.0.1",
+ "dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
@@ -14355,6 +14402,7 @@
},
"glob-parent": {
"version": "5.1.2",
+ "dev": true,
"requires": {
"is-glob": "^4.0.1"
}
@@ -14551,8 +14599,7 @@
},
"icss-utils": {
"version": "5.1.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"ieee754": {
"version": "1.2.1",
@@ -14699,6 +14746,7 @@
},
"is-binary-path": {
"version": "2.1.0",
+ "dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
@@ -14722,13 +14770,15 @@
"dev": true
},
"is-extglob": {
- "version": "2.1.1"
+ "version": "2.1.1",
+ "dev": true
},
"is-fullwidth-code-point": {
"version": "3.0.0"
},
"is-glob": {
"version": "4.0.3",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -14742,7 +14792,8 @@
"dev": true
},
"is-number": {
- "version": "7.0.0"
+ "version": "7.0.0",
+ "dev": true
},
"is-path-cwd": {
"version": "2.2.0",
@@ -15066,8 +15117,7 @@
},
"karma-jasmine-html-reporter": {
"version": "1.7.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"karma-source-map-support": {
"version": "1.4.0",
@@ -15240,12 +15290,14 @@
},
"lru-cache": {
"version": "6.0.0",
+ "dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"magic-string": {
"version": "0.25.7",
+ "dev": true,
"requires": {
"sourcemap-codec": "^1.4.4"
}
@@ -15580,7 +15632,8 @@
}
},
"normalize-path": {
- "version": "3.0.0"
+ "version": "3.0.0",
+ "dev": true
},
"normalize-range": {
"version": "0.1.2",
@@ -15995,7 +16048,8 @@
"version": "1.0.0"
},
"picomatch": {
- "version": "2.3.1"
+ "version": "2.3.1",
+ "dev": true
},
"pify": {
"version": "2.3.0",
@@ -16085,8 +16139,7 @@
},
"postcss-custom-media": {
"version": "8.0.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-custom-properties": {
"version": "12.1.4",
@@ -16140,13 +16193,11 @@
},
"postcss-font-variant": {
"version": "5.0.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-gap-properties": {
"version": "3.0.3",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-image-set-function": {
"version": "4.0.6",
@@ -16166,8 +16217,7 @@
},
"postcss-initial": {
"version": "4.0.1",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-lab-function": {
"version": "4.1.1",
@@ -16188,18 +16238,15 @@
},
"postcss-logical": {
"version": "5.0.4",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-media-minmax": {
"version": "5.0.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-modules-extract-imports": {
"version": "3.0.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -16233,13 +16280,11 @@
},
"postcss-overflow-shorthand": {
"version": "3.0.3",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-page-break": {
"version": "3.0.4",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-place": {
"version": "7.0.4",
@@ -16296,8 +16341,7 @@
},
"postcss-replace-overflow-wrap": {
"version": "4.0.0",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-selector-not": {
"version": "5.0.0",
@@ -16425,6 +16469,7 @@
},
"readdirp": {
"version": "3.6.0",
+ "dev": true,
"requires": {
"picomatch": "^2.2.1"
}
@@ -16596,7 +16641,7 @@
},
"safer-buffer": {
"version": "2.1.2",
- "devOptional": true
+ "dev": true
},
"sass": {
"version": "1.49.0",
@@ -16640,8 +16685,7 @@
},
"ajv-keywords": {
"version": "3.5.2",
- "dev": true,
- "requires": {}
+ "dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -16662,6 +16706,7 @@
},
"semver": {
"version": "7.3.5",
+ "dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
@@ -16907,7 +16952,8 @@
}
},
"sourcemap-codec": {
- "version": "1.4.8"
+ "version": "1.4.8",
+ "dev": true
},
"spdy": {
"version": "4.0.2",
@@ -17077,8 +17123,7 @@
},
"ajv-keywords": {
"version": "3.5.2",
- "dev": true,
- "requires": {}
+ "dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -17132,6 +17177,7 @@
},
"to-regex-range": {
"version": "5.0.1",
+ "dev": true,
"requires": {
"is-number": "^7.0.0"
}
@@ -17180,7 +17226,8 @@
"dev": true
},
"typescript": {
- "version": "4.5.5"
+ "version": "4.5.5",
+ "dev": true
},
"ua-parser-js": {
"version": "0.7.31",
@@ -17339,8 +17386,7 @@
},
"ajv-keywords": {
"version": "3.5.2",
- "dev": true,
- "requires": {}
+ "dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -17534,8 +17580,7 @@
},
"ws": {
"version": "8.2.3",
- "dev": true,
- "requires": {}
+ "dev": true
},
"xlsx": {
"version": "0.18.5",
@@ -17553,7 +17598,8 @@
"version": "5.0.8"
},
"yallist": {
- "version": "4.0.0"
+ "version": "4.0.0",
+ "dev": true
},
"yaml": {
"version": "1.10.2",
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
index 89a76a44..7d21129c 100644
--- a/frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts
+++ b/frontend/src/app/_elements/_charts/line-chart/line-chart.component.ts
@@ -41,32 +41,33 @@ export class LineChartComponent implements AfterViewInit {
}
}
update(myEpochs: number[], myAcc: number[], myLoss: number[], myMae: number[], myMse: number[], myValAcc:number[],myValLoss:number[],myValMae:number[],myValMse: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.dataAcc.length = 0;
+ this.dataAcc.push(...myAcc);
this.dataLOSS.length = 0;
this.dataLOSS.push(...myLoss);
- this.dataMSE.length = 0;
- this.dataMSE.push(...myValAcc);
+ this.dataMAE.length = 0;
+ this.dataMAE.push(...myMae);
this.dataMSE.length = 0;
- this.dataMSE.push(...myValLoss);
+ this.dataMSE.push(...myMse);
- this.dataMSE.length = 0;
- this.dataMSE.push(...myValMae);
+ this.dataValAcc.length = 0;
+ this.dataValAcc.push(...myValAcc);
- this.dataMSE.length = 0;
- this.dataMSE.push(...myValMse);
+ this.dataValLoss.length = 0;
+ this.dataValLoss.push(...myValLoss);
- this.dataMSE.length = 0;
- this.dataMSE.push(...myMse);
+ this.dataValMAE.length = 0;
+ this.dataValMAE.push(...myValMae);
+
+ this.dataValMSE.length = 0;
+ this.dataValMSE.push(...myValMse);
this.myChart.update();
}
@@ -89,7 +90,7 @@ export class LineChartComponent implements AfterViewInit {
},
{
label: 'Val_Accuracy',
- data: this.dataMSE,
+ data: this.dataValAcc,
borderWidth: 1
},
{
@@ -99,7 +100,7 @@ export class LineChartComponent implements AfterViewInit {
},
{
label: 'Val_Loss',
- data: this.dataMSE,
+ data: this.dataValLoss,
borderWidth: 1
},
{
@@ -109,7 +110,7 @@ export class LineChartComponent implements AfterViewInit {
},
{
label: 'Val_MAE',
- data: this.dataMSE,
+ data: this.dataValMAE,
borderWidth: 1
},
{
@@ -119,7 +120,7 @@ export class LineChartComponent implements AfterViewInit {
},
{
label: 'Val_MSE',
- data: this.dataMSE,
+ data: this.dataValMSE,
borderWidth: 1
}
]
diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts
index 694b1a83..e12065a3 100644
--- a/frontend/src/app/_elements/column-table/column-table.component.ts
+++ b/frontend/src/app/_elements/column-table/column-table.component.ts
@@ -110,7 +110,7 @@ export class ColumnTableComponent implements AfterViewInit {
loadDataset(dataset: Dataset) {
console.log("LOADED DATASET");
- if (this.route.snapshot.paramMap.get("id") == null) {
+ if (this.route.snapshot.paramMap.get("id") == null && this.route.snapshot.paramMap.get("predictorId") == null) {
this.dataset = dataset;
this.setColumnTypeInitial();
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index 9d19d556..beff6012 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -122,7 +122,7 @@ export class FolderComponent implements AfterViewInit {
}
goToExperimentPageWithPredictor(file: FolderFile, predictor: Predictor) {
- this.router.navigate(['/experiment/' + file._id + "/" + predictor._id]);
+ this.router.navigate(['/experiment/p/' + predictor._id]);
}
createNewFile() {
diff --git a/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.css b/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.css
index e69de29b..e99a1e1e 100644
--- a/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.css
+++ b/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.css
@@ -0,0 +1,8 @@
+#btnYes {
+ background-color: var(--offwhite);
+ color: var(--ns-bg-dark-100);
+}
+
+#btnNo {
+ color: gray;
+} \ No newline at end of file
diff --git a/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.html b/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.html
index 77e7be42..259aec0d 100644
--- a/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.html
+++ b/frontend/src/app/_modals/yes-no-dialog/yes-no-dialog.component.html
@@ -1,10 +1,10 @@
-<h2 mat-dialog-title class="text-muted">{{data.title}}</h2>
-<div mat-dialog-content class="mt-4" style="color: rgb(81, 76, 76);">
+<h2 mat-dialog-title class="text-center">{{data.title}}</h2>
+<div mat-dialog-content class="mt-5 mb-4 mx-1">
<form (keydown)="withEnterKey($event)">
{{data.message}}
</form>
</div>
<div mat-dialog-actions class="d-flex justify-content-center mt-4">
- <button mat-button cdkFocusInitial (click)="onYesClick()" style="background-color: lightgray;">Da</button>
- <button mat-button cdkFocusInitial (click)="onNoClick()" style="background-color: lightgray;">Ne</button>
+ <button id="btnYes" mat-stroked-button color="basic" (click)="onYesClick()" style="background-color: lightgray;">Da</button>
+ <button id="btnNo" mat-stroked-button (click)="onNoClick()" style="background-color: lightgray;">Ne</button>
</div> \ No newline at end of file
diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts
index ee269f65..7cb5e7cd 100644
--- a/frontend/src/app/_pages/experiment/experiment.component.ts
+++ b/frontend/src/app/_pages/experiment/experiment.component.ts
@@ -21,7 +21,7 @@ import { PredictorsService } from 'src/app/_services/predictors.service';
templateUrl: './experiment.component.html',
styleUrls: ['./experiment.component.css']
})
-export class ExperimentComponent implements AfterViewInit, OnInit {
+export class ExperimentComponent implements AfterViewInit {
@ViewChild(MatStepper) stepper!: MatStepper;
@ViewChild('stepsContainer') stepsContainer!: ElementRef;
@@ -44,46 +44,6 @@ export class ExperimentComponent implements AfterViewInit, OnInit {
this.experiment = new Experiment("exp1");
}
- ngOnInit(): void {
- this.route.queryParams.subscribe(params => {
-
- let experimentId = this.route.snapshot.paramMap.get("id");
- let predictorId = this.route.snapshot.paramMap.get("predictorId");
-
- if (predictorId != null && experimentId != null) {
- this.experimentsService.getExperimentById(experimentId).subscribe((response) => {
- this.experiment = response;
- this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => {
- this.dataset = response;
- this.folderDataset.forExperiment = this.experiment;
- this.folderDataset.selectFile(this.dataset); //sad 3. i 4. korak da se ucitaju
-
- //this.predictorsService.getPredictor(predictorId!).subscribe((response) => {
- let predictor = response;
- //this.modelsService.getModelById(predictor.modelId).subscribe((response) => {
- this.modelsService.getModelById("62853d70696d62ceeb8db7cd").subscribe((response) => {
- //imamo model
- this.folderModel.formModel.newModel = response;
- //this.metricView.update(predictor.metrics);
- });
- //});
- });
- });
- }
- else if (predictorId == null && experimentId != null) {
- this.experimentsService.getExperimentById(experimentId).subscribe((response) => {
- this.experiment = response;
- this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => {
- this.dataset = response;
- this.folderDataset.forExperiment = this.experiment;
- this.folderDataset.selectFile(this.dataset);
- });
- });
- }
-
- });
- }
-
/*updateExperiment(){
}*/
@@ -136,6 +96,52 @@ export class ExperimentComponent implements AfterViewInit, OnInit {
});
}
+
+ this.route.queryParams.subscribe(params => {
+
+ let experimentId = this.route.snapshot.paramMap.get("id");
+ let predictorId = this.route.snapshot.paramMap.get("predictorId");
+ console.log("paramexp: ", experimentId, ", parampredictor: ", predictorId);
+ if (predictorId != null) {
+ this.predictorsService.getPredictor(predictorId!).subscribe((response) => {
+ let predictor = response;
+ //console.log("predictor: ", predictor);
+ this.experimentsService.getExperimentById(predictor.experimentId).subscribe((response) => {
+ this.experiment = response;
+ //console.log("experiment: ", this.experiment);
+ this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => {
+ this.dataset = response;
+ //console.log("dataset: ", this.dataset);
+ this.folderDataset.forExperiment = this.experiment;
+ this.folderDataset.selectFile(this.dataset); //sad 3. i 4. korak da se ucitaju
+
+ this.modelsService.getModelById(predictor.modelId).subscribe((response) => {
+ let model = response;
+ //console.log("model: ", model);
+ this.folderModel.formModel.newModel = model;
+ this.step3 = true;
+ let numOfEpochsArray = Array.from({length: model.epochs}, (_, i) => i + 1);
+ //console.log("metric view1:", this.metricView);
+ setTimeout(() => {
+ this.metricView.linechartComponent.update(numOfEpochsArray, predictor.metricsAcc, predictor.metricsLoss, predictor.metricsMae, predictor.metricsMse, predictor.metricsValAcc, predictor.metricsValLoss, predictor.metricsValMae, predictor.metricsValMse);
+ })
+ });
+ });
+ });
+ });
+ }
+ else if (experimentId != null) {
+ this.experimentsService.getExperimentById(experimentId).subscribe((response) => {
+ this.experiment = response;
+ this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => {
+ this.dataset = response;
+ this.folderDataset.forExperiment = this.experiment;
+ this.folderDataset.selectFile(this.dataset);
+ });
+ });
+ }
+
+ });
}
history: any[] = [];
@@ -208,7 +214,6 @@ export class ExperimentComponent implements AfterViewInit, OnInit {
this.columnTable.loaded = false;
this.dataset = undefined;
this.experiment.datasetId = '';
- this.step1 = false;
return;
}
const d = <Dataset>dataset;
diff --git a/frontend/src/app/_pages/my-models/my-models.component.html b/frontend/src/app/_pages/my-models/my-models.component.html
deleted file mode 100644
index 9b281239..00000000
--- a/frontend/src/app/_pages/my-models/my-models.component.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<div id="header">
- <h1>Moji modeli</h1>
-</div>
-<div id="wrapper">
- <div id="container" class="container p-5" style="background-color: rgba(255, 255, 255, 0.8); min-height: 100%;">
- <div class="row mt-3 mb-2 d-flex justify-content-center">
-
- <div class="col-sm-6" style="margin-bottom: 10px;">
- </div>
-
- <div class="row">
- <div class="col-sm-4" style="margin-bottom: 10px;" *ngFor="let model of myModels">
- <app-item-model [model]="model"></app-item-model>
-
- <div class="panel-footer row"><!-- panel-footer -->
- <div class="col-xs-6 text-center">
- <div>
- <button type="button" class="btn btn-default btn-lg"style="min-width: 7rem;float: left;" (click)="useThisModel(model)" mat-raised-button color="primary">Koristi
- <span class="glyphicon glyphicon-search"></span>
- </button>
- <button (click)="deleteThisModel(model)" mat-raised-button color="warn" style="min-width: 7rem;float: right" ><mat-icon>delete</mat-icon></button>
-
-
- </div>
- </div>
- </div><!-- end panel-footer -->
-
-
-
- </div>
- </div>
- <div class="text-center" *ngIf="this.myModels.length == 0" >
- <h2>Nema rezultata</h2>
- </div>
- </div>
-
- </div>
-
-
-
-
-
- </div>
diff --git a/frontend/src/app/_pages/my-models/my-models.component.ts b/frontend/src/app/_pages/my-models/my-models.component.ts
deleted file mode 100644
index d379fa69..00000000
--- a/frontend/src/app/_pages/my-models/my-models.component.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-import shared from 'src/app/Shared';
-import Model from 'src/app/_data/Model';
-import { ModelsService } from 'src/app/_services/models.service';
-
-@Component({
- selector: 'app-my-models',
- templateUrl: './my-models.component.html',
- styleUrls: ['./my-models.component.css']
-})
-export class MyModelsComponent implements OnInit {
- myModels: Model[] = [];
- //myModel: Model;
-
- constructor(private modelsS : ModelsService, private router : Router) {
-
-
-
- }
-
- ngOnInit(): void {
- this.getAllMyModels();
-
- }
-/*
- editModel(): void{
- this.modelsS.editModel().subscribe(m => {
- this.myModel = m;
-
- })
- }
-*/
-
-deleteThisModel(model: Model): void{
- shared.openYesNoDialog('Brisanje seta podataka','Da li ste sigurni da želite da obrišete model?',() => {
- this.modelsS.deleteModel(model).subscribe((response) => {
- this.getAllMyModels();
- }, (error) =>{
- if (error.error == "Model with name = {name} deleted") {
- shared.openDialog("Obaveštenje", "Greška prilikom brisanja modela.");
- }
- });
- });
-}
-
-
-useThisModel(model: Model): void{
-
- this.router.navigate(['/training'])
-
-}
- getAllMyModels(): void{
- this.modelsS.getMyModels().subscribe(m => {
- this.myModels = m;
- });
- }
-
-}
diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts
index 56442842..d5552ce9 100644
--- a/frontend/src/app/app-routing.module.ts
+++ b/frontend/src/app/app-routing.module.ts
@@ -12,7 +12,7 @@ import { TestComponent } from './_pages/test/test.component';
const routes: Routes = [
{ path: '', component: HomeComponent, data: { title: 'Početna strana' } },
- { path: 'experiment/:id/:predictorId', component: ExperimentComponent, data: { title: 'Eksperiment' } },
+ { path: 'experiment/p/:predictorId', component: ExperimentComponent, data: { title: 'Eksperiment' } },
{ path: 'experiment/:id', component: ExperimentComponent, data: { title: 'Eksperiment' } },
{ path: 'experiment', component: ExperimentComponent, data: { title: 'Eksperiment' } },
{ path: 'archive', component: ArchiveComponent, data: { title: 'Arhiva' } },