This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 03acc10d4d fix: Set table as default widget type (#3374)
03acc10d4d is described below
commit 03acc10d4d0c08484ebcd3072ae830113904aed5
Author: Marcel Früholz <[email protected]>
AuthorDate: Mon Dec 16 11:09:27 2024 +0100
fix: Set table as default widget type (#3374)
* Set table as default widget type
* Adjust test to changes
---
.../datalake/widgetDataConfiguration.smoke.spec.ts | 4 +--
.../data-explorer-designer-panel.component.html | 4 +++
...ta-explorer-widget-data-settings.component.html | 1 +
...data-explorer-widget-data-settings.component.ts | 37 ++++++++++++++++++++++
.../field-selection-panel.component.ts | 6 +++-
.../order-selection-panel.component.ts | 2 +-
6 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/ui/cypress/tests/datalake/widgetDataConfiguration.smoke.spec.ts
b/ui/cypress/tests/datalake/widgetDataConfiguration.smoke.spec.ts
index 040bc3cefc..911cdc6b5a 100644
--- a/ui/cypress/tests/datalake/widgetDataConfiguration.smoke.spec.ts
+++ b/ui/cypress/tests/datalake/widgetDataConfiguration.smoke.spec.ts
@@ -84,10 +84,10 @@ describe('Test Table View in Data Explorer', () => {
DataLakeUtils.clickGroupBy('randomtext');
cy.wait(1000);
cy.dataCy('data-explorer-table-row-randomtext', { timeout: 10000 })
- .first({ timeout: 10000 })
+ .last({ timeout: 10000 })
.contains('a', { timeout: 10000 });
cy.dataCy('data-explorer-table-row-randomtext', { timeout: 10000 })
- .last({ timeout: 10000 })
+ .first({ timeout: 10000 })
.contains('c', { timeout: 10000 });
DataLakeWidgetTableUtils.checkRows(10);
DataLakeUtils.saveAndReEditWidget('NewWidget');
diff --git
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-explorer-designer-panel.component.html
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-explorer-designer-panel.component.html
index a57f95d31c..3096802638 100644
---
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-explorer-designer-panel.component.html
+++
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-explorer-designer-panel.component.html
@@ -37,6 +37,9 @@
#dataSettingsPanel
[(dataLakeMeasure)]="dataLakeMeasure"
[dataConfig]="currentlyConfiguredWidget.dataConfig"
+ [currentlyConfiguredWidget]="
+ currentlyConfiguredWidget
+ "
[newWidgetMode]="newWidgetMode"
[widgetId]="currentlyConfiguredWidget.elementId"
(createWidgetEmitter)="createNewWidget()"
@@ -55,6 +58,7 @@
>
<div class="scroll-tab-content">
<sp-explorer-visualisation-settings
+ *ngIf="currentlyConfiguredWidget.widgetType"
fxFlex="100"
fxLayout="column"
[currentlyConfiguredWidget]="
diff --git
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.html
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.html
index e63324da6f..810d702fec 100644
---
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.html
+++
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.html
@@ -226,6 +226,7 @@
<sp-field-selection-panel
#fieldSelectionPanel
[sourceConfig]="sourceConfig"
+ (initialFieldSelectionEvent)="createDefaultWidget()"
></sp-field-selection-panel>
<sp-filter-selection-panel
diff --git
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.ts
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.ts
index 8823d519b3..c2de37bfd2 100644
---
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.ts
+++
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/data-explorer-widget-data-settings.component.ts
@@ -37,6 +37,10 @@ import { zip } from 'rxjs';
import { WidgetConfigurationService } from
'../../../../services/widget-configuration.service';
import { FieldSelectionPanelComponent } from
'./field-selection-panel/field-selection-panel.component';
import { GroupSelectionPanelComponent } from
'./group-selection-panel/group-selection-panel.component';
+import { TableVisConfig } from
'../../../widgets/table/model/table-widget.model';
+import { DataExplorerFieldProviderService } from
'src/app/data-explorer/services/data-explorer-field-provider-service';
+import { FieldProvider } from
'src/app/data-explorer/models/dataview-dashboard.model';
+import { WidgetTypeService } from
'src/app/data-explorer/services/widget-type.service';
@Component({
selector: 'sp-data-explorer-widget-data-settings',
@@ -48,6 +52,7 @@ export class DataExplorerWidgetDataSettingsComponent
implements OnInit {
@Input() dataLakeMeasure: DataLakeMeasure;
@Input() newWidgetMode: boolean;
@Input() widgetId: string;
+ @Input() currentlyConfiguredWidget: DataExplorerWidgetModel;
@Output() createWidgetEmitter: EventEmitter<
Tuple2<DataLakeMeasure, DataExplorerWidgetModel>
@@ -72,6 +77,8 @@ export class DataExplorerWidgetDataSettingsComponent
implements OnInit {
private dataExplorerService: DataViewDataExplorerService,
private datalakeRestService: DatalakeRestService,
private widgetConfigService: WidgetConfigurationService,
+ private fieldProviderService: DataExplorerFieldProviderService,
+ private widgetTypeService: WidgetTypeService,
) {}
ngOnInit(): void {
@@ -90,6 +97,13 @@ export class DataExplorerWidgetDataSettingsComponent
implements OnInit {
);
this.availableMeasurements = response[1];
+ this.availablePipelines.sort((a, b) =>
+ a.pipelineName.localeCompare(b.pipelineName),
+ );
+ this.availableMeasurements.sort((a, b) =>
+ a.measureName.localeCompare(b.measureName),
+ );
+
// replace pipeline event schemas. Reason: Available measures do
not contain field for timestamp
this.availablePipelines.forEach(p => {
const measurement = this.availableMeasurements.find(m => {
@@ -216,6 +230,29 @@ export class DataExplorerWidgetDataSettingsComponent
implements OnInit {
};
}
+ makeVisualizationConfig(fields: FieldProvider): TableVisConfig {
+ return {
+ configurationValid: true,
+ searchValue: '',
+ selectedColumns: fields.allFields,
+ };
+ }
+
+ createDefaultWidget(): void {
+ if (this.dataConfig.sourceConfigs.length === 1) {
+ const fields = this.fieldProviderService.generateFieldLists(
+ this.dataConfig.sourceConfigs,
+ );
+ this.currentlyConfiguredWidget.visualizationConfig =
+ this.makeVisualizationConfig(fields);
+ this.currentlyConfiguredWidget.widgetType = 'table';
+ this.widgetTypeService.notify({
+ widgetId: this.currentlyConfiguredWidget.elementId,
+ newWidgetTypeId: this.currentlyConfiguredWidget.widgetType,
+ });
+ }
+ }
+
removeSourceConfig(index: number) {
this.dataConfig.sourceConfigs.splice(index, 1);
}
diff --git
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/field-selection-panel/field-selection-panel.component.ts
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/field-selection-panel/field-selection-panel.component.ts
index bde51d0a56..49a6b64ec3 100644
---
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/field-selection-panel/field-selection-panel.component.ts
+++
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/field-selection-panel/field-selection-panel.component.ts
@@ -16,7 +16,7 @@
*
*/
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import {
EventPropertyUnion,
FieldConfig,
@@ -35,6 +35,9 @@ export class FieldSelectionPanelComponent implements OnInit {
@Input() sourceConfig: SourceConfig;
+ @Output()
+ initialFieldSelectionEvent: EventEmitter<void> = new EventEmitter();
+
expandFields = false;
constructor(
@@ -44,6 +47,7 @@ export class FieldSelectionPanelComponent implements OnInit {
ngOnInit() {
this.applyDefaultFields();
+ this.initialFieldSelectionEvent.emit();
}
applyDefaultFields() {
diff --git
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/order-selection-panel/order-selection-panel.component.ts
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/order-selection-panel/order-selection-panel.component.ts
index 2e9ef62a66..a020e301f9 100644
---
a/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/order-selection-panel/order-selection-panel.component.ts
+++
b/ui/src/app/data-explorer/components/data-view/data-view-designer-panel/data-settings/order-selection-panel/order-selection-panel.component.ts
@@ -31,7 +31,7 @@ export class OrderSelectionPanelComponent implements OnInit {
constructor(private widgetConfigService: WidgetConfigurationService) {}
ngOnInit(): void {
- this.sourceConfig.queryConfig.order ??= 'ASC';
+ this.sourceConfig.queryConfig.order ??= 'DESC';
}
triggerConfigurationUpdate() {