Update the style for the robot acccount ui (#19663)

1. Fixes #19614
2. Fixes #19617

Signed-off-by: AllForNothing <shijun.sun@broadcom.com>
This commit is contained in:
Shijun Sun 2023-12-05 17:00:17 +08:00 committed by GitHub
parent 1cbc901599
commit 469b6a495b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 56 additions and 34 deletions

View File

@ -90,6 +90,6 @@
:host::ng-deep { :host::ng-deep {
.filter-input { .filter-input {
width: 210px; width: 240px;
} }
} }

View File

@ -136,8 +136,10 @@
<clr-dg-column>{{ <clr-dg-column>{{
'ROBOT_ACCOUNT.ENABLED_STATE' | translate 'ROBOT_ACCOUNT.ENABLED_STATE' | translate
}}</clr-dg-column> }}</clr-dg-column>
<clr-dg-column>System Permissions</clr-dg-column>
<clr-dg-column>{{ <clr-dg-column>{{
'ROBOT_ACCOUNT.SYSTEM_PERMISSIONS' | translate
}}</clr-dg-column>
<clr-dg-column class="projects-col">{{
'SYSTEM_ROBOT.PROJECTS' | translate 'SYSTEM_ROBOT.PROJECTS' | translate
}}</clr-dg-column> }}</clr-dg-column>
<clr-dg-column [clrDgSortBy]="'creation_time'">{{ <clr-dg-column [clrDgSortBy]="'creation_time'">{{

View File

@ -39,3 +39,6 @@
margin-top: 3px; margin-top: 3px;
} }
.projects-col {
min-width: 14rem !important;
}

View File

@ -47,8 +47,11 @@
<ng-content></ng-content> <ng-content></ng-content>
</span> </span>
<clr-dropdown-menu <clr-dropdown-menu
#dropdownMenu
class="dropdown-menu p-1" class="dropdown-menu p-1"
clrPosition="{{ dropdownPosition }}" clrPosition="{{ dropdownPosition }}"
[style.position]="usedInDatagrid ? 'fixed' : 'absolute'"
[style.transform]="usedInDatagrid ? getTransform() : 'unset'"
*clrIfOpen> *clrIfOpen>
<div> <div>
<button <button
@ -111,7 +114,9 @@
<table class="table table-compact mt-0"> <table class="table table-compact mt-0">
<thead> <thead>
<tr> <tr>
<th class="left">{{ 'AUDIT_LOG.RESOURCE' | translate }}</th> <th class="left">
{{ 'AUDIT_LOG.RESOURCE' | translate }}
</th>
<th class="left" *ngFor="let item of candidateActions"> <th class="left" *ngFor="let item of candidateActions">
{{ convertKey(item) | translate }} {{ convertKey(item) | translate }}
</th> </th>

View File

@ -16,4 +16,5 @@
.select-all-for-dropdown { .select-all-for-dropdown {
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
width: fit-content;
} }

View File

@ -1,6 +1,7 @@
import { import {
AfterViewInit, AfterViewInit,
Component, Component,
DoCheck,
ElementRef, ElementRef,
EventEmitter, EventEmitter,
Input, Input,
@ -18,19 +19,12 @@ import {
import { Access } from '../../../../../ng-swagger-gen/models/access'; import { Access } from '../../../../../ng-swagger-gen/models/access';
import { Permission } from '../../../../../ng-swagger-gen/models/permission'; import { Permission } from '../../../../../ng-swagger-gen/models/permission';
enum Position {
UP = 'left-bottom',
DOWN = 'left-top',
}
@Component({ @Component({
selector: 'robot-permissions-panel', selector: 'robot-permissions-panel',
templateUrl: './robot-permissions-panel.component.html', templateUrl: './robot-permissions-panel.component.html',
styleUrls: ['./robot-permissions-panel.component.scss'], styleUrls: ['./robot-permissions-panel.component.scss'],
}) })
export class RobotPermissionsPanelComponent export class RobotPermissionsPanelComponent implements OnChanges, DoCheck {
implements AfterViewInit, OnChanges
{
modalOpen: boolean = false; modalOpen: boolean = false;
@Input() @Input()
@ -53,22 +47,28 @@ export class RobotPermissionsPanelComponent
@Output() @Output()
permissionsModelChange = new EventEmitter<Access[]>(); permissionsModelChange = new EventEmitter<Access[]>();
@ViewChild('dropdown') @ViewChild('dropdownMenu')
clrDropdown: ElementRef; dropdownMenu: any;
ngAfterViewInit() { @ViewChild('dropdown')
setTimeout(() => { dropdown: ElementRef;
if (this.clrDropdown && this.usedInDatagrid) {
if ( // to avoid ng check error, getTransform() should always return 'unset' before dropdownMenu appears
this.clrDropdown.nativeElement.getBoundingClientRect().y < dropdownMenuAppeared: boolean = false;
488 getTransform(): string {
) { if (
this.dropdownPosition = Position.DOWN; this.dropdownMenuAppeared &&
} else { this.dropdownMenu?.el &&
this.dropdownPosition = Position.UP; this.dropdown
} ) {
} const width = this.dropdownMenu.el.nativeElement.offsetWidth;
}); const height = this.dropdownMenu.el.nativeElement.offsetHeight;
const bcr = this.dropdown.nativeElement.getBoundingClientRect();
return `translateX(${bcr.x - width}px) translateY(${
bcr.y - height / 2
}px)`;
}
return 'unset';
} }
ngOnChanges(changes: SimpleChanges) { ngOnChanges(changes: SimpleChanges) {
@ -76,6 +76,9 @@ export class RobotPermissionsPanelComponent
this.initCandidates(); this.initCandidates();
} }
} }
ngDoCheck() {
this.dropdownMenuAppeared = !!this.dropdownMenu;
}
initCandidates() { initCandidates() {
this.candidateActions = []; this.candidateActions = [];

View File

@ -417,7 +417,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "EDIT", "EDIT_BUTTON": "EDIT",

View File

@ -417,7 +417,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "EDIT", "EDIT_BUTTON": "EDIT",

View File

@ -418,7 +418,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "EDIT", "EDIT_BUTTON": "EDIT",

View File

@ -409,7 +409,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "Éditer", "EDIT_BUTTON": "Éditer",

View File

@ -415,7 +415,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"GROUP": { "GROUP": {
"GROUP": "Grupo", "GROUP": "Grupo",

View File

@ -417,7 +417,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "DÜZENLE", "EDIT_BUTTON": "DÜZENLE",

View File

@ -416,7 +416,8 @@
"BASIC_INFO": "基本信息", "BASIC_INFO": "基本信息",
"SELECT_PERMISSIONS": "选择权限", "SELECT_PERMISSIONS": "选择权限",
"SELECT_SYSTEM_PERMISSIONS": "选择系统权限", "SELECT_SYSTEM_PERMISSIONS": "选择系统权限",
"SELECT_PROJECT_PERMISSIONS": "选择项目权限" "SELECT_PROJECT_PERMISSIONS": "选择项目权限",
"SYSTEM_PERMISSIONS": "系统权限"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "编辑", "EDIT_BUTTON": "编辑",

View File

@ -416,7 +416,8 @@
"BASIC_INFO": "Basic Information", "BASIC_INFO": "Basic Information",
"SELECT_PERMISSIONS": "Select Permissions", "SELECT_PERMISSIONS": "Select Permissions",
"SELECT_SYSTEM_PERMISSIONS": "Select System Permissions", "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
"SELECT_PROJECT_PERMISSIONS": "Select Project Permissions" "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
"SYSTEM_PERMISSIONS": "System Permissions"
}, },
"WEBHOOK": { "WEBHOOK": {
"EDIT_BUTTON": "編輯", "EDIT_BUTTON": "編輯",