|
|
|
@ -21,7 +21,7 @@ import { |
|
|
|
EntityTableColumn, |
|
|
|
EntityTableConfig |
|
|
|
} from '@home/models/entity/entities-table-config.models'; |
|
|
|
import { DebugEventType, Event, EventType, FilterEventBody } from '@shared/models/event.models'; |
|
|
|
import { DebugEventType, Event, EventBody, EventType, FilterEventBody } from '@shared/models/event.models'; |
|
|
|
import { TimePageLink } from '@shared/models/page/page-link'; |
|
|
|
import { TranslateService } from '@ngx-translate/core'; |
|
|
|
import { DatePipe } from '@angular/common'; |
|
|
|
@ -41,7 +41,7 @@ import { |
|
|
|
} from '@home/components/event/event-content-dialog.component'; |
|
|
|
import { isEqual, sortObjectKeys } from '@core/utils'; |
|
|
|
import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay'; |
|
|
|
import { ChangeDetectorRef, Injector, StaticProvider, ViewContainerRef } from '@angular/core'; |
|
|
|
import { ChangeDetectorRef, EventEmitter, Injector, StaticProvider, ViewContainerRef } from '@angular/core'; |
|
|
|
import { ComponentPortal } from '@angular/cdk/portal'; |
|
|
|
import { |
|
|
|
EVENT_FILTER_PANEL_DATA, |
|
|
|
@ -61,6 +61,7 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> { |
|
|
|
set eventType(eventType: EventType | DebugEventType) { |
|
|
|
if (this.eventTypeValue !== eventType) { |
|
|
|
this.eventTypeValue = eventType; |
|
|
|
this.updateCellAction(); |
|
|
|
this.updateColumns(true); |
|
|
|
this.updateFilterColumns(); |
|
|
|
} |
|
|
|
@ -84,7 +85,9 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> { |
|
|
|
private debugEventTypes: Array<DebugEventType> = null, |
|
|
|
private overlay: Overlay, |
|
|
|
private viewContainerRef: ViewContainerRef, |
|
|
|
private cd: ChangeDetectorRef) { |
|
|
|
private cd: ChangeDetectorRef, |
|
|
|
public testButtonLabel?: string, |
|
|
|
private debugEventSelected?: EventEmitter<EventBody>) { |
|
|
|
super(); |
|
|
|
this.loadDataOnInit = false; |
|
|
|
this.tableTitle = ''; |
|
|
|
@ -120,6 +123,7 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> { |
|
|
|
this.defaultSortOrder = {property: 'createdTime', direction: Direction.DESC}; |
|
|
|
|
|
|
|
this.updateColumns(); |
|
|
|
this.updateCellAction(); |
|
|
|
this.updateFilterColumns(); |
|
|
|
|
|
|
|
this.headerActionDescriptors.push({ |
|
|
|
@ -349,6 +353,25 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
updateCellAction() { |
|
|
|
this.cellActionDescriptors = []; |
|
|
|
switch (this.eventType) { |
|
|
|
case DebugEventType.DEBUG_RULE_NODE: |
|
|
|
if (this.testButtonLabel) { |
|
|
|
this.cellActionDescriptors.push({ |
|
|
|
name: this.translate.instant('rulenode.test-with-this-message', {test: this.translate.instant(this.testButtonLabel)}), |
|
|
|
icon: 'bug_report', |
|
|
|
isEnabled: (entity) => entity.body.type === 'IN', |
|
|
|
onAction: ($event, entity) => { |
|
|
|
this.debugEventSelected.next(entity.body); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
this.getTable()?.cellActionDescriptorsUpdated(); |
|
|
|
} |
|
|
|
|
|
|
|
showContent($event: MouseEvent, content: string, title: string, contentType: ContentType = null, sortKeys = false): void { |
|
|
|
if ($event) { |
|
|
|
$event.stopPropagation(); |
|
|
|
|