You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2020/08/16 21:19:22 UTC

[incubator-streampipes] branch STREAMPIPES-193 updated (8a9a740 -> 511e695)

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a change to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git.


    from 8a9a740  [STREAMPIPES-193] Migrate prebuild steps
     new 103d84d  [STREAMPIPES-193] Fix automatic start of pipelines
     new fe32862  [STREAMPIPES-193] Fix pipeline update feature
     new 0471e4a  [STREAMPIPES-193] Add minor layout improvements
     new 81993b5  [STREAMPIPES-193] Remove obsolete dependencies
     new 511e695  [STREAMPIPES-193] Upgrade Angular to v10

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 ui/{browserslist => .browserslistrc}               |  0
 ui/.gitignore                                      |  1 +
 ui/angular.json                                    |  1 +
 ui/deployment/app-routing.module.mst               |  3 +-
 ui/package.json                                    | 73 ++++++++++------------
 ui/src/app/animation.ts                            | 29 +++++++++
 ui/src/app/app-routing.module.ts                   |  3 +-
 ui/src/app/app.component.html                      |  4 +-
 ui/src/app/app.component.ts                        |  9 ++-
 .../connect/schema-editor/unit-provider.service.ts |  2 +
 .../base/abstract-static-property.ts               |  3 +-
 .../base/abstract-validated-static-property.ts     |  3 +-
 .../static-mapping/static-mapping.ts               |  2 +
 .../dialog/base-dialog/base-dialog.component.ts    |  3 +-
 .../widgets/base/base-ngx-charts-widget.ts         |  2 +
 .../widgets/base/base-ngx-line-charts-widget.ts    |  2 +
 .../components/widgets/base/base-widget.ts         |  3 +-
 .../widgets/base/base-data-explorer-widget.ts      |  3 +-
 .../output-strategy/base/BaseOutputStrategy.ts     |  3 +-
 .../save-pipeline/save-pipeline.component.html     | 10 +--
 .../save-pipeline/save-pipeline.component.scss     |  8 +++
 .../save-pipeline/save-pipeline.component.ts       | 11 ++--
 .../login/components/login/login.component.html    | 19 ++----
 .../login/components/setup/setup.component.html    |  2 +-
 .../pipeline-overview.component.ts                 |  2 +-
 ui/src/app/pipelines/pipelines.component.ts        |  8 +--
 ui/src/app/shared/logger/log.service.ts            |  2 +
 ui/src/scss/main.scss                              |  3 -
 ui/src/tsconfig.app.json                           |  2 +-
 ui/src/tsconfig.spec.json                          |  2 +-
 ui/{tsconfig.json => tsconfig.base.json}           |  2 +-
 ui/tsconfig.json                                   | 39 +++++-------
 ui/tsconfig.spec.json                              |  2 +-
 ui/tslint.json                                     |  1 -
 34 files changed, 150 insertions(+), 112 deletions(-)
 rename ui/{browserslist => .browserslistrc} (100%)
 create mode 100644 ui/src/app/animation.ts
 copy ui/{tsconfig.json => tsconfig.base.json} (95%)


[incubator-streampipes] 02/05: [STREAMPIPES-193] Fix pipeline update feature

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit fe328622e9b72d5d2fda6309065a5384c8c807f3
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 19:36:53 2020 +0200

    [STREAMPIPES-193] Fix pipeline update feature
---
 .../editor/dialog/save-pipeline/save-pipeline.component.html  | 10 +++++-----
 .../editor/dialog/save-pipeline/save-pipeline.component.scss  |  8 ++++++++
 .../editor/dialog/save-pipeline/save-pipeline.component.ts    | 11 ++++++-----
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.html b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.html
index 92744a7..1247d1a 100644
--- a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.html
+++ b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.html
@@ -21,18 +21,18 @@
         <div fxFlex="100" fxLayout="column">
 
             <div fxFlex="100" fxLayout="column">
-                <div id="overwriteCheckbox" class="checkbox" *ngIf="modificationMode">
-                    <mat-radio-group class="md-accent" [(ngModel)]="updateMode">
-                        <mat-radio-button [value]="'update'">
+                <div id="overwriteCheckbox" class="checkbox" *ngIf="currentModifiedPipelineId">
+                    <mat-radio-group [(ngModel)]="updateMode" fxLayout="column" color="primary" class="pipeline-radio-group">
+                        <mat-radio-button [value]="'update'" class="mb-10" style="padding-left: 0;">
                             Update pipeline <b>{{pipeline.name}}</b>
                         </mat-radio-button>
-                        <mat-radio-button [value]="'clone'">
+                        <mat-radio-button [value]="'clone'" class="mb-10">
                             Create new pipeline
                         </mat-radio-button>
                     </mat-radio-group>
                 </div>
                 <form [formGroup]="submitPipelineForm">
-                <div fxFlex="100" fxLayout="column" *ngIf="!modificationMode || updateMode=='clone'">
+                <div fxFlex="100" fxLayout="column" *ngIf="!currentModifiedPipelineId || updateMode=='clone'">
                     <mat-form-field fxFlex><mat-label>Pipeline Name</mat-label>
                         <input [formControlName]="'pipelineName'" matInput name="pipelineName"/>
 <!--                        <span ng-show="submitPipelineForm.pipelineName.$touched && submitPipelineForm.pipelineName.$error.required">Please provide a pipeline name.</span>-->
diff --git a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.scss b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.scss
index b2f7ca6..addf794 100644
--- a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.scss
+++ b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.scss
@@ -26,4 +26,12 @@
 
 .padding-20 {
   padding: 20px;
+}
+
+.mb-10 {
+  margin-bottom: 10px;
+}
+
+::ng-deep .pipeline-radio-group .mat-radio-label {
+  padding: 0;
 }
\ No newline at end of file
diff --git a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.ts b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.ts
index b8c01d7..583666b 100644
--- a/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.ts
+++ b/ui/src/app/editor/dialog/save-pipeline/save-pipeline.component.ts
@@ -38,24 +38,24 @@ export class SavePipelineComponent implements OnInit {
   updateMode: any;
 
   submitPipelineForm: FormGroup = new FormGroup({});
-  TransitionService: any;
 
   @Input()
   pipeline: Pipeline;
+
   @Input()
   modificationMode: string;
 
+  @Input()
+  currentModifiedPipelineId: string;
+
   constructor(private editorService: EditorService,
               private dialogRef: DialogRef<SavePipelineComponent>,
               private objectProvider: ObjectProvider,
               private pipelineService: PipelineService,
-              //TransitionService,
               private Router: Router,
               private ShepherdService: ShepherdService) {
     this.pipelineCategories = [];
     this.updateMode = "update";
-    //this.TransitionService = TransitionService;
-    //this.ShepherdService = ShepherdService;
   }
 
   ngOnInit() {
@@ -113,9 +113,10 @@ export class SavePipelineComponent implements OnInit {
 
     let storageRequest;
 
-    if (this.modificationMode && this.updateMode === 'update') {
+    if (this.currentModifiedPipelineId && this.updateMode === 'update') {
       storageRequest = this.pipelineService.updatePipeline(this.pipeline);
     } else {
+      this.pipeline._id = undefined;
       storageRequest = this.pipelineService.storePipeline(this.pipeline);
     }
 


[incubator-streampipes] 03/05: [STREAMPIPES-193] Add minor layout improvements

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 0471e4a684b5645e007bd36bb91fe866c7a6b6fe
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 20:35:27 2020 +0200

    [STREAMPIPES-193] Add minor layout improvements
---
 ui/deployment/app-routing.module.mst               |  3 ++-
 ui/src/app/animation.ts                            | 29 ++++++++++++++++++++++
 ui/src/app/app-routing.module.ts                   |  6 +++--
 ui/src/app/app.component.html                      |  4 ++-
 ui/src/app/app.component.ts                        |  9 ++++++-
 .../login/components/login/login.component.html    | 19 ++++----------
 .../login/components/setup/setup.component.html    |  2 +-
 7 files changed, 52 insertions(+), 20 deletions(-)

diff --git a/ui/deployment/app-routing.module.mst b/ui/deployment/app-routing.module.mst
index 48837a7..b76a04d 100644
--- a/ui/deployment/app-routing.module.mst
+++ b/ui/deployment/app-routing.module.mst
@@ -39,7 +39,8 @@ import { {{{ng5_component}}} } from '{{{ng5_componentPath}}}';
 {{/modulesActive}}
 
 const routes: Routes = [
-  { path: 'login', component: LoginComponent, canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard]},
+  { path: 'login', component: LoginComponent, canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard],
+  data: {animation: 'LoginPage'}},
   { path: 'setup', component: SetupComponent, canActivate: [AlreadyConfiguredCanActivateGuard] },
   { path: 'startup', component: StartupComponent },
   { path: 'standalone/:dashboardId', component: StandaloneDashboardComponent },
diff --git a/ui/src/app/animation.ts b/ui/src/app/animation.ts
new file mode 100644
index 0000000..ef2bb7d
--- /dev/null
+++ b/ui/src/app/animation.ts
@@ -0,0 +1,29 @@
+import {animate, animateChild, group, query, style, transition, trigger} from "@angular/animations";
+
+export const slideInAnimation =
+    trigger('routeAnimations', [
+      transition('* <=> LoginPage', [
+        style({ position: 'relative' }),
+        query(':enter, :leave', [
+          style({
+            position: 'absolute',
+            top: 0,
+            left: 0,
+            width: '100%'
+          })
+        ], { optional: true }),
+        query(':enter', [
+          style({ opacity: 0 })
+        ], { optional: true }),
+        query(':leave', animateChild(), { optional: true }),
+        group([
+          query(':leave', [
+            animate('200ms', style({ opacity: 0 }))
+          ], { optional: true }),
+          query(':enter', [
+            animate('300ms', style({ opacity: 1 }))
+          ],{ optional: true })
+        ]),
+        query(':enter', animateChild(), { optional: true }),
+      ])
+    ]);
\ No newline at end of file
diff --git a/ui/src/app/app-routing.module.ts b/ui/src/app/app-routing.module.ts
index d14fea0..b9f0865 100644
--- a/ui/src/app/app-routing.module.ts
+++ b/ui/src/app/app-routing.module.ts
@@ -42,7 +42,9 @@ import { AddComponent } from './add/add.component';
 import { ConfigurationComponent } from './configuration/configuration.component';
 
 const routes: Routes = [
-  { path: 'login', component: LoginComponent, canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard]},
+  { path: 'login', component: LoginComponent,
+    canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard],
+    data: {animation: 'LoginPage'}},
   { path: 'setup', component: SetupComponent, canActivate: [AlreadyConfiguredCanActivateGuard] },
   { path: 'startup', component: StartupComponent },
   { path: 'standalone/:dashboardId', component: StandaloneDashboardComponent },
@@ -59,7 +61,7 @@ const routes: Routes = [
       { path: 'notifications', component: NotificationsComponent },
       { path: 'info', component: InfoComponent },
       { path: 'pipeline-details', component: PipelineDetailsComponent }
-    ], canActivateChild: [AuthCanActivateChildrenGuard] }
+    ], canActivateChild: [AuthCanActivateChildrenGuard]}
 ];
 
 @NgModule({
diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html
index 04cce49..83e668e 100644
--- a/ui/src/app/app.component.html
+++ b/ui/src/app/app.component.html
@@ -16,4 +16,6 @@
   ~
   -->
 <ngx-loading-bar [color]="'rgb(27, 20, 100)'"></ngx-loading-bar>
-<router-outlet></router-outlet>
\ No newline at end of file
+<div [@routeAnimations]="prepareRoute(outlet)">
+    <router-outlet #outlet="outlet"></router-outlet>
+</div>
\ No newline at end of file
diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts
index e605376..2b62bc1 100644
--- a/ui/src/app/app.component.ts
+++ b/ui/src/app/app.component.ts
@@ -17,14 +17,21 @@
  */
 
 import {Component, OnInit} from "@angular/core";
+import {RouterOutlet} from "@angular/router";
+import {slideInAnimation} from "./animation";
 
 @Component({
   selector: 'app-root',
-  templateUrl: './app.component.html'
+  templateUrl: './app.component.html',
+  animations: [ slideInAnimation ]
 })
 export class AppComponent implements OnInit {
 
   ngOnInit(): void {
   }
 
+  prepareRoute(outlet: RouterOutlet) {
+    return outlet && outlet.activatedRouteData && outlet.activatedRouteData.animation;
+  }
+
 }
\ No newline at end of file
diff --git a/ui/src/app/login/components/login/login.component.html b/ui/src/app/login/components/login/login.component.html
index 806b2bd..f7c52ff 100644
--- a/ui/src/app/login/components/login/login.component.html
+++ b/ui/src/app/login/components/login/login.component.html
@@ -43,24 +43,15 @@
                                 <input [(ngModel)]="credentials.password" matInput name="password" type="password" class="sp" required/>
                             </mat-form-field>
                             <mat-checkbox [(ngModel)]="credentials.rememberMe" name="rememberMe" class="sp" color="primary">Remember Me</mat-checkbox>
-    <!--                        <md-input-container class="sp"><label class="sp">Email</label> <input-->
-    <!--                                type="email" class="sp" ng-model="ctrl.credentials.username" required>-->
-    <!--                        </md-input-container>-->
-    <!--                        <md-input-container class="sp" flex><label>Password</label>-->
-    <!--                            <input type="password" ng-model="ctrl.credentials.password" required>-->
-    <!--                        </md-input-container>-->
-    <!--                        <md-input-container flex>-->
-    <!--                            <md-checkbox-->
-    <!--                                    ng-model="ctrl.credentials.rememberMe"> Remember me-->
-    <!--                            </md-checkbox>-->
-    <!--                        </md-input-container>-->
                         </div>
                         <div class="form-actions" style="margin-top:20px;">
                             <button mat-button mat-raised-button color="primary" (click)="logIn()"
-                                    [disabled]="!loginForm.form.valid || loading">Login
+                                    [disabled]="!loginForm.form.valid || loading">
+                                <span *ngIf="loading">Logging in...</span>
+                                <span *ngIf="!loading">Login</span>
                             </button>
-                            <mat-spinner [mode]="'indeterminate'" color="primary"
-                                         *ngIf="loading"></mat-spinner>
+                            <mat-spinner [mode]="'indeterminate'" color="primary" [diameter]="20"
+                                         *ngIf="loading" style="margin-top:10px;"></mat-spinner>
                             <div class="md-warn" *ngIf="authenticationFailed">
                                 <h4>The password you entered is incorrect. Please try again.</h4>
                             </div>
diff --git a/ui/src/app/login/components/setup/setup.component.html b/ui/src/app/login/components/setup/setup.component.html
index 55497c7..3fe6d70 100644
--- a/ui/src/app/login/components/setup/setup.component.html
+++ b/ui/src/app/login/components/setup/setup.component.html
@@ -115,7 +115,7 @@
                         <div fxFlex fxLayout style="width:80%" class="center center" *ngIf="nextTaskTitle != ''">
                             <div fxFlex="80" style="width:50%"><h4>{{nextTaskTitle}}</h4></div>
                             <div fxFlex="20" style="width:50%">
-                        <mat-spinner class="md-accent" [mode]="'indeterminate'"
+                        <mat-spinner class="md-accent" [mode]="'indeterminate'" [diameter]="20" style="margin-top:10px;"
                                               *ngIf="loading"></mat-spinner>
                             </div>
                         </div>


[incubator-streampipes] 04/05: [STREAMPIPES-193] Remove obsolete dependencies

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 81993b54288bf6e8b4ee7578f31e0cdb54580e09
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 22:10:59 2020 +0200

    [STREAMPIPES-193] Remove obsolete dependencies
---
 ui/.gitignore                    |  1 +
 ui/package.json                  | 13 ++++---------
 ui/src/app/app-routing.module.ts |  7 +++----
 ui/src/scss/main.scss            |  3 ---
 4 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/ui/.gitignore b/ui/.gitignore
index 58fe3d8..e94a019 100644
--- a/ui/.gitignore
+++ b/ui/.gitignore
@@ -21,6 +21,7 @@ src/assets/lib/apps/*
 
 # prebuild
 src/app/app.module.ts
+src/app/app-routing.module.ts
 src/app/appng5.module.ts
 src/app/core/state.config.ts
 src/app/layout/toolbar.controller.ts
diff --git a/ui/package.json b/ui/package.json
index 8e4362a..ec24ea1 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -42,9 +42,7 @@
     "angular-gridster2": "8.3.0",
     "angular-loading-bar": "0.8.0",
     "angular-material-icons": "0.4.0",
-    "angular-notification-icons": "0.4.4",
     "angular-plotly.js": "1.5.0",
-    "angular-slick-carousel": "3.1.7",
     "angular-tree-component": "8.5.6",
     "angular-ui-tree": "2.9.0",
     "angular2-uuid": "1.1.1",
@@ -75,9 +73,7 @@
     "ng-prettyjson": "0.1.8",
     "ngx-showdown": "5.1.0",
     "ng-simple-slideshow": "1.2.9",
-    "ng2-charts": "2.0.3",
     "ng2-dragula": "1.5.0",
-    "ngmap": "1.18.0",
     "ngx-auto-scroll": "^1.1.0",
     "ngx-color-picker": "9.0.0",
     "ngx-quill": "12.0.1",
@@ -89,7 +85,6 @@
     "rxjs-compat": "6.3.3",
     "shepherd.js": "2.4.0",
     "showdown": "1.9.1",
-    "slick-carousel": "1.6.0",
     "systemjs": "0.21.6",
     "tslib": "1.11.1",
     "zone.js": "0.10.2"
@@ -134,10 +129,10 @@
     "tslint": "^5.15.0",
     "tslint-config-prettier": "^1.15.0",
     "typescript": "3.7.5",
-    "uglifyjs-webpack-plugin": "^2.1.2",
-    "webpack": "^4.41.6",
-    "webpack-cli": "^3.3.11",
-    "webpack-dev-server": "^3.10.3",
+    "uglifyjs-webpack-plugin": "2.2.0",
+    "webpack": "4.44.1",
+    "webpack-cli": "3.3.12",
+    "webpack-dev-server": "3.11.0",
     "webpack-merge": "^4.2.1",
     "webpack-bundle-analyzer": "^3.8.0"
   }
diff --git a/ui/src/app/app-routing.module.ts b/ui/src/app/app-routing.module.ts
index b9f0865..09b212f 100644
--- a/ui/src/app/app-routing.module.ts
+++ b/ui/src/app/app-routing.module.ts
@@ -42,9 +42,8 @@ import { AddComponent } from './add/add.component';
 import { ConfigurationComponent } from './configuration/configuration.component';
 
 const routes: Routes = [
-  { path: 'login', component: LoginComponent,
-    canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard],
-    data: {animation: 'LoginPage'}},
+  { path: 'login', component: LoginComponent, canActivate: [ConfiguredCanActivateGuard, LoggedInCanActivateGuard],
+  data: {animation: 'LoginPage'}},
   { path: 'setup', component: SetupComponent, canActivate: [AlreadyConfiguredCanActivateGuard] },
   { path: 'startup', component: StartupComponent },
   { path: 'standalone/:dashboardId', component: StandaloneDashboardComponent },
@@ -61,7 +60,7 @@ const routes: Routes = [
       { path: 'notifications', component: NotificationsComponent },
       { path: 'info', component: InfoComponent },
       { path: 'pipeline-details', component: PipelineDetailsComponent }
-    ], canActivateChild: [AuthCanActivateChildrenGuard]}
+    ], canActivateChild: [AuthCanActivateChildrenGuard] }
 ];
 
 @NgModule({
diff --git a/ui/src/scss/main.scss b/ui/src/scss/main.scss
index ab73bae..84c26f4 100644
--- a/ui/src/scss/main.scss
+++ b/ui/src/scss/main.scss
@@ -22,10 +22,7 @@
 //@import '~@angular/material/prebuilt-themes/indigo-pink.css';
 @import '~datatables.net-dt/css/jquery.dataTables.css';
 @import '~bootstrap/dist/css/bootstrap.css';
-@import '~slick-carousel/slick/slick-theme.css';
-@import '~slick-carousel/slick/slick.css';
 @import '~@fortawesome/fontawesome-free/css/all.css';
-@import '~angular-notification-icons/dist/angular-notification-icons.min.css';
 @import '~angular-ui-tree/dist/angular-ui-tree.min.css';
 @import '~jsplumb/dist/css/jsplumb.css';
 @import '~ng-prettyjson/dist/ng-prettyjson.min.css';


[incubator-streampipes] 05/05: [STREAMPIPES-193] Upgrade Angular to v10

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 511e69593bba8f142b0e73ebf7c7d5c1e8e68274
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 23:19:02 2020 +0200

    [STREAMPIPES-193] Upgrade Angular to v10
---
 ui/{browserslist => .browserslistrc}               |  0
 ui/angular.json                                    |  1 +
 ui/package.json                                    | 60 +++++++++++-----------
 .../connect/schema-editor/unit-provider.service.ts |  2 +
 .../base/abstract-static-property.ts               |  3 +-
 .../base/abstract-validated-static-property.ts     |  3 +-
 .../static-mapping/static-mapping.ts               |  2 +
 .../dialog/base-dialog/base-dialog.component.ts    |  3 +-
 .../widgets/base/base-ngx-charts-widget.ts         |  2 +
 .../widgets/base/base-ngx-line-charts-widget.ts    |  2 +
 .../components/widgets/base/base-widget.ts         |  3 +-
 .../widgets/base/base-data-explorer-widget.ts      |  3 +-
 .../output-strategy/base/BaseOutputStrategy.ts     |  3 +-
 ui/src/app/shared/logger/log.service.ts            |  2 +
 ui/src/tsconfig.app.json                           |  2 +-
 ui/src/tsconfig.spec.json                          |  2 +-
 ui/{tsconfig.json => tsconfig.base.json}           |  2 +-
 ui/tsconfig.json                                   | 39 ++++++--------
 ui/tsconfig.spec.json                              |  2 +-
 ui/tslint.json                                     |  1 -
 20 files changed, 72 insertions(+), 65 deletions(-)

diff --git a/ui/browserslist b/ui/.browserslistrc
similarity index 100%
rename from ui/browserslist
rename to ui/.browserslistrc
diff --git a/ui/angular.json b/ui/angular.json
index d2d34ea..55b4477 100644
--- a/ui/angular.json
+++ b/ui/angular.json
@@ -17,6 +17,7 @@
             "main": "src/main.ts",
             "tsConfig": "src/tsconfig.app.json",
             "polyfills": "src/polyfills.ts",
+            "allowedCommonJsDependencies": ["lodash", "codemirror"],
             "assets": [
               "src/assets",
               {
diff --git a/ui/package.json b/ui/package.json
index ec24ea1..12a8c0a 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -17,21 +17,21 @@
     "analyze": "webpack-bundle-analyzer dist/stats.json"
   },
   "dependencies": {
-    "@angular/animations": "9.0.5",
-    "@angular/cdk": "9.1.1",
-    "@angular/common": "9.0.5",
-    "@angular/compiler": "9.0.5",
-    "@angular/core": "9.0.5",
-    "@angular/flex-layout": "9.0.0-beta.29",
-    "@angular/forms": "9.0.5",
-    "@angular/material": "9.1.1",
-    "@angular/platform-browser": "9.0.5",
-    "@angular/platform-browser-dynamic": "9.0.5",
-    "@angular/router": "9.0.5",
-    "@angular/upgrade": "9.0.5",
+    "@angular/animations": "10.0.9",
+    "@angular/cdk": "10.1.3",
+    "@angular/common": "10.0.9",
+    "@angular/compiler": "10.0.9",
+    "@angular/core": "10.0.9",
+    "@angular/flex-layout": "^10.0.0-beta.32",
+    "@angular/forms": "10.0.9",
+    "@angular/material": "10.1.3",
+    "@angular/platform-browser": "10.0.9",
+    "@angular/platform-browser-dynamic": "10.0.9",
+    "@angular/router": "10.0.9",
+    "@angular/upgrade": "10.0.9",
     "@asymmetrik/ngx-leaflet": "6.0.1",
     "@ctrl/ngx-codemirror": "3.1.3",
-    "@danielmoncada/angular-datetime-picker": "9.2.0",
+    "@danielmoncada/angular-datetime-picker": "10.0.0",
     "@fortawesome/fontawesome-free": "5.12.1",
     "@ngui/datetime-picker": "0.16.2",
     "@ngx-loading-bar/core": "5.1.0",
@@ -64,7 +64,7 @@
     "jszip": "3.2.1",
     "konva": "3.2.4",
     "leaflet": "1.6.0",
-    "lodash": "3.10.1",
+    "lodash": "4.17.20",
     "material-design-icons": "3.0.1",
     "moment": "2.24.0",
     "ng-dynamic-component": "4.0.3",
@@ -81,19 +81,19 @@
     "prismjs": "1.16.0",
     "quill": "1.3.7",
     "roboto-fontface": "0.10.0",
-    "rxjs": "6.3.3",
+    "rxjs": "6.6.2",
     "rxjs-compat": "6.3.3",
     "shepherd.js": "2.4.0",
     "showdown": "1.9.1",
     "systemjs": "0.21.6",
-    "tslib": "1.11.1",
-    "zone.js": "0.10.2"
+    "tslib": "^2.0.0",
+    "zone.js": "0.10.3"
   },
   "devDependencies": {
-    "@angular-builders/custom-webpack": "^8.4.1",
-    "@angular-devkit/build-angular": "~0.900.5",
-    "@angular/cli": "9.0.5",
-    "@angular/compiler-cli": "9.0.5",
+    "@angular-builders/custom-webpack": "10.0.0",
+    "@angular-devkit/build-angular": "~0.1000.6",
+    "@angular/cli": "10.0.6",
+    "@angular/compiler-cli": "10.0.9",
     "@ngtools/webpack": "9.0.2",
     "@types/angular": "^1.6.43",
     "@types/jasmine": "~2.8.3",
@@ -102,21 +102,21 @@
     "@types/node": "^12.11.1",
     "@types/rx": "^4.1.1",
     "@types/showdown": "1.9.3",
-    "codelyzer": "^5.1.2",
+    "codelyzer": "^6.0.0",
     "copy-webpack-plugin": "^5.0.2",
     "compression-webpack-plugin": "^3.0.0",
     "css-loader": "^0.28.11",
     "extract-text-webpack-plugin": "^3.0.2",
     "file-loader": "^1.1.6",
     "html-webpack-plugin": "^3.2.0",
-    "jasmine-core": "~2.8.0",
+    "jasmine-core": "~3.5.0",
     "js-yaml": "^3.10.0",
-    "karma": "~2.0.0",
-    "karma-chrome-launcher": "~2.2.0",
-    "karma-coverage-istanbul-reporter": "^1.2.1",
+    "karma": "~5.0.0",
+    "karma-chrome-launcher": "~3.1.0",
+    "karma-coverage-istanbul-reporter": "~3.0.2",
     "karma-firefox-launcher": "^1.3.0",
-    "karma-jasmine": "~1.1.0",
-    "karma-jasmine-html-reporter": "^0.2.2",
+    "karma-jasmine": "~3.3.0",
+    "karma-jasmine-html-reporter": "^1.5.0",
     "karma-verbose-reporter": "0.0.6",
     "mini-css-extract-plugin": "^0.9.0",
     "mustache": "^2.3.0",
@@ -126,9 +126,9 @@
     "sass-loader": "^6.0.7",
     "style-loader": "^0.23.1",
     "to-string-loader": "^1.1.5",
-    "tslint": "^5.15.0",
+    "tslint": "~6.1.0",
     "tslint-config-prettier": "^1.15.0",
-    "typescript": "3.7.5",
+    "typescript": "3.9.7",
     "uglifyjs-webpack-plugin": "2.2.0",
     "webpack": "4.44.1",
     "webpack-cli": "3.3.12",
diff --git a/ui/src/app/connect/schema-editor/unit-provider.service.ts b/ui/src/app/connect/schema-editor/unit-provider.service.ts
index fda2405..3b7d8f5 100644
--- a/ui/src/app/connect/schema-editor/unit-provider.service.ts
+++ b/ui/src/app/connect/schema-editor/unit-provider.service.ts
@@ -17,7 +17,9 @@
  */
 
 import {UnitDescription} from '../model/UnitDescription';
+import { Injectable } from "@angular/core";
 
+@Injectable()
 export class UnitProviderService {
 
     private units: UnitDescription[] = [
diff --git a/ui/src/app/connect/static-properties/base/abstract-static-property.ts b/ui/src/app/connect/static-properties/base/abstract-static-property.ts
index e5f2923..8240f0b 100644
--- a/ui/src/app/connect/static-properties/base/abstract-static-property.ts
+++ b/ui/src/app/connect/static-properties/base/abstract-static-property.ts
@@ -21,10 +21,11 @@ import {
   StaticProperty,
   StaticPropertyUnion
 } from "../../../core-model/gen/streampipes-model";
-import {EventEmitter, Input, Output} from "@angular/core";
+import { EventEmitter, Input, Output, Directive } from "@angular/core";
 import {FormGroup} from "@angular/forms";
 import {ConfigurationInfo} from "../../model/message/ConfigurationInfo";
 
+@Directive()
 export abstract class AbstractStaticPropertyRenderer<T extends StaticProperty> {
 
   @Input()
diff --git a/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts b/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
index 3a74d07..bf57469 100644
--- a/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
+++ b/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
@@ -19,8 +19,9 @@
 import {StaticProperty} from "../../../core-model/gen/streampipes-model";
 import {AbstractStaticPropertyRenderer} from "./abstract-static-property";
 import {FormControl, ValidatorFn} from "@angular/forms";
-import {OnDestroy} from "@angular/core";
+import { OnDestroy, Directive } from "@angular/core";
 
+@Directive()
 export abstract class AbstractValidatedStaticPropertyRenderer<T extends StaticProperty>
     extends AbstractStaticPropertyRenderer<T> implements OnDestroy {
 
diff --git a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
index 6ccdbcc..521bed9 100644
--- a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
+++ b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
@@ -24,8 +24,10 @@ import {
     MappingProperty
 } from "../../../core-model/gen/streampipes-model";
 import {AbstractValidatedStaticPropertyRenderer} from "../base/abstract-validated-static-property";
+import { Directive } from "@angular/core";
 
 
+@Directive()
 export abstract class StaticMappingComponent<T extends MappingProperty>
     extends AbstractValidatedStaticPropertyRenderer<T> {
 
diff --git a/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts b/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
index f1c7291..42ca2da 100644
--- a/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
+++ b/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
@@ -16,10 +16,11 @@
  *
  */
 
-import {EventEmitter, Input, Output, ViewChild} from "@angular/core";
+import { EventEmitter, Input, Output, ViewChild, Directive } from "@angular/core";
 import {CdkPortalOutlet, ComponentPortal, Portal} from "@angular/cdk/portal";
 import {DialogRef} from "./dialog-ref";
 
+@Directive()
 export abstract class BaseDialogComponent<T> {
 
   @Input()
diff --git a/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
index e4525c0..bdc0cae 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
@@ -20,7 +20,9 @@ import {BaseStreamPipesWidget} from "./base-widget";
 import {RxStompService} from "@stomp/ng2-stompjs";
 import {ResizeService} from "../../../services/resize.service";
 import {DashboardService} from "../../../services/dashboard.service";
+import { Directive } from "@angular/core";
 
+@Directive()
 export abstract class BaseNgxChartsStreamPipesWidget extends BaseStreamPipesWidget {
 
     view: any[] = [];
diff --git a/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
index beb8153..63b1045 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
@@ -22,7 +22,9 @@ import {BaseNgxChartsStreamPipesWidget} from "./base-ngx-charts-widget";
 import {StaticPropertyExtractor} from "../../../sdk/extractor/static-property-extractor";
 import {LineConfig} from "../line/line-config";
 import {DashboardService} from "../../../services/dashboard.service";
+import { Directive } from "@angular/core";
 
+@Directive()
 export abstract class BaseNgxLineChartsStreamPipesWidget extends BaseNgxChartsStreamPipesWidget {
 
     multi:any = [];
diff --git a/ui/src/app/dashboard/components/widgets/base/base-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-widget.ts
index 81a1289..44a87d1 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-widget.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Input, OnChanges, SimpleChanges} from "@angular/core";
+import { Input, OnChanges, SimpleChanges, Directive } from "@angular/core";
 import {DashboardItem} from "../../../models/dashboard.model";
 import {StaticPropertyExtractor} from "../../../sdk/extractor/static-property-extractor";
 import {RxStompService} from "@stomp/ng2-stompjs";
@@ -32,6 +32,7 @@ import {
     VisualizablePipeline
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseStreamPipesWidget implements OnChanges {
 
     @Input() widget: DashboardItem;
diff --git a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
index ed848e8..6870cf6 100644
--- a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
+++ b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
+import { EventEmitter, Input, OnChanges, Output, SimpleChanges, Directive } from '@angular/core';
 import { MatDialog } from '@angular/material/dialog';
 import { GridsterItem, GridsterItemComponent } from 'angular-gridster2';
 import { DateRange } from '../../../../core-model/datalake/DateRange';
@@ -29,6 +29,7 @@ import {
   EventSchema
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseDataExplorerWidget implements OnChanges {
 
   protected constructor(protected dataLakeRestService: DatalakeRestService, protected dialog: MatDialog) {
diff --git a/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts b/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
index 6106983..79e0dd4 100644
--- a/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
+++ b/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
@@ -16,13 +16,14 @@
  *
  */
 
-import {Input} from "@angular/core";
+import { Input, Directive } from "@angular/core";
 import {FormGroup} from "@angular/forms";
 import {
   DataProcessorInvocation,
   OutputStrategy
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseOutputStrategy<T extends OutputStrategy> {
 
   @Input()
diff --git a/ui/src/app/shared/logger/log.service.ts b/ui/src/app/shared/logger/log.service.ts
index e5a1fd5..b3d3ba2 100644
--- a/ui/src/app/shared/logger/log.service.ts
+++ b/ui/src/app/shared/logger/log.service.ts
@@ -21,9 +21,11 @@ declare var console: any;
 
 // Import the application components and services.
 import {ILogger} from "./default-log.service";
+import { Injectable } from "@angular/core";
 
 
 // I log values to the ambient console object.
+@Injectable()
 export class ConsoleLogService implements ILogger {
 
     public assert( ...args: any[] ) : void {
diff --git a/ui/src/tsconfig.app.json b/ui/src/tsconfig.app.json
index 7928203..3c39f39 100644
--- a/ui/src/tsconfig.app.json
+++ b/ui/src/tsconfig.app.json
@@ -1,5 +1,5 @@
 {
-  "extends": "../tsconfig.json",
+  "extends": "../tsconfig.base.json",
   "compilerOptions": {
     "outDir": "../out-tsc/app",
     "baseUrl": "./",
diff --git a/ui/src/tsconfig.spec.json b/ui/src/tsconfig.spec.json
index 5bbe9f1..3880a9a 100644
--- a/ui/src/tsconfig.spec.json
+++ b/ui/src/tsconfig.spec.json
@@ -1,5 +1,5 @@
 {
-  "extends": "../tsconfig.json",
+  "extends": "../tsconfig.base.json",
   "compilerOptions": {
     "outDir": "../out-tsc/spec",
     "baseUrl": "./",
diff --git a/ui/tsconfig.json b/ui/tsconfig.base.json
similarity index 95%
copy from ui/tsconfig.json
copy to ui/tsconfig.base.json
index 1c1aaca..512e7e8 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.base.json
@@ -3,7 +3,7 @@
   "compilerOptions": {
     "downlevelIteration": true,
     "importHelpers": true,
-    "module": "esnext",
+    "module": "es2020",
     "outDir": "./dist/out-tsc",
     "sourceMap": true,
     "declaration": false,
diff --git a/ui/tsconfig.json b/ui/tsconfig.json
index 1c1aaca..17ef80a 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.json
@@ -1,26 +1,17 @@
+/*
+  This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScript’s language server to improve development experience.
+  It is not intended to be used to perform a compilation.
+
+  To learn more about this file see: https://angular.io/config/solution-tsconfig.
+*/
 {
-  "compileOnSave": false,
-  "compilerOptions": {
-    "downlevelIteration": true,
-    "importHelpers": true,
-    "module": "esnext",
-    "outDir": "./dist/out-tsc",
-    "sourceMap": true,
-    "declaration": false,
-    "moduleResolution": "node",
-    "emitDecoratorMetadata": true,
-    "experimentalDecorators": true,
-    "target": "es2015",
-    "typeRoots": [
-      "node_modules/@types"
-    ],
-    "types": [
-      "node"
-    ],
-    "lib": [
-      "es2017",
-      "dom"
-    ],
-    "baseUrl": "./"
-  }
+  "files": [],
+  "references": [
+    {
+      "path": "./src/tsconfig.app.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    }
+  ]
 }
\ No newline at end of file
diff --git a/ui/tsconfig.spec.json b/ui/tsconfig.spec.json
index 6400fde..1db2e6e 100644
--- a/ui/tsconfig.spec.json
+++ b/ui/tsconfig.spec.json
@@ -1,5 +1,5 @@
 {
-  "extends": "./tsconfig.json",
+  "extends": "./tsconfig.base.json",
   "compilerOptions": {
     "outDir": "./out-tsc/spec",
     "types": [
diff --git a/ui/tslint.json b/ui/tslint.json
index 0110a9b..8d4013b 100644
--- a/ui/tslint.json
+++ b/ui/tslint.json
@@ -49,7 +49,6 @@
     "no-trailing-whitespace": true,
     "no-unnecessary-initializer": true,
     "no-unused-expression": true,
-    "no-use-before-declare": true,
     "no-var-keyword": true,
     "object-literal-sort-keys": false,
     "one-line": [


[incubator-streampipes] 01/05: [STREAMPIPES-193] Fix automatic start of pipelines

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 103d84dc44900262ad75d8e1048c59889c3d3e83
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 15:01:16 2020 +0200

    [STREAMPIPES-193] Fix automatic start of pipelines
---
 .../components/pipeline-overview/pipeline-overview.component.ts   | 2 +-
 ui/src/app/pipelines/pipelines.component.ts                       | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/ui/src/app/pipelines/components/pipeline-overview/pipeline-overview.component.ts b/ui/src/app/pipelines/components/pipeline-overview/pipeline-overview.component.ts
index 495e2e5..5e8b59e 100644
--- a/ui/src/app/pipelines/components/pipeline-overview/pipeline-overview.component.ts
+++ b/ui/src/app/pipelines/components/pipeline-overview/pipeline-overview.component.ts
@@ -60,7 +60,7 @@ export class PipelineOverviewComponent implements OnInit {
     this.toggleRunningOperation = this.toggleRunningOperation.bind(this);
 
     if (this.pipelineToStart) {
-      if (!this.pipelineToStart.running) {
+      if (!(this.pipelineToStart.running)) {
         this.pipelineOperationsService.startPipeline(this.pipelineToStart._id, this.toggleRunningOperation, this.refreshPipelinesEmitter);
       }
     }
diff --git a/ui/src/app/pipelines/pipelines.component.ts b/ui/src/app/pipelines/pipelines.component.ts
index cebc4a0..777a713 100644
--- a/ui/src/app/pipelines/pipelines.component.ts
+++ b/ui/src/app/pipelines/pipelines.component.ts
@@ -17,7 +17,7 @@
  */
 
 import * as FileSaver from 'file-saver';
-import {Component, Inject, OnInit} from "@angular/core";
+import {Component, OnInit} from "@angular/core";
 import {PipelineService} from "../platform-services/apis/pipeline.service";
 import {Pipeline, PipelineCategory} from '../core-model/gen/streampipes-model';
 import {DialogService} from "../core-ui/dialog/base-dialog/base-dialog.service";
@@ -29,9 +29,6 @@ import {PipelineCategoriesDialogComponent} from "./dialog/pipeline-categories/pi
 import {zip} from "rxjs";
 import {ActivatedRoute} from "@angular/router";
 
-declare const jsPlumb: any;
-declare const require: any;
-
 @Component({
     selector: 'pipelines',
     templateUrl: './pipelines.component.html',
@@ -46,6 +43,7 @@ export class PipelinesComponent implements OnInit {
     stopping: boolean;
     pipelineCategories: Array<PipelineCategory>;
     activeCategoryId: string;
+
     pipelineIdToStart: string;
 
     pipelineToStart: Pipeline;
@@ -66,7 +64,7 @@ export class PipelinesComponent implements OnInit {
     ngOnInit() {
         this.ActivatedRoute.queryParams.subscribe(params => {
             if (params['pipeline']) {
-                this.pipelineToStart = params['pipeline'];
+                this.pipelineIdToStart = params['pipeline'];
             }
             this.getPipelineCategories();
             this.getPipelines();