jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
138 lines (137 loc) • 8.06 kB
TypeScript
import type { Instance, SnapshotIn } from 'mobx-state-tree';
import type { AppRouter, NavigationObject, SchemaCollection } from '../types';
export declare const AppStore: import("mobx-state-tree").IModelType<{
id: import("mobx-state-tree").ISimpleType<string>;
path: import("mobx-state-tree").IType<string | undefined, string, string>;
storeType: import("mobx-state-tree").ISimpleType<string>;
disposed: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
parentId: import("mobx-state-tree").IType<string | undefined, string, string>;
childrenIds: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
} & {
hasRemoteData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
data: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
initedAt: import("mobx-state-tree").IType<number | undefined, number, number>;
updatedAt: import("mobx-state-tree").IType<number | undefined, number, number>;
pristine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
action: import("mobx-state-tree" /** 更新前的 location */).IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
dialogData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
drawerOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
drawerData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
rendererProxy: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("jamis-core").RendererProxy, import("jamis-core").RendererProxy, import("jamis-core").RendererProxy>, [undefined]>;
} & {
msg: import("mobx-state-tree").IType<string | undefined, string, string>;
error: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
fetching: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
saving: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
busying: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
checking: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
initializing: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
schema: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
schemaKey: import("mobx-state-tree").IType<string | undefined, string, string>;
} & {
location: import("mobx-state-tree").IType<any, any, any>;
prevLocation: import("mobx-state-tree").IType<any, any, any>;
query: import("mobx-state-tree").IType<Record<string, any> | null | undefined, Record<string, any>, Record<string, any>>;
pages: import("mobx-state-tree").IType<AppRouter[], AppRouter[], AppRouter[]>;
activePage: import("mobx-state-tree").IType<AppRouter | null | undefined, AppRouter | null, AppRouter | null>;
activePaths: import("mobx-state-tree").IType<AppRouter[] | null | undefined, AppRouter[], AppRouter[]>;
activeParams: import("mobx-state-tree").IType<Record<string, any>, Record<string, any>, Record<string, any>>;
folded: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
offScreen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
}, {
readonly parentStore: any;
readonly __: any;
readonly hasChildren: boolean;
readonly children: any[];
readonly isAlive: boolean;
} & {
onChildStoreDispose(child: any): void;
syncProps(props: any, prevProps: any, list?: Array<string>): void;
syncProp(key: string, propValue: any, prevPropValue: any): void;
dispose: (callback?: () => void) => void;
addChildId: (id: string) => void;
removeChildId: (id: string) => void;
} & {
getValueByName(name: string, canAccessSuper?: boolean): any;
getPristineValueByName(name: string): any;
} & {
initData(data?: Record<string, any>, skipSetPristine?: boolean): void;
reset(): void;
updateData(data?: object, tag?: object, replace?: boolean): void;
changeValue(name: string, value: any, changePristine?: boolean, force?: boolean, otherModifier?: (data: Object) => void): void;
setCurrentAction(action: object): void;
openDialog(ctx?: any, additonal?: object, callback?: (ret: any) => void): void;
closeDialog(result?: any): void;
openDrawer(ctx: any, additonal?: object, callback?: (ret: any) => void): void;
closeDrawer(result?: any): void;
updateRendererProxy(proxy: import("jamis-core").RendererProxy): void;
} & {
readonly loading: boolean;
} & {
markFetching: (fetching?: boolean) => void;
markSaving: (saving?: boolean) => void;
markBusying: (busying?: boolean) => void;
markInitializing: (initializing?: boolean) => void;
fetchInitData: (api: import("jamis-core").Api, data?: object, options?: import("jamis-core").fetchOptions) => Promise<any>;
fetchData: (api: import("jamis-core").Api, data?: object, options?: import("jamis-core").fetchOptions) => Promise<any>;
reInitData: (data: object | undefined, replace?: boolean) => void;
updateMessage: (msg?: string, error?: boolean) => void;
clearMessage: () => void;
setHasRemoteData: () => void;
saveRemote: (api: import("jamis-core").Api, data?: object, options?: import("jamis-core").fetchOptions) => Promise<any>;
fetchSchema: (api: import("jamis-core").Api, data?: object, options?: import("jamis-core").fetchOptions & {
syncInitializing?: boolean;
syncSchema?: boolean;
}) => Promise<{
shema?: import("jamis-core").Schema;
schemaData?: Record<string, any>;
}>;
checkRemote: (api: import("jamis-core").Api, data?: object, options?: import("jamis-core").fetchOptions) => Promise<any>;
runSchemaProvider: (schemaProvider: () => Promise<any>, replaceData: boolean) => Promise<import("jamis-core").Schema | import("jamis-core").Schema[] | undefined>;
updateSchema: (schema: any, key: string) => void;
} & {
readonly navigations: NavigationObject[];
/**
* 获取所有路由通用的qs信息
*/
filterQueryString(qs?: URLSearchParams): URLSearchParams | null;
getBCN({ showFullBreadcrumbPath, showBreadcrumbHomePath }: {
showFullBreadcrumbPath?: boolean;
showBreadcrumbHomePath?: boolean;
}): AppRouter[];
/**
* 查找到指定routerId的页面以及参数情况
*/
findPageAndParams(routerId: string): {
page: AppRouter;
matched: boolean | {
params?: object;
};
params: object | undefined;
} | null;
} & {
updateLocation: (location?: any, parseFn?: Function) => void;
setPages: (pages: AppRouter[]) => void;
updatePageUrlQuerys: (qs: URLSearchParams) => void;
rewrite: (to: string) => void;
updateActivePage: () => void;
setActivePage: (page: AppRouter, params?: Record<string, any>) => void;
parseAppRouter: (page: AppRouter, params?: Record<string, any>) => Promise<{
schema?: SchemaCollection;
schemaData?: Record<string, any>;
}>;
toggleFolded(): void;
toggleOffScreen(forceFlag?: boolean): void;
/**
* 更新设置环境信息
*/
refreshEnvData(): void;
/**
* 更新app 数据域中的 qs 或者 hash
* 用于路由地址没有改变, 只更新 qs 和 hash 的场景, 例如 tabs 组件
*/
updateQueryStringAndHash(qs: URLSearchParams, hash?: string, prevQs?: URLSearchParams): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export type IAppStore = Instance<typeof AppStore>;
export type SAppStore = SnapshotIn<typeof AppStore>;