-import {Component, ViewChild} from '@angular/core';
+import {Component, OnInit, ViewChild} from '@angular/core';
import {ServiceInfoService} from '../shared/server/serviceInfo/serviceInfo.service';
import {ServiceInfoModel} from '../shared/server/serviceInfo/serviceInfo.model';
import {InstantiationStatusComponentService} from './instantiationStatus.component.service';
import {AppState} from "../shared/store/reducers";
import {NgRedux} from '@angular-redux/store';
import {JobStatus, ServiceAction} from "../shared/models/serviceInstanceActions";
+import {ActivatedRoute} from "@angular/router";
+import {FeatureFlagsService, Features} from "../shared/services/featureFlag/feature-flags.service";
export interface MenuAction{
name: string;
templateUrl : './instantiationStatus.component.html',
styleUrls : ['./instantiationStatus.component.scss']
})
-export class InstantiationStatusComponent {
+export class InstantiationStatusComponent implements OnInit {
TIMER_TIME_IN_SECONDS : number = 0;
timer = null;
instantiationStatusComponentService: InstantiationStatusComponentService;
configurationService : ConfigurationService;
serviceInfoData: ServiceInfoModel[] = null;
- @ViewChild(ContextMenuComponent) public contextMenu: ContextMenuComponent;
+ @ViewChild(ContextMenuComponent, {static: false}) public contextMenu: ContextMenuComponent;
public contextMenuActions: Array<MenuAction> = [
{
enabled: (item: ServiceInfoModel) => this.isOpenEnabled(item),
visible: () => true,
},
+ {
+ name: "New View/Edit",
+ dataTestId: "context-menu-new-view-edit",
+ className: "fa-pencil",
+ click: (item: ServiceInfoModel) => this.instantiationStatusComponentService.forwardToNewViewEdit(item),
+ enabled: () => true,
+ visible: () => this.instantiationStatusComponentService.isNewViewEditVisible(),
+ },
+ {
+ name: "Create another one",
+ dataTestId: "context-menu-create-another-one",
+ className: "fa-clone",
+ click: (item: ServiceInfoModel) => this.instantiationStatusComponentService.recreate(item),
+ enabled: (item: ServiceInfoModel) => this.instantiationStatusComponentService.isRecreateEnabled(item),
+ visible: () => this.instantiationStatusComponentService.isRecreateVisible(),
+ },
{
name: "Audit info",
dataTestId: "context-menu-audit-info",
];
flags: any;
+ filterText: string;
constructor(private _serviceInfoService: ServiceInfoService,
private _instantiationStatusComponentService : InstantiationStatusComponentService,
private _contextMenuService: ContextMenuService,
private _configurationService : ConfigurationService,
private _scrollToService: ScrollToService,
private _logService : LogService,
+ private route: ActivatedRoute,
private _store: NgRedux<AppState>) {
this.instantiationStatusComponentService = _instantiationStatusComponentService;
this.configurationService = this._configurationService;
});
}
+ ngOnInit() {
+ let filterTextParam = this.route.snapshot.queryParams["filterText"];
+ this.filterText = filterTextParam ? filterTextParam : "" ;
+ }
+
activateInterval() {
if (this.TIMER_TIME_IN_SECONDS > 0) {
this.timer = setInterval(() => {
}, 0)
}
}
+
+ isInstantiationStatusFilterFlagOn() {
+ return FeatureFlagsService.getFlagState(Features.FLAG_2004_INSTANTIATION_STATUS_FILTER, this._store);
+ }
}