@handsontable/react-wrapper
Version:
Best Data Grid for React with Spreadsheet Look and Feel.
34 lines (33 loc) • 1.86 kB
TypeScript
import { DependencyList, FC, MutableRefObject, ReactNode, Ref, RefObject } from 'react';
import Handsontable from 'handsontable/base';
import { HotEditorHooks, UseHotEditorImpl } from './types';
/**
* Create a class to be passed to the Handsontable's settings.
*
* @param {RefObject<HotEditorHooks>} hooksRef Reference to component-based editor overridden hooks object.
* @param {RefObject} instanceRef Reference to Handsontable-native custom editor class instance.
* @returns {Function} A class to be passed to the Handsontable editor settings.
*/
export declare function makeEditorClass(hooksRef: MutableRefObject<HotEditorHooks | null>, instanceRef: MutableRefObject<Handsontable.editors.BaseEditor | null>): typeof Handsontable.editors.BaseEditor;
interface EditorContextProviderProps {
hooksRef: Ref<HotEditorHooks>;
hotCustomEditorInstanceRef: RefObject<Handsontable.editors.BaseEditor>;
children: ReactNode;
}
/**
* Provider of the context that exposes Handsontable-native editor instance and passes hooks object
* for custom editor components.
*
* @param {Ref} hooksRef Reference for component-based editor overridden hooks object.
* @param {RefObject} hotCustomEditorInstanceRef Reference to Handsontable-native editor instance.
*/
export declare const EditorContextProvider: FC<EditorContextProviderProps>;
/**
* Hook that allows encapsulating custom behaviours of component-based editor by customizing passed ref with overridden hooks object.
*
* @param {HotEditorHooks} overriddenHooks Overrides specific for the custom editor.
* @param {DependencyList} deps Overridden hooks object React dependency list.
* @returns {UseHotEditorImpl} Editor API methods
*/
export declare function useHotEditor<T>(overriddenHooks?: HotEditorHooks, deps?: DependencyList): UseHotEditorImpl<T>;
export {};