UNPKG

fabric8-planner

Version:
227 lines (226 loc) 7.31 kB
import { EntityState } from '@ngrx/entity'; import { MemoizedSelector, Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import { AppState, DetailPageState } from './../states/app.state'; import { AreaModel, AreaQuery, AreaUI } from './area.model'; import { Comment, CommentUI } from './comment'; import { CommonSelectorUI, Mapper, MapTree, modelService } from './common.model'; import { IterationModel, IterationQuery, IterationUI } from './iteration.model'; import { LabelMapper, LabelModel, LabelQuery, LabelUI } from './label.model'; import { Link } from './link'; import { UserQuery, UserService, UserUI } from './user'; import { WorkItemType, WorkItemTypeMapper, WorkItemTypeQuery, WorkItemTypeUI } from './work-item-type'; 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; }; }; events?: { links?: { related?: string; }; }; 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 | { content: string; markup: 'Markdown'; rendered?: string; }; version: number; order: number; dynamicfields?: any; areaId: string; areaObs?: Observable<AreaUI>; iterationId: string; iterationObs?: Observable<IterationUI>; assignees: string[]; assigneesObs?: Observable<UserUI[]>; creator: string; creatorObs?: Observable<UserUI>; type: string; typeObs?: Observable<WorkItemTypeUI>; labels: string[]; labelsObs?: Observable<LabelUI[]>; comments?: CommentUI[]; children?: WorkItemUI[]; commentLink: string; childrenLink: string; eventLink: string; hasChildren: boolean; parentID: string; link: string; WILinkUrl: string; columnIds?: string[] | null; treeStatus: 'collapsed' | 'expanded' | 'disabled' | 'loading'; childrenLoaded: boolean; bold: boolean; createId?: number; selected: boolean; editable?: boolean; } export interface WorkItemStateModel extends EntityState<WorkItemUI> { nextLink: string; } export declare class WorkItemMapper implements Mapper<WorkItemService, WorkItemUI> { wiTypeMapper: WorkItemTypeMapper; labelMapper: LabelMapper; serviceToUiMapTree: MapTree; uiToServiceMapTree: MapTree; toDynamicUIModel(arg: WorkItemService, dynamicFields: any): any; toDyanmicServiceModel(arg: WorkItemUI, dynamicFields: any): any; toUIModel(arg: WorkItemService): WorkItemUI; toServiceModel(arg: WorkItemUI): WorkItemService; cleanModel(arg: WorkItemService, keysToRemove?: string[]): any; } export declare const workItemSelector: MemoizedSelector<object, WorkItemStateModel | { entities: {}; ids: any[]; }>; export declare const getAllWorkItemSelector: MemoizedSelector<object, WorkItemUI[]>; export declare const workItemDetailSelector: MemoizedSelector<object, DetailPageState>; export declare const workItemInDetailSelector: MemoizedSelector<object, WorkItemUI>; export declare class WorkItemQuery { private store; private userQuery; private iterationQuery; private areaQuery; private labelQuery; private workItemTypeQuery; constructor(store: Store<AppState>, userQuery: UserQuery, iterationQuery: IterationQuery, areaQuery: AreaQuery, labelQuery: LabelQuery, workItemTypeQuery: WorkItemTypeQuery); private workItemSource; resolveWorkItem(workItem: WorkItemUI): WorkItemUI; getWorkItems(): Observable<WorkItemUI[]>; getWorkItem(number: string | number): Observable<WorkItemUI>; /** * @description set property workItem.editable: true * IF loggedInUser is a Collaborator or creator of WorkItem * @param WorkItemUI || @param WorkItemUI[] * @return Observable<WorkItemUI> || @return Observable<WorkItemUI[]> */ setWorkItemsEditable(workItems: WorkItemUI | WorkItemUI[]): Observable<WorkItemUI | WorkItemUI[]>; /** * This function returns an observable for the the selector component * with iteration data and the selected iteration flagged * This data can be used in work item detail page for the * iteration selector dropdown. * @param number */ getIterationsForWorkItem(number: string | number): Observable<CommonSelectorUI[]>; /** * This function returns an observable for the the selector component * with area data and the selected area flagged * This data can be used in work item detail page for the * area selector dropdown. * @param number */ getAreasForWorkItem(number: string | number): Observable<CommonSelectorUI[]>; /** * This function returns an observable for the the selector component * with work item type data and the selected iteration flagged * This data can be used in work item detail page for the * work item type selector dropdown. * @param number */ getTypesForWorkItem(number: string | number): Observable<CommonSelectorUI[]>; /** * This function returns an observable for the the selector component * with work item state data and the selected iteration flagged * This data can be used in work item detail page for the * work item states selector dropdown. * @param number */ getStatesForWorkItem(number: string | number): Observable<CommonSelectorUI[]>; readonly getWorkItemEntities: Observable<{ [id: string]: WorkItemUI; }>; getWorkItemsByIds(ids: string[]): Observable<WorkItemUI[]>; getWorkItemWithId(id: string): Observable<WorkItemUI>; }