UNPKG

wx-gantt-store

Version:

121 lines (120 loc) 2.88 kB
import { Store, EventBus } from "@wx/lib-state"; import type { TDataConfig, TWritableCreator, TID } from "@wx/lib-state"; import type { IData, IDataConfig, ITask, TMethodsConfig, ILink, IVisibleArea, IParsedTask } from "./types"; export default class DataStore extends Store<IData> { in: EventBus<TMethodsConfig, keyof TMethodsConfig>; private _router; constructor(w: TWritableCreator); init(state: Partial<IDataConfig>): void; setState(state: Partial<IData>, ctx?: TDataConfig): import("@wx/lib-state/dist/types/types").TAsyncSignals; setStateAsync(state: Partial<IData>): void; getTask(id: TID): IParsedTask; private changeScale; private resetSummaryDates; private moveSummaryKids; private calcScaleDate; } type CombineTypes<T, N> = { [P in keyof T]: T[P] & N; }; export type IDataMethodsConfig = CombineTypes<{ ["add-task"]: { id?: TID; task: Partial<ITask>; target?: TID; mode?: "before" | "after" | "child"; }; ["update-task"]: { id: TID; task: Partial<ITask>; diff?: number; inProgress?: boolean; eventSource?: string; }; ["delete-task"]: { id: TID; source?: TID; }; ["open-task"]: { id: TID; mode: boolean; }; ["select-task"]: { id: TID; toggle?: boolean; range?: boolean; show?: boolean; }; ["drag-task"]: { id: TID; width?: number; left?: number; top?: number; inProgress?: boolean; }; ["copy-task"]: { id: TID; target?: TID; mode?: "before" | "after" | "child"; source?: TID; lazy?: boolean; eventSource?: string; }; ["move-task"]: { id: TID; target?: TID; mode?: "before" | "after" | "up" | "down" | "child"; inProgress?: boolean; source?: TID; }; ["indent-task"]: { id: TID; mode: boolean; }; ["show-editor"]: { id: TID; }; ["add-link"]: { id?: TID; link: Partial<ILink>; }; ["update-link"]: { id: TID; link: Partial<ILink>; }; ["delete-link"]: { id: TID; }; ["scroll-chart"]: { left?: number; top?: number; }; ["render-data"]: IVisibleArea; ["request-data"]: { id: TID; }; ["provide-data"]: { id: TID; data: { tasks?: Array<ITask>; links?: Array<ILink>; }; }; ["zoom-scale"]: { dir: number; date: Date; offset?: number; }; ["expand-scale"]: { minWidth: number; date?: Date; offset?: number; }; ["sort-tasks"]: { key: string; order: "asc" | "desc"; }; }, { skipProvider?: boolean; }>; export {};