UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

56 lines (55 loc) 2.61 kB
import React from 'react'; import type { ActionObject, Api, IScopedContext, RendererData, Schema, ScopedComponentType } from 'jamis-core'; import type { ServiceProps } from './types'; export default class Service extends React.Component<ServiceProps> { static defaultProps: Partial<ServiceProps>; static propsList: Array<string>; timer: ReturnType<typeof setTimeout>; mounted: boolean; socket: any; dataProviderUnsubscribe?: Function; isAutoRefresh?: boolean; /** * 正在reload的标识. 当作为form的target时, 会先调用receive -> reload触发ajax, 然后又触发了didUpdate中的ajax */ reloadPromise: Promise<void> | null; disposers: (() => void)[]; constructor(props: ServiceProps); componentDidMount(): void; componentDidUpdate(prevProps: ServiceProps): void; componentWillUnmount(): void; doAction(action: ActionObject, args: any): Promise<any>; initFetch(): Promise<void>; runDataProvider: () => Promise<void>; runDataProviderUnsubscribe(): void; dataProviderSetData(data: any): void; fetchWSData(ws: string | Api, data: any): void; afterDataFetch(result: any): void; afterSchemaFetch(schema: { schema?: Schema; schemaData?: Record<string, any>; }): void; initInterval: (schema: any) => any; reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean): Promise<void>; runSchemaProvider: () => Promise<void>; silentReload(target?: string, query?: any): Promise<void>; receive(values: object): void; handleQuery(query: any): void; reloadTarget(target: string, data?: any): void; handleDialogConfirm(values: object[], action: ActionObject, ctx: any, targets: Array<any>): void; handleDialogClose(confirmed?: boolean): void; openFeedback(dialog: any, ctx: any): Promise<unknown>; handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): void; handleChange(value: any, name: string, submit?: boolean, changePristine?: boolean): void; renderBody(): JSX.Element | null; render(): JSX.Element; } export declare class ServiceRenderer extends Service { static contextType: React.Context<IScopedContext<ScopedComponentType>>; constructor(props: ServiceProps, context: IScopedContext); reload(subpath?: string, query?: any, ctx?: any, silent?: boolean): any; receive(values: any, subPath?: string): void; componentWillUnmount(): void; reloadTarget(target: string, data?: any): void; setData(values: object): void; }