You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2020/03/12 20:47:08 UTC

[incubator-streampipes] 02/04: Working on data explorer

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

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

commit ff7c439634a4f476f2382200eddda08ff76595c5
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Tue Mar 10 09:50:14 2020 +0100

    Working on data explorer
---
 .../serializers/jsonld/JsonLdTransformer.java        |  3 +--
 ui/deployment/dev/config.yml                         |  5 -----
 .../core-services/shared/shared-dashboard.service.ts |  2 +-
 .../grid/data-explorer-dashboard-grid.component.ts   |  2 +-
 .../widgets/base/base-data-explorer-widget.ts        | 19 +++++++++++++++++++
 .../line-chart/line-chart-widget.component.ts        | 20 ++++++++++++++------
 .../widgets/table/table-widget.component.ts          | 14 ++++++++++----
 .../app/data-explorer-v2/services/resize.service.ts  |  2 +-
 ui/src/scss/main.scss                                |  3 ---
 9 files changed, 47 insertions(+), 23 deletions(-)

diff --git a/streampipes-serializers/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdTransformer.java b/streampipes-serializers/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdTransformer.java
index 5c952a7..5d2be10 100644
--- a/streampipes-serializers/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdTransformer.java
+++ b/streampipes-serializers/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdTransformer.java
@@ -69,8 +69,7 @@ public class JsonLdTransformer implements RdfTransformer {
           StreamPipes.CONNECT_WORKER_CONTAINER,
           StreamPipes.DASHBOARD_WIDGET_MODEL,
           StreamPipes.DASHBOARD_MODEL,
-          StreamPipes.DATA_EXPLORER_WIDGET_MODEL,
-          StreamPipes.DATA_LAKE_MEASURE
+          StreamPipes.DATA_EXPLORER_WIDGET_MODEL
   );
 
   private List<String> selectedRootElements;
diff --git a/ui/deployment/dev/config.yml b/ui/deployment/dev/config.yml
index 693875b..568a8c6 100644
--- a/ui/deployment/dev/config.yml
+++ b/ui/deployment/dev/config.yml
@@ -26,10 +26,5 @@ modules:
   - spAdd
   - spMyElements
   - spDataExplorer
-<<<<<<< HEAD
   - spConfiguration
-  - spDashboard2
   - spDataExplorer2
-=======
-  - spConfiguration
->>>>>>> dev
diff --git a/ui/src/app/core-services/shared/shared-dashboard.service.ts b/ui/src/app/core-services/shared/shared-dashboard.service.ts
index 47bcbde..b2f40ff 100644
--- a/ui/src/app/core-services/shared/shared-dashboard.service.ts
+++ b/ui/src/app/core-services/shared/shared-dashboard.service.ts
@@ -19,7 +19,7 @@
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';
 import { Observable } from 'rxjs/Observable';
-import { Dashboard } from '../../dashboard-v2/models/dashboard.model';
+import { Dashboard } from '../../dashboard/models/dashboard.model';
 import { AuthStatusService } from '../../services/auth-status.service';
 
 @Injectable()
diff --git a/ui/src/app/data-explorer-v2/components/grid/data-explorer-dashboard-grid.component.ts b/ui/src/app/data-explorer-v2/components/grid/data-explorer-dashboard-grid.component.ts
index d97b418..1d38a95 100644
--- a/ui/src/app/data-explorer-v2/components/grid/data-explorer-dashboard-grid.component.ts
+++ b/ui/src/app/data-explorer-v2/components/grid/data-explorer-dashboard-grid.component.ts
@@ -28,7 +28,7 @@ import {
 import { GridsterItemComponent, GridType } from 'angular-gridster2';
 import { DataExplorerWidgetModel } from '../../../core-model/datalake/DataExplorerWidgetModel';
 import { DateRange } from '../../../core-model/datalake/DateRange';
-import { GridsterInfo } from '../../../dashboard-v2/models/gridster-info.model';
+import { GridsterInfo } from '../../../dashboard/models/gridster-info.model';
 import { IDataViewDashboard, IDataViewDashboardConfig, IDataViewDashboardItem } from '../../models/dataview-dashboard.model';
 import { DataViewDataExplorerService } from '../../services/data-view-data-explorer.service';
 import { RefreshDashboardService } from '../../services/refresh-dashboard.service';
diff --git a/ui/src/app/data-explorer-v2/components/widgets/base/base-data-explorer-widget.ts b/ui/src/app/data-explorer-v2/components/widgets/base/base-data-explorer-widget.ts
index 9ff0f47..5ecfceb 100644
--- a/ui/src/app/data-explorer-v2/components/widgets/base/base-data-explorer-widget.ts
+++ b/ui/src/app/data-explorer-v2/components/widgets/base/base-data-explorer-widget.ts
@@ -21,6 +21,8 @@ import { GridsterItem, GridsterItemComponent } from 'angular-gridster2';
 import { DataExplorerWidgetModel } from '../../../../core-model/datalake/DataExplorerWidgetModel';
 import { DateRange } from '../../../../core-model/datalake/DateRange';
 import { IDataViewDashboardItem } from '../../../models/dataview-dashboard.model';
+import { EventSchema } from '../../../../connect/schema-editor/model/EventSchema';
+import { EventPropertyPrimitive } from '../../../../connect/schema-editor/model/EventPropertyPrimitive';
 
 export abstract class BaseDataExplorerWidget implements OnChanges {
 
@@ -65,4 +67,21 @@ export abstract class BaseDataExplorerWidget implements OnChanges {
 
   public abstract updateData();
 
+  // TODO add static properties that are ignored
+  getPropertyKeys(eventSchema: EventSchema, except: string[] = []) {
+    const propertyKeys: string[] = [];
+
+    // eventSchema.eventProperties.forEach(p => {
+    //   if (except.p.domainProperty)
+    //   propertyKeys.push(p.getRuntimeName());
+    // });
+
+    return propertyKeys;
+  }
+
+  // TODO add get a specific property
+  getPropertyKeysOfStaticProperty(eventSchema) {
+
+  }
+
 }
diff --git a/ui/src/app/data-explorer-v2/components/widgets/line-chart/line-chart-widget.component.ts b/ui/src/app/data-explorer-v2/components/widgets/line-chart/line-chart-widget.component.ts
index d746adc..f3f57e5 100644
--- a/ui/src/app/data-explorer-v2/components/widgets/line-chart/line-chart-widget.component.ts
+++ b/ui/src/app/data-explorer-v2/components/widgets/line-chart/line-chart-widget.component.ts
@@ -29,15 +29,26 @@ import { BaseDataExplorerWidget } from '../base/base-data-explorer-widget';
 export class LineChartWidgetComponent extends BaseDataExplorerWidget implements OnInit {
 
   data: any[] = undefined;
-  availableColumns: string[] = ['time', 'count', 'randomText', 'randomNumber', 'timestamp'];
-  yKeys: string[] = ['time', 'count', 'randomText', 'randomNumber', 'timestamp'];
-  xKey = 'time';
+  availableColumns: string[] = [];
+  yKeys: string[] = [];
+  xKey = 'timestamp';
 
   constructor(private dataLakeRestService: DatalakeRestService) {
     super();
   }
 
 
+  ngOnInit(): void {
+
+    this.availableColumns = this.getPropertyKeys(this.dataExplorerWidget.dataLakeMeasure.eventSchema);
+
+    // Reduce selected columns when more then 6
+    this.yKeys = this.availableColumns.length > 6 ? this.availableColumns.slice(0, 5) : this.availableColumns;
+
+    this.updateData();
+  }
+
+
   updatemenus = [
     {
       buttons: [
@@ -88,9 +99,6 @@ export class LineChartWidgetComponent extends BaseDataExplorerWidget implements
   };
 
 
-  ngOnInit(): void {
-    this.updateData();
-  }
 
   updateData() {
 
diff --git a/ui/src/app/data-explorer-v2/components/widgets/table/table-widget.component.ts b/ui/src/app/data-explorer-v2/components/widgets/table/table-widget.component.ts
index 8cd2b06..9f33492 100644
--- a/ui/src/app/data-explorer-v2/components/widgets/table/table-widget.component.ts
+++ b/ui/src/app/data-explorer-v2/components/widgets/table/table-widget.component.ts
@@ -16,9 +16,10 @@
  *
  */
 
-import { Component, OnChanges, OnDestroy, OnInit,  ViewChild } from '@angular/core';
+import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
 import { MatSort } from '@angular/material/sort';
 import { MatTableDataSource } from '@angular/material/table';
+import { EventSchema } from '../../../../connect/schema-editor/model/EventSchema';
 import { DataResult } from '../../../../core-model/datalake/DataResult';
 import { DatalakeRestService } from '../../../../core-services/datalake/datalake-rest.service';
 import { BaseDataExplorerWidget } from '../base/base-data-explorer-widget';
@@ -33,8 +34,8 @@ export class TableWidgetComponent extends BaseDataExplorerWidget implements OnIn
 
   @ViewChild(MatSort, {static: true}) sort: MatSort;
 
-  availableColumns: string[] = ['time', 'count', 'randomText', 'randomNumber', 'timestamp'];
-  selectedColumns: string[] = ['time'];
+  availableColumns: string[];
+  selectedColumns: string[];
 
   dataSource = new MatTableDataSource();
 
@@ -44,12 +45,17 @@ export class TableWidgetComponent extends BaseDataExplorerWidget implements OnIn
 
   ngOnInit(): void {
     this.dataSource.sort = this.sort;
+    this.availableColumns = this.getPropertyKeys(this.dataExplorerWidget.dataLakeMeasure.eventSchema);
 
-    this.updateData();
+    // Reduce selected columns when more then 6
+    this.selectedColumns = this.availableColumns.length > 6 ? this.availableColumns.slice(0, 5) : this.availableColumns;
 
+    this.updateData();
 
   }
 
+
+
   updateData() {
     this.setShownComponents(false, false, true);
 
diff --git a/ui/src/app/data-explorer-v2/services/resize.service.ts b/ui/src/app/data-explorer-v2/services/resize.service.ts
index e4f1e49..e856b09 100644
--- a/ui/src/app/data-explorer-v2/services/resize.service.ts
+++ b/ui/src/app/data-explorer-v2/services/resize.service.ts
@@ -18,7 +18,7 @@
 
 import { Injectable } from '@angular/core';
 import { ReplaySubject } from 'rxjs';
-import { GridsterInfo } from '../../dashboard-v2/models/gridster-info.model';
+import { GridsterInfo } from '../../dashboard/models/gridster-info.model';
 
 @Injectable()
 export class ResizeService {
diff --git a/ui/src/scss/main.scss b/ui/src/scss/main.scss
index 9077c1c..2532e19 100644
--- a/ui/src/scss/main.scss
+++ b/ui/src/scss/main.scss
@@ -35,12 +35,9 @@
 @import '~prismjs/themes/prism.css';
 @import '~angular-loading-bar/build/loading-bar.min.css';
 @import '~shepherd.js/dist/css/shepherd-theme-default.css';
-<<<<<<< HEAD
 @import "~ng-pick-datetime/assets/style/picker.min.css";
-=======
 @import '~leaflet/dist/leaflet.css';
 @import '~material-design-icons/iconfont/material-icons.css';
->>>>>>> dev
 
 @import '../assets/fonts/Roboto-Regular.css';