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

riemer pushed a commit to branch remove-pipeline-selection-data-explorer
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit d8ff18c11129edf2da2e9936ba28105b8245875e
Merge: 6cd1460548 3ebe611381
Author: Dominik Riemer <[email protected]>
AuthorDate: Tue Nov 25 12:56:56 2025 +0100

    Merge branch 'dev' into remove-pipeline-selection-data-explorer

 .../export/ObjectStorge/IObjectStorage.java        |   1 +
 .../export/ObjectStorge/LocalFolder.java           |   5 +
 .../dataexplorer/export/ObjectStorge/S3.java       |   5 +
 .../ObjectStorge/TestExportProviderConnection.java |  71 +++++++
 .../model/client/user/DefaultPrivilege.java        |  14 --
 .../manager/setup/CouchDbInstallationStep.java     |   2 -
 .../apache/streampipes/rest/impl/FileResource.java |   5 +-
 .../admin/ExportProviderConfigurationResource.java |  40 +++-
 .../streampipes/rest/security/AuthConstants.java   |   4 +
 .../core/migrations/AvailableMigrations.java       |   6 +-
 .../v070/CreateDefaultAssetMigration.java          |  50 -----
 .../v099/RemoveObsoletePrivilegesMigration.java    |  63 +++++++
 .../management/authorization/PrivilegeManager.java |  46 +++--
 .../user/management/authorization/RoleManager.java |  11 +-
 .../support/utils/dataExplorer/DataExplorerBtns.ts |  15 +-
 .../utils/dataExplorer/DataExplorerUtils.ts        |  86 +++++++--
 .../dataExplorer/addAssetToDashboard.smoke.spec.ts |   2 +-
 .../testAddAssetOnResourceCreation.ts              |   4 +-
 .../userManagement/testUserRoleCharts.spec.ts      | 158 ++++++++++++++++
 .../userManagement/testUserRoleDashboard.spec.ts   | 204 +++++++++++++++++++++
 .../testVariousUserRoles.smoke.spec.ts             |   9 +-
 ui/deployment/i18n/de.json                         |  72 ++++----
 ui/deployment/i18n/en.json                         |  72 ++++----
 .../src/lib/apis/export-provider.service.ts        |  10 +-
 .../model/config/export-provider-config.model.ts   |  28 +--
 ui/src/app/_enums/user-privilege.enum.ts           |   6 -
 ui/src/app/configuration/configuration.module.ts   |   2 +
 .../datalake-configuration.component.html          |  38 ++++
 .../datalake-configuration.component.ts            |  21 +++
 .../export-provider-connection-test.component.html |  79 ++++++++
 .../export-provider-connection-test.component.ts   |  79 ++++++++
 .../file-upload/file-upload-dialog.component.ts    |   2 +-
 .../adapter-details-logs.component.html            |   2 +-
 .../dashboard-overview-table.component.html        |   5 +-
 .../chart-selection/chart-selection.component.html |  20 +-
 .../chart-selection/chart-selection.component.ts   |  12 +-
 .../panel/dashboard-panel.component.html           |   4 +-
 .../components/panel/dashboard-panel.component.ts  |   8 +-
 .../dashboard-toolbar.component.html               |   4 +-
 .../dashboard-toolbar.component.ts                 |   2 +-
 .../data-explorer-chart-container.component.html   |  43 ++---
 .../data-explorer-chart-container.component.ts     |   4 +
 .../data-explorer-chart-view.component.ts          |  26 ++-
 .../data-explorer-overview-table.component.html    |   6 +-
 .../data-explorer-overview-table.component.ts      |   5 +-
 ui/src/app/data-explorer/data-explorer.routes.ts   |   2 +-
 .../pipeline-details-toolbar.component.html        |  26 +--
 .../pipeline-details-toolbar.component.ts          |   3 +
 .../pipeline-details.component.html                |   1 +
 .../pipeline-details/pipeline-details.component.ts |  12 +-
 50 files changed, 1094 insertions(+), 301 deletions(-)

diff --cc 
ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
index a2ff19e7a4,f0fb79ee9e..1b01151a56
--- 
a/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
+++ 
b/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
@@@ -33,148 -33,139 +33,149 @@@
      >
          @if (!previewMode) {
              <div class="widget-header h-40">
 -                <div
 -                    fxFlex="100"
 -                    fxLayout="row"
 -                    fxLayoutAlign="start center"
 -                    class="widget-header-text"
 -                >
 -                    {{ configuredWidget.baseAppearanceConfig.widgetTitle }}
 -                </div>
 -                @if (!kioskMode) {
 -                    <div fxFlex="100" fxLayout="row" fxLayoutAlign="end 
center">
 -                        @if (editMode) {
 -                            @if (timerActive) {
 -                                <mat-spinner
 -                                    [diameter]="20"
 -                                    color="primary"
 +                <div fxFlex="100" fxLayout="row">
 +                    <div
 +                        fxFlex
 +                        fxLayout="row"
 +                        fxLayoutAlign="start center"
 +                        class="widget-header-text"
 +                    >
 +                        {{ configuredWidget.baseAppearanceConfig.widgetTitle 
}}
 +                    </div>
 +                    @if (!kioskMode) {
-                         <div fxLayout="row" fxLayoutAlign="end center">
++                        <div
++                            fxFlex="100"
++                            fxLayout="row"
++                            fxLayoutAlign="end center"
++                        >
 +                            @if (editMode) {
 +                                @if (timerActive) {
 +                                    <mat-spinner
 +                                        [diameter]="20"
 +                                        color="primary"
 +                                        class="mr-10"
 +                                    >
 +                                    </mat-spinner>
 +                                }
 +                                <sp-label
 +                                    size="small"
 +                                    [labelBackground]="
 +                                        configuredWidget.baseAppearanceConfig
 +                                            .textColor
 +                                    "
 +                                    [labelText]="loadingTime + 's'"
                                      class="mr-10"
 -                                >
 -                                </mat-spinner>
 +                                ></sp-label>
                              }
 -                            <sp-label
 -                                size="small"
 -                                [labelBackground]="
 -                                    configuredWidget.baseAppearanceConfig
 -                                        .textColor
 -                                "
 -                                [labelText]="loadingTime + 's'"
 -                                class="mr-10"
 -                            ></sp-label>
 -                        }
 -                        @if (!dataViewMode) {
 -                            <button
 -                                mat-icon-button
 -                                [matMenuTriggerFor]="menu"
 -                                [matTooltip]="'More options' | translate"
 -                                [attr.data-cy]="
 -                                    'more-options-' +
 -                                    
configuredWidget.baseAppearanceConfig.widgetTitle.replaceAll(
 -                                        ' ',
 -                                        ''
 -                                    )
 -                                "
 -                            >
 -                                <mat-icon>more_vert</mat-icon>
 -                            </button>
 -                        }
 -                        <mat-menu #menu="matMenu">
 -                            <button
 -                                mat-menu-item
 -                                (click)="downloadDataAsFile()"
 -                            >
 -                                <mat-icon>get_app</mat-icon>
 -                                <span>{{ 'Download data' | translate }}</span>
 -                            </button>
 -                            @if (hasDataExplorerWritePrivileges) {
 +                            @if (!dataViewMode) {
                                  <button
 -                                    mat-menu-item
 -                                    (click)="startEditMode()"
 +                                    mat-icon-button
 +                                    [matMenuTriggerFor]="menu"
 +                                    [matTooltip]="'More options' | translate"
                                      [attr.data-cy]="
 -                                        'start-edit-' +
 +                                        'more-options-' +
                                          
configuredWidget.baseAppearanceConfig.widgetTitle.replaceAll(
                                              ' ',
                                              ''
                                          )
                                      "
                                  >
 -                                    <mat-icon>edit</mat-icon>
 -                                    <span>{{ 'Edit Chart' | translate 
}}</span>
 +                                    <mat-icon>more_vert</mat-icon>
                                  </button>
                              }
 -                        </mat-menu>
 -                        @if (!globalTimeEnabled) {
 -                            <button
 -                                mat-icon-button
 -                                [matMenuTriggerFor]="optMenu"
 -                                data-cy="options-data-explorer"
 -                                #menuTrigger="matMenuTrigger"
 -                                [matTooltip]="tooltipText"
 -                                matTooltipClass="no-wrap-tooltip"
 -                            >
 -                                <mat-icon
 -                                    [color]="
 -                                        timeSettingsModified
 -                                            ? 'primary'
 -                                            : 'default'
 -                                    "
 -                                    >alarm_clock</mat-icon
 -                                >
 -                            </button>
 -                        }
 -                        <mat-menu #optMenu="matMenu" class="large-menu">
 -                            @if (quickSelections) {
 -                                <sp-time-selector-menu
 -                                    #timeSelectorMenu
 -                                    [timeSettings]="clonedTimeSettings"
 -                                    [quickSelections]="quickSelections"
 -                                    [enableTimePicker]="enableTimePicker"
 -                                    [maxDayRange]="maxDayRange"
 -                                    [labels]="labels"
 -                                    (timeSettingsEmitter)="
 -                                        modifyWidgetTimeSettings($event)
 -                                    "
 -                                    class="w-100"
 +                            <mat-menu #menu="matMenu">
 +                                <button
 +                                    mat-menu-item
 +                                    (click)="downloadDataAsFile()"
                                  >
 +                                    <mat-icon>get_app</mat-icon>
 +                                    <span>{{
 +                                        'Download data' | translate
 +                                    }}</span>
 +                                </button>
 +                                @if (hasDataExplorerWritePrivileges) {
                                      <button
 -                                        mat-flat-button
 -                                        class="mat-basic"
 -                                        (click)="resetWidgetTimeSettings()"
 +                                        mat-menu-item
 +                                        (click)="startEditMode()"
 +                                        [attr.data-cy]="
 +                                            'start-edit-' +
 +                                            
configuredWidget.baseAppearanceConfig.widgetTitle.replaceAll(
 +                                                ' ',
 +                                                ''
 +                                            )
 +                                        "
                                      >
 -                                        {{ 'Reset' | translate }}
 +                                        <mat-icon>edit</mat-icon>
 +                                        <span>{{
 +                                            'Edit Chart' | translate
 +                                        }}</span>
                                      </button>
 -                                </sp-time-selector-menu>
 +                                }
 +                            </mat-menu>
 +                            @if (!globalTimeEnabled) {
 +                                <button
 +                                    mat-icon-button
 +                                    [matMenuTriggerFor]="optMenu"
 +                                    data-cy="options-data-explorer"
 +                                    #menuTrigger="matMenuTrigger"
 +                                    [matTooltip]="tooltipText"
 +                                    matTooltipClass="no-wrap-tooltip"
 +                                >
 +                                    <mat-icon
 +                                        [color]="
 +                                            timeSettingsModified
 +                                                ? 'primary'
 +                                                : 'default'
 +                                        "
 +                                        >alarm_clock</mat-icon
 +                                    >
 +                                </button>
                              }
 -                        </mat-menu>
 -                        @if (
 -                            !dataViewMode &&
 -                            editMode &&
 -                            hasDashboardWritePrivileges
 -                        ) {
 -                            <button
 -                                mat-icon-button
 -                                (click)="removeWidget()"
 -                                [matTooltip]="'Delete Chart' | translate"
 -                                [attr.data-cy]="
 -                                    'remove-' +
 -                                    configuredWidget.baseAppearanceConfig
 -                                        .widgetTitle
 -                                "
 -                            >
 -                                <mat-icon>clear</mat-icon>
 -                            </button>
 -                        }
 -                    </div>
 -                }
 +                            <mat-menu #optMenu="matMenu" class="large-menu">
 +                                @if (quickSelections) {
 +                                    <sp-time-selector-menu
 +                                        #timeSelectorMenu
 +                                        [timeSettings]="clonedTimeSettings"
 +                                        [quickSelections]="quickSelections"
 +                                        [enableTimePicker]="enableTimePicker"
 +                                        [maxDayRange]="maxDayRange"
 +                                        [labels]="labels"
 +                                        (timeSettingsEmitter)="
 +                                            modifyWidgetTimeSettings($event)
 +                                        "
 +                                        class="w-100"
 +                                    >
 +                                        <button
 +                                            mat-flat-button
 +                                            class="mat-basic"
 +                                            
(click)="resetWidgetTimeSettings()"
 +                                        >
 +                                            {{ 'Reset' | translate }}
 +                                        </button>
 +                                    </sp-time-selector-menu>
 +                                }
 +                            </mat-menu>
-                             @if (!dataViewMode) {
-                                 @if (
-                                     editMode && hasDataExplorerWritePrivileges
-                                 ) {
-                                     <button
-                                         mat-icon-button
-                                         (click)="removeWidget()"
-                                         [matTooltip]="
-                                             'Delete Chart' | translate
-                                         "
-                                         [attr.data-cy]="
-                                             'remove-' +
-                                             configuredWidget
-                                                 .baseAppearanceConfig
-                                                 .widgetTitle
-                                         "
-                                     >
-                                         <mat-icon>clear</mat-icon>
-                                     </button>
-                                 }
++                            @if (
++                                !dataViewMode &&
++                                editMode &&
++                                hasDashboardWritePrivileges
++                            ) {
++                                <button
++                                    mat-icon-button
++                                    (click)="removeWidget()"
++                                    [matTooltip]="'Delete Chart' | translate"
++                                    [attr.data-cy]="
++                                        'remove-' +
++                                        configuredWidget.baseAppearanceConfig
++                                            .widgetTitle
++                                    "
++                                >
++                                    <mat-icon>clear</mat-icon>
++                                </button>
 +                            }
 +                        </div>
 +                    }
 +                </div>
              </div>
          }
          <div

Reply via email to