Events clearing UI refactoring
This commit is contained in:
parent
13a74c784e
commit
6e2c1e3419
@ -84,7 +84,7 @@
|
|||||||
[fxShow]="actionDescriptor.isEnabled()" *ngFor="let actionDescriptor of headerActionDescriptors"
|
[fxShow]="actionDescriptor.isEnabled()" *ngFor="let actionDescriptor of headerActionDescriptors"
|
||||||
matTooltip="{{ actionDescriptor.name }}"
|
matTooltip="{{ actionDescriptor.name }}"
|
||||||
matTooltipPosition="above"
|
matTooltipPosition="above"
|
||||||
(click)="actionDescriptor.onAction($event, entitiesTableConfig, pageLink)">
|
(click)="actionDescriptor.onAction($event)">
|
||||||
<mat-icon *ngIf="actionDescriptor.isMdiIcon" [svgIcon]="actionDescriptor.icon"></mat-icon>
|
<mat-icon *ngIf="actionDescriptor.isMdiIcon" [svgIcon]="actionDescriptor.icon"></mat-icon>
|
||||||
<mat-icon *ngIf="!actionDescriptor.isMdiIcon">{{actionDescriptor.icon}}</mat-icon>
|
<mat-icon *ngIf="!actionDescriptor.isMdiIcon">{{actionDescriptor.icon}}</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@ -20,28 +20,28 @@ import {
|
|||||||
EntityTableColumn,
|
EntityTableColumn,
|
||||||
EntityTableConfig
|
EntityTableConfig
|
||||||
} from '@home/models/entity/entities-table-config.models';
|
} from '@home/models/entity/entities-table-config.models';
|
||||||
import {DebugEventType, Event, EventType, FilterEventBody} from '@shared/models/event.models';
|
import { DebugEventType, Event, EventType, FilterEventBody } from '@shared/models/event.models';
|
||||||
import {TimePageLink} from '@shared/models/page/page-link';
|
import { TimePageLink } from '@shared/models/page/page-link';
|
||||||
import {TranslateService} from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import {DatePipe} from '@angular/common';
|
import { DatePipe } from '@angular/common';
|
||||||
import {MatDialog} from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import {EntityId} from '@shared/models/id/entity-id';
|
import { EntityId } from '@shared/models/id/entity-id';
|
||||||
import {EventService} from '@app/core/http/event.service';
|
import { EventService } from '@app/core/http/event.service';
|
||||||
import {EventTableHeaderComponent} from '@home/components/event/event-table-header.component';
|
import { EventTableHeaderComponent } from '@home/components/event/event-table-header.component';
|
||||||
import {EntityTypeResource} from '@shared/models/entity-type.models';
|
import { EntityTypeResource } from '@shared/models/entity-type.models';
|
||||||
import {Observable} from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import {PageData} from '@shared/models/page/page-data';
|
import { PageData } from '@shared/models/page/page-data';
|
||||||
import {Direction} from '@shared/models/page/sort-order';
|
import { Direction } from '@shared/models/page/sort-order';
|
||||||
import {DialogService} from '@core/services/dialog.service';
|
import { DialogService } from '@core/services/dialog.service';
|
||||||
import {ContentType} from '@shared/models/constants';
|
import { ContentType } from '@shared/models/constants';
|
||||||
import {
|
import {
|
||||||
EventContentDialogComponent,
|
EventContentDialogComponent,
|
||||||
EventContentDialogData
|
EventContentDialogData
|
||||||
} from '@home/components/event/event-content-dialog.component';
|
} from '@home/components/event/event-content-dialog.component';
|
||||||
import {isEqual, sortObjectKeys} from '@core/utils';
|
import { isEqual, sortObjectKeys } from '@core/utils';
|
||||||
import {ConnectedPosition, Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';
|
import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';
|
||||||
import {ChangeDetectorRef, Injector, StaticProvider, ViewContainerRef} from '@angular/core';
|
import { ChangeDetectorRef, Injector, StaticProvider, ViewContainerRef } from '@angular/core';
|
||||||
import {ComponentPortal} from '@angular/cdk/portal';
|
import { ComponentPortal } from '@angular/cdk/portal';
|
||||||
import {
|
import {
|
||||||
EVENT_FILTER_PANEL_DATA,
|
EVENT_FILTER_PANEL_DATA,
|
||||||
EventFilterPanelComponent,
|
EventFilterPanelComponent,
|
||||||
@ -140,8 +140,8 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
|
|||||||
name: this.translate.instant('event.clean-events'),
|
name: this.translate.instant('event.clean-events'),
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
isEnabled: () => true,
|
isEnabled: () => true,
|
||||||
onAction: ($event, entity, pageLink: TimePageLink) => {
|
onAction: ($event) => {
|
||||||
this.eventService.clearEvents(entity.entityId, entity.eventType, entity.filterParams, entity.tenantId, pageLink).subscribe(
|
this.eventService.clearEvents(this.entityId, this.eventType, this.filterParams, this.tenantId, this.table.pageLink as TimePageLink).subscribe(
|
||||||
() => {
|
() => {
|
||||||
this.table.paginator.pageIndex = 0;
|
this.table.paginator.pageIndex = 0;
|
||||||
this.table.updateData();
|
this.table.updateData();
|
||||||
|
|||||||
@ -25,7 +25,6 @@ import { EventService } from '@core/http/event.service';
|
|||||||
import { DialogService } from '@core/services/dialog.service';
|
import { DialogService } from '@core/services/dialog.service';
|
||||||
import { DebugEventType, EventType } from '@shared/models/event.models';
|
import { DebugEventType, EventType } from '@shared/models/event.models';
|
||||||
import { Overlay } from '@angular/cdk/overlay';
|
import { Overlay } from '@angular/cdk/overlay';
|
||||||
import { HttpClient } from '@angular/common/http';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tb-event-table',
|
selector: 'tb-event-table',
|
||||||
@ -85,8 +84,7 @@ export class EventTableComponent implements OnInit {
|
|||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
private overlay: Overlay,
|
private overlay: Overlay,
|
||||||
private viewContainerRef: ViewContainerRef,
|
private viewContainerRef: ViewContainerRef,
|
||||||
private cd: ChangeDetectorRef,
|
private cd: ChangeDetectorRef) {
|
||||||
private http: HttpClient) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|||||||
@ -25,7 +25,8 @@ import { EntityComponent } from '@home/components/entity/entity.component';
|
|||||||
import { Type } from '@angular/core';
|
import { Type } from '@angular/core';
|
||||||
import { EntityAction } from './entity-component.models';
|
import { EntityAction } from './entity-component.models';
|
||||||
import { HasUUID } from '@shared/models/id/has-uuid';
|
import { HasUUID } from '@shared/models/id/has-uuid';
|
||||||
import { PageLink } from '@shared/models/page/page-link';
|
import { PageLink, TimePageLink } from '@shared/models/page/page-link';
|
||||||
|
import { EntitiesTableComponent } from '@home/components/entity/entities-table.component';
|
||||||
import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component';
|
import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { EntityTabsComponent } from '../../components/entity/entity-tabs.component';
|
import { EntityTabsComponent } from '../../components/entity/entity-tabs.component';
|
||||||
@ -75,7 +76,7 @@ export interface HeaderActionDescriptor {
|
|||||||
icon: string;
|
icon: string;
|
||||||
isMdiIcon?: boolean;
|
isMdiIcon?: boolean;
|
||||||
isEnabled: () => boolean;
|
isEnabled: () => boolean;
|
||||||
onAction: ($event: MouseEvent, entity?, pageLink?) => void;
|
onAction: ($event: MouseEvent) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type EntityTableColumnType = 'content' | 'action';
|
export type EntityTableColumnType = 'content' | 'action';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user