Compare commits

...

6 Commits

Author SHA1 Message Date
Nicoleta Panaghiu
b35084d548 RED-10517: fixed selected sorting. 2024-11-27 16:56:57 +02:00
Valentin Mihai
cc57415de0 RED-10373 - updated details radio option description to can receive number params 2024-11-24 13:57:34 +02:00
Nicoleta Panaghiu
bcdd793730 RED-10509: added disableStopPropagation option for action config. 2024-11-24 13:51:48 +02:00
Nicoleta Panaghiu
b572484950 RED-10206: added disabled and tooltip directives for button config. 2024-11-01 16:33:37 +02:00
Nicoleta Panaghiu
074f88e66a RED-8277: only show pointer cursor if entity has routerLink. 2024-10-23 16:10:48 +03:00
Nicoleta Panaghiu
a3f931e4bc RED-8277: use pointer cursor for table items. 2024-10-22 18:02:48 +03:00
9 changed files with 19 additions and 6 deletions

View File

@ -254,6 +254,10 @@ section.settings {
cursor: pointer;
}
.cursor-default {
cursor: default;
}
.fit-content {
width: fit-content;
}

View File

@ -19,7 +19,7 @@ export interface DetailsRadioOption<I> {
id?: string;
label: string;
description: string;
descriptionParams?: Record<string, string>;
descriptionParams?: Record<string, string | number>;
icon?: string;
value: I;
disabled?: boolean;

View File

@ -1,9 +1,10 @@
import { BaseHeaderConfig } from './base-config.model';
import { Observable } from 'rxjs';
import { OverlappingElement } from '../../../help-mode';
export interface ActionConfig extends BaseHeaderConfig {
readonly action: ($event: MouseEvent) => void;
readonly helpModeKey?: string;
readonly disabled$?: Observable<boolean>;
readonly disabled?: boolean;
readonly disableStopPropagation?: boolean;
}

View File

@ -3,4 +3,5 @@ import { ActionConfig } from './action-config.model';
export interface ButtonConfig extends ActionConfig {
readonly type?: IconButtonType;
readonly tooltip?: string;
}

View File

@ -50,7 +50,10 @@
[icon]="config.icon"
[label]="config.label | translate"
[type]="config.type"
[matTooltip]="(config.tooltip | translate) ?? ''"
[disabled]="config.disabled"
[attr.help-mode-key]="config.helpModeKey"
matTooltipPosition="above"
></iqser-icon-button>
}
}
@ -60,10 +63,11 @@
<iqser-circle-button
(action)="config.action($event)"
[buttonId]="config.id"
[disabled]="config.disabled$ && (config.disabled$ | async)"
[disabled]="config.disabled"
[icon]="config.icon"
[tooltip]="config.label | translate"
[attr.help-mode-key]="config.helpModeKey"
[iqserDisableStopPropagation]="config.disableStopPropagation"
></iqser-circle-button>
}
}

View File

@ -15,6 +15,8 @@ import { filterEach } from '../../utils';
import { List } from '../../utils';
import { IListable } from '../models';
import { ActionConfig, ButtonConfig, SearchPosition, SearchPositions } from './models';
import { MatTooltip } from '@angular/material/tooltip';
import { DisableStopPropagationDirective } from '../../directives';
@Component({
selector: 'iqser-page-header',
@ -31,6 +33,8 @@ import { ActionConfig, ButtonConfig, SearchPosition, SearchPositions } from './m
CircleButtonComponent,
TranslateModule,
InputWithActionComponent,
MatTooltip,
DisableStopPropagationDirective,
],
})
export class PageHeaderComponent<T extends IListable> {

View File

@ -52,7 +52,7 @@ export class ListingService<Class extends IListable<PrimaryKey>, PrimaryKey exte
get selected(): Class[] {
const selectedIds = this.selectedIds;
return this._entitiesService.all.filter(a => selectedIds.includes(a.id));
return selectedIds.map(id => this._entitiesService.all.find(a => a.id === id)).filter(a => !!a);
}
get selectedIds(): PrimaryKey[] {

View File

@ -75,6 +75,5 @@
a {
display: contents;
cursor: default;
@include mixins.clear-a;
}

View File

@ -87,7 +87,7 @@ export class TableContentComponent<Class extends IListable<PrimaryKey>, PrimaryK
getTableItemClasses(entity: Class): Record<string, boolean> {
const classes: Record<string, boolean> = {
'table-item': true,
pointer: !!entity.routerLink && entity.routerLink.length > 0,
'cursor-default': !entity.routerLink,
};
for (const key in this.tableItemClasses) {
if (Object.prototype.hasOwnProperty.call(this.tableItemClasses, key)) {