Skip to content

Commit 5b32670

Browse files
committed
frontend: upgrade to angular 6, restructure
1 parent a999e38 commit 5b32670

40 files changed

+863
-748
lines changed

frontend-angular/package-lock.json

Lines changed: 276 additions & 261 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend-angular/package.json

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
"private": true,
1414
"dependencies": {
1515
"@angular-package/prism": "^2.0.2",
16-
"@angular/animations": "^5.2.11",
17-
"@angular/common": "^5.2.11",
18-
"@angular/compiler": "^5.2.11",
19-
"@angular/core": "^5.2.11",
20-
"@angular/forms": "^5.2.11",
21-
"@angular/http": "^5.2.11",
22-
"@angular/platform-browser": "^5.2.11",
23-
"@angular/platform-browser-dynamic": "^5.2.11",
24-
"@angular/router": "^5.2.11",
25-
"@types/jqueryui": "^1.12.4",
26-
"@types/plotly.js": "^1.38.8",
16+
"@angular/animations": "^6.1.9",
17+
"@angular/common": "^6.1.9",
18+
"@angular/compiler": "^6.1.9",
19+
"@angular/core": "^6.1.9",
20+
"@angular/forms": "^6.1.9",
21+
"@angular/http": "^6.1.9",
22+
"@angular/platform-browser": "^6.1.9",
23+
"@angular/platform-browser-dynamic": "^6.1.9",
24+
"@angular/router": "^6.1.9",
25+
"@types/jqueryui": "^1.12.5",
26+
"@types/plotly.js": "^1.38.9",
2727
"@types/prismjs": "^1.9.0",
2828
"angular2-materialize": "^15.1.10",
2929
"chart.js": "^2.7.2",
@@ -33,22 +33,24 @@
3333
"jquery-ui": "^1.12.1",
3434
"jquery-ui-dist": "^1.12.1",
3535
"materialize-css": "^0.100.2",
36-
"ng2-rx-componentdestroyed": "^2.1.0",
36+
"ng2-rx-componentdestroyed": "^3.0.1",
3737
"ngx-auto-scroll": "^1.1.0",
38+
"ngx-take-until-destroy": "^5.2.3",
3839
"npm": "^6.4.1",
3940
"plotly.js": "^1.41.3",
4041
"prismjs": "^1.15.0",
4142
"protractor": "^5.4.1",
42-
"rxjs": "^5.5.12",
43-
"zone.js": "^0.8.26"
43+
"rxjs": "^6.3.3",
44+
"zone.js": "^0.8.26",
45+
"rxjs-compat": "^6.0.0-rc.0"
4446
},
4547
"devDependencies": {
46-
"@angular-devkit/build-angular": "~0.8.0",
47-
"@angular/cli": "^6.2.3",
48-
"@angular/compiler-cli": "^5.2.11",
49-
"@angular/language-service": "^5.2.11",
48+
"@angular-devkit/build-angular": "^0.8.4",
49+
"@angular/cli": "^6.2.4",
50+
"@angular/compiler-cli": "^6.1.9",
51+
"@angular/language-service": "^6.1.9",
5052
"@types/chartjs": "0.0.31",
51-
"@types/jquery": "^3.3.10",
52-
"typescript": "~2.5.3"
53+
"@types/jquery": "^3.3.13",
54+
"typescript": "2.7.2"
5355
}
5456
}

frontend-angular/src/app/app-main/app-main.component.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<i [ngClass]="connected ? 'green-text' : 'red-text'" class="material-icons red-text right">{{connected ? 'wifi' : 'wifi_off'}}</i></a></li>
88
</ul>
99

10-
<ul class="right" *ngIf="appState.training">
10+
<ul class="right" *ngIf="state.training">
1111
<li>
1212
<a class="green-text btn white btn-flat no-select">
1313
Training
@@ -22,23 +22,23 @@
2222
</div>
2323

2424
<!-- Tabs Network -->
25-
<div class="nav-network" *ngIf="routedComponent == 'NetworksAndTrainComponent'">
25+
<div class="nav-network" *ngIf="routedComponent == 'ProjectComponent'">
2626
<ul class="tabs tabs-transparent" materialize="tabs">
27-
<li class="tab" [class.disabled]="networkID === undefined">
28-
<!--<a *ngIf="networkID !== undefined" [routerLink]="['/dataStructure', structureID, 'network', networkID]" href="#tab-train">Train</a>-->
29-
<a href="#tab-train">Train</a>
30-
</li>
3127
<li class="tab">
32-
<a class="active" href="#tab-networks">Networks</a></li>
33-
<li class="tab disabled"><a href="#tab-run">Run</a></li>
34-
<!--<li class="tab disabled"><a href="#tab-settings"><i class="material-icons">settings</i></a></li>-->
28+
<a class="active" href="#tab-networks">Dataset</a></li>
29+
<li class="tab" [class.disabled]="state.routedModelId === undefined">
30+
<a href="#tab-edit">Model Definition</a>
31+
</li>
32+
<li class="tab" [class.disabled]="state.routedModelId === undefined">
33+
<a href="#tab-train">Model Training</a>
34+
</li>
3535
</ul>
3636
</div>
3737

3838
<!-- Tabs DataStructure -->
39-
<div class="nav-dataStructure" *ngIf="routedComponent == 'DatastructureAndSettingsComponent'" >
39+
<div class="nav-dataStructure" *ngIf="routedComponent == 'ProjectsAndSettingsComponent'" >
4040
<ul class="tabs tabs-transparent " materialize="tabs">
41-
<li class="tab"><a href="#tab-dataStructure">Data structures</a></li>
41+
<li class="tab"><a href="#tab-dataStructure">Projects</a></li>
4242
<li class="tab"><a href="#tab-generalSettings">Settings</a></li>
4343
</ul>
4444
</div>

frontend-angular/src/app/app-main/app-main.component.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import {Component, Inject, NgModule} from '@angular/core';
1+
import {Component, Inject, isDevMode, NgModule} from '@angular/core';
22
import {ActivatedRoute, Router, RouterModule, Routes} from "@angular/router";
3-
import {DatastructureAndSettingsComponent} from "@frontend/datastructure-and-settings/datastructure-and-settings.component";
3+
import {ProjectsAndSettingsComponent} from "@frontend/projects-and-settings/projects-and-settings.component";
44
import {ApiConnection, CONNECTION_STATUS} from "@catflow/ApiConnection";
5-
import {NetworksAndTrainComponent} from "../networks-and-train/networks-and-train.component";
5+
import {ProjectComponent} from "../project/project.component";
66
import {toastErr, toastInfo} from "../util/Log";
77
import {DOCUMENT} from "@angular/common";
88
import {BehaviorSubject} from "rxjs/BehaviorSubject";
99
import {TestPlaygroundComponent} from "@frontend/test-playground/test-playground.component";
10-
import {AppState} from "@frontend/settings/app-state.service";
10+
import {AppState} from "@frontend/projects-and-settings/settings/app-state.service";
1111

1212
/*
1313
*-- MainComponent ------------------------------------------------------- */
@@ -20,29 +20,33 @@ export class AppMainComponent {
2020
title = 'app';
2121

2222
routedComponent: string;
23-
networkID: number;
24-
structureID: number;
2523
alreadyTriedToConnect: boolean = false;
2624

2725
// test list
2826
listTest: BehaviorSubject<any[]>;
2927
connected: boolean = false;
28+
port: number = 80;
3029

3130
constructor(
32-
public appState: AppState,
31+
public state: AppState,
3332
public route: ActivatedRoute,
3433
@Inject(DOCUMENT) private document: Document)
3534
{
3635
ApiConnection.onGetError.subscribe(msg => {
3736
toastErr("<div><h6 class='toastRoute'>from: " + msg.route+"</h6><p> "+ msg.message+ "</p></div>");
3837
});
3938

40-
// this.document.location.hostname
41-
ApiConnection.connect(this.document.location.hostname, 5555);
39+
if (Number(this.document.location.port) == 0)
40+
this.port = 80;
41+
else if (isDevMode())
42+
this.port = 5555;
43+
else
44+
this.port = Number(this.document.location.port);
45+
ApiConnection.connect(this.document.location.hostname, this.port);
4246
ApiConnection.connectionStatus.subscribe(status => this.connected = (status == CONNECTION_STATUS.CONNECTED));
4347
ApiConnection.onDisconnect = () => {
4448
setTimeout(() => {
45-
ApiConnection.connect(this.document.location.hostname, 5555);
49+
ApiConnection.connect(this.document.location.hostname, this.port);
4650
}, 1000);
4751
}
4852

@@ -52,22 +56,19 @@ export class AppMainComponent {
5256
onRouteChange($event) {
5357
console.log('show ', $event);
5458
this.routedComponent = $event.componentName;
55-
this.networkID = $event.networkID;
56-
this.structureID = $event.structureID;
57-
//console.log('show ', this.routedComponent);
5859
}
5960
}
6061

6162

6263
/*
6364
*-- Routing ------------------------------------------------------- */
6465
const routes: Routes = [
65-
{path: '', component: DatastructureAndSettingsComponent},
66+
{path: '', component: ProjectsAndSettingsComponent},
6667
{path: 'testPlayground', component: TestPlaygroundComponent},
6768
{path: 'test', component: TestPlaygroundComponent},
68-
{path: 'dataStructure/:structureID', component: NetworksAndTrainComponent},
69-
{path: 'dataStructure/:structureID/network/:networkID', component: NetworksAndTrainComponent},
70-
{path: 'dataStructure/:structureID/network/:networkID/train', component: NetworksAndTrainComponent}
69+
{path: 'project/:projectID', component: ProjectComponent},
70+
{path: 'project/:projectID/model/:modelID', component: ProjectComponent},
71+
{path: 'project/:projectID/model/:modelID/train', component: ProjectComponent}
7172
];
7273

7374
@NgModule({

frontend-angular/src/app/app.module.ts

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,39 @@ import {NgxAutoScrollModule} from "ngx-auto-scroll";
88

99

1010
import {AppMainComponent, AppRoutingModule} from './app-main/app-main.component';
11-
import {DatastructureAndSettingsComponent} from './datastructure-and-settings/datastructure-and-settings.component';
12-
import {DataStructuresComponent} from './data-structures/data-structures.component';
11+
import {ProjectsAndSettingsComponent} from './projects-and-settings/projects-and-settings.component';
12+
import {ProjectsListComponent} from './projects-and-settings/projects-list/projects-list.component';
1313
import {BackendConsoleComponent} from "./backend-console/backend-console.component";
14-
import { NetworksAndTrainComponent } from './networks-and-train/networks-and-train.component';
15-
import { NetworksComponent } from './networks/networks.component';
14+
import { ProjectComponent } from './project/project.component';
1615
import {RouteReuseStrategy} from "@angular/router";
17-
import { NetworkTrainComponent } from './network-train/network-train.component';
16+
import { ModelTrainComponent } from './project/model-train/model-train.component';
1817
import {Api} from "@catflow/Api";
1918
import {ApiChart} from "@catflow/extensions/Chart-range";
2019
import {KeysPipe} from "@catflow/Utils";
21-
import { SettingsComponent } from './settings/settings.component';
22-
import { SelectionViewComponent } from './settings/selection-view/selection-view.component';
23-
import {AppState} from "@frontend/settings/app-state.service";
20+
import { SettingsComponent } from './projects-and-settings/settings/settings.component';
21+
import { SelectionViewComponent } from './projects-and-settings/settings/selection-view/selection-view.component';
22+
import {AppState} from "@frontend/projects-and-settings/settings/app-state.service";
2423
import {ApiSeriesChart} from "@catflow/extensions/Chart-series";
25-
import { ModelEditorComponent } from './test-playground/model-editor/model-editor.component';
24+
import { ModelEditorComponent } from './project/model-edit/model-editor/model-editor.component';
2625
import { TestPlaygroundComponent } from './test-playground/test-playground.component';
2726
//import { ChartPlotlyComponent } from './test-playground/chart-plotly/chart-plotly.component';
28-
import { ModelEditorNodeComponent } from './test-playground/model-editor/model-editor-node/model-editor-node.component';
29-
import { ModelEditorConnectionComponent } from './test-playground/model-editor/model-editor-connection/model-editor-connection.component';
27+
import { ModelEditorNodeComponent } from './project/model-edit/model-editor/model-editor-node/model-editor-node.component';
28+
import { ModelEditorConnectionComponent } from './project/model-edit/model-editor/model-editor-connection/model-editor-connection.component';
3029
import { ProgressIndicatorComponent } from './util/progress-indicator/progress-indicator.component';
30+
import {ProjectModelsComponent} from "@frontend/project/models-list/project-models.component";
31+
import { ModelEditComponent } from './project/model-edit/model-edit.component';
3132

3233

3334

3435
@NgModule({
3536
declarations: [
3637
AppMainComponent,
37-
DatastructureAndSettingsComponent,
38-
DataStructuresComponent,
38+
ProjectsAndSettingsComponent,
39+
ProjectsListComponent,
3940
BackendConsoleComponent,
40-
NetworksAndTrainComponent,
41-
NetworksComponent,
42-
NetworkTrainComponent,
41+
ProjectComponent,
42+
ProjectModelsComponent,
43+
ModelTrainComponent,
4344
ApiChart,
4445
ApiSeriesChart,
4546
KeysPipe,
@@ -50,7 +51,8 @@ import { ProgressIndicatorComponent } from './util/progress-indicator/progress-i
5051
// ChartPlotlyComponent,
5152
ModelEditorNodeComponent,
5253
ModelEditorConnectionComponent,
53-
ProgressIndicatorComponent
54+
ProgressIndicatorComponent,
55+
ModelEditComponent
5456
],
5557
imports: [
5658
BrowserModule,

frontend-angular/src/app/backend-console/backend-console.component.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import {Component, OnDestroy, OnInit} from '@angular/core';
22
import {ApiConnection, CONNECTION_STATUS} from "@catflow/ApiConnection";
3-
import {AppState} from "@frontend/settings/app-state.service";
3+
import {AppState} from "@frontend/projects-and-settings/settings/app-state.service";
4+
import {componentDestroyed} from "ng2-rx-componentdestroyed";
45

56
@Component({
67
selector: 'app-backend-console',
78
templateUrl: './backend-console.component.html',
89
styleUrls: ['./backend-console.components.css'],
910
})
10-
export class BackendConsoleComponent implements OnInit {
11+
export class BackendConsoleComponent implements OnInit, OnDestroy {
1112

1213
log: {direction: string, message: any}[] = [];
1314
sendText: string;
@@ -18,12 +19,12 @@ export class BackendConsoleComponent implements OnInit {
1819
constructor(
1920
public settings:AppState
2021
) {
21-
ApiConnection.onReceive.subscribe(data => {
22+
ApiConnection.onReceive.takeUntil(componentDestroyed(this)).subscribe(data => {
2223
this.log.push({direction: 'got', message: data});
2324
if (this.log.length > 50)
2425
this.log = this.log.slice(0, this.log.length - 50);
2526
});
26-
ApiConnection.onSend.subscribe(data => {
27+
ApiConnection.onSend.takeUntil(componentDestroyed(this)).subscribe(data => {
2728
this.log.push({direction: 'send', message: data});
2829
if (this.log.length > 50)
2930
this.log = this.log.slice(0, this.log.length - 50);
@@ -41,4 +42,7 @@ export class BackendConsoleComponent implements OnInit {
4142
ApiConnection.send(this.sendText);
4243
toastInfo(this.sendText);*/
4344
}
45+
46+
ngOnDestroy(): void {
47+
}
4448
}

frontend-angular/src/app/datastructure-and-settings/datastructure-and-settings.component.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)