import {DrawingBoardModes} from "../drawing-board.modes";
import {ServiceInstance} from "../../../shared/models/serviceInstance";
import {FeatureFlagsService, Features} from "../../../shared/services/featureFlag/feature-flags.service";
+import {ServiceInfoModel} from "../../../shared/server/serviceInfo/serviceInfo.model";
@Injectable()
export class DrawingBoardHeaderService{
showAuditInfo(serviceModelId) : void {
let instance: ServiceInstance = this.store.getState().service.serviceInstance[serviceModelId];
let model = new ServiceModel(this.store.getState().service.serviceHierarchy[serviceModelId]);
- AuditInfoModalComponent.openInstanceAuditInfoModal.next({instanceId : serviceModelId , type : 'SERVICE', model : model , instance : instance});
+ let serviceInfoModel: ServiceInfoModel = this.store.getState().service.serviceInfoModel;
+ console.log("ShowAuditInfo : ServiceInfoModel from drawing-board-header service : ", serviceInfoModel);
+ if(serviceInfoModel != null || serviceInfoModel != undefined){
+ AuditInfoModalComponent.openModal.next(serviceInfoModel);
+ } else{
+ AuditInfoModalComponent.openInstanceAuditInfoModal.next({instanceId : serviceModelId , type : 'SERVICE', model : model , instance : instance});
+ }
}
toggleResumeService(serviceModelId, isResume: boolean) : void {
import {JobStatus, ServiceAction} from "../shared/models/serviceInstanceActions";
import {ActivatedRoute} from "@angular/router";
import {FeatureFlagsService, Features} from "../shared/services/featureFlag/feature-flags.service";
+import {updateServiceInfoModel} from "../shared/storeUtil/utils/service/service.actions";
export interface MenuAction{
name: string;
name: "Open",
dataTestId: "context-menu-open",
className: "fa-external-link",
- click: (item: ServiceInfoModel) => this.instantiationStatusComponentService.open(item),
+ click: (item: ServiceInfoModel) => this.openModule(item),
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),
+ click: (item: ServiceInfoModel) => this.newViewEdit(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),
+ click: (item: ServiceInfoModel) => this.recreateItem(item),
enabled: (item: ServiceInfoModel) => this.instantiationStatusComponentService.isRecreateEnabled(item),
visible: () => this.instantiationStatusComponentService.isRecreateVisible(),
},
clearInterval(this.timer);
}
+ openModule(item: ServiceInfoModel){
+ this._store.dispatch(updateServiceInfoModel(item));
+ this.instantiationStatusComponentService.open(item);
+ }
+
refreshData(): void {
this.dataIsReady = false;
this._serviceInfoService.getServicesJobInfo(this.lastUpdatedDate === null)
}
deleteItem(item: ServiceInfoModel): void {
+ this._store.dispatch(updateServiceInfoModel(item));
this._serviceInfoService.deleteJob(item.jobId).subscribe(() => {
this.refreshData();
});
}
retryItem(item: ServiceInfoModel) : void {
+ this._store.dispatch(updateServiceInfoModel(item));
if (item.isRetryEnabled) {
this._instantiationStatusComponentService.retry(item);
}
}
+ recreateItem(item: ServiceInfoModel){
+ this._store.dispatch(updateServiceInfoModel(item));
+ this.instantiationStatusComponentService.recreate(item)
+ }
+
+ newViewEdit(item: ServiceInfoModel) : void {
+ this._store.dispatch(updateServiceInfoModel(item));
+ this.instantiationStatusComponentService.forwardToNewViewEdit(item)
+ }
+
resumeItem(item: ServiceInfoModel) : void {
+ this._store.dispatch(updateServiceInfoModel(item));
if(item.isRetryEnabled && item.jobStatus === JobStatus.COMPLETED_AND_PAUSED){
this._instantiationStatusComponentService.resume(item);
}
export let initialState: ServiceState = {
serviceHierarchy: {},
+ serviceInfoModel: {},
serviceInstance: {},
lcpRegionsAndTenants: new LcpRegionsAndTenants(),
subscribers: null,
export interface ServiceState {
serviceHierarchy: any;
+ serviceInfoModel: any;
serviceInstance: { [uuid: string]: ServiceInstance; };
lcpRegionsAndTenants: LcpRegionsAndTenants;
subscribers: SelectOptionInterface[];
UNDO_DELETE_ACTION_SERVICE_INSTANCE = "UNDO_DELETE_ACTION_SERVICE_INSTANCE",
CHANGE_SERVICE_IS_DIRTY = "CHANGE_SERVICE_IS_DIRTY",
UPGRADE_SERVICE_ACTION = "UPGRADE_SERVICE_ACTION",
+ UPDATE_SERVICE_INFO_MODEL = "UPDATE_SERVICE_INFO_MODEL",
UNDO_UPGRADE_SERVICE_ACTION = "UNDO_UPGRADE_SERVICE_ACTION"
}
serviceId : string;
}
+export interface UpdateServiceModelInfoAction extends Action {
+ serviceInfoModel?: any;
+}
+
export const addServiceAction: ActionCreator<AddServiceAction> = (serviceUuid : string, actionName : ServiceInstanceActions) => ({
type: ServiceActions.ADD_SERVICE_ACTION,
serviceUuid: serviceUuid,
type: ServiceActions.UNDO_UPGRADE_SERVICE_ACTION,
serviceUuid
});
+
+export const updateServiceInfoModel : ActionCreator<UpdateServiceModelInfoAction> = (serviceInfoModel : any) => ({
+ type: ServiceActions.UPDATE_SERVICE_INFO_MODEL,
+ serviceInfoModel
+});
UndoUpgradeServiceAction,
UpdateServiceInstanceAction,
UpdateServiceModelAction,
- UpgradeServiceAction
+ UpgradeServiceAction,
+ UpdateServiceModelInfoAction
} from "./service.actions";
import {ServiceInstance} from "../../../models/serviceInstance";
import {ServiceState} from "../main.reducer";
import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
import * as _ from "lodash";
+import {ServiceInfoModel} from "../../../server/serviceInfo/serviceInfo.model";
export function serviceReducer(state: ServiceState, action: Action) : ServiceState{
return undoUpgradeServiceInstance(clonedState, uuid);
}
}
+
+ case ServiceActions.UPDATE_SERVICE_INFO_MODEL: {
+ const updateServiceInfoModel = <UpdateServiceModelInfoAction>action;
+ let newState = _.cloneDeep(state);
+ const serviceInfoModel : ServiceInfoModel = new ServiceInfoModel();
+ const currentServiceInfoModel = state.serviceInfoModel ? serviceInfoModel : null;
+ newState.serviceInfoModel = Object.assign(serviceInfoModel, updateServiceInfoModel.serviceInfoModel);
+ return newState
+ }
}
}