my-test123
Version:
A planner front-end for Fabric8.
149 lines (148 loc) • 3.9 kB
TypeScript
import { WorkItemType, WorkItemTypeUI, WorkItemTypeMapper } from './work-item-type';
import { AreaModel, AreaUI, AreaMapper } from './area.model';
import { Comment, CommentUI, CommentMapper } from './comment';
import { Link } from './link';
import { IterationModel, IterationUI, IterationMapper } from './iteration.model';
import { LabelModel, LabelUI, LabelMapper } from './label.model';
import { UserUI, UserMapper, UserService } from './user';
import { modelService, Mapper, MapTree } from './common.model';
export declare class WorkItem extends modelService {
hasChildren?: boolean;
attributes: object;
number?: number;
relationships?: WorkItemRelations;
relationalData?: RelationalData;
links?: {
self: string;
};
}
export declare class WorkItemRelations {
area?: {
data?: AreaModel;
};
assignees?: {
data?: UserService[];
};
labels?: {
data?: LabelModel[];
links?: {
related?: string;
};
};
baseType?: {
data: WorkItemType;
};
parent?: {
data?: WorkItem;
};
children?: {
links: {
related: string;
};
meta: {
hasChildren: boolean;
};
};
comments?: {
data?: Comment[];
links: {
self?: string;
related?: string;
};
meta?: {
totalCount?: number;
};
};
creator?: {
data: UserService;
};
iteration?: {
data?: IterationModel;
};
codebase?: {
links: {
meta: {
edit: string;
};
};
};
workItemLinks?: {
links?: {
related?: string;
};
};
}
export declare class RelationalData {
area?: AreaModel;
creator?: UserService;
comments?: Comment[];
parent?: WorkItem;
assignees?: UserService[];
labels?: LabelModel[];
linkDicts?: LinkDict[];
iteration?: IterationModel;
totalLinkCount?: number;
wiType?: WorkItemType;
}
export declare class LinkDict {
linkName: any;
links: Link[];
count: number;
}
export interface WorkItemService extends WorkItem {
}
export interface WorkItemUI {
id: string;
title: string;
number: string | number;
createdAt: string;
updatedAt: string;
state: string;
descriptionMarkup: string;
descriptionRendered: string;
description: string;
version: number;
order: number;
area: AreaUI;
iteration: IterationUI;
assignees: UserUI[];
creator: UserUI;
type: WorkItemTypeUI;
labels: LabelUI[];
comments: CommentUI[];
children: WorkItemUI[];
commentLink: string;
childrenLink: string;
hasChildren: boolean;
parentID: string;
link: string;
WILinkUrl: string;
treeStatus: 'collapsed' | 'expanded' | 'disabled' | 'loading';
childrenLoaded: boolean;
bold: boolean;
createId: number;
}
export declare class WorkItemMapper implements Mapper<WorkItemService, WorkItemUI> {
itMapper: IterationMapper;
wiTypeMapper: WorkItemTypeMapper;
areaMapper: AreaMapper;
userMapper: UserMapper;
labelMapper: LabelMapper;
commentMapper: CommentMapper;
serviceToUiMapTree: MapTree;
uiToServiceMapTree: MapTree;
toUIModel(arg: WorkItemService): WorkItemUI;
toServiceModel(arg: WorkItemUI): WorkItemService;
cleanModel(arg: WorkItemService, keysToRemove?: string[]): any;
}
export declare class WorkItemResolver {
private workItem;
constructor(workItem: WorkItemUI);
resolveArea(areas: AreaUI[]): void;
resolveIteration(iterations: IterationUI[]): void;
resolveAssignees(users: UserUI[]): void;
resolveCreator(users: UserUI[]): void;
resolveType(types: WorkItemTypeUI[]): void;
resolveWiLabels(labels: LabelUI[]): void;
getWorkItem(): WorkItemUI;
}