This is an automated email from the ASF dual-hosted git repository. SvenO3 pushed a commit to branch 4733-rename-application-private-data-lake-ui-components in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 53ee67683824f4bba34246bdf8877f92aabab051 Author: Sven Oehler <[email protected]> AuthorDate: Mon Jul 20 18:34:37 2026 +0200 Rename components --- .../userManagement/testUserRoleDataset.spec.ts | 4 +- .../chart-data-settings.component.html | 10 +- .../data-settings/chart-data-settings.component.ts | 70 ++++----- .../dataset-last-event-label.component.html} | 0 .../dataset-last-event-label.component.scss} | 0 .../dataset-last-event-label.component.ts} | 8 +- .../dataset-overview-entry.ts} | 3 +- .../dataset-overview.component.html} | 10 +- .../dataset-overview.component.scss} | 0 .../dataset-overview.component.ts} | 165 ++++++++++----------- ui/src/app/dataset/dataset.routes.ts | 4 +- .../delete-dataset-dialog.component.html} | 0 .../delete-dataset-dialog.component.ts} | 18 +-- 13 files changed, 140 insertions(+), 152 deletions(-) diff --git a/ui/cypress/tests/userManagement/testUserRoleDataset.spec.ts b/ui/cypress/tests/userManagement/testUserRoleDataset.spec.ts index 3a7e924e65..a17dedad6a 100644 --- a/ui/cypress/tests/userManagement/testUserRoleDataset.spec.ts +++ b/ui/cypress/tests/userManagement/testUserRoleDataset.spec.ts @@ -24,7 +24,7 @@ import { PermissionUtils } from '../../support/utils/user/PermissionUtils'; import { ChartBtns } from '../../support/utils/chart/ChartBtns'; import { DatasetUtils } from '../../support/utils/dataset/DatasetUtils'; import { GeneralUtils } from '../../support/utils/GeneralUtils'; -import { DataLakeSeedUtils } from '../../support/utils/dataset/DataLakeSeedUtils'; +import { DatasetSeedUtils } from '../../support/utils/dataset/DatasetSeedUtils'; import { SharedBtns } from '../../support/utils/shared/SharedBtns'; describe('Test Dataset Permissions', () => { @@ -181,7 +181,7 @@ describe('Test Dataset Permissions', () => { function generateDataset() { UserUtils.switchUser(datasetAdmin1); - DataLakeSeedUtils.importCsvFixture({ + DatasetSeedUtils.importCsvFixture({ fixture: 'datalake/machine-data-simulator-import.csv', measurementName: datasetName, delimiter: ',', diff --git a/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.html b/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.html index 0f884ccaff..d0058bc09c 100644 --- a/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.html +++ b/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.html @@ -43,7 +43,7 @@ [level]="3" [title]="'Dataset' | translate" > - @if (availableMeasurements.length === 0) { + @if (availableDatasets.length === 0) { <sp-alert-banner type="warning" icon="warning" @@ -83,15 +83,15 @@ </div> </div> } - @if (availableMeasurements.length !== 0) { + @if (availableDatasets.length !== 0) { <sp-search-select fxFlex="100" - [items]="availableMeasurements" - [value]="selectedMeasurement" + [items]="availableDatasets" + [value]="selectedDataset" [placeholder]="'Search datasets' | translate" dataCy="data-explorer-select-data-set" (valueChange)=" - onMeasurementSelectionChange( + onDatasetSelectionChange( sourceConfig, $event ) diff --git a/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.ts b/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.ts index 3d0e0e7690..80ae9c2df4 100644 --- a/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.ts +++ b/ui/src/app/chart/components/chart-view/designer-panel/data-settings/chart-data-settings.component.ts @@ -143,10 +143,10 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { @ViewChild('groupSelectionPanel') groupSelectionPanel: GroupSelectionPanelComponent; - availableMeasurements: DatasetSummaryDto[] = []; - selectedMeasurement: DatasetSummaryDto | undefined; + availableDatasets: DatasetSummaryDto[] = []; + selectedDataset: DatasetSummaryDto | undefined; - private pendingMeasurementRefresh = false; + private pendingDatasetRefresh = false; private dataRefreshTimeout?: ReturnType<typeof setTimeout>; step = 0; @@ -160,25 +160,25 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { ngOnInit(): void { this.syncCurrentMeasure(); - this.loadPipelinesAndMeasurements(); + this.loadPipelinesAndDatasets(); } ngOnDestroy(): void { clearTimeout(this.dataRefreshTimeout); } - loadPipelinesAndMeasurements() { + loadPipelinesAndDatasets() { this.datalakeRestService.getMeasurementSummary().subscribe(response => { - this.availableMeasurements = response.resources.sort((a, b) => + this.availableDatasets = response.resources.sort((a, b) => a.measureName.localeCompare(b.measureName), ); - this.syncSelectedMeasurementSummary(); + this.syncSelectedDatasetSummary(); if (!this.sourceConfig) { const defaultConfigs = this.findDefaultConfig(); this.initializeSourceConfig(defaultConfigs.measureName); if (defaultConfigs.measureName !== undefined) { - this.selectedMeasurement = this.findMeasurementSummary( + this.selectedDataset = this.findDatasetSummary( defaultConfigs.measureName, ); this.loadMeasurement( @@ -205,19 +205,18 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { } { const measureNameFromQueryParams = this.route.snapshot.queryParams.measureName; - const matchingMeasurement = this.availableMeasurements.find( - measurement => - measurement.measureName === measureNameFromQueryParams, + const matchingDataset = this.availableDatasets.find( + dataset => dataset.measureName === measureNameFromQueryParams, ); - if (matchingMeasurement) { + if (matchingDataset) { return { - measureName: matchingMeasurement.measureName, + measureName: matchingDataset.measureName, }; } - if (this.availableMeasurements.length > 0) { + if (this.availableDatasets.length > 0) { return { - measureName: this.availableMeasurements[0].measureName, + measureName: this.availableDatasets[0].measureName, }; } else { return { measureName: undefined }; @@ -226,27 +225,24 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { updateMeasure(sourceConfig: SourceConfig, measureName: string) { sourceConfig.measureName = measureName; - this.selectedMeasurement = this.findMeasurementSummary(measureName); + this.selectedDataset = this.findDatasetSummary(measureName); this.loadMeasurement(measureName, true, true); } - onMeasurementSelectionChange( + onDatasetSelectionChange( sourceConfig: SourceConfig, - selectedMeasurement: - | DatasetSummaryDto - | DatasetSummaryDto[] - | undefined, + selectedDataset: DatasetSummaryDto | DatasetSummaryDto[] | undefined, ): void { - if (Array.isArray(selectedMeasurement)) { + if (Array.isArray(selectedDataset)) { return; } - if (!selectedMeasurement) { + if (!selectedDataset) { this.clearMeasure(sourceConfig); return; } - this.updateMeasure(sourceConfig, selectedMeasurement.measureName); + this.updateMeasure(sourceConfig, selectedDataset.measureName); } private clearMeasure(sourceConfig: SourceConfig): void { @@ -254,7 +250,7 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { sourceConfig.measure = undefined; sourceConfig.queryConfig.fields = []; sourceConfig.queryConfig.groupBy = []; - this.selectedMeasurement = undefined; + this.selectedDataset = undefined; } private loadMeasurement( @@ -287,15 +283,13 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { this.dataLakeMeasureChange.emit(measure); sourceConfig.measureName = measure.measureName; sourceConfig.measure = measure; - this.selectedMeasurement = this.findMeasurementSummary( - measure.measureName, - ); + this.selectedDataset = this.findDatasetSummary(measure.measureName); if (!resetQueryConfig) { return; } - this.pendingMeasurementRefresh = refreshData; + this.pendingDatasetRefresh = refreshData; sourceConfig.queryConfig.fields = []; if (this.fieldSelectionPanel) { this.fieldSelectionPanel.applyDefaultFields(); @@ -315,29 +309,29 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { if (this.sourceConfig?.measure) { this.dataLakeMeasure = this.sourceConfig.measure; this.dataLakeMeasureChange.emit(this.sourceConfig.measure); - this.selectedMeasurement = this.findMeasurementSummary( + this.selectedDataset = this.findDatasetSummary( this.sourceConfig.measure.measureName, ); } else if (this.sourceConfig?.measureName) { - this.selectedMeasurement = this.findMeasurementSummary( + this.selectedDataset = this.findDatasetSummary( this.sourceConfig.measureName, ); } } - private syncSelectedMeasurementSummary(): void { + private syncSelectedDatasetSummary(): void { if (this.sourceConfig?.measureName) { - this.selectedMeasurement = this.findMeasurementSummary( + this.selectedDataset = this.findDatasetSummary( this.sourceConfig.measureName, ); } } - private findMeasurementSummary( + private findDatasetSummary( measureName: string, ): DatasetSummaryDto | undefined { - return this.availableMeasurements.find( - measurement => measurement.measureName === measureName, + return this.availableDatasets.find( + dataset => dataset.measureName === measureName, ); } @@ -380,7 +374,7 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { onInitialFieldSelection(): void { const defaultWidgetCreated = this.createDefaultWidget(); - if (defaultWidgetCreated || this.pendingMeasurementRefresh) { + if (defaultWidgetCreated || this.pendingDatasetRefresh) { this.scheduleDataRefresh(); } } @@ -427,7 +421,7 @@ export class ChartDataSettingsComponent implements OnInit, OnDestroy { } private scheduleDataRefresh(): void { - this.pendingMeasurementRefresh = false; + this.pendingDatasetRefresh = false; clearTimeout(this.dataRefreshTimeout); this.dataRefreshTimeout = setTimeout(() => this.triggerDataRefresh()); } diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.html b/ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.html similarity index 100% rename from ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.html rename to ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.html diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.scss b/ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.scss similarity index 100% rename from ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.scss rename to ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.scss diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.ts b/ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.ts similarity index 89% rename from ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.ts rename to ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.ts index c2d2c7b1d0..6eb9bb169b 100644 --- a/ui/src/app/dataset/components/datalake-configuration/datalake-last-event-label/datalake-last-event-label.component.ts +++ b/ui/src/app/dataset/components/dataset-overview/dataset-last-event-label/dataset-last-event-label.component.ts @@ -28,12 +28,12 @@ import { SpLabelComponent } from '@streampipes/shared-ui'; import { LastUpdatedFormatterService } from '../../../../core-services/time-formatting/last-updated-formatter.service'; @Component({ - selector: 'sp-datalake-last-event-label', - templateUrl: './datalake-last-event-label.component.html', - styleUrls: ['./datalake-last-event-label.component.scss'], + selector: 'sp-dataset-last-event-label', + templateUrl: './dataset-last-event-label.component.html', + styleUrls: ['./dataset-last-event-label.component.scss'], imports: [MatTooltip, SpLabelComponent], }) -export class DatalakeLastEventLabelComponent implements OnChanges { +export class DatasetLastEventLabelComponent implements OnChanges { @Input() lastEvent: number | null; diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts b/ui/src/app/dataset/components/dataset-overview/dataset-overview-entry.ts similarity index 94% rename from ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts rename to ui/src/app/dataset/components/dataset-overview/dataset-overview-entry.ts index c6f9a7f1e9..8cb007ceb9 100644 --- a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts +++ b/ui/src/app/dataset/components/dataset-overview/dataset-overview-entry.ts @@ -16,9 +16,8 @@ * */ -export class DataLakeConfigurationEntry { +export class DatasetOverviewEntry { public name: string; - public measureName: string; public pipelines: string[] = []; public lastEvent: number | null = null; public lastEventLoading = false; diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html b/ui/src/app/dataset/components/dataset-overview/dataset-overview.component.html similarity index 98% rename from ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html rename to ui/src/app/dataset/components/dataset-overview/dataset-overview.component.html index 49c6aedaa4..90015afce3 100644 --- a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html +++ b/ui/src/app/dataset/components/dataset-overview/dataset-overview.component.html @@ -43,7 +43,7 @@ mat-icon-button [matTooltip]="'Refresh' | translate" data-cy="refresh-data-lake-measures" - (click)="loadAvailableMeasurements()" + (click)="loadAvailableDatasets()" > <mat-icon>refresh</mat-icon> </button> @@ -99,11 +99,11 @@ >{{ 'Loading' | translate }} </mat-spinner> } @else { - <sp-datalake-last-event-label + <sp-dataset-last-event-label [lastEvent]="configurationEntry.lastEvent" [currentTime]="currentTime" > - </sp-datalake-last-event-label> + </sp-dataset-last-event-label> } </td> </ng-container> @@ -230,7 +230,7 @@ <button mat-menu-item data-cy="datalake-truncate-btn" - (click)="cleanDatalakeIndex(element.name)" + (click)="truncateDataset(element.name)" > <mat-icon>local_fire_department</mat-icon> <span>{{ 'Truncate data' | translate }}</span> @@ -239,7 +239,7 @@ mat-menu-item data-cy="datalake-delete-btn" [disabled]="!element.remove" - (click)="deleteDatalakeIndex(element.name)" + (click)="deleteDataset(element.name)" > <mat-icon>delete</mat-icon> <span>{{ 'Delete dataset' | translate }}</span> diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.scss b/ui/src/app/dataset/components/dataset-overview/dataset-overview.component.scss similarity index 100% rename from ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.scss rename to ui/src/app/dataset/components/dataset-overview/dataset-overview.component.scss diff --git a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts b/ui/src/app/dataset/components/dataset-overview/dataset-overview.component.ts similarity index 75% rename from ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts rename to ui/src/app/dataset/components/dataset-overview/dataset-overview.component.ts index e951762ad6..ede12bdada 100644 --- a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts +++ b/ui/src/app/dataset/components/dataset-overview/dataset-overview.component.ts @@ -38,7 +38,7 @@ import { MatTable, MatTableDataSource, } from '@angular/material/table'; -import { DataLakeConfigurationEntry } from './datalake-configuration-entry'; +import { DatasetOverviewEntry } from './dataset-overview-entry'; import { DatalakeRestService, DataLakeMeasure, @@ -64,7 +64,7 @@ import { SpTableActionsDirective, SpTableComponent, } from '@streampipes/shared-ui'; -import { DeleteDatalakeIndexComponent } from '../../dialog/delete-datalake-index/delete-datalake-index-dialog.component'; +import { DeleteDatasetDialogComponent } from '../../dialog/delete-dataset/delete-dataset-dialog.component'; import { SpConfigurationRoutes } from '../../../configuration/configuration.breadcrumb'; import { DataRetentionDialogComponent } from '../../dialog/data-retention-dialog/data-retention-dialog.component'; import { ExportProviderComponent } from '../../dialog/export-provider-dialog/export-provider-dialog.component'; @@ -90,12 +90,12 @@ import { NgStyle } from '@angular/common'; import { StyleDirective } from '@ngbracket/ngx-layout/extended'; import { MatMenuItem } from '@angular/material/menu'; import { catchError, of, Subscription } from 'rxjs'; -import { DatalakeLastEventLabelComponent } from './datalake-last-event-label/datalake-last-event-label.component'; +import { DatasetLastEventLabelComponent } from './dataset-last-event-label/dataset-last-event-label.component'; @Component({ - selector: 'sp-datalake-configuration', - templateUrl: './datalake-configuration.component.html', - styleUrls: ['./datalake-configuration.component.scss'], + selector: 'sp-dataset-overview', + templateUrl: './dataset-overview.component.html', + styleUrls: ['./dataset-overview.component.scss'], imports: [ LayoutDirective, LayoutAlignDirective, @@ -127,18 +127,18 @@ import { DatalakeLastEventLabelComponent } from './datalake-last-event-label/dat SpBasicHeaderTitleComponent, SpBasicViewComponent, SpTableActionsDirective, - DatalakeLastEventLabelComponent, + DatasetLastEventLabelComponent, ], }) -export class DatalakeConfigurationComponent +export class DatasetOverviewComponent implements OnInit, AfterViewInit, OnDestroy { paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; @ViewChild(SpTableComponent) - spTable!: SpTableComponent<DataLakeConfigurationEntry>; + spTable!: SpTableComponent<DatasetOverviewEntry>; - private datalakeRestService = inject(DatalakeRestService); + private datasetRestService = inject(DatalakeRestService); private dialogService = inject(DialogService); private breadcrumbService = inject(SpBreadcrumbService); private exportProviderRestService = inject(ExportProviderService); @@ -146,10 +146,10 @@ export class DatalakeConfigurationComponent private currentUserService = inject(CurrentUserService); private assetFilterService = inject(SpAssetBrowserService); private router = inject(Router); - dataSource: MatTableDataSource<DataLakeConfigurationEntry> = + dataSource: MatTableDataSource<DatasetOverviewEntry> = new MatTableDataSource([]); - availableMeasurements: DataLakeConfigurationEntry[] = []; - filteredMeasurements: DataLakeConfigurationEntry[] = []; + availableDatasets: DatasetOverviewEntry[] = []; + filteredDatasets: DatasetOverviewEntry[] = []; availableExportProvider: ExportProviderSettings[] = []; readonly assetContextConfig: SpTableAssetContextConfig = { resourceLinkType: 'measurement', @@ -204,13 +204,13 @@ export class DatalakeConfigurationComponent this.assetFilter$ = this.assetFilterService.currentAssetFilter$.subscribe(filter => { this.currentFilterIds = filter?.activeElementIds; - this.applyMeasurementFilters(this.currentFilterIds); + this.applyDatasetFilters(this.currentFilterIds); }); this.breadcrumbService.updateBreadcrumb([ SpConfigurationRoutes.BASE, { label: 'Datasets' }, ]); - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); this.loadAvailableExportProvider(); const currentUser = this.currentUserService.getCurrentUser(); this.isAdmin = currentUser.roles.indexOf(UserRole.ROLE_ADMIN) > -1; @@ -244,35 +244,35 @@ export class DatalakeConfigurationComponent }); } - loadAvailableMeasurements(): void { - this.availableMeasurements = []; - this.datalakeRestService + loadAvailableDatasets(): void { + this.availableDatasets = []; + this.datasetRestService .getMeasurementSummary() .subscribe(datasetSummary => { - this.availableMeasurements = datasetSummary.resources.map( - measurement => this.toConfigurationEntry(measurement), + this.availableDatasets = datasetSummary.resources.map(dataset => + this.toOverviewEntry(dataset), ); - this.availableMeasurements.sort((a, b) => + this.availableDatasets.sort((a, b) => a.name.localeCompare(b.name), ); - this.applyMeasurementFilters(this.currentFilterIds); + this.applyDatasetFilters(this.currentFilterIds); }); } - applyMeasurementFilters(elementIds: Set<string>): void { + applyDatasetFilters(elementIds: Set<string>): void { this.currentFilterIds = elementIds; if (elementIds === undefined) { - this.filteredMeasurements = []; + this.filteredDatasets = []; } else if (elementIds.size === 0) { - this.filteredMeasurements = this.availableMeasurements; + this.filteredDatasets = this.availableDatasets; } else { - this.filteredMeasurements = this.availableMeasurements.filter( - measurement => elementIds.has(measurement.elementId), + this.filteredDatasets = this.availableDatasets.filter(dataset => + elementIds.has(dataset.elementId), ); } - this.dataSource.data = this.filteredMeasurements; + this.dataSource.data = this.filteredDatasets; this.updatePaginatorAfterFiltering(); this.receiveLastEventTimes(this.pageIndex); @@ -288,7 +288,7 @@ export class DatalakeConfigurationComponent } const maxPageIndex = Math.max( - Math.ceil(this.filteredMeasurements.length / this.pageSize) - 1, + Math.ceil(this.filteredDatasets.length / this.pageSize) - 1, 0, ); if (this.pageIndex > maxPageIndex) { @@ -313,40 +313,40 @@ export class DatalakeConfigurationComponent }); } - cleanDatalakeIndex(measurementIndex: string): void { - const dialogRef: DialogRef<DeleteDatalakeIndexComponent> = - this.dialogService.open(DeleteDatalakeIndexComponent, { + truncateDataset(datasetName: string): void { + const dialogRef: DialogRef<DeleteDatasetDialogComponent> = + this.dialogService.open(DeleteDatasetDialogComponent, { panelType: PanelType.STANDARD_PANEL, title: this.translateService.instant('Truncate data'), width: '70vw', data: { - measurementIndex: measurementIndex, + datasetName, deleteDialog: false, }, }); dialogRef.afterClosed().subscribe(data => { if (data) { - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); } }); } - deleteDatalakeIndex(measurementIndex: string): void { - const dialogRef: DialogRef<DeleteDatalakeIndexComponent> = - this.dialogService.open(DeleteDatalakeIndexComponent, { + deleteDataset(datasetName: string): void { + const dialogRef: DialogRef<DeleteDatasetDialogComponent> = + this.dialogService.open(DeleteDatasetDialogComponent, { panelType: PanelType.STANDARD_PANEL, title: this.translateService.instant('Delete data'), width: '70vw', data: { - measurementIndex: measurementIndex, + datasetName, deleteDialog: true, }, }); dialogRef.afterClosed().subscribe(data => { if (data) { - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); } }); } @@ -388,14 +388,14 @@ export class DatalakeConfigurationComponent }); } - openDownloadDialog(measurementName: string): void { + openDownloadDialog(datasetName: string): void { this.dialogService.open(DataDownloadDialogComponent, { panelType: PanelType.SLIDE_IN_PANEL, title: this.translateService.instant('Download data'), width: '50vw', data: { dataDownloadDialogModel: { - measureName: measurementName, + measureName: datasetName, }, }, }); @@ -405,7 +405,7 @@ export class DatalakeConfigurationComponent this.router.navigate(['datasets', elementId]); } - openRetentionDialog(measurementId: string): void { + openRetentionDialog(datasetName: string): void { const dialogRef: DialogRef<DataRetentionDialogComponent> = this.dialogService.open(DataRetentionDialogComponent, { panelType: PanelType.SLIDE_IN_PANEL, @@ -413,25 +413,25 @@ export class DatalakeConfigurationComponent width: '50vw', data: { dataRetentionDialogModel: { - measureName: measurementId, + measureName: datasetName, }, - measurementIndex: measurementId, + measurementIndex: datasetName, }, }); dialogRef.afterClosed().subscribe(data => { if (data) { setTimeout(() => { - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); }, 1000); } }); } - openRetentionLog(measurementId: string): void { - this.datalakeRestService.getMeasurement(measurementId).subscribe({ - next: measurement => { - this.openRetentionLogDialog(measurement); + openRetentionLog(datasetId: string): void { + this.datasetRestService.getMeasurement(datasetId).subscribe({ + next: dataset => { + this.openRetentionLogDialog(dataset); }, }); } @@ -444,14 +444,14 @@ export class DatalakeConfigurationComponent receiveLastEventTimes(pageIndex: number): void { const start = pageIndex * this.pageSize; const end = start + this.pageSize; - const measurements = this.filteredMeasurements + const datasets = this.filteredDatasets .slice(start, end) - .filter(m => m.lastEvent === null); - if (measurements.length > 0) { - this.queryLastEventTimes(measurements); + .filter(dataset => dataset.lastEvent === null); + if (datasets.length > 0) { + this.queryLastEventTimes(datasets); } } - showPermissionsDialog(element: DataLakeConfigurationEntry): void { + showPermissionsDialog(element: DatasetOverviewEntry): void { this.dialogService.open(ObjectPermissionDialogComponent, { panelType: PanelType.SLIDE_IN_PANEL, title: this.translateService.instant('Manage permissions'), @@ -461,7 +461,7 @@ export class DatalakeConfigurationComponent headerTitle: this.translateService.instant( 'Manage permissions for dataset ', - ) + element.measureName, + ) + element.name, }, }); } @@ -473,8 +473,8 @@ export class DatalakeConfigurationComponent title: this.translateService.instant('Import CSV'), width: '60vw', data: { - measurementNames: this.availableMeasurements.map( - measurement => measurement.name, + measurementNames: this.availableDatasets.map( + dataset => dataset.name, ), }, }); @@ -484,52 +484,47 @@ export class DatalakeConfigurationComponent dialogRef.componentInstance?.instance?.hasImportResult?.() === true; if (refresh || importCompleted) { - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); } }); } - queryLastEventTimes(measurements: DataLakeConfigurationEntry[]): void { - this.applyLastEventLoadingStatus(measurements, true); - this.datalakeRestService - .getLatestMeasurementEvents( - measurements.map(measurement => measurement.name), - ) + queryLastEventTimes(datasets: DatasetOverviewEntry[]): void { + this.applyLastEventLoadingStatus(datasets, true); + this.datasetRestService + .getLatestMeasurementEvents(datasets.map(dataset => dataset.name)) .pipe(catchError(() => of({} as Record<string, number>))) .subscribe(latestEvents => { - this.applyLastEventLoadingStatus(measurements, false); - measurements.forEach(measurement => { - measurement.lastEvent = latestEvents[measurement.name] ?? 0; + this.applyLastEventLoadingStatus(datasets, false); + datasets.forEach(dataset => { + dataset.lastEvent = latestEvents[dataset.name] ?? 0; }); }); } applyLastEventLoadingStatus( - measurements: DataLakeConfigurationEntry[], + datasets: DatasetOverviewEntry[], status: boolean, ): void { - measurements.forEach(measurement => { - measurement.lastEventLoading = status; + datasets.forEach(dataset => { + dataset.lastEventLoading = status; }); } - private toConfigurationEntry( - measurement: DatasetSummaryDto, - ): DataLakeConfigurationEntry { - const entry = new DataLakeConfigurationEntry(); - entry.elementId = measurement.elementId; - entry.name = measurement.measureName; - entry.measureName = measurement.measureName; - entry.pipelines = measurement.pipelines; - entry.retentionConfigured = measurement.retentionConfigured; - entry.lastExport = measurement.lastExport; - entry.lastRetentionStatus = measurement.lastRetentionStatus; - entry.remove = measurement.removable; + private toOverviewEntry(dataset: DatasetSummaryDto): DatasetOverviewEntry { + const entry = new DatasetOverviewEntry(); + entry.elementId = dataset.elementId; + entry.name = dataset.measureName; + entry.pipelines = dataset.pipelines; + entry.retentionConfigured = dataset.retentionConfigured; + entry.lastExport = dataset.lastExport; + entry.lastRetentionStatus = dataset.lastRetentionStatus; + entry.remove = dataset.removable; entry.lastEvent = null; return entry; } - private openRetentionLogDialog(measurement: DataLakeMeasure): void { + private openRetentionLogDialog(dataset: DataLakeMeasure): void { const dialogRef: DialogRef<DataRetentionLogDialogComponent> = this.dialogService.open(DataRetentionLogDialogComponent, { panelType: PanelType.STANDARD_PANEL, @@ -537,7 +532,7 @@ export class DatalakeConfigurationComponent width: '100vw', data: { retentionLog: - measurement.retentionTime?.retentionExportConfig + dataset.retentionTime?.retentionExportConfig ?.retentionLog ?? [], }, }); @@ -545,7 +540,7 @@ export class DatalakeConfigurationComponent dialogRef.afterClosed().subscribe(data => { if (data) { setTimeout(() => { - this.loadAvailableMeasurements(); + this.loadAvailableDatasets(); }, 1000); } }); diff --git a/ui/src/app/dataset/dataset.routes.ts b/ui/src/app/dataset/dataset.routes.ts index 932cf1e26d..b70c2a2ba6 100644 --- a/ui/src/app/dataset/dataset.routes.ts +++ b/ui/src/app/dataset/dataset.routes.ts @@ -17,7 +17,7 @@ */ import { Routes } from '@angular/router'; -import { DatalakeConfigurationComponent } from './components/datalake-configuration/datalake-configuration.component'; +import { DatasetOverviewComponent } from './components/dataset-overview/dataset-overview.component'; import { DatasetDetailsSchemaComponent } from './components/dataset-details/dataset-details-schema/dataset-details-schema.component'; import { DatasetDetailsEventsComponent } from './components/dataset-details/dataset-details-events/dataset-details-events.component'; import { DatasetDetailsMetricsComponent } from './components/dataset-details/dataset-details-metrics/dataset-details-metrics.component'; @@ -29,7 +29,7 @@ export const DATASET_ROUTES: Routes = [ { path: '', pathMatch: 'full', - component: DatalakeConfigurationComponent, + component: DatasetOverviewComponent, }, { path: ':elementId', diff --git a/ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html b/ui/src/app/dataset/dialog/delete-dataset/delete-dataset-dialog.component.html similarity index 100% rename from ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html rename to ui/src/app/dataset/dialog/delete-dataset/delete-dataset-dialog.component.html diff --git a/ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts b/ui/src/app/dataset/dialog/delete-dataset/delete-dataset-dialog.component.ts similarity index 85% rename from ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts rename to ui/src/app/dataset/dialog/delete-dataset/delete-dataset-dialog.component.ts index 41561be132..847c1942f3 100644 --- a/ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts +++ b/ui/src/app/dataset/dialog/delete-dataset/delete-dataset-dialog.component.ts @@ -30,8 +30,8 @@ import { MatProgressSpinner } from '@angular/material/progress-spinner'; import { MatDivider } from '@angular/material/divider'; @Component({ - selector: 'sp-delete-datalake-index-dialog', - templateUrl: './delete-datalake-index-dialog.component.html', + selector: 'sp-delete-dataset-dialog', + templateUrl: './delete-dataset-dialog.component.html', imports: [ LayoutDirective, FlexDirective, @@ -42,9 +42,9 @@ import { MatDivider } from '@angular/material/divider'; TranslatePipe, ], }) -export class DeleteDatalakeIndexComponent implements OnInit { +export class DeleteDatasetDialogComponent implements OnInit { @Input() - measurementIndex: string; + datasetName: string; @Input() deleteDialog: boolean; @@ -52,7 +52,7 @@ export class DeleteDatalakeIndexComponent implements OnInit { isInProgress = false; currentStatus: any; - private dialogRef = inject(DialogRef<DeleteDatalakeIndexComponent>); + private dialogRef = inject(DialogRef<DeleteDatasetDialogComponent>); private datalakeRestService = inject(DatalakeRestService); private translateService = inject(TranslateService); @@ -62,11 +62,11 @@ export class DeleteDatalakeIndexComponent implements OnInit { ngOnInit() { this.confirmDeleteMessage = this.translateService.instant( 'Do you really want to delete the dataset {{index}}?', - { index: this.measurementIndex }, + { index: this.datasetName }, ); this.confirmTruncateMessage = this.translateService.instant( 'Do you really want to truncate the data in {{index}}?', - { index: this.measurementIndex }, + { index: this.datasetName }, ); } @@ -79,7 +79,7 @@ export class DeleteDatalakeIndexComponent implements OnInit { this.currentStatus = this.translateService.instant('Truncating data...'); this.datalakeRestService - .removeData(this.measurementIndex) + .removeData(this.datasetName) .subscribe(_data => { this.close(true); }); @@ -91,7 +91,7 @@ export class DeleteDatalakeIndexComponent implements OnInit { // this.datalakeRestService.dropSingleMeasurementSeries(measurmentIndex); this.datalakeRestService - .dropSingleMeasurementSeries(this.measurementIndex) + .dropSingleMeasurementSeries(this.datasetName) .subscribe(_data => { this.close(true); });
