@zowe/cics-for-zowe-explorer-api
Version:
Zowe Explorer for IBM CICS Transaction Server API
55 lines (54 loc) • 2.51 kB
TypeScript
/**
* This program and the accompanying materials are made available under the terms of the
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Copyright Contributors to the Zowe Project.
*
*/
import type { ResourceTypes } from "../resources";
import type { IResourceContext } from "./IResourceContext";
import type { IBundle, IJVMServer, ILibrary, ILocalFile, IPipeline, IProgram, IRemoteFile, ISharedTSQueue, ITCPIP, ITSQueue, ITask, ITransaction, IURIMap, IWebService, IManagedRegion, IRegion } from "./resources";
export interface ResourceTypeMap {
[ResourceTypes.CICSProgram]: IProgram;
[ResourceTypes.CICSLocalFile]: ILocalFile;
[ResourceTypes.CICSRemoteFile]: IRemoteFile;
[ResourceTypes.CICSLocalTransaction]: ITransaction;
[ResourceTypes.CICSTCPIPService]: ITCPIP;
[ResourceTypes.CICSLibrary]: ILibrary;
[ResourceTypes.CICSURIMap]: IURIMap;
[ResourceTypes.CICSTask]: ITask;
[ResourceTypes.CICSPipeline]: IPipeline;
[ResourceTypes.CICSWebService]: IWebService;
[ResourceTypes.CICSJVMServer]: IJVMServer;
[ResourceTypes.CICSBundle]: IBundle;
[ResourceTypes.CICSTSQueue]: ITSQueue;
[ResourceTypes.CICSSharedTSQueue]: ISharedTSQueue;
[ResourceTypes.CICSManagedRegion]: IManagedRegion;
[ResourceTypes.CICSRegion]: IRegion;
}
export interface ResourceActionOptions<TType extends keyof ResourceTypeMap> {
id: string;
name: string;
resourceType: TType;
action: string | ((resource: ResourceTypeMap[TType], ctx: IResourceContext) => void | Promise<void>);
visibleWhen?: (resource: ResourceTypeMap[TType], ctx: IResourceContext) => boolean | Promise<boolean>;
refreshResourceInspector?: boolean;
}
export declare class ResourceAction<TType extends keyof ResourceTypeMap> {
private _id;
private _name;
private _resourceType;
private _action;
private _visibleWhen;
private _refreshResourceInspector;
constructor({ id, name, resourceType, action, visibleWhen, refreshResourceInspector }: ResourceActionOptions<TType>);
get id(): string;
get name(): string;
get resourceType(): TType;
get visibleWhen(): (resource: ResourceTypeMap[TType], ctx: IResourceContext) => boolean | Promise<boolean>;
get action(): string | ((resource: ResourceTypeMap[TType], ctx: IResourceContext) => void | Promise<void>);
get refreshResourceInspector(): boolean;
}