jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
23 lines (22 loc) • 1.54 kB
TypeScript
import type { HandleActionFn, IScopedContext, SchemaNode, ScopedComponentType } from 'jamis-core';
import type { MutableRefObject } from 'react';
import React from 'react';
import type { CRUDProps } from './types';
export declare const useCrudToolbar: (toolbarProps: CRUDProps, scoped: IScopedContext, crudRenderer: ScopedComponentType & {
reloadTarget?: (target: string, data?: any) => void;
closeTarget?: (target: string, data?: any) => void;
}, rest: {
timerRef: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;
search: (values?: any, silent?: boolean, clearSelection?: boolean, forceReload?: boolean) => Promise<void>;
handleAction: HandleActionFn;
handleQuery: (values: Record<string, any>, forceReload?: boolean) => void;
openFeedback: (dialog: any, ctx: any) => Promise<any>;
renderPagination: (toolbar: SchemaNode, showPerPage?: boolean, showStatistics?: boolean) => JSX.Element | null;
handleChangePage: (page: number, perPage: number) => void;
}) => {
renderHeaderToolbar: (childProps: any, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode) => string | number | boolean | React.ReactFragment | JSX.Element | null;
renderFooterToolbar: (childProps: Record<string, any>, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode) => string | number | boolean | React.ReactFragment | JSX.Element | null;
hasBulkActionsToolbar: () => boolean;
hasBulkActions: () => number | false;
hasLoadMore: () => boolean | undefined;
};